CN113419752A - 一种数据处理方法、装置、电子设备及存储介质 - Google Patents

一种数据处理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN113419752A
CN113419752A CN202110605122.3A CN202110605122A CN113419752A CN 113419752 A CN113419752 A CN 113419752A CN 202110605122 A CN202110605122 A CN 202110605122A CN 113419752 A CN113419752 A CN 113419752A
Authority
CN
China
Prior art keywords
data
data table
warehouse
task
upgrading
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
Application number
CN202110605122.3A
Other languages
English (en)
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.)
Beijing Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun Information Technology 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 Beijing Jingdong Century Trading Co Ltd, Beijing Wodong Tianjun Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN202110605122.3A priority Critical patent/CN113419752A/zh
Publication of CN113419752A publication Critical patent/CN113419752A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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/21Design, administration or maintenance of databases
    • 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/2379Updates performed during online database operations; commit processing
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例适用于数据处理技术领域,提供了一种数据处理方法、装置、电子设备及存储介质,其中,数据处理方法包括:确定待执行任务是否改变数据仓库中的数据表的数据口径;在待执行任务改变数据仓库中的数据表的数据口径的情况下,确定数据仓库中与待执行任务相关联的至少一个数据表;基于至少一个数据表中的每个数据表与数据仓库中的数据表的依赖关系,对数据仓库中的数据表进行升级。

Description

一种数据处理方法、装置、电子设备及存储介质
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据处理方法、装置、电子设备及存储介质。
背景技术
数据仓库已经成为大型互联网公司必备的基础设施,在对数据仓库进行数据版本升级时,相关技术在数据仓库中增加版本号做乐观锁使用,当提交的数据的版本号大于数据库表中数据的当前版本号时,对数据仓库中的数据予以更新。但是数据仓库在构建时通常采用分层设计,数据仓库具有分层依赖,乐观锁无法满足分层依赖情况下的数据仓库的版本自动升级。
发明内容
为了解决上述问题,本发明实施例提供了一种数据处理方法、装置、电子设备及存储介质,以至少解决相关技术乐观锁无法满足分层依赖情况下的数据仓库的版本自动升级的问题。
本发明的技术方案是这样实现的:
第一方面,本发明实施例提供了数据处理方法,该方法包括:
确定待执行任务是否改变数据仓库中的数据表的数据口径;
在所述待执行任务改变所述数据仓库中的数据表的数据口径的情况下,确定所述数据仓库中与所述待执行任务相关联的至少一个数据表;
基于所述至少一个数据表中的每个数据表与所述数据仓库中的数据表的依赖关系,对所述数据仓库中的数据表进行升级。
上述方案中,所述基于所述至少一个数据表中的每个数据表的依赖关系,对所述数据仓库中的数据表进行升级,包括:
基于所述依赖关系确定所述至少一个数据表中的每个数据表的依赖链;所述依赖链上的每一个节点对应所述数据仓库中的一个数据表;
对所述依赖链上的每一个节点对应的数据表进行升级。
上述方案中,在对所述依赖链上每一个节点对应的数据表进行升级时,所述数据处理方法包括:
升级所述至少一个数据表中的每个数据表的主版本号;
升级所述依赖链上除所述至少一个数据表之外的所有数据表的子版本号。
上述方案中,其特征在于,所述数据处理方法还包括:
在所述待执行任务表征更新第一数据表的至少两个时间分区的数据的数据口径的情况下,对所述第一数据表的依赖链上的所有数据表的所述至少两个时间分区中的每个时间分区的数据的数据口径进行更新。
上述方案中,在对所述第一数据表的依赖链上的所有数据表的所述至少两个时间分区中的每个时间分区的数据的数据口径进行更新时,所述数据处理方法包括:
在第二数据表中存在未更新数据口径的第一时间分区的情况下,禁止对第三数据表中的所述第一时间分区的数据的数据口径进行更新;所述第二数据表和所述第三数据表为所述第一数据表的依赖链上的数据表;所述第三数据表依赖于所述第二数据表。
上述方案中,所述数据处理方法还包括:
在第四数据表加入第五数据表的依赖链的情况下,检测所述第四数据表和所述第五数据表是否被同一个任务所依赖;
在所述第四数据表和所述第五数据表没有被同一个任务所依赖的情况下,检测所述第四数据表和所述第五数据表是否互相依赖;
在所述第四数据表和所述第五数据表没有互相依赖的情况下,将第四数据表加入第五数据表的依赖链。
上述方案中,所述对所述数据仓库中的数据表进行升级,包括:
更新所述数据仓库中的数据表的当前时间分区中的数据的数据口径。
第二方面,本发明实施例提供了数据处理装置,该装置包括:
第一确定模块,用于确定待执行任务是否改变数据仓库中的数据表的数据口径;
第二确定模块,用于在所述待执行任务改变所述数据仓库中的数据表的数据口径的情况下,确定所述数据仓库中与所述待执行任务相关联的至少一个数据表;
升级模块,用于基于所述至少一个数据表中的每个数据表与所述数据仓库中的数据表的依赖关系,对所述数据仓库中的数据表进行升级。
第三方面,本发明实施例提供了一种电子设备,包括处理器和存储器,所述处理器和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行本发明实施例第一方面提供的数据处理方法的步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,包括:所述计算机可读存储介质存储有计算机程序。所述计算机程序被处理器执行时实现如本发明实施例第一方面提供的数据处理方法的步骤。
本发明实施例通过确定待执行任务是否改变数据仓库中的数据表的数据口径,在待执行任务改变数据仓库中的数据表的数据口径的情况下,确定数据仓库中与待执行任务相关联的至少一个数据表,基于至少一个数据表中的每个数据表与数据仓库中的数据表的依赖关系,对数据仓库中的数据表进行升级。本发明实施例根据数据仓库中的数据表的依赖关系,对数据仓库的各个分层中的数据表进行升级,实现了在分层依赖情况下对数据仓库的数据表进行版本自动升级。
附图说明
图1是本发明实施例提供的一种数据处理方法的实现流程示意图;
图2是本发明应用实施例提供的一种版本升级的流程图;
图3是本发明实施例提供的一种数据仓库分层依赖关系的示意图;
图4是本发明实施例提供的另一种数据处理方法的实现流程示意图;
图5是本发明实施例提供的一种数据表的依赖关系与存储的示意图;
图6是本发明实施例提供的另一种数据处理方法的实现流程示意图;
图7是本发明应用实施例提供的一种版本升级的示意图;
图8是本发明实施例提供的另一种数据处理方法的实现流程示意图;
图9是本发明应用实施例提供的一种时间分区的示意图;
图10是本发明应用实施例提供的一种数据处理流程的流程示意图;
图11是本发明应用实施例提供的一种数据处理流程的流程示意图;
图12是本发明实施例提供的一种数据处理装置的示意图;
图13是本发明一实施例提供的电子设备的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
数据仓库已经成为大型互联网公司必备的基础设施,为了在使用数据表的时候能更方便地定位和理解,数据仓库在构建时通常采用分层设计。在没有对数据仓库设置数据版本之前,业务指标究竟来自于哪一次任务执行的结果,是由哪一层触发的难易追溯。为此,相关技术对数据仓库中的数据表设置了数据版本,相关技术在数据仓库中增加版本号做乐观锁使用,当提交的数据的版本号大于数据库表中数据的当前版本号时,对数据仓库中的数据予以更新。但是乐观锁只适用于传统数据库,传统数据库的数据规模和数据仓库没有可比性,而且数据仓库具有分层依赖,乐观锁无法满足分层依赖情况下的数据仓库的版本自动升级。
任务可能导致更新数据表的多个时间分区的数据的数据口径,相关技术直接同时对数据仓库多个分层的数据表的时间分区的数据口径进行刷新,并没有关注各个分层的数据表之间的依赖关系,如果此时处于数据仓库上层的数据表的时间分区的数据口径还没有刷新,其下层的时间分区的数据口径就已经开始刷新的话,下层的时间分区的刷新任务的执行是无效的,这会导致计算资源浪费。
针对上述相关技术的缺点,本发明实施例提供了一种数据处理方法,至少能够在分层依赖情况下实现数据仓库的版本自动升级。为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
图1是本发明实施例提供的一种数据处理方法的实现流程示意图,所述数据处理方法的执行主体可以为电子设备,电子设备可以为台式电脑、笔记本电脑和服务器等。参考图1,数据处理方法包括:
S101,确定待执行任务是否改变数据仓库中的数据表的数据口径。
这里,待执行任务指对数据仓库中的数据表进行编辑的任务,比如待执行任务包括对数据表中的数据进行增、删、改、查。数据口径指数据表存储数据所采用的标准。
有一些任务会使得数据表的数据口径发生变化,例如,数据仓库中存在一个用户属性表,用户属性表包括用户属性性别和姓名,待执行任务是往用户属性表中增加新的用户属性年龄,此时,数据仓库中数据表的数据口径发生了变化。
在实际应用中,在做数据任务迭代时,如果任务内容发生变化,会发起任务版本升级申请单,由产品经理决定任务是否影响数据口径,如果影响则进行版本升级。参考图2,图2是本发明应用实施例提供的一种版本升级的流程图,在数据开发阶段进行任务开发时,如果任务内容发生了改变,由产品经理决定任务是否会影响数据表的数据口径,如果影响则版本号后台进行版本升级。
S102,在所述待执行任务改变所述数据仓库中的数据表的数据口径的情况下,确定所述数据仓库中与所述待执行任务相关联的至少一个数据表。
这里,与待执行任务相关联的至少一个数据表,指待执行任务直接改变数据口径的数据表,待执行任务可能会改变多个数据表的数据口径。
S103,基于所述至少一个数据表中的每个数据表与所述数据仓库中的数据表的依赖关系,对所述数据仓库中的数据表进行升级。
数据仓库具有分层依赖,处于数据仓库上层的数据表和下层的数据表具有依赖关系。
参考图3,图3是本发明实施例提供的一种数据仓库分层依赖关系的示意图。数据仓库包括GDM层、ADM层和APP层。GDM层是通用数据层,GDM层存储有客户基本属性表、客户消费订单表、订单模型表、客户购买类目表和客户访问信息表等,在本层需要进行指标与维度的标准化,保证指标数据的唯一性。ADM(Application Data Manager)是聚合数据层,ADM层就是以特定业务场景为目标而高度汇总的数据,一般以数据集市的形态呈现,比如营销集市、风险集市、绩效集市。由于数据集市的建设对应的是特定且独立的业务场景,几无共性可言,所以必须对每类集市进行单独说明。APP层为应用层,这层数据是完全为了满足具体的分析需求而构建的数据,也是星形或雪花结构的数据。
在图3中,GDM层、ADM层和APP层具有依赖关系,GDM层的数据表的变更会自动触发ADM层数据表的变更,ADM层数据表的变更会触发APP层数据表的变更。
也就是说,当处于数据仓库上层的数据表的数据口径发生变化时,需要对具有依赖关系的处于下层的数据表进行数据口径的升级。例如,假设GDM层包括数据表1,ADM层包括数据表2,APP层包括数据表3,其中数据表2依赖于数据表1,数据表3依赖于数据表2。如果与待执行任务相关联的数据表是数据表1,则数据表1的数据口径的改变,将导致数据表2和数据表3的数据口径的改变。如果与待执行任务相关联的数据表是数据表2,则只会导致数据表3的数据口径的改变。
参考图4,在一实施例中,所述基于所述至少一个数据表中的每个数据表的依赖关系,对所述数据仓库中的数据表进行升级,包括:
S401,基于所述依赖关系确定所述至少一个数据表中的每个数据表的依赖链;所述依赖链上的每一个节点对应所述数据仓库中的一个数据表。
依赖关系有2种存储形态,一种是关系型数据库中的ER关系,另一种是邻接矩阵。在本发明实施例中,可以使用邻接矩阵存储数据表之间的依赖关系。参考图5,图5是本发明实施例提供的一种数据表的依赖关系与存储的示意图。图5左侧图中包括5个数据表:Model0、Model1、Model2和Model3,其中箭头表示依赖关系,Model0依赖于Model1,Model1依赖于Model2和Model3,Model2依赖于Model3。这些依赖关系可以用图5右侧的邻接矩阵来存储,其中M0、M1、M2和M3分别对应图5左侧图中的Model0、Model1、Model2和Model3,两个数据表存在依赖关系则邻接值置1,如Adj[m0][m1]表示M0依赖于M1,数据表自己与自己的依赖关系设置为默认值“-”,若无依赖关系则置0,邻接矩阵采用深度优先算法进行遍历,可以很快确定数据表的依赖关系。
依赖链由具有依赖关系的数据表串接而成,比如在图5中,Model0的依赖链包括Model0-Model1-Model2-Model3和Model0-Model1-Model3。依赖链上每一个节点对应数据仓库中不同分层中的一个数据表。
S402,对所述依赖链上的每一个节点对应的数据表进行升级。
比如,待执行任务直接改变了Model0的数据口径,则需要对Model0-Model1-Model2-Model3上所有的数据表进行升级。这里,升级包括数据口径的升级和数据版本的升级。
参考图6,在一实施例中,在对所述依赖链上每一个节点对应的数据表进行升级时,所述数据处理方法包括:
S601,升级所述至少一个数据表中的每个数据表的主版本号。
由于待处理任务直接关联至少一个数据表,将导致至少一个数据表进行主动升级,主动升级将升级数据表的主版本号。
S602,升级所述依赖链上除所述至少一个数据表之外的所有数据表的子版本号。
数据表的主动升级将引起依赖方数据表的被动升级,在图4中,Model0的依赖链为Model0-Model1-Model2-Model3,Model0主动升级时升级主版本号,Model0升级后,带动依赖方Model1、Model2和Model3进行被动升级,被动升级升级子版本号。
参考图7,图7是本发明应用实施例提供的一种版本升级的示意图。在图7中,GDM层数据表的主动升级,将导致ADM层数据表的被动升级。ADM层数据表的主动升级,将导致APP层数据表的被动升级。例如,ADM层数据表的主版本号由2.0升级到了3.0,带动依赖方APP层数据表被动升级,APP层数据表升级子版本号,版本号由4.0升级到4.1。
本发明实施例通过确定待执行任务是否改变数据仓库中的数据表的数据口径,在待执行任务改变数据仓库中的数据表的数据口径的情况下,确定数据仓库中与待执行任务相关联的至少一个数据表,基于至少一个数据表中的每个数据表与数据仓库中的数据表的依赖关系,对数据仓库中的数据表进行升级。本发明实施例根据数据仓库中的数据表的依赖关系,对数据仓库的各个分层中的数据表进行升级,实现了在分层依赖情况下对数据仓库的数据表进行版本自动升级。
参考图8,在一实施例中,所述数据处理方法还包括:
S801,在第四数据表加入第五数据表的依赖链的情况下,检测所述第四数据表和所述第五数据表是否被同一个任务所依赖。
在往依赖链中增加依赖关系时,需要检测新增的数据表是否与目标表被同一个任务所依赖。例如,在第四数据表加入第五数据表的依赖链的情况下,检测第四数据表和第五数据表是否被同一个任务所依赖。被同一个任务所依赖,表示执行这个任务会导致第四数据表和第五数据表同时主动升级。如果被同一个任务所依赖,则第四数据表不能加入第五数据表的依赖链。
S802,在所述第四数据表和所述第五数据表没有被同一个任务所依赖的情况下,检测所述第四数据表和所述第五数据表是否互相依赖。
在第四数据表和第五数据表不被同一个任务所依赖的情况下,则检测第四数据表和第五数据表是否互相依赖,互相依赖即是否形成依赖环,依赖环表示从一个顶点前进,最终可以回到原点。
依赖链要求是有向无环图(DAG,Directed Acyclic Graph),即DAG可以保证从一个顶点沿着若干边前进,最后不能回到原点。
对于判断是否形成依赖环,为了提升计算效率,可以采用邻接矩阵存储数据表之间的依赖关系,邻接矩阵采用深度优先算法进行遍历,可以很快找到有向无环图是否存在依赖环。
S803,在所述第四数据表和所述第五数据表没有互相依赖的情况下,将第四数据表加入第五数据表的依赖链。
如果第四数据表和第五数据表既不被同一个任务所依赖,又不互相依赖,则可以将第四数据表加入第五数据表的依赖链,配置第四数据表与第五数据表的依赖链的依赖关系。
在实际应用中,查询第五数据表现有的依赖关系,遍历这个关系,如果第四数据表存在于第五数据表现有的依赖关系中,则更新已有依赖关系记录的时间参数;如果第四数据表不存在于第五数据表现有的依赖关系中,则更新已有依赖记录的有效性标识。
在一实施例中,所述对所述数据仓库中的数据表进行升级,包括:
更新所述数据仓库中的数据表的当前时间分区中的数据的数据口径。
数据仓库中的数据表包括多个时间分区,每个时间分区存储有不同时间段的数据,时间分区按照设定的时间间隔进行划分,并根据时间自动扩展。比如,数据表的时间分区按照日期的天进行扩展,每24小时扩展一个时间分区,每个时间分区存储有对应日期的数据。如果当前时间分区处于16时间分区,则更新当前16时间分区中的数据的数据口径。
在一实施例中,所述数据处理方法还包括:
在所述待执行任务表征更新第一数据表的至少两个时间分区的数据的数据口径的情况下,对所述第一数据表的依赖链上的所有数据表的所述至少两个时间分区中的每个时间分区的数据的数据口径进行更新。
任务会改变数据表的当前时间分区的数据的数据口径,在一些情况下,任务也会改变历史时间分区的数据的数据口径,需要更新的时间分区的数量由任务决定。
如果待执行任务需要更新第一数据表的至少两个时间分区的数据的数据口径,第一数据表的依赖链上的所有数据表的至少两个时间分区中的每个时间分区的数据的数据口径也需要进行更新。这里,具有依赖关系的数据表的时间分区的划分是相同的。
参考图9,图9是本发明应用实施例提供的一种时间分区的示意图。在图9中,每一个方格代表一个时间分区,按照日期对时间分区进行划分,每一个时间分区代表一个月内的一天。如果任务更新GDM层数据表的1/4时间分区到1/16时间分区的数据的数据口径,则同样也需要更新ADM层和APP层数据表的1/4时间分区到1/16时间分区的数据的数据口径。
在上述实施例中,在对所述第一数据表的依赖链上的所有数据表的所述至少两个时间分区中的每个时间分区的数据的数据口径进行更新时,所述数据处理方法包括:
在第二数据表中存在未更新数据口径的第一时间分区的情况下,禁止对第三数据表中的所述第一时间分区的数据的数据口径进行更新;所述第二数据表和所述第三数据表为所述第一数据表的依赖链上的数据表;所述第三数据表依赖于所述第二数据表。
在历史时间分区的更新过程中,需要注意被依赖方数据表的时间分区的更新情况,在被依赖方的时间分区没有更新的情况下,依赖方对应的时间分区不能进行更新。比如,第三数据表依赖于所述第二数据表,在第二数据表中存在未更新数据口径的第一时间分区的情况下,禁止对第三数据表中的第一时间分区的数据的数据口径进行更新。
例如,在图9中,APP层数据表的1/10时间分区,依赖的上游ADM层数据表的1/10时间分区已经更新到3.1版本,所以APP层的1/10时间分区可以更新为最新的4.2版本。如果此时ADM层的1/10时间分区没有更新,则APP层的1/10时间分区同样不能进行更新。如果ADM层只更新了1/16时间分区到1/7时间分区的数据的数据口径,则禁止对APP层1/1时间分区到1/6时间分区的的数据的数据口径进行更新。这样可以避免更新任务的无效执行,在大规模的数据仓库中,可以节省海量的计算资源,有效的为公司节约成本。
参考图10,图10是本发明应用实施例提供的一种数据处理流程的流程示意图。数据处理流程包括:首先,数据开发工程师需要进行任务与模型关系配置和模型依赖关系配置,这里,模型指上文中的数据表。
模型之间的依赖关系包括垂直依赖和水平依赖,垂直依赖指的是上游模型升级后下游模型被动会做相应的升级;水平依赖指的是模型在不通集群之间做同步,只是同一份数据在不同集群存在,所以版本号不需要被动升级,而是继承源表版本。任务和模型之间的依赖关系表示一个或多个任务直接导致哪些模型做主动版本升级,主动版本升级会触发模型的主版本号提升,模型的主动升级将带动依赖方模型的被动升级,被动升级会触发子版本号提升。
任务的可行性检测指在对多个时间分区的数据进行数据口径更新时,在被依赖方的时间分区没有更新的情况下,依赖方对应的时间分区不能进行更新。在这种情况下,可以向数据研发人员和相关负责人发送告警信息。
在数据版本级联更新后,可以在前台页面展示数据版本,也可以用于数据产品指标的版本回溯。
本发明应用实施例提供了数据仓库的版本管理服务,能够在分层依赖情况下实现数据仓库的版本自动升级,并且可以避免计算资源的浪费。
参考图11,图11是本发明应用实施例提供的一种数据处理流程的流程示意图。其中,HQL指hive的SQL查询语句及其关联程序。Check Data Version表示任务运行时,检查是否即将更新的时间分区是合法操作。Get Data Version表示检查当前最新数据版本。Update Data Version表示每个时间分区更新成功后调用数据版本服务更新当前时间分区的实际版本号。数据版本配置后台数据记录在Mysql。DVS Configuration指的是数据研发工程师做的后台配置关联数据。DB指数据库(DB,data base)。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
需要说明的是,本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
另外,在本发明实施例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
参考图12,图12是本发明实施例提供的数据处理装置的示意图,如图12所示,该装置包括:第一确定模块、第二确定模块和升级模块。
第一确定模块,用于确定待执行任务是否改变数据仓库中的数据表的数据口径;
第二确定模块,用于在所述待执行任务改变所述数据仓库中的数据表的数据口径的情况下,确定所述数据仓库中与所述待执行任务相关联的至少一个数据表;
升级模块,用于基于所述至少一个数据表中的每个数据表与所述数据仓库中的数据表的依赖关系,对所述数据仓库中的数据表进行升级。
在一实施例中,所述升级模块在基于所述至少一个数据表中的每个数据表的依赖关系,对所述数据仓库中的数据表进行升级时,用于:
基于所述依赖关系确定所述至少一个数据表中的每个数据表的依赖链;所述依赖链上的每一个节点对应所述数据仓库中的一个数据表;
对所述依赖链上的每一个节点对应的数据表进行升级。
在一实施例中,升级模块在对所述依赖链上每一个节点对应的数据表进行升级时,用于:
升级所述至少一个数据表中的每个数据表的主版本号;
升级所述依赖链上除所述至少一个数据表之外的所有数据表的子版本号。
所述数据处理装置还包括:
更新模块,用于在所述待执行任务表征更新第一数据表的至少两个时间分区的数据的数据口径的情况下,对所述第一数据表的依赖链上的所有数据表的所述至少两个时间分区中的每个时间分区的数据的数据口径进行更新。
在一实施例中,更新模块在对所述第一数据表的依赖链上的所有数据表的所述至少两个时间分区中的每个时间分区的数据的数据口径进行更新时,用于:
在第二数据表中存在未更新数据口径的第一时间分区的情况下,禁止对第三数据表中的所述第一时间分区的数据的数据口径进行更新;所述第二数据表和所述第三数据表为所述第一数据表的依赖链上的数据表;所述第三数据表依赖于所述第二数据表。
所述数据处理装置还包括:
第一检测模块,用于在第四数据表加入第五数据表的依赖链的情况下,检测所述第四数据表和所述第五数据表是否被同一个任务所依赖;
第二检测模块,用于在所述第四数据表和所述第五数据表没有被同一个任务所依赖的情况下,检测所述第四数据表和所述第五数据表是否互相依赖;
加入模块,用于在所述第四数据表和所述第五数据表没有互相依赖的情况下,将第四数据表加入第五数据表的依赖链。
在一实施例中,所述升级模块具体用于:
更新所述数据仓库中的数据表的当前时间分区中的数据的数据口径。
实际应用时,所述第一确定模块、第二确定模块和升级模块可通过电子设备中的处理器,比如中央处理器(CPU,Central Processing Unit)、数字信号处理器(DSP,DigitalSignal Processor)、微控制单元(MCU,Microcontroller Unit)或可编程门阵列(FPGA,Field-Programmable Gate Array)等实现。
需要说明的是:上述实施例提供的数据处理装置在进行数据处理时,仅以上述各模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的模块完成,即将装置的内部结构划分成不同的模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的数据处理装置与数据处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
基于上述程序模块的硬件实现,且为了实现本申请实施例的方法,本申请实施例还提供了一种电子设备。图13为本申请实施例电子设备的硬件组成结构示意图,如图13所示,电子设备包括:
通信接口,能够与其它设备比如网络设备等进行信息交互;
处理器,与所述通信接口连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述电子设备侧一个或多个技术方案提供的方法。而所述计算机程序存储在存储器上。
当然,实际应用时,电子设备中的各个组件通过总线系统耦合在一起。可理解,总线系统用于实现这些组件之间的连接通信。总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图13中将各种总线都标为总线系统。
本申请实施例中的存储器用于存储各种类型的数据以支持电子设备的操作。这些数据的示例包括:用于在电子设备上操作的任何计算机程序。
可以理解,存储器可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic RandomAccess Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic RandomAccess Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic RandomAccess Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic RandomAccess Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本申请实施例描述的存储器130旨在包括但不限于这些和任意其它适合类型的存储器。
上述本申请实施例揭示的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器,处理器读取存储器中的程序,结合其硬件完成前述方法的步骤。
可选地,所述处理器执行所述程序时实现本申请实施例的各个方法中由电子设备实现的相应流程,为了简洁,在此不再赘述。
在示例性实施例中,本申请实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的第一存储器,上述计算机程序可由电子设备的处理器执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置、电子设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,本申请实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
另外,在本申请实例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种数据处理方法,其特征在于,所述数据处理方法包括:
确定待执行任务是否改变数据仓库中的数据表的数据口径;
在所述待执行任务改变所述数据仓库中的数据表的数据口径的情况下,确定所述数据仓库中与所述待执行任务相关联的至少一个数据表;
基于所述至少一个数据表中的每个数据表与所述数据仓库中的数据表的依赖关系,对所述数据仓库中的数据表进行升级。
2.根据权利要求1所述的方法,其特征在于,所述基于所述至少一个数据表中的每个数据表的依赖关系,对所述数据仓库中的数据表进行升级,包括:
基于所述依赖关系确定所述至少一个数据表中的每个数据表的依赖链;所述依赖链上的每一个节点对应所述数据仓库中的一个数据表;
对所述依赖链上的每一个节点对应的数据表进行升级。
3.根据权利要求2所述的方法,其特征在于,在对所述依赖链上每一个节点对应的数据表进行升级时,所述数据处理方法包括:
升级所述至少一个数据表中的每个数据表的主版本号;
升级所述依赖链上除所述至少一个数据表之外的所有数据表的子版本号。
4.根据权利要求1至2任一项所述的方法,其特征在于,所述数据处理方法还包括:
在所述待执行任务表征更新第一数据表的至少两个时间分区的数据的数据口径的情况下,对所述第一数据表的依赖链上的所有数据表的所述至少两个时间分区中的每个时间分区的数据的数据口径进行更新。
5.根据权利要求4所述的方法,其特征在于,在对所述第一数据表的依赖链上的所有数据表的所述至少两个时间分区中的每个时间分区的数据的数据口径进行更新时,所述数据处理方法包括:
在第二数据表中存在未更新数据口径的第一时间分区的情况下,禁止对第三数据表中的所述第一时间分区的数据的数据口径进行更新;所述第二数据表和所述第三数据表为所述第一数据表的依赖链上的数据表;所述第三数据表依赖于所述第二数据表。
6.根据权利要求1所述的方法,其特征在于,所述数据处理方法还包括:
在第四数据表加入第五数据表的依赖链的情况下,检测所述第四数据表和所述第五数据表是否被同一个任务所依赖;
在所述第四数据表和所述第五数据表没有被同一个任务所依赖的情况下,检测所述第四数据表和所述第五数据表是否互相依赖;
在所述第四数据表和所述第五数据表没有互相依赖的情况下,将第四数据表加入第五数据表的依赖链。
7.根据权利要求1所述的方法,其特征在于,所述对所述数据仓库中的数据表进行升级,包括:
更新所述数据仓库中的数据表的当前时间分区中的数据的数据口径。
8.一种数据处理装置,其特征在于,包括:
第一确定模块,用于确定待执行任务是否改变数据仓库中的数据表的数据口径;
第二确定模块,用于在所述待执行任务改变所述数据仓库中的数据表的数据口径的情况下,确定所述数据仓库中与所述待执行任务相关联的至少一个数据表;
升级模块,用于基于所述至少一个数据表中的每个数据表与所述数据仓库中的数据表的依赖关系,对所述数据仓库中的数据表进行升级。
9.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的数据处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1至7任一项所述的数据处理方法。
CN202110605122.3A 2021-05-31 2021-05-31 一种数据处理方法、装置、电子设备及存储介质 Pending CN113419752A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110605122.3A CN113419752A (zh) 2021-05-31 2021-05-31 一种数据处理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110605122.3A CN113419752A (zh) 2021-05-31 2021-05-31 一种数据处理方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN113419752A true CN113419752A (zh) 2021-09-21

