一种业务拆分方法及装置与流程

文档序号:31535475发布日期:2022-09-16 22:17阅读:67来源:国知局
一种业务拆分方法及装置与流程

1.本发明属于数据拆分领域,尤其涉及一种业务拆分方法及装置。


背景技术:

2.随着业务的持续增长,业务越来越复杂多变,应用也越来越广泛,给业务中台支撑海量用户访问、支撑业务创新以及业务稳定运行等带来新的挑战。
3.在现有技术中,针对业务进行拆分的方法基本是把大的单体系统拆分为若干小的单体系统,业务拆分前后并没有本质的区别,业务广泛的应用,使得其任意小的改动影响面非常大,开发和维护成本也随之变得很高,这样的系统不能满足业务的灵活性,将无法适应未来复杂多变的业务。


技术实现要素:

4.鉴于上述问题,本技术提出了一种业务拆分方法及装置,为了实现业务的微服务拆分,为业务的扩展或改动奠定良好基础,具体方案如下:
5.一种业务拆分方法,包括:
6.获取待拆分的业务;
7.基于所述待拆分的业务的业务需求,确定所述待拆分的业务的用例以及所述用例的描述信息;
8.对所述用例的描述信息进行分析,生成所述待拆分的业务的关系图,所述关系图中包括所述待拆分的业务中的实体、所述待拆分的业务中的实体的属性、所述待拆分的业务中的实体之间的业务操作和所述待拆分的业务中的实体之间的关联关系;
9.基于所述关系图,确定所述待拆分的业务的微服务拆分方案。
10.可选的,所述对所述用例的描述信息进行分析,生成所述待拆分的业务的关系图,包括:
11.对所述用例的描述信息进行分析,获取名词、动词和形容词;
12.基于所述名词、动词和形容词,确定所述待拆分的业务中的实体、所述待拆分的业务中的实体的属性、所述待拆分的业务中的实体之间的业务操作和所述待拆分的业务中的实体之间的关联关系;
13.根据所述待拆分的业务中的实体、所述待拆分的业务中的实体的属性、所述待拆分的业务中的实体之间的业务操作和所述待拆分的业务中的实体之间的关联关系,生成所述待拆分的业务的关系图。
14.可选的,所述基于所述关系图,确定所述待拆分的业务的微服务拆分方案,包括:
15.对所述关系图进行量化,确定所述关系图中的边对应的权重;
16.基于所述关系图中的边对应的权重,生成所述待拆分的业务的加权图;
17.基于不同的粒度对所述加权图进行拆分,得到多个微服务拆分方案,每个微服务拆分方案包括多个子图,每个子图对应一个微服务;
18.从所述多个微服务拆分方案中,确定所述待拆分的业务的微服务拆分方案。
19.可选的,所述对所述关系图进行量化,确定所述关系图中的边对应的权重,包括:
20.对所述关系图中的边对应的顶点之间的关系进行量化,确定所述关系图中的边对应的顶点之间的关联度和耦合度;
21.对所述关系图中的边对应的顶点与所述关系图中的其他边对应的顶点之间的关系进行量化,确定所述关系图中的边对应的顶点与所述关系图中的其他边对应的顶点之间开销度;
22.基于所述关联度、所述耦合度和所述开销度,确定所述关系图中的边对应的权重。
23.可选的,所述基于不同的粒度对所述加权图进行拆分,得到多个微服务拆分方案,包括:
24.对所述加权图中的边的边介数进行计算,所述加权图中的边的边介数为经过所述边的最短路径的数量,所述边的边介数作为衡量所述边是否从所述加权图中删除的标准;
25.基于所述加权图中的边的边介数,删除所述边介数高的边,直到所述加权图中的边均被移除,生成一棵结构树,所述结构树对应多个微服务拆分方案。
26.可选的,所述从所述多个微服务拆分方案中,确定所述待拆分的业务的微服务拆分方案,包括:
27.获取各个微服务拆分方案对应的模块度;
28.从所述多个微服务拆分方案中,筛选出所述模块度最高的微服务拆分方案作为所述待拆分的业务的微服务拆分方案。
29.一种业务拆分装置,包括:
30.获取单元,用于获取待拆分的业务;
31.第一确定单元,用于基于所述待拆分的业务的业务需求,确定所述待拆分的业务的用例以及所述用例的描述信息;
32.生成单元,用于对所述用例的描述信息进行分析,生成所述待拆分的业务的关系图,所述关系图中包括所述待拆分的业务中的实体、所述待拆分的业务中的实体的属性、所述待拆分的业务中的实体之间的业务操作和所述待拆分的业务中的实体之间的关联关系;
33.第二确定单元,用于基于所述关系图,确定所述待拆分的业务的微服务拆分方案。
34.可选的,所述生成单元,包括:
35.获取子单元,用于对所述用例的描述信息进行分析,获取名词、动词和形容词;
36.第一确定子单元,用于基于所述名词、动词和形容词,确定所述待拆分的业务中的实体、所述待拆分的业务中的实体的属性、所述待拆分的业务中的实体之间的业务操作和所述待拆分的业务中的实体之间的关联关系;
37.第一生成子单元,用于根据所述待拆分的业务中的实体、所述待拆分的业务中的实体的属性、所述待拆分的业务中的实体之间的业务操作和所述待拆分的业务中的实体之间的关联关系,生成所述待拆分的业务的关系图。
38.可选的,所述第二确定单元,包括:
39.第二确定子单元,用于对所述关系图进行量化,确定所述关系图中的边对应的权重;
40.第二生成子单元,用于基于所述关系图中的边对应的权重,生成所述待拆分的业
务的加权图;
41.拆分子单元,用于基于不同的粒度对所述加权图进行拆分,得到多个微服务拆分方案,每个微服务拆分方案包括多个子图,每个子图对应一个微服务;
42.第三确定子单元,用于从所述多个微服务拆分方案中,确定所述待拆分的业务的微服务拆分方案。
43.可选的,所述第二确定子单元,包括:
44.第四确定子单元,用于对所述关系图中的边对应的顶点之间的关系进行量化,确定所述关系图中的边对应的顶点之间的关联度和耦合度;
45.第五确定子单元,用于对所述关系图中的边对应的顶点与所述关系图中的其他边对应的顶点之间的关系进行量化,确定所述关系图中的边对应的顶点与所述关系图中的其他边对应的顶点之间开销度;
46.第六确定子单元,用于基于所述关联度、所述耦合度和所述开销度,确定所述关系图中的边对应的权重。
47.基于上述技术方案,本发明提供的业务拆分方法及装置,本发明在获取待拆分的业务之后,基于待拆分的业务的业务需求,确定待拆分的业务的用例以及所述用例的描述信息,对用例的描述信息进行分析,生成待拆分的业务的关系图,关系图中包括待拆分的业务中的实体、待拆分的业务中的实体的属性、待拆分的业务中的实体之间的业务操作和待拆分的业务中的实体之间的关联关系,对业务的领域进行了划分,实现了业务域的归纳,为微服务的拆分奠定了基础。基于关系图,确定待拆分的业务的微服务拆分方案,实现了业务的微服务拆分,为业务的扩展或改动奠定良好基础,降低了系统的开发和维护成本,更好地应对新业务的挑战,提高了系统的灵活性。
附图说明
48.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
49.图1为本技术实施例公开的一种业务拆分方法的流程示意图;
50.图2为本技术实施例公开的一种用例图;
51.图3为本技术实施例公开的一种生成关系图的流程示意图;
52.图4为本技术实施例公开的一种确定业务拆分方案的流程示意图;
53.图5为本技术实施例公开的一种确定关系图权重的流程示意图;
54.图6为本技术实施例公开的一种拆分加权图的流程示意图;
55.图7为本技术实施例公开的一种筛选业务拆分方案的流程示意图;
56.图8为本技术实施例公开的一种业务拆分方法装置结构框图。
具体实施方式
57.为了便于理解,对本发明实施例中用到的相关术语进行如下解释:
58.领域建模:通过对业务和问题域进行分析,建立领域模型,向上通过限界上下文指导微服务边界设计,向下通过聚合指导实体的对象设计。
59.微服务拆分:结合业务限界上下文与技术因素,对服务的粒度、分层、边界划分、依赖关系和集成关系进行梳理,完成微服务拆分和设计。
60.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
61.本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本发明的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
62.为了实现业务的微服务拆分,为业务的扩展或改动奠定良好基础,本发明提供了一种业务拆分方法,下面结合附图和具体实施方式对本发明提供的业务拆分方法作进一步详细的说明。
63.请参阅附图1,图1为本发明实施例提供的一种业务拆分方法的流程示意图,该方法可以包括以下步骤:
64.步骤s101:获取待拆分的业务。
65.在本技术中,待拆分的业务可以为任意业务,如可以为电力营销业务,对此本技术不进行任何限定。
66.步骤s102:基于待拆分的业务的业务需求,确定待拆分的业务的用例以及用例的描述信息。
67.在本技术中,可以获取待拆分的业务的设计说明书,根据业务的设计说明书对待拆分的业务的业务需求进行提炼,得到待拆分的业务的业务需求。
68.需要说明的是,用例以及用例的描述信息最主要用来表达系统的共性需求或行为。用例是对包括变量在内的一组动作序列的描述,系统执行这些动作,并产生传递特定参与者的价值的可观察结果,参与者不是特指人,是指系统以外的,在使用系统或与系统交互中所扮演的角色。对于对用例的命名,可以给用例取一个简单、描述性的名称,一般为带有动作性的词。用例在画图中用椭圆来表示,椭圆内部附上用例的名称,为便于理解,参照图2,图2为本发明实施例提供的一种用例图,如图2所示,箭头用来表示参与者和系统通过相互发送信号或消息进行交互的关联关系。箭头尾部用来表示启动交互的一方,箭头头部用来表示被启动的一方,其中用例总是要由参与者来启动。
69.用例的描述信息一般包括:简要描述(说明)、前置(前提)条件、基本事件流、其他事件流、异常事件流、后置(事后)条件等等;其中,上述各部分的解释如下:
70.简要描述:对用例的角色、目的的简要描述;
71.前置条件:执行用例之前系统必须要处于的状态,或者要满足的条件;
72.基本事件流:描述该用例的基本流程,指每个流程都“正常”运作时所发生的事情,没有任何备选流和异常流,而只有最有可能发生的事件流;
73.其他事件流:表示这个行为或流程是可选的或备选的,并不是总要总要执行它们;
74.异常事件流:表示发生了某些非正常的事情所要执行的流程;
75.后置条件:用例一旦执行后系统所处的状态。
76.步骤s103:对用例的描述信息进行分析,生成待拆分的业务的关系图,关系图中包括待拆分的业务中的实体、待拆分的业务中的实体的属性、待拆分的业务中的实体之间的业务操作和待拆分的业务中的实体之间的关联关系。
[0077]“领域”相对于软件系统来说,就是系统要解决的现实问题。因此也可以简单理解一个领域就对应一个问题空间,是一个特定范围边界内的业务需求的总和。“领域模型”是对领域内的概念类或现实世界中对象的可视化表示。又称概念模型、领域对象模型、分析对象模型。它专注于分析问题领域本身,发掘重要的业务领域概念,并建立业务领域概念之间的关系。领域建模是协助在分析过程中提炼出事物的本质,以便能更好的指导应用系统规划建设。领域模型描述的是对事物的抽象,其中包含了业务实体及其属性、业务实体之间的业务操作及关联关系。
[0078]
在本技术中,可以基于领域模型的思想,分析用例的描述信息,可以确定待拆分的业务中的实体、待拆分的业务中的实体的属性、待拆分的业务中的实体之间的业务操作和待拆分的业务中的实体之间的关联关系,基于待拆分的业务中的实体、待拆分的业务中的实体的属性、待拆分的业务中的实体之间的业务操作和待拆分的业务中的实体之间的关联关系即可生成待拆分的业务的关系图。
[0079]
步骤s104:基于关系图,确定待拆分的业务的微服务拆分方案。
[0080]
在本技术中,根据微服务拆分规则,通过对关系图进行操作的得到待拆分的业务的微服务拆分方案,具体实现方式将通过后面的实施例详细说明,此处不再展开描述。
[0081]
本实施例提供的业务拆分方法,在获取待拆分的业务之后,基于待拆分的业务的业务需求,确定待拆分的业务的用例以及所述用例的描述信息,对用例的描述信息进行分析,生成待拆分的业务的关系图,关系图中包括待拆分的业务中的实体、待拆分的业务中的实体的属性、待拆分的业务中的实体之间的业务操作和待拆分的业务中的实体之间的关联关系,对业务的领域进行了划分,实现了业务域的归纳,为微服务的拆分奠定了基础。基于关系图,确定待拆分的业务的微服务拆分方案,实现了业务的微服务拆分,为业务的扩展或改动奠定良好基础,降低了系统的开发和维护成本,更好地应对新业务的挑战,提高了系统的灵活性。
[0082]
在上述本发明公开的实施例的基础上,在本发明的再一个实施例中,对对用例的描述信息进行分析,生成待拆分的业务的关系图的具体实现方式进行了详细说明。
[0083]
作为一种可实施方式,请参阅附图3,为本发明公开的一种生成关系图的流程示意图。该方法可以包括以下步骤:
[0084]
步骤s201:对用例的描述信息进行分析,获取名词、动词和形容词。
[0085]
在本技术中,对用例的描述信息进行分析,从谓语、状语、定语、主语和宾语中获取名词、形容词和动词。
[0086]
步骤s202:基于名词、动词和形容词,确定待拆分的业务中的实体、待拆分的业务中的实体的属性、待拆分的业务中的实体之间的业务操作和待拆分的业务中的实体之间的关联关系。
[0087]
在本技术中,基于名词,梳理出待拆分的业务中的实体和待拆分的业务中的实体
的属性;基于动词和形容词,梳理出待拆分的业务中的实体之间的业务操作和待拆分的业务中的实体之间的关联关系。
[0088]
步骤s203:根据待拆分的业务中的实体、待拆分的业务中的实体的属性、待拆分的业务中的实体之间的业务操作和待拆分的业务中的实体之间的关联关系,生成待拆分的业务的关系图。
[0089]
需要说明的是,关系图描述的是对事物的抽象关系,协助在分析过程中提炼事物的本质。
[0090]
综上所述,本发明实施例提供生成关系图的方法,根据用例的描述信息生成待拆分业务的关系图,建立了一套微服务拆分规则,规范了关系图的设计和业务域的归纳,为微服务的设计奠定了基础。
[0091]
在上述本发明公开的实施例的基础上,在本发明的再一个实施例中,对基于关系图,确定待拆分的业务的微服务拆分方案的具体实现方式进行了详细说明。
[0092]
作为一种可实施方式,请参阅附图4,为本发明公开的一种确定业务拆分方案的流程示意图。该方法可以包括以下步骤:
[0093]
步骤s301:对关系图进行量化,确定关系图中的边对应的权重。
[0094]
在本技术中,通过量化关系图中各顶点之间的关系,计算出关系图中的边对应的权重。
[0095]
步骤s302:基于关系图中的边对应的权重,生成待拆分的业务的加权图。
[0096]
步骤s303:基于不同的粒度对加权图进行拆分,得到多个微服务拆分方案,每个微服务拆分方案包括多个子图,每个子图对应一个微服务。
[0097]
在本技术中,通过gn算法对加权图进行划分,根据设计好的微服务拆分规则生成粒度不同的拆微服务分方案。
[0098]
步骤s304:从多个微服务拆分方案中,确定待拆分的业务的微服务拆分方案。
[0099]
在本技术中,根据一定的方案优劣指标,从多个微服务拆分方案中选出最优的微服务拆分方案作为待拆分的业务的微服务拆分方案。
[0100]
综上所述,本发明实施例提供确定业务拆分方案的方法,根据设计好的微服务拆分规则对关系图进行一系列的拆分操作,得到待拆分的业务的微服务拆分方案,与现有技术直接把大的单体系统拆分为若干小的单体系统相比,实现了业务的微服务拆分,提高了系统的灵活性,可以更好地应对新业务的挑战。
[0101]
在上述本发明公开的实施例的基础上,在本发明的再一个实施例中,对对关系图进行量化,确定关系图中的边对应的权重的具体实现方式进行了详细说明。
[0102]
作为一种可实施方式,请参阅附图5,为本发明公开的一种确定关系图权重的流程示意图。该方法可以包括以下步骤:
[0103]
步骤s401:对关系图中的边对应的顶点之间的关系进行量化,确定关系图中的边对应的顶点之间的关联度和耦合度。
[0104]
在本技术中,要求划分出来的微服务包含关系紧密的实体和属性,即实现微服务高内聚低耦合的特性,因此可以计算关系图中的边对应的顶点之间的关联度和耦合度。
[0105]
确定关系图中实体ei的任意属性出现在全部实体的次数sumi和实体ej的任意属性出现在全部实体的次数sumj,以及实体ei和实体ej的任意属性共同出现在全部实体的次数
sum
t
,基于次数sumi、次数sumj和次数sum
t
,计算次数sum
t
与次数sumi的比值以及次数sum
t
与次数sumj的比值,确定最大比值作为实体ei和实体ej的关联度p,计算关联度的公式如下:
[0106][0107]
确定全部实体与分别实体ei、ej交流的属性总数ki、kj与实体ei、ej之间交互属性总数k
t
,基于属性总数ki、kj和属性总数k
t
,计算属性总数k
t
与属性总数ki的比值以及属性总数k
t
与属性总数kj的比值,确定最大比值作为实体ei和实体ej的耦合度s,计算耦合度的公式如下:
[0108][0109]
步骤s402:对关系图中的边对应的顶点与关系图中的其他边对应的顶点之间的关系进行量化,确定关系图中的边对应的顶点与关系图中的其他边对应的顶点之间开销度。
[0110]
在本技术中,需要考虑当前连接的两个实体与其他实体的联系程度,因此可以计算关系图中的边对应的顶点与关系图中的其他边对应的顶点之间开销度。
[0111]
将相连的实体ei和实体ej看作一个整体,分析整体与外部实体之间的关联,计算与整体相关联实体的总数m和全部实体总数e,基于与整体相关联实体的总数m和全部实体总数e,确定与整体相关联实体的总数m占全部实体总数e的比值作为实体ei和实体ej的开销度c,计算开销度的公式如下:
[0112][0113]
步骤s403:基于关联度、耦合度和开销度,确定关系图中的边对应的权重。
[0114]
在本技术中,可以对实体与属性的关系图g中的实体之间的连线赋予权重值w
ij
,进一步得到加权图,在计算权重w
ij
时,为了消除关联度、耦合度、开销度取值范围的不同,对其进行了归一化处理。
[0115]
确定所有关联度p中的最大值为最高关联度p
max
、所有耦合度s中的最大值为最低耦合度s
max
和所有开销度c中的最大值为最大开销度c
max
,基于最高关联度p
max
、最低耦合度s
max
、最大开销度c
max
、关联度p、耦合度s、开销度c,计算关联度p与最高关联度p
max
的比值、耦合度s与最低耦合度s
max
的比值、开销度c与最大开销度c
max
的比值,确定所有比值的和作为实体ei和实体ej的权重w
ij
,计算权重公式如下:
[0116][0117]
综上所述,本发明实施例提供确定关系图权重的方法,根据关联度、耦合度和开销度,得到了关系图中的边对应的权重,实现了高内聚低耦合的微服务拆分,为业务的扩展或改动奠定良好基础,降低了系统的开发和维护成本。
[0118]
在上述本发明公开的实施例的基础上,在本发明的再一个实施例中,对基于不同的粒度对加权图进行拆分,得到多个微服务拆分方案的具体实现方式进行了详细说明。
[0119]
作为一种可实施方式,请参阅附图6,为本发明公开的一种拆分加权图的流程示意图。该方法可以包括以下步骤:
[0120]
步骤s501:对加权图中的边的边介数进行计算,加权图中的边的边介数为经过边的最短路径的数量,边的边介数作为衡量边是否从加权图中删除的标准。
[0121]
在本技术中,基于边介数的无向图聚类算法gn算法,可以很好满足微服务划分高内聚低耦合的要求,因此选择使用gn算法来对得到的加权图进行划分,gn算法使用边介数作为衡量一条边是否应该从加权图中删除的标准,一条边的边介数定义为网络中经过这条边的所有最短路径的数量。
[0122]
步骤s502:基于加权图中的边的边介数,删除边介数高的边,直到加权图中的边均被移除,生成一棵结构树,结构树对应多个微服务拆分方案。
[0123]
在本技术中,gn算法不断进行计算边介数与删除边介数高的边这两个操作,直到加权图中所有的边均被移除,每次删除边后,gn算法都会重新计算子图结构,最终会生成一棵结构树,树的每一层对应一种微服务拆分方案。
[0124]
综上所述,本发明实施例提供拆分加权图的方法,根据加权图得到一棵结构树,结构树对应着多个微服务拆分方案,将微服务划分问题转化成了加权图的划分问题,简化了业务拆分方法。
[0125]
在上述本发明公开的实施例的基础上,在本发明的再一个实施例中,对从多个微服务拆分方案中,确定待拆分的业务的微服务拆分方案的具体实现方式进行了详细说明。
[0126]
作为一种可实施方式,请参阅附图7,为本发明公开的一种筛选业务拆分方案的流程示意图。该方法可以包括以下步骤:
[0127]
步骤s601:获取各个微服务拆分方案对应的模块度。
[0128]
在本技术中,为了从多种不同粒度的微服务拆分方案中选择一个最合适的方案,将gn算法引入模块度m作为衡量标准。
[0129]
确定子图i内所有边的权重占整个加权图所有边权重的比例di和子图i内实体相连的所有边的权重占整个加权图所有实体所连边的权重比例a
i2
,基于子图i内所有边的权重占整个加权图所有边权重的比例di和子图i内实体相连的所有边的权重占整个加权图所有实体所连边的权重比例a
i2
,计算模块度,公式如下:
[0130][0131]
步骤s602:从多个微服务拆分方案中,筛选出模块度最高的微服务拆分方案作为待拆分的业务的微服务拆分方案。
[0132]
在本技术中,加权图通过gn算法的层层拆分将其拆分为多个粒度不同的微服务拆分方案,其中vi代表第i个微服务拆分方案,在gn算法的每次迭代中会生成与vi相对应的模块度mi,选择模块度mi分数最高的微服务拆分方案作为待拆分的业务的微服务拆分方案。
[0133]
综上所述,本发明实施例提供筛选业务拆分方案的方法,根据模块度,从多个微服务拆分方案中,筛选出待拆分的业务的最优微服务拆分方案,使微服务业务拆分有章可循。实现了高内聚低耦合的微服务拆分,为业务的扩展或改动奠定良好基础,降低了系统的开发和维护成本。
[0134]
上述本发明公开的实施例中详细描述了方法,对于本发明的方法可采用多种形式的装置实现,因此本发明还公开了一种业务拆分装置,请参阅附图8,下面给出具体的实施
例进行详细说明。
[0135]
获取单元11,用于获取待拆分的业务。
[0136]
第一确定单元12,用于基于所述待拆分的业务的业务需求,确定所述待拆分的业务的用例以及所述用例的描述信息。
[0137]
生成单元13,用于对所述用例的描述信息进行分析,生成所述待拆分的业务的关系图,所述关系图中包括所述待拆分的业务中的实体、所述待拆分的业务中的实体的属性、所述待拆分的业务中的实体之间的业务操作和所述待拆分的业务中的实体之间的关联关系。
[0138]
第二确定单元14,用于基于所述关系图,确定所述待拆分的业务的微服务拆分方案。
[0139]
作为一种可实施方式,所述生成单元13,包括:
[0140]
获取子单元,用于对所述用例的描述信息进行分析,获取名词、动词和形容词。
[0141]
第一确定子单元,用于基于所述名词、动词和形容词,确定所述待拆分的业务中的实体、所述待拆分的业务中的实体的属性、所述待拆分的业务中的实体之间的业务操作和所述待拆分的业务中的实体之间的关联关系。
[0142]
第一生成子单元,用于根据所述待拆分的业务中的实体、所述待拆分的业务中的实体的属性、所述待拆分的业务中的实体之间的业务操作和所述待拆分的业务中的实体之间的关联关系,生成所述待拆分的业务的关系图。
[0143]
作为一种可实施方式,所述第二确定单元14,包括:
[0144]
第二确定子单元,用于对所述关系图进行量化,确定所述关系图中的边对应的权重。
[0145]
第二生成子单元,用于基于所述关系图中的边对应的权重,生成所述待拆分的业务的加权图。
[0146]
拆分子单元,用于基于不同的粒度对所述加权图进行拆分,得到多个微服务拆分方案,每个微服务拆分方案包括多个子图,每个子图对应一个微服务。
[0147]
第三确定子单元,用于从所述多个微服务拆分方案中,确定所述待拆分的业务的微服务拆分方案。
[0148]
作为一种可实施方式,所述第二确定子单元,包括:
[0149]
第四确定子单元,用于对所述关系图中的边对应的顶点之间的关系进行量化,确定所述关系图中的边对应的顶点之间的关联度和耦合度。
[0150]
第五确定子单元,用于对所述关系图中的边对应的顶点与所述关系图中的其他边对应的顶点之间的关系进行量化,确定所述关系图中的边对应的顶点与所述关系图中的其他边对应的顶点之间开销度。
[0151]
第六确定子单元,用于基于所述关联度、所述耦合度和所述开销度,确定所述关系图中的边对应的权重。
[0152]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0153]
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0154]
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用cpu、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本发明而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0155]
综上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照上述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对上述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1