本申请公开了一种跨进程通信方法、装置、存储介质及电子设备,属于通信技术领域。所述跨进程通信方法包括:跨进程通讯中心进程接收来自第一进程的第一事件消息,识别所述第一事件消息的消息类型,在预先存储的注册表中查询是否存在与所述消息类型关联的第二进程,若存在,判断所述注册表中存储的所述第二进程的消息类型和所述第一事件消息的消息类型是否相同,若为否,将所述第二进程的消息类型覆盖所述第一事件消息的消息类型后,生成第二事件消息,将所述第二事件消息发送给所述第二进程。故本申请中跨进程通信时,通过启动跨进程通讯中心进程作为进程间通信的中间载体,可提高多进程间通信效率,降低开发成本。降低开发成本。降低开发成本。
【技术实现步骤摘要】
跨进程通信方法、装置、存储介质及电子设备
[0001]本专利技术涉及通信
,具体涉及一种跨进程通信方法、装置、存储介质及电子设备。
技术介绍
[0002]目前,在对操作系统的应用层开发过程中,会需要使用不同进程间的通信。比如,需要进程A与进程B之间的通信,则需要开发人员手动定义进程A的相关信息,再手动查找进程B的相关信息。利用进程A的相关信息和进程B的相关信息,定义进程A与进程B的通信方法,从而发起进程A与进程B的通信。随着科学技术的发展,应用设备中的应用数量越来越多,想要实现进程间的通信,每两个进程间通信时计算机需要生成一个消息队列,维护大量消息队列导致投入时间成本过大,降低了多进程间通信的效率,当前技术中的多进程间通信效率不能满足现有需求,因此如何让开发人员和用户使用方便,提高效率,降低设计生产成本是目前亟待解决的问题。
技术实现思路
[0003]本申请实施例提供了一种跨进程通信方法、装置、存储介质及电子设备,可提高多进程间通信效率,降低开发成本。所述技术方案如下:
[0004]第一方面,本申请实施例提供了一种跨进程通信方法,包括:
[0005]接收来自第一进程的第一事件消息;
[0006]识别所述第一事件消息的消息类型;
[0007]在预先存储的注册表中查询是否存在与所述消息类型关联的第二进程;
[0008]若存在,判断所述注册表中存储的所述第二进程的消息类型和所述第一事件消息的消息类型是否相同;
[0009]若为否,将所述第二进程的消息类型覆盖所述第一事件消息的消息类型后,生成第二事件消息;
[0010]将所述第二事件消息发送给所述第二进程。
[0011]第二方面,本申请实施例提供了一种跨进程查询方法,包括:
[0012]生成查询请求消息;其中,所述查询请求携带目标进程的消息队列标识和第一查询标识;
[0013]在注册表中注册监听事件类型为第一事件类型;
[0014]将所述查询请求消息通过跨进程通讯中心进程发送给所述目标进程;
[0015]接收所述目标进程通过所述跨进程通讯中心进程返回的查询响应消息;其中,所述查询响应消息携带所述第一查询标识,所述查询响应消息为所述第一事件类型;
[0016]解析所述查询响应消息得到查询结果,将所述查询结果存放至对应的消息队列文件中。
[0017]第三方面,本申请实施例提供了另一种跨进程查询方法,包括:
[0018]接收来自源进程通过跨进程通讯中心进程发送的查询请求消息;其中,所述查询请求携带目标进程的消息队列标识和第一查询标识;
[0019]根据所述查询请求消息执行查询得到查询结果;
[0020]基于所述查询结果生成查询响应消息;其中,所述查询响应消息携带所述第一查询标识,所述查询响应消息为所述第一事件类型;
[0021]将所述查询响应消息通过所述跨进程通讯中心进程发送给所述源进程。
[0022]第四方面,本申请实施例提供了一种跨进程通信装置,所述装置包括:
[0023]接收模块,用于接收来自第一进程的第一事件消息;
[0024]识别模块,用于识别所述第一事件消息的消息类型;
[0025]查询模块,用于在预先存储的注册表中查询是否存在与所述消息类型关联的第二进程;
[0026]判断模块,用于若存在,判断所述注册表中存储的所述第二进程的消息类型和所述第一事件消息的消息类型是否相同;
[0027]生成模块,用于若为否,将所述第二进程的消息类型覆盖所述第一事件消息的消息类型后,生成第二事件消息;
[0028]发送模块,用于将所述第二事件消息发送给所述第二进程。
[0029]第五方面,本申请实施例提供了一种跨进程查询装置,所述装置包括:
[0030]生成模块,用于生成查询请求消息;其中,所述查询请求携带目标进程的消息队列标识和第一查询标识;
[0031]注册模块,用于在注册表中注册监听事件类型为第一事件类型;
[0032]发送模块,用于将所述查询请求消息通过跨进程通讯中心进程发送给所述目标进程;
[0033]接收模块,用于接收所述目标进程通过所述跨进程通讯中心进程返回的查询响应消息;其中,所述查询响应消息携带所述第一查询标识,所述查询响应消息为所述第一事件类型;
[0034]解析模块,用于解析所述查询响应消息得到查询结果,将所述查询结果存放至对应的消息队列文件中。
[0035]第六方面,本申请实施例提供了一种跨进程查询装置,所述装置包括:
[0036]接收模块,用于接收来自源进程通过跨进程通讯中心进程发送的查询请求消息;其中,所述查询请求携带目标进程的消息队列标识和第一查询标识;
[0037]查询模块,用于根据所述查询请求消息执行查询得到查询结果;
[0038]生成模块,用于基于所述查询结果生成查询响应消息;其中,所述查询响应消息携带所述第一查询标识,所述查询响应消息为所述第一事件类型;
[0039]发送模块,用于将所述查询响应消息通过所述跨进程通讯中心进程发送给所述源进程。
[0040]第七方面,本申请实施例提供了一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。
[0041]第八方面,本申请实施例提供了一种电子设备,包括:存储器和处理器;其中,所述存储器存储有计算机程序,所述计算机程序适用于由所述处理器加载并执行上述的方法步
骤。
[0042]本申请一些实施例提供的技术方案带来的有益效果至少包括:
[0043]上述跨进程通信方法、装置、存储介质及电子设备工作时,跨进程通讯中心进程接收来自第一进程的第一事件消息,识别所述第一事件消息的消息类型,在预先存储的注册表中查询是否存在与所述消息类型关联的第二进程,若存在,判断所述注册表中存储的所述第二进程的消息类型和所述第一事件消息的消息类型是否相同,若为否,将所述第二进程的消息类型覆盖所述第一事件消息的消息类型后,生成第二事件消息,将所述第二事件消息发送给所述第二进程。跨进程通信时,通过启动跨进程通讯中心进程作为进程间通信的中间载体,可提高多进程间通信效率,降低开发成本。
附图说明
[0044]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0045]图1是本申请实施例提供的一种跨进程通信系统的架构示意图;
[0046]图2是本申请实施例提供的一种跨进程通信方法的流程示意图;
[0047]图3是本申请实施例提供的一种跨进程通信方法的另一流程示意图;
[0048]图4是本申请实施例提供的一种装置的第一结构示意图;
[0本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种跨进程通信方法,其特征在于,所述方法包括:接收来自第一进程的第一事件消息;识别所述第一事件消息的消息类型;在预先存储的注册表中查询是否存在与所述消息类型关联的第二进程;若存在,判断所述注册表中存储的所述第二进程的消息类型和所述第一事件消息的消息类型是否相同;若为否,将所述第二进程的消息类型覆盖所述第一事件消息的消息类型后,生成第二事件消息;将所述第二事件消息发送给所述第二进程。2.根据权利要求1所述方法,其特征在于,所述接收来第一进程的第一事件消息之前,还包括:在跨进程通讯中心进程完成启动后,创建消息队列文件以及为所述消息队列文件分配消息队列标识;设置所述消息队列文件监听的消息类型为全消息类型;其中,所述全消息类型表示所述消息队列文件用于保存所有发送给所述跨进程通讯中心进程的事件消息;在所述跨进程通讯中心进程监听到的事件消息为预设的消息类型时,解析所述监听到的事件消息得到对应的进程名称和事件类型;根据所述进程名称获取目标消息队列标识;其中,所述目标消息队列标识为发送所述监听到的事件消息的进程对应的消息队列的标识;将注册信息记录到注册表完成注册;其中,所述注册信息包括所述进程名称、所述事件类型和所述目标消息队列标识。3.根据权利要求1所述方法,其特征在于,还包括:在所述第二进程的消息类型和所述第一事件消息的消息类型相同时,将所述第一事件消息发送给所述第二进程。4.根据权利要求2所述方法,其特征在于,所述根据所述进程名称获取目标消息队列标识,包括:确定所述进程名称;对所述进程名称和预设关键词进行拼接得到目标消息队列文件名称;基于所述目标消息队列文件名称获取目标消息队列标识。5.根据权利要求1所述方法,其特征在于,所述...
【专利技术属性】
技术研发人员:葛均辉,
申请(专利权)人:深圳市奇虎智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。