CN113139867A - 微服务模块的划分方法、装置、设备及可读存储介质 - Google Patents
微服务模块的划分方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN113139867A CN113139867A CN202110484502.6A CN202110484502A CN113139867A CN 113139867 A CN113139867 A CN 113139867A CN 202110484502 A CN202110484502 A CN 202110484502A CN 113139867 A CN113139867 A CN 113139867A
- Authority
- CN
- China
- Prior art keywords
- divided
- function
- functions
- preset
- iteration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 145
- 230000006870 function Effects 0.000 claims abstract description 784
- 230000008569 process Effects 0.000 claims abstract description 77
- 238000000638 solvent extraction Methods 0.000 claims description 31
- 238000004806 packaging method and process Methods 0.000 claims description 14
- 238000012804 iterative process Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 5
- 230000008878 coupling Effects 0.000 description 8
- 238000010168 coupling process Methods 0.000 description 8
- 238000005859 coupling reaction Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Development Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Physics & Mathematics (AREA)
- Finance (AREA)
- General Physics & Mathematics (AREA)
- Marketing (AREA)
- Accounting & Taxation (AREA)
- Educational Administration (AREA)
- Technology Law (AREA)
- Game Theory and Decision Science (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例提供了一种微服务模块的划分方法、装置、设备及可读存储介质,包括多次迭代流程,任一次迭代流程包括:将满足预设关联条件的两个待划分功能划分为一个候选功能集合,将满足预设合并条件的候选功能集合中的两个待划分功能合并为一个待划分功能,作为功能合并结果,获取迭代结果,迭代结果包括:功能合并结果。预设关联条件包括两个待划分功能的第一关联度大于第一预设阈值,预设合并条件包括候选功能集合的距离参数小于预设距离阈值,因此,满足预设关联条件的候选功能集合中的两个待划分功能满足:同时被调用的概率大于第一预设阈值,且被调用的序位差值小于预设距离阈值,本方法通过多次迭代流程得到的微服务模块的有效性高。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种微服务模块的划分方法、装置、设备及可读存储介质。
背景技术
银行的系统功能庞大且复杂,无法适应现在快速迭代的代码开发趋势,因此目前往往针对银行系统进行系统拆分,也即,将整个银行系统拆分成多个微服务模块,使用微服务模块分别实现系统的各个服务。由于每一微服务模块可以独立开发、测试、部署和更新,相较于整个银行系统,实现整个系统架构的解耦,从而缩短单个服务的交付周期、提高服务的可扩展性等有益效果。
虽然微服务架构作为目前使用的主流架构,已经被广泛使用,但是对于微服务模块的划分却没有固定的原则,现有技术中,通常根据人工经验制定功能划分规则,由于银行的业务系统的功能庞大且复杂,基于人工经验总结的功能划分规则难以覆盖所有的功能,且功能划分规则受限于人工经验和专业能力,导致划分得到的微服务模块中包括的功能间的耦合度不高,或不同微服务模块间的耦合度高,导致微服务模块之间仍然不断地互相调用,无法实现整个系统架构的解耦。可见,现有技术中,微服务模块划分的有效性较低。
发明内容
本申请提供了一种微服务模块的划分方法、装置、设备及可读存储介质,用于提高微服务模块划分的有效性,如下:
一种微服务模块的划分方法,包括多次迭代流程,所述迭代流程包括:
获取每两个待划分功能的第一关联度,所述第一关联度指示两个待划分功能同时被调用的概率,若所述迭代流程为第一次迭代流程,所述待划分功能为待划分系统的原子功能,若所述迭代流程为在除所述第一次迭代流程以外的任一次迭代流程中,所述待划分功能为上一次迭代流程的迭代结果包括的待划分功能;
将满足预设关联条件的两个待划分功能划分为一个候选功能集合,所述预设关联条件包括所述第一关联度大于第一预设阈值;
获取每一所述候选功能集合的距离参数,所述候选功能集合的距离参数指示在执行任务时,所述候选功能集合中的两个待划分功能被调用的序位差值;
将满足预设合并条件的候选功能集合中的两个待划分功能合并为一个待划分功能,作为功能合并结果,所述预设合并条件包括距离参数小于预设距离阈值;
获取迭代结果,所述迭代结果包括:所述功能合并结果。
若满足预设停止条件,停止迭代,并将所述功能合并结果封装为一个微服务模块。
可选地,迭代结果还包括:单独功能结果,所述单独功能结果包括其他候选集合中的各个待划分功能、以及除候选功能集合包括的待划分功能之外的各个待划分功能,所述其他候选集合包括不满足所述预设合并条件的各个候选功能集合;
所述预设停止条件包括:所述迭代流程为除所述第一次迭代流程以外的任一次迭代流程,且所述迭代流程的迭代结果与所述迭代流程的上一次迭代流程的迭代结果相同。
可选地,获取每两个待划分功能的第一关联度,包括:
获取历史任务数据;所述历史任务数据包括在预设时间段内已执行任务的功能流转信息以及所述已执行任务的执行次数,所述功能流转信息包括至少一个功能;
获取同时包括所述第一待划分功能和所述第二待划分功能的任务的执行次数,作为第一执行次数,所述第一待划分功能和所述第二待划分功能为任意两个待划分功能;
获取包括所述第一待划分功能的执行次数和包括所述第二待划分功能的任务的执行次数之和,作为第二执行次数;
将所述第一执行次数和所述第二执行次数的比值作为所述第一待划分功能和所述第二待划分功能的第一关联度。
可选地,将满足预设关联条件的两个待划分功能划分为一个候选功能集合之前,还包括:
获取每两个待划分功能的第二关联度和/或第三关联度,其中,所述第二关联度指示第三待划分功能被调用时,第四待划分功能同时被调用的概率,所述第三关联度指示第四待划分功能被调用时,第三待划分功能同时被调用的概率,所述第三待划分功能和所述第四待划分功能为任意两个待划分功能;
所述将满足预设关联条件的两个待划分功能划分为一个候选功能集合,包括:
将满足所述预设关联条件的两个待划分功能划分为一个候选功能集合,所述预设关联条件还包括:所述第二关联度大于第二预设阈值、所述第三关联度大于第三预设阈值、以及所述第三关联度与所述第二关联度之和大于第四预设阈值中的至少一项。
可选地,将满足预设关联条件的两个待划分功能划分为一个候选功能集合之后,还包括:
获取至少M个候选功能集合中包括的同一待划分功能,作为第一目标功能,所述M为第一预设数值;
所述将满足预设合并条件的候选功能集合中的两个待划分功能合并为一个待划分功能,作为功能合并结果,包括:
将满足所述预设合并条件的候选功能集合中的两个待划分功能合并为一个待划分功能,作为所述功能合并结果,所述预设合并条件还包括:不包括所述第一目标功能。
可选地,将满足预设关联条件的两个待划分功能划分为一个候选功能集合之后,还包括:
将至少X个候选功能集合中包括的同一待划分功能作为第二目标功能,所述X为第二预设数值;
将包括所述第二目标功能的所述候选功能集合作为所述第二目标功能的目标集合;
获取所述第二目标功能的每一目标集合的执行频率,所述目标集合的执行频率为所述目标集合中的两个待划分功能同时被调用的频率;
所述将满足预设合并条件的候选功能集合中的两个待划分功能合并为一个待划分功能,作为功能合并结果,包括:
将满足所述预设合并条件的候选功能集合中的两个待划分功能合并为一个待划分功能,作为所述功能合并结果,所述预设合并条件还包括:不包括所述第二目标功能,或者,包括所述第二目标功能且在所述第二目标功能的所有目标集合中,执行频率最大。
一种微服务模块的划分装置,包括:
关联度获取单元,用于获取每两个待划分功能的第一关联度,所述第一关联度指示两个待划分功能同时被调用的概率,若所述迭代流程为第一次迭代流程,所述待划分功能为待划分系统的原子功能,若所述迭代流程为在除所述第一次迭代流程以外的任一次迭代流程中,所述待划分功能为上一次迭代流程的迭代结果包括的待划分功能;
集合划分单元,用于将满足预设关联条件的两个待划分功能划分为一个候选功能集合,所述预设关联条件包括所述第一关联度大于第一预设阈值;
距离获取单元,用于获取每一所述候选功能集合的距离参数,所述候选功能集合的距离参数指示在执行任务时,所述候选功能集合中的两个待划分功能被调用的序位差值;
功能合并单元,用于将满足预设合并条件的候选功能集合中的两个待划分功能合并为一个待划分功能,作为功能合并结果,所述预设合并条件包括距离参数小于预设距离阈值;
结果获取单元,用于获取所述迭代流程的迭代结果,所述迭代流程的迭代结果包括:所述功能合并结果。
模块封装单元,用于若满足预设停止条件,停止迭代,并将所述功能合并结果封装为一个微服务模块。
可选地,迭代结果还包括:单独功能结果,所述单独功能结果包括其他候选集合中的各个待划分功能、以及除候选功能集合包括的待划分功能之外的各个待划分功能,所述其他候选集合包括不满足所述预设合并条件的各个候选功能集合。
所述预设停止条件包括:所述迭代流程为除所述第一次迭代流程以外的任一次迭代流程,且所述迭代流程的迭代结果与所述迭代流程的上一次迭代流程的迭代结果相同。
一种微服务模块的划分设备,包括:存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现微服务模块的划分方法的各个步骤。
一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现微服务模块的划分方法的各个步骤。
由上述技术方案可以看出,本申请实施例提供的微服务模块的划分方法、装置、设备及可读存储介质,包括多次迭代流程,迭代流程包括:将满足预设关联条件的两个待划分功能划分为一个候选功能集合,将满足预设合并条件的候选功能集合中的两个待划分功能合并为一个待划分功能,作为功能合并结果,获取迭代结果,迭代结果包括:功能合并结果。由于,预设关联条件包括两个待划分功能的第一关联度大于第一预设阈值,预设合并条件包括候选功能集合的距离参数小于预设距离阈值,又由于,第一关联度指示两个待划分功能同时被调用的概率,距离参数指示在执行任务时,候选功能集合中的两个待划分功能被调用的序位差值,因此,满足预设关联条件的候选功能集合中的两个待划分功能满足:同时被调用的概率大于第一预设阈值,且被调用的序位差值小于预设距离阈值,因此,每一次迭代流程得到的功能合并结果中的两个待划分功能的耦合性较高,因此,在满足预设停止条件时,实现将耦合度高的待划分功能封装为一个微服务模块的目的,提高了微服务模块划分的有效性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种微服务模块的划分方法的具体实施方式的流程示意图;
图2为本申请实施例提供的一种微服务模块的划分方法的流程示意图;
图3为本申请实施例提供的一种微服务模块的划分装置的结构示意图;
图4为本申请实施例提供的一种微服务模块的划分设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供的微服务模块的划分方法应用但不限于将银行的业务系统划分为多个微服务模块。
本方法包括至少两次迭代流程,图1示例了一种微服务模块的划分方法的任一次迭代流程的具体实现过程,具体可以包括S101~S111。
S101、依据历史任务数据,计算每两个待划分功能的关联度。
本实施例中,历史任务数据包括多个在预设时间段内已执行的任务的功能流转信息以及每一任务的执行次数。本实施例中,任一任务的功能流转信息包括任务包括的功能以及功能间的执行顺序。例如,任务1为“存款”,“存款”包括5个功能,执行顺序为1~5,具体为:1、“密码录入”;2、“密码校验”;3、“密码修改”4、“存款格式检查”;5、“存款入账”。
若迭代流程为第一次迭代,待划分功能为待划分系统中的包括的原子功能,若迭代流程为第N次迭代,待划分功能为第N-1次迭代的迭代结果。
需要说明的是,当待划分功能为包括至少一个原子功能的功能集合时,待划分功能被调用指的是待划分功能包括的任一原子功能被调用,任务包括待划分功能指的是任务包括待划分功能包括的至少一个原子功能。
本实施例中,关联度包括第一关联度。以第一功能和第二功能为例,计算第一功能和第二功能的第一关联度包括:
1、获取第一执行次数。
第一执行次数为同时包括第一待划分功能和第二待划分功能的任务的执行次数。
2、获取第二执行次数。
第二执行次数为包括第一待划分功能的任务的执行次数和包括第二待划分功能的任务的执行次数的和。
3、将第一执行次数和第二执行次数的比值作为第一待划分功能和第二待划分功能的第一关联度。
可以理解的是,第一关联度指示两个待划分功能同时被调用的概率。
本实施例中,关联度还包括:第二关联度和第三关联度,仍以第一待划分功能和第二待划分功能为例,第一待划分功能和第二待划分功能的第二关联度为:第一执行次数和第三执行次数的比值。其中,第三执行次数为包括第一待划分功能的任务的执行次数。第一待划分功能和第二待划分功能的第三关联度为:第一执行次数和第四执行次数的比值。其中,第四执行次数为包括第二待划分功能的任务的执行次数。
可以理解的是,第二关联度指示第一待划分功能被调用时,第二待划分功能被调用的概率。第二关联度指示第二待划分功能被调用时,第一待划分功能被调用的概率。
S102、判断每两个待划分功能是否满足第一预设条件,若满足,将两个待划分功能作为第一类候选功能集合。
本实施例中,第一预设条件包括:第一关联度大于第一预设阈值。
S103、判断每一第一类候选功能集合中的两个待划分功能是否满足第二预设条件,若满足,将第一类候选功能集合作为第二类候选功能集合。
本实施例中,第二预设条件包括:第二关联度大于第二预设阈值、且第三关联度大于第三预设阈值。
S104、获取至少M个第二类候选功能集合中包括的同一待划分功能,作为第一目标功能,并将第一目标功能作为第一类迭代结果。
本实施例中,M为第一预设数值,因为若在多个第二类候选功能集合中均包括第一目标功能时,表示该第一目标功能与其他多个待划分功能的第一关联度、第二关联度、以及第三关联度都较大,因此不适合与其他待划分功能封装为一个模块。可选的,M预设依据所有待划分功能的总数量进行预设,作为优选的,M大于所有待划分功能的数量的百分之10。
S105、将不包括第一类迭代结果的第二类候选功能集合作为第三候选功能集合。
S106、判断每一第三类候选功能集合是否满足第三预设条件,若满足,将第三类候选功能集合作为第四类候选功能集合。
本实施例中,第三预设条件包括:第三类候选功能集合的距离参数小于预设距离阈值。其中,第三类候选功能集合的距离参数指示在执行任务时,候选功能集合包括的两个待划分功能被调用的序位差值。具体的,以第三类候选功能集合包括第一待划分功能和第二待划分功能为例,第三类候选功能集合的距离参数为:在目标任务中,第一待划分功能和第二待划分功能的被调用的序位差值,目标任务为同时包括第一待划分功能和第二待划分功能的任务。
需要说明的是,若目标任务的个数包括多个,且两个待划分功能在多个目标任务中的距离不同,选择最短距离作为包括两个待划分功能的第三类候选功能集合的距离参数。
S107、将至少X个第四类候选功能集合中包括的同一待划分功能作为第二目标功能,并将包括第二目标功能的第四类候选功能集合作为第二目标功能的目标集合。
本实施例中,X为第二预设数值,优选地,X大于1且小于M。由于同一待划分功能只能被封装于一个微服务模块中,所以当至少X个第四类候选功能集合中均包括第二目标功能时,需要从第二目标功能的目标集合中筛选出一个第四类候选功能集合。
S108、获取第二目标功能的每一目标集合的执行频率。
本实施例中,目标集合的执行频率为目标集合中的两个待划分功能同时被调用的频率。
仍以第一待划分功能和第二待划分功能为例,两个待划分功能同时被调用的频率为第一执行次数与总次数的比值,总次数为所有任务的执行次数之和。
S109、将执行频率最高的目标集合作为第五候选功能集合,并将第五候选功能集合中的两个待划分功能合并为一个待划分功能,作为第一合并功能。
S110、将除了目标集合以外的第四类候选功能集合中的两个待划分功能合并为一个待划分功能,作为第二合并功能。
S111、将第一合并功能和第二合并功能作为第二类迭代结果。
S112、将除第一类迭代结果、第二类迭代结果包括的所有待划分功能以外的待划分功能,作为第三类迭代结果。并将第一类迭代结果、第二类迭代结果、和第三类迭代结果作为本次迭代流程的迭代结果。
S113、当本次迭代流程的迭代结果与上一次迭代流程的迭代结果相同时,结束迭代流程,并将每一迭代结果包括的至少一个待划分功能封装成微服务模块。
需要说明的是,封装得到微服务模块的方法参见现有技术。
由上述技术方案可以看出,本申请实施例中任一迭代流程中,第五候选功能集合满足:1、包括的两个待划分功能的第一关联度大于第一预设阈值。2、包括的两个待划分功能第二关联度大于第二预设阈值、且第三关联度大于第三预设阈值。3、距离参数小于预设距离阈值。4、包括第二目标功能,且在所有包括第二目标功能的第四类候选功能集合中,执行频率最大。也即第五候选功能集合中的两个待划分功能合的耦合性高,因此,将第一合并功能封装成一个微服务模块的有效性高,且避免不同的微服务模块包括相同的待划分功能,且由于第五候选功能集合的执行频率最大,所以第二目标功能与第五候选功能集合中的另一待划分功能同时被调用的次数大于与其他目标集合中的另一待划分功能同时被调用的次数,进一步提高了微服务模块划分的有效性,降低了不同微服务模块间互相调用的次数。
除了目标集合以外的第四类候选功能集合满足:1、包括的两个待划分功能的第一关联度大于第一预设阈值。2、包括的两个待划分功能第二关联度大于第二预设阈值、且第三关联度大于第三预设阈值。3、距离参数小于预设距离阈值。4、不包括第二目标功能。也即除了目标集合以外的第四类候选功能集合中的两个待划分功能合的耦合性高,且与其他的第四类候选功能集合不包括相同的待划分功能合,因此,将第一合并功能封装成一个微服务模块的有效性高,且避免不同的微服务模块包括相同的待划分功能。
将第一目标功能作为第一类迭代结果,由于第一目标功能为至少M个第二类候选功能集合中包括的同一待划分功能,所以,本方法将分别与多个待划分功能同时满足第一预设条件和第二预设条件的待划分功能单独作为迭代结果,也即将与其他多个待划分功能的第一关联度、第二关联度、以及第三关联度都较大的待划分功能单独作为迭代结果,进一步提高划分微服务模块的效果。
综上,由于本方法包括多次迭代流程,提高了迭代结果的准确度,进一步提高了划分微服务模块的有效性。
需要说明的是,本实施例提供的一种可选的迭代流程的具体实现方式,本申请还包括其他可选的具体实现方式,
例如,可选的另一种获取两个待划分功能的距离的方法包括:
1、依据待拆分系统包括的所有任务的功能流转信息,构建系统全景图。
本实施例中,任一任务的功能流转信息包括任务包括的功能以及功能间的执行顺序。例如,任务1为“存款”,“存款”包括5个功能,执行顺序为1~5,具体为:1、“密码录入”;2、“密码校验”;3、“密码修改”4、“存款格式检查”;5、“存款入账”。
本实施例中,构建系统全景图的方法包括:以业务链中每一功能作为节点,以功能间的执行顺序为边,构建系统全景图。也即,系统全景图中的节点指示功能,第一节点和第二节点间的边指示第一待划分功能和第二待划分功能间的执行顺序,其中,第一待划分功能为第一节点指示的功能,第二待划分功能为第二节点指示的功能。
需要说明的是,依据待拆分系统包括的所有任务的功能流转信息的获取可以参见现有技术,且可以理解的是,由于银行系统的业务复杂,多个任务可能同时包括同一功能,例如,任务2包括4个功能,具体为:“密码录入”~“密码校验”~“密码修改”~“存款入账”。可见任务1和任务2为两种“存款”任务,且任务1和任务2均包括相同的功能。因此,本实施例构建的系统全景图为网状图。
再例如,第二预设条件还包括:第二关联度和第三关联度之和大于第四预设阈值。
再例如,S104~S105为可选的步骤,在另一种可选的实现方法中,不包括S104~S105,也即迭代结果中不包括第一类迭代结果,并将S106中的第三类候选功能集合替换为第二类候选功能集合即可。
再例如,本申请不限定每一步骤的执行顺序,例如,可以先执行S106,获取的满足第三预设条件的候选功能集合后,再执行S104,将S106中第三类候选功能集合替换为第二类候选功能集合,将S104中第二类候选功能集合替换为S106获取的满足第三预设条件的候选功能集合即可。
综上所述,将本申请实施例提供的一种微服务模块的划分方法总结概括为图2所示的流程,如图2所示,本方法中任一次迭代流程具体可以包括:
S201、获取每两个待划分功能的第一关联度。
本实施例中,第一关联度指示两个待划分功能同时被调用的概率。
需要说明的是,计算任意两个待划分功能的第一关联度的方法包括多种,可选的一种方法可以参见上述实施例。
进一步需要说明的是,在第一次迭代流程中,所述待划分功能为待划分系统的原子功能,在除所述第一次迭代流程以外的任一次迭代流程中,待划分功能为上一次迭代流程的迭代结果。
S202、将满足预设关联条件的两个待划分功能划分为一个候选功能集合。
本实施例中,预设关联条件包括第一关联度大于第一预设阈值。
S203、获取每一候选功能集合的距离参数。
本实施例中,距离参数指示在执行任务时,候选功能集合中的两个待划分功能被调用的序位差值。
获取候选功能集合的距离参数的方法包括多种,可选的一种距离参数的获取方法可以参见上述实施例,本实施例在此不做赘述。
S204、将满足预设合并条件的候选功能集合中的两个待划分功能合并为一个待划分功能,作为功能合并结果。
本十四两种,预设合并条件包括距离参数小于预设距离阈值。需要说明的是,候选功能集合的距离参数小于预设距离阈值指示候选功能集合中的两个待划分功能的被调用的序位差值低于预设距离阈值。
例如,预设距离阈值为5,候选功能集合的距离参数为10,也即候选功能集合中的两个待划分功能的被调用的序位差值为10(大于5),说明两个待划分功能的被调用的时间间隔较大,不适合封装进同一微服务模块。
S205、获取迭代结果。
本实施例中,迭代结果包括:功能合并结果。
可选地,迭代结果还包括:其他候选集合中的各个待划分功能、以及除候选功能集合包括的待划分功能之外的各个待划分功能,其他候选集合包括不满足预设合并条件的候选功能集合。
S206、若满足预设停止条件,停止迭代,并将功能合并结果封装为一个微服务模块。
本实施例中,预设停止条件依据实际应用进行设置,可选地,预设停止条件包括:迭代流程为除第一次迭代流程以外的任一次迭代流程,且迭代流程的迭代结果与迭代流程的上一次迭代流程的迭代结果相同,或,迭代次数达到预设次数阈值。
进一步需要说明的是,具体的微服务模块的封装方法可以参见现有技术。
由上述技术方案可以看出,本实施例提供的一种微服务模块的划分方法,包括多次迭代流程,迭代流程包括:将满足预设关联条件的两个待划分功能划分为一个候选功能集合,将满足预设合并条件的候选功能集合中的两个待划分功能合并为一个待划分功能,作为功能合并结果,获取迭代结果,迭代结果包括:功能合并结果。由于,预设关联条件包括两个待划分功能的第一关联度大于第一预设阈值,预设合并条件包括候选功能集合的距离参数小于预设距离阈值,又由于,第一关联度指示两个待划分功能同时被调用的概率,距离参数指示在执行任务时,候选功能集合中的两个待划分功能被调用的序位差值,因此,满足预设关联条件的候选功能集合中的两个待划分功能满足:同时被调用的概率大于第一预设阈值,且被调用的序位差值小于预设距离阈值,因此,每一次迭代流程得到的功能合并结果中的两个待划分功能的耦合性较高,因此,在满足预设停止条件时,实现将耦合度高的待划分功能封装为一个微服务模块的目的,提高了微服务模块划分的有效性。
需要说明的是,图1为图2所示的微服务模块的划分方法的一种具体实施过程,基于图2所示的流程,本方法还包括其他具体实现方法如下:
在一种可选的具体实现方法中,在将满足预设关联条件的两个待划分功能划分为候选功能集合(也即S202)之前,还包括A1:
A1、获取每两个待划分功能的第二关联度和/或第三关联度。
其中,第二关联度指示第三待划分功能被调用时,第四待划分功能同时被调用的概率,第三关联度指示第四待划分功能被调用时,第三待划分功能同时被调用的概率,第三待划分功能和第四待划分功能为任意两个待划分功能。
需要说明的是,第二关联度和第三关联度的获取方法可以参见上述图1所示的流程。
基于A1,S204将满足预设关联条件的两个待划分功能划分为一个候选功能集合中,预设关联条件还包括:第二关联度大于第二预设阈值、第三关联度大于第三预设阈值、以及第三关联度和第二关联度之和大于第四预设阈值,中的至少一项。
在又一种可选的具体实现方法中,将满足预设关联条件的两个待划分功能划分为一个候选功能集合(也即S202)之后,还包括A2:
A2、获取至少M个候选功能集合中包括的同一待划分功能,作为第一目标功能。
其中,M为第一预设数值。
基于A2,将满足预设合并条件的候选功能集合中的两个待划分功能合并为一个待划分功能,作为功能合并结果(也即S204)中,预设合并条件还包括:不包括第一目标功能。
在又一种可选的具体实现方法中,将满足预设关联条件的两个待划分功能划分为一个候选功能集合(也即S202)之后,还包括:
A3、将至少X个候选功能集合中包括的同一待划分功能作为第二目标功能,X为第二预设数值,将包括第二目标功能的候选功能集合作为第二目标功能的目标集合,获取第二目标功能的每一目标集合的执行频率,目标集合的执行频率为目标集合中的两个待划分功能同时被调用的频率。
基于A3,将满足预设合并条件的候选功能集合中的两个待划分功能合并为一个待划分功能,作为功能合并结果(也即S204)中,预设合并条件还包括:不包括第二目标功能,或者,包括第二目标功能且在第二目标功能的所有目标集合中,执行频率最大。
需要说明的是,上述A1、A2、以及A3的具体实现过程可以参见图1所示流程。
图3示出了本申请实施例提供的一种微服务模块的划分装置的结构示意图,如图3所示,该装置可以包括:
一种微服务模块的划分装置,包括:
关联度获取单元301,用于获取每两个待划分功能的第一关联度,所述第一关联度指示两个待划分功能同时被调用的概率,若所述迭代流程为第一次迭代流程,所述待划分功能为待划分系统的原子功能,若所述迭代流程为在除所述第一次迭代流程以外的任一次迭代流程中,所述待划分功能为上一次迭代流程的迭代结果包括的待划分功能;
集合划分单元302,用于将满足预设关联条件的两个待划分功能划分为一个候选功能集合,所述预设关联条件包括所述第一关联度大于第一预设阈值;
距离获取单元303,用于获取每一所述候选功能集合的距离参数,所述候选功能集合的距离参数指示在执行任务时,所述候选功能集合中的两个待划分功能被调用的序位差值;
功能合并单元304,用于将满足预设合并条件的候选功能集合中的两个待划分功能合并为一个待划分功能,作为功能合并结果,所述预设合并条件包括距离参数小于预设距离阈值;
结果获取单元305,用于获取所述迭代流程的迭代结果,所述迭代流程的迭代结果包括:所述功能合并结果。
模块封装单元306,用于若满足预设停止条件,停止迭代,并将所述功能合并结果封装为一个微服务模块。
可选地,迭代结果还包括:单独功能结果,所述单独功能结果包括其他候选集合中的各个待划分功能、以及除候选功能集合包括的待划分功能之外的各个待划分功能,所述其他候选集合包括不满足所述预设合并条件的各个候选功能集合。所述预设停止条件包括:所述迭代流程为除所述第一次迭代流程以外的任一次迭代流程,且所述迭代流程的迭代结果与所述迭代流程的上一次迭代流程的迭代结果相同。
可选地,关联度获取单元用于获取每两个待划分功能的第一关联度,包括:关联度获取单元具体用于:
获取历史任务数据;所述历史任务数据包括在预设时间段内已执行任务的功能流转信息以及所述已执行任务的执行次数,所述功能流转信息包括至少一个功能;
获取同时包括所述第一待划分功能和所述第二待划分功能的任务的执行次数,作为第一执行次数,所述第一待划分功能和所述第二待划分功能为任意两个待划分功能;
获取包括所述第一待划分功能的执行次数和包括所述第二待划分功能的任务的执行次数之和,作为第二执行次数;
将所述第一执行次数和所述第二执行次数的比值作为所述第一待划分功能和所述第二待划分功能的第一关联度。
可选地,关联度获取单元还用于在将满足预设关联条件的两个待划分功能划分为一个候选功能集合之前,获取每两个待划分功能的第二关联度和/或第三关联度,其中,所述第二关联度指示第三待划分功能被调用时,第四待划分功能同时被调用的概率,所述第三关联度指示第四待划分功能被调用时,第三待划分功能同时被调用的概率,所述第三待划分功能和所述第四待划分功能为任意两个待划分功能;
集合划分单元用于将满足预设关联条件的两个待划分功能划分为一个候选功能集合,包括:集合划分单元具体用于:
将满足所述预设关联条件的两个待划分功能划分为一个候选功能集合,所述预设关联条件还包括:所述第二关联度大于第二预设阈值、所述第三关联度大于第三预设阈值、以及所述第三关联度与所述第二关联度之和大于第四预设阈值中的至少一项。
可选地,还包括:第一目标功能获取单元,用于将满足预设关联条件的两个待划分功能划分为一个候选功能集合之后,获取至少M个候选功能集合中包括的同一待划分功能,作为第一目标功能,所述M为第一预设数值;
功能合并单元用于将满足预设合并条件的候选功能集合中的两个待划分功能合并为一个待划分功能,作为功能合并结果,包括:功能合并单元具体用于:
将满足所述预设合并条件的候选功能集合中的两个待划分功能合并为一个待划分功能,作为所述功能合并结果,所述预设合并条件还包括:不包括所述第一目标功能。
可选地,还包括:第二目标功能获取单元,用于将满足预设关联条件的两个待划分功能划分为一个候选功能集合之后,将至少X个候选功能集合中包括的同一待划分功能作为第二目标功能,所述X为第二预设数值;
将包括所述第二目标功能的所述候选功能集合作为所述第二目标功能的目标集合;
获取所述第二目标功能的每一目标集合的执行频率,所述目标集合的执行频率为所述目标集合中的两个待划分功能同时被调用的频率;
功能合并单元用于将满足预设合并条件的候选功能集合中的两个待划分功能合并为一个待划分功能,作为功能合并结果,包括:功能合并单元具体用于:
将满足所述预设合并条件的候选功能集合中的两个待划分功能合并为一个待划分功能,作为所述功能合并结果,所述预设合并条件还包括:不包括所述第二目标功能,或者,包括所述第二目标功能且在所述第二目标功能的所有目标集合中,执行频率最大。
图4示出了该微服务模块的划分设备的结构示意图,该设备可以包括:至少一个处理器401,至少一个通信接口402,至少一个存储器403和至少一个通信总线404;
在本申请实施例中,处理器401、通信接口402、存储器403、通信总线404的数量为至少一个,且处理器401、通信接口402、存储器403通过通信总线404完成相互间的通信;
处理器401可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
存储器403可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory)等,例如至少一个磁盘存储器;
其中,存储器存储有程序,处理器可执行存储器存储的程序,实现本申请实施例提供的一种微服务模块的划分方法的各个步骤,如下:
一种微服务模块的划分方法,包括多次迭代流程,所述迭代流程包括:
获取每两个待划分功能的第一关联度,所述第一关联度指示两个待划分功能同时被调用的概率,若所述迭代流程为第一次迭代流程,所述待划分功能为待划分系统的原子功能,若所述迭代流程为在除所述第一次迭代流程以外的任一次迭代流程中,所述待划分功能为上一次迭代流程的迭代结果包括的待划分功能;
将满足预设关联条件的两个待划分功能划分为一个候选功能集合,所述预设关联条件包括所述第一关联度大于第一预设阈值;
获取每一所述候选功能集合的距离参数,所述候选功能集合的距离参数指示在执行任务时,所述候选功能集合中的两个待划分功能被调用的序位差值;
将满足预设合并条件的候选功能集合中的两个待划分功能合并为一个待划分功能,作为功能合并结果,所述预设合并条件包括距离参数小于预设距离阈值;
获取迭代结果,所述迭代结果包括:所述功能合并结果。
若满足预设停止条件,停止迭代,并将所述功能合并结果封装为一个微服务模块。
可选地,迭代结果还包括:单独功能结果,所述单独功能结果包括其他候选集合中的各个待划分功能、以及除候选功能集合包括的待划分功能之外的各个待划分功能,所述其他候选集合包括不满足所述预设合并条件的各个候选功能集合;
所述预设停止条件包括:所述迭代流程为除所述第一次迭代流程以外的任一次迭代流程,且所述迭代流程的迭代结果与所述迭代流程的上一次迭代流程的迭代结果相同。
可选地,获取每两个待划分功能的第一关联度,包括:
获取历史任务数据;所述历史任务数据包括在预设时间段内已执行任务的功能流转信息以及所述已执行任务的执行次数,所述功能流转信息包括至少一个功能;
获取同时包括所述第一待划分功能和所述第二待划分功能的任务的执行次数,作为第一执行次数,所述第一待划分功能和所述第二待划分功能为任意两个待划分功能;
获取包括所述第一待划分功能的执行次数和包括所述第二待划分功能的任务的执行次数之和,作为第二执行次数;
将所述第一执行次数和所述第二执行次数的比值作为所述第一待划分功能和所述第二待划分功能的第一关联度。
可选地,将满足预设关联条件的两个待划分功能划分为一个候选功能集合之前,还包括:
获取每两个待划分功能的第二关联度和/或第三关联度,其中,所述第二关联度指示第三待划分功能被调用时,第四待划分功能同时被调用的概率,所述第三关联度指示第四待划分功能被调用时,第三待划分功能同时被调用的概率,所述第三待划分功能和所述第四待划分功能为任意两个待划分功能;
所述将满足预设关联条件的两个待划分功能划分为一个候选功能集合,包括:
将满足所述预设关联条件的两个待划分功能划分为一个候选功能集合,所述预设关联条件还包括:所述第二关联度大于第二预设阈值、所述第三关联度大于第三预设阈值、以及所述第三关联度与所述第二关联度之和大于第四预设阈值中的至少一项。
可选地,将满足预设关联条件的两个待划分功能划分为一个候选功能集合之后,还包括:
获取至少M个候选功能集合中包括的同一待划分功能,作为第一目标功能,所述M为第一预设数值;
所述将满足预设合并条件的候选功能集合中的两个待划分功能合并为一个待划分功能,作为功能合并结果,包括:
将满足所述预设合并条件的候选功能集合中的两个待划分功能合并为一个待划分功能,作为所述功能合并结果,所述预设合并条件还包括:不包括所述第一目标功能。
可选地,将满足预设关联条件的两个待划分功能划分为一个候选功能集合之后,还包括:
将至少X个候选功能集合中包括的同一待划分功能作为第二目标功能,所述X为第二预设数值;
将包括所述第二目标功能的所述候选功能集合作为所述第二目标功能的目标集合;
获取所述第二目标功能的每一目标集合的执行频率,所述目标集合的执行频率为所述目标集合中的两个待划分功能同时被调用的频率;
所述将满足预设合并条件的候选功能集合中的两个待划分功能合并为一个待划分功能,作为功能合并结果,包括:
将满足所述预设合并条件的候选功能集合中的两个待划分功能合并为一个待划分功能,作为所述功能合并结果,所述预设合并条件还包括:不包括所述第二目标功能,或者,包括所述第二目标功能且在所述第二目标功能的所有目标集合中,执行频率最大。
本申请实施例还提供一种可读存储介质,该可读存储介质可存储有适于处理器执行的计算机程序,计算机程序被处理器执行时,实现本申请实施例提供的一种微服务模块的划分方法的各个步骤,如下:
一种微服务模块的划分方法,包括多次迭代流程,所述迭代流程包括:
获取每两个待划分功能的第一关联度,所述第一关联度指示两个待划分功能同时被调用的概率,若所述迭代流程为第一次迭代流程,所述待划分功能为待划分系统的原子功能,若所述迭代流程为在除所述第一次迭代流程以外的任一次迭代流程中,所述待划分功能为上一次迭代流程的迭代结果包括的待划分功能;
将满足预设关联条件的两个待划分功能划分为一个候选功能集合,所述预设关联条件包括所述第一关联度大于第一预设阈值;
获取每一所述候选功能集合的距离参数,所述候选功能集合的距离参数指示在执行任务时,所述候选功能集合中的两个待划分功能被调用的序位差值;
将满足预设合并条件的候选功能集合中的两个待划分功能合并为一个待划分功能,作为功能合并结果,所述预设合并条件包括距离参数小于预设距离阈值;
获取迭代结果,所述迭代结果包括:所述功能合并结果。
若满足预设停止条件,停止迭代,并将所述功能合并结果封装为一个微服务模块。
可选地,迭代结果还包括:单独功能结果,所述单独功能结果包括其他候选集合中的各个待划分功能、以及除候选功能集合包括的待划分功能之外的各个待划分功能,所述其他候选集合包括不满足所述预设合并条件的各个候选功能集合;
所述预设停止条件包括:所述迭代流程为除所述第一次迭代流程以外的任一次迭代流程,且所述迭代流程的迭代结果与所述迭代流程的上一次迭代流程的迭代结果相同。
可选地,获取每两个待划分功能的第一关联度,包括:
获取历史任务数据;所述历史任务数据包括在预设时间段内已执行任务的功能流转信息以及所述已执行任务的执行次数,所述功能流转信息包括至少一个功能;
获取同时包括所述第一待划分功能和所述第二待划分功能的任务的执行次数,作为第一执行次数,所述第一待划分功能和所述第二待划分功能为任意两个待划分功能;
获取包括所述第一待划分功能的执行次数和包括所述第二待划分功能的任务的执行次数之和,作为第二执行次数;
将所述第一执行次数和所述第二执行次数的比值作为所述第一待划分功能和所述第二待划分功能的第一关联度。
可选地,将满足预设关联条件的两个待划分功能划分为一个候选功能集合之前,还包括:
获取每两个待划分功能的第二关联度和/或第三关联度,其中,所述第二关联度指示第三待划分功能被调用时,第四待划分功能同时被调用的概率,所述第三关联度指示第四待划分功能被调用时,第三待划分功能同时被调用的概率,所述第三待划分功能和所述第四待划分功能为任意两个待划分功能;
所述将满足预设关联条件的两个待划分功能划分为一个候选功能集合,包括:
将满足所述预设关联条件的两个待划分功能划分为一个候选功能集合,所述预设关联条件还包括:所述第二关联度大于第二预设阈值、所述第三关联度大于第三预设阈值、以及所述第三关联度与所述第二关联度之和大于第四预设阈值中的至少一项。
可选地,将满足预设关联条件的两个待划分功能划分为一个候选功能集合之后,还包括:
获取至少M个候选功能集合中包括的同一待划分功能,作为第一目标功能,所述M为第一预设数值;
所述将满足预设合并条件的候选功能集合中的两个待划分功能合并为一个待划分功能,作为功能合并结果,包括:
将满足所述预设合并条件的候选功能集合中的两个待划分功能合并为一个待划分功能,作为所述功能合并结果,所述预设合并条件还包括:不包括所述第一目标功能。
可选地,将满足预设关联条件的两个待划分功能划分为一个候选功能集合之后,还包括:
将至少X个候选功能集合中包括的同一待划分功能作为第二目标功能,所述X为第二预设数值;
将包括所述第二目标功能的所述候选功能集合作为所述第二目标功能的目标集合;
获取所述第二目标功能的每一目标集合的执行频率,所述目标集合的执行频率为所述目标集合中的两个待划分功能同时被调用的频率;
所述将满足预设合并条件的候选功能集合中的两个待划分功能合并为一个待划分功能,作为功能合并结果,包括:
将满足所述预设合并条件的候选功能集合中的两个待划分功能合并为一个待划分功能,作为所述功能合并结果,所述预设合并条件还包括:不包括所述第二目标功能,或者,包括所述第二目标功能且在所述第二目标功能的所有目标集合中,执行频率最大。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种微服务模块的划分方法,其特征在于,包括多次迭代流程,所述迭代流程包括:
获取每两个待划分功能的第一关联度,所述第一关联度指示两个待划分功能同时被调用的概率,若所述迭代流程为第一次迭代流程,所述待划分功能为待划分系统的原子功能,若所述迭代流程为在除所述第一次迭代流程以外的任一次迭代流程中,所述待划分功能为上一次迭代流程的迭代结果包括的待划分功能;
将满足预设关联条件的两个待划分功能划分为一个候选功能集合,所述预设关联条件包括所述第一关联度大于第一预设阈值;
获取每一所述候选功能集合的距离参数,所述候选功能集合的距离参数指示在执行任务时,所述候选功能集合中的两个待划分功能被调用的序位差值;
将满足预设合并条件的候选功能集合中的两个待划分功能合并为一个待划分功能,作为功能合并结果,所述预设合并条件包括距离参数小于预设距离阈值;
获取迭代结果,所述迭代结果包括:所述功能合并结果;
若满足预设停止条件,停止迭代,并将所述功能合并结果封装为一个微服务模块。
2.根据权利要求1所述的方法,其特征在于,所述迭代结果还包括:单独功能结果,所述单独功能结果包括其他候选集合中的各个待划分功能、以及除候选功能集合包括的待划分功能之外的各个待划分功能,所述其他候选集合包括不满足所述预设合并条件的各个候选功能集合;
所述预设停止条件包括:所述迭代流程为除所述第一次迭代流程以外的任一次迭代流程,且所述迭代流程的迭代结果与所述迭代流程的上一次迭代流程的迭代结果相同。
3.根据权利要求1或2所述的方法,其特征在于,所述获取每两个待划分功能的第一关联度,包括:
获取历史任务数据;所述历史任务数据包括在预设时间段内已执行任务的功能流转信息以及所述已执行任务的执行次数,所述功能流转信息包括至少一个功能;
获取同时包括所述第一待划分功能和所述第二待划分功能的任务的执行次数,作为第一执行次数,所述第一待划分功能和所述第二待划分功能为任意两个待划分功能;
获取包括所述第一待划分功能的执行次数和包括所述第二待划分功能的任务的执行次数之和,作为第二执行次数;
将所述第一执行次数和所述第二执行次数的比值作为所述第一待划分功能和所述第二待划分功能的第一关联度。
4.根据权利要求1或2所述的方法,其特征在于,所述将满足预设关联条件的两个待划分功能划分为一个候选功能集合之前,还包括:
获取每两个待划分功能的第二关联度和/或第三关联度,其中,所述第二关联度指示第三待划分功能被调用时,第四待划分功能同时被调用的概率,所述第三关联度指示第四待划分功能被调用时,第三待划分功能同时被调用的概率,所述第三待划分功能和所述第四待划分功能为任意两个待划分功能;
所述将满足预设关联条件的两个待划分功能划分为一个候选功能集合,包括:
将满足所述预设关联条件的两个待划分功能划分为一个候选功能集合,所述预设关联条件还包括:所述第二关联度大于第二预设阈值、所述第三关联度大于第三预设阈值、以及所述第三关联度与所述第二关联度之和大于第四预设阈值中的至少一项。
5.根据权利要求1或2所述的方法,其特征在于,所述将满足预设关联条件的两个待划分功能划分为一个候选功能集合之后,还包括:
获取至少M个候选功能集合中包括的同一待划分功能,作为第一目标功能,所述M为第一预设数值;
所述将满足预设合并条件的候选功能集合中的两个待划分功能合并为一个待划分功能,作为功能合并结果,包括:
将满足所述预设合并条件的候选功能集合中的两个待划分功能合并为一个待划分功能,作为所述功能合并结果,所述预设合并条件还包括:不包括所述第一目标功能。
6.根据权利要求1或2所述的方法,其特征在于,所述将满足预设关联条件的两个待划分功能划分为一个候选功能集合之后,还包括:
将至少X个候选功能集合中包括的同一待划分功能作为第二目标功能,所述X为第二预设数值;
将包括所述第二目标功能的候选功能集合作为所述第二目标功能的目标集合;
获取所述第二目标功能的每一目标集合的执行频率,所述目标集合的执行频率为所述目标集合中的两个待划分功能同时被调用的频率;
所述将满足预设合并条件的候选功能集合中的两个待划分功能合并为一个待划分功能,作为功能合并结果,包括:
将满足所述预设合并条件的候选功能集合中的两个待划分功能合并为一个待划分功能,作为所述功能合并结果,所述预设合并条件还包括:不包括所述第二目标功能,或者,包括所述第二目标功能且在所述第二目标功能的所有目标集合中,执行频率最大。
7.一种微服务模块的划分装置,其特征在于,包括:
关联度获取单元,用于获取每两个待划分功能的第一关联度,所述第一关联度指示两个待划分功能同时被调用的概率,若所述迭代流程为第一次迭代流程,所述待划分功能为待划分系统的原子功能,若所述迭代流程为在除所述第一次迭代流程以外的任一次迭代流程中,所述待划分功能为上一次迭代流程的迭代结果包括的待划分功能;
集合划分单元,用于将满足预设关联条件的两个待划分功能划分为一个候选功能集合,所述预设关联条件包括所述第一关联度大于第一预设阈值;
距离获取单元,用于获取每一所述候选功能集合的距离参数,所述候选功能集合的距离参数指示在执行任务时,所述候选功能集合中的两个待划分功能被调用的序位差值;
功能合并单元,用于将满足预设合并条件的候选功能集合中的两个待划分功能合并为一个待划分功能,作为功能合并结果,所述预设合并条件包括距离参数小于预设距离阈值;
结果获取单元,用于获取所述迭代流程的迭代结果,所述迭代流程的迭代结果包括:所述功能合并结果;
模块封装单元,用于若满足预设停止条件,停止迭代,并将所述功能合并结果封装为一个微服务模块。
8.根据权利要求7所述的装置,其特征在于,所述迭代结果还包括:单独功能结果,所述单独功能结果包括其他候选集合中的各个待划分功能、以及除候选功能集合包括的待划分功能之外的各个待划分功能,所述其他候选集合包括不满足所述预设合并条件的各个候选功能集合;
所述预设停止条件包括:所述迭代流程为除所述第一次迭代流程以外的任一次迭代流程,且所述迭代流程的迭代结果与所述迭代流程的上一次迭代流程的迭代结果相同。
9.一种微服务模块的划分设备,其特征在于,包括:存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现如权利要求1~6中任一项所述的微服务模块的划分方法的各个步骤。
10.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1~6中任一项所述的微服务模块的划分方法的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110484502.6A CN113139867B (zh) | 2021-04-30 | 2021-04-30 | 微服务模块的划分方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110484502.6A CN113139867B (zh) | 2021-04-30 | 2021-04-30 | 微服务模块的划分方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113139867A true CN113139867A (zh) | 2021-07-20 |
CN113139867B CN113139867B (zh) | 2024-03-08 |
Family
ID=76816876
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110484502.6A Active CN113139867B (zh) | 2021-04-30 | 2021-04-30 | 微服务模块的划分方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113139867B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106575225A (zh) * | 2014-12-11 | 2017-04-19 | 株式会社日立制作所 | 模块划分辅助装置、方法和程序 |
US20170364434A1 (en) * | 2016-06-15 | 2017-12-21 | International Business Machines Corporation | Splitting and merging microservices |
CN111596924A (zh) * | 2020-06-18 | 2020-08-28 | 南方电网科学研究院有限责任公司 | 一种微服务划分方法和装置 |
JP2021009589A (ja) * | 2019-07-02 | 2021-01-28 | アズビル株式会社 | マイクロサービス分割装置およびマイクロサービス分割プログラム |
CN112308521A (zh) * | 2020-11-02 | 2021-02-02 | 中国联合网络通信集团有限公司 | 微服务划分方法和系统 |
US10936291B1 (en) * | 2019-04-17 | 2021-03-02 | EMC IP Holding Company LLC | Recommending the refactoring of microservices |
-
2021
- 2021-04-30 CN CN202110484502.6A patent/CN113139867B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106575225A (zh) * | 2014-12-11 | 2017-04-19 | 株式会社日立制作所 | 模块划分辅助装置、方法和程序 |
US20170364434A1 (en) * | 2016-06-15 | 2017-12-21 | International Business Machines Corporation | Splitting and merging microservices |
US10936291B1 (en) * | 2019-04-17 | 2021-03-02 | EMC IP Holding Company LLC | Recommending the refactoring of microservices |
JP2021009589A (ja) * | 2019-07-02 | 2021-01-28 | アズビル株式会社 | マイクロサービス分割装置およびマイクロサービス分割プログラム |
CN111596924A (zh) * | 2020-06-18 | 2020-08-28 | 南方电网科学研究院有限责任公司 | 一种微服务划分方法和装置 |
CN112308521A (zh) * | 2020-11-02 | 2021-02-02 | 中国联合网络通信集团有限公司 | 微服务划分方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113139867B (zh) | 2024-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110032438B (zh) | 延时任务执行方法、装置及电子设备 | |
US8239404B2 (en) | Identifying entries and exits of strongly connected components | |
CN107251021B (zh) | 过滤数据沿袭图 | |
US20120246317A1 (en) | Cloud-Based Resource Identification and Allocation | |
von der Brüggen et al. | Efficiently approximating the probability of deadline misses in real-time systems | |
TW202029079A (zh) | 異常群體識別方法及裝置 | |
CN111767143A (zh) | 交易数据处理方法、装置、设备及系统 | |
CN109983467B (zh) | 用于匿名化数据集的系统和方法 | |
KR101857510B1 (ko) | 소팅 | |
CN108650684A (zh) | 一种关联规则确定方法及装置 | |
CN109189572B (zh) | 一种资源预估方法及系统、电子设备和存储介质 | |
KR102185553B1 (ko) | 시스템 아키텍처를 표현하는 가중 속성 그래프 데이터 모델 | |
CN112749056A (zh) | 应用服务指标监控方法、装置、计算机设备和存储介质 | |
CN114491172B (zh) | 树形结构节点的快速检索方法、装置、设备及存储介质 | |
CN113139867B (zh) | 微服务模块的划分方法、装置、设备及可读存储介质 | |
Dvořák et al. | A dynamic data structure for MSO properties in graphs with bounded tree-depth | |
CN111027688A (zh) | 一种基于fpga的神经网络计算器生成方法及装置 | |
CN110071828A (zh) | 告警方法、装置、设备及存储介质 | |
CN115361295A (zh) | 基于topsis的资源备份方法、装置、设备及介质 | |
CN112181374B (zh) | 一种数据整合方法、装置、电子设备及存储介质 | |
JP5416614B2 (ja) | 公開情報のプライバシー保護装置、公開情報のプライバシー保護方法およびプログラム | |
Maximova et al. | Interval probabilistic timed graph transformation systems | |
CN109522915B (zh) | 病毒文件聚类方法、装置及可读介质 | |
Kumar et al. | The degree constrained k-cardinality minimum spanning tree problem: a lexi-search algorithm | |
CN112527486A (zh) | 调度优化方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |