【技术实现步骤摘要】
软件系统微服务的拆解方法及装置
[0001]本专利技术涉及微服务
,尤其涉及一种软件系统微服务的拆解方法及装置。
技术介绍
[0002]本部分旨在为权利要求书中陈述的本专利技术实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
[0003]目前,在企、事业信息化建设的道路上,面临相对复杂但又相对独立的业务,微服务的技术架构应用越来越普遍。微服务技术架构的应用易于开发与维护,各服务之间不受技术牵制,比如有些服务应用到了MQ(Message Queue,消息队列),有些应用没有用到,即可以在服务层按需引入其他技术组件。维护方面也可以按需升级,尽可能少地影响主体业务。
[0004]软件系统复杂的业务关系决定了不会产生完全独立(解耦)的业务模块,如何将复杂的业务合理的拆分成相对独立的微服务,需要开发经理根据具体的业务需求进行主观划分,目前划分的标准就是:将完全独立或者大量独立的业务模块拆分成独立的服务。然而并没有成熟的理论体系去划分微服务,因此一旦在微服务拆分上出了不合理的情况,将会给开发、维护工作上带来较大难度,那反而失去了应用微服务技术架构的意义。
技术实现思路
[0005]本专利技术实施例提供一种软件系统微服务的拆解方法,用以合理地进行微服务拆解,该方法包括:
[0006]将软件系统拆分为多个业务模块,将每一业务模块拆分为多个功能模块;
[0007]根据每个用户每天对每一功能模块操作的工作量,确定每两个业务模块存在交叉的功能模块的工作量; />[0008]根据每两个业务模块存在交叉的功能模块的工作量,以及该两个业务模块对应功能模块的总工作量,确定该两个业务模块之间的交叉率;
[0009]根据该两个业务模块之间的交叉率,以及预设交叉率阈值,确定是否将该两个业务模块拆分为两个微服务。
[0010]本专利技术实施例还提供一种软件系统微服务的拆解装置,用以合理地进行微服务拆解,该装置包括:
[0011]拆分单元,用于将软件系统拆分为多个业务模块,将每一业务模块拆分为多个功能模块;
[0012]工作量确定单元,用于根据每个用户每天对每一功能模块操作的工作量,确定每两个业务模块存在交叉的功能模块的工作量;
[0013]交叉率确定单元,用于根据每两个业务模块存在交叉的功能模块的工作量,以及该两个业务模块对应功能模块的总工作量,确定该两个业务模块之间的交叉率;
[0014]拆解确定单元,用于根据该两个业务模块之间的交叉率,以及预设交叉率阈值,确定是否将该两个业务模块拆分为两个微服务。
[0015]本专利技术实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述软件系统微服务的拆解方法。
[0016]本专利技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述软件系统微服务的拆解方法。
[0017]本专利技术实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述软件系统微服务的拆解方法。
[0018]本专利技术实施例中,软件系统微服务的拆解方案,通过:将软件系统拆分为多个业务模块,将每一业务模块拆分为多个功能模块;根据每个用户每天对每一功能模块操作的工作量,确定每两个业务模块存在交叉的功能模块的工作量;根据每两个业务模块存在交叉的功能模块的工作量,以及该两个业务模块对应功能模块的总工作量,确定该两个业务模块之间的交叉率;根据该两个业务模块之间的交叉率,以及预设交叉率阈值,确定是否将该两个业务模块拆分为两个微服务,该方案可以实现合理地进行微服务拆解。
附图说明
[0019]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
[0020]图1为本专利技术实施例中软件系统微服务的拆解的原理示意图;
[0021]图2为本专利技术实施例中软件系统微服务的拆解思路示意图;
[0022]图3为本专利技术实施例中软件系统微服务的拆解的功能结构示意图;
[0023]图4为本专利技术实施例中软件系统微服务的拆解的功能交叉示意图;
[0024]图5为本专利技术实施例中软件系统微服务的拆解的完成示意图;
[0025]图6为本专利技术实施例中软件系统微服务的拆解方法的流程示意图;
[0026]图7为本专利技术实施例中软件系统微服务的拆解装置的结构示意图。
具体实施方式
[0027]为使本专利技术实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本专利技术实施例做进一步详细说明。在此,本专利技术的示意性实施例及其说明用于解释本专利技术,但并不作为对本专利技术的限定。
[0028]图6为本专利技术实施例中软件系统微服务的拆解方法的流程示意图,如图6所示,该方法包括如下步骤:
[0029]步骤101:将软件系统拆分为多个业务模块,将每一业务模块拆分为多个功能模块;
[0030]步骤102:根据每个用户每天对每一功能模块操作的工作量,确定每两个业务模块存在交叉的功能模块的工作量;
[0031]步骤103:根据每两个业务模块存在交叉的功能模块的工作量,以及该两个业务模块对应功能模块的总工作量,确定该两个业务模块之间的交叉率;
[0032]步骤104:根据该两个业务模块之间的交叉率,以及预设交叉率阈值,确定是否将该两个业务模块拆分为两个微服务。
[0033]本专利技术实施例提供的软件系统微服务的拆解方法,工作时:将软件系统拆分为多个业务模块,将每一业务模块拆分为多个功能模块;根据每个用户每天对每一功能模块操作的工作量,确定每两个业务模块存在交叉的功能模块的工作量;根据每两个业务模块存在交叉的功能模块的工作量,以及该两个业务模块对应功能模块的总工作量,确定该两个业务模块之间的交叉率;根据该两个业务模块之间的交叉率,以及预设交叉率阈值,确定是否将该两个业务模块拆分为两个微服务,可以实现合理地进行微服务拆解。下面对该软件系统微服务的拆解方法进行详细介绍。
[0034]考虑到现有微服务拆分步合理的技术问题,如图1所示,专利技术人提出本专利技术实施例的思路是:拆分结果的核心参数即交叉率,那么交叉率的核心计算元就是工作量评估表(如下表1所示),所以拆分结果的直接影响因素就是根据需求对工作量的评估是否准确,所以存在的人为主观判断因素干扰,所以拆分是否精准,主要决定于架构师或者开发经理的评估水平。如图2所示,本专利技术实施例依托专利预审系统的业务需求(需求文档)进行功能模块划分,并且形成由面(如图3中所示的“专利预审系统”)到线(如图3中所示的“系统管理”、“流程管理”、“预审管理”),由线到点(如图3中所示的“点阵”本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种软件系统微服务的拆解方法,其特征在于,包括:将软件系统拆分为多个业务模块,将每一业务模块拆分为多个功能模块;根据每个用户每天对每一功能模块操作的工作量,确定每两个业务模块存在交叉的功能模块的工作量;根据每两个业务模块存在交叉的功能模块的工作量,以及该两个业务模块对应功能模块的总工作量,确定该两个业务模块之间的交叉率;根据该两个业务模块之间的交叉率,以及预设交叉率阈值,确定是否将该两个业务模块拆分为两个微服务。2.如权利要求1所述的方法,其特征在于,还包括:对于被拆分为两个微服务存在交叉的功能模块之间,利用Feign调用接口方式进行两个微服务之间的交互。3.如权利要求1所述的方法,其特征在于,根据该两个业务模块之间的交叉率,以及预设交叉率阈值,确定是否将该两个业务模块拆分为两个微服务,包括:在该两个业务模块之间的交叉率低于预设交叉率阈值时,确定将该两个业务模块拆分为两个微服务。4.如权利要求1所述的方法,其特征在于,根据该两个业务模块之间的交叉率,以及预设交叉率阈值,确定是否将该两个业务模块拆分为两个微服务,包括:在该两个业务模块之间的交叉率超过预设交叉率阈值时,确定不将该两个业务模块拆分为两个微服务。5.如权利要求1所述的方法,其特征在于,所述软件系统为专利预审业务系统。6.一种软件系统微服务的拆解装置,其特征在于,包括:拆分单元,用于将软件系统拆分为多个业务模块,将每一业务模块拆分为多个功能模块;工作量确定单元,用于根据每...
【专利技术属性】
技术研发人员:程义,杨长青,李猛,李程,岳金涛,李君令,
申请(专利权)人:北京中知智慧科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。