著录项信息
专利名称 | 一种传输系统数据的系统及方法 |
申请号 | CN201210504619.7 | 申请日期 | 2012-11-30 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2013-03-13 | 公开/公告号 | CN102970112A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L1/00 | IPC分类号 | H;0;4;L;1;/;0;0;;;H;0;4;L;1;2;/;5;8查看分类表>
|
申请人 | 中国电子科技集团公司第十五研究所 | 申请人地址 | 北京市海淀区北四环中路211号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 中国电子科技集团公司第十五研究所 | 当前权利人 | 中国电子科技集团公司第十五研究所 |
发明人 | 安洋;陈雪松;栾明君;张立松;焦金禹;代启亮;杨梅;文辽兵 |
代理机构 | 北京市京大律师事务所 | 代理人 | 黄启行;方晓明 |
摘要
本发明公开了一种利用企业服务总线来进行传输系统数据的系统及方法,该系统和方法利用消息中间件的传输稳定性和企业服务总线的控制能力,统一处理解决多系统间的数据上报、下发等数据传输业务,业务系统只需要负责将数据传输命令发出,不用负责目标数据库的类型和具体结构。传输数据的查找、打包、数据转换、投递处理通过企业服务总线和源端消息服务器、目标消息服务器的交互完成,该交互过程可以即时同步进行,还可以是异步离线进行。该系统和方法可以适应复杂多变的数据库类型、数据结构,各子系统、子模块不用单独进行编码,提高了系统的可维护性,降低了系统的复杂度,使系统整体的开发效率、灵活性和稳定性得到极大提高。
1.一种传输系统数据的方法,该方法包括以下步骤:
业务系统将传输命令通过接口的方式,发送消息到源端消息服务器上;
源端企业服务总线程序定时从源端消息服务器上读取消息,解析消息,在源端数据库查找到需要投递到目标系统数据库的数据;
源端企业服务总线将所述查找到的数据处理为符合投递要求的数据,然后将处理后的数据发送到源端消息服务器上;
源端消息服务器将处理后的数据投递到目标消息服务器上;
目标企业服务总线程序定时从目标消息服务器上提取消息,解析消息,在目标数据库服务器上完成数据传输。
2.根据权利要求1所述的方法,其特征在于,所述源端消息服务器和所述目标消息服务器发送和接收消息是异步进行的,进一步,所述源端消息服务器和所述目标消息服务器发送和接收消息还可以是离线进行的,所述源端消息服务器和所述目标消息服务器为异步离线消息的中转站。
3.根据权利要求1所述的方法,其特征在于,所述的方法进一步还包括日志记录步骤,该步骤对各个步骤的操作日志以及各个步骤之间消息传递的日志进行日志记录,以保证全过程可审计和查询。
4.根据权利要求1所述的方法,其特征在于,所述业务系统的传输命令包括上报、下发、发布三组命令集,分别对应业务系统中对上级系统的数据报送、对下级系统的数据下发及对于所有系统的数据共享业务。
5.根据权利要求1所述的方法,其特征在于,所述接口的方式,包括不限于socket、jms、webservice、HTTP。
6.根据权利要求1所述的方法,其特征在于,所述源端消息服务器上的消息包含源地址、目标地址、业务代码和数据传输命令。
7.根据权利要求1所述的方法,其特征在于,所述源端企业服务总线程序定时从源端消息服务器上读取消息后,将消息的状态设置为“已读取”。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括,在源端数据库查找到需要投递到目标系统数据库的数据后,进一步还包括,对查找到的数据进行检测,判断数据是否符合数据传输条件,结果如果为“是”,所述源端企业服务总线将所述查找到的数据处理为符合投递要求的数据,如果判断结果为“否”,则将消息的状态设置为“检测失败”,同时源端消息服务器通知业务系统重新发送传输命令。
9.根据权利要求8所述的方法,其特征在于,所述检测包括判断数据量是否符合传输大小要求,或检测数据状态是否处于非编辑状态。
10.根据权利要求1所述的方法,其特征在于,所述源端企业服务总线将所述查找到的数据处理为符合投递要求的数据,所述的处理过程为:在源端企业服务总线中对所述查找到的数据进行数据转换,包括不限于为不同的数据库类型的转换、不同数据结构的转换,不同SQL脚本的转换。
11.根据权利要求10所述的方法,其特征在于,所述源端企业服务总线将所述查找到的数据处理为符合投递要求的数据,所述的处理过程进一步还包括,将数据转换后的数据进行Base64编码处理,然后将Base64编码后消息体数据和消息头数据进行进一步组合形成新的数据包,所述消息头数据包括源地址、目标地址、业务代码和数据传输命令。
12.根据权利要求11所述的方法,其特征在于,所述源端企业服务总线将所述查找到的数据处理为符合投递要求的数据后,进一步还包括,判断数据转换是否成功的步骤,若处理结果为“失败”,则将源端消息服务器上的消息的状态设置为“转换失败”,同时源端消息服务器通知业务系统重新发送传输命令;若处理结果为“正常”,则源端消息服务器将处理后的数据发送到目标消息服务器。
13.根据权利要求12所述的方法,其特征在于,源端消息服务器将处理后的数据发送到目标消息服务器的过程,包括如下步骤:
读取所述消息头数据中的源地址、目标地址;
源端消息服务器启动路由表查询功能,根据所述源地址和目标地址,进行寻址;
查找到其相应的目标地址后,将处理后的数据发送到目标消息服务器上。
14.根据权利要求13所述的方法,其特征在于,所述源端消息服务器将处理后的数据发送到目标消息服务器后,进一步还包括如下步骤:所述数据发送结果是否成功,如果发送失败,则将源端消息服务器上的消息的状态设置为“投递失败”,同时源端消息服务器通知业务系统重新发送传输命令。
15.根据权利要求1所述的方法,其特征在于,所述目标企业服务总线程序定时从目标消息服务器上提取消息,解析消息,在目标数据库服务器上完成数据传输的过程为:
目标企业服务总线程序定时从目标消息服务器上提取消息;
分解消息体数据和消息头数据;
将消息体数据进行Base64解码;
在目标数据库上运行解码后的SQL语句;
如果SQL语句执行不正常,则目标企业服务总线通知目标消息服务器任务执行失败,修改目标消息服务器的消息头数据中的消息状态为“SQL执行失败”。
16.一种传输系统数据的系统,该系统包括:
源端业务模块:源端业务模块生成数据传输消息,并向源端消息服务器模块发送消息;
源端消息服务器模块:接收和存储源端业务模块发送的消息,接收和存储源端企业服务总线模块处理后的数据包消息,并将处理后的数据包消息发送到目标消息服务器模块;
源端企业服务总线模块:定时从源端消息服务器模块上读取消息,解析消息,在源端业务模块的数据库中查找到需要投递的数据,将查找到的数据处理为符合投递要求的数据,并将处理后的数据发送到源端消息服务器模块;
目标消息服务器模块:接收和存储从源端消息服务器模块发送的消息;
目标企业服务总线模块:定时从目标消息服务器模块上提取消息,解析消息,在目标数据库服务器上执行数据传输命令,完成数据传输。
17.根据权利要求16所述的系统,其特征在于,所述传输系统数据的系统进一步还包括,日志记录模块,该模块记录所述各个模块之间消息传递的日志,以及各个模块内部数据处理的操作日志。
一种传输系统数据的系统及方法\n技术领域\n[0001] 本发明公开了一种传输系统数据的系统及方法,特别涉及到一种利用企业服务总线和消息服务器来进行传输系统数据的系统及方法。\n背景技术\n[0002] 近年来,由于企业信息化的不断深入以及网络技术突飞猛进的发展,分布式系统部署在大规模软件应用中得到广泛应用。大规模分布式的企业应用需要相对简单而实用的中间件技术来简化和统一越来越复杂、繁琐的企业级信息系统平台,为此,IT业界提出面向服务的体系结构(Service-Oriented Architecture,SOA),SOA是一种架构和组织IT基础架构及业务功能的方法,它是一个开放的、可扩展、可组合的分布式软件架构模型,它将应用程序的不同功能单元封装为服务。服务之间通过定义良好的接口和契约联系起来,接口是采用中立的方式进行定义的,独立于实现服务的硬件平台、操作系统和编程语言,使得构建在各种这样的系统中的服务可以用一种统一和通用的方式进行交互。\n[0003] 为了能够更好的地控制构建于SOA上的服务,又为了应用安全性、策略性、可靠性以及管理方面的要求,在SOA体系结构的框架中加入了一个新的软件对象。这个对象就是企业服务总线(Enterprise Service Bus,ESB),ESB作为SOA的核心和基础架构,它提供了网络中服务最基本的连接中枢,ESB是传统中间件技术与XML、Web服务等技术相互结合的产物,用于实现企业不同服务之间的通信与整合,不同消息和信息的准确、高效和安全传递。\n[0004] 具体到行业和应用上,很多行业和领域大规模软件应用范围广,系统版本、子系统众多,并且各级版本、子系统之间要保持数据的互联互通。如何建立一条信息通道是应用需要解决的关键步骤。某个大型公司的数据可能保存在不同的数据库系统甚至文件系统上。\n比如北京分公司的数据保存在Oracle数据库中,总部的数据保存在SQL Server数据库中,甚至这些不同的信息系统,是由不同的软件厂商、基于不同的开发语言开发的。比如北京分公司的信息系统是用J2EE架构的,公司总部信息系统是.NET架构的,其他分公司的信息系统可能是采用VB、Delphi等开发的等等。\n[0005] 目前现有对不同系统的数据传输的解决方案主要有两个方面:一是利用数据库本身能力完成数据同步工作;二是研制过程中将数据传输功能硬编码在系统中。\n[0006] 但是,这两种解决方案存在明显的不足。第一种方法无法适应复杂多变的数据库类型、数据结构。第二种方法各子系统、子模块均要进行编码,其维护性和复杂度均不理想,影响系统的开发效率、灵活性和稳定性。\n[0007] 另外,在大型分布式系统中,数据的传输的稳定性还取决于网络的稳定性,即时在线式的同步传输数据经常发生由于网络通讯不畅引起的数据传输断线或者错误,导致数据传输的不稳定性。\n发明内容\n[0008] 本发明提供了一种传输系统数据的系统及方法,利用消息中间件的传输稳定性和企业服务总线的强大控制能力,统一处理解决多系统间的数据上报、下发等传输业务,消除各子系统间的数据结构及数据库种类的差异,降低业务系统的研发复杂度,保证系统间数据传输稳定。\n[0009] 根据本发明的一个方面,提供了一种传输系统数据的系统,该系统包括:\n[0010] 源端业务模块:源端业务模块生成数据传输消息,并向源端消息服务器模块发送消息;\n[0011] 源端消息服务器模块:接收和存储源端业务模块发送的消息,接收和存储源端企业服务总线模块处理后的数据包消息,并将处理后的数据包消息发送到目标消息服务器模块;\n[0012] 源端企业服务总线模块:定时从源端消息服务器模块上读取消息,解析消息,在源端业务模块的数据库中查找到需要投递的数据,将查找到的数据处理为符合投递要求的数据,并将处理后的数据发送到源端消息服务器模块;\n[0013] 目标消息服务器模块:接收和存储从源端消息服务器模块发送的消息;\n[0014] 目标企业服务总线模块:定时从目标消息服务器模块上提取消息,解析消息,在目标数据库服务器上执行数据传输命令,完成数据传输。\n[0015] 其中,所述传输系统数据的系统进一步还包括,日志记录模块,该模块记录各个模块之间消息传递的日志,以及各个模块内部数据处理的操作日志。\n[0016] 根据本发明的另一个方面,提供了一种传输系统数据的方法,该方法包括以下步骤:\n[0017] 业务系统将传输命令通过接口的方式,发送消息到源端消息服务器上;\n[0018] 源端企业服务总线程序定时从源端消息服务器上读取消息,解析消息,在源端数据库查找到需要投递到目标系统数据库的数据;\n[0019] 源端企业服务总线将所述查找到的数据处理为符合投递要求的数据,然后将处理后的数据发送到源端消息服务器上;\n[0020] 源端消息服务器将处理后的数据投递到目标消息服务器上;\n[0021] 目标企业服务总线程序定时从目标消息服务器上提取消息,解析消息,在目标数据库服务器上完成数据传输。\n[0022] 其中,所述源端消息服务器和所述目标消息服务器发送和接收消息是异步进行的,进一步,所述源端消息服务器和所述目标消息服务器发送和接收消息还可以是离线进行的,所述源端消息服务器和所述目标消息服务器为异步离线消息的中转站。\n[0023] 其中,所述的方法进一步还包括日志记录步骤,该步骤对所述每一个动作进行日志记录,以保证全过程可审计和查询。\n[0024] 其中,所述业务系统的传输命令包括上报、下发、发布三组命令集,分别对应业务系统中对上级系统的数据报送、对下级系统的数据下发及对于所有系统的数据共享业务。\n[0025] 其中,所述接口的方式,包括不限于socket、jms、webservice、HTTP。\n[0026] 其中,所述源端消息服务器上的消息包含源地址、目标地址、业务代码和数据传输命令。\n[0027] 其中,所述源端企业服务总线程序定时从源端消息服务器上读取消息后,将消息的状态设置为“已读取”。\n[0028] 其中,所述方法还包括,在源端数据库查找到需要投递到目标系统数据库的数据后,进一步还包括,对查找到的数据进行检测,判断数据是否符合数据传输条件,结果如果为“是”,所述源端企业服务总线将所述查找到的数据处理为符合投递要求的数据,如果判断结果为“否”,则将消息的状态设置为“检测失败”,同时源端消息服务器通知业务系统重新发送传输命令。\n[0029] 其中,所述检测包括判断数据量是否符合传输大小要求,或检测数据状态是否处于非编辑状态。\n[0030] 其中,所述源端企业服务总线将所述查找到的数据处理为符合投递要求的数据,所述的处理过程为:在源端企业服务总线中对所述查找到的数据进行数据转换,包括不限于为不同的数据库类型的转换、不同数据结构的转换,不同SQL脚本的转换。\n[0031] 其中,所述源端企业服务总线将所述查找到的数据处理为符合投递要求的数据,所述的处理过程进一步还包括,将数据转换后的数据进行Base64编码处理,然后将Base64编码后消息体数据和消息头数据进行进一步组合形成新的数据包,所述消息头数据包括源地址、目标地址、业务代码和数据传输命令。\n[0032] 其中,所述源端企业服务总线将所述查找到的数据处理为符合投递要求的数据后,进一步还包括,判断数据转换是否成功的步骤,若处理结果为“失败”,则将源端消息服务器上的消息的状态设置为“转换失败”,同时源端消息服务器通知业务系统重新发送传输命令;若处理结果为“正常”,则源端消息服务器将处理后的数据发送到目标消息服务器。\n[0033] 其中,源端消息服务器将处理后的数据发送到目标消息服务器的过程,包括如下步骤:\n[0034] 读取所述消息头数据中的源地址、目标地址;\n[0035] 源端消息服务器启动路由表查询功能,根据所述源地址和目标地址,进行寻址;\n[0036] 查找到其相应的目标地址后,将处理后的数据发送到目标消息服务器上。\n[0037] 其中,所述源端消息服务器将处理后的数据发送到目标消息服务器后,进一步还包括如下步骤:所述数据发送结果是否成功,如果发送失败,则将源端消息服务器上的消息的状态设置为“投递失败”,同时源端消息服务器通知业务系统重新发送传输命令。\n[0038] 其中,所述目标企业服务总线程序定时从目标消息服务器上提取消息,解析消息,在目标数据库服务器上完成数据传输的过程为:\n[0039] 目标企业服务总线程序定时从目标消息服务器上提取消息;\n[0040] 分解消息体数据和消息头数据;\n[0041] 将消息体数据进行Base64解码;\n[0042] 在目标数据库上运行解码后的SQL语句;\n[0043] 如果SQL语句执行不正常,则目标企业服务总线通知目标消息服务器任务执行失败,修改目标消息服务器的消息头数据中的消息状态为“SQL执行失败”。\n[0044] 成功执行SQL脚本后,完成整个系统数据的传输。\n[0045] 依据本发明的系统和方法,在数据传输过程中,增加了源端消息服务器和目标消息服务器,利用消息中间件的传输稳定性和企业服务总线的控制能力,统一处理解决多系统间的数据上报、下发等数据传输业务,业务系统只需要负责将数据传输命令发出,不用负责目标数据库的类型和具体结构,同样,目标数据库服务器可以对应不同的源端数据库类型。传输数据的查找、打包、数据转换、发送处理通过源端企业服务总线和源端消息服务器的交互完成,转换后的数据包通过源端消息服务器和目标消息服务器的交互完成,数据包的提取和解析,SQL的执行由目标企业服务总线和目标消息服务器的交互完成,这些交互过程可以是即时在线进行,还可以是异步离线进行。\n[0046] 该系统和方法可以适应复杂多变的数据库类型、数据结构,各子系统、子模块不用单独进行编码,提高了系统的可维护性,降低了系统的复杂度,使系统整体的开发效率、灵活性和稳定性得到极大提高。\n[0047] 另外,源端消息服务器和目标消息服务器充当了消息发送和接收的中转站,整个数据传输系统和方法可以实现异步离线进行数据传输,从而使得整个系统可以适应复杂的网络环境,可以灵活适应多变的拓扑环境,从而有效统一处理数据传输业务、保证系统间数据传输稳定。\n附图说明\n[0048] 图1为本发明实施例一传输系统数据的系统结构图。\n[0049] 图2为本发明实施例二传输系统数据的方法流程图。\n具体实施方式\n[0050] 本发明实施例一提供一种传输系统数据的系统,其结构如图1所示,该系统包括:\n[0051] 源端业务模块M1:源端业务模块生成数据传输消息,并向源端消息服务器模块2发送消息;\n[0052] 源端消息服务器模块M2:接收和存储源端业务模块M1发送的消息,接收和存储源端企业服务总线模块M3处理后的数据包消息,并将处理后的数据包消息发送到目标消息服务器模块M4;\n[0053] 源端企业服务总线模块M3:定时从源端消息服务器模块M2上读取消息,解析消息,在源端业务模块M1的数据库中查找到需要投递的数据,将查找到的数据处理为符合投递要求的数据,并将处理后的数据发送到源端消息服务器模块M2;\n[0054] 目标消息服务器模块M4:接收和存储从源端消息服务器模块M2发送的消息;\n[0055] 目标企业服务总线模块M5:定时从目标消息服务器模块上提取消息,解析消息,在目标数据库服务器上执行数据传输命令,完成数据传输。\n[0056] 日志记录模块M6,该模块记录所述各个模块之间消息传递的日志,以及各个模块内部数据处理的操作日志。\n[0057] 本发明实施例二提供一种在一个订单业务系统中传输系统数据的方法,如图2所示,为本发明实施例二的方法流程图。现结合图2,对本发明传输系统数据的方法进行详细说明。\n[0058] 以一个企业的订单处理业务系统为例,北京分公司要定期将订单数据传输到公司总部,北京分公司的订单系统IP地址为192.168.1.1,由J2EE平台实现,采用Oracle数据库服务,而总部订单系统的IP地址为192.168.0.1,由.NET平台构建,采用Sql Server数据库服务。\n[0059] 表一:北京分公司和总部订单系统配置\n[0060]\n IP地址 平台 数据库类型\n北京分公司 192.168.1.1 J2EE Oracle\n总部 192.168.0.1 .NET Sql Server\n[0061] 外部终端用户首先在北京分公司的业务系统上生成最新的订单业务数据,该数据存放在源端数据库服务器Oracle上:\n[0062] 表二:用户在北京分公司业务系统上生成的订单内容\n[0063]\n[0064] 步骤S101,北京分公司的订单业务处理系统,在获得最新的订单更新信息后,通过webservice接口,发送“新订单上报到总部”的消息请求到源端消息服务器,消息请求的格式为:\n[0065]\n[0066]\n[0067] 同时,将发送请求进行步骤S601的日志记录;\n[0068] 另外,上述订单业务系统的传输命令还可以是由总部下发,或者是某个分公司发布数据共享的命令,分别对应总部对下级系统的数据下发及对于所有系统的数据共享的业务。\n[0069] 步骤S201,源端企业服务总线程序,每隔10秒读取源端消息服务器的消息,查看是否有新订单上报的消息请求,得到新订单上报的消息,消息读取后,该消息状态设置为“已读取”,下次将不再进行读取处理;\n[0070] 根据消息中的业务代码XDD,即新订单,传输命令SB,即上报,企业服务总线程序在北京分公司的源端数据库服务器(Oracle)上进行新订单查找,得到最新的N条订单信息;\n[0071] 步骤S202,在提取新订单数据后,对新订单数据的有效性和状态进行检验,检测其数据量是否符合传输大小,即数据尺寸小于10M,并且检查数据状态是否处于非编辑状态;\n如果满足数据传输条件,判断结果为“是”,将进行步骤S301,源端企业服务总线将查找到的数据处理进行下一步的转换。如果判断结果为“否”,则通知源端消息服务器将消息的状态设置为“检测失败”,同时源端消息服务器通知业务系统重新发送传输命令。此环节将进行步骤S601的日志记录。\n[0072] 步骤S301:在数据符合传输条件后,源端数据服务总线程序将进行数据转换处理,将源端数据库服务器Oracle的订单数据,进行数据结构的转换以及SQL脚本的转换,生成能够在目标数据库SQL Server上执行的新的SQL脚本。同时,此环节将进行步骤S601的日志记录。\n[0073] 源端数据库服务器ORACLE上的原始SQL订单存入语句:\n[0074] INSERT INTO(SELECT ID,订单编号,订单时间,用户编号,商品编号,订单金额FROM订单系统)\n[0075] VALUES('1','201211110001','2012-11-11 00:01','VIPBJ0001','S000001','\n100.00')\n[0076] 根据ORACLE和SQL Server不同的数据库结构类型,转换后的可以在SQL Server上执行的SQL语句为:\n[0077] INSERT INTO订单系统(ID,订单编号,订单时间,用户编号,商品编号,订单金额)[0078] VALUES('1','201211110001','2012-11-11 00:01','VIPBJ0001','S000001','\n100.00')\n[0079] 步骤S302:在步骤S301的数据处理过程中,如数据库类型无法转换、数据结构无法转换。即为处理结果为“失败”,则通知源端消息服务器,将源端消息服务器上的消息的状态设置为“转换失败”,同时源端消息服务器通知业务系统重新发送传输命令;若处理结果为“正常”,则源端消息服务器将处理后的数据发送到目标消息服务器。\n[0080] 此环节将进行步骤S601的日志记录。\n[0081] 步骤S303:数据处理成功完成后,将处理的数据再次进行数据打包,该打包处理的具体过程是:将转换后的业务数据SQL语句进行Base64编码处理形成消息体,并且和消息头数据进行组合形成新的数据包,消息头数据包括:\n[0082]\n[0083] SQL数据Base64编码后的消息体为:\n[0084]\nVkFMVUVTICgnMScsICcyMDEyMTExMTAwMDEnLCcyMDEyLTExLTExIDAwOjAxJywnIFZJUEJKMDAwMScsJyBTMDAwMDAxJywnMTAwLjAwJyk=\n[0085] 企业服务总线将处理后数据包发送到源端消息服务器上;\n[0086] 步骤S401:源端消息服务器启动路由表查询功能,查询到消息头数据中源地址为\n192.168.1.1,目标地址为192.168.0.1,源端消息服务器启动路由表查询功能,根据源地址和目标地址,进行寻址;将打包后的数据包投递到目标消息服务器192.168.0.1上。此环节将进行步骤S601的日志记录。\n[0087] 步骤S402:判断步骤S401的投递动作是否成功,如果成功,则进入步骤S501;如果发送失败,则将源端消息服务器上的消息的状态设置为“投递失败”,同时源端消息服务器通知业务系统重新发送传输命令。此环节将进行步骤S601的日志记录。\n[0088] 步骤S501:目标企业服务总线程序每隔10秒从目标消息服务器192.168.0.1上提取消息数据包,分解出消息头数据和消息体数据。将消息体数据进行Base64的解码处理,形成可以在目标数据库SQL Server上执行的SQL语句:\n[0089] INSERT INTO订单系统(ID,订单编号,订单时间,用户编号,商品编号,订单金额)[0090] VALUES('1','201211110001','2012-11-11 00:01','VIPBJ0001','S000001','\n100.00')\n[0091] 此环节将进行步骤S601的日志记录。\n[0092] 步骤S502:在目标数据库服务器SQL Server上执行SQL语句,新订单数据传输到目标数据库服务器中,完成整个新订单数据上报的数据传递过程,此环节将进行步骤S601的日志记录。\n[0093] 步骤S503:如果SQL执行处理正常,则进入步骤S601完成整个流程,如果执行不正确,则目标企业服务总线通知目标消息服务器任务执行失败,修改目标消息服务器的消息头数据中的消息状态为“SQL执行失败”。此环节将进行步骤S601的日志记录。\n[0094] 步骤S601:日志记录功能,记录各个步骤的操作日志,以及各个步骤之间消息传递的日志,以保证全过程可查询和审计。\n[0095] 依照上述各个步骤,在数据传输过程中,增加了源端消息服务器和目标消息服务器,各个分公司的业务系统只需要负责将数据传输命令发出,不用负责总部数据库的类型和具体结构,同样,目标数据库服务器可以对应不同的源端数据库类型。\n[0096] 传输数据的查找、打包、数据转换、发送处理通过源端企业服务总线和源端消息服务器的交互完成,转换后的数据包通过源端消息服务器和目标消息服务器的交互完成,数据包的提取和解析,SQL的执行由目标企业服务总线和目标消息服务器的交互完成,这些交互过程可以是即时在线进行,还可以是异步离线进行。\n[0097] 上述系统和方法可以适应复杂多变的数据库类型、数据结构,各子系统、子模块不用单独进行编码,提高了系统的可维护性,降低了系统的复杂度,使系统整体的开发效率、灵活性和稳定性得到极大提高。\n[0098] 另外,源端消息服务器和目标消息服务器充当了消息发送和接收的中转站,整个数据传输系统和方法可以实现异步离线进行数据传输,从而使得整个系统可以适应复杂的网络环境,可以灵活适应多变的拓扑环境,从而有效统一处理数据传输业务、保证系统间数据传输稳定。\n[0099] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读取存储介质中,如:\nROM/RAM、磁碟、光盘等。\n[0100] 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
法律信息
- 2016-11-30
- 2013-05-01
实质审查的生效
IPC(主分类): H04L 1/00
专利申请号: 201210504619.7
申请日: 2012.11.30
- 2013-03-13
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2012-04-04
|
2010-09-07
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |