CN110764738A - DevOps中基于元数据技术实现研发过程全链路追踪处理的系统及其方法 - Google Patents
DevOps中基于元数据技术实现研发过程全链路追踪处理的系统及其方法 Download PDFInfo
- Publication number
- CN110764738A CN110764738A CN201910998861.6A CN201910998861A CN110764738A CN 110764738 A CN110764738 A CN 110764738A CN 201910998861 A CN201910998861 A CN 201910998861A CN 110764738 A CN110764738 A CN 110764738A
- Authority
- CN
- China
- Prior art keywords
- data
- metadata
- research
- development process
- label
- 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 178
- 230000008569 process Effects 0.000 title claims abstract description 146
- 238000012545 processing Methods 0.000 title claims abstract description 40
- 238000011161 development Methods 0.000 title claims abstract description 27
- 238000005516 engineering process Methods 0.000 title claims abstract description 27
- 238000012827 research and development Methods 0.000 claims abstract description 129
- 238000007405 data analysis Methods 0.000 claims abstract description 21
- 238000002372 labelling Methods 0.000 claims abstract description 17
- 230000007547 defect Effects 0.000 claims description 47
- 238000004458 analytical method Methods 0.000 claims description 36
- 238000011144 upstream manufacturing Methods 0.000 claims description 36
- 238000012360 testing method Methods 0.000 claims description 21
- 230000010354 integration Effects 0.000 claims description 20
- 230000002085 persistent effect Effects 0.000 claims description 19
- 230000007613 environmental effect Effects 0.000 claims description 16
- 239000008280 blood Substances 0.000 claims description 15
- 210000004369 blood Anatomy 0.000 claims description 15
- 238000009472 formulation Methods 0.000 claims description 14
- 239000000203 mixture Substances 0.000 claims description 14
- 238000012216 screening Methods 0.000 claims description 4
- 230000000903 blocking effect Effects 0.000 claims description 3
- 238000002360 preparation method Methods 0.000 claims description 2
- 238000004891 communication Methods 0.000 abstract description 5
- 238000007726 management method Methods 0.000 description 14
- 230000008859 change Effects 0.000 description 9
- 230000008439 repair process Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000012356 Product development Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000007849 functional defect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/77—Software metrics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- Data Mining & Analysis (AREA)
- Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种DevOps中基于元数据技术实现研发过程全链路追踪处理的系统,包括数据标准制定模块用于完成研发过程各阶段的数据元信息模型;元数据采集模块用于通过全量模式及增量模式采集数据标准模块中定义的元数据;数据分析处理模块用于对阶段数据进行标签标记;数据查询模块用于实现多视角的数据查询展示。本发明还涉及一种DevOps中基于元数据技术的研发过程全链路追踪处理的方法。采用了本发明的DevOps中基于元数据技术实现研发过程全链路追踪处理的系统及其方法,由于实现了研发过程全链路研发过程各阶段数据的数据标准制定、收集、分析,从而实现了高性能的研发过程数据的全链路打通,为不同研发角色提供多视角决策支撑能力,提升研发过程的透明度。
Description
技术领域
本发明涉及计算机领域,尤其涉及基于DevOps的研发过程管理领域,具体是指一种DevOps中基于元数据技术实现研发过程全链路追踪处理的系统及其方法。
背景技术
随着数字化转型浪潮席卷而来,企业的信息化平台建设要求越来越高。但各企业的软件研发通常由IT各部门,比如架构部门、开发部门、测试部门、项目管理部门、运维部门等来负责,不同部门之间的隔阂导致的信息传递失真、重复工作导致隐性成本增长、过程管理不当导致数据割裂,企业的数字化转型面临极大挑战。同时作为企业的核心IT资产,包括需求、任务、缺陷、用例、代码、介质、环境等,这些IT资产是由不同的软件工具支撑,不同的工具导致软件资产是割裂的,为了更好的建立企业IT快速运营能力,需要帮助客户建立不同资产间的关联关系,通过元数据管理能力,形成资产图,快速呈现资产变更影响面。
针对目前的研发过程数据跟踪技术,主要是基于不同的阶段的工具来提供支持,根据需要检索的数据所在的研发阶段,在不同的研发过程工具中分别查看,具体实现步骤如下:
在项目管理工具中查看需求、任务以及需求与任务之间的关联关系;在版本控制库工具中查看代码的提交记录信息、代码分支、代码标签;在测试管理工具中,查看缺陷、测试用例等信息;在持续集成发布工具中查看持续集成历史信息、发布历史信息;在介质库工具中查看发布的介质版本信息;
根据以上步骤可以实现分段的研发过程数据跟踪,适合处理查看研发过程局部阶段的数据查询场景,但是缺少研发过程不同阶段数据的关联关系,以及研发过程全链路的数据跟踪上存在较大的局限性,在使用上会有诸多不便,无法形成资产图,无法快速呈现资产变更影响面。
以下针对上面的技术实现方式分析对应的不足:
不足1:只能查看局部研发过程阶段的数据,缺乏研发过程全局视角维度的数据查看能力,无法查看企业研发过程全景链路数据的视图;
不足2:缺少研发过程不同阶段间的关联,无法查询研发过程不同阶段间数据的影响分析,血缘分析,以及变更影响分析;
不足3:对研发过程数据收集的实时性支撑不足,由于研发过程数据分割存放在通过的支撑工具中,无法做到实时收集,不能及时的反应企业的全景资产,存在滞后性。
发明内容
本发明的目的是克服了上述现有技术的缺点,提供了一种满足质量高、效果好、适用范围广泛的DevOps中基于元数据技术实现研发过程全链路追踪处理的系统及其方法。
为了实现上述目的,本发明的DevOps中基于元数据技术实现研发过程全链路追踪处理的系统及其方法如下:
该DevOps中基于元数据技术实现研发过程全链路追踪处理的系统,其主要特点是,所述的系统包括:
数据标准制定模块,用于完成研发过程各阶段的数据元信息模型,定义环节间的关联关系,并规范实际的研发交付过程;
元数据采集模块,与所述的数据标准制定模块相连接,用于通过全量模式及增量模式采集数据标准模块中定义的元数据;
数据分析处理模块,与所述的元数据采集模块相连接,用于对阶段数据进行标签标记,并根据多阶段数据的关联关系,对相关的数据进行自动打标签;
数据查询模块,与所述的数据分析处理模块相连接,用于实现多视角的数据查询展示。
较佳地,所述的数据标准制定模块包括:
元数据模型定义单元,用于定义采集的元数据模型;
数据关联规范定义单元,与所述的元数据模型定义单元相连接,用于定义各模块间数据的关联规范。
较佳地,所述的元数据模型定义单元的元数据模型包括需求元数据信息模型、任务元数据信息模型、代码库元数据信息模型、缺陷元数据信息模型、测试用例元数据信息模型、持续集成元数据信息模型、发布介质元数据信息模型、持续部署元数据信息模型和环境资源元数据信息模型。
较佳地,所述的元数据采集模块采集的元数据包括需求元数据信息、任务元数据信息、代码库元数据信息、缺陷元数据信息、测试用例元数据信息、持续集成元数据信息、发布介质元数据信息、持续部署元数据信息和环境资源元数据信息。
较佳地,所述的数据分析处理模块包括:
标签定义单元,与所述的元数据采集模块相连接,用于定义标签键及标签值;
上下游数据查找单元,与所述的标签定义单元相连接,用于查找需要打标签的主数据的上游数据和下游数据;
标签落库单元,与所述的上下游数据查找单元相连接,用于将查找到的所有阶段数据,打上定义的标签名称和标签值。
该利用上述系统实现DevOps中基于元数据技术的研发过程全链路追踪处理的方法,其主要特点是,所述的方法包括以下步骤:
(1)所述的数据标准制定模块定义环节间的关联关系,并规范实际的研发交付过程;
(2)所述的元数据采集模块通过全量模式及增量模式采集数据标准模块中定义的元数据;
(3)所述的数据分析处理模块对阶段数据进行标签标记,并根据多阶段数据的关联关系,对相关的数据进行自动打标签;
(4)所述的数据查询模块实现多视角的数据查询展示。
较佳地,所述的步骤(3)具体包括以下步骤:
(3.1)新建标签规则,选择需要打标签的主数据,并定义标签键及标签值;
(3.2)查找需要打标签的主数据的上游数据,判断上游关联关系的阻断性是否设置为false或者是否不在存在上游数据,如果是,则继续步骤(3.3);否则,继续步骤(3.2);
(3.3)查找需要打标签的主数据的下游数据,判断下游关联关系的阻断性是否设置为false或者是否不在存在下游数据,如果是,则继续步骤(3.4);否则,继续步骤(3.3);
(3.4)标签落库,将查找到的所有阶段数据,打上定义的标签名称和标签值;
(3.5)建立血缘分析,并建立影响分析。
较佳地,所述的步骤(3.1)具体包括以下步骤:
(3.1.1)新建标签规则,定义标签规则的ID,标签规则的描述;
(3.1.2)选择需要打标签的主数据,从数据中筛选出需要打标签的主数据;
(3.1.3)定义标签键及标签值以及标签描述信息。
较佳地,所述的步骤(3.5)具体包括以下步骤:
(3.5.1)建立血缘分析,根据标签数据遍历查找当前数据的上游数据,获取当前数据的上游来源数据;
(3.5.2)建立影响分析,根据标签数据遍历查找当前数据的下游数据,获取当前数据的下游来源数据。
采用了本发明的DevOps中基于元数据技术实现研发过程全链路追踪处理的系统及其方法,由于实现了研发过程全链路研发过程各阶段数据的数据标准制定、收集、分析,从而实现了高性能的研发过程数据的全链路打通,为不同研发角色提供多视角决策支撑能力;同时通过建立影响分析、血缘分析可以实时掌握研发过程的变更的影响,提前把控研发进度、质量等,提升研发过程的透明度。
附图说明
图1为本发明的DevOps中基于元数据技术实现研发过程全链路追踪处理的系统的结构图。
图2为本发明的实现DevOps中基于元数据技术的研发过程全链路追踪处理的方法中的元数据采集操作的流程图。
图3为本发明的实现DevOps中基于元数据技术的研发过程全链路追踪处理的方法中的数据分析处理模块打标签操作的流程图。
具体实施方式
为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。
本发明的该DevOps中基于元数据技术实现研发过程全链路追踪处理的系统,其中包括:
数据标准制定模块,用于完成研发过程各阶段的数据元信息模型,定义环节间的关联关系,并规范实际的研发交付过程;
元数据采集模块,与所述的数据标准制定模块相连接,用于通过全量模式及增量模式采集数据标准模块中定义的元数据;
数据分析处理模块,与所述的元数据采集模块相连接,用于对阶段数据进行标签标记,并根据多阶段数据的关联关系,对相关的数据进行自动打标签;
数据查询模块,与所述的数据分析处理模块相连接,用于实现多视角的数据查询展示。
作为本发明的优选实施方式,所述的数据标准制定模块包括:
元数据模型定义单元,用于定义采集的元数据模型;
数据关联规范定义单元,与所述的元数据模型定义单元相连接,用于定义各模块间数据的关联规范。
作为本发明的优选实施方式,所述的元数据模型定义单元的元数据模型包括需求元数据信息模型、任务元数据信息模型、代码库元数据信息模型、缺陷元数据信息模型、测试用例元数据信息模型、持续集成元数据信息模型、发布介质元数据信息模型、持续部署元数据信息模型和环境资源元数据信息模型。
作为本发明的优选实施方式,所述的元数据采集模块采集的元数据包括需求元数据信息、任务元数据信息、代码库元数据信息、缺陷元数据信息、测试用例元数据信息、持续集成元数据信息、发布介质元数据信息、持续部署元数据信息和环境资源元数据信息。
作为本发明的优选实施方式,所述的数据分析处理模块包括:
标签定义单元,与所述的元数据采集模块相连接,用于定义标签键及标签值;
上下游数据查找单元,与所述的标签定义单元相连接,用于查找需要打标签的主数据的上游数据和下游数据;
标签落库单元,与所述的上下游数据查找单元相连接,用于将查找到的所有阶段数据,打上定义的标签名称和标签值。
本发明的该利用上述系统实现DevOps中基于元数据技术的研发过程全链路追踪处理的方法,其中包括以下步骤:
(1)所述的数据标准制定模块定义环节间的关联关系,并规范实际的研发交付过程;
(2)所述的元数据采集模块通过全量模式及增量模式采集数据标准模块中定义的元数据;
(3)所述的数据分析处理模块对阶段数据进行标签标记,并根据多阶段数据的关联关系,对相关的数据进行自动打标签;
(3.1)新建标签规则,选择需要打标签的主数据,并定义标签键及标签值;
(3.1.1)新建标签规则,定义标签规则的ID,标签规则的描述;
(3.1.2)选择需要打标签的主数据,从数据中筛选出需要打标签的主数据;
(3.1.3)定义标签键及标签值以及标签描述信息;
(3.2)查找需要打标签的主数据的上游数据,判断上游关联关系的阻断性是否设置为false或者是否不在存在上游数据,如果是,则继续步骤(3.3);否则,继续步骤(3.2);
(3.3)查找需要打标签的主数据的下游数据,判断下游关联关系的阻断性是否设置为false或者是否不在存在下游数据,如果是,则继续步骤(3.4);否则,继续步骤(3.3);
(3.4)标签落库,将查找到的所有阶段数据,打上定义的标签名称和标签值;
(3.5)建立血缘分析,并建立影响分析;
(3.5.1)建立血缘分析,根据标签数据遍历查找当前数据的上游数据,获取当前数据的上游来源数据;
(3.5.2)建立影响分析,根据标签数据遍历查找当前数据的下游数据,获取当前数据的下游来源数据;
(4)所述的数据查询模块实现多视角的数据查询展示。
本发明的具体实施方式中,本发明涉及一种DevOps中基于元数据技术实现研发过程全链路追踪的系统及方法,其中包括研发过程数据标准制定模块,定义需求管理、代码库、代码提交历史、缺陷管理、持续集成、持续部署、发布介质、环境资源等环节的元信息模型,定义上述环节之间关联关系,并规范实际的研发交付过程;研发过程元数据采集模块,采用全量、增量两种模式从各个源系统中采集研发过程数据标准模块中定义的元数据;研发过程数据分析处理模块,基于标签技术实现多环节数据的自动打标签,进而支持数据的影响分析、血缘分析,实现研发流程全链路的追踪能力;研发过程数据查询模块,提供数据查询展示,支持多视角查看研发流程全链路数据的能力。采用该种结构的DevOps中基于元数据技术实现研发过程全链路追踪的系统及方法,高性能的实现了研发过程数据的全链路打通,为不同研发角色提供多视角决策支撑能力,通过影响分析、血缘分析可以实时掌握研发过程的变更的影响,提前把控研发进度、质量等,提升研发过程的透明度,在DevOps领域具有更广泛的使用范围。
本发明针对DevOps中基于元数据技术实现研发过程全链路追踪的场景,主要实现以下目的:
1.通过定义研发过程数据标准及关联关系的规范,用于将研发过程不同阶段的数据建立关联关系,用于解决无法对全链路数据跟踪的问题;
2.通过对研发过程数据实时收集,支持全量、增量的模式,达成全链路数据跟踪的实时性,形成实时资产图;
3.通过对研发过程不同阶段数据的进行打标签,并根据关联关系实现多环节数据的自动打标签,实现多视角查看研发流程全链路数据,提供多视角决策支撑能力。
本发明分为研发过程数据标准制定模块、研发过程元数据采集模块、研发过程数据分析处理模块、研发过程数据查询模块。
研发过程数据标准制定模块主要完成研发过程各阶段的数据元信息模型,包括需求管理、代码库、代码提交历史、缺陷管理、持续集成、持续部署、发布介质、环境资源等环节,并定义上述环节之间关联关系,并规范实际的研发交付过程;研发过程元数据采集模块,采用全量、增量两种模式从各个源系统中采集研发过程数据标准模块中定义的元数据,全量模式在首次采集时使用,增量模式在后续数据变化时使用;研发过程数据分析处理模块,基于标签技术实现多环节数据的自动打标签,进而支持数据的影响分析、血缘分析,实现研发流程全链路的追踪能力;研发过程数据查询模块,基于标签能力,实现多视角的数据查询展示。
本发明构成如图1所示。下面将详细描述研发过程数据标准制定模块、研发过程元数据采集模块、研发过程数据分析处理模块、研发过程数据查询模块。
一、研发过程数据标准制定模块
本模块主要分为两部分,第一部分是定义研发过程中各个阶段采集的元数据模型,第二部分是定义研发过程各环节间数据的关联规范,在实际的研发过程中遵守该规范就可以将不同的研发过程阶段的数据进行自动化的关联。
1、研发过程各阶段采集的元数据模型如下:
需求元数据信息:需求编码、需求主题、需求描述、负责人、创建时间、所属项目编码、所属产品编码、需求状态;
任务元数据信息:任务编码、任务主题、任务描述、负责人、创建时间、所属需求编码、任务状态;
代码库元数据信息:代码库编码、代码库地址、代码库描述、负责人、创建时间、所属项目编码、代码库分支编码、代码库标签编码、代码提交记录(内部包含任务编码、缺陷编码);
缺陷元数据信息:缺陷编码、缺陷主题、缺陷描述、负责人、提出人、创建时间、所属任务编码、缺陷状态;
测试用例元数据信息:测试用例编码、测试用例主题、测试用例描述、负责人、创建时间、所属需求编码;
持续集成元数据信息:持续集成编码、执行时间、代码库编码、代码库分支编码、代码库标签编码、介质编码、执行状态;
发布介质元数据信息:发布介质编码、发布介质路径、创建时间、所属持续集成编码;
持续部署元数据信息:持续部署编码、部署时间、发布介质编码、环境资源编码;
环境资源元数据信息:环境资源编码、环境资源类型、环境资源IP地址、环境资源端口;
2、定义研发过程各环节间数据的关联规范
在第一步分定义了各阶段采集的元数据模型,但在需求、任务、缺陷与代码库、发布介质之间存在割裂,无法知晓某次的发布介质修改那那个需求,或者修改了哪些缺陷、任务等。针对该割裂情况定义代码提交关联规范,并形成代码模板,以便研发团队人员能够看到每个任务的执行状态和每个BUG的解决进度情况:
代码提交规范及模板说明如下:
代码提交模板:
title:<type>(<scope>),<subject>
body:
bug:
task:
代码模板关键字说明如下:
关键字type取值范围说明表:
关键字scope取值范围说明表:
二:研发过程元数据采集模块
研发过程元数据采集模块,通过元数据采集工具或者ETL工具或者批处理工具采集研发过程数据标准模块中定义的元数据,并存储在关系数据库中;采集模式上提供全量采集模式与增量采集两种模式,全量模式在首次采集时使用,增量模式在后续数据变化时使用。通过研发过程元数据采集模块,不但实现了各阶段元数据的采集工作,还实现了不同阶段的关联关系的采集工作,实现研发过程全链路数据的实时汇聚。研发过程元数据采集操作的步骤如图2所示。
步骤说明:
步骤1:采集需求元数据信息,主要包括需求编码、需求主题、需求描述、负责人、创建时间、所属项目编码、所属产品编码、需求状态等数据;
步骤2:采集任务元数据信息,主要包括任务编码、任务主题、任务描述、负责人、创建时间、所属需求编码、任务状态等数据;
步骤3:采集代码库元数据信息,主要包括代码库编码、代码库地址、代码库描述、负责人、创建时间、所属项目编码、代码库分支编码、代码库标签编码、代码提交记录等数据;针对代码提交记录,根据第一部分“研发过程数据标准制定模块”中定义的代码提交模板,分析出每次提交记录关联的任务编码、缺陷编码元信息;
步骤4:采集缺陷元数据信息,主要包括缺陷编码、缺陷主题、缺陷描述、负责人、提出人、创建时间、所属任务编码、缺陷状态等数据;
步骤5:采集测试用例元数据信息,主要包括测试用例编码、测试用例主题、测试用例描述、负责人、创建时间、所属需求编码等数据;
步骤6:采集持续集成元数据信息,主要包括持续集成编码、执行时间、代码库编码、代码库分支编码、代码库标签编码、介质编码、执行状态等数据;
步骤7:采集发布介质元数据信息,主要包括发布介质编码、发布介质路径、创建时间、所属持续集成编码等数据;
步骤8:采集持续部署元数据信息,主要包括持续部署编码、部署时间、发布介质编码、环境资源编码等数据;
步骤9:采集环境资源元数据信息,主要包括环境资源编码、环境资源类型、环境资源IP地址、环境资源端口等数据。
三:研发过程数据分析处理模块
通过“研发过程元数据采集模块”采集后,已经获取到研发过程各阶段所有的数据,并能满足基本的查询。本发明的分析模块主要为了提供更多的链路视角,采用标签技术对阶段数据进行标签标记,并根据多阶段数据的关联关系,对相关的数据进行自动打标签。为了提升性能,对在放在关系数据库中的所有数据在分析期间存放在缓存服务器Redis中。研发过程数据分析处理模块打标签操作的步骤如图3所示。
步骤说明:
步骤1:新建一条标签规则,主要定义标签规则的ID,标签规则的描述;
步骤2:选择需要打标签的主数据,从研发过程各个阶段的数据中,筛选出需要打标签的主数据;
步骤3:定义标签键及标签值,标签描述信息;
标签表的定义如下:
CREATE TABLE[T_Label](
LABELID decimal(20,0)NOT NULL,
LABELKEY varchar(20),
LABELVALUE varchar(64),
DESC decimal(20,0),
PRIMARY KEY(ID))ENGINE=InnoDB DEFAULT CHARSET=utf8;
LABELID是标签表的主键、表示标签的ID,LABELKEY表示标签的键,LABELVALUE表示标签的值,DESC表示标签的描述信息;
步骤4:查找需要打标签的主数据的上游数据,根据研发过程各阶段数据的关联关系,查找关系上游的数据;
步骤5:重复执行步骤4,直到上游关联关系的阻断性设置为false(如果阻断性设置为false,表示不再查找上游的关联关系)或者不在存在上游数据;
步骤6:查找需要打标签的主数据的下游数据,根据研发过程各阶段数据的关联关系,查找关系下游的数据;
步骤7:重复执行步骤6,直到下游关联关系的阻断性设置为false(如果阻断性设置为false,表示不再查找下游的关联关系)或者不在存在下游数据;
步骤8:标签落库,将步骤2、步骤4、步骤5、步骤6、步骤7中查找到的所有阶段数据,打上步骤3中定义的标签名称和标签值;
标签关系表(标签与研发过程各阶段的数据关联)的定义如下:
CREATE TABLE[T_Label_Relation](
ID decimal(20,0)NOT NULL,
LABELID decimal(20,0),
BUSINESSID decimal(20,0),
BUSINESSTYPE varchar(32),
PARENTID decimal(20,0),
PRIMARY KEY(ID))ENGINE=InnoDB DEFAULT CHARSET=utf8;
ID作为主键、表示标签关系表的唯一ID,BUSINESSID表示关联的编码ID,BUSINESSTYPE表示编码ID对应的类型(比如需求编码,任务编码等),PARENTID表示当前条目的父ID;
步骤9:建立血缘分析,根据步骤8产生的标签数据,根据PARENTID遍历查找当前数据的上游数据,获取当前数据的上游来源数据;
步骤10:建立影响分析,根据步骤8产生的标签数据,根据PARENTID遍历查找当前数据的下游数据,获取当前数据的下游来源数据。
四:研发过程数据查询模块
研发过程数据查询模块,是将以上模块处理的研发各阶段采集和分析的数据进行查询输出,查询到全链路的数据,实现多视角的数据查询展示。
本部分以某产品研发公司研发某微服务产品为例来说明本发明的实现方式。
某产品研发公司需要打通研发过程全链路的数据,假定某产品研发公司在研发过程中使用的支撑工具包括:需求管理、任务管理、缺陷管理采用JIRA工具,代码库使用Gitlab,持续集成、持续部署工具采用自研平台,介质库采用Nexus,环境资源管理采用CMDB,当然也可以使用其它研发过程工具。
某产品研发公司某微服务产品的负责人希望了解发布介质xxx-2.1.0到xxx-2.2.0版本间修复了哪些缺陷与完成了哪些任务。
接下来,根据本发明的方法,来实现上面定义的场景,将会明显感受到本发明所具有的简单便利的优势。
一、研发过程数据标准制定模块
根据上面场景定义的研发过程工具,首先制定研发过程数据标准格式,接下来定义研发过程各环节间数据的关联规范定。
1、定义研发过程各阶段采集的元数据模型如下:
需求元数据信息:需求编码、需求主题、需求描述、负责人、创建时间、所属项目编码、所属产品编码、需求状态;
任务元数据信息:任务编码、任务主题、任务描述、负责人、创建时间、所属需求编码、任务状态;
代码库元数据信息:代码库编码、代码库地址、代码库描述、负责人、创建时间、所属项目编码、代码库分支编码、代码库标签编码、代码提交记录(内部包含任务编码、缺陷编码);
缺陷元数据信息:缺陷编码、缺陷主题、缺陷描述、负责人、提出人、创建时间、所属任务编码、缺陷状态;
测试用例元数据信息:测试用例编码、测试用例主题、测试用例描述、负责人、创建时间、所属需求编码;
持续集成元数据信息:持续集成编码、执行时间、代码库编码、代码库分支编码、代码库标签编码、介质编码、执行状态;
发布介质元数据信息:发布介质编码、发布介质路径、创建时间、所属持续集成编码;
持续部署元数据信息:持续部署编码、部署时间、发布介质编码、环境资源编码;
环境资源元数据信息:环境资源编码、环境资源类型、环境资源IP地址、环境资源端口;
2、定义研发过程各环节间数据的关联规范
本环节定义代码提交过程中的提交规范,具体如下:
代码提交模板:
title:<type>(<scope>),<subject>
body:
bug:
task:
某产品研发公司研发某微服务产品的产品研发人员在代码提交过程中按照上面模板提交代码;
一共有两次提交,其中第一次提交示例如下:
代码提交示例:
title:fix(all),修复登录失败界面崩溃的BUG,完成登录功能
body:修复登录失败界面崩溃的BUG,输出异常类型转换错误,使用约定的异常类型,完成登录功能
bug:1001,1003
task:2001,2002
表示本次提交修复了两个缺陷:缺陷1001、缺陷1003;两个任务:任务2001、任务2002;
第二次提交示例如下:
代码提交示例:
title:fix(all),修复单点登录功能缺陷
body:修复单点登录功能缺陷
bug:1016,1018
表示本次提交修复了两个缺陷,分别是缺陷1016、缺陷1018;没有任务。
二:研发过程元数据采集模块
根据上面场景定义的研发过程工具,采集阶段使用批处理工具(Spring Batch)进行研发过程元数据的采集,接下来以采集任务任务元数据为例介绍:
在Spring Batch中定义处理任务元数据的作业,其中taskItemReader负责从JIRA中读取任务表,taskItemWriter负责将从JIRA中读取的任务数据写入研发过程元数据采集模块中关系数据库表中,完成了对任务元数据的采集。
采集需求的作业如下表所示:
其它研发过程阶段的元数据采集和任务元数据的采集类似,这里不再详述。
三、研发过程数据分析处理模块
根据上面场景定义的研发过程工具,及需要查询的业务场景:分析发布介质xxx-2.1.0到xxx-2.2.0版本间修复了哪些缺陷与完成了哪些任务,本模块的具体实现如下:
1、新建一条标签规则,标签规则的ID为“LabelRule_Query_xxx_Version”,标签规则描述为“查询介质xxx-2.1.0到xxx-2.2.0版本的缺陷与任务”;
2、选择需要打标签的数据为介质“xxx”,版本号为“2.1.0”与“2.2.0”;
3、定义新标签,标签键为“Query_Artifact_Between”,标签值为“xxx”,标签描述为“查询介质不同版本信息”;执行的SQL脚本如下:
insert into T_Label(LABELID,LABELKEY,LABELVALUE,DESC)value(10000001,‘Query_Artifact_Between’,‘xxx’,‘查询介质不同版本信息’);
4、查找上游数据,这里首先查找构建定义,查询出那个构建定义生成了当前的介质版本,执行的SQL脚本如下:
select ra.所属持续集成编码from发布介质元信息表as ra where ra.发布介质编码='xxx-2.1.0';
select ra.所属持续集成编码from发布介质元信息表as ra where ra.发布介质编码='xxx-2.2.0';
5、根据上面查询到的持续集成编码,继续查找上游对应的代码库编码,执行的SQL脚本如下:
select ci.代码库编码,ci.代码库标签编码from持续集成元信息表as ci whereci.持续集成编码='上述步骤查询到的所属持续集成编码';
根据查询到的代码库编码与代码库标签编码,在代码库元数据信息查询出所有的缺陷编码与任务编码;这样就完成了上游所有关联数据的查找;
6、查找下游数据,这里首先查询持续部署编码,查看哪些部署编码发布了该介质,执行的SQL脚本如下:
select cd.持续部署编码from持续部署元信息表as cd where cd.发布介质编码=‘xxx-2.1.0’;
select cd.持续部署编码from持续部署元信息表as cd where cd.发布介质编码=‘xxx-2.2.0’;
7、根据上面查询到的持续部署编码,继续查找下游对应的环境资源编码,执行的SQL脚本如下:
select cd.环境资源编码from持续部署元信息表as cd where cd.持续部署编码=‘上述步骤查询到的持续部署编码’;
这样就完成了下游所有关联数据的查找;
8、将上述2、4、5、6、7中查询到的所有编码依次插入到标签关系表中,同时按照依赖关系设置对应的PARENTID字段;首先插入发布介质编码到标签关系表,执行的SQL脚本如下:
insert into T_Label_Relation(ID,LABELID,BUSINESSID,BUSINESSTYPE,PARENTID)value(50000001,‘10000001’,‘xxx-2.1.0’,‘Type_Artifact’,);
insert into T_Label_Relation(ID,LABELID,BUSINESSID,BUSINESSTYPE,PARENTID)value(50000002,‘10000001’,‘xxx-2.2.0’,‘Type_Artifact’,);
接着插入持续集成编码到标签关系表,其中发布介质xxx-2.1.0对应的持续编码的PARENTID需要设置为50000001,其中发布介质xxx-2.2.0对应的持续编码的PARENTID需要设置为50000002,
其中发布介质xxx-2.1.0对应的持续编码,执行的SQL脚本如下:
insert into T_Label_Relation(ID,LABELID,BUSINESSID,BUSINESSTYPE,PARENTID)value(50000003,‘10000001’,‘持续集成编码’,‘Type_CI’,50000001);
其中发布介质xxx-2.2.0对应的持续编码,执行的SQL脚本如下:
insert into T_Label_Relation(ID,LABELID,BUSINESSID,BUSINESSTYPE,PARENTID)value(50000004,‘10000001’,‘持续集成编码’,‘Type_CI’,50000002);
其它的上下游的编码按照上面的规则分别插入标签关系表,完成了所有关联数据的打标签;
9、根据标签关系表中关联的PARENTID,向上查询所有的上游数据,完成血缘分析;
10、根据标签关系表中关联的PARENTID,想下查询所有的下游数据,完成影响分析;
四:研发过程数据查询模块
根据上面场景定义的研发过程工具,及需要查询的业务场景:分析发布介质xxx-2.1.0到xxx-2.2.0版本间修复了哪些缺陷与完成了哪些任务。针对标签关系表进行查询,查询出两次介质发布期间共修复4个缺陷,完成2个任务,分别是:
发布介质xxx-2.1.0到xxx-2.2.0之间修复缺陷4个,任务2个:
缺陷:
1001
1003
1016
1018
任务:
2001
2002
按照以上实施步骤,根据业务需求完成了DevOps中研发过程数据的全链路跟踪,可以实现更多的各种业务场景的关联与查询。从而实现了高性能的研发过程数据的全链路打通,为不同研发角色提供多视角决策支撑能力;同时通过建立影响分析、血缘分析可以实时掌握研发过程的变更的影响,提前把控研发进度、质量等,提升研发过程的透明度。
采用了本发明的DevOps中基于元数据技术实现研发过程全链路追踪处理的系统及其方法,由于实现了研发过程全链路研发过程各阶段数据的数据标准制定、收集、分析,从而实现了高性能的研发过程数据的全链路打通,为不同研发角色提供多视角决策支撑能力;同时通过建立影响分析、血缘分析可以实时掌握研发过程的变更的影响,提前把控研发进度、质量等,提升研发过程的透明度。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。
Claims (9)
1.一种DevOps中基于元数据技术实现研发过程全链路追踪处理的系统,其特征在于,所述的系统包括:
数据标准制定模块,用于完成研发过程各阶段的数据元信息模型,定义环节间的关联关系,并规范实际的研发交付过程;
元数据采集模块,与所述的数据标准制定模块相连接,用于通过全量模式及增量模式采集数据标准模块中定义的元数据;
数据分析处理模块,与所述的元数据采集模块相连接,用于对阶段数据进行标签标记,并根据多阶段数据的关联关系,对相关的数据进行自动打标签;
数据查询模块,与所述的数据分析处理模块相连接,用于实现多视角的数据查询展示。
2.根据权利要求1所述的DevOps中基于元数据技术实现研发过程全链路追踪处理的系统,其特征在于,所述的数据标准制定模块包括:
元数据模型定义单元,用于定义采集的元数据模型;
数据关联规范定义单元,与所述的元数据模型定义单元相连接,用于定义各模块间数据的关联规范。
3.根据权利要求1所述的DevOps中基于元数据技术实现研发过程全链路追踪处理的系统,其特征在于,所述的元数据模型定义单元的元数据模型包括需求元数据信息模型、任务元数据信息模型、代码库元数据信息模型、缺陷元数据信息模型、测试用例元数据信息模型、持续集成元数据信息模型、发布介质元数据信息模型、持续部署元数据信息模型和环境资源元数据信息模型。
4.根据权利要求1所述的DevOps中基于元数据技术实现研发过程全链路追踪处理的系统,其特征在于,所述的元数据采集模块采集的元数据包括需求元数据信息、任务元数据信息、代码库元数据信息、缺陷元数据信息、测试用例元数据信息、持续集成元数据信息、发布介质元数据信息、持续部署元数据信息和环境资源元数据信息。
5.根据权利要求1所述的DevOps中基于元数据技术实现研发过程全链路追踪处理的系统,其特征在于,所述的数据分析处理模块包括:
标签定义单元,与所述的元数据采集模块相连接,用于定义标签键及标签值;
上下游数据查找单元,与所述的标签定义单元相连接,用于查找需要打标签的主数据的上游数据和下游数据;
标签落库单元,与所述的上下游数据查找单元相连接,用于将查找到的所有阶段数据,打上定义的标签名称和标签值。
6.一种利用权利要求1所述的系统实现DevOps中基于元数据技术的研发过程全链路追踪处理的方法,其特征在于,所述的方法包括以下步骤:
(1)所述的数据标准制定模块定义环节间的关联关系,并规范实际的研发交付过程;
(2)所述的元数据采集模块通过全量模式及增量模式采集数据标准模块中定义的元数据;
(3)所述的数据分析处理模块对阶段数据进行标签标记,并根据多阶段数据的关联关系,对相关的数据进行自动打标签;
(4)所述的数据查询模块实现多视角的数据查询展示。
7.根据权利要求6所述的实现DevOps中基于元数据技术的研发过程全链路追踪处理的方法,其特征在于,所述的步骤(3)具体包括以下步骤:
(3.1)新建标签规则,选择需要打标签的主数据,并定义标签键及标签值;
(3.2)查找需要打标签的主数据的上游数据,判断上游关联关系的阻断性是否设置为false或者是否不在存在上游数据,如果是,则继续步骤(3.3);否则,继续步骤(3.2);
(3.3)查找需要打标签的主数据的下游数据,判断下游关联关系的阻断性是否设置为false或者是否不在存在下游数据,如果是,则继续步骤(3.4);否则,继续步骤(3.3);
(3.4)标签落库,将查找到的所有阶段数据,打上定义的标签名称和标签值;
(3.5)建立血缘分析,并建立影响分析。
8.根据权利要求7所述的实现DevOps中基于元数据技术的研发过程全链路追踪处理的方法,其特征在于,所述的步骤(3.1)具体包括以下步骤:
(3.1.1)新建标签规则,定义标签规则的ID,标签规则的描述;
(3.1.2)选择需要打标签的主数据,从数据中筛选出需要打标签的主数据;
(3.1.3)定义标签键及标签值以及标签描述信息。
9.根据权利要求7所述的实现DevOps中基于元数据技术的研发过程全链路追踪处理的方法,其特征在于,所述的步骤(3.5)具体包括以下步骤:
(3.5.1)建立血缘分析,根据标签数据遍历查找当前数据的上游数据,获取当前数据的上游来源数据;
(3.5.2)建立影响分析,根据标签数据遍历查找当前数据的下游数据,获取当前数据的下游来源数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910998861.6A CN110764738B (zh) | 2019-10-21 | 2019-10-21 | DevOps中基于元数据技术实现研发过程全链路追踪处理的系统及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910998861.6A CN110764738B (zh) | 2019-10-21 | 2019-10-21 | DevOps中基于元数据技术实现研发过程全链路追踪处理的系统及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110764738A true CN110764738A (zh) | 2020-02-07 |
CN110764738B CN110764738B (zh) | 2024-02-23 |
Family
ID=69332737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910998861.6A Active CN110764738B (zh) | 2019-10-21 | 2019-10-21 | DevOps中基于元数据技术实现研发过程全链路追踪处理的系统及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110764738B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019096191A1 (zh) * | 2017-11-16 | 2019-05-23 | 四川长虹电器股份有限公司 | 基于xbrl标准的主数据管理系统的设计方法 |
CN109815378A (zh) * | 2019-01-31 | 2019-05-28 | 三盟科技股份有限公司 | 一种基于元数据链路的数据追踪方法及系统 |
CN110245921A (zh) * | 2019-06-20 | 2019-09-17 | 普元信息技术股份有限公司 | 大数据治理中基于元数据实现数据服务上下游链路追溯功能的方法 |
-
2019
- 2019-10-21 CN CN201910998861.6A patent/CN110764738B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019096191A1 (zh) * | 2017-11-16 | 2019-05-23 | 四川长虹电器股份有限公司 | 基于xbrl标准的主数据管理系统的设计方法 |
CN109815378A (zh) * | 2019-01-31 | 2019-05-28 | 三盟科技股份有限公司 | 一种基于元数据链路的数据追踪方法及系统 |
CN110245921A (zh) * | 2019-06-20 | 2019-09-17 | 普元信息技术股份有限公司 | 大数据治理中基于元数据实现数据服务上下游链路追溯功能的方法 |
Non-Patent Citations (2)
Title |
---|
刘丰源;王凌;: "基于TSV-SSM的元数据管理平台的设计和应用" * |
宿晓丹;刘太敏;毛军;: "数据资产管理体系研究及服务平台架构设计探讨" * |
Also Published As
Publication number | Publication date |
---|---|
CN110764738B (zh) | 2024-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10074120B2 (en) | Dynamic template selector and data integrity engine for inspection reports | |
US20120272329A1 (en) | Obfuscating sensitive data while preserving data usability | |
WO2005121945A2 (en) | Method and system for creating, sustaining and using a transactional bill of materials (t-bom tm) | |
CN1571971A (zh) | 信息对象编辑和分配系统 | |
CN114169319A (zh) | 一种企业主体及其合同风险审查系统 | |
JP2019040598A (ja) | データベース検索システムおよび方法 | |
CN110032594A (zh) | 可定制化的多源数据库的数据抽取方法、装置及存储介质 | |
CN109118161B (zh) | 一种建筑业供应链saas管理方法及系统 | |
US8375352B2 (en) | Terms management system (TMS) | |
GB2379530A (en) | Handling production data | |
CN117909392B (zh) | 一种智能化数据资产盘点的方法和系统 | |
TW200419388A (en) | System and method for automatically comparing and recoding difference between bills of material (BOM) | |
CN110764738B (zh) | DevOps中基于元数据技术实现研发过程全链路追踪处理的系统及其方法 | |
CN109242259B (zh) | 一种基于基础数据资源库的数据集成方法及系统 | |
CN116881512A (zh) | 一种跨系统元数据血缘自动解析方法 | |
Katz et al. | Glossary of software reuse terms | |
CN113312256B (zh) | 一种自动化码头系统接口自动化测试系统和方法 | |
Paszko et al. | Considerations in selecting a laboratory information management system (LIMS) | |
Ramler et al. | Issues and effort in integrating data from heterogeneous software repositories and corporate databases | |
US7283989B1 (en) | System and method for use of application metadata | |
US20110213728A1 (en) | Requirements check-in/out tool, called r2db | |
Badr et al. | A semantic based framework for facilitating integration in ERP systems | |
Wisswani et al. | Message oriented middleware for library’s metadata exchange | |
US20020178140A1 (en) | Method for characterizing and storing data analyses in an analysis database | |
US20050256831A1 (en) | Data query method employing an implication model and business dictionary |
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 |