System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种进程间通信系统、方法和介质技术方案_技高网

一种进程间通信系统、方法和介质技术方案

技术编号:41705176 阅读:16 留言:0更新日期:2024-06-19 12:36
本发明专利技术提供了一种进程间通信系统、方法和介质,属于物联网技术领域。通过以下技术方案实现:包括接口集合、守护进程和内部工作;所述接口集合包括消息总线提供的API函数;所述守护进程同时与多个应用相连,并将一个应用程序的消息路由到一个或多个其他进程,守护进程提供了一个总线层,系统启动时运行,监听一个文件套接字接口和其他应用程序通信,负责进程间的消息路由和传递;所述内部工作为上层API函数提供基础,实现解耦合和异步通信。本发明专利技术在边缘设备和云平台之间提供安全可靠的通信、数据处理和设备管理,具有高可靠性和容错能力。

【技术实现步骤摘要】

本专利技术涉及一种进程间通信系统、方法和介质,属于物联网。


技术介绍

1、进程间通信是操作系统中多个进程之间进行信息交换的一种机制。然而,ipc在实际应用中也面临着一些问题和挑战,以下是一些主要的问题:

2、同步与互斥问题:多个进程在共享资源或进行通信时,可能会出现同步与互斥问题。即,如果两个或更多的进程同时尝试访问或修改同一资源,可能会导致数据不一致或其他不可预测的行为。为了避免这种情况,需要使用同步机制,如信号量、互斥锁等,但这也可能引发死锁和活锁等问题。

3、安全性问题:进程间通信可能涉及敏感信息的传输,如果通信过程没有足够的安全保障,可能会遭受中间人攻击、数据篡改等安全威胁。因此,需要采取加密、身份验证等安全措施来保护通信的安全性。

4、兼容性问题:不同的操作系统和编程语言可能提供不同的ipc机制,这可能导致在不同系统或语言之间进行进程间通信时存在兼容性问题。解决这些问题可能需要使用特定的中间件或进行复杂的跨平台开发。

5、物联网应用中大多数设备都通过不同的网关接入网络平台,网关和采集装置提供了连接物联网传感设备和云平台的桥梁。经常涉及发送和接收消息,不同的进程间如显示、更改配置等需要进行数据交互来执行本地处理和决策,确保对设备事件的实时响应,并减少网络延迟,提高可靠性和容错能力是当前主要面临的问题。


技术实现思路

1、本专利技术目的是提供了一种进程间通信系统、方法和介质,解决上述问题。

2、本专利技术为实现上述目的,通过以下技术方案实现:

3、包括接口集合、守护进程和内部工作;所述接口集合包括消息总线提供的api函数;所述守护进程同时与多个应用相连,并将一个应用程序的消息路由到一个或多个其他进程,守护进程提供了一个总线层,系统启动时运行,监听一个文件套接字接口和其他应用程序通信,负责进程间的消息路由和传递;所述内部工作为上层api函数提供基础,实现解耦合和异步通信。

4、优选的,其他进程通过接口注册进行消息的发送和接收,每一个进程在指定命名空间下注册自己的路径,每一个路径提供带有参数的函数处理过程,函数处理过程程序在完成处理后返回消息。

5、优选的,消息总线提供的api函数包括本地资源初始化、销毁本地资源、注册、卸载、发送消息、接收消息、登记消息处理,消息总线中的消息是进程间传递数据的载体,每个消息的名称与需要发送的命令存在关联;

6、优选的,所述消息数据结构如下:包括消息头、携带数据、消息上下文,消息的名字作为消息头中的一个数据域的形式存在。

7、优选的,所述消息头中包含消息的发送者、当前进程pid、消息的名字、消息的同步、消息长度和起始位;所述消息的同步是接收进程收到消息后需要做反馈操作,消息数据的起始位地址加上数据的长度表示该消息携带的所有数据,每个进程注册到消息总线会生成自身的消息上下文。

8、优选的,所述消息上下文中包括注册到消息总线上的应用进程名字、当前注册到消息总线上的进程id、当前接收消息的文件描述符、进程退出函数指针、消息处理函数指针;应用程序收到消息时解析该消息,根据解析到的消息名字调用相对应的消息处理函数。

9、一种进程间通信方法,包括:

10、建立一个消息总线,各个进程可以相互发送和接收消息,消息总线传递文本消息和二进制数据;使用p-bus以订阅/通知的方式进行进程间通信,同时有多个进程订阅server的服务,当server通过该服务广播消息时,所有client进程都会被通知,并执行各自的处理;server进程连接p-bus,注册一个对象,用于clien进程订阅,server进程向订阅者广播消息,client进程连接p-bus,向server订阅对象,并定义收到server的消息时的处理函数;事件通知client进程订阅的是某个事件而不是对象,当其他对象发送该事件时,client进程会根据该事件及携带的信息进行处理。

