CN115794214B - 应用模块元数据管理方法、设备、存储介质及装置 - Google Patents
应用模块元数据管理方法、设备、存储介质及装置 Download PDFInfo
- Publication number
- CN115794214B CN115794214B CN202310086732.6A CN202310086732A CN115794214B CN 115794214 B CN115794214 B CN 115794214B CN 202310086732 A CN202310086732 A CN 202310086732A CN 115794214 B CN115794214 B CN 115794214B
- Authority
- CN
- China
- Prior art keywords
- metadata
- target
- application module
- file
- module
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种应用模块元数据管理方法、设备、存储介质及装置,本发明根据目标Git项目的代码类型确定目标应用模块的元数据模型;根据元数据模型的元数据填写格式填写目标应用模块的元数据,获得目标元数据文件;基于元数据模型对应的目标解析器对目标元数据文件进行解析,将获得的模块元数据保存至预设管理数据库。本发明只需在Git项目中进行模块的元数据声明,通过自动解析,配置管理数据库即可取得应用模块的元数据,相较于现有技术中应用模块的元数据需要人工填写与更改,本发明基于Git项目的应用模块元数据的自动识别和采集,很好地支持了企业软件持续集成的开展,提升开发效率,缩短开发周期。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种应用模块元数据管理方法、设备、存储介质及装置。
背景技术
随着虚拟化技术的发展,越来越多的公司开始使用持续集成与开发系统来完成软件开发,可以使用Git进行项目代码版本管理完成软件开发。其中,在持续集成过程中,需要使用应用模块的元数据,用于应用模块的构建、部署等。但持续集成平台的应用模块的元数据,往往需要人工进行配置,从而导致开发效率低,影响开发周期。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种应用模块元数据管理方法、设备、存储介质及装置,旨在解决现有技术中持续集成平台的应用模块的元数据需要人工填写与更改,导致开发效率低,影响开发周期的技术问题。
为实现上述目的,本发明提供一种应用模块元数据管理方法,所述应用模块元数据管理方法包括以下步骤:
在对目标应用模块持续集成过程中,根据目标Git项目对应的代码类型确定所述目标应用模块对应的元数据模型;
根据所述元数据模型对应的元数据填写格式填写所述目标应用模块的元数据,获得目标元数据文件;
基于所述元数据模型对应的目标解析器对所述目标元数据文件进行解析,将解析获得的模块元数据保存至预设管理数据库。
可选地,所述基于所述元数据模型对应的目标解析器对所述目标元数据文件进行解析,将解析获得的模块元数据保存至预设管理数据库的步骤之前,还包括:
通过Git系统的文件下载接口从目标Git仓库中获取目标Git项目的代码文件;
根据所述代码文件携带的文件标识确定代码类型;
根据所述代码类型确定所述目标应用模块对应的元数据模型。
可选地,所述通过Git系统的文件下载接口从目标Git仓库中获取目标Git项目的代码文件的步骤,包括:
根据目标Git项目对应的Git地址关联目标Git仓库中代码存放路径;
基于所述代码存放路径、所述目标Git项目对应的分支标识和Git系统的文件下载接口从所述目标Git仓库中获取所述目标Git项目的代码文件。
可选地,所述基于所述元数据模型对应的目标解析器对所述目标元数据文件进行解析,将解析获得的模块元数据保存至预设管理数据库的步骤,包括:
判断所述代码文件中是否存在目标代码文件,根据判断结果确定所述元数据模型对应的目标解析器;
根据所述目标解析器对所述目标元数据文件中的应用模块的属性信息进行解析,获得解析后的模块元数据;
判断所述应用模块中是否包含子模块,并进行递归解析,将解析获得的模块元数据保存至预设管理数据库。
可选地,所述判断所述代码文件中是否存在目标代码文件,根据判断结果确定所述元数据模型对应的目标解析器的步骤,包括:
在所述代码文件中存在目标代码文件时,根据所述目标Git项目的项目类型和所述元数据模型确定目标解析器;
在所述代码文件中未存在所述目标代码文件时,确定所述目标解析器为通用解析器。
可选地,所述将解析获得的模块元数据保存至预设管理数据库的步骤之后,还包括:
在所述目标应用模块对应的模块元数据发生更改时,获取所述目标应用模块对应的元数据文件;
获取所述元数据文件对应的目标元数据模型;
基于所述元数据模型对应的解析器对所述元数据文件进行解析,将解析获得的模块元数据添加至所述预设管理数据库。
可选地,所述基于所述元数据模型对应的目标解析器对所述目标元数据文件进行解析,将解析获得的模块元数据保存至预设管理数据库的步骤之后,还包括:
在对应用模块持续集成过程中,根据所述应用模块对应的模块标识从所述预设管理数据库中获取所述应用模块对应的元数据;
根据所述元数对所述应用模块进行部署。
此外,为实现上述目的,本发明还提出一种应用模块元数据管理设备,所述应用模块元数据管理设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的应用模块元数据管理程序,所述应用模块元数据管理程序配置为实现如上文所述的应用模块元数据管理的步骤。
此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有应用模块元数据管理程序,所述应用模块元数据管理程序被处理器执行时实现如上文所述的应用模块元数据管理方法的步骤。
此外,为实现上述目的,本发明还提出一种应用模块元数据管理装置,所述应用模块元数据管理装置包括:
元数据定义模块,用于在对目标应用模块持续集成过程中,根据目标Git项目对应的代码类型确定所述目标应用模块对应的元数据模型;
所述元数据定义模块,还用于根据所述元数据模型对应的元数据填写格式填写所述目标应用模块的元数据,获得目标元数据文件;
元数据解析模块,用于基于所述元数据模型对应的目标解析器对所述目标元数据文件进行解析,将解析获得的模块元数据保存至预设管理数据库。
本发明通过在对目标应用模块持续集成过程中,根据目标Git项目对应的代码类型确定所述目标应用模块对应的元数据模型;根据所述元数据模型对应的元数据填写格式填写所述目标应用模块的元数据,获得目标元数据文件;基于所述元数据模型对应的目标解析器对所述目标元数据文件进行解析,将解析获得的模块元数据保存至预设管理数据库。由于本发明只需在Git项目中进行模块的元数据声明,通过自动解析,配置管理数据库即可取得该应用模块的元数据,相较于现有技术中持续集成平台的应用模块的元数据需要人工填写与更改,导致开发效率低,影响开发周期,本发明可在应用软件持续集成过程中,基于Git项目的应用模块元数据的自动识别和采集,很好地支持了企业软件持续集成的开展,提升开发效率,缩短开发周期。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的应用模块元数据管理设备的结构示意图;
图2为本发明应用模块元数据管理方法第一实施例的流程示意图;
图3为本发明应用模块元数据管理方法第一实施例的阶段程序流程示意图;
图4为本发明应用模块元数据管理方法第一实施例的元数据处理框架示意图;
图5为本发明应用模块元数据管理方法第二实施例的流程示意图;
图6为本发明应用模块元数据管理方法第三实施例的流程示意图;
图7为本发明应用模块元数据管理装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的应用模块元数据管理设备结构示意图。
如图1所示,该应用模块元数据管理设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display),可选用户接口1003还可以包括标准的有线接口、无线接口,对于用户接口1003的有线接口在本发明中可为USB接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(Wireless-Fidelity,Wi-Fi)接口)。存储器1005可以是高速的随机存取存储器(Random Access Memory,RAM),也可以是稳定的存储器(Non-volatileMemory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对应用模块元数据管理设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,认定为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及应用模块元数据管理程序。
在图1所示的应用模块元数据管理设备中,网络接口1004主要用于连接后台服务器,与所述后台服务器进行数据通信;用户接口1003主要用于连接用户设备;所述应用模块元数据管理设备通过处理器1001调用存储器1005中存储的应用模块元数据管理程序,并执行本发明实施例提供的应用模块元数据管理方法。
基于上述硬件结构,提出本发明应用模块元数据管理方法的实施例。
参照图2,图2为本发明应用模块元数据管理方法第一实施例的流程示意图,提出本发明应用模块元数据管理方法第一实施例。
在本实施例中,所述应用模块元数据管理方法包括以下步骤:
步骤S10:在对目标应用模块持续集成过程中,根据目标Git项目对应的代码类型确定所述目标应用模块对应的元数据模型。
需说明的是,本实施例的执行主体可以是具有应用模块元数据管理功能的设备,所述设备如:计算机、笔记本、电脑以及平板等,还可为其它可实现相同或相似功能的应用模块元数据管理设备,本实施例对此不做限制。所述应用模块元数据管理设备,此处将以上述计算机为例对本实施例和下述各实施例进行说明。
可理解的是,目标Git项目可以是基于Git(分布式版本控制系统)处理的从小型到大型的项目,所述项目不仅限于Java代码,任何一个文件都可以用git进行管理,其中所述项目可以是一组文件的集合,所述集合包含在对目标应用模块持续集成过程中所需的代码文件。Git平台可以对代码进行版本控制以及分支管理。目标Git项目对应的代码类型可以是指目标Git项目中代码文件对应的代码版本类型,所述代码版本类型可以根据代码文件对应的文件标识所确定不同源代码版本类型,其中所述文件标识可以由数字或英文字符串构建的。在项目开发的过程中,通过开发人员会将编译后的代码上传至Git仓库进行存储,并生成相应的存放路径,且根据上传次数对上传的源代码进行标注,即上传一次对应一个代码版本类型,例如:针对应用模块A,第一次上传的源代码版本可以标注为A1,第二次上传的源代码版本标注为A2,根据上述规则对源代码版本进行标注,从而以区分应用模块A对应的代码文件之间的区别。
应理解的是,目标应用模块可以是待开发集成的软件模块,所述软件模块可以由多个子模块构成。由于在对应用模块的功能进行编译搭建的过程中会提交不同版本的源代码,因此不同代码版本类型的代码文件对应的元数据模型也不同,例如:代码版本A1的代码文件对应的元数据模型1,代码版本A2的代码文件对应的元数据模型2,通过上述方式选取元数据模型,可以便于后期对代码调用准确性。
需说明的是,随着工具软件和应用程序越来越复杂,追踪信息供应链各组件之间的数据流动的需求也愈来愈强烈,因此通过选择元数据管理策略来实现软件开发,元数据可以是指描述数据的数据,可以是描述数据属性的信息,由信息结构的描述组成,元数据可以实现业务模型和数据模型之间的映射,通俗来说可以将数据以用户的需求角度展现出来,从而帮助用户理解和使用数据,所述元数据可以分为业务元数据、技术元数据和操作元数据等,业务元数据可以包括业务规则、定义、术语、运算法则和系统使用业务语言等。技术元数据可以用来定义信息供应链(Information Supply Chain,ISC)各类组成部分元数据结构,可以包括各个系统表和字段结构、属性、出处、依赖性等,以及存储过程、函数、序列等各种对象。操作元数据可以是指应用程序运行信息,比如其频率、记录数以及各个组件的分析和其它统计信息等。元数据模型可以是用于描述元数据的模型,所述模型用于创建特定领域中的模型构建元素。
可理解的是,元数据的应用基于元数据模型,其中,元数据模型可以用于描述数据属性的信息,元数据模型可以实现信息资源的有效发现、查找、一体化组织和对使用资源的有效管理,元数据模型为数据字画信息资源建立了机器可理解的框架,本方案中通过元数据进行应用模块开发时,开发人员无需进行额外的配置,很好的支持了企业软件持续集成的开展,相较于普通数据和模型,元数据和元数据模型可以为开发人员提供更好的支持。
具体实现中,在对目标应用模块持续集成过程中,根据目标Git项目中代码文件的标识确定对应的代码版本类型,并根据代码版本类型选取相应的元数据模型。
步骤S20:根据所述元数据模型对应的元数据填写格式填写所述目标应用模块的元数据,获得目标元数据文件。
需说明的是,不同的元数据模型对应不同的数据属性,因此不同的元数据模型对应的元数据填写格式不同,即不同元数据模型中包含的元数据会存在差异,所述元数据填写格式可以是在对应用模块的元数据进行资源整合时的填写格式。所述填写格式可以根据元数据模型对应的数据属性所确定。所述目标应用模块的元数据包含应用模块的名称、描述、版本号等信息,其中应用模块的名称为全局唯一,用于区分不同的应用模块。目标元数据文件可以是指将目标应用模块的元数据进行资源整合后按照元数据填写格式填写后生成的文件形式的元数据文件。
可理解的是,本方案技术实现过程分为应用模块元数据的定义阶段、解析阶段以及使用阶段,其中所述定义阶段,可以通过Git文件进行应用模块元数据的声明,其中,在定义阶段,不同代码版本类型对应不同的元数据模型,其中通过不同的元数据模型对应的文件填写格式填写应用模块的元数据,并将获得的应用模块数据文件存储至Git项目系统中。
具体实现中,在获取到目标元数据文件后,将所述目标元数据文件以文件形式保存至程序代码的Git项目中,以便于后期解析程序自动解析该Git项目下的应用模块元数据。为进一步说明应用模块定义过程,通过下述示例进行说明:
示例一、Java Maven依赖管理方式(应用模块开发人员不需要额外配置);
Git仓库的根目录下包含pom.xml文件,文件内modules标签内容为该Git项目的子模块名称集合,如:moduleA、moduleB;根目录下对应有目录moduleA和moduleB,moduleA目录下包含该子模块的pom.xml文件,如此类推。根据定义,子模块也可以包含有子模块,解析时进行递归遍历。
pom.xml文件的示例如下:
示例二、其他语言代码方式;
Git仓库根目录添加project_metadata.json文件,该文件为Git项目的元数据文件。元数据文件使用Json格式,文件中定义modules属性,modules属性中定义子模块,子模块定义方式与示例一类同。
project_metadata.json文件示例如下:
步骤S30:基于所述元数据模型对应的目标解析器对所述目标元数据文件进行解析,将解析获得的模块元数据保存至预设管理数据库。
需说明的是,目标解析器可以是针对特殊文件格式的解析规则,用于解析目标元数据文件中包含的模块元数据,所述模块元数据可以包含应用模块标识、Git项目对应的属性信息。
可理解的是,预设管理数据库可以是预先设置的用于配置管理应用模块元数据的数据库。所述数据库中包含各应用模块的元数据。所述应用模块具体根据开发项目所确定,其中,所述数据库可以是存储至云端的数据库。
应理解的是,在应用模块元数据的解析阶段,本方案通过拉取Git系统中的所有代码,根据所述代码对应的代码版本确定元数据模型,并根据元数据模型对应的解析器对目标元数据文件中包含的元数据进行解析,获得模块元数据,进而将需要的模块元数据保存至预设管理数据库,以便于后期对应用模块搭建。
进一步地,所述步骤S30之前,还包括:通过Git系统的文件下载接口从目标Git仓库中获取目标Git项目的代码文件;根据所述代码文件携带的文件标识确定代码类型;根据所述代码类型确定所述目标应用模块对应的元数据模型。
需说明的是,在对元数据进行解析之前,通过Git系统的文件下载接口获取目标Git项目中存储的代码文件,并根据代码文件携带的标识确定代码类型,其中,所述代码版本类型可以根据代码文件对应的文件标识所确定的不同源代码的版本类型,其中所述文件标识可以由数字或英文字符串构建的。
可理解的是,根据代码版本类型选取元数据模型,从而能够根据元数据模型对应的解析规则对元数据文件进行解析。本阶段中根据所述代码文件携带的文件标识确定代码类型;根据所述代码类型确定所述目标应用模块对应的元数据模型的步骤,相较于定义阶段根据代码版本类型选取元数据模型填写应用模块的元数据,生成文件形式的目标元数据文件是不同的。
应理解的是,本阶段中通过代码版本类型选取元数据模型是为了选取元数据模型对应的解析器能够正确解析代码文件中的元数据,以便于后期应用模块的部署场景。
进一步地,所述通过Git系统的文件下载接口从目标Git仓库中获取目标Git项目的代码文件的步骤,包括:根据目标Git项目对应的Git地址关联目标Git仓库中代码存放路径;基于所述代码存放路径、所述目标Git项目对应的分支标识和Git系统的文件下载接口从所述目标Git仓库中获取所述目标Git项目的代码文件。
需说明的是,Git地址可以是用于表征代码上传至目标Git仓库时的存放路径,通过Git地址可以精确查找到目标Git项目对应的代码文件,所述目标Git项目对应的分支包括主分支和功能分支,所述主分支可以是用于保存和记录整个项目已完成的功能代码,所述功能分支可以是专门用来开发新功能的分支,通过临时从主分支上分叉出来,当新的功能开发且测试完成后,最终合并至主分支上。
可理解的是,所述分支标识可以是分支名,所述分支名可以由字符所构成,本方案通过Git地址可以定位Git项目各分支的代码存储路径,并通过分支标识和Git系统的文件下载接口能够精确的从目标Git仓库中获取目标Git项目的代码文件。
进一步地,所述步骤S30之后,还包括:在对应用模块持续集成过程中,根据所述应用模块对应的模块标识从所述预设管理数据库中获取所述应用模块对应的元数据;根据所述元数对所述应用模块进行部署。
需说明的是,在元数据解析阶段完成后,将解析获得的元数据保存至预设管理数据库中,在后期应用模块使用阶段中,可以直接根据应用模块对应的模块标识从预设管理数据库中获取应用模块元数据,可用于应用模块的构建部署等场景。
应理解的是,由于在应用模块定义阶段将应用模块的名称作为全局唯一标识,因此在元数据提取过程中可以通过应用模块的名称从预设管理数据库中获取元数据。为进一步说明本方案中元数据定义、元数据解析以及元数据使用对应的三个阶段的程序,可以参考图3所示的阶段程序流程示意图。在定义阶段,使用Git文件进行应用模块元数据的声明。先确认代码的类型,根据代码的类型选取元数据模型,再按照指定的模型填写应用模块的元数据,元数据包含应用模块的名称、描述、版本号等信息,应用模块的名称为全局唯一,用于区分不同的应用模块。在解析阶段,解析程序根据提供的Git地址和分支,拉取Git中的代码。判定该Git项目的代码类型,根据代码的类型选取对应的元数据模型,使用该模型的解析器对应用模块信息进行解析。解析完成后,对应用模块的元数据进行集中保存。如果应用模块的元数据发生变更,解析程序需要重新解析和保存。在使用阶段,根据模块名获取应用模块的元数据,可对应用模块进行构建和部署等操作。
具体实现中,为进一步说明本方案,可以参考如图4所示的元数据处理框架示意图,通过上述方法进行应用模块元数据管理,可以完成Git项目的应用模块元数据的自动识别和采集,并且在针对模块功能开发过程中选择所需功能元数据进行应用模块的部署,相较于现有技术中通过将应用模块对应的所有功能数据进行采集识别,并搭建,本方案实现了更加灵活的应用模块搭建环境。
本实施例通过在对目标应用模块持续集成过程中,根据目标Git项目对应的代码类型确定所述目标应用模块对应的元数据模型;根据所述元数据模型对应的元数据填写格式填写所述目标应用模块的元数据,获得目标元数据文件;基于所述元数据模型对应的目标解析器对所述目标元数据文件进行解析,将解析获得的模块元数据保存至预设管理数据库。由于本实施例只需在Git项目中进行模块的元数据声明,通过自动解析,配置管理数据库即可取得该应用模块的元数据,相较于现有技术中持续集成平台的应用模块的元数据需要人工填写与更改,导致开发效率低,影响开发周期,本实施例可在应用软件持续集成过程中,基于Git项目的应用模块元数据的自动识别和采集,很好地支持了企业软件持续集成的开展,提升开发效率,缩短开发周期。
参照图5,图5为本发明应用模块元数据管理方法第二实施例的流程示意图,基于上述图2所示的第一实施例,提出本发明应用模块元数据管理方法的第二实施例。
在本实施例中,所述步骤S30包括:
步骤S301:判断所述代码文件中是否存在目标代码文件,根据判断结果确定所述元数据模型对应的目标解析器。
需说明的是,通过Git系统的文件下载接口,根据Git地址和分支获取项目的代码文件,并通过判断代码文件中是否存在目标代码文件确定解析元数据的目标解析器,所述目标代码文件可以是指预设文件格式的代码文件。如:pom.xml文件;
可理解的是,目标解析器可以是根据判断结果确定的解析器。
进一步地,所述步骤S301还包括:在所述代码文件中存在目标代码文件时,根据所述目标Git项目的项目类型和所述元数据模型确定目标解析器;在所述代码文件中未存在所述目标代码文件时,确定所述目标解析器为通用解析器。
需说明的是,以上述示例一、示例二为例,通过判断Git根目录中是否存在pom.xml文件,如果存在,则该Git项目为Java Maven项目,使用pom解析器进行元数据的解析;若Git根目录下存在project_metadata.json文件,则该Git项目为其他语言项目,使用通用解析器进行元数据的解析。
可理解的是,pom解析器可以是指用于针对Git项目为Java Maven项目进行文件解析的规则,通过pom解析器可以解析pom.xml文件的相关配置。
应理解的是,通用解析器是针对于除Java语言以外的编程语言对应的解析器,所述解析器涵盖了大部分现有技术中包括的解析器。
步骤S302:根据所述目标解析器对所述目标元数据文件中的应用模块的属性信息进行解析,获得解析后的模块元数据。
需说明的是,应用模块的属性信息包括应用模块的名称、版本、描述等属性信息,即在选取相应的解析器对目标元数据文件中的应用模块的名称、版本、描述等属性信息进行解析,获得解析后的模块元数据。所述模块元数据包含应用模块名称、版本、描述、Git地址、解析分支等属性信息。
步骤S303:判断所述应用模块中是否包含子模块,并进行递归解析,将解析获得的模块元数据保存至预设管理数据库。
需说明的是,在对应用模块解析过程中,需要判断应用模块下是否有子模块,若模块下有子模块,则需要递归解析,并将子模块的元数据也进行读取和解析。将获得的各模块的模块元数据保存至预设管理数据库。
本实施例通过在对目标应用模块持续集成过程中,根据目标Git项目对应的代码类型确定所述目标应用模块对应的元数据模型;根据所述元数据模型对应的元数据填写格式填写所述目标应用模块的元数据,获得目标元数据文件;判断所述代码文件中是否存在目标代码文件,根据判断结果确定所述元数据模型对应的目标解析器;根据所述目标解析器对所述目标元数据文件中的应用模块的属性信息进行解析,获得解析后的模块元数据;判断所述应用模块中是否包含子模块,并进行递归解析,将解析获得的模块元数据保存至预设管理数据库。由于本实施例只需在Git项目中进行模块的元数据声明,通过自动解析,配置管理数据库即可取得该应用模块的元数据,相较于现有技术中持续集成平台的应用模块的元数据需要人工填写与更改,导致开发效率低,影响开发周期,本实施例可在应用软件持续集成过程中,基于Git项目的应用模块元数据的自动识别和采集,很好地支持了企业软件持续集成的开展,提升开发效率,缩短开发周期。
参照图6,图6为本发明应用模块元数据管理方法第三实施例的流程示意图,基于上述图2所示的第一实施例,提出本发明应用模块元数据管理方法的第三实施例。
在本实施例中,所述步骤S30之后,还包括:
步骤S50:在所述目标应用模块对应的模块元数据发生更改时,获取所述目标应用模块对应的元数据文件。
需说明的是,在模块开发过程中会涉及到应用模块调整或功能新增的问题,因此会伴随应用模块的元数据变更的问题,由于本方案中针对应用模块的搭建环境较灵活,因此针对模块元数据的变更问题的处理流程也相较于现有技术中的处理流程更加简单。
可理解的是,由于本方案中可以通过定义阶段将应用模块的元数据以及元数据模型进行关联,因此在后期元数据更改过程中,通过获取目标应用模块对应的元数据文件,并根据元数据文件确定相应的元数据模型,进而实现元数据的变更。
具体实现中,本方案中的元数据变更不仅限于原有分支上的元数据变更,也可以是创建新的功能分支,新增扩展元数据定义文件。因此,在所述目标应用模块对应的模块元数据发生更改时,获取所述目标应用模块对应的元数据文件,所述元数据文件可以是原有定义的元数据文件,也可以是增加的扩展元数据定义文件。
步骤S60:获取所述元数据文件对应的目标元数据模型。
需说明的是,通过元数据文件中包含的代码版本类型确定目标元数据模型。
步骤S70:基于所述元数据模型对应的解析器对所述元数据文件进行解析,将解析获得的模块元数据添加至所述预设管理数据库。
需说明的是,应用模块的元数据发生变更后,需要触发更新操作,如果应用模块的元数据发生变更,解析程序需要重新解析和保存。
具体实现中,通过重新拉取该Git的元数据文件,选取对应解析器进行更新并保存到配置管理数据库,实现元数据的扩展,所述触发更新的方式为定时触发和人工触发。
本实施例通过在对目标应用模块持续集成过程中,根据目标Git项目对应的代码类型确定所述目标应用模块对应的元数据模型;根据所述元数据模型对应的元数据填写格式填写所述目标应用模块的元数据,获得目标元数据文件;基于所述元数据模型对应的目标解析器对所述目标元数据文件进行解析,将解析获得的模块元数据保存至预设管理数据库。在所述目标应用模块对应的模块元数据发生更改时,获取所述目标应用模块对应的元数据文件;获取所述元数据文件对应的目标元数据模型;基于所述元数据模型对应的解析器对所述元数据文件进行解析,将解析获得的模块元数据添加至所述预设管理数据库,由于本实施例只需在Git项目中进行模块的元数据声明,通过自动解析,配置管理数据库即可取得该应用模块的元数据,在Git中增加扩展元数据定义文件,以及与其对应的解析器,实现元数据的扩展,相较于现有技术中持续集成平台的应用模块的元数据需要人工填写与更改,导致开发效率低,影响开发周期,本实施例可在应用软件持续集成过程中,基于Git项目的应用模块元数据的自动识别和采集,很好地支持了企业软件持续集成的开展,提升开发效率,缩短开发周期。
此外,为实现上述目的,本发明还提出一种应用模块元数据管理设备,所述应用模块元数据管理设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的应用模块元数据管理程序,所述应用模块元数据管理程序配置为实现如上文所述的应用模块元数据管理的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有应用模块元数据管理程序,所述应用模块元数据管理程序被处理器执行时实现如上文所述的应用模块元数据管理方法的步骤。
参照图7,图7为本发明应用模块元数据管理装置第一实施例的结构框图。
如图7所示,本发明实施例提出的应用模块元数据管理装置包括:
元数据定义模块10,用于在对目标应用模块持续集成过程中,根据目标Git项目对应的代码类型确定所述目标应用模块对应的元数据模型;
所述元数据定义模块10,还用于根据所述元数据模型对应的元数据填写格式填写所述目标应用模块的元数据,获得目标元数据文件;
元数据解析模块20,用于基于所述元数据模型对应的目标解析器对所述目标元数据文件进行解析,将解析获得的模块元数据保存至预设管理数据库。
本实施例通过在对目标应用模块持续集成过程中,根据目标Git项目对应的代码类型确定所述目标应用模块对应的元数据模型;根据所述元数据模型对应的元数据填写格式填写所述目标应用模块的元数据,获得目标元数据文件;基于所述元数据模型对应的目标解析器对所述目标元数据文件进行解析,将解析获得的模块元数据保存至预设管理数据库。由于本实施例只需在Git项目中进行模块的元数据声明,通过自动解析,配置管理数据库即可取得该应用模块的元数据,相较于现有技术中持续集成平台的应用模块的元数据需要人工填写与更改,导致开发效率低,影响开发周期,本实施例可在应用软件持续集成过程中,基于Git项目的应用模块元数据的自动识别和采集,很好地支持了企业软件持续集成的开展,提升开发效率,缩短开发周期。
进一步地,所述元数据解析模块20,还用于通过Git系统的文件下载接口从目标Git仓库中获取目标Git项目的代码文件;根据所述代码文件携带的文件标识确定代码类型;根据所述代码类型确定所述目标应用模块对应的元数据模型。
进一步地,所述元数据解析模块20,还用于根据目标Git项目对应的Git地址关联目标Git仓库中代码存放路径;基于所述代码存放路径、所述目标Git项目对应的分支标识和Git系统的文件下载接口从所述目标Git仓库中获取所述目标Git项目的代码文件。
进一步地,所述元数据解析模块20,还用于判断所述代码文件中是否存在目标代码文件,根据判断结果确定所述元数据模型对应的目标解析器;根据所述目标解析器对所述目标元数据文件中的应用模块的属性信息进行解析,获得解析后的模块元数据;判断所述应用模块中是否包含子模块,并进行递归解析,将解析获得的模块元数据保存至预设管理数据库。
进一步地,所述元数据解析模块20,还用于在所述代码文件中存在目标代码文件时,根据所述目标Git项目的项目类型和所述元数据模型确定目标解析器;在所述代码文件中未存在所述目标代码文件时,确定所述目标解析器为通用解析器。
进一步地,所述元数据解析模块20,还用于在所述目标应用模块对应的模块元数据发生更改时,获取所述目标应用模块对应的元数据文件;获取所述元数据文件对应的目标元数据模型;基于所述元数据模型对应的解析器对所述元数据文件进行解析,将解析获得的模块元数据添加至所述预设管理数据库。
进一步地,所述应用模块元数据管理装置还包括:元数据使用模块;所述元数据使用模块,用于在对应用模块持续集成过程中,根据所述应用模块对应的模块标识从所述预设管理数据库中获取所述应用模块对应的元数据;根据所述元数对所述应用模块进行部署。
应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的应用模块元数据管理方法,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。词语第一、第二、以及第三等的使用不表示任何顺序,可将这些词语解释为名称。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器镜像(Read Only Memory image,ROM)/随机存取存储器(RandomAccessMemory,RAM)、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (6)
1.一种应用模块元数据管理方法,其特征在于,所述应用模块元数据管理方法包括:
根据目标Git项目对应的Git地址关联目标Git仓库中代码存放路径;
基于所述代码存放路径、所述目标Git项目对应的分支标识和Git系统的文件下载接口从所述目标Git仓库中获取所述目标Git项目的代码文件;
根据所述代码文件携带的文件标识确定代码类型;
根据所述代码类型确定所述目标应用模块对应的元数据模型;
在对目标应用模块持续集成过程中,根据目标Git项目对应的代码类型确定所述目标应用模块对应的元数据模型;
根据所述元数据模型对应的元数据填写格式填写所述目标应用模块的元数据,获得目标元数据文件,所述目标元数据文件包括原有定义的元数据文件和扩展元数据定义文件;
在所述代码文件中存在目标代码文件时,根据所述目标Git项目的项目类型和所述元数据模型确定目标解析器,所述目标解析器包括解析pom.xml文件的解析器;
在所述代码文件中未存在所述目标代码文件时,确定所述目标解析器为通用解析器;
根据所述目标解析器对所述目标元数据文件中的应用模块的属性信息进行解析,获得解析后的模块元数据;
判断所述应用模块中是否包含子模块,并进行递归解析,将解析获得的模块元数据保存至预设管理数据库。
2.如权利要求1所述的应用模块元数据管理方法,其特征在于,所述将解析获得的模块元数据保存至预设管理数据库的步骤之后,还包括:
在所述目标应用模块对应的模块元数据发生更改时,获取所述目标应用模块对应的元数据文件;
获取所述元数据文件对应的目标元数据模型;
基于所述元数据模型对应的解析器对所述元数据文件进行解析,将解析获得的模块元数据添加至所述预设管理数据库。
3.如权利要求1所述的应用模块元数据管理方法,其特征在于,所述基于所述元数据模型对应的目标解析器对所述目标元数据文件进行解析,将解析获得的模块元数据保存至预设管理数据库的步骤之后,还包括:
在对应用模块持续集成过程中,根据所述应用模块对应的模块标识从所述预设管理数据库中获取所述应用模块对应的元数据;
根据所述元数对所述应用模块进行部署。
4.一种应用模块元数据管理设备,其特征在于,所述应用模块元数据管理设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的应用模块元数据管理程序,所述应用模块元数据管理程序被所述处理器执行时实现如权利要求1至3中任一项所述的应用模块元数据管理方法。
5.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有应用模块元数据管理程序,所述应用模块元数据管理程序被处理器执行时实现如权利要求1至3中任一项所述的应用模块元数据管理方法。
6.一种应用模块元数据管理装置,其特征在于,所述应用模块元数据管理装置包括:
元数据解析模块,用于根据目标Git项目对应的Git地址关联目标Git仓库中代码存放路径;基于所述代码存放路径、所述目标Git项目对应的分支标识和Git系统的文件下载接口从所述目标Git仓库中获取所述目标Git项目的代码文件;根据所述代码文件携带的文件标识确定代码类型;根据所述代码类型确定所述目标应用模块对应的元数据模型;
元数据定义模块,用于在对目标应用模块持续集成过程中,根据目标Git项目对应的代码类型确定所述目标应用模块对应的元数据模型;
所述元数据定义模块,还用于根据所述元数据模型对应的元数据填写格式填写所述目标应用模块的元数据,获得目标元数据文件,所述目标元数据文件包括原有定义的元数据文件和扩展元数据定义文件;
所述元数据解析模块,还用于在所述代码文件中存在目标代码文件时,根据所述目标Git项目的项目类型和所述元数据模型确定目标解析器,所述目标解析器包括解析pom.xml文件的解析器;在所述代码文件中未存在所述目标代码文件时,确定所述目标解析器为通用解析器;根据所述目标解析器对所述目标元数据文件中的应用模块的属性信息进行解析,获得解析后的模块元数据;判断所述应用模块中是否包含子模块,并进行递归解析,将解析获得的模块元数据保存至预设管理数据库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310086732.6A CN115794214B (zh) | 2023-02-09 | 2023-02-09 | 应用模块元数据管理方法、设备、存储介质及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310086732.6A CN115794214B (zh) | 2023-02-09 | 2023-02-09 | 应用模块元数据管理方法、设备、存储介质及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115794214A CN115794214A (zh) | 2023-03-14 |
CN115794214B true CN115794214B (zh) | 2023-05-12 |
Family
ID=85430661
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310086732.6A Active CN115794214B (zh) | 2023-02-09 | 2023-02-09 | 应用模块元数据管理方法、设备、存储介质及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115794214B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116860324B (zh) * | 2023-09-01 | 2023-12-05 | 深圳代码兄弟技术有限公司 | 开发数据处理方法、开发数据处理设备以及可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102221998A (zh) * | 2011-06-07 | 2011-10-19 | 北京大学 | 一种扩展构件运行支撑平台中ejb容器的方法 |
CN114218313A (zh) * | 2021-12-13 | 2022-03-22 | 北京百度网讯科技有限公司 | 数据管理方法、装置、电子设备、存储介质及产品 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101859303A (zh) * | 2009-04-07 | 2010-10-13 | 中国移动通信集团湖北有限公司 | 元数据管理方法及管理系统 |
CN103473108A (zh) * | 2013-08-12 | 2013-12-25 | 福建富士通信息软件有限公司 | 一种Java代码生成方法 |
CN109062544A (zh) * | 2018-06-27 | 2018-12-21 | 珠海宏桥高科技有限公司 | 一种描述移动app的模块方法及其装置 |
CN113687825B (zh) * | 2021-08-25 | 2023-12-12 | 恒安嘉新(北京)科技股份公司 | 一种软件模块的构建方法、装置、设备及存储介质 |
CN114489762A (zh) * | 2021-11-26 | 2022-05-13 | 北京中软国际信息技术有限公司 | 一种多版本应用的实现方法、系统及电子设备 |
CN114880308A (zh) * | 2022-07-12 | 2022-08-09 | 山东中创软件商用中间件股份有限公司 | 一种基于大数据的元数据处理方法、装置、介质 |
-
2023
- 2023-02-09 CN CN202310086732.6A patent/CN115794214B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102221998A (zh) * | 2011-06-07 | 2011-10-19 | 北京大学 | 一种扩展构件运行支撑平台中ejb容器的方法 |
CN114218313A (zh) * | 2021-12-13 | 2022-03-22 | 北京百度网讯科技有限公司 | 数据管理方法、装置、电子设备、存储介质及产品 |
Also Published As
Publication number | Publication date |
---|---|
CN115794214A (zh) | 2023-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7263699B2 (en) | Preparation of a software configuration using an XML type programming language | |
CN110912724B (zh) | 一种基于参数驱动的自动业务编排方法及装置 | |
CN105657191B (zh) | 一种基于Android系统的应用增量升级方法及系统 | |
US11429365B2 (en) | Systems and methods for automated retrofitting of customized code objects | |
KR101143027B1 (ko) | 자기 기술적 소프트웨어 이미지 업데이트 컴포넌트 | |
CN111068328B (zh) | 游戏广告配置表格的生成方法、终端设备及介质 | |
CN108762743B (zh) | 一种数据表操作代码生成方法及装置 | |
US20170220613A1 (en) | Systems and methods for database orientation transformation | |
CN111897570A (zh) | 一种基于Maven插件的多依赖项文件提取方法及装置 | |
CN112394942A (zh) | 基于云计算的分布式软件开发编译方法及软件开发平台 | |
CN111045683A (zh) | 小程序代码编译方法、装置、设备及介质 | |
CN115794214B (zh) | 应用模块元数据管理方法、设备、存储介质及装置 | |
CN114691132A (zh) | 一种arxml文件生成方法、装置、设备及存储介质 | |
CN112612502A (zh) | 补丁生成方法、装置、设备及存储介质 | |
CN111045717B (zh) | 获取项目依赖包的方法、装置、计算机设备及存储介质 | |
CN113312046A (zh) | 子应用页面处理方法、装置和计算机设备 | |
CN111552480A (zh) | 跨平台编译方法、装置、设备及可读存储介质 | |
CN114816475A (zh) | 一种嵌入式操作系统的更新方法、装置、设备和介质 | |
CN115437643A (zh) | 项目代码转换方法、装置、设备及存储介质 | |
CN107577476A (zh) | 一种基于模块划分的安卓系统源码差异性分析方法、服务器及介质 | |
CN113722538B (zh) | 一种界面动态渲染方法及装置 | |
CN118012520A (zh) | 小程序加载和上传方法、装置、设备及存储介质 | |
CN116954574A (zh) | 一种组件替换方法、装置、设备及存储介质 | |
CN117348880A (zh) | 小程序的压缩处理方法、装置、电子设备及存储介质 | |
Freeman | Understanding Angular Projects and Tools |
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 |