CN110543426A - 一种软件性能风险检测方法及装置 - Google Patents
一种软件性能风险检测方法及装置 Download PDFInfo
- Publication number
- CN110543426A CN110543426A CN201910841675.1A CN201910841675A CN110543426A CN 110543426 A CN110543426 A CN 110543426A CN 201910841675 A CN201910841675 A CN 201910841675A CN 110543426 A CN110543426 A CN 110543426A
- Authority
- CN
- China
- Prior art keywords
- risk
- performance
- programs
- software
- program set
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 46
- 239000013598 vector Substances 0.000 claims abstract description 63
- 230000006399 behavior Effects 0.000 claims abstract description 56
- 238000012216 screening Methods 0.000 claims abstract description 20
- 238000012545 processing Methods 0.000 claims abstract description 15
- 238000004458 analytical method Methods 0.000 claims abstract description 8
- 238000000034 method Methods 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 13
- 238000012550 audit Methods 0.000 claims description 7
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 230000009471 action Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- 239000000523 sample Substances 0.000 description 2
- 241001494479 Pecora Species 0.000 description 1
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 239000007795 chemical reaction product Substances 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- 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/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0635—Risk analysis of enterprise or organisation activities
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Quality & Reliability (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Entrepreneurship & Innovation (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Economics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Game Theory and Decision Science (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Operations Research (AREA)
- Marketing (AREA)
- Educational Administration (AREA)
- Development Economics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供了一种软件性能风险检测方法及装置,包括:获取待检测的软件程序集合,并根据预先定义的性能指标筛选具有性能风险的程序,生成风险程序集合;对风险程序集合中程序的操作行为进行处理后获得逻辑特征向量;利用逻辑特征向量进行风险检测。本申请提供的软件性能风险检测方法包含了指标定义、风险识别及行为分析、特征存储、风险学习和操作管理等,能够防范性能风险影响软件的运行,并且对软件研发前期的性能风险识别提供了保障,以便在研发阶段就对可能存在的风险问题进行优化。
Description
技术领域
本申请属于计算机软件检测领域,具体地讲,涉及一种基于机器学习的软件性能风险检测的方法及装置。
背景技术
性能风险是软件项目风险的一种,如果软件发生性能风险可能会影响软件正常运作,造成软件重构、项目失败,并可能带来重大损失。随着业务架构的日趋复杂,以及各种技术框架的引入,性能风险的种类也不断增加。在传统的技术中,性能风险的识别高度依赖人的经验,或者需要等到风险发生后再举一反三,不利于在软件研发的前期就识别和排除风险。
发明内容
本申请提供了一种软件性能风险检测方法及装置,以至少解决现有技术中软件性能风险需要依赖人的经验进行识别并且无法在软件研发的前期就对风险进行识别和排除。
根据本申请的一个方面,提供了一种软件性能风险检测方法,包括:获取待检测的软件程序集合,并根据预先定义的性能指标筛选具有性能风险的程序,生成风险程序集合;
对风险程序集合中程序的操作行为进行处理后获得逻辑特征向量;
利用逻辑特征向量进行风险检测。
在一实施例中,根据预先定义的性能指标筛选具有性能风险的程序,包括:
判断待检测的软件程序集合中的程序是否符合性能指标;
通过动态审计将待检测的程序集合中不符合性能指标的程序拦截。
在一实施例中,对风险程序集合中程序的操作行为进行处理,包括:
解析风险程序集合中程序操作行为的步骤并将操作行为步骤转化为逻辑特征向量并保存。
在一实施例中,利用逻辑特征向量进行风险检测,包括:
利用学习算法对逻辑特征向量进行聚类,将逻辑特征向量分类;
根据所述逻辑特征向量的数量与预设阈值判断对应的类别的操作行为是否为高风险行为。
根据本申请的另一个方面,还提供了一种软件性能风险检测装置,包括:
预筛选单元,用于获取待检测的软件程序集合,并根据预先定义的性能指标筛选具有性能风险的程序,生成风险程序集合;
逻辑特征向量获得单元,用于对风险程序集合中程序的操作行为进行处理后获得逻辑特征向量;
风险检测单元,用于利用逻辑特征向量进行风险检测。
在一实施例中,预筛选单元包括:
性能判断模块,用于判断待检测的软件程序集合中的程序是否符合性能指标;
拦截模块,用于通过动态审计将待检测的程序集合中不符合性能指标的程序拦截。
在一实施例中,逻辑特征向量获得单元具体包括:
解析转化模块,用于解析风险程序集合中程序的操作行为步骤并将操作行为步骤转化为逻辑特征向量并保存。
在一实施例中,风险检测单元包括:
聚类模块,用于利用学习算法对逻辑特征向量进行聚类,将逻辑特征向量分类;
高风险定义模块,用于根据所述逻辑特征向量的数量与预设阈值判断对应的类别的操作行为是否为高风险行为。
本申请利用机器学习技术,对软件的性能风险进行识别,从而达到在软件研发的前期就将所具有的性能风险识别出并排除的功能。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请中软件性能风险检测的方法流程图;
图2为本申请中根据性能指标筛选具有性能风险的程序的方法流程图;
图3为本申请中利用逻辑特征向量进行风险检测的方法流程图;
图4为本申请中软件性能风险检测装置的结构框图;
图5为本申请实施例中的一种电子设备的具体实施方式。
具体实施方式
在现有技术中,软件性能风险的识别高度依赖人的经验,或者需要等到软件的性能发生风险问题后再进行举一反三亡羊补牢,这样的方式不利于在软件研发的前期就识别和排除风险。基于上述,本申请提供了一种软件性能风险检测方法,如图1所示,包括如下步骤:
S101:获取待检测的软件程序集合,并根据预先定义的性能指标筛选具有性能风险的程序,生成风险程序集合。
在一具体实施例中,待检测的软件由一个或多个程序组成,因此,每个软件即为一个程序集合,程序集合中的元素为一个或多个。性能风险的指标需要提前设定,例如,当CPU的使用率超过70%的时候会具有性能风险,因此,CPU的使用率是否超过70%即为一项性能风险的判断指标。利用预先定义的性能风险指标,对待检测的软件(程序集合)中的程序进行筛选,将不符合性能风险指标的程序筛选出。
S102:对风险程序集合中程序的操作行为进行处理后获得逻辑特征向量。
在一具体实施例中,将具有性能风险的程序的操作行为进行拆解,将其拆解为操作行为步骤以及每个步骤所包含的逻辑特征,然后将逻辑特征以向量的形式保存。
S103:利用逻辑特征向量进行风险检测。
在一具体实施例中,在获得逻辑特征向量之后,对所有逻辑特征向量利用聚类算法进行聚类,聚类算法包括但不限于EM\DBSCAN、K-Means等。聚类的结果是将逻辑特征向量进行了N种分类,对聚类结果进行判断,根据分类集合中包含的逻辑特征向量元素的个数与预设的阈值之间的关系判断该分类所对应的行为是否为高风险行为,比如当某一分类集合中包含的逻辑特征向量元素的个数超过预设阈值(比如100)时,这一分类所对应的操作行为即为高风险行为。
图1所示的方法的执行主体可以为服务器、PC、移动终端,该方法实现了将软件程序根据性能指标进行预筛选,筛选出具有性能风险的程序集合,再将具有性能风险的程序集合中的程序进行解析,解析出操作行为步骤以及对应的逻辑特征,再利用聚类算法对解析得到的逻辑特征向量进行分析,来检测是否为高风险行为的功能。
在一实施例中,如图2所示,根据预先定义的性能指标筛选具有性能风险的程序,包括如下步骤:
S201:判断待检测的软件程序集合中的程序是否符合性能指标。
S202:通过动态审计将待检测的程序集合中不符合性能指标的程序拦截。
在一具体实施例中,常见的性能指标有响应时间、吞吐量、连接数大小和资源使用率等。可以按照不同的维度进行性能指标的定义并作为风险识别的对象用于判断哪些程序不满足性能要求,存有性能风险。比如,以数据库服务器为例,可以定义5个性能指标:1、CPU资源使用率小于70%;2、空闲内存大于0;3、连接数使用率小于80%;4、DB CPU事件排在前台事件第一位;5、单SQL执行次数在正常值范围内。
定义完性能指标后利用动态审计的方式逐条判断待检测的软件的程序集合中的程序是否符合预定义的性能指标,如果该程序不符合预定义的性能指标,那么对该程序以旁路或探针形式,通过动态审计的手段,对该程序进行拦截和采集。
在一具体实施例中,假设在一次数据库性能风险审计案例中,命中到了下面4个性能指标不符合要求:CPU资源使用率超过70%,数据库连接数超过80%的预警值,前台事件第一位是cursor:pin S,并且单SQL(结构化查询语言)执行次数异常,那么判定此次被审计的软件程序集合具有性能风险,然后通过数据库中间件层的探针对具有性能风险的程序进行拦截,得到对数据库进行多次操作的DML语句(数据操纵语言)。
在一实施例中,对风险程序集合中程序的操作行为进行处理,包括:
解析风险程序集合中程序的操作行为的步骤并将操作行为的步骤转化为逻辑特征向量并保存。
在一具体实施例中,在拦截下具有性能风险的程序后,解析出每类操作行为所包含的步骤,以及每个步骤所包含的属性特征(如存在多次迭代、嵌套循环、访问了特定的数据表和数据字段、调用长耗时方法,大表查询,频繁获取连接等),例如:
结合风险程序集合解析分析出有如下几种数据库访问的操作行为,每种操作行为的具体步骤如下所示:
1.获取连接->访问表(数据量10w)->where(主键查询)->返回1条;
2.获取连接->存储过程->访问表(数据量100w)->where(自定义函数嵌套查询)->返回10条;
3.获取连接->存储过程->访问表(数据量1000w)->写文件输出。
将上述行为操作转换为如下以JSON格式描述的逻辑特征,并保存:
逻辑特征集合1:[{"action":"getconnection"},{"action":"querytable","tablename":"TableTest1","tablenum":"10w"},{"action":"querytable","querytype":"where primary"},{"action":"returnquery","returnnum":"1"}]
逻辑特征集合2:[{"action":"getconnection"},{"action":"querypackage","packagename":"PackTest1"},{"action":"querytable","tablename":"TableTest2","tablenum":"10w"},{"action":"querytable","querytype":"where function"},{"action":"returnquery","returnnum":"10"}]
逻辑特征集合3:[{"action":"getconnection"},{"action":"querypackage","packagename":"PackTest2"},{"action":"querytable","tablename":"TableTest3","tablenum":"1000w"},{"action":"writeText","querytype":"where index"}]
在一实施例中,如图3所示,利用逻辑特征向量进行风险检测,包括:
S301:利用学习算法对逻辑特征向量进行聚类,将逻辑特征向量分类;
S302:将逻辑特征向量的数量超过预设阈值的类别所对应的操作行为定义为高风险行为。
在一具体实施例中,以K-Means聚类算法为例进行说明,实际可以选用的常用的机器学习算法包括但不限于EM\DBSCAN、K-Means等。该算法在输入向量化后的逻辑特征以及预期得到的逻辑特征类别个数后(比如100种类别)能够输出逻辑特征类别以及每种类别所包含的逻辑特征。向量化是指通过模型对文本化的行为映射到向量化的数学空间,用于聚类模型的训练,常用的向量化方法包括但不限于词袋模型、word2vec等。
以S102中的数据库访问的操作行为为例,对3个逻辑特征集合使用聚类算法,以100为预期的类别个数,执行聚类学习,可以得到100个类别集合,类别输出的例子可描述如下:
在执行聚类学习之后,根据以往的经验设定一个阈值N,当某一个类别集合中的元素个数大于N时,则这个类别对应的行为定义为高风险行为。
阈值的维度包括且不限于“类别元素个数大于特定阈值N”,或者“类别按元素个数从多到少排序,取前N个类别”,阈值N的取值可以根据学习精度做调整。
本申请提出的一种软件性能风险检测方法,包括指标定义、风险识别及行为分析、特征存储、风险学习及操作管理等,该方法可以用于识别、分析和控制性能风险因子,防止这些因子影响软件的运行,实现了将软件性能风险防范于未然的功能。
基于同一发明构思,本申请实施例还提供了一种软件性能风险检测装置,可以用于实现上述实施例中所描述的方法,如下面实施例所述。由于该软件性能风险检测装置解决问题的原理与软件性能风险检测方法相似,因此软件性能风险检测装置的实施可以参见软件性能风险检测方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
如图4所示,一种软件性能风险检测装置,包括:
预筛选单元201,用于获取待检测的软件程序集合,并根据预先定义的性能指标筛选具有性能风险的程序,生成风险程序集合;
逻辑特征向量获得单元202,用于对风险程序集合中程序的操作行为进行处理后获得逻辑特征向量;
风险检测单元203,用于利用逻辑特征向量进行风险检测。
在一实施例中,预筛选单元201包括:
性能判断模块,用于判断待检测的软件程序集合中的程序是否符合性能指标;
拦截模块,用于通过动态审计将待检测的程序集合中不符合性能指标的程序拦截。
在一实施例中,逻辑特征向量获得单元202具体包括:
解析转化模块,用于解析风险程序集合中程序的操作行为的步骤并将操作行为的步骤转化为逻辑特征向量并保存。
在一实施例中,风险检测单元203包括:
聚类模块,用于利用学习算法对逻辑特征向量进行聚类,将逻辑特征向量分类;
高风险定义模块,用于将逻辑特征向量的数量超过预设阈值的类别所对应的操作行为定义为高风险行为。
本申请同时提出一种软件性能风险检测装置,可对软件研发前期的性能风险识别提供保障,以便在研发阶段就对可能存在的风险问题进行优化。
本申请利用对待检测程序进行解析拆分,将其拆分为操作行为步骤,并将拆分得到的步骤以逻辑特征向量的形式进行聚类分析,根据聚类分析的结果来判断是否为高风险行为,实现了在软件开发前期对软件性能风险的检测功能。
本申请中应用了具体实施例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
本申请的实施例还提供能够实现上述实施例中的方法中全部步骤的一种电子设备的具体实施方式,参见图5,所述电子设备具体包括如下内容:
处理器(processor)301、内存302、通信接口(Communications Interface)303、总线304和非易失性存储器305;
其中,所述处理器301、内存302、通信接口303通过所述总线304完成相互间的通信;
所述处理器301用于调用所述内存302和非易失性存储器305中的计算机程序,所述处理器执行所述计算机程序时实现上述实施例中的方法中的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
S101:获取待检测的软件程序集合,并根据预先定义的性能指标筛选具有性能风险的程序,生成风险程序集合。
S102:对风险程序集合中程序的操作行为进行处理后获得逻辑特征向量。
S103:利用逻辑特征向量进行风险检测。
本申请的实施例还提供能够实现上述实施例中的方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
S101:获取待检测的软件程序集合,并根据预先定义的性能指标筛选具有性能风险的程序,生成风险程序集合。
S102:对风险程序集合中程序的操作行为进行处理后获得逻辑特征向量。
S103:利用逻辑特征向量进行风险检测。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。虽然本说明书实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。
在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。以上所述仅为本说明书实施例的实施例而已,并不用于限制本说明书实施例。对于本领域技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的权利要求范围之内。
Claims (10)
1.一种软件性能风险检测方法,其特征在于,包括:
获取待检测的软件程序集合,并根据预先定义的性能指标筛选具有性能风险的程序,生成风险程序集合;
对所述风险程序集合中程序的操作行为进行处理后获得逻辑特征向量;
利用所述逻辑特征向量进行风险检测。
2.根据权利要求1所述的检测方法,其特征在于,所述根据预先定义的性能指标筛选具有性能风险的程序,包括:
判断所述待检测的软件程序集合中的程序是否符合所述性能指标;
通过动态审计将所述待检测的程序集合中不符合所述性能指标的程序拦截。
3.根据权利要求1所述的检测方法,其特征在于,所述对所述风险程序集合中程序的操作行为进行处理,包括:
解析所述风险程序集合中程序的操作行为步骤并将所述操作行为步骤转化为所述逻辑特征向量并保存。
4.根据权利要求1所述的检测方法,其特征在于,所述利用所述逻辑特征向量进行风险检测,包括:
利用学习算法对所述逻辑特征向量进行聚类;
根据所述逻辑特征向量的数量与预设阈值判断对应的类别的操作行为是否为高风险行为。
5.一种软件性能风险检测装置,其特征在于,包括:
预筛选单元,用于获取待检测的软件程序集合,并根据预先定义的性能指标筛选具有性能风险的程序,生成风险程序集合;
逻辑特征向量获得单元,用于对所述风险程序集合中程序的操作行为进行处理后获得逻辑特征向量;
风险检测单元,用于利用所述逻辑特征向量进行风险检测。
6.根据权利要求5所述的检测装置,其特征在于,所述预筛选单元包括:
性能判断模块,用于判断所述待检测的软件程序集合中的程序是否符合所述性能指标;
拦截模块,用于通过动态审计将所述待检测的程序集合中不符合所述性能指标的程序拦截。
7.根据权利要求5所述的检测装置,其特征在于,所述逻辑特征向量获得单元具体包括:
解析转化模块,解析所述风险程序集合中程序的操作行为步骤并将所述操作行为步骤转化为所述逻辑特征向量并保存。
8.根据权利要求5所述的检测装置,其特征在于,所述风险检测单元包括:
聚类模块,用于利用学习算法对所述逻辑特征向量进行聚类;
高风险定义模块,用于根据所述逻辑特征向量的数量与预设阈值判断对应的类别的操作行为是否为高风险行为。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至4中任一项所述软件性能风险检测方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至4中任一项所述软件性能风险检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910841675.1A CN110543426A (zh) | 2019-09-06 | 2019-09-06 | 一种软件性能风险检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910841675.1A CN110543426A (zh) | 2019-09-06 | 2019-09-06 | 一种软件性能风险检测方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110543426A true CN110543426A (zh) | 2019-12-06 |
Family
ID=68712760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910841675.1A Pending CN110543426A (zh) | 2019-09-06 | 2019-09-06 | 一种软件性能风险检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110543426A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112487406A (zh) * | 2020-12-02 | 2021-03-12 | 中国电子科技集团公司第三十研究所 | 一种基于机器学习的网络行为分析方法 |
CN112527620A (zh) * | 2020-12-24 | 2021-03-19 | 北京百度网讯科技有限公司 | 数据库性能分析方法及装置、电子设备、介质、产品 |
CN113836907A (zh) * | 2021-09-06 | 2021-12-24 | 北京好欣晴移动医疗科技有限公司 | 文本聚类图片识别方法、装置和系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106778266A (zh) * | 2016-11-24 | 2017-05-31 | 天津大学 | 一种基于机器学习的安卓恶意软件动态检测方法 |
CN107341401A (zh) * | 2017-06-21 | 2017-11-10 | 清华大学 | 一种基于机器学习的恶意应用监测方法和设备 |
CN107704755A (zh) * | 2017-09-19 | 2018-02-16 | 广东小天才科技有限公司 | 一种应用程序管理方法、应用程序管理装置及智能终端 |
CN109003089A (zh) * | 2018-06-28 | 2018-12-14 | 中国工商银行股份有限公司 | 风险识别方法及装置 |
CN109684851A (zh) * | 2018-12-27 | 2019-04-26 | 中国移动通信集团江苏有限公司 | 软件质量评估方法、装置、设备及计算机存储介质 |
CN109960901A (zh) * | 2017-12-14 | 2019-07-02 | 北京京东尚科信息技术有限公司 | 桌面应用风险评价、控制的方法、系统、设备和存储介质 |
-
2019
- 2019-09-06 CN CN201910841675.1A patent/CN110543426A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106778266A (zh) * | 2016-11-24 | 2017-05-31 | 天津大学 | 一种基于机器学习的安卓恶意软件动态检测方法 |
CN107341401A (zh) * | 2017-06-21 | 2017-11-10 | 清华大学 | 一种基于机器学习的恶意应用监测方法和设备 |
CN107704755A (zh) * | 2017-09-19 | 2018-02-16 | 广东小天才科技有限公司 | 一种应用程序管理方法、应用程序管理装置及智能终端 |
CN109960901A (zh) * | 2017-12-14 | 2019-07-02 | 北京京东尚科信息技术有限公司 | 桌面应用风险评价、控制的方法、系统、设备和存储介质 |
CN109003089A (zh) * | 2018-06-28 | 2018-12-14 | 中国工商银行股份有限公司 | 风险识别方法及装置 |
CN109684851A (zh) * | 2018-12-27 | 2019-04-26 | 中国移动通信集团江苏有限公司 | 软件质量评估方法、装置、设备及计算机存储介质 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112487406A (zh) * | 2020-12-02 | 2021-03-12 | 中国电子科技集团公司第三十研究所 | 一种基于机器学习的网络行为分析方法 |
CN112487406B (zh) * | 2020-12-02 | 2022-05-31 | 中国电子科技集团公司第三十研究所 | 一种基于机器学习的网络行为分析方法 |
CN112527620A (zh) * | 2020-12-24 | 2021-03-19 | 北京百度网讯科技有限公司 | 数据库性能分析方法及装置、电子设备、介质、产品 |
CN113836907A (zh) * | 2021-09-06 | 2021-12-24 | 北京好欣晴移动医疗科技有限公司 | 文本聚类图片识别方法、装置和系统 |
CN113836907B (zh) * | 2021-09-06 | 2023-07-18 | 好心情健康产业集团有限公司 | 文本聚类图片识别方法、装置和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11030166B2 (en) | Smart data transition to cloud | |
CN107430611B (zh) | 过滤数据沿袭图 | |
JP5298117B2 (ja) | 分散コンピューティングにおけるデータマージング | |
US10346292B2 (en) | Software component recommendation based on multiple trace runs | |
TW202029079A (zh) | 異常群體識別方法及裝置 | |
CN110019397B (zh) | 用于进行数据处理的方法及装置 | |
US8965895B2 (en) | Relationship discovery in business analytics | |
CN110543426A (zh) | 一种软件性能风险检测方法及装置 | |
EP3198478A1 (en) | Method and system for implementing efficient classification and exploration of data | |
CN111177134B (zh) | 适用于海量数据的数据质量分析方法、装置、终端及介质 | |
CN111782824B (zh) | 信息查询方法、装置、系统和介质 | |
CN110955578A (zh) | 基于宿主机的日志收集方法、装置、计算机设备及存储介质 | |
CN111078776A (zh) | 数据表的标准化方法、装置、设备及存储介质 | |
CN109445768B (zh) | 数据库脚本生成方法、装置、计算机设备及存储介质 | |
CN115827895A (zh) | 一种漏洞知识图谱处理方法、装置、设备及介质 | |
US20220179764A1 (en) | Multi-source data correlation extraction for anomaly detection | |
CN111221698A (zh) | 任务数据采集方法与装置 | |
CN113761185A (zh) | 主键提取方法、设备及存储介质 | |
CN112749003A (zh) | 系统优化的方法、设备及计算机可读存储介质 | |
CN107122381B (zh) | 文件生成方法及装置和数据分析方法及装置 | |
CN113419964B (zh) | 一种测试案例生成方法、装置、计算机设备及存储介质 | |
CN114741392A (zh) | 数据查询方法、装置、电子设备及存储介质 | |
CN113448985A (zh) | 一种api接口生成方法、调用方法、装置及电子设备 | |
CN113705184A (zh) | 自定义报表的生成方法及装置、存储介质、电子设备 | |
CN113742116A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191206 |
|
RJ01 | Rejection of invention patent application after publication |