本发明专利技术实施例涉及一种进程间的通信方法、装置及存储介质,所述方法包括:获取第一进程发送的业务请求;基于所述业务请求创建对应的任务节点,以及将所述业务请求存储于所述任务节点中;接收第二进程发送的任务查询指令,以及响应于所述任务查询指令向所述第二进程返回所述任务节点中存储的业务请求,以使所述第二进程执行所述业务请求。由此方法,可以实现不同网络的进程之间方便快捷高效地进行通信。不同网络的进程之间方便快捷高效地进行通信。不同网络的进程之间方便快捷高效地进行通信。
【技术实现步骤摘要】
进程间的通信方法、装置及存储介质
[0001]本专利技术实施例涉及计算机
,尤其涉及一种进程间的通信方法、装置及存储介质。
技术介绍
[0002]随着计算机技术的发展,通信技术也相应的发展起来,当系统需要完成某些任务或需要进程之间进行数据交换等场景下,可能需要多个进程之间共同协作完成,因此,需要进程之间相互通信。
[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]图1为本专利技术实施例提供的一种进程间的通信方法的应用场景图;
[0037]图2为本专利技术实施例提供的一种进程间的通信方法的流程示意图;
[0038]图3为本专利技术实施例提供的另一种进程间的通信方法的流程示意图;
[0039]图4为本专利技术实施例提供的又一种进程间的通信方法的流程示意图;
[0040]图5为本专利技术实施例提供的一种进程间的通信装置的结构示意图;
[0041]图6为本专利技术实施例提供的一种计算机设备的结构示意图。
具体实施方式
[0042]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0043]为便于对本专利技术实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本专利技术实施例的限定。
[0044]图1为本专利技术实施例提供的一种进程间的通信方法的应用场景图,本方法可以应用在两个处于不同网络的进程之间的通信的场景。
[0045]在一示例性场景中,如图1所示,用户端用以接收用户输入的业务请求,将业务请求发送到服务器101,主进程可以是服务器101接收到用户端发送的业务请求后生成的主进程,主进程将业务请求发送到服务器102,服务器102上安装分布式协作服务,通过此分布式协作服务将业务请求发送给服务器103,服务器103接收到业务请求后生成工作进程。
[0046]在本专利技术实施例的一可选方案中,主进程可以是:Master,工作进程可以是:Worker,分布式协作服务可以是:Zookeeper;Master、Zoo本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种进程间的通信方法,其特征在于,包括:获取第一进程发送的业务请求;基于所述业务请求创建对应的任务节点,以及将所述业务请求存储于所述任务节点中;接收第二进程发送的任务查询指令,以及响应于所述任务查询指令向所述第二进程返回所述任务节点中存储的业务请求,以使所述第二进程执行所述业务请求。2.根据权利要求1所述的方法,其特征在于,所述业务请求携带有任务指令;所述将所述业务请求存储于所述任务节点中,包括:在所述任务节点划分第一预设存储位置,所述第一预设存储位置用于存储所述任务指令;将所述任务指令存储于第一预设存储位置。3.根据权利要求1所述的方法,其特征在于,所述业务请求还携带有任务文件;所述将所述业务请求存储于所述任务节点中,包括:在所述任务节点划分第二预设存储位置,所述第二预设存储位置用于存储所述任务文件;对所述业务请求进行解析,得到任务指令和任务文件;将所述任务指令存储于第一预设存储位置,以及将所述任务文件存储于第二预设存储位置。4.根据权利要求2所述的方法,其特征在于,所述响应于所述任务查询指令向所述第二进程返回所述任务节点中存储的业务请求,包括:响应于所述任务查询指令从所述第一预设存储位置中读取所述任务指令,以及将所述任务指令返回给所述第二进程。5.根据权利要求3所述的方法,其特征在于,所述响应于所述任务查询指令向所述第二进程返回所述任务节点中存储的业务请求,包括:响应于所述任务查询指令从所述第一预设存储位置中读取所述任务指令,以及从所述第二预设存储位置中读取所述任务文件;将所述任务指令和所述任务文件返回给所述第二进...
【专利技术属性】
技术研发人员:魏青臣,
申请(专利权)人:北京国双科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。