首页 / 专利库 / 软件 / 操作系统 / 进程 / 子进程 / 一种基于字节流的进程间通讯方法

一种基于字节流的进程间通讯方法

阅读:798发布:2024-01-11

专利汇可以提供一种基于字节流的进程间通讯方法专利检索,专利查询,专利分析的服务。并且一种基于字节流的 进程 间通讯方法,将系统中的核心进程创建为UnixSocket的 服务器 端,用于总体接收、协调、发送系统中各个进程产生的通信需求;将系统中的单个 子进程 创建为UnixSocket的客户端;所述的客户端作为发送进程时,首先对待发送的信息包进行字节化处理,然后通过和服务器建立的链接将信息包推送到核心进程;由核心进程根据信息字节流的字节长度、信息目的及信息体,将该信息包发送至目的进程中。本 发明 实现了消息的集中管理。另外,过程中对于不同的进程可能存在的状态有:就绪、死亡、等待等不同的运行状态。服务器对暂时不能 送达 的消息进行保存,等待客户端进入运行状态后将信息进行推送,实现了离线信息保存的功能。,下面是一种基于字节流的进程间通讯方法专利的具体信息内容。

1.一种基于字节流的进程间通讯方法,其特征在于:将系统中的核心进程创建为Unix Socket的服务器端,用于总体接收、协调、发送系统中各个进程产生的通信需求;将系统中的单个子进程创建为Unix Socket的客户端;所述的客户端作为发送进程时,首先对待发送的信息包进行字节化处理,然后通过和服务器建立的链接将信息包推送到核心进程;由核心进程根据信息字节流的字节长度、信息目的及信息体,将该信息包发送至目的进程中。
2.根据权利要求1所述的基于字节流的进程间通讯方法,其特征在于:所述的目的进程接收到信息包后,首先判断是否属于自己的信息包;若属于该目的进程的信息包,则发送回复信息,所述的回复信息先通过字节化处理后被推送到核心进程,再由核心进程转发给发送进程;若不属于该目的进程的信息包,则将该信息包推送给服务器。
3.根据权利要求1所述的基于字节流的进程间通讯方法,其特征在于:所述发送进程将信息包推送给服务器后,服务器搜索不到该信息包的目的进程时,服务器对该信息包进行保存;直至服务器搜索到目的进程后,将该信息包推送下去。
4.根据权利要求3所述的基于字节流的进程间通讯方法,其特征在于:服务器搜索超时后,服务器仍然搜索不到信息包的目的进程,则抛弃该信息包。

说明书全文

一种基于字节流的进程间通讯方法

技术领域

[0001] 本发明涉及一种多进程间的通信技术。

背景技术

[0002] 目前,Socket通讯技术在Linux中得到最广泛的应用。原有的IPC通讯技术在很大程度上逐渐退出开发舞台,尤其是Java技术的兴起更使的情况更为微妙。使得Socket优势逐步凸显,占据整个软件开发应用领域的绝对主流地位。其设计和应用思想,更加符合人们的开发习惯。
[0003] 另外基于系统自身的Unix Socket通讯更是得到了最广泛的认可。主流的数据库、图形界面等都基于这种途径进行使用。

发明内容

[0004] 本发明的目的在于:A:实现基于Unix Socket的多进程通讯,实现关联进程间的信息。B:实现所有消息的集中管理,即所有的消息都经过中心。中心对消息的最终目的进行选择,并对消息的类型进行过滤。C:实现消息的离线保存,当消息的接收方上线后再发送该消息给接收者。
[0005] 为实现上述目的,本发明采用以下技术方案:本发明将系统中的核心进程创建为Unix Socket的服务器端,用于总体接收、协调、发送系统中各个进程产生的通信需求;将系统中的单个子进程创建为Unix Socket的客户端;所述的客户端作为发送进程时,首先对待发送的信息包进行字节化处理,然后通过和服务器建立的链接将信息包推送到核心进程;由核心进程根据信息字节流的字节长度、信息目的及信息体,将该信息包发送至目的进程中。
[0006] 所述的目的进程接收到信息包后,首先判断是否属于自己的信息包;若属于该目的进程的信息包,则发送回复信息,所述的回复信息先通过字节化处理后被推送到核心进程,再由核心进程转发给发送进程;若不属于该目的进程的信息包,则将该信息包推送给服务器。
[0007] 所述发送进程将信息包推送给服务器后,服务器搜索不到该信息包的目的进程时,服务器对该信息包进行保存;直至服务器搜索到目的进程后,将该信息包推送下去。
[0008] 服务器搜索超时后,服务器仍然搜索不到信息包的目的进程,则抛弃该信息包。
[0009] 采用上述技术方案的本发明,将系统中的核心进程创建为Unix Socket的服务器端,将系统中的单个子进程创建为Unix Socket的客户端,由服务器端实现对客户端信息接收和对目的Client信息的发送。其中反向的客户端对处理结果的返回使用同样流程,从而实现了消息的集中管理。另外,过程中对于不同的进程可能存在的状态有:就绪、死亡、等待等不同的运行状态。服务器对暂时不能送达的消息进行保存,等待客户端进入运行状态后将信息进行推送,实现了离线信息保存的功能。附图说明
[0010] 图1为本发明的通信流程图

具体实施方式

[0011] 本发明的核心思想在于:将系统中的核心进程创建为Unix Socket的服务器端,用于总体接收、协调、发送系统中各个进程产生的通信需求;将系统中的单个子进程创建为Unix Socket的客户端。客户端作为发送进程时,首先对待发送的信息包进行字节化处理,然后通过和服务器建立的链接将信息包推送到核心进程;由核心进程根据信息字节流的字节长度、信息目的及信息体,将该信息包发送至目的进程中。
[0012] 如图1所示,本发明主要分为一下几大部分:通讯的建立、消息的组织与发送、服务端消息接收分析与转发、服务端消息的保存、客户端消息的接收。
[0013] 通讯的建立:服务器端绑定建立一个以sock path标识的Unix Socket的服务端,客户端建立这个Unix Socket的客户端。客户端接入服务端,完成通讯的建立服务器为接入的客户端分配唯一的id。客户端在和服务断开连接后,客户端接入的这个过程需要重新进行。同样服务在异常后也需要重新进行服务的这个流程。
[0014] 消息的组织与发送:发送进程将待发送的消息打上标签,然后附上消息内容。即在消息的头部增加消息的目的id、接收id,协议的版本、类型及数据长度。因为整体的消息是按照字节流发送的,所以必须要有数据长度。其中,使用的id为客户端接入服务时分配的id。
[0015] 服务端消息接收分析与转发:服务端接收到消息后,首先根据数据长度获取完整的通讯消息。然后根据消息的类型识别消息的处理流程。最好根据目的id判断该消息是否进入保存流程或者直接进行发送。
[0016] 服务端消息的保存:服务端在进行数据发送前,先根据通讯消息携带的目的id搜索该消息的目的进程。如果找不到目的进程,或者目的进程不在线,就认为这是一条需要保存的消息,等待该目的进程的设备上线后将该消息推送下去。如果超时后该目的进程还没有上线,就抛弃该消息。消息的最大保留条目为10Byte或者1KB内容。
[0017] 客户端消息的接收:目的进程根据通讯消息的长度,对消息进行完整接收后。对目的id进行比对,如果是自己的消息就处理。如果非自己的消息重新将消息推送会服务器端。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