Family

ID=77713448

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110605122.3A Pending CN113419752A (zh) 2021-05-31 2021-05-31 一种数据处理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN113419752A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116955504A (zh) * 2023-09-21 2023-10-27 太平金融科技服务(上海)有限公司 一种数据处理方法、装置、电子设备和存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116955504A (zh) * 2023-09-21 2023-10-27 太平金融科技服务(上海)有限公司 一种数据处理方法、装置、电子设备和存储介质
CN116955504B (zh) * 2023-09-21 2023-12-19 太平金融科技服务(上海)有限公司 一种数据处理方法、装置、电子设备和存储介质

Similar Documents

Publication Publication Date Title
US10191926B2 (en) Universal data pipeline
US8494996B2 (en) Creation and revision of network object graph topology for a network performance management system
US20220005027A1 (en) Smart contract regulation
US10496460B2 (en) System for technology anomaly detection, triage and response using solution data modeling
US20120158795A1 (en) Entity triggers for materialized view maintenance
US11334593B2 (en) Automated ETL workflow generation
CN105468473A (zh) 数据迁移方法及数据迁移装置
US8805777B2 (en) Data record collapse and split functionality
US11194840B2 (en) Incremental clustering for enterprise knowledge graph
EP2610762A1 (en) Database version management system
US11789912B2 (en) Data analytic systems
CN111858615A (zh) 数据库表生成方法、系统、计算机系统和可读存储介质
US20120030192A1 (en) Apparatus for processing materialized tables in a multi-tenant application system
CN109885642B (zh) 面向全文检索的分级存储方法及装置
GB2513528A (en) Method and system for backup management of software environments in a distributed network environment
CN113419752A (zh) 一种数据处理方法、装置、电子设备及存储介质
US9747295B1 (en) Updating a large dataset in an enterprise computer system
US11741255B2 (en) System and method of block chain based protection for customized data integration processes
JP7082105B2 (ja) 知識ベースを管理するための方法、装置、設備及び媒体
CN114816470A (zh) 元数据库的管理方法、装置、电子设备和介质
US10936984B2 (en) System for mitigating exposure associated with identified impacts of technological system changes based on solution data modelling
US11513862B2 (en) System and method for state management of devices
US11750459B1 (en) Compliance checking for a multi-cloud platform
CN117033480A (zh) 一种数据库写入的方法、装置、电子设备及存储介质
US20240078221A1 (en) Systems and methods of modeling and querying dynamic temporal graph on massive parallel graph processing and storage engine

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