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

文档序号:9276641阅读:来源:国知局
持一致;
[0061]数据结构体中嵌套关系在所述数据结构体所属的系统中保持一致;
[0062]数据结构体名称与数据结构体中成员名称在所述数据结构体所属的系统中不重复。
[0063]本发明实施例提供的技术方案带来的有益效果是:
[0064]通过将源系统和目标系统的数据结构格式均设定为通用格式,源系统和目标系统均可以准确且有效的识别采用通用格式承载的消息,与源系统和目标系统的操作系统或依赖的编程开发平台无关,实现了异构系统的消息传输。
【附图说明】
[0065]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0066]图1是本发明实施例提供的消息传输的方法的应用场景图;
[0067]图2是本发明实施例一提供的一种消息传输的方法的交互流程图;
[0068]图3是本发明实施例二提供的一种源系统的结构示意图;
[0069]图4是本发明实施例三提供的一种目标系统的结构示意图;
[0070]图5是本发明实施例四提供的一种消息传输的系统的结构示意图。
【具体实施方式】
[0071]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0072]下面先结合图1简单介绍一下本发明实施例提供的消息传输的方法的应用场景(即异构系统)。如图1所示,互为异构系统的系统A、系统B、系统C、系统D四个系统分别与一个中间设备E (如消息代理)连接,从而实现系统A、系统B、系统C、系统D四个系统之间的消息传输。
[0073]需要说明的是,异构系统包括的系统数量、各个系统之间的具体连续方式仅为举例,本发明对此不作限制。
[0074]实施例一
[0075]本发明实施例提供了一种消息传输的方法,适用于异构系统之间的消息传输,参见图2,该方法包括:
[0076]步骤101:源系统将源系统的数据结构格式设定为通用格式,目标系统将目标系统的数据结构格式设定为通用格式。
[0077]其中,消息的发送方为源系统,消息的接收方为目标系统。源系统和目标系统互为异构系统。具体地,源系统和目标系统的操作系统不同或开发所应用的编程平台不同。例如(操作系统不同),源系统为Linux系统,目标系统为Windows系统。又如(开发所应用的编程平台不同),源系统为.NET系统,目标系统为JAVA系统。
[0078]通用格式为源系统和目标系统共同采用的数据结构格式。进一步地,通用格式对数据对象的要求满足所有类型的系统,也就是说,通用格式适用于所有类型的系统。比如,系统A对数据对象的要求为要求1,系统B对数据对象的要求为要求2,通用格式对数据对象的要求为同时满足要求I和要求2的要求。当系统A和系统B的数据格式均设定为通用格式之后,系统A和系统B对数据对象的要求就是相同的,并且该要求同时适用系统A和系统B。同样地,在步骤101执行之后,源系统和目标系统的数据格式均设定为通用格式,因此源系统和目标系统的数据格式是相同的,对数据对象的要求是相同的,并且该要求可以同时适用于源系统和目标系统,使得源系统和目标系统之间传输的消息可以被有效识别,实现了源系统和目标系统之间的消息传输。
[0079]具体地,该类型可以为操作系统,也可以为开发所应用的编程平台。更具体地,当该类型为操作系统时,通用格式适用于所有操作系统的系统,如Linux系统、Windows系统等。当该类型为编程平台时,通用格式适用于所有编程平台所开发的系统,如.NET系统、JAVA系统、C系统、C++系统等。
[0080]具体地,通用格式对数据对象的要求可以包括:
[0081]数据结构体名称的字符和大小写在数据结构体所属的系统中均保持一致,例如,DataStructNameI 不會κ写成 datastructnameI ;
[0082]数据结构体中成员名称的字符和大小写在数据结构体所属的系统中均保持一致,例如,MemberNamel 不能写成 membernamel ;
[0083]数据结构体中成员类型的描述方式在数据结构体所属的系统中保持一致,例如,字符串均用string定义,整型均用int描述;
[0084]数据结构体中嵌套关系在数据结构体所属的系统中保持一致,例如,数据结构体DataStructNamel中成员MemberNamel不能写成数据结构体datastructnamel中成员MemberNameI,或者数据结构体 DataStructNamel 中成员 membernamel ;
[0085]数据结构体名称与数据结构体中成员名称在数据结构体所属的系统中不重复,例如,数据结构体名称和数据结构体中成员名称不能均为Namel。
[0086]举例来说,满足通用格式对数据对象的要求的数据结构格式可以如下:
[0087]Public class DataStructNameI
[0088]{
[0089]MemberType MemberNamel ;
[0090]…
[0091]MemberType MemberNameN ;
[0092]}
[0093]其中,DataStructNamel表示数据结构体名称,MemberType表示数据结构体中成员类型,MemberName1、......、MemberNameN表不数据结构体中成员名称。
[0094]可以理解地,执行步骤101时,源系统和目标系统可以同时将其数据结构格式设定为通用格式,也可以分别将其数据结构格式设定为通用格式,本发明对此不作限定。
[0095]在执行步骤101之后,由于源系统和目标系统的数据结构格式均设定为通用格式,通用格式对数据对象的要求满足所有类型的系统,因此异构系统之间消息的传输与各个系统的操作系统不同或开发所应用的编程平台无关,源系统和目标系统均可以准确且有效的识别采用通用格式承载的消息,实现了异构系统之间消息传输的统一性。
[0096]特别地,对于一个异构系统包括不止两种类型的系统的情况,由于所有系统的数据结构格式均设定为通用格式,因此所有系统都可以识别采用通用格式承载的消息,不需要针对系统的类型数量增加消息中间件,导致异构系统繁琐,也不存在各个消息中间件无法协同的问题。
[0097]步骤102:源系统创建数据对象,创建的数据对象符合通用格式对数据对象的要求。
[0098]具体地,步骤102中的创建数据对象可以与现有技术中创建数据对象的具体实现方式相同,本申请可以只更改数据对象创建过程中所遵循的要求,在此不再详述。
[0099]例如,创建的数据对象可以如下:
[0100]DataStructName dataSample = new DataStructName();
[0101]dataSample.MemberNamel = “MemberValuel” ;
[0102]…
[0103]dataSample.MemberNameN = “MemberValueN” ;
[0104]其中,dataSample表不数据结构体名称,MemberNamel、......、MemberNameN 表不数据结构体中成员名称,MemberValuel、......、MemberValueN表示数据结构体中成员名称对应的数值。
[0105]步骤103:对创建的数据对象按照JSON格式进行编码。
[0106]其中,编码就是进行序列化,将采用数据结构体形式表示的多个数据对象编写为一串序列,一个数据对象包括数据结构体中一个成员名称和对应的数值,序列中依次为各个成员名称和对应的数值。
[0107]例如,
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1