CN111352994B - 数据同步方法以及相关设备、装置 - Google Patents
数据同步方法以及相关设备、装置 Download PDFInfo
- Publication number
- CN111352994B CN111352994B CN202010079522.0A CN202010079522A CN111352994B CN 111352994 B CN111352994 B CN 111352994B CN 202010079522 A CN202010079522 A CN 202010079522A CN 111352994 B CN111352994 B CN 111352994B
- Authority
- CN
- China
- Prior art keywords
- data
- synchronized
- database server
- synchronization
- metadata
- 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/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)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据同步方法以及相关设备、装置,其中,数据同步方法包括:存储待同步数据集中每一待同步数据,并记录每一待同步数据的存储路径;其中,每一待同步数据对应于一个元数据,且待同步数据集预先经数据库服务器进行数据处理;将待同步数据集中元数据相同的待同步数据的存储路径组包为数据同步消息,以使数据节点基于解析数据同步消息所获取的存储路径,得到待同步数据并进行数据同步。上述方案,能够提高数据同步的效率。
Description
技术领域
本申请涉及信息技术领域,特别是涉及一种数据同步方法以及相关设备、装置。
背景技术
在诸如公共安全系统等网络中,数据库服务器需要与各个数据节点实现数据同步,以便各个数据节点能够及时地根据同步后的数据实现预设功能。例如,在公共安全系统中,项目人员(如项目甲方或项目乙方)将已有的黑名单或红名单等数据批量导入至数据库服务器,各个数据节点在定时周期中检测到数据库服务器完成数据更新,并从数据库服务器中获取并本地同步至少部分数据,从而实现布防。
然而,由于各个数据节点在定时周期中检测数据库服务器是否完成数据更新,故只能被动地与数据库服务器进行数据同步,同步的周期可能会和数据库服务器存在延迟,从而导致数据同步产生延迟,影响同步效率。有鉴于此,如何提高数据同步效率成为亟待解决的问题。
发明内容
本申请主要解决的技术问题是提供一种数据同步方法以及相关设备、装置,能够提高数据同步的效率。
为了解决上述问题,本申请第一方面提供了一种数据同步方法,包括:存储待同步数据集中每一待同步数据,并记录每一待同步数据的存储路径;其中,每一待同步数据对应于一个元数据,且待同步数据集预先经数据库服务器进行数据处理;将待同步数据集中元数据相同的待同步数据的存储路径组包为数据同步消息,以使数据节点基于解析数据同步消息所获取的存储路径,得到待同步数据并进行数据同步。
为了解决上述问题,本申请第二方面提供了一种数据同步方法,包括:获取数据同步消息,其中,数据同步消息包括待同步数据集中元数据相同的待同步数据的存储路径,待同步数据集为预先经数据库服务器处理的数据;解析数据同步消息,获取元数据相同的待同步数据的存储路径;基于获取的存储路径,获取元数据相同的待同步数据,并进行数据同步。
为了解决上述问题,本申请第三方面提供了一种数据同步设备,包括存储器、处理器和通信电路,存储器和通信电路耦接于处理器,存储器、处理器和通信电路工作时可实现上述第一方面中的数据同步方法。
为了解决上述问题,本申请第四方面提供了一种数据节点,包括存储器、处理器和通信电路,存储器和通信电路耦接于处理器,存储器、处理器和通信电路工作时可实现上述第二方面中的数据同步方法。
为了解决上述问题,本申请第五方面提供了一种存储装置,存储有能够被处理器运行的程序指令,程序指令用于实现上述第一方面中的数据同步方法,或实现上述第二方面中的数据同步方法。
上述方案,通过存储待同步数据集中每一待同步数据,并记录每一待同步数据的存储路径,且每一待同步数据对应于一个元数据,待同步数据集预先经数据库服务器进行数据处理,从而将待同步数据集中元数据相同的待同步数据的存储路径组包为数据同步消息,以使数据节点基于解析数据同步消息所获取的存储路径,得到待同步数据并进行数据同步,进而使数据同步消息与待同步数据分离,数据节点能够基于数据同步消息主动地获得待同步数据,能够减小数据库服务器完成数据更新与数据节点进行数据同步之间的延迟,提高数据同步效率。
此外,由于数据节点基于解析获取到的存储路径主动获取待同步数据,而不再从数据库服务器中获取待同步数据,故此,能够使数据节点与数据库服务器之间解耦,能够有利于系统落地,以及后续扩展。
附图说明
图1是本申请数据同步方法一实施例的流程示意图;
图2是数据同步系统一实施例的框架示意图;
图3是消息队列一实施例的框架示意图;
图4是本申请数据同步方法另一实施例的流程示意图;
图5是本申请数据同步方法又一实施例的流程示意图;
图6是数据同步装置一实施例的框架示意图;
图7是数据同步装置另一实施例的框架示意图;
图8是本申请数据同步设备一实施例的框架示意图;
图9是本申请数据节点一实施例的框架示意图;
图10是本申请存储装置一实施例的框架示意图。
具体实施方式
下面结合说明书附图,对本申请实施例的方案进行详细说明。
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。
本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。
请参阅图1,图1是本申请数据同步方法一实施例的流程示意图。具体而言,可以包括如下步骤:
步骤S11:存储待同步数据集中每一待同步数据,并记录每一待同步数据的存储路径。
本实施例中,每一待同步数据对应于一个元数据,且待同步数据集预先经数据库服务器进行数据处理。元数据(Meta data)又称为中介数据、中继数据,本实施例中,元数据为描述待同步数据的数据(data about data),主要用于描述待同步数据的属性信息。以待同步数据是监控布控数据为例,待同步数据的元数据可以是其所属的监控区域,例如,待同步数据01的元数据可以是“庭院监控画面”,待同步数据02的元数据可以是“廊道监控画面”,待同步数据03的元数据可以是“前门监控画面”,其他应用场景,可以以此类推,本实施例在此不再一一举例。
请结合参阅图2,图2是数据同步系统一实施例的框架示意图。如图2所示,数据同步设备可以包括元数据模块、数据接入模块、消息队列和数据分发器,即上述元数据模块、数据接入模块、消息队列和数据分发器可以集成于同一设备中,此外,为了提高系统鲁棒性以及处理能力,上述元数据模块、数据接入模块、消息队列和数据分发器也可以是相互之间独立,且通信连接的设备,在此不做限定。用户在将待同步数据导入数据接入模块之后,由数据接入模块将数据发送至数据库服务器进行数据处理,并通过元数据模块获得待同步数据的元数据,从而使得待同步数据对应有一个元数据。进一步地,在数据库服务器处理完成待同步数据之后,可以由数据库服务器或数据接入模块将待同步数据存储至数据分发器,并记录待同步数据的存储路径。例如,当处于同步工作模式时,数据接入模块在将待同步数据导入到数据库服务器时,同时将待同步数据存储到数据分发器;或者当处于异步工作模式时,数据接入模块在将待同步数据导入到数据库服务器,且数据库服务器处理完成之后,数据库服务器再将待同步数据存储到数据分发器,具体可以根据实际场景而进行设置,在此不做限定。
步骤S12:将待同步数据集中元数据相同的待同步数据的存储路径组包为数据同步消息,以使数据节点基于解析数据同步消息所获取的存储路径,得到待同步数据并进行数据同步。
仍以待同步数据是监控布控数据为例,可以将元数据为“庭院监控画面”的所有待同步数据的存储路径组包为数据同步消息,将元数据为“廊道监控画面”的所有待同步消息的存储路径组包为数据同步消息,将元数据为“前门监控画面”的所有待同步消息的存储路径组包为数据同步消息,其他应用场景中,可以以此类推,本实施例在此不再一一举例。
在一个实施场景中,为了使各个数据节点各司其职,并进一步提高数据节点感知数据库服务器的数据更新的速度,还可以将数据同步消息存放至消息队列(MessageQueue,MQ),并为各个数据节点预先订阅主题。消息队列是一种进程间或同一进程的不同线程间的通信方式。消息队列具体可以采用Kafka、RabbitMQ、ActivMQ、RocketMQ中的任一种,在此不做限定。具体地,可以将数据同步消息存放至消息队列的目标分区中,且目标分区所属的主题与数据同步消息所对应的元数据一致,从而使得数据节点获取与其订阅的主题一致的数据同步消息。仍以待同步数据是监控布控数据为例,请结合参阅图图2和3,图3是消息队列一实施例的框架示意图,可以分别设置数据节点1订阅的主题为“庭院监控画面”,数据节点2订阅的主题为“廊道监控画面”,数据节点n订阅的主题为“前门监控画面”,并且将与元数据“庭院监控画面”对应的数据同步消息(如数据同步消息01)存放至消息队列的分区(partition)A01,分区A01所属的主题(Topic)为“庭院监控画面”,将与元数据“廊道监控画面”对应的数据同步消息(如数据同步消息02)存放至消息队列的分区B01,分区B01所属的主题为“廊道监控画面”,将元数据“前门监控画面”对应的数据同步消息(如数据同步消息03)存放至消息队列的分区C01,分区C01所属的主题为“前门监控画面”,从而数据节点1能够在数据同步消息01存放至分区A01时,快速地获取到该消息,数据节点2能够在数据同步消息02存放至分区B01时,快速地获取到该消息,数据节点n能够在数据同步消息03存放至分区C01时,快速地获取到该消息。
在一个实施场景中,为了进一步确保数据节点与数据库服务器的数据版本的一致性,还可以将数据节点发送的数据版本查询请求转发至数据库服务器,并将数据库服务器发送的数据版本查询反馈转发至数据节点,在数据节点通过解析数据版本查询反馈得到数据库服务器的当前数据版本,并基于当前数据版本与数据节点的本地数据版本不一致而发送了数据更新请求的基础上,还可以将该数据更新请求转发至数据库服务器,从而获得数据库服务器基于数据更新请求而发送的待更新数据,以使数据节点接收到待更新数据之后进行数据更新。在一个实施场景中,数据节点可以在预定时间段发送数据版本查询请求,例如:每周日、每月末等等,本实施例在此不做具体限制。
在一个实施场景中,数据库服务器对待同步数据的数据处理方式可能包括多种处理方式(例如,删除、新增、覆盖)时,为了使数据节点与数据库服务器对同一待同步数据的处理方式保持一致,还可以存储每一待同步数据时,一并将其对应的数据处理信息进行存储,并记录每一待同步数据及其数据处理信息的存储路径,从而使数据节点基于解析数据同步消息所获取的存储路径,得到待同步数据及其数据处理信息,并基于数据处理信息对待同步数据进行处理。
上述方案,通过存储待同步数据集中每一待同步数据,并记录每一待同步数据的存储路径,且每一待同步数据对应于一个元数据,待同步数据集预先经数据库服务器进行数据处理,从而将待同步数据集中元数据相同的待同步数据的存储路径组包为数据同步消息,以使数据节点基于解析数据同步消息所获取的存储路径,得到待同步数据并进行数据同步,进而使数据同步消息与待同步数据分离,数据节点能够基于数据同步消息主动地获得待同步数据,能够减小数据库服务器完成数据更新与数据节点进行数据同步之间的延迟,提高数据同步效率。
此外,由于数据节点基于解析获取到的存储路径主动获取待同步数据,而不再从数据库服务器中获取待同步数据,故此,能够使数据节点与数据库服务器之间解耦,能够有利于系统落地,以及后续扩展。
请参阅图4,图4是本申请数据同步方法另一实施例的流程示意图。具体而言,可以包括如下步骤:
步骤S41:将待同步数据集分为多个子数据集。
本实施例中,待同步数据集所包含的待同步数据可能较多,数据量可能较为庞大,因此,可以将待同步数据集分为多个子数据集,从而可以将子数据集逐个进行同步。在将待同步数据集进行划分时,可以将每个子数据集中所包含的待同步数据的数量设置为相同,或者将每个子数据集中所包含的数据量设置为相同,本实施例在此不做具体限制。此外,将待同步数据集分为多个子数据集的操作也可以由用户预先执行,也就是说,用户预先对待同步数据集进行划分,从而得到多个子数据集。
步骤S42:依次选取多个子数据集中的一个作为当前子数据集。
具体地,可以按照各个子数据集中所包含的待同步数据的多少依次选取当前子数据集,或者可以按照各个子数据集中所包含的数据量的多少依次选取当前子数据集,本实施例在此不做具体限制。
通过依次选取多个子数据集中的一个作为当前子数据集,并进行本实施例中下述步骤的处理,从而可以将待同步数据集进行分片处理,实现数据导入、处理、分发、同步的同时执行,且在传输过程中,如果某一子数据集丢包时,能够方便地进行补发,进而使得数据库服务器和各个数据节点能够同步地、实时地完成数据的同步更新,进一步提高数据同步的效率。
步骤S43:将当前子数据集发送至数据库服务器进行数据处理。
在选取得到当前子数据集之后,可以将当前子数据集发送至数据库服务器进行数据处理。
步骤S44:存储当前子数据集中每一待同步数据,并记录每一待同步数据的存储路径。
具体可以参考上述实施例中的相关步骤。此外,数据库服务器对待同步数据的数据处理方式可能包括多种处理方式(例如,删除、新增、覆盖)时,为了使数据节点与数据库服务器对同一待同步数据的处理方式保持一致,还可以获取数据库服务器对当前子数据集中每一待同步数据的数据处理信息,并存储当前子数据集中每一待同步数据及其数据处理信息,并记录每一待同步数据及其数据处理信息的存储路径。
步骤S45:将当前子数据集中元数据相同的待同步数据的存储路径组包为数据同步消息,以使数据节点基于解析数据同步消息所获取的存储路径,得到待同步数据并进行数据同步。
具体可以参考上述实施例中的相关步骤。此外,数据库服务器对待同步数据的数据处理方式可能包括多种处理方式(例如,删除、新增、覆盖)时,为了使数据节点与数据库服务器对同一待同步数据的处理方式保持一致,还可以获取数据库服务器对当前子数据集中每一待同步数据的数据处理信息,并存储当前子数据集中每一待同步数据及其数据处理信息,并记录每一待同步数据及其数据处理信息的存储路径,从而使得数据节点能够基于解析数据同步消息所获取的存储路径,得到待同步数据及其对应的数据处理信息,并基于对应的数据处理信息对待同步数据进行处理,进而使得数据节点和数据库服务器对同一待同步数据的处理方式能够保持一致。
区别于前述实施例,通过将待同步数据集分为多个子数据集,依次选取多个子数据集中的一个作为当前子数据集,将当前子数据集发送至数据库服务器进行数据处理,存储当前子数据集中每一待同步数据,并记录每一待同步数据的存储路径,从而将当前子数据集中元数据相同的待同步数据的存储路径组包为数据同步消息,以使数据节点基于解析数据同步消息所获取的存储路径,得到待同步数据并进行数据同步,进而可以将待同步数据集进行分片处理,使得数据库服务器和各个数据节点能够同步地、实时地完成数据的同步更新,进一步提高数据同步的效率。
请参阅图5,图5是本申请数据同步方法又一实施例的流程示意图。具体而言,可以包括如下步骤:
步骤S51:获取数据同步消息。
本实施例中,数据同步消息包括待同步数据集中元数据相同的待同步数据的存储路径,待同步数据集为预先经数据库服务器处理的数据。具体地,可以参阅上述实施例中的相关步骤,本实施例在此不再赘述。
在一个实施场景中,数据同步消息可以存放于消息队列的分区中,分区所属的主题与数据同步消息对应的元数据一致,从而数据节点能够快速地获取与预先订阅的主题一致的数据同步消息,具体可以参阅上述实施例中的相关步骤,在此不再赘述。
在一个实施场景中,为了进一步提高数据同步效率,特别是在待同步数据集的数据量较大的情况下,或者,在待同步数据集所包含的待同步数据的数量较多的情况下,提高数据同步的效率,待同步数据集还可以预先分为多个子数据集,且多个子数据集中每一子数据集依次作为当前子数据集进行处理,从而可以将待同步数据集进行分片处理,使得数据库服务器和各个数据节点能够同步地、实时地完成数据的同步更新。
步骤S52:解析数据同步消息,获取元数据相同的待同步数据的存储路径。
具体可以参考上述实施例中的相关步骤,在此不再赘述。
在一个实施场景中,当待同步数据集被分为多个子数据集,且多个子数据集中的每一子数据集依次作为当前子数据集进行处理时,解析数据同步消息,可以获取当前子数据集中元数据相同的待同步数据的存储路径。
步骤S53:基于获取的存储路径,获取元数据相同的待同步数据,并进行数据同步。
具体可以参考上述实施例中的相关步骤,在此不再赘述。此外,待同步数据还可以与其对应的数据处理信息一并进行存储,从而基于获取的存储路径,还可以获取元数据相同的待同步数据及其数据处理信息,从而数据节点能够基于数据处理信息对待同步数据进行同步处理,以确保与数据库服务器对同一待同步数据的处理方式的一致性。
在一个实施场景中,当获取的存储路径是当前子数据集中元数据相同的待同步数据的存储路径时,可以基于该存储路径,获取当前子数据集中元数据相同的待同步数据,并在本地进行数据同步。在一个具体的实施场景中,数据库服务器对待同步数据的数据处理方式可能包括多种处理方式(例如,删除、新增、覆盖)时,为了使数据节点与数据库服务器对同一待同步数据的处理方式保持一致,基于获取的存储路径,还可以获取当前数据集中元数据相同的待同步数据以及数据处理信息,其中,数据处理信息包括数据库服务器对待同步数据的处理信息,从而数据节点能够基于数据处理信息对对应的待同步数据进行数据同步。
在一个实施场景中,为了进一步确保数据节点与数据库服务器的数据版本的一致性,还可以发送数据版本查询请求至数据库服务器,并接收数据库服务器基于数据版本查询请求发送的数据版本查询反馈,解析数据版本查询反馈,获取数据库服务器的当前数据版本,若当前数据版本与本地数据版本不一致,则向数据库服务器发送数据更新请求,具体地,可以通过如图2所示的数据同步设备将数据更新请求转发至数据库服务器,进而获取数据库服务器基于数据更新请求而发送的待更新数据,并进行数据更新。在一个实施场景中,数据节点可以在预定时间段发送数据版本查询请求,例如:每周日、每月末等等,本实施例在此不做具体限制。
上述方案,通过获取数据同步消息,且数据同步消息包括待同步数据集中元数据相同的待同步数据的存储路径,待同步数据集为预先经数据库服务器处理的数据,并解析数据同步消息,获取元数据相同的待同步数据的存储路径,从而基于获取的存储路径,获取元数据相同的待同步数据,并进行数据同步,进而使数据同步消息与待同步数据分离,数据节点能够基于数据同步消息主动地获得待同步数据,能够减小数据库服务器完成数据更新与数据节点进行数据同步之间的延迟,提高数据同步效率。
此外,由于数据节点基于解析获取到的存储路径主动获取待同步数据,而不再从数据库服务器中获取待同步数据,故此,能够使数据节点与数据库服务器之间解耦,能够有利于系统落地,以及后续扩展。
请参阅图6,图6是本申请数据同步装置60一实施例的框架示意图。数据同步装置60包括存储记录模块61和消息组包模块62,存储记录模块61用于存储待同步数据集中每一待同步数据,并记录每一待同步数据的存储路径;其中,每一待同步数据对应于一个元数据,且待同步数据集预先经数据库服务器进行数据处理;消息组包模块62用于将待同步数据集中元数据相同的待同步数据的存储路径组包为数据同步消息,以使数据节点基于解析数据同步消息所获取的存储路径,得到待同步数据并进行数据同步。
上述方案,通过存储待同步数据集中每一待同步数据,并记录每一待同步数据的存储路径,且每一待同步数据对应于一个元数据,待同步数据集预先经数据库服务器进行数据处理,从而将待同步数据集中元数据相同的待同步数据的存储路径组包为数据同步消息,以使数据节点基于解析数据同步消息所获取的存储路径,得到待同步数据并进行数据同步,进而使数据同步消息与待同步数据分离,数据节点能够基于数据同步消息主动地获得待同步数据,能够减小数据库服务器完成数据更新与数据节点进行数据同步之间的延迟,提高数据同步效率。
此外,由于数据节点基于解析获取到的存储路径主动获取待同步数据,而不再从数据库服务器中获取待同步数据,故此,能够使数据节点与数据库服务器之间解耦,能够有利于系统落地,以及后续扩展。
在一些实施例中,数据同步装置60还包括数据划分模块,用于将待同步数据集分为多个子数据集,数据同步装置60还包括子数据集选取模块,用于依次选取多个子数据集中的一个作为当前子数据集,数据同步装置60还包括数据发送模块,用于将当前子数据集发送至数据库服务器进行数据处理,存储记录模块61还具体用于存储当前子数据集中每一待同步数据,并记录每一待同步数据的存储路径,消息组包模块62还具体用于将当前子数据集中元数据相同的待同步数据的存储路径组包为数据同步消息。
区别于前述实施例,通过将待同步数据集分为多个子数据集,依次选取多个子数据集中的一个作为当前子数据集,将当前子数据集发送至数据库服务器进行数据处理,存储当前子数据集中每一待同步数据,并记录每一待同步数据的存储路径,从而将当前子数据集中元数据相同的待同步数据的存储路径组包为数据同步消息,以使数据节点基于解析数据同步消息所获取的存储路径,得到待同步数据并进行数据同步,进而可以将待同步数据集进行分片处理,使得数据库服务器和各个数据节点能够同步地、实时地完成数据的同步更新,进一步提高数据同步的效率。
在一些实施例中,数据发送模块还具体用于将当前子数据集发送至数据库服务器进行数据处理,并获取当前子数据集中每一待同步数据的数据处理信息,存储记录模块61还具体用于存储当前子数据集中每一待同步数据及其数据处理信息,并记录每一待同步数据及其数据处理信息的存储路径。
区别于前述实施例,将当前子数据集中每一待同步数据以及数据处理信息一并存储,并记录每一待同步数据及其数据处理信息的存储路径,能够使得数据节点和数据库服务器对同一待同步数据的数据处理方式保持一致。
在一些实施例中,消息组包模块62还包括数据分类子模块,用于将当前子数据集中的待同步数据按照元数据进行分类,消息组包模块62还包括消息组包子模块,用于将每一类中的待同步数据的存储路径组包为数据同步消息,消息组包模块62还包括消息存放子模块,用于将数据同步消息存放至消息队列的目标分区中,其中,目标分区所属的主题与数据同步消息所对应的元数据一致,以使数据节点获取与其预先订阅的主题一致的数据同步消息。
区别于前述实施例,通过将当前子数据集中的待同步数据按照元数据进行分类,将每一类中的待同步数据的存储路径组包为数据同步消息,并将数据同步消息存放至消息队列的目标分区中,且目标分区所属的主题与数据同步消息所对应的元数据一致,以使数据节点获取与其预先订阅的主题一致的数据同步消息,从而能够使数据节点快速地获取与预先订阅的主题一致的数据同步消息。
在一些实施例中,数据同步装置60还包括第一转发模块,用于将数据节点发送的数据版本查询请求转发至数据库服务器,并将数据库服务器发送的数据版本查询反馈转发至数据节点,数据同步装置60还包括第二转发模块,用于将数据节点发送的数据更新请求转发至数据库服务器,其中,数据更新请求是数据节点基于数据库服务器的当前数据版本与数据节点的本地数据版本不一致而发送的,当前数据版本是数据节点通过解析数据版本查询反馈而获得的,数据同步装置60还包括待更新数据获取模块,用于获取数据库服务器基于数据更新请求而发送的待更新数据,以使数据节点接收到待更新数据之后进行数据更新。
区别于前述实施例,通过将数据节点发送的数据版本查询请求转发至数据库服务器,并将数据库服务器发送的数据版本查询反馈转发至数据节点,将数据节点发送的数据更新请求转发至数据库服务器,其中,数据更新请求是数据节点基于数据库服务器的当前数据版本与数据节点的本地数据版本不一致而发送的,当前数据版本是数据节点通过解析数据版本查询反馈而获得的,从而获取数据库服务器基于数据更新请求而发送的待更新数据,以使数据节点接收到待更新数据之后进行数据更新,能够进一步确保数据节点与数据库服务器的数据版本的一致性。
请参阅图7,图7是本申请数据同步装置70一实施例的框架示意图。数据同步装置70包括消息获取模块71、消息解析模块72和数据获取模块73,消息获取模块71用于获取数据同步消息,其中,数据同步消息包括待同步数据集中元数据相同的待同步数据的存储路径,待同步数据集为预先经数据库服务器处理的数据;消息解析模块72用于解析数据同步消息,获取元数据相同的待同步数据的存储路径;数据获取模块73用于基于获取的存储路径,获取元数据相同的待同步数据,并进行数据同步。
上述方案,通过获取数据同步消息,且数据同步消息包括待同步数据集中元数据相同的待同步数据的存储路径,待同步数据集为预先经数据库服务器处理的数据,并解析数据同步消息,获取元数据相同的待同步数据的存储路径,从而基于获取的存储路径,获取元数据相同的待同步数据,并进行数据同步,进而使数据同步消息与待同步数据分离,数据节点能够基于数据同步消息主动地获得待同步数据,能够减小数据库服务器完成数据更新与数据节点进行数据同步之间的延迟,提高数据同步效率。
此外,由于数据节点基于解析获取到的存储路径主动获取待同步数据,而不再从数据库服务器中获取待同步数据,故此,能够使数据节点与数据库服务器之间解耦,能够有利于系统落地,以及后续扩展。
在一些实施例中,待同步数据集包括多个子数据集,多个子数据集中每一子数据集依次作为当前子数据集进行处理,消息解析模块72还具体用于解析数据同步消息,获取当前数据集中元数据相同的待同步数据的存储路径,数据获取模块73还具体用于基于获取的存储路径,获取当前数据集中元数据相同的待同步数据。
区别于前述实施例,待同步数据集包括多个子数据集,多个子数据集中每一子数据集依次作为当前子数据集进行处理,通过解析数据同步消息,获取当前数据集中元数据相同的待同步数据的存储路径,从而基于获取的存储路径,获取当前数据集中元数据相同的待同步数据,进而能够将待同步数据集进行分片处理,使得数据库服务器和各个数据节点能够同步地、实时地完成数据的同步更新,进一步提高数据同步的效率。
在一些实施例中,数据获取模块73还包括获取子模块,用于基于获取的存储路径,获取当前数据集中元数据相同的待同步数据及其数据处理信息,其中,数据处理信息包括数据库服务器对待同步数据的处理信息,数据获取模块73还包括同步子模块,用于基于数据处理信息对对应的待同步数据进行数据同步。
区别于前述实施例,通过基于获取的存储路径,获取当前数据集中元数据相同的待同步数据及其数据处理信息,其中,数据处理信息包括数据库服务器对待同步数据的处理信息,并基于数据处理信息对对应的待同步数据进行数据同步,能够使得数据节点和数据库服务器对同一待同步数据的数据处理方式保持一致。
在一些实施例中,数据同步消息存放于消息队列的分区中,分区所属的主题与数据同步消息对应的元数据一致,消息获取模块71还具体用于获取与预先订阅的主题一致的数据同步消息。
区别于前述实施例,数据同步消息存放于消息队列的分区中,分区所属的主题与数据同步消息对应的元数据一致,从而获取与预先订阅的主题一致的数据同步消息,能够使数据节点获取与其预先订阅的主题一致的数据同步消息,从而能够使数据节点快速地获取与预先订阅的主题一致的数据同步消息。
在一些实施例中,数据同步装置70还包括信息交互模块,用于发送数据版本查询请求至数据库服务器,并接收数据库服务器基于数据版本查询请求发送的数据版本查询反馈,消息解析模块72还用于解析数据版本查询反馈,获取数据库服务器的当前数据版本,数据同步装置70还包括请求更新模块,用于在当前数据版本与本地数据版本不一致时,向数据库服务器发送数据更新请求,数据同步装置70还包括数据更新模块,用于获取数据库服务器基于数据更新请求而发送的待更新数据进行数据更新。
区别于前述实施例,通过发送数据版本查询请求至数据库服务器,并接收数据库服务器基于数据版本查询请求发送的数据版本查询反馈;并解析数据版本查询反馈,从而获取数据库服务器的当前数据版本,若当前数据版本与本地数据版本不一致,则向数据库服务器发送数据更新请求,进而获取数据库服务器基于数据更新请求而发送的待更新数据进行数据更新,能够进一步确保数据节点与数据库服务器的数据版本的一致性。
请参阅图8,图8是本申请数据同步设备80一实施例的框架示意图。数据同步设备80包括存储器81、处理器82和通信电路83,存储器81和通信电路83耦接于处理器82,存储器81、处理器82和通信电路83工作时可实现上述任一由数据同步设备80执行的数据同步方法实施例中的步骤。
具体而言,处理器82用于控制其自身以及存储器81、通信电路83以实现上述任一由数据同步设备80执行的数据同步方法实施例中的步骤。处理器82还可以称为CPU(Central Processing Unit,中央处理单元)。处理器82可能是一种集成电路芯片,具有信号的处理能力。处理器82还可以是通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器82可以由多个集成电路芯片共同实现。
上述方案,能够使数据同步消息与待同步数据分离,数据节点能够基于数据同步消息主动地获得待同步数据,能够减小数据库服务器完成数据更新与数据节点进行数据同步之间的延迟,提高数据同步效率。
此外,由于数据节点基于解析获取到的存储路径主动获取待同步数据,而不再从数据库服务器中获取待同步数据,故此,能够使数据节点与数据库服务器之间解耦,能够有利于系统落地,以及后续扩展。
请参阅图9,图9是本申请数据节点90一实施例的框架示意图。数据节点90包括存储器91、处理器92和通信电路93,存储器91和通信电路93耦接于处理器92,存储器91、处理器92和通信电路93工作时可实现上述任一由数据节点90执行的数据同步方法实施例中的步骤。
具体而言,处理器92用于控制其自身以及存储器91、通信电路93以实现上述任一由数据节点90执行的数据同步方法实施例中的步骤。处理器92还可以称为CPU(CentralProcessing Unit,中央处理单元)。处理器92可能是一种集成电路芯片,具有信号的处理能力。处理器92还可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器92可以由多个集成电路芯片共同实现。
上述方案,能够使数据同步消息与待同步数据分离,数据节点能够基于数据同步消息主动地获得待同步数据,能够减小数据库服务器完成数据更新与数据节点进行数据同步之间的延迟,提高数据同步效率。
此外,由于数据节点基于解析获取到的存储路径主动获取待同步数据,而不再从数据库服务器中获取待同步数据,故此,能够使数据节点与数据库服务器之间解耦,能够有利于系统落地,以及后续扩展。
请参阅图10,图10是本申请存储装置100一实施例的框架示意图。存储有能够被处理器运行的程序指令101,程序指令101用于实现上述任一数据同步方法实施例的步骤。
上述方案,能够使数据同步消息与待同步数据分离,数据节点能够基于数据同步消息主动地获得待同步数据,能够减小数据库服务器完成数据更新与数据节点进行数据同步之间的延迟,提高数据同步效率。
此外,由于数据节点基于解析获取到的存储路径主动获取待同步数据,而不再从数据库服务器中获取待同步数据,故此,能够使数据节点与数据库服务器之间解耦,能够有利于系统落地,以及后续扩展。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (10)
1.一种数据同步方法,其特征在于,包括:
将待同步数据集分为多个子数据集;
依次选取所述多个子数据集中的一个作为当前子数据集;
将所述当前子数据集发送至数据库服务器进行数据处理,并获取所述当前子数据集中每一所述待同步数据的数据处理信息;
存储所述当前子数据集中每一所述待同步数据及其数据处理信息,并记录每一所述待同步数据及其数据处理信息的存储路径;其中,每一所述待同步数据对应于一个元数据,且所述待同步数据集预先经数据库服务器进行数据处理;
将所述待同步数据集中所述元数据相同的待同步数据的存储路径组包为数据同步消息,以使数据节点基于解析所述数据同步消息所获取的所述存储路径,得到待同步数据及其数据处理信息,并基于数据处理信息对待同步数据进行处理。
2.根据权利要求1所述的数据同步方法,其特征在于,
所述存储所述待同步数据集中每一所述待同步数据,并记录每一所述待同步数据的存储路径包括:
存储所述当前子数据集中每一所述待同步数据,并记录每一所述待同步数据的存储路径;
所述将所述待同步数据集中所述元数据相同的待同步数据的存储路径组包为数据同步消息包括:
将所述当前子数据集中所述元数据相同的待同步数据的存储路径组包为数据同步消息。
3.根据权利要求2所述的数据同步方法,其特征在于,所述将所述当前子数据集中所述元数据相同的待同步数据的存储路径组包为数据同步消息包括:
将所述当前子数据集中的待同步数据按照所述元数据进行分类;
将每一类中的待同步数据的存储路径组包为所述数据同步消息;
将所述数据同步消息存放至消息队列的目标分区中,其中,所述目标分区所属的主题与所述数据同步消息所对应的元数据一致,以使所述数据节点获取与其预先订阅的主题一致的数据同步消息。
4.根据权利要求1所述的数据同步方法,其特征在于,所述将所述待同步数据集中所述元数据相同的待同步数据的存储路径组包为数据同步消息之后,所述方法还包括:
将所述数据节点发送的数据版本查询请求转发至所述数据库服务器,并将所述数据库服务器发送的数据版本查询反馈转发至所述数据节点;
将所述数据节点发送的数据更新请求转发至所述数据库服务器,其中,所述数据更新请求是所述数据节点基于所述数据库服务器的当前数据版本与所述数据节点的本地数据版本不一致而发送的,所述当前数据版本是所述数据节点通过解析所述数据版本查询反馈而获得的;
获取所述数据库服务器基于所述数据更新请求而发送的待更新数据,以使所述数据节点接收到所述待更新数据之后进行数据更新。
5.一种数据同步方法,其特征在于,包括:
获取数据同步消息,其中,所述数据同步消息包括待同步数据集中元数据相同的待同步数据的存储路径,所述待同步数据集为预先经数据库服务器处理的数据;所述待同步数据集包括多个子数据集,所述多个子数据集中每一子数据集依次作为当前子数据集进行处理;
解析所述数据同步消息,获取所述当前子数据集中所述元数据相同的待同步数据的存储路径;
基于获取的存储路径,获取所述当前子数据集中所述元数据相同的待同步数据及其数据处理信息,其中,所述数据处理信息包括所述数据库服务器对所述待同步数据的处理信息,基于所述数据处理信息对对应的待同步数据进行数据同步。
6.根据权利要求5所述的数据同步方法,其特征在于,所述数据同步消息存放于消息队列的分区中,所述分区所属的主题与所述数据同步消息对应的元数据一致;
所述获取数据同步消息包括:
获取与预先订阅的主题一致的数据同步消息。
7.根据权利要求5所述的数据同步方法,其特征在于,所述基于获取的存储路径,获取所述元数据相同的待同步数据进行数据同步之后,所述方法还包括:
发送数据版本查询请求至所述数据库服务器,并接收所述数据库服务器基于所述数据版本查询请求发送的数据版本查询反馈;
解析所述数据版本查询反馈,获取所述数据库服务器的当前数据版本;
若所述当前数据版本与本地数据版本不一致,则向所述数据库服务器发送数据更新请求;
获取所述数据库服务器基于所述数据更新请求而发送的待更新数据进行数据更新。
8.一种数据同步设备,其特征在于,包括存储器、处理器和通信电路,所述存储器和所述通信电路耦接于所述处理器,所述存储器、所述处理器和所述通信电路工作时可实现权利要求1至4任一项所述的数据同步方法。
9.一种数据节点,其特征在于,包括存储器、处理器和通信电路,所述存储器和所述通信电路耦接于所述处理器,所述存储器、所述处理器和所述通信电路工作时可实现权利要求5至7任一项所述的数据同步方法。
10.一种存储装置,其特征在于,存储有能够被处理器运行的程序指令,所述程序指令用于实现权利要求1至7任一项所述的数据同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010079522.0A CN111352994B (zh) | 2020-02-04 | 2020-02-04 | 数据同步方法以及相关设备、装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010079522.0A CN111352994B (zh) | 2020-02-04 | 2020-02-04 | 数据同步方法以及相关设备、装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111352994A CN111352994A (zh) | 2020-06-30 |
CN111352994B true CN111352994B (zh) | 2023-04-18 |
Family
ID=71194464
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010079522.0A Active CN111352994B (zh) | 2020-02-04 | 2020-02-04 | 数据同步方法以及相关设备、装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111352994B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111931721B (zh) * | 2020-09-22 | 2023-02-28 | 苏州科达科技股份有限公司 | 年检标签颜色和个数的检测方法、装置及电子设备 |
CN111930849B (zh) * | 2020-09-23 | 2022-08-02 | 睿视(苏州)视频科技有限公司 | 数据同步方法、装置及存储介质 |
CN112163042B (zh) * | 2020-09-24 | 2024-01-23 | 杭州安恒信息技术股份有限公司 | 多变数据同步方法、装置、电子装置及存储介质 |
CN113127436B (zh) * | 2021-04-28 | 2023-07-25 | 北京奇艺世纪科技有限公司 | 一种数据同步方法、装置、服务器及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105893447A (zh) * | 2015-12-28 | 2016-08-24 | 乐视网信息技术(北京)股份有限公司 | 文件同步方法、装置及系统 |
CN107277181A (zh) * | 2017-08-14 | 2017-10-20 | 深圳市金立通信设备有限公司 | 一种消息推送方法、服务器及消息推送系统 |
CN108769212A (zh) * | 2018-05-31 | 2018-11-06 | 康键信息技术(深圳)有限公司 | 数据同步方法、装置、计算机设备和存储介质 |
CN109739810A (zh) * | 2018-12-07 | 2019-05-10 | 中山市江波龙电子有限公司 | 文件同步方法、服务器、客户端及具有存储功能的装置 |
CN110110006A (zh) * | 2019-04-15 | 2019-08-09 | 平安普惠企业管理有限公司 | 数据管理方法及相关产品 |
CN110245181A (zh) * | 2019-04-25 | 2019-09-17 | 深圳壹账通智能科技有限公司 | 数据同步的同步方法、装置及计算机存储介质 |
CN110737719A (zh) * | 2019-09-06 | 2020-01-31 | 深圳平安通信科技有限公司 | 数据同步方法、装置、设备及计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6167736B2 (ja) * | 2013-08-05 | 2017-07-26 | ソニー株式会社 | 情報処理装置、サーバ装置、情報処理方法及びプログラム |
-
2020
- 2020-02-04 CN CN202010079522.0A patent/CN111352994B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105893447A (zh) * | 2015-12-28 | 2016-08-24 | 乐视网信息技术(北京)股份有限公司 | 文件同步方法、装置及系统 |
CN107277181A (zh) * | 2017-08-14 | 2017-10-20 | 深圳市金立通信设备有限公司 | 一种消息推送方法、服务器及消息推送系统 |
CN108769212A (zh) * | 2018-05-31 | 2018-11-06 | 康键信息技术(深圳)有限公司 | 数据同步方法、装置、计算机设备和存储介质 |
CN109739810A (zh) * | 2018-12-07 | 2019-05-10 | 中山市江波龙电子有限公司 | 文件同步方法、服务器、客户端及具有存储功能的装置 |
CN110110006A (zh) * | 2019-04-15 | 2019-08-09 | 平安普惠企业管理有限公司 | 数据管理方法及相关产品 |
CN110245181A (zh) * | 2019-04-25 | 2019-09-17 | 深圳壹账通智能科技有限公司 | 数据同步的同步方法、装置及计算机存储介质 |
CN110737719A (zh) * | 2019-09-06 | 2020-01-31 | 深圳平安通信科技有限公司 | 数据同步方法、装置、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111352994A (zh) | 2020-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111352994B (zh) | 数据同步方法以及相关设备、装置 | |
CN109284334B (zh) | 实时数据库同步方法、装置、电子设备及存储介质 | |
CN109739929B (zh) | 数据同步方法、装置及系统 | |
CN112019369A (zh) | 一种微服务框架下动态配置管理方法及系统 | |
CN109542865A (zh) | 分布式集群系统配置文件同步方法、装置、系统及介质 | |
CN109634970B (zh) | 表数据同步方法、设备、存储介质及装置 | |
EP2486698B1 (en) | Method and system for reconstructing transactions in a communication network | |
US10467192B2 (en) | Method and apparatus for updating data table in keyvalue database | |
CN111831748A (zh) | 数据同步方法、装置及存储介质 | |
CN111881209A (zh) | 异构数据库的数据同步方法、装置、电子设备及介质 | |
CN111355802A (zh) | 信息推送方法和装置 | |
CN114398188A (zh) | 模型管理方法、模型管理服务、客户端及存储介质 | |
CN105719072B (zh) | 关联多段组件交易的系统及方法 | |
CN110599321A (zh) | 税务数据处理方法、装置、服务器及存储介质 | |
CN110865973A (zh) | 一种数据处理方法及设备和相关装置 | |
CN107038195B (zh) | 数据同步方法和装置 | |
CN115964440A (zh) | 数据同步的方法及装置、数据同步系统 | |
CN116775756A (zh) | 基于Uliweb的数据同步方法、装置及系统 | |
CN106469086B (zh) | 事件处理方法和装置 | |
CN112667586B (zh) | 一种基于流处理的数据同步的方法、系统、设备及介质 | |
CN103970860B (zh) | 一种数据处理的方法、装置及系统 | |
CN112291312A (zh) | Etl数据同步方法及装置、电子设备、存储介质 | |
CN108737522A (zh) | 一种消息的处理方法、装置和系统 | |
CN109783580A (zh) | 数据同步方法及装置 | |
CN114172918B (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 |