System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于大模型的定制化微服务拆分方法技术_技高网
当前位置: 首页 > 专利查询>浙江大学专利>正文

一种基于大模型的定制化微服务拆分方法技术

技术编号:41290583 阅读:2 留言:0更新日期:2024-05-13 14:41
本发明专利技术公开了一种基于大模型的定制化微服务拆分方法,包括以下步骤:(1)爬取既有单体结构又有微服务结构的单体应用,调用接口提取每个单体应用信息,组成样本文档,并生成每一个单体应用的整体语义信息;(2)调用接口提取目标应用信息,并生成目标应用的整体语义信息;(3)利用样本文档中每一个单体应用的整体语义信息以及目标应用的整体语义信息,生成提示词prompt;(4)将提示词prompt输入大模型中,生成微服务拆分方案,再生成指标反馈给大模型,直到生成满足用户需求的拆分方案。利用本发明专利技术,可以实现准确且定制化的微服务拆分。

【技术实现步骤摘要】

本专利技术属于微服务拆分领域,尤其是涉及一种基于大模型的定制化微服务拆分方法


技术介绍

1、微服务架构是一种面向服务的架构,它强调各个微服务提供尽量单一的功能,同时保证各个微服务之间保持低耦合的关系。一个良好的微服务架构的应用能保证各个微服务拥有良好的可扩展性、伸缩性和可迁移性,各个微服务能实现独立开发,极大提高软件开发效率,同时也提高软件的稳定性以及赋予了软件快速迭代的能力。随着云原生、容器化等概念的提出,越来越多的软件都倾向于实现微服务架构。对于那些传统的基于单体架构实现的应用来说,重头开始编写一个基于微服务架构的应用来说成本太高,所以如何半自动化甚至自动化的将基于单体架构实现的应用迁移到微服务架构是当前一个重要的研究话题。

2、大型语言模型(llm)例如llma这种开源模型等,包含数百亿数千亿甚至更多的参数,也只是因为这么庞大的参数量使得大模型拥有极强的分析推理能力,在文本生成、代码生成等领域都有非凡的表现。

3、同时研究证明,大型语言模型还具备有涌现能力,其中之一就是上下文学习能力(in-context learning),也就是指大型语言模型只需要少量样本示例,就能做出不错的推理效果,同时在这个过程中不需要调整模型权重。

4、因为大型语言模型已经在代码理解和各种推理任务上表现出巨大的潜力,同时利用大型语言模型的上下文推理能力,实现微服务拆分的任务是可行的。

5、然而,利用大模型进行微服务拆分的过程中存在一些挑战,主要表现在:

6、1、由于成熟的单体结构软件通常规模巨大,而大模型有最长文本长度的限制,导致无法直接将整个项目输入到大模型中。

7、2、目前的大模型只能输入文本,而不能输入像图这样的结构化信息,所以需要一种方法来将结构化信息转化成文本。

8、3、利用大模型的上下文学习能力,需要合适的示例,所以需要一种方法来生成合适的微服务拆分的示例。

9、4、大模型的微服务拆分方案不一定是符合用户需求的,因此如何明确有效地引导模型生成符合用户需求的微服务拆分方案是十分重要的,如何能够实现定制化是有必要的。


技术实现思路

1、本专利技术提供了一种基于大模型的定制化微服务拆分方法,可以解决自动化且定制化的微服务拆分问题。

2、一种基于大模型的定制化微服务拆分方法,包括以下步骤:

3、(1)爬取既有单体结构又有微服务结构的单体应用,调用接口提取每个单体应用信息,组成样本文档,并生成每一个单体应用的整体语义信息;

4、(2)调用接口提取目标应用信息,并生成目标应用的整体语义信息;

5、(3)利用样本文档中每一个单体应用的整体语义信息以及目标应用的整体语义信息,生成提示词prompt;

6、(4)将提示词prompt输入大模型中,生成微服务拆分方案,再生成指标反馈给大模型,直到生成满足用户需求的拆分方案。

7、进一步地,步骤(1)的具体过程为:

8、(1-1)爬取既有单体结构又有微服务结构的应用;

9、(1-2)每一个单体应用i调用不同的关系提取方法接口,得到每一个单体应用i中类j与类k的各种关系r_gi,(j,k);

10、(1-3)调用关系转换接口,将生成的每一个单体应用i的关系r_gi转换成自然语言r_nli,便于后续输入到大模型中;

11、(1-4)提取出每一个单体应用i的微服务拆分方案soli;

12、(1-5)每一个单体应用i中的类j调用基于代码语料集的大模型接口,生成局部语义信息i_loli,j;

13、(1-6)将自然语言描述的关系r_nl、局部语义信息i_lol、微服务拆分方案sol组合成样本文档;

14、(1-7)调用编码器融合生成由向量表示的每一个单体应用i的整体语义信息i_proji。

15、步骤(1-2)中,所述的关系提取方法接口包括继承关系接口、调用关系接口、调用次数接口、数据依赖关系或者其它自定义的接口。

