元数据处理方法和装置与流程
未命名
08-22
阅读:186
评论:0

1.本技术涉及计算机技术领域,具体涉及数据处理技术领域,尤其涉及一种元数据处理方法和装置。
背景技术:
2.现有技术中,存算分离云原生实时数仓技术是指存储资源和计算资源分别在不同的物理机上,计算和存储可分别扩展,同时计算与存储资源云原生化,高效管理,可以极大提高资源利用率,降低运营成本,进而降本增效,实时数仓技术,可以将pb级的数据,聚合分析以秒级甚至毫秒级响应。
3.但是,基于存算分离云原生实时数仓,由于采用共享缓存技术,且实时数仓有很多的元数据常驻内存,所有节点都可查询所有数据,造成当数据量足够大的时候,资源消耗非常严重。
技术实现要素:
4.本技术实施例提供了一种元数据处理方法、装置、设备以及存储介质。
5.根据第一方面,本技术实施例提供了一种元数据处理方法,该方法包括:响应于获取到新的元数据,将新的元数据划分为一级元数据和二级元数据;基于一级元数据、计算节点数目、计算节点编号,通过预设的分配算法,将二级元数据划分为多个部分二级元数据,并确定每一部分二级元数据对应的第一计算节点;将各部分二级元数据写入对应的第一计算节点。
6.根据第二方面,本技术实施例提供了一种元数据处理装置,该装置包括:划分模块,被配置成响应于获取到新的元数据,将新的元数据划分为一级元数据和二级元数据;确定模块,被配置成基于一级元数据、计算节点数目、计算节点编号,通过预设的分配算法,将二级元数据划分为多个部分二级元数据,并确定每一部分二级元数据对应的第一计算节点;写入模块,被配置成将各部分二级元数据写入对应的第一计算节点。
7.根据第三方面,本技术实施例提供了一种电子设备,该电子设备包括一个或多个处理器;存储装置,其上存储有一个或多个程序,当一个或多个程序被该一个或多个处理器执行,使得一个或多个处理器实现如第一方面的任一实施例的元数据处理方法。
8.根据第四方面,本技术实施例提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面的任一实施例的元数据处理方法。
9.本技术通过响应于获取到新的元数据,将新的元数据划分为一级元数据和二级元数据;基于一级元数据、计算节点数目、计算节点编号,通过预设的分配算法,将二级元数据划分为多个部分二级元数据,并确定每一部分二级元数据对应的第一计算节点;将各部分二级元数据写入对应的第一计算节点,即将元数据划分为一级元数据和二级元数据,其中,一级元数据只需要存储足以确定数据分片分布情况的元数据信息,并且分配算法可根据场景自由选择,其他元数据信息,即二级元数据可以下沉到计算节点,有效减轻了内存的资源
耗费。
10.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其他特征将通过以下的说明书而变得容易理解。
附图说明
11.图1是本技术可以应用于其中的示例性系统架构图;
12.图2是根据本技术的元数据处理方法的一个实施例的流程图;
13.图3是根据本技术的元数据处理方法的一个应用场景的示意图;
14.图4是根据本技术的元数据处理方法的又一个实施例的流程图;
15.图5是根据本技术的元数据处理装置的一个实施例的示意图;
16.图6是适于用来实现本技术实施例的服务器的计算机系统的结构示意图。
具体实施方式
17.以下结合附图对本技术的示范性实施例做出说明,其中包括本技术实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本技术的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
18.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
19.图1示出了可以应用本技术的元数据处理方法的实施例的示例性系统架构100。
20.如图1所示,系统架构100可以包括元数据服务集群(metadata service)101,网络102和计算节点103、104、105。网络102用以在元数据服务集群101和计算节点103、104、105之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
21.元数据服务集群101通过网络102与计算节点103、104、105交互,以接收或发送消息等。元数据服务集群101主要用来解决分布式应用中经常遇到的一些数据管理服务,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。
22.具体地,元数据服务集群101用于响应于获取到新的元数据,将新的元数据划分为一级元数据和二级元数据;基于一级元数据、计算节点数目、计算节点编号,通过预设的分配算法,将二级元数据划分为多个部分二级元数据,并确定每一部分二级元数据对应的第一计算节点;将各部分二级元数据写入对应的计算节点。
23.进一步地,元数据服务集群101还可用于存储全量的轻量级的一级元数据以供元数据查询。
24.计算节点103、104、105可以是硬件,也可以是软件。当计算节点103、104、105为硬件时,可以是具有显示屏的各种电子设备,包括但不限于手机和笔记本电脑。当计算节点103、104、105为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。
25.需要说明的是,元数据服务集群101可以是硬件,也可以是软件。当元数据服务集群101为硬件时,可以实现成多个服务器组成的分布式服务器集群。当服务器为软件时,可
以实现成多个软件或软件模块(例如用来提供元数据处理服务),也可以实现成单个软件或软件模块。在此不做具体限定。
26.需要指出的是,本公开的实施例所提供的元数据处理方法通常由元数据服务集群101执行。相应地,元数据处理装置包括的各个部分(例如各个单元、子单元、模块、子模块)可以全部设置于元数据服务集群101中。
27.应该理解,图1中的元数据服务集群、网络和计算节点的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
28.图2示出了可以应用于本技术的元数据处理方法的实施例的流程示意图200。在本实施例中,元数据处理方法包括以下步骤:
29.步骤201,响应于获取到新的元数据,将新的元数据划分为一级元数据和二级元数据。
30.在本实施例中,执行主体(如图1中所示的元数据服务集群101)可实时或定期监测新的元数据,响应于获取到新的元数据,可将新的元数据划分为一级元数据和二级元数据,其中,一级元数据为用于确定数据分布情况的元数据信息,二级元数据为新的元数据中除一级元数据之外的元数据信息。
31.其中,一级元数据可以包括最小单位的索引值,例如,用户分区、最小块号、最大块号、合并次数等,具体地,一级元数据为:数据库名-表名-文件名,通常一级元数据内存占比较小。
32.这里,需要指出的是,对于最小单位,不同系统可以采用不同的规则,取决于最小命中单位。
33.其中,二级元数据通常会包含最小单位数据下的其他元数据信息,如:列信息,checksum信息,各种索引信息等,内存占比较高。
34.步骤202,基于一级元数据、计算节点数目、计算节点编号,通过预设的分配算法,将二级元数据划分为多个部分二级元数据,并确定每一部分二级元数据对应的第一计算节点。
35.在本实施例中,执行主体在将元数据划分为一级元数据和二级元数据后,可基于一级元数据、当前节点集群中的计算节点数目、计算节点编号,通过预设的分配算法,将二级元数据所包括的元数据信息划分为多个部分二级元数据并确定每一部分二级元数据对应的第一计算节点,即确定每一部分二级元数据对应的计算节点的编号。
36.其中,预设的分配算法可现有技术或未来发展技术中的分布算法,例如,哈希分布、均匀分布等。
37.在一些可选的方式中,预设的分配算法为以下一项:哈希分布、范围分布、均匀分布、分区键分布。
38.在本实现方式中,哈希分布用于指示将数据通过哈希函数映射到不同的计算节点上,通常使用一致性哈希算法实现;范围分布用于指示将数据划分为不同的区间(例如按照id或者时间划分),然后将不同的区间分配给不同的计算节点进行处理。均匀分布用于指示将数据平均地分配到不同的计算节点上,以保证每个计算节点的负载均衡;分区键分布,用于指示根据数据的某些属性(例如用户分区键)对数据进行分区,并将每个分区分配给不同的计算节点进行处理。
39.该实现方式通过基于一级元数据、计算节点数目、计算节点编号,采用以下一项分配算法:哈希分布、范围分布、均匀分布、分区键分布,对二级元数据所包括的元数据信息进行划分,并确定每一部分对应的第一计算节点,提升了分配的准确性和有效性。
40.步骤203,将各部分二级元数据写入对应的第一计算节点。
41.在本实施例中,执行主体在将二级元数据所包括的元数据信息划分为多个部分二级元数据并确定每一部分二级元数据对应的计算节点后,可直接将各部分二级元数据写入对应的计算节点,也可首先将新的元数据写入节点集群中的任一计算节点,并使节点集群中的其余计算节点同步该新的元数据的一级元数据,对于具有一级元数据的每一计算节点,响应于确定该计算节点为第一计算节点,即基于预设的分配算法确定的计算节点,控制第一计算节点加载对应的部分二级元数据,本技术对此不作限定。
42.继续参见图3,图3是根据本实施例的元数据处理方法的应用场景的一个示意图。
43.在图3的应用场景中,在整个存算分离云原生实时数仓架构中,执行主体301,即提供分布式协调服务的metadata service,响应于获取到新的元数据302,将新的元数据302划分为一级元数据303和二级元数据304,其中,一级元数据303为用于确定数据分布情况的元数据信息,例如,数据库名-表名-文件名,所述二级元数据304为所述新的元数据中除所述一级元数据之外的元数据信息,如,列信息,checksum信息,各种索引信息等;基于一级元数据、计算节点数目、计算节点编号,通过预设的分配算法,将所述二级元数据304划分为多个部分二级元数据305,并确定每一部分二级元数据对应的第一计算节点306、307、308;将各部分二级元数据写入对应的第一计算节点306、307、308。
44.本公开的元数据处理方法,通过响应于获取到新的元数据,将新的元数据划分为一级元数据和二级元数据;基于一级元数据、计算节点数目、计算节点编号,通过预设的分配算法,将二级元数据划分为多个部分二级元数据,并确定每一部分二级元数据对应的第一计算节点;将各部分二级元数据写入对应的第一计算节点,将内存占比较大的二级元数据可以下沉到计算节点,有效减轻了内存的资源耗费。
45.进一步参考图4,其示出了图2所示的元数据处理方法的又一个实施例的流程400。在本实施例中,元数据处理方法的流程400,可包括以下步骤:
46.步骤401,响应于获取到新的元数据,将新的元数据划分为一级元数据和二级元数据。
47.在本实施例中,步骤401的实现细节和技术效果,可以参考对步骤201的描述,在此不再赘述。
48.步骤402,基于一级元数据、计算节点数目、计算节点编号,通过预设的分配算法,将二级元数据划分为多个部分二级元数据,并确定每一部分二级元数据对应的第一计算节点。
49.在本实施例中,步骤402的实现细节和技术效果,可以参考对步骤202的描述,在此不再赘述。
50.步骤403,将新的元数据写入节点集群中的任一计算节点,并使节点集群中的其余计算节点同步该新的元数据的一级元数据。
51.在本实施例中,执行主体可将上述新的元数据写入节点集群中的任一计算节点,并使节点集群中的其余计算节点同步该新的元数据的一级元数据。
52.其中,节点集群中可以包括多个计算节点。
53.步骤404,对于具有一级元数据的每一计算节点,响应于确定该计算节点为第一计算节点,加载对应的部分二级元数据。
54.在本实施例中,对于其余计算节点中的每一计算节点,执行主体可基于一级元数据及预设的分配算法判断该节点是否为第一计算节点,响应于确定该计算节点为第一计算节点,控制该计算节点加载对应的部分二级元数据。
55.在一些可选的方式中,对于最先写入新的元数据的计算节点,响应于确定该计算节点不是第一计算节点,删除该计算节点中的二级元数据。
56.在本实现方式中,对于最先写入新的元数据的计算节点,即上述将新的元数据写入节点集群中的任一计算节点,执行主体可判断该计算节点是否为第一计算节点,若该计算节点不是第一计算节点,则可在内存中异步删除该计算节点中新的元数据中的二级元数据。
57.该实现方式通过对于最先写入新的元数据的计算节点,响应于确定该计算节点不是第一计算节点,删除该计算节点中的二级元数据,减少了写入的计算节点的资源消耗。
58.在一些可选的方式中,该方法还包括:响应于确定节点集群发生变化,并且存在第二计算节点,从共享存储中加载对应的部分二级元数据至第二计算节点。
59.在本实现方式中,由于当前发生扩缩容或failover时,节点集群会发生变化,查询时会根据实时的节点集群状态,去查询各个计算节点相对应的数据,但这种情况下可能会造成当一个计算节点发现数据归自己查询,但是内存中没有二级元数据的问题。
60.执行主体可实时或定期监测节点集群是否发生变化,如是否发生扩容、缩容、failover等,若节点集群发生变化,并且存在第二计算节点,其中,第二计算节点为缺少对应的部分二级元数据的计算节点,则从共享存储中加载对应的部分二级元数据。
61.这里,共享存储中存储有全量的元数据。
62.具体地,执行主体可设置预取逻辑,当节点集群发生变化时,各个计算节点会重新加载,若存在数据归这个计算节点处理但没有所需的部分二级元数据,即存在第二计算节点,则从共享存储提前加载对应的部分二级元数据。
63.该实现方式通过响应于确定节点集群发生变化,并且存在第二计算节点,从共享存储中加载对应的部分二级元数据至第二计算节点,提升了数据存储以及查询的有效性和可靠性。
64.在一些可选的方式中,该方法还包括:定期查询各计算节点中的元数据信息,对于每一计算节点,响应于确定该计算节点中存在不被使用,且与该计算节点不对应的元数据信息,将元数据信息回收。
65.在本实现方式中,由于扩缩容、failover等常会产生一些多余的元数据信息,执行主体可定期查询各计算节点中的元数据信息(一级元数据和/或部分二级元数据),对于每一计算节点,响应于确定该计算节点中存在不被使用,且与该计算节点不对应的元数据信息,可将元数据信息回收。
66.具体地,执行主体可设置定期执行的回收逻辑:当计算节点中的元数据信息没有被使用且与计算节点不对应时,回收该计算节点中的元数据信息。
67.该实现方式通过定期查询各计算节点中的元数据信息,对于每一计算节点,响应
于确定该计算节点中存在不被使用,且与该计算节点不对应的元数据信息,将元数据信息回收,减少了写入的计算节点的资源消耗。
68.在一些可选的方式中,该方法还包括:存储一级元数据,基于一级元数据执行查询操作。
69.在本实现方式中,执行主体在将新的元数据写入任一计算节点后,计算节点可将新的元数据的一级元数据同步至执行主体,执行主体响应于接收到计算节点同步的以及元数据,可存储一级元数据,并在将各部分二级元数据写入对应的计算节点后,以一级元数据为基准,根据上述预设的分配算法,查询存储在各计算节点的部分二级元数据,以实现元数据查询。
70.此外,需要指出的是,作为基准的一级元数据通常是存储在本地的一级元数据,但也可以是写入计算节点的一级元数据。
71.该实现方式通过存储一级元数据,基于一级元数据执行查询操作,实现了元数据分级存储后的有效查询。
72.从图4中可以看出,与图2对应的实施例相比,本实施例中的元数据处理方法的流程400体现了将新的元数据写入节点集群中的任一计算节点,并使节点集群中的其余计算节点同步该新的元数据的一级元数据,对于具有一级元数据的每一计算节点,响应于确定该计算节点为第一计算节点,加载对应的部分二级元数据,即将新的元数据写入任一计算节点由各计算节点自动加载对应的部分二级元数据,提升了部分二级元数据的写入效率。
73.进一步参考图5,作为对上述各图所示方法的实现,本技术提供了一种元数据处理装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
74.如图5所示,本实施例的元数据处理装置500包括:划分模块501、确定模块502和写入模块503。
75.其中,划分模块501,可被配置成响应于获取到新的元数据,将新的元数据划分为一级元数据和二级元数据。
76.确定模块502,可被配置成基于一级元数据、计算节点数目、计算节点编号,通过预设的分配算法,将二级元数据划分为多个部分二级元数据,并确定每一部分二级元数据对应的第一计算节点。
77.写入模块503,可被配置成将各部分二级元数据写入对应的第一计算节点。
78.在本实施例的一些可选的方式中,写入模块进一步被配置成将新的元数据写入节点集群中的任一计算节点,并使节点集群中的其余计算节点同步该新的元数据的一级元数据;对于具有一级元数据的每一计算节点,响应于确定该计算节点为所述第一计算节点,加载对应的部分二级元数据。
79.在本实施例的一些可选的方式中,发布模块进一步被配置成:展示目标数据对应的预览效果图;响应于确定预览效果图符合预设条件,发布目标数据。
80.在本实施例的一些可选的方式中,该装置还包括删除模块,被配置成对于最先写入新的元数据的计算节点,响应于确定该计算节点不是第一计算节点,删除该计算节点中的二级元数据。
81.在本实施例的一些可选的方式中,该装置还包括:查询模块,被配置成存储一级元
数据,基于所述一级元数据执行查询操作。
82.在本实施例的一些可选的方式中,该装置还包括:加载模块,被配置成响应于确定所述节点集群发生变化,并且存在第二计算节点,从共享存储中加载对应的部分二级元数据至第二计算节点。
83.在本实施例的一些可选的方式中,该装置还包括:回收模块,被配置成定期查询各计算节点中的元数据信息,对于每一计算节点,响应于确定该计算节点中存在不被使用,且与该计算节点不对应的元数据信息,将元数据信息回收。
84.在本实施例的一些可选的方式中,预设的分配算法为以下一项:哈希分布、范围分布、均匀分布、分区键分布。
85.根据本技术的实施例,本技术还提供了一种电子设备和一种可读存储介质。
86.如图6所示,是根据本技术实施例的元数据处理方法的电子设备的框图。
87.600是根据本技术实施例的元数据处理方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本技术的实现。
88.如图6所示,该电子设备包括:一个或多个处理器601、存储器602,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示gui的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图6中以一个处理器601为例。
89.存储器602即为本技术所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本技术所提供的元数据处理方法。本技术的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本技术所提供的元数据处理方法。
90.存储器602作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本技术实施例中的元数据处理方法对应的程序指令/模块(例如,附图5所示的划分模块501、确定模块502和写入模块503)。处理器601通过运行存储在存储器602中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的元数据处理方法。
91.存储器602可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储元数据处理的电子设备的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器602可选包括相对于处理器601远程设置的存储器,这些远程存储器可以通过网络连接
至元数据处理的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
92.元数据处理方法的电子设备还可以包括:输入装置603和输出装置604。处理器601、存储器602、输入装置603和输出装置604可以通过总线或者其他方式连接,图6中以通过总线连接为例。
93.输入装置603可接收输入的数字或字符信息,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置604可以包括显示设备、辅助照明装置(例如,led)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(lcd)、发光二极管(led)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
94.此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用asic(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
95.这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(pld)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
96.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
97.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
98.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计
算机程序来产生客户端和服务器的关系。
99.根据本技术实施例的技术方案,有效减轻了内存的资源耗费。
100.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本技术公开的技术方案所期望的结果,本文在此不进行限制。
101.上述具体实施方式,并不构成对本技术保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本技术的精神和原则之内所作的修改、等同替换和改进等,均应包含在本技术保护范围之内。
技术特征:
1.一种元数据处理方法,所述方法包括:响应于获取到新的元数据,将所述新的元数据划分为一级元数据和二级元数据,其中,所述一级元数据为用于确定数据分布情况的元数据信息,所述二级元数据为所述新的元数据中除所述一级元数据之外的元数据信息;基于所述一级元数据、计算节点数目、计算节点编号,通过预设的分配算法,将所述二级元数据划分为多个部分二级元数据,并确定每一部分二级元数据对应的第一计算节点;将各部分二级元数据写入对应的第一计算节点。2.根据权利要求1所述的方法,其中,所述将各部分二级元数据写入对应的第一计算节点,包括:将所述新的元数据写入节点集群中的任一计算节点,并使所述节点集群中的其余计算节点同步该新的元数据的一级元数据,所述节点集群包括多个计算节点;对于具有一级元数据的每一计算节点,响应于确定该计算节点为所述第一计算节点,加载对应的部分二级元数据。3.根据权利要求2所述的方法,所述方法还包括:对于最先写入新的元数据的计算节点,响应于确定该计算节点不是第一计算节点,删除该计算节点中的二级元数据。4.根据权利要求2所述的方法,所述方法还包括:存储一级元数据,基于所述一级元数据执行查询操作。5.根据权利要求2所述的方法,所述方法还包括:响应于确定所述节点集群发生变化,并且存在第二计算节点,从共享存储中加载对应的部分二级元数据至第二计算节点,其中,所述第二计算节点为缺少对应的部分二级元数据的计算节点。6.根据权利要求2所述的方法,所述方法还包括:定期查询各计算节点中的元数据信息,对于每一计算节点,响应于确定该计算节点中存在不被使用,且与该计算节点不对应的元数据信息,将所述元数据信息回收。7.根据权利要求1-6任一所述的方法,其中,所述预设的分配算法为以下一项:哈希分布、范围分布、均匀分布、分区键分布。8.一种元数据处理装置,所述装置包括:划分模块,被配置成响应于获取到新的元数据,将所述新的元数据划分为一级元数据和二级元数据,其中,所述一级元数据为用于确定数据分布情况的元数据信息,所述二级元数据为所述新的元数据中除所述一级元数据之外的元数据信息;确定模块,被配置成基于所述一级元数据、计算节点数目、计算节点编号,通过预设的分配算法,将所述二级元数据划分为多个部分二级元数据,并确定每一部分二级元数据对应的第一计算节点;写入模块,被配置成将各部分二级元数据写入对应的第一计算节点。9.一种电子设备,其特征在于,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行,以使所述至少一个处理器能够执行
权利要求1-7中任一项所述的方法。10.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-7中任一项所述的方法。
技术总结
本申请公开了元数据处理方法和装置,涉及数据处理技术领域。该方法的一具体实施方式包括:响应于获取到新的元数据,将新的元数据划分为一级元数据和二级元数据;基于一级元数据、计算节点数目、计算节点编号,通过预设的分配算法,将二级元数据划分为多个部分二级元数据,并确定每一部分二级元数据对应的第一计算节点;将各部分二级元数据写入对应的第一计算节点。该实施方式有效减轻了内存的资源耗费。该实施方式有效减轻了内存的资源耗费。该实施方式有效减轻了内存的资源耗费。
技术研发人员:王学伟
受保护的技术使用者:京东科技信息技术有限公司
技术研发日:2023.05.19
技术公布日:2023/8/21
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/