专利名称:数据交换装置、系统及方法
技术领域:
本发明涉及网络技术,尤其涉及数据交换技术。
背景技术:
数据交换技术是指将不同的信息格式和语义转换为能够被目标应用系统所理解的数据格式和语义的整合技术,数据交换技术是应用整合层的重要技术之一。
数据交换包括两个方面内容,即数据格式转换和数据语义转换。数据格式转换是指将任意形式的数据格式都转换为指定的一种标准的数据格式,例如XML(Extensible Markup Language,可扩展标记语言)。另外,在现实的数据环境中,不仅数据源是异构的,数据表示十分复杂,数据之间的语义联系也相当丰富。数据要在不同的应用系统之间或者业务流程之间交流,就必须确保交互的双方对数据表达的语义有统一的认识。所以,数据交换平台应该具有全局的语义完整性控制的能力,在应用整合层上解决由于各局部数据库的异构性而引起的在数据对象的命名、数据的格式以及数据结构等方面存在的不一致的问题,为全局用户提供全局数据信息的集成和统一的表示。
以银证平台系统为例,如图1所示,银证平台101中的银证平台主控单元1011从证券交易系统数据库102或银行端接口103接收数据,之后将所述数据送入相应的银证转换DLL(动态链接库)1012处理,银证转换DLL1012将所述数据的格式及语义转换为能够被银行端接口103或证券交易系统数据库102识别的格式及语义,最后将转换后的数据发送到银行端接口103或证券交易系统数据库102。
利用图1所示的银证平台系统即可实现证券公司与银行之间的数据交互,而且能够保证双方都能正确识别交互的数据。但是,由于一个银证转换DLL1012对应一个银行端接口,所以,如果每增加一个银行端接口,则需对应开发一个银证转换DLL1012,众所周知,开发DLL的工作量比较大,而且日后也需要有专业人员进行维护,这都会极大的增加开发成本,因此,现有的数据交换技术虽然能够实现数据格式及语义的转换,但还有待于进一步完善。
发明内容
本发明要解决的技术问题在于提供一种数据交换技术,以保证在实现数据交换的前提下、减小开发和维护成本。
为解决上述技术问题,本发明提供了一种数据交换装置,包括至少一个消息适配器,用于采集和转发从数据载体获得的数据;至少一个转换适配器,用于将从所述消息适配器获得的数据的格式及语义转换为目的数据载体能够识别的格式及语义;其中,所述消息适配器将所述转换后的数据路由到所述目的数据载体。
所述装置还包括中心数据库,用于保存所述装置及所述转换适配器对应的配置数据。
所述装置还包括主控程序单元,用于接收和转发所述消息适配器及所述转换适配器传递的数据,和/或,用于将所述中心数据库中保存的配置数据装载到对应的转换适配器。
所述主控程序单元还包括调度消息适配器,用于接收所述消息适配器采集到的数据;调度转换适配器,用于将所述采集到的数据传递到所述转换适配器;其中,所述调度转换适配器将转换后的数据传递到所述调度消息适配器,确定目的数据载体后,所述调度消息适配器将转换后的数据通过所述消息适配器传递到目的数据载体。
本发明还提供了一种数据交换系统,包括至少两个数据载体,还包括数据交换平台,具有至少一个转换适配器,所述转换适配器用于将从一个数据载体采集到的数据的格式及语义转换为另一个数据载体能够识别的格式及语义。
所述数据载体为各种文件、数据库及根据各种协议组成的数据包。
本发明还提供了一种基于所述数据交换系统的数据交换方法,包括将从第一数据载体接收的数据送入所述数据交换系统中对应的转换适配器;所述转换适配器将所述数据的格式及语义转换为第二数据载体能够识别的格式及语义;将转换后的数据路由到所述第二数据载体。
预先设置转换适配器的过程包括从所述数据交换系统的中心数据库中读取配置数据;将所述配置数据装载到对应的转换适配器。
将从第一数据载体接收的数据送入对应的转换适配器的过程包括所述数据交换系统的消息适配器接收从所述第一数据载体获得的数据;所述消息适配器将所述数据传递给所述数据交换系统的主控程序单元;所述主控程序单元将所述数据送入对应的转换适配器。
所述消息适配器将转换后的数据路由到所述第二数据载体。
在本发明的装置、系统及方法中,使用转换适配器实现对数据的格式及语义的转换,由于配置适配器相对于开发和维护DLL工作量小,所以本发明减小了开发和维护的成本。
在现有的银证平台系统中,开发一个DLL不仅工作量大,而且开发出来的DLL有可能性能比较差,这种情况下,系统对数据的处理可能会有错误,而适配器的性能比较稳定,完全可以避免数据出错。
现有的数据交换系统一般都是针对某项业务的,并没有考虑扩展业务时开发程序的工作量,所以,现有的数据交换系统一般都是点对点或点对多的数据转换,而由于配置和维护适配器的工作量小,即使扩展业务也只需增加一个适配器即可,所以,本发明还可实现多对多的数据转换。
图1为银证平台系统结构示意图;图2为本发明装置的结构示意图;图3为本发明系统的结构示意图;图4为境内外互相投资系统的结构示意图;图5为本发明方法的流程图。
具体实施例方式
下面我们将结合附图,对本发明的最佳实施方案进行详细描述。首先要指出的是,本发明中用到的术语、字词及权利要求的含义不能仅仅限于其字面和普通的含义去理解,还包括进而与本发明的技术相符的含义和概念,这是因为我们作为发明者,要适当地给出术语的定义,以便对我们的发明进行最恰当的描述。因此,本说明和附图中给出的配置,只是本发明的首选实施方案,而不是要列举本发明的所有技术特性。我们要认识到,还有各种各样的可以取代我们方案的同等方案或修改方案。
首先结合图2,对本发明的装置进行说明。
如图2所示,数据交换装置201包括转换适配器2011、消息适配器2012、主控程序单元2013及中心数据库2014。其中,转换适配器2011从主控程序单元2013获得数据,并将所述数据的格式及语义转换为目的数据载体能够识别的格式及语义,之后,将转换后的数据返回给主控程序单元2013;消息适配器2012用于采集和转发从数据载体或者主控程序单元2013获得的数据,其可以根据主控程序单元2013的配置接收数据,也可以主动的采集数据;主控程序单元2013用于选定对应的转换适配器2011,并将消息适配器2012传递过来的数据送入转换适配器2011处理,主控程序单元2013还确定转换后的数据需要到达的目的数据载体,通过消息适配器2012将转换后的数据路由到目的数据载体;中心数据库2014用于保存数据交换装置201及转换适配器2011对应的配置数据,主控程序单元2013可以将这些配置数据装载到转换适配器2011及消息适配器2012等单元,这些单元根据配置数据实现相应的功能,例如,主控程序单元2013将相关配置数据装载到某个转换适配器2011,相关配置数据可以是某个数据载体的数据转换为另一个数据载体能够识别的数据的相关参数,则这个转换适配器的功能就是实现将某个数据载体的数据格式及语义转换为另一个数据载体能够识别的数据格式及语义。
另外,主控程序单元2013还可包括调度消息适配器,用于接收消息适配器2012采集到的数据;调度转换适配器,用于将所述采集到的数据传递到转换适配器2011;其中,调度转换适配器将转换后的数据传递到所述调度消息适配器,确定目的数据载体后,所述调度消息适配器将转换后的数据通过消息适配器2012传递到目的数据载体。
需要说明的是,主控程序单元2013的功能可以集成到转换适配器2011或消息适配器2012,转换适配器2011及消息适配器2012的配置数据也可以在装置应用之前装载,所以,数据交换装置201也可以不必包括主控程序单元2013及中心数据库2014。
一般情况下,转换适配器2011只能将一种数据格式及语义转换为另一种数据格式及语义,而不能将一种或多种数据格式及语义转换为另外多种数据格式及语义,但特殊情况下,如果将多种转换功能集成到一个转换适配器2011,则一个转换适配器2011的功能也可以适当得到扩展。此外,如果将数据的接收、转发、路由等功能集成到一个消息适配器2012,则数据交换装置201可以只有一个消息适配器2012,但一般情况下,数据交换装置201的两侧各具有一个消息适配器2012。每个数据载体也可以对应一个消息适配器2012,这种情况下,消息适配器2012只负责采集和接收对应数据载体的数据,并将数据传递给主控程序单元2013,主控程序单元2013接收到转换后的数据后,将转换后的数据通过对应的消息适配器2012路由到目的数据载体。
现在结合图3,对本发明的系统进行说明。
如图3所示,本发明的系统包括数据交换平台301,数据交换平台301还具有至少一个转换适配器3011,本发明的系统还包括多种协议接口302、DBF文件载体303、SQL Server数据库304、STEP协议接口305及HSAR协议接口306。其中,转换适配器3011用于将从一个数据载体采集到的数据的格式及语义转换为另一个数据载体能够识别的格式及语义,例如,转换适配器3011可以将从TCP/IP协议数据包中获得的数据转换为符合HSAR协议标准的数据。数据载体可以为DBF文件载体303、SQL Server数据库304以及根据各种协议组成的数据包。DBF为DBASE文件,它是一种由Ashton-Tate创建的格式,可以被ACT!、Lipper、FoxPro、Arago、Wordtech、Xbase及类似数据库或与数据库有关的产品识别;SQL Server是一种数据库,是一种可扩展的、高性能的、为分布式客户机/服务器计算所设计的数据库管理系统;STEP是一种国外常用的通讯协议;HSAR是一种国内常用的特定的通讯协议;多种协议接口302可以是TCP/IP接口。
目前,境内与境外的金融、证券等业务往来比较频繁,境内外的投资者如果需要互相投资对方的金融市场,就必须通过各个不同的系统进行订单交易,但是,各个系统之间采用的协议标准有所不同,这种情况下,就需要有一个平台在各个系统之间做一个沟通和翻译的桥梁工作。本发明提供的数据交换系统就起到了这个作用。如图4所示,数据交换平台接收各个系统发过来的各种订单消息,进行数据交换,即格式转换及语义转换,然后将转换后的消息路由到对应的目的系统进行投资交易。其中,FIX表示金融信息交换,它是一个协议,也是一种语言,由股票市场、证券市场研发;ISO15022是一种国际标准协议,也是一种语言,由股票市场、证券市场研发,国外金融系统常用;8583是一种标准协议,也是一种语言,由股票市场、证券市场研发,国内金融系统常用;STEP是FIX协议的一个分支;类FIX是和FIX协议类似的一种协议。由图4可知,境内外系统的数据可以互相转换,即使增加一个系统,只需在数据交换平台中增加对应的转换适配器即可。
现在结合图5,对本发明的方法进行说明,其中,本发明的方法适用于图3所示的系统。
如图5所示,在步骤S501中,主控程序单元从中心数据库中读取所有的相关配置信息。
步骤S502主控程序单元将相关配置信息装载到对应的适配器。这里的适配器包括消息适配器及转换适配器,转换适配器的配置信息主要是关于将一个数据载体中的数据转换为另一个数据载体能够识别的数据等信息。
步骤S503消息适配器接收到数据后,将数据传递给主控程序单元。
步骤S504主控程序单元选定对应的转换适配器。主控程序单元可以通过识别数据的源地址及目的地址、或者识别数据的源地址及需要转换成的数据格式及语义选定对应的转换适配器。
步骤S505主控程序单元将数据发送给选定的转换适配器。
步骤S506转换适配器将数据的格式及语义转换为目的数据载体能够识别的格式及语义。
步骤S507转换适配器将转换后的数据返回给主控程序单元。
步骤S508主控程序单元确定转换后的数据对应的目的数据载体后,通过消息适配器路由到目的数据载体。
需要说明的是,如果主控程序单元的功能集成到适配器,适配器的配置已在方法运行前完成,则主控程序单元的动作可由适配器完成,装载配置数据的步骤也可省略。
本发明提供的数据交换技术的核心是消息路由和数据转换主程序,其接收和分发消息,并基于预先定义的消息处理流,确保转发给正确的应用。消息控制程序能执行多段的路由,对于单独的消息,可以根据消息的源、目的地、类型等定义多个处理段或对象。对象可以包括消息的转换、数据的格式转换、查询数据库、记录日志和定时传送等。应用间的互通可以是一对一、一对多或多向的。
数据交换技术的核心还包括单独的通信与消息传递协议层,实现组织内部或组织间的实际的网络通信,具有一个专门的消息格式库用于保存所有的消息定义,并提供建造和维护组织内部和组织间消息类型的工具。路由程序最终通过这一层实现消息的接收与分发。
数据交换技术的数据转换实体负责在应用之间对传输的数据进行转换,提供数据转换需要的API(Application Program Interface,应用程序接口)。数据的规范化,或者称数据的标准化,是使数据在交换过程中转换成标准状态的技术。消息代理中间件有内置的数据规范化工具,替换一个应用时,不会影响到与其它数据交换伙伴的应用接口。
数据交换技术的数据转换可以分三种形式,分别是实时的、接近实时的或批处理的。批处理方式基于文件到文件的数据转换方式。数据交换系统有一个实时的请求/应答实体来执行同步的关键任务消息的处理,通过一个消息队列机制提供接近实时的数据转换。数据交换技术管理传递各个服务应用的并发路径,即使在企业需求最大时也能提供最佳的性能。
数据交换技术支持数据包和可靠传输通信方式。可靠传输通信是基于消息队列机制的,发送和接收消息分别通过不同的消息队列。对应用来讲,可靠传输确保一次并且只有一次的递送。消息的传递可以选择压缩或/和加密传输方式。
数据交换技术支持基于内容的数据转发,数据产生后按类型归类时,路经就确定了,数据交换技术能够根据消息的内容把数据转发到不同的目的地。
数据交换平台能管理复杂的处理流,可以协调需要一系列复杂处理过程的交易处理,通过可配置的计时器和告警器处理异常的情况。数据交换系统内部的规则机制与可配置的计时器和报警器一并确保交易处理的时效性,交易跟踪程序存储和显示检测单个交易的状态。
目前,证券金融企业在开发应用的过程中,30%-40%的费用都浪费在开发和维护与企业业务逻辑无关的各种接口上。随着企业或企业间应用数量的增加,应用间的通信接口日益增多,不同的平台、不同的语言与技术所带来的难度成倍的增长。数据交换技术由于降低了企业/机构内部应用的复杂交互,将会与数据库管理系统、数据仓库同等重要。
归纳起来,基于数据交换系统实现应用集成的主要理由有以下几个方面通过点对点的应用接口完成应用的集成复杂度高、代价大,严重地限制了企业的灵活性,本发明的数据交换技术如同一个软件的HUB(中枢),连接需要交互的各个应用系统,减少了应用系统接口的数量及相互的技术依赖性;
应用与应用间传递的数据需要转换,传递需要按照优先级、实时地或批处理的方式进行,本发明的数据交换技术提供与各种资源的接口、数据转换能力和消息处理能力,高效地实现了应用之间的消息传递;复杂的业务处理逻辑带来应用间、应用与人之间交互的复杂性,要求提供一种支持流管理、处理智能化开发的简便性,本发明的数据交换技术采用适配器的形式,提供商务逻辑层开发能力。
集成应用的体系结构必须能适应业务逻辑、组织机构的变化,最大程度地减少对已有应用的修改。本发明的数据交换技术构造了一个基于消息的代理骨干,其基于API的适配器以及包装程序完全满足这一要求。
综上所述,证券公司可以使用本发明的数据交换技术构建全国性的多业务系统间的集成、以及证券公司和业务往来单位之间的应用系统集成,实现证券与银行、证券与期货、证券与黄金交易、证券与外汇交易等金融机构之间金融产品的相互代理销售。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.一种数据交换装置,其特征在于包括至少一个消息适配器,用于采集和转发从数据载体获得的数据;至少一个转换适配器,用于将从所述消息适配器获得的数据的格式及语义转换为目的数据载体能够识别的格式及语义;其中,所述消息适配器将所述转换后的数据路由到所述目的数据载体。
2.如权利要求1所述的数据交换装置,其特征在于还包括中心数据库,用于保存所述装置及所述转换适配器对应的配置数据。
3.如权利要求1或2所述的数据交换装置,其特征在于还包括主控程序单元,用于接收和转发所述消息适配器及所述转换适配器传递的数据,和/或,用于将所述中心数据库中保存的配置数据装载到对应的转换适配器。
4.如权利要求3所述的数据交换装置,其特征在于所述主控程序单元还包括调度消息适配器,用于接收所述消息适配器采集到的数据;调度转换适配器,用于将所述采集到的数据传递到所述转换适配器;其中,所述调度转换适配器将转换后的数据传递到所述调度消息适配器,确定目的数据载体后,所述调度消息适配器将转换后的数据通过所述消息适配器传递到目的数据载体。
5.一种数据交换系统,包括至少两个数据载体,其特征在于还包括数据交换平台,具有至少一个转换适配器,所述转换适配器用于将从一个数据载体采集到的数据的格式及语义转换为另一个数据载体能够识别的格式及语义。
6.如权利要求5所述的数据交换系统,其特征在于所述数据载体为各种文件、数据库及根据各种协议组成的数据包。
7.一种基于权利要求5所述系统的数据交换方法,其特征在于包括将从第一数据载体接收的数据送入所述数据交换系统中对应的转换适配器;所述转换适配器将所述数据的格式及语义转换为第二数据载体能够识别的格式及语义;将转换后的数据路由到所述第二数据载体。
8.如权利要求7所述的数据交换方法,其特征在于预先设置转换适配器的过程包括从所述数据交换系统的中心数据库中读取配置数据;将所述配置数据装载到对应的转换适配器。
9.如权利要求7所述的数据交换方法,其特征在于将从第一数据载体接收的数据送入对应的转换适配器的过程包括所述数据交换系统的消息适配器接收从所述第一数据载体获得的数据;所述消息适配器将所述数据传递给所述数据交换系统的主控程序单元;所述主控程序单元将所述数据送入对应的转换适配器。
10.如权利要求9所述的数据交换方法,其特征在于所述消息适配器将转换后的数据路由到所述第二数据载体。
全文摘要
本发明提供了一种数据交换装置,包括至少一个消息适配器,用于采集和转发从数据载体获得的数据;至少一个转换适配器,用于将从所述消息适配器获得的数据的格式及语义转换为目的数据载体能够识别的格式及语义;其中,所述消息适配器将所述转换后的数据路由到所述目的数据载体。本发明还提供了一种数据交换系统及方法。
文档编号H04L12/58GK1913492SQ20061010434
公开日2007年2月14日 申请日期2006年8月8日 优先权日2006年8月8日
发明者范径武, 何仲君, 章乐焱, 毛银杰, 王伟, 王峻峥, 李池华 申请人:恒生电子股份有限公司