16、步骤(1-3)中,将关系转换成由json格式表示的自然语言。

17、步骤(1)和(2)中,生成整体语义信息的具体过程为:

18、对于某个应用来说,先是利用基于codebert编码器将每一个类编码成一个向量,然后采用加和取平均的方法将表征每一个类的向量融合成一个表征整个应用的向量,这个向量就是表示该应用的整体语义信息的一个向量。

19、步骤(2)的具体过程为:

20、(2-1)对于目标应用t,调用所需的关系接口,生成对应关系r_gt;

21、(2-2)对于目标应用t,调用关系转换接口生成由自然语言表示的关系r_nlt;

22、(2-3)调用大模型生成由自然语言表示的局部语义信息i_lolt;

23、(2-4)将关系r_nlt、局部信息i_lolt组合生成目标应用信息;

24、(2-5)调用编码器融合生成用向量表示的整体语义信息i_projt。

25、步骤(3)的具体过程为:

26、(3-1)利用样本文档中每一个单体应用的整体语义信息以及目标应用的整体语义信息,采用余弦相似度,自动得到与目标应用的应用场景最为相似的几个样本,组合成例子集;

27、(3-2)组合例子集与目标应用信息,生成提示词prompt。

28、步骤(4)的具体过程为:

29、(4-1)输入生成的prompt给大模型,生成微服务拆分方案;

30、(4-2)采用静态指标评估拆分方案;

31、(4-3)将对应的微服务架构的应用放到模拟环境中运行,获得目标应用在运行时候的动态指标;

32、(4-4)综合考虑静态指标以及动态指标,人工确定该拆分方案是否符合要求,若符合要求,则流程结束;若不符合要求,则生成反馈,重新生成微服务拆分方案;如此反复,直到满足要求。

33、步骤(4-2)中,所述的静态指标采用sm、bcp、icp、ned或者其它自定义的指标。

34、步骤(4-3)中,所述的动态指标包括微服务耦合度指标coup以及性能的变化指标δv,具体操作为:

35、记录下各个微服务之间的通信情况,包括微服务i与微服务j之间的调用次数ci,j、每一次调用所花的时间ti,j,以此来微服务i与微服务j之间的耦合程度指标coupi,j以及总的微服务耦合度指标coup,计算公式如下:

36、

37、

38、其中k为微服务数量;

39、性能的变化指标δv循环反馈生成的,所以在第v次迭代过程中,通过与第v-1次迭代中得到的结果进行比较,得到性能的变化指标δv,具体计算如下:

40、

41、

42、其中taskv,i为在第v次迭代中的对于任务i的平均任务运行时间,taskv,本文档来自技高网...

【技术保护点】

1.一种基于大模型的定制化微服务拆分方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的基于大模型的定制化微服务拆分方法,其特征在于,步骤(1)的具体过程为:

3.根据权利要求2所述的基于大模型的定制化微服务拆分方法,其特征在于,步骤(1-2)中,所述的关系提取方法接口包括继承关系接口、调用关系接口、调用次数接口、数据依赖关系或者其它自定义的接口。

4.根据权利要求2所述的基于大模型的定制化微服务拆分方法,其特征在于,步骤(1-3)中,将关系转换成由json格式表示的自然语言。

5.根据权利要求1所述的基于大模型的定制化微服务拆分方法,其特征在于,步骤(1)和(2)中,生成整体语义信息的具体过程为:

6.根据权利要求1所述的基于大模型的定制化微服务拆分方法,其特征在于,步骤(2)的具体过程为:

7.根据权利要求1所述的基于大模型的定制化微服务拆分方法,其特征在于,步骤(3)的具体过程为:

8.根据权利要求1所述的基于大模型的定制化微服务拆分方法,其特征在于,步骤(4)的具体过程为:

<p>9.根据权利要求8所述的基于大模型的定制化微服务拆分方法,其特征在于,步骤(4-2)中,所述的静态指标采用SM、BCP、ICP、NED或者其它自定义的指标。

10.根据权利要求8所述的基于大模型的定制化微服务拆分方法,其特征在于,步骤(4-3)中,所述的动态指标包括微服务耦合度指标Coup以及性能的变化指标Δv,具体操作为:

...

【技术特征摘要】

1.一种基于大模型的定制化微服务拆分方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的基于大模型的定制化微服务拆分方法,其特征在于,步骤(1)的具体过程为:

3.根据权利要求2所述的基于大模型的定制化微服务拆分方法,其特征在于,步骤(1-2)中,所述的关系提取方法接口包括继承关系接口、调用关系接口、调用次数接口、数据依赖关系或者其它自定义的接口。

4.根据权利要求2所述的基于大模型的定制化微服务拆分方法,其特征在于,步骤(1-3)中,将关系转换成由json格式表示的自然语言。

5.根据权利要求1所述的基于大模型的定制化微服务拆分方法,其特征在于,步骤(1)和(2)中,生成整体语义信息的具体过程为:

...

【专利技术属性】
技术研发人员:李莹张晓桐张凌飞毛义华
申请(专利权)人:浙江大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1