元数据管理方法、装置及电子设备与流程

文档序号:16532231发布日期:2019-01-05 10:50阅读:271来源:国知局
元数据管理方法、装置及电子设备与流程

本发明涉及数据处理领域,具体而言,涉及一种元数据管理方法、装置及电子设备。



背景技术:

随着信息数据量的巨大增长,人们对数据探索的需求也日益剧增,其中元数据非常重要,如何存储和管理元数据便成了一个问题。于是人们采用了如数据库及相关表来达到存储和管理元数据的目的。



技术实现要素:

有鉴于此,本发明实施例的目的在于提供一种元数据管理方法、装置及电子设备。

本发明实施例提供的一种元数据管理方法,包括:

获取目标元数据进行改变的改变操作;以及

根据所述改变操作生成所述目标元数据的目标子版本,所述目标子版本包括所述目标元数据被执行所述改变操作后的描述参数。

可选地,所述描述参数包括唯一识别号、创建时间、子版本号、来源关联识别号、关联元数据识别号中的一种或多种参数,所述关联元数据识别号用于与关联的元数据的子版本建立连接。

可选地,所述根据所述改变操作生成所述目标元数据的目标子版本的步骤,包括:

查询所述目标元数据最近一次生成的子版本的最近子版本号;

根据所述最近子版本号得到目标子版本的子版本号;

根据预设规则生成所述目标子版本的唯一标识;

获取所述改变操作的操作时间;

记录与所述改变操作关联的其它元数据的子版本的唯一识别号,和/或,所述改变操作对应的来源关联识别号;

根据所述目标子版本的子版本号、操作时间、关联的其它元数据的子版本的唯一识别号和/或所述来源关联识别号形成所述目标子版本。

可选地,所述改变操作是删除操作,所述根据所述改变操作生成所述目标元数据的目标子版本的步骤,包括:

生成所述目标元数据的目标子版本,所述目标子版本与其它元数据各个版本相互独立。

可选地,所述改变操作是更改操作,所述根据所述改变操作生成所述目标元数据的目标子版本的步骤,包括:

生成所述目标元数据的目标子版本,所述目标子版本与其它元数据各个版本相互独立。

可选地,所述方法还包括:

接收查询操作,所述查询操作携带有查询唯一识别号;

通过所述查询唯一识别号与各个元数据的子版本的唯一识别号进行对比,以查找出查询元数据的子版本。

本发明实施例还提供一种元数据管理装置,包括:

获取模块,用于获取目标元数据进行改变的改变操作;

生成模块,用于根据所述改变操作生成所述目标元数据的目标子版本,所述目标子版本包括所述目标元数据被执行所述改变操作后的描述参数;

建立模块,用于建立所述目标子版本与其它指定元数据的子版本之间的关联连接,所述其它指定元数据为与所述目标子版本有关系的元数据。

可选地,所述描述参数包括唯一识别号、创建时间、子版本号、来源关联识别号、关联元数据识别号中的一种或多种参数,所述关联元数据识别号用于与关联的元数据的子版本建立连接。

可选地,所述生成模块还用于:

查询所述目标元数据最近一次生成的子版本的最近子版本号;

根据所述最近子版本号得到目标子版本的子版本号;

根据预设规则生成所述目标子版本的唯一标识;

获取所述改变操作的操作时间;

记录与所述改变操作关联的其它元数据的子版本的唯一识别号,和/或,所述改变操作对应的来源关联识别号;

根据所述目标子版本的子版本号、操作时间、关联的其它元数据的子版本的唯一识别号和/或所述来源关联识别号形成所述目标子版本。

本发明实施例还提供一种电子设备,包括:

存储器;

处理器;

所述存储器用于存储支持处理器执行上述方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。

与现有技术相比,本发明实施例的元数据管理方法、装置及电子设备,在目标元数据进行改变操作时,会随着改变操作可以生成目标子版本,可以记录对元数据的改变操作中的描述参数,可以方便在后续查询元数据的改变操作。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明实施例提供的电子设备的方框示意图。

图2为本发明实施例提供的元数据管理方法的流程图。

图3为本发明实施例提供的元数据连接状态的示意图。

图4为本发明实施例提供的元数据管理装置的功能模块示意图。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

发明人对现有状态的研究,目前绝大多数基于数据库的存储和管理元数据的方案存在以下几个缺陷:

需要设计诸多表结构才能满足元数据的多样化存储;

需要设计诸多表才能将元数据之间的关系构建完整;

复杂的表结构导致后期维护成本巨大;

复杂的表结构不利于后期的扩展;

对于元数据的历史版本管理需要设计相当复杂的逻辑,难以追溯元数据之间的关系及历史使用情况;

对于元数据分析,元数据血缘等元数据应用的要求编写复杂的sql。

基于上述缺陷,本申请通过以下多个实施例可以有效地解决上述技术问题,具体描述如下。

如图1所示,是一电子设备100的方框示意图。所述电子设备100包括存储器111、存储控制器112、处理器113、外设接口114、输入输出单元115、显示单元116。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对电子设备100的结构造成限定。例如,电子设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。本实施例所述的电子设备100可以是个人计算机、图像处理服务器、车载设备或者移动电子设备等具有图像处理能力的计算设备。

所述存储器111、存储控制器112、处理器113、外设接口114、输入输出单元115及显示单元116各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述存储器111中存储至少一个以软件或固件(firmware)的形式的软件功能模块,或所述电子设备100的操作系统(operatingsystem,os)中固化有软件功能模块。所述处理器113用于执行存储器中存储的可执行模块。

其中,所述存储器111可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,存储器111用于存储程序,所述处理器113在接收到执行指令后,执行所述程序,本发明实施例任一实施例揭示的过程定义的电子设备100所执行的方法可以应用于处理器113中,或者由处理器113实现。

所述处理器113可能是一种集成电路芯片,具有信号的处理能力。上述的处理器113可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述外设接口114将各种输入/输入装置耦合至处理器113以及存储器111。在一些实施例中,外设接口114,处理器113以及存储控制器112可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。

所述输入输出单元115用于提供给用户输入数据。所述输入输出单元115可以是,但不限于,鼠标和键盘等。

所述显示单元116在所述电子设备100与用户之间提供一个交互界面(例如用户操作界面)或用于显示图像数据给用户参考。在本实施例中,所述显示单元可以是液晶显示器或触控显示器。若为触控显示器,其可为支持单点和多点触控操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是指触控显示器能感应到来自该触控显示器上一个或多个位置处同时产生的触控操作,并将该感应到的触控操作交由处理器进行计算和处理。

本发明实施例中的元数据管理方法可以使用java、neo4j等方式实施。

其中,java是一门面向对象编程语言,不仅吸收了c++语言的各种优点,还摒弃了c++里难以理解的多继承、指针等概念,因此java语言具有功能强大和简单易用两个特征。java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

neo4j是一个高性能的nosql图形数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的java持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。neo4j也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性。程序员工作在一个面向对象的、灵活的网络结构下而不是严格、静态的表中——但是他们可以享受到具备完全的事务特性、企业级的数据库的所有好处。

发明人研究得到图论算法在计算机科学中扮演着很重要的角色,它提供了对很多问题都有效的一种简单而系统的建模方式,很多问题都可以转化为图论问题,然后用图论的基本算法加以解决。发明人研究得到元数据也可以基于图论算法也可以进行管理,具体地,可以通过以下几个实施例进行详细描述。

请参阅图2,是本发明实施例提供的元数据管理方法的流程图。下面将对图2所示的具体流程进行详细阐述。

步骤s201,获取目标元数据进行改变的改变操作。

步骤s202,根据所述改变操作生成所述目标元数据的目标子版本,所述目标子版本包括所述目标元数据被执行所述改变操作后的描述参数。

其中,改变操作可以是对元数据的各种变化的操作,其中可以包括删除、新增、修改等操作。

本实施例中,所述描述参数包括唯一识别号、创建时间、子版本号、来源关联识别号、关联元数据识别号中的一种或多种参数,所述关联元数据识别号用于与关联的元数据的子版本建立连接。通过设置各种描述参数,可以方便用户在需要查找元数据的时可以通各种关键字查找到,另外,通过各种描述参数可以使各个元数据的历史变更记录也变得清晰。

本实施例中,元数据在发生变更操作时,都会产生子版本。在一个实例中,子版本的基本结构如下:

本实施例中,通过子版本建立各个元数据之间的联系,从而形成元数据模型,该元数据模型的约束:

a.元数据之间不能直接相连,元数据通过各个元数据的子版本相连;

b.当元数据新建时,必须同时生成它的第一个子版本;

c.子版本可以连接多个不同的其它子版本;

d.同一元数据的子版本不可以连接。

下面在一个实例中描述各个元数据之间的关系。如图3所示,图3示出了一个元数据连接状态的示意图。图中以椭圆表示元数据,方框表示元数据的子版本。

元数据的表示:图中包含了3个元数据,用椭圆表示:元数据a,元数据b,元数据c。

元数据的子版本:每个元数据都包含自己的基础版本,用方块表示,如:元数据a拥有3个版本,a版本1,a版本2,a版本3;并且元数据用线条将其子版本相连。

元数据之间的关联:元数据之间通过子版本相连,用黄色箭头连接,如:a版本1与b版本1相连,表示元数据a与元数据b相关联,并且只与子版本有关,箭头的方向。

元数据的存储:根据上面列出的图关系,可以定义元数据对象,元数据子版本,元数据之间的关联。于是,我们就可以选择正确的数据结构进行存储。元数据对象可以用json对象表示,可灵活的读取其属性,也可以灵活的扩展。元数据的子版本是元数据某个版本的快照,与元数据类似,通过用json对象存储来保留元数据的一个版本信息。最后,元数据的关联关系用简单的图箭头就可以表示了。

元数据的管理:依据图论,元数据及关系可以有各个连通分量来表示,每个分量之间拥有自己的关系。通过计算连通性可以很快的获取元数据之间的关系。

在一种实施方式中,所述步骤s202包括:步骤s2021至步骤s2026。

步骤s2021,查询所述目标元数据最近一次生成的子版本的最近子版本号。

步骤s2022,根据所述最近子版本号得到目标子版本的子版本号。

步骤s2023,根据预设规则生成所述目标子版本的唯一标识。

步骤s2024,获取所述改变操作的操作时间。

步骤s2025,记录与所述改变操作关联的其它元数据的子版本的唯一识别号,和/或,所述改变操作对应的来源关联识别号。

步骤s2026,根据所述目标子版本的子版本号、操作时间、关联的其它元数据的子版本的唯一识别号和/或所述来源关联识别号形成所述目标子版本。

在其它实施方式中,首次建立元数据时,为该元数据新建初始子版本。则本实施方式中与上一实施方式相似,在本实施方式中不包括步骤s2021,仅包括步骤s2022至步骤s2026。

通过上述的详细过程得到目标子版本,可以使目标子版本生成完整的描述参数,可以使目标子版本可以更好地与其它元数据的子版本建立连接。

本实施例中的元数据模型的基本操作可以包括以下操作或属性:

新增:当元数据新建时,可以同时生成它的第一个子版本。

删除:当元数据删除时,元数据本身进行删除标识,并生成一个没有和任何子版本相连的子版本,以记录元数据被删除时的记录。

连通性:通过图中元数据之间计算是否可达,来表示元数据是否相连。

变更:当元数据变更时,产生一个新的子版本,并且不与任何其他元数据子版本相连。

引用:需要其他模块或系统需要使用元数据的时候,只需要保持其引用的子版本的唯一主键即可。

查询:每个元数据及子版本都有自己的唯一主键,用于标识其唯一性,并通过主键进行查询。

其中,改变操作可以是删除操作、添加操作、变更操作等。

在一种实施方式中,所述改变操作是删除操作,所述根据所述改变操作生成所述目标元数据的目标子版本的步骤,包括:生成所述目标元数据的目标子版本,所述目标子版本与其它元数据各个版本相互独立。

在一种实施方式中,所述改变操作是更改操作,所述根据所述改变操作生成所述目标元数据的目标子版本的步骤,包括:生成所述目标元数据的目标子版本,所述目标子版本与其它元数据各个版本相互独立。

进一步地,所述元数据管理方法还包括:接收查询操作,所述查询操作携带有查询唯一识别号;通过所述查询唯一识别号与各个元数据的子版本的唯一识别号进行对比,以查找出查询元数据的子版本。

通过本申请实施例中的元数据模型,通过将各元数据的子版本可以建立元数据子版本的关联,元数据的子版本有以下优点:

通过子版本链接,可以直接追溯元数据的引用,关联时的具体时间段,不用进行元数据关联查询,大大提升查询速度;对于元数据来自于多个数据源的情况,通过子版本可直接进行查询,无需关联历史;元数据本身不用在存储数据,而是由子版本存储,因此将元数据进行缓存和索引,可大大提高查询速度,并且占用少量的内存,将引用和存储分离,实现更高的灵活性。

请参阅图4,是本发明实施例提供的图1所示的元数据管理装置的功能模块示意图。其中元数据管理装置中的各个模块用于执行上述方法实施例中的步骤。所述元数据管理装置可以包括以下模块。

获取模块301,用于获取目标元数据进行改变的改变操作;

生成模块302,用于根据所述改变操作生成所述目标元数据的目标子版本,所述目标子版本包括所述目标元数据被执行所述改变操作后的描述参数;

建立模块303,用于建立所述目标子版本与其它指定元数据的子版本之间的关联连接,所述其它指定元数据为与所述目标子版本有关系的元数据。

本实施例中,所述描述参数包括唯一识别号、创建时间、子版本号、来源关联识别号、关联元数据识别号中的一种或多种参数,所述关联元数据识别号用于与关联的元数据的子版本建立连接。

本实施例中,所述生成模块还用于:

查询所述目标元数据最近一次生成的子版本的最近子版本号;

根据所述最近子版本号得到目标子版本的子版本号;

根据预设规则生成所述目标子版本的唯一标识;

获取所述改变操作的操作时间;

记录与所述改变操作关联的其它元数据的子版本的唯一识别号,和/或,所述改变操作对应的来源关联识别号;

根据所述目标子版本的子版本号、操作时间、关联的其它元数据的子版本的唯一识别号和/或所述来源关联识别号形成所述目标子版本。

本实施例中,所述改变操作是删除操作,所述生成模块还用于:

生成所述目标元数据的目标子版本,所述目标子版本与其它元数据各个版本相互独立。

本实施例中,所述改变操作是更改操作,所述生成模块还用于:

生成所述目标元数据的目标子版本,所述目标子版本与其它元数据各个版本相互独立。

本实施例中,所述元数据管理装置还包括:查询模块,用于:

接收查询操作,所述查询操作携带有查询唯一识别号;

通过所述查询唯一识别号与各个元数据的子版本的唯一识别号进行对比,以查找出查询元数据的子版本。

关于本实施例中的其它细节可以进一步地参考上述方法实施例中的描述,在此不再赘述。

本发明实施例的元数据管理装置,在目标元数据进行改变操作时,会随着改变操作可以生成目标子版本,可以记录对元数据的改变操作中的描述参数,可以方便在后续查询元数据的改变操作。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1