一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

能源数据采集终端软件集成架构及共享资源访问控制方法与流程

2022-02-22 17:28:08 来源:中国专利 TAG:


1.本发明涉及嵌入式系统技术领域,尤其涉及一种能源数据采集终端软件集成架构及共享资源访问控制方法。


背景技术:

2.随着信息技术的高速发展,当前可用于嵌入式产品的高主频的中央处理器、高性能的运行内存及大容量的存储芯片逐渐普及,大部分能源数据采集终端产品在处理速度、运算能力、存储容量等方面获得了大幅提升。容器技术作为一项基于linux平台的虚拟化技术,得到了广泛的普及。基于linux操作系统的多容器、多应用的软件集成架构广泛应用于嵌入式产品设计方案中,更好地服务及实现不同的用户需求。一般地,一款嵌入式产品的研发设计,往往由多名软件研发工程师联合研发完成,且研发团队人员可能来自各行各业的不同企事业单位。搭载嵌入式linux操作系统的产品,研发人员在进行多进程、多线程的软件设计时,需要考虑宿主机中、容器中、容器之间、容器与宿主机之间的不同应用app对共享资源的冲突访问控制的要求。
3.现有的嵌入式linux操作系统多容器、多应用的软件集成架构,在标准系统嵌入式linux系统调用接口层上直接构建容器及app业务,在联合研发情境中,共享资源访问控制方面存在大量的人员沟通对接事项,流程繁琐,极易出现纰漏,容易造成app应用软件异常甚至系统异常,软件可靠性低。


技术实现要素:

