一种配置管理方法、装置、终端设备及存储介质与流程

文档序号:15850259发布日期:2018-11-07 09:44阅读:171来源:国知局
一种配置管理方法、装置、终端设备及存储介质与流程

本发明涉及计算机技术领域,尤其涉及一种配置管理方法、装置、终端设备及存储介质。

背景技术

svn是subversion的简称,是一个开放源代码的集中式版本控制管理工具,用于对软件源代码的提交和管理工具。

目前,常见的svn代码管理均采用“提交代码----检测代码”的方式来控制代码质量,先将代码提交到svn代码库,再对代码库中的代码进行静态检查,发现代码中存在的问题,若存在问题则反馈给开发人员进行修改,再重新提交,覆盖问题代码。这种代码管理方式很难有效控制代码质量,是在代码提交到svn正式库之后再对问题代码进行修改,其实施过程繁琐,也会造成修改风险和开发测试的人力成本浪费,同时,在svn代码库中进行代码检测、修改和提交,尤其是大并发提交代码时,容易出现svn代码库超负荷的情况,造成svn代码库性能瓶颈,导致代码检测效率和开发效率降低。



技术实现要素:

本发明实施例提供一种配置管理方法、装置、终端设备及存储介质,以解决代码修改风险高和开发测试的人力成本浪费,代码开发效率低的问题。

第一方面,本发明实施例提供一种配置管理方法,包括客户端执行的如下步骤:

接收用户发送的代码提交申请信息,其中,所述代码提交申请信息包含待提交代码的地址标识信息、所述用户的身份标识信息和分支版本信息;

根据所述地址标识信息,获取所述待提交代码;

对所述待提交代码进行静态代码检查,得到静态代码检查报告;

对所述静态代码检查报告进行解析,按照预设的指标,提取所述静态代码检查报告中的指标结果数据;

将所述指标结果数据和所述身份标识信息发送给服务端;

向配置管理平台发送代码提交请求,其中,所述代码提交请求包含所述地址标识信息、所述身份标识信息和所述分支版本信息;

若接收到所述配置管理平台发送的包含提交结果的提示信息,则将所述提示信息反馈给所述用户。

第二方面,本发明实施例提供一种配置管理方法,包括配置管理平台执行的如下步骤:

接收客户端发送的代码提交请求,其中,所述代码提交请求包括待提交代码的地址标识信息、用户的身份标识信息和分支版本信息;

向服务端发送代码指标检测请求,以使所述服务端对所述待提交代码进行指标检测,其中,所述代码指标检测请求包含所述分支版本信息和所述身份标识信息;

接收所述服务端根据所述指标检测的结果返回的操作指令;

若所述操作指令为允许提交,则根据所述地址标识信息获取所述待提交代码,将所述待提交代码合入所述分支版本信息对应的分支版本中,并向所述客户端发送成功提交的提示信息;

若所述操作指令为拒绝提交,则向所述客户端发送拒绝提交的提示信息。

第三方面,本发明实施例提供一种配置管理方法,包括服务端执行的如下步骤:

接收客户端发送的静态代码检查报告的指标结果数据和用户的身份标识信息,并将所述指标结果数据和所述身份标识信息对应存储于指标数据库中;

若接收到配置管理平台发送的代码指标检测请求,则获取所述代码指标检测请求中的分支版本信息和所述身份标识信息;

根据所述分支版本信息,获取所述分支版本信息对应的预设的指标标准数据;

从所述指标数据库中获取所述身份标识信息对应的所述指标结果数据;

若检测到所述指标结果数据满足所述指标标准数据的要求,则生成允许提交的操作指令,否则生成拒绝提交的操作指令;

将所述操作指令发送给所述配置管理平台。

第四方面,本发明实施例提供一种配置管理装置,包括客户端,客户端包括:

申请接收模块,用于接收用户发送的代码提交申请信息,其中,所述代码提交申请信息包含待提交代码的地址标识信息、所述用户的身份标识信息和分支版本信息;

代码获取模块,用于根据所述地址标识信息,获取所述待提交代码;

代码检查模块,用于对所述待提交代码进行静态代码检查,得到静态代码检查报告;

指标提取模块,用于对所述静态代码检查报告进行解析,按照预设的指标,提取所述静态代码检查报告中的指标结果数据;

指标发送模块,用于将所述指标结果数据和所述身份标识信息发送给服务端;

请求发送模块,用于向配置管理平台发送代码提交请求,其中,所述代码提交请求包含所述地址标识信息、所述身份标识信息和所述分支版本信息;

信息反馈模块,用于若接收到所述配置管理平台发送的包含提交结果的提示信息,则将所述提示信息反馈给所述用户。

第五方面,本发明实施例提供一种配置管理装置,包括配置管理平台,配置管理平台包括:

请求接收模块,用于接收客户端发送的代码提交请求,其中,所述代码提交请求包括待提交代码的地址标识信息、用户的身份标识信息和分支版本信息;

指标检测模块,用于向服务端发送代码指标检测请求,以使所述服务端对所述待提交代码进行指标检测,其中,所述代码指标检测请求包含所述分支版本信息和所述身份标识信息;

指令接收模块,用于接收所述服务端根据所述指标检测的结果返回的操作指令;

代码提交模块,用于若所述操作指令为允许提交,则根据所述地址标识信息获取所述待提交代码,将所述待提交代码合入所述分支版本信息对应的分支版本中,并向所述客户端发送成功提交的提示信息;

信息发送模块,用于若所述操作指令为拒绝提交,则向所述客户端发送拒绝提交的提示信息。

第六方面,本发明实施例提供一种配置管理装置,包括服务端,服务端包括:

指标接收模块,用于接收客户端发送的静态代码检查报告的指标结果数据和用户的身份标识信息,并将所述指标结果数据和所述身份标识信息对应存储于指标数据库中;

信息获取模块,用于若接收到配置管理平台发送的代码指标检测请求,则获取所述代码指标检测请求中的分支版本信息和所述身份标识信息;

数据获取模块,用于根据所述分支版本信息,获取所述分支版本信息对应的预设的指标标准数据;

指标获取模块,用于从所述指标数据库中获取所述身份标识信息对应的所述指标结果数据;

指令生成模块,用于若检测到所述指标结果数据满足所述指标标准数据的要求,则生成允许提交的操作指令,否则生成拒绝提交的操作指令;

指令发送模块,用于将所述操作指令发送给所述配置管理平台。

第七方面,本发明实施例提供一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述配置管理方法的步骤。

第八方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述配置管理方法的步骤。

本发明实施例提供的配置管理方法、装置、终端设备及存储介质中,当客户端接收到用户发送的代码提交申请时,在向配置管理平台发送代码提交请求之前,先在客户端使用代码检测工具对代码进行静态检查,实现了在正式提交源代码之前,自动进行静态代码检查,快速获取检查结果,配置管理平台在接收到客户端发送的代码提交请求后,要求服务端对检查结果进行指标检测,只有当指标检测通过时才允许提交代码,从而将错误代码及时暴露在提交到降低配置管理平台svn代码库之前,避免安全隐患,保证代码质量,有效降低svn代码库中的代码风险,降低代码的修改成本,节省了人工对代码审核时间,提高代码开发效率,同时,在客户端完成静态代码检查,并且在服务端完成代码指标检测,实现了将配置管理平台的开销分摊到了各个客户端和服务端来完成,从而降低配置管理平台的负荷,尤其是当用户较多,出现大并发代码提交到配置管理平台的情况时,能够有效避免配置管理平台的性能瓶颈,提高配置管理平台的性能水平,提高系统运行过程中的性能及系统的可扩展性,进一步提高代码开发效率。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例1中提供的配置管理方法中配置管理系统的网络结构示意图;

图2是本发明实施例1中提供的配置管理方法的实现流程图;

图3是本发明实施例1中提供的配置管理方法的一个具体的静态代码检查结果的示例图;

图4是本发明实施例1中提供的配置管理方法中客户端的特批权限的申请的实现流程图;

图5是本发明实施例1中提供的配置管理方法中步骤s117的实现流程图;

图6是本发明实施例2中提供的配置管理装置的示意图;

图7是本发明实施例4中提供的终端设备的示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1

本发明实施例的配置管理方法应用于配置管理系统中。如图1所示,图1为配置管理系统的网络结构示意图,该配置管理系统包括客户端、配置管理平台和服务端。

客户端具体可以是个人计算机(personalcomputer,pc)或其他智能终端设备,服务端具体可以是一台服务器,或者由若干服务器组成的服务器集群,还可以是一个云计算服务中心。

客户端与配置管理平台之间,客户端与服务端之间,以及配置管理平台与服务端之间均通过网络传播介质进行连接,具体网络传播介质可以是有线或无线等。

本发明实施例中的配置管理方法具体包括客户端执行的如下步骤:

接收用户发送的代码提交申请信息,其中,所述代码提交申请信息包含待提交代码的地址标识信息、所述用户的身份标识信息和分支版本信息;

根据所述地址标识信息,获取所述待提交代码;

对所述待提交代码进行静态代码检查,得到静态代码检查报告;

对所述静态代码检查报告进行解析,按照预设的指标,提取所述静态代码检查报告中的指标结果数据;

将所述指标结果数据和所述身份标识信息发送给服务端;

向配置管理平台发送代码提交请求,其中,所述代码提交请求包含所述地址标识信息、所述身份标识信息和所述分支版本信息;

若接收到所述配置管理平台发送的包含提交结果的提示信息,则将所述提示信息反馈给所述用户。

本发明实施例中的配置管理方法具体包括配置管理平台执行的如下步骤:

接收客户端发送的代码提交请求,其中,所述代码提交请求包括待提交代码的地址标识信息、用户的身份标识信息和分支版本信息;

向服务端发送代码指标检测请求,以使所述服务端对所述待提交代码进行指标检测,其中,所述代码指标检测请求包含所述分支版本信息和所述身份标识信息;

接收所述服务端根据所述指标检测的结果返回的操作指令;

若所述操作指令为允许提交,则根据所述地址标识信息获取所述待提交代码,将所述待提交代码合入所述分支版本信息对应的分支版本中,并向所述客户端发送成功提交的提示信息;

若所述操作指令为拒绝提交,则向所述客户端发送拒绝提交的提示信息。

本发明实施例中的配置管理方法具体还包括服务端执行的如下步骤:

接收客户端发送的静态代码检查报告的指标结果数据和用户的身份标识信息,并将所述指标结果数据和所述身份标识信息对应存储于指标数据库中;

若接收到配置管理平台发送的代码指标检测请求,则获取所述代码指标检测请求中的分支版本信息和所述身份标识信息;

根据所述分支版本信息,获取所述分支版本信息对应的预设的指标标准数据;

从所述指标数据库中获取所述身份标识信息对应的所述指标结果数据;

若检测到所述指标结果数据满足所述指标标准数据的要求,则生成允许提交的操作指令,否则生成拒绝提交的操作指令;

将所述操作指令发送给所述配置管理平台。

请参阅图2,图2示出了本实施例提供的配置管理方法的实现流程。详述如下:

s101:客户端接收用户发送的代码提交申请信息,其中,该代码提交申请信息包含待提交代码的地址标识信息、用户的身份标识信息和分支版本信息。

在本发明实施例中,地址标识信息用于提取待提交的代码,身份标识信息用于唯一标记客户端的用户,分支版本信息用于标记待提交代码的版本信息。

需要说明的是,地址标识信息可以是待提交代码的存储路径,比如“d:\workspace\demo_svn”,也可以是其他形式,在此不做限制。

身份标识信息具体可以是注册的用户名或其他形式,在此不做限制。

s102:客户端根据地址标识信息,获取待提交代码。

在本发明实施例中,待提交代码是用户申请提交到配置管理平台的代码。

具体地,客户端根据步骤s101中的地址标识信息,找到与该地址标识信息对应的待提交代码的位置,对待提交代码进行获取。

s103:客户端对待提交代码进行静态代码检查,得到静态代码检查报告。

在本发明实施例中,静态代码检查是指根据实际应用需求,对待提交代码按照预设的检查指标进行检查。静态代码检查报告是对待提交代码进行静态代码检查得出的检查结果报告。

其中,预设的检查指标是根据实际业务需求,对待提交代码进行静态代码检查时配置的检查指标,包括单元测试、代码规范性检查、覆盖率和圈复杂度等检查指标。

需要说明的是,静态代码检查采用的检查方式可以是采用eclipse插件平台检查或其他插件集检查,此处不做限制。

优选地,采用eclipse插件对待提交代码进行静态代码检查。

其中,eclipse插件是一个开放源代码的、基于java的可扩展开发平台,就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境,eclipse插件附带了一个标准的插件集,可以实现对代码进行多个检查指标的检查,其检查指标包括单元测试(junittest)、代码bug检查(findbugs)、代码规范性检查(checksytle)、覆盖率(coverage)和圈复杂度(complexity)等。

具体地,客户端采用eclipse插件对步骤s102中得到的待提交代码,按照预设的检查指标进行静态代码检查,得到每个检查指标下的静态代码检查报告,通过对待提交代码的静态代码检查,实现了对代码质量的衡量、检测代码存在的隐患和错误,使得用户能够根据检查结果及时修改错误代码和不符合规范要求的代码,得到有效合格的代码。

例如,如图3所示,图3显示了对“d:\workspace\demo_svn”目录下的待提交代码,按照检查指标“覆盖率”和“代码bug检查”进行静态代码检查的检查报告,用户可以通过点击“详情展示”查看完整的静态代码扫描报告。

s104:客户端对静态代码检查报告进行解析,按照预设的指标,提取该静态代码检查报告中的指标结果数据。

在本发明实施例中,客户端对静态代码检查报告进行解析可以是采用eclipse插件会抓取静态代码检查报告,解析静态代码检查报告的内容,也可以采用其他插件集进行解析,在此不做限制。

预设的指标是根据实际应用需要进行设定的用于提取静态代码检查报告的内容中的指标结果数据,该指标包括单元测试junit失败个数、代码中文件流未关闭的错误代码、不符合管理员配置的代码质量sonar规范的坏味道代码和是否符合预设的代码书写风格要求等,其中,预设的代码书写风格要求可以是大括号是否换行或其他格式要求,在此不做限制。

指标结果数据是对静态代码检查报告的内容按照预设的指标,提取到的数据。

具体地,客户端对步骤s103中得到的静态代码检查报告,采用eclipse插件进行报告内容的解析,按照预设的指标,提取静态代码检查报告中的指标结果数据。

s105:客户端将指标结果数据和身份标识信息发送给服务端。

具体地,客户端将步骤s104中得到待提交代码的指标结果数据和待提交代码对应的用户的身份标识信息发送给服务端,可以通过实时消息传输协议(realtimemessagingprotocol,rtmp)进行传输。

s106:服务端接收客户端发送的静态代码检查报告的指标结果数据和用户的身份标识信息,并将指标结果数据和身份标识信息对应存储于指标数据库中。

在本发明实施例中,指标数据库是用于存放服务端接收到的客户端发送的静态代码检查报告的指标结果数据和用户的身份标识信息。

需要说明的是,指标数据库中待提交代码的指标结果数据和待提交代码对应的用户的身份标识信息是唯一对应存储在的。

具体地,服务端通过rtmp协议接收客户端发送的静态代码检查报告的指标结果数据和用户的身份标识信息。

s107:客户端向配置管理平台发送代码提交请求,其中,该代码提交请求包含地址标识信息、身份标识信息和分支版本信息。

具体地,客户端通过rtmp协议向配置管理平台发送代码提交请求。

s108:配置管理平台接收客户端发送的代码提交请求,其中,该代码提交请求包括待提交代码的地址标识信息、用户的身份标识信息和分支版本信息。

具体地,配置管理平台通过rtmp协议接收客户端发送的代码提交请求。

s109:配置管理平台向服务端发送代码指标检测请求,以使服务端对待提交代码进行指标检测,其中,代码指标检测请求包含分支版本信息和身份标识信息。

具体地,配置管理平台可以通过钩子函数hook的方式向服务端发送代码指标检测请求。

其中,配置管理平台的钩子函数hook是在接收到客户端发送的代码提交请求时触发的一段逻辑,默认是无任何执行内容,用户可以根据应用需求写入shell脚本或者批处理bat脚本,通过该脚本向服务端的接口发出代码指标检测请求。

需要说明的是,配置管理平台还可以通过交互消息的方式向服务端发送代码指标检测请求,具体可以根据实际应用的需要进行设置,在此不做限制。

s110:若服务端接收到配置管理平台发送的代码指标检测请求,则服务端获取该代码指标检测请求中的分支版本信息和身份标识信息。

具体地,服务端通过rtmp协议接收到配置管理平台发送的代码指标检测请求。

s111:服务端根据分支版本信息,获取该分支版本信息对应的预设的指标标准数据。

在本发明实施例中,预设的指标标准数据是根据实际业务需求设置的检测标准,用于对指标结果数据进行指标检测,该预设的指标标准数据包括代码检测指标和该代码检测指标对应的目标值。

s112:服务端从指标数据库中获取身份标识信息对应的指标结果数据。

具体地,服务端根据步骤s110中接收到的代码指标检测请求,从指标数据库中,获取身份标识信息唯一对应的指标结果数据,其中,指标结果数据包括步骤s104中的预设的指标和该指标对应的数值。

s113:若服务端检测到指标结果数据满足指标标准数据的要求,则生成允许提交的操作指令,否则生成拒绝提交的操作指令。

具体地,根据步骤s111中得到指标标准数据,对步骤s112中得到的指标结果数据进行指标检测,其中,指标检测是指检测指标结果数据中的预设的指标与按照指标标准数据中的代码检测指标有相同指标,将相同指标下的预设指标对应的数值和代码检测指标对应的数值进行比对,若比对结果为满足指标要求,则生成允许提交的操作指令,否则生成拒绝提交的操作指令。

例如,假设预先配置的代码检测指标包括覆盖率和单元测试,目标值具体为覆盖率达到80%,单元测试失败个数小于3个,若指标结果数据中实际覆盖率为70%,并且单元测试实际失败个数为2个,则服务端确认实际覆盖率未达到目标覆盖率的要求,指标检测的结果为指标结果数据不满足指标标准数据的要求,对应生成拒绝提交的操作指令,若指标数据中实际覆盖率为86%,并且单元测试实际失败个数为2个,则服务端确认指标检测的结果为指标结果数据满足指标标准数据的要求,对应生成允许提交的操作指令。

s114:服务端将操作指令发送给配置管理平台。

具体地,服务端可以通过套接字(socket)进程通信将操作指令发送给配置管理平台。

需要说明的是,当服务端向配置管理平台发送允许提交的操作指令后,服务端将保存在指标数据库中的指标结果数据和用户的身份标识信息置为无效,以确保每次代码提交时指标数据库中保存的指标结果数据和用户的身份标识信息为当次待提交代码对应的信息。

s115:配置管理平台接收服务端根据指标检测的结果返回的操作指令。

具体地,配置管理平台可以通过socket进程通信接收服务端根据指标检测的结果返回的操作指令,其中,该操作指令包括允许提交和拒绝提交。

s116:若配置管理平台接收的操作指令为允许提交,则配置管理平台根据地址标识信息获取待提交代码,将该待提交代码合入分支版本信息对应的分支版本中,并向客户端发送成功提交的提示信息。

具体地,操作指令为允许提交时,配置管理平台根据步骤s108中的地址标识信息获取待提交代码,从而根据待提交代码的分支版本信息,将该待提交代码合入分支版本信息对应的分支版本中,并向客户端发送成功提交的提示信息。

其中,成功提交的提示信息包括成功提交的代码对应的身份标识信息和成功提交代码的时间等。

s117:若配置管理平台接收的操作指令为拒绝提交,则配置管理平台向客户端发送拒绝提交的提示信息。

在本发明实施例中,拒绝提交的提示信息包括被拒绝提交的代码对应的身份标识信息、拒绝提交代码的时间和拒绝提交代码的原因等,比如,拒绝提交代码的原因可以是“fail-cph006-emma”,代表单元测试的覆盖率不符合要求。

s118:若客户端接收到配置管理平台发送的包含提交结果的提示信息,则客户端将该提示信息反馈给用户。

具体地,若客户端接收到配置管理平台发送的提示信息为成功提交,则根据提示信息中成功提交的代码对应的身份标识信息,找到对应的用户,将该提示信息反馈给该用户。

若客户端接收到配置管理平台发送的提示信息为拒绝提交,则根据提示信息中被拒绝提交的代码对应的身份标识信息,找到对应的用户,将该提示信息反馈给该用户。

在图2对应的实施例中,当客户端接收到用户发送的代码提交申请时,在向配置管理平台发送代码提交请求之前,先在客户端使用代码检测工具对代码进行静态检查,是在正式提交源代码之前,系统可以自动进行静态代码检查,快速获取检查报告和检查结果,配置管理平台在接收到客户端发送的代码提交请求后,要求服务端对检查结果进行指标检测,只有当指标检测通过时才允许提交代码,实现了对代码质量的衡量,可以检测出代码存在的隐患和错误,使得用户能够根据检查结果及时修改错误代码和不符合规范要求的代码,得到有效合格的代码,从而降低配置管理平台svn代码库中的代码风险,降低代码上传到配置管理平台正式库之后的修改成本,节省了人工对代码审核的时间,提高代码开发效率,同时,在客户端完成静态代码检查,并且在服务端完成代码指标检测,实现了将配置管理平台的开销分摊到了各个客户端和服务端来完成,从而降低配置管理平台的负荷,尤其是当用户较多,出现大并发代码提交到配置管理平台的情况时,能够有效避免配置管理平台的性能瓶颈,提高配置管理平台的性能水平,提高系统运行过程中的性能及系统的可扩展性,进一步提高代码开发效率。

接下来,在图2对应的实施例的基础之上,在步骤s101提及的接收用户发送的代码提交申请信息之后,客户端还包括对用户的特批权限申请的处理过程。

在本发明实施例中,代码提交申请信息还包括用户的特批申请标识,特批申请标识是用于给待提交代码申请特批权限的标识信息。

其中,特批权限是指是在代码提交配置管理平台svn代码库之前,用于待提交代码被拒绝提交时,可以不考虑检测结果,允许代码提交,直接合入分支版本号,满足实际应用所需,提高代码的可用性。

请参阅图4,图4示出了本发明实施例提供的客户端对用户的特批权限申请的处理具体实现流程,详述如下:

s401:客户端根据特批申请标识,向预设的审批员发送特批权限申请。

在本发明实施例中,预设的审批员是预先设置的设置特批权限的工作人员,审批员接收到特批权限申请,会根据审批条件,对特批申请标识对应的待提交代码进行特批权限的审批,其中,审批条件为根据实际应用和业务需要进行设定的。

具体地,当客户端接收到特批申请标识时,则确认待提交代码需要进行特批申请,则将用户的身份标识信息和分支版本信息发送预设的审批员进行特批权限申请。

其中,发送方式可以是邮件,即时消息等,在此不做限制。

s402:若客户端接收到审批员返回的审批结果为特批申请成功,则客户端将用户的特批权限标识信息和用户的身份标识信息发送给配置管理平台,以使配置管理平台将特批权限标识信息与身份标识信息对应保存在权限数据库中。

在本发明实施例中,权限数据库是用于存放配置管理平台接收到客户端发送的用户的特批权限标识信息与用户的身份标识信息。

其中,特批权限标识信息包括允许待提交代码直接合入的分支版本信息。

具体地,根据步骤s401中的向审批员发送特批权限申请,审批员对特批申请标识进行审批,满足审批条件需要的,则审批结果为特批申请成功,并将该审批结果返回给客户端。

客户端根据该审批结果,生成与特批申请标识对应的特批权限标识信息,该特批权限标识信息用于标识用户对待提交代码对应的分支版本是否有直接合入的权限,该特批权限标识信息具体可以为待提交代码对应的分支版本的分支版本信息。

客户端将该特批权限标识信息和用户的身份标识信息发送给配置管理平台,以使配置管理平台将特批权限标识信息与身份标识信息对应保存在权限数据库中。

在图4对应的实施例中,客户端根据特批申请标识,向预设的审批员发送特批权限申请,并将申请成功的特批权限标识信息和用户的身份标识信息发送给配置管理平台,可以使得配置管理平台将特批权限标识信息与身份标识信息对应保存在权限数据库中,便于后续待提交代码被拒绝提交时,存在特批权限标识信息的条件下,可以不考虑检测结果,允许代码提交,直接合入分支版本中,满足实际应用所需,提高代码的可用性。

在图2对应的实施例的基础之上,下面通过一个具体的实施例来对步骤s117中所提及的若配置管理平台接收的操作指令为拒绝提交,则配置管理平台向客户端发送拒绝提交的提示信息的具体实现方法进行详细说明。

请参阅图5,图5示出了本发明实施例提供的步骤s117的具体实现流程,详述如下:

s501:当配置管理平台接收的操作指令为拒绝提交时,配置管理平台从权限数据库中查询用户的身份标识信息对应的特批权限标识信息。

具体地,当配置管理平台接收的操作指令为拒绝提交时,配置管理平台先从权限数据库中确认是否存在待提交代码对应的身份标识信息,若存在,则继续查询权限数据库中与该身份标识信息对应的特批权限标识信息是否不为空。

s502:若配置管理平台在权限数据库中查询到身份标识信息对应的特批权限标识信息不为空,则配置管理平台根据地址标识信息获取待提交代码,将该待提交代码合入分支版本信息对应的分支版本中,并向客户端发送特批权限成功提交的提示信息。

具体地,配置管理平台在权限数据库中查询身份标识信息对应的特批权限标识信息,若查询到该特批权限标识信息不为空,则获取该特批权限标识信息保存的允许直接合入的分支版本信息,若该允许直接合入的分支版本信息与当前待合入的分支版本信息相同,则根据步骤s108中的地址标识信息获取待提交代码,根据待提交代码对应的分支版本信息,将该待提交代码合入分支版本信息对应的分支版本中,并通过rtmp协议向客户端发送特批权限成功提交的提示信息。

其中,特批权限成功提交的提示信息包括特批权限标识信息对应的身份标识信息、特批权限信息和成功提交代码的时间等。

需要说明的是,当配置管理平台向客户端发送特批权限成功提交的提示信息后,配置管理平台将保存在权限数据库中的该身份标识信息对应的特批权限标识信息置为无效,以确保每次代码提交时权限数据库中保存的特批权限标识信息为当次待提交代码对应的权限信息。

s503:若配置管理平台在权限数据库中未查询到身份标识信息,或者查询到身份标识信息对应的特批权限标识信息为空,则配置管理平台向客户端发送拒绝提交的提示信息。

具体地,未查询到待提交代码对应的身份标识信息,或者在权限数据库中不存在与该身份标识信息对应的特批权限标识信息,则拒绝该待提交代码的提交,配置管理平台通过rtmp协议向客户端发送拒绝提交的提示信息。

在图5对应的实施例中,当配置管理平台接收的操作指令为拒绝提交时,通过从权限数据库中查询用户的身份标识信息对应的特批权限标识信息,对特批权限标识信息不为空的,获取该特批权限标识信息保存的允许直接合入的分支版本信息,若该允许直接合入的分支版本信息与当前待合入的分支版本信息相同,则该待提交代码合入分支版本信息对应的分支版本中,完成代码提交,同时,对不存在身份标识信息或特批权限标识信息为空的待提交代码则拒绝提交,实现了在实际应用需要的条件下,代码瑕疵可接受的范围内,可以不考虑检测结果,允许代码的提交和使用,提升了代码的可用性和实用性,从而促进代码的开发效率的提高。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

实施例2

对应于实施例1中的配置管理方法,图6示出了与实施例1提供的配置管理方法一一对应的配置管理装置,该配置管理装置包括客户端、配置管理平台和服务端。为了便于说明,仅示出了与本发明实施例相关的部分。

如图6所示,该配置管理装置的客户端包括:申请接收模块601、代码获取模块602、代码检查模块603、指标提取模块604、指标发送模块605、请求发送模块606和信息反馈模块607。各功能模块详细说明如下:

申请接收模块601,用于接收用户发送的代码提交申请信息,其中,代码提交申请信息包含待提交代码的地址标识信息、用户的身份标识信息和分支版本信息;

代码获取模块602,用于根据地址标识信息,获取待提交代码;

代码检查模块603,用于对待提交代码进行静态代码检查,得到静态代码检查报告;

指标提取模块604,用于对静态代码检查报告进行解析,按照预设的指标,提取静态代码检查报告中的指标结果数据;

指标发送模块605,用于将指标结果数据和身份标识信息发送给服务端;

请求发送模块606,用于向配置管理平台发送代码提交请求,其中,代码提交请求包含地址标识信息、身份标识信息和分支版本信息;

信息反馈模块607,用于若接收到配置管理平台发送的包含提交结果的提示信息,则将提示信息反馈给用户。

进一步地,代码提交申请信息还包括用户的特批申请标识,该配置管理装置的客户端还包括:

权限申请模块619,用于根据特批申请标识,向预设的审批员发送特批权限申请;

权限发送模块620,用于若接收到审批员返回的审批结果为特批申请成功,则将用户的特批权限标识信息和用户的身份标识信息发送给配置管理平台,以使配置管理平台将特批权限标识信息与身份标识信息对应保存在权限数据库中。

请继续参阅图6,如图6所示,该配置管理装置的配置管理平台包括:请求接收模块608、指标检测模块609、指令接收模块610、代码提交模块611和信息发送模块612。各功能模块详细说明如下:

请求接收模块608,用于接收客户端发送的代码提交请求,其中,代码提交请求包括待提交代码的地址标识信息、用户的身份标识信息和分支版本信息;

指标检测模块609,用于向服务端发送代码指标检测请求,以使服务端对待提交代码进行指标检测,其中,代码指标检测请求包含分支版本信息和身份标识信息;

指令接收模块610,用于接收服务端根据指标检测的结果返回的操作指令;

代码提交模块611,用于若操作指令为允许提交,则根据地址标识信息获取待提交代码,将待提交代码合入分支版本信息对应的分支版本中,并向客户端发送成功提交的提示信息;

信息发送模块612,用于若操作指令为拒绝提交,则向客户端发送拒绝提交的提示信息。

进一步地,信息发送模块612包括:

权限查询单元6121,用于当操作指令为拒绝提交时,从权限数据库中查询用户的身份标识信息对应的特批权限标识信息;

代码提交单元6122,用于若在权限数据库中查询到身份标识信息对应的特批权限标识信息不为空,则根据地址标识信息获取待提交代码,将待提交代码合入分支版本信息对应的分支版本中,并向客户端发送特批权限成功提交的提示信息;

信息发送单元6123,用于若在权限数据库中未查询到身份标识信息,或者查询到身份标识信息对应的特批权限标识信息为空,则向客户端发送拒绝提交的提示信息。

请继续参阅图6,如图6所示,该配置管理装置的服务端包括:指标接收模块613、信息获取模块614、数据获取模块615、指标获取模块616、指令生成模块617和指令发送模块618。各功能模块详细说明如下:

指标接收模块613,用于接收客户端发送的静态代码检查报告的指标结果数据和用户的身份标识信息,并将指标结果数据和身份标识信息对应存储于指标数据库中;

信息获取模块614,用于若接收到配置管理平台发送的代码指标检测请求,则获取代码指标检测请求中的分支版本信息和身份标识信息;

数据获取模块615,用于根据分支版本信息,获取分支版本信息对应的预设的指标标准数据;

指标获取模块616,用于从指标数据库中获取身份标识信息对应的指标结果数据;

指令生成模块617,用于若检测到指标结果数据满足指标标准数据的要求,则生成允许提交的操作指令,否则生成拒绝提交的操作指令;

指令发送模块618,用于将操作指令发送给配置管理平台。

本实施例提供的一种配置管理装置中各模块实现各自功能的过程,具体可参考前述实施例1的描述,此处不再赘述。

实施例3

本实施例提供一计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现实施例1中配置管理方法,或者,该计算机程序被处理器执行时实现实施例2中配置管理装置中各模块/单元的功能。为避免重复,这里不再赘述。

可以理解地,所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、电载波信号和电信信号等。

实施例4

图7是本发明一实施例提供的终端设备的示意图。如图7所示,该实施例的终端设备70包括:处理器71、存储器72以及存储在存储器72中并可在处理器71上运行的计算机程序73,例如配置管理方法的程序。处理器71执行计算机程序73时实现上述各个配置管理方法实施例中的步骤,例如图1所示的步骤s101至步骤s118。或者,处理器71执行计算机程序73时实现上述各装置实施例中各模块/单元的功能,例如图7所示客户端的模块601至模块607的功能,配置管理平台的模块608至模块612的功能,以及服务端的模块613至模块618的功能。

示例性的,计算机程序73可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器72中,并由处理器71执行,以完成本发明。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序73在终端设备70中的执行过程。例如,计算机程序73可以被分割成申请接收模块、代码获取模块、代码检查模块、指标提取模块、指标发送模块、请求发送模块和信息反馈模块。各模块的具体功能如实施例2所示,为避免重复,此处不一一赘述。

计算机程序73还可以被分割成请求接收模块、指标检测模块、指令接收模块、代码提交模块和信息发送模块。各模块的具体功能如实施例2所示,为避免重复,此处不一一赘述。

计算机程序73还可以被分割成指标接收模块、信息获取模块、数据获取模块、指标获取模块、指令生成模块和指令发送模块。各模块的具体功能如实施例2所示,为避免重复,此处不一一赘述。

终端设备70可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。终端设备70可包括,但不仅限于,处理器71、存储器72。本领域技术人员可以理解,图7仅仅是终端设备70的示例,并不构成对终端设备70的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如终端设备70还可以包括输入输出设备、网络接入设备、总线等。

所称处理器71可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器72可以是终端设备70的内部存储单元,例如终端设备70的硬盘或内存。存储器72也可以是终端设备70的外部存储设备,例如终端设备70上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,存储器72还可以既包括终端设备70的内部存储单元也包括外部存储设备。存储器72用于存储计算机程序以及终端设备70所需的其他程序和数据。存储器72还可以用于暂时地存储已经输出或者将要输出的数据。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

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