一种数据同步方法、系统和设备技术方案

技术编号:9618437 阅读:77 留言:0更新日期:2014-01-30 06:18
本发明专利技术实施例公开了一种数据同步方法、系统和设备,涉及通信领域,用于避免数据同步过程中的数据不一致的问题。本发明专利技术实施例中,发送设备在监听到数据更新操作时,在对该数据更新操作所涉及的各数据库表进行成功更新后生成包含对各数据库表的更新操作信息的设定类型的文件,并将生成的文件发送给接收设备,接收设备在接收到该设定类型的文件后,根据该文件中的更新操作信息对各数据库表执行更新操作,若出现数据更新异常情况则进行数据回滚即撤销对所有数据库表的更新操作。采用本发明专利技术,可以避免数据同步过程中的数据不一致的问题。

Data synchronization method, system and equipment

The embodiment of the invention discloses a data synchronization method, a system and a device, which relates to the communication field and is used for avoiding the problem of data inconsistency in the data synchronization process. In one embodiment of the invention, a transmitting device to monitor the data update operation, were updated successfully during an update operation on the data to the database table contains a set of types generated after the database table update information of the file, and send the file to the receiving device, receiving device to receive the set the type of file, according to the file update information for each database table update, if the data update anomalies data that the withdrawal of the rollback all the database update operations. By adopting the invention, the data inconsistency in the data synchronization process can be avoided.

【技术实现步骤摘要】
一种数据同步方法、系统和设备
本专利技术涉及信息
,尤其涉及一种数据同步方法、系统和设备。
技术介绍
处于不同网络间的系统数据在逻辑上互相有联系时,需要在不同网络间进行数据同步,数据同步一般采用数据库表数据同步的方法。当数据库表数据同步发生在处于相同网段的数据库之间时,数据库之间可以进行通信,这时就可以利用数据库自身所带的同步机制进行数据库数据同步。通常情况下也是这样实现的。而当两个数据库处于不同网段时,利用数据库自身的同步机制进行数据同步就很难实现了。通常情况下,处于不同网段的数据库之间的数据同步可以采用以下方法:一端数据库服务器利用自身机制定时将更新的数据导出并形成结构化查询语言(StructuredQueryLanguage,SQL)文件,然后通过一定的方式将SQL文件传输到另一端数据库服务器上,另一端数据库服务器通过一定机制执行SQL文件,从而将更新的数据同步到本端数据库中。上述定时生成SQL文件、通过SQL文件实现数据同步的办法局限性比较大,主要体现在以下两点:第一,一端数据库服务器在定时将更新的数据导出并形成SQL文件时,是针对一段时间内发生了数据更新的各个数据库表,分别生成一个SQL文件,然后将生成的各SQL文件发送给另一端数据库服务器;另一端数据库服务器在接收到各SQL文件后,分别解析执行每个SQL文件,若该过程中发生了SQL文件的解析执行错误,就会出现解析执行错误的SQL文件对应的数据库表与其他解析执行成功的SQL文件对应的数据库表中的关联数据不一致;比如,用户A通过一端数据库服务器修改了登录信息,数据库表1~数据库表3中的用户A的登录信息相应进行了更新,一端数据库服务器针对数据库表1生成SQL文件1、针对数据库表2生成SQL文件2、针对数据库表3生成SQL文件3,然后将生成的SQL文件1~SQL文件3发送给另一端数据库服务器;另一端数据库服务器在接收到SQL文件1~SQL文件3后,分别解析执行SQL文件1~SQL文件3,若该过程中SQL文件1的解析执行错误,就会造成另一端数据库中数据库表1中用户A的登录信息与数据库表2和数据库表3中用户A的登录信息不一致。第二,SQL文件在两个数据库服务器之间的传输需要依靠其它的硬件和/或软件来实现,对第三方硬件和/或软件的依赖性较大。
技术实现思路
本专利技术实施例提供一种数据同步方法、系统和设备,用于避免数据同步过程中的数据不一致的问题。一种数据同步方法,该方法包括:发送设备在监听到数据更新操作时,在对所述数据更新操作所涉及的各数据库表进行成功更新后生成包含对各数据库表的更新操作信息的设定类型的文件,将生成的文件发送给接收设备;接收设备接收到所述文件后,根据该文件中的更新操作信息对各数据库表执行更新操作,其中若出现数据更新异常情况则撤销对所有数据库表的更新操作。一种数据同步系统,该系统包括:发送设备,用于在监听到数据更新操作时,在对所述数据更新操作所涉及的各数据库表进行成功更新后生成包含对各数据库表的更新操作信息的设定类型的文件,将所述文件发送给接收设备;接收设备,用于在接收到所述文件后,根据该文件中的更新操作信息对各数据库表执行更新操作,其中若出现数据更新异常情况则撤销对所有数据库表的更新操作。一种发送设备,该设备包括:处理单元,用于在监听到数据更新操作时,在对所述数据更新操作所涉及的各数据库表进行成功更新后生成包含对各数据库表的更新操作信息的设定类型的文件;发送单元,用于将所述文件发送给接收设备。一种接收设备,该接收设备包括:接收单元,用于接收发送设备发送的设定类型的文件,该文件中包含发送设备在监听到数据更新操作时在对所述数据更新操作所涉及的各数据库表进行成功更新后的各数据库表的更新操作信息;更新单元,用于根据该文件中的更新操作信息对各数据库表执行更新操作,其中若出现数据更新异常情况则撤销对所有数据库表的更新操作。本专利技术实施例提供的方案中,发送设备在监听到数据更新操作时,在对该数据更新操作所涉及的各数据库表进行成功更新后生成包含对各数据库表的更新操作信息的设定类型的文件,并将生成的文件发送给接收设备,接收设备在接收到该设定类型的文件后,根据该文件中的更新操作信息对各数据库表执行更新操作,若出现数据更新异常情况则进行数据回滚即撤销对所有数据库表的更新操作。可见,本方案中,发送设备采用事务控制的方法,在每次监听到数据更新操作时将本次数据更新操作所涉及的各数据库表的更新操作信息放置在一个文件中发送给接收设备,接收设备就可以根据该文件中的更新操作信息对各数据库表执行更新操作,若出现数据更新异常情况则进行数据回滚即撤销对所有数据库表的更新操作,从而避免了现有技术中发送设备针对一段时间内数据发生更新的各数据库表分别生成一个SQL文件并发送给接收设备,接收设备分别解析执行各SQL文件,在发生SQL文件的解析执行错误时所导致的解析执行错误的SQL文件对应的数据库表与其他解析执行成功的SQL文件对应的数据库表中的关联数据不一致的情况。附图说明图1A为本专利技术实施例提供的发送设备与接收设备之间数据同步方法流程示意图;图1B为本专利技术实施例中发送设备与接收设备的具体交互流程示意图;图2A为本专利技术实施例提供的发送设备侧的数据同步方法流程示意图;图2B为本专利技术实施例中发送设备的业务模块的执行流程示意图;图2C为本专利技术实施例中发送设备的同步模块的执行流程示意图;图3A为本专利技术实施例提供的接收设备侧的数据同步方法流程示意图;图3B为本专利技术实施例中接收设备的同步模块的执行流程示意图;图4为本专利技术实施例提供的系统结构示意图;图5为本专利技术实施例提供的发送设备结构示意图;图6为本专利技术实施例提供的接收设备结构示意图。具体实施方式为了避免数据同步过程中的数据不一致的问题,本专利技术实施例提供一种数据同步方法。本方法中,发送设备在每次监听到数据更新操作时,都生成包含对本次数据更新操作所涉及的各数据库表的更新操作信息的文件,并将生成的文件发送给接收设备,接收设备在接收到该文件后,根据该文件中的更新操作信息对各数据库表执行更新操作,若出现数据更新异常情况则进行数据回滚即撤销对所有数据库表的更新操作。参见图1A,本专利技术实施例提供的发送设备和接收设备之间的数据同步方法,包括以下步骤:步骤10:发送设备在监听到数据更新操作时,在对该数据更新操作所涉及的各数据库表进行成功更新后生成包含对各数据库表的更新操作信息的设定类型的文件,将生成的文件发送给接收设备;这里,数据更新操作可以是插入数据、删除数据、修改数据等操作。文件中的更新操作信息可以包括操作类型标识,例如插入、删除、更新等,在操作类型标识为插入时还需要包括插入的数据信息以及插入数据的位置信息,在操作类型标识为删除时还需要包括删除的数据信息以及删除数据库的位置信息,在操作类型标识为更新时还需要包括更新后的数据信息、更新数据的位置信息等。步骤11:接收设备接收到来自发送设备的文件后,根据该文件中的更新操作信息对各数据库表执行更新操作,其中若出现数据更新异常情况则撤销对所有数据库表的更新操作。较佳的,步骤10中,在该数据更新操作所涉及的各数据库表进行更新的过程中,若至少一个数据库表的更新出现异常情况,则撤销对所有数据库表的更新操作,不生成该数据更本文档来自技高网
...
一种数据同步方法、系统和设备

【技术保护点】
一种数据同步方法,其特征在于,该方法包括:发送设备在监听到数据更新操作时,在对所述数据更新操作所涉及的各数据库表进行成功更新后生成包含对各数据库表的更新操作信息的设定类型的文件,将生成的文件发送给接收设备;接收设备接收到所述文件后,根据该文件中的更新操作信息对各数据库表执行更新操作,其中若出现数据更新异常情况则撤销对所有数据库表的更新操作。

【技术特征摘要】
1.一种数据同步方法,其特征在于,该方法包括:发送设备在监听到数据更新操作时,在对所述数据更新操作所涉及的各数据库表进行成功更新后生成包含对各数据库表的更新操作信息的设定类型的文件,将生成的文件发送给接收设备;接收设备接收到所述文件后,根据该文件中的更新操作信息对各数据库表执行更新操作,其中若出现数据更新异常情况则撤销对所有数据库表的更新操作;其中,在生成包含对各数据库表的更新操作信息的设定类型的文件之后、且将所述文件发送给接收设备之前,进一步包括:将生成的所述文件添加到源文件目录下;所述将所述文件发送给接收设备,具体包括:发送设备定时扫描所述源文件目录下的文件;在当前扫描到的文件属于所述设定类型时,将当前扫描到的文件发送给接收设备,并更改当前扫描到的文件的类型;在当前扫描到的文件不属于所述设定类型时,确定当前扫描到的文件的最后发送时间与当前时间的时间间隔是否大于设定值,在确定为是时,将当前扫描到的文件的类型更改为所述设定类型后发送给接收设备,并再次更改当前扫描到的文件的类型;在接收设备接收到所述文件之后,进一步包括:接收设备将接收到的文件添加到目标文件目录下;定时扫描所述目标文件目录下的文件,在扫描到属于所述设定类型的文件时,向发送设备发送对应当前扫描到的文件的应答信息;发送设备在接收到该应答信息后,在所述源文件目录下删除该文件。2.如权利要求1所述的方法,其特征在于,在对所述数据更新操作所涉及的至少一个数据库表的更新出现异常情况时,进一步包括:撤销对所有数据库表的更新操作。3.如权利要求1所述的方法,其特征在于,所述根据该文件中的更新操作信息对各数据库表执行更新操作,其中若出现数据更新异常情况则撤销对所有数据库表的更新操作,具体包括:接收设备在扫描到属于所述设定类型的文件时,解析该文件,根据得到的更新操作信息确定数据操作类型,根据该数据操作类型生成结构化查询语言SQL语句,连接本地数据库执行该SQL语句以实现对各数据库表的更新操作;若更新操作成功,则将该文件删除;若出现数据更新异常情况则撤销对所有数据库表的更新操作,并更改该文件的类型;接收设备在扫描到不属于所述设定类型的文件时,确定该文件的最后解析时间与当前时间的时间间隔是否大于设定值,在确定为是时,将该文件的类型更改为所述设定类型。4.如权利要求1所述的方法,其特征在于,在发送设备监听到数据更新操作之前,进一步包括:发送设备启动时生成包含各数据库表中初始化数据的设定类型的初始化文件,将该初始化文件发送给接收设备;接收设备将该初始化文件中的初始化数据保存在本地数据库中。5.如权利要求1-3中任一所述的方法,其特征在于,所述文件为可扩展标记语言XML文件。6.如权利要求1-3中任一所述的方法,其特征在于,发送设备通过与接收设备预先建立的文件传输协议FTP连接,将所述文件发送给接收设备。7.一种数据同步系统,其特征在于,该系统包括:发送设备,用于在监听到数据更新操作时,在对所述数据更新操作所涉及的各数据库表进行成功更新后生成包含对各数据库表的更新操作信息的设定类型的文件,将所述文件发送给接收设备;接收设备,用于在接收到所述文件后,根据该...

【专利技术属性】
技术研发人员:张俊杰
申请(专利权)人:北京锐安科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1