CN117311801B - 一种基于网络化结构特征的微服务拆分方法 - Google Patents
一种基于网络化结构特征的微服务拆分方法 Download PDFInfo
- Publication number
- CN117311801B CN117311801B CN202311589456.1A CN202311589456A CN117311801B CN 117311801 B CN117311801 B CN 117311801B CN 202311589456 A CN202311589456 A CN 202311589456A CN 117311801 B CN117311801 B CN 117311801B
- Authority
- CN
- China
- Prior art keywords
- nodes
- service
- node
- micro
- clustering
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 230000006855 networking Effects 0.000 title claims abstract description 12
- 230000003993 interaction Effects 0.000 claims abstract description 25
- 239000011159 matrix material Substances 0.000 claims abstract description 24
- 230000003068 static effect Effects 0.000 claims abstract description 16
- 238000004458 analytical method Methods 0.000 claims abstract description 14
- 230000008569 process Effects 0.000 claims description 20
- 238000010586 diagram Methods 0.000 claims description 8
- 238000005192 partition Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000002776 aggregation Effects 0.000 claims 1
- 238000004220 aggregation Methods 0.000 claims 1
- 108010015046 cell aggregation factors Proteins 0.000 claims 1
- 239000000306 component Substances 0.000 description 6
- 238000011161 development Methods 0.000 description 6
- 230000018109 developmental process Effects 0.000 description 6
- 238000012360 testing method Methods 0.000 description 5
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/72—Code refactoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于网络化结构特征的微服务拆分方法,其步骤为:采用静态代码分析方法获取系统中的类与方法之间的静态关联信息;利用动态链路追踪方法获取业务操作的执行链路信息,包括业务操作与业务操作、业务操作与数据库之间的交互信息;根据获得的业务类与方法之间的静态关联信息以及业务操作的执行链路信息构建参数矩阵;根据参数矩阵,构建网络模型;采用基于改进的K‑means算法进行聚类,完成微服务拆分。本发明不仅仅能够解决人工拆分中拆分成本高、拆分粒度大等问题,而且相较于其他微服务拆分方法,其拆分效率也有很大的提高。
Description
技术领域
本发明属于微服务技术领域,具体涉及一种基于网络化结构特征的微服务拆分方法。
背景技术
近年来,随着互联网架构的不断完善与发展,用户对于系统功能的需求越来越多,由此使得软件系统的架构也越来越复杂,内容越来越繁重,因此,以往的单体架构与SOA架构在面对需要处理多个业务功能时,会出现效率低、资源浪费大等一系列问题。许多企业正逐渐追求一个灵活、高效、业务功能丰富的软件架构。微服务架构(microservicesarchitecture,简称 MSA)作为单体架构与面向服务架构(service-orientedarchitecture,简称 SOA)之后新兴的软件系统架构,其主要思想在于“分而自治”,即将传统的架构划分成更细粒度的单位,每个服务具备自己的组件与数据库,能够独立的完成业务功能的实现,服务与服务之间通过API接口进行交互,各个微服务在进行需求设计、开发、测试、部署、交付时,互不影响,技术异构。由此开发出来的软件架构,业务功能更加丰富,架构更加灵活,处理效率更加迅速。因此已经有越来越多的企业开始向微服务架构进行转型。
微服务架构能够如此灵活高效,在很大程度上取决于其拆分的结果是否足够优秀,如拆分的粒度是否足够小,拆分方案的效率是否足够高,所拆分出来的微服务是否能够尽可能多的实现客户的需求等等。因此一种合理的拆分方案在微服务的拆分过程中就显得尤为重要。
Baresi等人通过对系统接口语义相似度进行分析,通过接口文档、测试用例等方法完成微服务的拆分。此类方法虽然能够有完整的测试用例描述以及对于系统各阶段的开发文档的分析报告,但是由于此方法较大程度上取决开发者的经验以及一个开发文档的完整性,故在拆分过程中会存在开发文档丢失,服务划分粒度过大等障碍。Ding D等针对微服务拆分依赖于人工分析、拆分成本高、拆分周期长等问题,提出了一种场景驱动、自低向上的微服务拆分方法。此方法作为半自动化的拆分方法在用于较为大型的、业务逻辑较为复杂的、数据表较多的软件系统架构中,在较大程度上减轻了软件系统开发的工作量与开发成本。然而此方法在数据的粒度拆分上还存在局限性。Li 等人针对以往基于数据流驱动的微服务拆分方法进行优化,此方法在微服务拆分的效率以及灵活性方面都有着较大的提升。但这种通过拆分算法来进行微服务拆分的方法对于信息收集、过程分析、以及拆分算法的优化方面都有着较高的要求。信息收集不完整、过程分析不充分,算法效率不高等都会对微服务拆分的结果造成较大影响。
传统的k-means算法主要通过欧式距离来作为聚类的一个关键指标,找出距离聚类中心最近的节点放入一个簇中,在不断的迭代中完成聚类过程。这种方法虽然简单便捷,但是其分类的结果严重依赖于簇中心的初始化且聚类结果并不能保证全局最优,而且使用欧式距离作为聚类的中心对于某些特殊点可能不具有鲁棒性,容易造成聚类结果陷入局部最优的情况。
专利CN202211416435公开了一种基于系统特征的微服务拆分方法,该专利中以相关节点放入一个簇的方法随机性比较大,由此带来的随机性结果会加重后续的工作量,并影响后续微服务拆分的效率。
发明内容
为了解决现有微服务拆分存在的上述技术问题,本发明提供一种基于网络化结构特征的微服务拆分方法。本发明不仅仅能够解决人工拆分中拆分成本高、拆分粒度大等问题,而且相较于其他微服务拆分方法,其拆分效率也有很大的提高。
本发明解决上述技术问题的技术方案是:一种基于网络化结构特征的微服务拆分方法,包括以下步骤:
S1,采用静态代码分析方法获取系统中类与方法之间的静态关联信息,进而获取单个服务其内部业务操作与数据库之间的交互信息,以及外部服务与服务之间的交互所产生的数据信息;
S2,利用动态链路追踪方法获取业务操作的执行链路信息,包括业务操作与业务操作、业务操作与数据库之间的交互信息;
S3,根据步骤S1获得的业务类与方法之间的静态关联信息以及步骤S2获取业务操作的执行链路信息构建参数矩阵;
S4,根据步骤S3所构建的参数矩阵来构建网络模型:其中以对业务功能所进行的操作与各服务所包含的数据库作为网络中的节点,以业务操作之间以及业务操作与数据库之间所交互次数的倒数作为网络中边的权值;
S5,根据步骤S4所构建网络模型中边的权值,以此权值作为聚合过程中的聚合因子,采用改进K-means算法进行聚类,k设定为固定的值,参考节点之间的交互频率来设定其之间距离,选取网络结构中距离最远的点作为初始聚类中心,将剩余的其余节点按照其与聚类中心的距离,划分到相应的簇中,寻找此时距离当前聚类中心最远的节点作为新的聚类中心参与聚类,更新聚类中心,经过数次迭代之后得到聚类结果,即微服务的拆分方案。
进一步的,所述步骤S1中静态代码分析方法中采用Understand对结构代码进行分析。
进一步的,所述步骤S2中采用Zipkin进行动态链路追踪。
进一步的,所述步骤S3中的参数矩阵为具有m个参数的矩阵W,W为一个(i+j)×(i+j)的矩阵, i为业务操作节点个数,j为数据库个数, 取业务操作之间、业务操作与数据库之间交互次数的倒数作为节点边的权值,故矩阵中元素Wij的值即表示第i号节点与第j号节点之间边的权值,值为0则表示其间不存在交互。
进一步的,所述步骤S4中以单个业务操作与数据库作为网络中的节点,以矩阵中的元素值作为网络中边权值构建网络模型。
进一步的,所述步骤S5中采用基于改进的K-means算法进行聚类,完成微服务拆分,具体步骤如下:
初始有n个聚类中心Un,2≤n≤k,k表示最终将划分成k个簇,根据步骤S1,S2中获取的信息,确定微服务拆分个数为k个,且设:
d(xy)=Wxy (1);
d(xy)表示网络结构图中节点x与节点y之间的距离,Wxy表示节点x与y之间边的权值;
选取网络结构中d(xy)值最大的两个节点,将这两个节点作为聚类中心,根据中心与周围各节点的距离来划分成两个集合;分别计算出两个集合中的dmin(xy),dmin(xy)表示聚类集合中聚类中心节点与其余节点距离的最小值,求出两个集合中距离周围邻居节点最近的节点,设为b1,b2,作为新的聚类中心,进行下一轮聚类;
;
dnew(xy)表示当前一轮的聚类过程中,距离当前聚类中心节点最远的节点到聚类中心节点之间的距离,并以此节点作为下一聚类过程中的聚类中心,m表示矩阵中的参数个数,μ表示在聚类过程中参与计算的节点,根据式(2)计算出距离b1、b2最远的节点,记为c1;
根据这几个节点与周围节点的距离划分成3个集合,再次求出三个集合的dmin(xy),以此来确定c1、 c2、 c3作为新的聚类中心,进一步聚类形成3个簇;
;
同理当需要聚类成4个簇时,根据公式(3)选取距离上述步骤中3个聚类中心最远的节点作为新的聚类中心,同样按照与周围各个节点距离长度来进行集合的划分,最终分为4个集合;
当集合划分个数等于微服务最终划分个数k时,停止继续添加新的聚类节点,确定此k个节点作为聚类的中心节点,将整个网络划分成k个集合,每个集合最终形成一个微服务的候选集。
本发明的有益效果:
1)本发明通过前期的测试用例编写与网络模型的构建,为后期通过K-means算法自动化拆分提供数据信息。以此种测试驱动的方法进行的拆分模式,能够根据用户的需求将整个架构划分成若干个微服务。在充分满足用户需求的同时,利用K-means算法的高效性,能够迅速的完成划分。区别于传统的k-means算法,本发明将k设定为固定的值,参考节点之间的交互频率来设定其之间距离,选取网络结构中距离最远的点作为初始聚类中心,将剩余的其余节点按照其与聚类中心的距离,划分到相应的簇中,寻找此时距离当前聚类中心最远的节点作为新的聚类中心参与聚类,更新聚类中心。通过循环上述过程直至聚类中心数等于k值,此时就表示通过聚类过程得到了k个簇,完成了节点聚类过程。在一定程度降低了服务划分的成本,减少了拆分过程所花的时间。
2)本发明将业务操作与数据库设为网络中的节点来进行模型构建并聚类,而业务操作与数据库是构成一个业务功能中最基本的单位,因此,所拆分出的各个微服务在足够细的同时,同样也能完整的实现各自对应的业务功能。此外,由于通过使用改进的K-means算法来进行拆分,对于所拆分微服务的个数,可以根据用户的需求,灵活的进行设置,大大优化了整个系统的灵活性。
3)本发明充分考虑了高内聚低耦合准则,以节点交互的频率作为划分准则,将交互频繁的业务操作与数据库划进同一个微服务,能够确保实现业务功能时尽可能在服务内部完成,避免过多的外部交互。不仅能够极大程度上降低了业务功能实现所花成本,而且能够避免由于某个服务的崩溃引起整个系统宕机。
附图说明
图1为本发明的流程图。
图2为本发明中业务操作节点与数据库节点关系示意图。
图3为本发明中为微服务模型下多重网络任务驱动的组件调度示意图。
图4 为本发明中基于改进的K-means算法流程图。
图5、图6、图7为本发明中改进的K-means算法聚类图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步的详细说明。
如图1所示,本发明的基于网络化结构特征的微服务拆分方法包括以下步骤:
S1,采用静态代码分析方法获取系统中的类与方法之间的静态关联信息。完成静态代码分析的工作主要借助于Understand,通过将单体架构的代码导入其中,就可以生成图形化分析结果,比如模块与模块之间的调用,函数的调用流程等等。通过图形化的分析,可以很清楚的获取代码中各个参数之间的逻辑关系,能很便捷、准确的获取其中有关指标,这些指标可以实现我们对于软件架构中各组件之间交互关系的理解,有助于实现高内聚低耦合的微服务拆分原则。
S2,利用动态链路追踪方法获取业务操作的执行链路信息,包括业务操作与业务操作、业务操作与数据库之间的交互信息。本发明中通过Zipkin来完成动态链路追踪问题。Zipkin在通常情况下主要用于对服务产生的定时数据进行收集,从而用来解决微服务架构中存在的延迟问题。核心组件能够很好的满足我们对于系统链路信息收集的需求,比如Collector、Storage组件,我们通过Collector处理从系统外部发送的追踪信息,通过Storage存储其追踪信息,而RESTful API则为外部的访问提供了接口,向外部展示追踪信息,所以我们在借此组件的基础上,再结合UI组件就可以方便、直观地查询和分析跟踪信息。
S3,根据步骤S1获得的类与方法之间的静态关联信息,以及步骤S2获取业务操作的执行链路信息构建参数矩阵,设存在i个业务操作节点,j个数据库节点。以此条件构建一个具有m个参数的矩阵W,W为一个(i+j)×(i+j)的矩阵,取业务操作之间、业务操作与数据库之间交互次数的倒数作为节点边的权值,故矩阵中元素Wij的值即表示第i号节点与第j号节点之间边的权值,值为0则表示其间不存在交互。
S4,根据参数矩阵,以业务操作与数据库作为网络中的节点,构建网络模型。根据步骤S3构建的参数矩阵,构建初始网络结构图G(v,e),v表示业务操作节点与数据库节点的个数之和,e表示业务操作与业务操作、业务操作与数据库之间存在的关联数之和,如图2所示。图2中,P指的是带拆分架构中的业务操作,D代表数据库,W表示两者之间的交互频率。在一个待拆分的单体架构中,设存在i个业务操作节点P={P1,P2…Pi},(0<i<j),j个数据库节点D={Di+1,Di+2,…Dj},(i<j),通过步骤S1,S2中获取的信息,将业务操作与业务操作、业务操作与数据库之间的交互次数的倒数,作为网络中边的权值W={W11,W12…Wij},权值越小,表示两者之间的交互越频繁,耦合度越低。反之权值越大,表示两者之间的交互频率越低,耦合度越大。以此来构建整个网络结构,其示意图如图3所示。
S5,在S4步骤构建的网络结构中,为了获得最优的微服务划分结果,我们对传统的K-Means算法进行优化。根据实际应用与业务需求,我们设定初始有n个聚类中心Un,2≤n≤k,k表示最终将划分成k个簇,也即最终拆分成k个微服务M={M1,M2…Mk}。通过对步骤S1,S2中信息的获取进行分析,确定微服务拆分个数为k个。且设:
d(xy)=Wxy (1);
d(xy)表示网络结构图中节点x与节点y之间的距离,Wxy表示节点x与y之间边的权值。
选择网络结构中d(xy)值最大的两个节点,然后将这两个节点作为聚类中心,根据中心与周围各节点的距离来划分成两个集合。根据式(1)分别计算出两个集合中dmin(xy),dmin(xy)表示聚类集合中聚类中心节点与其余节点距离的最小值,以此来求出两个集合中距离周围邻居节点最近的节点,设为b1,b2,作为新的聚类中心,进行下一轮聚类,如图5所示。
;
上式dnew(xy)表示当前一轮的聚类过程中,距离当前聚类中心节点最远的节点到聚类中心节点之间的距离,并以此节点作为下一聚类过程中的聚类中心,m为参数矩阵中的参数个数,μ表示在聚类过程中所参与计算的节点 ,即选取聚类集合中第μ个节点;根据式(2),求出距离b1,b2最远的节点,设为c1,如图6所示。
根据这几个节点与周围节点的距离划分成3个集合,再次求出三个集合的dmin(xy),以此来确定c1、 c2、 c3作为新的聚类中心,进一步聚类形成3个簇,如图7所示。
;
同理当需要聚类成4个簇时,按照式(3)选取距离上述步骤中3个聚类中心最远的节点作为新的聚类中心,同样按照与周围各个节点距离长度来进行集合的划分,最终分为4个集合。
当集合划分个数等于微服务最终划分个数k时,停止继续添加新的聚类节点。确定此k个节点作为聚类的中心节点,将整个网络划分成k个集合,每个集合最终形成一个微服务的候选集。
Claims (5)
1.一种基于网络化结构特征的微服务拆分方法,其特征在于,包括以下步骤:
S1,采用静态代码分析方法获取系统中类与方法之间的静态关联信息,进而获取单个服务其内部业务操作与数据库之间的交互信息,以及外部服务与服务之间的交互所产生的数据信息;
S2,利用动态链路追踪方法获取业务操作的执行链路信息,包括业务操作与业务操作、业务操作与数据库之间的交互信息;
S3,根据步骤S1获得的业务类与方法之间的静态关联信息以及步骤S2获取业务操作的执行链路信息构建参数矩阵;
S4,根据步骤S3所构建的参数矩阵来构建网络模型:其中以对业务功能所进行的操作与各服务所包含的数据库作为网络中的节点,以业务操作之间以及业务操作与数据库之间所交互次数的倒数作为网络中边的权值;
S5,根据步骤S4所构建网络模型中边的权值,以此权值作为聚合过程中的聚合因子,采用K-means算法进行聚类,经过数次迭代之后得到聚类结果,即微服务的拆分方案;具体步骤如下:
初始有n个聚类中心Un,2≤n≤k,k表示最终将划分成k个簇,根据步骤S1,S2中获取的信息,确定微服务拆分个数为k个,且设:
d(xy)=Wxy (1);
d(xy)表示网络结构图中节点x与节点y之间的距离,Wxy表示节点x与y之间边的权值;
选取网络结构中d(xy)值最大的两个节点,将这两个节点作为聚类中心,根据中心与周围各节点的接近程度来划分成两个集合;分别计算出两个集合中的dmin(xy),dmin(xy)表示聚类集合中聚类中心节点与其余节点距离的最小值,求出两个集合中距离周围邻居节点最近的节点,设为b1,b2,作为新的聚类中心,进行下一轮聚类;
;
dnew(xy)表示当前一轮的聚类过程中,距离当前聚类中心节点最远的节点到聚类中心节点之间的距离,并以此节点作为下一聚类过程中的聚类中心,m表示矩阵中的参数个数,μ表示在聚类过程中所参与计算的节点,根据式(2)计算出距离b1、b2最远的节点,记为c1;
根据这几个节点与周围节点的距离划分成3个集合,再次求出三个集合的dmin,以此来确定c1、 c2、 c3作为新的聚类中心,进一步聚类形成3个簇;
;
同理当需要聚类成4个簇时,按照式(3)选取距离上述步骤中3个聚类中心最远的节点作为新的聚类中心,同样按照与周围各个节点距离长度来进行集合的划分,最终分为4个集合;
当集合划分个数等于微服务最终划分个数k时,停止继续添加新的聚类节点,确定此k个节点作为聚类的中心节点,将整个网络划分成k个集合,每个集合最终形成一个微服务的候选集。
2.根据权利要求1所述的基于网络化结构特征的微服务拆分方法,其特征在于:所述步骤S1中静态代码分析方法采用Understand对结构代码进行分析。
3.根据权利要求1所述的基于网络化结构特征的微服务拆分方法,其特征在于:所述步骤S2中采用Zipkin进行动态链路追踪。
4.根据权利要求1所述的基于网络化结构特征的微服务拆分方法,其特征在于:所述步骤S3中的参数矩阵为具有m个参数的矩阵W,W为一个(i+j)×(i+j)的矩阵, i为业务操作节点个数,j为数据库个数, 取业务操作之间、业务操作与数据库之间交互次数的倒数作为节点边的权值,故矩阵中元素Wij的值即表示第i号节点与第j号节点之间边的权值,值为0则表示其间不存在交互。
5.根据权利要求1所述的基于网络化结构特征的微服务拆分方法,其特征在于:所述步骤S4中以单个业务操作与数据库作为网络中的节点,以矩阵中的元素值作为网络中边权值构建网络模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311589456.1A CN117311801B (zh) | 2023-11-27 | 2023-11-27 | 一种基于网络化结构特征的微服务拆分方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311589456.1A CN117311801B (zh) | 2023-11-27 | 2023-11-27 | 一种基于网络化结构特征的微服务拆分方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117311801A CN117311801A (zh) | 2023-12-29 |
CN117311801B true CN117311801B (zh) | 2024-04-09 |
Family
ID=89288660
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311589456.1A Active CN117311801B (zh) | 2023-11-27 | 2023-11-27 | 一种基于网络化结构特征的微服务拆分方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117311801B (zh) |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111382797A (zh) * | 2020-03-09 | 2020-07-07 | 西北工业大学 | 一种基于样本密度和自适应调整聚类中心的聚类分析方法 |
CN111476270A (zh) * | 2020-03-04 | 2020-07-31 | 中国平安人寿保险股份有限公司 | 基于K-means算法的课程信息确定方法、装置、设备及存储介质 |
CN111709285A (zh) * | 2020-05-09 | 2020-09-25 | 五邑大学 | 一种基于无人机的疫情防护监控方法、装置和存储介质 |
CN112148484A (zh) * | 2020-09-14 | 2020-12-29 | 北京大学 | 一种基于耦合度的微服务在线分配方法与系统 |
CN113760778A (zh) * | 2021-11-09 | 2021-12-07 | 浙江大学滨海产业技术研究院 | 一种基于词向量模型的微服务接口划分评价方法 |
CN113961173A (zh) * | 2021-10-13 | 2022-01-21 | 天津大学 | 基于领域事件驱动的单体系统微服务拆分方法 |
US11269625B1 (en) * | 2020-10-20 | 2022-03-08 | International Business Machines Corporation | Method and system to identify and prioritize re-factoring to improve micro-service identification |
KR20220029011A (ko) * | 2020-09-01 | 2022-03-08 | 삼성에스디에스 주식회사 | 마이크로 서비스 식별 장치 및 방법 |
CN114417000A (zh) * | 2022-03-01 | 2022-04-29 | 北京天融信网络安全技术有限公司 | 微服务划分方法、装置、设备及存储介质 |
CN114706696A (zh) * | 2022-03-30 | 2022-07-05 | 中国联合网络通信集团有限公司 | 一种微服务划分方法、装置及计算机可读存储介质 |
CN115151897A (zh) * | 2020-04-22 | 2022-10-04 | 国际商业机器公司 | 基于运行时跟踪从单体式应用程序生成微服务 |
CN115309634A (zh) * | 2022-07-16 | 2022-11-08 | 西北大学 | 一种微服务提取方法、系统、介质、设备及信息处理终端 |
CN115730069A (zh) * | 2022-11-23 | 2023-03-03 | 安徽大学 | 基于动静态调用关系、并反映业务能力的微服务识别方法 |
CN115794105A (zh) * | 2022-11-03 | 2023-03-14 | 贵州航天计量测试技术研究所 | 一种微服务的提取方法、装置以及电子设备 |
CN115834689A (zh) * | 2021-09-15 | 2023-03-21 | 深圳富桂精密工业有限公司 | 微服务分配方法、电子设备及存储介质 |
CN116821715A (zh) * | 2023-04-18 | 2023-09-29 | 长春理工大学 | 一种基于半监督约束的人工蜂群优化聚类方法 |
CN116846961A (zh) * | 2023-08-03 | 2023-10-03 | 中国电信股份有限公司技术创新中心 | 微服务拆分建议方法、装置、存储介质与电子设备 |
CN116975634A (zh) * | 2023-07-18 | 2023-10-31 | 浙江大学 | 一种基于程序静态属性及图神经网络的微服务提取方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10430250B2 (en) * | 2017-10-11 | 2019-10-01 | International Business Machines Corporation | Decomposing monolithic application into microservices |
CN107895253A (zh) * | 2017-10-25 | 2018-04-10 | 北京科东电力控制系统有限责任公司 | 一种电力交易功能进行微服务改造的方法 |
US11416243B2 (en) * | 2020-01-23 | 2022-08-16 | International Business Machines Corporation | Microservice decomposition strategy of monolithic applications |
CN111651451A (zh) * | 2020-04-25 | 2020-09-11 | 复旦大学 | 一种场景驱动的单体系统微服务拆分方法 |
US11360877B2 (en) * | 2020-09-14 | 2022-06-14 | International Business Machines Corporation | Forming microservices from monolithic applications |
WO2022061057A1 (en) * | 2020-09-17 | 2022-03-24 | Verint Americas Inc. | Combining unsupervised and semi-supervised deep clustering approaches for mining intentions from texts |
US11847443B2 (en) * | 2021-09-07 | 2023-12-19 | International Business Machines Corporation | Constraints-based refactoring of monolith applications through attributed graph embeddings |
US11836538B2 (en) * | 2021-10-11 | 2023-12-05 | International Business Machines Corporation | Heterogeneous graph generation for application microservices |
US11768679B2 (en) * | 2021-11-30 | 2023-09-26 | International Business Machines Corporation | Identifying microservices for a monolith application through static code analysis |
US11870669B2 (en) * | 2021-12-20 | 2024-01-09 | Intel Corporation | At-scale telemetry using interactive matrix for deterministic microservices performance |
CN114647465B (zh) * | 2022-05-23 | 2022-08-16 | 南京航空航天大学 | 多通道注意力图神经网络聚类的单体程序拆分方法及系统 |
CN115061836B (zh) * | 2022-08-16 | 2022-11-08 | 浙江大学滨海产业技术研究院 | 一种接口层面的基于图嵌入算法的微服务拆分方法 |
CN116185373B (zh) * | 2023-04-26 | 2023-09-01 | 上海金仕达软件科技股份有限公司 | 基于静态代码分析的微服务基础设施生成方法 |
-
2023
- 2023-11-27 CN CN202311589456.1A patent/CN117311801B/zh active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111476270A (zh) * | 2020-03-04 | 2020-07-31 | 中国平安人寿保险股份有限公司 | 基于K-means算法的课程信息确定方法、装置、设备及存储介质 |
CN111382797A (zh) * | 2020-03-09 | 2020-07-07 | 西北工业大学 | 一种基于样本密度和自适应调整聚类中心的聚类分析方法 |
CN115151897A (zh) * | 2020-04-22 | 2022-10-04 | 国际商业机器公司 | 基于运行时跟踪从单体式应用程序生成微服务 |
CN111709285A (zh) * | 2020-05-09 | 2020-09-25 | 五邑大学 | 一种基于无人机的疫情防护监控方法、装置和存储介质 |
KR20220029011A (ko) * | 2020-09-01 | 2022-03-08 | 삼성에스디에스 주식회사 | 마이크로 서비스 식별 장치 및 방법 |
CN112148484A (zh) * | 2020-09-14 | 2020-12-29 | 北京大学 | 一种基于耦合度的微服务在线分配方法与系统 |
US11269625B1 (en) * | 2020-10-20 | 2022-03-08 | International Business Machines Corporation | Method and system to identify and prioritize re-factoring to improve micro-service identification |
CN115834689A (zh) * | 2021-09-15 | 2023-03-21 | 深圳富桂精密工业有限公司 | 微服务分配方法、电子设备及存储介质 |
CN113961173A (zh) * | 2021-10-13 | 2022-01-21 | 天津大学 | 基于领域事件驱动的单体系统微服务拆分方法 |
CN113760778A (zh) * | 2021-11-09 | 2021-12-07 | 浙江大学滨海产业技术研究院 | 一种基于词向量模型的微服务接口划分评价方法 |
CN114417000A (zh) * | 2022-03-01 | 2022-04-29 | 北京天融信网络安全技术有限公司 | 微服务划分方法、装置、设备及存储介质 |
CN114706696A (zh) * | 2022-03-30 | 2022-07-05 | 中国联合网络通信集团有限公司 | 一种微服务划分方法、装置及计算机可读存储介质 |
CN115309634A (zh) * | 2022-07-16 | 2022-11-08 | 西北大学 | 一种微服务提取方法、系统、介质、设备及信息处理终端 |
CN115794105A (zh) * | 2022-11-03 | 2023-03-14 | 贵州航天计量测试技术研究所 | 一种微服务的提取方法、装置以及电子设备 |
CN115730069A (zh) * | 2022-11-23 | 2023-03-03 | 安徽大学 | 基于动静态调用关系、并反映业务能力的微服务识别方法 |
CN116821715A (zh) * | 2023-04-18 | 2023-09-29 | 长春理工大学 | 一种基于半监督约束的人工蜂群优化聚类方法 |
CN116975634A (zh) * | 2023-07-18 | 2023-10-31 | 浙江大学 | 一种基于程序静态属性及图神经网络的微服务提取方法 |
CN116846961A (zh) * | 2023-08-03 | 2023-10-03 | 中国电信股份有限公司技术创新中心 | 微服务拆分建议方法、装置、存储介质与电子设备 |
Non-Patent Citations (3)
Title |
---|
基于微服务架构的电力系统拆分方法;程伟华;周捷;赵亚;;信息技术;20181023(第10期);全文 * |
微服务架构和容器技术应用分析;李红健;;无线互联科技;20180425(第08期);全文 * |
恒丰银行微服务化理论探索――服务粒度和服务划分原则;蔡凯;;金融电子化(第09期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117311801A (zh) | 2023-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kantor et al. | Coreference resolution with entity equalization | |
US11057313B2 (en) | Event processing with enhanced throughput | |
US9613164B2 (en) | System and method for data management in large data networks | |
CN104809244B (zh) | 一种大数据环境下的数据挖掘方法和装置 | |
Lee et al. | Tornadoaggregate: Accurate and scalable federated learning via the ring-based architecture | |
CN112765477B (zh) | 信息处理、信息推荐的方法和装置、电子设备和存储介质 | |
CN110502509A (zh) | 一种基于Hadoop与Spark框架的交通大数据清洗方法及相关装置 | |
CN103138981A (zh) | 一种社交网络分析方法和装置 | |
CN111241421A (zh) | 基于社交上下文信息的用户转发行为预测方法 | |
Hammoud | MapReduce network enabled algorithms for classification based on association rules | |
Xie et al. | BenchENAS: A benchmarking platform for evolutionary neural architecture search | |
CN113961173A (zh) | 基于领域事件驱动的单体系统微服务拆分方法 | |
CN111126852A (zh) | 一种基于大数据建模的bi应用系统 | |
Talwalkar et al. | Mlbase: A distributed machine learning wrapper | |
CN117311801B (zh) | 一种基于网络化结构特征的微服务拆分方法 | |
Ying et al. | FrauDetector+ An Incremental Graph-Mining Approach for Efficient Fraudulent Phone Call Detection | |
Niu | Optimization of teaching management system based on association rules algorithm | |
CN106649380A (zh) | 一种基于标签的热点推荐方法及系统 | |
Li et al. | A subspace decision cluster classifier for text classification | |
Lakshmi et al. | Machine learning approaches on map reduce for Big Data analytics | |
Chang et al. | Development of multiple big data analytics platforms with rapid response | |
CN114268625B (zh) | 特征选择方法、装置、设备及存储介质 | |
He et al. | BAT: mining binary-API topic for multi-service application development | |
Cao | Design and implementation of human-computer interaction system in parallel digital library system based on neural network | |
Foo et al. | Configuring trees of classifiers in distributed multimedia stream mining systems |
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 |