CN116244099B - 嵌入式系统内进程通讯方法、装置、电子设备和存储介质 - Google Patents
嵌入式系统内进程通讯方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN116244099B CN116244099B CN202310527716.6A CN202310527716A CN116244099B CN 116244099 B CN116244099 B CN 116244099B CN 202310527716 A CN202310527716 A CN 202310527716A CN 116244099 B CN116244099 B CN 116244099B
- Authority
- CN
- China
- Prior art keywords
- message
- command
- communication
- kernel
- receiving
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Abstract
本公开涉及一种嵌入式系统内进程通讯方法、装置、电子设备和存储介质,该嵌入式系统内进程通讯方法,包括:建立嵌入式系统内的各个进程各自的标识信息;接收嵌入式系统内任意一个进程所产生的通讯信息,根据通讯信息的通讯类型和通讯信息中所携带的标识信息,确定接收通讯信息的目标进程;将通讯信息发送至目标进程。本公开通过建立的嵌入式系统内的各个进程各自的标识信息来标识各个进程或者各个进程发出的消息,从而无需针对不同的进程之间设计专门的一对一的接口函数,实现了进程间的解耦,提高嵌入式系统的可扩展性。基于本公开的技术方案,在新增进程的情况下,只需注册新增进程的标识信息便可以将新增进程及其消息加入至嵌入式系统中。
Description
技术领域
本公开涉及计算机技术领域,特别涉及一种嵌入式系统内进程通讯方法、装置、电子设备和存储介质。
背景技术
嵌入式系统(Embedded System)是指在其他设备内部嵌入的计算机系统,其主要用于控制和管理其他设备的运转。嵌入式系统通常具有专用的功能和设计,使用特定的输入输出方式进行信息交互。嵌入式系统可以包括各种类型的计算机硬件、软件和固件系统,例如智能家居中的智能开关、智能插座、安防设备中的监控摄像头、门禁等,或者汽车电子中的动力控制模块、导航系统、车载娱乐系统等等。
由于嵌入式系统通常需要满足高可靠性、低功耗、低成本、小尺寸等要求,因此在设计和开发时需要从多方面进行优化和调整。
为了满足可靠性、低功耗、低成本、小尺寸等要求,目前的嵌入式系统大多采用单进程模式或简单的多进程模式。采用单进程模式的嵌入式系统中,进程本身过于臃肿,耦合性高,进程中任何模块(服务)的异常都会导致程序崩溃;采用简单的多进程模式的嵌入式系统中,进程间的接口定义固定,进程间耦合度高,导致扩展性差,难以满足新增加的业务需求。
发明内容
有鉴于此,本公开提供一种嵌入式系统内进程通讯方法、装置、电子设备和存储介质,实现进程间的解耦,以提高嵌入式系统的扩展。
本公开的技术方案是这样实现的:
一种嵌入式系统内进程通讯方法,包括:
建立嵌入式系统内的各个进程各自的标识信息;
接收所述嵌入式系统内任意一个进程所产生的通讯信息,根据所述通讯信息的通讯类型和所述通讯信息中所携带的标识信息,确定接收所述通讯信息的目标进程;
将所述通讯信息发送至所述目标进程。
进一步,所述通讯类型包括命令和/或消息,所述标识信息包括与所述命令相关联的目标进程名称和/或与所述消息相关联的消息名称。
进一步,在所述通讯类型为命令的情况下,所述接收所述嵌入式系统内任意一个进程所产生的通讯信息,根据所述通讯信息的通讯类型和所述通讯信息中所携带的标识信息,确定接收所述通讯信息的目标进程;将所述通讯信息发送至所述目标进程,包括:
接收所述任意一个进程发出的命令,从所述命令中得到其所携带的目标进程名称;
根据所述目标进程名称,确定接收所述命令的目标进程,并将所述命令发送给所述目标进程;
接收所述目标进程返回的命令响应结果并发送给所述任意一个进程,其中,所述目标进程接收到所述命令后,将所述命令与所述目标进程中服务和方法进行匹配,得到用于执行所述命令的服务和方法并利用所得到的服务和方法执行所述命令。
进一步,在所述通讯类型为消息的情况下,所述嵌入式系统内进程通讯方法还包括:
从所述各个进程中,选择一个进程确定为主节点进程,将所述各个进程中除所述主节点进程以外的其它进程确定为从节点进程,其中,所述主节点进程和所述从节点进程运行于同一个内核;
其中,所述接收所述嵌入式系统内任意一个进程所产生的通讯信息,根据所述通讯信息的通讯类型和所述通讯信息中所携带的标识信息,确定接收所述通讯信息的目标进程;将所述通讯信息发送至所述目标进程,包括:
接收任意一个进程的消息,并将所述消息发送给所述主节点进程,其中,所述消息包括消息名称;
接收任意一个进程的消息订阅申请,并将所述消息订阅申请发送给所述主节点进程,以使所述主节点进程根据所述消息订阅申请,确定与消息名称相关联的订阅进程名称,其中,所述消息订阅申请中包含所述消息名称和所述订阅进程名称;
从所述主节点进程接收消息和与所述消息相关联的订阅进程名称,根据所述订阅进程名称,确定接收所述消息的目标进程,并将所述消息发送给所述目标进程。
进一步,在所述嵌入式系统包括至少两个内核的情况下,所述接收所述嵌入式系统内任意一个进程所产生的通讯信息,根据所述通讯信息的通讯类型和所述通讯信息中所携带的标识信息,确定接收所述通讯信息的目标进程,包括:
接收第一内核中运行的任意一个进程的消息订阅申请,所述消息订阅申请中包含所述消息名称和所述订阅进程名称,其中,所述第一内核为所述至少两个内核中的任意一个内核;
将所述消息订阅申请发送给所述第一内核中运行的主节点进程,以使所述第一内核中运行的主节点进程根据所述消息订阅申请,确定与所述消息名称相关联的所述第一内核中的订阅进程名称。
进一步,所述接收所述嵌入式系统内任意一个进程所产生的通讯信息,根据所述通讯信息的通讯类型和所述通讯信息中所携带的标识信息,确定接收所述通讯信息的目标进程,进一步包括:
接收第一内核中运行的任意一个进程的消息订阅申请,并将所述消息订阅申请发送给所述第一内核中运行的主节点进程;
接收第二内核中运行的任意一个进程产生的消息,并将所述消息发送给所述第二内核中运行的主节点进程,其中,所述第二内核为所述至少两个内核中的另一个内核;
接收所述第二内核中运行的主节点进程发布的所述消息,并将所述消息发送给所述第一内核中运行的主节点进程,以使所述第一内核中运行的主节点进程根据消息订阅申请,确定与消息名称相关联的所述第一内核中的订阅进程名称,并根据所述第一内核中的订阅进程名称,确定接收所述消息的并且运行于所述第一内核中的目标进程。
进一步,所述将所述通讯信息发送至所述目标进程,包括:
从所述第一内核中运行的主节点进程接收所述消息;
将所述消息发送给运行于所述第一内核中的目标进程。
一种嵌入式系统内的进程通讯装置,包括:
标识信息建立模块,被配置为执行建立嵌入式系统内的各个进程各自的标识信息;
目标进程确定模块,被配置为执行接收所述嵌入式系统内任意一个进程所产生的通讯信息,根据所述通讯信息的通讯类型和所述通讯信息中所携带的标识信息,确定接收所述通讯信息的目标进程;
通讯信息发送模块,被配置为执行将所述通讯信息发送至所述目标进程。
一种电子设备,包括:
处理器;
用于存储所述处理器的可执行指令的存储器;
其中,所述处理器被配置为执行所述可执行指令,以实现如上任一项所述的嵌入式系统内进程通讯方法。
一种计算机可读存储介质,当所述计算机可读存储介质中的至少一条指令被电子设备的处理器执行时,使得所述电子设备能够实现如上任一项所述的嵌入式系统内进程通讯方法。
从上述方案可以看出,本公开实施例的嵌入式系统内进程通讯方法、装置、电子设备和存储介质,通过建立的嵌入式系统内的各个进程各自的标识信息来标识各个进程或者各个进程发出的消息,利用用于标识进程的标识信息来确定进程之间通讯信息的目标进程,利用标识信息赋予消息唯一的标识进而进程只需要根据消息的标识信息来订阅消息,从而无需针对不同的进程之间设计专门的一对一的接口函数,将所用进程、消息都通过标识信息进行标识,并利用标识信息将通讯信息的发送至目标进程,从而实现进程间的解耦,提高嵌入式系统的可扩展性。基于本公开实施例的技术方案,在新增进程的情况下,只需注册新增进程的标识信息便可以将新增进程及其发布的消息加入至嵌入式系统中,并且进程中各模块可以随意裁剪,动态加载,即便是模块不存在的情况,也不会导致嵌入式系统的程序链接失败而无法通过编译或者运行失败,只需处理进程间业务请求失败的情况即可。
附图说明
图1是根据一示意性实施例示出的一种嵌入式系统内进程通讯方法流程图;
图2是根据一示意性实施例示出的在通讯类型为命令的情况下确定目标进程的流程图;
图3是根据一示意性实施例示出的选择主节点进程以及发布和订阅消息的流程图;
图4是根据一示意性实施例示出的通过主节点进行实现消息跨内核订阅的流程图;
图5是根据一示意性实施例示出的在通讯类型为消息并且跨内核的情况下确定目标进程的流程图;
图6是根据一示意性实施例示出的进程间命令传送和处理的应用场景流程图;
图7是根据一示意性实施例示出的进程间消息订阅和发布的应用场景流程拓扑图;
图8是根据一示意性实施例示出的进程间消息订阅和消息处理的应用场景流程图;
图9是根据一示意性实施例示出的进程间消息发布的应用场景流程图;
图10是根据一示意性实施例示出的一种嵌入式系统内进程通讯装置的逻辑结构图;
图11是本公开实施例提供的一种电子设备的结构示意图。
实施方式
为了使本公开的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本公开作进一步详细说明。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开实施例的思想是通过建立嵌入式系统内的各个进程各自的标识信息,以标识各个进程,利用标识信息来确定进程之间通讯信息的目标进程,而不必针对特定的进程设计专门的函数接口,将所有进程统一由标识信息进行标识,利用标识信息将通讯信息发送至目标进程,从而实现进程间的解耦,并提高嵌入式系统的扩展。基于本公开实施例的思想,在新增进程的情况下,只需注册新增进程的标识信息便可以将新增进程及其发布的消息加入至嵌入式系统中,并且进程中各模块可以随意裁剪,动态加载,即便是模块不存在的情况,也不会导致嵌入式系统的程序链接失败而无法通过编译或者运行失败,只需处理进程间业务请求失败的情况即可。
图1是根据一示意性实施例示出的一种嵌入式系统内进程通讯方法流程图,如图1所示该嵌入式系统内进程通讯方法主要包括如下步骤101至步骤103。
步骤101、建立嵌入式系统内的各个进程各自的标识信息;
步骤102、接收嵌入式系统内任意一个进程所产生的通讯信息,根据通讯信息的通讯类型和通讯信息中所携带的标识信息,确定接收通讯信息的目标进程;
步骤103、将通讯信息发送至目标进程。
在示意性实施例中,通讯类型包括命令和/或消息,标识信息包括与命令相关联的目标进程名称和/或与消息相关联的消息名称。
在示意性实施例中,命令和消息都用于进程间通信。其中,命令(Command)是指一个进程向另一个进程发送的请求,要求该进程执行某项操作并返回执行结果。命令包含一个操作码(表示要执行的操作)、至少零个参数(表示操作需要的输入数据)以及一个可选的响应结果值(表示操作的输出或执行状态)。消息(Message)是指一个进程发送给其它进程的数据,其它进程可以根据需要选择接收(订阅)或者不接收(订阅)。在进程间通信时,如果一个进程需要明确地请求对方进程执行某个动作并返回结果,则使用命令;如果一个进程需要与其他进程交流数据或信息,则可以使用消息。
在示意性实施例中,在通讯类型为命令的情况下,标识信息还可以包括与命令相关联的服务名称和方法名称。其中,进程、服务和方法之间的关系为:一个进程可以提供多个服务,一个服务又可以包含多个方法。例如,对于命令A而言,设与其相关联的标识信息为进程A(进程名称)、服务A、方法A,其中,进程A为进程名称,服务A为服务名称,方法A为方法名称,则表明,执行命令A的进程是进程A,进程A通过服务A和方法A来执行命令,其中,命令可以是由任何进程发出,该任何进程可以包括进程A本身,如果发出命令的是进程A本身,则进程A可以通过其内部逻辑而控制服务A和方法A执行命令,如果发出命令的是其它进程,则进程A可以在收到命令A后通过其内部逻辑而控制服务A和方法A执行命令。
举例说明:process_name(进程名称)=recordd(存储进程),recordd可提供的service_name(服务名称)包括:record_service(录像)、playback_service(回放)等,record_service可提供的method_name(方法名称)包括:record_start(开始录像)、record_stop(停止录像)等;playback_service可提供的method_name包括:playback_start(开始回放)、playback_stop(结束回放)、playback_pause(暂停回放)、playback_resume(继续回放)等。
在示意性实施例中,在步骤101中,可以是各个进程各自建立各自的标识信息。例如对于命令来说,存储进程将其进程名称命名为recordd,存储进程将其所包含的录像服务和回放服务分别命名为record_service和playback_service,存储进程将其录像服务所包含的开始录像方法和停止录像方法分别命名为record_start和record_stop,存储进程将其回放服务所包含的开始回放方法、结束回放方法、暂停回放方法和继续回放方法分别命名为playback_start、playback_stop、playback_pause和playback_resume。进程间的通讯路由可以通过命令中所携带的进程名称而将命令发送给目标进程,例如某一进程发出命令其中所携带的进程名称为recordd,则进程间的通讯路由将该命令发送给存储进程进行处理。对于消息来说,各个进程可以将各自所产生的消息进行命名,例如某个进程将其产生的消息命名为face_alarm,则进程间的通讯路由根据消息名称而配合各个进程完成对face_alarm的发布和订阅。
图2是根据一示意性实施例示出的在通讯类型为命令的情况下确定目标进程并发送通讯信息的流程图,如图2所示,在示意性实施例中,在通讯类型为命令的情况下,步骤102至步骤103可以进一步包括如下步骤201至步骤203。
步骤201、接收任意一个进程发出的命令,从命令中得到其所携带的目标进程名称;
步骤202、根据目标进程名称,确定接收命令的目标进程,并将命令发送给目标进程;
步骤203、接收目标进程返回的命令响应结果并发送给任意一个进程,其中,目标进程接收到命令后,将命令与目标进程中服务和方法进行匹配,得到用于执行命令的服务和方法并利用所得到的服务和方法执行命令。
由于命令是指一个进程向另一个进程发送的请求,因此目标进程是执行命令的主体,因此在命令中,需要携带目标进程的进程名称,以表明需要执行命令的进程。因此,本公开实施例中,针对命令来说,将执行命令的进程名称作为其标识信息,因此,在任意一个进程发出需要其它某个进程执行的命令时,只需要在发出的命令中携带执行该命令的进程的进程名称,之后进程间的通讯路由只需要根据命令中的进程名称将该命令发送至对应的进程即可,从而在嵌入式系统中,所有的进程之间无需专门设计一对一的接口函数,只需要在命令中携带的进程名称以指示进程间的通讯路由,将命令发送给对应的目标进程即可。因此,统一了嵌入式系统中多进程之间命令发送的标准,并且无需单独定义每个进程的接口函数,实现了嵌入式系统中多进程之间命令发送的统一化和标准化。
在示意性实施例中,步骤202中的将命令发送给目标进程,以及步骤203中的接收目标进程返回的命令响应结果并发送给任意一个进程,可以通过进程间的通讯路由实现。
在示意性实施例中,可以通过目标进程内部的调度实现步骤203中的:目标进程接收到命令后,将命令与目标进程中服务和方法进行匹配,得到用于执行命令的服务和方法并利用所得到的服务和方法执行命令。
在示意性实施例中,步骤203中的命令响应结果可以是目标进程执行命令所得到的结果。
在示意性实施例中,由于消息是一个进程发送给其它进程的数据,其它进程可以根据需要选择接收(订阅)或者不接收(订阅),那么对于一个产生消息的进程来说,需要接收该进程的消息的其它进程需要在该进程订阅消息,在进程数量较多的情况下,并且在多内核的情况下,进程之间,需要互相订阅所需要的消息,并且会存在多内核之间进程跨核订阅消息的情况,导致了嵌入式系统内进程间消息路由复杂,占用路由资源大,不利于管理的问题。
基于此,本公开实施例中,针对消息,采用在同一个内核中将一个进程设置为主节点进程并将其它进程设置为从节点进程,所有进程均通过主节点进程发布消息,并且所有进程都通过主节点进程获得消息,在内核之间,通过各自的主节点进程发布消息,具体方案如下。
图3是根据一示意性实施例示出的选择主节点进程以及发布和订阅消息的流程图,在示意性实施例中,如图3所示,在通讯类型为消息的情况下,本公开实施例的嵌入式系统内进程通讯方法还包括:
步骤301、根据业务需要,从各个进程中,选择一个进程确定为主节点进程,将各个进程中除主节点进程以外的其它进程确定为从节点进程,其中,主节点进程和从节点进程运行于同一个内核。
基于此,如图3所示,步骤102至步骤103可以进一步包括如下步骤302至步骤304。
步骤302、接收任意一个进程的消息,并将消息发送给主节点进程,其中,消息包括消息名称;
步骤303、接收任意一个进程的消息订阅申请,并将消息订阅申请发送给主节点进程,以使主节点进程根据消息订阅申请,确定与消息名称相关联的订阅进程名称,其中,消息订阅申请中包含消息名称和订阅进程名称。
步骤304、从主节点进程接收消息和与消息相关联的订阅进程名称,根据订阅进程名称,确定接收消息的目标进程,并将消息发送给目标进程。
在示意性实施例中,步骤301至步骤304均通过进程间通讯路由实现。
经过步骤302至步骤304之后,从节点进程在收到消息后便可以根据自身设置的消息处理函数对消息执行相应的操作。其中,消息处理函数用于进程根据其业务需要,在收到消息后执行操作。每个进程都维护自己内部各模块订阅的消息队列(包括消息名和消息处理函数),如果本进程是从节点进程,则向主节点进程注册消息(注册时提供的信息包括进程名称和消息名称),当从节点进程收到主节点进程的消息通知时,从节点进程根据所维护的内部消息列表匹配消息名称,并将消息分发给相应的消息处理函数执行操作。
在示意性实施例中,所有从节点进程发布消息时,都是将消息发送给主节点进程,由主节点进程来分发给其它从节点进程及跨核主节点进程,所有进程在收到订阅的消息后,都是各自进行消息处理。从节点进程向主节点进程订阅消息时,主节点进程会记录哪个进程订阅了哪个消息,当主节点进程收到该消息后,会匹配从节点进程名称,然后发送给对应的从节点进程。发送时采用点对点发送方式(例如主节点进程在向从节点进程发送消息时同时携带订阅进程名称,这样便可以根据订阅进程名称而将消息发送给订阅该消息的从节点进程),主节点进程通过与消息名称相关联的订阅进程名称而知道发送给哪个从节点进程,从节点进程收到消息后就分发给消息处理函数进行消息的处理。消息处理函数是各个进程内部的函数,是各个进程自己记录消息和消息处理的函数。
另外,主节点进程订阅消息的方式和从节点进程类似,只是主节点进程向自己进行消息订阅。
由于消息是指一个进程发送给其它进程的数据,其它进程可以根据需要选择接收(订阅)消息或者不接收(订阅)消息,并且进程在产生并发出消息时并不关心其它哪个进程接收消息,并且,进程在通过订阅而获得消息时也并不关心消息是哪个进程发出的,因此,发出和订阅消息的进程的进程名称对于消息而言并不重要,重要的是消息本身的内容,而消息名称能够概括消息本身的内容,并且消息名称还能够实现对消息的唯一标识。以报警内容的消息为例,一个进程会产生两个报警内容的消息,两个消息的消息名称分别为“1号报警”和“2号报警”,那么这个进程发布消息时,通过消息名称“1号报警”和“2号报警”来区分这两个消息,发布消息名称为“1号报警”和“2号报警”这两个消息的进程也不需要知晓其它哪个或者哪些进程得到了这两个消息。分别订阅“1号报警”和“2号报警”的其它各个进程只需要根据消息名称得到相应的消息,例如某个进程通过订阅消息名称为“1号报警”的消息而获得该消息,并不需要知晓消息名称为“1号报警”的消息是从哪个进程发出的。在示意性实施例中,跨核之间的消息发布,是不同内核之间的主节点进程之间进行通讯,不同内核之间的主节点进程彼此之间需要知道对方核的主节点进程,而从节点进程只与本内核的主节点进程进行通讯。进程订阅消息只需要与核内的主节点进程进行通讯,至于主节点进程是谁,可以根据业务来决定,例如可以在配置文件里灵活配置,如需要跨核发布消息,则由本核内的主节点进程和对方核内的主节点进程建立通讯。
从上述说明能够看出,利用消息名称实现消息在进程之间的传送,产生消息和订阅消息的进程之间无需知晓对方是谁,因此在通讯类型为消息的情况下,利用消息名称的方式也实现了进程间的解耦。
随着嵌入式系统的发展,嵌入式系统所在的设备已经出现双内核甚至多内核的情况,在此情况下,对于跨内核的进程间的命令,可以在进程名称的基础上,进一步利用不同内核的地址来标识进程所在的内核,在示意性实施例中,可以利用ip地址来标识内核地址。采用这种方式,一个内核中的一个进程向另一个内核中的另一个进程发送命令时,只需要在命令中包含另一个进程的进程名称的基础上再增加另一个进程所在的内核的ip地址即可,这样进程间的通讯路由便可以根据命令中的ip地址而将命令发送给另一个内核,再根据命令中的进程名称而将命令发送给另一个内核中的进程。
对于跨内核的消息传送,可以通过不同内核中的主节点进程实现,图4是根据一示意性实施例示出的通过主节点进行实现消息跨内核订阅的流程图,如图4所示,在嵌入式系统包括至少两个内核的情况下,并且在通讯类型为消息并且跨内核的情况下,步骤102包括如下步骤401至步骤402。
步骤401、接收第一内核中运行的任意一个进程的消息订阅申请,消息订阅申请中包含所订阅消息的消息名称和订阅进程名称,其中,第一内核为至少两个内核中的任意一个内核;
步骤402、将消息订阅申请发送给第一内核中运行的主节点进程,以使第一内核中运行的主节点进程根据消息订阅申请,确定与消息名称相关联的第一内核中的订阅进程名称。
其中,步骤401中的接收第一内核中运行的任意一个进程的消息订阅申请,以及步骤402中的将消息订阅申请发送给第一内核中运行的主节点进程,可以通过进程间的通讯路由实现。
图5是根据一示意性实施例示出的在通讯类型为消息并且跨内核的情况下确定目标进程的流程图,如图5所示,在嵌入式系统包括至少两个内核的情况下,并且在通讯类型为消息并且跨内核的情况下,步骤102进一步包括如下步骤501至步骤503。
步骤501、接收第一内核中运行的任意一个进程的消息订阅申请,并将消息订阅申请发送给第一内核中运行的主节点进程;
步骤502、接收第二内核中运行的任意一个进程产生的消息,并将消息发送给第二内核中运行的主节点进程,其中,第二内核为至少两个内核中的另一个内核;
步骤503、接收第二内核中运行的主节点进程发布的消息,并将消息发送给第一内核中运行的主节点进程,以使第一内核中运行的主节点进程根据消息订阅申请,确定与消息名称相关联的第一内核中的订阅进程名称,并根据第一内核中的订阅进程名称,确定接收消息的并且运行于第一内核中的目标进程。
在此基础上,在通讯类型为消息并且跨内核的情况下,在示意性实施例中,步骤103具体包括:
从第一内核中运行的主节点进程接收消息;
将消息发送给运行于第一内核中的目标进程。
本公开实施例的嵌入式系统内进程通讯方法,通过建立的嵌入式系统内的各个进程各自的标识信息来标识各个进程或者各个进程发出的消息,利用用于标识进程的标识信息来确定进程之间通讯信息的目标进程,利用标识信息赋予消息唯一的标识进而进程只需要根据消息的标识信息来订阅消息,从而无需针对不同的进程之间设计专门的一对一的接口函数,将所用进程、消息都通过标识信息进行标识,并利用标识信息将通讯信息的发送至目标进程,从而实现进程间的解耦,提高嵌入式系统的可扩展性。基于本公开实施例的嵌入式系统内进程通讯方法,在新增进程的情况下,只需注册新增进程的标识信息便可以将新增进程及其发布的消息加入至嵌入式系统中,并且进程中各模块可以随意裁剪,动态加载,即便是模块不存在的情况,也不会导致嵌入式系统的程序链接失败而无法通过编译或者运行失败,只需处理进程间业务请求失败的情况即可,例如,根据业务需要,可以通过语音播报、闪灯提醒、记录日志等方式提示或者记录业务请求失败的信息。
以下结合一具体场景对本公开实施例的嵌入式系统内进程通讯方法进行进一步说明。
图6是根据一示意性实施例示出的进程间命令传送和处理的应用场景流程图,如图6所示,包括以下步骤601至步骤608。
步骤601、系统启动,之后执行步骤602。
步骤602、初始化进程间通讯路由,之后执行步骤603。
步骤603、各个进程注册服务和方法,生成服务列表,之后执行步骤604。
其中,对于命令而言,没有主节点进程和从节点进程的概念,都是进程之间的点对点通讯,每个进程维护自己的服务列表。
步骤604、系统内任意一个进程生成命令,之后执行步骤605。
步骤605、该任意一个进程判断命令是否是该任意一个进程内执行,如果是则执行步骤606,否则执行步骤607。
可以通过判断命令中是否携带目标进程的进程名称判断命令是否是该任意一个进程内执行。在示意性实施例中,如果命令中未携带目标进程的进程名称或者携带的目标进程的进程名称是该任意一个进程本身的进程名称,则命令是该任意一个进程内执行,如果命令中携带除该任意一个进程以外的目标进程的进程名称,则命令是目标进程执行。各个进程提供的服务和方法,都是由各自进程按照既定规则发布的。
步骤606、该任意一个进程根据其服务列表匹配执行命令的服务和方法,执行命令并返回处理结果。
步骤607、进程间通讯路由将该命令发送给命令中的进程名称所对应的目标进程,之后执行步骤608。
其中,如果目标进程是与该任意一个进程分别运行于不同的内核,则命令中还包括目标进程所属内核的ip地址。
步骤608、目标进程接收到命令后,根据其服务列表匹配执行命令的服务和方法,执行命令并向该任意一个进程返回处理结果。
图7是根据一示意性实施例示出的进程间消息订阅和发布的应用场景流程拓扑图,如图7所示,该应用场景中包含两个内核,其中一个内核运行主节点进程A、从节点进程B和从节点进程C,另一个内核运行主节点进程D、从节点进程E和从节点进程F。
如图7所示,在系统启动时初始化进程间通讯路由,之后,从节点进程B向主节点进程A订阅topic(消息名称)为“face_alarm”的消息,从节点进程C向主节点进程A订阅topic为“md_alarm”的消息,从节点进程E向主节点进程D订阅topic为“face_alarm”的消息,从节点进程F向主节点进程D订阅topic为“md_alarm”的消息,从节点进程订阅消息时,无需关心消息属于核内消息还是跨核消息,从节点进程只需要向核内的主节点进程订阅即可,消息的分发和跨核通信都是由主节点进程完成;从节点进程C产生topic为“face_alarm”的消息并发布到主节点进程A,消息内容为msg1;主节点进程A将topic为“face_alarm”的消息跨核发布到主节点进程D;主节点进程A内部分发消息,如果主节点进程A订阅了topic为“face_alarm”的消息,则主节点进程A处理该topic为“face_alarm”的消息;主节点进程A将该topic为“face_alarm”的消息通知给从节点进程B,从节点进程B处理该topic为“face_alarm”的消息;从节点进程B产生topic为“md_alarm”的消息并发布到主节点进程A,消息内容为msg2;主节点进程A将topic为“md_alarm”的消息跨核发布到主节点进程D;主节点进程A内部分发消息,如果主节点进程A订阅了topic为“md_alarm”的消息,则主节点进程A处理该topic为“md_alarm”的消息;主节点进程A将该topic为“md_alarm”的消息通知给从节点进程C,从节点进程C处理该topic为“md_alarm”的消息;主节点进程D收到主节点进程A发布的topic为“face_alarm”的消息后,主节点进程D内部分发消息,如果主节点进程D订阅了topic为“face_alarm”的消息,则主节点进程D处理该topic为“face_alarm”的消息;主节点进程D将该topic为“face_alarm”的消息通知给从节点进程E,从节点进程E处理该topic为“face_alarm”的消息;主节点进程D收到主节点进程A发布的topic为“md_alarm”的消息后,主节点进程D内部分发消息,如果主节点进程D订阅了topic为“md_alarm”的消息,则主节点进程D处理该topic为“md_alarm”的消息;主节点进程D将该topic为“md_alarm”的消息通知给从节点进程F,从节点进程F处理该topic为“md_alarm”的消息。
在示意性实施例中,每个从节点进程都维护自己内部的消息列表,比如:从节点进程C中有多个模块订阅了“md_alarm”消息,从节点进程C只向主节点进程A订阅一次“md_alarm”,当从节点进程B发布“md_alarm”消息后,主节点进程A只向从节点进程C推送一次“md_alarm”消息,从节点进程C收到主节点进程A的“md_alarm”消息后,从节点进程C内部分发给其各个模块。
图8是根据一示意性实施例示出的进程间消息订阅和消息处理的应用场景流程图,如图8所示,包括以下步骤801至步骤809。
步骤801、系统启动,之后执行步骤802。
步骤802、初始化进程间通讯路由,之后执行步骤803。
步骤803、各个进程订阅消息并生成消息列表,之后执行步骤804。
步骤804、各个进程判断自身是否为主节点进程,如果是则执行步骤808,否则执行步骤805。
步骤805、将消息订阅注册到主节点进程,之后执行步骤806。
步骤806、系统内任意一个从节点进程收到本进程发布的消息或者收到主节点进程的消息通知,通过消息列表匹配消息名称确定处理消息的服务和方法,之后执行步骤807。
步骤807、该任意一个从节点进程处理消息。
步骤808、主节点进程收到本进程发布的消息或者收到从节点发布的消息,通过消息列表匹配消息名称确定处理消息的服务和方法,之后执行步骤809。
步骤809、主节点进程处理消息。
图9是根据一示意性实施例示出的进程间消息发布的应用场景流程图,如图9所示,包括以下步骤901至步骤907。
步骤901、系统启动,之后执行步骤902。
步骤902、初始化进程间通讯路由,之后执行步骤903。
步骤903、各个进程订阅消息并生成消息列表,之后执行步骤904。
步骤904、各个进程判断自身是否为主节点进程,如果是则执行步骤906,否则执行步骤905。
步骤905、从节点进程将其产生的消息发布到主节点进程,之后执行步骤906。
步骤906、主节点进程将其产生的消息在本进程发布,并在存在多内核的情况下,将本进程和从节点进程所发布消息发送到其它内核的主节点进程进行发布,之后执行步骤907。
步骤907、主节点进程接收到所发布的消息时,根据消息的消息名称和各个从节点进程在主节点进程的消息订阅信息,将消息通知给订阅该消息的从节点进程。
其中,从节点进程维护自己的消息列表,主节点进程维护自己的消息列表以及维护跨核的消息列表。
图10是根据一示意性实施例示出的一种嵌入式系统内进程通讯装置的逻辑结构图,如图10所示,该嵌入式系统内的进程通讯装置主要包括标识信息建立模块1001、目标进程确定模块1002和通讯信息发送模块1003。
标识信息建立模块1001,被配置为执行建立嵌入式系统内的各个进程各自的标识信息;
目标进程确定模块1002,被配置为执行接收嵌入式系统内任意一个进程所产生的通讯信息,根据通讯信息的通讯类型和通讯信息中所携带的标识信息,确定接收通讯信息的目标进程;
通讯信息发送模块1003,被配置为执行将通讯信息发送至目标进程。
在示意性实施例中,通讯类型包括命令和/或消息,标识信息包括与命令相关联的目标进程名称和/或与消息相关联的消息名称。
在示意性实施例中,在通讯类型为命令的情况下,目标进程确定模块1002和通讯信息发送模块1003进一步被配置为执行:
接收任意一个进程发出的命令,从命令中得到其所携带的目标进程名称;
根据目标进程名称,确定接收命令的目标进程,并将命令发送给目标进程;
接收目标进程返回的命令响应结果并发送给任意一个进程,其中,目标进程接收到命令后,将命令与目标进程中服务和方法进行匹配,得到用于执行命令的服务和方法并利用所得到的服务和方法执行命令。
在示意性实施例中,在通讯类型为消息的情况下,本公开实施例的嵌入式系统内进程通讯装置还包括:
节点配置模块,被配置为执行从各个进程中,选择任意一个进程确定为主节点进程,将各个进程中除主节点进程以外的其它进程确定为从节点进程,其中,主节点进程和从节点进程运行于同一个内核;
其中,目标进程确定模块1002和通讯信息发送模块1003进一步被配置为执行:
接收任意一个进程的消息,并将消息发送给主节点进程,其中,消息包括消息名称;
接收任意一个进程的消息订阅申请,并将消息订阅申请发送给主节点进程,以使主节点进程根据消息订阅申请,确定与消息名称相关联的订阅进程名称,其中,消息订阅申请中包含消息名称和订阅进程名称;
从主节点进程接收消息和与消息相关联的订阅进程名称,根据订阅进程名称,确定接收消息的目标进程,并将消息发送给目标进程。
在示意性实施例中,在嵌入式系统包括至少两个内核的情况下,目标进程确定模块1002进一步被配置为执行:
接收第一内核中运行的任意一个进程的消息订阅申请,消息订阅申请中包含消息名称和订阅进程名称,其中,第一内核为至少两个内核中的任意一个内核;
将消息订阅申请发送给第一内核中运行的主节点进程,以使第一内核中运行的主节点进程根据消息订阅申请,确定与消息名称相关联的第一内核中的订阅进程名称。
在示意性实施例中,目标进程确定模块1002进一步被配置为执行:
接收第一内核中运行的任意一个进程的消息订阅申请,并将消息订阅申请发送给第一内核中运行的主节点进程;
接收第二内核中运行的任意一个进程产生的消息,并将消息发送给第二内核中运行的主节点进程,其中,第二内核为至少两个内核中的另一个内核;
接收第二内核中运行的主节点进程发布的消息,并将消息发送给第一内核中运行的主节点进程,以使第一内核中运行的主节点进程根据消息订阅申请,确定与消息名称相关联的第一内核中的订阅进程名称,并根据第一内核中的订阅进程名称,确定接收消息的并且运行于第一内核中的目标进程。
在示意性实施例中,通讯信息发送模块1003进一步被配置为执行:
从第一内核中运行的主节点进程接收消息;
将消息发送给运行于第一内核中的目标进程。
本公开实施例的嵌入式系统内进程通讯装置,通过建立的嵌入式系统内的各个进程各自的标识信息来标识各个进程或者各个进程发出的消息,利用用于标识进程的标识信息来确定进程之间通讯信息的目标进程,利用标识信息赋予消息唯一的标识进而进程只需要根据消息的标识信息来订阅消息,从而无需针对不同的进程之间设计专门的一对一的接口函数,将所用进程、消息都通过标识信息进行标识,并利用标识信息将通讯信息的发送至目标进程,从而实现进程间的解耦,提高嵌入式系统的可扩展性。基于本公开实施例的嵌入式系统内进程通讯装置,在新增进程的情况下,只需注册新增进程的标识信息便可以将新增进程及其发布的消息加入至嵌入式系统中,并且进程中各模块可以随意裁剪,动态加载,即便是模块不存在的情况,也不会导致嵌入式系统的程序链接失败而无法通过编译或者运行失败,只需处理进程间业务请求失败的情况即可。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
关于上述实施例中的嵌入式系统内进程通讯装置,其中各个单元执行操作的具体方式已经在有关该嵌入式系统内进程通讯方法的实施例中进行了详细描述,此处将不作详细阐述说明。
需要说明的是:上述实施例仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
图11是本公开实施例提供的一种电子设备的结构示意图。在一些实施例中,该电子设备为服务器。该电子设备1100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(Central Processing Units,CPU)1101和一个或一个以上的存储器1102,其中,该存储器1102中存储有至少一条程序代码,该至少一条程序代码由该处理器1101加载并执行以实现上述各个实施例提供的嵌入式系统内进程通讯方法。当然,该电子设备1100还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该电子设备1100还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种包括至少一条指令的计算机可读存储介质,例如包括至少一条指令的存储器,上述至少一条指令可由计算机设备中的处理器执行以完成上述实施例中的嵌入式系统内进程通讯方法。
可选地,上述计算机可读存储介质可以是非临时性计算机可读存储介质,例如,该非临时性计算机可读存储介质可以包括ROM(Read-Only Memory,只读存储器)、RAM(Random-Access Memory,随机存取存储器)、CD-ROM(Compact Disc Read-Only Memory,只读光盘)、磁带、软盘和光数据存储设备等。
以上所述仅为本公开的较佳实施例而已,并不用以限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开保护的范围之内。
Claims (8)
1.一种嵌入式系统内进程通讯方法,包括:
建立嵌入式系统内的各个进程各自的标识信息;
接收所述嵌入式系统内任意一个进程所产生的通讯信息,根据所述通讯信息的通讯类型和所述通讯信息中所携带的标识信息,确定接收所述通讯信息的目标进程;
将所述通讯信息发送至所述目标进程;
其中,所述通讯类型包括命令和/或消息,所述标识信息包括与所述命令相关联的目标进程名称和/或与所述消息相关联的消息名称;
在所述通讯类型为命令的情况下,所述接收所述嵌入式系统内任意一个进程所产生的通讯信息,根据所述通讯信息的通讯类型和所述通讯信息中所携带的标识信息,确定接收所述通讯信息的目标进程;将所述通讯信息发送至所述目标进程,包括:
接收所述任意一个进程发出的命令,从所述命令中得到其所携带的目标进程名称;
根据所述目标进程名称,确定接收所述命令的目标进程,并将所述命令发送给所述目标进程;
接收所述目标进程返回的命令响应结果并发送给所述任意一个进程,其中,所述目标进程接收到所述命令后,将所述命令与所述目标进程中服务和方法进行匹配,得到用于执行所述命令的服务和方法并利用所得到的服务和方法执行所述命令。
2.根据权利要求1所述的嵌入式系统内进程通讯方法,其特征在于,在所述通讯类型为消息的情况下,所述嵌入式系统内进程通讯方法还包括:
从所述各个进程中,选择一个进程确定为主节点进程,将所述各个进程中除所述主节点进程以外的其它进程确定为从节点进程,其中,所述主节点进程和所述从节点进程运行于同一个内核;
其中,所述接收所述嵌入式系统内任意一个进程所产生的通讯信息,根据所述通讯信息的通讯类型和所述通讯信息中所携带的标识信息,确定接收所述通讯信息的目标进程;将所述通讯信息发送至所述目标进程,包括:
接收任意一个进程的消息,并将所述消息发送给所述主节点进程,其中,所述消息包括消息名称;
接收任意一个进程的消息订阅申请,并将所述消息订阅申请发送给所述主节点进程,以使所述主节点进程根据所述消息订阅申请,确定与消息名称相关联的订阅进程名称,其中,所述消息订阅申请中包含所述消息名称和所述订阅进程名称;
从所述主节点进程接收消息和与所述消息相关联的订阅进程名称,根据所述订阅进程名称,确定接收所述消息的目标进程,并将所述消息发送给所述目标进程。
3.根据权利要求2所述的嵌入式系统内进程通讯方法,其特征在于,在所述嵌入式系统包括至少两个内核的情况下,所述接收所述嵌入式系统内任意一个进程所产生的通讯信息,根据所述通讯信息的通讯类型和所述通讯信息中所携带的标识信息,确定接收所述通讯信息的目标进程,包括:
接收第一内核中运行的任意一个进程的消息订阅申请,所述消息订阅申请中包含所述消息名称和所述订阅进程名称,其中,所述第一内核为所述至少两个内核中的任意一个内核;
将所述消息订阅申请发送给所述第一内核中运行的主节点进程,以使所述第一内核中运行的主节点进程根据所述消息订阅申请,确定与所述消息名称相关联的所述第一内核中的订阅进程名称。
4.根据权利要求3所述的嵌入式系统内进程通讯方法,其特征在于,所述接收所述嵌入式系统内任意一个进程所产生的通讯信息,根据所述通讯信息的通讯类型和所述通讯信息中所携带的标识信息,确定接收所述通讯信息的目标进程,进一步包括:
接收第一内核中运行的任意一个进程的消息订阅申请,并将所述消息订阅申请发送给所述第一内核中运行的主节点进程;
接收第二内核中运行的任意一个进程产生的消息,并将所述消息发送给所述第二内核中运行的主节点进程,其中,所述第二内核为所述至少两个内核中的另一个内核;
接收所述第二内核中运行的主节点进程发布的所述消息,并将所述消息发送给所述第一内核中运行的主节点进程,以使所述第一内核中运行的主节点进程根据消息订阅申请,确定与消息名称相关联的所述第一内核中的订阅进程名称,并根据所述第一内核中的订阅进程名称,确定接收所述消息的并且运行于所述第一内核中的目标进程。
5.根据权利要求4所述的嵌入式系统内进程通讯方法,其特征在于,所述将所述通讯信息发送至所述目标进程,包括:
从所述第一内核中运行的主节点进程接收所述消息;
将所述消息发送给运行于所述第一内核中的目标进程。
6.一种嵌入式系统内的进程通讯装置,其特征在于,包括:
标识信息建立模块,被配置为执行建立嵌入式系统内的各个进程各自的标识信息;
目标进程确定模块,被配置为执行接收所述嵌入式系统内任意一个进程所产生的通讯信息,根据所述通讯信息的通讯类型和所述通讯信息中所携带的标识信息,确定接收所述通讯信息的目标进程;
通讯信息发送模块,被配置为执行将所述通讯信息发送至所述目标进程;
其中,所述通讯类型包括命令和/或消息,所述标识信息包括与所述命令相关联的目标进程名称和/或与所述消息相关联的消息名称;
在所述通讯类型为命令的情况下,所述目标进程确定模块和通讯信息发送模块进一步被配置为执行:
接收所述任意一个进程发出的命令,从所述命令中得到其所携带的目标进程名称;
根据所述目标进程名称,确定接收所述命令的目标进程,并将所述命令发送给所述目标进程;
接收所述目标进程返回的命令响应结果并发送给所述任意一个进程,其中,所述目标进程接收到所述命令后,将所述命令与所述目标进程中服务和方法进行匹配,得到用于执行所述命令的服务和方法并利用所得到的服务和方法执行所述命令。
7.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器的可执行指令的存储器;
其中,所述处理器被配置为执行所述可执行指令,以实现如权利要求1至5任一项所述的嵌入式系统内进程通讯方法。
8.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的至少一条指令被电子设备的处理器执行时,使得所述电子设备能够实现如权利要求1至5任一项所述的嵌入式系统内进程通讯方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310527716.6A CN116244099B (zh) | 2023-05-11 | 2023-05-11 | 嵌入式系统内进程通讯方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310527716.6A CN116244099B (zh) | 2023-05-11 | 2023-05-11 | 嵌入式系统内进程通讯方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116244099A CN116244099A (zh) | 2023-06-09 |
CN116244099B true CN116244099B (zh) | 2023-09-08 |
Family
ID=86628115
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310527716.6A Active CN116244099B (zh) | 2023-05-11 | 2023-05-11 | 嵌入式系统内进程通讯方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116244099B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5367681A (en) * | 1990-12-14 | 1994-11-22 | Sun Microsystems, Inc. | Method and apparatus for routing messages to processes in a computer system |
EP0695993A2 (en) * | 1994-07-27 | 1996-02-07 | International Business Machines Corporation | System and method for interprocess communication |
CN103455380A (zh) * | 2012-06-05 | 2013-12-18 | 上海斐讯数据通信技术有限公司 | 多进程通信系统及其建立和通信方法 |
CN106648928A (zh) * | 2016-11-29 | 2017-05-10 | 成都广达新网科技股份有限公司 | 一种进程间通讯的方法及装置 |
CN113496030A (zh) * | 2020-04-08 | 2021-10-12 | 佳能株式会社 | 信息处理装置及在其中控制容器与进程之间的通信的方法 |
CN114979241A (zh) * | 2022-06-01 | 2022-08-30 | 北京字跳网络技术有限公司 | 通信方法、装置、存储介质以及电子设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101989215A (zh) * | 2009-07-29 | 2011-03-23 | 鸿富锦精密工业(深圳)有限公司 | 电子装置及在电子装置中窗口进程调用的方法 |
US10915381B2 (en) * | 2018-10-16 | 2021-02-09 | Ngd Systems, Inc. | System and method for computational storage device intercommunication |
-
2023
- 2023-05-11 CN CN202310527716.6A patent/CN116244099B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5367681A (en) * | 1990-12-14 | 1994-11-22 | Sun Microsystems, Inc. | Method and apparatus for routing messages to processes in a computer system |
EP0695993A2 (en) * | 1994-07-27 | 1996-02-07 | International Business Machines Corporation | System and method for interprocess communication |
CN103455380A (zh) * | 2012-06-05 | 2013-12-18 | 上海斐讯数据通信技术有限公司 | 多进程通信系统及其建立和通信方法 |
CN106648928A (zh) * | 2016-11-29 | 2017-05-10 | 成都广达新网科技股份有限公司 | 一种进程间通讯的方法及装置 |
CN113496030A (zh) * | 2020-04-08 | 2021-10-12 | 佳能株式会社 | 信息处理装置及在其中控制容器与进程之间的通信的方法 |
CN114979241A (zh) * | 2022-06-01 | 2022-08-30 | 北京字跳网络技术有限公司 | 通信方法、装置、存储介质以及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116244099A (zh) | 2023-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102004160B1 (ko) | 사물인터넷 환경에서 클라이언트 식별자를 이용하여 클라이언트 노드들을 논리적으로 그룹화하는 장치 및 방법 | |
US7673029B2 (en) | Grid automation bus to integrate management frameworks for dynamic grid management | |
CN102868736A (zh) | 一种云计算监控框架设计及实现方法及云计算处理设备 | |
CN109150662B (zh) | 消息传输方法、分布式系统、设备、介质和无人车 | |
CN111930525B (zh) | Gpu资源使用方法、电子设备及计算机可读介质 | |
CN111970372A (zh) | 一种智慧工地物联网网关通信方法、网关和系统 | |
WO2022214012A1 (zh) | 实现应用程序的多语言翻译的系统、方法、设备和介质 | |
CN113658351B (zh) | 一种产品生产的方法、装置、电子设备及存储介质 | |
US20050183096A1 (en) | Information kit integration architecture for end-user systems | |
CN116244099B (zh) | 嵌入式系统内进程通讯方法、装置、电子设备和存储介质 | |
CN111835809B (zh) | 工单消息分配方法、装置、服务器及存储介质 | |
CN112148506A (zh) | 消息处理方法、装置、平台和存储介质 | |
US7496925B2 (en) | Information kit objects for publish/subscribe integration architecture | |
CN112134938B (zh) | 一种消息处理方法、装置、终端及计算机可读存储介质 | |
CN114546672A (zh) | 一种无人驾驶通信方法、装置、设备及存储介质 | |
CN112416980A (zh) | 数据业务处理方法、装置及设备 | |
CN112541038A (zh) | 时序数据管理方法、系统、计算设备及存储介质 | |
CN113032477A (zh) | 基于gtid的长距离数据同步方法、装置及计算设备 | |
US20050154712A1 (en) | Enhanced search expressions for information kit integration architecture | |
CN115604077A (zh) | 一种监控方法、装置、设备及介质 | |
CN117170822A (zh) | 使用分布式网络中间件的系统模型和代码联合仿真系统 | |
CN116016679A (zh) | 一种云原生服务通信方法、装置、设备及存储介质 | |
CN114461422A (zh) | 车机应用通信方法、装置、设备及介质 | |
CN116340207A (zh) | 一种硬件设备数据访问方法、装置、设备及介质 | |
CN115344409A (zh) | 消息总线系统的管控方法、相关装置及计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |