基于数据库的异构系统数据抽取及统一对外数据交换方法与流程

文档序号:15257695发布日期:2018-08-24 20:53阅读:517来源:国知局

本发明具体涉及基于数据库的异构系统数据抽取及统一对外数据交换方法。



背景技术:

数据抽取及数据交换是两种信息化技术,数据抽取是指从源数据源系统抽取目的数据源系统需要的数据。而数据交换是指为了满足不同信息系统之间数据资源的共享需要,依据一定的原则,采取相应的技术,实现不同信息系统之间数据资源共享的过程。

数据抽取的方式有全量抽取和增量抽取,在实际商业应用中通常会使用数据抽取工具及技术,比如触发器、odi、owb、ogg、shareplex、datastage、informatica、电子报文等。这些工具及技术在本质上都是使用“全量抽取+增量抽取”的方式完成工作,即在两个同构系统a、系统b之间,先采用全量抽取方式把a系统的数据全本复制到b系统,然后采用增量抽取方式把a系统在全量抽取后发生增加、删除、修改的数据复制到b系统。这些工具及技术的应用环境不同,各有所长。

数据交换的方式有电路交换、报文交换、分组交换、混合交换。在信息系统中一般采用报文交换方式,使用的数据交换工具及技术主要有直接读写数据库、ftp传输、webservice、消息中间件等。这些工具及技术的作用都是先把甲方系统的数据传输到乙方系统,然后再把甲方的数据转换成乙方系统的数据格式。在不同的实际应用环境下,这些工具及技术的数据传输效率、数据安全性、数据传输成本各不相同。

由于触发器、odi、owb、ogg、shareplex、datastage、informatica、电子报文等工具及技术的应用环境不同,因此在不同的内部系统环境和外部信息链路环境下各有所长。在多个异构系统环境下,若只使用一种工具进行数据抽取工作可能会导致数据抽取成本过高、时效性较低的问题。比如系统a与系统c都是oracle数据库,而系统b是mysql数据库,若把系统a和系统b的数据抽取到系统c,虽然使用ogg就能完成所有工作,但是ogg的使用成本比较高。合适的做法是使用触发器完成系统ac的抽取工作,使用电子报文完成系统bc的抽取工作。

当数据交换双方需要在多个系统中进行数据交换时,使用单一工具通常会无法满足要求。比如码头公司的系统a与海关系统b需要节约传输成本而不需要实时交互,而码头公司的系统c与海关系统d需要实时交互而不需要节约传输成本,在这种情况下若单独使用ftp技术虽然能满足ab系统的要求但却无法满足cd系统的要求,若单独使用消息中间件技术虽然能满足cd系统的要求但却无法满足ab系统的要求。合适的做法是ab系统使用ftp技术,cd系统使用消息中间件技术。



技术实现要素:

本发明的目的是为解决上述不足,提供基于数据库的异构系统数据抽取及统一对外数据交换方法,在数据抽取方面能针对不同的异构系统环境,使用针对性极强的数据抽取工具,在数据交换方面根据双方系统的交互要求而使用不同的数据交换工具。

本发明的目的是通过以下技术方案实现的:

基于数据库的异构系统数据抽取及统一对外数据交换方法,其特征在于:具体方法如下:

步骤一:异构系统同步数据抽取

货类码头按货类业务可分为集装箱业务码头、散杂货业务码头、油品业务业务码头、商品车业务码头、粮食业务码头等等,根据码头系统的数据库结构,使用最合适的数据抽取工具,同时在多个货类码头异构系统进行同步数据抽取工作:

(1)在传输简单数值时,如果不是复杂的关键节点数据项,使用触发器、电子报文;

(2)在传输复杂数值或复杂关键节点时,使用电子报文、shareplex、odi、owb、ogg、infospheredatastage、informatica。使用这几种工具的原因是复杂数值或复杂关键节点通常都包含高价值数据;如果数据抽取工作的预算不足,只使用电子报文、shareplex。

(3)在异构数据库环境中,使用odi、ogg、shareplex、infospheredatastage、informatica、电子报文,电子报文适合应用于数据交换双方都愿意付出工作量的应用环境中;

(4)在使用触发器时,在低修改量的数据表中使用触发器;

(5)在公共互联网环境中,使用电子报文时只需配套开发一个数据发送软件;

(6)owb对于异构数据库的支持比较弱,不太适合用于异构数据库的数据抽取工作,如果需要使用owb,建议以odi为主、owb为辅的形式构建数据抽取工作体系;

步骤二:数据标准化

由于不同货类码头使用的数据字段信息不同,甚至不同码头对应同一个客户时使用的客户名称或客户代码都不同,因此,在与外部单位进行数据交换时,同一个外部单位对n个货类码头就有n次的数据转换工作,码头方不用进行数据转换,只需把数据直接交给中间数据库,由中间数据库进行数据标准化后,再与外部单位进行数据交换,使得原来的一对n交换变成一对一交换既能有效减少码头方和外部单位的工作,而且还提升了数据交换效率;

步骤三:统一对外数据交换

当数据完成标准化后会存储在中间数据库,所有的对外数据交换业务都统一由中间数据库生成交换报文,在实际应用中,不同的外部单位在数据交换时会使用不同的数据交换方式,因此,在对外数据交换时应该根据外部单位的实际应用环境,选用合适的数据交换工具;

适应性方案如下:

(1)在绝大部分的互联网传输环境下,使用ftp或者webservice。ftp由于需要接收方主动查询交换信息;而webservice是对话式交互,适用于实时应用环境;

(2)webservice不适合应用于短时间大数据量的传输环境,另一方面,由于webservice需要把数据发送到位于外网的服务注册中心,因此不建议应用在内网环境;

(3)ftp技术适合应用于日常通知性质的数据交换工作,如车辆出入闸信息、船舶到离港信息、货物堆存情况等等;

(4)在内网环境中,使用消息中间件或ftp,消息中间件和ftp的主要区别包括实时性、极限访问量两方面。消息中间件式实时传输,而ftp无法做到实时传输;在内网环境中使用消息中间件+ftp的组合方式进行数据交换,消息中间件负责需要实时传输的信息,而ftp负责不需要实时传输的信息。

(5)在低价值的数据项目中使用直接读写数据库的技术。

所述的触发器是关系型数据库中一种保证数据完整性的工具,触发器是与表事件相关的特殊的存储过程,由事件来触发,使用触发器进行数据抽取工作时,必须搭配使用数据文件生成工具。

所述的shareplex是通过从oracle日志读取数据库的所有变化信息,传输到目标数据库解析成sql进行装载,整个过程严格遵守数据一致性的顺序,在目标数据库通过主键技术保障数据一致性。

所述的电子报文是电子数据交换的重要载体之一,是有关双方按照电子数据交换协议和规定,把具有一定结构特征的标准信息,按照约定的文件格式生成的一种电子文档,使用电子报文进行数据抽取的方法,其实就是双方事先约定一套数据内容格式,然后一方通过直接读取数据表中数据项的方式来生成电子报文,最后通过通信网络传输给另一方,由另一方进行数据解析后写入系统中,电子报文比较常用的格式有xml、json,xml(扩展标记语言)用于标记电子文件使其具有结构性的标记语言,xml提供统一的方法来描述和交换独立于应用程序的结构化数据,因此非常适合web传输json是一种轻量级的数据交换格式,易于人阅读和编写,也易于机器解析和生成。

所述的直接读写数据库的方法是指两个独立系统通过连接同一个数据库服务器的同一张表进行数据交换,这张表一般称为中间表,当一个系统(下称独立系统a)请求另一个系统(下称独立系统b)处理数据的时候,独立系统a先向中间表插入一条数据,然后独立系统b通过数据查询从中间表中读取这条数据进行处理。

所述的ftp方法就是建立一个ftp服务器,并且为不同的系统分配账号、密码、目录的操作权限,数据交换双方先约定好数据格式、文件命名方式、存放路径等规则等,当交互时,一个系统按约定的时间将数据写入ftp目录中,另一个系统定期取走并进行相应的业务操作。

所述的webservice是一种可以接收从internet或者intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。

