CN109271303B - 一种软件配置推荐方法 - Google Patents

一种软件配置推荐方法 Download PDF

Info

Publication number
CN109271303B
CN109271303B CN201811059221.0A CN201811059221A CN109271303B CN 109271303 B CN109271303 B CN 109271303B CN 201811059221 A CN201811059221 A CN 201811059221A CN 109271303 B CN109271303 B CN 109271303B
Authority
CN
China
Prior art keywords
configuration
software
pressure
user
standard
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
Application number
CN201811059221.0A
Other languages
English (en)
Other versions
CN109271303A (zh
Inventor
许广彬
谭瑞忠
濮天晖
胡军
张银滨
郭晓
王子豪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Huayun Mutual Data Technology Co ltd
Original Assignee
Shanghai Huayun Mutual Data Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Huayun Mutual Data Technology Co ltd filed Critical Shanghai Huayun Mutual Data Technology Co ltd
Priority to CN201811059221.0A priority Critical patent/CN109271303B/zh
Publication of CN109271303A publication Critical patent/CN109271303A/zh
Application granted granted Critical
Publication of CN109271303B publication Critical patent/CN109271303B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供了一种软件配置推荐方法,推荐引擎采集云平台中的主机在设定时间段内的性能样本数据,并计算性能样本数据的平均值,得软件压力环境配置表;采用均值聚类算法对软件压力环境配置表中的每一行数据进行相似度计算,得压力环境聚类表;由变异系数和配置持续时长确定在同一软件在同一压力类下的得分,选择稳定性最高的配置作为与特定的压力类最匹配的标准配置;推荐引擎接收用户输入的压力环境,将相似度最高的标准配置向用户进行推荐。通过本发明,实现了根据数据处理需求和用户历史的程序为用户推荐最合理的软件或者软件配置的目的,使得向用户推荐的软件达到性能符合用户需求且不存在性能浪费的效果。

Description

一种软件配置推荐方法
技术领域
本发明涉及大数据技术领域,尤其涉及一种软件配置推荐方法。
背景技术
压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大的服务级别的测试。压力测试是为了发现在什么条件下系统的性能会变得不可接受。
目前,可采用主从模型来对系统进行压力测试。其中,压力测试系统中的主节点启动每个从节点后,给每个从节点分配压测配额,主节点与从节点的压测会话后,从节点模拟终端用户与被测的系统中服务器建立连接后,与服务器进行数据通讯,并且将与服务器之间的压测统计数据同步给主节点,主节点根据同步的压测统计数据,获得对应的压测结果。因为只有一个主节点,当管理的从节点过多时,会导致主节点成为瓶颈,影响了压力测试的效率。
大数据场景中通常包含了非常多的软件,这些软件的配置非常繁杂,工程人员在没有丰富经验和专业技术积累的情况下,很难对大数据分析场景中用到的各类软件的配置,有准确合理的定义,要么存在配置过高资源浪费的现象,要么存在配置过低无法承受业务压力的现象。
大数据处理依赖众多服务,如HDFS(Hadoop Distributed File System,分布式文件系统)、YARN(Yet Another Resource Negotiator,资源管理系统)、Spark(分布式内存计算机框架)等。因集群环境差异大、被处理数据格式多样、数据体量动态变化等原因,导致这些服务组件的参数的配置较为复杂,这也在一定程度上导致了在大数据场景中,无法做出合理的用于部署某一应用程序的服务器配置的问题。
有鉴于此,有必要对现有技术中的软件配置推荐方法予以改进,以解决上述问题。
发明内容
本发明的目的在于揭示了一种软件配置推荐方法,用以实现根据数据处理需求和用户历史的程序为用户推荐最合理的软件或者软件配置的方法,以在大数据分析场景中使得向用户推荐的软件达到性能符合用户需求且不存在性能浪费的目的。
为实现上述目的,本发明提供了一种软件配置推荐方法,包括以下步骤:
S1、推荐引擎采集云平台中的主机在设定时间段内的性能样本数据,并计算性能样本数据的平均值,得软件压力环境配置表;
S2、采用均值聚类算法对所述软件压力环境配置表中的每一行数据进行相似度计算,得压力环境聚类表;
S3、由变异系数和配置持续时长确定在同一软件在同一压力类下的得分,选择稳定性最高的配置作为与特定的压力类最匹配的标准配置;
S4、推荐引擎接收用户自浏览器所输入的压力环境,通过相似度算法计算当前压力需求与标准配置之间的相似度,将相似度最高的标准配置向用户进行推荐。
作为本发明的进一步改进,所述性能样本数据由软件种类、日均磁盘IO、日均CPU平均使用时间、日均内存平均使用量、日均磁盘增长、日均IO变异系数、日均CPU使用率变异系数、日均CPU使用率变异系数、日均磁盘增长变异系数、配置持续时长中的两种或者两种以上的维度共同描述。
作为本发明的进一步改进,步骤S3中的软件包括:HDFS、HIVE、HBASE、SPARK、JAVA、MYSQL或者TOMCAT。
作为本发明的进一步改进,所述推荐引擎运行于主机中或者运行于能够与主机进行通信的物理机、虚拟机、虚拟机集群或者集群服务器中。
作为本发明的进一步改进,执行步骤S1之前还包括:向推荐引擎录入待检测的主机的IP、用户名及密码。
作为本发明的进一步改进,所述均值聚类算法包括k-means均值聚类算法、K-medoids均值聚类算法、Clara均值聚类算法或者Clarans均值聚类算法。
作为本发明的进一步改进,所述均值聚类算法为k-means均值聚类算法;
所述步骤S2具体为:对所述软件压力环境配置表的记录分为至少K个类,采用k-means均值聚类算法对软件压力环境配置表中以行为单位,分解成K个簇,每个簇聚集了若干条软件压力环境配置表中的记录,记录每个簇的质心坐标,并将质心坐标作为该簇的标准压力,以得到压力环境聚类表;
其中,所述参数K取大于或者等于2的正整数。
作为本发明的进一步改进,还包括:将多种软件往复执行步骤S1至步骤S4,以形成标准配置表。
作为本发明的进一步改进,还包括将所述标准配置表保存至与推荐引擎关联的数据库中,当用户通过浏览器向推荐引擎输入的压力环境时,匹配出当前压力需求与标准配置表中各个标准配置之间的相似度,从而将相似度最高的标准配置通过推荐引擎向用户进行推荐。
作为本发明的进一步改进,所述相似度算法为余弦相似度算法、皮尔森算法、欧几里得距离算法或者曼哈顿距离算法;
所述推荐引擎运行于持久化存储介质中,所述持久化存储介质包括:数据库、Ceph存储装置、Hadoop分布式文件系统、SAN存储设备、NAS存储设备、RAID或者对象存储系统。
与现有技术相比,本发明的有益效果是:通过本发明,实现了根据数据处理需求和用户历史的程序为用户推荐最合理的软件或者软件配置的目的,使得向用户推荐的软件达到性能符合用户需求且不存在性能浪费的目的,并确保用户可以在任意环境中使用标准配置或者标准配置表中对应的软件搭建服务器环境。
附图说明
图1为本发明一种软件配置推荐方法的流程图;
图2为基于本发明一种软件配置推荐方法在一种具体实施例中所形成的结构示意图。
具体实施方式
下面结合附图所示的各实施方式对本发明进行详细说明,但应当说明的是,这些实施方式并非对本发明的限制,本领域普通技术人员根据这些实施方式所作的功能、方法、或者结构上的等效变换或替代,均属于本发明的保护范围之内。
本发明的核心思想概括如下:收集用户数据,当使用某一种软件配置时,如果用户30的压力环境没有明显的改变,但很快就改掉了这种软件配置,那么我们认为这种软件配置的不高(即性能无法满足用户30的需求);相反,如果用户30长时间保持一种配置,我们就认为这种压力环境下,当前的配置信息更有价值(即性能能够满足用户的需求)。一种软件配置使用的时间越长,我们就认为的价值越高。以收集到的压力环境和配置参数数据集,将价值作为权重参数,作为训练集,通过均值聚类算法,得到一个压力环境聚类表。用户30输入压力环境(即用户30有多少数据量、预期多久出计算结果、要用什么软件)作为参数时,使用相似度算法找出当前需求与各个标准配置之间的相似度,将相似度最高的配置推荐给用户30。
请参图1及图2所示出的本发明一种软件配置推荐方法的一种具体实施例。
在本实施例中,该软件配置推荐方法,具体包括以下步骤:
步骤S1、推荐引擎10采集云平台中的主机在设定时间段内的性能样本数据,并计算性能样本数据的平均值,得软件压力环境配置表。推荐引擎10运行于主机中或者运行于能够与主机进行通信的物理机或者集群服务器中。同时,该推荐引擎10还可运行于持久化存储介质中。具体的,在本实施例中,设定时间段选为7日。当然也可选为其他长度的时间,例如5日或者10日,因此并不具体限定该设定时间段所选用的时间长度。
在本实施例中,推荐引擎10可被理解为通过原生JAVA语言编写的具有向用户推荐与用户输入的应用程序类型及压力环境匹配的标准配置或者标准配置表的一种运算机构。
具体的,可通过主机监控程序命令来获取需要待采集的主机的数据,收集到的数据并通过求平均值的方式,得软件压力环境配置表,参下述表一所示。
Figure BSA0000170495300000051
表一
上述表一中,第4至7列分别为被检测的某一HDFS应用程序,7天内每日的性能样本数据,具体参下述表二所示:
Figure BSA0000170495300000052
Figure BSA0000170495300000061
表二
在本实施例中,该性能样本数据由软件种类、日均磁盘IO、日均CPU平均使用时间、日均内存平均使用量、日均磁盘增长、日均IO变异系数、日均CPU使用率变异系数、日均CPU使用率变异系数、日均磁盘增长变异系数、配置持续时长中的两种或者两种以上的维度共同描述。
接下来,对表一中的第一行所示出的指标参数的含义进行说明。
a)磁盘输入/输出(磁盘IO)平均值。
b)CPU的使用时间平均值(假设HDFS应用程序所在服务器的CPU为4核,当日此服务器的CPU使用率为10%,则认为CPU的使用量为24h×10%=2.4h,不考虑操作系统及其他应用所占用的CPU)。
c)内存使用量平均值(假设HDFS应用程序所在服务器的内存为4G,当日此内存使用率为50%,则认为,内存的使用量为2G,不考虑操作系统及其他应用所占用的内存)。
e)日均磁盘增长(比较固定的某一时间与前24h,磁盘使用量的差值,即为当日的磁盘增长量)。
f)除此以外,还可以收集日均带宽占用,日均磁盘读写次数等数据作为指标。
g)变异系数的计算方法为:变异系数用于比较多组数据间的离散程度大小,变异系数=标准偏差/平均值。以7天内日均IO变异系数这一列为例,设配置ID为C0001这一列中,最近七日,每日的IO分别为100,200,100,200,100,200,100,标准差公式为
Figure BSA0000170495300000062
N为数据个数,此处为7,μ表示此7项的平均数,代入得到σ=53.45225,平均数为142.85714。最终得到,此条记录的7天内日均IO变异系数为0.37。
具体的,该持久化存储介质包括:数据库、Ceph存储装置、Hadoop分布式文件系统、SAN存储设备、NAS存储设备、RAID(磁盘阵列)或者对象存储系统(OSS)。结合图2所示,在本实施例中,推荐引擎10可以存在于与HOST1(即云平台中的一个主机)、HOST2(即云平台中的一个主机)能够通信的任意一台服务器上或运行在HOST1、HOST2上;当然,云平台中也可以只有HOST1而没有HOST2。HOST1中运行HDFS01,HOST2中运行HDFS02。HDFS是Hadoop分布式文件系统的简称。
优选的,执行步骤S1之前还包括:向推荐引擎10录入待检测的主机的IP、用户名及密码等数据。推荐引擎10向HOST1和/或HOST2所采集的数据包括但不限于主机的CPU使用率、内存使用率、磁盘使用率、磁盘IO,这些数据的采集依赖于LINUX操作系统自带的命令,如:内存统计工具(vmstat)、内存使用情况统计命令(free)、CPU平均负载和磁盘活动统计命令(iostat)等,除了使用系统命令外,也可以使用例如一些外部的Linux系统监控软件来获取Linux系统数据,这里不赘述。
接下来,执行步骤S2、采用均值聚类算法对所述软件压力环境配置表中的每一行数据进行相似度计算,得压力环境聚类表。步骤S2具体为:对所述软件压力环境配置表的记录分为至少K个类,采用k-means均值聚类算法对软件压力环境配置表中以行为单位,分解成K个簇,每个簇聚集了若干条软件压力环境配置表中的记录,记录每个簇的质心坐标,并将质心坐标作为该簇的标准压力,以得到压力环境聚类表;其中,所述参数K取大于或者等于2的正整数。
均值聚类算法包括k-means均值聚类算法、K-medoids均值聚类算法、Clara均值聚类算法或者Clarans均值聚类算法,在本实施例中,均值聚类算法具体选用k-means均值聚类算法。
具体而言,使用表一所示出的软件压力环境配置表中的每一行记录作为一条数据,作为训练数据,使用K-Means均值聚类算法,对表一中的每一行(即为一个聚类中的每一个元素)例如X(10000,1,3,1),Y(10000,2,4,10)进行相似度计算。具体的,参步骤1)及步骤2)所示。
步骤1):定义X和Y两个元素间的相异度d=f(X,Y)->R,R为实数域,我们选择使用两者的欧几里得距离作为相异度。相异度有多种计算方式,此处选择欧氏距离,换其他计算方法结果类似,f为欧几里得距离计算公式。欧几里得距离计算公式如下式(1)所示:
Figure BSA0000170495300000081
将两个实例类X(10000,1,3,1),Y(10000,2,4,10)代入上述式(1),求得欧几里得距离
Figure BSA0000170495300000082
步骤2):使用K-Means均值聚类算法,将压力环境表的各条记录分为K个类,(K为大于2的正整数,可以按需指定,K越大,分的类越多,最终执行推荐时,越容易匹配到与用户30需求最相近的标准压力环境)。
K-Means均值聚类算法的计算过程如下子步骤01至子步骤04所示:
子步骤01:选择K个点作为初始质心;
子步骤02:将每个点指派到最近的质心,形成K个簇;
子步骤03:重新计算每个簇的质心;
子步骤04:直至簇不发生变化或达到最大迭代次数,停止;否则重复执行子步骤02及子步骤03。
最终我们将到K个簇,每个簇聚集了数条压力环境表中的记录,同时记录每个簇的质心坐标,并将质心坐标作为此簇的标准压力,输出压力环境聚类表,参表三所示。
Figure BSA0000170495300000083
表三
步骤S3、由变异系数和配置持续时长确定在同一软件在同一压力类下的得分,选择稳定性最高的配置作为与特定的压力类最匹配的标准配置。步骤S3中的软件包括:HDFS、HIVE、HBASE、SPARK、JAVA、MYSQL或者TOMCAT,或者同时包含上述若干种软件。参表十所示,在本实施例中,软件的种类选定为HDFS、HIVE、HBASE、SPARK,并通过上述四种软件在多种压力环境下的配置,以确定不同软件在同一压力类下的标准配置。
配置稳定性是由各个变异系数和配置持续时长来决定在同一服务程序的同一压力类下的得分。变异系数或持续时长越大,得分越高,最终得分也越高。最终得分公式为如下式(2)所示:
sum=a*x1+b*x2+...n*xn 式(2)
式(2)中,参数a,参数b至参数n为各项的权重。根据各列的重要性,认定权重,权重的认定依据经验而定。x1.....xn为各列系数。最终得分公式的远离,当某一服务的某种配置,在当前的压力环境下,变化得越激烈,且这种配置能够有效承载这种压力环境下的剧烈变化的时间越长,我们认为这种配置越有效。申请人指出,在本申请中的“有效”应该理解为推荐引擎10为用户30推荐的软件配置在最大程度上既能满足用户30的性能需求,又不存在性能上的浪费。
通过表一中的第8至12列数据计算每一种配置的在具体的压力类中的稳定性,并选择稳定性最高的配置作为某一种特定的压力类所对应的标准配置,即得到与特定的压力类最匹配的标准配置,参表四所示。
Figure BSA0000170495300000091
表四
由于需要确定的是某一种压力类下的有效配置,因此,需要比较的对象都是特定压力类下的配置数据。抽取表四中的部分数据如下表五,分别比较每一列数据。
Figure BSA0000170495300000101
表五
排序完成后,得到表六,将变异系数、持续时长等换为在当前压力类中的这一列的得分,数值越大,得分越高,将各列相加,得到最终排名积分,例如7天内日均IO变异系数等的排名值。为了说明方便,我们可将参数a,参数b至参数n的权重都定为1得到如下表七所示:
Figure BSA0000170495300000102
表七
按照表七中最终得分,我们按大小排序,得到压力类A类下,最终得分最高的配置,为这一压力类的标准配置。从表七中可见,若某两项或多项最终得分相等,如配置C0002,C0003的最终得分都是11,这时再比较持续时长得分,来决定最终排名,哪一条大,则最终排名更靠前;如持续时长也相同,则再比较其他变异系数列的值,决定最终排名,具体排名参表八所示。
Figure BSA0000170495300000103
表八
通过表八可见,压力类A的最终排名最靠前的是C0003这条记录,我们将C0003这个配置ID对应的配置项作为压力类A的标准配置,压力类A的标准配置参表九所示。
压力类 配置ID 标准压力
A类 C0003 5000,1,3,5
表九
使用相同方法,我们可以得到HDFS应用程序,各个压力类下的标准配置。同时使用相同的方法(即计算配置稳定性,排名,获得某一压力类下的标准配置的方法),最终可以得到多种软件在多种压力环境下的配置,如下表十所示:
Figure BSA0000170495300000111
表十
从上述表十,可以最终获得稳定性最高的配置作为与特定的压力类最匹配的标准配置。这种标准配置可以一种软件,例如HDFS的标准配置,也可是同时包含HDFS、HTVE等多种大数据环境中所应用的软件。
最后,执行步骤S4、推荐引擎10接收用户30自浏览器所输入的压力环境,通过相似度算法计算当前压力需求与标准配置之间的相似度,将相似度最高的标准配置向用户30进行推荐。用户30在接收到推荐引擎10所最终推荐的标准配置或者标准配置表后,可以在任意环境中使用这套配置来搭建应用程序的服务器环境。
具体的,在本实施例中,还包括将所述标准配置表保存至与推荐引擎10关联的数据库20中,当用户30通过浏览器向推荐引擎10输入的压力环境时,匹配出当前压力需求与标准配置表中各个标准配置之间的相似度,从而将相似度最高的标准配置通过推荐引擎10向用户30进行推荐。其中,相似度算法为余弦相似度算法、皮尔森算法、欧几里得距离算法或者曼哈顿距离算法。在本实施中,申请人以余弦相似度算法为范例,作示范性阐述。
向量A,用户输入环节:用户30输入压力需求,其包括:HDFS的软件服务种类、日均IO:5000、日均CPU使用量:1、日均内存使用率:3、日均磁盘增长:5等。向量B,根据余弦相似度算法,匹配到与当前压力需求最相似的标准压力配置。
例如:用户30在浏览器的输入栏中输入(HDFS,5000,1,3,5)。
标准配置表中,对应的数据如下表十一所示:
Figure BSA0000170495300000121
表十一
余弦相似度算法的公式如下式(3)所示:
Figure BSA0000170495300000122
A、B为向量,此处将一类标准压力和用户输入的压力环境作为这两个向量。A(5000,1,3,5),B(1000,1,3,5),n为向量的坐标个数。具体的,在本实施例中,参数n=4,向量A与向量B的下标i为1~4的四个证书(即4个向量)代入上述式(3)计算,得到用户输入与向量A的余弦相似度为:0.9999888003449496。
计算余弦相似度得到的计算结果如下表十二所示:
压力环境 标准压力 标准配置 余弦相似度
用户输入 5000,1,3,5 - -
A类 1000,1,3,5 CPU:4核内存:8G磁盘500G 0.9999888003449496
B类 5000,2,6,10 CPU:8核内存:16G磁盘500G 0.9999993000046551
C类 10000,5,15,25 CPU:16核内存:32G磁盘1000G 0.9999984250147459
表十二
根据余弦相似度定理,余弦值的范围在[-1,1]之间,值越趋近于1,代表两个向量的方向越接近;越趋近于-1,他们的方向越相反;由此可见向量A与用户输入的压力环境最接近,于是我们将A类对应的标准配置推荐给用户30。作为优选的实施方案,在本实施例中,在步骤S4结束后,还包括:将多种软件往复执行上述步骤S1至步骤S4,以形成标准配置表。标准配置表中含有至少一组如表十二所示的标准配置。
需要说明的是,本实施例所揭示的软件配置推荐方法不仅针对大数据软件适用,对普通软件,例如安装在单台计算机上的软件或者基于分布式计算架构的云计算系统所使用的软件同样适用。同时,本领域技术人员可以预测到,本实施例所揭示的软件既可以是具有独立功能的计算机可执行程序,也可以是一种插件、控件或者网络安全组件。进一步的,所述该程序不仅可以在大数据环境中使用,可以是应用于云平台。云平台的架构可是基于OpenStack架构所组建的云平台,也可为其他任何形式并具有云平台中,在此不再赘述。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。

Claims (10)

1.一种软件配置推荐方法,其特征在于,包括以下步骤:
S1、推荐引擎采集云平台中的主机在设定时间段内的性能样本数据,并分别计算各种性能样本数据的平均值,得软件压力环境配置表,所述软件压力环境配置表每一行包括各种性能样本数据的平均值、各种性能样本数据对应的变异系数及配置持续时长;
S2、采用均值聚类算法对所述软件压力环境配置表中的每一行数据进行相似度计算,得压力环境聚类表,所述压力环境聚类表每一行包括压力类,配置ID及压力类对应的标准压力;
S3、由变异系数和配置持续时长确定在同一软件在同一压力类下的得分,选择稳定性最高的配置作为与特定的压力类最匹配的标准配置,所述稳定性由同一服务程序的同一压力类下的得分确定,各个变异系数和配置持续时长来决定得分,变异系数或持续时长越大,得分越高;
S4、推荐引擎接收用户自浏览器所输入的压力环境,通过相似度算法计算当前压力需求与标准配置之间的相似度,将相似度最高的标准配置向用户进行推荐;
其中,所述标准压力为与压力类及配置ID适配的压力。
2.根据权利要求1所述的软件配置推荐方法,其特征在于,所述软件压力环境配置表中每一行包括软件种类、日均磁盘IO、日均CPU平均使用时间、日均内存平均使用量、日均磁盘增长、日均IO变异系数、日均CPU使用率变异系数、日均磁盘增长变异系数、配置持续时长。
3.根据权利要求1所述的软件配置推荐方法,其特征在于,步骤S3中的软件包括:HDFS、HIVE、HBASE、SPARK、JAVA、MYSQL或者TOMCAT。
4.根据权利要求3所述的软件配置推荐方法,其特征在于,所述推荐引擎运行于主机中或者运行于能够与主机进行通信的物理机、虚拟机、虚拟机集群或者集群服务器中。
5.根据权利要求4所述的软件配置推荐方法,其特征在于,执行步骤S1之前还包括:向推荐引擎录入待检测的主机的IP、用户名及密码。
6.根据权利要求1所述的软件配置推荐方法,其特征在于,所述均值聚类算法包括k-means均值聚类算法、K-medoids均值聚类算法、Clara均值聚类算法或者Clarans均值聚类算法。
7.根据权利要求6所述的软件配置推荐方法,其特征在于,所述均值聚类算法为k-means均值聚类算法;
所述步骤S2具体为:对所述软件压力环境配置表的记录分为至少K个类,采用k-means均值聚类算法对软件压力环境配置表中以行为单位,分解成K个簇,每个簇聚集了若干条软件压力环境配置表中的记录,记录每个簇的质心坐标,并将质心坐标作为该簇的标准压力,以得到压力环境聚类表;
其中,参数K取大于或者等于2的正整数。
8.根据权利要求1至7中任一项所述的软件配置推荐方法,其特征在于,还包括:将多种软件往复执行步骤S1至步骤S4,以形成标准配置表。
9.根据权利要求8所述的软件配置推荐方法,其特征在于,还包括将所述标准配置表保存至与推荐引擎关联的数据库中,当用户通过浏览器向推荐引擎输入压力环境时,匹配出当前压力需求与标准配置表中各个标准配置之间的相似度,从而将相似度最高的标准配置通过推荐引擎向用户进行推荐。
10.根据权利要求1所述的软件配置推荐方法,其特征在于,所述相似度算法为余弦相似度算法、皮尔森算法、欧几里得距离算法或者曼哈顿距离算法;所述推荐引擎运行于持久化存储介质中,所述持久化存储介质包括:数据库、Ceph存储装置、Hadoop分布式文件系统、SAN存储设备、NAS存储设备、RAID或者对象存储系统。
CN201811059221.0A 2018-09-06 2018-09-06 一种软件配置推荐方法 Active CN109271303B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811059221.0A CN109271303B (zh) 2018-09-06 2018-09-06 一种软件配置推荐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811059221.0A CN109271303B (zh) 2018-09-06 2018-09-06 一种软件配置推荐方法

Publications (2)

Publication Number Publication Date
CN109271303A CN109271303A (zh) 2019-01-25
CN109271303B true CN109271303B (zh) 2021-11-02

Family

ID=65188558

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811059221.0A Active CN109271303B (zh) 2018-09-06 2018-09-06 一种软件配置推荐方法

Country Status (1)

Country Link
CN (1) CN109271303B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111695962B (zh) * 2019-03-13 2023-04-25 阿里巴巴集团控股有限公司 云产品推荐方法和装置、计算设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1967533A (zh) * 2006-07-17 2007-05-23 北京航空航天大学 采用元推荐引擎的门户个性化推荐服务方法和系统
CN102193861A (zh) * 2011-03-15 2011-09-21 北京邮电大学 一种基于数据挖掘的软件可信性度量与评估方法
CN103514496A (zh) * 2012-06-21 2014-01-15 腾讯科技(深圳)有限公司 一种推荐目标软件的处理方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7689457B2 (en) * 2007-03-30 2010-03-30 Amazon Technologies, Inc. Cluster-based assessment of user interests

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1967533A (zh) * 2006-07-17 2007-05-23 北京航空航天大学 采用元推荐引擎的门户个性化推荐服务方法和系统
CN102193861A (zh) * 2011-03-15 2011-09-21 北京邮电大学 一种基于数据挖掘的软件可信性度量与评估方法
CN103514496A (zh) * 2012-06-21 2014-01-15 腾讯科技(深圳)有限公司 一种推荐目标软件的处理方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"A music Recommendation System with a Dynamic K-means Clustering Algorithm";Dong-Moon Kim等;《Sixth International Conference on Machine Learning and Applications》;20071215;第399-403页 *
"基于Hadoop的推荐系统研究与应用";李大为;《中国优秀硕士学位论文全文数据库(信息科技辑)》;20160515(第05期);第I138-1510页 *

Also Published As

Publication number Publication date
CN109271303A (zh) 2019-01-25

Similar Documents

Publication Publication Date Title
US11119834B2 (en) Artificial creation of dominant sequences that are representative of logged events
US10354201B1 (en) Scalable clustering for mixed machine learning data
Wang et al. Performance prediction for apache spark platform
Gong et al. Network performance aware MPI collective communication operations in the cloud
CN108062573A (zh) 模型训练方法及装置
US10268749B1 (en) Clustering sparse high dimensional data using sketches
Fadika et al. Evaluating hadoop for data-intensive scientific operations
KR102141083B1 (ko) 데이터베이스 시스템의 최적화 방법, 시스템, 전자장치 및 저장매체
Varghese et al. Cloud benchmarking for maximising performance of scientific applications
CN104063501B (zh) 基于hdfs的副本平衡方法
CN111722806A (zh) 云盘分配方法、装置、电子设备及存储介质
CN111966495B (zh) 数据处理方法和装置
JPWO2011071010A1 (ja) 負荷特性推定システム、負荷特性推定方法およびプログラム
CN110414569A (zh) 聚类实现方法及装置
US20150356163A1 (en) Methods and systems for analyzing datasets
US20070198252A1 (en) Optimum design management apparatus, optimum design calculation system, optimum design management method, and optimum design management program
CN113553341A (zh) 多维数据分析方法、装置、设备及计算机可读存储介质
Zhang et al. Splitting large medical data sets based on normal distribution in cloud environment
Aggarwal et al. Characterization of hadoop jobs using unsupervised learning
CN106570173A (zh) 一种基于Spark的高维稀疏文本数据聚类方法
CN109710403B (zh) 应用进程映射方法、电子装置及计算机可读存储介质
CN109271303B (zh) 一种软件配置推荐方法
CN114372060A (zh) 数据存储方法、装置、设备及存储介质
CN110737673A (zh) 一种数据处理的方法及系统
Méndez et al. Modeling parallel scientific applications through their input/output phases

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: Room 1601-035, 238 Jiangchang Third Road, Jing'an District, Shanghai 200040

Applicant after: Shanghai Huayun Mutual Data Technology Co., Ltd.

Address before: Room 1601-035, 238 Jiangchang Third Road, Jing'an District, Shanghai 200040

Applicant before: Shanghai Digital Farming Intelligent Technology Co., Ltd.

GR01 Patent grant
GR01 Patent grant