基于共享内存的跨进程消息通知方法及装置制造方法及图纸

技术编号:33528166 阅读:15 留言:0更新日期:2022-05-19 01:53
本发明专利技术提供一种基于共享内存的跨进程消息通知方法及装置,方法包括:发布端进程在目标关键字的对应数据发生变化时,从所述终端上的共享内存中查找与所述目标关键字对应的目标进程标识信息,触发与所述目标进程标识信息对应的第一通知事件,向所述目标进程标识信息对应的观察端进程发送目标事件通知;其中,所述共享内存中存储有关键字和进程标识信息的对应关系;所述发布端进程和所述观察端进程共享所述共享内存;所述目标事件通知用于指示所述目标关键字的对应数据发生变化;观察端进程接收到所述目标事件通知时,获取所述目标关键字对应的目标数据。本发明专利技术使得跨进程消息通知实现简单,能够提高开发效率。能够提高开发效率。能够提高开发效率。

【技术实现步骤摘要】
基于共享内存的跨进程消息通知方法及装置


[0001]本专利技术涉及计算机
,尤其涉及一种基于共享内存的跨进程消息通知方法及装置。

技术介绍

[0002]现有Windows平台可以支持多进程架构的应用(app)。相关技术中,当开发人员想要接收跨进程消息回调通知时,可以通过使用信号量,互斥量,事件等内核对象进行实现。
[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]图1是本专利技术提供的基于共享内存的跨进程消息通知方法的流程示意图之一;
[0039]图2是本专利技术提供的基本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于共享内存的跨进程消息通知方法,其特征在于,应用于目标应用的发布端进程,其中所述目标应用的发布端进程和观察端进程运行于终端;所述方法包括:所述发布端进程在目标关键字的对应数据发生变化时,从所述终端上的共享内存中查找与所述目标关键字对应的目标进程标识信息;触发与所述目标进程标识信息对应的第一通知事件,向所述目标进程标识信息对应的观察端进程发送目标事件通知;其中,所述共享内存中存储有关键字和进程标识信息的对应关系;所述发布端进程和所述观察端进程共享所述共享内存;所述目标事件通知用于指示所述目标关键字的对应数据发生变化。2.根据权利要求1所述的基于共享内存的跨进程消息通知方法,其特征在于,所述发布端进程在目标关键字的对应数据发生变化时,从所述终端上的共享内存中查找与所述目标关键字对应的目标进程标识信息,包括:所述发布端进程在所述目标关键字的对应数据发生变化时,遍历所述共享内存,查找与所述目标关键字对应的目标进程标识信息。3.根据权利要求1所述的基于共享内存的跨进程消息通知方法,其特征在于,所述方法还包括:在所述终端上运行的所述目标应用的任一进程内对事件监听数据加锁;其中,以下操作在任一进程内互斥:注册监听事件的操作;反注册操作;所述第二线程获取目标数据的操作。4.根据权利要求1所述的基于共享内存的跨进程消息通知方法,其特征在于,所述方法还包括:在所述终端上运行的所述目标应用的任一进程对所述共享内存进行目标操作时,当在预设超时时间内没有获取到跨进程锁时,确定所述目标操作失败。所述目标操作包括以下至少一项:在所述共享内存中插入注册项;在所述共享内存中删除注册项;查询所述共享内存中关键字对应的进程标识信息列表;初始化时检查数据完整性。5.一种基于共享内存的跨进程消息通知方法,其特征在于,应用于目标应用的观察端进程,其中所述目标应用的发布端进程和观察端进程运行于终端;所述方法包括:所述观察端进程接收到所述目标事件通知时,获取所述目标关键字对应的目标数据。6.根据权利要求5所述的基于共享内存的跨进程消息通知方法,其特征在于,所述观察端进程接收到所述目标事件通知时,获取所述目标关键字对应的目标数据之前,所述方法还包括:所述观察端进程基于所述目标关键字注册一个注册事件及对应的回调通知,将所述观察端进程的目标进程标识信息与所述目标关键字的对应关系存储至所述共享内存。7.根据权利要求5所述的基于...

【专利技术属性】
技术研发人员:刘宜
申请(专利权)人:网神信息技术北京股份有限公司
类型:发明
国别省市:

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

1