CN115827283A - 一种跨平台信息传输方法和系统 - Google Patents
一种跨平台信息传输方法和系统 Download PDFInfo
- Publication number
- CN115827283A CN115827283A CN202310111702.6A CN202310111702A CN115827283A CN 115827283 A CN115827283 A CN 115827283A CN 202310111702 A CN202310111702 A CN 202310111702A CN 115827283 A CN115827283 A CN 115827283A
- Authority
- CN
- China
- Prior art keywords
- domain
- message
- information
- node
- platform
- 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.)
- Granted
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种跨平台信息传输方法和系统,涉及信息传输技术领域。该方法包括:确定第一种平台中的第一应用进程封装的第一待传输信息,第一待传输信息包括第一消息头和第一消息体;调用发送接口,在第二种平台的系统与第一种平台的系统不同的情况,发送接口将第一消息体进行第一类转码;调用第一种平台的发送进程,将封装的第一消息头和第一类转码后的第一消息体传输给发送进程,第一种平台的发送进程对第一消息头进行第一类转码,将封装的第一类转码后的第一消息头和第一类转码后的第一消息体传输给第二种平台。该实施方式能够对传输信息进行转码,从而实现消息的跨平台传输,第一种平台为非ASCII码平台,第二种平台为ASCII码平台。
Description
技术领域
本发明涉及信息传输技术领域,尤其涉及一种跨平台信息传输方法和系统。
背景技术
企业的不同业务使用的平台系统一般是不同的。比如,针对证券相关的业务中,证券交易业务和结算业务等一般采用不同的平台系统。但是,目前不同平台系统之间由于字符编码的差异,导致不同业务的不同平台系统之间不能直接通信传输信息。
发明内容
有鉴于此,本发明实施例提供一种跨平台信息传输方法和系统,能够对传输信息进行转码,从而实现消息的跨平台传输。
为实现上述目的,根据本发明实施例的一个方面,提供了一种跨平台信息传输方法,包括:
确定第一种平台中的第一应用进程封装的第一待传输信息,其中,封装的第一待传输信息包括:第一消息头和第一消息体;
调用所述第一应用进程对应的发送接口,在第二种平台的系统与所述第一种平台的系统不同的情况下,通过所述发送接口将所述第一消息体进行第一类转码;
调用所述第一种平台的发送进程,并将封装的第一消息头和第一类转码后的第一消息体传输给所述发送进程,并通过所述第一种平台的发送进程对所述第一消息头进行第一类转码,并将封装的第一类转码后的第一消息头和第一类转码后的第一消息体传输给第二种平台,其中,所述第一种平台为非ASCII码平台,所述第二种平台为ASCII码平台。
可选地,上述跨平台信息传输方法,还包括:
在所述第一种平台的接收进程接收到所述第二种平台发送的封装的第二待传输信息的情况下,所述第一种平台的接收进程将所述第二待传输信息包括的第二消息头进行第二类转码,其中,所述第二类转码与所述第一类转码互为逆向转码;
并通过所述第一种平台的接收进程解析转码后的第二消息头;
所述第一种平台的接收进程根据从所述第二消息头中解析出的第二应用进程地址,调用第二应用进程的接收接口;
通过所述第二应用进程的接收接口对所述第二待传输信息包括的第二消息体进行第二类转码,并将转码后的第二消息头和转码后的第二消息体发送给所述第二应用进程。
可选地,上述跨平台信息传输方法,还包括:
构建有多个域,每一个域设置有网关节点以及多个域内节点,其中,所述网关节点以及每一个所述域内节点属于所述第一种平台或者所述第二种平台;
同一域中的多个所述域内节点之间相互通信;
多个域之间通信流程包括:
通过第一域中的域内节点发送待传输信息给所述第一域中的网关节点;
通过所述第一域中的网关节点发送所述待传输信息给第二域中的网关节点;
通过所述第二域中的网关节点发送所述待传输信息给所述第二域中的域内节点。
可选地,上述跨平台信息传输方法,还包括:
针对每一个所述域,执行下述操作:
在所述域中的任一域内节点接收到配置文件的情况下,调用系统进程将所述配置文件同步至所述域中的其他域内节点。
可选地,上述跨平台信息传输方法,还包括:所述域内节点上的应用程序配置有消息绑定;
响应于所述域内节点接收到所述待传输信息后,触发所述待传输信息所绑定的应用程序运行。
可选地,上述跨平台信息传输方法,还包括:
各个所述域内节点配置有对应于不同域内节点的不同应用的应用队列以及消息队列,其中,所述应用队列用于放置指示待传输信息的部分或全部传输路径的消息索引,所述消息队列用于放置所述待传输的信息;
基于所述应用队列放置的消息索引以及所述消息队列放置的待传输信息,执行同一域内多个所述域内节点之间相互通信或者多个域之间通信流程。
可选地,所述同一域中的多个所述域内节点之间相互通信,包括:
针对每一个域,执行下述操作:
构建所述域中的第一域内节点的消息发送进程与第二域内节点的消息接收进程之间的消息传输通道;
在所述第一域内节点的消息发送进程从所述应用队列中读取到对应于所述待传输信息的消息索引的情况下,根据所述待传输信息的消息索引,从所述消息队列中读取所述待传输信息,并通过所述消息传输通道传输所述待传输信息给所述第二域内节点的消息接收进程。
可选地,所述通过第一域中的域内节点发送待传输信息给所述第一域中的网关节点,包括:第一域中的域内节点查询其配置的应用队列,根据所述应用队列的消息索引,确定第一域中的网关节点,并从所述消息队列中获取所述待传输信息,将所述待传输信息传输给所述第一域中的网关节点。
可选地,所述通过所述第一域中的网关节点发送所述待传输信息给第二域中的网关节点,包括:第一域中的网关节点查询其配置的应用队列,根据所述应用队列的消息索引,确定第二域中的网关节点,并将所述待传输信息传输给所述第二域中的网关节点。
可选地,所述通过所述第二域中的网关节点发送所述待传输信息给所述第二域中的域内节点,包括:第二域中的网关节点查询其配置的应用队列,根据所述应用队列的消息索引,确定第二域中的域内节点,并将所述待传输信息传输给所述第二域中的域内节点。
可选地,上述跨平台信息传输方法,还包括:
针对每一个所述域内节点,执行下述操作:
将接收到的信息放置到所述信息所属应用的消息队列中,并将对应于所述信息的消息索引放置到所述信息所属应用的应用队列中,以供应用进程调取。
可选地,上述跨平台信息传输方法,还包括:为各个所述域内节点配置有初始消息队列;
在任一所述消息队列的消息数量为0的情况下, 向所述初始队列发送包含有应用队列名称的通知消息,以使应用调用对应的接口发送待传输信息给对应的消息队列,并发送对应于所述待传输信息的消息索引给对应的应用队列;
通过扫描进程守护所述初始队列,在所述扫描进程读取到所述通知消息后,根据所述应用队列的情况,确定是否启动一个用于传输所述待传输信息的新发送进程,以通过所述新发送进程发送所述待传输信息。
可选地,上述所述第一种平台为AS/400平台。
第二方面,本发明实施例提供一种跨平台信息传输系统,包括:多种平台,其中,
多种所述平台中的第一种平台,用于确定其第一应用进程封装的第一待传输信息,其中,封装的第一待传输信息包括:第一消息头和第一消息体;并调用第一应用进程对应的发送接口,在多种所述平台中的第二种平台的系统与所述第一种平台的系统不同的情况下,通过所述发送接口将所述第一消息体进行第一类转码;调用所述第一种平台的发送进程,并将封装的第一消息头和第一类转码后的第一消息体传输给所述发送进程,并通过所述第一种平台的发送进程对所述第一消息头进行第一类转码,并将封装的第一类转码后的第一消息头和第一类转码后的第一消息体传输给第二种平台,其中,所述第一种平台为非ASCII码平台,所述第二种平台为ASCII码平台。
上述发明中的一个实施例具有如下优点或有益效果:在第二种平台的系统与第一种平台的系统不同的情况下,通过调用第一应用进程对应的发送接口将该第一种平台的第一应用进程封装的第一待传输信息的第一消息体进行第一类转码;并将封装的第一消息头和第一类转码后的第一消息体传输给发送进程,通过第一种平台的发送进程对第一消息头进行第一类转码,并将封装的第一类转码后的第一消息头和第一类转码后的第一消息体传输给第二种平台,即通过应用的发送接口进行消息体转码,发送进程进行消息头转码,以使转码后的消息能够被第二类平台所识别,从而实现跨平台传输信息。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的一种跨平台信息传输方法的主要流程的示意图;
图2是根据本发明实施例的另一种跨平台信息传输方法的主要流程的示意图;
图3A是根据本发明实施例的一种转码的主要流程的示意图;
图3B是根据本发明实施例的另一种转码的主要流程的示意图;
图4是根据本发明实施例的另一跨平台信息传输方法的主要流程的示意图;
图5是根据本发明实施例的包括多个域以及多个节点的系统结构示意图;
图6是根据本发明又一实施例的跨平台信息传输方法的主要流程的示意图;
图7是根据本发明另一实施例的同一域内多个域内节点之间相互通信或者多个域之间通信的主要流程的示意图;
图8是根据本发明另一实施例的跨平台信息传输方法的主要流程的示意图;
图9是根据本发明实施例的同一域内具有不同运行系统的两个节点之间的信息传输的主要流程的示意图;
图10是根据本发明实施例的同一域内具有相同运行系统的两个节点之间的信息传输的主要流程的示意图;
图11A是本发明实施例的不同域内具有相同运行系统的两个节点之间的信息传输的主要流程的示意图;
图11B是本发明实施例的传输地址的传输路径的示意图;
图12是本发明实施例的不同域内具有相同运行系统的两个节点之间的信息传输的主要流程的示意图;
图13是本发明实施例的一种跨平台信息传输主要过程的示意图;
图14A是本发明实施例的一种跨平台信息传输系统架构图;
图14B是本发明实施例的另一种跨平台信息传输系统架构图;
图15是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本发明实施例的一种跨平台信息传输方法的主要流程示意图。如图1所示,该跨平台信息传输方法可包括如下步骤:
步骤S101:确定第一种平台中的第一应用进程封装的第一待传输信息,其中,封装的第一待传输信息包括:第一消息头和第一消息体;
步骤S102:调用第一应用进程对应的发送接口,在第二种平台的系统与第一种平台的系统不同的情况下,通过发送接口将第一消息体进行第一类转码;
步骤S103:调用第一种平台的发送进程,并将封装的第一消息头和第一类转码后的第一消息体传输给发送进程,并通过第一种平台的发送进程对第一消息头进行第一类转码,并将封装的第一类转码后的第一消息头和第一类转码后的第一消息体传输给第二种平台,其中,第一种平台为非ASCII码平台,第二种平台为ASCII码平台。
其中,非ASCII码平台一般是指以ASCII码以外的其他编码比如EBCDIC(ExtendedBinary Coded Decimal Interchange Code,字母或数字字符的二进制编码)编码等作为代码的平台。
如图3A所示,第一应用进程对应的发送接口将第一消息体进行第一类转码(比如,将EBCDIC编码的第一消息体转换为ASCII编码);发送进程将第一消息头进行第一类转码(比如,将EBCDIC编码的第一消息头转换为ASCII编码),然后,通过发送进程将转码后的待传输信息发送给第二种平台。
其中,平台一般是基于节点所安装的运行系统得到的。不同种的平台是指不同节点安装有不同类型的运行系统。比如,针对非ASCII码平台的第一种平台可以为安装有OS400运行系统的节点(该节点可以为服务器,也可以为终端设备),针对ASCII码平台的第二种平台可以为安装有Linux或者AIX等运行系统的节点。另外,除了安装有OS400运行系统的节点之外,还可为安装有其他非ASCII编码运行系统的节点。
通过转码方式,支持不同码制的平台间信息交换;另外,可支持对消息的压缩、加密。
在本申请提供的跨平台的系统,不可避免地会遇到不同应用所在平台的计算机码制不同的问题。本申请通过屏蔽各平台码制的差异将简化消息应用的复杂度,以提高系统的易用性。具体地,由于大多数平台使用ASCII编码,因此从降低系统复杂性的角度来说,我们选择将ASCII编码作为系统中不同节点之间消息交换的标准码制,如果接入系统的节点为非ASCII编码,则由非ASCII编码的节点负责进行码制转换。比如,在非ASCII编码的具有OS400运行系统的节点上实现消息的转码功能。以保证跨平台交互仍然能够以标准码制通信,使跨平台的系统具有更好的实用性。
在图1所示的实施例中,在ASCII码的第二种平台的系统与非ASCII码的第一种平台的系统不同的情况下,通过调用第一应用进程对应的发送接口将该第一种平台的第一应用进程封装的第一待传输信息的第一消息体进行第一类转码;并通过调用第一种平台的发送进程,通过第一种平台的发送进程对第一消息头进行第一类转码,并将封装的第一类转码后的第一消息头和第一类转码后的第一消息体传输给第二种平台,即通过应用的发送接口进行消息体转码,发送进程进行消息头转码,以使转码后的消息能够被第二类平台所识别,从而实现跨平台传输信息。
即在非ASCII码的第一种平台发送信息给ASCII码的第二种平台过程中,分别通过发送接口对第一待传输信息的第一消息体进行第一类转码(转换为ASCII码的消息体),通过第一种平台的发送进程对第一待传输信息的第一消息头进行第一类转码(转换为ASCII码的消息头),然后将转码后的消息发送给ASCII码的第二种平台,以实现以标准ASCII码进行通信,以更好地适应跨平台系统中的大部分为ASCII码的第二种平台的需求。
另外,通过先调用第一种平台的发送进程,然后将封装的第一消息头和第一类转码后的第一消息体传输给发送进程,可以保证封装的第一消息头和第一类转码后的第一消息体能够准确传输给发送进程,降低消息传输过程丢失的风险。
在本发明实施例中,如图2所示,上述跨平台信息传输方法还可以进一步包括如下步骤:
步骤S201:在第一种平台的接收进程接收到第二种平台发送的封装的第二待传输信息的情况下,第一种平台的接收进程将第二待传输信息包括的第二消息头进行第二类转码,其中,第二类转码与第一类转码互为逆向转码;
步骤S202:通过第一种平台的接收进程解析转码后的第二消息头;
步骤S203:第一种平台的接收进程根据从第二消息头中解析出的第二应用进程地址,调用第二应用进程的接收接口;
其中,根据从第二消息头中解析出的第二应用进程地址,调用第二应用进程的接收接口是指,在访问该第二应用进程地址,并调用该第二应用进程地址下的接收接口。
步骤S204:通过第二应用进程的接收接口对第二待传输信息包括的第二消息体进行第二类转码,并将转码后的第二消息头和转码后的第二消息体发送给第二应用进程。
即在非ASCII码的第一种平台接收到ASCII码的第二种平台发送的第二待传输信息后,第一种平台的接收进程将第二待传输信息包括的第二消息头进行第二类转码(即接收进程将第二消息头从ASCII码转换为满足第一种平台需求的编码的消息头),第一种平台的接收进程调用第二消息头中解析出的第二应用进程地址下的接收接口,通过第二应用进程的接收接口对第二待传输信息包括的第二消息体进行第二类转码(即接收接口将第二消息体从ASCII码转换为满足第一种平台所需求的编码的消息体),在满足标准ASCII码通信的同时,能够使非ASCII码平台正常工作,以进一步实现跨平台系统内的通信。
如图3B所示,第一种平台的接收进程接收到第二待传输信息,接收进程将第二待传输信息的第二消息头进行第二类转码(比如,将ASCII编码的第二消息头转换为EBCDIC编码);接收接口将第二消息头进行第二类转码(比如,将ASCII编码的第二消息体转换为EBCDIC编码),然后,通过接收接口将转码后的待传输信息发送给第一种平台的应用进程。
由于将ASCII编码作为本申请提供的跨平台信息传输系统之间消息交换的标准码制,通过研究发现,通过接收进程/发送进程完成消息头的转码,消息体的转码由接收接口(即接收API函数)或者发送接口(即发送API函数)来完成(即任何应用接收消息最终均使用该API函数)。以有效地提高消息接收进程或者消息发送进程的效率,因为转码会降低消息接收进程或者消息发送进程的处理速度(尤其是大数据量的消息),而由各接收接口(即接收API函数)或者发送接口(即发送API函数)来完成则能充分利用AS/400的并行处理能力。这是因为,消息内容实际上是与应用相关的,因此由通信进程来完成会造成通信程序与特性消息的相关性,由各接收接口(即接收API函数)或者发送接口(即发送API函数)来完成更为合理。
另外,由于消息头属于重要交互信息,且接收进程或者发送进程需要分析消息头的内容,因此,对消息头的转码必须由接收进程或者发送进程来完成。
在本发明实施例中,如图4所示,上述跨平台信息传输方法还可进一步包括如下步骤:
步骤S401:构建有多个域,每一个域设置有网关节点以及多个域内节点,其中,网关节点以及每一个域内节点属于第一种平台或者第二种平台;
如图5所示,构建有域X、域Y以及域Z,其中,域X设置有网关节点B、网关节点D、域内节点A和C,域Y设置有网关节点A、域内节点B和C,域Z设置有网关节点A、域内节点B和C。值得说明的是,各个域的网关节点,在作为相邻域之间的网关的同时也可以作为域内节点。另外,域内网关节点的个数、域内节点的个数等可根据实际需求进行相应地设置。
步骤S402:同一域中的多个域内节点之间相互通信;
比如,图5所示的域X内的节点A与节点B、节点B与节点C、节点C与节点D、节点D与节点A之间可以相互通信。
步骤S403:多个域之间通信流程包括:
步骤S4031:通过第一域中的域内节点发送待传输信息给第一域中的网关节点;
其中,该步骤的具体实施方式可包括:第一域中的域内节点查询其配置的应用队列,根据应用队列的消息索引,确定第一域中的网关节点,并从消息队列中获取待传输信息,将待传输信息传输给第一域中的网关节点。
步骤S4032:通过第一域中的网关节点发送待传输信息给第二域中的网关节点;
其中,该步骤的具体实施方式可包括:第一域中的网关节点查询其配置的应用队列,根据所述应用队列的消息索引,确定第二域中的网关节点,并将所述待传输信息传输给所述第二域中的网关节点。
步骤S4033:通过第二域中的网关节点发送待传输信息给第二域中的域内节点。
比如,图5所示,域X的节点A通过域X的网关节点B以及域Y的网关节点A与域Y的节点B之间进行通信。则域X的节点A发送待传输信息给域X的网关节点B,域X的网关节点B发送待传输信息给域Y的网关节点A,域Y的网关节点A发送待传输信息给域Y的节点B。
即本申请提供消息的路由功能,即可以在两个网络不直接连通的平台之间传递消息;支持不同节点之间的信息传输。
即本申请提供的信息传输系统运行在域模式下,各个节点按域组织,在域内则进行分布式消息交换,即在域内没有一个信息交换的中心点,而是在各节点之间两两完成消息的交换。域内节点如需和外部域节点交换消息,需要先将消息发送至域内的消息网关节点(该节点和指定的域在网络上是相通的),由后者再进行消息的转发。域模式的好处是便于进行节点的组织和管理,并可以在域之间进行必要的隔离,即域内节点对外不可见。另外,由于信息传输过程中无中间节点,点对点直接进行消息传输,任何一个节点异常不影响其他节点之间的交互。
其中,该步骤的具体实施方式可包括:第二域中的网关节点查询其配置的应用队列,根据应用队列的消息索引,确定第二域中的域内节点,并将待传输信息传输给第二域中的域内节点。通过应用队列管理信息,以使信息管理更规范。
其中,针对每一个域,可执行操作:在所述域中的任一域内节点接收到配置文件的情况下,调用系统进程将配置文件同步至域中的其他域内节点。实现配置自动同步,可以在单个节点完成系统配置功能;提供丰富的API接口和运行管理功能。另外,基于版本的软件安装和升级模式,可以一键安装、远程一键升级;系统中有些配置是域内所有节点公用的,为了避免在各个节点上分别增加或修改这些公用配置,系统将在域内自动同步这些配置。
在本发明实施例中,上述跨平台信息传输方法还可进一步包括:域内节点上的应用程序配置有消息绑定;响应于域内节点接收到待传输信息后,触发待传输信息所绑定的应用程序运行。消息绑定可方便消息应用接收消息。消息用户通过对某类消息代码设置消息绑定,则该应用不必为等待消息而处于守护模式,该类消息到来时,系统可以触发绑定程序的运行。具体地,通过设计消息绑定程序的命令行接口来实现绑定程序,即绑定的程序有且只有一个参数:消息序号。消息绑定程序在启动后根据传入的消息序号调用接收API函数(ums_msgrcv_c),并处理接收到的消息内容。对于OS400运行系统的节点,如果指定的消息使用了数据库接口,则绑定程序应从消息数据库中读取消息。比如,消息绑定的配置可包括:消息代码、消息用户、绑定程序路径名、绑定程序名等。比如,针对消息代码:ZYDD-M0001、消息用户:H85-ZYDD、绑定程序路径名:/datalv/diss/bin、绑定程序名:zydd_rcvmsg来说,当消息接收进程在收到发送给“H85-ZYDD”用户且消息代码为“ZYDD-M0001”的消息时,将启动一子进程,并执行“/datalv/diss/bin/zydd_rcvmsg”程序,传递的参数为该消息的序号。
进一步地,如图6所示,上述跨平台信息传输方法还可进一步包括:
步骤S601:各个域内节点配置有对应于不同域内节点的不同应用的应用队列以及消息队列,其中,应用队列用于放置指示待传输信息的部分或全部传输路径的消息索引,消息队列用于放置待传输的信息;
比如,针对图5所示的域X的节点A内的第一应用通过域X的网关节点B以及域Y的网关节点A,将信息传输给域Y的节点B的第二应用中,则完整的传输路径:域X/节点A/域X/节点B/域Y/节点A/域Y/节点B/第二应用。针对部分的传输路径来说,在域X的节点A中设置的部分路径:域X/节点B/第二应用;在域X的节点B中设置的部分路径:域Y/节点A/第二应用;在域Y的节点A中设置的部分路径:域Y/节点B/第二应用;在域Y的节点B中设置的部分路径:节点B/第二应用。
步骤S602:基于应用队列放置的消息索引以及消息队列放置的待传输信息,执行同一域内多个域内节点之间相互通信或者多个域之间通信流程。
通过上述队列对传输路径的管理,可以保证信息传输的准确性。
其中,如图7所示,上述步骤S602的具体实施方式可包括如下步骤:
针对每一个域,执行下述步骤S6021和步骤S6022:
步骤S6021:构建域中的第一域内节点的消息发送进程与第二域内节点的消息接收进程之间的消息传输通道;
步骤S6022:在第一域内节点的消息发送进程从应用队列中读取到对应于待传输信息的消息索引的情况下,根据待传输信息的消息索引,从消息队列中读取待传输信息,并通过消息传输通道传输待传输信息给第二域内节点的消息接收进程。
在本发明实施例中,上述跨平台信息传输方法还可进一步包括:
针对每一个域内节点,执行:将接收到的信息放置到信息所属应用的消息队列中,并将对应于信息的消息索引放置到信息所属应用的应用队列中,以供应用进程调取。
在本发明实施例中,如图8所示,上述跨平台信息传输方法,还可进一步包括如下步骤:
步骤S801:为各个域内节点配置有初始消息队列;
步骤S802:在任一消息队列的消息数量为0的情况下, 向初始队列发送包含有应用队列名称的通知消息,以使应用调用对应的接口发送待传输信息给对应的消息队列,并发送对应于待传输信息的消息索引给对应的应用队列;
步骤S803:通过扫描进程守护初始队列,在扫描进程读取到通知消息后,根据应用队列的情况,确定是否启动一个用于传输待传输信息的新发送进程,以通过新发送进程发送待传输信息。
下面分别针对同一域内具有不同运行系统的任一两个节点(比如,图5所示的域X内的节点A和节点B、节点C和节点D、节点B和节点C,域Y内的节点A和节点B、节点B和节点C,域Z内的节点A和节点B、节点A和节点C等)之间、同一域内具有相同运行系统的任一两个节点(比如,图5所示的域X内的节点A和节点C,域Y内的节点A和节点C,域Z内的节点B和节点C等)之间、不同域内具有不同运行系统的任一两个节点(比如,图5所示的域X内的节点A和域Y内的节点C、域X内的节点B和域Y内的节点B、域Z内的节点B和域Y内的节点C等)之间以及不同域内具有相同运行系统的任一两个节点(比如,图5所示的域X内的节点A和域Y内的节点B、域X内的节点B和域Y内的节点A、域Z内的节点C和域X内的节点C等)之间进行信息传输为例,展开说明本发明实施例实现的跨平台信息传输方法。
以图5所示的域X内的节点A和节点B(节点A的运行系统为OS/400系统 ,节点B的运行系统为UNIX系统)之间信息传输为例,详细说明同一域内具有不同运行系统的两个节点之间的信息传输过程。如图9所示,该同一域内具有不同运行系统的两个节点之间的信息传输过程可包括如下步骤:
步骤S901:在域X中的任一域内节点接收到配置文件的情况下,调用系统进程将配置文件同步至域中的其他域内节点;
该配置文件包括:控制文件和队列清单文件。其中,控制文件是用于控制信息传输的文件,队列清单文件是用于为待传输文件构建队列的文件。
比如,针对图5所示的域X来说,域内节点A收到配置文件后,其将配置文件同步至域X的节点B、节点C以及节点D。值得说明的是,网关节点也是域内节点的一种。
步骤S902:为各个域内节点上的应用程序配置消息绑定;
通过该绑定可以使应用程序在接收到信息后自动执行,而不需要应用程序监控信息。
步骤S903:各个节点配置有对应于不同节点的不同应用的应用队列以及消息队列,其中,应用队列用于放置指示待传输信息的部分或全部传输路径的消息索引,消息队列用于放置待传输的信息;
比如,域X内的节点A配置有分别对应于节点B、节点C及节点D的应用的应用队列和消息队列,以按照应用对应用和消息进行分类管理
步骤S904:为各个域内节点配置有初始消息队列;
步骤S905:在任一消息队列的消息数量为0的情况下, 向初始队列发送包含有应用队列名称的通知消息;
步骤S906:通过扫描进程守护初始队列,在扫描进程读取到通知消息后,根据应用队列的情况,确定是否启动一个用于传输待传输信息的新发送进程;
即在有比较多的应用发送消息后,而发送线程数比较少的情况下,需要启动新的线程,以通过新的发送进程在后续发送待传输信息。
步骤S907:确定传输地址为节点A的第一应用传输给节点B的第二应用;
步骤S908:节点A的第一应用调用其对应的接口将第一待传输信息的第一消息体进行第一类转码;
其中,第一类转码是将EBC码转为ASCII编码。
步骤S909:节点A的第一应用的接口发送第一消息体转码后的第一待传输信息给节点A配置的对应于节点B的第二应用的消息队列,并发送对应于第一待传输信息的消息索引给对应于节点B的第二应用的应用队列;
步骤S910:构建域X中的节点A的消息发送进程与节点B的消息接收进程之间的消息传输通道;
该步骤是通过节点A向节点B发送调度指令实现调度节点B的接收进程。
步骤S911:在域X的节点A的消息发送进程从应用队列中读取到对应于第一待传输信息的消息索引的情况下,根据第一待传输信息的消息索引,从消息队列中读取第一待传输信息,通过发送进程对第一待传输信息中的第一消息头进行第一类转码,并将包含有转码后的第一消息头和转码后的第一消息体的待传输信息传输给节点B中第二应用的消息队列,同时将该待传输信息的消息索引存储到节点B中第二应用的应用队列中;
步骤S912:域X的节点B响应于接收到待传输信息后,触发待传输信息所绑定的应用程序运行。
另外,域X的节点B传输信息给节点A的过程与节点A传输给节点B的过程基本一致,不同点在于:在域X的节点A的接收进程接收到域X的节点B发送的封装的第二待传输信息的情况下,域X的节点A的接收进程将第二待传输信息包括的第二消息头进行第二类转码,其中,第二类转码与第一类转码互为逆向转码;即第二类转码是将ASCII编码转为EBC码。通过域X的节点A的接收进程解析转码后的第二消息头;域X的节点A的接收进程根据从第二消息头中解析出的第二应用进程地址,调用第二应用进程的接收接口;通过第二应用进程的接收接口对第二待传输信息包括的第二消息体进行第二类转码,并将转码后的第二消息头和转码后的第二消息体发送给第二应用进程。
以图5所示的域Y内的节点A和节点C之间信息传输为例,详细说明同一域内具有相同运行系统的两个节点之间的信息传输过程。值得说明的是,同一域内具有相同运行系统的两个节点构建信息传输通道、应用队列、消息队列等的过程与上述步骤S901至步骤S906基本一致,在此不再赘述。该实施例仅涉及信息传输过程。如图10所示,该同一域内具有相同运行系统的两个节点之间的信息传输过程可包括如下步骤:
步骤S1001:确定传输地址为域Y内的节点A的第一应用传输给域Y内的节点C的第三应用;
步骤S1002:域Y内的节点A的第一应用调用其对应的接口将第三待传输信息发送给域Y内的节点A配置的对应于域Y内的节点C的第三应用的消息队列,并发送对应于第三待传输信息的消息索引给对应于域Y内的节点C的第三应用的应用队列;
步骤S1003:构建域Y内的节点A的消息发送进程与域Y内的节点C的消息接收进程之间的消息传输通道;
该步骤是通过节点A向节点C发送调度指令实现调度节点C的接收进程。
步骤S1004:在域Y内的节点A的消息发送进程从应用队列中读取到对应于第三待传输信息的消息索引的情况下,根据第三待传输信息的消息索引,从消息队列中读取第三待传输信息,将第三待传输信息传输给节点C中第三应用的消息队列,同时将该待传输信息的消息索引存储到节点C中第三应用的应用队列中;
步骤S1005:域Y内的节点C响应于接收到第三待传输信息后,触发待传输信息所绑定的第三应用的应用程序运行。
以图5所示的域Z内的节点B和域Y内的节点C之间信息传输为例,详细说明不同域内具有不同运行系统的两个节点之间的信息传输过程。如图11A所示,该不同域内具有相同运行系统的两个节点之间的信息传输过程可包括如下步骤:
步骤S1101:在域X中的任一域内节点接收到配置文件的情况下,调用系统进程将配置文件同步至域X中的其他域内节点以及其他域中的域内节点和网关节点;
该配置文件包括:控制文件和队列清单文件。其中,控制文件是用于控制信息传输的文件,队列清单文件是用于为待传输文件构建队列的文件。比如,域X中的任一域内节点接收到配置文件后,可以同步至图5中的域Y以及域Z中的所有节点。
步骤S1102:为各个域内节点以及网关节点上的应用程序配置消息绑定;
通过该绑定可以使应用程序在接收到信息后自动执行,而不需要应用程序监控信息。
步骤S1103:各个节点配置有对应于不同节点的不同应用的应用队列以及消息队列,其中,应用队列用于放置指示待传输信息的部分或全部传输路径的消息索引,消息队列用于放置待传输的信息;
比如,域Z内的节点B配置有对应于域Z内的节点A、域Z内的节点C,对应于域Y内的节点A、域Y内的节点C的应用的应用队列和消息队列,以按照应用对应用和消息进行分类管理。
步骤S1104:为各个域内节点配置有初始消息队列;
步骤S1105:在任一消息队列的消息数量为0的情况下, 向初始队列发送包含有应用队列名称的通知消息;
步骤S1106:通过扫描进程守护初始队列,在扫描进程读取到通知消息后,根据应用队列的情况,确定是否启动一个用于传输待传输信息的新发送进程;
即在有比较多的应用发送消息后,而发送线程数比较少的情况下,需要启动新的线程,以通过新的发送进程在后续发送待传输信息。
步骤S1107:确定传输地址为域Z内的节点B的第四应用传输给域Y内的节点C的第五应用;
其中,该传输地址的传输路径如图11B所示,域Z内的节点B的第四应用→域Y内的节点C的第五应用,通过域Z内的节点B的第四应用的接口寻址发现域Z内的节点B配置的第五应用的应用队列的路径为:域Z内的节点A(域Z的一个网关节点)下的第五应用的应用队列(即图11B示出的msgbox/send/域Z/节点A/第五应用的队列);进一步,通过域Z内的节点A的发送进程寻址发现域Z内的节点A配置的第五应用的应用队列的路径为:域Y内的节点A(域Y的一个网关节点)下的第五应用的应用队列(即图11B示出的msgbox/send/域Y/节点A/第五应用的队列);更进一步地,通过域Y内的节点A的发送进程寻址发现域Y内的节点C配置的第五应用的应用队列的路径为:域Y内的节点C(目标节点)下的第五应用的应用队列(即图11B示出的msgbox/send/域Y/节点C/第五应用的队列),通过该传输过程,使传输的信息到达域Y内的节点C的第五应用中。
步骤S1108:域Z内的节点B的第四应用调用其对应的接口将第三待传输信息的第三消息体进行第一类转码;
其中,第一类转码是将EBC码转为ASCII编码。
步骤S1109:域Z内的节点B的第四应用的接口发送第三消息体转码后的第三待传输信息给节点B配置的消息队列(该消息队列对应于域Z/节点A/第五应用),并发送对应于第三待传输信息的消息索引给对应于域Z内的节点B的应用队列(该应用队列对应于域Z/节点A/第五应用);
步骤S1110:构建域Z内的节点B的消息发送进程与域Z内的节点A的消息接收进程之间的消息传输通道1;
该步骤是通过域Z内的节点B向域Z内的节点A发送调度指令实现调度域Z内的节点A的接收进程。
步骤S1111:在域Z内的节点B的消息发送进程从应用队列中读取到对应于第三待传输信息的消息索引的情况下,根据第三待传输信息的消息索引,从消息队列中读取第三待传输信息,通过发送进程对第三待传输信息中的第三消息头进行第一类转码,并将包含有转码后的第三消息头和转码后的第三消息体的待传输信息传输给域Z内的节点A的消息队列(该消息队列对应于域Y/节点A/第五应用),同时将该待传输信息的消息索引存储到域Z内的应用队列(该应用队列对应于域Y/节点A/第五应用);
步骤S1112:通过应用队列寻址构建域Z内的节点A的消息发送进程与域Y内的节点A的消息接收进程之间的消息传输通道2;
步骤S1113:通过消息传输通道2将域Z内的节点A的应用消息队列中的第三待传输信息传输给域Y内的节点A的应用消息队列(该应用消息队列对应于域Y内的节点C的第五应用),并将该转码后的第三待传输信息的消息索引存储到域Y内的节点A的应用队列(该应用队列对应于域Y内的节点C的第五应用);
步骤S1114:通过应用队列寻址构建域Y内的节点A的消息发送进程与域Y内的节点C的消息接收进程之间的消息传输通道3;
步骤S1115:通过消息传输通道3将域Y内的节点A的应用消息队列中的第三待传输信息传输给域Y内的节点C的应用消息队列(该应用消息队列对应于域Y内的节点C的第五应用),并将该第三待传输信息的消息索引存储到域Y内的节点C的应用队列(该应用队列对应于域Y内的节点C的第五应用);
步骤S1116:域Y的节点C响应于接收到应用消息队列的第三待传输信息后,触发第三待传输信息所绑定的应用程序运行。
另外,图11A中仅是示例性地给出了第一类转码过程,第二类转码是对应于第一类转码的逆过程,在此不再赘述。
以图5所示的域X内的节点A和域Y内的节点B之间信息传输为例,详细说明不同域内具有相同运行系统的两个节点之间的信息传输过程。值得说明的是,不同域的两个节点之间构建信息传输通道、应用队列、消息队列等的过程与上述步骤S1101至步骤S1106基本一致,在此不再赘述。该实施例仅涉及信息传输过程。如图12所示,该不同域内具有相同运行系统的两个节点之间的信息传输过程可包括如下步骤:
步骤S1201:确定传输地址为域X内的节点A的第六应用传输给域Y内的节点B的第七应用;
其中,域X内的节点A的第六应用→域Y内的节点B的第七应用,通过域X内的节点A的第六应用的接口寻址发现域X内的节点A配置的第七应用的应用队列的路径为:域X内的节点B(域X的一个网关节点)下的第七应用的应用队列(即msgbox/send/域X/节点B/第七应用的队列);进一步,通过域X内的节点B的发送进程寻址发现域Y内的节点A配置的第七应用的应用队列的路径为:域Y内的节点A(域Y的一个网关节点)下的第七应用的应用队列(即msgbox/send/域Y/节点A/第七应用的队列);更进一步地,通过域Y内的节点A的发送进程寻址发现域Y内的节点B配置的第七应用的应用队列的路径为:域Y内的节点B(目标节点)下的第七应用的应用队列(即msgbox/send/域Y/节点B/第七应用的队列),通过该传输过程,使传输的信息到达域Y内的节点B的第七应用中。
步骤S1202:域X内的节点A的第六应用的接口发送待传输信息给节点A配置的消息队列(该消息队列对应于域X/节点B/第七应用),并发送对应于第三待传输信息的消息索引给对应于域X内的节点A的应用队列(该应用队列对应于域X/节点B/第七应用);
步骤S1203:构建域X内的节点A的消息发送进程与域X内的节点B的消息接收进程之间的消息传输通道1;
该步骤是通过域X内的节点A向域X内的节点B发送调度指令实现调度域X内的节点B的接收进程。
步骤S1204:在域X内的节点A的消息发送进程从应用队列中读取到对应于待传输信息的消息索引的情况下,根据待传输信息的消息索引,从消息队列中读取待传输信息,通过发送进程将待传输信息传输给域Y内的节点A的消息队列(该消息队列对应于域Y/节点A/第七应用),同时将该待传输信息的消息索引存储到域Y内的应用队列(该应用队列对应于域Y/节点A/第七应用);
步骤S1205:通过应用队列寻址构建域X内的节点B的消息发送进程与域Y内的节点A的消息接收进程之间的消息传输通道2;
步骤S1206:通过消息传输通道2将域X内的节点B的应用消息队列中的待传输信息传输给域Y内的节点A的应用消息队列(该应用消息队列对应于域Y内的节点B的第七应用),并将该待传输信息的消息索引存储到域Y内的节点A的应用队列(该应用队列对应于域Y内的节点B的第七应用);
步骤S1207:通过应用队列寻址构建域Y内的节点A的消息发送进程与域Y内的节点B的消息接收进程之间的消息传输通道3;
步骤S1208:通过消息传输通道3将域Y内的节点A的应用消息队列中的待传输信息传输给域Y内的节点B的应用消息队列(该应用消息队列对应于域Y内的节点B的第七应用),并将该待传输信息的消息索引存储到域Y内的节点B的应用队列(该应用队列对应于域Y内的节点B的第七应用);
步骤S1209:域Y的节点B响应于接收到应用消息队列的待传输信息后,触发待传输信息所绑定的应用程序运行。
值得说明的是,上述转码一般是与信息发送节点与信息的最终接收节点的运行系统相关,即在信息发送节点的运行系统与信息的最终接收节点的运行系统相同的情况下,不论网关节点的运行系统是哪一类,均无需转码。在信息发送节点的运行系统与信息的最终接收节点的运行系统不相同的情况下,不论网关节点的运行系统是哪一类,均需转码。
综上,如图13所示,在域内或者域之间的各个节点(该节点可以安装有运行系统A或者运行系统B等)通过各个节点(域内节点、网关节点)的系统进程同步配置文件,该配置文件可包括控制文件以及队列清单文件等;为各个域内节点以及网关节点上的应用程序配置消息绑定;各个节点配置有对应于不同节点的不同应用的应用队列以及消息队列,比如发送用户的节点所配置的应用队列和消息队列分别为:msgbox/send/域/节点/应用队列、msgbox/send/域/节点/消息数据文件;又比如,接收用户的节点所配置的应用队列和消息队列分别为:msgbox/user/应用队列、msgbox/user/应用名称/消息数据文件。
进一步地,如图13所示,实现信息传输的具体过程可包括:为各个域内节点配置有初始消息队列;在任一消息队列的消息数量为0的情况下,向初始队列发送包含有应用队列名称的通知消息;通过扫描进程守护初始队列,在扫描进程读取到通知消息后,根据应用队列的情况,确定是否启动一个用于传输待传输信息的新发送进程;接收用户的节点的监听进程在监听到针对其的发送进程,构建消息发送进程与消息接收进程之间的消息传输通道;通过消息传输通道传输信息。
如图14A所示,本发明实施例提供一种跨平台信息传输系统1400,该跨平台信息传输系统1400可包括:多种平台1401,其中,
多种平台1401中的第一种平台,用于确定其第一应用进程封装的第一待传输信息,其中,封装的第一待传输信息包括:第一消息头和第一消息体;并调用第一应用进程对应的发送接口,在多种平台中的第二种平台的系统与第一种平台的系统不同的情况下,通过发送接口将第一消息体进行第一类转码;调用第一种平台的发送进程,并将封装的第一消息头和第一类转码后的第一消息体传输给发送进程,并通过第一种平台的发送进程对第一消息头进行第一类转码,并将封装的第一类转码后的第一消息头和第一类转码后的第一消息体传输给第二种平台,其中,第一种平台为非ASCII码平台,第二种平台为ASCII码平台。
在本发明实施例中,第一种平台,用于在其接收进程接收到第二种平台发送的封装的第二待传输信息的情况下,通过接收进程将第二待传输信息包括的第二消息头进行第二类转码,其中,第二类转码与第一类转码互为逆向转码;通过其接收进程解析转码后的第二消息头;第一种平台的接收进程根据从第二消息头中解析出的第二应用进程地址,调用第二应用进程的接收接口;通过第二应用进程的接收接口对第二待传输信息包括的第二消息体进行第二类转码,并将转码后的第二消息头和转码后的第二消息体发送给第二应用进程。
在本发明实施例中,如图14B所示,上述跨平台信息传输系统1400包括有多个域1402,每一个域设置有网关节点1403以及多个域内节点1404,其中,网关节点1403以及每一个域内节点1404属于第一种平台或者第二种平台;即网关节点1403以及每一个域内节点1404属于平台1401;
同一域中的多个域内节点1404之间相互通信;
多个域1401之间通信流程包括:通过第一域中的域内节点1404发送待传输信息给第一域中的网关节点1403;通过第一域中的网关节点1403发送待传输信息给第二域中的网关节点1403;通过第二域中的网关节点1403发送待传输信息给第二域中的域内节点1404。
在本发明实施例中,每一个域1402,执行:在域中的任一域内节点接收到配置文件的情况下,调用系统进程将配置文件同步至域中的其他域内节点。
在本发明实施例中,域内节点1404上的应用程序配置有消息绑定;响应于域内节点1404接收到待传输信息后,触发待传输信息所绑定的应用程序运行。
在本发明实施例中,各个域内节点1404配置有对应于不同域内节点的不同应用的应用队列以及消息队列,其中,应用队列用于放置指示待传输信息的部分或全部传输路径的消息索引,消息队列用于放置待传输的信息;基于应用队列放置的消息索引以及消息队列放置的待传输信息,执行同一域内多个域内节点1404之间相互通信或者多个域之间通信流程。
在本发明实施例中,针对每一个域1402,执行:构建域1402中的第一域内节点的消息发送进程与第二域内节点的消息接收进程之间的消息传输通道;在第一域内节点的消息发送进程从应用队列中读取到对应于待传输信息的消息索引的情况下,根据待传输信息的消息索引,从消息队列中读取待传输信息,并通过消息传输通道传输待传输信息给第二域内节点的消息接收进程。
在本发明实施例中,第一域1402中的域内节点1404,用于查询其配置的应用队列,根据应用队列的消息索引,确定第一域中的网关节点,并从消息队列中获取待传输信息,将待传输信息传输给第一域中的网关节点1403。
在本发明实施例中,第一域1402中的网关节点1403,用于第一域中的网关节点1403查询其配置的应用队列,根据应用队列的消息索引,确定第二域中的网关节点1403,并将待传输信息传输给第二域中的网关节点1403。
在本发明实施例中,第二域1402中的网关节点1403,用于查询其配置的应用队列,根据应用队列的消息索引,确定第二域1402中的域内节点1404,并将待传输信息传输给第二域中的域内节点1404。
在本发明实施例中,每一个域内节点1404,用于将接收到的信息放置到信息所属应用的消息队列中,并将对应于信息的消息索引放置到信息所属应用的应用队列中,以供应用进程调取。
在本发明实施例中,域内节点1404配置有初始消息队列;域内节点1404,用于在任一消息队列的消息数量为0的情况下, 向初始队列发送包含有应用队列名称的通知消息,以使应用调用对应的接口发送待传输信息给对应的消息队列,并发送对应于待传输信息的消息索引给对应的应用队列;通过扫描进程守护初始队列,在扫描进程读取到通知消息后,根据应用队列的情况,确定是否启动一个用于传输待传输信息的新发送进程,以通过新发送进程发送待传输信息。
需要说明的是,本发明实施例所提供的跨平台信息传输方法一般由跨平台信息传输系统1400执行。
应该理解,图14B中的域、网关节点、域内节点的数目仅仅是示意性的。根据实现需要,可以具有任意数目的域、网关节点、域内节点。
下面参考图15,其示出了适于用来实现本发明实施例的域内节点或者网关节点的计算机系统1500的结构示意图。图15示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图15所示,计算机系统1500包括中央处理单元(CPU)1501,其可以根据存储在只读存储器(ROM)1502中的程序或者从存储部分1508加载到随机访问存储器(RAM)1503中的程序而执行各种适当的动作和处理。在RAM 1503中,还存储有系统1500操作所需的各种程序和数据。CPU 1501、ROM 1502以及RAM 1503通过总线1504彼此相连。输入/输出(I/O)接口1505也连接至总线1504。
以下部件连接至I/O接口1505:包括键盘、鼠标等的输入部分1506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1507;包括硬盘等的存储部分1508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1509。通信部分1509经由诸如因特网的网络执行通信处理。驱动器1510也根据需要连接至I/O接口1505。可拆卸介质1511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1510上,以便于从其上读出的计算机程序根据需要被安装入存储部分1508。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1509从网络上被下载和安装,和/或从可拆卸介质1511被安装。在该计算机程序被中央处理单元(CPU)1501执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的平台可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的平台也可以设置在处理器中。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:确定第一种平台中的第一应用进程封装的第一待传输信息,其中,封装的第一待传输信息包括:第一消息头和第一消息体;调用第一应用进程对应的发送接口,在第二种平台的系统与第一种平台的系统不同的情况下,通过发送接口将第一消息体进行第一类转码;调用第一种平台的发送进程,并将封装的第一消息头和第一类转码后的第一消息体传输给发送进程,并通过第一种平台的发送进程对第一消息头进行第一类转码,并将封装的第一类转码后的第一消息头和第一类转码后的第一消息体传输给第二种平台,其中,第一种平台为非ASCII码平台,第二种平台为ASCII码平台。
根据本发明实施例的技术方案,在第二种平台的系统与第一种平台的系统不同的情况下,通过调用第一应用进程对应的发送接口将该第一种平台的第一应用进程封装的第一待传输信息的第一消息体进行第一类转码;并将封装的第一消息头和第一类转码后的第一消息体传输给发送进程,通过第一种平台的发送进程对第一消息头进行第一类转码,并将封装的第一类转码后的第一消息头和第一类转码后的第一消息体传输给第二种平台,即通过应用的发送接口进行消息体转码,发送进程进行消息头转码,以使转码后的消息能够被第二类平台所识别,从而实现跨平台传输信息。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (14)
1.一种跨平台信息传输方法,其特征在于,包括:
确定第一种平台中的第一应用进程封装的第一待传输信息,其中,封装的第一待传输信息包括:第一消息头和第一消息体;
调用所述第一应用进程对应的发送接口,在第二种平台的系统与所述第一种平台的系统不同的情况下,通过所述发送接口将所述第一消息体进行第一类转码;
调用所述第一种平台的发送进程,并将封装的第一消息头和第一类转码后的第一消息体传输给所述发送进程,并通过所述第一种平台的发送进程对所述第一消息头进行第一类转码,并将封装的第一类转码后的第一消息头和第一类转码后的第一消息体传输给第二种平台,其中,所述第一种平台为非ASCII码平台,所述第二种平台为ASCII码平台。
2.根据权利要求1所述的跨平台信息传输方法,其特征在于,还包括:
在所述第一种平台的接收进程接收到所述第二种平台发送的封装的第二待传输信息的情况下,所述第一种平台的接收进程将所述第二待传输信息包括的第二消息头进行第二类转码,其中,所述第二类转码与所述第一类转码互为逆向转码;
通过所述第一种平台的接收进程解析转码后的第二消息头;
所述第一种平台的接收进程根据从所述第二消息头中解析出的第二应用进程地址,调用第二应用进程的接收接口;
通过所述第二应用进程的接收接口对所述第二待传输信息包括的第二消息体进行第二类转码,并将转码后的第二消息头和转码后的第二消息体发送给所述第二应用进程。
3.根据权利要求1所述的跨平台信息传输方法,其特征在于,还包括:
构建有多个域,每一个域设置有网关节点以及多个域内节点,其中,所述网关节点以及每一个所述域内节点属于所述第一种平台或者所述第二种平台;
同一域中的多个所述域内节点之间相互通信;
多个域之间通信流程包括:
通过第一域中的域内节点发送待传输信息给所述第一域中的网关节点;
通过所述第一域中的网关节点发送所述待传输信息给第二域中的网关节点;
通过所述第二域中的网关节点发送所述待传输信息给所述第二域中的域内节点。
4.根据权利要求3所述的跨平台信息传输方法,其特征在于,还包括:
针对每一个所述域,执行下述操作:
在所述域中的任一域内节点接收到配置文件的情况下,调用系统进程将所述配置文件同步至所述域中的其他域内节点。
5.根据权利要求3所述的跨平台信息传输方法,其特征在于,还包括:所述域内节点上的应用程序配置有消息绑定;
响应于所述域内节点接收到所述待传输信息后,触发所述待传输信息所绑定的应用程序运行。
6.根据权利要求3所述的跨平台信息传输方法,其特征在于,还包括:
各个所述域内节点配置有对应于不同域内节点的不同应用的应用队列以及消息队列,其中,所述应用队列用于放置指示待传输信息的部分或全部传输路径的消息索引,所述消息队列用于放置所述待传输的信息;
基于所述应用队列放置的消息索引以及所述消息队列放置的待传输信息,执行同一域内多个所述域内节点之间相互通信或者多个域之间通信流程。
7.根据权利要求6所述的跨平台信息传输方法,其特征在于,所述同一域中的多个所述域内节点之间相互通信,包括:
针对每一个域,执行下述操作:
构建所述域中的第一域内节点的消息发送进程与第二域内节点的消息接收进程之间的消息传输通道;
在所述第一域内节点的消息发送进程从所述应用队列中读取到对应于所述待传输信息的消息索引的情况下,根据所述待传输信息的消息索引,从所述消息队列中读取所述待传输信息,并通过所述消息传输通道传输所述待传输信息给所述第二域内节点的消息接收进程。
8.根据权利要求6所述的跨平台信息传输方法,其特征在于,
所述通过第一域中的域内节点发送待传输信息给所述第一域中的网关节点,包括:第一域中的域内节点查询其配置的应用队列,根据所述应用队列的消息索引,确定第一域中的网关节点,并从所述消息队列中获取所述待传输信息,将所述待传输信息传输给所述第一域中的网关节点;
和/或,
所述通过所述第一域中的网关节点发送所述待传输信息给第二域中的网关节点,包括:第一域中的网关节点查询其配置的应用队列,根据所述应用队列的消息索引,确定第二域中的网关节点,并将所述待传输信息传输给所述第二域中的网关节点;
和/或,
所述通过所述第二域中的网关节点发送所述待传输信息给所述第二域中的域内节点,包括:第二域中的网关节点查询其配置的应用队列,根据所述应用队列的消息索引,确定第二域中的域内节点,并将所述待传输信息传输给所述第二域中的域内节点。
9.根据权利要求6所述的跨平台信息传输方法,其特征在于,还包括:
针对每一个所述域内节点,执行下述操作:
将接收到的信息放置到所述信息所属应用的消息队列中,并将对应于所述信息的消息索引放置到所述信息所属应用的应用队列中,以供应用进程调取。
10.根据权利要求6所述的跨平台信息传输方法,其特征在于,还包括:为各个所述域内节点配置有初始消息队列;
在任一所述消息队列的消息数量为0的情况下, 向所述初始消息队列发送包含有应用队列名称的通知消息,以使应用调用对应的接口发送待传输信息给对应的消息队列,并发送对应于所述待传输信息的消息索引给对应的应用队列;
通过扫描进程守护所述初始消息队列,在所述扫描进程读取到所述通知消息后,根据所述应用队列的情况,确定是否启动一个用于传输所述待传输信息的新发送进程,以通过所述新发送进程发送所述待传输信息。
11.根据权利要求1至3任一所述的跨平台信息传输方法,其特征在于,
所述第一种平台为AS/400平台。
12.一种跨平台信息传输系统,其特征在于,包括:多种平台,其中,
多种所述平台中的第一种平台,用于确定其第一应用进程封装的第一待传输信息,其中,封装的第一待传输信息包括:第一消息头和第一消息体;并调用第一应用进程对应的发送接口,在多种所述平台中的第二种平台的系统与所述第一种平台的系统不同的情况下,通过所述发送接口将所述第一消息体进行第一类转码;调用所述第一种平台的发送进程,并将封装的第一消息头和第一类转码后的第一消息体传输给所述发送进程,并通过所述第一种平台的发送进程对所述第一消息头进行第一类转码,并将封装的第一类转码后的第一消息头和第一类转码后的第一消息体传输给第二种平台,其中,所述第一种平台为非ASCII码平台,所述第二种平台为ASCII码平台。
13.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-10中任一所述的方法。
14.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-10中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310111702.6A CN115827283B (zh) | 2023-02-09 | 2023-02-09 | 一种跨平台信息传输方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310111702.6A CN115827283B (zh) | 2023-02-09 | 2023-02-09 | 一种跨平台信息传输方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115827283A true CN115827283A (zh) | 2023-03-21 |
CN115827283B CN115827283B (zh) | 2023-05-26 |
Family
ID=85521291
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310111702.6A Active CN115827283B (zh) | 2023-02-09 | 2023-02-09 | 一种跨平台信息传输方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115827283B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116860488A (zh) * | 2023-09-04 | 2023-10-10 | 腾讯科技(深圳)有限公司 | 一种进程通信方法和相关装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070104097A1 (en) * | 2005-09-23 | 2007-05-10 | Widevine Technologies, Inc. | Transitioning to secure ip communications for encoding, encapsulating, and encrypting data |
CN1996854A (zh) * | 2006-12-22 | 2007-07-11 | 中国建设银行股份有限公司 | 不同应用系统间数据交换的统一处理系统及方法 |
CN103532959A (zh) * | 2013-10-21 | 2014-01-22 | 济南政和科技有限公司 | 一种跨平台网络通信方法 |
CN110784492A (zh) * | 2019-11-22 | 2020-02-11 | 上海麦腾物联网技术有限公司 | 一种跨平台物联网通讯组件、系统及方法 |
CN112671760A (zh) * | 2020-12-22 | 2021-04-16 | 平安普惠企业管理有限公司 | 基于Socket的客户端跨平台网络通信方法及其相关设备 |
CN113949728A (zh) * | 2021-09-30 | 2022-01-18 | 珠海格力电器股份有限公司 | 不同平台设备同步的方法、第一平台和第二平台 |
-
2023
- 2023-02-09 CN CN202310111702.6A patent/CN115827283B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070104097A1 (en) * | 2005-09-23 | 2007-05-10 | Widevine Technologies, Inc. | Transitioning to secure ip communications for encoding, encapsulating, and encrypting data |
CN1996854A (zh) * | 2006-12-22 | 2007-07-11 | 中国建设银行股份有限公司 | 不同应用系统间数据交换的统一处理系统及方法 |
CN103532959A (zh) * | 2013-10-21 | 2014-01-22 | 济南政和科技有限公司 | 一种跨平台网络通信方法 |
CN110784492A (zh) * | 2019-11-22 | 2020-02-11 | 上海麦腾物联网技术有限公司 | 一种跨平台物联网通讯组件、系统及方法 |
CN112671760A (zh) * | 2020-12-22 | 2021-04-16 | 平安普惠企业管理有限公司 | 基于Socket的客户端跨平台网络通信方法及其相关设备 |
CN113949728A (zh) * | 2021-09-30 | 2022-01-18 | 珠海格力电器股份有限公司 | 不同平台设备同步的方法、第一平台和第二平台 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116860488A (zh) * | 2023-09-04 | 2023-10-10 | 腾讯科技(深圳)有限公司 | 一种进程通信方法和相关装置 |
CN116860488B (zh) * | 2023-09-04 | 2024-01-30 | 腾讯科技(深圳)有限公司 | 一种进程通信方法和相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN115827283B (zh) | 2023-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109274731B (zh) | 基于多租户技术的web服务的部署、调用方法和装置 | |
CN107967143B (zh) | 获取客户端应用程序源代码的更新指示信息的方法、装置和系统 | |
CN100499542C (zh) | 供应应用服务器数据的方法 | |
US11134040B2 (en) | Managing customer relationship using multiple chat servers designed to interface with service applications | |
US20080163269A1 (en) | Remote procedure call system, remote procedure call method, program for implementing remote procedure call system | |
CN110795147A (zh) | 一种接口协议文件管理方法和装置 | |
CN110321252B (zh) | 一种技能服务资源调度的方法和装置 | |
CN115827283B (zh) | 一种跨平台信息传输方法和系统 | |
CN105468709A (zh) | 基于HBase的数据查询装置及数据查询方法 | |
CN113794909A (zh) | 视频流传输系统、方法、服务器、装置以及存储介质 | |
CN101483562B (zh) | 一种例行测试的方法、系统及相关设备 | |
US20070094278A1 (en) | Data transfer services | |
CN103155530A (zh) | 包括将脚本命令下载至用户终端的网络-电信融合 | |
CN110515741A (zh) | 一种基于本地任务队列的降级处理方法和装置 | |
CN111324467B (zh) | 业务服务调用方法、装置、设备和存储介质 | |
CN114285793A (zh) | 一种分发方法、装置、设备和存储介质 | |
US11349729B2 (en) | Network service requests | |
CN112817779A (zh) | 组件化应用程序通信方法、装置、设备及介质 | |
CN112905273A (zh) | 一种服务调用方法和装置 | |
CN115469841A (zh) | 一种应用于iOS终端的请求处理方法和装置 | |
CN113973139A (zh) | 一种消息处理的方法和装置 | |
CN114090397A (zh) | 一种告警信息处理方法和装置 | |
CN112306984A (zh) | 一种数据源路由方法和装置 | |
CN112214500A (zh) | 数据对比的方法、装置、电子设备和存储介质 | |
CN114979308B (zh) | 一种消息处理的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |