CN113468166B - 元数据处理方法、装置、存储介质及服务器 - Google Patents

元数据处理方法、装置、存储介质及服务器 Download PDF

Info

Publication number
CN113468166B
CN113468166B CN202010246083.8A CN202010246083A CN113468166B CN 113468166 B CN113468166 B CN 113468166B CN 202010246083 A CN202010246083 A CN 202010246083A CN 113468166 B CN113468166 B CN 113468166B
Authority
CN
China
Prior art keywords
metadata
information
data
target
user
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
CN202010246083.8A
Other languages
English (en)
Other versions
CN113468166A (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.)
Guangzhou Huya Technology Co Ltd
Original Assignee
Guangzhou Huya 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 Guangzhou Huya Technology Co Ltd filed Critical Guangzhou Huya Technology Co Ltd
Priority to CN202010246083.8A priority Critical patent/CN113468166B/zh
Publication of CN113468166A publication Critical patent/CN113468166A/zh
Application granted granted Critical
Publication of CN113468166B publication Critical patent/CN113468166B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • 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
    • 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/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses

Abstract

本发明提供一种元数据处理方法、装置、存储介质及服务器,所述元数据处理方法包括:在大数据平台中,根据预设的元数据模型构建统一的元数据管理系统;其中,所述元数据模型包括描述元数据信息及业务信息的逻辑层,以及描述数据物理存储的信息,并将从底层系统查询到的检索信息反馈至逻辑层的物理层;将所述大数据平台的元数据同步到该元数据管理系统中,并为各个元数据建立索引;获取用户输入的查询元数据的局部信息,根据所述局部信息检索出与输入信息有关联的元数据列表,并按照相关性对元数据进行排序;根据用户对所述元数据列表中元数据的选择,确定目标元数据,从而无需用户关心不同技术框架的元数据,提高了元数据处理效率。

Description

