一种微服务评价方法及装置
文献发布时间:2023-06-19 12:07:15
技术领域
本申请涉及云计算技术领域,具体涉及一种微服务评价方法及装置。
背景技术
随着互联网技术的飞速发展,要求软件需要具有高可靠性、快速变化、持续交付、灵活等特性。因此,微服务架构软件以其敏捷、灵活、可扩展、可靠等特性,很好的适应了时代的要求,成为主流的软件架构。然而,就目前技术水平而言,微服务的划分和评估没有统一的标准,无法客观的对微服务的情况进行掌握。
为满足当前技术需求,现提供一种通用的微服务评价技术。
发明内容
本申请提供一种微服务评价方法及装置,基于微服务自身的构架情况以及基础信息,结合预设的计算方式,对微服务进行多方位的评估,从而获得较为客观且全面的评估结果。
第一方面,本申请提供了一种微服务评价方法,所述方法包括以下步骤:
基于微服务的全部类图和全部协作图,计算微服务中的内聚性指标、耦合性指标、收敛性指标;
根据所述内聚性指标、耦合性指标、收敛性指标,计算获得用于评价所述微服务综合水平的综合评分;其中,
微服务包括至少1个子微服务;
所述子微服务包括至少1个类;
所述类图用于表示各所述类之间的关联关系;
所述协作图用于表示各所述类之间的路径关系;
所述耦合性指标用于表示所述微服务耦合程度。
具体的,所述基于微服务的类图和协作图,计算微服务中的内聚性指标、耦合性指标、收敛性指标,包括以下步骤:
获取基于各类之间的类关系等级预设的标准距离值;
基于预设的类间距离公式和协作图距离公式计算各类之间的距离;
基于各类之间的距离,根据预设的内聚性指标计算公式计算所述内聚性指标;
基于两两所述子微服务之间的调用次数、两两所述子微服务之间存在调用的协作图个数、两两所述子微服务之间的耦合值以及所有子微服务的总数,计算所述微服务的所述耦合性指标;
基于协作图个数、每一个协作图需要调用子微服务的次数以及所有子微服务的个数,计算所述微服务的所述收敛性指标。
具体的,根据所述内聚性指标、耦合性指标、收敛性指标,计算获得用于评价所述微服务综合水平的综合评分,包括以下步骤:
获取预设的内聚性因子、耦合性因子以及收敛性因子;
根据所述内聚性指标、所述耦合性指标、所述收敛性指标、所述内聚性因子、所述耦合性因子以及所述收敛性因子,计算获得用于评价所述微服务综合水平的综合评分。
具体的,各类之间的类关系包括组合、依赖、继承、实现、关联以及聚合;
组合为第一级类关系,预设的标准距离值为1;
依赖为第二级类关系,预设的标准距离值为10;
继承以及实现为第三级类关系,预设的标准距离值为50;
关联以及聚合为第四级类关系,预设的标准距离值为100。
具体的,所述类间距离计算公式为:
D(E1,E2)表示类E1和类E2的距离,m
当m
具体的,所述协作图距离计算公式为:
m表示一个协作图的路径数,dc
具体的,所述内聚性指标计算公式为:
COH为微服务的内聚值,m为一个协作图的路径数,d
具体的,所述耦合性指标计算公式包括:
COU为耦合值,C(S1,S2)为两个子微服务S1、S2的耦合度,k为两个子微服务S1和S2之间存在可调用的协作图个数,n
具体的,所述收敛性指标计算公式包括:
CON为微服务的收敛值,k为两个子微服务之间存在可调用的协作图个数,n
第二方面,本申请提供了一种微服务评价装置,所述装置包括:
指标评估模块,其用于根据微服务的全部类图和全部协作图,计算微服务中的内聚性指标、耦合性指标、收敛性指标;
综合评估模块,其用于根据所述内聚性指标、耦合性指标、收敛性指标,计算获得用于评价所述微服务综合水平的综合评分;其中,
微服务包括至少1个子微服务;
所述子微服务包括至少1个类;
所述类图用于表示各所述类之间的关联关系;
所述协作图用于表示各所述类之间的路径关系;
所述耦合性指标用于表示所述微服务耦合程度。
本申请提供的技术方案带来的有益效果包括:
本申请基于微服务自身的构架情况以及基础信息,结合预设的计算方式,对微服务进行多方位的评估,从而获得较为客观且全面的评估结果。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中提供的微服务评价方法的步骤流程图;
图2为本申请实施例中提供的微服务评价装置的结构框图;
图3为本申请实施例中提供的微服务评价装置的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图对本申请的实施例作进一步详细说明。
本申请实施例提供一种微服务评价方法及装置,基于微服务自身的构架情况以及基础信息,结合预设的计算方式,对微服务进行多方位的评估,从而获得较为客观且全面的评估结果。
为达到上述技术效果,本申请的总体思路如下:
一种微服务评价方法,该方法包括以下步骤:
S1、基于微服务的全部类图和全部协作图,计算微服务中的内聚性指标、耦合性指标、收敛性指标;
S2、根据内聚性指标、耦合性指标、收敛性指标,计算获得用于评价微服务综合水平的综合评分;其中,
微服务包括至少1个子微服务;
子微服务包括至少1个类;
类图用于表示各类之间的关联关系;
协作图用于表示各类之间的路径关系;
耦合性指标用于表示微服务耦合程度。
以下结合附图对本申请的实施例作进一步详细说明。
第一方面,参见图1所示,本申请实施例提供一种微服务评价方法,该方法包括以下步骤:
S1、基于微服务的全部类图和全部协作图,计算微服务中的内聚性指标、耦合性指标、收敛性指标;
S2、根据内聚性指标、耦合性指标、收敛性指标,计算获得用于评价微服务综合水平的综合评分;其中,
微服务包括至少1个子微服务;
子微服务包括至少1个类;
类图用于表示各类之间的关联关系;
协作图用于表示各类之间的路径关系;
耦合性指标用于表示微服务耦合程度。
本申请实施例中,基于微服务自身的构架情况以及基础信息,结合预设的计算方式,对微服务进行多方位的评估,从而获得较为客观且全面的评估结果;
另外,能够对微服务划分进行评价,同时在可以参考该方法评价的情况进行微服务划分的调整,使得微服务划分的更加合理。
具体的,步骤S1,基于微服务的类图和协作图,计算微服务中的内聚性指标、耦合性指标、收敛性指标,包括以下步骤:
S100、获取基于各类之间的类关系等级预设的标准距离值;
S101、基于预设的类间距离公式和协作图距离公式计算各类之间的距离;
S102、基于各类之间的距离,根据预设的内聚性指标计算公式计算内聚性指标;
S103、基于两两子微服务之间的调用次数、两两子微服务之间存在调用的协作图个数、两两子微服务之间的耦合值以及所有子微服务的总数,计算微服务的耦合性指标;
S104、基于协作图个数、每一个协作图需要调用子微服务的次数以及所有子微服务的个数,计算微服务的收敛性指标。
具体的,步骤S2,根据内聚性指标、耦合性指标、收敛性指标,计算获得用于评价微服务综合水平的综合评分,包括以下步骤:
S200、获取预设的内聚性因子、耦合性因子以及收敛性因子;
S201、根据内聚性指标、耦合性指标、收敛性指标、内聚性因子、耦合性因子以及收敛性因子,计算获得用于评价微服务综合水平的综合评分。
具体的,各类之间的类关系包括组合、依赖、继承、实现、关联以及聚合;
组合为第一级类关系,预设的标准距离值为1;
依赖为第二级类关系,预设的标准距离值为10;
继承以及实现为第三级类关系,预设的标准距离值为50;
关联以及聚合为第四级类关系,预设的标准距离值为100。
具体的,类间距离计算公式为:
D(E1,E2)表示类E1和类E2的距离,m
当m
具体的,协作图距离计算公式为:
m表示一个协作图的路径数,dc
具体的,内聚性指标计算公式为:
COH为微服务的内聚值,m为一个协作图的路径数,d
具体的,耦合性指标计算公式包括:
COU为耦合值,C(S1,S2)为两个子微服务S1、S2的耦合度,k为两个子微服务S1和S2之间存在可调用的协作图个数,n
具体的,收敛性指标计算公式包括:
CON为微服务的收敛值,k为两个子微服务之间存在可调用的协作图个数,n
具体的,根据内聚性指标、耦合性指标、收敛性指标,计算获得用于评价微服务综合水平的综合评分,综合评分记作EVA,综合评分计算公式为:
EVA为用于评价微服务综合水平的综合评分;
COH为微服务的内聚值;
COH为微服务的内聚值;
CON为微服务的收敛值;
f
需要说明的是,基于本申请实施例中的该微服务评价方法,具体实施时,实行微服务评价工作流程,具体包括以下步骤:
步骤1,获取计算内聚性、耦合性、收敛性以及评价合并计算的原始数据,该原始数据来源于类图、协作图以及预设的计算公式常量;
步骤2,计算分项指标,包括计算内聚性、耦合性、收敛性指标数据;
步骤3,计算合并指标,在分项指标的基础上计算合并指标数据;
步骤4,判断是否调整微服务划分,根据计算结果,判断是否需要调整,对微服务划分进行调整,包括类图、协作图微服务的调整。如果需要调整,进入步骤5;如果不需要调整,流程结束;
步骤5,调整微服务划分,根据需要调整类图、协作图、微服务的划分。
第二方面,参见图2~3所示,本申请实施例提供一种微服务评价装置,其基于第一方面提及的微服务评价方法,该装置包括:
指标评估模块,其用于根据微服务的全部类图和全部协作图,计算微服务中的内聚性指标、耦合性指标、收敛性指标;
综合评估模块,其用于根据内聚性指标、耦合性指标、收敛性指标,计算获得用于评价微服务综合水平的综合评分;其中,
微服务包括至少1个子微服务;
子微服务包括至少1个类;
类图用于表示各类之间的关联关系;
协作图用于表示各类之间的路径关系;
耦合性指标用于表示微服务耦合程度。
本申请实施例中,基于微服务自身的构架情况以及基础信息,结合预设的计算方式,对微服务进行多方位的评估,从而获得较为客观且全面的评估结果;
另外,能够对微服务划分进行评价,同时在可以参考该方法评价的情况进行微服务划分的调整,使得微服务划分的更加合理。
具体的,基于微服务的类图和协作图,计算微服务中的内聚性指标、耦合性指标、收敛性指标,包括以下步骤:
获取基于各类之间的类关系等级预设的标准距离值;
基于预设的类间距离公式和协作图距离公式计算各类之间的距离;
基于各类之间的距离,根据预设的内聚性指标计算公式计算内聚性指标;
基于两两子微服务之间的调用次数、两两子微服务之间存在调用的协作图个数、两两子微服务之间的耦合值以及所有子微服务的总数,计算微服务的耦合性指标;
基于协作图个数、每一个协作图需要调用子微服务的次数以及所有子微服务的个数,计算微服务的收敛性指标。
具体的,根据内聚性指标、耦合性指标、收敛性指标,计算获得用于评价微服务综合水平的综合评分,包括以下步骤:
获取预设的内聚性因子、耦合性因子以及收敛性因子;
根据内聚性指标、耦合性指标、收敛性指标、内聚性因子、耦合性因子以及收敛性因子,计算获得用于评价微服务综合水平的综合评分。
具体的,各类之间的类关系包括组合、依赖、继承、实现、关联以及聚合;
组合为第一级类关系,预设的标准距离值为1;
依赖为第二级类关系,预设的标准距离值为10;
继承以及实现为第三级类关系,预设的标准距离值为50;
关联以及聚合为第四级类关系,预设的标准距离值为100。
具体的,类间距离计算公式为:
D(E1,E2)表示类E1和类E2的距离,m
当m
具体的,协作图距离计算公式为:
m表示一个协作图的路径数,dc
具体的,内聚性指标计算公式为:
COH为微服务的内聚值,m为一个协作图的路径数,d
具体的,耦合性指标计算公式包括:
COU为耦合值,C(S1,S2)为两个子微服务S1、S2的耦合度,k为两个子微服务S1和S2之间存在可调用的协作图个数,n
具体的,收敛性指标计算公式包括:
CON为微服务的收敛值,k为两个子微服务之间存在可调用的协作图个数,n
具体的,根据内聚性指标、耦合性指标、收敛性指标,计算获得用于评价微服务综合水平的综合评分,综合评分记作EVA,综合评分计算公式为:
EVA为用于评价微服务综合水平的综合评分;
COH为微服务的内聚值;
COH为微服务的内聚值;
CON为微服务的收敛值;
f
在具体实施时,该微服务评价装置包括展示层、业务层以及持久层;
展示层包括前端功能模块,用于进行各种计算数据的录入以及计算结果的显示;
业务层包括计算中心模块、内聚性计算模块、耦合性计算模块、收敛性计算模块、指标合并计算模块;
持久层包括数据存储模块。
具体的,业务层中:
计算中心模块,用于根据前端输入请求进行相关业务调度,包括数据持久化存储、计算内聚性、收敛性耦合性、合并计算的任务调度;
内聚性计算模块,用于计算内聚性,实现内聚性公式的计算,得出相应的内聚性结果;
耦合性计算模块,用于计算耦合性,实现耦合性公式的计算,得出相应的耦合性结果;
收敛性计算模块,用于计算收敛性,实现收敛性公式的计算,得出相应的收敛性结果;
指标合并计算模块,用于计算指标,实现指标合并公式的计算,得出相应的微服务划分指标结果。
需要说明的是,在本申请中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
- 一种基于微服务架构的资产价值评价方法、装置及系统
- 一种基于微服务架构的资产价值评价方法、装置及系统