CN109710698A - 一种数据汇聚方法、装置、电子设备及介质 - Google Patents
一种数据汇聚方法、装置、电子设备及介质 Download PDFInfo
- Publication number
- CN109710698A CN109710698A CN201811627099.2A CN201811627099A CN109710698A CN 109710698 A CN109710698 A CN 109710698A CN 201811627099 A CN201811627099 A CN 201811627099A CN 109710698 A CN109710698 A CN 109710698A
- Authority
- CN
- China
- Prior art keywords
- data
- source database
- output source
- unique identification
- target
- 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.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据汇聚方法和装置。包括:分页获取至少一个输入源数据库中的增量数据,获取增量数据中各个数据行的第一标识,并计算增量数据中各个数据行的第一唯一标识,根据第一标识,确定输出源数据库中与第一标识关联的目标存量数据,以及输出源数据库中不存在的目标增量数据,计算目标存量数据中各个数据行的第二唯一标识,根据目标增量数据、以及第一唯一标识和第二唯一标识的比对结果,将至少一个输入源数据库中的增量数据汇聚到输出源数据库中,能够实现对于数据新增、删除、变更等不同情况的数据汇聚,避免了直接比对数据导致运算量过大,处理时间长的问题,尤其针对大批量数据汇聚时,提高了数据汇聚的处理速度和处理效率。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及一种数据汇聚方法、一种数据汇聚装置、一种电子设备及一种计算机可读存储介质。
背景技术
关系型数据库(RELATIONAL DATABASE):关系数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
数据汇聚(DATA AGGREGATION):是指为了满足不同信息系统之间数据资源的共享需要,依据一定的原则,采取相应的技术,实现不同规模数据库数据从一个地址或者多个地址迁移或者复制到一个地方的过程。
大批量数据(BULK DATA):在关系型数据库中,大批量数据是指数据库的数据量比较大或者数据库的增量数据比较大。
目前,常用的一些关系型数据库之间的数据汇聚方式包括:
全量数据比对方式。输入源和输出源的全量数据加载,进行全量数据比对,实现输入端数据已同步、未同步、已删除状态标识,进而完成标识数据的批量汇聚。因为每次汇聚时需要加载输入源和输出源的所有数据或者无论输入端加载多少数据输出端都必须加载全量数据进行数据标识,导致比对数据量庞大,这将极大影响着大批量数据的处理速度和实时处理效果,往往在一定条件下,对软硬件的要求更高,尤其当汇聚数据量非常大时,汇聚不及时、效率比较低。
增量标识汇聚方式。目前主流的增量数据比对方式包括:时间戳标识、标识位标识、触发器标识三种方式,增量标识汇聚即完成这些方式识别增量数据的批量汇聚。当增量数据量比较大时,因为一次性识别所有增量数据的原因导致一次性处理的数据量巨大,处理时间较长,最终汇聚效率比较低。相比全量比对,增量数据比对能有效的识别增量数据,但是在增量数据量较大时,也有和全量比对一样的问题,随着数据量的越来越大导致数据汇聚效率越来越低。
大批量数据包括数据存量大批量和数据增量大批量两种情况,在数据存量大批量的情况下,全量数据比对方式效率比较低,在数据增量大批量的情况下,增量标识汇聚方式汇聚效率较低。作为大批量数据的汇聚手段各有利弊,但都不能完善解决存量大批量和增量大批量的两种大批量数据。
发明内容
鉴于上述问题,提出了一种数据汇聚方法、装置、电子设备及计算机可读存储介质,以解决直接比对数据导致运算量过大,处理时间长的问题。
依据本发明的一个方面,提供了一种数据汇聚方法,包括:
分页获取至少一个输入源数据库中的增量数据;
获取所述增量数据中各个数据行的第一标识,并计算所述增量数据中各个数据行的第一唯一标识;
根据所述第一标识,确定输出源数据库中与所述第一标识关联的目标存量数据,以及所述输出源数据库中不存在的目标增量数据;
计算所述目标存量数据中各个数据行的第二唯一标识;
根据所述目标增量数据、以及所述第一唯一标识和第二唯一标识的比对结果,将所述至少一个输入源数据库中的增量数据汇聚到所述输出源数据库中。
可选地,所述根据所述目标增量数据、以及所述第一唯一标识和第二唯一标识的比对结果,将所述至少一个输入源数据库中的增量数据汇聚到所述输出源数据库中包括:
将所述目标增量数据汇聚到所述输出源数据库中;
比对所述增量数据的数据行的第一唯一标识和关联的目标存量数据的数据行的第二唯一标识,确定发生变动的目标存量数据;
根据所述增量数据,对所述发生变动的目标存量数据进行更新。
可选地,所述根据所述增量数据,对所述发生变动的目标存量数据进行更新包括:
若所述发生变动的目标存量数据中有存在第二唯一标识且不存在所述第一唯一标识的目标数据行,则对所述目标数据行进行删除。
可选地,所述输出源数据库包括相互复制的主数据库和从数据库,在所述根据所述第一标识,确定输出源数据库中与所述第一标识关联的目标存量数据,以及所述输出源数据库中不存在的目标增量数据之前,所述方法还包括:
通过所述输出源数据库的访问接口,从所述输出源数据库的从数据库读取存量数据;
所述将所述至少一个输入源数据库中的增量数据汇聚到所述输出源数据库中包括:
通过所述输出源数据库的写入接口,将所述至少一个输入源数据库中的增量数据汇聚到所述输出源数据库的主数据库中。
依据本发明的另一个方面,提供了一种数据汇聚装置,包括:
数据获取模块,用于分页获取至少一个输入源数据库中的增量数据;
第一标识计算模块,用于获取所述增量数据中各个数据行的第一标识,并计算所述增量数据中各个数据行的第一唯一标识;
数据确定模块,用于根据所述第一标识,确定输出源数据库中与所述第一标识关联的目标存量数据,以及所述输出源数据库中不存在的目标增量数据;
第二标识计算模块,用于计算所述目标存量数据中各个数据行的第二唯一标识;
汇聚模块,用于根据所述目标增量数据、以及所述第一唯一标识和第二唯一标识的比对结果,将所述至少一个输入源数据库中的增量数据汇聚到所述输出源数据库中。
可选地,所述汇聚模块包括:
第一汇聚子模块,用于将所述目标增量数据汇聚到所述输出源数据库中;
比对子模块,用于比对所述增量数据的数据行的第一唯一标识和关联的目标存量数据的数据行的第二唯一标识,确定发生变动的目标存量数据;
更新子模块,用于根据所述增量数据,对所述发生变动的目标存量数据进行更新。
可选地,所述更新子模块包括:
删除单元,用于若所述发生变动的目标存量数据中有存在第二唯一标识且不存在所述第一唯一标识的目标数据行,则对所述目标数据行进行删除。
可选地,所述输出源数据库包括相互复制的主数据库和从数据库,所述装置还包括:
读取模块,用于在所述根据所述第一标识,确定输出源数据库中与所述第一标识关联的目标存量数据,以及所述输出源数据库中不存在的目标增量数据之前,通过所述输出源数据库的访问接口,从所述输出源数据库的从数据库读取存量数据;
所述汇聚模块包括:
第二汇聚子模块,用于通过所述输出源数据库的写入接口,将所述至少一个输入源数据库中的增量数据汇聚到所述输出源数据库的主数据库中。
依据本发明的另一个方面,提供了一种电子设备,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述的数据汇聚方法。
依据本发明的另一个方面,提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的数据汇聚方法。
综上所述,依据本发明实施例,通过分页获取至少一个输入源数据库中的增量数据,获取增量数据中各个数据行的第一标识,并计算所述增量数据中各个数据行的第一唯一标识,根据第一标识,确定输出源数据库中与所述第一标识关联的目标存量数据,以及输出源数据库中不存在的目标增量数据,计算目标存量数据中各个数据行的第二唯一标识,根据目标增量数据、以及第一唯一标识和第二唯一标识的比对结果,将至少一个输入源数据库中的增量数据汇聚到输出源数据库中,能够实现对于数据新增、删除、变更等不同情况的数据汇聚,避免了直接比对数据导致运算量过大,处理时间长的问题,尤其针对大批量数据汇聚时,提高了数据汇聚的处理速度和处理效率。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例一中的一种数据汇聚方法的流程图;
图2示出了分页获取增量数据的示意图;
图3示出了本发明实施例二中的一种数据汇聚方法的流程图;
图4示出了数据汇聚系统的架构示意图;
图5示出了主从数据库的示意图;
图6示出了数据汇聚过程的示意图;
图7示出了本发明实施例三中的一种数据汇聚装置的结构框图;
图8示出了本发明实施例提供的一种电子设备的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
实施例一
参照图1,示出了本发明实施例一中的一种数据汇聚方法的流程图,具体可以包括:
步骤101,分页获取至少一个输入源数据库中的增量数据。
在本发明实施例中,数据汇聚过程是数据从一个或多个数据库(记为输入源数据库)迁移或者复制到另一个数据库(记为输出源数据库)的过程。输入源数据库作为数据的提供方,可以利用数据库分页技术,实现对增量数据的分段或分页读取,避免一次读取的数据量过大,对软件和硬件的要求过高的问题。
例如,如图2所示的分页获取增量数据的示意图,将增量数据每一万行分为一页,然后提交到输出数据源(即输出源数据库)所在的服务器上,进行数据处理。
步骤102,获取所述增量数据中各个数据行的第一标识,并计算所述增量数据中各个数据行的第一唯一标识。
在本发明实施例中,每次获取输入源数据库中的增量数据时,获取增量数据的各个数据行的第一标识,例如,各个数据行的主键。并且对增量数据中各个数据行计算唯一标识,例如,进行哈希计算得到数据行的哈希值,将增量数据的各个数据行的唯一标识,记为第一唯一标识。
步骤103,根据所述第一标识,确定输出源数据库中与所述第一标识关联的目标存量数据,以及所述输出源数据库中不存在的目标增量数据。
在本发明实施例中,第一标识可以用于标识数据行,如果数据行已经在之前更新到输出源数据库中,已经成为输出源数据库中的存量数据,则可以根据第一标识查找到与第一标识关联的存量数据,记为目标存量数据,若查找不到关联的数据,即输出源数据库中不存在该第一标识对应的数据行,记为目标增量数据。
步骤104,计算所述目标存量数据中各个数据行的第二唯一标识。
在本发明实施例中,对于目标存量数据进行计算,得到各个数据行的唯一标识,记为第二唯一标识,例如,对目标存量数据的各个数据行进行哈希值计算,得到哈希值作为第二唯一标识。
步骤105,根据所述目标增量数据、以及所述第一唯一标识和第二唯一标识的比对结果,将所述至少一个输入源数据库中的增量数据汇聚到所述输出源数据库中。
在本发明实施例中,由于目标增量数据是输出源数据库中不存在的数据,因此可以直接新增到输出源数据库中,而根据第一唯一标识和第二唯一标识可以判断相应数据行是否发生变更,根据变更情况,根据变更的数据更新输出源数据库。
根据目标增量数据、以及第一唯一标识和第二唯一标识的比对结果,将至少一个输入源数据库中的增量数据汇聚到输出源数据库中的一种实现方式包括:将目标增量数据汇聚到输出源数据库中,比对增量数据的数据行的第一唯一标识和关联的目标存量数据的数据行的第二唯一标识,确定发生变动的目标存量数据,根据增量数据,对发生变动的目标存量数据进行更新,或者其他任意适用的实现方式,本发明实施例对此不做限制。
综上所述,依据本发明实施例,通过分页获取至少一个输入源数据库中的增量数据,获取增量数据中各个数据行的第一标识,并计算所述增量数据中各个数据行的第一唯一标识,根据第一标识,确定输出源数据库中与所述第一标识关联的目标存量数据,以及输出源数据库中不存在的目标增量数据,计算目标存量数据中各个数据行的第二唯一标识,根据目标增量数据、以及第一唯一标识和第二唯一标识的比对结果,将至少一个输入源数据库中的增量数据汇聚到输出源数据库中,能够实现对于数据新增、删除、变更等不同情况的数据汇聚,避免了直接比对数据导致运算量过大,处理时间长的问题,尤其针对大批量数据汇聚时,提高了数据汇聚的处理速度和处理效率。
实施例二
参照图3,示出了本发明实施例二中的一种数据汇聚方法的流程图,具体可以包括:
步骤201,分页获取至少一个输入源数据库中的增量数据。
在本发明实施例中,此步骤的具体实现方式可以参见前述实施例中的描述,此处不另赘述。
步骤202,获取所述增量数据中各个数据行的第一标识,并计算所述增量数据中各个数据行的第一唯一标识。
在本发明实施例中,此步骤的具体实现方式可以参见前述实施例中的描述,此处不另赘述。
步骤203,通过所述输出源数据库的访问接口,从所述输出源数据库的从数据库读取存量数据。
在本发明实施例中,输出源数据库提供访问接口作为数据输入源的统一访问接口,实现各种类型数据源的标准化接入,存量数据的统一提取过程。为了加快大批量数据的处理速度采用数据库读写分离的集群配置。访问接口和写入接口分别对应读取从数据库和写入主数据库,主数据库和从数据库之间采用主从复制机制,从而保证数据的高度统一性。
相应的,将所述至少一个输入源数据库中的增量数据汇聚到所述输出源数据库中的一种实现方式可以包括:通过输出源数据库的写入接口,将至少一个输入源数据库中的增量数据汇聚到输出源数据库的主数据库中,通过两个接口和两个数据库分别负责写入和读取操作,提高了数据汇聚的效率。
例如,图4为数据汇聚系统的架构示意图,数据快速汇聚方式的软件架构,总体上划分为三个层次:数据输入层、数据处理层、数据输出层。数据输入层作为数据的提供方,依赖数据库分页技术,通过系统提供的数据统一访问接口实现增量数据的分段或者分页读取。数据输出层的访问接口作为输入源的统一访问接口,实现各种类型数据源的标准化接入,增量数据的统一提取过程。数据处理层,包含数据比对和批量提交等过程。数据比对通过加载输入源数据库和输出源数据库的主键关联和数据行哈希运算结果的比较,实现了已读取的增量数据无变动,修改,新增数据的自动识别。批量提交是在数据比对的基础上进一步完成无变动数据的不处理,修改数据的批量更新,以及新增数据的批量插入提交。
若图5所示的主从数据库的示意图,数据库集群主从复制中,从数据库生成两个线程,一个I/O线程,一个SQL线程,I/O线程去请求主数据库的binlog,并将得到的binlog日志写到relay log(中继日志)文件中,主数据库会生成一个log dump(日志抓取)线程,用来给从数据库I/O线程传binlog,SQL线程会读取relay log文件中的日志,并解析成具体操作,来实现主从的操作一致,而最终数据一致。其中,binlog用于记录用户对数据库更新的SQL语句信息,例如更改数据库表和更改内容的SQL语句都会记录到binlog里,但是对库表等内容的查询不会记录。
写入接口,在JDBC(Java DataBase Connectivity,java数据库连接)的基础上,对接数据库集群写入库,封装了高效的数据写入方法,以及相关的同步机制、事务提交机制、回滚策略等等,为大批量数据汇聚、多线程操作环境下的数据一致性、准确性提供保障。
步骤204,根据所述第一标识,确定输出源数据库中与所述第一标识关联的目标存量数据,以及所述输出源数据库中不存在的目标增量数据。
在本发明实施例中,此步骤的具体实现方式可以参见前述实施例中的描述,此处不另赘述。
步骤205,计算所述目标存量数据中各个数据行的第二唯一标识。
在本发明实施例中,此步骤的具体实现方式可以参见前述实施例中的描述,此处不另赘述。
步骤206,将所述目标增量数据汇聚到所述输出源数据库中。
在本发明实施例中,在确定目标增量数据后,即可以写入输出源数据库中。
步骤207,比对所述增量数据的数据行的第一唯一标识和关联的目标存量数据的数据行的第二唯一标识,确定发生变动的目标存量数据。
在本发明实施例中,对于同一数据行的第一唯一标识和第二唯一标识进行比对,若对比结果为一致,第一唯一标识和第二唯一标识相同,则表明该数据行的数据未发生变动,若对比结果为不一致,第一唯一标识和第二唯一标识不相同,则表明该数据行的数据发生了变动,即确定了发生变动的目标存量数据。
步骤208,根据所述增量数据,对所述发生变动的目标存量数据进行更新。
在本发明实施例中,对于发生变动的目标存量数据,可以根据增量数据进行更新,对目标存量数据进行替换或删除。
在本发明实施例中,可选地,根据所述增量数据,对所述发生变动的目标存量数据进行更新的一种实现方式可以包括:若发生变动的目标存量数据中有存在第二唯一标识且不存在所述第一唯一标识的目标数据行,则对目标数据行进行删除。
若发生变动的目标存量数据中,有存在第二唯一标识且不存在第一唯一标识的数据行,记为目标数据行,该目标数据行的数据在输入源数据库发生了删除,所以增量数据中有该数据的第一标识,但是没有数据内容,因此在输出源数据库中删除目标数据行,完成删除操作。
综上所述,依据本发明实施例,通过分页获取至少一个输入源数据库中的增量数据,获取增量数据中各个数据行的第一标识,并计算所述增量数据中各个数据行的第一唯一标识,根据第一标识,确定输出源数据库中与所述第一标识关联的目标存量数据,以及输出源数据库中不存在的目标增量数据,计算目标存量数据中各个数据行的第二唯一标识,根据目标增量数据、以及第一唯一标识和第二唯一标识的比对结果,将至少一个输入源数据库中的增量数据汇聚到输出源数据库中,能够实现对于数据新增、删除、变更等不同情况的数据汇聚,避免了直接比对数据导致运算量过大,处理时间长的问题,尤其针对大批量数据汇聚时,提高了数据汇聚的处理速度和处理效率。
为使本领域技术人员更好地理解本申请,以下通过具体的示例对本发明的一种实现方式进行说明。
如图6所示的数据汇聚过程的示意图,具体可以包括如下步骤。
步骤1、程序启动后,首先加载数据源配置信息,进行多数据源(输入数据源和输出数据源)接入。
步骤2、程序以数据分页的方式主动读取输入源数据库的增量数据。
步骤3、判断增量数据是否为空?为空转至步骤2继续读取数据,数据不为空转至步骤4执行。
步骤4、识别增量数据的第一标识,并把标识数据存储在输出源数据库中的中间关系表。
步骤5、输出源数据库的数据表关联步骤4存储在中间关系表中的数据,完成已汇聚数据的查询。
步骤6、程序进入数据比对标识环节,加载输入源数据库的已读取数据并对各个数据行进行hash(哈希)运算,并且把Hash值和数据行的第一标识存储在计算机内存中。
步骤7、加载输出源数据库中已读取数据,并且对各个数据行进行Hash运算。
步骤8、关联输入源数据库和输出源数据库的数据行,并对生成的Hash值进行比对。判断输出源数据库是否存在输入源数据库的数据,存在则转至步骤9执行,不存在转至步骤10执行。
步骤9、判断输入源数据库和输出源数据库关联Hash值是否相等,相等则转至步骤11执行,否则转至步骤12执行。
步骤10、把输入源数据库的数据标记为目标新增数据。转至步骤14执行。
步骤11、把输入源数据库的数据标记为无变动数据,无变动数据不再汇聚到输出源数据库中,转至步骤13执行。
步骤12、把输入源数据库中数据标记为更新数据(即发生变动的目标新增数据),转至步骤15执行。
步骤13、把无变动数据从当前待处理数据中删除。完成后程序结束。
步骤14、将目标新增数据写入输出源数据库中。
步骤15、用更新数据对输出源数据库中数据进行更新操作。
实施例三
参照图7,示出了本发明实施例三中的一种数据汇聚装置的结构框图,具体可以包括:
数据获取模块301,用于分页获取至少一个输入源数据库中的增量数据;
第一标识计算模块302,用于获取所述增量数据中各个数据行的第一标识,并计算所述增量数据中各个数据行的第一唯一标识;
数据确定模块303,用于根据所述第一标识,确定输出源数据库中与所述第一标识关联的目标存量数据,以及所述输出源数据库中不存在的目标增量数据;
第二标识计算模块304,用于计算所述目标存量数据中各个数据行的第二唯一标识;
汇聚模块305,用于根据所述目标增量数据、以及所述第一唯一标识和第二唯一标识的比对结果,将所述至少一个输入源数据库中的增量数据汇聚到所述输出源数据库中。
在本发明实施例中,可选地,所述汇聚模块包括:
第一汇聚子模块,用于将所述目标增量数据汇聚到所述输出源数据库中;
比对子模块,用于比对所述增量数据的数据行的第一唯一标识和关联的目标存量数据的数据行的第二唯一标识,确定发生变动的目标存量数据;
更新子模块,用于根据所述增量数据,对所述发生变动的目标存量数据进行更新。
在本发明实施例中,可选地,所述更新子模块包括:
删除单元,用于若所述发生变动的目标存量数据中有存在第二唯一标识且不存在所述第一唯一标识的目标数据行,则对所述目标数据行进行删除。
在本发明实施例中,可选地,所述输出源数据库包括相互复制的主数据库和从数据库,所述装置还包括:
读取模块,用于在所述根据所述第一标识,确定输出源数据库中与所述第一标识关联的目标存量数据,以及所述输出源数据库中不存在的目标增量数据之前,通过所述输出源数据库的访问接口,从所述输出源数据库的从数据库读取存量数据;
所述汇聚模块包括:
第二汇聚子模块,用于通过所述输出源数据库的写入接口,将所述至少一个输入源数据库中的增量数据汇聚到所述输出源数据库的主数据库中。
综上所述,依据本发明实施例,通过分页获取至少一个输入源数据库中的增量数据,获取增量数据中各个数据行的第一标识,并计算所述增量数据中各个数据行的第一唯一标识,根据第一标识,确定输出源数据库中与所述第一标识关联的目标存量数据,以及输出源数据库中不存在的目标增量数据,计算目标存量数据中各个数据行的第二唯一标识,根据目标增量数据、以及第一唯一标识和第二唯一标识的比对结果,将至少一个输入源数据库中的增量数据汇聚到输出源数据库中,能够实现对于数据新增、删除、变更等不同情况的数据汇聚,避免了直接比对数据导致运算量过大,处理时间长的问题,尤其针对大批量数据汇聚时,提高了数据汇聚的处理速度和处理效率。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
图8为本发明实施例提供的一种电子设备的结构框图。如图8所示,该电子设备800可以包括一个或多个处理器801以及与处理器801连接的一个或多个存储器802。电子设备800还可以包括输入接口803和输出接口804,用于与另一装置或系统进行通信。被处理器801的CPU执行的程序代码可存储在存储器802中。
电子设备800中的处理器801调用存储在存储器802的程序代码,以执行上述实施例中的数据汇聚方法。
处理器为上述服务器的控制中心,并提供处理装置,用于执行指令,进行中断操作,提供计时功能以及多种其他功能。处理器可为单核(单CPU)处理器或多核(多CPU)处理器。除非另有声明,描述为用于执行任务的例如处理器或存储器的部件可实现为通用部件,其暂时用于在给定时间执行任务,或实现为专门制造用于执行该任务的特定部件。此处所用的术语“处理器”指一个或多个装置,电路和/或处理核,用于处理数据,例如计算机程序指令。
上述服务器中的上述元件可通过总线彼此连接,总线例如数据总线、地址总线、控制总线、扩展总线和局部总线之一或其任意组合。
根据本发明的一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,存储介质可以是只读存储器(Read-Only Memory,ROM),或是可读写的,例如硬盘、闪存。所述计算机程序被处理器执行时实现前述实施例的数据汇聚方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种数据汇聚方法、装置、电子设备及介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种数据汇聚方法,其特征在于,包括:
分页获取至少一个输入源数据库中的增量数据;
获取所述增量数据中各个数据行的第一标识,并计算所述增量数据中各个数据行的第一唯一标识;
根据所述第一标识,确定输出源数据库中与所述第一标识关联的目标存量数据,以及所述输出源数据库中不存在的目标增量数据;
计算所述目标存量数据中各个数据行的第二唯一标识;
根据所述目标增量数据、以及所述第一唯一标识和第二唯一标识的比对结果,将所述至少一个输入源数据库中的增量数据汇聚到所述输出源数据库中。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标增量数据、以及所述第一唯一标识和第二唯一标识的比对结果,将所述至少一个输入源数据库中的增量数据汇聚到所述输出源数据库中包括:
将所述目标增量数据汇聚到所述输出源数据库中;
比对所述增量数据的数据行的第一唯一标识和关联的目标存量数据的数据行的第二唯一标识,确定发生变动的目标存量数据;
根据所述增量数据,对所述发生变动的目标存量数据进行更新。
3.根据权利要求2所述的方法,其特征在于,所述根据所述增量数据,对所述发生变动的目标存量数据进行更新包括:
若所述发生变动的目标存量数据中有存在第二唯一标识且不存在所述第一唯一标识的目标数据行,则对所述目标数据行进行删除。
4.根据权利要求1所述的方法,其特征在于,所述输出源数据库包括相互复制的主数据库和从数据库,在所述根据所述第一标识,确定输出源数据库中与所述第一标识关联的目标存量数据,以及所述输出源数据库中不存在的目标增量数据之前,所述方法还包括:
通过所述输出源数据库的访问接口,从所述输出源数据库的从数据库读取存量数据;
所述将所述至少一个输入源数据库中的增量数据汇聚到所述输出源数据库中包括:
通过所述输出源数据库的写入接口,将所述至少一个输入源数据库中的增量数据汇聚到所述输出源数据库的主数据库中。
5.一种数据汇聚装置,其特征在于,包括:
数据获取模块,用于分页获取至少一个输入源数据库中的增量数据;
第一标识计算模块,用于获取所述增量数据中各个数据行的第一标识,并计算所述增量数据中各个数据行的第一唯一标识;
数据确定模块,用于根据所述第一标识,确定输出源数据库中与所述第一标识关联的目标存量数据,以及所述输出源数据库中不存在的目标增量数据;
第二标识计算模块,用于计算所述目标存量数据中各个数据行的第二唯一标识;
汇聚模块,用于根据所述目标增量数据、以及所述第一唯一标识和第二唯一标识的比对结果,将所述至少一个输入源数据库中的增量数据汇聚到所述输出源数据库中。
6.根据权利要求5所述的方法,其特征在于,所述汇聚模块包括:
第一汇聚子模块,用于将所述目标增量数据汇聚到所述输出源数据库中;
比对子模块,用于比对所述增量数据的数据行的第一唯一标识和关联的目标存量数据的数据行的第二唯一标识,确定发生变动的目标存量数据;
更新子模块,用于根据所述增量数据,对所述发生变动的目标存量数据进行更新。
7.根据权利要求6所述的装置,其特征在于,所述更新子模块包括:
删除单元,用于若所述发生变动的目标存量数据中有存在第二唯一标识且不存在所述第一唯一标识的目标数据行,则对所述目标数据行进行删除。
8.根据权利要求5所述的方法,其特征在于,所述输出源数据库包括相互复制的主数据库和从数据库,所述装置还包括:
读取模块,用于在所述根据所述第一标识,确定输出源数据库中与所述第一标识关联的目标存量数据,以及所述输出源数据库中不存在的目标增量数据之前,通过所述输出源数据库的访问接口,从所述输出源数据库的从数据库读取存量数据;
所述汇聚模块包括:
第二汇聚子模块,用于通过所述输出源数据库的写入接口,将所述至少一个输入源数据库中的增量数据汇聚到所述输出源数据库的主数据库中。
9.一种电子设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1-4任一项所述的数据汇聚方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-4任一项所述的数据汇聚方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811627099.2A CN109710698B (zh) | 2018-12-28 | 2018-12-28 | 一种数据汇聚方法、装置、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811627099.2A CN109710698B (zh) | 2018-12-28 | 2018-12-28 | 一种数据汇聚方法、装置、电子设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109710698A true CN109710698A (zh) | 2019-05-03 |
CN109710698B CN109710698B (zh) | 2020-02-21 |
Family
ID=66259282
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811627099.2A Active CN109710698B (zh) | 2018-12-28 | 2018-12-28 | 一种数据汇聚方法、装置、电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109710698B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113626458A (zh) * | 2021-08-19 | 2021-11-09 | 咪咕数字传媒有限公司 | 高并发数据更新方法、装置、设备以及计算机存储介质 |
CN115037729A (zh) * | 2022-04-21 | 2022-09-09 | 中国建设银行股份有限公司 | 数据汇聚方法、装置、电子设备及计算机可读介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016064525A1 (en) * | 2014-10-24 | 2016-04-28 | Qualcomm Incorporated | Data aggregation and delivery |
CN105956123A (zh) * | 2016-05-03 | 2016-09-21 | 无锡雅座在线科技发展有限公司 | 基于局部更新软件的数据处理方法及装置 |
CN106997378A (zh) * | 2017-03-13 | 2017-08-01 | 摩贝(上海)生物科技有限公司 | 基于Redis的数据库数据聚合同步的方法 |
CN107038162A (zh) * | 2016-02-03 | 2017-08-11 | 滴滴(中国)科技有限公司 | 基于数据库日志的实时数据查询方法和系统 |
CN107819870A (zh) * | 2017-11-21 | 2018-03-20 | 广州视睿电子科技有限公司 | 增量拉取数据方法、装置、存储介质、终端设备和服务器 |
CN107967361A (zh) * | 2017-12-22 | 2018-04-27 | 北京明朝万达科技股份有限公司 | 一种数据库的增量处理方法和系统 |
CN108009207A (zh) * | 2017-11-06 | 2018-05-08 | 东软集团股份有限公司 | 增量数据查询方法及装置、存储介质、电子设备 |
CN108334514A (zh) * | 2017-01-20 | 2018-07-27 | 北京京东尚科信息技术有限公司 | 数据的索引方法以及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294713A (zh) * | 2016-08-09 | 2017-01-04 | 深圳中兴网信科技有限公司 | 基于增量日志解析的数据同步方法和数据同步装置 |
-
2018
- 2018-12-28 CN CN201811627099.2A patent/CN109710698B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016064525A1 (en) * | 2014-10-24 | 2016-04-28 | Qualcomm Incorporated | Data aggregation and delivery |
CN107038162A (zh) * | 2016-02-03 | 2017-08-11 | 滴滴(中国)科技有限公司 | 基于数据库日志的实时数据查询方法和系统 |
CN105956123A (zh) * | 2016-05-03 | 2016-09-21 | 无锡雅座在线科技发展有限公司 | 基于局部更新软件的数据处理方法及装置 |
CN108334514A (zh) * | 2017-01-20 | 2018-07-27 | 北京京东尚科信息技术有限公司 | 数据的索引方法以及装置 |
CN106997378A (zh) * | 2017-03-13 | 2017-08-01 | 摩贝(上海)生物科技有限公司 | 基于Redis的数据库数据聚合同步的方法 |
CN108009207A (zh) * | 2017-11-06 | 2018-05-08 | 东软集团股份有限公司 | 增量数据查询方法及装置、存储介质、电子设备 |
CN107819870A (zh) * | 2017-11-21 | 2018-03-20 | 广州视睿电子科技有限公司 | 增量拉取数据方法、装置、存储介质、终端设备和服务器 |
CN107967361A (zh) * | 2017-12-22 | 2018-04-27 | 北京明朝万达科技股份有限公司 | 一种数据库的增量处理方法和系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113626458A (zh) * | 2021-08-19 | 2021-11-09 | 咪咕数字传媒有限公司 | 高并发数据更新方法、装置、设备以及计算机存储介质 |
CN115037729A (zh) * | 2022-04-21 | 2022-09-09 | 中国建设银行股份有限公司 | 数据汇聚方法、装置、电子设备及计算机可读介质 |
CN115037729B (zh) * | 2022-04-21 | 2024-05-28 | 中国建设银行股份有限公司 | 数据汇聚方法、装置、电子设备及计算机可读介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109710698B (zh) | 2020-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240211461A1 (en) | Customer-requested partitioning of journal-based storage systems | |
CN109144994B (zh) | 索引更新方法、系统及相关装置 | |
US10346434B1 (en) | Partitioned data materialization in journal-based storage systems | |
US20180067962A1 (en) | Consistent execution of partial queries in hybrid dbms | |
EP2356560B1 (en) | Atomic multiple modification of data in a distributed storage system | |
CN108369601B (zh) | 关系结构化数据中的提升属性 | |
US11048669B2 (en) | Replicated state management using journal-based registers | |
CN108431807B (zh) | 分区数据存储空间中结构化数据记录的复制 | |
US11314717B1 (en) | Scalable architecture for propagating updates to replicated data | |
EP2797013A1 (en) | Database update execution according to power management schemes | |
CN115129782A (zh) | 一种分布式数据库的分区级连接方法和装置 | |
Affetti et al. | Flowdb: Integrating stream processing and consistent state management | |
CN114691658A (zh) | 一种数据回溯方法、装置、电子设备及存储介质 | |
US10235407B1 (en) | Distributed storage system journal forking | |
CN109710698A (zh) | 一种数据汇聚方法、装置、电子设备及介质 | |
CN113590586B (zh) | 分布式图数据库系统节点间迁移分片数据的方法、装置 | |
CN114564500A (zh) | 在区块链系统中实现结构化数据存储和查询的方法和系统 | |
CN104111962A (zh) | 具有批量操作的增强型事务高速缓存 | |
CN115687359A (zh) | 数据表分区方法及装置、存储介质、计算机设备 | |
JP2019066939A (ja) | 移行管理装置及び移行管理方法 | |
CN110399378B (zh) | 数据库系统锁操作分析方法及装置 | |
JP2013033441A (ja) | データベースの管理方法 | |
CN107590286B (zh) | 在集群文件系统中事务信息的管理方法和装置 | |
JP5832592B1 (ja) | データ管理装置 | |
Cobbs | Persistence programming |
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 |