CN114969042A - 基于数据湖的表服务管理方法、系统、装置、电子设备 - Google Patents

基于数据湖的表服务管理方法、系统、装置、电子设备 Download PDF

Info

Publication number
CN114969042A
CN114969042A CN202210600702.8A CN202210600702A CN114969042A CN 114969042 A CN114969042 A CN 114969042A CN 202210600702 A CN202210600702 A CN 202210600702A CN 114969042 A CN114969042 A CN 114969042A
Authority
CN
China
Prior art keywords
managed
task
data table
executed
data
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
CN202210600702.8A
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 Volcano Engine Technology Co Ltd
Original Assignee
Beijing Volcano Engine 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 Volcano Engine Technology Co Ltd filed Critical Beijing Volcano Engine Technology Co Ltd
Priority to CN202210600702.8A priority Critical patent/CN114969042A/zh
Publication of CN114969042A publication Critical patent/CN114969042A/zh
Pending legal-status Critical Current

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/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/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • 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

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)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种基于数据湖的表服务管理方法、系统、装置,基于数据湖的表服务管理系统完全独立于数据湖,而且该表服务管理系统的工作原理为:在确定数据湖中至少一个待管理数据表完成注册时,从各待管理数据表的注册描述信息中确定各待管理数据表的托管任务类型,以便在拉取到各待管理数据表的时间线之后,按照各待管理数据表的托管任务类型,从各待管理数据表的时间线中拉取各待管理数据表的至少一个待执行任务,并对这些待执行任务进行管理,如此能够实现由该表服务管理系统代管该数据湖中大量数据表的表服务的目的,从而能够有效地避免针对表服务对该数据湖中写入任务稳定性所产生的影响。

Description

基于数据湖的表服务管理方法、系统、装置、电子设备
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于数据湖的表服务管理方法、系统、装置、电子设备、计算机可读介质。
背景技术
在数据湖场景下,为了更好地提高读取性能,可以利用一些表服务(TableService)针对已存储的数据表进行处理(例如,合并处理、归类处理等)。其中,表服务是指针对数据表所采取的表级数据操作;而且该表服务可以包括合并(compaction)、归类(clustering)等表级数据操作。
然而,当数据湖具有较大的数据量时,表服务对资源的要求通常会比较高,如此会对写入任务稳定性产生影响。
发明内容
为了解决上述技术问题,本申请提供了一种基于数据湖的表服务管理方法、系统、装置、电子设备、计算机可读介质,能够有效地避免表服务对写入任务稳定性所产生的影响。
为了实现上述目的,本申请实施例提供的技术方案如下:
本申请实施例提供一种基于数据湖的表服务管理方法,应用于基于数据湖的表服务管理系统,所述方法包括:
在确定至少一个待管理数据表完成注册时,从各所述待管理数据表的注册描述信息中确定各所述待管理数据表的托管任务类型;
在拉取到各所述待管理数据表的时间线之后,按照各所述待管理数据表的托管任务类型,从各所述待管理数据表的时间线中拉取各所述待管理数据表的至少一个待执行任务;
对各所述待管理数据表的至少一个待执行任务进行管理。
在一种可能的实施方式中,所述对各所述待管理数据表的至少一个待执行任务进行管理,包括:
执行各所述待管理数据表的至少一个待执行任务。
在一种可能的实施方式中,所述待管理数据表的个数为N;第n个待管理数据表的至少一个待执行任务包括M个待执行任务;其中,n为正整数,n≤N,N为正整数;
所述方法还包括:
从第n个待管理数据表的注册描述信息中,确定所述第n个待管理数据表的第m个待执行任务对应的执行设备;其中,m为正整数,m≤M,M为正整数;
所述对各所述待管理数据表的至少一个待执行任务进行管理,包括:
将所述第n个待管理数据表的第m个待执行任务发送给所述第m个待执行任务对应的执行设备,以使所述第m个待执行任务对应的执行设备执行所述第n个待管理数据表的第m个待执行任务。
在一种可能的实施方式中,所述从各所述待管理数据表的时间线中拉取各所述待管理数据表的至少一个待执行任务之后,所述方法还包括:
将各所述待管理数据表的至少一个待执行任务存储至预设存储空间;
在从所述预设存储空间中扫描到至少一个候选任务和所述至少一个候选任务的任务描述信息之后,根据所述至少一个候选任务的任务描述信息,从所述至少一个候选任务中筛选出满足预设执行条件的至少一个目标任务;
所述对各所述待管理数据表的至少一个待执行任务进行管理,包括:
对所述至少一个目标任务进行管理。
在一种可能的实施方式中,所述待管理数据表的个数为N;
所述方法还包括:
在获取到针对第n个待管理数据表的注册请求之后,根据所述注册请求携带的注册描述信息,对所述第n个待管理数据表进行注册处理;其中,n为正整数,n≤N,N为正整数。
在一种可能的实施方式中,所述注册请求是在创建所述第n个待管理数据表时触发的;
或者,
所述注册请求是在启动针对所述第n个待管理数据表的写入任务时触发的。
在一种可能的实施方式中,所述基于数据湖的表服务管理系统独立于数据湖;所述数据湖用于存储所述至少一个待管理数据表。
本申请实施例还提供了一种基于数据湖的表服务管理系统,所述系统包括信息层和服务层;
所述信息层,用于在确定至少一个待管理数据表完成注册时,从各所述待管理数据表的注册描述信息中确定各所述待管理数据表的托管任务类型;
所述信息层,还用于在拉取到各所述待管理数据表的时间线之后,按照各所述待管理数据表的托管任务类型,从各所述待管理数据表的时间线中拉取各所述待管理数据表的至少一个待执行任务;
所述服务层,用于对各所述待管理数据表的至少一个待执行任务进行管理。
在一种可能的实施方式中,所述服务层,具体用于执行各所述待管理数据表的至少一个待执行任务。
在一种可能的实施方式中,所述待管理数据表的个数为N;
所述信息层,还用于在获取到针对第n个待管理数据表的注册请求之后,根据所述注册请求携带的注册描述信息,对所述第n个待管理数据表进行注册处理;其中,n为正整数,n≤N,N为正整数。
在一种可能的实施方式中,所述待管理数据表的个数为N;第n个待管理数据表的至少一个待执行任务包括M个待执行任务;其中,n为正整数,n≤N,N为正整数;
所述服务层,还用于从第n个待管理数据表的注册描述信息中,确定所述第n个待管理数据表的第m个待执行任务对应的执行设备;其中,m为正整数,m≤M,M为正整数;
所述服务层,具体用于将所述第n个待管理数据表的第m个待执行任务发送给所述第m个待执行任务对应的执行设备,以使所述第m个待执行任务对应的执行设备执行所述第n个待管理数据表的第m个待执行任务。
在一种可能的实施方式中,所述信息层,还用于将各所述待管理数据表的至少一个待执行任务存储至预设存储空间;
所述服务层,还用于在从所述预设存储空间中扫描到至少一个候选任务和所述至少一个候选任务的任务描述信息之后,根据所述至少一个候选任务的任务描述信息,从所述至少一个候选任务中筛选出满足预设执行条件的至少一个目标任务;
所述服务层,具体用于对所述至少一个目标任务进行管理。
在一种可能的实施方式中,所述系统还包括存储层;所述存储层用于存储所述至少一个待管理数据表的元数据。
在一种可能的实施方式中,所述系统独立于数据湖;所述数据湖用于存储所述至少一个待管理数据表。
本申请实施例还提供了一种基于数据湖的表服务管理装置,包括:
第一确定单元,用于在确定至少一个待管理数据表完成注册时,从各所述待管理数据表的注册描述信息中确定各所述待管理数据表的托管任务类型;
任务拉取单元,用于在拉取到各所述待管理数据表的时间线之后,按照各所述待管理数据表的托管任务类型,从各所述待管理数据表的时间线中拉取各所述待管理数据表的至少一个待执行任务;
任务执行单元,用于对各所述待管理数据表的至少一个待执行任务进行管理。
本申请实施例还提供了一种电子设备,所述设备包括:处理器和存储器;
所述存储器,用于存储指令或计算机程序;
所述处理器,用于执行所述存储器中的所述指令或计算机程序,以使得所述电子设备执行本申请实施例提供的基于数据湖的表服务管理方法的任一实施方式。
本申请实施例还提供了一种计算机可读介质,所述计算机可读介质中存储有指令或计算机程序,当所述指令或计算机程序在设备上运行时,使得所述设备执行本申请实施例提供的基于数据湖的表服务管理方法的任一实施方式。
与现有技术相比,本申请实施例至少具有以下优点:
本申请实施例提供了一种基于数据湖的表服务管理系统,而且该表服务管理系统的工作原理如下:在确定数据湖中至少一个待管理数据表完成注册时,从各待管理数据表的注册描述信息中确定各待管理数据表的托管任务类型,以便在拉取到各待管理数据表的时间线之后,按照各待管理数据表的托管任务类型,从各待管理数据表的时间线中拉取各待管理数据表的至少一个待执行任务,并对各待管理数据表的至少一个待执行任务进行管理(例如,直接执行这些待执行任务,或者借助一些引擎完成这些待执行任务等),如此能够实现由该表服务管理系统代管该数据湖中大量数据表的表服务的目的。其中,因该表服务管理系统完全独立于数据湖,使得在由该表服务管理系统向该数据湖中大量数据表提供表服务时,这些表服务不会占用该数据湖的资源数据,如此能够有效地避免针对表服务对该数据湖中写入任务稳定性所产生的影响。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的一种基于数据湖的表服务管理方法的流程图;
图2为本申请实施例提供的一种表服务托管流程的示意图;
图3为本申请实施例提供的一种表基于数据湖的服务管理系统的结构示意图;
图4为本申请实施例提供的另一种基于数据湖的表服务管理系统的结构示意图;
图5为本申请实施例提供的一种基于数据湖的表服务管理装置的结构示意图;
图6为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
发明人在针对表服务的研究中发现,为了避免表服务对写入任务稳定性所产生的影响,可以针对每个数据表启动一个额外的应用程序(Application,APP)来进行表服务调度(例如,进行Compaction、或者Clustering任务的调度);但是,这种解决方式存在以下缺陷:
①使用成本高。也就是,因用户需要针对每个数据表均额外手动配置一个离线调度任务,以使该用户需要针对该数据表维护两个任务,如此导致使用成本比较高。
②管理成本高。也就是,每个数据表均配置一个表服务调度任务,如此易导致任务管理方需要管理太多过于分散的任务,从而导致任务管理成本比较高。
③无法进行收敛。也就是,随着数据表的大幅度增加,上述方式会导致用户运维成本也大幅度提高,从而导致任务响应压力也大幅度提高。
基于上述发现,为了解决背景技术部分所示的技术问题,本申请实施例提供了一种基于数据湖的表服务管理系统,而且该表服务管理系统的工作原理如下:在确定数据湖中至少一个待管理数据表完成注册时,从各待管理数据表的注册描述信息中确定各待管理数据表的托管任务类型,以便在拉取到各待管理数据表的时间线之后,按照各待管理数据表的托管任务类型,从各待管理数据表的时间线中拉取各待管理数据表的至少一个待执行任务,并对各待管理数据表的至少一个待执行任务进行管理(例如,直接执行这些待执行任务,或者借助一些引擎完成这些待执行任务等),如此能够实现由该表服务管理系统代管该数据湖中大量数据表的表服务的目的。其中,因该表服务管理系统完全独立于数据湖,使得在由该表服务管理系统向该数据湖中大量数据表提供表服务时,这些表服务不会占用该数据湖的资源数据,如此能够有效地避免针对表服务对该数据湖中写入任务稳定性所产生的影响。
另外,本申请实施例提供的基于数据湖的表服务管理系统可以针对数据湖中多个数据表提供表服务,使得该表服务管理系统能够克服上文解决方式所具有的缺陷,如此能够更好地提高针对数据湖中大量数据表的表服务性能。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了便于理解本申请实施例提供的基于数据湖的表服务管理系统,下面结合图1对该表服务管理系统的工作原理(也就是,基于数据湖的表服务管理方法)进行解释和说明。其中,图1为本申请实施例提供的一种基于数据湖的表服务管理方法的流程图。
如图1所示,本申请实施例提供的基于数据湖的表服务管理方法可以应用于基于数据湖的表服务管理系统,而且该表服务管理方法具体可以包括S1-S3:
S1:在确定至少一个待管理数据表完成注册时,从各待管理数据表的注册描述信息中确定各待管理数据表的托管任务类型。
其中,待管理数据表用于表示数据湖中在基于数据湖的表服务管理系统上已经注册过的数据表;而且本申请实施例不限定待管理数据表的个数,例如,其具体可以为N。N为正整数。可见,数据湖可以用于存储上述“至少一个待管理数据表”。另外,本申请实施例提供的基于数据湖的表服务管理系统完全独立于该数据湖。
本申请实施例不限定第n个待管理数据表的注册方式,例如,其具体可以为:在获取到针对该第n个待管理数据表的注册请求之后,根据该注册请求携带的注册描述信息,对该第n个待管理数据表进行注册处理,以使基于数据湖的表服务管理系统记录有该第n个待管理数据表的注册描述信息(例如,可以在该表服务管理系统的存储层中存储该第n个待管理数据表的注册描述信息),以便后续由该表服务管理系统针对该第n个待管理数据表的一些表服务(尤其是,一些被指定托管的表级数据操作等)进行管理。其中,注册请求用于请求将第n个待管理数据表在基于数据湖的表服务管理系统上进行注册。n为正整数,n≤N,N为正整数。
另外,本申请实施例不限定上述“注册请求”的触发方式,例如,可以通过预先生成的脚本进行自动触发。又如,可以由用户通过用户界面进行手动触发。
此外,本申请实施例不限定上述“注册请求”的触发时机,例如,在一些应用场景下,针对第n个待管理数据表的注册请求可以在启动针对该第n个待管理数据表的写入任务时触发。又如,为了进一步提高用户体验,针对第n个待管理数据表的注册请求可以在创建该第n个待管理数据表时触发。
第n个待管理数据表的注册描述信息用于描述该第n个待管理数据表在基于数据湖的表服务管理系统上的注册相关信息;而且本申请实施例不限定该第n个待管理数据表的注册描述信息,例如,其可以包括该第n个待管理数据表的托管任务描述信息。
第n个待管理数据表的托管任务描述信息用于表示将该第n个待管理数据表的哪些表服务托管给基于数据湖的表服务管理系统;而且本申请实施例不限定该第n个待管理数据表的托管任务描述信息,例如,其可以包括托管任务类型(例如,action类型等)。
第n个待管理数据表的托管任务类型用于表示该将该第n个待管理数据表的哪种表服务托管给基于数据湖的表服务管理系统;而且本申请实施例不限定该第n个待管理数据表的托管任务类型,例如,其可以包括:Compaction、Clustering等。
基于上述S1的相关内容可知,对于基于数据湖的表服务管理系统来说,当在该表服务管理系统上已经注册好第n个待管理数据表之后,该表服务管理系统可以从该第n个待管理数据表的注册描述信息中确定出该第n个待管理数据表的托管任务类型,以便后续该表服务管理系统能够基于该第n个待管理数据表的托管任务类型,了解到该表服务管理系统可以代替数据湖针对该第n个待管理数据表的哪种表服务进行管理。其中,n为正整数,n≤N,N为正整数。
S2:在拉取到各待管理数据表的时间线之后,按照各待管理数据表的托管任务类型,从各待管理数据表的时间线中拉取各待管理数据表的至少一个待执行任务。
其中,第n个待管理数据表的时间线(timeline)用于维护在不同时间点对该第n个待管理数据表的全部操作。n为正整数,n≤N,N为正整数。
另外,本申请实施例不限定第n个待管理数据表的时间线的拉取方式,例如,第n个待管理数据表的时间线可以从该第n个待管理数据表的元数据系统中拉取。其中,元数据系统用于针对包括该第n个待管理数据表的数据湖内各个数据表进行元数据管理。
实际上,因一个数据表的时间线是不断变化的,故为了进一步提高表服务效果,可以针对该数据表的时间线进行定时拉取。基于此,本申请实施例还提供了第n个待管理数据表的时间线的另一种拉取方式,其具体可以为:按照预设拉取频率从该第n个待管理数据表的元数据系统中拉取该第n个待管理数据表的时间线。其中,预设拉取频率可以预先设定,而且本申请实施例不限定该预设拉取频率,例如,可以每间隔第一时长就拉取一次。
第n个待管理数据表的至少一个待执行任务是指从第n个待管理数据表的时间线中筛选出的属于该第n个待管理数据表的托管任务类型下的表级数据操作。
另外,本申请实施例不限定上述“第n个待管理数据表的至少一个待执行任务”中的任务个数,例如,其可以是M。
此外,本申请实施例不限定上述“第n个待管理数据表的至少一个待执行任务”的拉取时机,例如,在定时拉取一个数据表的时间线这一场景下,可以在每次拉取到第n个待管理数据表的时间线之后,立即从该第n个待管理数据表的时间线中拉取该第n个待管理数据表的至少一个待执行任务。
基于上述S2的相关内容可知,对于基于数据湖的表服务管理系统来说,如果在该表服务管理系统上已经注册好第n个待管理数据表,则该表服务管理系统可以定时拉取该第n个待管理数据表的时间线(如图2所示),并从拉取所得的时间线中筛选出属于第n个待管理数据表的托管任务类型下的各个表级数据操作,作为该第n个待管理数据表的各个待执行任务,如此能够实现由该表服务管理系统从该第n个待管理数据表的时间线中获取针对该第n个待管理数据表的托管任务的目的,从而能够实现由该表服务管理系统代管该第n个待管理数据表在托管任务类型下的所有表服务的目的。其中,n为正整数,n≤N,N为正整数。
S3:对各待管理数据表的至少一个待执行任务进行管理。
本申请实施例中,对于基于数据湖的表服务管理系统来说,在该表服务管理系统获取到第n个待管理数据表的至少一个待执行任务之后,可以由该表服务管理系统代管这些待执行任务,如此能够有效地减少数据湖的表服务压力,从而能够有效地减少这些表服务对该数据湖中写入任务稳定性所产生的影响。其中,n为正整数,n≤N,N为正整数。
另外,本申请实施例不限定基于数据湖的表服务管理系统针对待执行任务的管理方式,例如,该表服务管理系统可以确定何时执行该待执行任务,以何种方式执行该待执行任务(例如,可以直接由该表服务管理系统自身去执行,或者也可以借助一些外部设备去执行等),关注及存储该待执行任务的哪些信息(例如,优先权信息、执行状态信息等)。
为了便于更好的理解基于数据湖的表服务管理系统针对待执行任务的管理方式,下面以待执行任务的三种执行方式作为示例进行说明。
方式1,由基于数据湖的表服务管理系统自身去执行待执行任务。
基于方式1可知,S3具体可以包括:执行各待管理数据表的至少一个待执行任务。
可见,对于基于数据湖的表服务管理系统来说,在该表服务管理系统获取到第n个待管理数据表的至少一个待执行任务之后,可以由该表服务管理系统自身执行这些任务,如此能够实现由该表服务管理系统代替数据湖完成针对该第n个待管理数据表的一些表服务,从而能够有效地减少这些表服务对该数据湖中写入任务稳定性所产生的影响。其中,n为正整数,n≤N,N为正整数。
方式2,由基于数据湖的表服务管理系统借助一些额外设备(例如,图2所示的执行设备1至执行设备G)去执行待执行任务。其中,G为正整数,G表示该表服务管理系统可以使用的执行设备的个数。
对于方式2来说,为了进一步提高表服务效果,基于数据湖的表服务管理系统可以借助多种引擎完成针对一个数据表的被托管的表服务。基于此,本申请实施例还提供了上述“第n个待管理数据表的至少一个待执行任务”的执行方式,其具体可以包括步骤11-步骤12:
步骤11:从第n个待管理数据表的注册描述信息中,确定该第n个待管理数据表的第m个待执行任务对应的执行设备。其中,m为正整数,m≤M,M为正整数,M表示该第n个待管理数据表的待执行任务的个数。
实际上,第n个待管理数据表的注册描述信息中不仅可以包括该第n个待管理数据表的托管任务描述信息,可以还包括该第n个待管理数据表的任务执行设备描述信息,以使该任务执行设备描述信息能够表示出分别使用哪一种执行设备(例如,Spark引擎或者Flink引擎等)去完成该第n个待管理数据表的每一种类型下的表级数据操作。
基于此可知,对于基于数据湖的表服务管理系统来说,在该表服务管理系统获取到第n个待管理数据表的第m个待执行任务之后,该表服务管理系统可以依据该第m个待执行任务所属的类型(例如,Compaction等),从该第n个待管理数据表的任务执行设备描述信息中确定出该类型所对应的执行设备,作为该第m个待执行任务对应的执行设备,以便后续该表服务管理系统可以借助该执行设备完整该第m个待执行任务。其中,m为正整数,m≤M,M为正整数。
步骤12:将第n个待管理数据表的第m个待执行任务发送给该第m个待执行任务对应的执行设备,以使该第m个待执行任务对应的执行设备执行该第n个待管理数据表的第m个待执行任务。其中,m为正整数,m≤M,M为正整数。
本申请实施例中,对于基于数据湖的表服务管理系统来说,在该表服务管理系统确定出第n个待管理数据表的第m个待执行任务对应的执行设备之后,该表服务管理系统可以直接将该第m个待执行任务提交给该第m个待执行任务对应的执行设备(例如,图2所示的执行设备1至执行设备G中某个执行设备等),以使该执行设备执行该第n个待管理数据表的第m个待执行任务,如此能够实现利用用户指定设备执行待执行任务的目的,从而能够实现在满足用户针对该第m个待执行任务的执行设备需求下完成该第m个待执行任务,如此不仅能够实现该表服务管理系统支持多引擎的目的,还能够有效地提高用户体验。其中,m为正整数,m≤M,M为正整数。
基于上述步骤11至步骤12的相关内容可知,对于基于数据湖的表服务管理系统来说,在该表服务管理系统获取到第n个待管理数据表的至少一个待执行任务之后,该表服务管理系统可以将这些待执行任务提交给由用户指定的执行设备去执行,如此不仅能够实现该表服务管理系统支持多引擎的目的,还能够有效地提高用户体验。
方式3,表服务系统可以整体安排已获取的所有被托管任务的执行过程。
对于方式3来说,因表服务的实时性要求并不高,使得一个被托管的任务的获取过程可以与该被托管任务的执行过程之间存在一些时间差,故表服务系统可以先存储大量被托管任务,再统一安排这些被托管任务的执行过程。
基于此,本申请实施例还提供了上述“各待管理数据表的至少一个待执行任务”的执行方式,其具体可以包括步骤21-步骤23:
步骤21:将各待管理数据表的至少一个待执行任务存储至预设存储空间。
其中,预设存储空间是指基于数据湖的表服务管理系统中用于进行存储的空间;而且本申请实施例不限定该预设存储空间,例如,其可以是下文所示的存储层。需要说明的是,存储层的相关内容请参见下文。
基于步骤21的相关内容可知,对于基于数据湖的表服务管理系统来说,在该表服务管理系统获取到第n个待管理数据表的至少一个待执行任务之后,该表服务管理系统可以不立即执行这些待执行任务,而是将这些待执行任务存储至该表服务管理系统的预设存储空间,以便后续由该表服务管理系统可以针对该预设存储空间中已存储的所有任务进行统一调度安排,如此有利于提高表服务实现效果。其中,n为正整数,n≤N,N为正整数。
步骤22:在从预设存储空间中扫描到至少一个候选任务和该至少一个候选任务的任务描述信息之后,根据该至少一个候选任务的任务描述信息,从该至少一个候选任务中筛选出满足预设执行条件的至少一个目标任务。
其中,候选任务用于表示在预设存储空间中已存储好的任务。例如,在将第n个待管理数据表的至少一个待执行任务存储至预设存储空间之后,上述“至少一个候选任务”可以包括该第n个待管理数据表的至少一个待执行任务,n为正整数,n≤N,N为正整数。
第t个候选任务的任务描述信息用于描述该第t个候选任务的相关执行信息(例如,执行状态信息、执行优先级信息、执行资源消耗信息等),以使该任务描述信息能够表示出该第t个候选任务是否需要被执行。其中,该执行状态信息用于描述该第t个候选任务当前所处状态(例如,未执行,正在被执行、因执行失败而重试了几次等);该执行优先级信息用于描述该第t个候选任务的执行优先级(例如,compaction的优先级高于clustering的优先级等)。该执行资源消耗信息用于描述执行该第t个候选任务时需要消耗哪些资源(例如,计算资源、内存资源等)。t为正整数,t≤T,T为正整数,T表示候选任务的个数(也就是,预设存储空间中已存储的任务个数)。
另外,本申请实施例不限定第t个候选任务的任务描述信息的获取方式,例如,该第t个候选任务的执行状态信息可以由基于数据湖的表服务管理系统通过实时监控每个任务的执行状态的方式进行获取;该第t个候选任务的执行优先级信息可以在其对应数据表注册过程中进行设定;还有,该第t个候选任务的执行资源消耗信息可以在其对应数据表注册过程中进行设定,也可以在该第t个候选任务的拉取过程中确定。
此外,本申请实施例不限定基于数据湖的表服务管理系统针对预设存储空间的扫描时机,例如,该表服务管理系统可以按照预设扫描频率扫描预设存储空间。其中,预设扫描频率可以预先设定;而且本申请实施例不限定该预设扫描频率,例如,其可以是每间隔第二时长就扫描一次。
预设执行条件用于表示需要被执行的任务所满足的条件;而且该预设执行条件可以预先设定,尤其该预设执行条件可以参考任务调度方式(例如,先进先出(First InputFirst Output,FIFO)调度、基于优先级(Priority)的调度等)、基于数据湖的表服务管理系统的可用资源情况、优先级信息等进行设定。
目标任务是指满足预设执行条件的候选任务,以使该目标任务能够表示出需要执行的任务。
基于上述步骤22的相关内容可知,对于基于数据湖的表服务管理系统来说,该表服务管理系统可以定时地扫描预设存储空间中已存储的任务(instant),得到至少一个候选任务以及这些候选任务的任务描述信息,以使这些任务描述信息能够表示出哪些候选任务需要被执行;随后,该表服务管理系统可以参考这些候选任务的任务描述信息,从这些候选任务中筛选出满足预设执行条件的各个目标任务,以使这些目标任务表示需要被该表服务管理系统执行的任务。
步骤23:对至少一个目标任务进行管理。
本申请实施例中,对于基于数据湖的表服务管理系统来说,在该表服务管理系统从预设存储空间中找到至少一个目标任务之后,可以由该表服务管理系统代管这些目标任务的执行事宜(例如,可以直接由该表服务管理系统自身去执行这些目标任务,或者也可以借助一些外部设备去执行这些目标任务等),如此能够有效地减少数据湖的表服务压力,从而能够有效地减少这些表服务对该数据湖中写入任务稳定性所产生的影响。
另外,本申请实施例不限定基于数据湖的表服务管理系统针对目标任务的管理方式,例如,该表服务管理系统可以确定何时执行该目标任务,以何种方式执行该目标任务(例如,可以直接由该表服务管理系统自身去执行,或者也可以借助一些外部设备去执行等),关注及存储该目标任务的哪些信息(例如,优先权信息、执行状态信息等)。
此外,基于数据湖的表服务管理系统针对目标任务的管理方式类似于上文方式1和方式2所示的针对待管理数据表的管理方式。可见,该表服务管理系统可以通过一定方式执行至少一个目标任务。
需要说明的是,本申请实施例不限定第q个目标任务的执行方式,例如,该第q个目标任务可以由基于数据湖的表服务管理系统直接执行。又如,该第q个目标任务的执行过程具体可以为:在该表服务管理系统获取到该第q个目标任务对应的执行设备之后,由该表服务管理系统将该第q个目标任务提交给该执行设备,以使该执行设备执行该第q个目标任务。其中,q为正整数,q≤Q,Q为正整数,Q表示目标任务的个数。
还需要说明的是,上述“第q个目标任务对应的执行设备”的相关内容类似于上文“第n个待管理数据表的第m个待执行任务对应的执行设备”的相关内容,为了简要起见,在此不再赘述。
基于上述步骤21至步骤23的相关内容可知,对于基于数据湖的表服务管理系统来说,在该表服务管理系统获取到各个待管理数据表的至少一个待执行任务之后,该表服务管理系统可以先将这些待执行任务存储至预设存储空间;随后,由该表服务管理系统通过定时扫描该预设存储空间的方式(例如,图2所示的扫描方式),将这些待执行任务按照一定顺序提交给注册时指定的执行设备执行,如此能够更好地执行这些任务,从而有利于提高表服务效果。
基于上述S1至S3的相关内容可知,对于本申请实施例提供的基于数据湖的表服务管理系统来说,在确定数据湖中至少一个待管理数据表完成注册时,从各待管理数据表的注册描述信息中确定各待管理数据表的托管任务类型,以便在拉取到各待管理数据表的时间线之后,按照各待管理数据表的托管任务类型,从各待管理数据表的时间线中拉取各待管理数据表的至少一个待执行任务,并对各待管理数据表的至少一个待执行任务进行管理(例如,直接执行这些待执行任务,或者借助一些引擎完成这些待执行任务等),如此能够实现由该表服务管理系统代管该数据湖中大量数据表的表服务的目的。其中,因该表服务管理系统完全独立于数据湖,使得在由该表服务管理系统向该数据湖中大量数据表提供表服务时,这些表服务不会占用该数据湖的资源数据,如此能够有效地避免针对表服务对该数据湖中写入任务稳定性所产生的影响。
为了进一步理解本申请实施例提供的基于数据湖的表服务管理系统,下面结合图3-图4对该表服务管理系统的结构进行说明。其中,图3为本申请实施例提供的一种基于数据湖的表服务管理系统的结构示意图;图4为本申请实施例提供的另一种基于数据湖的表服务管理系统的结构示意图。需要说明的是,该表服务管理系统的技术详情请参见上文基于数据湖的表服务管理方法的相关内容,为了简要起见,在此不再赘述。
在一种可能的实施方式下,本申请实施例提供的基于数据湖的表服务管理系统300可以用于执行本申请实施例提供的基于数据湖的表服务管理方法的任一实施方式。
在一种可能的实施方式下,如图3所示,本申请实施例提供的基于数据湖的表服务管理系统300,可以包括信息层301和服务层302;
所述信息层301,用于在确定至少一个待管理数据表完成注册时,从各所述待管理数据表的注册描述信息中确定各所述待管理数据表的托管任务类型;
所述信息层301,还用于在拉取到各所述待管理数据表的时间线之后,按照各所述待管理数据表的托管任务类型,从各所述待管理数据表的时间线中拉取各所述待管理数据表的至少一个待执行任务;
所述服务层302,用于对各所述待管理数据表的至少一个待执行任务进行管理。
在一种可能的实施方式下,所述服务层302,具体用于执行各所述待管理数据表的至少一个待执行任务。
在一种可能的实施方式下,所述待管理数据表的个数为N;第n个待管理数据表的时间线是由所述信息层301从所述第n个待管理数据表的元数据系统中拉取的;或者,所述第n个待管理数据表的时间线是由所述信息层301按照预设拉取频率从所述第n个待管理数据表的元数据系统中拉取的;其中,n为正整数,n≤N,N为正整数。
在一种可能的实施方式下,所述基于数据湖的表服务管理系统300还包括存储层303(如图4所示);
所述待管理数据表的个数为N;
所述信息层301,还用于在获取到针对第n个待管理数据表的注册请求之后,根据所述注册请求携带的注册描述信息,对所述第n个待管理数据表进行注册处理,以将所述注册描述信息存储至所述存储层303,以便后续该信息层301能够从该存储层303中获取该注册描述信息;其中,n为正整数,n≤N,N为正整数。
在一种可能的实施方式下,针对第n个待管理数据表的注册请求是在创建所述第n个待管理数据表时触发的。
在一种可能的实施方式下,针对第n个待管理数据表的注册请求是在启动针对所述第n个待管理数据表的写入任务时触发的。
在一种可能的实施方式下,所述待管理数据表的个数为N;第n个待管理数据表的至少一个待执行任务包括M个待执行任务;其中,n为正整数,n≤N,N为正整数;
所述服务层302,还用于从第n个待管理数据表的注册描述信息中,确定所述第n个待管理数据表的第m个待执行任务对应的执行设备;其中,m为正整数,m≤M,M为正整数;
所述服务层302,具体用于将所述第n个待管理数据表的第m个待执行任务发送给所述第m个待执行任务对应的执行设备,以使所述第m个待执行任务对应的执行设备执行所述第n个待管理数据表的第m个待执行任务。
在一种可能的实施方式下,所述信息层301,还用于将各所述待管理数据表的至少一个待执行任务存储至预设存储空间(例如,图4所示的存储层303);
所述服务层302,还用于在从所述预设存储空间中扫描到至少一个候选任务和所述至少一个候选任务的任务描述信息之后,根据所述至少一个候选任务的任务描述信息,从所述至少一个候选任务中筛选出满足预设执行条件的至少一个目标任务;
所述服务层302,具体用于对所述至少一个目标任务进行管理(例如,直接执行这些目标任务,或者借助各个目标任务对应的执行设备执行这些目标任务)。
在一种可能的实施方式下,如图4所示,所述基于数据湖的表服务管理系统300还包括存储层303;所述存储层用于存储所述至少一个待管理数据表的元数据。
其中,第n个待管理数据表的元数据用于描述该第n个待管理数据表的相关信息;而且本申请实施例不限定该第n个待管理数据表的元数据,例如,其可以包括该第n个待管理数据表的表级元数据和该第n个待管理数据表的任务执行记录。n为正整数,n≤N,N为正整数。
上述“第n个待管理数据表的表级元数据”可以包括该第n个待管理数据表的创建人(owner)、该第n个待管理数据表的执行队列、该第n个待管理数据表的托管任务类型、该第n个待管理数据表的任务执行优先级、该第n个待管理数据表的任务执行引擎等中的一个或者多个。
上述“第n个待管理数据表的任务执行记录”包括该第n个待管理数据表的每一个被托管的任务的执行记录信息(例如,执行时间、执行状态、重试次数等)。
在一种可能的实施方式下,所述存储层303可以将第n个待管理数据表的表级元数据和该第n个待管理数据表的任务执行记录拆开存储。其中,第n个待管理数据表的每一个被托管的任务的执行记录信息均可以被单独存储,而且第n个待管理数据表的每一个被托管的任务的执行记录信息、以及第n个待管理数据表的表级元数据之间可以借助该第n个待管理数据表的数据表标识(Identity document,ID)进行关联。
在一种可能的实施方式下,所述存储层303可以采用可插拔存储设备进行实施。
在一种可能的实施方式下,所述存储层303可以采用分布式文件系统和/或键值对存储所述至少一个待管理数据表的元数据,以使基于数据湖的表服务管理系统300支持多种元数据存储方式。
在一种可能的实施方式下,所述服务层302包括调度模块(Scheduler Service);所述待管理数据表的个数为N;第n个待管理数据表的至少一个待执行任务包括M个待执行任务;其中,n为正整数,n≤N,N为正整数;
所述调度模块,用于从第n个待管理数据表的注册描述信息中确定所述第n个待管理数据表的第m个待执行任务对应的执行设备;其中,m为正整数,m≤M,M为正整数;
所述调度模块,还用于将所述第n个待管理数据表的第m个待执行任务发送给所述第m个待执行任务对应的执行设备,以使所述第m个待执行任务对应的执行设备执行所述第n个待管理数据表的第m个待执行任务。
在一种可能的实施方式下,所述调度模块,还用于在从所述预设存储空间中扫描到至少一个候选任务和所述至少一个候选任务的任务描述信息之后,根据所述至少一个候选任务的任务描述信息,从所述至少一个候选任务中筛选出满足预设执行条件的至少一个目标任务;
所述调度模块,还用于对所述至少一个目标任务进行管理(例如,直接执行这些目标任务,或者借助各个目标任务对应的执行设备执行这些目标任务)。
在一种可能的实施方式下,所述调度模块,还用于按照预设扫描频率扫描所述预设存储空间。
基于上述调度模块的相关内容可知,对于服务层302中的调度模块来说,该调度模块负责定时扫描存储层303中已存储的大量候选任务,并从这些候选任务中筛选出一些需要被执行的目标任务;随后,该调度模块可以通过预设调度方式(例如,FIFO调度、基于Priority的调度等)对这些目标任务进行调度;最后,由该调度模块将这些目标任务分别提交给各个目标任务对应的执行设备中,如此能够实现借助这些执行设备完成这些目标任务。
在一种可能的实施方式下,所述服务层可以还包括监控模块(Monitor Service)和重试模块(Retry Service)中的至少一个;
所述监控模块,用于实时地获取每个候选任务的执行状态,并将该执行状态更新至存储层303中;
所述监控模块,还用于将这些执行状态按照预设标准(metric)提供给用户,以使用户能够从这些执行状态中获知每个候选任务的执行状态;
所述重试模块,用于按照预设重启频率扫描存储层303中执行失败的任务,并将这些执行失败的任务均重新提交给调度模块进行调度执行。
在一种可能的实施方式中,所述基于数据湖的表服务管理系统300独立于数据湖;所述数据湖用于存储所述至少一个待管理数据表。
基于上述基于数据湖的表服务管理系统300的相关内容可知,对于包括信息层301、服务层302和存储层303的该表服务管理系统300来说,在该表服务管理系统300中信息层301确定至少一个待管理数据表完成注册时,该信息层301从各待管理数据表的注册描述信息中确定各待管理数据表的托管任务类型,以便在该信息层301每次拉取到各待管理数据表的时间线之后,由该信息层301按照各待管理数据表的托管任务类型,从各待管理数据表的时间线中拉取各待管理数据表的至少一个待执行任务,并将这些待执行任务存储至存储层303;最后,由服务层302中调度模块通过定时扫描该存储层303的方式,获取这些待执行任务,并将这些待执行任务提交给注册时指定的执行设备进行执行,如此能够实现由该表服务管理系统300向该数据湖中大量数据表提供表服务的目的。其中,因该表服务管理系统300完全独立于数据湖,使得在该表服务管理系统300向该数据湖中大量数据表提供表服务时,这些表服务不会占用该数据湖的资源数据,如此能够有效地避免针对表服务对该数据湖中写入任务稳定性所产生的影响。
另外,基于数据湖的表服务管理系统300能够针对数据湖中所有数据表提供表服务,如此能够保证表级数据操作的最终一致性。此外,该表服务管理系统可以通过调用多个执行设备(例如,Spark引擎或者Flink引擎等)的方式执行表服务,如此使得该表服务管理系统支持多引擎。还有该表服务管理系统可以通过增加实例的方式,解决大数据规模下大量表级数据操作的执行问题。
基于上述方法实施例提供的基于数据湖的表服务管理方法,本申请实施例还提供了一种基于数据湖的表服务管理装置,下面结合附图进行解释和说明。需要说明的是,该表服务管理装置的技术详情,请参照上述基于数据湖的表服务管理方法的相关内容。
参见图5,该图为本申请实施例提供的一种基于数据湖的表服务管理装置的结构示意图。
本申请实施例提供的基于数据湖的表服务管理装置500,包括:
第一确定单元501,用于在确定至少一个待管理数据表完成注册时,从各所述待管理数据表的注册描述信息中确定各所述待管理数据表的托管任务类型;
任务拉取单元502,用于在拉取到各所述待管理数据表的时间线之后,按照各所述待管理数据表的托管任务类型,从各所述待管理数据表的时间线中拉取各所述待管理数据表的至少一个待执行任务;
任务管理单元503,用于对各所述待管理数据表的至少一个待执行任务进行管理。
在一种可能的实施方式中,所述任务管理单元503,具体用于执行各所述待管理数据表的至少一个待执行任务。
在一种可能的实施方式中,所述待管理数据表的个数为N;第n个待管理数据表的至少一个待执行任务包括M个待执行任务;其中,n为正整数,n≤N,N为正整数;
所述基于数据湖的表服务管理装置500还包括:
第二确定单元,用于从第n个待管理数据表的注册描述信息中,确定所述第n个待管理数据表的第m个待执行任务对应的执行设备;其中,m为正整数,m≤M,M为正整数;
所述任务管理单元503,具体用于:将所述第n个待管理数据表的第m个待执行任务发送给所述第m个待执行任务对应的执行设备,以使所述第m个待执行任务对应的执行设备执行所述第n个待管理数据表的第m个待执行任务。
在一种可能的实施方式中,所述基于数据湖的表服务管理装置500还包括:
任务存储单元,用于将各所述待管理数据表的至少一个待执行任务存储至预设存储空间;
任务扫描单元,用于在从所述预设存储空间中扫描到至少一个候选任务和所述至少一个候选任务的任务描述信息之后,根据所述至少一个候选任务的任务描述信息,从所述至少一个候选任务中筛选出满足预设执行条件的至少一个目标任务;
所述任务管理单元503,具体用于对所述至少一个目标任务进行管理。
在一种可能的实施方式中,所述待管理数据表的个数为N;
所述基于数据湖的表服务管理装置500还包括:
数据表注册单元,用于在获取到针对第n个待管理数据表的注册请求之后,根据所述注册请求携带的注册描述信息,对所述第n个待管理数据表进行注册处理;其中,n为正整数,n≤N,N为正整数。
在一种可能的实施方式中,所述注册请求是在创建所述第n个待管理数据表时触发的。
在一种可能的实施方式中,所述注册请求是在启动针对所述第n个待管理数据表的写入任务时触发的。
在一种可能的实施方式中,所述基于数据湖的表服务管理装置500独立于数据湖;所述数据湖用于存储所述至少一个待管理数据表。
基于上述基于数据湖的表服务管理装置500的相关内容可知,对于本申请实施例提供的基于数据湖的表服务管理装置500来说,在确定数据湖中至少一个待管理数据表完成注册时,从各待管理数据表的注册描述信息中确定各待管理数据表的托管任务类型,以便在拉取到各待管理数据表的时间线之后,按照各待管理数据表的托管任务类型,从各待管理数据表的时间线中拉取各待管理数据表的至少一个待执行任务,并对各待管理数据表的至少一个待执行任务进行管理(例如,直接执行这些待执行任务,或者借助一些引擎完成这些待执行任务等),如此能够实现由该表服务管理装置500代管该数据湖中大量数据表的表服务的目的。其中,因该表服务管理装置500完全独立于数据湖,使得在由该表服务管理装置500向该数据湖中大量数据表提供表服务时,这些表服务不会占用该数据湖的资源数据,如此能够有效地避免针对表服务对该数据湖中写入任务稳定性所产生的影响。
另外,本申请实施例还提供了一种电子设备,所述设备包括处理器以及存储器:所述存储器,用于存储指令或计算机程序;所述处理器,用于执行所述存储器中的所述指令或计算机程序,以使得所述电子设备执行本申请实施例提供的基于数据湖的表服务管理方法的任一实施方式。
参见图6,其示出了适于用来实现本公开实施例的电子设备600的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图6示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,电子设备600可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储装置608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM603中,还存储有电子设备600操作所需的各种程序和数据。处理装置601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
通常,以下装置可以连接至I/O接口605:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置606;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置608;以及通信装置609。通信装置609可以允许电子设备600与其他设备进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的电子设备600,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置608被安装,或者从ROM602被安装。在该计算机程序被处理装置601执行时,执行本公开实施例的方法中限定的上述功能。
本公开实施例提供的电子设备与上述实施例提供的方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且本实施例与上述实施例具有相同的有益效果。
本申请实施例还提供了一种计算机可读介质,所述计算机可读介质中存储有指令或计算机程序,当所述指令或计算机程序在设备上运行时,使得所述设备执行本申请实施例提供的基于数据湖的表服务管理方法的任一实施方式。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(Hyper Text TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备可以执行上述方法。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元/模块的名称在某种情况下并不构成对该单元本身的限定。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (17)

1.一种基于数据湖的表服务管理方法,其特征在于,应用于基于数据湖的表服务管理系统,所述方法包括:
在确定至少一个待管理数据表完成注册时,从各所述待管理数据表的注册描述信息中确定各所述待管理数据表的托管任务类型;
在拉取到各所述待管理数据表的时间线之后,按照各所述待管理数据表的托管任务类型,从各所述待管理数据表的时间线中拉取各所述待管理数据表的至少一个待执行任务;
对各所述待管理数据表的至少一个待执行任务进行管理。
2.根据权利要求1所述的方法,其特征在于,所述对各所述待管理数据表的至少一个待执行任务进行管理,包括:
执行各所述待管理数据表的至少一个待执行任务。
3.根据权利要求1所述的方法,其特征在于,所述待管理数据表的个数为N;第n个待管理数据表的至少一个待执行任务包括M个待执行任务;其中,n为正整数,n≤N,N为正整数;
所述方法还包括:
从第n个待管理数据表的注册描述信息中,确定所述第n个待管理数据表的第m个待执行任务对应的执行设备;其中,m为正整数,m≤M,M为正整数;
所述对各所述待管理数据表的至少一个待执行任务进行管理,包括:
将所述第n个待管理数据表的第m个待执行任务发送给所述第m个待执行任务对应的执行设备,以使所述第m个待执行任务对应的执行设备执行所述第n个待管理数据表的第m个待执行任务。
4.根据权利要求1所述的方法,其特征在于,所述从各所述待管理数据表的时间线中拉取各所述待管理数据表的至少一个待执行任务之后,所述方法还包括:
将各所述待管理数据表的至少一个待执行任务存储至预设存储空间;
在从所述预设存储空间中扫描到至少一个候选任务和所述至少一个候选任务的任务描述信息之后,根据所述至少一个候选任务的任务描述信息,从所述至少一个候选任务中筛选出满足预设执行条件的至少一个目标任务;
所述对各所述待管理数据表的至少一个待执行任务进行管理,包括:
对所述至少一个目标任务进行管理。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述待管理数据表的个数为N;
所述方法还包括:
在获取到针对第n个待管理数据表的注册请求之后,根据所述注册请求携带的注册描述信息,对所述第n个待管理数据表进行注册处理;其中,n为正整数,n≤N,N为正整数。
6.根据权利要求5所述的方法,其特征在于,所述注册请求是在创建所述第n个待管理数据表时触发的;
或者,
所述注册请求是在启动针对所述第n个待管理数据表的写入任务时触发的。
7.根据权利要求1所述的方法,其特征在于,所述基于数据湖的表服务管理系统独立于数据湖;所述数据湖用于存储所述至少一个待管理数据表。
8.一种基于数据湖的表服务管理系统,其特征在于,所述系统包括信息层和服务层;
所述信息层,用于在确定至少一个待管理数据表完成注册时,从各所述待管理数据表的注册描述信息中确定各所述待管理数据表的托管任务类型;
所述信息层,还用于在拉取到各所述待管理数据表的时间线之后,按照各所述待管理数据表的托管任务类型,从各所述待管理数据表的时间线中拉取各所述待管理数据表的至少一个待执行任务;
所述服务层,用于对各所述待管理数据表的至少一个待执行任务进行管理。
9.根据权利要求8所述的系统,其特征在于,所述服务层,具体用于执行各所述待管理数据表的至少一个待执行任务。
10.根据权利要求8所述的系统,其特征在于,所述待管理数据表的个数为N;
所述信息层,还用于在获取到针对第n个待管理数据表的注册请求之后,根据所述注册请求携带的注册描述信息,对所述第n个待管理数据表进行注册处理;其中,n为正整数,n≤N,N为正整数。
11.根据权利要求8所述的系统,其特征在于,所述待管理数据表的个数为N;第n个待管理数据表的至少一个待执行任务包括M个待执行任务;其中,n为正整数,n≤N,N为正整数;
所述服务层,还用于从第n个待管理数据表的注册描述信息中,确定所述第n个待管理数据表的第m个待执行任务对应的执行设备;其中,m为正整数,m≤M,M为正整数;
所述服务层,具体用于将所述第n个待管理数据表的第m个待执行任务发送给所述第m个待执行任务对应的执行设备,以使所述第m个待执行任务对应的执行设备执行所述第n个待管理数据表的第m个待执行任务。
12.根据权利要求8所述的系统,其特征在于,所述信息层,还用于将各所述待管理数据表的至少一个待执行任务存储至预设存储空间;
所述服务层,还用于在从所述预设存储空间中扫描到至少一个候选任务和所述至少一个候选任务的任务描述信息之后,根据所述至少一个候选任务的任务描述信息,从所述至少一个候选任务中筛选出满足预设执行条件的至少一个目标任务;
所述服务层,具体用于对所述至少一个目标任务进行管理。
13.根据权利要求8-12任一项所述的系统,其特征在于,所述系统还包括存储层;所述存储层用于存储所述至少一个待管理数据表的元数据。
14.根据权利要求8所述的系统,其特征在于,所述系统独立于数据湖;所述数据湖用于存储所述至少一个待管理数据表。
15.一种基于数据湖的表服务管理装置,其特征在于,包括:
第一确定单元,用于在确定至少一个待管理数据表完成注册时,从各所述待管理数据表的注册描述信息中确定各所述待管理数据表的托管任务类型;
任务拉取单元,用于在拉取到各所述待管理数据表的时间线之后,按照各所述待管理数据表的托管任务类型,从各所述待管理数据表的时间线中拉取各所述待管理数据表的至少一个待执行任务;
任务管理单元,用于对各所述待管理数据表的至少一个待执行任务进行管理。
16.一种电子设备,其特征在于,所述设备包括:处理器和存储器;
所述存储器,用于存储指令或计算机程序;
所述处理器,用于执行所述存储器中的所述指令或计算机程序,以使得所述电子设备执行权利要求1-7任一项所述的方法。
17.一种计算机可读介质,其特征在于,所述计算机可读介质中存储有指令或计算机程序,当所述指令或计算机程序在设备上运行时,使得所述设备执行权利要求1-7任一项所述的方法。
CN202210600702.8A 2022-05-30 2022-05-30 基于数据湖的表服务管理方法、系统、装置、电子设备 Pending CN114969042A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210600702.8A CN114969042A (zh) 2022-05-30 2022-05-30 基于数据湖的表服务管理方法、系统、装置、电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210600702.8A CN114969042A (zh) 2022-05-30 2022-05-30 基于数据湖的表服务管理方法、系统、装置、电子设备

Publications (1)

Publication Number Publication Date
CN114969042A true CN114969042A (zh) 2022-08-30

Family

ID=82957864

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210600702.8A Pending CN114969042A (zh) 2022-05-30 2022-05-30 基于数据湖的表服务管理方法、系统、装置、电子设备

Country Status (1)

Country Link
CN (1) CN114969042A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106815270A (zh) * 2015-12-02 2017-06-09 大唐移动通信设备有限公司 一种服务动态管理的方法及装置
CN109478055A (zh) * 2016-03-01 2019-03-15 源讯网源公司 在通用、智能系统中使用智能节点用于监测工业过程
CN109639462A (zh) * 2018-11-23 2019-04-16 上海云信留客信息科技有限公司 数据置换安全屋综合服务管理平台
CN109670921A (zh) * 2018-12-27 2019-04-23 杭州吉租科技有限公司 一种智能楼宇管理系统及其平台管理、招租管理操作方法
US20210089540A1 (en) * 2019-09-20 2021-03-25 Sap Se Virtual database tables with updatable logical table pointers
CN113761294A (zh) * 2021-09-10 2021-12-07 北京火山引擎科技有限公司 数据管理方法、装置、存储介质以及电子设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106815270A (zh) * 2015-12-02 2017-06-09 大唐移动通信设备有限公司 一种服务动态管理的方法及装置
CN109478055A (zh) * 2016-03-01 2019-03-15 源讯网源公司 在通用、智能系统中使用智能节点用于监测工业过程
CN109639462A (zh) * 2018-11-23 2019-04-16 上海云信留客信息科技有限公司 数据置换安全屋综合服务管理平台
CN109670921A (zh) * 2018-12-27 2019-04-23 杭州吉租科技有限公司 一种智能楼宇管理系统及其平台管理、招租管理操作方法
US20210089540A1 (en) * 2019-09-20 2021-03-25 Sap Se Virtual database tables with updatable logical table pointers
CN113761294A (zh) * 2021-09-10 2021-12-07 北京火山引擎科技有限公司 数据管理方法、装置、存储介质以及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
何丹: "基于分布式聚类的服务组织管理技术研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 1, 31 January 2022 (2022-01-31) *

Similar Documents

Publication Publication Date Title
CN110321958B (zh) 神经网络模型的训练方法、视频相似度确定方法
WO2020258290A1 (zh) 日志数据收集方法、日志数据收集装置、存储介质和日志数据收集系统
CN110516159B (zh) 一种信息推荐方法、装置、电子设备及存储介质
CN110781373B (zh) 榜单更新方法、装置、可读介质和电子设备
CN111338797A (zh) 任务处理方法、装置、电子设备及计算机可读存储介质
CN113722056A (zh) 任务调度方法、装置、电子设备和计算机可读介质
CN111858381B (zh) 应用程序容错能力测试方法、电子设备及介质
CN111881216A (zh) 一种基于共享模板的数据获取方法和装置
CN111163336A (zh) 视频资源推送方法、装置、电子设备及计算机可读介质
WO2023273576A1 (zh) 异常请求处理方法、装置、电子设备和存储介质
CN112910855B (zh) 一种样例报文处理方法及装置
CN114969042A (zh) 基于数据湖的表服务管理方法、系统、装置、电子设备
CN109614137B (zh) 软件版本控制方法、装置、设备和介质
CN113760178A (zh) 缓存数据处理方法、装置、电子设备和计算机可读介质
CN112100159A (zh) 数据处理方法、装置、电子设备和计算机可读介质
CN112988806A (zh) 一种数据处理的方法及装置
CN111538721A (zh) 账号处理方法、装置、电子设备及计算机可读存储介质
CN111787043A (zh) 数据请求方法和装置
CN112311842A (zh) 用于信息交互的方法和装置
CN111258670B (zh) 组件数据的管理方法、装置、电子设备和存储介质
CN110727694A (zh) 数据处理方法、装置、电子设备及存储介质
CN114968936B (zh) 一种基于数据湖的时间线获取方法、装置、执行节点
CN117692672B (zh) 基于快照的视频信息发送方法、装置、电子设备和介质
CN114647685B (zh) 一种数据处理方法、装置、设备及介质
CN111736976B (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