元数据处理方法、装置、存储介质及服务器
技术领域
本发明涉及互联网的数据处理技术领域,具体而言,本发明涉及一种元数据处理方法、装置、存储介质及服务器。
背景技术
大数据平台的出现是为了解决数据仓库不能处理非结构化数据和报表开发周期长的问题,所以先撇开业务需求,把用户的所有数据都抽取出来放到一起,成为一个大的数据集,其中有结构化数据、非结构化数据等。当用户有需求的时候,再提取出用户需要的若干个小数据集,以小数据集的形式提供给用户进行使用。
然而,在搭建大数据平台的过程中,需要涉及到众多的数据存储系统以及数据计算引擎,其中不同的数据存储系统以及计算引擎都有其特定的元数据管理系统,通过大数据平台获取特定的数据集时,往往需要根据业务特点使用不同的存储与计算框架,也就需要关心不同技术框架的元数据,因此不便于普通用户的使用,使得元数据处理效率较低。
发明内容
本发明的目的旨在提供一种元数据处理方法,以解决当前的元数据处理,需要用户关心不同技术框架的元数据,不便于用户的使用,使得元数据处理效率较低的问题。
本发明提供的一种元数据处理方法,包括:
在大数据平台中,根据预设的元数据模型构建统一的元数据管理系统;其中,所述元数据模型包括描述元数据信息及业务信息的逻辑层,以及描述数据物理存储的信息,并将从底层系统查询到的检索信息反馈至逻辑层的物理层;
将所述大数据平台的元数据同步到该元数据管理系统中,并为各个元数据建立索引;
获取用户输入的查询元数据的局部信息,根据所述局部信息检索出与输入信息有关联的元数据列表,并按照相关性对元数据进行排序;
根据用户对所述元数据列表中元数据的选择,确定目标元数据。
在一实施例中,所述将所述大数据平台的元数据同步到该元数据管理系统中,并为各个元数据建立索引的步骤,包括:
将大数据平台的各个大数据存储框架的元数据同步到该元数据管理系统中;其中,所述元数据采用目标格式进行存储,并对整个目标结构进行倒排索引处理;
按照相关性对元数据进行排序的步骤,包括:
按照相关性从高到低的顺序对元数据进行排序。
在一实施例中,在确定目标元数据之后,还包括:
根据检索得到的元数据,获取数据仓库的目标数据仓库工具的元数据信息;
根据所述元数据信息直接使用或链接至目标数据仓库工具。
在一实施例中,在确定目标元数据之后,还包括:
通过元数据管理系统获取到元数据后,得到消息系统的元数据信息;其中,所述消息系统为收集实时数据的系统;
通过格式化得到元数据在消息系统中的存储格式,便于用户进行数据开发。
在一实施例中,得到消息系统的元数据信息之后,还包括:
根据所述元数据信息使用或链接到消息系统和实时平台。
进一步地,所述元数据处理方法还包括:
遍历物理层中所述目标元数据的采集来源信息,确定所述目标元数据的上下游信息;
根据所述目标元数据的上下游信息,生成所述目标元数据的血缘关系。
在一实施例中,所述确定所述元数据的上下游信息之前,还包括:
根据所述采集来源信息确定目标元数据的来源名称;
获取与所述来源名称相同名称的数据列表,从所述数据列表中提取目标元数据的上下游信息。
在一实施例中,遍历物理层中所述目标元数据的采集来源信息之前,还包括:
将元数据的采集来源信息通过数据导入、软件开发工具包上传、接口上报或数据采集的方式存储在物理层中。
本发明提供的一种元数据处理装置,包括:
构建模块,用于在大数据平台中,根据预设的元数据模型构建统一的元数据管理系统;其中,所述元数据模型包括描述元数据信息及业务信息的逻辑层,以及描述数据物理存储的信息,并将从底层系统查询到的检索信息反馈至逻辑层的物理层;
同步模块,用于将所述大数据平台的元数据同步到该元数据管理系统中,并为各个元数据建立索引;
检索模块,用于获取用户输入的查询元数据的局部信息,根据所述局部信息检索出与输入信息有关联的元数据列表,并按照相关性对元数据进行排序;
确定模块,用于根据用户对所述元数据列表中元数据的选择,确定目标元数据。
本发明提供的一种存储介质,其上存储有计算机程序,
所述计算机程序被处理器执行时实现上述任意一项技术方案所述的元数据处理方法。
本发明提供的一种服务器,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述任意一项技术方案所述的元数据处理方法。
相对于现有技术,本发明具有以下优势:
通过在大数据平台中,根据预设的元数据模型构建统一的元数据管理系统;其中,元数据模型包括描述元数据信息及业务信息的逻辑层,以及描述数据物理存储的信息,并将从底层系统查询到的检索信息反馈至逻辑层的物理层;因此对于大数据平台开发人员而言,当引入一种新的数据存储框架时,只需要在物理层操作该存储框架的元数据即可,无需关注底层系统的情况;对于业务人员而言,只需关注逻辑层上的内容而不必了解元数据在物理层面的具体存储,从而便于开发人员及业务人员的使用。此外,本申请将大数据平台的元数据同步到该元数据管理系统中,并为各个元数据建立索引;当用户需要查询元数据时,通过获取用户输入的查询元数据的局部信息,根据该局部信息检索出与输入信息有关联的元数据列表,并按照相关性对元数据进行排序,根据用户对所述元数据列表中元数据的选择,确定目标元数据,从而实现动态地更新元数据底层的存储框架而不影响业务的使用方式,减少因更新数据存储引擎而对业务方造成的使用习惯的影响,使得业务可以更专注地实现自己的业务逻辑。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为一个实施例中提供的大数据平台技术架构图;
图2为一个实施例提供的大数据平台功能架构图;
图3为本发明元数据处理方法一种实施例的流程框图;
图4为本发明一个实施例的元数据模型的模块框图;
图5为本发明元数据处理方法又一种实施例的流程框图;
图6为本发明一个实施例的离线数据的使用过程的流程框图;
图7为本发明一个实施例的实时数据的使用过程的流程框图;
图8为本发明一个实施例的血缘关系生成过程的流程框图;
图9为本发明元数据处理装置一种实施例的模块框图;
图10为本发明一个实施例的服务器的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本发明实施例所涉及到的名词:
Hive:hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
Clickhouse:Clickhouse是一个用于联机分析处理(OLAP)的列式数据库管理系统(columnar DBMS)。
Kafka:Kafka是一个为处理实时数据提供一个统一、高吞吐、低延迟的平台,本质上是一个分布式的、可划分的、冗余备份的、持久性的消息系统。
ElasticSearch:Elasticsearch(ES)是一个基于Lucene构建的开源、分布式、RESTful接口的全文搜索引擎。Elasticsearch还是一个分布式文档数据库,其中每个字段均可被索引,而且每个字段的数据均可被搜索,ES能够横向扩展至数以百计的服务器存储以及处理PB级的数据,可以在极短的时间内存储、搜索和分析大量的数据。
如图1所示,在一种大数据平台的架构中,将大数据平台的相关组件搭建起来之后,在应用层上形成了多种多样的应用,包括日志服务、数据ETL服务、即席查询服务、数据采集服务、离线数据分析服务及BI报表服务等,这些服务通过配置不同任务使用平台调度层进行具体任务的执行。
该平台的功能架构如图2所示,数据可以通过客户端上传导入、接口上报、sdk上报或者通过统一的日志采集服务进行采集,采集完的数据根据业务方的需求,将数据分别存储到不同的存储系统中。大数据平台根据不同的业务需求,提供多种数据处理和查询接口。例如,对于实时ETL(Extraction-Transformation-Loading,数据抽取、转换和加载),需要将数据导入到kafka中,然后通过Flink进行实时ETL,再将清洗过的数据导入数据库或者Clickhouse中用于提供数据服务;对于离线ETL,需要将数据存储到hive中,然后调用HiveSQL进行ETL,再将清洗过的数据导入数据库或者Clickhouse中用于提供数据服务。
然而,该大数据平台架构由于技术架构比较多,每种架构有其特定的应用场景,用户需要关心大数据平台的技术架构,然后根据不同业务需求选择相对应的技术框架,导致用户使用不便。例如,当业务方需要从hive表中清洗数据并导入到Clickhouse中时,业务方需要在Clickhouse的元数据管理系统中新建表,然后使用Hive SQL进行ETL,再将数据导入对应的Clickhouse表中,在这个过程,用户需要关心数据在哪个hive表哪个分区,ETL之后导入哪个结果表,在进行ETL任务编写的时候,往往还要通过即系查询服务了解自己的数据格式,同一份业务数据在不同的存储系统中会存在不同的元数据,这些元数据用户都需要关心,这就加大了大数据平台的使用难度,延长了数据ETL的落地速度。此外,由于元数据分散在不同的系统中,用户搜索数据时,需要到对应框架的元数据系统中进行检索,然后再使用,操作繁琐。
因此,如图3所示,本发明提供了一种元数据处理方法,以解决当前用户通过大数据平台获取特定的数据集时,往往需要根据业务特点使用不同的存储与计算框架,也就需要关心不同技术框架的元数据,因此不便于普通用户的使用,使得元数据处理效率较低的问题。所述元数据处理方法包括:
S11、在大数据平台中,根据预设的元数据模型构建统一的元数据管理系统;其中,所述元数据模型包括描述元数据信息及业务信息的逻辑层,以及描述数据物理存储的信息,并将从底层系统查询到的检索信息反馈至逻辑层的物理层;
本步骤可在当前大数据平台的架构上增加元数据模型,并与该架构的相应组件建立连接,从而形成统一的元数据管理系统,以便于元数据的检索、离线数据的使用、实时数据的使用以及血缘关系的生成等操作。基于该元数据模型,技术侧可兼容不同大数据平台的元数据,用户侧可提高数据的查询效率,降低平台数据的使用难度。
具体地,如图4所示,该元数据模型是一种分层的、可扩展的元数据模型,其主要分成两个层,逻辑层和物理层。所述逻辑层主要面向用户侧,用于描述元数据信息及业务信息等用户易于理解的信息;所述物理层分别与逻辑层及底层系统建立连接,用于描述数据物理存储的信息,如元数据的存储路径、格式等等,并将从底层系统查询到的检索信息反馈至逻辑层,以便用户查看。
其中,逻辑层主要包含元数据的名称以及逻辑字段等元数据信息,具体的定义可如下所示:
dataName:string,元数据名称;
dataCaption:string,元数据索引名称;
description:string,元数据备注;
dataOwner:struct,数据拥有者,包括:
-users:string,用户名;
-group:string,用户组;
tags:array,元数据标签列表,用于分类;
dataBizModule:string,元数据业务模块,集成公司的统一业务管理模块;
platform:string,对接元数据的平台;
columns:array,逻辑层字段列表,每个字段的描述具体如下:
-bizName:string,业务字段名;
-name:string,业务表字段名,在逻辑层字段列表中唯一;
-type:string,数据类型,支持JDBCType类型;
-description:字段描述;
物理层包含两个方面的数据,包括数据来源以及数据内容存储的具体框架。该数据来源指的是大数据平台的数据采集来源,可包含数据导入、sdk上报、接口上报或数据采集等。数据存储框架主要包括Kafka、Clickhouse、Hive等等,对于具体的数据存储框架,每个框架有其自定义的元数据,用户可以根据自身需要进行元数据字段的扩展。具体的,物理层的定义可如下所示:
source:struct,数据内容来源;
-sourceDataName:string,数据上游的元数据名,用于建立血缘关系;
-sourceType:string,数据源的类型,具体指数据采集系统的名称;
-format:struct,数据源的格式,包括CSV,JSON,AVRO等;
--name:string,格式名称,CSV,JSON,AVRO;
--schema:string,当name为JSON或AVRO时设置;
--delimiter:string,分隔符,当name为CSV时设置;
stores:array,数据存储列表,数据存储框架的元数据;
-name:存储层名称;
-type:存储框架的类型,包括Kafka,Clickhouse,Hive等;
-description:该存储层的备注;
-具体存储框架的其他元数据信息。
在逻辑层中,数据存储框架可以分为两种,一种是有表结构的,如Clickhouse,Hive等,可以用来存储结构化数据;另一种是没有表结构的,比如kafka,可以用于存储原始日志数据或者实时数据。
对于有表结构的存储,具体包括数据库名、表名、表的描述信息、建表语句和字段的详细信息等,具体元数据定义可如下所示:
database:string,数据库名;
table:string,表名;
tableDesc:string,表的描述;
ddl:string,建表语句;
columns:array,字段列表;
-storeType:string,具体的存储引擎;
-logicRef:string,指向逻辑层的字段名,用于关联字段;
-name:string,物理层字段名;
-type:string,字段类型,跟存储引擎相关;
-description:string,字段说明;
-其他的字段约束与具体的数据库相关。
例如,本申请提供的hive和clickhouse两个引擎的元数据定义。Hive的元数据主要包括数据在HDFS(Hadoop Distributed File System,Hadoop分布式文件系统)上的存储路径、hive表的分区字段信息、hive表对应metastore服务的元数据id(用于同步元数据修改信息或查看更详细的元数据信息)以及文件存储格式等。
具体的,Hive的元数据定义可如下所示:
dbLocationUri:string,数据HDFS路径;
partitionKeys:string,表分区字段信息,用逗号分隔;
tblId:long,hive表对应metastore服务的元数据id;
external:boolean,用于标识是否外部表;
fileFormat:string,文件存储格式;
Clickhouse主要包括对应clickhouse系统元数据的id(用于同步元数据修改信息或查看更详细的元数据信息)、数据保留天数、表分区字段名、主键表达式、排序键表达式、字段的约束信息等。
具体的,Clickhouse的元数据定义如下所示:
metaId:long,对应到clickhouse系统元数据的id;
retention:int,数据保留天数;
partitionKey:string,表分区字段名,逗号分隔;
primaryKey:string,主键表达式;
orderKey:string,排序键表达式;
字段的约束如下:
-notNull:boolean,字段是否非空;
-defaultExpression:string,字段默认表达式;
-codecExpression:string,字段编码;
-ttlExpression:string,字段数据ttl表达式,用于计算过期时间。
对于无表结构的数据存储框架,以kafka为例。Kafka的元数据内容包括kafka的连接地址,当前数据在kafka中存储的topic以及该topic在kafka系统的id(通过该id可以从kafka系统中获取更详细的元数据,如topic的分区数等),该topic对应kakfa系统的集群ID(kafka是多集群搭建的,可能存在同个topic名出现在不同集群中的情况)、kafka消息加密的授权信息、消费组的列表及消息的存储格式等。
具体的,Kafka的元数据定义可如下所示:
type:"KAFKA",存储框架的类型;
brokers:string,记录kafka的broker地址;
mwTopicId:long,kafka系统对应的topicId;
topic:string,topic名称;
clusterId:long,kafka系统对应的集群Id;
topicProduceId:long,kafka系统的生产Id;
consumerGroups:array,kafka的consumergroup列表;
-mwGroupId:long,kafka系统对应的consumer group Id;
-consumerGroup:string,consumer group的名称;
sasl:boolean,是否支持sasl加密;
userName:string,sasl加密的用户名;
password:string,sasl加密的密码;
mechanismType:string,sasl加密方式;
format:struct,数据格式包括CSV,JSONAVRO等;
-name:string,格式名称,CSV,JSON,AVRO;
-schema:string,当name为JSON或AVRO时设置;
-delimiter:string,分隔符,当name为CSV时设置。
S12、将所述大数据平台的元数据同步到该元数据管理系统中,并为各个元数据建立索引;
索引是对数据库表中一列或多列的值进行排序的一种结构,只有当经常查询索引列中的数据时,才需要在表上创建索引,在经常需要查询的表的字段上创建索引,可以加快搜索的速度。本步骤可将大数据平台的所有元数据同步至元数据管理系统中,并建立各个元数据的索引,以后续查询元数据时,直接从元数据管理系统中获取大数据平台的元数据,提高元数据的检索效率。
S13、获取用户输入的查询元数据的局部信息,根据所述局部信息检索出与输入信息有关联的元数据列表,并按照相关性对元数据进行排序;
用户查找元数据时,只需要输入该元数据的局部信息,比如逻辑层的字段信息、元数据的拥有者或元数据名称等局部信息,即可根据该局部信息检索出与输入信息有关联的元数据列表。其中,该元数据列表含有与局部信息相同字段的若干个元数据,该元数据列表还可按照相关性的高低进行排序,并将与局部信息相关性较弱的元数据进行淘汰,以便用户进行筛选。
S14、根据用户对所述元数据列表中元数据的选择,确定目标元数据。
用户根据排序好的元数据列表,从元数据列表中选择需要的元数据,从而得到目标元数据,如选择与局部信息相关性较高的元数据作为目标元数据,以便利用目标元数据帮助用户了解数据,提供有关信息,以及便于用户处理和转换有用数据。
本发明提供的元数据处理方法,通过在大数据平台中,根据预设的元数据模型构建统一的元数据管理系统;其中,元数据模型包括描述元数据信息及业务信息的逻辑层,以及描述数据物理存储的信息,并将从底层系统查询到的检索信息反馈至逻辑层的物理层;因此对于大数据平台开发人员而言,当引入一种新的数据存储框架时,只需要在物理层操作该存储框架的元数据即可,无需关注底层系统的情况;对于业务人员而言,只需关注逻辑层上的内容而不必了解元数据在物理层面的具体存储,从而便于开发人员及业务人员的使用。此外,本申请将大数据平台的元数据同步到该元数据管理系统中,并为各个元数据建立索引;当用户需要查询元数据时,通过获取用户输入的查询元数据的局部信息,根据该局部信息检索出与输入信息有关联的元数据列表,并按照相关性对元数据进行排序,根据用户对所述元数据列表中元数据的选择,确定目标元数据,从而实现动态地更新元数据底层的存储框架而不影响业务的使用方式,减少因更新数据存储引擎而对业务方造成的使用习惯的影响,使得业务可以更专注地实现自己的业务逻辑。
在一实施例中,在步骤S12中,所述将所述大数据平台的元数据同步到该元数据管理系统中,并为各个元数据建立索引的步骤,可具体包括:
将大数据平台的各个大数据存储框架的元数据同步到该元数据管理系统中;其中,所述元数据采用目标格式进行存储,并对整个目标结构进行倒排索引处理;
按照相关性对元数据进行排序的步骤,包括:
按照相关性从高到低的顺序对元数据进行排序。
在本实施例中,将所述大数据平台的元数据同步到该元数据管理系统时,该元数据模型可采用json格式的目标格式进行存储,并对整个json结构做倒排索引,元数据服务可以对业务方提供全文检索服务,以解决用户查找数据困难的问题。由于本申请采用倒排索引对元数据进行索引,用户可以通过信息检索的方式检索出需要的数据,而不需要通过在不同的技术框架的元数据中进行查找。此外,本申请的元数据列表,将元数据按照与局部信息的相关性从高到低的顺序进行排序,以便用户选择目标元数据。
具体的,如图5所示,在大数据平台中,可根据BDP-HMM同步不同的存储框架元数据内容,并建立json格式的元数据,每个元数据以json结构存储在ElasticSearch中,然后使用ElasticSearch对整个元数据建立倒排索引,根据用户输入的局部信息等查询条件检索得到元数据列表,用户从查询结果列表中选择需要的元数据,以得到目标元数据。
在一实施例中,所述元数据处理方法还可包括:
根据检索得到的元数据,获取数据仓库的目标数据仓库工具的元数据信息;
根据所述元数据信息直接使用或链接至目标数据仓库工具。
离线数据主要存储在hive和clickhouse的表中,用户使用时需要了解该数据的字段信息,用户检索出自己的数据对应的元数据信息后,可以从物理层的stores(数据仓库)字段中查找name(存储层名称)为HIVE/Clickhouse的信息,从而获得hive/clickhouse的元数据信息,在hive/clickhouse查询中进行使用。具体的,如图6所示,用户根据检索出来的元数据,获取stores中name为HIVE/Clickhouse的元数据信息,根据元数据信息直接使用或链接到Hive/Clickhouse的元数据系统中进行使用。
在一实施例中,所述元数据处理方法还包括:
通过元数据管理系统获取到元数据后,得到消息系统的元数据信息;
通过格式化得到元数据在消息系统中的存储格式,便于用户进行数据开发。
对于一些业务场景,如弹幕拦截、实时报表生成等,对数据处理的延迟要求较高,该类数据需要存储在消息系统kakfa中,与离线数据使用类似,用户通过元数据管理系统获取到目标元数据后,得到kafka消息系统的元数据信息,如连接信息等,通过format字段可以得到元数据在kafka消息系统中的存储格式,以便用户进行数据开发。
在一实施例中,得到消息系统的元数据信息之后,还包括:
根据所述元数据信息直接使用或链接到消息系统和实时平台。
如图7所示,得到元数据后,根据检索出来的元数据获取stores(数据仓库)中name为kafka的元数据信息,直接使用或链接到kafka消息系统和实时平台,以快速、便捷地使用kafka消息系统和实时平台。
进一步地,所述元数据处理方法还包括:
遍历物理层中所述目标元数据的采集来源信息,确定所述目标元数据的上下游信息;
根据所述目标元数据的上下游信息,生成所述目标元数据的血缘关系。
由于同一份数据会根据不同的需求存储到不同的存储引擎中,当平台数据缺少血缘关系时,会导致数据管理混乱。因此,本实施例通过遍历物理层中目标元数据的采集来源信息,确定所述目标元数据的上下游信息;以根据目标元数据的上下游信息,生成所述目标元数据的血缘关系,从而后续根据元数据的血缘关系利于用户进行数据管理。
在一实施例中,所述确定所述元数据的上下游信息之前,还可包括:
根据所述采集来源信息确定目标元数据的来源名称;
获取与所述来源名称相同名称的数据列表,从所述数据列表中提取目标元数据的上下游信息。
如图8所示,本实施例通过元数据模型物理层的source字段,可以获得该元数据的上游信息;在获取下游元数据时,需要遍历元数据系统的source字段,找到source.name等于该元数据dataName的元数据列表,以从元数据列表中提取出元数据的上下游信息,并根据该元数据的上下游信息,即可生成该元数据的血缘关系,以根据元数据的血缘关系利于用户进行数据管理。
在一实施例中,遍历物理层中所述目标元数据的采集来源信息之前,还包括:
将元数据的采集来源信息通过数据导入、软件开发工具包上传、接口上报或数据采集的方式存储在物理层中。
元数据可以通过web端数据导入、软件开发工具包上传、接口上报、数据采集或者通过统一的日志采集服务的方式进行采集,并将采集完的元数据存储到物理层中,以方便元数据的查询和处理。
请参考图9,本发明的实施例还提供一种元数据处理装置,一种本实施例中,包括构建模块11、同步模块12、检索模块13及确定模块14。
其中,
构建模块11,用于在大数据平台中,根据预设的元数据模型构建统一的元数据管理系统;其中,所述元数据模型包括描述元数据信息及业务信息的逻辑层,以及描述数据物理存储的信息,并将从底层系统查询到的检索信息反馈至逻辑层的物理层;
本模块可在当前大数据平台的架构上增加元数据模型,并与该架构的相应组件建立连接,从而形成统一的元数据管理系统,以便于元数据的检索、离线数据的使用、实时数据的使用以及血缘关系的生成等操作。基于该元数据模型,技术侧可兼容不同大数据平台的元数据,用户侧可提高数据的查询效率,降低平台数据的使用难度。
具体地,如图4所示,该元数据模型是一种分层的、可扩展的元数据模型,其主要分成两个层,逻辑层和物理层。所述逻辑层主要面向用户侧,用于描述元数据信息及业务信息等用户易于理解的信息;所述物理层分别与逻辑层及底层系统建立连接,用于描述数据物理存储的信息,如元数据的存储路径、格式等等,并将从底层系统查询到的检索信息反馈至逻辑层,以便用户查看。
同步模块12,用于将所述大数据平台的元数据同步到该元数据管理系统中,并为各个元数据建立索引;
索引是对数据库表中一列或多列的值进行排序的一种结构,只有当经常查询索引列中的数据时,才需要在表上创建索引,在经常需要查询的表的字段上创建索引,可以加快搜索的速度。本模块可将大数据平台的所有元数据同步至元数据管理系统中,并建立各个元数据的索引,以后续查询元数据时,直接从元数据管理系统中获取大数据平台的元数据,提高元数据的检索效率。
检索模块13,用于获取用户输入的查询元数据的局部信息,根据所述局部信息检索出与输入信息有关联的元数据列表,并按照相关性对元数据进行排序;
用户查找元数据时,只需要输入该元数据的局部信息,比如逻辑层的字段信息、元数据的拥有者或元数据名称等局部信息,即可根据该局部信息检索出与输入信息有关联的元数据列表。其中,该元数据列表含有与局部信息相同字段的若干个元数据,该元数据列表还可按照相关性的高低进行排序,并将与局部信息相关性较弱的元数据进行淘汰,以便用户进行筛选。
确定模块14,用于根据用户对所述元数据列表中元数据的选择,确定目标元数据。
用户根据排序好的元数据列表,从元数据列表中选择需要的元数据,从而得到目标元数据,如选择与局部信息相关性较高的元数据作为目标元数据,以便利用目标元数据帮助用户了解数据,提供有关信息,以及便于用户处理和转换有用数据。
本发明提供的元数据处理装置,通过在大数据平台中,根据预设的元数据模型构建统一的元数据管理系统;其中,元数据模型包括描述元数据信息及业务信息的逻辑层,以及描述数据物理存储的信息,并将从底层系统查询到的检索信息反馈至逻辑层的物理层;因此对于大数据平台开发人员而言,当引入一种新的数据存储框架时,只需要在物理层操作该存储框架的元数据即可,无需关注底层系统的情况;对于业务人员而言,只需关注逻辑层上的内容而不必了解元数据在物理层面的具体存储,从而便于开发人员及业务人员的使用。此外,本申请将大数据平台的元数据同步到该元数据管理系统中,并为各个元数据建立索引;当用户需要查询元数据时,通过获取用户输入的查询元数据的局部信息,根据该局部信息检索出与输入信息有关联的元数据列表,并按照相关性对元数据进行排序,根据用户对所述元数据列表中元数据的选择,确定目标元数据,从而实现动态地更新元数据底层的存储框架而不影响业务的使用方式,减少因更新数据存储引擎而对业务方造成的使用习惯的影响,使得业务可以更专注地实现自己的业务逻辑。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本发明提供的一种存储介质,其上存储有计算机程序,
所述计算机程序被处理器执行时实现上述任意一项技术方案所述的元数据处理方法。
其中,所述存储介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random AcceSS Memory,随即存储器)、EPROM(EraSable Programmable Read-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically EraSable Programmable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,存储介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。可以是只读存储器,磁盘或光盘等。
本发明提供的一种服务器,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述任意一项技术方案所述的元数据处理方法。
图10为本发明服务器的结构示意图,包括处理器120、存储装置130、输入单元140以及显示单元150等器件。本领域技术人员可以理解,图10示出的结构器件并不构成对所有服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件。存储装置130可用于存储应用程序110以及各功能模块,处理器120运行存储在存储装置130的应用程序110,从而执行设备的各种功能应用以及数据处理。存储装置130可以是内存储器或外存储器,或者包括内存储器和外存储器两者。内存储器可以包括只读存储器、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)、快闪存储器、或者随机存储器。外存储器可以包括硬盘、软盘、ZIP盘、U盘、磁带等。本发明所公开的存储装置包括但不限于这些类型的存储装置。本发明所公开的存储装置130只作为例子而非作为限定。
输入单元140用于接收信号的输入,以及用户输入的访问请求。输入单元140可包括触控面板以及其它输入设备。触控面板可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并根据预先设定的程序驱动相应的连接装置;其它输入设备可以包括但不限于物理键盘、功能键(比如播放控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。显示单元150可用于显示用户输入的信息或提供给用户的信息以及计算机设备的各种菜单。显示单元150可采用液晶显示器、有机发光二极管等形式。处理器120是计算机设备的控制中心,利用各种接口和线路连接整个电脑的各个部分,通过运行或执行存储在存储装置130内的软件程序和/或模块,以及调用存储在存储装置内的数据,执行各种功能和处理数据。
在一实施方式中,服务器包括一个或多个处理器120,以及一个或多个存储装置130,一个或多个应用程序110,其中所述一个或多个应用程序110被存储在存储装置130中并被配置为由所述一个或多个处理器120执行,所述一个或多个应用程序110配置用于执行以上实施例所述的元数据处理方法。
本发明提供的元数据处理方法、装置、存储介质及服务器,通过在大数据平台中,根据预设的元数据模型构建统一的元数据管理系统;其中,元数据模型包括描述元数据信息及业务信息的逻辑层,以及描述数据物理存储的信息,并将从底层系统查询到的检索信息反馈至逻辑层的物理层;因此对于大数据平台开发人员而言,当引入一种新的数据存储框架时,只需要在物理层操作该存储框架的元数据即可,无需关注底层系统的情况;对于业务人员而言,只需关注逻辑层上的内容而不必了解元数据在物理层面的具体存储,从而便于开发人员及业务人员的使用。此外,本申请将大数据平台的元数据同步到该元数据管理系统中,并为各个元数据建立索引;当用户需要查询元数据时,通过获取用户输入的查询元数据的局部信息,根据该局部信息检索出与输入信息有关联的元数据列表,并按照相关性对元数据进行排序,根据用户对所述元数据列表中元数据的选择,确定目标元数据,从而实现动态地更新元数据底层的存储框架而不影响业务的使用方式,减少因更新数据存储引擎而对业务方造成的使用习惯的影响,使得业务可以更专注地实现自己的业务逻辑。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (11)

1.一种元数据处理方法,其特征在于,包括:
在大数据平台中,根据预设的元数据模型构建统一的元数据管理系统;其中,所述元数据模型包括描述元数据信息及业务信息的逻辑层,以及描述数据物理存储的信息,并将从底层系统查询到的检索信息反馈至逻辑层的物理层;
将所述大数据平台的元数据同步到该元数据管理系统中,并为各个元数据建立索引,包括:将大数据平台的各个大数据存储框架的元数据同步到该元数据管理系统中;其中,所述元数据采用目标格式进行存储,并对整个目标结构进行倒排索引处理;
获取用户输入的查询元数据的局部信息,根据所述局部信息检索出与输入信息有关联的元数据列表,并按照相关性对元数据进行排序,所述局部信息包括逻辑层的字段信息、元数据的拥有者、元数据名称中的至少一种;
根据用户对所述元数据列表中元数据的选择,确定目标元数据,包括:根据所述元数据列表中元数据与所述局部信息的相关性选择元数据作为目标元数据。
2.根据权利要求1所述的元数据处理方法,其特征在于,
按照相关性对元数据进行排序的步骤,包括:
按照相关性从高到低的顺序对元数据进行排序。
3.根据权利要求1所述的元数据处理方法,其特征在于,在确定目标元数据之后,还包括:
根据检索得到的元数据,获取数据仓库的目标数据仓库工具的元数据信息;
根据所述元数据信息直接使用或链接至目标数据仓库工具。
4.根据权利要求1所述的元数据处理方法,其特征在于,在确定目标元数据之后,还包括:
通过元数据管理系统获取到元数据后,得到消息系统的元数据信息;其中,所述消息系统为收集实时数据的系统;
通过格式化得到元数据在消息系统中的存储格式,便于用户进行数据开发。
5.根据权利要求4所述的元数据处理方法,其特征在于,得到消息系统的元数据信息之后,还包括:
根据所述元数据信息使用或链接到消息系统和实时平台。
6.根据权利要求1所述的元数据处理方法,其特征在于,还包括:
遍历物理层中所述目标元数据的采集来源信息,确定所述目标元数据的上下游信息;
根据所述目标元数据的上下游信息,生成所述目标元数据的血缘关系。
7.根据权利要求6所述的元数据处理方法,其特征在于,所述确定所述元数据的上下游信息之前,还包括:
根据所述采集来源信息确定目标元数据的来源名称;
获取与所述来源名称相同名称的数据列表,从所述数据列表中提取目标元数据的上下游信息。
8.根据权利要求6所述的元数据处理方法,其特征在于,遍历物理层中所述目标元数据的采集来源信息之前,还包括:
将元数据的采集来源信息通过数据导入、软件开发工具包上传、接口上报或数据采集的方式存储在物理层中。
9.一种元数据处理装置,其特征在于,包括:
构建模块,用于在大数据平台中,根据预设的元数据模型构建统一的元数据管理系统;其中,所述元数据模型包括描述元数据信息及业务信息的逻辑层,以及描述数据物理存储的信息,并将从底层系统查询到的检索信息反馈至逻辑层的物理层;
同步模块,用于将所述大数据平台的元数据同步到该元数据管理系统中,并为各个元数据建立索引,包括:将大数据平台的各个大数据存储框架的元数据同步到该元数据管理系统中;其中,所述元数据采用目标格式进行存储,并对整个目标结构进行倒排索引处理;
检索模块,用于获取用户输入的查询元数据的局部信息,根据所述局部信息检索出与输入信息有关联的元数据列表,并按照相关性对元数据进行排序,所述局部信息包括逻辑层的字段信息、元数据的拥有者、元数据名称中的至少一种;
确定模块,用于根据用户对所述元数据列表中元数据的选择,确定目标元数据,包括:根据所述元数据列表中元数据与所述局部信息的相关性选择元数据作为目标元数据。
10.一种存储介质,其上存储有计算机程序,其特征在于:
所述计算机程序被处理器执行时实现如权利要求1至8中任意一项所述的元数据处理方法。
11.一种服务器,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至8中任意一项所述的元数据处理方法。
CN202010246083.8A 2020-03-31 2020-03-31 元数据处理方法、装置、存储介质及服务器 Active CN113468166B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010246083.8A CN113468166B (zh) 2020-03-31 2020-03-31 元数据处理方法、装置、存储介质及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010246083.8A CN113468166B (zh) 2020-03-31 2020-03-31 元数据处理方法、装置、存储介质及服务器

Publications (2)

Publication Number Publication Date
CN113468166A CN113468166A (zh) 2021-10-01
CN113468166B true CN113468166B (zh) 2024-03-01

Family

ID=77865702

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010246083.8A Active CN113468166B (zh) 2020-03-31 2020-03-31 元数据处理方法、装置、存储介质及服务器

Country Status (1)

Country Link
CN (1) CN113468166B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114817149A (zh) * 2022-03-23 2022-07-29 建信融通有限责任公司 元数据管理系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105787764A (zh) * 2008-03-05 2016-07-20 电子湾有限公司 用于图像识别服务的方法和设备
US20170139988A1 (en) * 2015-11-18 2017-05-18 Sap Se Merge of stacked calculation views with higher level programming language logic
CN108073686A (zh) * 2016-11-18 2018-05-25 埃森哲环球解决方案有限公司 具有通用元数据存储库的闭环统一元数据架构

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105787764A (zh) * 2008-03-05 2016-07-20 电子湾有限公司 用于图像识别服务的方法和设备
US20170139988A1 (en) * 2015-11-18 2017-05-18 Sap Se Merge of stacked calculation views with higher level programming language logic
CN108073686A (zh) * 2016-11-18 2018-05-25 埃森哲环球解决方案有限公司 具有通用元数据存储库的闭环统一元数据架构

Also Published As

Publication number Publication date
CN113468166A (zh) 2021-10-01

Similar Documents

Publication Publication Date Title
US11176114B2 (en) RAM daemons
Rao et al. The big data system, components, tools, and technologies: a survey
Isah et al. A survey of distributed data stream processing frameworks
JP6617117B2 (ja) 半構造データのためのスケーラブルな分析プラットフォーム
Cai et al. IoT-based big data storage systems in cloud computing: perspectives and challenges
Buyya et al. Big data: principles and paradigms
Sakr Big data 2.0 processing systems: a survey
Mishne et al. Fast data in the era of big data: Twitter's real-time related query suggestion architecture
Behm et al. Asterix: towards a scalable, semistructured data platform for evolving-world models
Chavan et al. Survey paper on big data
Gürcan et al. Real-time processing of big data streams: Lifecycle, tools, tasks, and challenges
Rogers Big data is scaling BI and analytics
Loganathan et al. A systematic approach to Big Data
Dhavapriya et al. Big data analytics: challenges and solutions using Hadoop, map reduce and big table
Raj A detailed analysis of nosql and newsql databases for bigdata analytics and distributed computing
CN113468166B (zh) 元数据处理方法、装置、存储介质及服务器
Sakr Big Data 2.0 Processing Systems
Jadhav et al. A Practical approach for integrating Big data Analytics into E-governance using hadoop
Li Distributed architecture design of big data platform
Bureva Index matrices as a tool for data lakehouse modelling
Sarr et al. Data stream summary in big data context: challenges and opportunities
Gao Scalable architecture for integrated batch and streaming analysis of big data
Singh NoSQL: A new horizon in big data
Prasad et al. Scalable and Flexible Big Data Analytic Framework (SFBAF) For Big Data Processing and Knowledge Extraction
Zicari Big Data

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