CN113495755B - 信息多维度分析的方法及装置 - Google Patents
信息多维度分析的方法及装置 Download PDFInfo
- Publication number
- CN113495755B CN113495755B CN202110725656.XA CN202110725656A CN113495755B CN 113495755 B CN113495755 B CN 113495755B CN 202110725656 A CN202110725656 A CN 202110725656A CN 113495755 B CN113495755 B CN 113495755B
- Authority
- CN
- China
- Prior art keywords
- tool
- information
- submitted information
- problem list
- submitted
- 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
Classifications
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- 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
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Abstract
本发明提供一种信息多维度分析的方法及装置,其方法包括:接收代码审核工具发送的hook触发指令,获取提交信息;分别向项目管理工具和软件编译扫描工具发送查询请求,获取所述提交信息对应的问题单类型和静态扫描结果;比较从所述提交信息中获取的问题单标识,与通过查询请求从项目管理工具获取的问题单标识,确定所述提交信息的有效性;将有效的所述提交信息、问题单类型和静态扫描的结果建立关联关系后,保存至数据库中,并对其进行多维度的统计分析。本发明通过在每次代码提交、入库、废弃以及审核时都对数据进行保存,在项目交付或任何时间节点都能对交付质量有多种维度的统计,推出一种全面直观多维度的统计方案。
Description
技术领域
本发明涉及网络通信技术领域,具体涉及一种信息多维度分析的方法及装置。
背景技术
随着软件行业中敏捷开发的流行,敏捷开发和持续集成、持续部署在软件开发行业越来越广泛的应用,对于开发人员以及开发团队开发质量以及人员贡献度的度量显得越来越重要。如何评价开发人员的贡献度,如何评价项目中不同团队的贡献度,如何评价开发人员和团队的开发质量,对于软件代码的可靠性和对团队及个人的激励需要越来越直观和有效的数据支撑。
但是目前主流的持续集成和持续交付工具中并没有提供系统的交付质量度量功能,对于个人以及团队对项目的贡献度无法提供直观与多维度的体现。
目前基于git/gerrit/jira的代码统计度量缺少系统性工具和方案,只能针对个人统计代码行数,无法统计审核效率,代码漏洞产出率,以及团队整体数据。
发明内容
针对现有技术存在的问题,本发明提供一种信息多维度分析的方法及装置。
第一方面,本发明提供一种信息多维度分析的方法,应用于质量工具,包括:
S1、接收代码审核工具发送的hook触发指令,获取提交信息;
S2、分别向项目管理工具和软件编译扫描工具发送查询请求,获取所述提交信息对应的问题单类型和静态扫描结果;
S3、比较从所述提交信息中获取的问题单标识,与通过查询请求从项目管理工具获取的问题单标识,确定所述提交信息的有效性;
S4、将有效的所述提交信息、问题单类型和静态扫描的结果建立关联关系后,保存至数据库中,并对其进行多维度的统计分析。
根据本发明提供的信息多维度分析的方法,在所述步骤S3包括:
若从所述提交信息中获取的问题单标识,与通过查询请求从项目管理工具获取的问题单标识不一致,则确定所述提交信息无效;
若从所述提交信息中获取的问题单标识,与通过查询请求从项目管理工具获取的问题单标识一致,则确定所述提交信息有效。
根据本发明提供的信息多维度分析的方法,所述获取所述提交信息的静态扫描结果之后,还包括:
确定所述提交信息中存在的警告warning或者错误的数量。
根据本发明提供的信息多维度分析的方法,所述质量工具以web UI的形式提供数据展示。
第二方面,本发明还提供一种信息多维度分析的方法,应用于代码审核工具,包括:
接收提交信息,并自动触发软件编译扫描工具启动代码编译和静态扫描;
通过预先设置的hook触发质量工具获取所述提交信息,所述提交信息用于与问题单类型和静态扫描的结果建立关联关系;
所述问题单类型和静态扫描结果是通过所述质量工具分别向项目管理工具和软件编译扫描工具发送查询请求获得的。
第三方面,本发明还提供一种信息多维度分析的装置,应用于质量工具,包括:
接收模块,用于接收代码审核工具发送的hook触发指令,获取提交信息;
获取模块,用于分别向项目管理工具和软件编译扫描工具发送查询请求,获取所述提交信息对应的问题单类型和静态扫描结果;
有效模块,用于比较从所述提交信息中获取的问题单标识,与通过查询请求从项目管理工具获取的问题单标识,确定所述提交信息的有效性;
关联保存模块,用于将有效的所述提交信息、问题单类型和静态扫描的结果建立关联关系后,保存至数据库中,并对其进行多维度的统计分析。
第四方面,本发明还提供一种信息多维度分析的装置,应用于代码审核工具,包括:
接收获取模块,用于接收提交信息,并自动触发Jenkins启动代码编译和静态扫描;
触发模块,用于通过预先设置的hook触发所述质量工具获取所述提交信息,所述提交信息用于与问题单类型和静态扫描的结果建立关联关系;
所述问题单类型和静态扫描结果是通过所述质量工具分别向项目管理工具和软件编译扫描工具分别查询请求获得的。
第五方面,本发明还提供一种质量工具,包括处理器和存储有计算机程序的存储器,所述处理器执行所述计算机程序时实现第一方面所述信息多维度分析的方法的步骤。
第六方面,本发明还提供一种代码审核工具,包括处理器和存储有计算机程序的存储器,所述处理器执行所述计算机程序时实现第二方面所述信息多维度分析的方法的步骤。
第七方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述信息多维度分析的方法的步骤,或实现第二方面所述信息多维度分析的方法的步骤。
本发明提供的一种信息多维度分析的方法及装置,通过在每次代码提交、入库、废弃以及审核时都对数据进行保存,在项目交付或任何时间节点都能对交付质量有多种维度的统计,推出一种全面直观多维度的统计方案。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的信息多维度分析的方法的流程示意图;
图2是本发明提供的信息多维度分析的方法的整体流程图;
图3是本发明提供的质量工具接收hook触发后的具体操作流程;
图4是本发明提供的信息多维度分析的装置的结构示意图;
图5是本发明提供的电子设备的结构示意图;
图6是本发明提供的一种质量工具的实体结构示意图;
图7是本发明提供的一种代码审核工具的实体结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合图1-图7描述本发明的信息多维度分析的方法及装置。
图1是本发明提供的信息多维度分析的方法的流程示意图,如图1所示,该信息多维度分析的方法,应用于质量工具,包括:
S1、接收代码审核工具发送的hook触发指令,获取提交信息;
S2、分别向项目管理工具和软件编译扫描工具发送查询请求,获取所述提交信息对应的问题单类型和静态扫描结果;
S3、比较从所述提交信息中获取的问题单标识,与通过查询请求从项目管理工具获取的问题单标识,确定所述提交信息的有效性;
S4、将有效的所述提交信息、问题单类型和静态扫描的结果建立关联关系后,保存至数据库中,并对其进行多维度的统计分析。
具体的,质量工具是将多平台数据整合,并分类过滤分析,展示统计数据。
代码审核工具主要会会记录每一次提交的代码修改,但只有它们被审阅和接收后才能合入成为项目的一部分,常见的比如Gerrit,它是基于git版本控制系统。Gerrit旨在提供一个轻量级框架,用于在代码入库之前对每个提交进行审阅。任何开发团队都需要中心代码库。现有技术中是一种简单的版本控制和开发流程,开发者获取或者提交修改到中心库,基于中心库进行构建和发布版本。开发人员可以直接获取和提交修改,中心库的代码质量无法保证。针对这个问题本发明将Gerrit部署在中心库位置,Reviewer可以在线对代码检查和评论,只有经过review+2才能合入中心库,增强了中心代码的健壮性。
同时在Gerrit中设置了hook触发质量工具主动获取提交信息,所述质量工具是基于Gerrit,Jira以及Jenkins工具开发而成,集合了多种工具的优势,将多平台数据整合,并分类过滤分析,展示质量数据。
质量工具获取开发人员的提交信息后,分别向项目管理工具和软件编译扫描工具发送查询请求,获取所述提交信息对应的问题单类型和静态扫描结果;
其中,项目管理工具有多种,比如ALM,JIRA,禅道等,对于敏捷开发,JIRA更加的适合一些,因为JIRA在设计理念中就已经包括了Product Backlog、Sprint、Story等这些元素。同样的,由产品负责人建立代办事项表和story等,并保证其对于客户和团队保持透明度,并能对产品待办事项表进行优先级排序,组员去自由选择领取喜欢的Story进行开发。质量工具根据获取的提交信息向项目管理工具发送REST API请求,获取提交信息对应的问题单类型;同时也可以向软件编译扫描工具发送REST API请求,获取开发人员提交信息(包括提交代码)在软件编译扫描工具中静态扫描结果,静态扫描结果可以反应开发人员提交代码的质量,包括出现的警告和错误出处以及数量等。其中软件编译扫描工具有多种,常见的Jenkins是一个开源的,提供友好操作界面的持续集成工具,主要用于持续、自动的构建/测试软件项目,监控外部任务的运行。
质量工具通过比较开发人员提交信息中的问题单标识以及从项目管理工具中获得的对应的问题单标识,确定开发人员提交代码的有效性。
确定开发人员提交信息有效后,将有效的提交信息与从项目管理工具中获得的问题单类型以及从软件编译扫描工具获得的静态扫描结果,建立关联关系,保存在质量工具的数据库中,质量工具的数据库是基于MySQL进行开发的,从而将多个平台的数据整合,并分类过滤展示质量数据。基于这些数据进行多维度的统计分析,比如某个团队的工作量,每个团队成员的贡献度,提交代码的质量等等。
本发明提供的一种信息多维度分析的方法,通过在每次代码提交、入库、废弃以及审核时都对数据进行保存,在项目交付或任何时间节点都能对交付质量有多种维度的统计,推出一种全面直观多维度的统计方案。
可选的,在所述步骤S3包括:
若从所述提交信息中获取的问题单标识,与通过查询请求从项目管理工具获取的问题单标识不一致,则确定所述提交信息无效;
若从所述提交信息中获取的问题单标识,与通过查询请求从项目管理工具获取的问题单标识一致,则确定所述提交信息有效。
具体的,质量工具通过比较提交信息中包含的问题单标识,以及从项目管理工具获取与提交信息关联的问题单标识,如果两者一致,则确定开发人员的提交信息有效,将其保存至对应的数据库中,即将该数据入库。如果两者不一致,则确定开发人员的提交信息无效,不需要保存在对应的数据库中,即废弃该数据。
本发明提供的一种信息多维度分析的方法,通过在每次代码提交、入库、废弃以及审核时都对数据进行保存,在项目交付或任何时间节点都能对交付质量有多种维度的统计,推出一种全面直观多维度的统计方案。
可选的,所述获取所述提交信息的静态扫描结果之后,还包括:
确定所述提交信息中存在的警告warning或者错误的数量。
质量工具通过软件编译扫描工具获得的提交信息的静态扫描结果,常用的软件编译扫描工具如Jenkins持续集成和持续交付工具,得到开发人员提交代码中通过编译存在的警告或者错误的出处以及数量等信息。
本发明提供的一种信息多维度分析的方法,通过在每次代码提交、入库、废弃以及审核时都对数据进行保存,在项目交付或任何时间节点都能对交付质量有多种维度的统计,推出一种全面直观多维度的统计方案。
可选的,所述质量工具以web UI的形式提供数据展示。
具体的,质量工具还提供web UI形式,可视化的展示统计的数据信息,对信息进行分类展示,比如一个开发人员提交代码的数量和质量在整个团队中的分布情况等。
本发明提供的一种信息多维度分析的方法,通过在每次代码提交、入库、废弃以及审核时都对数据进行保存,在项目交付或任何时间节点都能对交付质量有多种维度的统计,推出一种全面直观多维度的统计方案。
图2是本发明提供的信息多维度分析的方法的整体流程图,如图2所示,具体步骤如下:
1.开发者在本地将自己编写的代码提交到代码审核工具,比如gerrit服务器。
2.代码审核工具(Gerrit)在收到开发人员(actor)的commit后,通过代码审核工具(Gerrit)自动触发软件编译扫描工具(Jenkins)启动代码编译和静态扫描。
3.软件编译扫描工具(Jenkins)编译扫描无问题后,返回代码审核工具(Gerrit)检查结果(verify+2)。并可在代码审核工具(Gerrit)中完成人工校验。
4.开发者将代码提交并入代码审核工具(Gerrit)代码仓库。
5.代码审核工具(Gerrit)通过并入hook机制触发质量工具开始对本次代码提交数据进行处理。
6.质量工具给项目管理工具(JIRA)发查询请求(REST API请求)。
7.质量工具获取本次提交关联的JIRA问题单信息。
8.质量工具将本次代码提交数据,包括提交人、评审人、团队、问题单类型、代码量等数据存储至数据库。
9.质量工具提供WEB UI界面,实现多维度的数据统计。
质量工具在收到代码审核工具(Gerrit)hook之后的具体操作流程,如图3所示,具体步骤如下:
1.质量工具会获取提交信息中的提交人,评审人,以及代码增加和删除的行数;获取本次提交对应的JIRA问题单信息(在代码审核工具Gerrit的提交信息中为必填项);获取本次提交对应的软件编译扫描工具(Jenkins)检查job name以及build id。这里的jobname以及build id是标识开发人员提交代码属于哪个版本或者分支等信息。
2.质量工具分别从项目管理工具(JIRA)和软件编译扫描工具(Jenkins)中通过REST API获取本次提交对应的问题单类型(开发任务/bug修改)和本次提交对应的静态扫描结果(代码存在问题和/或警告的数量)。
3.质量工具将统计信息保存至数据库。
4.质量工具以WEB UI的形式提供数据展示,可以多维度的获取代码质量情况。
本发明还提供一种信息多维度分析的方法,应用于代码审核工具,包括:
接收提交信息,并自动触发软件编译扫描工具启动代码编译和静态扫描;
通过预先设置的hook触发质量工具获取所述提交信息,所述提交信息用于与问题单类型和静态扫描的结果建立关联关系;
所述问题单类型和静态扫描结果是通过所述质量工具分别向项目管理工具和软件编译扫描工具发送查询请求获得的。
具体的,代码审核工具主要记录每一次提交的代码修改,只有所示代码被审阅和接收后才能合入成为项目的一部分,常见的比如Gerrit,它是基于git版本控制系统。Gerrit旨在提供一个轻量级框架,用于在代码入库之前对每个提交进行审阅。任何开发团队都需要中心代码库。
接收开发人员的提交信息后,需要对所述提交信息进行多编译和扫描,自动触发软件编译扫描工具,对开发人员的提交信息中包括的代码进行编译和静态扫描。
进而获知该开发人员提交代码的质量,比如提交代码经过编译后存在的警告和错误出处和数量等。
同时代码审核工具,比如在Gerrit中预设hook触发机制,触发质量工具获取开发人员的提交信息,并将提交信息与从项目管理工具中获得的问题单类型和从软件编译扫描软件中获得的静态扫描结果建立关联关系。
在此之前,质量工具会验证开发人员的提交信息中问题单标识,和从项目管理工具中获得的问题单标识是否一致,如果一致,则确定开发人员的提交信息有效,则可以将开发人员的提交信息入库,并在将有效的提交信息与问题单类型和静态扫描结果建立关联之后,将其保存在质量工具的数据库中,对所述数据进行统计分析。
如果验证提交信息无效,则不保存该提交信息,即废弃该数据。
本发明提供的一种信息多维度分析的方法,通过在每次代码提交、入库、废弃以及审核时都对数据进行保存,在项目交付或任何时间节点都能对交付质量有多种维度的统计,推出一种全面直观多维度的统计方案。
图4是本发明提供的信息多维度分析的装置的结构示意图,如图4所示,该信息多维度分析的装置,应用于质量工具,包括:
接收模块401,用于接收代码审核工具发送的hook触发指令,获取提交信息;
获取模块402,用于分别向项目管理工具和软件编译扫描工具发送查询请求,获取所述提交信息对应的问题单类型和静态扫描结果;
有效模块403,用于比较从所述提交信息中获取的问题单标识,与通过查询请求从项目管理工具获取的问题单标识,确定所述提交信息的有效性;
关联保存模块404,用于将有效的所述提交信息、问题单类型和静态扫描的结果建立关联关系后,保存至数据库中,并对其进行多维度的统计分析。
可选的,有效模块403还用于:
若从所述提交信息中获取的问题单标识,与通过查询请求从项目管理工具获取的问题单标识不一致,则确定所述提交信息无效;
若从所述提交信息中获取的问题单标识,与通过查询请求从项目管理工具获取的问题单标识一致,则确定所述提交信息有效。
可选的,获取模块402还用于确定所述提交信息中存在的警告warning或者错误的数量。
可选的,所述质量工具以web UI的形式提供数据展示。
图5是本发明提供的信息多维度分析的装置的结构示意图,如图5所示,该信息多维度分析的装置,应用于代码审核工具,包括:
接收获取模块501,用于接收提交信息,并自动触发Jenkins启动代码编译和静态扫描;
触发模块502,用于通过预先设置的hook触发质量工具获取所述提交信息,所述提交信息用于与问题单类型和静态扫描的结果建立关联关系;
所述问题单类型和静态扫描结果是通过所述质量工具分别向项目管理工具和软件编译扫描工具发送查询请求获得的。
需要说明的是,本发明中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
在此需要说明的是,本发明提供的上述装置,能够实现上述方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
图6示例了一种质量工具的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(Communication Interface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。
可选的,处理器610可以是中央处理器(Central Processing Unit,CPU)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或复杂可编程逻辑器件(Complex Programmable LogicDevice,CPLD),处理器也可以采用多核架构。
处理器610可以调用存储器630中的计算机程序,以执行信息多维度分析的方法的步骤,例如包括:
S1、接收代码审核工具发送的hook触发指令,获取提交信息;
S2、分别向项目管理工具和软件编译扫描工具发送查询请求,获取所述提交信息对应的问题单类型和静态扫描结果;
S3、比较从所述提交信息中获取的问题单标识,与通过查询请求从项目管理工具获取的问题单标识,确定所述提交信息的有效性;
S4、将有效的所述提交信息、问题单类型和静态扫描的结果建立关联关系后,保存至数据库中,并对其进行多维度的统计分析。
此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
图7示例了一种代码审核工具的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)710、通信接口(Communication Interface)720、存储器(memory)730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。
可选的,处理器710可以是中央处理器(Central Processing Unit,CPU)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或复杂可编程逻辑器件(Complex Programmable LogicDevice,CPLD),处理器也可以采用多核架构。
处理器710可以调用存储器730中的计算机程序,以执行信息多维度分析的方法的步骤,例如包括:
接收提交信息,并自动触发软件编译扫描工具启动代码编译和静态扫描;
通过预先设置的hook触发质量工具获取所述提交信息,所述提交信息用于与问题单类型和静态扫描的结果建立关联关系;
所述问题单类型和静态扫描结果是通过所述质量工具分别向项目管理工具和软件编译扫描工具发送查询请求获得的。
此外,上述的存储器730中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在此需要说明的是,本发明实施例提供的电子设备,能够实现上述方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的信息多维度分析的方法的步骤,例如:
应用于质量工具,包括:
S1、接收代码审核工具发送的hook触发指令,获取提交信息;
S2、分别向项目管理工具和软件编译扫描工具发送查询请求,获取所述提交信息对应的问题单类型和静态扫描结果;
S3、比较从所述提交信息中获取的问题单标识,与通过查询请求从项目管理工具获取的问题单标识,确定所述提交信息的有效性;
S4、将有效的所述提交信息、问题单类型和静态扫描的结果建立关联关系后,保存至数据库中,并对其进行多维度的统计分析。
应用于代码审核工具,包括:
接收提交信息,并自动触发软件编译扫描工具启动代码编译和静态扫描;
通过预先设置的hook触发质量工具获取所述提交信息,所述提交信息用于与问题单类型和静态扫描的结果建立关联关系;
所述问题单类型和静态扫描结果是通过所述质量工具分别向项目管理工具和软件编译扫描工具发送查询请求获得的。
另一方面,本申请实施例还提供一种处理器可读存储介质,所述处理器可读存储介质存储有计算机程序,所述计算机程序用于使所述处理器执行上述各实施例提供的信息多维度分析的方法的步骤,例如:
应用于质量工具,包括:
S1、接收代码审核工具发送的hook触发指令,获取提交信息;
S2、分别向项目管理工具和软件编译扫描工具发送查询请求,获取所述提交信息对应的问题单类型和静态扫描结果;
S3、比较从所述提交信息中获取的问题单标识,与通过查询请求从项目管理工具获取的问题单标识,确定所述提交信息的有效性;
S4、将有效的所述提交信息、问题单类型和静态扫描的结果建立关联关系后,保存至数据库中,并对其进行多维度的统计分析。
应用于代码审核工具,包括:
接收提交信息,并自动触发软件编译扫描工具启动代码编译和静态扫描;
通过预先设置的hook触发质量工具获取所述提交信息,所述提交信息用于与问题单类型和静态扫描的结果建立关联关系;
所述问题单类型和静态扫描结果是通过所述质量工具分别向项目管理工具和软件编译扫描工具发送查询请求获得的。
所述处理器可读存储介质可以是处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NANDFLASH)、固态硬盘(SSD))等。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种信息多维度分析的方法,其特征在于,应用于质量工具,包括:
S1、接收代码审核工具Gerrit发送的hook触发指令,获取提交信息;
S2、分别向项目管理工具Jira和软件编译扫描工具Jenkins发送查询请求,获取所述提交信息对应的问题单类型和静态扫描结果;
S3、比较从所述提交信息中获取的问题单标识,与通过查询请求从项目管理工具Jira获取的问题单标识,确定所述提交信息的有效性;
S4、将有效的所述提交信息、问题单类型和静态扫描的结果建立关联关系后,保存至数据库中,并对其进行多维度的统计分析;
所述质量工具是基于代码审核工具Gerrit,项目管理工具Jira以及软件编译扫描工具Jenkins工具开发而成;
所述比较从所述提交信息中获取的问题单标识,与通过查询请求从项目管理工具Jira获取的问题单标识,确定所述提交信息的有效性,包括:
若从所述提交信息中获取的问题单标识,与通过查询请求从项目管理工具Jira获取的问题单标识不一致,则确定所述提交信息无效;
若从所述提交信息中获取的问题单标识,与通过查询请求从项目管理工具Jira获取的问题单标识一致,则确定所述提交信息有效。
2.根据权利要求1所述的信息多维度分析的方法,其特征在于,所述获取所述提交信息的静态扫描结果之后,还包括:
确定所述提交信息中存在的警告warning或者错误的数量。
3.根据权利要求1所述的信息多维度分析的方法,其特征在于,所述质量工具以web UI的形式提供数据展示。
4.一种信息多维度分析的方法,其特征在于,应用于代码审核工具Gerrit,包括:
接收提交信息,并自动触发软件编译扫描工具Jenkins启动代码编译和静态扫描;
通过预先设置的hook触发质量工具获取所述提交信息,所述提交信息用于与问题单类型和静态扫描的结果建立关联关系;
所述问题单类型和静态扫描结果是通过所述质量工具分别向项目管理工具Jira和软件编译扫描工具Jenkins发送查询请求获得的。
5.一种信息多维度分析的装置,其特征在于,应用于质量工具,包括:
接收模块,用于接收代码审核工具Gerrit发送的hook触发指令,获取提交信息;
获取模块,用于分别向项目管理工具Jira和软件编译扫描工具Jenkins发送查询请求,获取所述提交信息对应的问题单类型和静态扫描结果;
有效模块,用于比较从所述提交信息中获取的问题单标识,与通过查询请求从项目管理工具Jira获取的问题单标识,确定所述提交信息的有效性;
关联保存模块,用于将有效的所述提交信息、问题单类型和静态扫描的结果建立关联关系后,保存至数据库中,并对其进行多维度的统计分析;
所述质量工具是基于代码审核工具Gerrit,项目管理工具Jira以及软件编译扫描工具Jenkins开发而成;
所述有效模块具体用于:
若从所述提交信息中获取的问题单标识,与通过查询请求从项目管理工具Jira获取的问题单标识不一致,则确定所述提交信息无效;
若从所述提交信息中获取的问题单标识,与通过查询请求从项目管理工具Jira获取的问题单标识一致,则确定所述提交信息有效。
6.一种信息多维度分析的装置,其特征在于,应用于代码审核工具Gerrit,包括:
接收获取模块,用于接收提交信息,并自动触发软件编译扫描工具Jenkins启动代码编译和静态扫描;
触发模块,用于通过预先设置的hook触发质量工具获取所述提交信息,所述提交信息用于与问题单类型和静态扫描的结果建立关联关系;
所述问题单类型和静态扫描结果是通过所述质量工具分别向项目管理工具Jira和软件编译扫描工具Jenkins发送查询请求获得的。
7.一种质量工具,包括处理器和存储有计算机程序的存储器,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至3任一项所述信息多维度分析的方法的步骤。
8.一种代码审核工具,包括处理器和存储有计算机程序的存储器,其特征在于,所述处理器执行所述计算机程序时实现权利要求4所述信息多维度分析的方法的步骤。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至3任一项所述信息多维度分析的方法的步骤,或实现权利要求4所述信息多维度分析的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110725656.XA CN113495755B (zh) | 2021-06-29 | 2021-06-29 | 信息多维度分析的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110725656.XA CN113495755B (zh) | 2021-06-29 | 2021-06-29 | 信息多维度分析的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113495755A CN113495755A (zh) | 2021-10-12 |
CN113495755B true CN113495755B (zh) | 2023-06-09 |
Family
ID=77998124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110725656.XA Active CN113495755B (zh) | 2021-06-29 | 2021-06-29 | 信息多维度分析的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113495755B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001086372A2 (en) * | 2000-05-12 | 2001-11-15 | Xtreamlok Pty. Ltd. | Information security method and system |
CN108762803A (zh) * | 2018-04-17 | 2018-11-06 | 平安科技(深圳)有限公司 | 一种配置管理方法、装置、终端设备及存储介质 |
CN109491663A (zh) * | 2018-11-01 | 2019-03-19 | 北京车和家信息技术有限公司 | 代码审查方法及装置 |
CN109739507A (zh) * | 2018-12-28 | 2019-05-10 | 睿驰达新能源汽车科技(北京)有限公司 | 一种代码持续集成方法和代码持续交付方法 |
CN110851355A (zh) * | 2019-10-28 | 2020-02-28 | 腾讯科技(深圳)有限公司 | 前端工程的实施方法及装置、存储介质、电子设备 |
CN111309336A (zh) * | 2020-01-21 | 2020-06-19 | 浪潮软件股份有限公司 | 分布式应用的部署方法及装置 |
CN112783622A (zh) * | 2021-01-13 | 2021-05-11 | 上海百胜软件股份有限公司 | 一种基于jira系统的任务管理方法、系统、设备和存储介质 |
-
2021
- 2021-06-29 CN CN202110725656.XA patent/CN113495755B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001086372A2 (en) * | 2000-05-12 | 2001-11-15 | Xtreamlok Pty. Ltd. | Information security method and system |
CN108762803A (zh) * | 2018-04-17 | 2018-11-06 | 平安科技(深圳)有限公司 | 一种配置管理方法、装置、终端设备及存储介质 |
CN109491663A (zh) * | 2018-11-01 | 2019-03-19 | 北京车和家信息技术有限公司 | 代码审查方法及装置 |
CN109739507A (zh) * | 2018-12-28 | 2019-05-10 | 睿驰达新能源汽车科技(北京)有限公司 | 一种代码持续集成方法和代码持续交付方法 |
CN110851355A (zh) * | 2019-10-28 | 2020-02-28 | 腾讯科技(深圳)有限公司 | 前端工程的实施方法及装置、存储介质、电子设备 |
CN111309336A (zh) * | 2020-01-21 | 2020-06-19 | 浪潮软件股份有限公司 | 分布式应用的部署方法及装置 |
CN112783622A (zh) * | 2021-01-13 | 2021-05-11 | 上海百胜软件股份有限公司 | 一种基于jira系统的任务管理方法、系统、设备和存储介质 |
Non-Patent Citations (2)
Title |
---|
sriniketan mysari 等.continuous integration and continuous deployment pipeline automation using Jenkins ansible.《2020 international conference on emerging trends in information technology and engineering》.2020,1-4. * |
孙琼 等.新一代运营系统中持续交付平台的实现.《电信技术》.2017,(第03期),25-29. * |
Also Published As
Publication number | Publication date |
---|---|
CN113495755A (zh) | 2021-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9727448B1 (en) | Method and system for software application testing recommendations | |
KR102033971B1 (ko) | 데이터 품질 분석 | |
US9824002B2 (en) | Tracking of code base and defect diagnostic coupling with automated triage | |
US9038027B2 (en) | Systems and methods for identifying software performance influencers | |
US9558459B2 (en) | Dynamic selection of actions in an information technology environment | |
CN107533504A (zh) | 用于软件分发的异常分析 | |
US9378015B2 (en) | Predicting defects in code | |
US11327742B2 (en) | Affinity recommendation in software lifecycle management | |
Gallaba et al. | Noise and heterogeneity in historical build data: an empirical study of travis ci | |
CA3094320A1 (en) | Unified test automation system | |
US20160026557A1 (en) | System and method for testing software | |
US20140040871A1 (en) | Mobile build, quality and deployment manager | |
CN108776643B (zh) | 一种基于版本控制流程的目标代码合并控制方法及系统 | |
Mitropoulos et al. | The bug catalog of the maven ecosystem | |
US20170147481A1 (en) | Method and System for Generating A Test Suite | |
Kochhar et al. | An empirical study on the adequacy of testing in open source projects | |
CN113495755B (zh) | 信息多维度分析的方法及装置 | |
CN108536577B (zh) | 程序代码信息处理方法及装置 | |
CN114036054A (zh) | 代码质量评价方法、装置、设备、介质和程序产品 | |
CN115310011A (zh) | 页面展示方法、系统以及可读存储介质 | |
CN110888651A (zh) | 一种知识服务应用系统一键上线方法、系统、介质及设备 | |
CN111835566A (zh) | 一种系统故障管理方法、装置及系统 | |
CN112947948B (zh) | 应用服务的部署方法及装置 | |
US20230208744A1 (en) | Consensus driven service promotion | |
CN114860599A (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 |