CN111949731A - 数据同步方法、装置、电子设备及存储介质 - Google Patents
数据同步方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111949731A CN111949731A CN202010817072.0A CN202010817072A CN111949731A CN 111949731 A CN111949731 A CN 111949731A CN 202010817072 A CN202010817072 A CN 202010817072A CN 111949731 A CN111949731 A CN 111949731A
- Authority
- CN
- China
- Prior art keywords
- data
- synchronization
- provider
- intermediate component
- demander
- 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.)
- Pending
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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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
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)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种数据同步方法、装置、电子设备及存储介质,涉及数据处理技术领域。其中,该方法可以应用于数据同步***中的数据提供方,数据同步***包括数据提供方和至少一个数据需求方,该方法包括:当数据更新后,将变更数据信息写入中间组件;接收数据需求方在通过中间组件监听到数据更新后发送的同步请求;根据同步请求向数据需求方发送更新的数据,应用本申请实施例,使得数据提供方发生数据变更时不再直接将变更数据推送到数据需求方,而是把变更数据信息写入到中间组件中,数据需求方通过监听该中间组件来获取更新的数据,降低了数据提供方和数据需求方之间的依懒性,提高了数据同步的可靠性,且降低了数据同步方法应用的复杂度。
Description
技术领域
本申请涉及数据处理技术领域,特别涉及一种数据同步方法、装置、电子设备及存储介质。
背景技术
在软件开发过程中,数据同步作为一种重要的数据交互方式,比如,对于一份数据,一个业务***负责更改,另一个业务***负责读取,而为保障业务的实时性,需要尽量确保读写双方数据的一致。
现有的在进行数据同步时,主要通过“推拉模式”实现数据同步,其中,提供数据的一方主动调用需要被同步的一方称为推,需要数据的一方主动调用提供数据的一方称为拉,两种方式相配合以实现数据同步。
但现有的同步方法中,由于提供数据的一方和需要数据的一方依赖度很高且复杂,整个更新过程中会存在风险。
发明内容
本申请的目的在于,针对上述现有技术中的不足,提供一种数据同步方法、装置、电子设备及存储介质,可以简化数据同步方法,且还可以提高数据同步的可靠性。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供了一种数据同步方法,应用于数据同步***中的数据提供方,所述数据同步***包括所述数据提供方和至少一个数据需求方,所述方法包括:
当数据更新后,将变更数据信息写入中间组件;
接收所述数据需求方在通过所述中间组件监听到数据更新后发送的同步请求;
根据所述同步请求向所述数据需求方发送更新的数据。
可选地,所述变更数据信息包括:变更数据的标识;
所述同步请求包括:所请求同步数据的标识。
可选地,所述方法还包括:
设备启动时,将全量变更信息写入所述中间组件,所述全量变更信息包括当前所有数据的标识。
可选地,所述方法还包括:
接收所述数据需求方在通过所述中间组件监听到所述全量变更信息后发送的初始同步请求;
根据所述初始同步请求向所述数据需求方发送当前所有数据。
可选地,所述接收所述数据需求方在通过所述中间组件监听到数据更新后发送的同步请求,包括:
接收所述数据需求方监听到所述中间组件有写事件后发送的同步请求。
第二方面,本申请实施例提供了一种数据同步方法,应用于数据同步***中的数据需求方,所述数据同步***包括数据提供方和至少一个所述数据需求方,所述方法包括:
通过中间组件监听到所述数据提供方数据更新后,向所述数据提供方发送同步请求;其中,所述中间组件用于获取所述数据提供方写入的变更数据信息;
接收所述数据提供方根据所述同步请求发送的更新的数据;
根据所述更新的数据进行数据更新。
可选地,所述变更数据信息包括:变更数据的标识;
所述同步请求包括:所请求同步数据的标识。
可选地,所述方法还包括:
设备启动时,启动监听事件,并向所述数据提供方发送初始同步请求,所述初始同步请求用于请求所述数据提供方当前所有数据;
接收所述数据提供方根据所述初始同步请求发送的当前所有数据。
可选地,所述通过中间组件监听到所述数据提供方数据更新后,向所述数据提供方发送同步请求,包括:
监听到所述中间组件有写事件后,向所述数据提供方发送同步请求。
第三方面,本申请实施例提供了一种数据同步装置,应用于数据同步***中的数据提供方,所述数据同步***包括所述数据提供方和至少一个数据需求方,所述装置包括:写入模块、接收模块以及发送模块;
所述写入模块,用于当数据更新后,将变更数据信息写入中间组件;
所述接收模块,用于接收所述数据需求方在通过所述中间组件监听到数据更新后发送的同步请求;
所述发送模块,用于根据所述同步请求向所述数据需求方发送更新的数据。
可选地,所述变更数据信息包括:变更数据的标识;所述同步请求包括:所请求同步数据的标识。
可选地,所述装置还包括:启动模块,用于设备启动时,将全量变更信息写入所述中间组件,所述全量变更信息包括当前所有数据的标识。
可选地,所述接收模块,还用于接收所述数据需求方在通过所述中间组件监听到所述全量变更信息后发送的初始同步请求;所述发送模块,还用于根据所述初始同步请求向所述数据需求方发送当前所有数据。
可选地,所述接收模块,具体用于接收所述数据需求方监听到所述中间组件有写事件后发送的同步请求。
第四方面,本申请实施例提供了一种数据同步装置,应用于数据同步***中的数据需求方,所述数据同步***包括数据提供方和至少一个所述数据需求方,所述装置包括:发送模块、接收模块以及更新模块;
所述发送模块,用于通过中间组件监听到所述数据提供方数据更新后,向所述数据提供方发送同步请求;其中,所述中间组件用于获取所述数据提供方写入的变更数据信息;
所述接收模块,用于接收所述数据提供方根据所述同步请求发送的更新的数据;
所述更新模块,用于根据所述更新的数据进行数据更新。
可选地,所述变更数据信息包括:变更数据的标识;
所述同步请求包括:所请求同步数据的标识。
可选地,所述发送模块,还用于设备启动时,启动监听事件,并向所述数据提供方发送初始同步请求,所述初始同步请求用于请求所述数据提供方当前所有数据;所述接收模块,还用于接收所述数据提供方根据所述初始同步请求发送的当前所有数据。
可选地,所述发送模块,具体用于监听到所述中间组件有写事件后,向所述数据提供方发送同步请求。
第五方面,本申请实施例提供了一种电子设备,包括:处理器、存储介质和总线,存储介质存储有处理器可执行的机器可读指令,当电子设备运行时,处理器与存储介质之间通过总线通信,处理器执行机器可读指令,以执行上述第一方面的数据同步方法的步骤。
第六方面,本申请实施例提供了一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述第一方面的数据同步方法的步骤。
本申请的有益效果是:
本申请实施例提供的一种数据同步方法、装置、电子设备及存储介质,可以应用于数据同步***中的数据提供方,数据同步***包括数据提供方和至少一个数据需求方,该方法包括:当数据更新后,将变更数据信息写入中间组件;接收数据需求方在通过中间组件监听到数据更新后发送的同步请求;根据同步请求向数据需求方发送更新的数据,应用本申请实施例,使得数据提供方发生数据变更时不再直接将变更数据推送到数据需求方,而是把变更数据信息写入到中间组件中,数据需求方通过监听该中间组件来获取更新的数据,降低了数据提供方和数据需求方之间的依懒性,提高了数据同步的可靠性,且降低了数据同步方法应用的复杂度。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种数据同步***的架构图;
图2为本申请实施例提供的一种数据同步方法的流程示意图;
图3为本申请实施例提供的另一种数据同步方法的流程示意图;
图4为本申请实施例提供的又一种数据同步方法的流程示意图;
图5为本申请实施例提供的另一种数据同步方法的流程示意图;
图6为本申请实施例提供的又一种数据同步方法的流程示意图;
图7为本申请实施例提供的一种数据同步方法的示意图;
图8为本申请实施例提供的一种数据同步装置的功能模块示意图;
图9为本申请实施例提供的另一种数据同步装置的功能模块示意图;
图10为本申请实施例提供的又一种数据同步装置的功能模块示意图;
图11为本申请实施例提供的一种电子设备结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
针对现有数据同步方法中,提供数据的一方和需要数据的一方依赖度很高且复杂,整个更新过程中会存在风险的问题,本申请提供一种数据同步方法,应用该方法可以降低数据需求方和数据提供方之间的依赖性,从而提高数据同步的可靠性。
图1为本申请实施例提供的一种数据同步***的架构图,如图1所示,该数据同步***可以包括数据提供方110和至少一个数据需求方130,其中,数据提供方110和至少一个数据需求方130可以通过网络120进行通信连接,数据需求方130根据本申请所提供的数据同步方法与数据提供方110实现数据同步时,可以提高数据同步的可靠性,具体实现过程可参见下述的相关过程。其中,该数据提供方110可以是计算机、服务器、处理器、终端等可以提供数据的设备,该数据需求方130可以是与数据提供方相同或不同类别的设备,比如,类别相同时,可以均为服务器,但不以此为限。当然,根据实际的应用场景,上述数据同步***还可以包括数据库等,在一些实施例中,数据库可以存储在本申请中描述的示例性方法的数据和/或指令,本申请在此不作限定。
可以理解的是,本申请所提供的数据同步方法可以应用于推拉结合应用场景中,比如,分布式场景,应用于分布式场景时,应用本申请所提供的数据同步方法,分布式场景中的任一数据需求方的设备可以与数据提供方的设备之间实现数据同步,当然,实际应用场景并不以此为限。
图2为本申请实施例提供的一种数据同步方法的流程示意图,该方法可以应用于数据同步***中的数据提供方,该数据同步***可以包括数据提供方和至少一个数据需求方。如图2,该方法可以包括:
S101、当数据更新后,将变更数据信息写入中间组件。
其中,数据提供方可以为数据需求方提供数据,数据提供方中当发生数据更新(比如,数据的增加、修改、删除等)后,可以将变更数据信息写入中间组件,以便数据需求方通过该中间组件可以获取发生变更的数据。
可选地,该中间组件可以是带有变更事件通知的分布式一致性组件,比如,可以为etcd组件、zoomkeeper组件等,但不以此为限。其中,etcd组件是CoreOS基于Raft开发的分布式key-value存储,可用于服务发现、共享配置以及一致性保障(如数据库选主、分布式锁等);ZooKeeper组件作为Hadoop和Hbase的重要组件,是一个为分布式应用提供一致***的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
在一些实施例中,该中间组件可以独立于数据提供方、数据需求方存在,比如该中间组件可以对应一中间设备,并通过网络与数据提供方、数据需求方进行通信,根据实际的应用场景可以灵活设置,本申请在此不作限定。
在此过程中,由于引入了中间组件,数据提供方和数据需求方不再直接互相依赖、耦合在一起,降低了数据提供方和数据需求方之间的依懒性,提高了数据同步的可靠性。
S102、接收数据需求方在通过中间组件监听到数据更新后发送的同步请求。
对于数据需求方来说,数据需求方可以通过中间组件来监听数据提供方是否发生数据更新,若监听到数据提供方数据更新后,数据需求方可以向数据提供方发送同步请求,以请求获取发生更新的数据。
S103、根据同步请求向数据需求方发送更新的数据。
数据请求方在接收到数据需求方发送的同步请求后,则可以根据该同步请求将发生更新的数据发送给数据需求方,以使数据需求方根据该更新的数据可以对当前的数据进行更新操作。其中,更新方式可以包括增加、修改、删除等,但不以此为限。
综上,本申请实施例所提供的数据同步方法,可以应用于数据同步***中的数据提供方,数据同步***包括数据提供方和至少一个数据需求方,该方法包括:当数据更新后,将变更数据信息写入中间组件;接收数据需求方在通过中间组件监听到数据更新后发送的同步请求;根据同步请求向数据需求方发送更新的数据,应用本申请实施例,使得数据提供方发生数据变更时不再直接将变更数据推送到数据需求方,而是把变更数据信息写入到中间组件中,数据需求方通过监听该中间组件来获取更新的数据,降低了数据提供方和数据需求方之间的依懒性,提高了数据同步的可靠性,且降低了数据同步方法应用的复杂度。
可选地,上述变更数据信息可以包括:变更数据的标识;同步请求可以包括:所请求同步数据的标识。
其中,变更数据的标识为变更数据的唯一标识,通过该变更数据的标识可以在数据提供方中唯一确定某条数据;而所请求同步数据的标识为同步请求携带的需要进行更新的数据标识,所请求同步数据的标识可以与变更数据的标识部分相同,以使根据需要,数据需求方可以将数据提供方中发生更新的部分数据同步至数据需求方。当然,需要说明的是,所请求同步数据的标识也可以与变更数据的标识相同,以使数据需求方可以将数据提供方中发生更新的数据全部同步至数据需方中,本申请在此不作限定,根据实际的应用场景可以灵活设置。
图3为本申请实施例提供的另一种数据同步方法的流程示意图。其中,在数据提供方对应的设备启动时,为了实现数据需求方和数据提供方之间数据的实时同步,可选地,如图3所示,上述方法还包括:
S201、设备启动时,将全量变更信息写入中间组件,全量变更信息包括当前所有数据的标识。
其中,该设备即为数据提供方对应的设备,比如,服务器等,数据提供方对应的设备启动时,可以将全量变更信息写入中间组件,数据需求方通过该中间组件监听到对应的全量变更事件后,可以触发数据需求方进行一次全量的数据拉取动作以将数据提供方中的当前所有数据同步至数据需求方中。其中,全量变更信息可以包括数据提供方中当前所有数据的标识,具体进行数据同步时,可以根据全量变更信息中所包括的当前所有数据的标识依次将各标识对应的数据同步至数据需求方中,但不以此为限。
图4为本申请实施例提供的又一种数据同步方法的流程示意图。当数据需求方对应的设备启动时,为了实现数据需求方和数据提供方之间数据的实时同步,可选地,如图4所示,上述方法还包括:
S301、接收数据需求方在通过中间组件监听到全量变更信息后发送的初始同步请求。
S302、根据初始同步请求向数据需求方发送当前所有数据。
数据需求方对应的设备启动时,可以启动监听事件以监听中间组件是否写入了全量变更信息,若有写入,数据需求方可以向数据提供方发送初始同步请求以请求获取数据提供方中的当前所有数据,相应地,数据提供方可以接收该初始同步请求,向数据需求方发送当前所有数据以使数据需求方对应的设备在启动完成时可以与数据提供方中的数据内容一致,实现数据同步。
可选地,若该中间组件是带有变更事件通知的分布式一致性组件,当数据提供方中的数据发生更新时,可以将对应的数据变更事件写入到分布式一致性组件中,则上述接收数据需求方在通过中间组件监听到数据更新后发送的同步请求,可以包括:
接收数据需求方监听到中间组件有写事件后发送的同步请求。
可选地,数据需求方可以通过监听该中间组件是否发生写事件来判断数据提供方是否发生数据更新,若数据需求方监听到中间组件有写事件后,可以向数据提供方发送同步请求以请求获取发生更新的数据,相应地,数据提供方可以接收该同步请求,根据该同步请求将发生更新的数据发送给数据需求方,具体过程可参见前述的相关内容,本申请在此不再赘述。
图5为本申请实施例提供的另一种数据同步方法的流程示意图,该方法可以应用于数据同步***中的数据需求方,数据同步***包括数据提供方和至少一个数据需求方,如图5所示,该方法可以包括:
S401、通过中间组件监听到数据提供方数据更新后,向数据提供方发送同步请求;其中,中间组件用于获取数据提供方写入的变更数据信息。
其中,数据需求方可以通过中间组件来监听数据提供方是否发生数据更新,若监听到数据提供方发生数据更新后,数据需求方可以向数据提供方发送同步请求以请求获取发生更新的数据。对于中间组件的相关说明可参见前述的相关内容,本申请在此不再赘述。
S402、接收数据提供方根据同步请求发送的更新的数据。
S403、根据更新的数据进行数据更新。
数据提供方在接收到数据需求方发送的同步请求后,可以根据该同步请求将发生更新的数据发送给数据需求方,相应地,数据需求方接收该更新的数据,并根据该更新的数据对数据需求方中的数据进行更新,其中,更新方式可以包括增加、修改、删除等,但不以此为限。
综上,应用本申请实施例,使得数据提供方发生数据变更时不再直接将变更数据推送到数据需求方,而是把变更数据信息写入到中间组件中,数据需求方通过监听该中间组件来获取更新的数据,降低了数据提供方和数据需求方之间的依懒性,提高了数据同步的可靠性,且降低了数据同步方法应用的复杂度。
可选地,变更数据信息可以包括:变更数据的标识;同步请求可以包括:所请求同步数据的标识。其中,对于该部分内容可参见前述的相关内容,本申请在此不作赘述。
图6为本申请实施例提供的又一种数据同步方法的流程示意图。基于上述实施例的基础上,为保证当数据需求方对应的设备启动时未启动监听而丢失数据同步事件,可选地,如图6所示,上述方法还包括:
S501、设备启动时,启动监听事件,并向数据提供方发送初始同步请求,初始同步请求用于请求数据提供方当前所有数据。
S502、接收数据提供方根据初始同步请求发送的当前所有数据。
其中,此处的设备即为数据需求方对应的设备,该设备在启动时,可以启动监听事件以监听中间组件是否写入了全量变更信息,若写入了,该数据需求方对应的设备可以向数据提供方发送初始同步请求,以请求获取数据提供方中的当前所有数据(也即全量数据),数据提供方在接收到该初始同步请求后,可以将当前所有数据发送给数据需求方,从而实现数据需方和数据请求方之间全量数据的同步,确保数据需求方对应的设备在启动完成时可以与数据提供方中的数据内容一致,实现数据同步。可选地,初始同步请求可以包括数据提供方当前所有数据的标识。
可选地,若该中间组件是带有变更事件通知的分布式一致性组件,与前述方法实施例的相关内容所对应的,上述通过中间组件监听到数据提供方数据更新后,向数据提供方发送同步请求,包括:
监听到中间组件有写事件后,向数据提供方发送同步请求。
其中,数据需求方可以在监听到中间组件有写事件发生时认为数据提供方发生了数据更新,此时可以向数据提供发以发送同步请求,以请求获取发生更新的数据。
图7为本申请实施例提供的一种数据同步方法的示意图,如图7所示,该***包括数据提供方和一个数据需求方,在此以一个数据需求方为例进行说明,本申请实施例中的中间组件为带有变更事件通知的分布式一致性组件。
其中,对于数据提供方来说,数据提供方不再直接访问数据需求方,而是将数据源变更的事件写入到分布式一致性组件中,可选地,写入的内容可以包括拉取变更数据需要的唯一性标识(也即变更数据的标识);对于数据需求方来说,数据需求方可以监听分布式一致性组件的写事件,当发生写事件时,数据需求方接收到变更数据的唯一性标识,可以向数据提供方发起携带该唯一性标识的同步请求,以请求获得数据提供方中发生更新的数据,进而实现与数据提供方之间的数据同步。
在此过程中,为保证当数据需求方未启动监听而丢失数据同步事件,数据需求方可以在启动时首先进行事件的监听,然后再向数据提供方进行一次全量数据(即数据提供方中的当前所有数据)的同步,确保在启动完成时双方数据内容的一致,也即实现双方之间的数据同步。同时,当数据提供方后启动时,为了实现数据的实时同步,数据提供方可以将全量变更事件(即当前所有数据对应的变更事件)写入分布式一致性中间组件,进而触发数据需求方进行一次全量的数据拉取动作,实现双方之间的数据同步。
图8为本申请实施例提供的一种数据同步装置的功能模块示意图,该装置基本原理及产生的技术效果与前述对应的方法实施例相同,为简要描述,本实施例中未提及部分,可参考方法实施例中的相应内容,该数据同步装置200可以应用于数据同步***中的数据提供方,该数据同步***包括所述数据提供方和至少一个数据需求方,如图8所示,该数据同步装置200可以包括:写入模块210、接收模块220以及发送模块230。
写入模块210,用于当数据更新后,将变更数据信息写入中间组件;接收模块220,用于接收数据需求方在通过中间组件监听到数据更新后发送的同步请求;发送模块230,用于根据同步请求向数据需求方发送更新的数据。
可选地,变更数据信息包括:变更数据的标识;同步请求包括:所请求同步数据的标识。
图9为本申请实施例提供的另一种数据同步装置的功能模块示意图。可选地,如图9所示,上述装置还包括:启动模块250,用于设备启动时,将全量变更信息写入中间组件,全量变更信息包括当前所有数据的标识。
可选地,接收模块220,还用于接收数据需求方在通过中间组件监听到全量变更信息后发送的初始同步请求;发送模块230,还用于根据初始同步请求向数据需求方发送当前所有数据。
可选地,接收模块220,具体用于接收数据需求方监听到中间组件有写事件后发送的同步请求。
图10为本申请实施例提供的又一种数据同步装置的功能模块示意图,该装置基本原理及产生的技术效果与前述对应的方法实施例相同,为简要描述,本实施例中未提及部分,可参考方法实施例中的相应内容,该数据同步装置300可以应用于数据同步***中的数据需求方,该数据同步***包括数据提供方和至少一个数据需求方,如图10所示,该数据同步装置300可以包括:发送模块310、接收模块320以及更新模块330。
发送模块310,用于通过中间组件监听到数据提供方数据更新后,向数据提供方发送同步请求;其中,中间组件用于获取数据提供方写入的变更数据信息;接收模块320,用于接收数据提供方根据同步请求发送的更新的数据;更新模块330,用于根据更新的数据进行数据更新。
可选地,变更数据信息包括:变更数据的标识;所述同步请求包括:所请求同步数据的标识。
可选地,发送模块310,还用于设备启动时,启动监听事件,并向数据提供方发送初始同步请求,初始同步请求用于请求数据提供方当前所有数据;接收模块320,还用于接收数据提供方根据初始同步请求发送的当前所有数据。
可选地,发送模块310,具体用于监听到中间组件有写事件后,向数据提供方发送同步请求。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(Digital Signal Processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上***(system-on-a-chip,简称SOC)的形式实现。
图11为本申请实施例提供的一种电子设备结构示意图。如图11所示,该电子设备可以包括:处理器510、存储介质520和总线530,存储介质520存储有处理器510可执行的机器可读指令,当电子设备运行时,处理器510与存储介质520之间通过总线530通信,处理器510执行机器可读指令,以执行上述方法实施例的步骤。具体实现方式和技术效果类似,这里不再赘述。
可选地,本申请还提供一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述方法实施例的步骤。具体实现方式和技术效果类似,这里不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。以上仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (13)
1.一种数据同步方法,其特征在于,应用于数据同步***中的数据提供方,所述数据同步***包括所述数据提供方和至少一个数据需求方,所述方法包括:
当数据更新后,将变更数据信息写入中间组件;
接收所述数据需求方在通过所述中间组件监听到数据更新后发送的同步请求;
根据所述同步请求向所述数据需求方发送更新的数据。
2.根据权利要求1所述的方法,其特征在于,所述变更数据信息包括:变更数据的标识;
所述同步请求包括:所请求同步数据的标识。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
设备启动时,将全量变更信息写入所述中间组件,所述全量变更信息包括当前所有数据的标识。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
接收所述数据需求方在通过所述中间组件监听到所述全量变更信息后发送的初始同步请求;
根据所述初始同步请求向所述数据需求方发送当前所有数据。
5.根据权利要求1所述的方法,其特征在于,所述接收所述数据需求方在通过所述中间组件监听到数据更新后发送的同步请求,包括:
接收所述数据需求方监听到所述中间组件有写事件后发送的同步请求。
6.一种数据同步方法,其特征在于,应用于数据同步***中的数据需求方,所述数据同步***包括数据提供方和至少一个所述数据需求方,所述方法包括:
通过中间组件监听到所述数据提供方数据更新后,向所述数据提供方发送同步请求;其中,所述中间组件用于获取所述数据提供方写入的变更数据信息;
接收所述数据提供方根据所述同步请求发送的更新的数据;
根据所述更新的数据进行数据更新。
7.根据权利要求6所述的方法,其特征在于,所述变更数据信息包括:变更数据的标识;
所述同步请求包括:所请求同步数据的标识。
8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
设备启动时,启动监听事件,并向所述数据提供方发送初始同步请求,所述初始同步请求用于请求所述数据提供方当前所有数据;
接收所述数据提供方根据所述初始同步请求发送的当前所有数据。
9.根据权利要求6所述的方法,其特征在于,所述通过中间组件监听到所述数据提供方数据更新后,向所述数据提供方发送同步请求,包括:
监听到所述中间组件有写事件后,向所述数据提供方发送同步请求。
10.一种数据同步装置,其特征在于,应用于数据同步***中的数据提供方,所述数据同步***包括所述数据提供方和至少一个数据需求方,所述装置包括:写入模块、接收模块以及发送模块;
所述写入模块,用于当数据更新后,将变更数据信息写入中间组件;
所述接收模块,用于接收所述数据需求方在通过所述中间组件监听到数据更新后发送的同步请求;
所述发送模块,用于根据所述同步请求向所述数据需求方发送更新的数据。
11.一种数据同步装置,其特征在于,应用于数据同步***中的数据需求方,所述数据同步***包括数据提供方和至少一个所述数据需求方,所述装置包括:发送模块、接收模块以及更新模块;
所述发送模块,用于通过中间组件监听到所述数据提供方数据更新后,向所述数据提供方发送同步请求;其中,所述中间组件用于获取所述数据提供方写入的变更数据信息;
所述接收模块,用于接收所述数据提供方根据所述同步请求发送的更新的数据;
所述更新模块,用于根据所述更新的数据进行数据更新。
12.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1-9任一项所述数据同步方法的步骤。
13.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1-9任一项所述数据同步方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010817072.0A CN111949731A (zh) | 2020-08-14 | 2020-08-14 | 数据同步方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010817072.0A CN111949731A (zh) | 2020-08-14 | 2020-08-14 | 数据同步方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111949731A true CN111949731A (zh) | 2020-11-17 |
Family
ID=73342218
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010817072.0A Pending CN111949731A (zh) | 2020-08-14 | 2020-08-14 | 数据同步方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111949731A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116305218A (zh) * | 2023-05-17 | 2023-06-23 | 国网浙江省电力有限公司物资分公司 | 一种数据链路追踪及数据更新方法、装置及数据管理*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107908481A (zh) * | 2017-10-17 | 2018-04-13 | 链家网(北京)科技有限公司 | 一种数据同步方法、装置和*** |
CN109800272A (zh) * | 2019-02-25 | 2019-05-24 | 广州虎牙信息科技有限公司 | 缓存数据同步方法、服务器、应用***及存储装置 |
CN110597910A (zh) * | 2019-09-12 | 2019-12-20 | 聚好看科技股份有限公司 | 一种异地数据同步方法、装置和*** |
-
2020
- 2020-08-14 CN CN202010817072.0A patent/CN111949731A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107908481A (zh) * | 2017-10-17 | 2018-04-13 | 链家网(北京)科技有限公司 | 一种数据同步方法、装置和*** |
CN109800272A (zh) * | 2019-02-25 | 2019-05-24 | 广州虎牙信息科技有限公司 | 缓存数据同步方法、服务器、应用***及存储装置 |
CN110597910A (zh) * | 2019-09-12 | 2019-12-20 | 聚好看科技股份有限公司 | 一种异地数据同步方法、装置和*** |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116305218A (zh) * | 2023-05-17 | 2023-06-23 | 国网浙江省电力有限公司物资分公司 | 一种数据链路追踪及数据更新方法、装置及数据管理*** |
CN116305218B (zh) * | 2023-05-17 | 2023-08-11 | 国网浙江省电力有限公司物资分公司 | 一种数据链路追踪及数据更新方法、装置及数据管理*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108536761B (zh) | 报表数据查询方法及服务器 | |
CN108228814B (zh) | 数据同步方法及装置 | |
US9229701B2 (en) | Local store data versioning | |
KR20140047580A (ko) | 다중-서버 예약 시스템 상의 동기화 메커니즘 시스템 및 방법 | |
CN105162879B (zh) | 实现多机房数据一致性的方法、装置及*** | |
CN103475721B (zh) | 一种数字资产更新***的数字资产更新方法 | |
KR101545626B1 (ko) | Dds-db 연동 시스템 | |
US20110167041A1 (en) | Method and device for maintaining a changelog in data synchronization | |
WO2016082594A1 (zh) | 数据更新处理方法及装置 | |
US20090077262A1 (en) | System and method for synchronization between servers | |
CN111666134A (zh) | 一种分布式任务调度的方法和*** | |
CN114238495A (zh) | 数据库主备集群切换方法、装置、计算机设备及存储介质 | |
US20100325556A1 (en) | Method and device for modifying a personal data repository in a network | |
CN113868295A (zh) | 数据查询方法、装置及多方安全数据库 | |
CN113691635A (zh) | 调用微服务的方法、装置、电子设备和可读存储介质 | |
CN111949731A (zh) | 数据同步方法、装置、电子设备及存储介质 | |
CN112328406B (zh) | 一种基于tcc的微服务分布式事务***以及业务处理方法 | |
US20210149709A1 (en) | Method and apparatus for processing transaction | |
CN110798358B (zh) | 分布式服务标识方法、装置、计算机可读介质及电子设备 | |
CN115982279A (zh) | 数据同步方法、装置、***和计算机设备 | |
CN114615025B (zh) | 一种密钥同步处理方法和装置 | |
US20150100545A1 (en) | Distributed database system and a non-transitory computer readable medium | |
CN115964436A (zh) | 一种数据库集群管理的方法和装置 | |
CN113486116A (zh) | 一种数据同步方法、装置、电子设备及计算机可读介质 | |
CN109325057B (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 |