一种IPC消息处理方法、系统、存储介质及设备技术方案

技术编号:35041897 阅读:7 留言:0更新日期:2022-09-24 23:21
本发明专利技术提供了一种IPC消息处理方法、系统、存储介质及设备,方法包括:通过IPC消息发送端的第一进程创建第一线程,并通过第一线程将IPC消息发送至消息链表;通过IPC消息接收端的第二进程创建第二线程和循环链表,并由第二线程扫描消息链表,并响应于检测到消息链表中存在IPC消息,将IPC消息发送至循环链表;通过第二线程基于循环链表中IPC消息的权值对IPC消息进行分发处理。本发明专利技术将现有的IPC消息处理的同步方式和异步方式进行了取长补短,既有IPC消息同步处理机制的反馈,也有IPC消息异步处理方式的非阻塞特性,使得IPC消息的发送和接收处理更加高效稳定,提高了业务处理能力,在一定程度上提高了业务的并发性,从而提升了系统处理效率。系统处理效率。系统处理效率。

【技术实现步骤摘要】
一种IPC消息处理方法、系统、存储介质及设备


[0001]本专利技术涉及信息
,尤其涉及一种IPC消息处理方法、系统、存储介质及设备。

技术介绍

[0002]进程间的信息共享通常有多种方式,一是穿过内核访问文件系统,二是通过驻留在内容中的共享信息来共享,三是通过进程共享内存区来共享。
[0003]IPC(Inter

Process Communication,进程间通信)消息的处理方式又可分为同步和异步方式。同步方式会阻塞函数进程,直到消息处理完成并返回结果,进程才会继续运行。图1为根据现有技术提供的IPC消息异步处理方式的示意图。如图1所示,异步方式不会阻塞函数进程,发送消息后,进程继续运行,并不关心消息执行结果。
[0004]因此,目前对于IPC消息处理的同步方式和异步方式均存在不足,导致处理能力和处理效率较低。

技术实现思路

