CN113986909B - 一种反向记录同步状态的实时数据同步方法、系统及介质 - Google Patents
一种反向记录同步状态的实时数据同步方法、系统及介质 Download PDFInfo
- Publication number
- CN113986909B CN113986909B CN202111594108.4A CN202111594108A CN113986909B CN 113986909 B CN113986909 B CN 113986909B CN 202111594108 A CN202111594108 A CN 202111594108A CN 113986909 B CN113986909 B CN 113986909B
- Authority
- CN
- China
- Prior art keywords
- data
- synchronization
- acquirer
- information
- state
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出一种反向记录同步状态的实时数据同步方法、系统及介质。其中,方法包括:数据有变化,调用档案更新通知接口,待同步数据的唯一key存入信息同步表;之后,根据数据变化的情况,组织消息体的信息;数据提供方通知数据获取方根据消息体的信息来取数据;数据获取方在获得数据提供方发送的通知后,便开始获取数据,不停抓取,直到获取不到数据为止,最终获取到的数据为变化的数据;之后,需要调用状态更新接口,更新当前数据的状态;数据获取方查询当前数据的同步状态,确定当前数据的同步状态。本发明在不改变数据提供方原有业务系统的表结构的场景下对接多个数据获取方,独立于原有系统的存在,和数据提供方的业务系统隔离开。
Description
技术领域
本发明属于跨系统的数据实时同步领域,尤其涉及一种反向记录同步状态的实时数据同步方法、系统及介质。
背景技术
部分系统在做数据同步的时候都是只提供API由第三方调用,至于何时调用是由调用方决定,平台数据方的增量变化数据是不会直接同步给第三方。
第三方需要抓取增量变化数据只能自己记录变化的状态,对比差异后再抓取,常规做法就是数据获取方存储一个时间戳,下一次再获取的时候查询的数据基于记录的时间戳对比,查询出来合适的数据。
数据同步时候,传统做法是数据接收方自己处理同步状态并且记录同步数据的状态,对于数据获取方而言增加了复杂度和理解系统的难度。
传统方案如图2a-图2c所示,方案一是直接将时间戳作为条件直接查询,前提是提供方支持时间戳作为条件,方案二是将查询结果根据时间戳过滤出数据,无论是第一种方案还是第二种方案都需要记录当前数据最大的时间戳,用于下一次获取数据的时候做增量数据的处理。
发明内容
为解决上述技术问题,本发明提出一种反向记录同步状态的实时数据同步方法、系统及介质的技术方案,以解决上述技术问题。
本发明第一方面公开了一种反向记录同步状态的实时数据同步方法;所述方法包括:
步骤S1、数据有变化,并且事务提交完成后,调用档案更新通知接口,产生待同步数据,所述待同步数据的唯一key存入信息同步表;
步骤S2、所述待同步数据的唯一key存入信息同步表后,根据数据变化的情况,组织消息体的信息;
步骤S3、数据提供方通知数据获取方根据消息体的信息来取数据;
步骤S4、所述数据获取方在获得数据提供方发送的通知后,便开始获取数据,不停抓取,直到获取不到数据为止,最终获取到的数据为变化的数据。
根据本发明第一方面的方法,在所述步骤S1中,所述方法还包括:
步骤S5、所述数据获取方获取数据完毕后,需要调用状态更新接口,更新当前数据的状态;
步骤S6、所述数据获取方查询当前数据的同步状态,确定当前数据的同步状态。
根据本发明第一方面的方法,在所述步骤S1中,所述产生待同步数据之前,所述方法还包括:根据当前配置的元数据,决定所述数据是否同步以及怎样同步;
所述信息同步表还记录:每一条变化数据的同步状态、失败原因和数据的时间戳。
根据本发明第一方面的方法,在所述步骤S2中,所述组织消息体的信息,包括:变化的数据,以及数据的优先级,所述数据获取方按照所述优先级这个顺序来获取数据。
根据本发明第一方面的方法,在所述步骤S3中,所述数据提供方通知数据获取方根据消息体的信息来取数据的具体方法包括:
数据提供方通过扩展通知接口通知数据获取方根据消息体的信息的数据的优先级来取数据;
不同的数据获取方存在不同的通知方式,所述扩展通知接口则直接跟数据获取方对接,告知数据获取方数据有变化,来获取数据,同时传给数据获取方相应获取数据的参数;
所述扩展通知接口与数据获取方对接时候配置方案,所述方案包括,所述待同步数据的类型、所述扩展通知接口的配置、查询和删除数据时候重写的特殊接口。
根据本发明第一方面的方法,在所述步骤S5中,更新当前数据的状态的判断过程包括:
有新增或者修改的数据变化后,根据数据的时间戳把变化的数据的key更新到信息同步表里面,同步状态为“未同步”,然后通知数据获取方过来获取数据,数据获取方获取数据后,同步状态就处于“同步中”,数据获取方处理完毕后需要调用同步的回写接口,确定获取的数据是否同步完成,所述同步的回写接口记录当前的同步状态,数据获取方无需再记录同步状态;
有新增或者修改的数据变化后,根据数据的时间戳把变化的数据的key更新到信息同步表里面,同步状态为“未同步”,然后通知数据获取方过来获取数据的具体过程包括:
如果数据有新增的则直接插入进入信息同步表,同时记录数据的时间戳,如果是修改的,则判断本次的数据的时间戳和上一次的数据的时间戳是否一致,如果不一致则判断本次是有效修改,有效修改则会将同步状态改为未同步,同时通过扩展通知接口通知数据获取方来获取数据。
根据本发明第一方面的方法,在所述步骤S3中,所述删除数据的具体方法包括:
数据删除的时候先校验数据提供方本身是否可以删除,如果数据提供方本身就不能删除,则返回提示,如果数据提供方本身可以删除,则调用数据获取方的接口判断是否可以删除数据,如果数据获取方没有配置删除控制的扩展方法,则默认是不允许删除。
本发明第二方面公开了一种反向记录同步状态的实时数据同步系统;所述系统包括:
第一处理模块,被配置为,数据有变化,并且事务提交完成后,调用档案更新通知接口,产生待同步数据,所述待同步数据的唯一key存入信息同步表;
第二处理模块,被配置为,所述待同步数据的唯一key存入信息同步表后,根据数据变化的情况,组织消息体的信息;
第三处理模块,被配置为,数据提供方通知数据获取方根据消息体的信息来取数据;
第四处理模块,被配置为,所述数据获取方在获得数据提供方发送的通知后,便开始获取数据,不停抓取,直到获取不到数据为止,最终获取到的数据为变化的数据;
第五处理模块,被配置为,所述数据获取方获取数据完毕后,需要调用状态更新接口,更新当前数据的状态;
第六处理模块,被配置为,所述数据获取方查询当前数据的同步状态,确定当前数据的同步状态。
根据本发明第二方面的系统,第一处理模块,被配置为,所述产生待同步数据之前,所述方法还包括:根据当前配置的元数据,决定所述数据是否同步以及怎样同步;
所述信息同步表还记录:每一条变化数据的同步状态、失败原因和数据的时间戳。
根据本发明第二方面的系统,第二处理模块,被配置为,所述组织消息体的信息,包括:变化的数据,以及数据的优先级,所述数据获取方按照所述优先级这个顺序来获取数据。
根据本发明第二方面的系统,第三处理模块,被配置为,所述数据提供方通知数据获取方根据所述消息体的信息来取数据的具体方法包括:
数据提供方通过数据扩展通知接口通知数据获取方根据消息体的信息的数据的优先级来取数据;
不同的数据获取方存在不同的通知方式,所述数据扩展通知接口则直接跟数据获取方对接,告知数据获取方数据有变化,来获取数据,同时传给数据获取方相应获取数据的参数;
所述数据扩展通知接口与数据获取方对接时候需要配置一类方案,所述方案包括,所述待同步数据的类型、所述数据扩展通知接口的配置、查询和删除数据时候重写的特殊接口。
根据本发明第二方面的系统,第五处理模块,被配置为,更新当前数据的状态的判断过程包括:
有新增或者修改的数据变化后,根据数据的时间戳把变化的数据的key更新到信息同步表里面,同步状态为“未同步”,然后通知数据获取方过来获取数据,数据获取方获取数据后,同步状态就处于“同步中”,数据获取方处理完毕后需要调用同步的回写接口,确定获取的数据是否同步完成,所述同步的回写接口记录当前的同步状态,数据获取方无需再记录同步状态;
有新增或者修改的数据变化后,根据数据的时间戳把变化的数据的key更新到信息同步表里面,同步状态为“未同步”,然后通知数据获取方过来获取数据的具体过程包括:
如果数据有新增的则直接插入进入信息同步表,同时记录数据的时间戳,如果是修改的,则判断本次的数据的时间戳和上一次的数据的时间戳是否一致,如果不一致则判断本次是有效修改,有效修改则会将同步状态改为未同步,同时通过扩展通知接口通知数据获取方来获取数据。
根据本发明第二方面的系统,第三处理模块,被配置为,所述删除数据的具体方法包括:
数据删除的时候先校验数据提供方本身是否可以删除,如果数据提供方本身就不能删除,则返回提示,如果数据提供方本身可以删除,则调用数据获取方的接口判断是否可以删除数据,如果数据获取方没有配置删除控制的扩展方法,则默认是不允许删除。
本发明第三方面公开了一种计算机可读存储介质。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,实现本公开第一方面中任一项的一种反向记录同步状态的实时数据同步方法中的步骤。
可见,本发明提出的方案,
1、现有方案在做数据同步时候,一般是获取到数据后,数据获取方记录数据状态,如果有多个获取数据客户端,则各自记录各自数据状态,数据提供方不做任何处理。
2、通过在数据提供方注册配置信息,就可以获取提供方数据,同时提供方数据变化后也可以及时通知到各个注册的各个对接方,使一对多数据同步时候可以集中处理数据,改进了数据获取的时效性,以及可扩展性,实现同步数据的反向记录,即同步状态记录在平台方,数据获取方只需要从平台方查询同步状态即可知道当前同步系统的同步情况。
3、同步系统基于数据变化的通知方式既支持异步消息也支持同步调用的方式通知第三方,可兼容不同场景。
综上,本发明提出的方案能够在不改变数据提供方原有业务系统的表结构的场景下对接多个数据获取方,独立于原有系统的存在,和数据提供方的业务系统隔离开。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为根据本发明实施例的一种反向记录同步状态的实时数据同步方法的流程图;
图2a-图2c为根据背景技术的方案一和方案二的流程图;
图3为根据本发明实施例的方案流程图;
图4为根据本发明实施例的组织消息体的信息中的数据的优先级示意图;
图5为根据本发明实施例的数据的状态变化过程图;
图6为根据本发明实施例的更新当前数据的状态的判断过程图;
图7为根据本发明实施例的删除控制过程图;
图8为根据本发明实施例的一种反向记录同步状态的实时数据同步系统的结构图;
图9为根据本发明实施例的一种电子设备的结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明第一方面公开了一种反向记录同步状态的实时数据同步方法。图1为根据本发明实施例的一种反向记录同步状态的实时数据同步方法的流程图,如图1和图3所示,所述方法包括:
步骤S1、数据有变化,并且事务提交完成后,调用档案更新通知接口,产生待同步数据,所述待同步数据的唯一key存入信息同步表;
在一些实施例中,在所述步骤S1中,所述产生待同步数据之前,所述方法还包括:根据当前配置的元数据,决定所述数据是否同步以及怎样同步;其中,配置的是元数据,同步的是具体数据,就是用于同步数据的相关配置信息。
如表1所示,所述信息同步表还记录:每一条变化数据的同步状态、失败原因和数据的时间戳;所述信息同步表并不会记录实际的数据,只是记录key;
表1
步骤S2、所述待同步数据的唯一key存入信息同步表后,根据数据变化的情况,组织消息体的信息;
在一些实施例中,在所述步骤S2中,所述组织消息体的信息,包括:变化的数据 ,以及数据的优先级,如图4所示,所述数据获取方按照所述优先级这个顺序来获取数据;其中,变化的数据不是真实数据,也不是数据的key,而是一类数据,例如:“计量单位”,代表计量单位有变化,通知数据获取方来取数。
步骤S3、数据提供方通知数据获取方根据消息体的信息来取数据;
在一些实施例中,在所述步骤S3中,所述数据提供方通知数据获取方根据消息体的信息来取数据的具体方法包括:
数据提供方通过扩展通知接口通知数据获取方根据消息体的信息的数据的优先级来取数据;
不同的数据获取方存在不同的通知方式,所述扩展通知接口则直接跟数据获取方对接,告知数据获取方数据有变化,来获取数据,同时传给数据获取方相应获取数据的参数;
所述数据扩展通知接口与数据获取方对接时候需要配置一类方案,所述方案包括,所述待同步数据的类型,例如erp系统同步存货、往来单位等,所述扩展通知接口的配置,查询和删除数据时候重写的特殊接口;
在一些实施例中,在所述步骤S3中,如图7所示,所述删除数据的具体方法包括:
数据删除的时候先校验数据提供方本身是否可以删除,如果数据提供方本身就不能删除,则返回提示,如果数据提供方本身可以删除,则调用数据获取方的接口判断是否可以删除数据,如果数据获取方没有配置删除控制的扩展方法,则默认是不允许删除;
步骤S4、所述数据获取方在获得数据提供方发送的通知后,便开始获取数据,不停抓取,直到获取不到数据为止,最终获取到的数据为变化的数据;首次获取的时候,所有数据都是变化的数据,下一次再获取的时候就只提供变化的数据;
步骤S5、所述数据获取方获取数据完毕后,需要调用状态更新接口,更新当前数据的状态;包括当前数据是否同步完成,失败的话失败原因会显示出来;
在一些实施例中,如图5所示,数据的状态变化过程:数据状态在信息同步表里面的状态是经历几个过程、未同步,同步中、同步完成,其中同步完成包含同步成功和同步失败两个状态,同时后台调度,会针对处理失败的数据二次处理。修改同步状态为未同步,同时通知对方再次获取数据;
在一些实施例中,在所述步骤S5中,如图6所示,更新当前数据的状态的判断过程包括:
有新增或者修改的数据变化后,根据数据的时间戳把变化的数据的key更新到信息同步表里面,同步状态为“未同步”,然后通知数据获取方过来获取数据,数据获取方获取数据后,同步状态就处于“同步中”,数据获取方处理完毕后需要调用同步的回写接口,确定获取的数据是否同步完成,所述同步的回写接口记录当前的同步状态,数据获取方无需再记录同步状态;
有新增或者修改的数据变化后,根据数据的时间戳把变化的数据的key更新到信息同步表里面,同步状态为“未同步”,然后通知数据获取方过来获取数据的具体过程包括:
如果数据有新增的则直接插入进入信息同步表,同时记录数据的时间戳,如果是修改的,则判断本次的数据的时间戳和上一次的数据的时间戳是否一致,如果不一致则判断本次是有效修改,有效修改则会将同步状态改为“未同步”,同时通过扩展通知接口并通知数据获取方来获取数据;
步骤S6、所述数据获取方查询当前数据的同步状态,确定当前数据的同步状态,多端同时查询,结果按照配置信息不一样,显示数据也不一样。
本发明提出的方案中数据的同步状态以及时间戳记录在数据提供方,形成一种同步状态的反向记录,方便多个数据接收方的调用,同时增量变化的数据也实时通过异步或者同步的方式通知数据接收方,接收方再处理完数据后回调状态回写接口形成一个完整的闭环,确保数据更新的时效性。
综上,本发明提出的方案能够在不改变数据提供方原有业务系统的表结构的场景下对接多个数据获取方,独立于原有系统的存在,和数据提供方的业务系统隔离开。
本发明第二方面公开了一种反向记录同步状态的实时数据同步系统。图8为根据本发明实施例的一种反向记录同步状态的实时数据同步系统的结构图;如图8所示,所述系统100包括:
第一处理模块101,被配置为,数据有变化,并且事务提交完成后,调用档案更新通知接口,产生待同步数据,所述待同步数据的唯一key存入信息同步表;
第二处理模块102,被配置为,所述待同步数据的唯一key存入信息同步表后,根据数据变化的情况,组织消息体的信息;
第三处理模块103,被配置为,数据提供方通知数据获取方根据消息体的信息来取数据;
第四处理模块104,被配置为,所述数据获取方在获得数据提供方发送的通知后,便开始获取数据,不停抓取,直到获取不到数据为止,最终获取到的数据为变化的数据;
第五处理模块105,被配置为,所述数据获取方获取数据完毕后,需要调用状态更新接口,更新当前数据的状态;
第六处理模块106,被配置为,所述数据获取方查询当前数据的同步状态,确定当前数据的同步状态。
根据本发明第二方面的系统,第一处理模块,被配置为,所述产生待同步数据之前,所述方法还包括:根据当前配置的同步元数据,决定所述数据是否同步以及怎样同步;
所述信息同步表还记录:每一条变化数据的同步状态、失败原因和数据的时间戳。
根据本发明第二方面的系统,第二处理模块,被配置为,所述组织消息体的信息,包括:变化的数据,以及数据的优先级,所述数据获取方按照所述优先级这个顺序来获取数据。
根据本发明第二方面的系统,第三处理模块,被配置为,所述数据提供方通知数据获取方根据所述消息体的信息来取数据的具体方法包括:
数据提供方通过扩展通知接口通知数据获取方根据消息体的信息的数据的优先级来取数据;
不同的数据获取方存在不同的通知方式,所述扩展通知接口则直接跟数据获取方对接,告知数据获取方数据有变化,来获取数据,同时传给数据获取方相应获取数据的参数;
所述扩展通知接口与数据获取方对接时候需要配置一类方案,所述方案包括,所述待同步数据的类型、所述扩展通知接口的配置、查询和删除数据时候重写的特殊接口。
根据本发明第二方面的系统,第五处理模块,被配置为,更新当前数据的状态的判断过程包括:
有新增或者修改的数据变化后,根据数据的时间戳把变化的数据的key更新到信息同步表里面,同步状态为“未同步”,然后通知数据获取方过来获取数据,数据获取方获取数据后,同步状态就处于“同步中”,数据获取方处理完毕后需要调用同步的回写接口,确定获取的数据是否同步完成,所述同步的回写接口记录当前的同步状态,数据获取方无需再记录同步状态;
有新增或者修改的数据变化后,根据数据的时间戳把变化的数据的key更新到信息同步表里面,同步状态为“未同步”,然后通知数据获取方过来获取数据的具体过程包括:
如果数据有新增的则直接插入进入信息同步表,同时记录数据的时间戳,如果是修改的,则判断本次的数据的时间戳和上一次的数据的时间戳是否一致,如果不一致则判断本次是有效修改,有效修改则会将同步状态改为未同步,同时通过扩展通知接口并通知数据获取方来获取数据。
根据本发明第二方面的系统,第三处理模块,被配置为,所述删除数据的具体方法包括:
数据删除的时候先校验数据提供方本身是否可以删除,如果数据提供方本身就不能删除,则返回提示,如果数据提供方本身可以删除,则调用数据获取方的接口判断是否可以删除数据,如果数据获取方没有配置删除控制的扩展方法,则默认是不允许删除。
本发明第三方面公开了一种电子设备。电子设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时,实现本发明公开第一方面中任一项的一种反向记录同步状态的实时数据同步方法中的步骤。
图9为根据本发明实施例的一种电子设备的结构图,如图9所示,电子设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、近场通信(NFC)或其他技术实现。该电子设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该电子设备的输入装置可以是显示屏上覆盖的触摸层,也可以是电子设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本公开的技术方案相关的部分的结构图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本发明第四方面公开了一种计算机可读存储介质。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,实现本发明公开第一方面中任一项的一种反向记录同步状态的实时数据同步方法中的步骤中的步骤。
请注意,以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (3)
1.一种反向记录同步状态的实时数据同步方法,其特征在于,所述方法包括:
步骤S1、数据有变化,并且事务提交完成后,调用档案更新通知接口,产生待同步数据,所述待同步数据的唯一key存入信息同步表;
步骤S2、所述待同步数据的唯一key存入信息同步表后,根据数据变化的情况,组织消息体的信息;
步骤S3、数据提供方通知数据获取方根据消息体的信息来取数据;
步骤S4、所述数据获取方在获得所述数据提供方发送的通知后,便开始获取数据,不停抓取,直到获取不到数据为止,最终获取到的数据为变化的数据;
步骤S5、所述数据获取方获取数据完毕后,需要调用状态更新接口,更新当前数据的状态;
步骤S6、所述数据获取方查询当前数据的同步状态,确定当前数据的同步状态;在所述步骤S1中,所述产生待同步数据之前,所述方法还包括:根据当前配置的元数据,决定所述数据是否同步以及怎样同步;
所述信息同步表还记录:每一条变化数据的同步状态、失败原因和数据的时间戳;在所述步骤S5中,所述更新当前数据的状态的判断过程包括:
有新增或者修改的数据变化后,根据数据的时间戳把变化的数据的key更新到信息同步表里面,同步状态为“未同步”,然后通知所述数据获取方过来获取数据,所述数据获取方获取数据后,同步状态就处于“同步中”,所述数据获取方处理完毕后需要调用同步的回写接口,确定获取的数据是否同步完成,所述同步的回写接口记录当前的同步状态,所述数据获取方无需再记录同步状态;
所述有新增或者修改的数据变化后,根据数据的时间戳把变化的数据的key更新到信息同步表里面,同步状态为“未同步”,然后通知所述数据获取方过来获取数据的具体过程包括:
如果数据有新增的则直接插入进入信息同步表,同时记录数据的时间戳,如果是修改的,则判断本次的数据的时间戳和上一次的数据的时间戳是否一致,如果不一致则判断本次是有效修改,有效修改则会将同步状态改为“未同步”,同时通过扩展通知接口通知所述数据获取方来获取数据;
在所述步骤S2中,所述组织消息体的信息,包括:变化的数据,以及数据的优先级,所述数据获取方按照所述优先级这个顺序来获取数据;
在所述步骤S3中,所述数据提供方通知数据获取方根据消息体的信息来取数据的具体方法包括:
所述数据提供方通过扩展通知接口通知所述数据获取方根据消息体的信息的数据的优先级来取数据;
不同的数据获取方存在不同的通知方式,所述扩展通知接口则直接跟所述数据获取方对接,告知所述数据获取方数据有变化,来获取数据,同时传给所述数据获取方相应获取数据的参数;
所述扩展通知接口与所述数据获取方对接时候配置方案,所述方案包括,所述待同步数据的类型、所述扩展通知接口的配置、查询和删除数据时候重写的特殊接口;
在所述步骤S3中,所述删除数据的具体方法包括:
数据删除的时候先校验所述数据提供方本身是否可以删除,如果所述数据提供方本身就不能删除,则返回提示,如果所述数据提供方本身可以删除,则调用所述数据获取方的接口判断是否可以删除数据,如果所述数据获取方没有配置删除控制的扩展方法,则默认是不允许删除。
2.一种用于反向记录同步状态的实时数据同步系统,其特征在于,所述系统包括:
第一处理模块,被配置为,数据有变化,并且事务提交完成后,调用档案更新通知接口,产生待同步数据,所述待同步数据的唯一key存入信息同步表;所述产生待同步数据之前,还包括:根据当前配置的元数据,决定所述数据是否同步以及怎样同步;
所述信息同步表还记录:每一条变化数据的同步状态、失败原因和数据的时间戳;
第二处理模块,被配置为,所述待同步数据的唯一key存入信息同步表后,根据数据变化的情况,组织消息体的信息;所述组织消息体的信息,包括:变化的数据,以及数据的优先级,所述数据获取方按照所述优先级这个顺序来获取数据;
第三处理模块,被配置为,数据提供方通知数据获取方根据消息体的信息来取数据;所述数据提供方通过扩展通知接口通知所述数据获取方根据消息体的信息的数据的优先级来取数据;
不同的数据获取方存在不同的通知方式,所述扩展通知接口则直接跟所述数据获取方对接,告知所述数据获取方数据有变化,来获取数据,同时传给所述数据获取方相应获取数据的参数;
所述扩展通知接口与所述数据获取方对接时候配置方案,所述方案包括,所述待同步数据的类型、所述扩展通知接口的配置、查询和删除数据时候重写的特殊接口;
所述删除数据,包括:
数据删除的时候先校验所述数据提供方本身是否可以删除,如果所述数据提供方本身就不能删除,则返回提示,如果所述数据提供方本身可以删除,则调用所述数据获取方的接口判断是否可以删除数据,如果所述数据获取方没有配置删除控制的扩展方法,则默认是不允许删除;
第四处理模块,被配置为,所述数据获取方在获得数据提供方发送的通知后,便开始获取数据,不停抓取,直到获取不到数据为止,最终获取到的数据为变化的数据;
第五处理模块,被配置为,所述数据获取方获取数据完毕后,需要调用状态更新接口,更新当前数据的状态;所述更新当前数据的状态的判断过程包括:
有新增或者修改的数据变化后,根据数据的时间戳把变化的数据的key更新到信息同步表里面,同步状态为“未同步”,然后通知所述数据获取方过来获取数据,所述数据获取方获取数据后,同步状态就处于“同步中”,所述数据获取方处理完毕后需要调用同步的回写接口,确定获取的数据是否同步完成,所述同步的回写接口记录当前的同步状态,所述数据获取方无需再记录同步状态;
所述有新增或者修改的数据变化后,根据数据的时间戳把变化的数据的key更新到信息同步表里面,同步状态为“未同步”,然后通知所述数据获取方过来获取数据的具体过程包括:
如果数据有新增的则直接插入进入信息同步表,同时记录数据的时间戳,如果是修改的,则判断本次的数据的时间戳和上一次的数据的时间戳是否一致,如果不一致则判断本次是有效修改,有效修改则会将同步状态改为“未同步”,同时通过扩展通知接口通知所述数据获取方来获取数据;
第六处理模块,被配置为,所述数据获取方查询当前数据的同步状态,确定当前数据的同步状态。
3.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现权利要求1所述的一种反向记录同步状态的实时数据同步方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111594108.4A CN113986909B (zh) | 2021-12-24 | 2021-12-24 | 一种反向记录同步状态的实时数据同步方法、系统及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111594108.4A CN113986909B (zh) | 2021-12-24 | 2021-12-24 | 一种反向记录同步状态的实时数据同步方法、系统及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113986909A CN113986909A (zh) | 2022-01-28 |
CN113986909B true CN113986909B (zh) | 2022-04-22 |
Family
ID=79734257
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111594108.4A Active CN113986909B (zh) | 2021-12-24 | 2021-12-24 | 一种反向记录同步状态的实时数据同步方法、系统及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113986909B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102098342A (zh) * | 2011-01-31 | 2011-06-15 | 华为技术有限公司 | 一种基于事务级的数据同步方法、装置及系统 |
CN105262831A (zh) * | 2015-10-30 | 2016-01-20 | 北京奇艺世纪科技有限公司 | 一种存储系统间同步数据的方法、装置及同步系统 |
WO2017084410A1 (zh) * | 2015-11-17 | 2017-05-26 | 中兴通讯股份有限公司 | 一种网管数据同步方法及装置 |
CN106980625A (zh) * | 2016-01-18 | 2017-07-25 | 阿里巴巴集团控股有限公司 | 一种数据同步方法、装置及系统 |
CN110674146A (zh) * | 2019-08-22 | 2020-01-10 | 视联动力信息技术股份有限公司 | 一种数据同步方法、同步端、待同步端、设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104239250B (zh) * | 2014-09-22 | 2017-08-08 | 南京长峰航天电子科技有限公司 | 基于rtx实时扩展子系统的pci总线数据同步方法 |
CN110619014A (zh) * | 2019-09-18 | 2019-12-27 | 国网江苏省电力有限公司宝应县供电分公司 | 一种基于etl的数据抽取方法 |
-
2021
- 2021-12-24 CN CN202111594108.4A patent/CN113986909B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102098342A (zh) * | 2011-01-31 | 2011-06-15 | 华为技术有限公司 | 一种基于事务级的数据同步方法、装置及系统 |
CN105262831A (zh) * | 2015-10-30 | 2016-01-20 | 北京奇艺世纪科技有限公司 | 一种存储系统间同步数据的方法、装置及同步系统 |
WO2017084410A1 (zh) * | 2015-11-17 | 2017-05-26 | 中兴通讯股份有限公司 | 一种网管数据同步方法及装置 |
CN106980625A (zh) * | 2016-01-18 | 2017-07-25 | 阿里巴巴集团控股有限公司 | 一种数据同步方法、装置及系统 |
CN110674146A (zh) * | 2019-08-22 | 2020-01-10 | 视联动力信息技术股份有限公司 | 一种数据同步方法、同步端、待同步端、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113986909A (zh) | 2022-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2461615A1 (en) | Method for backing up terminal data and system thereof | |
CN111399764B (zh) | 数据存储方法、读取方法、装置、设备及存储介质 | |
CN113656490B (zh) | 一种数据同步的方法、装置、终端以及存储介质 | |
CN111200651A (zh) | 定时调用微服务的方法、系统、设备和介质 | |
CN102594874B (zh) | 一种同步处理方法和装置 | |
CN113986909B (zh) | 一种反向记录同步状态的实时数据同步方法、系统及介质 | |
CN109614271A (zh) | 多个集群数据一致性的控制方法、装置、设备及存储介质 | |
CN110489483B (zh) | 数据同步方法、装置、计算机设备以及存储介质 | |
CN110071959B (zh) | 定时同步第三方国标资源的方法及装置 | |
CN114928620B (zh) | 用户信息同步方法、装置、设备、存储介质和程序产品 | |
CN101610225A (zh) | 一种同步处理方法、系统和装置 | |
CN111309693A (zh) | 一种数据同步方法、装置、系统、电子设备及存储介质 | |
CN115757612A (zh) | 数据同步方法、装置、计算机设备及存储介质 | |
CN107577680B (zh) | 基于HBase大数据的实时全文检索系统及其实现方法 | |
CN115292415A (zh) | 一种数据库访问方法及装置 | |
CN106547485A (zh) | 数据迁移方法及装置 | |
CN115081412A (zh) | 表格内容处理方法、装置、设备、存储介质 | |
CN109325057B (zh) | 中间件管理方法、装置、计算机设备以及存储介质 | |
CN111897441A (zh) | 表情添加方法、装置及电子设备 | |
CN113138814A (zh) | 远程协助方法、装置、设备和存储介质 | |
CN113722401B (zh) | 数据缓存方法、装置、计算机设备及可读存储介质 | |
CN112596752B (zh) | 一种电子取证设备物联化方法及系统 | |
CN113641533B (zh) | 终端及短信息处理方法 | |
CN118152186A (zh) | 一种分布式对象存储系统中的数据恢复方法及装置 | |
CN118101671A (zh) | 一种终端设备与载波模块的档案同步方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |