CN116737113A - 面向海量科学数据的元数据目录管理系统及方法 - Google Patents
面向海量科学数据的元数据目录管理系统及方法 Download PDFInfo
- Publication number
- CN116737113A CN116737113A CN202310439800.2A CN202310439800A CN116737113A CN 116737113 A CN116737113 A CN 116737113A CN 202310439800 A CN202310439800 A CN 202310439800A CN 116737113 A CN116737113 A CN 116737113A
- Authority
- CN
- China
- Prior art keywords
- interface
- metadata
- model
- information
- data
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000007726 management method Methods 0.000 claims abstract description 58
- 238000013500 data storage Methods 0.000 claims abstract description 47
- 238000012545 processing Methods 0.000 claims abstract description 14
- 238000013499 data model Methods 0.000 claims abstract description 12
- 238000006243 chemical reaction Methods 0.000 claims abstract description 6
- 238000010276 construction Methods 0.000 claims abstract description 5
- 230000006870 function Effects 0.000 claims description 28
- 230000000007 visual effect Effects 0.000 claims description 27
- 230000003993 interaction Effects 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 15
- 238000004458 analytical method Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 10
- 238000012795 verification Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 6
- 230000002688 persistence Effects 0.000 claims description 3
- 238000013524 data verification Methods 0.000 claims description 2
- 238000004573 interface analysis Methods 0.000 claims description 2
- 238000013138 pruning Methods 0.000 claims description 2
- 238000012546 transfer Methods 0.000 claims description 2
- 238000002474 experimental method Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 230000005469 synchrotron radiation Effects 0.000 description 8
- 102100031680 Beta-catenin-interacting protein 1 Human genes 0.000 description 6
- 101000993469 Homo sapiens Beta-catenin-interacting protein 1 Proteins 0.000 description 6
- 238000012217 deletion Methods 0.000 description 5
- 230000037430 deletion Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 238000013523 data management Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 239000003337 fertilizer Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种面向海量科学数据的元数据目录管理系统及方法,其系统包括:数据模型模块:根据用户提供的元数据模型参数信息转换为模型JSON对象,并存入系统数据存储库以实现元数据模型的动态构建;接口定义模块:根据用户端提供的接口参数信息转化为接口JSON对象,并存入系统数据存储库来实现接口的动态创建;自定义接口执行模块:用于接收和处理自定义接口的请求,根据用户发送的接口执行参数结合接口参数实现该自定义接口所定义的功能,并将执行结果返回给用户;全局模块:用于身份认证与权限管理、日志处理、业务数据存储库的动态配置以及进行类型转换。本发明提供的系统,可动态定义元数据模型和接口,实现异构元数据的动态配置。
Description
技术领域
本发明涉及数据存储与管理领域,具体涉及一种面向海量科学数据的元数据目录管理系统及方法。
背景技术
大科学装置为我国多学科领域课题研究提供了基础研究服务平台,目前国内正在运行的有北京同步辐射装置、合肥同步辐射装置、上海同步辐射光源一期,以及正在或将要建设的上海硬X射线自由电子激光和北京同步辐射光源等,这些大科学装置在国家发展前沿性、战略性的科技问题上有着重大意义。在依托这些重大科学基础设施进行科学活动的过程中会产生海量的科学数据,这些科学数据有着重大的科研价值。高能同步辐射光源(HEPS)一期工程将建设十四条线站和一条测试线站,二期将建设九十多条线站,且这些线站预计每天产生的数据量高达800TB。为了能为用户提供高质量、近实时的数据分析与服务,需要对这些海量数据从数据获取、存储、传输、利用到共享的全生命周期过程进行跟踪和管理。科学数据全生命周期管理的核心是对元数据进行采集、存储和目录管理,并且提供访问元数据目录的各种接口。元数据是对科学数据的精确描述,科学数据有效管理的核心是对其元数据进行获取、组织、保存,并提供高效、便捷的访问服务。然而,从每个线站产生的科学数据的元数据有着不同的数据结构,且结构复杂,有些数据的元数据甚至达到了几百项,对应的元数据的复杂性和多变的元数据接口需求使得针对元数据目录接口的开发和维护面临着较高的人力和时间成本,延长了整体的数据管理系统开发周期,使得科研人员准确检索与获取数据变得异常困难,极大地增加了用户使用相关数据的时间成本。
目前,欧洲同步辐射装置(ESRF)在实验过程中使用Tango系统采集实验生成数据相关的元数据,对于不同的实验,其收集的元数据时统一使用符合Nexus约定的HDF5文件暂存,然后使用由英国科学和技术委员会研发用于存储与管理科学资源相关的元数据的软件系统ICAT元数据目录管理系统进行统一保存与管理。对于ESRF的元数据采集、存储、管理的元数据生命周期中,在元数据采集部分,其采用的方式是针对不同实验使用统一的预先约定的Nexus标准采集得到结构相同的科学元数据。并将所采集到的元数据通过ICAT元数据目录管理系统信息门户进行统一管理。ICAT元数据目录管理系统底层为关系型数据库,缺乏对科学元数据的多样性的支持。为了对元数据的多样性有更好的支持,由瑞典光源、欧洲散列中子源、瑞士保罗谢尔研究所合作研发的前后端分离的元数据目录管理系统SciCat底层采用了非关系型数据库,对具有不同数据结构的元数据的存储上有更好的支持。但SciCat提供元数据目录访问接口部分缺乏对元数据的多样性的支持,其具体不足如下:
1、不能动态构建数据模型。针对不同数据结构的元数据,SciCat需要在系统运行之前以系统配置的形式定义其元数据模型,这对处于生产环境中的接口开发和运维造成了困难。
2、不能根据用户需求动态生成接口。针对不同数据结构的元数据,SciCat只针对元数据结构中固定的字段自动生成操作接口,这将意味着异构元数据中某些字段会被忽略,无法很好地支持元数据的多样性。
3、无法同时支持多个数据源。对于存储在不同数据库中的元数据,SciCat需求分别为每一个数据库分别部署一套完整的系统,在这个过程中浪费了大量的人工成本。
4、对模型和接口的后期维护不足。当元数据模型发生改变时,SciCat只能重新配置元数据模型并重新生成相应的接口。在这个过程中浪费了大量的时间成本。
目前国际上的元数据管理软件系统主要有ICAT和SciCat两种,但其对元数据的多样性不能做到很好的支持,国内虽然有少量光源在SciCat的基础上进行数据管理软件的开发,但在同步辐射光源元数据目录管理框架相关技术的研究仍处于空白。
发明内容
为了解决上述技术问题,本发明提供一种面向海量科学数据的元数据目录管理系统及方法。
本发明技术解决方案为:一种面向海量科学数据的元数据目录管理系统,包括:
数据模型模块:接收到来自可视化交互端发送的元数据模型参数信息,将所述元数据模型参数信息转换为模型JSON对象,并进行校验;将通过校验的所述元数据模型转化为模型JSON对象存入系统数据存储库以实现元数据模型的动态构建;对所述模型JSON对象使用嵌套遍历算法进行模型解析;对已创建的元数据模型进行后期的管理;
接口定义模块:用于接收到可视化交互端发送的接口参数信息并进行校验,若通过校验,将所述接口参数转化为接口JSON对象,并存入系统数据存储库来实现接口的动态注册;将常用的接口信息存入接口缓存中以加快系统的响应速度;接收的接口获取请求时,对用户权限和接口权限进行判断,实现对接口的获取的权限控制;
自定义接口执行模块:用于接收和处理自定义接口的请求,根据自定义接口的请求地址信息获取接口以及对应的元数据模型信息,对用户传递的接口执行参数进行校验,若通过校验,则根据用户发送的接口执行参数结合接口参数实现该自定义接口所定义的功能,并将执行结果返回给用户;
全局模块:用于元数据目录管理系统的身份认证与权限管理、日志处理、动态配置以及进行类型转换;
数据存储模块:用于独立存储系统数据与业务数据,其包括系统数据存储库和业务数据存储库。
根据本发明另一方面,一种计算机存储介质,其特征在于,所述计算机存储介质中存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述面向海量科学数据的元数据目录管理方法。
本发明与现有技术相比,具有以下优点:
1、本发明公开了一种面向海量科学数据的元数据目录管理系统,设计了一种通用的树形的元数据模型,使其在生产环境中以可视化的方式定义并实时解析以实现数据模型的动态配置。本发明在元数据模型的定义中充分考虑了数据字段属性、字段之间的关系以及字段存储库类型,通过元数据模型可以描述多领域的数据信息,能对异构元数据有很好的支持,使得整个系统具有很强的可扩展性以及通用性。
2、本发明在接口定义模块为增加、删除、修改以及查找四类功能接口分别设计了树形的接口参数定义规范。用户在定义接口时仅需要以可视化的方式指定接口功能所涉及的字段名称以及其他可选参数信息即可完成自定义接口的创建。
3、本发明对于现存的元数据存储数据库,在本系统运行过程中,可以将其数据库信息以配置的形式给出,即可实现对该数据库中元数据的管理。
4、对于已创建的元数据模型和接口,本系统实现了对其的后期维护功能。当后期元数据结构发生变化时,可以及时修改其对应的元数据模型来满足新的需求。
附图说明
图1为本发明实施例中一种面向海量科学数据的元数据目录管理系统的结构框图流程图;
图2为本发明实施例中元数据模型结构示意图;
图3为本发明实施例中增加类型接口参数定义规范示意图;
图4为本发明实施例中删除类型接口参数定义规范示意图;
图5为本发明实施例中修改类型接口参数定义规范示意图;
图6为本发明实施例中查询类型接口参数定义规范示意图;
图7为本发明实施例中一种面向海量科学数据的元数据目录管理方法的流程图。
具体实施方式
本发明提供了一种面向海量科学数据的元数据目录管理系统,可动态定义元数据模型和接口,同时可以通过动态配置的形式支持对其他异构元数据存储数据库的管理。
为了使本发明的目的、技术方案及优点更加清楚,以下通过具体实施,并结合附图,对本发明进一步详细说明。
实施例一
如图1所示,本发明实施例提供的一种面向海量科学数据的元数据目录管理系统,包括下述模块:
数据模型模块:接收到来自可视化交互端发送的元数据模型参数信息,将元数据模型参数信息转换为模型JSON对象,并进行校验;将通过校验的元数据模型转化为模型JSON对象存入系统数据存储库以实现元数据模型的动态构建;对元数据模型JSON对象使用嵌套遍历算法进行模型解析;对已创建的元数据模型进行后期的管理;
在本模块中,本发明实施例根据高能同步辐射光源实验所产生的众多科学数据的元数据结构,定义了多套通用的元数据模型,这些通用的元数据模型可以满足多种实验所产生的元数据的差异性需求。当用户需要针对某次光源实验选择要使用的元数据模型时,可以直接应用已有的元数据模型。当已有元数据模型不能满足用户需求时,用户可以在可视化交互界面对通用元数据模型的基础上进行修改,或者重新创建满足需求的元数据模型。在本模块接收到来自可视化交互界面发送的元数据模型参数信息,将元数据模型参数信息转换为模型JSON对象,并进行校验;将通过校验的元数据模型转化为模型JSON对象存入系统数据存储库以实现元数据模型的动态构建;
接口定义模块:用于接收到可视化交互端发送的接口参数信息并进行校验,若通过校验,将接口参数转化为接口JSON对象,并存入系统数据存储库来实现接口的动态注册;将常用的接口信息存入接口缓存中以加快系统的响应速度;接收的接口获取请求时,对用户权限和接口权限进行判读实现对接口的获取的权限控制;
自定义接口执行模块:用于接收和处理自定义接口的请求,根据自定义接口的请求地址信息获取接口以及对应的元数据模型信息,对用户传递的接口执行参数进行校验,若通过校验,则根据用户发送的接口执行参数结合接口参数实现该自定义接口所定义的功能,并将执行结果返回给用户;
全局模块:用于元数据目录管理系统的身份认证与权限管理、日志处理、动态配置以及进行类型转换;
本模块的动态配置主要是对本系统所管理的目标元数据的存储数据库的配置,通过本模块可实现业务数据存储库的动态配置,用户可以在可视化交互界面给出业务数据存储库的相关信息,在本模块接收到数据库信息时首先将其写入系统运行时的上下文中,实现当前运行状态下对该数据库的支持,然后将该数据库信息写入系统的配置文件中,以实现数据库对持久保存,以便在下次系统服务重启时可以直接加载先前配置的是数据库信息,由此实现真正意义上的数据库的动态配置;
数据存储模块:用于独立存储系统数据与业务数据,其包括系统数据存储库和业务数据存储库;
本系统采用了系统数据与业务数据分离的方式进行实现,即将系统所需要管理的目标数据和系统运行时所需要的数据以相互独立的形式进行存储。在本系统中系统所需要管理的目标数据存储在了业务数据存储库中,而系统运行时所需要的数据存储在了系统数据存储库中。通过这种方式,可以降低系统的数据之间的耦合度,使系统独立于所需要管理的数据。同样的,通过这种实现方式,可以将本系统应用于其他需要元数据管理的场景中,提高了系统的泛化能力。
在一个实施例中,上述数据模型模块,包括子模块:
模型定义模块:用于接收到来自用户端发送的元数据模型参数信息,并将其根据元数据模型定义规范规范化为树形模型;
数据管理员根据所需要管理的元数据结构信息,在已有的元数据存储数据库,即系统数据存储库,中查看是否有满足需求的元数据模型,如果存在,则直接使用该元数据模型,如果不存在则根据下述元数据模型定义规范,以可视化的形式创建新的元数据模型。
本发明提供了一种通用的元数据模型定义规范,用户端以可视化的方式动态地自定义出一种符合用户需求的元数据模型。如图2所示,该规范以树形的数据结构定义了元数据的数据结构信息。树形模型的第一层不存储元数据相关信息,第二层从上到下分别代表该数据数据模型的名称(name)、该模型的相关描述(description)、元数据的存储数据库信息(例如mongodb)、该模型所描述的元数据的数据结构信息(parameter)以及不同数据元数据模型之间的关联信息(relation)。其中,元数据存储数据库信息主要包括元数据的存储库类型(例如mongodb)、元数据的集合(表)名称(collection)以及真实的元数据信息是否已在库中(onDisk);元数据的数据结构信息主要包括元数据的各个字段名称(field)以及字段属性,如:字段类型(type)、是否为必要字段(isRequired)、是否为索引字段(isIndex)以及字段的描述信息(description);本模型与其他数据元数据模型之间的关联信息(relation)在本模型定义规范中通过指定一个或多个所关联的模型名称(modelName)以及所关联的模型字段名称(referenceFieldName)来定义模型之间的关联关系。上述通用的元数据模型定义规范,数据管理员可以根据所存储的元数据数据结构信息动态定义出对应的元数据模型。
模型校验模块:用于将树形模型转换为模型JSON对象,然后通过JSONSchema工具进行校验;
本发明实施例根据元数据模型定义规范,编写了一套用于校验元数据模型JSON对象的JSONSchema,在将树形元数据模型转换为模型JSON对象,然后通过JSONSchema工具进行校验;
模型管理模块:用于对校验通过的元数据模型JSON对象存储到数据系统存储库中以实现模型的动态创建;用于对已创建的模型JSON对象进行删改操作;
在本模块中,在删除一个元数据模型时,首先根据所删除的元数据模型的存储id查找所有依照该模型所创建的接口,然后将该模型与接口的数据库中的删除标志位置为1来实现模型和接口的逻辑删除;当修改一个元数据模型时,数据管理员在可视化界面给出需要修改的元数据模型,然后系统接收到修改后的元数据模型后首先对其进行校验,然后将该元数据模型JSON对象存储到数据系统存储库,然后依照该元数据模型id获取所有依照该模型所创建接口,对这些接口进行接口校验,最后将不可用接口进行逻辑删除。
模型解析模块:用于从系统数据存储库读取模型JSON对象,对其进行遍历解析得到元数据信息,包括:元数据字段信息、元数据存储信息和元数据模型之间的关联信息,然后将得到的元数据信息以Map的形式存入系统内存中并添加一个计时器,当到达预设时间后自动释放Map所占用内存;
在本模块中,对于一次光源类实验所产生的元数据的数据结构往往是类似的,也就意味着一次实验所产生的元数据可以通过一种元数据模型所产生的接口进行管理。当频繁地调用接口时,同样也会频繁获取相应的元数据模型进行信息。因此,在调用本模块的模型解析功能时,首先从系统数据存储库获取JSON类型的元数据模型参数信息,然后使用嵌套遍历算法遍历模型参数中的存储信息、字段信息和模型相关信息,然后将其存入Map中实现对模型解析结果的临时保存,当重复读取同一模型时,可以直接从Map中进行读取,从而跳过每次获取元数据模型信息时的从数据库中读取和模型解析这两个步骤。提高了系统的响应时间、降低了数据库的读取压力。
目前,国际上主要的元数据管理软件系统有ICAT和SciCat两种,其均存在各自的问题,对于ICAT来说,其底层用于存储元数据的数据库采用的是关系型数据库,对于异构的元数据不能做到很好的支持;对于SciCat来说,虽然底层元数据存储数据库采用了非关系型数据库,对异构的元数据相较于ICAT有更好的支持,但其在根据不同数据结构的元数据生成查询类型的操作接口时仅仅基于一些固定的字段,这也意味着对于异构的元数据,有些字段会被忽略。同时对于不同数据结构的元数据,其元数据的数据模型需要以系统配置的形式在启动项目之前进行配置,这也给处于生产环境中的接口开发和运维造成了困难;为解决上述问题,对异构元数据的存储与管理有更好的支持,本发明主要实现了以非关系型数据库作为异构元数据存储数据库(业务数据存储库),对于不同数据结构的元数据可以实现动态定义其数据模型,同时对于现有的元数据存储数据库,本发明可以以配置的形式将该数据库作为本系统的元数据存储数据库,以实现对现有元数据存储数据库的兼容。
当数据管理员完成元数据模型的选取或创建后,可以查看基于该元数据模型的所有功能接口,若存在满足用户需求的功能接口,则可以校验该接口的可用性,若当前接口不可用,则可以在当前接口基础上进行修改或者重新创建相关接口。若不存在相应接口时,可以在该元数据模型下根据对应类型接口的接口参数规范以可视化的方式,数据管理员利用接口定义模块,动态创建出满足需求的功能接口。
在一个实施例中,上述接口定义模块,包括子模块:
接口注册模块:用于接收到来自可视化交互端发送的接口参数,然后将接口参数转化为接口JSON对象;
数据管理员可以根据上述元数据模型定义规范结合元数据的数据结构特征可视化地定义出相应的元数据模型。根据这些元数据模型,数据管理员可以以可视化的方式动态地自定义出相应的操作接口。对于元数据的操作接口在宏观上可以分为即增加、删除、修改、查询四类接口。本发明实施例分别为这4类接口提出了相应的接口参数规范,数据管理人员通过定义符合相应类型接口的参数信息来定义相应的接口功能,以实现在生产环境下数据管理人员使用元数据中的任意参数便捷、快速、可视化地创建特定功能的操作接口。如图3所示,该树形结构为添加类型接口的参数规范,数据管理员可以在该参数规范下可视化地指定使用该接口增加元数据的字段名称信息(filedName)即可实现单个或者批量的元数据增加接口的创建。如图4所示,该树形结构为删除类型接口的参数规范。数据管理员在创建该类型接口时以可视化的形式指定接口执行时的查询字段信息(filedName)以及是否删除满足查询条件的所有元数据标识(limit)即可创建单个或者批量的删除类型接口。更新类型接口参数规范与查询类型接口参数规范分别如图5和图6所示,创建方式同增加类型接口和删除类型接口,只需数据管理员以可视化的方式给出filedName和limit信息即可。
数据校验模块:用于对接口JSON对象进行校验,具体包括,首先通过JSONSchema工具进行接口参数的格式校验;然后逆向获取该接口所对应的元数据模型信息并解析,使用该元数据模型中的字段的属性信息对接口参数的内容进行校验;
缓存模块:对于获取已创建的自定义接口时,根据自定义接口被重复获取的次数作为其优先级存入系统缓存中,然后在后续使用的过程中直接从该缓存中获取自定义接口信息。对于缓存存储达到上限后,按照接口的优先级对其中的接口进行删除。
对于一次完整的光源实验,往往首先进行模拟实验然后再进行真实实验,在真实实验的过程中会会频繁调用所创建的接口,然而,模拟实验和真实实验所调用的接口很大程度上是相同的。因此,本发明实施例在对已创建接口的读取的过程中做了以下优化:首先在模拟实验过程中对所调用的接口进行技术,其中包括接口信息和接口次数。在模拟实验结束时,本模块会按照接口被调用次数设置接口的优先级,然后将其置于缓存中。当进行真实实验时将直接从缓存中来获取所调用接口的相关信息,当缓存中未存储指定接口时,才会从系统数据存储库中读取接口信息,并且以最低优先级存入缓存中。当缓存溢出时,将从缓存中删除优先级低的接口信息,通过这种方式,大大降低了接口被频繁调用时的响应时间,同时也减轻了系统数据存储库的压力;
接口管理模块:用于对校验通过的接口JSON对象存储到数据系统存储库中以实现自定义接口的动态创建;用于对已创建的接口JSON对象进行删除、修改、更新操作。
在数据管理员完成接口选取或创建后,将自动生成唯一的接口请求地址交由用户进行自定义接口执行模块的调用,以实现相应的接口操作。
在一个实施例中,上述自定义接口执行模块,包括子模块:
接口解析模块:用于根据用户端的请求地址信息获取相应的接口参数以及元数据模型信息,对接口参数及其对应的元数据模型进行解析;
参数校验模块:用于对用户传递接口执行参数进行校验,校验方式是首先根据接口参数对接口执行参数进行字段名称校验,然后通过这个接口对应的元数据模型参数对接口执行参数进行字段名称和字段值的数据格式校验;
语句执行模块:用于对通过参数校验模块校验的接口执行参数与接口参数整合为元数据存储数据库的可行语句进行执行,并将执行结果返回给用户端。
用户在获取到接口请求地址后,首先根据接口参数编辑该接口所需传递的接口执行参数,服务端在接收到用户请求时,会根据用户请求地址获取接口信息,进而获取到元数据模型信息,然后服务端将根据元数据模型信息和接口信息来校验用户的接口执行参数的完整性。系统校验通过后将根据接口参数信息与用户的接口执行参数整合为元数据存储数据库的可执行语句进行执行,实现相应的接口操作,进而实现对元数据的操作,最后将执行结果返回给用户。
在一个实施例中,上述全局模块,包括子模块:
类型转换模块:用于将输入转换为对应的模型JSON对象或接口JSON对象;
身份认证与权限管理模块:用于用户身份认证与权限管理;
日志处理模块:用于记录系统运行过程中每个事件的执行信息;
动态配置模块:用于动态配置其他业务数据存储库,具体实现方式为首先将所业务数据存储库信息更新到当前系统运行时的上下文中,然后将数据库信息写入到系统的配置文件中以实现数据库的动态配置。
全局模块主要用于为其他各个模块的功能实现提供相关方法、完善系统功能、同时也提供了业务数据存储库的动态配置。
在一个实施例中,上述数据存储模块,包括子模块:
系统数据存储库:用于存储满足系统运行时所需要的数据。
业务数据存储库:用于存储系统所管理的元数据。
本发明实施例将元数据的系统数据和业务数据独立存储。在数据存储层面,将业务数据和系统数据存储在不同的数据库中,以确保数据的独立性;在数据访问层面,通过工厂模式的思想来组织和管理数据源,将业务数据管理逻辑和系统数据管理逻辑分离,并对业务数据和系统数据进行分别访问和处理;在数据安全层面,对业务数据和系统数据进行分别备份和恢复,以确保数据的可靠性和安全性。
通过将系统的业务数据和系统数据分别独立存储可以提高数据的安全性,降低数据被非法访问的风险。可以减少对系统资源的竞争,从而提高系统的响应速度和稳定性。系统管理员可以只对系统数据进行维护,而不会对业务数据进行操作,从而降低了对业务数据的风险。同时可以提高备份效率,并且在进行数据恢复时也可以更加灵活地选择要恢复的数据。
本发明公开了一种面向海量科学数据的元数据目录管理系统,设计了一种通用的树形的元数据模型,使其在生产环境中以可视化的方式定义并实时解析以实现数据模型的动态配置。本发明在元数据模型的定义中充分考虑了数据字段属性、字段之间的关系以及字段存储库类型,通过元数据模型可以描述多领域的数据信息,能对异构元数据有很好的支持,使得整个系统具有很强的可扩展性以及通用性。本发明在接口定义模块为增加、删除、修改以及查找四类功能接口分别设计了树形的接口参数定义规范。用户在定义接口时仅需要以可视化的方式指定接口功能所涉及的字段名称以及其他可选参数信息即可完成自定义接口的创建。本发明对于现存的元数据存储数据库,在本系统运行过程中,可以将其数据库信息以配置的形式给出,即可实现对该数据库中元数据的管理。对于已创建的元数据模型和接口,本系统实现了对其的后期维护功能。当后期元数据结构发生变化时,可以及时修改其对应的元数据模型来满足新的需求。
实施例二
如图7所示,本发明实施例提供了一种面向海量科学数据的元数据目录管理方法,包括下述步骤:
步骤S1:数据管理员在可视化交互端查看所有已创建的元数据模型信息,根据用户需求选取可用的元数据模型;若其中含有可用元数据模型,则转至步骤S3,如果否,则转至步骤S2;
步骤S2:根据数据管理员在可视化交互端发送的元数据模型参数信息,结合元数据模型定义规范,为数据管理员创建所需的JSON数据格式的元数据模型,并存入系统数据存储库;
数据管理员对用户发送的元数据模型参数信息进行分析,获取其中元数据的字段信息后,通过前端界面填写元数据的相关信息。然后将这些信息交由后端以自动生成相应的JSON数据格式的元数据模型。其中,前端界面所填写的信息有:模型名称(name)、这些元数据存储在元数据存储数据库中的集合名称(collection)、是否已经存入该集合中(onDisk)、模型中的字段信息,在本发明实施例中字段信息包括(spectrum、input_parameters、structure、dir_name、xas_id)、各个字段的属性信息,包括字段类型(type)、是否为必要字段(isRequired)、是否为索引字段(isIndex)、字段的描述信息(description)、以及模型之间的关联信息(referenceModelName、referenceModelField)。
后端接收由前端发送的元数据模型信息后,将根据元数据模型定义规范生成对应的JSON数据格式的元数据模型,在成功创建元数据模型后,将元数据信息、创建用户信息、创建时间等信息存入系统数据存储库中,以实现持久化。
最后将所创建的元数据模型信息返回给前端用户。
下述为一个元数据模型的示例:
步骤S3:根据数据管理员选定的元数据模型,基于该模型信息查询系统数据存储库是否已存在满足需求的接口,如果有,转至步骤S5,如果否,则执行步骤S4;
步骤S4:根据用户在可视化交互端发送的接口参数信息,结合接口定义规范,为数据管理员创建所需的JSON数据格式的接口参数,并存入系统数据存储库;
在创建符合需求的接口时首先需要指定接口名称和接口的宏观功能,宏观功能主要有增加、删除、修改、更新四类功能,当指定接口的宏观功能后需要指定所参照的元数据模型,然后从参照模型中指出该接口所涉及字段信。最后将以上信息交由后端以生成规范的接口参数。
以查询类型的接口为例:当数据管理员需要创建通过xas_id字段查询相关元数据的,需要创建对应的查询类型操作接口,在指定参照的元数据模型后,从元数据模型的字段信息中选中xas_id进行创建。
该查询类型的接口参数如下所示:
在生成规范的接口参数后,系统将自动生成唯一地接口请求地址,其接口请求地址的组成为:域名+端口号+“userAPI”+模型名+接口功能信息+接口名称。其中,接口名称是唯一的,以保证请求地址的唯一性。当所有创建步骤完成后,将接口参数信息、接口地址、创建人员信息等存入系统数据存储库以实现持久化。并将新创建的接口信息返回给前端用户。
步骤S5:利用自定义接口执行模块,对所发送的接口执行参数进行校验,若通过校验,则将接口执行参数与接口参数整合为可执行语句来实现接口功能,并将执行结果返回给用户。
用户在调用上述自定义接口时,需要向系统传递xas_id值,系统在接收到接口调用请求后将进行步骤S5进行接口功能的具体实现,最后返回接口的执行结果。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现上述一种面向海量科学数据的元数据目录管理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机存储介质。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
提供以上实施例仅仅是为了描述本发明的目的,而并非要限制本发明的范围。本发明的范围由所附权利要求限定。不脱离本发明的精神和原理而做出的各种等同替换和修改,均应涵盖在本发明的范围之内。
Claims (13)
1.一种面向海量科学数据的元数据目录管理系统,其特征在于,包括:
数据模型模块:接收到来自可视化交互端发送的元数据模型参数信息,将所述元数据模型参数信息转换为模型JSON对象,通过JSONSchema工具进行校验;将通过校验的所述模型JSON对象存入系统数据存储库以实现元数据模型的动态构建;
接口定义模块:用于接收到可视化交互端发送的接口参数信息并进行校验,若通过校验,将所述接口参数转化为接口JSON对象,并存入系统数据存储库来实现接口的动态注册;将常用的接口信息存入接口缓存中以加快系统的响应速度;接收到接口获取请求时,对用户权限和接口权限进行判断,实现对接口的获取的权限控制;
自定义接口执行模块:用于接收和处理自定义接口的请求,根据自定义接口的请求地址信息获取接口信息以及对应的元数据模型信息,对用户传递的接口执行参数进行校验,若通过校验,则根据用户发送的接口执行参数结合接口参数实现该自定义接口所定义的功能,并将执行结果返回给用户;
全局模块:用于元数据目录管理系统的身份认证与权限管理、日志处理、动态配置以及进行类型转换。
2.根据权利要求1所述的面向海量科学数据的元数据目录管理系统,其特征在于,所述数据模型模块,具体包括:
模型定义模块:用于接收到来自用户端发送的元数据模型参数信息,并将其根据元数据模型定义规范规范化为树形模型;
模型校验模块:用于将所述树形模型转换为模型JSON对象,然后通过JSONSchema工具进行校验;
模型管理模块:用于对所述校验通过的模型JSON对象存储到系统数据存储库中以实现模型的动态创建;用于对所述已创建的模型JSON对象进行删改操作;
模型解析模块:用于从所述系统数据存储库读取所述模型JSON对象,对其进行遍历解析得到元数据信息;其中,元数据信息包括:元数据字段信息、元数据存储信息和元数据模型之间的关联信息。
3.根据权利要求2所述的面向海量科学数据的元数据目录管理系统,其特征在于,在调用模型解析模块功能时,首先从系统数据存储库获取JSON类型的元数据模型参数信息,然后使用嵌套遍历算法遍历模型参数中的存储信息、字段信息和模型关联信息,然后将其存入Map中实现对模型解析结果的临时保存,当重复读取同一模型时,可以直接从Map中进行读取,从而跳过每次获取元数据模型信息时的从数据库中读取和模型解析这两个步骤。
4.根据权利要求1所述的面向海量科学数据的元数据目录管理系统,其特征在于,所述接口定义模块,具体包括:
接口注册模块:用于接收到来自用户端发送的接口参数,然后将所述接口参数转化为接口JSON对象;
数据校验模块:用于对所述接口JSON对象进行校验,具体包括,首先通过JSONSchema工具进行接口参数的格式校验;然后逆向获取该接口所对应的元数据模型信息并解析,使用该元数据模型中的字段的属性信息对所述接口参数的内容进行校验;
缓存模块:当获取已创建的自定义接口时,根据所述自定义接口被重复获取的次数作为其优先级存入系统缓存中,然后在后续使用的过程中直接从所述系统缓存中获取该自定义接口信息;当所述系统缓存存储达到上限后,删除低优先级的所述自定义接口;
接口管理模块:用于对所述校验通过的接口JSON对象存储到系统数据存储库中以实现自定义接口的动态创建;以及对已创建的接口JSON对象进行删除、修改、更新操作。
5.根据权利要求1所述的面向海量科学数据的元数据目录管理系统,其特征在于,所述自定义接口执行模块,具体包括:
接口解析模块:用于根据用户端的请求地址信息获取相应的接口参数以及元数据模型信息,对所述接口参数及其对应的元数据模型进行解析;
参数校验模块:用于对用户传递接口执行参数进行校验,校验方式是首先根据接口参数对所述接口执行参数进行字段名称校验,然后通过这个接口对应的元数据模型参数对所述接口执行参数进行字段名称和字段值的数据格式校验;
语句执行模块:用于对通过所述参数校验模块校验的接口执行参数与接口参数整合为元数据存储数据库的可行语句进行执行,并将执行结果返回给用户端。
6.根据权利要求1所述的面向海量科学数据的元数据目录管理系统,其特征在于,所述全局模块,具体包括:
类型转换模块:用于将输入转换为对应的模型JSON对象或接口JSON对象;
身份认证与权限管理模块:用于用户身份认证与权限管理;
日志处理模块:用于记录系统运行过程中每个事件的执行信息;
动态配置模块:用于动态配置其他业务数据存储库,首先将所述其他业务数据存储库信息更新到当前系统运行时的上下文中,然后将所述其他业务数据存储库信息写入到系统的配置文件中以实现数据库的动态配置。
7.根据权利要求1所述的面向海量科学数据的元数据目录管理系统,其特征在于,所述数据存储模块,具体包括:
系统数据存储库:用于存储满足系统运行时所需要的数据;
业务数据存储库:用于存储所述系统所管理的元数据。
8.一种面向海量科学数据的元数据目录管理方法,包括下述步骤:
步骤S1:数据管理员在可视化交互端查看所有已创建的元数据模型信息,根据用户需求选取可用的元数据模型;若其中含有可用元数据模型,则转至步骤S3,如果否,则转至步骤S2;
步骤S2:根据所述数据管理员在可视化交互端发送的元数据模型参数信息,结合元数据模型定义规范,为所述数据管理员创建所需的JSON数据格式的元数据模型,并存入系统数据存储库;
步骤S3:根据所述数据管理员选定的元数据模型,基于该模型信息查询系统数据存储库是否已存在满足需求的接口,如果有,转至步骤S5,如果否,则执行步骤S4;
步骤S4:根据用户在可视化交互端发送的接口参数信息,结合接口定义规范,为所述数据管理员创建所需的JSON数据格式的接口参数,并存入系统数据存储库;
步骤S5:利用自定义接口执行模块,对所发送的接口执行参数进行校验,若通过校验,则将接口执行参数与接口参数整合为可执行语句来实现接口功能,并将执行结果返回给用户。
9.根据权利要求8所述的面向海量科学数据的元数据目录管理方法,其特征在于,步骤S2具体包括:
数据管理员对用户发送的元数据模型参数信息进行分析,获取其中元数据的字段信息后,通过前端界面填写元数据的相关信息,并发送到后端后端接收由前端发送的元数据模型信息后,将根据元数据模型定义规范生成对应的JSON数据格式的元数据模型,在成功创建元数据模型后,将JSON数据格式的元数据模型、创建用户信息、创建时间信息、可用性信息存入系统数据存储库中,以实现持久化。
10.根据权利要求8所述的面向海量科学数据的元数据目录管理方法,其特征在于,步骤S4具体包括:
在创建符合需求的接口时首先需要指定接口名称和接口的宏观功能,宏观功能主要有增加、删除、修改、更新四类功能,当指定接口的宏观功能后需要指定所参照的元数据模型,从参照模型中指出该接口所涉及字段信息,最后将以上信息交由后端以生成规范的接口参数。
11.根据权利要求10所述的面向海量科学数据的元数据目录管理方法,其特征在于,在生成规范的接口参数后,系统将自动生成唯一地接口请求地址,其接口请求地址的组成为:域名+端口号+“userAPI”+模型名+接口功能信息+接口名称。
12.根据权利要求10所述的面向海量科学数据的元数据目录管理方法,其特征在于,步骤S5之后包括:
用户在调用上述自定义接口时,需要向系统接口参数中所涉及的字段信息的值,系统在接收到接口调用请求后将执行步骤S5,最后返回接口的执行结果。
13.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求8-12任意一项所述的一种面向海量科学数据的元数据目录管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310439800.2A CN116737113B (zh) | 2023-04-23 | 2023-04-23 | 面向海量科学数据的元数据目录管理系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310439800.2A CN116737113B (zh) | 2023-04-23 | 2023-04-23 | 面向海量科学数据的元数据目录管理系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116737113A true CN116737113A (zh) | 2023-09-12 |
CN116737113B CN116737113B (zh) | 2024-01-02 |
Family
ID=87914033
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310439800.2A Active CN116737113B (zh) | 2023-04-23 | 2023-04-23 | 面向海量科学数据的元数据目录管理系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116737113B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117170655A (zh) * | 2023-09-18 | 2023-12-05 | 上海鸿翼软件技术股份有限公司 | 一种元数据处理方法、装置、数据处理设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040111728A1 (en) * | 2002-12-05 | 2004-06-10 | Schwalm Brian E. | Method and system for managing metadata |
CN103970899A (zh) * | 2014-05-27 | 2014-08-06 | 重庆大学 | 面向服务的元数据关联性提取管理方法及其管理系统 |
CN106777370A (zh) * | 2017-01-24 | 2017-05-31 | 桂林电子科技大学 | 一种海洋数据采集以及元数据管理方法 |
CN109739573A (zh) * | 2018-12-27 | 2019-05-10 | 深圳市多度科技有限公司 | 实现api接口调用的处理方法及装置、实现api接口的系统 |
CN113377740A (zh) * | 2021-05-28 | 2021-09-10 | 中国铁道科学研究院集团有限公司电子计算技术研究所 | 铁路元数据管理方法、应用方法及装置 |
US20220027326A1 (en) * | 2019-03-15 | 2022-01-27 | Sun Yat-Sen University | Metadata management method, system and medium |
US11269889B1 (en) * | 2018-05-09 | 2022-03-08 | Christopher James Aversano | Graphical user interface driven programming development environment |
CN114443656A (zh) * | 2022-01-19 | 2022-05-06 | 中国航空工业集团公司西安航空计算技术研究所 | 一种可定制的自动化数据模型分析工具及其使用方法 |
CN114724654A (zh) * | 2022-04-18 | 2022-07-08 | 中国工程物理研究院计算机应用研究所 | 一种材料性能数据管理方法及系统 |
CN115617797A (zh) * | 2022-10-12 | 2023-01-17 | 武汉达梦数据技术有限公司 | 一种业务元数据字段动态拓展方法、电子设备及存储介质 |
-
2023
- 2023-04-23 CN CN202310439800.2A patent/CN116737113B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040111728A1 (en) * | 2002-12-05 | 2004-06-10 | Schwalm Brian E. | Method and system for managing metadata |
CN103970899A (zh) * | 2014-05-27 | 2014-08-06 | 重庆大学 | 面向服务的元数据关联性提取管理方法及其管理系统 |
CN106777370A (zh) * | 2017-01-24 | 2017-05-31 | 桂林电子科技大学 | 一种海洋数据采集以及元数据管理方法 |
US11269889B1 (en) * | 2018-05-09 | 2022-03-08 | Christopher James Aversano | Graphical user interface driven programming development environment |
CN109739573A (zh) * | 2018-12-27 | 2019-05-10 | 深圳市多度科技有限公司 | 实现api接口调用的处理方法及装置、实现api接口的系统 |
US20220027326A1 (en) * | 2019-03-15 | 2022-01-27 | Sun Yat-Sen University | Metadata management method, system and medium |
CN113377740A (zh) * | 2021-05-28 | 2021-09-10 | 中国铁道科学研究院集团有限公司电子计算技术研究所 | 铁路元数据管理方法、应用方法及装置 |
CN114443656A (zh) * | 2022-01-19 | 2022-05-06 | 中国航空工业集团公司西安航空计算技术研究所 | 一种可定制的自动化数据模型分析工具及其使用方法 |
CN114724654A (zh) * | 2022-04-18 | 2022-07-08 | 中国工程物理研究院计算机应用研究所 | 一种材料性能数据管理方法及系统 |
CN115617797A (zh) * | 2022-10-12 | 2023-01-17 | 武汉达梦数据技术有限公司 | 一种业务元数据字段动态拓展方法、电子设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
林广: "基于SciCat的HLS-II实验数据管理系统", 中国优秀硕士学位论文全文数据库 工程科技II辑, pages 040 - 41 * |
齐法制等: "高能同步辐射光源科学数据处理平台规划与设计", 数据与计算发展前沿, pages 40 - 58 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117170655A (zh) * | 2023-09-18 | 2023-12-05 | 上海鸿翼软件技术股份有限公司 | 一种元数据处理方法、装置、数据处理设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116737113B (zh) | 2024-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11468103B2 (en) | Relational modeler and renderer for non-relational data | |
CN111382226B (zh) | 一种数据库查询检索方法、装置和电子设备 | |
CN106202452B (zh) | 大数据平台的统一数据资源管理系统与方法 | |
CN110837492B (zh) | 一种多源数据统一sql提供数据服务的方法 | |
CN102841889A (zh) | 一种基于orm架构的高效数据库访问的实现方法及装置 | |
CN112199433A (zh) | 一种用于城市级数据中台的数据治理系统 | |
CN113297320A (zh) | 分布式数据库系统及数据处理方法 | |
CN113204571B (zh) | 涉及写入操作的sql执行方法、装置及存储介质 | |
CN112148689A (zh) | 一种用于城市级数据中台的数据共享交换系统 | |
CN116737113B (zh) | 面向海量科学数据的元数据目录管理系统及方法 | |
CN109150964B (zh) | 一种可迁移的数据管理方法及服务迁移方法 | |
CN112232672B (zh) | 一种工业机理模型的管理系统及方法 | |
CN105808753A (zh) | 一种区域性数字资源系统 | |
CN108763323B (zh) | 基于资源集和大数据技术的气象格点文件应用方法 | |
CN111177244A (zh) | 面向多个异构数据库的数据关联分析方法 | |
CN105975258A (zh) | 一种数据字典的管理方法及系统 | |
CN116795859A (zh) | 数据分析方法、装置、计算机设备和存储介质 | |
CN106780157B (zh) | 基于Ceph的电网多时态模型存储与管理系统及方法 | |
CN115857918A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN114661715A (zh) | 数据库的数据处理方法及装置、存储介质和电子设备 | |
CN114443015A (zh) | 一种基于数据库元数据的增删改查服务接口生成方法 | |
CN113792026A (zh) | 数据库脚本的部署方法、装置及计算机可读存储介质 | |
CN115809268B (zh) | 一种基于分片索引的自适应查询方法和装置 | |
CN103150207A (zh) | 工程勘察数据计算机协同处理方法及系统 | |
CN113722337B (zh) | 业务数据确定方法、装置、设备及存储介质 |
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 |