一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

元数据更新方法、装置、电子设备及存储介质与流程

2022-02-20 05:23:21 来源:中国专利 TAG:

1.本技术涉及计算机
技术领域
,尤其涉及一种元数据更新方法、装置、电子设备及存储介质。
背景技术
:2.现有的存储引擎可以包括以下这几种:3.数据湖,其类似于一个开放的储物空间,是一种在系统或存储库中以自然格式存储数据的方法,有助于以各种模式和结构形式配置数据,通常是对象块或文件。数据湖的主要思想是对企业中的所有数据进行统一存储,从原始数据(源系统数据的副本)转换为用于报告、可视化、分析和机器学习等各种任务的目标数据。数据湖中的数据可以包括结构化数据(例如关系数据库的数据)、半结构化数据例如(csv(comma-separatedvalues,逗号分隔值)、xml(extensiblemarkuplanguage,可扩展标记语言)、json(javascriptobjectnotation,javascript对象简谱)等格式文件)、非结构化数数据(例如电子邮件、文档、pdf(portabledocumentformat,便携式文档格式)文件等)和二进制数据(例如图像、音频、视频等),从而形成一个可以容纳所有形式的数据的集中式数据存储。4.数据仓,其类似于将一个储物间分隔成多个小格子,储物间内的数据按照存储要求存储到相应的小格子中,数据的存储结构清晰,使用方便。5.业务数据库,其一般存储结构化数据,例如sql(structuredquerylanguage,结构化查询语言)数据库、mysql(关系型数据库管理系统)、oracle数据库。6.但是,上述存储引擎中存储的数据缺乏元数据或者即使拥有元数据但元数据中的描述较少或不符合要求,这会给存储引擎的数据存储或者存储引擎间的数据转换、流入/流出等存储管理带来困难。技术实现要素:7.本技术实施例提供一种元数据更新方法、装置、电子设备及存储介质,以解决相关技术存在的问题,技术方案如下:8.第一方面,本技术实施例提供一种元数据更新方法,包括:9.根据元数据类型,在目标存储对象记载的字段中查找符合所述元数据类型的目标字段;10.在查找到符合所述元数据类型的目标字段的情况下,基于所述目标字段,更新所述目标存储对象的元数据;其中,所述目标存储对象的元数据用于管理所述目标存储对象的存储。11.第二方面,本技术实施例提供一种元数据更新装置,包括:12.目标字段查找模块,用于根据元数据类型,在目标存储对象记载的字段中查找符合所述元数据类型的目标字段;13.元数据更新模块,用于在查找到符合所述元数据类型的目标字段的情况下,基于所述目标字段,更新所述目标存储对象的元数据;其中,所述目标存储对象的元数据用于管理所述目标存储对象的存储。14.第三方面,本技术实施例提供了一种电子设备,该电子设备包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本技术任一种实施方式中的元数据更新方法。15.第四方面,本技术实施例一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机指令,所述计算机指令被处理器执行时实现本技术任一种实施方式中的元数据更新方法。16.上述技术方案中的优点或有益效果至少包括:17.在本技术提供的技术方案中,根据元数据类型,在目标存储对象记载的字段中查找符合所述元数据类型的目标字段,并基于查找到的目标字段更新目标存储对象的元数据,从而可以利用元数据来管理其对应的目标存储对象。18.上述技术方案的优点或有益效果还可以包括:19.1、对多种类型的存储引擎如业务数据库、数据湖、数据仓等统一了元数据的描述。20.2、增加了元数据对存储对象的属性描述,例如版本信息、数据存储路径、数据中的字段的血缘关系,存储引擎可以根据元数据跟踪元数据对应的数据对象,且追踪能力强。21.3、元数据不限定存储引擎的类型,接入成本低,能够兼容市面上主流的存储引擎,做到拆箱即用。22.上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本技术进一步的方面、实施方式和特征将会是容易明白的。附图说明23.在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本技术公开的一些实施方式,而不应将其视为是对本技术范围的限制。24.图1为本技术第一实施例提供的元数据更新方法的流程图;25.图2a为本技术第二实施例提供的元数据管理数据的存储的流程图;26.图2b为本技术第三实施例提供的元数据管理数据的存储的流程图;27.图3为本技术第三实施例提供的元数据更新装置的结构框图;28.图4为本技术第四实施例提供的元数据更新装置的结构框图;29.图5为本技术提供的可实现本技术实施例的元数据更新方法的电子设备的结构框图。具体实施方式30.在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本技术的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。31.元数据(metadata),又称为中介数据、中继数据,是描述数据的数据,主要是描述数据属性的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。简而言之,元数据就是关于数据的数据。32.图1示出了本技术提供的元数据更新方法的一个实施例的流程图。如图1所示,该元数据更新的方法,可以包括以下步骤:33.s110,根据元数据类型,在目标存储对象记载的字段中查找符合元数据类型的目标字段。34.s120,在查找到符合元数据类型的目标字段的情况下,基于目标字段,更新目标存储对象的元数据;其中,目标存储对象的元数据用于管理目标存储对象的存储。35.其中,元数据类型可以是指其描述目标存储对象的相关信息的类型。目标存储对象可以包括文件、文档、表格、图像、视频、音频、应用程序等数据,其可存储于存储介质或存储器中。元数据类型可以包括对象的属性、对象中记载的字段的类型、对象中记载的字段与字段之间的关系类型、对象与其他对象之间的关系类型等。36.示例性地,元数据类型可以包括数据(目标存储对象)的基本属性、数据的类型、数据中的字段类型、数据的相关信息等。37.示例性地,数据的基本属性可以包括存储路径、版本信息、创建人、创建时间、更新人、更新时间、所有人信息等。其中,当数据在业务数据库、数据湖与数据仓中流转时,存储路径可以用于记录数据的流向。当数据发生内容上的变更时,版本信息可以用于记录版片的变更,可以包括当前版本、父版本等信息,可以以更新时间、更新人或者更新内容来标记版本,也可以按照一定规则的字符来标记版本。所有人信息可以用于控制元数据或元数据对应的数据的可见性或维护权限。创建人、创建时间、更新人以及更新时间这些属性可以用于维护元数据的操作审计。38.示例性地,数据的类型可以包括其是哪一类数据,例如文件、文档、表格、图像、视频、音频或应用程序等。39.示例性地,数据中的字段类型可以包括单选、多选等字典描述、图片、文件、整数、实数、货币、百分比、日期、时间、关联存储对象、引用信息、计算公式、文本、文本域、手机号、固话号码、邮箱、微信、qq号码、网址、是否为json类型、主键、主子明细、数组等。40.本技术实施例可以通过以上元数据类型对其对应的数据、数据中的字段、数据的相关信息等进行描述,可以方便存储引擎管理数据。41.在本技术实施例中,对元数据的管理是独立存在,与存储引擎所管理的数据相互独立,可以兼容主流的数据湖例如hadoop、aliyunoss(objectstorageservice,对象存储服务器)等、主流的数据仓库例如hbase、hive等,业务数据库例如mysql、sqlserver、oracle等。42.在一些实施例中,可以针对每一个元数据类型,对数据或数据中记载的字段进行识别,利用识别结果,记录相应的元数据类型对应的内容。也可以根据数据的类型确定其所需要描述哪些元数据类型,然后依据确定的元数据类型,对数据或数据中记载的字段进行识别。43.在一些实施例中,对元数据的更新,可以包括记录目标字段、目标字段的相关信息等。目标字段的相关信息可以包括字段的来源、与字段相关的字段、字段的引用信息等。44.示例性地,对目标存储对象记载的字段进行识别,确定其是否有手机号的字段。例如,如果目标存储对象中的字段中存在有长度为11位的数字串,且第一个数字为1,则可以认为此数据串为手机号,将此手机号记录在目标存储对象的元数据中。与此同时,如果目标存储对象存储于mysql存储引擎中,可以记录此数字串的数据类型为varchar。存储引擎可以依据元数据中记录的目标字段的数据类型来分配存储空间。45.示例性地,对目标存储对象记载的字段进行识别,确定其是否有邮箱的字段。例如,在字段中查找符合如下正则表达式的字段:46.^[a-za-z0-9_-] @[a-za-z0-9_-] (\.[a-za-z0-9_-] ) $;[0047]如果查找到符合上述表达式的字段,则确定此字段为邮箱,将此字段记录在元数据的邮箱栏中,并记录此邮箱的数据类型,例如varchar,可以方便数据引擎为邮箱分配相应的存储空间。[0048]示例性地,对目标存储对象记载的字段进行识别,确定其是否有网址的字段。例如,在字段中查找符合如下正则表达式的字段:[0049]((http|ftp|https)://[\w\-_] (\.[\w\-_] ) ([\w\-\.,@?^=%&:/~\ #]*[\w\-\@?^=%&/~\ #])?);[0050]如果查找到符合上述表达式的字段,则确定此字段为网址,将此字段记录在元数据的网址栏中,并记录此网址的数据类型,例如网址对应的数据类型为varchar。存储引擎可以根据varchar的数据类型为网址分配存储空间。[0051]示例性地,可以结合与数据相关的执行脚本来确定数据中的一些字段的来源。具体而言,上述步骤s120中,基于目标字段,更新目标存储对象的元数据,可以包括:[0052]获取与目标存储对象相关的执行脚本;在执行脚本中,确定与目标字段相关的语句;以及,基于与目标字段相关的语句的语意,确定目标字段的来源,并在目标存储对象的元数据中,记录目标字段的来源。[0053]执行脚本可以用于指示存储引擎基于其记载的指令对目标存储对象进行相应的处理。可以按照执行脚本所采用的语言,来识别与目标字段相关的语句的语意。在其语意涉及对目标字段生成时,可以基于此生成过程所基于的对象,来确定目标字段的来源。[0054]示例性地,以sql语句构成的执行脚本为例,如下:[0055][0056]其中,假设目标存储对象为student_sex,目标字段为student,则与student_sex相关的语句为:上述createtable语句。在上述语句中,与目标字段student相关的字段包括id和sex,分别用于表征学生的身份和性别。与对象student_sex相关的段包括sexname和count,分别用于表征性别和学生数量。[0057]根据createtable语句,可知这是目标字段student_sex的来源。通过createtable语句中的select语句,可以得知字段sexname是由对象student的sex生成,字段count是由student的id生成。因此,可以在元数据中描述或记录对象student_sex中的字段count的来源是student的id,字段sexname的来源是student的sex。[0058]在一些实施例中,如果目标存储对象为表格,有些表格会有一些字典信息,例如对某一列字段设置一个下拉可选项,此下拉可选项记载的内容则为字典信息。可以结合字典信息来记录字段的相关信息。[0059]示例性地,上述步骤s120中,基于目标字段,更新目标存储对象的元数据,可以包括:在目标存储对象包含有与目标字段相关的字典信息的情况下,基于字典信息,记录目标字段的相关信息。[0060]在一些实施例中也可以在元数据中记录字典信息。例如,记录某个表格中有哪些下拉可选项,下拉可选项中的可选对象有哪些。[0061]在一些实施例中,可以在元数据中记录对象的主键、对象的关联对象、对象的主子明细等。还可以记录他们相应的数据类型。[0062]示例性地,在目标存储对象为表格的情况下,根据目标存储对象的主键名称,确定目标存储对象的关联存储对象和主子明细;在目标存储对象的元数据中,记录目标存储对象的关联存储对象和主子明细。[0063]示例性地,如果对象a主键名称的格式为xxx_id,且xxx为对象b的主键后缀,则可以确定对象b是对象a的关联对象。[0064]示例性地,如果对象b主键名称的格式为xxx_yyy_id,且xxx为对象b的主键后缀,yyy是对象中的某个字段类似detail、child,则可以确定对象b是对象a的关联对象,yyy字段是目标存储对象的主子明细。[0065]在一些实施例中,可以在元数据中记录对象中某些字段的引用信息,例如引用字段。[0066]示例性地,在目标存储对象的关联存储对象记载的字段中,确定与目标字段相关的字段;基于与目标字段相关的字段,在目标存储对象的元数据中,记录目标字段的引用信息。[0067]示例性地,在学生c这一对象表格中,其有姓名、教师d等字段,对于字段教师a,其对应教师d这一对象表格。教师d的表格是学生c的表格的关联对象,“教师d”是学生c的表格中的目标字段,在教师d的表格中记载有其姓名、年龄等字段,这些都是与目标字段“教师d”相关的字段。可以依据这些相关的字段,在学生c这一对象表格的元数据中记录目标字段“教师d”的引用信息,例如教师d的年龄,不需要在学生c这一对象表格中真实记录教师d的年龄,通过表格对应的元数据即可以查询到教师d的年龄。[0068]在一些实施例中,上述方法还可以包括:识别目标存储对象的属性;在目标存储对象的元数据中,记录目标存储对象的属性信息。[0069]示例性地,可以识别目标存储对象的存储路径、对象的类型、创建时间、创建人、更新人、更新时间、版本信息等属性,并将这些属性信息记录在对象的元数据中。[0070]在一些实施例中,如果缺乏对象的执行脚本,无法自动识别对象中的字段的来源,可以人工补充相应的描述。[0071]在本技术实施例中,对目标存储对象进行字段类型的推测,通过对象的执行脚本来推测字段之间的关系,以及记录对象的属性等,构建成对象的元数据。从而,存储引擎可以利用元数据管理数据的存储,以及数据在存储引擎之间的数据转换、迁移等。[0072]图2a和图2b示出了本技术提供的元数据管理对象的存储的一个实施例的流程框图。如图2a和图2b所示,大多数情况下,可以将业务数据库、数仓中的数据存储到数据湖中,即为落湖。同时,数据湖也可以由外部系统等通过api方式获取到数据并存储于数据湖中。例如,数据湖中的数据因为时间、特性变更等原因出现不同版本,比如一开始记录的用户访问日志中没有浏览器信息,后来增加了浏览器信息,对于增加之前数据的元数据是没有浏览器字段描述的,为了兼容之前数据的读取,可以更新元数据,并记录数据的版本信息、元数据的版本信息、以及增加浏览器的描述。其中,数仓也可以抽取业务数据库的数据,并通过sql进行转换,转换后的汇总数据也会同步回业务数据库。[0073]如图2b所示,其描述了对数据的存储的管理过程和在此管理过程对元数据的管理。[0074]s210,采集需要落湖的数据。[0075]s220,根据湖数据确定或更新元数据。[0076]s230,根据元数据进行数据落仓或读取业务数据。[0077]s240,根据业务数据或仓数据更新元数据。[0078]s250,绘制数据中字段的血缘关系。[0079]上述步骤不限定其执行顺序,也不限定其执行主体。[0080]图3示出了本技术提供的元数据更新装置的一个实施例的结构框图。如图3所示,该装置300可以包括:[0081]目标字段查找模块310,用于根据元数据类型,在目标存储对象记载的字段中查找符合元数据类型的目标字段;[0082]元数据更新模块320,用于在查找到符合元数据类型的目标字段的情况下,基于目标字段,更新目标存储对象的元数据;其中,目标存储对象的元数据用于管理目标存储对象的存储。[0083]在一些实施例中,如图4所示,元数据更新模块320可以包括:[0084]脚本获取单元321,用于获取与目标存储对象相关的执行脚本;[0085]语句确定单元322,用于在执行脚本中,确定与目标字段相关的语句;[0086]字段来源记录单元,用于基于与目标字段相关的语句的语意,确定目标字段的来源,并在目标存储对象的元数据中,记录目标字段的来源。[0087]在一些实施例中,如图4所示,元数据更新模块320可以包括:[0088]字段信息记录单元323,用于在目标存储对象包含有与目标字段相关的字典信息的情况下,基于字典信息,记录目标字段的相关信息。[0089]在一些实施例中,如图4所示,上述装置还可以包括:[0090]主键确定模块330,用于在目标存储对象为表格的情况下,根据目标存储对象的主键名称,确定目标存储对象的关联存储对象和主子明细;[0091]主键记录模块340,用于在目标存储对象的元数据中,记录目标存储对象的关联存储对象和主子明细。[0092]在一些实施例中,如图4所示,上述装置还可以包括:[0093]相关字段确定模块350,用于在目标存储对象的关联存储对象记载的字段中,确定与目标字段相关的字段;[0094]引用信息记录模块360,用于基于与目标字段相关的字段,在目标存储对象的元数据中,记录目标字段的引用信息。[0095]在一些实施例中,如图4所示,上述装置还可以包括:[0096]属性识别模块370,用于识别目标存储对象的属性;[0097]属性信息记录模块380,用于在目标存储对象的元数据中,记录目标存储对象的属性信息。[0098]本技术实施例各装置中的各模块的功能可以参见上述方法中的对应描述,在此不再赘述。[0099]根据本技术的实施例,本技术还提供了一种电子设备和一种可读存储介质。[0100]图5示出了可以用来实施本技术的实施例的示例电子设备500的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本技术的实现。[0101]如图5所示,设备500包括计算单元501,其可以根据存储在只读存储器(rom)502中的计算机程序或者从存储单元508加载到随机访问存储器(ram)503中的计算机程序,来执行各种适当的动作和处理。在ram503中,还可存储设备500操作所需的各种程序和数据。计算单元501、rom502以及ram503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。[0102]设备500中的多个部件连接至i/o接口505,包括:输入单元506,例如键盘、鼠标等;输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。[0103]计算单元501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元501的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元501执行上文所描述的各个方法和处理,例如元数据更新方法。例如,在一些实施例中,元数据更新方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由rom502和/或通信单元509而被载入和/或安装到设备500上。当计算机程序加载到ram503并由计算单元501执行时,可以执行上文描述的元数据更新方法的一个或多个步骤。备选地,在其他实施例中,计算单元501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行元数据更新方法。[0104]本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。[0105]用于实施本技术的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。[0106]在本技术的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。[0107]为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入、或者触觉输入来接收来自用户的输入。[0108]可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。[0109]计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本技术中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本技术公开的技术方案所期望的结果,本文在此不进行限制。[0110]上述具体实施方式,并不构成对本技术保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本技术的精神和原则之内所作的修改、等同替换和改进等,均应包含在本技术保护范围之内。当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献