所述的消息中间件的方法其实就是使用java消息服务来进行数据交换,java消息服务(javamessageservice)是message数据传输的典型的实现方式,两个独立系统(系统a、系统b)通过一个消息服务器进行数据交换,当系统a发送消息到消息服务器时,如果系统b订阅了系统a发送的消息,则消息服务器会把消息推送给系统b。

本发明具有如下有益的效果:

本发明能够同时在多个货类码头异构系统之间进行同步数据抽取工作。数据抽取后会进行数据清洗整理,经过数据标准化后放入中间数据库。码头方和外部单位都不需要关心数据标准的问题,这样能有效减少码头方和外部单位的工作,提升数据交换效率。

附图说明

图1为本发明的整体结构示意图;

图2为本发明的触发器进行数据抽取的方法示意图;

图3为本发明的直接读写数据库数据交换流程图;

图4为本发明的ftp数据交互示意图;

图5为本发明的webservice的体系结构图;

图6为本发明的消息中间件流程图。

具体实施方式

下面结合附图对本发明作进一步的说明:

如图1-图6所示,基于数据库的异构系统数据抽取及统一对外数据交换方法,具体方法如下:

步骤一:异构系统同步数据抽取

货类码头按货类业务可分为集装箱业务码头、散杂货业务码头、油品业务业务码头、商品车业务码头、粮食业务码头等等,根据码头系统的数据库结构,使用最合适的数据抽取工具,同时在多个货类码头异构系统进行同步数据抽取工作:

(1)在传输简单数值时,如果不是复杂的关键节点数据项,使用触发器、电子报文;

(2)在传输复杂数值或复杂关键节点时,使用电子报文、shareplex、odi、owb、ogg、infospheredatastage、informatica。使用这几种工具的原因是复杂数值或复杂关键节点通常都包含高价值数据;如果数据抽取工作的预算不足,只使用电子报文、shareplex。

(3)在异构数据库环境中,使用odi、ogg、shareplex、infospheredatastage、informatica、电子报文,电子报文适合应用于数据交换双方都愿意付出工作量的应用环境中;

(4)在使用触发器时,在低修改量的数据表中使用触发器;

(5)在公共互联网环境中,使用电子报文时只需配套开发一个数据发送软件;

(6)owb对于异构数据库的支持比较弱,不太适合用于异构数据库的数据抽取工作,如果需要使用owb,建议以odi为主、owb为辅的形式构建数据抽取工作体系;

步骤二:数据标准化

由于不同货类码头使用的数据字段信息不同,甚至不同码头对应同一个客户时使用的客户名称或客户代码都不同,因此,在与外部单位进行数据交换时,同一个外部单位对n个货类码头就有n次的数据转换工作,码头方不用进行数据转换,只需把数据直接交给中间数据库,由中间数据库进行数据标准化后,再与外部单位进行数据交换,使得原来的一对n交换变成一对一交换既能有效减少码头方和外部单位的工作,而且还提升了数据交换效率;

步骤三:统一对外数据交换

当数据完成标准化后会存储在中间数据库,所有的对外数据交换业务都统一由中间数据库生成交换报文,在实际应用中,不同的外部单位在数据交换时会使用不同的数据交换方式,因此,在对外数据交换时应该根据外部单位的实际应用环境,选用合适的数据交换工具;

适应性方案如下:

(1)在绝大部分的互联网传输环境下,使用ftp或者webservice。ftp由于需要接收方主动查询交换信息;而webservice是对话式交互,适用于实时应用环境;

(2)webservice不适合应用于短时间大数据量的传输环境,另一方面,由于webservice需要把数据发送到位于外网的服务注册中心,因此不建议应用在内网环境;

(3)ftp技术适合应用于日常通知性质的数据交换工作,如车辆出入闸信息、船舶到离港信息、货物堆存情况等等;

(4)在内网环境中,使用消息中间件或ftp,消息中间件和ftp的主要区别包括实时性、极限访问量两方面。消息中间件式实时传输,而ftp无法做到实时传输;在内网环境中使用消息中间件+ftp的组合方式进行数据交换,消息中间件负责需要实时传输的信息,而ftp负责不需要实时传输的信息。

(5)在低价值的数据项目中使用直接读写数据库的技术。

所述的触发器是关系型数据库中一种保证数据完整性的工具,触发器是与表事件相关的特殊的存储过程,由事件来触发,使用触发器进行数据抽取工作时,必须搭配使用数据文件生成工具。

所述的shareplex是通过从oracle日志读取数据库的所有变化信息,传输到目标数据库解析成sql进行装载,整个过程严格遵守数据一致性的顺序,在目标数据库通过主键技术保障数据一致性。

所述的电子报文是电子数据交换的重要载体之一,是有关双方按照电子数据交换协议和规定,把具有一定结构特征的标准信息,按照约定的文件格式生成的一种电子文档,使用电子报文进行数据抽取的方法,其实就是双方事先约定一套数据内容格式,然后一方通过直接读取数据表中数据项的方式来生成电子报文,最后通过通信网络传输给另一方,由另一方进行数据解析后写入系统中,电子报文比较常用的格式有xml、json,xml(扩展标记语言)用于标记电子文件使其具有结构性的标记语言,xml提供统一的方法来描述和交换独立于应用程序的结构化数据,因此非常适合web传输json是一种轻量级的数据交换格式,易于人阅读和编写,也易于机器解析和生成。

所述的直接读写数据库的方法是指两个独立系统通过连接同一个数据库服务器的同一张表进行数据交换,这张表一般称为中间表,当一个系统(下称独立系统a)请求另一个系统(下称独立系统b)处理数据的时候,独立系统a先向中间表插入一条数据,然后独立系统b通过数据查询从中间表中读取这条数据进行处理。

所述的ftp方法就是建立一个ftp服务器,并且为不同的系统分配账号、密码、目录的操作权限,数据交换双方先约定好数据格式、文件命名方式、存放路径等规则等,当交互时,一个系统按约定的时间将数据写入ftp目录中,另一个系统定期取走并进行相应的业务操作。

所述的webservice是一种可以接收从internet或者intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。

所述的消息中间件的方法其实就是使用java消息服务来进行数据交换,java消息服务(javamessageservice)是message数据传输的典型的实现方式,两个独立系统(系统a、系统b)通过一个消息服务器进行数据交换,当系统a发送消息到消息服务器时,如果系统b订阅了系统a发送的消息,则消息服务器会把消息推送给系统b。

实现一个完整的web服务包括以下步骤:

a)发布,web服务提供者设计实现web服务,并将调试正确后的web服务通过web服务中介者发布,并在uddi注册中心注册;

b)发现,web服务请求者向web服务中介者请求特定的服务,中介者根据请求查询uddi注册中心,为请求者寻找满足请求的服务;

c)发现,web服务中介者向web服务请求者返回满足条件的web服务描述信息,该描述信息用wsdl写成,各种支持web服务的机器都能阅读;

d)绑定,利用从web服务中介者返回的描述信息生成相应的soap消息,发送给web服务提供者,以实现web服务的调用;绑定,web服务提供者按soap消息执行相应的web服务,并将服务结果返回给web服务请求者。

将本发明应用于《税控机与业务系统接口软件项目》(含8个实施单位)、《生产业务管理系统海事数据交换接口改造项目》(含5个实施单位)、《基于物联网的散杂货码头综合物流管理平台之电子口岸货物动态追踪信息共享交换项目》(含6个实施单位)等多个信息化建设项目后,再也不用在各个实施单位投资购买机房的服务器、存储阵列、防火墙等硬件设备,而是只需在集团总部机房部署一套硬件设备就能满足使用,避免了重复的硬件投入,大大节省了硬件设备投资费用。同时,每个信息化项目只需要一套数据抽取集成软件就能满足项目使用要求,对外实现共享时也仅需一套数据交换软件,有效节省了各个实施单位的相关软件开发费用。广州港股份有限公司根据信息化项目实施时的硬件设备及软件开发的平均市场价估算,三个信息化项目19个实施单位,共节省硬件投资约190万元,节省软件开发费用约152万元,总计约342万元。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1