CN111930768B - 增量数据获取方法、发送方法、装置及其计算机存储介质 - Google Patents

增量数据获取方法、发送方法、装置及其计算机存储介质 Download PDF

Info

Publication number
CN111930768B
CN111930768B CN202010948909.5A CN202010948909A CN111930768B CN 111930768 B CN111930768 B CN 111930768B CN 202010948909 A CN202010948909 A CN 202010948909A CN 111930768 B CN111930768 B CN 111930768B
Authority
CN
China
Prior art keywords
data
database
incremental
directed acyclic
acyclic graph
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
Application number
CN202010948909.5A
Other languages
English (en)
Other versions
CN111930768A (zh
Inventor
郑杰
孔庆峰
易杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010948909.5A priority Critical patent/CN111930768B/zh
Publication of CN111930768A publication Critical patent/CN111930768A/zh
Application granted granted Critical
Publication of CN111930768B publication Critical patent/CN111930768B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, 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)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了增量数据获取方法、发送方法、装置及其计算机存储介质,通过数据库更新记录表获取数据库中更新数据的位置信息,从而确定数据库中的第一更新数据及其所在的第一数据表,从所述第一数据表开始遍历所述有向无环图中的目标数据表,获取各个所述目标数据表中与所述第一更新数据关联的第一数据,根据所述第一更新数据和所述第一数据得到第一增量数据,由于数据库每次修改数据的变更信息会记录至数据库更新记录表,而有向无环图中的目标数据表与当前的业务相关,因此通过定位更新数据在数据库中的第一数据表并遍历有向无环图中的目标数据表,能够快速获取该次数据更新对应的与当前业务相关的第一增量数据,提高业务数据的一致性。

Description

增量数据获取方法、发送方法、装置及其计算机存储介质
技术领域
本发明涉及数据库技术领域,尤其涉及增量数据获取方法、发送方法、装置及其计算机存储介质。
背景技术
增量数据捕获(Change Data Capture,CDC)是指捕获数据源中产生的增量数据,并提供给其他下游业务的过程。CDC是数据集成过程中所要解决的主要问题之一。CDC用于捕获业务数据库中数据插入、删除、更新操作,为联机分析处理(OnLine AnalyticalProcessing,OLAP)数据库、报表数据库、数据仓库、商业智能数据库等企业应用数据库数据的同步提供增量数据捕获服务。
分布式数据库同步系统例如DataBus,可以提供可靠的数据捕获、流转和数据处理功能,其主要应用场景是跨部门之间或者跨机房之间进行数据库的数据订阅。分布式数据库同步系统主要是基于数据库日志例如Binlog进行增量数据捕获。但是由于在分库分表和复杂的业务场景中数据库中的数据会频繁地发生变化,仅通过数据库日志的方式无法区分数据变化的先后顺序,因此难以保持业务数据的最终一致性。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本申请提供了一种增量数据获取方法、发送方法、装置及其计算机存储介质,能够提高业务数据的最终一致性。
根据本申请的第一方面,提供一种增量数据获取方法,包括:
确定当前业务对应的有向无环图,所述有向无环图为当前业务在数据库中相关的目标数据表通过外键连接形成的层级关系图;
读取数据库更新记录表,获取未被处理的数据更新记录,所述数据更新记录包括所述数据库中数据更新的位置信息;
根据所述数据更新的位置信息确定所述数据库中的第一更新数据以及所述第一更新数据所在的第一数据表;
从所述第一数据表开始遍历所述有向无环图中的目标数据表,获取各个所述目标数据表中与所述第一更新数据关联的第一数据,根据所述第一更新数据和所述第一数据得到第一增量数据。
根据本申请的第二方面,提供一种增量数据发送方法,包括:
依据本申请第一方面所述的增量数据获取方法获取第一增量数据;
将所述第一增量数据发送至下游服务器、下游终端或订阅了第一增量数据消息的互联网数据中心。
根据本申请的第三方面,提供一种增量数据获取装置,包括:
业务确认装置,确定当前业务对应的有向无环图,所述有向无环图为当前业务在数据库中相关的目标数据表通过外键连接形成的层级关系图;
记录表读取装置,读取数据库更新记录表,获取未被处理的数据更新记录,所述数据更新记录包括所述数据库中数据更新的位置信息;
数据表获取装置,根据所述数据更新的位置信息确定所述数据库中的第一更新数据以及所述第一更新数据所在的第一数据表;
数据提取装置,从所述第一数据表开始遍历所述有向无环图中的目标数据表,获取各个所述目标数据表中与所述第一更新数据关联的第一数据,根据所述第一更新数据和所述第一数据得到第一增量数据。
根据本申请的第四方面,提供一种增量数据发送装置,包括:
获取装置,获取本申请第三方面所述增量数据获取装置得到的第一增量数据;
发送装置,将所述第一增量数据发送至下游服务器、下游终端或订阅了第一增量数据消息的互联网数据中心。
根据本申请的第五方面,提供一种服务器,包括:
至少一个存储器;
至少一个处理器;
至少一个程序;
所述程序被存储在存储器中,处理器执行所述至少一个程序以实现如本申请第一方面所述的增量数据获取方法,或者执行如本申请第二方面所述的增量数据发送方法。
根据本申请的第六方面,提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行如本申请第一方面所述的增量数据获取方法,或者执行如本申请第二方面所述的增量数据发送方法。
根据本申请的第七方面,提供一种计算机程序产品或一种计算机程序,计算机程序产品或计算机程序包括计算机指令,计算机指令存储在计算机设备的计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取计算机指令,处理器执行计算机指令,使得计算机设备执行如本申请第一方面的增量数据获取方法,或者执行如本申请第二方面的增量数据发送方法。
本申请所提供的技术方案,通过数据库更新记录表获取数据库中更新数据的位置信息,从而确定数据库中的第一更新数据及其所在的第一数据表,从所述第一数据表开始遍历所述有向无环图中的目标数据表,获取各个所述目标数据表中与所述第一更新数据关联的第一数据,根据所述第一更新数据和所述第一数据得到第一增量数据,由于数据库每次修改数据的变更信息会记录至数据库更新记录表,而有向无环图中的目标数据表与当前的业务相关,因此通过定位更新数据在数据库中的第一数据表并遍历有向无环图中的目标数据表,能够快速获取该次数据更新对应的与当前业务相关的第一增量数据,提高业务数据的一致性。
附图说明
图1是现有数据库管理系统的架构图;
图2是本申请一个实施例提供的数据库管理系统的架构图;
图3是本申请一个实施例提供的增量数据获取方法的方法流程图;
图4是本申请一个实施例提供的数据库更新记录表和数据库更新数据的关系图;
图5是本申请一个实施例提供的数据库的更新方法流程图;
图6是本申请一个实施例提供的有向无环图及其对应的数据表的示意图;
图7是步骤304一个实施例的方法流程图;
图8是本申请一个实施例提供的有向无环图及其对应的数据表的示意图;
图9是步骤304一个实施例的方法流程图;
图10是本申请一个实施例提供的有向无环图;
图11是本申请一个实施例提供的有向无环图;
图12是图11分层后的有向无环图;
图13是本申请一个实施例提供的第二路径示意图;
图14是本申请另一个实施例提供的第二路径示意图;
图15是步骤302一个实施例的方法流程图;
图16是步骤303一个实施例的方法流程图;
图17是本申请一个实施例提供的增量数据发送方法的方法流程图;
图18是步骤1702一个实施例的方法流程图;
图19是本申请一个实施例提供的服务器的结构视图;
图20是本申请一个实施例提供的计算机设备的结构视图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
首先,对本申请中涉及的若干名词进行解析:
增量数据捕获(Change Data Capture,CDC):指捕获数据源中产生的增量数据,并提供给其他下游业务的过程。CDC是数据集成过程中所要解决的主要问题之一。CDC用于捕获业务数据库中数据插入、删除、更新操作,为联机分析处理(OnLine AnalyticalProcessing,OLAP)数据库、报表数据库、数据仓库、商业智能数据库等企业应用数据库数据的同步提供增量数据捕获服务。
有向无环图(Directed Acyclic Graph,DAG):有向无环图表示一个无法从某个顶点出发经过若干条边回到该点的有向图,即一个无回路的有向图。如果有一个非有向无环图,且A点出发向B经C可回到A,形成一个环,将从C到A的边方向改为从A到C,则变成有向无环。
合取范式(conjunctive normal form,CNF):是命题公式的一种标准形,由有限个由有限个简单析取式构成的合取式称为合取范式。
析取范式(disjunctive normal form,DNF):是命题公式的一种标准形,由有限个简单合取式构成的析取式称为析取范式。
析取式:用析取真值连接词“∨”将两个或两个以上的命题联结而成的一种命题形式。
合取式:用合取真值连接词“∧”将两个或两个以上的命题联结而成的一种命题形式。
粒度:粒度就是同一维度下,数据统计的粗细程度。例如最细粒度的数据表,表示其记载的数据被其他数据表关联最多的数据表。
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术(Cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
数据库(Database),简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。
数据库管理系统(Database Management System,简称DBMS)是为管理数据库而设计的电脑软件系统,一般具有存储、截取、安全保障、备份等基础功能。数据库管理系统可以依据它所支持的数据库模型来作分类,例如关系式、XML(Extensible Markup Language,即可扩展标记语言);或依据所支持的计算机类型来作分类,例如服务器群集、移动电话;或依据所用查询语言来作分类,例如SQL(结构化查询语言(Structured Query Language)、XQuery;或依据性能冲量重点来作分类,例如最大规模、最高运行速度;亦或其他的分类方式。不论使用哪种分类方式,一些DBMS能够跨类别,例如,同时支持多种查询语言。
大数据(Big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。随着云时代的来临,大数据也吸引了越来越多的关注,大数据需要特殊的技术,以有效地处理大量的容忍经过时间内的数据。适用于大数据的技术,包括大规模并行处理数据库、数据挖掘、分布式文件系统、分布式数据库、云计算平台、互联网和可扩展的存储系统。
上述的云技术、数据库、数据库管理和大数据系统通常需要服务器的支持,其中服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
参照图1所示,为现有数据库管理系统的架构图,包括数据库100和互联网数据中心110(Internet Data Center,IDC),参见图1所示的架构图,有多个互联网数据中心110,多个互联网数据中心110组成IDC集群,下游业务方可以在IDC网络内部署租户服务器,可以将核心架构部署在公有云网络,例如,在公有云网络部署数据库100,由数据库100存储下游业务方的业务数据。下游业务方通过访问公有云网络内的应用服务器,获取应用数据,上述IDC一般分布于不同地域的机房,通过获取数据库100的下游业务数据开展下游业务。当数据量较大,传统直连数据库进行访问的方式无法满足下游业务对于大数据的要求,业务数据会被切分到不同的数据库,因此还包括数据源代理节点120(DateBaseProxy,DB代理),数据源代理节点120通过路由规则将数据的访问请求路由到其中一台数据库上,从而大大降低了数据访问的瓶颈和单台数据库的压力,以使每当启动时有数据表更即有写操作的下达,存在insert、update、delete操作时进行拦截,也就是说,数据源代理节点120数据库变更进行检测,每次数据库进行变更后,都会触发搜索引擎的索引数据的实时更新,也即将消息队列中的目标数据异步刷到搜索引擎中,实现增量数据捕获(CDC),其中图1所示IDC通过订阅数据源代理节点120的消息获取数据库100的更新信息。
上述的分布式数据库同步系统例如DataBus,可以提供可靠的数据捕获、流转和数据处理功能,其主要应用场景是跨部门之间或者跨机房之间进行数据库的数据订阅。分布式数据库同步系统主要是基于数据库日志例如Binlog进行增量数据捕获。但是由于在分库分表和复杂的业务场景中数据库中的数据会频繁地发生变化,仅通过数据库日志的方式无法区分数据变化的先后顺序,因此难以保持业务数据的最终一致性。
为此,本申请实施例提供了一种增量数据获取方法、发送方法、装置及其计算机存储介质,能够提高业务数据的最终一致性。
本申请一个实施例提供的增量数据获取方法可以应用于如图2所示的应用环境,该应用环境包括,数据库200、多个IDC 210(例如图1中的IDC1、IDC2和IDC3)以及数据源代理节点(DateBaseProxy,DB代理)220,其中数据源代理节点220可以是一台或多台服务器、客户端、或者设置于服务器或客户端上的应用程序或插件,通过数据源代理节点220实现数据库的更新和增量数据的捕获,另外还设置有序列号服务器230,序列号服务器用于为数据源代理节点220提供全局唯一的流水号,以便数据源代理节点220更新数据库更新记录表。
上述的多个IDC可以是分布于不同地域布置的服务器,例如分别设置于不同的机房,多个IDC之间组成IDC集群。IDC集群包括IDC1,一实施例中,IDC1为与数据库200或者数据源代理节点220处于相同的机房,IDC1通过消息中间件订阅数据源代理节点220的数据库消息,从而获取到数据库200的增量数据,IDC1通过消息队列的方式向IDC集群中的其他IDC发送数据库增量信息,其中可以是通过发布订阅模式将增量消息发送至多个IDC,或者通过点对点模式发送给指定的IDC,再由IDC消费该数据库增量信息,例如下发至下游服务器或下游终端。
图3是一个示例性的实施例提供的一种增量数据获取方法,该方法应用于上述应用环境中的IDC,增量数据获取方法包括以下步骤:
步骤301,确定当前业务对应的有向无环图,有向无环图为当前业务在数据库中相关的目标数据表通过外键连接形成的层级关系图。
下游业务中可以同时有多个业务,每个业务在数据库中所需的数据表不同,而且每个业务所需的数据表之间存在关联性,利用业务对应数据表的关联性可以构建对应当前业务对应的有向无环图,其可以表示一个无法从某个顶点出发经过若干条边回到该点的有向图,有向无环图具有多个节点,每个节点表示当前业务在数据库中相关的目标数据表,其中各个目标数据表通过外键连接形成逻辑上的有向无环图,该有向无环图中表示各目标数据表之间的层级关系,有向无环图根据其各自的业务需求被预先设置。其中,若有向无环图中的第一节点的数据表的一项数据通过外键连接到第二节点中的多项数据,则第二节点属于第一节点的下层。有向无环图可以存储于IDC或数据库中,一实施例中,IDC根据当前业务需求查找并确定对应的有向无环图,例如在IDC的存储器中查找对应的有向无环图。需要说明的是有向无环图是提供给计算机识别以及理解的逻辑关系图表,并非用于向用户显示的可视图像。
步骤302,读取数据库更新记录表,获取未被处理的数据更新记录,数据更新记录包括数据库中数据更新的位置信息。
数据库更新记录表记录了数据库的数据更新记录,每次数据库更新后都会在数据库更新记录表中记录更新数据在数据库中的位置,即记录了在数据库的数据表中的具体哪行数据被更新,IDC通过读取数据库更新记录表即可定位对应更新数据的位置,同时定位了对应更新数据的数据表的位置。一实施例中,数据库更新记录除了记录了数据更新的位置外,还记录的具体数据更新的内容,这样IDC可以快速判断当前更新的数据是否与当前业务相关,对于与当前业务不相关的数据则不作处理。其中,数据库更新记录可以存储于如图2所示系统架构图总的数据库200或者IDC 210中,也可以设置额外的数据库存储该数据库更新记录表。一实施例中,数据源代理节点负责更新数据库中的数据,每次更新数据库后,数据源代理节点会在数据库更新记录表中记录更新的信息,例如创建一条数据更新记录,数据源代理节点依据数据库更新的先后顺序在数据库更新记录表中记录数据更新记录,IDC依据数据库更新记录表的记录先后顺序读取数据库更新记录表的每条数据更新记录,一实施例中,数据库更新记录表中每条数据更新记录对应一个流水号,该流水号依据记录时间的先后顺序从小到大排列,IDC则依据流水号的序号顺序依次读取对应的数据更新记录。当处理完每条数据更新记录后IDC标记该条信息为已处理(包括响应执行下文所述的遍历步骤,或者因当前数据更新记录并非业务需要不执行任何动作均视为已处理),IDC可以通过写入标记或者记录当前数据更新记录的流水号实现标记,IDC对于已处理的数据更新记录不再进行处理。
步骤303,根据数据更新的位置信息确定数据库中的第一更新数据以及第一更新数据所在的第一数据表。
通过读取数据库更新记录表中数据更新记录,可以确定数据更新在数据库中的具体位置,由于一条数据更新的位置需要定位对应的数据库及其数据表,因此IDC可以依据数据更新的位置信息访问数据库中的第一更新数据,并确定第一更新数据所在的第一数据表,第一数据表为当前数据更新记录对应的更新了数据的数据表,若第一数据表为当前业务所需的数据表,则该第一数据表为目标数据表。一实施例中,参照图2所示,IDC 210可以通过数据源代理节点220访问数据库200中的目标数据表。
步骤304,从第一数据表开始遍历有向无环图中的目标数据表,获取各个目标数据表中与第一更新数据关联的第一数据,根据第一更新数据和第一数据得到第一增量数据。
在本步骤中,由于上述步骤301获取了当前业务对应的有向无环图,并且上述步骤303中确定了当前数据库更新数据的位置及其所在的第一数据表,因此可以确定第一数据表中在对应的有向无环图中的位置。IDC依据第一数据表在有向无环图中的位置开始遍历有向无环图中所有目标数据表,包括当前更新的第一数据以及各个目标数据表中与第一数据相关的第一增量数据。由于有向无环图为当前业务在数据库中相关的目标数据表通过外键连接形成的层级关系图,因此各个数据表中的数据也通过外键关联,也就是说,当确定了第一数据后,可以通过外键获取其他目标数据表的关联数据,例如第一数据表通过第一外键和第二数据表关联,第二数据表通过第二外键和第三数据表关联,因此确定第一数据后,可以通过第一外键找到第二数据表中与第一数据关联的第二数据,同理,可以通过第二外键找到第三数据表中与第二数据关联的第三数据。
一实施例中,也可以确定了第一数据表之后再确认当前业务对应的有向无环图,例如依据步骤302、步骤303、步骤301、步骤304的顺序执行增量数据获取方法。
本申请实施例提供的增量数据获取方法,通过数据库更新记录表获取数据库中更新数据的位置信息,从而确定数据库中的第一更新数据及其所在的第一数据表,从所述第一数据表开始遍历所述有向无环图中的目标数据表,获取各个所述目标数据表中与所述第一更新数据关联的第一数据,根据所述第一更新数据和所述第一数据得到第一增量数据,下游业务可以基于第一增量数据做业务逻辑。由于数据库每次修改数据的变更信息会记录至数据库更新记录表,而有向无环图中的目标数据表与当前的业务相关,因此通过定位更新数据在数据库中的第一数据表并遍历有向无环图中的目标数据表,即可以将数据库更新记录表作为数据驱动源,快速获取该次数据更新对应的与当前业务相关的第一增量数据,提高业务数据的一致性。
本申请实施例提供的增量数据获取方法适用于复杂业务场景和分库分表的场景。例如可以应用于在线广告系统业务场景,在在线广告系统业务场景中,数据库中的数据表存储广告业务系统中的数据,有向无环图中关联目标数据表之间的外键与广告业务相关。本申请实施例提供的增量数据获取方法适用于广告系统业务场景,对于广告系统业务场景对于数据表的关联需求是十分复杂的,涉及到复杂的分库分表,而通过本申请实施例提供的增量数据获取方法,能有效保障数据库修改中广告系统业务数据的一致性。
参照图4所示,为一个实施例提供的数据库更新记录表和数据库更新数据的关系图,如图4所示的A表为数据库中的数据表,A表的表名为AdGroup,A表中包括第一字段FAId(PK)和第二字段FPrice,其中第一字段用于表示A表中的各行数据,第二字段对应项数据内容。图4还包括数据库更新记录表,数据库更新记录表包括字段event_no,数据库更新记录表的流水号,数据库更新记录表的invoice字段记录了数据库发生的数据变化。DB代理对数据库中A表的数据进行修改,每当A表中的数据发生变化,DB代理会在数据库更新记录表中新建一条记录,例如DB代理修改了图4中AdGroup表的第二字段FPrice的数据,DB代理会对应在数据库更新记录表中创建一条新的记录,并将第二字段FPrice的数据更新信息记录到该新创建记录的invoice字段中,即每次A表更新都会在数据库更新记录表创建一条对应该更新操作的数据记录,该数据记录记载了A表数据更新相关信息,例如可以包括数据更新内容及数据更新的位置信息。
参照图5所示,一实施例中,DB代理执行如下步骤对数据库的数据进行更新:
步骤501,获取第一更新数据。
其中DB代理可以根据客户端、服务器或业务的指令执行数据库更新的操作,更新任务对应的数据为第一更新数据。
步骤502,向数据库发送第一数据更新指令,所述第一数据更新指令用于将所述第一更新数据更新至所述数据库中。
DB代理向数据库发送第一更新指令,该指令使DB代理访问数据库,并将第一数据更新至数据库中,例如DB代理通过sql语句(insert\update)将第一更新数据更新至数据库。
步骤503,获取流水号。
序列号服务器根据流水号请求的先后顺序向DB代理提供全局唯一的流水号,该流水号的顺序表示了数据库中数据更新的时序。
步骤504,根据所获取的流水号在数据库更新记录表中新建数据更新记录,所述数据更新记录包括所述第一更新数据在所述数据库中更新的位置信息。
DB代理在数据库更新记录表中新建对应流水号的数据更新记录,实现数据库更新记录表的更新。
一实施例中,参见如图4所示,DB代理对A表中FAId为700的数据进行的修改,将A表中FAId为700的数值由1修改为2,然后DB代理从序列号服务器中获取当前全局最大的流水号104,在数据库更新记录表中新建一条event_no流水号为104的记录,并在对应的invoice字段记录更新的内容,invoice字段记录了A表中当前更新数据的更新位置信息,包括对应数据表的表明和更新数据在数据表中的位置(即A表中FAId为700的数据位置)。如图4所示,流水号为104的数据更新记录记载了A表的表名AdGroup和该数据更新在A表中的位置whereFAid=700,另外,还记录了更新前的数据old:1和更新后的数据old:2。该数据更新对应的sql语句为update set FPrice=2 where where FAld=700。
IDC通过读取该数据库更新记录表,即可获知数据库的更新记录,并且可以依据流水号依次确定更新数据的位置及遍历与更新数据相关的目标数据表。
参照图6所示,为一个实施例提供的有向无环图及其对应的数据表,该有向无环图对应一个下游业务的需求,如图6所示,该有向无环图包括A、B、C节点,其中C节点指向B节点,B节点指向A节点,每个节点表示一个数据表,图6中A表对应的是A节点,B表对应的是B节点,C表对应的是C节点,本实施例中,A表、B表和C表均是当前业务感兴趣或需要的数据表,因此A、B、C节点均是图6所示有向无环图的目标数据表,A表、B表和C表中包括字段col1和字段col2,其中A表中col1为a1的数据(以下简称为a1数据)通过外键与B表中col1为b1至b5的数据(以下简称为b1至b5数据)关联,其中b1数据通过外键与C表中col1为c1至b3的数据(以下简称为c1至c3数据)关联。由于A表与B表是1对多的关系,B表与C表是1对多的关系,因此构成了从A表到B表,B表到C表的层级结构。因此对应的A、B、C节点构成了如图6所示由节点C到节点B再到节点A的有向无环图。一实施例中,当A表的a1数据发生了变化(例如某一业务、服务器或客户端通过DB代理对数据库中a1数据进行了修改),IDC通过读取数据库更新记录表得知a1数据发生了变化,IDC通过DB代理读取A表中的第一更新数据,即a1数据,为了提高业务数据的一致性,需要获取数据库中与a1数据关联的其他数据表的数据,因此IDC根据当前业务需求确定包括上述A、B、C节点的有向无环图,并根据a1数据与B表的关联获取B表中与a1数据关联的第一数据,即b1至b5数据,完成对B表的遍历,然后根据b1数据与C表的关联获取C表中的c1至c3数据,如此类推,再遍历b2至b5对应于C表中的数据,直至完成对B表的遍历。因此可以得到与a1数据在B表和C表中直接或间接关联的多个第一数据,并依据和a1数据的关联性,得到第一增量数据。IDC可以将该第一增量数据发布到下游业务或分发给不同的IDC集群。
一实施例中,通过数据表的形式表示第一增量数据,例如图6所示的增量数据表,每行表示与a1数据关联的B表数据和C表数据,由于每行能够表示受a1数据修改影响的所有目标数据表的相关数据。因此下游业务无需理解各个数据表之间的关联性,只需要直接根据获取的第一增量数据执行相应的操作即可。另外IDC也可以收集第一增量数据形成对于数据库的镜像文件。
一实施例中,如图6所示的有向无环图,若B表的数据b1发生了变化,则遍历A表和C表中与数据b1关联的数据,例如A表中的a1数据,C表中的c1至c3数据。
一实施例中,参照图7所示,步骤304进一步包括:
步骤701,从第一数据表开始遍历有向无环图中的目标数据表,获取各个目标数据表中与第一更新数据关联的第一数据;
步骤702,判断第一更新数据和第一数据的是否符合第一预设条件,将符合预设条件的第一更新数据和第一数据整合为第一增量数据。
本实施例中,IDC从第一数据表开始遍历有向无环图中的目标数据表,并依次获取各个目标数据表中与第一更新数据关联的第一数据,另外,可以设置有第一预设条件对遍历的数据进行筛选,其中第一预设条件可以根据当前业务的需求设置或更改,即遍历目标数据表中的数据需要先判断是否符合第一预设条件,符合第一预设条件的数据才能整合输出为第一增量数据。若不符合第一预设条件,表示当前遍历的数据为无关数据,舍弃该些数据。由于设置了第一预设条件,能够对第一增量数据进行筛选,将无关数据剔除,有助于提高下游业务的数据处理效率。另外,IDC可以根据业务需求的变化而调整第一预设条件,也就是说,当业务发生变化时,可以通过第一预设条件进行调整而非调整各个数据表之间的逻辑关系,例如无需调整有向无环图,只需要通过第一预设条件即可调整所需获取的增量数据,灵活性高,能够较为方便的适应业务的快速变更和迭代。例如可以应用到广告的实时上下线和广告实时分析环境中。
一实施例中,步骤702具体包括,判断所述第一更新数据和所述第一数据的逻辑运算结果是否符合所述第一预设条件,将符合所述预设条件的所述第一更新数据和所述第一数据整合为所述第一增量数据。
第一预设条件可以为逻辑表达式MNF,例如可以定义一个合取范式CNF或者一个析取范式DNF作为第一预设条件。
例如,一实施例中,参照图8所示,为在图6所示的有向无环图及其各个节点对应的数据表A表、B表和C表的基础上,对遍历A表、B表和C表产生的数据通过逻辑判定器来判断遍历的数据是否符合业务需要,如果是则将这个消息写入消息队列,消息队列将这个消息分发给不同的IDC集群。例如,图8所示A表的a1数据发生了变化,IDC根据当前业务对应的有向无环图遍历B表和C表中与a1数据直接或间接相关的数据,例如B表中的b1至b5数据,C表中的c1至c3数据,然后依据第一预设条件对第一更新数据(例如a1数据)和第一数据(例如b1、c1数据)执行逻辑表达式MNF:(C.col1&B.col2)||(C.col1&A.col2)是否为真,若为真,将A表,B表和C表相关的数据写入增量数据表,若不为真,则不记录相关数据。上述逻辑表达式中,C.col1表示C表的第一字段,B.col2表示B表的第二字段,A.col2表示A表的第二字段。
一实施例中,参照图9所示,步骤304进一步包括:
步骤901,从所述第一数据表开始依据所述有向无环图的层级关系逐层遍历各个所述目标数据表,并依次获取各个目标数据表中与所述第一更新数据关联的第一数据。
步骤902,若当前遍历的所述目标数据表中的所述第一数据符合第二预设条件,则执行如下步骤。
步骤903,将当前遍历的所述目标数据表从所述有向无环图中删除。
本实施例中,IDC根据有向无环图的层级关系依次遍历各个目标数据表,获取各个目标数据表中与所述第一更新数据关联的第一数据,包括与第一数据直接或间接关联的数据,将遍历所获取的数据判断是否符合第二预设条件,其中,所述第二预设条件的判断对象为有向无环图中的各个节点,即判断目标数据表中记载数据是否符合第二预设条件。例如,参照图10所示的一个实施例提供的有向无环图,包括依次由C节点指向B节点再指向A节点的第一支路和依次由E节点指向D节点再指向A节点的第二支路,第二预设条件用于判断各个节点的数据是否不符合业务需求,若符合第二预设条件,则表示当前节点不符合业务需求,将当前遍历的所述目标数据表从所述有向无环图中删除。例如参照图10所示,在该有向无环图中,若D节点符合第二预设条件,着将D节点删除,由于D节点被删除,从属于D节点的E节点也相应被删除。通过设置第二预设条件,可以提前判断有向无环图中的无效路径,对有向无环图中的无效路径提前进行剪枝。
一实施例中,上述步骤903可以替换为:为停止遍历当前所述目标数据表及其下层的目标数据表。本实施例中,并没有对有向无环图进行修改,而且对遍历的方式进行了限制,例如通过设置禁止遍历的标记防止不符合业务需求的节点被遍历。
一实施例中,上述第二预设条件也可以为判定逻辑表达式MNF,另外第二预设条件也可基于第一预设条件设定,即第二预设条件为当前遍历的第一数据决定第一更新数据和第一数据的逻辑运算结果不符合第一预设条件,即当前遍历的节点一定不满足第一预设条件的逻辑表达式,表示当前节点数据表记载的数据符合第二预设条件。
一实施例中,设置有向无环图中粒度最小的目标数据表为第二数据表,定义第二数据表所在层为第0层,当前节点的数据表多项数据表被其他节点的数据表引用,引用当前节点的数据表+1层,例如参照图11所示的有向无环图,key表中被关联的数据最多,数据统计的程度最小,为最细粒度的业务数据表,key表对应在有向无环图中的节点为key节点,定义key节点所在层为第0层,图11中,D节点对应的D表与key表的关系是1:N(N大于2,下同),D节点在key节点的上层,即第1层,H节点对应的H表与D节点的D表关系是1:N,因此,H节点在D节点的上层,即第2层,以此类推。另外,对于当前节点与其他节点的数据表引用关系是1:1的,则处于同一层,例如图11所示的A节点与key节点的数据表的连表关系为1:1,则A节点也处于第0层,图11所示有向无环图中的分层结构参见图12所示。
一实施例中,在有向无环图中所述第二数据表所在的路径为第一路径,因此,上述步骤304中,从所述第一数据表开始遍历所述有向无环图中所述第一路径的目标数据表。通过确定第一路径,能够让IDC预先确定有效的遍历的路径,提高遍历的效率。
另一实施例中,将参与判断是否符合第一预设条件的目标数据表为第三数据表,即参与计算第一预设条件对应逻辑表达式的数据表为第三数据表,例如上述实施例的逻辑表达式,(C.col1&B.col2)||(C.col1&A.col2),A表,B表和C表中的数据均参与逻辑计算,因此A、B、C节点的所在路径为第二路径。例如,参照图12所示,参与第一预设条件计算的第三数据表包括D表和E表,这时若H表的数据发生变化,则对应的第二路径及遍历方向如图13所示,依据图13箭头所示的路径优先遍历各个目标数据表。另一实施例中,这时若I表的数据发生变化,则对应的第二路径及遍历方向如图14所示,先从I表遍历到key表,再有key表遍历到其他的数据表。由于在第二路径的指示下,会优先遍历到参与判断第一预设条件的第三数据表,因此能够提前预判当前路径是否可以被剪枝或禁止遍历,能大大提高遍历的效率。例如,对于广告业务场景来说可以提高遍历效率20%以上。
参见图15所示,一实施例中,步骤302具体包括以下步骤:
步骤1501,读取数据库更新记录表;
步骤1502,依据所述数据库更新记录表的数据记录的先后顺序依次获取未被处理的处理数据更新记录进行处理。
本实施例中,IDC依据读取数据库更新记录表中的流水号依次获取未被处理的处理数据更新记录进行处理,其中流水号由序列号服务器提供给DB代写入到数据库更新记录表中。IDC在读取数据库更新记录表时,首先判断当前数据库更新记录表最大的流水号,通过比较当前处理的流水号是否为最大的流水号,从而确定是否继续读取数据库更新记录。由于流水号由序列号服务器依据时序提供且是全局唯一的序列号,因此IDC只需要依据流水号进行处理即可按数据库的更新顺序执行遍历,提高增量数据的准确性和及时性。
参见图16所示,一实施例中,步骤303具体包括以下步骤:
步骤1601,判断所述第一数据表是否为所述有向无环图中的所述目标数据表。
步骤1602,若所述第一数据表为所述有向无环图中的所述目标数据表,从所述第一数据表开始遍历所述有向无环图中的目标数据表。
步骤1603,若所述第一数据表不是所述有向无环图中的所述目标数据表,获取数据库更新记录表中下一条未被处理的数据更新记录。
本实施例中步骤之前,IDC已经读取数据库更新记录表并确定数据库中的第一更新数据以及所述第一更新数据所在的第一数据表,由于第一数据表可能不是当前业务所需要的数据表,因此本实施例中的判断步骤1601,判断第一数据表是否为有向无环图中的所述目标数据表,如果是,则从第一数据表开始遍历有向无环图中的数据表,如果不是,则放弃遍历,读取下一条未被处理的数据更新记录。通过本实施例,能够提前判断第一数据表是否为当前业务所需,进而作为遍历的提前逻辑,有助于提高遍历的效率。
一实施例中,参见图2所示的应用环境,IDC210还包括订阅模块240,合并模块(Merger)250和公共服务模块(Publish)260,在获取到上述任意一项实施例所述的第一增量数据之后,参见图17所示,IDC还执行如下的增量数据发送方法,具体包括:
步骤1701,依据上述任意一项实施例所述的增量数据获取方法获取第一增量数据;
步骤1702,将所述第一增量数据发送至下游服务器、下游终端或订阅了第一增量数据消息的互联网数据中心。
通过依据增量数据获取方法获取第一增量数据发送至下游服务器或下游终端,让下游服务器或下游终端能够根据第一增量数据开展业务。本步骤中,IDC通过消息队列向订阅了所述第一增量数据的数据交换中心发送所述第一增量数据,包括向IDC集群中的其他成员发送第一增量数据。一实施例中,在图2中所示的系统架构图中,IDC1的订阅模块240执行增量数据获取方法,获取第一增量数据,将增量数据通过消息队列的方式发送给订阅了第一增量数据消息的互联网数据中心,例如图2中IDC2,IDC3,再由IDC2、IDC3对增量消息进行处理发到下游业务,例如下游服务器或者下游终端。另外,对于IDC1自身来说,也可以通过消息队列将第一增量数据发送给IDC1的数据处理模块处理后发送给下游服务器或者下游终端,以开展下游业务。
一实施例中,参见图18所示,上述步骤1702,具体包括以下步骤:
步骤1801,通过消息队列向订阅了所述第一增量数据的数据交换中心发送所述第一增量数据;
本步骤中,IDC将增量数据通过消息队列的方式发送给订阅了第一增量数据消息的互联网数据中心,例如图2中IDC2,IDC3,再由IDC2、IDC3对增量消息进行处理发到下游业务,例如下游服务器或者下游终端。
步骤1802,合并所获取的各个所述第一增量数据,形成第一增量数据的快照文件,向所述下游服务器或下游终端发送所述快照文件。
本步骤中,IDC通过合并模块260将所接收的多条第一增量数据进行整合合并得到一个快照文件(snapshot),这样IDC就可以定时落地一个快照文件,该快照文件相当于数据库的一个数据备份,可以作为一个全量数据备份为业务做冷启动回复,另外该快照文件可以通过BT(BitTorrent,对等网络中文件分享的网络协议)或者HDFS(Hadoop,分布式文件系统)的方式同步到下游业务方。或者公共服务模块260通过RPC(Remote Procedure Call,远程过程调用)提供的断点续转增量获取消息服务,为下游业务方提供可以从任意断点来消费第一增量数据。
本申请一个实施例提供的一种增量数据获取装置,包括:
业务确认装置,确定当前业务对应的有向无环图,所述有向无环图为当前业务在数据库中相关的目标数据表通过外键连接形成的层级关系图;
记录表读取装置,读取数据库更新记录表,获取未被处理的数据更新记录,所述数据更新记录包括所述数据库中数据更新的位置信息;
数据表获取装置,根据所述数据更新的位置信息确定所述数据库中的第一更新数据以及所述第一更新数据所在的第一数据表;
数据提取装置,从所述第一数据表开始遍历所述有向无环图中的目标数据表,获取各个所述目标数据表中与所述第一更新数据关联的第一数据,根据所述第一更新数据和所述第一数据得到第一增量数据。
本申请一个实施例提供的一种增量数据发送装置,包括:
获取装置,获取如上述实施例所述增量数据获取装置得到的第一增量数据;
发送装置,将所述第一增量数据发送至下游服务器、下游终端或订阅了第一增量数据消息的互联网数据中心。
参见图19所示,本申请一个实施例提供了一种服务器,包括
至少一个存储器;
至少一个处理器;
至少一个程序;
所述程序被存储在存储器中,处理器执行所述至少一个程序以实现上述任意一项实施例所述的增量数据获取方法,或者执行上述任意一项实施例所述的增量数据发送方法。
本申请的一个实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被图20所示计算机设备中的一个处理器或控制器执行,例如,使得上述处理器执行上述任意一项实施例所述的增量数据获取方法,或者执行上述任意一项实施例所述的增量数据发送方法。
本申请一个实施例还提供一种计算机程序产品或一种计算机程序,计算机程序产品或计算机程序包括计算机指令,计算机指令存储在计算机设备的计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取计算机指令,处理器执行计算机指令,使得计算机设备执行上述任意一项实施例的增量数据获取方法,或者执行上述任意一项实施例的增量数据发送方法。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置,或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上是对本申请的较佳实施进行了具体说明,但本申请并不局限于上述实施方式,熟悉本领域的技术人员在不违背本申请精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

Claims (15)

1.一种增量数据获取方法,其特征在于,包括:
确定当前业务对应的有向无环图,所述有向无环图为当前业务在数据库中相关的目标数据表通过外键连接形成的层级关系图;
读取数据库更新记录表,获取未被处理的数据更新记录,所述数据更新记录包括所述数据库中数据更新的位置信息;
根据所述数据更新的位置信息确定所述数据库中的第一更新数据以及所述第一更新数据所在的第一数据表;
从所述第一数据表开始遍历所述有向无环图中的目标数据表,获取各个所述目标数据表中与所述第一更新数据关联的第一数据,根据所述第一更新数据和所述第一数据得到第一增量数据。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一更新数据和所述第一数据得到第一增量数据,包括:
判断所述第一更新数据和所述第一数据是否符合第一预设条件,将符合所述预设条件的所述第一更新数据和所述第一数据整合为所述第一增量数据,其中,所述第一预设条件为与当前业务需求相关的数据。
3.根据权利要求2所述的方法,其特征在于,所述判断所述第一更新数据和所述第一数据是否符合所述第一预设条件,包括:
判断所述第一更新数据和所述第一数据的逻辑运算结果是否符合所述第一预设条件。
4.根据权利要求1所述的方法,其特征在于,所述从所述第一数据表开始遍历所述有向无环图中的目标数据表,获取各个所述目标数据表中与所述第一更新数据关联的第一数据,包括:
从所述第一数据表开始依据所述有向无环图的层级关系逐层遍历各个所述目标数据表,并依次获取各个目标数据表中与所述第一更新数据关联的第一数据;
若当前遍历的所述目标数据表中的所述第一数据符合第二预设条件,则执行如下至少之一的步骤:
将当前遍历的所述目标数据表从所述有向无环图中删除;
或者,停止遍历当前所述目标数据表及其下层的目标数据表;
其中,所述第二预设条件为不符合当前业务需求的数据。
5.根据权利要求4所述的方法,其特征在于,所述第二预设条件为所述第一数据决定所述第一更新数据和所述第一数据的逻辑运算结果不符合第一预设条件。
6.根据权利要求1所述的方法,其特征在于,所述有向无环图中粒度最小的目标数据表为第二数据表,在所述有向无环图中所述第二数据表所在的路径为第一路径;所述从所述第一数据表开始遍历所述有向无环图中的目标数据表包括:
从所述第一数据表开始遍历所述有向无环图中所述第一路径的目标数据表。
7.根据权利要求2或3所述的方法,其特征在于,所述有向无环图中参与判断是否符合第一预设条件的目标数据表为第三数据表,从所述第一数据表开始经过所有第三数据表的路径为第二路径;
所述从所述第一数据表开始遍历所述有向无环图中的目标数据表,包括:
从所述第一数据表开始优先遍历所述有向无环图中所述第二路径上的目标数据表。
8.根据权利要求1所述的方法,其特征在于,所述从所述第一数据表开始遍历所述有向无环图中的目标数据表,包括:
判断所述第一数据表是否为所述有向无环图中的所述目标数据表;
若所述第一数据表为所述有向无环图中的所述目标数据表,从所述第一数据表开始遍历所述有向无环图中的目标数据表;
若所述第一数据表不是所述有向无环图中的所述目标数据表,获取数据库更新记录表中下一条未被处理的数据更新记录。
9.根据权利要求1所述的方法,其特征在于,所述读取数据库更新记录表,获取未被处理的数据更新记录,包括
读取数据库更新记录表;
依据所述数据库更新记录表的数据记录的先后顺序依次获取未被处理的处理数据更新记录进行处理。
10.一种增量数据发送方法,其特征在于,包括:
依据权利要求1至9任意一项所述的增量数据获取方法获取第一增量数据;
将所述第一增量数据发送至下游服务器、下游终端或订阅了所述第一增量数据的消息的互联网数据中心。
11.根据权利要求10所述的方法,其特征在于,所述将所述第一增量数据发送至下游服务器、下游终端或订阅了第一增量数据消息的互联网数据中心,包括:
通过消息队列向订阅了所述第一增量数据的数据交换中心发送所述第一增量数据;
合并所获取的各个所述第一增量数据,形成第一增量数据的快照文件,向所述下游服务器或下游终端发送所述快照文件。
12.一种增量数据获取装置,其特征在于,包括:
业务确认装置,确定当前业务对应的有向无环图,所述有向无环图为当前业务在数据库中相关的目标数据表通过外键连接形成的层级关系图;
记录表读取装置,读取数据库更新记录表,获取未被处理的数据更新记录,所述数据更新记录包括所述数据库中数据更新的位置信息;
数据表获取装置,根据所述数据更新的位置信息确定所述数据库中的第一更新数据以及所述第一更新数据所在的第一数据表;
数据提取装置,从所述第一数据表开始遍历所述有向无环图中的目标数据表,获取各个所述目标数据表中与所述第一更新数据关联的第一数据,根据所述第一更新数据和所述第一数据得到第一增量数据。
13.一种增量数据发送装置,包括:
获取装置,获取如权利要求12所述增量数据获取装置得到的第一增量数据;
发送装置,将所述第一增量数据发送至下游服务器、下游终端或订阅了第一增量数据消息的互联网数据中心。
14.一种服务器,其特征在于,包括
至少一个存储器;
至少一个处理器;
至少一个程序;
所述程序被存储在存储器中,处理器执行所述至少一个程序以实现如权利要求1-9任意一项所述的增量数据获取方法,或者执行如权利10或11所述的增量数据发送方法。
15.一种计算机可读存储介质,其特征在于,存储有计算机可执行指令,所述计算机可执行指令用于如执行权利要求1至9任意一项所述的增量数据获取方法,或者执行如权利要求10或11所述的增量数据发送方法。
CN202010948909.5A 2020-09-10 2020-09-10 增量数据获取方法、发送方法、装置及其计算机存储介质 Active CN111930768B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010948909.5A CN111930768B (zh) 2020-09-10 2020-09-10 增量数据获取方法、发送方法、装置及其计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010948909.5A CN111930768B (zh) 2020-09-10 2020-09-10 增量数据获取方法、发送方法、装置及其计算机存储介质

Publications (2)

Publication Number Publication Date
CN111930768A CN111930768A (zh) 2020-11-13
CN111930768B true CN111930768B (zh) 2021-01-01

Family

ID=73308857

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010948909.5A Active CN111930768B (zh) 2020-09-10 2020-09-10 增量数据获取方法、发送方法、装置及其计算机存储介质

Country Status (1)

Country Link
CN (1) CN111930768B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112506870B (zh) * 2020-12-18 2023-03-24 上海哔哩哔哩科技有限公司 数据仓库增量更新方法、装置及计算机设备
CN112732710A (zh) * 2020-12-25 2021-04-30 北京知因智慧科技有限公司 数据处理方法、装置以及电子设备
CN112988769A (zh) * 2021-02-04 2021-06-18 北京奇艺世纪科技有限公司 广告业务数据处理方法、装置、系统及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107533750A (zh) * 2015-04-23 2018-01-02 谷歌公司 虚拟图像处理器指令集架构(isa)和存储器模型与具有二维移位阵列结构的示例性目标硬件
CN108737462A (zh) * 2017-04-17 2018-11-02 华东师范大学 一种基于图论的云计算数据中心任务调度方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9047334B1 (en) * 2009-07-31 2015-06-02 David R. Cheriton Merge-update for efficient atomic memory modification in concurrent computer systems
GB201810392D0 (en) * 2015-11-25 2018-08-08 Teamifier Inc Methods for the augmentation, exploration, and maintenance of project hierarchies
US10198469B1 (en) * 2017-08-24 2019-02-05 Deephaven Data Labs Llc Computer data system data source refreshing using an update propagation graph having a merged join listener
CN110135573B (zh) * 2018-02-02 2023-10-03 阿里巴巴集团控股有限公司 一种深度学习模型的训练方法、计算设备以及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107533750A (zh) * 2015-04-23 2018-01-02 谷歌公司 虚拟图像处理器指令集架构(isa)和存储器模型与具有二维移位阵列结构的示例性目标硬件
CN108737462A (zh) * 2017-04-17 2018-11-02 华东师范大学 一种基于图论的云计算数据中心任务调度方法

Also Published As

Publication number Publication date
CN111930768A (zh) 2020-11-13

Similar Documents

Publication Publication Date Title
US11995124B2 (en) Query language interoperability in a graph database
CN111930768B (zh) 增量数据获取方法、发送方法、装置及其计算机存储介质
Congosto et al. T-Hoarder: A framework to process Twitter data streams
US9031992B1 (en) Analyzing big data
US9361320B1 (en) Modeling big data
CN113254466B (zh) 一种数据处理方法、装置、电子设备和存储介质
US11971867B2 (en) Global column indexing in a graph database
CN106294695A (zh) 一种面向实时大数据搜索引擎的实现方法
US20180203869A1 (en) Application Programming Interface
US11544229B1 (en) Enhanced tracking of data flows
CN113609374A (zh) 基于内容推送的数据处理方法、装置、设备及存储介质
CN111680017A (zh) 一种数据同步的方法及装置
CN114329096A (zh) 一种原生图数据库处理方法及系统
EP3571605A1 (en) Including metadata in data resources
CN111753141A (zh) 一种数据管理方法及相关设备
US11789971B1 (en) Adding replicas to a multi-leader replica group for a data set
US20220198038A1 (en) Determining access changes
US20070282810A1 (en) Overlay Dataset
Singh NoSQL: A new horizon in big data
US20240078221A1 (en) Systems and methods of modeling and querying dynamic temporal graph on massive parallel graph processing and storage engine
CN115718571B (zh) 一种基于多维度特征的数据管理方法和装置
US20240070180A1 (en) Mutation-Responsive Documentation Regeneration Based on Knowledge Base
Cuiyuan A method of public opinion analysis in big data environments
US20220197880A1 (en) Data model and data service for content management system
CN117493709A (zh) 一种面向poi的数据中台架构系统

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