11、本专利技术的优点在于:解决同步与互斥问题:通过消息总线和守护进程的设计,实现了进程间通信的有序性和安全性。消息总线采用订阅/通知的方式进行通信,避免了多个进程同时访问和修改同一资源的情况,从而减少了同步与互斥问题的发生。同时,守护进程的存在也确保了通信过程的稳定性和可靠性。

12、提高通信效率:通过文件套接字接口和消息路由的设计,减少了通信过程中的上下文切换和数据复制次数,从而提高了通信效率。同时,消息总线支持文本消息和二进制数据的传递,使得通信内容更加丰富和灵活。

13、增强安全性:该方案采用了多种安全措施来保护通信过程的安全性。例如,通过身份验证和加密技术来确保通信双方的身份真实性和数据的安全性;通过限制访问权限和监控通信过程来防止恶意攻击和未经授权的访问。

14、良好的可扩展性和兼容性:该方案采用了标准化的接口和协议设计,使得不同操作系统和编程语言之间的进程间通信成为可能。同时,其模块化的设计也使得系统可以方便地扩展和升级,以适应不断变化的计算环境和需求。

15、解耦合和异步通信:通过内部工作的设计,实现了上层api函数与底层通信机制的解耦合,使得应用程序可以更加专注于业务逻辑的实现,而不需要关心底层的通信细节。同时,异步通信的方式也使得应用程序在处理消息时可以更加高效和灵活。

本文档来自技高网...

【技术保护点】

1.一种进程间通信系统,其特征在于,包括接口集合、守护进程和内部工作;所述接口集合包括消息总线提供的API函数;所述守护进程同时与多个应用相连,并将一个应用程序的消息路由到一个或多个其他进程,守护进程提供了一个总线层,系统启动时运行,监听一个文件套接字接口和其他应用程序通信,负责进程间的消息路由和传递;所述内部工作为上层API函数提供基础,实现解耦合和异步通信。

2.根据权利要求1所述的进程间通信系统,其特征在于,其他进程通过接口注册进行消息的发送和接收,每一个进程在指定命名空间下注册自己的路径,每一个路径提供带有参数的函数处理过程,函数处理过程程序在完成处理后返回消息。

3.根据权利要求1所述的进程间通信系统,其特征在于,消息总线提供的API函数包括本地资源初始化、销毁本地资源、注册、卸载、发送消息、接收消息、登记消息处理,消息总线中的消息是进程间传递数据的载体,每个消息的名称与需要发送的命令存在关联。

4.根据权利要求3所述的进程间通信系统,其特征在于,所述消息数据结构如下:包括消息头、携带数据、消息上下文,消息的名字作为消息头中的一个数据域的形式存在。

5.根据权利要求4所述的进程间通信系统,其特征在于,所述消息头中包含消息的发送者、当前进程PID、消息的名字、消息的同步、消息长度和起始位;所述消息的同步是接收进程收到消息后需要做反馈操作,消息数据的起始位地址加上数据的长度表示该消息携带的所有数据,每个进程注册到消息总线会生成自身的消息上下文。

6.根据权利要求5所述的进程间通信系统,其特征在于,所述消息上下文中包括注册到消息总线上的应用进程名字、当前注册到消息总线上的进程ID、当前接收消息的文件描述符、进程退出函数指针、消息处理函数指针;应用程序收到消息时解析该消息,根据解析到的消息名字调用相对应的消息处理函数。

7.一种使用权利要求1-6任一所述系统的进程间通信方法,其特征在于,包括:

8.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,该程序被处理器执行时实现如上述权利要求7所述的方法。

...

【技术特征摘要】

1.一种进程间通信系统,其特征在于,包括接口集合、守护进程和内部工作;所述接口集合包括消息总线提供的api函数;所述守护进程同时与多个应用相连,并将一个应用程序的消息路由到一个或多个其他进程,守护进程提供了一个总线层,系统启动时运行,监听一个文件套接字接口和其他应用程序通信,负责进程间的消息路由和传递;所述内部工作为上层api函数提供基础,实现解耦合和异步通信。

2.根据权利要求1所述的进程间通信系统,其特征在于,其他进程通过接口注册进行消息的发送和接收,每一个进程在指定命名空间下注册自己的路径,每一个路径提供带有参数的函数处理过程,函数处理过程程序在完成处理后返回消息。

3.根据权利要求1所述的进程间通信系统,其特征在于,消息总线提供的api函数包括本地资源初始化、销毁本地资源、注册、卸载、发送消息、接收消息、登记消息处理,消息总线中的消息是进程间传递数据的载体,每个消息的名称与需要发送的命令存在关联。

4.根据权利要求3所述的进程间通信系统,其特征在于,所述消...

【专利技术属性】
技术研发人员:王建峰朱翔宇金长新李锐魏子重
申请(专利权)人:山东浪潮科学研究院有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1