CN104765820B - 一种非侵入式的服务依赖关系发现方法 - Google Patents
一种非侵入式的服务依赖关系发现方法 Download PDFInfo
- Publication number
- CN104765820B CN104765820B CN201510161396.2A CN201510161396A CN104765820B CN 104765820 B CN104765820 B CN 104765820B CN 201510161396 A CN201510161396 A CN 201510161396A CN 104765820 B CN104765820 B CN 104765820B
- Authority
- CN
- China
- Prior art keywords
- service
- distance
- class
- cluster
- similarity
- 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
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000005259 measurement Methods 0.000 claims abstract description 7
- 239000011159 matrix material Substances 0.000 claims description 44
- 150000001875 compounds Chemical class 0.000 claims description 4
- 230000008569 process Effects 0.000 claims description 4
- 230000015572 biosynthetic process Effects 0.000 claims description 2
- 230000006835 compression Effects 0.000 claims 1
- 238000007906 compression Methods 0.000 claims 1
- 235000019580 granularity Nutrition 0.000 description 8
- 101100428617 Homo sapiens VMP1 gene Proteins 0.000 description 5
- 101150074162 TDC1 gene Proteins 0.000 description 5
- 102100038001 Vacuole membrane protein 1 Human genes 0.000 description 5
- 101150010135 TDC2 gene Proteins 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 241000490025 Schefflera digitata Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种非侵入式的服务依赖关系发现方法,设计一种分步计算方法,为了照顾特殊节点,同时设计了一个综合考虑资源使用情况相似度和TCP/UDP连接数相似度的方法来度量服务之间的距离,服务聚类更准确:通过对比基于资源使用情况和TCP/UDP连接数的层次聚类算法聚类结果,获取有效描述每个服务类的代表中心点,然后通过将剩余服务向中心点靠拢的方式来完成聚类,聚类结果较单纯的层次聚类算法更准确,聚类算法复杂度更低:相对于传统KMeans不断迭代所有服务来寻找最优的中心组,本方法通过重叠类过滤的方式,降低了中心服务寻找的复杂度。
Description
技术领域
本发明涉及云计算环境下服务依赖关系发现领域,尤其涉及一种非侵入式的服务依赖关系发现方法。
背景技术
随着云计算技术的飞速发展,越来越多的基础设施、平台以及软件被以服务的形式提供给用户。而且,基础设施服务提供商、平台服务提供商和软件服务提供商一般来说都不相同。所以基础设施服务提供商一般情况下都不了解软件服务提供商提供的软件的具体实现框架。云计算环境下的软件服务多以组合服务的形式实现功能需求。如何在不侵犯软件服务隐私的情况下,尽量获取更多的服务之间的依赖关系,有助于服务智能化调度、智能化数据备份和软件错误回溯等。
现有的服务依赖关系发现方法主要分为三个粒度。第一种粒度是源代码级依赖关系发现,此种粒度需要以在软件的源代码中插桩的模式,来获取具体源代码调用与依赖关系;第二种粒度是软件包的依赖关系发现,此种粒度也需要对软件源码有一定程度的了解,在一定的位置截取系统消息,才能获取到软件的依赖关系;第三种粒度是服务之间的依赖关系,此种粒度通过分析服务之间的相似性,完成相似的服务的聚类的模式,找到依赖的服务群组。第三种粒度可以在不了解软件的源代码的基础上,通过智能化分析方法,实现服务依赖关系发现,更适用于以租赁模式为主的云计算环境。非侵入式的服务依赖关系发现面临很多挑战,首先是如何准备地描述服务之间的相似性并得到服务之间的距离矩阵。其次是如何准确的将相似的服务聚类。再次是如何在无人为参与的情况下,确定服务类数。
发明内容
针对上述技术缺陷,本发明提出一种非侵入式的服务依赖关系发现方法。其目的在于解决如何发现组成同一应用程序的服务之间的依赖关系的问题,提供一种通过计算服务之间的资源使用情况和TCP/UDP连接数的相似度来度量服务距离并自动地完成服务聚类的方法。
为了解决上述技术问题,本发明的技术方案如下:
一种非侵入式的服务依赖关系发现方法,包括如下步骤:11)计算基于资源使用情况的距离矩阵和基于TCP/UDP连接数的距离矩阵,并基于两个矩阵分别进行层次聚类,获得两个一轮聚类结果;
所述资源使用情况距离矩阵为一种服务之间距离的表示方法,通过计算服务的多维资源使用情况的皮尔森相似度的平均值来度量服务之间的相似度,然后取相似度的负值,即可获得资源使用情况距离矩阵;
所述TCP/UDP连接数距离矩阵为一种服务之间的距离的表示方法,通过计算服务上的TCP和UDP的连接数之和的皮尔森相似度,然后取相似度的负值,即可获得TCP/UDP连接数距离矩阵;
所述层次聚类方法为一种聚类方法,通过计算所有待聚类的点之间的互相距离,将距离最近的点归为一类;
12)对于两个一轮聚类结果,通过计算类间距离分别重新构建距离矩阵,把聚类的类个数压缩,分别选择具有最大Silhouette值的聚类结果作为二轮聚类结果;
13)对比两个二轮聚类结果,选出具有交集个数超过2的类叠加形成新的类,在形成的新类中计算每个点与其他所有点的距离之和,距离矩阵采用复合距离矩阵,并选取具有最小距离之和的点加入初始类中心点集;
14)遍历2到初始中心点集内点的个数减1的所有类数,在每一个类数下,选择互相距离之和最大的类数个点作为初始类中心,然后采用KMeans方法将服务聚类到离其最近的中心所在类中,取具有最大的Silhouette值的聚类个数和聚类结果作为最终服务聚类结果;
初始中心点为聚类过程中被选择成为类中心点的服务。
本发明的有益效果是:服务距离计算更有效:属于同一个应用程序的服务之间需要协作处理用户需求。当请求进入应用程序之后,其处理过程都需要经过不同类型的节点连续处理,这种情况会造成属于同一个应用中的不同服务的资源使用情况和TCP/UDP连接数都具有相似的上升或者下降趋势。为了照顾特殊节点,本方法同时设计了一个综合考虑资源使用情况相似度和TCP/UDP连接数相似度的方法来度量服务之间的距离。服务聚类更准确:本方法设计一种分步计算方法,通过对比基于资源使用情况和TCP/UDP连接数的层次聚类算法聚类结果,获取有效描述每个服务类的代表中心点,然后通过将剩余服务向中心点靠拢的方式来完成聚类,聚类结果较单纯的层次聚类算法更准确。聚类算法复杂度更低:相对于传统KMeans不断迭代所有服务来寻找最优的中心组,本方法通过重叠类过滤的方式,降低了中心服务寻找的复杂度。
附图说明
图1为服务依赖关系发现方法流程图。
具体实施方式
下面将结合附图和具体实施例对本发明做进一步的说明。
名词解释:
应用程序:可以独立满足用户需求的软件系统。
服务:应用程序中完成整个系统功能中的某一个子模块。
初始中心点:聚类过程中被选择成为类中心点的服务。
资源使用情况相似度矩阵(CD):一种服务之间相似度的表示方法,通过计算服务的多维资源使用情况的皮尔森相似度的平均值来度量服务之间的相似度。
资源使用情况距离矩阵(UD):一种服务之间距离的表示方法,通过计算服务的多维资源使用情况的皮尔森相似度的平均值来度量服务之间的相似度,然后取相似度的负值,即可获得资源使用情况距离矩阵。
TCP/UDP连接数距离矩阵(TD):一种服务之间的距离的表示方法,通过计算服务上的TCP和UDP的连接数之和的皮尔森相似度,然后取相似度的负值,即可获得TCP/UDP连接数距离矩阵。
最终距离矩阵:一种服务之间的距离表示方法,通过对比资源使用情况距离矩阵与TCP/UDP连接数距离矩阵中两个服务之间的距离差异的绝对值,并综合考虑其与该差异的绝对值,计算出的节点间的距离矩阵。
层次聚类方法:一种聚类方法,通过计算所有待聚类的点之间的互相距离,将距离最近的点归为一类。具体实现方法为,首先取距离最短的两点为一类,对于每一个一个新点,都对比其与已有的类的距离和未被分类的点的距离,如果其到已有类的距离更小,则将其归入与其距离最小的已有类,如果其到未分类点的距离更小,则将其同与其具有最短距离的点一起重新构建一个新类。
KMeans聚类方法:一种聚类方法,通过选取初始聚类代表点,然后计算剩下的点与初始聚类代表点之间的距离,并将剩下点的聚类到与其距离最近的初始聚类代表点所在的类。
本发明是通过以下技术方案来实现的:
一种非侵入式的服务依赖关系发现方法,包括以下步骤:
计算基于资源使用情况的距离矩阵和基于TCP/UDP连接数的距离矩阵,并基于两个矩阵分别进行层次聚类,获得两个一轮聚类结果。对于两个一轮聚类结果,通过计算类间距离分别重新构建距离矩阵,把聚类的类个数压缩,分别选择具有最大Silhouette值的聚类结果作为二轮聚类结果。对比两个二轮聚类结果,选出具有交集个数超过2的类叠加形成新的类,在形成的新类中计算每个点与其他所有点的距离之和,距离矩阵采用复合距离矩阵,并选取具有最小距离之和的点加入初始类中心点集。遍历2到初始中心点集内点的个数减1的所有类数,在每一个类数下,选择互相距离之和最大的类数个点作为初始类中心,然后采用KMeans算法将服务聚类到离其最近的中心所在类中。取具有最大的Silhouette值的聚类个数和聚类结果作为最终服务聚类结果。
实施例一:
本发明是一种基于相似服务聚类的服务依赖发现方法,方法设计了图1的流程结构,包括:
表格监控指标详细解释
1.指标 | 2.详细解释 |
3.CPU_user | 4.用户级别调用所占用的CPU时间 |
5.CPU_system | 6.系统级别调用所占用的CPU时间 |
7.mem_used | 8.内存使用量的百分比 |
9.rd_sec/s | 10.每秒读取的扇区数 |
11.wr_sec/s | 12.每秒写入的扇区数 |
13.rxpck/s | 14.每秒接收的数据包数 |
15.txpck/s | 16.每秒发送的数据包数 |
US计算器:计算基于资源使用情况的服务相似度矩阵的计算器。US计算器选择CPU_user, CPU_system, mem_used, rd_sec/s, wr_sec/s, rxpck/s和txpck/s等七个指标作为资源使用情况的代表(每个指标的具体解释见表1),按照每秒一组数据的模式将所有数据按照时序数据的方式存储,然后单独计算一对服务的每项指标的皮尔森相关系数。取一对服务的所有项指标的皮尔森相关系数的平均值作为这一对服务的资源使用情况相似度矩阵US。
计算器:计算基于资源使用情况的服务相似度矩阵的计算器,通过UD=1-US公式来计算UD。
CS计算器:计算基于时序TCP/UDP连接个数的服务相似度矩阵的计算器。CS计算器选择每秒的TCP与UDP连接数之和作为当时的TCP/UDP连接数,按照时序模式读取连接数,并计算每对服务之间的连接数的相似度矩阵CS。
计算器:计算基于TCP/UDP连接个数的服务距离矩阵,通过CD=1-CS公式来计算CD。
计算器:计算同时考虑资源使用情况与TCP/UDP连接数的服务相似度矩阵。ComD计算器对比每一对服务的CD与UD的值,并根据ComD=(1-0.5*|CD-UD|)*(CD+UD)*0.5公式计算复合距离矩阵ComD。
值计算器:使用如下公式计算每一个分类结果下的每一个服务组件的Silhouette值:
其中代表该服务到除自己所属的类以外的其他类中心的最短距离,代表该服务所在的类中所有的点到该类中心的距离均值。然后对所有的服务的Silhouette值求均值,则可以得到相应分类结果下的Silhouette值。
具体的依赖服务聚类方法如图1所示,主要分为以下流程:
第一、监控探针分别监控服务资源使用情况和TCP/UDP连接数
第二、使用US计算器和TS计算器计算和计算相似度矩阵US和TS。
第三、使用UD计算器、TD计算器和ComD计算器计算距离矩阵UD、TD和ComD
第四、对UD和TD分别使用层次聚类方法将所有服务聚类,获得初始聚类结果UDC1和TDC1
第五、对于UDC1和TDC1,分别使用UD和TD中的距离值计算初始聚类结果中各类之间的距离,获得类间距离矩阵UDC1D和TDC1D
第六、对于UDC1和TDC1,使用UDC1D和TDC1D,采用层次聚类方法,再次进行聚类
第七、取类的个数为2到UDC1和TDC1中的类的个数减去一,计算取每个类个数时相应的聚类结果的Silhouette值,并对UDC1和TDC1分别取其Silhouette为最大值时的类数和分类结果UDC2和TDC2.
第八、对比UDC2和TDC2中的聚类结果,将具有2个点以上重叠的类选出来,然后把这两个类合并。
第九、在合并后的类中选择与除自己以外的其他点的距离之和最小的点并入初始中心点集IC.
第十、从2到IC内点的个数减一遍历类的个数,然后对于每个确定的类的个数n,从IC中取n个距离之和最大的点作为中心节点。
第十一、使用KMeans聚类方法,通过ComD距离矩阵和IC中选取的n个中心点,对服务进行聚类。
第十二、选择具有最大的Silhouette值的n值和相应的聚类结果作为最终的应用程序个数和服务依赖关系发现结果。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员,在不脱离本发明构思的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明保护范围内。
Claims (1)
1.一种非侵入式的服务依赖关系发现方法,其特征在于,包括如下步骤:
11)计算基于资源使用情况的距离矩阵和基于TCP/UDP连接数的距离矩阵,并基于两个矩阵分别进行层次聚类,获得两个一轮聚类结果;
所述资源使用情况的距离矩阵为一种服务之间距离的表示方法,通过计算服务的多维资源使用情况的皮尔森相似度的平均值来度量服务之间的相似度,然后取相似度的负值,即可获得资源使用情况距离矩阵;
所述TCP/UDP连接数距离矩阵为一种服务之间的距离的表示方法,通过计算服务上的TCP和UDP的连接数之和的皮尔森相似度,然后取相似度的负值,即可获得TCP/UDP连接数距离矩阵;
所述层次聚类方法为一种聚类方法,通过计算所有待聚类的点之间的互相距离,将距离最近的点归为一类;
12)对于两个一轮聚类结果,通过计算类间距离分别重新构建距离矩阵,把聚类的类个数压缩,分别选择具有最大Silhouette值的聚类结果作为二轮聚类结果;
13)对比两个二轮聚类结果,选出具有交集个数超过2的类叠加形成新的类,在形成的新类中计算每个点与其他所有点的距离之和,距离矩阵采用复合距离矩阵,并选取具有最小距离之和的点加入初始类中心点集;
14)遍历2到初始中心点集内点的个数减l的所有类数,在每一个类数下,选择互相距离之和最大的类数个点作为初始类中心,然后采用KMeans方法将服务聚类到离其最近的中心所在类中,取具有最大的Silhouette值的聚类个数和聚类结果作为最终服务聚类结果;
初始中心点为聚类过程中被选择成为类中心点的服务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510161396.2A CN104765820B (zh) | 2015-04-07 | 2015-04-07 | 一种非侵入式的服务依赖关系发现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510161396.2A CN104765820B (zh) | 2015-04-07 | 2015-04-07 | 一种非侵入式的服务依赖关系发现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104765820A CN104765820A (zh) | 2015-07-08 |
CN104765820B true CN104765820B (zh) | 2018-05-11 |
Family
ID=53647650
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510161396.2A Active CN104765820B (zh) | 2015-04-07 | 2015-04-07 | 一种非侵入式的服务依赖关系发现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104765820B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105630573B (zh) * | 2015-10-20 | 2018-12-07 | 浙江大学 | 一种非侵入式的虚拟机集群发现方法 |
CN109194703B (zh) * | 2018-06-29 | 2021-06-18 | 平安科技(深圳)有限公司 | 云平台主机间通信负载的处理方法、电子装置及介质 |
CN109587255B (zh) * | 2018-12-12 | 2022-02-22 | 深圳先进技术研究院 | 服务依赖关系图的构造方法、系统及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102799667A (zh) * | 2012-07-13 | 2012-11-28 | 北京工商大学 | 一种基于非对称距离下的层次聚类方法 |
CN103150336A (zh) * | 2013-02-04 | 2013-06-12 | 浙江大学 | 一种基于用户聚类的sky line在线计算方法 |
CN103701814A (zh) * | 2013-12-27 | 2014-04-02 | 北京启明星辰信息技术股份有限公司 | 一种基于行为检测实现网络流量识别的方法及装置 |
CN103870751A (zh) * | 2012-12-18 | 2014-06-18 | 中国移动通信集团山东有限公司 | 入侵检测方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014095967A (ja) * | 2012-11-08 | 2014-05-22 | Sony Corp | 情報処理装置、情報処理方法およびプログラム |
-
2015
- 2015-04-07 CN CN201510161396.2A patent/CN104765820B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102799667A (zh) * | 2012-07-13 | 2012-11-28 | 北京工商大学 | 一种基于非对称距离下的层次聚类方法 |
CN103870751A (zh) * | 2012-12-18 | 2014-06-18 | 中国移动通信集团山东有限公司 | 入侵检测方法及系统 |
CN103150336A (zh) * | 2013-02-04 | 2013-06-12 | 浙江大学 | 一种基于用户聚类的sky line在线计算方法 |
CN103701814A (zh) * | 2013-12-27 | 2014-04-02 | 北京启明星辰信息技术股份有限公司 | 一种基于行为检测实现网络流量识别的方法及装置 |
Non-Patent Citations (1)
Title |
---|
一种面向入侵检测的半监督聚类算法;夏战国 等;《山东大学学报(工学版)》;20121231;第42卷(第6期);1-7 * |
Also Published As
Publication number | Publication date |
---|---|
CN104765820A (zh) | 2015-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112565331B (zh) | 一种基于边缘计算的端-边协同联邦学习优化方法 | |
CN104765820B (zh) | 一种非侵入式的服务依赖关系发现方法 | |
CN104391879A (zh) | 层次聚类的方法及装置 | |
CN113286315B (zh) | 负载均衡判断方法、装置、设备及存储介质 | |
CN103838803A (zh) | 一种基于节点Jaccard相似度的社交网络社团发现方法 | |
CN105338537B (zh) | 一种新增基站站址共享分析的方法及终端 | |
CN107453928A (zh) | 一种电力通信网节点重要度评价方法及装置 | |
CN105095909A (zh) | 一种应用于移动网络的用户相似性评估方法及装置 | |
CN110059770A (zh) | 基于位置预测的自适应任务分发方法、装置及相关组件 | |
CN105488134A (zh) | 大数据处理方法及大数据处理装置 | |
CN107623924A (zh) | 一种验证影响关键质量指标kqi相关的关键性能指标kpi的方法和装置 | |
CN110825935A (zh) | 社区核心人物挖掘方法、系统、电子设备及可读存储介质 | |
CN109859066A (zh) | 一种确定工艺参数的方法和装置 | |
CN112858873B (zh) | 一种基于二端测试的引脚资源分配方法及系统 | |
CN114546609A (zh) | 一种面向异构集群的dnn推理任务批调度方法 | |
CN108171538A (zh) | 用户数据处理方法及系统 | |
CN103729696B (zh) | 基于拥塞博弈模型的参与式感知数据系统及其方法 | |
CN114979148B (zh) | 数据传输方法、装置及计算机可读存储介质 | |
CN105843578B (zh) | 一种拼接墙回显方法、装置及系统 | |
CN113905066A (zh) | 物联网的组网方法、物联网的组网装置及电子设备 | |
CN108271198A (zh) | 一种流量仿真方法及装置 | |
CN112948323A (zh) | 存储器映射处理方法、装置及fpga芯片 | |
CN111092755A (zh) | 一种基于资源占用的边缘服务迁移仿真方法 | |
CN116094952B (zh) | 网络结构相似度的确定方法、装置、设备以及存储介质 | |
CN110674143A (zh) | 一种免耕机作业信息监测系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |