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.一种数据同步方法,其特征在于,该方法包括:发送设备在监听到数据更新操作时,在对所述数据更新操作所涉及的各数据库表进行成功更新后生成包含对各数据库表的更新操作信息的设定类型的文件,将生成的文件发送给接收设备;接收设备接收到所述文件后,根据该文件中的更新操作信息对各数据库表执行更新操作,其中若出现数据更新异常情况则撤销对所有数据库表的更新操作;其中,在生成包含对各数据库表的更新操作信息的设定类型的文件之后、且将所述文件发送给接收设备之前,进一步包括:将生成的所述文件添加到源文件目录下;所述将所述文件发送给接收设备,具体包括:发送设备定时扫描所述源文件目录下的文件;在当前扫描到的文件属于所述设定类型时,将当前扫描到的文件发送给接收设备,并更改当前扫描到的文件的类型;在当前扫描到的文件不属于所述设定类型时,确定当前扫描到的文件的最后发送时间与当前时间的时间间隔是否大于设定值,在确定为是时,将当前扫描到的文件的类型更改为所述设定类型后发送给接收设备,并再次更改当前扫描到的文件的类型;在接收设备接收到所述文件之后,进一步包括:接收设备将接收到的文件添加到目标文件目录下;定时扫描所述目标文件目录下的文件,在扫描到属于所述设定类型的文件时,向发送设备发送对应当前扫描到的文件的应答信息;发送设备在接收到该应答信息后,在所述源文件目录下删除该文件。2.如权利要求1所述的方法,其特征在于,在对所述数据更新操作所涉及的至少一个数据库表的更新出现异常情况时,进一步包括:撤销对所有数据库表的更新操作。3.如权利要求1所述的方法,其特征在于,所述根据该文件中的更新操作信息对各数据库表执行更新操作,其中若出现数据更新异常情况则撤销对所有数据库表的更新操作,具体包括:接收设备在扫描到属于所述设定类型的文件时,解析该文件,根据得到的更新操作信息确定数据操作类型,根据该数据操作类型生成结构化查询语言SQL语句,连接本地数据库执行该SQL语句以实现对各数据库表的更新操作;若更新操作成功,则将该文件删除;若出现数据更新异常情况则撤销对所有数据库表的更新操作,并更改该文件的类型;接收设备在扫描到不属于所述设定类型的文件时,确定该文件的最后解析时间与当前时间的时间间隔是否大于设定值,在确定为是时,将该文件的类型更改为所述设定类型。4.如权利要求1所述的方法,其特征在于,在发送设备监听到数据更新操作之前,进一步包括:发送设备启动时生成包含各数据库表中初始化数据的设定类型的初始化文件,将该初始化文件发送给接收设备;接收设备将该初始化文件中的初始化数据保存在本地数据库中。5.如权利要求1-3中任一所述的方法,其特征在于,所述文件为可扩展标记语言XML文件。6.如权利要求1-3中任一所述的方法,其特征在于,发送设备通过与接收设备预先建立的文件传输协议FTP连接,将所述文件发送给接收设备。7.一种数据同步系统,其特征在于,该系统包括:发送设备,用于在监听到数据更新操作时,在对所述数据更新操作所涉及的各数据库表进行成功更新后生成包含对各数据库表的更新操作信息的设定类型的文件,将所述文件发送给接收设备;接收设备,用于在接收到所述文件后,根据该...
【专利技术属性】
技术研发人员:张俊杰,
申请(专利权)人:北京锐安科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。