进程通信方法、系统、终端设备及介质技术方案

技术编号:33914321 阅读:19 留言:0更新日期:2022-06-25 19:59
本发明专利技术公开了一种进程通信方法、系统、终端设备以及计算机可读存储介质,该进程通信方法的步骤包括:构建本地套接字文件地址,并基于所述本地套接字文件地址,通过监听预设文件描述符方式,接收动态链接库发送的进程信息;根据所述进程信息判断是否允许当前进程运行;若是,则得到进程响应结果,并将所述进程响应结果发送至所述动态链接库。获取并打包进程信息,并绑定服务器生成的本地套接字文件地址;通过所述本地套接字文件地址将所述进程信息发送至所述服务器,并等待所述服务器的应答;在接收到所述服务器发送的进程响应结果后直接退出。本发明专利技术能够提升进程通信效率。本发明专利技术能够提升进程通信效率。本发明专利技术能够提升进程通信效率。

【技术实现步骤摘要】
进程通信方法、系统、终端设备及介质


[0001]本专利技术涉及进程通信
,尤其是涉及一种进程通信方法、系统、终端设备以及计算机可读存储介质。

技术介绍

[0002]大部分传统的基于LD_PRELOAD预加载的进程拦截方式普遍采用动态链接库直接进行拦截;或者将进程信息发送给主体进程做处理,由主体进程进行拦截。而当采用主体进程进行拦截时往往需要引用通信方式,传统的通信方式包括:信号、udp/ip、tcp/ip等。
[0003]传统的通信机制面临的问题如下:
[0004]1、采用直接在预加载动态库上进程拦截的方式会造成数据库死锁、系统卡顿等问题;
[0005]2、由于Linux系统提供给用户的可用信号只有32种,所以采用信号方式会影响其他系统进程或者用户进程的正常运行,严重会造成系统启动时无法正常加载程序;
[0006]3、采用传统udp/ip、tcp/ip通信方式则会占用系统端口,并且在传输过程中需要添加或删除网络报头,需计算校验和,产生顺序号,需要发送确认报文,影响效率,所以会造成系统卡顿问题。
[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]相比于现有技术中进程通信拦截方式,本专利技术为基于UNIX域套接字的进程通信机制,服务器端预先绑定一个包含文件描述符的本地文件地址,使得客户端能够通过该文件描述符的本地路径实现与服务端的双边通信。动态链接库在将新建进程的进程信息通过本地套接字文件地址发送至服务器后,将在预设时长内等待服务器端返回进程响应结果,一旦在预设时长内接好不到服务器响应,将放行当前新程,避免了异常进程通信情况而导致的系统卡顿,极大提升了进程通信效率。并且,本专利技术采用软件主体对进程进行拦截,避免了在系统新起多个进程时数据库死锁或者系统卡顿问题,并且在本专利技术中占用系统资源只是一个文件描述符,所以不会影响其他系统进程或者用户进程的运行,传输效率能达到传输通信方式的两倍,更能够快速的对进程进行拦截。在此基础上,本专利技术实现了高效的进程通信,进而提升了进程拦截效率。
附图说明
[0040]图1为本专利技术实施例方案涉及的硬件运行环境的结构示意图;
[0041]图2为本专利技术进程通信方法一实施例的第一流程示意图;
[0042]图3为本专利技术进程通信方法一实施例的调用动态链本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种进程通信方法,其特征在于,所述进程通信方法应用于服务器,所述进程通信方法包括以下步骤:构建本地套接字文件地址,并基于所述本地套接字文件地址,通过监听预设文件描述符方式,接收动态链接库发送的进程信息;根据所述进程信息判断是否允许当前进程运行;若是,则得到进程响应结果,并根据所述本地套接字文件地址将所述进程响应结果发送至所述动态链接库。2.如权利要求1所述的进程通信方法,其特征在于,所述服务器包括主线程,所述构建本地套接字文件地址,并基于所述本地套接字文件地址,通过监听预设文件描述符方式,接收动态链接库发送的进程信息的步骤,包括:根据所述主线程,构建本地套接字文件地址,并基于所述本地套接字文件地址,通过监听预设文件描述符方式,接收动态链接库发送的进程信息;在所述接收动态链接库发送的进程信息的步骤之后,还包括:通过所述主线程将所述进程信息保存至预设的消息列队。3.如权利要求2所述的进程通信方法,其特征在于,所述服务器包括副线程,在所述根据所述进程信息判断是否允许进程运行的步骤之前,还包括:通过所述副线程读取所述消息列队中的进程信息,以根据所述进程信息通过所述副线程判断是否允许当前进程运行。4.如权利要求1所述的进程通信方法,其特征在于,在所述根据所述进程信息判断是否允许进程运行的步骤之后,还包括:若否,则直接结束所述当前进程。5.一种进程通信方法,其特征在于,所述进程通信方法应用于动态链接库,所述进程通信方法包括以下步骤:获取并打包进程信息,并绑定服务器生成的本地套接字文件地址;通过所述本地套接字文件地址将所述进程信息发送至所述服务器,并等待所述服务器的应答...

【专利技术属性】
技术研发人员:蔡高磊邱烽林滕俐军肖存峰陈桂耀梁鼎铭冯智强孙子恒
申请(专利权)人:深圳融安网络科技有限公司
类型:发明
国别省市:

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

1