4.本发明的目的在于提供一种能源数据采集终端软件集成架构及共享资源访问控制方法,旨在解决现有技术在联合研发情境中,共享资源访问控制方面存在大量的人员沟通对接事项,流程繁琐,极易出现纰漏,容易造成app应用软件异常的技术问题。
5.为实现上述目的,本发明提供了一种能源数据采集终端软件集成架构,所述能源数据采集终端软件集成架构包括嵌入式linux系统调用接口层、app应用层、usril层和容器管理层,在所述嵌入式linux系统调用接口层和所述app应用层之间设置有所述usril层,所述usril层和所述嵌入式linux系统调用接口层之间设置有所述容器管理层;
6.所述嵌入式linux系统调用接口,为linux内核对用户程序提供的软件接口集合;
7.所述app应用层,为app应用程序的集合,是实现产品功能需求的直接载体;
8.所述usril层完成对共享资源访问接口的互斥性封装,由多个共享资源接口单元组成,实现多进程多线程对共享资源的冲突访问控制需求,并对所述app应用层提供应用程序调用接口;
9.所述容器管理层,通过设定的指令规则,规范容器创建时,容器中虚拟操作系统对所述usril层软件接口的支持。
10.其中,每个所述共享资源接口单元均包括动态库文件和软件接口说明文件,所述动态库文件为.so格式,用于完成目标共享资源接口互斥性访问的封装,所述软件接口说明
文件为.h格式,所述动态库文件通过所述软件接口说明文件为应用app开发提供接口调用的说明,规定不同应用app、不同线程均通过调用usril层统一的目标共享资源软件接口,实现共享资源冲突访问控制。
11.本发明还提供一种采用上述所述的能源数据采集终端软件集成架构的共享资源访问控制方法,包括如下步骤:
12.利用linux进程间通信机制,进行互斥锁跨进程的应用设计;
13.在有共享资源访问需求的目标容器创建阶段,进行互斥锁跨容器应用设计。
14.其中,所述互斥锁跨进程的应用设计,在共享内存空间创建互斥量,不同进程、线程均能通过访问共享内存空间中的互斥量,进行互斥量的加锁、解锁等系列linux互斥锁机制相关操作,实现共享资源先到先得的互斥性冲突访问控制。
15.其中,所述互斥锁跨容器应用设计,在有共享资源访问需求的目标容器创建阶段,设计目标容器与宿主机共享usril层软件接口,设计目标容器与宿主机共享进程间通信机制。
16.本发明的一种能源数据采集终端软件集成架构及共享资源访问控制方法,在所述嵌入式linux系统调用接口层和所述app应用层之间新增usril层,利用所述共享资源访问控制方法完成对共享资源接口的互斥性封装,在具有容器化部署需求的场景中规范所述容器管理层,使得容器中的应用app也能够通过统一的usril层软件接口实现对目标资源的访问,实现多进程多线程对共享资源的冲突访问控制需求;为研发人员访问共享资源提供了统一的软件接口,不再需要反复考虑目标资源操作互斥性的问题,简化编程逻辑、简化交互流程、精益化软件开发流程,从而提高软件可靠性及产品系统的稳定性。
附图说明
17.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
18.图1是本发明提供的能源数据采集的软件集成架构的原理示意图。
19.图2是本发明提供的usril层的统一共享资源接口层结构图。
20.图3是本发明提供的共享资源访问控制方法的逻辑框图。
具体实施方式
21.请参阅图1至图3,本发明提供一种能源数据采集终端软件集成架构,所述能源数据采集终端软件集成架构包括嵌入式linux系统调用接口层、app应用层、usril层和容器管理层,在所述嵌入式linux系统调用接口层和所述app应用层之间设置有所述usril层,所述usril层和所述嵌入式linux系统调用接口层之间设置有所述容器管理层;
22.所述嵌入式linux系统调用接口,为linux内核对用户程序提供的软件接口集合;
23.所述app应用层,为app应用程序的集合,是实现产品功能需求的直接载体;
24.所述usril层完成对共享资源访问接口的互斥性封装,由多个共享资源接口单元组成,完成对共享资源访问接口的互斥性封装,实现多进程多线程对共享资源的冲突访问
控制需求,并对所述app应用层提供应用程序调用接口;
25.所述容器管理层,通过设定的指令规则,规范容器创建时,容器中虚拟操作系统对所述usril层软件接口的支持;
26.每个所述共享资源接口单元均包括动态库文件和软件接口说明文件,所述动态库文件为.so格式,用于完成目标共享资源接口互斥性访问的封装,所述软件接口说明文件为.h格式,所述动态库文件通过所述软件接口说明文件为应用app开发提供接口调用的说明,规定不同应用app、不同线程均通过调用usril层统一的目标共享资源软件接口,实现共享资源冲突访问控制。
27.在本实施方式中,所述的嵌入式linux系统调用接口层,即linux内核对用户程序提供的一系列软件接口集合,用户程序通过系统调用接口层软件接口,进行与linux内核的交互,实现内存操作、进程操作、设备操作、文件操作和网络操作等应用需求;所述usril层完成对共享资源访问接口的互斥性封装,实现多进程多线程对共享资源的冲突访问控制需求,并对app应用层提供访问共享资源的软件接口,各应用app研发设计阶段均调用usril层提供的软件接口实现目标资源的访问,不需要再反复沟通确认某一接口某一时段的操作互斥性的问题,简化编程逻辑,提高软件可靠性;所述容器管理层通过设定的指令规则,规范容器创建时,容器中虚拟操作系统对usril层软件接口的支持,保证容器中的应用app能够通过统一的usril层软件接口实现对目标共享资源的访问,进而实现共享资源冲突访问控制的需求。
28.请参阅图3,本发明还提供一种采用上述所述的能源数据采集终端软件集成架构的共享资源访问控制方法,包括如下步骤:
29.所述互斥锁跨进程的应用设计,在共享内存空间创建互斥量,不同进程、线程均能通过访问共享内存空间中的互斥量,进行互斥量的加锁、解锁等系列linux互斥锁机制相关操作,实现共享资源先到先得的互斥性冲突访问控制;
30.所述互斥锁跨容器应用设计,在有共享资源访问需求的目标容器创建阶段,设计目标容器与宿主机共享usril层软件接口,设计目标容器与宿主机共享进程间通信机制,使得容器中app与宿主机之间能够互相访问对方所用的usril层软件接口、共享内存空间、信号量、消息队列等,进而实现容器与宿主机之间、容器与容器之间的共享资源互斥性冲突访问控制。
31.在本实施方式中,具体分为以下步骤:
32.步骤1:查询共享内存空间是否存在目标共享资源接口互斥量,若不存在,则执行步骤2;若存在,则执行步骤4。
33.步骤2:申请新建共享内存空间。
34.步骤3:在共享内存空间新建目标共享资源互斥量,并设置互斥量共享属性为pthread_process_shared,支持互斥量跨进程的应用。
35.步骤4:目标共享资源接口互斥量加锁。
36.步骤5:目标共享资源接口相关功能实现代码编辑。
37.步骤6:目标共享资源接口互斥量解锁。
38.以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权
利要求所作的等同变化,仍属于发明所涵盖的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献