1.本发明涉及微服务划分领域,尤其涉及一种微服务划分方法、装置及计算机可读存储介质。
背景技术:2.目前,已有的微服务划分方法以数据库先行,根据数据库进行隐式建模,确定各项数据流的前后关系,确定各模块的划分,这样简单的划分会造成潜在的微服务间耦合。随着版本迭代,微服务间耦合越来越严重,从而在实际业务中的表现差。
技术实现要素:3.本发明所要解决的技术问题是针对现有技术的上述不足,提供一种微服务划分方法、装置及计算机可读存储介质,用以解决现有的微服务划分方法耦合性高的问题。
4.第一方面,本发明提供一种微服务划分方法,包括:
5.根据预设周期内目标程序各子模块之间的交互频率构建第一带权图;
6.对所述第一带权图进行聚类,得到所述目标程序的微服务划分方案。
7.优选地,根据预设周期内目标程序各子模块之间的交互频率构建第一带权图,具体包括:
8.获取各子模块的交互拓扑图;
9.获取所述预设周期内各子模块之间的交互频率;
10.根据所述预设周期内各子模块之间的交互频率以及所述交互拓扑图构建所述第一带权图。
11.优选地,所述获取各子模块的交互拓扑图,具体包括:
12.基于预设的动态链路追踪组件获取各子模块的初始交互拓扑图;
13.采用预设的静态字节码解析工具对所述目标程序的代码进行解析,并根据解析结果将所述动态链路追踪组件中未覆盖到的路径添加至所述初始交互拓扑图,得到最终的交互拓扑图;
14.所述根据所述预设周期内各子模块之间的交互频率以及所述交互拓扑图构建所述第一带权图,具体包括:
15.根据所述预设周期内各子模块之间的交互频率以及所述最终的交互拓扑图构建所述第一带权图。
16.优选地,所述根据所述预设周期内各子模块之间的交互频率以及所述交互拓扑图构建所述第一带权图,具体包括:
17.将所述预设周期内各子模块之间的交互频率的倒数作为各子模块之间对应路径的权重,对所述交互拓扑图进行修改,得到所述第一带权图。
18.优选地,所述对所述第一带权图进行聚类,得到所述目标程序的微服务划分方案,具体包括:
19.基于预设的最小生成树模型对所述第一带权图进行聚类,得到所述目标程序的微服务划分方案。
20.优选地,所述基于预设的最小生成树模型对所述第一带权图进行聚类,得到所述目标程序的微服务划分方案,具体包括:
21.s11,将所述第一带权图中的每个节点分别作为一颗树;
22.s12,对所述第一带权图中的所有路径按照权重大小从小到大进行排序,并从排序后的所有路径中选择第一条路径作为当前路径;
23.s13,判断所述当前路径两端的节点是否属于不同的树,若是,则连接所述当前路径两端的节点,并将所述当前路径两端的节点所在的树合并为一颗树,若否,则跳过所述当前路径;
24.s14,判断当前树的数量是否等于预设的微服务模块划分数量,若是,则结束本流程,得到所述目标程序的微服务划分方案,若否,则从排序后的所有路径中选择下一条路径作为新的当前路径,返回执行步骤s13。
25.优选地,所述对所述第一带权图进行聚类,得到所述目标程序的微服务划分方案之后,所述方法还包括:
26.根据预设周期内所述微服务划分方案中各个微服务模块与数据库表之间的交互频率构建第二带权图;
27.基于预设的最小生成树模型对所述第二带权图进行聚类,得到所述目标程序的数据库表映射方案。
28.第二方面,本发明提供一种微服务划分装置,包括:
29.第一带权图生成模块,用于根据预设周期内目标程序各子模块之间的交互频率构建第一带权图;
30.微服务划分模块,与所述第一带权图生成模块连接,用于对所述第一带权图进行聚类,得到所述目标程序的微服务划分方案。
31.第三方面,本发明提供一种微服务划分装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以实现上述第一方面所述的微服务划分方法。
32.第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的微服务划分方法。
33.本发明提供的微服务划分方法、装置及计算机可读存储介质,基于目标程序各子模块之间的交互频率对目标程序进行聚类,把交互频率高的子模块尽可能划分到同一个微服务模块中,从而能够减少不同微服务间的交互频率,降低微服务间的耦合性,实现更好的运行效率,解决了现有的微服务划分方法耦合性高的问题。
附图说明
34.图1为本发明实施例1的一种微服务划分方法的流程图;
35.图2为本发明实施例1的第一带权图的示意图;
36.图3为图1中步骤s102的流程示意图;
37.图4为本发明实施例1的微服务划分方案示意图;
38.图5为本发明实施例1的第二带权图的示意图;
39.图6为本发明实施例1的数据库表映射方案示意图;
40.图7为本发明实施例2的一种微服务划分装置的结构示意图;
41.图8为本发明实施例3的一种微服务划分装置的结构示意图。
具体实施方式
42.为使本领域技术人员更好地理解本发明的技术方案,下面将结合附图对本发明实施方式作进一步地详细描述。
43.可以理解的是,此处描述的具体实施例和附图仅仅用于解释本发明,而非对本发明的限定。
44.可以理解的是,在不冲突的情况下,本发明中的各实施例及实施例中的各特征可相互组合。
45.可以理解的是,为便于描述,本发明的附图中仅示出了与本发明相关的部分,而与本发明无关的部分未在附图中示出。
46.可以理解的是,本发明的实施例中所涉及的每个单元、模块可仅对应一个实体结构,也可由多个实体结构组成,或者,多个单元、模块也可集成为一个实体结构。
47.可以理解的是,在不冲突的情况下,本发明的流程图和框图中所标注的功能、步骤可按照不同于附图中所标注的顺序发生。
48.可以理解的是,本发明的流程图和框图中,示出了按照本发明各实施例的系统、装置、设备、方法的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可代表一个单元、模块、程序段、代码,其包含用于实现规定的功能的可执行指令。而且,框图和流程图中的每个方框或方框的组合,可用实现规定的功能的基于硬件的系统实现,也可用硬件与计算机指令的组合来实现。
49.可以理解的是,本发明实施例中所涉及的单元、模块可通过软件的方式实现,也可通过硬件的方式来实现,例如单元、模块可位于处理器中。
50.实施例1:
51.本实施例提供一种微服务划分方法,如图1所示,该方法包括:
52.步骤s101:根据预设周期内目标程序各子模块之间的交互频率构建第一带权图。
53.在本实施例中,目标程序是指需要进行微服务划分的程序,预设周期具体可以根据需要进行设置,通常在预设周期内会多次运行目标程序,从而确保目标程序的各子模块都至少运行一次。
54.具体地,步骤s101:根据预设周期内目标程序各子模块之间的交互频率构建第一带权图可以包括以下步骤:
55.获取各子模块的交互拓扑图;
56.获取所述预设周期内各子模块之间的交互频率;
57.根据所述预设周期内各子模块之间的交互频率以及所述交互拓扑图构建所述第一带权图。
58.在本实施例中,一个目标程序从软件编程的角度可以按功能划分为多个子模块,
每个子模块可以为一个独立的编程页面,当两个子模块之间存在数据的交互,比如一个子模块的数据处理结果作为另一个子模块的数据来源,则在交互拓扑图中这两个存在数据交互的子模块所代表的节点之间就存在路径。
59.具体地,获取各子模块的交互拓扑图可以包括:
60.基于预设的动态链路追踪组件获取各子模块的初始交互拓扑图;
61.采用预设的静态字节码解析工具对所述目标程序的代码进行解析,并根据解析结果将所述动态链路追踪组件中未覆盖到的路径添加至所述初始交互拓扑图,得到最终的交互拓扑图;
62.所述根据所述预设周期内各子模块之间的交互频率以及所述交互拓扑图构建所述第一带权图,具体可以包括:
63.根据所述预设周期内各子模块之间的交互频率以及所述最终的交互拓扑图构建所述第一带权图。
64.在本实施例中,动态链路追踪组件用于实现目标程序各子模块的链路动态追踪,形成目标程序各子模块的初始交互拓扑图,动态链路追踪组件比如可以是sleuth+zipkin组件。为了避免因动态链路追踪组件没有完全覆盖到所有执行路径而造成的交互拓扑图不够准确的问题,可以进一步使用静态字节码解析工具对目标程序的代码进行解析,寻找动态链路追踪组件没有覆盖到的未执行路径,并添加至初始交互拓扑图,从而确保各子模块之间所有可能存在的交互路径都被覆盖,得到最终的交互拓扑图,再以目标程序各子模块作为节点,根据子模块之间的交互频率对路径进行加权,构建第一带权图。
65.具体地,根据所述预设周期内各子模块之间的交互频率以及所述最终的交互拓扑图构建所述第一带权图,包括:
66.将所述预设周期内各子模块之间的交互频率的倒数作为各子模块之间对应路径的权重,对所述交互拓扑图进行修改,得到所述第一带权图。
67.在本实施例中,可以选用和预设周期内各子模块之间的交互频率负相关的值作为各子模块之间对应路径的权重,优选地,为了方便进行计算,可以选用交互频率的倒数作为各子模块之间对应路径的权重得到所述第一带权图。比如得到的第一带权图可以如图2所示,其中,每个矩形代表一个子模块,共有9个子模块,子模块之间的连线代表对应子模块之间存在交互,连线上的数字即为权重,比如,子模块1和子模块2之间的交互频率为4,对应的权重为1/4。
68.步骤s102:对所述第一带权图进行聚类,得到所述目标程序的微服务划分方案。
69.具体地,基于预设的最小生成树模型对所述第一带权图进行聚类,得到所述目标程序的微服务划分方案。
70.在本实施例中,为了让目标程序中交互频率大的子模块能够尽可能被划分到同一个微服务当中去,从而降低微服务之间的交互频率,减少微服务间的耦合,可以使用最小生成树模型进行聚类。此外,若选用和预设周期内各子模块之间的交互频率正相关的值作为各子模块之间对应路径的权重,则可以使用最大生成树模型进行聚类,同样可以让目标程序中交互频率大的子模块能够尽可能被划分到同一个微服务当中去,从而减少微服务间的耦合。
71.具体地,如图3所示,所述基于预设的最小生成树模型对所述第一带权图进行聚
类,得到所述目标程序的微服务划分方案,包括以下步骤:
72.s11,将所述第一带权图中的每个节点分别作为一颗树;
73.s12,对所述第一带权图中的所有路径按照权重大小从小到大进行排序,并从排序后的所有路径中选择第一条路径作为当前路径;
74.s13,判断所述当前路径两端的节点是否属于不同的树,若是,则连接所述当前路径两端的节点,并将所述当前路径两端的节点所在的树合并为一颗树,若否,则跳过所述当前路径;
75.s14,判断当前树的数量是否等于预设的微服务模块划分数量,若是,则结束本流程,得到所述目标程序的微服务划分方案,若否,则从排序后的所有路径中选择下一条路径作为新的当前路径,返回执行步骤s13。
76.在本实施例中,以图2所示的第一带权图为例,将目标程序的9个子模块按照步骤s11至s14进行微服务划分,假设预设的微服务模块划分数量为3,则最终得到的微服务划分方案如图4所示,其中,子模块1、2、3划分为一个微服务模块,子模块4、5、7、8划分为一个微服务模块,子模块6和9划分为一个微服务模块。
77.进一步地,所述对所述第一带权图进行聚类,得到所述目标程序的微服务划分方案之后,所述方法还包括:
78.根据预设周期内所述微服务划分方案中各个微服务模块与数据库表之间的交互频率构建第二带权图;
79.基于预设的最小生成树模型对所述第二带权图进行聚类,得到所述目标程序的数据库表映射方案。
80.在本实施例中,为了便于部署,可以将目标程序对应的目标数据库划分为多个小数据库,使得每个小数据库对应一个微服务模块,实现微服务模块与对应数据库的统一部署扩容,从而能够在版本迭代过程中减少数据库和微服务共同扩容的成本,实现更好的运行效率。具体地,可以基于预设的动态链路追踪组件以及预设的静态字节码解析工具获取预设周期内各个微服务模块与数据库表之间的交互频率,并根据交互频率构建第二带权图。比如得到的第二带权图可以如图5所示,其中,目标数据库包括8个数据库表,分别为sa、sb、sc、sd、se、sf、sg、sh,微服务模块与数据库表之间的连线代表它们之间存在交互,连线上的数字代表权重,权重为交互频率的倒数,比如,数据库表sa和微服务模块a之间的交互频率为11,对应的权重为1/11。
81.具体地,基于预设的最小生成树模型对所述第二带权图进行聚类,得到所述目标程序的数据库表映射方案,可以包括以下步骤:
82.s21,将所述第二带权图中的每个节点分别作为一颗树;
83.s22,对所述第二带权图中的所有路径按照权重大小从小到大进行排序,并从排序后的所有路径中选择第一条路径作为当前路径;
84.s23,判断所述当前路径两端的节点是否属于不同的树,若是,则执行步骤s24,若否,则跳过所述当前路径;
85.s24,判断当前路径两端的节点中代表数据库表的节点是否已经和任一微服务模块在同一树中,若是,则跳过所述当前路径,若否,则连接所述当前路径两端的节点,并将所述当前路径两端的节点所在的树合并为一颗树;
86.s25,判断当前路径是否为最后一条路径,若是,则结束本流程,得到所述目标程序的数据库表映射方案,若否,则从排序后的所有路径中选择下一条路径作为新的当前路径,返回执行步骤s23。
87.在本实施例中,以图5所示的第二带权图为例,最终生成的数据库表映射方案如图6所示,其中,数据库表sa和sb划分为一个数据库,数据库表sc和sd划分为一个数据库,数据库表se、sf、sg和sh划分为一个数据库,一共划分为3个数据库,通过将这3个数据库与对应的微服务模块一起部署,能够降低版本迭代的成本。
88.在一个具体的实施例中,该微服务划分方法可以包括如下步骤:
89.(1)基于springcloud2.0提供的sleuth+zipkin组件实现目标程序各子模块的链路动态追踪,sleuth通过对每次请求的完整生命周期进行直观的分析和动态追踪,把目标程序各个子模块之间的调用顺序以及处理请求各阶段的时间片信息收集起来,并上报给zipkin进行动态渲染,最终形成目标程序各子模块的初始交互拓扑图。
90.(2)基于静态字节码解析工具如findbugs、checkstyle等,对目标程序的代码进行解析,分析各子模块的类、方法等静态数据交互信息,寻找动态链路追踪组件没有覆盖到的未执行路径,添加至所述初始交互拓扑图,得到最终的交互拓扑图。
91.(3)将预设周期内目标程序各子模块之间的交互频率的倒数作为各子模块之间对应路径的权重,对所述交互拓扑图进行修改,得到所述第一带权图,其中,交互频率具体可以是两个子模块之间的交互次数,交互次数越多代表耦合度越高。
92.(4)使用基于kruskal算法的最小生成树模型对所述第一带权图进行聚类,将所述第一带权图划分成若干个微服务模块,作为目标程序的微服务划分方案。
93.具体地,可以先按实际业务需求设定需要划分的微服务模块数量m,然后将第一带权图的所有节点作为一颗独立的树,将所有的路径按照权重进行排序,从权重最小的路径开始判断,若所述路径的两端节点分属于不同的树,则将两个节点所属的树合并为同一颗树;反之,若所述路径两端节点已属于同一棵树,则跳过这条路径,而取下一条权值最小的路径再次进行判断,依次类推,直至第一带权图中只有m棵树为止,得到微服务划分方案,其中,每一颗树作为一个微服务模块。
94.(5)基于步骤(4)的微服务划分方案,将每一个微服务模块以及每一个数据库表分别作为一个节点,绘制各微服务模块和数据库表的交互拓扑图,并统计各微服务模块与各数据库表之间的交互频率,将交互频率的倒数作为交互拓扑图中对应路径的权重,对该交互拓扑图进行修改,从而得到第二带权图,然后再次使用与步骤(4)类似的基于kruskal算法的最小生成树模型对第二带权图进行聚类,得到目标程序的数据库表映射方案(与步骤(4)唯一不同的是各个微服务模块对应的节点是互斥的,即如果一条路径把两个微服务模块连成一颗树则跳过该条路径)。
95.具体地,首先将第二带权图的所有节点作为一颗独立的树,然后将所有的路径按照权重进行排序,从权重最小的路径开始判断,若所述路径两端节点分属于不同的树,且所述路径两端的节点中代表数据库表的节点没有和任一微服务模块在同一树中,则将两个节点所属的树合并为同一颗树;反之,若所述路径两端节点已属于同一棵树上,或所述路径两端的节点中代表数据库表的节点已经和任一微服务模块在同一树中,则跳过这条路径,而取下一条权值最小的路径再进行判断。依次类推,得到数据库表映射方案。
96.本实施例提供的微服务划分方法,基于目标程序各子模块之间的交互频率对目标程序进行聚类,把交互频率高的子模块尽可能划分到同一个微服务模块中,从而能够减少不同微服务间的交互频率,降低微服务间的耦合性,实现更好的运行效率,解决了现有的微服务划分方法耦合性高的问题。
97.实施例2:
98.如图7所示,本实施例提供一种微服务划分装置,用于执行上述微服务划分方法,包括:
99.第一带权图生成模块31,用于根据预设周期内目标程序各子模块之间的交互频率构建第一带权图;
100.微服务划分模块32,与所述第一带权图生成模块连接,用于对所述第一带权图进行聚类,得到所述目标程序的微服务划分方案。
101.可选地,第一带权图生成模块31包括:
102.拓扑图获取单元,用于获取各子模块的交互拓扑图;
103.交互频率获取单元,用于获取所述预设周期内各子模块之间的交互频率;
104.第一带权图生成单元:用于根据所述预设周期内各子模块之间的交互频率以及所述交互拓扑图构建所述第一带权图。
105.可选地,拓扑图获取单元具体包括:
106.初始拓扑单元,用于基于预设的动态链路追踪组件获取各子模块的初始交互拓扑图;
107.最终拓扑单元,用于采用预设的静态字节码解析工具对所述目标程序的代码进行解析,并根据解析结果将所述动态链路追踪组件中未覆盖到的路径添加至所述初始交互拓扑图,得到最终的交互拓扑图。
108.可选地,第一带权图生成单元具体包括:
109.构建单元,用于根据所述预设周期内各子模块之间的交互频率以及所述最终的交互拓扑图构建所述第一带权图;
110.修改单元,用于将所述预设周期内各子模块之间的交互频率的倒数作为各子模块之间对应路径的权重,对所述交互拓扑图进行修改,得到所述第一带权图。
111.可选地,微服务划分模块32包括:
112.划分单元,用于基于预设的最小生成树模型对所述第一带权图进行聚类,得到所述目标程序的微服务划分方案;
113.可选地,划分单元具体包括:
114.初始化单元,用于将所述第一带权图中的每个节点分别作为一颗树;
115.排序单元,用于对所述第一带权图中的所有路径按照权重大小从小到大进行排序,并从排序后的所有路径中选择第一条路径作为当前路径;
116.判断单元,用于判断所述当前路径两端的节点是否属于不同的树,若是,则连接所述当前路径两端的节点,并将所述当前路径两端的节点所在的树合并为一颗树,若否,则跳过所述当前路径;
117.循环单元,用于判断当前树的数量是否等于预设的微服务模块划分数量,若是,则结束本流程,得到所述目标程序的微服务划分方案,若否,则从排序后的所有路径中选择下
一条路径作为新的当前路径,重新输入判断单元。
118.可选地,还包括:
119.第二带权图生成单元,用于根据预设周期内所述微服务划分方案中各个微服务模块与数据库表之间的交互频率构建第二带权图;
120.数据库表映射单元,用于基于预设的最小生成树模型对所述第二带权图进行聚类,得到所述目标程序的数据库表映射方案。
121.实施例3:
122.如图8所示,本实施例提供一种微服务划分装置,用于执行上述微服务划分方法,包括存储器41和处理器42,存储器41中存储有计算机程序,处理器42被设置为运行所述计算机程序以执行实施例1中的微服务划分方法。
123.其中,存储器41与处理器42连接,存储器41可采用闪存或只读存储器或其他存储器,处理器42可采用中央处理器或单片机。
124.实施例4:
125.本实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例1中的微服务划分方法。
126.该计算机可读存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、计算机程序模块或其他数据)的任何方法或技术中实施的易失性或非易失性、可移除或不可移除的介质。计算机可读存储介质包括但不限于ram(random access memory,随机存取存储器),rom(read-only memory,只读存储器),eeprom(electrically erasable programmable read only memory,带电可擦可编程只读存储器)、闪存或其他存储器技术、cd-rom(compact disc read-only memory,光盘只读存储器),数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。
127.实施例2至实施例4提供的微服务划分装置及计算机可读存储介质,基于目标程序各子模块之间的交互频率对目标程序进行聚类,把交互频率高的子模块尽可能划分到同一个微服务模块中,从而能够减少不同微服务间的交互频率,降低微服务间的耦合性,实现更好的运行效率,解决了现有的微服务划分方法耦合性高的问题。
128.可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。
技术特征:1.一种微服务划分方法,其特征在于,包括:根据预设周期内目标程序各子模块之间的交互频率构建第一带权图;对所述第一带权图进行聚类,得到所述目标程序的微服务划分方案。2.根据权利要求1所述的微服务划分方法,其特征在于,根据预设周期内目标程序各子模块之间的交互频率构建第一带权图,具体包括:获取各子模块的交互拓扑图;获取所述预设周期内各子模块之间的交互频率;根据所述预设周期内各子模块之间的交互频率以及所述交互拓扑图构建所述第一带权图。3.根据权利要求2所述的微服务划分方法,其特征在于,所述获取各子模块的交互拓扑图,具体包括:基于预设的动态链路追踪组件获取各子模块的初始交互拓扑图;采用预设的静态字节码解析工具对所述目标程序的代码进行解析,并根据解析结果将所述动态链路追踪组件中未覆盖到的路径添加至所述初始交互拓扑图,得到最终的交互拓扑图;所述根据所述预设周期内各子模块之间的交互频率以及所述交互拓扑图构建所述第一带权图,具体包括:根据所述预设周期内各子模块之间的交互频率以及所述最终的交互拓扑图构建所述第一带权图。4.根据权利要求2所述的微服务划分方法,其特征在于,所述根据所述预设周期内各子模块之间的交互频率以及所述交互拓扑图构建所述第一带权图,具体包括:将所述预设周期内各子模块之间的交互频率的倒数作为各子模块之间对应路径的权重,对所述交互拓扑图进行修改,得到所述第一带权图。5.根据权利要求4所述的微服务划分方法,其特征在于,所述对所述第一带权图进行聚类,得到所述目标程序的微服务划分方案,具体包括:基于预设的最小生成树模型对所述第一带权图进行聚类,得到所述目标程序的微服务划分方案。6.根据权利要求5所述的微服务划分方法,其特征在于,所述基于预设的最小生成树模型对所述第一带权图进行聚类,得到所述目标程序的微服务划分方案,具体包括:s11,将所述第一带权图中的每个节点分别作为一颗树;s12,对所述第一带权图中的所有路径按照权重大小从小到大进行排序,并从排序后的所有路径中选择第一条路径作为当前路径;s13,判断所述当前路径两端的节点是否属于不同的树,若是,则连接所述当前路径两端的节点,并将所述当前路径两端的节点所在的树合并为一颗树,若否,则跳过所述当前路径;s14,判断当前树的数量是否等于预设的微服务模块划分数量,若是,则结束本流程,得到所述目标程序的微服务划分方案,若否,则从排序后的所有路径中选择下一条路径作为新的当前路径,返回执行步骤s13。7.根据权利要求1所述的微服务划分方法,其特征在于,所述对所述第一带权图进行聚
类,得到所述目标程序的微服务划分方案之后,所述方法还包括:根据预设周期内所述微服务划分方案中各个微服务模块与数据库表之间的交互频率构建第二带权图;基于预设的最小生成树模型对所述第二带权图进行聚类,得到所述目标程序的数据库表映射方案。8.一种微服务划分装置,其特征在于,包括:第一带权图生成模块,用于根据预设周期内目标程序各子模块之间的交互频率构建第一带权图;微服务划分模块,与所述第一带权图生成模块连接,用于对所述第一带权图进行聚类,得到所述目标程序的微服务划分方案。9.一种微服务划分装置,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以实现如权利要求1-7中任一项所述的微服务划分方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的微服务划分方法。
技术总结本发明提供一种微服务划分方法、装置及计算机可读存储介质,所述方法包括:根据预设周期内目标程序各子模块之间的交互频率构建第一带权图;对所述第一带权图进行聚类,得到所述目标程序的微服务划分方案。该方法、装置及计算机可读存储介质能够解决现有的微服务划分方法耦合性高的问题。分方法耦合性高的问题。分方法耦合性高的问题。
技术研发人员:程筱彪 徐雷
受保护的技术使用者:中国联合网络通信集团有限公司
技术研发日:2022.03.30
技术公布日:2022/7/5