CN111177159B - 一种数据处理的系统、方法和数据更新设备 - Google Patents
一种数据处理的系统、方法和数据更新设备 Download PDFInfo
- Publication number
- CN111177159B CN111177159B CN201910759860.6A CN201910759860A CN111177159B CN 111177159 B CN111177159 B CN 111177159B CN 201910759860 A CN201910759860 A CN 201910759860A CN 111177159 B CN111177159 B CN 111177159B
- Authority
- CN
- China
- Prior art keywords
- data
- incremental
- database
- full
- sample
- 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/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- 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
Abstract
本申请属于数据处理技术领域,公开了一种数据处理的系统、方法和数据更新设备,本申请公开的一种数据处理的方法包括,接收到样本存储请求时,通过增量数据库获取增量数据,以及当合并增量数据后的本地全量数据中未包含新样本时,分别将新样本发送给全量数据库和增量数据库进行数据更新。这样,每次新样本存储请求时,只需要拉取少量的增量数据,避免了拉取全量数据的巨大的宽带和时间开销,当海量样本进行数据更新时,可以使得每一节点有效感知到全量数据的数据变化,从而通过增量数据,保证各节点的数据一致性。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种数据处理的系统、方法和数据更新设备。
背景技术
随着互联网技术的普及,数据量的不断增加,人们对数据存储的需求也不断增加。由于传统集中式存储系统中存在单存储服务器的瓶颈问题,因此,通常采用利用多台服务器分担存储负荷的分布式存储系统进行数据存储。
但是,如何保证分布式存储系统的各节点的数据一致性是一个亟待解决的问题。
发明内容
本申请实施例提供一种数据处理的系统、方法和数据更新设备,用以在通过分布式存储系统存储数据时,保证各节点的数据一致性。
一方面,提供一种数据处理的系统,包括全量数据库,增量数据库以及数据更新设备,数据更新设备与全量数据库不位于同一局域网内,且与增量数据库不位于同一局域网内,其中:
全量数据库,用于从数据更新设备接收新样本并将接收的新样本添加到存储的全量数据中,以及接收到数据更新设备的全量数据请求时,将当前存储的全量数据返回至数据更新设备;
增量数据库,用于从数据更新设备接收新样本并将接收的新样本添加到存储的增量数据中,并根据设定的过滤条件从存储的增量数据中删除过期数据,以及接收到数据更新设备的增量数据请求时,向数据更新设备返回其请求的增量数据;
数据更新设备,用于接收到包含新样本的样本存储请求时,向增量数据库发送增量数据请求,接收增量数据库返回的增量数据,将接收的增量数据合并到本地全量数据中,以及当合并后的本地全量数据未包含新样本时,分别将新样本发送给全量数据库和增量数据库进行数据更新。
一方面,提供一种数据处理的方法,应用于上述任一种数据处理的系统,包括:
接收到包含新样本的样本存储请求时,向增量数据库发送增量数据请求;
接收增量数据库返回的增量数据,将接收的增量数据合并到本地全量数据中;
当合并后的本地全量数据未包含新样本时,分别将新样本发送给全量数据库和增量数据库进行数据更新。
较佳的,向增量数据库发送增量数据请求,接收增量数据库返回的增量数据,包括:
向增量数据库发送携带数据更新时间的增量数据请求;
接收增量数据库返回的增量数据;
其中,增量数据是增量数据库本地存储的增量数据中获取的数据更新时间之后的数据。
较佳的,新样本是从不同的业务服务器业务进行过程中产生的。
较佳的,进一步包括:
周期性将本地全量数据与全量数据库中当前存储的全量数据进行一致性校验,获得校验结果;
当校验结果表示不一致时,向全量数据库发送全量数据请求;
接收全量数据库返回的全量数据。
较佳的,进一步包括:
周期性向增量数据库发送增量数据请求;
接收增量数据库返回的增量数据;
将接收的增量数据合并到本地全量数据中。
较佳的,进一步包括:
周期性向增量数据库发送包含指定时间区间的数据删除指令,使得增量数据库根据数据删除指令,从存储的增量数据中删除指定时间区间内的数据。
较佳的,分别将新样本发送给全量数据库和增量数据库进行数据更新,包括:
当合并后的本地全量数据中未包含新样本时,分别向全量数据库和增量数据库发送包含新样本的样本增加指令;
其中,样本增加指令用于:使得全量数据库将样本增加指令中的新样本添加到存储的全量数据中;以及使得增量数据库将样本增加指令中的新样本添加到存储的增量数据中。
较佳的,进一步包括:
当合并后的本地全量数据中包含新样本,并且新样本的优先级高于合并后的本地全量数据中的相应样本的优先级时,分别向全量数据库和增量数据库发送包含新样本的样本修改指令;
其中,样本修改指令用于:使得全量数据库将样本修改指令中的新样本添加到存储的全量数据中,并从存储的全量数据中删除包含的相应样本;以及使得增量数据库将样本修改指令中的新样本添加到存储的增量数据中,并从存储的增量数据中删除包含的相应样本。
一方面,提供一种数据处理的数据更新设备,应用于上述任一种数据处理的系统,包括:
发送单元,用于接收到包含新样本的样本存储请求时,向增量数据库发送增量数据请求;
合并单元,用于接收增量数据库返回的增量数据,将接收的增量数据合并到本地全量数据中;
更新单元,用于当合并后的本地全量数据未包含新样本时,分别将新样本发送给全量数据库和增量数据库进行数据更新。
较佳的,合并单元用于:
向增量数据库发送携带数据更新时间的增量数据请求;
接收增量数据库返回的增量数据;
其中,增量数据是增量数据库本地存储的增量数据中获取的数据更新时间之后的数据。
较佳的,新样本是从不同的业务服务器业务进行过程中产生的。
较佳的,更新单元还用于:
周期性将本地全量数据与全量数据库中当前存储的全量数据进行一致性校验,获得校验结果;
当校验结果表示不一致时,向全量数据库发送全量数据请求;
接收全量数据库返回的全量数据。
较佳的,更新单元还用于:
周期性向增量数据库发送增量数据请求;
接收增量数据库返回的增量数据;
将接收的增量数据合并到本地全量数据中。
较佳的,更新单元还用于:
周期性向增量数据库发送包含指定时间区间的数据删除指令,使得增量数据库根据数据删除指令,从存储的增量数据中删除指定时间区间内的数据。
较佳的,更新单元用于:
当合并后的本地全量数据中未包含新样本时,分别向全量数据库和增量数据库发送包含新样本的样本增加指令;
其中,样本增加指令用于:使得全量数据库将样本增加指令中的新样本添加到存储的全量数据中;以及使得增量数据库将样本增加指令中的新样本添加到存储的增量数据中。
较佳的,更新单元还用于:
当合并后的本地全量数据中包含新样本,并且新样本的优先级高于合并后的本地全量数据中的相应样本的优先级时,分别向全量数据库和增量数据库发送包含新样本的样本修改指令;
其中,样本修改指令用于:使得全量数据库将样本修改指令中的新样本添加到存储的全量数据中,并从存储的全量数据中删除包含的相应样本;以及使得增量数据库将样本修改指令中的新样本添加到存储的增量数据中,并从存储的增量数据中删除包含的相应样本。
一方面,提供一种数据更新设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时执行上述任一种数据处理的方法的步骤。
一方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一种数据处理的方法的步骤。
本申请实施例提供的一种数据处理的系统、方法和数据更新设备中,接收到样本存储请求时,通过增量数据库获取增量数据,以及当合并增量数据后的本地全量数据中未包含新样本时,分别将新样本发送给全量数据库和增量数据库进行数据更新。这样,每次新样本存储请求时,只需要拉取少量的增量数据,避免了拉取全量数据的巨大的宽带和时间开销,当海量样本进行数据更新时,可以使得每一节点有效感知到全量数据的数据变化,从而通过增量数据,保证各节点的数据一致性。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施方式中一种数据处理的系统架构示意图;
图2为本申请实施方式中一种数据处理的方法的交互流程图;
图3为本申请实施方式中一种数据更新的方法的交互流程图;
图4为本申请实施方式中一种数据处理的实施流程图;
图5为本申请实施方式中一种数据处理的数据更新设备的结构示意图;
图6为本申请实施方式中一种数据更新设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
首先,对本申请实施例中涉及的部分用语进行说明,以便于本领域技术人员理解。
分布式存储系统,是将数据分散存储在多台独立的设备上。传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。分布式存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。
数据更新设备:可以安装各类应用,并且能够将已安装的应用中提供的对象进行显示的设备,本申请中用于数据存储以及数据业务的处理。
全量数据库:用于存储全量数据的数据库,可选的,全量数据库可以采用分布式存储系统(Hadoop Database,HBase)。
增量数据库:用于存储增量数据的数据库。可选的,增量数据库可以采用云数据库(Cloud DataBase,CDB)。
下面介绍本申请实施例的设计思想。
随着互联网技术的发展,数据量的不断增加,人们对数据存储的需求也不断增加。由于传统方式中集中式存储系统中存在单存储服务器的瓶颈问题,因此,通常采用可扩展的分布式存储系统进行数据存储。分布式存储系统可以通过多台服务器分担存储负荷。但是,如何保证分布式存储系统中各节点的数据一致性是一个难题。
例如,内容中心用于存储图文、视频以及图集等数据。每天会有很多数据通过不同来源渠道添加到内容中心。各来源渠道可能会向内容中心发送相同的数据。因此,内容中心需要对获取的数据进行去重后存储。
对数据进行处理时,通常采用以下几种方式:
一种方式为:采用包含全量数据库和业务服务器的分布式存储系统,将全量数据存储至远端的全量数据库,业务服务器接收新数据后,将新数据与从全量数据库获取的全量数据进行比较,当全量数据不包含新数据时,将新数据存储至全量数据库。
但是,采用这种方式,每一次数据比较时,都需要从远端的全量数据库中获取全量数据,这会耗费大量的宽带资源和时间成本。
另一种方式为:在业务服务器本地中设置全量数据库,为保证可用性,业务服务器至少需要两台。每一业务服务器将接收的新数据与本地存储的全量数据进行比较,当全量数据中不包含新数据时,将新数据添加到全量数据中。
但是,采用这种方式,难以保证各业务服务器之间的一致性。
显然,传统技术中并没有提供一种可以保证各节点数据的一致性,操作步骤简单,以及低成本的数据处理的技术方案,因此,亟待需要一种数据处理的技术方案,在对数据进行处理时,保证各节点数据的一致性,以及降低处理成本。
鉴于以上分析和考虑,本申请实施例中提供了一种数据处理的方案,该方案中,采用包括全量数据库、增量数据库以及数据更新设备的数据处理的系统。数据更新设备接收到新样本后,根据本地全量数据更新的时间戳,从增量数据库中获取增量数据,并将增量数据合并到本地全量数据中,以及当合并后的本地全量数据未包含新样本时,将新样本发送给全量数据库和增量数据库进行数据更新。
为进一步说明本申请实施例提供的技术方案,下面结合附图以及具体实施方式对此进行详细的说明。虽然本申请实施例提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在方法中可以包括更多或者更少的操作步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。方法在实际的处理过程中或者数据更新设备执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行。
参阅图1所示,为一种数据处理的系统的架构示意图。该系统包括各数据更新设备10、全量数据库11以及增量数据库12。数据更新设备10与全量数据库11不位于同一局域网内,且与增量数据库12不位于同一局域网内。
数据更新设备10:用于通过增量数据库12更新本地全量数据,数据去重以及控制全量数据库11和增量数据库12进行数据更新。
具体的,数据更新设备10存储本地全量数据,并根据本地全量数据的更新的时间戳,从增量数据库12获取增量数据,以及当合并增量数据的本地全量数据中不包含新样本时,将新样本发送至全量数据库11和增量数据库12进行数据更新。
全量数据库11:用于存储全量数据的数据库,可选的,全量数据库可以采用HBase。
其中,HBase是一个高可靠性、高性能、面向列、可伸缩的分布式数据库,拥有更高的数据访问速度,更强的可扩展性,更高的并发访问量。
增量数据库12:用于存储增量数据的数据库,并根据设定的过滤条件从存储的增量数据中删除过期数据。
其中,过期数据为指定时间区间内的增量数据,过滤条件为指定时间区间。
可选的,增量数据库可以采用关系型数据库,如CDB。
其中,CDB是一种关系型数据库云服务。关系型数据库,是指采用了关系模型来组织数据的数据库。关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。关系型数据库具有结构化存储的优势,可以使用强大的结构化查询语言(Structured Query Language,SQL),并且数据规模和增长速度是可以预期的,可以方便的根据时间戳获取增量数据。
本申请实施例中,将全量数据分为本地存储的本地全量数据和本地未存储的增量数据,本地全量数据的数据量比较大,存储在数据更新设备本地,增量数据比较小,存储至远端的增量数据库。这样,数据更新设备就可以通过本地全量数据最近一次数据更新的时间,从增量数据库拉取本地未存储的增量数据。每次新样本存储请求时,只需要拉取少量的增量数据,避免了巨大的宽带和时间开销,当海量样本进行数据更新时,可以使得每一数据更新设备10均可以有效感知到全量数据的数据变化,从而通过增量数据,保证各节点的数据一致性。
参阅图2所示,为本申请提供的一种数据处理的方法的交互流程图。该方法的具体流程如下:
步骤201:数据更新设备接收包含新样本的样本存储请求。
具体的,数据更新设备接收终端发送的包含新样本的样本存储请求,或者,接收本地发送的包含新样本的样本存储请求。
可选的,新样本可以为图片、文章、视频等。
一种实施方式中,数据更新设备分别从不同的业务服务器接收业务进行过程中产生的新样本。
例如,数据更新设备接收终端发送包含文章的样本存储请求。
又例如,用户通过数据更新设备上传文章,数据更新设备生成包含该文章的样本存储请求。
需要说明的是数据更新设备的数量至少为2个,本申请实施例中仅以一个数据更新设备进行数据处理为例进行说明,其它数据更新设备均可以按照相同的原理处理数据,在此不再赘述。
步骤202:数据更新设备向增量数据库中发送增量数据请求。
具体的,执行步骤202时,可以采用以下步骤:
S2021:数据更新设备根据最近一次更新本地全量数据的时间,确定数据更新时间。
其中,数据更新时间等于或早于上述最近这一次更新本地全量数据的时间。本地全量数据可以通过全量数据库中的数据进行更新,也可以根据增量数据库中的数据进行更新。
这样,获取的增量数据可能会多于本地全量数据未存储的数据,但是,这可以防止各设备时间不同步时造成的数据遗漏,并且由于数据是可以重放的,因此,也不会影像数据的正确性。
S2022:数据更新设备将包含数据更新时间的增量数据请求发送至增量数据库。
也就是说,增量数据请求中携带有数据更新时间。
步骤203:增量数据库接收到数据更新设备的增量数据请求时,向数据更新设备返回其请求的增量数据。
具体的,增量数据库接收到数据更新设备的增量数据请求时,根据数据更新时间,从本地存储的增量数据中获取数据更新时间之后的增量数据,并将获取的增量数据返回至数据更新设备。
一种实施方式中,增量数据库为CDB数据库,增量数据以自增编码(Identification,ID)作为主键,以此保证操作的有序性。
步骤204:数据更新设备将接收的增量数据合并到本地全量数据中。
具体的,数据更新设备接收增量数据库返回的增量数据,并将增量数据合并到本地全量数据中。
一种实施方式中,按照增量数据的ID顺序,将增量数据依次合并到本地全量数据中。
步骤205:数据更新设备判断合并后的本地全量数据中是否包含新样本,若是,则执行步骤206和步骤208,否则,执行步骤210。
具体的,判断合并后的本地全量数据中是否包含新样本时,可以采用特征距离或编辑距离的方式判断。
步骤206:数据更新设备向全量数据库发送包含新样本的样本增加指令。
步骤207:全量数据库根据样本增加指令,将样本增加指令中的新样本添加到存储的全量数据中。
步骤208:数据更新设备向增量数据库发送包含新样本的样本增加指令。
步骤209:增量数据库根据样本增加指令,将新样本添加到存储的增量数据中。
步骤210:数据更新设备确定新样本的优先级高于合并后的本地全量数据中的相应样本的优先级,执行步骤211和步骤213。
步骤211:数据更新设备向全量数据库发送包含新样本的样本修改指令。
步骤212:全量数据库根据样本修改指令,将样本修改指令中的新样本添加到存储的全量数据中,并从存储的全量数据中删除相应样本。
步骤213:数据更新设备向增量数据库发送包含新样本的样本修改指令。
步骤214:增量数据库根据样本修改指令,将新样本添加到存储的增量数据中,并从存储的增量数据中删除包含的相应样本。
需要说明的是,步骤206和步骤208,以及步骤211和步骤213均可以先后执行,也可以同时执行,在此不作限制。以及数据更新设备不需要根据新样本对本地全量数据进行更新,数据更新设备控制全量数据库和增量数据库根据新样本进行数据更新后,各数据更新设备均可以通过全量数据库或增量数据库更新该新样本。进一步地,数据更新设备根据新样本,控制全量数据库和增量数据库进行数据更新,该数据更新可以为新增、删除或修改,并记录新增、删除或修改相应的状态。
参阅图3所示,为本申请提供的一种数据更新的方法的交互流程图。其中,数据更新时包括全量数据更新方法,增量数据更新方法以及增量数据库数据更新方法。
其中,全量数据更新的方法的具体流程如下:
步骤301:数据更新设备周期性将本地全量数据与全量数据库中的全量数据进行一致性校验。
其中,每一数据更新设备中的数据库可以理解为全量数据库的副本,数据更新设备中的数据以全量数据库中的全量数据为准。
一种实施方式中,数据更新设备确定本地全量数据的哈希值,以及全量数据库中全量数据的哈希值,当两者的哈希值不同时,确定校验结果为不一致。
步骤302:数据更新设备确定校验结果表示不一致时,向全量数据库发送全量数据请求。
步骤303:全量数据库将存储的全量数据返回至数据更新设备。
步骤304:数据更新设备通过指定缓存接收全量数据,并确定接收完毕时,切换至该缓存。
具体的,数据更新设备设置有两个缓存,一个缓存用于存储本地全量数据,另一个缓存用于接收全量数据库发送的全量数据。数据更新设备确定接收完毕时,进行缓存切换。
这样,采用双缓存切换的方式,避免接收全量数据时对本地全量数据的影响。
进一步地,数据更新设备还可以在启动数据处理服务时,直接通过全量数据库获取全量数据。
其中,增量数据更新的方法的具体流程如下:
步骤311:数据更新设备周期性向增量数据库发送增量数据请求。
步骤312:增量数据库根据增量数据请求中包含的数据更新时间,确定增量数据,并将增量数据返回至数据更新服务器。
步骤313:数据更新设备将接收的增量数据合并到本地全量数据中。
这样,每一数据更新设备都会定期从增量数据库中获取增量数据,避免长时间未同步时,由于单次同步大量数据造成的请求超时失败问题。
其中,增量数据库数据更新方法的具体流程如下:
步骤321:数据更新服务器周期性向增量数据库发送包含指定时间区间的数据删除指令。
步骤322:增量数据库根据数据删除指令,从存储的增量数据中删除指定时间区间内的数据。
例如,执行时间区间为1天前,则增量数据库删除一天前所有的增量数据,仅保留1天内获得的增量数据。
这样,就可以定期从增量数据库中删除过期数据,使得增量数据库中数据量维持在一个相对稳定的范围内,保证操作效率。
需要说明的是,全量数据更新方法,增量数据更新方法以及增量数据库数据更新方法可以同时执行也可以先后执行,在此不作限制。
参阅图4所示,为本申请提供的一种数据处理的实施流程图。
步骤401:数据更新设备接收包含新样本的样本存储请求。
步骤402:数据更新设备向增量数据库中发送增量数据请求。
步骤403:增量数据库接收到数据更新设备的增量数据请求时,向数据更新设备返回其请求的增量数据。
步骤404:数据更新设备将接收的增量数据合并到本地全量数据中。
步骤405:数据更新设备判断合并后的本地全量数据中是否包含新样本,若是,则执行步骤406,否则,执行步骤407。
步骤406:数据更新设备分别将新样本发送给全量数据库和增量数据库进行数据更新。
步骤407:数据更新设备判断新样本的优先级是否高于合并后的本地全量数据中的相应样本的优先级,若是,则执行步骤406,否则,执行步骤408。
步骤408:数据更新设备丢弃新样本。
本申请实施例中,采用分布式存储系统,每一数据更新服务器均在本地存储本地全量数据;将数据变更集中在全量数据库和增量数据库,数据更新服务器通过主动拉取增量数据的方式保证数据的一致性,简化了数据处理的操作步骤,每次只需要从增量数据库中拉取少量数据,节约了宽带和时间成本。
基于同一发明构思,本申请实施例中还提供了一种数据处理的数据更新设备,由于上述数据更新设备及设备解决问题的原理与一种数据处理的方法相似,因此,上述数据更新设备的实施可以参见方法的实施,重复之处不再赘述。
如图5示,其为本申请实施例提供的一种数据处理的数据更新设备的结构示意图。一种数据处理的数据更新设备包括:
发送单元501,用于接收到包含新样本的样本存储请求时,向增量数据库发送增量数据请求;
合并单元502,用于接收增量数据库返回的增量数据,将接收的增量数据合并到本地全量数据中;
更新单元503,用于当合并后的本地全量数据未包含新样本时,分别将新样本发送给全量数据库和增量数据库进行数据更新。
较佳的,合并单元504用于:
向增量数据库发送携带数据更新时间的增量数据请求;
接收增量数据库返回的增量数据;
其中,增量数据是增量数据库本地存储的增量数据中获取的数据更新时间之后的数据。
较佳的,新样本是从不同的业务服务器业务进行过程中产生的。
较佳的,更新单元503还用于:
周期性将本地全量数据与全量数据库中当前存储的全量数据进行一致性校验,获得校验结果;
当校验结果表示不一致时,向全量数据库发送全量数据请求;
接收全量数据库返回的全量数据。
较佳的,更新单元503还用于:
周期性向增量数据库发送增量数据请求;
接收增量数据库返回的增量数据;
将接收的增量数据合并到本地全量数据中。
较佳的,更新单元503还用于:
周期性向增量数据库发送包含指定时间区间的数据删除指令,使得增量数据库根据数据删除指令,从存储的增量数据中删除指定时间区间内的数据。
较佳的,更新单元503用于:
当合并后的本地全量数据中未包含新样本时,分别向全量数据库和增量数据库发送包含新样本的样本增加指令;
其中,样本增加指令用于:使得全量数据库将样本增加指令中的新样本添加到存储的全量数据中;以及使得增量数据库将样本增加指令中的新样本添加到存储的增量数据中。
较佳的,更新单元503还用于:
当合并后的本地全量数据中包含新样本,并且新样本的优先级高于合并后的本地全量数据中的相应样本的优先级时,分别向全量数据库和增量数据库发送包含新样本的样本修改指令;
其中,样本修改指令用于:使得全量数据库将样本修改指令中的新样本添加到存储的全量数据中,并从存储的全量数据中删除包含的相应样本;以及使得增量数据库将样本修改指令中的新样本添加到存储的增量数据中,并从存储的增量数据中删除包含的相应样本。
本申请实施例提供的一种数据处理的系统、方法和数据更新设备中,接收到样本存储请求时,通过增量数据库获取增量数据,以及当合并增量数据后的本地全量数据中未包含新样本时,分别将新样本发送给全量数据库和增量数据库进行数据更新。这样,每次新样本存储请求时,只需要拉取少量的增量数据,避免了拉取全量数据的巨大的宽带和时间开销,当海量样本进行数据更新时,可以使得每一节点有效感知到全量数据的数据变化,从而通过增量数据,保证各节点的数据一致性。
参阅图6所示,为一种数据更新设备的结构示意图。基于同一技术构思,本申请实施例还提供了一种数据更新设备,可以包括存储器601和处理器602。
存储器601,用于存储处理器602执行的计算机程序。存储器601可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。处理器602,可以是一个中央处理单元(central processing unit,CPU),或者为数字处理单元等。本申请实施例中不限定上述存储器601和处理器602之间的具体连接介质。本申请实施例在图6中以存储器601和处理器602之间通过总线603连接,总线603在图6中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线603可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器601可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器601也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器601是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器601可以是上述存储器的组合。
处理器602,用于调用存储器601中存储的计算机程序时执行如图2中所示的实施例提供的数据处理的方法。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任意方法实施例中的数据处理的方法。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台数据更新设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种数据处理的系统,其特征在于,包括全量数据库,增量数据库以及数据更新设备,所述数据更新设备与所述全量数据库不位于同一局域网内,且与所述增量数据库不位于同一局域网内,其中:
所述全量数据库,用于从所述数据更新设备接收新样本并将接收的新样本添加到存储的全量数据中,以及接收到所述数据更新设备的全量数据请求时,将当前存储的全量数据返回至所述数据更新设备;
所述增量数据库,用于从所述数据更新设备接收新样本并将接收的新样本添加到存储的增量数据中,并根据设定的过滤条件从存储的增量数据中删除过期数据,以及接收到所述数据更新设备的增量数据请求时,向所述数据更新设备返回其请求的增量数据;
所述数据更新设备,用于接收到包含新样本的样本存储请求时,向所述增量数据库发送增量数据请求,接收所述增量数据库返回的增量数据,将接收的增量数据合并到本地全量数据中,以及当合并后的本地全量数据未包含所述新样本时,分别将所述新样本发送给所述全量数据库和所述增量数据库进行数据更新。
2.如权利要求1所述的系统,其特征在于,所述数据更新设备在发送的所述增量数据请求中携带数据更新时间;
所述数据更新时间等于或早于所述数据更新设备最近一次更新本地全量数据的时间;以及,
所述增量数据库用于:根据所述数据更新时间,从本地存储的增量数据中获取所述数据更新时间之后的增量数据,并将获取的增量数据返回给所述数据更新设备。
3.如权利要求1所述的系统,其特征在于,数据更新设备还用于:
周期性将本地全量数据与所述全量数据库中当前存储的全量数据进行一致性校验,获得校验结果;
当所述校验结果表示所述本地全量数据与所述全量数据库中当前存储的全量数据不一致时,向所述全量数据库发送全量数据请求;
接收所述全量数据库返回的全量数据。
4.如权利要求1-3任一项所述的系统,其特征在于,每一数据更新设备还用于:
周期性向所述增量数据库发送增量数据请求;
接收所述增量数据库返回的增量数据;
将接收的增量数据合并到本地全量数据中。
5.如权利要求1-3任一项所述的系统,其特征在于,每一数据更新设备还用于:
周期性向所述增量数据库发送包含指定时间区间的数据删除指令;
所述增量数据库还用于:根据所述数据删除指令,从存储的增量数据中删除所述指定时间区间内的数据。
6.如权利要求1-3任一项所述的系统,其特征在于,每一数据更新设备用于:
当合并后的本地全量数据中未包含所述新样本时,分别向所述全量数据库和所述增量数据库发送包含所述新样本的样本增加指令;
所述全量数据库用于:根据所述样本增加指令,将所述样本增加指令中的新样本添加到存储的全量数据中;
所述增量数据库用于:根据所述样本增加指令,将所述样本增加指令中的新样本添加到存储的增量数据中。
7.如权利要求1-3任一项所述的系统,其特征在于,每一数据更新设备还用于:
当合并后的本地全量数据中包含所述新样本,并且所述新样本的优先级高于合并后的本地全量数据中的相应样本的优先级时,分别向所述全量数据库和所述增量数据库发送包含所述新样本的样本修改指令;
所述全量数据库用于:根据所述样本修改指令,将所述样本修改指令中的新样本添加到存储的全量数据中,并从存储的全量数据中删除包含的相应样本;
所述增量数据库用于:根据所述样本修改指令,将所述样本修改指令中的新样本添加到存储的增量数据中,并从存储的增量数据中删除包含的相应样本。
8.如权利要求1-3任一项所述的系统,其特征在于,所述数据更新设备包括至少两个,分别从不同的业务服务器接收业务进行过程中产生的新样本。
9.一种数据处理的方法,其特征在于,应用于权利要求1-7任一项所述的数据处理的系统中,包括:
接收到包含新样本的样本存储请求时,向所述增量数据库发送增量数据请求;
接收所述增量数据库返回的增量数据,将接收的增量数据合并到本地全量数据中;
当合并后的本地全量数据未包含所述新样本时,分别将所述新样本发送给所述全量数据库和所述增量数据库进行数据更新。
10.一种数据处理的数据更新设备,其特征在于,所述数据更新设备应用于权利要求1-7任一项所述的数据处理的系统中,包括:
发送单元,用于接收到包含新样本的样本存储请求时,向所述增量数据库发送增量数据请求;
合并单元,用于接收所述增量数据库返回的增量数据,将接收的增量数据合并到本地全量数据中;
更新单元,用于当合并后的本地全量数据未包含所述新样本时,分别将所述新样本发送给所述全量数据库和所述增量数据库进行数据更新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910759860.6A CN111177159B (zh) | 2019-08-16 | 2019-08-16 | 一种数据处理的系统、方法和数据更新设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910759860.6A CN111177159B (zh) | 2019-08-16 | 2019-08-16 | 一种数据处理的系统、方法和数据更新设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111177159A CN111177159A (zh) | 2020-05-19 |
CN111177159B true CN111177159B (zh) | 2021-04-16 |
Family
ID=70655350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910759860.6A Active CN111177159B (zh) | 2019-08-16 | 2019-08-16 | 一种数据处理的系统、方法和数据更新设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111177159B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111885212B (zh) * | 2020-06-03 | 2023-05-30 | 山东伏羲智库互联网研究院 | 域名存储方法及装置 |
CN111881091A (zh) * | 2020-06-08 | 2020-11-03 | 微梦创科网络科技(中国)有限公司 | 数据存储方法、装置、电子设备及存储介质 |
CN112883119B (zh) * | 2021-04-30 | 2022-05-17 | 腾讯科技(深圳)有限公司 | 数据同步方法、装置、计算机设备及计算机可读存储介质 |
CN113268545B (zh) * | 2021-06-03 | 2022-05-17 | 浙江邦盛科技有限公司 | 一种增量合并与全量相结合的集群节点间键值数据异步复制方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104915414A (zh) * | 2015-06-04 | 2015-09-16 | 北京京东尚科信息技术有限公司 | 数据抽取方法及装置 |
CN107844566A (zh) * | 2017-11-02 | 2018-03-27 | 杭州时趣信息技术有限公司 | 一种dump控制方法及其系统 |
US10228962B2 (en) * | 2015-12-09 | 2019-03-12 | Commvault Systems, Inc. | Live synchronization and management of virtual machines across computing and virtualization platforms and using live synchronization to support disaster recovery |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9002901B2 (en) * | 2012-07-30 | 2015-04-07 | Sap Se | Optimized database content provisioning |
US20160365006A1 (en) * | 2015-06-11 | 2016-12-15 | Paul Ash Minturn | Quantified Well-Being Evaluations, Improvement Programs and Scientific Wellness Video Games |
CN107402981B (zh) * | 2017-07-07 | 2023-07-18 | 国网浙江省电力公司信息通信分公司 | 一种基于分布式离线数据库的数据增量处理方法及系统 |
CN107844588B (zh) * | 2017-11-17 | 2020-07-14 | 中国银行股份有限公司 | 一种数据字典的处理方法、装置、存储介质及处理器 |
-
2019
- 2019-08-16 CN CN201910759860.6A patent/CN111177159B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104915414A (zh) * | 2015-06-04 | 2015-09-16 | 北京京东尚科信息技术有限公司 | 数据抽取方法及装置 |
US10228962B2 (en) * | 2015-12-09 | 2019-03-12 | Commvault Systems, Inc. | Live synchronization and management of virtual machines across computing and virtualization platforms and using live synchronization to support disaster recovery |
CN107844566A (zh) * | 2017-11-02 | 2018-03-27 | 杭州时趣信息技术有限公司 | 一种dump控制方法及其系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111177159A (zh) | 2020-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111177159B (zh) | 一种数据处理的系统、方法和数据更新设备 | |
CN109254733B (zh) | 用于存储数据的方法、装置和系统 | |
US10803016B2 (en) | Predictive models of file access patterns by application and file type | |
KR102025934B1 (ko) | 분산형 시스템에서의 범위들의 분할 및 이동 | |
CN107861686B (zh) | 文件存储方法、服务端和计算机可读存储介质 | |
CN103179185B (zh) | 一种分布式文件系统客户端缓存中文件创建方法及其系统 | |
US7587400B2 (en) | Suspending a result set and continuing from a suspended result set for transparent session migration | |
US11042503B1 (en) | Continuous data protection and restoration | |
US10579595B2 (en) | Method and device for calling a distributed file system | |
US20220188196A1 (en) | Continuous data protection | |
US20150058289A1 (en) | Facilitating data migration between database clusters while the database continues operating | |
CN111694791B (zh) | 一种分布式基础框架中的数据存取方法及装置 | |
US20140101102A1 (en) | Batch processing and data synchronization in cloud-based systems | |
CN103595797B (zh) | 一种分布式存储系统中的缓存方法 | |
CN107818111B (zh) | 一种缓存文件数据的方法、服务器及终端 | |
CN111177254B (zh) | 一种异构关系型数据库之间数据同步的方法和装置 | |
US9075722B2 (en) | Clustered and highly-available wide-area write-through file system cache | |
CN116108057B (zh) | 一种分布式数据库访问方法、装置、设备及存储介质 | |
CN113885780A (zh) | 数据同步方法、装置、电子设备、系统和存储介质 | |
CN102281312A (zh) | 一种数据加载方法、系统和数据处理方法、系统 | |
US11210212B2 (en) | Conflict resolution and garbage collection in distributed databases | |
US11321374B2 (en) | External storage of unstructured database objects | |
WO2020192663A1 (zh) | 一种数据管理方法及相关设备 | |
CN116775712A (zh) | 联表查询方法、装置、电子设备、分布式系统和存储介质 | |
CN114925078A (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 |