发明内容
为此,根据本公开的实施例,提供了一种上线行为风险评估的方案。
在本公开的第一方面,提供了一种上线行为风险评估方法,包括:
获取所述上线行为的一个或多个特征;
将所述特征输入预先生成的风险评估模型,所述风险评估模型包括采取多目标子群发现算法训练得到的多个规则;
获取所述风险评估模型按照所述多个规则分别计算出的多个结果值;
根据所述多个结果值计算得到所述上线行为的风险值。
在一些实施例中,所述风险评估模型按照以下步骤生成:
获取历史上线行为的特征样本集;
根据所述特征样本集,采取多目标子群发现算法训练得到多个规则;
根据规则质量对所述多个规则进行筛选;
将筛选后的多个规则组成规则库,生成所述风险评估模型。
在一些实施例中,所述根据规则质量对所述多个规则进行筛选包括:
评定所述多个规则的规则质量;
根据所述规则质量计算所述多个规则中每个规则的权重;
将所述每个规则的权重与预设质量阈值比较,筛选得到权重大于预设质量阈值的多个规则。
在一些实施例中,所述规则质量包括规则的准确度Acc(R)和覆盖率Cov(R)。
在一些实施例中,按照下式计算所述多个规则中每个规则的权重:
其中,Fitness(R)表示规则R的权重,w1是覆盖率Cov(R)的权重,w2是准确度Acc(R)的权重。
在一些实施例中,按照下式计算得到所述上线行为的风险值:
其中,X为风险值,Yi是第i个规则的结果值,αi为第i个规则的权重,n为规则的数量。
在一些实施例中,方法还包括:
将所述风险值与预设的风险阈值相比较,得到风险评价结果;
根据所述风险评价结果控制所述上线行为。
在一些实施例中,方法还包括:
在所述上线行为的操作界面上展示所述风险评估模型中的多个规则的规则描述。
在本公开的第二方面,提供了一种上线行为风险评估装置,包括:
特征获取模块,用于获取所述上线行为的一个或多个特征;
特征输入模块,用于将所述特征输入预先生成的风险评估模型,所述风险评估模型包括采取多目标子群发现算法训练得到的多个规则;
结果获取模块,用于获取所述风险评估模型按照所述多个规则分别计算出的多个结果值;
计算模块,用于根据所述多个结果值计算得到所述上线行为的风险值。
在本公开的第三方面,提供了一种电子设备。该电子设备包括:存储器和一个或多个处理器,所述存储器上存储有一个或多个计算机程序,所述处理器执行所述程序时实现如以上所述的方法。
在本公开的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如以上所述的方法。
本公开的实施例提供的上线行为风险评估方法、装置、设备和可读存储介质,利用多目标子群发现算法生成风险评估模型,基于风险评估模型对上线行为进行风险评估,从而能够准确、高效地对上线行为进行风险评估和控制,提高了软件迭代更新效率,优化了用户体验;而且,通过采用多目标子群发现算法来生成风险评估模型,训练得到的规则具备高的准确性和可解释性,从而可以生成和展示规则描述,为上线行为操作人员提供直观可视化的知识。
应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本公开保护的范围。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
不同的上线行为对于服务具有不同的影响,其风险性存在差异,而一些风险小的上线可以不受封线影响。同时,从历史的上线事故中,可以总结一些可借鉴的经验,训练生成风险评估模型,后面上线的时候就可以尽量规避历史出现的风险。基于此,本公开提出了一种上线行为风险评估方法和设备。
图1示出了能够在其中实现本公开的实施例的示例性运行环境100的示意图。在运行环境100中包括终端设备101、102、103,网络104,服务器105和后台计算设备106。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
终端设备101、102、103上安装有客户端应用,服务器105提供所述应用的服务器端,终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。后台计算设备106与服务器105通过有线或无线的内部链路连接,操作人员使用后台计算设备106以执行上线行为,即将应用的新代码上传至服务器105,从而实现应用的迭代更新。
终端设备101、102、103和后台计算设备106包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等。
需要说明的是,本公开实施例所提供的上线行为风险评估模型生成方法、风险评估方法一般由服务器105执行,相应地,风险评估设备一般设置于服务器105中。可选地,上线行为风险评估模型生成方法、风险评估方法的全部或一部分也可以由后台计算设备106执行,相应地,风险评估设备的全部或一部分设置于后台计算设备106中。
应该理解,图1中的终端设备、网络、服务器和后台计算设备的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
图2示出了根据本公开的实施例的上线行为风险评估方法的流程200,包括以下步骤:
S201获取所述上线行为的一个或多个特征。
其中,所述上线行为的特征包括上线时段、上线功能、代码是否review、服务流量等。该步骤可以由操作者人工提取,例如根据待操作的上线行为,从预先设置的多个特征标签中搜索和/或选择相应的特征,也可以由系统根据待操作的上线行为自动提取,例如当前操作的时间段。
S202将所述特征输入预先生成的风险评估模型,所述风险评估模型包括采取多目标子群发现算法训练得到的多个规则。
其中,子群发现是一种新兴的数据挖掘技术,用于提取数据中的有效信息,其获取的知识通常以规则的形式表示,称之为子群。所述多目标子群发现算法是指基于多目标进化的子群发现算法,例如NMEEF-SD。通过该算法,能够得到一系列规则以解释所归纳的知识。在下文中将参照图3描述风险评估模型的生成步骤。
S203获取所述风险评估模型按照所述多个规则分别计算出的多个结果值。
其中,对于所述上线行为的特征,风险评估模型按照多个规则分别进行计算,每个规则得到一个对应的结果值。例如符合规则,则结果值为1,不符合规则,则结果值为0。
S204根据所述多个结果值计算得到所述上线行为的风险值。
其中,对于不同规则得到的多个结果值进行加权求和得到风险值,加权求和中的权重是所述规则的权重。具体地,按照下式计算得到所述上线行为的风险值:
其中,X为风险值,Yi是第i个规则的结果值,αi为第i个规则的权重,n为规则的数量。
可选地,在步骤S204之后,上述风险评估方法还包括:
将所述风险值与预设的风险阈值相比较,得到风险评价结果;根据所述风险评价结果控制所述上线行为。
其中,所述风险阈值可以根据经验设定,且可以为多个以区分多种评价结果。可选地,所述评价结果包括风险等级,例如:
大于第一风险阈值,则风险等级为高;
小于等于第一风险阈值,大于第二风险阈值,则风险等级为中;
小于第二风险阈值,则风险等级为低。
进一步地,对于不同风险等级的上线行为执行不同的控制,例如对于风险等级低的上线行为,可以直接上线;对于风险等级为中的上线行为,则在非高峰时段(例如凌晨0-7点、上午9点-11点)上线和/或由专员操作;对于风险等级为高的上线行为,则在特殊时段(例如凌晨3-5点)和/或经特殊流程审批等。
本公开的上述实施例基于风险评估模型对上线行为进行风险评估,能够准确、高效地对上线行为进行风险评估和控制,提高了软件迭代更新效率,优化了用户体验。
图3示出了根据本公开的实施例的生成上线行为风险评估模型的流程300,包括以下步骤:
S301、获取历史上线行为的特征样本集。
在本实施例中,所述特征样本集可以由人工从历史上线行为中进行选取,或者使用神经网络等机器学习方式对历史上线行为识别得到。历史上线行为的特征包括上线时段、上线功能、代码是否review、服务流量、历史事故分布等。
S302、根据所述特征样本集,采取多目标子群发现算法训练得到多个规则。
其中,由训练机根据所选取的特征样本集,采取多目标子群发现算法训练得到多个可预测且可描述的规则。
可选地,一个规则示例如下:
规则表达式为:
if(time=afternoon and review=no)
then risk=high level
该规则表示若上线时段为下午,代码未review,则风险较高。
S303、根据规则质量对所述多个规则进行筛选;
其中,首先由测试机根据历史行为评定所述多个规则中每一个规则的规则质量,所述规则质量包括规则的准确度和覆盖率。所述准确度也称准确率,代表根据规则计算的结论的正确性,即模型判断正确的数据(TP+TN)占总数据的比例,规则R的准确度表示为:其中,FP:假正例,FN:假负例,TP:真正例,TN:真负例。
所述覆盖率代表该规则的描述性,也即该条规则所涵盖的行为范围,描述性越强,覆盖率越高,规则R覆盖率表示为 其中,Class为目标属性值,表示规则描述的群体类别,称为规则后件,Cond由(变量-值)构成,描述对于目标属性而言具有不寻常分布的群体,N是样本总体个数,n(Cond)是满足规则R前件的样本个数。
之后,根据所述规则质量计算所述多个规则中每个规则的权重,将所述每个规则的权重与预设质量阈值比较,筛选得到权重大于预设质量阈值的多个规则。由此,可以排除准确性较差和/或覆盖率较低的规则,以保障最终风险评估结果的正确性。
作为一个实施例,按照下式计算所述规则的权重:
其中,Fitness(R)表示规则R的权重,w1是覆盖率的权重,w2是准确度的权重,w1和w2的值可基于对覆盖率和准确度的要求预先进行设定。
S304、将筛选后的多个规则组成规则库,生成所述风险评估模型。
由于预测性的系统很容易受到噪声数据的影响,为了追求预测的准确性,学习到的规则难以被人所理解,而解释性的系统得到的规则比较通俗易懂,但是准确率较低,因此本公开的实施例基于多目标子群发现算法开发所述上线风险评估模型,多目标子群发现算法使用遗传算法的形式以规则的准确率和可解释性作为进化的目标,训练得到的规则具备高的准确性和可解释性。
进一步地,由于基于多目标子群发现算法生成的上线风险评估模型具有高的可解释性,因此在对上线行为进行风险评估的同时,在所述上线行为的操作界面上展示所述风险评估模型中的多个规则的规则描述,例如:
R1:if(server=interior and code=config)then risk=low level
R2:if(module=news and time=noon and language=c)then risk=middlelevel
R3:if(department=data and opt=up date model and review=false)thenrisk=high level。
通过该规则的展示,操作人员可以直观地学习到上线行为风险情况,便于主动地调整上线行为的操作。
根据另一个实施例,为了提升规则展示的直观性,便于操作人员快速理解,所述规则描述可以是根据预设模板生成的自然语言描述,例如对于R1:if(server=interior andcode=config)then risk=low level,采用预设模板中英文字符与中文文字的对应关系,将上述规则描述转换为如下语句:
规则1:如果需要上线的业务为公司内部服务,且代码变更只涉及到配置文件的变更,则风险为低级别。
其中,自然语言不限于中文,也可以是操作人员熟悉的任何语言,例如日文、韩文等。
由此,可以直观、可读地向操作人员展示规则,从而便于操作人员学习知识,主动地修正上线行为以降低上线风险。可选地,所展示的规则描述为针对风险评估模型中的多个规则中的部分规则,例如在展示前获取该次上线行为的特征,根据所述特征从生成的规则描述中筛选相匹配的规则描述进行展示。
下面通过根据本公开的一个实施例解释其具体应用:
当操作人员(例如程序员)需要将开发的新功能上线时,打开相应系统的操作界面;
在操作界面上展示有多个特征标签,操作人员根据待操作的上线行为,点击选择相应标签,如代码已review、视频上传功能;系统同时还获取当前的时间段作为上线时段,以及获取当前服务流量;同时,系统在操作界面上展示风险评估模型中的多个规则,操作人员可以直观地看到不同情况上线操作的风险等级,若发现当前情况不适合进行上线操作,则可以停止上线。
若操作人员继续执行上线行为,则系统将首先对上线行为的风险进行评估,包括将上述选择的标签对应特征以及系统自动提取的特征作为上线行为的特征,输入至利用多目标子集发现算法预先训练得到的风险评估模型中,得到该上线行为的风险值,根据该风险值可确定该行为的风险等级。
对于风险等级低的操作,系统将继续执行上线流程,完成功能上线,并通过界面反馈上线成功;对于风险等级中或高的上线行为,将根据时间、操作人员权限等判断是否符合上线条件,如符合,则继续执行并完成功能上线,同时将风险等级展示给操作人员;如不符合,则终止上线流程的执行,并通过界面反馈终止原因,包括该上线操作的风险等级。优选地,在终止上线流程的情况下,还将上线操作建议展示给操作人员,例如建议的上线时间等。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本公开所必须的。
图4示出了根据本公开的实施例的上线行为风险评估装置400的结构,包括特征获取模块401、特征输入模块402、结果获取模块403和计算模块404,其中:
所述特征获取模块401用于获取所述上线行为的一个或多个特征;
所述特征输入模块402用于将所述特征输入预先生成的风险评估模型,所述风险评估模型包括采取多目标子群发现算法训练得到的多个规则;
所述结果获取模块403用于获取所述风险评估模型按照所述多个规则分别计算出的多个结果值;
所述计算模块404用于根据所述多个结果值计算得到所述上线行为的风险值。
其中,所述风险评估模型是按照以下步骤生成的:
获取历史上线行为的特征样本集;
根据所述特征样本集,采取多目标子群发现算法训练得到多个规则;
根据规则质量对所述多个规则进行筛选;
将筛选后的多个规则组成规则库,生成所述风险评估模型。
其中,所述根据规则质量对所述多个规则进行筛选包括:
评定所述多个规则的规则质量,包括规则的准确度Acc(R)和覆盖率Cov(R)。
根据所述规则质量计算所述多个规则中每个规则的权重,计算方式如下:
其中,Fitness(R)表示规则R的权重,w1是覆盖率Cov(R)的权重,w2是准确度Acc(R)的权重。
将所述每个规则的权重与预设质量阈值比较,筛选得到权重大于预设质量阈值的多个规则。
进一步地,所述计算模块404按照下式计算得到所述上线行为的风险值:
其中,X为风险值,Yi是第i个规则的结果值,αi为第i个规则的权重,n为规则的数量。
可选地,所述上线行为风险评估装置还包括:
比较模块,用于将所述风险值与预设的风险阈值相比较,得到风险评价结果。
行为控制模块,用于根据所述风险评价结果控制所述上线行为。
规则展示模块,用于在所述上线行为的操作界面上展示所述风险评估模型中的多个规则的规则描述。
本公开上述实施例的装置基于风险评估模型对上线行为进行风险评估,能够准确、高效地对上线行为进行风险评估和控制,提高了软件迭代更新效率,优化了用户体验。基于多目标子群发现算法开发所述风险评估模型,训练得到的规则具备高的准确性和可解释性。而且,可以直观、可读地向操作人员展示规则,从而便于操作人员学习知识,主动地修正上线行为以降低上线风险。
图5示出了可以用来实施本公开的实施例的电子设备500的示意性框图。设备500可以用于实现图1中的服务器105或后台计算设备106。如图所示,设备500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的计算机程序指令或者从存储单元508加载到随机访问存储器(RAM)503中的计算机程序指令,来执行各种适当的动作和处理。在RAM 503中,还可以存储设备500操作所需的各种程序和数据。CPU 501、ROM 502以及RAM503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
设备500中的多个部件连接至I/O接口505,包括:输入单元506,例如键盘、鼠标等;输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理单元501执行上文所描述的各个方法和处理,例如方法200、300。例如,在一些实施例中,方法200、300可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由ROM 502和/或通信单元509而被载入和/或安装到设备500上。当计算机程序加载到RAM 503并由CPU 501执行时,可以执行上文描述的方法200、300的一个或多个步骤。备选地,在其他实施例中,CPU501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法200、300。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)等等。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
根据本公开的一个或多个实施例,提供了一种上线行为风险评估方法,包括:
获取所述上线行为的一个或多个特征;
将所述特征输入预先生成的风险评估模型,所述风险评估模型包括采取多目标子群发现算法训练得到的多个规则;
获取所述风险评估模型按照所述多个规则分别计算出的多个结果值;
根据所述多个结果值计算得到所述上线行为的风险值。
根据本公开的一个或多个实施例,提供了一种上线行为风险评估方法,其中,所述风险评估模型按照以下步骤生成:
获取历史上线行为的特征样本集;
根据所述特征样本集,采取多目标子群发现算法训练得到多个规则;
根据规则质量对所述多个规则进行筛选;
将筛选后的多个规则组成规则库,生成所述风险评估模型。
根据本公开的一个或多个实施例,提供了一种上线行为风险评估方法,其中,所述根据规则质量对所述多个规则进行筛选包括:
评定所述多个规则的规则质量;
根据所述规则质量计算所述多个规则中每个规则的权重;
将所述每个规则的权重与预设质量阈值比较,筛选得到权重大于预设质量阈值的多个规则。
根据本公开的一个或多个实施例,提供了一种上线行为风险评估方法,其中,所述规则质量包括规则的准确度Acc(R)和覆盖率Cov(R)。
根据本公开的一个或多个实施例,提供了一种上线行为风险评估方法,其中,按照下式计算所述多个规则中每个规则的权重:
其中,Fitness(R)表示规则R的权重,w1是覆盖率Cov(R)的权重,w2是准确度Acc(R)的权重。
根据本公开的一个或多个实施例,提供了一种上线行为风险评估方法,其中,按照下式计算得到所述上线行为的风险值:
其中,X为风险值,Yi是第i个规则的结果值,αi为第i个规则的权重,n为规则的数量。
根据本公开的一个或多个实施例,提供了一种上线行为风险评估方法,还包括:
将所述风险值与预设的风险阈值相比较,得到风险评价结果;
根据所述风险评价结果控制所述上线行为。
根据本公开的一个或多个实施例,提供了一种上线行为风险评估方法,还包括:
在所述上线行为的操作界面上展示所述风险评估模型中的多个规则的规则描述。
根据本公开的一个或多个实施例,提供了一种上线行为风险评估装置,包括:
特征获取模块,用于获取所述上线行为的一个或多个特征;
特征输入模块,用于将所述特征输入预先生成的风险评估模型,所述风险评估模型包括采取多目标子群发现算法训练得到的多个规则;
结果获取模块,用于获取所述风险评估模型按照所述多个规则分别计算出的多个结果值;
计算模块,用于根据所述多个结果值计算得到所述上线行为的风险值。
根据本公开的一个或多个实施例,提供了一种上线行为风险评估装置,其中,所述风险评估模型按照以下步骤生成:
获取历史上线行为的特征样本集;
根据所述特征样本集,采取多目标子群发现算法训练得到多个规则;
根据规则质量对所述多个规则进行筛选;
将筛选后的多个规则组成规则库,生成所述风险评估模型。
根据本公开的一个或多个实施例,提供了一种上线行为风险评估装置,其中,所述根据规则质量对所述多个规则进行筛选包括:
评定所述多个规则的规则质量;
根据所述规则质量计算所述多个规则中每个规则的权重;
将所述每个规则的权重与预设质量阈值比较,筛选得到权重大于预设质量阈值的多个规则。
根据本公开的一个或多个实施例,提供了一种上线行为风险评估装置,其中,所述规则质量包括规则的准确度Acc(R)和覆盖率Cov(R)。
根据本公开的一个或多个实施例,提供了一种上线行为风险评估装置,其中,按照下式计算所述多个规则中每个规则的权重:
其中,Fitness(R)表示规则R的权重,w1是覆盖率Cov(R)的权重,w2是准确度Acc(R)的权重。
根据本公开的一个或多个实施例,提供了一种上线行为风险评估装置,其中,所述计算模块按照下式计算得到所述上线行为的风险值:
其中,X为风险值,Yi是第i个规则的结果值,αi为第i个规则的权重,n为规则的数量。
根据本公开的一个或多个实施例,提供了一种上线行为风险评估装置,还包括:
比较模块,用于将所述风险值与预设的风险阈值相比较,得到风险评价结果;
行为控制模块,用于根据所述风险评价结果控制所述上线行为。
根据本公开的一个或多个实施例,提供了一种上线行为风险评估装置,还包括:
规则展示模块,用于在所述上线行为的操作界面上展示所述风险评估模型中的多个规则的规则描述。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。