CN104268025B - 一种进程间通信的方法及系统、服务器 - Google Patents
一种进程间通信的方法及系统、服务器 Download PDFInfo
- Publication number
- CN104268025B CN104268025B CN201410522347.2A CN201410522347A CN104268025B CN 104268025 B CN104268025 B CN 104268025B CN 201410522347 A CN201410522347 A CN 201410522347A CN 104268025 B CN104268025 B CN 104268025B
- Authority
- CN
- China
- Prior art keywords
- interface
- server end
- calling
- interprocess communication
- client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Telephonic Communication Services (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例公开一种进程间通信的方法、系统及服务器,涉及进程间通信技术领域,为提高使用进程间通信的便利性而发明。进程间通信的方法包括:服务器端启动进程间通信接口,建立进程间通信管道服务,监听与所述服务器端的连接请求;客户端向服务器端发送调用接口请求;服务器端根据客户端的调用接口请求,调用与客户端需要调用的接口相对应的方法。进程间通信的系统,包括服务器端与客户端,服务器端用于启动进程间通信接口,建立进程间通信管道服务,监听与所述服务器端的连接请求;根据客户端的调用接口请求,调用与所述客户端需要调用的接口相对应的方法;客户端向所述服务器端发送调用接口请求。本发明适用于进程间的通信的场合。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种进程间通信的方法及系统、服务器。
背景技术
进程是计算机系统分配资源的最小单位。每个进程都有自己的一部分独立的系统资源,彼此是隔离的。为了能使不同的进程互相访问资源并进行协调工作,就有了进程间通信(Inter-Process Communication,IPC)。所谓IPC通信就是指进程间的信息传播或交换。
传统的IPC方式主要是根据功能划分进行单独定义,而且大多就是通过Socket套接字进行简单封装,并未做良好的封装,整个发送和接收数据的过程较简单,并且数据格式比较混乱,导致使用起来很大的不便。
发明内容
有鉴于此,本发明实施例提供一种进程间通信的方法及系统、服务器,能提高使用IPC的便利性。
为达到上述目的,本发明的实施例采用如下技术方案:
一方面,本发明实施例提供了一种进程间通信的方法,应用于服务器端与客户端,所述方法包括:服务器端启动进程间通信接口,建立进程间通信管道服务,监听与所述服务器端的连接请求;所述客户端向所述服务器端发送调用接口请求;所述服务器端根据所述客户端的调用接口请求,调用与所述客户端需要调用的接口相对应的方法。
可选地,本发明进程间通信的方法一实施例中,在所述服务器端启动进程间通信接口,建立进程间通信管道服务,监听与所述服务器端的连接请求之前,所述方法还可以包括:在服务器端设定提供给外界调用的接口函数,定义调用接口的具体实现,并进行接口注册。
可选地,所述在服务器端设定提供给外界调用的接口函数,定义调用接口的具体实现,并进行接口注册,可以包括:在服务器端定义进程间通信过程方法函数,定义进程间通信实例对象,并注册进程间通信过程。
可选地,本发明进程间通信的方法一实施例中,所述方法还可以包括:所述服务器端将已经注册的接口信息写入到所述服务器端的共享内存中。
可选地,本发明进程间通信的方法一实施例中,所述客户端向所述服务器端发送调用接口请求,包括:所述客户端将请求的数据进行格式化处理,并进行加密后,通过命名管道传输到服务器端;其中所述请求的数据包括要调用的接口名称和/或方法名称。
可选地,所述服务器端根据所述客户端的调用接口请求,调用与所述客户端需要调用的接口相对应的方法,包括:所述服务器端根据所述客户端的调用接口请求,对请求的数据进行解密校验,解析出要调用的具体的接口名称;所述服务器端根据解析出的所述接口名称,在保存的相关接口信息中查找与解析出的所述接口名称相对应的方法,然后调用解析出的所述接口名称相对应的方法;或者所述服务器端根据所述客户端的调用接口请求,对请求的数据进行解密校验,解析出具体要调用的方法名称;所述服务器端根据解析出的所述方法名称,调用相对应的方法。
可选地,所述请求的数据还包括调用参数。
可选地,所述的方法,还包括:所述服务器端监听预先指定的关注事件;当监听到所述预先指定的关注事件被触发后,调用指定的回调函数。
可选地,所述的方法,还包括:在所述进程间通信接口内添加进程间通信方法;和/或在所述进程间通信接口不可用时,对所述进程间通信接口进行自动修复。
可选地,所述的方法,还包括:通过进程间通信辅助工具打印输出当前所有的接口列表信息以及关注事件列表,并且显示出了当前所有的接口列表信息以及关注事件列表的状态。
本发明实施例进程间通信的方法,服务器端只需要实现IPC方法,注册接口信息并开启服务,客户端即可调用相应的接口,步骤简单,能提高使用IPC的便利性。
另一方面,本发明实施例提供另一种进程间通信的方法,应用于与客户端通信连接的服务器端,所述方法包括:启动进程间通信接口,建立进程间通信管道服务,监听与所述服务器端的连接请求;接收客户端发送的调用接口请求;根据所述客户端的调用接口请求,调用与所述客户端需要调用的接口相对应的方法。
可选地,在所述服务器端启动进程间通信接口,建立进程间通信管道服务,监听与所述服务器端的连接请求之前,所述方法还包括:设定提供给外界调用的接口函数,定义调用接口的具体实现,并进行接口注册。
可选地,所述设定提供给外界调用的接口函数,定义调用接口的具体实现,并进行接口注册,包括:定义进程间通信过程方法函数,定义进程间通信实例对象,并注册进程间通信过程。
可选地,所述方法还包括:将已经注册的接口信息写入共享内存中。
可选地,所述根据所述客户端的调用接口请求,调用与所述客户端需要调用的接口相对应的方法,包括:根据所述客户端的调用接口请求,对请求的数据进行解密校验,解析出要调用的具体的接口名称;根据解析出的所述接口名称,在保存的相关接口信息中查找与解析出的所述接口名称相对应的方法,然后调用解析出的所述接口名称相对应的方法;或者根据所述客户端的调用接口请求,对请求的数据进行解密校验,解析出具体要调用的方法名称;所述服务器端根据解析出的所述方法名称,调用相对应的方法。
可选地,所述请求的数据还包括调用参数。
可选地,所述的方法,还包括:监听预先指定的关注事件;当监听到所述预先指定的关注事件被触发后,调用指定的回调函数。
可选地,所述的方法,还包括:在所述进程间通信接口内添加进程间通信方法;和/或在所述进程间通信接口不可用时,对所述进程间通信接口进行自动修复。
可选地,所述的方法,还包括:通过进程间通信辅助工具打印输出当前所有的接口列表信息以及关注事件列表,并且显示出了当前所有的接口列表信息以及关注事件列表的状态。
本发明实施例进程间通信的方法,服务器端只需要实现IPC方法,注册接口信息并开启服务,客户端即可调用相应的接口,步骤简单,能提高使用IPC的便利性。
再一方面,本发明实施例提供一种进程间通信的系统,所述系统包括服务器端与客户端,其中,所述服务器端,用于启动进程间通信接口,建立进程间通信管道服务,监听与所述服务器端的连接请求;根据客户端的调用接口请求,调用与所述客户端需要调用的接口相对应的方法;所述客户端,用于向所述服务器端发送调用接口请求。
可选地,所述服务器端包括:接口设定模块,用于设定提供给外界调用的接口函数;接口实现模块,用于定义调用接口的具体实现;接口注册模块,用于进行接口注册。
可选地,所述服务器端还包括:写入模块,用于将已经注册的接口信息写入到所述服务器端的共享内存中。
可选地,所述客户端包括:数据处理模块,用于将请求的数据进行格式化处理,并进行加密;请求发送模块,用于通过命名管道将格式化处理及进行加密后的请求数据传输到服务器端;其中所述请求的数据包括要调用的接口名称和/或方法名称。
可选地,所述服务器端包括:解析模块,用于根据所述客户端的调用接口请求,对请求的数据进行解密校验,解析出要调用的具体的接口名称;查找模块,用于根据解析出的所述接口名称,在保存的相关接口信息中查找与解析出的所述接口名称相对应的方法;调用模块,用于调用解析出的所述接口名称相对应的方法;或者
所述服务器端包括:解析模块,用于根据所述客户端的调用接口请求,对请求的数据进行解密校验,解析出具体要调用的方法名称;调用模块,用于根据解析出的所述方法名称,调用相对应的方法。
可选地,所述请求的数据还包括调用参数。
可选地,所述服务器端还包括:关注事件监听模块,用于监听预先指定的关注事件;回调函数调用模块,用于当关注事件监听模块监听到所述预先指定的关注事件被触发后,调用指定的回调函数。
可选地,所述服务器端还包括:添加模块,用于在所述进程间通信接口内添加进程间通信方法;和/或自动修复模块,用于在所述进程间通信接口不可用时,对所述进程间通信接口进行自动修复。
可选地,所述服务器端还包括:打印输出模块,用于通过进程间通信辅助工具打印输出当前所有的接口列表信息以及关注事件列表,并且显示出了当前所有的接口列表信息以及关注事件列表的状态。
本发明实施例进程间通信的系统,服务器端只需要实现IPC方法,注册接口信息并开启服务,客户端即可调用相应的接口,步骤简单,能提高使用IPC的便利性。
再一方面,本发明实施例提供一种服务器,包括:接口启动模块,用于启动进程间通信接口;管道建立模块,用于建立进程间通信管道服务;监听模块,用于监听与所述服务器端的连接请求;调用模块,用于根据客户端的调用接口请求,调用与所述客户端需要调用的接口相对应的方法。
可选地,所述的服务器,还包括:接口设定模块,用于设定提供给外界调用的接口函数;接口实现模块,用于定义调用接口的具体实现;接口注册模块,用于进行接口注册。
可选地,所述的服务器,还包括:写入模块,用于将已经注册的接口信息写入到所述服务器端的共享内存中。
可选地,所述调用模块包括:解析子模块,用于根据所述客户端的调用接口请求,对请求的数据进行解密校验,解析出要调用的具体的接口名称;查找子模块,用于根据解析出的所述接口名称,在保存的相关接口信息中查找与解析出的所述接口名称相对应的方法;调用子模块,用于调用解析出的所述接口名称相对应的方法;或者
所述调用模块包括:
解析子模块,用于根据所述客户端的调用接口请求,对请求的数据进行解密校验,解析出具体要调用的方法名称;调用子模块,用于根据解析出的所述方法名称,调用相对应的方法。
可选地,所述请求的数据还包括调用参数。
可选地,所述的服务器,还包括:关注事件监听模块,用于监听预先指定的关注事件;回调函数调用模块,用于当关注事件监听模块监听到所述预先指定的关注事件被触发后,调用指定的回调函数。
可选地,所述的服务器,还包括:添加模块,用于在所述进程间通信接口内添加进程间通信方法;和/或自动修复模块,用于在所述进程间通信接口不可用时,对所述进程间通信接口进行自动修复。
可选地,所述的服务器,还包括:打印输出模块,用于通过进程间通信辅助工具打印输出当前所有的接口列表信息以及关注事件列表,并且显示出了当前所有的接口列表信息以及关注事件列表的状态。
本发明实施例提供的服务器,只需要实现IPC方法,注册接口信息并开启服务,客户端即可调用相应的接口,步骤简单,能提高使用IPC的便利性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明一种进程间通信的方法实施例的流程示意图;
图2为本发明另一种进程间通信的方法实施例的流程示意图;
图3为本发明一种进程间通信的系统实施例的结构示意图;
图4为本发明一种服务器实施例的结构示意图。
具体实施方式
下面结合附图对本发明实施例一种进程间通信的方法及系统、服务器进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
参看图1,本发明具体实施例提供了一种进程间通信的方法,应用于服务器端与客户端,所述方法包括:
S11、服务器端启动进程间通信接口,建立进程间通信管道服务,监听与所述服务器端的连接请求;
S12、客户端向所述服务器端发送调用接口请求;
S13、所述服务器端根据所述客户端的调用接口请求,调用与所述客户端需要调用的接口相对应的方法。
本发明实施例进程间通信的方法,服务器端只需要实现IPC方法,注册接口信息并开启服务,客户端即可调用相应的接口,步骤简单,能提高使用IPC的便利性。
以下将对本发明实施例所提供的一种进程间通信的方法进行详细说明。
步骤S11、服务器端启动进程间通信接口,建立进程间通信管道服务,监听与所述服务器端的连接请求。
在本实施方式中,管道是进程间通信(Inter-Process Communication,IPC)的方式之一,管道可以分为匿名管道和命名管道,管道主要用于数据的读出和写入,一个进程向管道中写的内容被管道另一端的进程读出。在本实施方式中,服务器端与客户端通过管道进行通信,通过一条或者多条管道来实现服务器端与一个或者多个客户端之间的通信连接。
在本实施方式中,接口泛指实体把自己提供给外界的一种抽象化物(或者可以为另一实体),用以由内部操作分离出外部沟通方法,使其能被修改内部而不影响外界其他实体与其交互的方式,即对协定进行定义的引用类型。在本实施方式中,与接口相对应的调用方法一般是存储在服务器端的共享内存中以方便进行调用。
步骤S12、所述客户端向所述服务器端发送调用接口请求。
在本实施方式中,所述客户端将请求的数据按照所述进程间通信接口指定的格式进行格式化处理,并进行加密后,通过命名管道传输到服务器端;其中所述请求的数据包括要调用的接口名称和/或方法名称。可选地,所述请求的数据还可包括调用参数。
所述客户端将请求的数据按照所述进程间通信接口指定的格式进行格式化处理,使得发送的数据格式比较统一,便于数据接收后的处理。
步骤S13、所述服务器端根据所述客户端的调用接口请求,调用与所述客户端需要调用的接口相对应的方法。
本步骤中,所述服务器端根据所述客户端的调用接口请求,调用与所述客户端需要调用的接口相对应的方法,包括:
所述服务器端根据所述客户端的调用接口请求,对请求的数据进行解密校验,解析出要调用的具体的接口名称;所述服务器端根据解析出的所述接口名称,在保存的相关接口信息中,比如在服务器端的共享内存中保存的相关接口信息中,查找与解析出的所述接口名称相对应的方法,然后调用解析出的所述接口名称相对应的方法;或者
所述服务器端根据所述客户端的调用接口请求,对请求的数据进行解密校验,解析出具体要调用的方法名称;所述服务器端根据解析出的所述方法名称,调用相对应的方法。
可选地,本发明进程间通信的方法一实施例中,在所述服务器端启动进程间通信接口,建立进程间通信管道服务,监听与所述服务器端的连接请求之前,所述方法还可包括:在服务器端设定提供给外界调用的接口函数,定义调用接口的具体实现,并进行接口注册。
本实施方式中,基于接口定义提供给外界访问的IPC方法,这样客户端在进行接口调用时更加方便,明确,只需指定接口名字,即可调用接口中提供的IPC方法。
进一步地,所述在服务器端设定提供给外界调用的接口函数,定义调用接口的具体实现,并进行接口注册,可以包括:在服务器端定义进程间通信过程方法函数,定义进程间通信实例对象,并注册进程间通信过程。
可选地,本发明进程间通信的方法一实施例中,所述方法还可以包括:所述服务器端将已经注册的接口信息写入到所述服务器端的共享内存中。
在本实施方式中,该服务器端共享内存中可存储有多个接口以及分别相对应的多个IPC调用方法,这种对应关系既可以是一一对应的关系,即一个接口对应一个IPC调用方法,也可以是多对一的对应关系,即多个接口对应一个IPC调用方法,当然还可以是其他的对应方式,在此不做限定。
可选地,本发明进程间通信的方法一实施例中,所述的方法,还包括:所述服务器端监听预先指定的关注事件;当监听到所述预先指定的关注事件被触发后,调用指定的回调函数。
可选地,本发明进程间通信的方法一实施例中,所述的方法,还包括:在所述进程间通信接口内添加进程间通信方法;和/或在所述进程间通信接口不可用时,对所述进程间通信接口进行自动修复。本实施方式中,可选地,在所述服务器端根据所述客户端的调用接口请求,调用与所述客户端需要调用的接口相对应的方法失败时,可以利用接口修复库中的相应接口对所述接口进行自动修复。
可选地,本发明进程间通信的方法一实施例中,所述的方法,还包括:通过进程间通信辅助工具如easyipc_watch.exe打印输出当前所有的接口列表信息以及关注事件列表,并且显示出了当前所有的接口列表信息以及关注事件列表的状态。
参看图2,本发明实施例还提供另一种进程间通信的方法,应用于与客户端通信连接的服务器端,所述方法包括:
S21、启动进程间通信接口,建立进程间通信管道服务,监听与所述服务器端的连接请求;
S22、接收客户端发送的调用接口请求;
S23、根据所述客户端的调用接口请求,调用与所述客户端需要调用的接口相对应的方法。
本发明实施例进程间通信的方法,服务器端只需要实现IPC方法,注册接口信息并开启服务,客户端即可调用相应的接口,步骤简单,能提高使用IPC的便利性。
以下将对本发明实施例所提供的另一种进程间通信的方法进行详细说明。
步骤S21,启动进程间通信接口,建立进程间通信管道服务,监听与所述服务器端的连接请求。
在本实施方式中,管道是进程间通信(Inter-Process Communication,IPC)的方式之一,管道可以分为匿名管道和命名管道,管道主要用于数据的读出和写入,一个进程向管道中写的内容被管道另一端的进程读出。在本实施方式中,服务器端与客户端通过管道进行通信,通过一条或者多条管道来实现服务器端与一个或者多个客户端之间的通信连接,
在本实施方式中,接口泛指实体把自己提供给外界的一种抽象化物(或者可以为另一实体),用以由内部操作分离出外部沟通方法,使其能被修改内部而不影响外界其他实体与其交互的方式,即对协定进行定义的引用类型。
步骤S22、接收客户端发送的调用接口请求。
在本实施方式中,所述客户端将请求的数据按照所述进程间通信接口指定的格式进行格式化处理,并进行加密后,通过命名管道传输到服务器端;其中所述请求的数据包括要调用的接口名称和/或方法名称。可选地,所述请求的数据还可包括调用参数。
所述客户端将请求的数据按照所述进程间通信接口指定的格式进行格式化处理,使得发送的数据格式比较统一,便于数据接收后的处理。
步骤S23、根据所述客户端的调用接口请求,调用与所述客户端需要调用的接口相对应的方法。
本步骤中,所述根据所述客户端的调用接口请求,调用与所述客户端需要调用的接口相对应的方法,包括:根据所述客户端的调用接口请求,对请求的数据进行解密校验,解析出要调用的具体的接口名称;根据解析出的所述接口名称,在保存的相关接口信息中查找与解析出的所述接口名称相对应的方法,然后调用解析出的所述接口名称相对应的方法;或者
根据所述客户端的调用接口请求,对请求的数据进行解密校验,解析出具体要调用的方法名称;所述服务器端根据解析出的所述方法名称,调用相对应的方法。
本步骤中,可选地,所述请求的数据还可包括调用参数。
可选地,本发明进程间通信的方法一实施例中,在所述服务器端启动进程间通信接口,建立进程间通信管道服务,监听与所述服务器端的连接请求(S21)之前,所述方法还包括:设定提供给外界调用的接口函数,定义调用接口的具体实现,并进行接口注册。
本实施方式中,基于接口定义提供给外界访问的IPC方法,这样客户端在进行接口调用时更加方便,明确,只需指定接口名字,即可调用接口中提供的IPC方法。
进一步地,所述设定提供给外界调用的接口函数,定义调用接口的具体实现,并进行接口注册,包括:定义进程间通信过程方法函数,定义进程间通信实例对象,并注册进程间通信过程。
可选地,本发明进程间通信的方法一实施例中,所述方法还包括:将已经注册的接口信息写入共享内存中。
在本实施方式中,该服务器端共享内存中可存储有多个接口以及分别相对应的多个IPC调用方法,这种对应关系既可以是一一对应的关系,即一个接口对应一个IPC调用方法,也可以是多对一的对应关系,即多个接口对应一个IPC调用方法,当然还可以是其他的对应方式,在此不做限定。
可选地,本发明进程间通信的方法一实施例中,所述的方法,还包括:监听预先指定的关注事件;当监听到所述预先指定的关注事件被触发后,调用指定的回调函数。
可选地,本发明进程间通信的方法一实施例中,所述的方法,还包括:在所述进程间通信接口内添加进程间通信方法;和/或在所述进程间通信接口不可用时,对所述进程间通信接口进行自动修复。本实施方式中,可选地,在所述服务器端根据所述客户端的调用接口请求,调用与所述客户端需要调用的接口相对应的方法失败时,可以利用接口修复库中的相应接口对所述接口进行自动修复。
可选地,本发明进程间通信的方法一实施例中,所述的方法,还包括:通过进程间通信辅助工具如easyipc_watch.exe打印输出当前所有的接口列表信息以及关注事件列表,并且显示出了当前所有的接口列表信息以及关注事件列表的状态。
参看图3,本发明实施例还提供一种进程间通信的系统,所述系统包括服务器端11与客户端12,其中,所述服务器端11,用于启动进程间通信接口,建立进程间通信管道服务,监听与所述服务器端的连接请求;根据客户端的调用接口请求,调用与所述客户端需要调用的接口相对应的方法;所述客户端12,用于向所述服务器端发送调用接口请求。
本发明实施例进程间通信的系统,服务器端只需要实现IPC方法,注册接口信息并开启服务,客户端即可调用相应的接口,步骤简单,能提高使用IPC的便利性。
下面对本发明进程间通信的系统实施例中的服务器端与客户端分别进行详细说明。
可选地,本发明进程间通信的系统一实施例,所述服务器端可以包括:接口设定模块,用于设定提供给外界调用的接口函数;接口实现模块,用于定义调用接口的具体实现;接口注册模块,用于进行接口注册。
本实施方式中,基于接口定义提供给外界访问的IPC方法,这样客户端在进行接口调用时更加方便,明确,只需指定接口名字,即可调用接口中提供的IPC方法。
此外,本实施方式中,只需要调用方和被调用方确定接口定义,并可任意添加IPC方法,内部不需要关注,可以快速的移植到其他程序,具有更广阔的用途。
可选地,本发明进程间通信的系统一实施例,所述服务器端还可以包括:写入模块,用于将已经注册的接口信息写入到所述服务器端的共享内存中。
可选地,本发明进程间通信的系统一实施例,所述服务器端还可以包括:关注事件监听模块,用于监听预先指定的关注事件;回调函数调用模块,用于当关注事件监听模块监听到所述预先指定的关注事件被触发后,调用指定的回调函数。
可选地,本发明进程间通信的系统一实施例,所述服务器端还可以包括:添加模块,用于在所述进程间通信接口内添加进程间通信方法;和/或自动修复模块,用于在所述进程间通信接口不可用时,对所述进程间通信接口进行自动修复。
可选地,本发明进程间通信的系统一实施例,所述服务器端还可以包括:打印输出模块,用于通过进程间通信辅助工具打印输出当前所有的接口列表信息以及关注事件列表,并且显示出了当前所有的接口列表信息以及关注事件列表的状态。
可选地,本发明进程间通信的系统一实施例,所述客户端可以包括:数据处理模块,用于将请求的数据进行格式化处理,并进行加密;请求发送模块,用于通过命名管道将格式化处理及进行加密后的请求数据传输到服务器端;其中所述请求的数据包括要调用的接口名称和/或方法名称。
相应地,所述服务器端可以包括:解析模块,用于根据所述客户端的调用接口请求,对请求的数据进行解密校验,解析出要调用的具体的接口名称;查找模块,用于根据解析出的所述接口名称,在保存的相关接口信息中查找与解析出的所述接口名称相对应的方法;调用模块,用于调用解析出的所述接口名称相对应的方法;或者
所述服务器端也可以包括:
解析模块,用于根据所述客户端的调用接口请求,对请求的数据进行解密校验,解析出具体要调用的方法名称;调用模块,用于根据解析出的所述方法名称,调用相对应的方法。
其中,所述请求的数据还可以包括调用参数。
参看图4,本发明实施例还提供一种服务器,包括:接口启动模块21,用于启动进程间通信接口;管道建立模块22,用于建立进程间通信管道服务;监听模块23,用于监听与所述服务器端的连接请求;调用模块34,用于根据客户端的调用接口请求,调用与所述客户端需要调用的接口相对应的方法。
在本实施方式中,接口泛指实体把自己提供给外界的一种抽象化物(或者可以为另一实体),用以由内部操作分离出外部沟通方法,使其能被修改内部而不影响外界其他实体与其交互的方式,即对协定进行定义的引用类型。
在本实施方式中,管道是进程间通信(Inter-Process Communication,IPC)的方式之一,管道可以分为匿名管道和命名管道,管道主要用于数据的读出和写入,一个进程向管道中写的内容被管道另一端的进程读出。在本实施方式中,服务器端与客户端通过管道进行通信,通过一条或者多条管道来实现服务器端与一个或者多个客户端之间的通信连接。
本发明实施例提供的服务器,只需要实现IPC方法,注册接口信息并开启服务,客户端即可调用相应的接口,步骤简单,能提高使用IPC的便利性。
可选地,本发明服务器一实施例,所述调用模块可以包括:解析子模块,用于根据所述客户端的调用接口请求,对请求的数据进行解密校验,解析出要调用的具体的接口名称;查找子模块,用于根据解析出的所述接口名称,在保存的相关接口信息中查找与解析出的所述接口名称相对应的方法;调用子模块,用于调用解析出的所述接口名称相对应的方法;或者
所述调用模块可以包括:
解析子模块,用于根据所述客户端的调用接口请求,对请求的数据进行解密校验,解析出具体要调用的方法名称;调用子模块,用于根据解析出的所述方法名称,调用相对应的方法。
本实施方式中,所述请求的数据还包括调用参数。
可选地,本发明服务器一实施例,所述服务器还可以包括:关注事件监听模块,用于监听预先指定的关注事件;回调函数调用模块,用于当关注事件监听模块监听到所述预先指定的关注事件被触发后,调用指定的回调函数。
可选地,本发明服务器一实施例,所述服务器还可以包括:添加模块,用于在所述进程间通信接口内添加进程间通信方法;和/或自动修复模块,用于在所述进程间通信接口不可用时,对所述进程间通信接口进行自动修复。
可选地,本发明服务器一实施例,所述服务器还可以包括:打印输出模块,用于通过进程间通信辅助工具打印输出当前所有的接口列表信息以及关注事件列表,并且显示出了当前所有的接口列表信息以及关注事件列表的状态。
可选地,本发明服务器一实施例,所述服务器还可以包括:接口设定模块,用于设定提供给外界调用的接口函数;接口实现模块,用于定义调用接口的具体实现;接口注册模块,用于进行接口注册。
本实施方式中,基于接口定义提供给外界访问的IPC方法,这样客户端在进行接口调用时更加方便,明确,只需指定接口名字,即可调用接口中提供的IPC方法。
可选地,本发明服务器一实施例,所述服务器还可以包括:写入模块,用于将已经注册的接口信息写入到所述服务器端的共享内存中。
本发明各实施方式中,服务器端只需要实现IPC方法,注册接口信息并开启服务,客户端即可调用相应的接口,步骤简单,能提高使用IPC的便利性。
此外,本发明各实施方式中,基于接口定义提供给外界访问的IPC方法,这样客户端在进行接口调用时更加方便,明确,只需指定接口名字,即可调用接口中提供的IPC方法。
再者,本发明各实施方式中,只需要调用方和被调用方确定接口定义,并可任意添加IPC方法,内部不需要关注,可以快速的移植到其他程序。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (23)
1.一种进程间通信的方法,应用于服务器端与客户端,其特征在于,所述方法包括:
服务器端启动进程间通信接口,建立进程间通信管道服务,监听与所述服务器端的连接请求;
客户端向所述服务器端发送调用接口请求;
所述服务器端根据所述客户端的调用接口请求,调用与所述客户端需要调用的接口相对应的方法,包括:
所述服务器端根据所述客户端的调用接口请求,对请求的数据进行解密校验,解析出要调用的具体的接口名称;所述服务器端根据解析出的所述接口名称,在共享内存中保存的相关接口信息中查找与解析出的所述接口名称相对应的方法,然后调用解析出的所述接口名称相对应的方法;
在所述进程间通信接口内添加进程间通信方法;和/或
在所述进程间通信接口不可用时,对所述进程间通信接口进行自动修复;
在所述服务器端启动进程间通信接口,建立进程间通信管道服务,监听与所述服务器端的连接请求之前,所述方法还包括:
在服务器端设定提供给外界调用的接口函数,定义调用接口的具体实现,并进行接口注册;
所述在服务器端设定提供给外界调用的接口函数,定义调用接口的具体实现,并进行接口注册,包括:
在服务器端定义进程间通信过程方法函数,定义进程间通信实例对象,并注册进程间通信过程。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述服务器端将已经注册的接口信息写入到所述服务器端的共享内存中。
3.根据权利要求1至2任一项所述的方法,其特征在于,
所述客户端向所述服务器端发送调用接口请求,包括:
所述客户端将请求的数据进行格式化处理,并进行加密后,通过命名管道传输到服务器端;其中所述请求的数据包括要调用的接口名称和/或方法名称。
4.根据权利要求1所述的方法,其特征在于,所述请求的数据还包括调用参数。
5.根据权利要求1至2、4任一项所述的方法,其特征在于,还包括:
所述服务器端监听预先指定的关注事件;
当监听到所述预先指定的关注事件被触发后,调用指定的回调函数。
6.根据权利要求1至2、4任一项所述的方法,其特征在于,还包括:
通过进程间通信辅助工具打印输出当前所有的接口列表信息以及关注事件列表,并且显示出了当前所有的接口列表信息以及关注事件列表的状态。
7.一种进程间通信的方法,应用于与客户端通信连接的服务器端,其特征在于,所述方法包括:
启动进程间通信接口,建立进程间通信管道服务,监听与所述服务器端的连接请求;
接收客户端发送的调用接口请求;
根据所述客户端的调用接口请求,调用与所述客户端需要调用的接口相对应的方法,包括:
根据所述客户端的调用接口请求,对请求的数据进行解密校验,解析出要调用的具体的接口名称;根据解析出的所述接口名称,在保存的相关接口信息中查找与解析出的所述接口名称相对应的方法,然后调用解析出的所述接口名称相对应的方法;
在所述进程间通信接口内添加进程间通信方法;和/或
在所述进程间通信接口不可用时,对所述进程间通信接口进行自动修复;
在所述服务器端启动进程间通信接口,建立进程间通信管道服务,监听与所述服务器端的连接请求之前,所述方法还包括:
设定提供给外界调用的接口函数,定义调用接口的具体实现,并进行接口注册;
所述设定提供给外界调用的接口函数,定义调用接口的具体实现,并进行接口注册,包括:
定义进程间通信过程方法函数,定义进程间通信实例对象,并注册进程间通信过程。
8.根据权利要求7所述的方法,其特征在于,所述设定提供给外界调用的接口函数,定义调用接口的具体实现,并进行接口注册,包括:
定义进程间通信过程方法函数,定义进程间通信实例对象,并注册进程间通信过程。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
将已经注册的接口信息写入共享内存中。
10.根据权利要求7所述的方法,其特征在于,所述请求的数据还包括调用参数。
11.根据权利要求7至10任一项所述的方法,其特征在于,还包括:
监听预先指定的关注事件;
当监听到所述预先指定的关注事件被触发后,调用指定的回调函数。
12.根据权利要求7至10任一项所述的方法,其特征在于,还包括:
通过进程间通信辅助工具打印输出当前所有的接口列表信息以及关注事件列表,并且显示出了当前所有的接口列表信息以及关注事件列表的状态。
13.一种进程间通信的系统,其特征在于,所述系统包括服务器端与客户端,其中,
所述服务器端,用于启动进程间通信接口,建立进程间通信管道服务,监听与所述服务器端的连接请求;根据客户端的调用接口请求,调用与所述客户端需要调用的接口相对应的方法;
所述客户端,用于向所述服务器端发送调用接口请求;
所述服务器端包括:
解析模块,用于根据所述客户端的调用接口请求,对请求的数据进行解密校验,解析出要调用的具体的接口名称;查找模块,用于根据解析出的所述接口名称,在保存的相关接口信息中查找与解析出的所述接口名称相对应的方法;调用模块,用于调用解析出的所述接口名称相对应的方法;
添加模块,用于在所述进程间通信接口内添加进程间通信方法;和/或
自动修复模块,用于在所述进程间通信接口不可用时,对所述进程间通信接口进行自动修复;
所述服务器端包括:
接口设定模块,用于设定提供给外界调用的接口函数;
接口实现模块,用于定义调用接口的具体实现;
接口注册模块,用于进行接口注册;
所述服务器端还包括:在服务器端定义进程间通信过程方法函数,定义进程间通信实例对象,并注册进程间通信过程。
14.根据权利要求13所述的系统,其特征在于,所述服务器端还包括:
写入模块,用于将已经注册的接口信息写入到所述服务器端的共享内存中。
15.根据权利要求13至14任一项所述的系统,其特征在于,所述客户端包括:
数据处理模块,用于将请求的数据进行格式化处理,并进行加密;
请求发送模块,用于通过命名管道将格式化处理及进行加密后的请求数据传输到服务器端;其中所述请求的数据包括要调用的接口名称和/或方法名称。
16.根据权利要求15所述的系统,其特征在于,所述请求的数据还包括调用参数。
17.根据权利要求13至14、16任一项所述的系统,其特征在于,所述服务器端还包括:
关注事件监听模块,用于监听预先指定的关注事件;
回调函数调用模块,用于当关注事件监听模块监听到所述预先指定的关注事件被触发后,调用指定的回调函数。
18.根据权利要求13至14、16任一项所述的系统,其特征在于,所述服务器端还包括:
打印输出模块,用于通过进程间通信辅助工具打印输出当前所有的接口列表信息以及关注事件列表,并且显示出了当前所有的接口列表信息以及关注事件列表的状态。
19.一种服务器,其特征在于,包括:
接口启动模块,用于启动进程间通信接口;
管道建立模块,用于建立进程间通信管道服务;
监听模块,用于监听与所述服务器端的连接请求;
调用模块,用于根据客户端的调用接口请求,调用与所述客户端需要调用的接口相对应的方法;
所述调用模块包括:
解析子模块,用于根据所述客户端的调用接口请求,对请求的数据进行解密校验,解析出要调用的具体的接口名称;查找子模块,用于根据解析出的所述接口名称,在保存的相关接口信息中查找与解析出的所述接口名称相对应的方法;调用子模块,用于调用解析出的所述接口名称相对应的方法;
还包括:
接口设定模块,用于设定提供给外界调用的接口函数;
接口实现模块,用于定义调用接口的具体实现;
接口注册模块,用于进行接口注册;
还用于在服务器端定义进程间通信过程方法函数,定义进程间通信实例对象,并注册进程间通信过程。
20.根据权利要求19所述的服务器,其特征在于,还包括:
写入模块,用于将已经注册的接口信息写入到所述服务器端的共享内存中。
21.根据权利要求19所述的服务器,其特征在于,所述请求的数据还包括调用参数。
22.根据权利要求19至21任一项所述的服务器,其特征在于,还包括:
关注事件监听模块,用于监听预先指定的关注事件;
回调函数调用模块,用于当关注事件监听模块监听到所述预先指定的关注事件被触发后,调用指定的回调函数。
23.根据权利要求19至21任一项所述的服务器,其特征在于,还包括:
打印输出模块,用于通过进程间通信辅助工具打印输出当前所有的接口列表信息以及关注事件列表,并且显示出了当前所有的接口列表信息以及关注事件列表的状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410522347.2A CN104268025B (zh) | 2014-09-30 | 2014-09-30 | 一种进程间通信的方法及系统、服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410522347.2A CN104268025B (zh) | 2014-09-30 | 2014-09-30 | 一种进程间通信的方法及系统、服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104268025A CN104268025A (zh) | 2015-01-07 |
CN104268025B true CN104268025B (zh) | 2018-11-27 |
Family
ID=52159549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410522347.2A Active CN104268025B (zh) | 2014-09-30 | 2014-09-30 | 一种进程间通信的方法及系统、服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104268025B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106470221B (zh) * | 2015-08-18 | 2019-12-31 | 北京京东尚科信息技术有限公司 | 一种提升进程间通信协调效率的方法 |
CN105138398B (zh) * | 2015-09-30 | 2019-09-27 | 山东乾云启创信息科技股份有限公司 | 同步通信模式下socket通信与进程管理通用平台及方法 |
CN106547631B (zh) * | 2016-09-26 | 2021-04-20 | 腾讯科技(深圳)有限公司 | 基于安卓平台的跨进程通信方法和装置 |
CN108664491A (zh) * | 2017-03-29 | 2018-10-16 | 北京京东尚科信息技术有限公司 | 数据传输方法、装置和终端设备 |
CN107239353A (zh) * | 2017-06-02 | 2017-10-10 | 浪潮金融信息技术有限公司 | 进程间通信方法及系统 |
CN107273226B (zh) * | 2017-06-30 | 2021-01-08 | 百度在线网络技术(北京)有限公司 | 在安卓系统中集成组件及调用被集成组件的方法和装置 |
CN110018908B (zh) * | 2018-01-08 | 2021-05-28 | 武汉斗鱼网络科技有限公司 | 一种进程间通信方法、电子设备及可读存储介质 |
CN108363609B (zh) * | 2018-02-07 | 2021-11-30 | 腾讯科技(深圳)有限公司 | 模拟传感器的方法、装置和存储介质 |
CN109377348A (zh) * | 2018-09-27 | 2019-02-22 | 深圳市佰仟金融服务有限公司 | 应用于助贷业务系统的业务接口调用方法及助贷业务系统 |
CN110430222A (zh) * | 2019-09-12 | 2019-11-08 | 北京许继电气有限公司 | 一种基于协议方式的服务接口实现方法 |
CN111414603A (zh) * | 2020-03-17 | 2020-07-14 | 用友网络科技股份有限公司 | 一种基于命名管道间通讯机制的应用 |
CN111638975A (zh) * | 2020-05-16 | 2020-09-08 | 中信银行股份有限公司 | 基于管道的数据传输方法及系统 |
CN111756846B (zh) * | 2020-06-24 | 2023-09-29 | 杭州安森智能信息技术有限公司 | 一种轻量型机器人跨进程通信的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6868437B1 (en) * | 2001-05-18 | 2005-03-15 | Agilent Technologies, Inc. | System and method for interprocess communication of remote procedure call messages utilizing shared memory |
CN1811717A (zh) * | 2006-01-10 | 2006-08-02 | 杭州东信灵通电子实业公司 | 通用进程间通信实现方法 |
EP2154615A1 (en) * | 2008-08-12 | 2010-02-17 | Software AG | Method and interprocess communication driver for managing reqests of a database client to a database server |
CN102291467A (zh) * | 2011-09-15 | 2011-12-21 | 电子科技大学 | 一种适应私有云环境的通信平台和通信方法 |
CN102508722A (zh) * | 2011-12-02 | 2012-06-20 | 中科方德软件有限公司 | 一种嵌入式环境下的进程间通信方法 |
-
2014
- 2014-09-30 CN CN201410522347.2A patent/CN104268025B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6868437B1 (en) * | 2001-05-18 | 2005-03-15 | Agilent Technologies, Inc. | System and method for interprocess communication of remote procedure call messages utilizing shared memory |
CN1811717A (zh) * | 2006-01-10 | 2006-08-02 | 杭州东信灵通电子实业公司 | 通用进程间通信实现方法 |
EP2154615A1 (en) * | 2008-08-12 | 2010-02-17 | Software AG | Method and interprocess communication driver for managing reqests of a database client to a database server |
CN102291467A (zh) * | 2011-09-15 | 2011-12-21 | 电子科技大学 | 一种适应私有云环境的通信平台和通信方法 |
CN102508722A (zh) * | 2011-12-02 | 2012-06-20 | 中科方德软件有限公司 | 一种嵌入式环境下的进程间通信方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104268025A (zh) | 2015-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104268025B (zh) | 一种进程间通信的方法及系统、服务器 | |
CN103580937B (zh) | 一种Web 服务模拟的方法及其系统和服务代理系统 | |
US8498854B2 (en) | Enabling end-to-end testing of applications across networks | |
US11431806B2 (en) | Internet of things information system of multiple objects | |
CN109286578A (zh) | 消息处理方法、装置、网关设备及存储介质 | |
CN110830442A (zh) | 报文处理方法、装置及网关 | |
JP2019050554A (ja) | 音声サービスを提供するための方法および装置 | |
US11294740B2 (en) | Event to serverless function workflow instance mapping mechanism | |
US20100011374A1 (en) | Open framework system for heterogeneous computing and service integration | |
CN110134737A (zh) | 数据变化监听方法及装置、电子设备和计算机可读存储介质 | |
CN111222862A (zh) | 数据处理方法及系统、介质和计算机系统 | |
CN111930709A (zh) | 数据存储方法、装置、电子设备和计算机可读介质 | |
US20130203380A1 (en) | Network device, core network, direct mode communication system and lawful interception method thereof | |
CN110620819B (zh) | 区块链交互方法、装置、计算机设备及可读存储介质 | |
US20140032744A1 (en) | Method of comparing outputs in a plurality of information systems | |
CN112181681A (zh) | 一种远程调用方法、装置、计算机设备及存储介质 | |
CN115665274A (zh) | 异构协议的数据传输方法、系统、电子设备及存储介质 | |
US20140280328A1 (en) | Database Interface to Create Queries for Multiple Databases | |
CN105681532B (zh) | 基于Softpbx的呼叫中心的录音系统及方法 | |
CN111935316A (zh) | 一种前端设备目录获取方法及装置 | |
CN114513553A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN113986995A (zh) | 请求分发方法、装置、存储介质及电子设备 | |
CN111752625A (zh) | 用于接口mock的方法和装置 | |
CN112291209B (zh) | 一种前端设备目录获取方法及装置 | |
CN112291210B (zh) | 一种前端设备目录获取方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20190111 Address after: 519031 Room 105-53811, No. 6 Baohua Road, Hengqin New District, Zhuhai City, Guangdong Province Patentee after: Zhuhai Seal Interest Technology Co., Ltd. Address before: 519070, six level 601F, 10 main building, science and technology road, Tangjia Bay Town, Zhuhai, Guangdong. Patentee before: Zhuhai Juntian Electronic Technology Co.,Ltd. |
|
TR01 | Transfer of patent right |