一种消息传输的方法及系统的制作方法_3

文档序号:9276641阅读:来源:国知局
编码后的数据对象可以如下:
[0108]{ “MemberNamel ”:“MemberValuel ”,…,“MemberNameN”:“MemberValueN” }
[0109]其中,MemberName 1、......、MemberNameN表不数据结构体中成员名称,
MemberValuel、......、MemberValueN表示数据结构体中成员名称对应的数值。
[0110]容易知道,JSON是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,易于人阅读和编写、机器解析和生成。特别地,JSON与目前常用的轻量级XML相比,除了与XML不相上下的可读性、扩展性、以及编码难度低,还具有良好的解码难度,因此JSON的性能要优于XML。而且XML具有很多结构上的字符,极大地占用了传输带宽,因此采用JSON传输效率更高、占用通信信道带宽更小。
[0111]步骤104:源系统将编码后的数据对象发送给目标系统。
[0112]可选地,源系统和目标系统之间可以设有消息代理(Transform Agent,简称TA)。在执行步骤104的过程中,源系统先将编码后的数据对象发送给消息代理,再由消息代理将编码后的数据对象发送给目标系统。
[0113]具体地,该步骤104可以包括:
[0114]消息代理接收源系统发送的数据对象;
[0115]将接收的数据对象缓存;
[0116]向目标系统发送缓存的数据对象。
[0117]可以理解地,消息代理将编码后的数据对象缓存后发送给目标系统,而不是即时发送给目标系统,避免目标系统由于系统繁忙而没有接收到数据对象,提高了数据对象传输的可靠性。优选地,消息代理可以在接收到目标系统发送的表示接收到数据对象的确认消息之后,再删除缓存的数据对象。
[0118]步骤105:目标系统基于通用格式对数据对象的要求,对接收的数据对象按照JSON格式进行解码。
[0119]其中,解码为编码的逆过程,即反序列化,将采用一串序列表示的各个成员名称和对应的数值转换为数据结构体形式,数据结构体中一个成员名称和对应的数值表示一个数据对象。
[0120]可以理解地,由于源系统和目标系统均将其数据结构格式设定为通用格式,并基于JSON格式编码和译码,因此目标系统在对接收的数据对象进行解码之后,可以得到按照通用格式创建的数据对象。
[0121]例如,解码后的数据对象如下:
[0122]dataSample.MemberNamel = “MemberValuel” ;
[0123]…
[0124]dataSample.MemberNameN = “MemberValueN” ;
[0125]其中,dataSample表不数据结构体名称,MemberNamel、......、MemberNameN 表不数据结构体中成员名称,MemberValuel、......、MemberValueN表示数据结构体中成员名称对应的数值。
[0126]步骤106:目标系统从解码后的数据对象中获取数据。
[0127]具体地,由于源系统和目标系统均将其数据结构格式设定为通用格式,因此目标系统可以从解码后的数据对象中获取数据。
[0128]例如,从解码后的数据对象中获取到,有一个数据结构体dataSample包括N个成员,分别为MemberName 1、......、MemberNameN,各个成员对应的数值分别为
MemberValuel、......、MemberValueN。
[0129]本发明实施例通过将源系统和目标系统的数据结构格式均设定为通用格式,源系统和目标系统均可以准确且有效的识别采用通用格式承载的消息,与源系统和目标系统的操作系统或依赖的编程开发平台无关,实现了异构系统的消息传输。
[0130]实施例二
[0131]本发明实施例提供了一种源系统,参见图3,该源系统包括:
[0132]设定模块201,用于将源系统的数据结构格式设定为通用格式,通用格式为源系统和目标系统共同采用的数据结构格式;
[0133]创建模块202,用于创建数据对象,创建的数据对象符合通用格式对数据对象的要求;
[0134]编码模块203,用于对创建的数据对象按照JSON格式进行编码;
[0135]发送模块204,用于向目标系统发送编码后的数据对象。
[0136]具体地,通用格式对数据对象的要求可以包括:
[0137]数据结构体名称的字符和大小写在数据结构体所属的系统中均保持一致;
[0138]数据结构体中成员名称的字符和大小写在数据结构体所属的系统中均保持一致;
[0139]数据结构体中成员类型的描述方式在数据结构体所属的系统中保持一致;
[0140]数据结构体中嵌套关系在数据结构体所属的系统中保持一致;
[0141]数据结构体名称与数据结构体中成员名称在数据结构体所属的系统中不重复。
[0142]本发明实施例通过将源系统和目标系统的数据结构格式均设定为通用格式,源系统和目标系统均可以准确且有效的识别采用通用格式承载的消息,与源系统和目标系统的操作系统或依赖的编程开发平台无关,实现了异构系统的消息传输。
[0143]实施例三
[0144]本发明实施例提供了一种目标系统,参见图4,该目标系统包括:
[0145]设定模块301,用于将目标系统的数据结构格式设定为通用格式,通用格式为源系统和目标系统共同采用的数据结构格式;
[0146]接收模块302,用于接收源系统发送的数据对象;
[0147]解码模块303,用于基于通用格式对数据对象的要求,对接收的数据对象按照JSON格式进行解码;
[0148]获取模块304,用于从解码后的数据对象中获取数据。
[0149]具体地,通用格式对数据对象的要求可以包括:
[0150]数据结构体名称的字符和大小写在数据结构体所属的系统中均保持一致;
[0151]数据结构体中成员名称的字符和大小写在数据结构体所属的系统中均保持一致;
[0152]数据结构体中成员类型的描述方式在数据结构体所属的系统中保持一致;
[0153]数据结构体中嵌套关系在数据结构体所属的系统中保持一致;
[0154]数据结构体名称与数据结构体中成员名称在数据结构体所属的系统中不重复。
[0155]本发明实施例通过将源系统和目标系统的数据结构格式均设定为通用格式,源系统和目标系统均可以准确且有效的识别采用通用格式承载的消息,与源系统和目标系统的操作系统或依赖的编程开发平台无关,实现了异构系统的消息传输。
[0156]实施例四
[0157]本发明实施例提供了一种消息传输的系统,参见图5,该系统包括互为异构系统的源系统501和目标系统502。
[0158]源系统501用于,将源系统的数据结构格式设定为通用格式;创建数据对象,创建的数据对象符合通用格式对数据对象的要求;对创建的数据对象按照JSON格式进行编码;向目标系统发送编码后的数据对象;
[0159]目标系统502用于,将目标系统的数据结构格式设定为通用格式;接收源系统发送的数据对象;基于通用格式对数据对象的要求,对接收的数据对象按照JSON格式进行解码;从解码后的数据对象中获取数据;
[0160]其中,通用格式为源系统和目标系统共同采用的数据结构格式。
[0161]具体地,通用格式对数据对象的要求可以包括:
[0162]数据结构体名称的字符和大小写在数据结构体所属的系统中均保持一致;
[0163]数据结构体中成员名称的字符和大小写在数据结构体所属的系统中均保持一致;
[0164]数据结构体中成员类型的描述方式在数据结构体所属的系统中保持一致;
[0165]数据结
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1