一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种微服务划分方法

2022-11-16 17:20:18 来源:中国专利 TAG:


1.本发明涉及微服务技术领域,尤其涉及一种微服务划分方法。


背景技术:

2.当前,微服务已成为与云计算相关的流行架构风格之一,在微服务体系结构中,应用程序被开发为一套小型的、自主的、单一负责的服务,每个服务都按照自己的流程运行,并使用标准的、轻量级的通信机制和协议进行通信,微服务的强大之处在于它们能够独立地、自动地部署,并结合起来创建更复杂的服务。尽管微服务架构优秀明显,但合理的微服务划分不论在学术界还是产业价是不得不面临的一项严峻挑战;
3.目前对于微服务的划分方法中service cutter分解工具操作非常复杂,使用不方便;以微服务粒度、单一职责、可扩展性、松耦合和高内聚、领域驱动设计、可管理性、低网络复杂度、独立性、无循环依赖、性能等十条微服务架构设计原则的微服务体系结构分析工具,没有考虑到服务粒度的特性,缺少说服力,因此,本发明提出一种微服务划分方法以解决现有技术中存在的问题。


技术实现要素:

4.针对上述问题,本发明的目的在于提出一种微服务划分方法,该微服务划分方法方法操作计算简单快捷,同时创新性的提出以内聚度、耦合度、粒度和可重用性作为微服务划分指标,充分考虑了粒度的特性,具有更强的说服力。
5.为实现本发明的目的,本发明通过以下技术方案实现:一种微服务划分方法,包括以下步骤:
6.步骤一、构建微服务划分模型,并以内聚度、耦合度、粒度和可重用性作为微服务划分指标;
7.步骤二、根据下式计算出内聚度微服务划分指标coms(cohesion of micro-service)
[0008][0009]
其中sci表示对应的服务k的内聚性,i表示第k个服务中的用例数,s表示系统中的所有服务数;
[0010]
步骤三、根据下式计算出耦合度微服务划分指标cbms(coupling between micro-service)
[0011][0012]
其中ms.write表示微服务s中所有操作的被调用次数,ms.read表示微服务s中操
作的调用其他操作的次数;
[0013]
步骤四、根据下式计算出粒度微服务划分指标gbms(granularity between micro-service)
[0014]
gbmsi=∑
i,j》1oij
[0015]
其中gbmsi表示第i个微服务的粒度,o
ij
表示属于第i个微服务中的第j个操作;
[0016]
步骤五、根据下式计算出可重用性微服务划分指标rbms(reusability between micro-service)
[0017][0018]
其中coms表示微服务内聚性,gbmsi表示第i个微服务的粒度,cbms表示微服务耦合性;
[0019]
步骤六、合并计算内聚度、耦合度、粒度和可重用性微服务划分指标对微服务划分的综合评价,根据评价结果对微服务进行划分。
[0020]
进一步改进在于:所述步骤二中对应的服务k的内聚性sci用下式计算
[0021][0022]
其中i表示第k个服务中的用例数,ei表示边集r的内聚性平均值。
[0023]
进一步改进在于:所述边集r的内聚性平均值ei由下式计算
[0024][0025]
在微服务内定义任意两个用例并建立顶点集(be1,be2),用两个用例之间的距离值构成边集,建立二分图g(v,e),二分图中每条边e(i)的距离值表示为dist(e(i)),选出连接两个用例中所有实体的距离值最小的边的集合r计算得到两个用例之间的内聚性平均值ei。
[0026]
进一步改进在于:所述步骤三中ms.write表示微服务s中所有操作的被调用次数,ms.write值越大表示有越多的微服务依赖微服务s;ms.read表示微服务s中操作的调用其他操作的次数,ms.read值越大,表示s中的操作对其他的操作的调用次数越多,微服务s就越依赖其他微服务。
[0027]
进一步改进在于:所述步骤五中可重用性微服务划分指标计算公式当rbms=0时,表明微服务耦合度cbms最低;当coms值趋于无限小时,rbms值无限大,rbms值越大,表明微服务的可重用性越高。
[0028]
进一步改进在于:所述步骤六中先假设微服务架构中存在x个微服务,分别对x个微服务进行粒度、耦合度、内聚度和可重用性计算,结果用矩阵w表示如下
[0029]
[0030]
其中分别表示第一个微服务的粒度值、耦合度值、内聚度值和可重用性值,再对x个微服务的计算结果进行归一化处理,使指标数据的归一化结果在[0,1]之间,归一化处理后对各项指标进行加权处理,假设各指标的权重向量为pi={p
gbms
,p
cbms
,p
coms
,p
rbms
},则微服务综合评价由下式表示
[0031][0032]
其中cems表示微服务综合评价,m
is
表示第i个微服务,pi表示权重向量,p
gbms
p
cbms
p
coms
p
rbms
=1。
[0033]
本发明的有益效果为:本发明方法操作计算简单快捷,同时创新性的提出以内聚度、耦合度、粒度和可重用性作为微服务划分指标,并根据各个划分指标的计算结果对微服务划分进行计算评价,得到合理的微服务划分具有更高的服务内聚性与可重用性,更低的服务耦合性和更细的粒度的结论,充分考虑了粒度的特性,具有更强的说服力。
附图说明
[0034]
图1为本发明实施例方法步骤流程图。
[0035]
图2为本发明实施例的无向二分图。
具体实施方式
[0036]
为了加深对本发明的理解,下面将结合实施例对本发明做进一步详述,本实施例仅用于解释本发明,并不构成对本发明保护范围的限定。
[0037]
实施例
[0038]
根据图1和图2所示,本实施例提供了一种微服务划分方法,包括以下步骤:
[0039]
步骤一、以用便为基础,构建无向二分图g(v,e),v顶点代表用例(服务)、e边代表用例(服务)间长度或调用关系,具体如说明书附图2所示,图中箭头仅代表服务间的调用关系,并非有向图,圆形大小代表服务的粒度大小;
[0040]
即构建了微服务划分模型,并结合微服务领域对微服务的划分原则,以内聚度、耦合度、粒度和可重用性作为微服务划分指标。
[0041]
步骤二、根据下式计算出内聚度微服务划分指标coms(cohesion of micro-service)
[0042][0043]
其中sci表示对应的服务k的内聚性,i表示第k个服务中的用例数,s表示系统中的所有服务数,对应的服务k的内聚性sci根据聚类系数公式用下式计算
[0044][0045]
其中i表示第k个服务中的用例数,ei表示边集r的内聚性平均值,由下式计算
micro-service)
[0058][0059]
其中coms表示微服务内聚性,gbmsi表示第i个微服务的粒度,cbms表示微服务耦合性,当rbms=0时,表明微服务耦合度cbms最低;当coms值趋于无限小时,rbms值无限大,rbms值越大,表明微服务的可重用性越高。
[0060]
步骤六、根据步骤二到步骤五对四个指标的计算过程发现,如果服务的用例越少微服务粒度越小,服务的内聚性明显提高,与此同时会明显增加服务间相互通讯与相互调用,实际上是增加服务的耦合与依赖;
[0061]
微服务划分的四个指标之间相互影响,共同决定微服务划分的合理性,合并计算内聚度、耦合度、粒度和可重用性微服务划分指标对微服务划分的综合评价,根据评价结果对微服务进行划分;
[0062]
计算时假设微服务架构中存在x个微服务,分别对x个微服务进行粒度、耦合度、内聚度和可重用性计算,结果用矩阵w表示如下
[0063][0064]
其中m
gbms1
、m
cbms1
、m
coms1mrbms1
和分别表示第1个微服务的粒度值、耦合度值、内聚度值和可重用性值,由于四个指标各乍意义不同,其量纲和取值范围也不相同,因此,再对x个微服务的计算结果进行归一化处理,使指标数据的归一化结果在[0,1]之间,归一化处理后对各项指标进行加权处理,假设各指标的权重向量为pi={p
gbms
,p
cbms
,p
coms
,p
rbms
},则微服务综合评价由下式表示
[0065][0066]
其中cems表示微服务综合评价,m
is
表示第i个微服务,pi表示权重向量,p
gbms
p
cbms
p
coms
p
rbms
=1。
[0067]
根据步骤二到步骤五的计算分析可得,更合理的微服务划分具有更高的服务内聚性与可重用性,更低的服务耦合性、更细的粒度,因此对于正向指标(即更高的服务内聚性与可重用性)有
[0068][0069]
对于负向指标(即更低的服务耦合性和更细的粒度)有
[0070][0071]
其中,max(a
ij
)和min(a
ij
)分别表示在n个不同规划结果下的最大值和最小值,其中a
ij
为数学表示方式,没有特定含义。
[0072]
以上显示和描述了本发明的基本原理、主要特征和优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献