System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,尤其涉及一种湖仓元数据变更确定方法、装置、设备、介质。
技术介绍
1、在一些应用场景下,用户可能需要针对某个元数据源(比如,hive等元数据源)下的库、表、分区等进行某些操作(比如,增、删、改等操作),以满足该用户的一些元数据需求。
2、另外,在一些应用场景下,为了更好地降低这些操作对其他业务所造成影响,其可能存在以下需求:将这些操作对应的元数据更新描述消息提供给相应业务,以使该业务获知由这些操作所产生的元数据更新情况,从而能够有效地避免因该业务不知该元数据更新情况而导致的不良影响(比如,无法及时地执行后续任务、继续查询访问更新前的内容等影响)。
3、然而,如何实现上述需求是一项亟待解决的技术问题。
技术实现思路
1、为了解决上述技术问题,本申请提供了一种湖仓元数据变更确定方法、装置、设备、介质。
2、为了实现上述目的,本申请提供的技术方案如下:
3、本申请提供一种湖仓元数据变更确定方法,所述方法应用于元数据存储系统,所述方法包括:
4、接收数据引擎发送的元数据处理请求,所述元数据处理请求用于请求对目标对象进行更新处理;所述目标对象包括一个或者多个元数据;
5、执行所述元数据处理请求对应的对象更新处理逻辑,所述对象更新处理逻辑用于更新所述目标对象;
6、在确定所述对象更新处理逻辑执行完成之后,依据更新前的目标对象与更新后的目标对象之间的对比结果,生成所述目标对象对应的更新描述消息;
7、将所述更新描述消息发送给消息接收对象。
8、在一种可能的实施方式下,所述更新描述消息的生成过程,包括:
9、若所述对比结果表示所述更新前的目标对象的对象标识不同于所述更新后的目标对象的对象标识,则依据所述目标对象的类型,生成所述更新描述消息。
10、在一种可能的实施方式下,若所述目标对象为表对象,则所述依据所述目标对象的类型,生成所述更新描述消息,包括:
11、若所述目标对象的类型为表类型,则依据第一预设字符串,生成所述更新描述消息;由所述第一预设字符串所表达的语义信息为对属于表类型的表对象的对象标识进行更新;
12、若所述目标对象的类型为视图类型,则依据第二预设字符串,生成所述更新描述消息;由所述第二预设字符串所表达的语义信息为对属于视图类型的表对象的对象标识进行更新。
13、在一种可能的实施方式下,所述目标对象用于记录多个元数据;
14、所述更新描述消息的生成过程,包括:
15、若所述对比结果表示所述更新前的目标对象在目标维度下所划分的数据块的个数与所述更新后的目标对象在目标维度下所划分的数据块的个数相同,而且所述更新前的目标对象与所述更新后的目标对象之间在至少一个数据块上存在差异,则依据所述至少一个数据块的数据块个数,生成所述更新描述消息。
16、在一种可能的实施方式下,所述依据所述至少一个数据块的数据块个数,生成所述更新描述消息,包括:
17、若所述至少一个数据块的数据块个数为1,则依据第三预设字符串,生成所述更新描述消息;由所述第三预设字符串所表达的语义信息为对一个所述数据块进行更新;
18、若所述至少一个数据块的数据块个数不低于2,则依据第四预设字符串,生成所述更新描述消息;由所述第四预设字符串所表达的语义信息为对多个所述数据块进行更新。
19、在一种可能的实施方式下,所述目标对象用于记录多个元数据;
20、所述更新描述消息的生成过程,包括以下至少一项:
21、若所述对比结果表示所述更新后的目标对象在目标维度下所划分的数据块的个数高于所述更新前的目标对象在目标维度下所划分的数据块的个数,而且所述更新后的目标对象在目标维度下所划分的数据块包括所述更新前的目标对象在目标维度下所划分的数据块,则依据第五预设字符串,生成所述更新描述消息,由所述第五预设字符串所表达的语义信息为增加所述数据块;
22、若所述对比结果表示所述更新前的目标对象在目标维度下所划分的数据块的个数高于所述更新后的目标对象在目标维度下所划分的数据块的个数,而且所述更新前的目标对象在目标维度下所划分的数据块包括所述更新后的目标对象在目标维度下所划分的数据块,则依据第六预设字符串,生成所述更新描述消息,由所述第六预设字符串所表达的语义信息为删除所述数据块;
23、若所述对比结果表示所述更新前的目标对象在目标维度下所划分的数据块的个数不同于所述更新后的目标对象在目标维度下所划分的数据块的个数,而且所述更新前的目标对象与所述更新后的目标对象之间在至少一个数据块上存在差异,则依据第四预设字符串,生成所述更新描述消息,由所述第四预设字符串所表达的语义信息为对多个所述数据块进行更新。
24、在一种可能的实施方式下,所述目标对象为库对象、表对象、或者分区对象。
25、在一种可能的实施方式下,所述消息接收对象为消息中间件或者所述数据引擎对应的至少一个下游对象,所述消息中间件用于向各所述下游对象提供所述更新描述消息。
26、在一种可能的实施方式下,所述依据更新前的目标对象与更新后的目标对象之间的对比结果,生成所述目标对象对应的更新描述消息,包括:
27、依据预设消息格式、以及所述更新前的目标对象与更新后的目标对象之间的对比结果,生成所述目标对象对应的更新描述消息;所述预设消息格式为当所述数据引擎向所述消息接收对象发送消息时所使用的消息格式。
28、在一种可能的实施方式下,所述消息接收对象还用于接收由所述数据引擎针对所述元数据处理请求所生成的对象更新消息;
29、所述对象更新消息所携带的语义信息与所述更新描述消息所携带的语义信息之间部分或者全部保持一致。
30、在一种可能的实施方式下,所述元数据处理请求用于描述多个更新处理任务;
31、所述执行所述元数据处理请求对应的对象更新处理逻辑,包括:
32、执行各所述更新处理任务对应的对象更新处理逻辑;
33、所述目标对象对应的更新描述消息的生成过程,包括:
34、对于任一所述更新处理任务,在确定该更新处理任务对应的对象更新处理逻辑执行完成之后,依据该更新处理任务对应的更新前的目标对象与该更新处理任务对应的更新后的目标对象之间的对比结果,生成该更新处理任务对应的更新描述消息;
35、依据所述多个更新处理任务对应的更新描述消息,生成所述目标对象对应的更新描述消息。
36、在一种可能的实施方式下,所述元数据处理请求是由所述数据引擎响应于客户端发送的对象更新请求所生成的,所述对象更新请求携带有客户端描述信息;
37、所述依据更新前的目标对象与更新后的目标对象之间的对比结果,生成所述目标对象对应的更新描述消息,包括:
38、依据由所述数据引擎提供的客户端描述信息、以本文档来自技高网...
【技术保护点】
1.一种湖仓元数据变更确定方法,其特征在于,所述方法应用于元数据存储系统,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述更新描述消息的生成过程,包括:
3.根据权利要求2所述的方法,其特征在于,若所述目标对象为表对象,则所述依据所述目标对象的类型,生成所述更新描述消息,包括:
4.根据权利要求1所述的方法,其特征在于,所述目标对象用于记录多个元数据;
5.根据权利要求4所述的方法,其特征在于,所述依据所述至少一个数据块的数据块个数,生成所述更新描述消息,包括:
6.根据权利要求1所述的方法,其特征在于,所述目标对象用于记录多个元数据;
7.根据权利要求4-6任一项所述的方法,其特征在于,所述目标对象为库对象、表对象、或者分区对象。
8.根据权利要求1所述的方法,其特征在于,所述消息接收对象为消息中间件或者所述数据引擎对应的至少一个下游对象,所述消息中间件用于向各所述下游对象提供所述更新描述消息。
9.根据权利要求1所述的方法,其特征在于,所述依据更新前的目标对象与更新后
10.根据权利要求1所述的方法,其特征在于,所述消息接收对象还用于接收由所述数据引擎针对所述元数据处理请求所生成的对象更新消息;
11.根据权利要求1所述的方法,其特征在于,所述元数据处理请求用于描述多个更新处理任务;
12.根据权利要求1所述的方法,其特征在于,所述元数据处理请求是由所述数据引擎响应于客户端发送的对象更新请求所生成的,所述对象更新请求携带有客户端描述信息;
13.根据权利要求12所述的方法,其特征在于,所述依据由所述数据引擎提供的客户端描述信息、以及所述更新前的目标对象与更新后的目标对象之间的对比结果,生成所述目标对象对应的更新描述消息,包括:
14.根据权利要求12所述的方法,其特征在于,所述接收数据引擎发送的元数据处理请求之前,所述方法还包括:
15.根据权利要求1所述的方法,其特征在于,所述在确定所述对象更新处理逻辑执行完成之后,依据更新前的目标对象与更新后的目标对象之间的对比结果,生成所述目标对象对应的更新描述消息,包括:
16.一种湖仓元数据变更确定装置,其特征在于,包括:
17.一种电子设备,其特征在于,所述设备包括:处理器和存储器;
18.一种计算机可读介质,其特征在于,所述计算机可读介质中存储有指令或计算机程序,当所述指令或计算机程序在设备上运行时,使得所述设备执行权利要求1-15任一项所述的方法。
...【技术特征摘要】
1.一种湖仓元数据变更确定方法,其特征在于,所述方法应用于元数据存储系统,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述更新描述消息的生成过程,包括:
3.根据权利要求2所述的方法,其特征在于,若所述目标对象为表对象,则所述依据所述目标对象的类型,生成所述更新描述消息,包括:
4.根据权利要求1所述的方法,其特征在于,所述目标对象用于记录多个元数据;
5.根据权利要求4所述的方法,其特征在于,所述依据所述至少一个数据块的数据块个数,生成所述更新描述消息,包括:
6.根据权利要求1所述的方法,其特征在于,所述目标对象用于记录多个元数据;
7.根据权利要求4-6任一项所述的方法,其特征在于,所述目标对象为库对象、表对象、或者分区对象。
8.根据权利要求1所述的方法,其特征在于,所述消息接收对象为消息中间件或者所述数据引擎对应的至少一个下游对象,所述消息中间件用于向各所述下游对象提供所述更新描述消息。
9.根据权利要求1所述的方法,其特征在于,所述依据更新前的目标对象与更新后的目标对象之间的对比结果,生成所述目标对象对应的更新描述消息,包括:
10.根据权利要求1所述的方法,其特征在于,所述消息接收对象还用于接收由所述数据引擎针...
【专利技术属性】
技术研发人员:李蒙军,郭俊,孙科,徐庆,
申请(专利权)人:北京火山引擎科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。