[0005]有鉴于此,本专利技术的目的在于提出一种IPC消息处理方法、系统、存储介质及设备,用以解决现有技术中对于IPC消息处理的同步方式和异步方式均存在不足,导致处理能力和处理效率较低的问题。
[0006]基于上述目的,本专利技术提供了一种IPC消息处理方法,包括以下步骤:
[0007]通过IPC消息发送端的第一进程创建第一线程,并通过第一线程将IPC消息发送至消息链表;
[0008]通过IPC消息接收端的第二进程创建第二线程和循环链表,并由第二线程扫描消息链表,并响应于检测到消息链表中存在IPC消息,将IPC消息发送至循环链表;
[0009]通过第二线程基于循环链表中IPC消息的权值对IPC消息进行分发处理。
[0010]在一些实施例中,通过第二线程基于循环链表中IPC消息的权值对IPC消息进行分发处理包括:
[0011]通过第二线程获取循环链表中的IPC消息,并根据获取的IPC消息的权值大小为其分配相应量的资源;
[0012]响应于资源分配完成,通过第二线程将获取的IPC消息交由业务模块进行处理。
[0013]在一些实施例中,根据获取的IPC消息的权值大小为其分配相应量的资源包括:
[0014]根据获取的IPC消息中实例消息的权值大小为获取的IPC消息分配相应量的资源。
[0015]在一些实施例中,方法还包括:
[0016]通过第一进程创建第三线程,并将超时处理函数和回调函数注册至第三线程。
[0017]在一些实施例中,方法还包括:
[0018]响应于循环链表已满,通过IPC消息接收端向第三线程发送链表已满的第一完成信号,使第三线程基于回调函数触发回调处理。
[0019]在一些实施例中,方法还包括:
[0020]响应于通过第二进程完成对IPC消息的分发处理,向IPC消息发送端发送第二完成信号,以通知IPC消息发送端通过第三线程进行回调处理。
[0021]在一些实施例中,方法还包括:
[0022]响应于通过第二进程未完成对IPC消息的分发处理,向IPC消息发送端发送异常完成信号或者超时信号,以通知IPC消息发送端通过第三线程进行特殊回调处理。
[0023]本专利技术的另一方面,还提供了一种IPC消息处理系统,包括:
[0024]发送模块,配置用于通过IPC消息发送端的第一进程创建第一线程,并通过第一线程将IPC消息发送至消息链表;
[0025]扫描模块,配置用于通过IPC消息接收端的第二进程创建第二线程和循环链表,并由第二线程扫描消息链表,并响应于检测到消息链表中存在IPC消息,将IPC消息发送至循环链表;以及
[0026]处理模块,配置用于通过第二线程基于循环链表中IPC消息的权值对IPC消息进行分发处理。
[0027]本专利技术的又一方面,还提供了一种计算机可读存储介质,存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述方法。
[0028]本专利技术的再一方面,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该计算机程序被处理器执行时执行上述方法。
[0029]本专利技术至少具有以下有益技术效果:
[0030]本专利技术的IPC消息处理方法,通过IPC消息发送端的第一进程创建第一线程,并通过第一线程将IPC消息发送至消息链表,通过IPC消息接收端的第二进程创建第二线程和循环链表,并由第二线程扫描消息链表,并在检测到消息链表中存在IPC消息时,将IPC消息发送至循环链表,通过第二线程基于循环链表中IPC消息的权值对IPC消息进行分发处理,从而将现有的IPC消息处理的同步方式和异步方式进行了取长补短,既有IPC消息同步处理机制的反馈,也有IPC消息异步处理方式的非阻塞特性,使得IPC消息的发送和接收处理更加高效稳定,提高了业务处理能力,在一定程度上提高了业务的并发性,从而提升了系统处理效率。
附图说明
[0031]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
[0032]图1为根据现有技术提供的IPC消息异步处理方式的示意图;
[0033]图2为根据本专利技术实施例提供的IPC消息处理方法的示意图;
[0034]图3为根据本专利技术实施例提供的IPC消息处理方法的结构示意图;
[0035]图4为根据本专利技术实施例提供的IPC消息处理系统的示意图;
[0036]图5为根据本专利技术实施例提供的实现IPC消息处理方法的计算机可读存储介质的示意图;
[0037]图6为根据本专利技术实施例提供的执行IPC消息处理方法的计算机设备的硬件结构示意图。
具体实施方式
[0038]为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本专利技术实施例进一步详细说明。
[0039]需要说明的是,本专利技术实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称的非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本专利技术实施例的限定。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备固有的其他步骤或单元。
[0040]基于上述目的,本专利技术实施例的第一个方面,提出了一种IPC消息处理方法的实施例。图2示出的是本专利技术提供的IPC消息处理方法的实施例的示意图。如图2所示,本专利技术实施例包括如下步骤:
[0041]步骤S10、通过IPC消息发送端的第一进程创建第一线程,并通过第一线程将IPC消息发送至消息链表;
[0042]步骤S20、通过IPC消息接收端的第二进程创建第二线程和循环链表,并由第二线程扫描消息链表,并响应于检测到消息链表中存在IPC消息,将I本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种IPC消息处理方法,其特征在于,包括以下步骤:通过IPC消息发送端的第一进程创建第一线程,并通过所述第一线程将IPC消息发送至消息链表;通过IPC消息接收端的第二进程创建第二线程和循环链表,并由所述第二线程扫描所述消息链表,并响应于检测到所述消息链表中存在所述IPC消息,将所述IPC消息发送至所述循环链表;通过所述第二线程基于所述循环链表中所述IPC消息的权值对所述IPC消息进行分发处理。2.根据权利要求1所述的方法,其特征在于,通过所述第二线程基于所述循环链表中所述IPC消息的权值对所述IPC消息进行分发处理包括:通过所述第二线程获取所述循环链表中的所述IPC消息,并根据所述获取的IPC消息的权值大小为其分配相应量的资源;响应于资源分配完成,通过所述第二线程将所述获取的IPC消息交由业务模块进行处理。3.根据权利要求2所述的方法,其特征在于,根据所述获取的IPC消息的权值大小为其分配相应量的资源包括:根据所述获取的IPC消息中实例消息的权值大小为所述获取的IPC消息分配相应量的资源。4.根据权利要求1所述的方法,其特征在于,还包括:通过所述第一进程创建第三线程,并将超时处理函数和回调函数注册至所述第三线程。5.根据权利要求4所述的方法,其特征在于,还包括:响应于所述循环链表已满,通过所述IPC消息接收端向所述第三线程发送链表已满的第一完成信号,使所述第三线程基于所述回调函数触发回调处理。6.根据权利...

【专利技术属性】
技术研发人员:刘潇木张璐
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1