应用迁移制造技术

技术编号:37677815 阅读:38 留言:0更新日期:2023-05-26 04:43
描述了用于应用迁移的技术,所述技术包括将应用迁移到目标云基础设施,以及在目标云基础设施上执行应用期间生成成本感知代码依赖图。所述技术还包括:通过根据成本感知代码依赖图移除与未使用节点相对应的源代码并用对被配置为提供与所识别的源代码相似的功能的所生成的微服务的调用来替换成本感知代码依赖图的高成本子图的所识别的源代码,修改应用。所述技术进一步包括在目标云基础设施的一个或多个虚拟机上实施经修改的应用。个或多个虚拟机上实施经修改的应用。个或多个虚拟机上实施经修改的应用。

【技术实现步骤摘要】
【国外来华专利技术】应用迁移


[0001]本专利技术一般涉及应用迁移,并且更具体地,涉及使用成本感知代码依赖图的应用迁移。

技术介绍

[0002]应用迁移是将软件应用从一个计算环境迁移到另一个计算环境的过程。例如,应用程序可在数据中心之间移动,从场所内服务器移动到云供应商的环境,从公共云移动到私有云等。
[0003]因为应用通常被构建为在特定网络架构中的特定操作系统上运行或者被开发用于单个云平台,所以迁移应用可能造成许多挑战。这些挑战可以包括确保应用的依赖性和技术要求被维持,同时满足企业的安全性、顺应性和成本约束。
[0004]应用到云平台(或云平台之间)的高效和有效迁移对于应用程序所有者和云提供商两者是优先的。迁移过程包括识别可被迁移的应用部分、识别必须被适配以便被迁移的应用程序部分、以及应用的适配。此外,还必须选择云资源的适当集以高效地托管已迁移的应用。
[0005]当前,开发者可以手动地更新应用,使得其可以被成功地迁移到目标云环境并且由目标云环境实施。在更新应用之后,开发者可以手动测试应用。这些当前技术使得应用迁移过程易于出错、劳动密集且耗时。

技术实现思路

[0006]本专利技术的一个方面针对一种计算机实现的方法,包括将应用迁移到目标云基础设施。所述方法进一步包括在目标云基础设施上执行应用期间生成感知成本代码依赖图。所述方法进一步包括通过根据成本感知代码依赖图移除与未使用节点相对应的源代码并且用对被配置为提供与所识别的源代码的相似的功能的所生成的微服务的调用来替换所述成本感知代码依赖图的高成本子图的所识别的源代码,修改应用。
[0007]所述方法还包括在目标云基础设施的一个或多个虚拟机上实施经修改的应用。
[0008]有利地,上述方法实现自动化的即时应用分解,使得所迁移的应用一旦被部署在目标云基础设施上就可以被重新配置。此外,上述方法通过移除与未使用节点相对应的源代码并用对所生成的微服务的调用来替换高成本子图的所识别的源代码,来实现应用的自动化修改,以便实现在目标云基础设施上的应用的改进的性能。移除未使用源代码可使应用更有效且更不易出错。用所生成的微服务替换高成本子图可以实现改进的性能,一旦所生成的微服务可以在适于高效地实施所生成的微服务的目标云基础设施的另一虚拟机上被单独地实施。
[0009]上述方法的另外的(一个或多个)实施例进一步包括通过将相应节点的相应成本分配给指向所述相应节点的每个边,将所述成本感知代码依赖图中的节点成本转换成边成本。有利地,将节点成本转换成边成本有助于改进对被配置为识别子图成本的图搜索算法
的使用。
[0010]上述方法的另外的(一个或多个)实施例进一步包括:基于最高成本子图,创建所述所生成的微服务;用所述所生成的微服务替换与所述最高成本子图相关联的第一源代码;识别与最高成本子图的相似性高于阈值的第二子图;以及用所述所生成的微服务替换与所述第二子图相关联的第二源代码。有利地,将所生成的微服务用于与最高成本子图的相似性高于阈值的第二子图,通过针对应用的多于一个部件重用已经生成的微服务来改善效率。
[0011]本专利技术的其它方面涉及被配置为执行上述方法的系统和计算机程序产品。本
技术实现思路
不旨在示出本公开的每个实施例的每个方面、每个实施方式和/或每个实施例。
附图说明
[0012]本申请中包括的附图并入说明书中并形成说明书的一部分。它们示出了本公开的实施例,并且与说明书一起用于解释本公开的原理。附图仅说明某些实施例,而不限制本公开。
[0013]图1示出了根据本公开的一些实施例的用于应用迁移的示例计算环境的框图。
[0014]图2示出了根据本公开的一些实施例的用于使用成本感知代码依赖图来迁移应用的示例方法的流程图。
[0015]图3示出了根据本公开的一些实施例的用于为成本感知代码依赖图的相似子图重用所生成的微服务的示例方法的流程图。
[0016]图4示出了根据本公开的一些实施例的用于使用成本感知代码依赖图来迁移应用的另一示例方法的流程图。
[0017]图5示出了根据本公开的一些实施例的用于分析、消减和修改已迁移应用的示例方法的流程图。
[0018]图6A示出了根据本公开的一些实施例的具有使用的节点和未使用节点的成本感知代码依赖性图的示图。
[0019]图6B示出了根据本公开的一些实施例的具有节点的感知成本的代码依赖性图的示图,其中,节点具有与其相关联的变化的计算成本。
[0020]图7示出了根据本公开的一些实施例的感知成本代码依赖性图中的不同高成本路径的图。
[0021]图8示出了根据本公开的一些实施例的示例计算机的框图。
[0022]图9描绘了根据本公开的一些实施例的云计算环境。
[0023]图10描绘了根据本公开的一些实施例的抽象模型层。
[0024]虽然本公开可修改为各种修改和替代形式,但其细节已在附图中以示例的方式示出并将详细描述。然而,应当理解,其目的不是将本公开限制于所描述的特定实施例。相反,本专利技术将涵盖落入本公开的范围内的所有修改、等效物和替代方案。
具体实施例
[0025]本专利技术的各方面涉及应用迁移,并且更具体地,涉及使用成本感知代码依赖图的应用迁移。虽然不限于这些应用,但是根据上述上下文可以更好地理解本公开的实施例。
[0026]本公开的各方面涉及用于自动地收缩和分解包括待迁移的应用的图像以减少目标云平台中待迁移的应用的操作成本的技术。本公开的各方面实现了许多特征,诸如但不限于:(i)基于工作负载执行跟踪和/或源代码分析的部署后即时应用分解;(ii)基于该执行跟踪和/或源代码分析、可定制目标函数和/或收集的性能度量来生成成本感知代码依赖图;(iii)移除(例如,消减)成本感知代码依赖图中的未使用节点;(iv)用所生成的微服务替换与成本感知代码依赖图中的高成本子图相对应的源代码,其中,所生成的微服务可以由与待迁移的应用不同的目标云平台的虚拟机实现;和/或(v)将所生成的微服务用于成本感知代码依赖性图中的其他子图,所述其他子图与最初创建的所生成的微服务的高成本子图相似。共同地,这些特征实现自动化应用修改,其中,经修改的应用实现减少的资源利用(例如,减少的存储器和处理器利用)和/或减少的用于被迁移到目标云平台的应用的维护成本。
[0027]现在参考图1,示出了根据本公开的一些实施例的用于应用迁移的示例计算环境100。计算环境100可以包括通过网络102彼此通信地耦合的迁移工程管理器设备104、源云基础设施106和目标云基础设施108。工程管理器设备104可以是膝上型计算机、平板计算机、台式计算机、服务器、或能够管理(例如,根据来自迁移工程师的用户输入)待从源云基础设施106到目标云基础设施108迁移的应用110的迁移的硬件和/或软件的另一配置。
[0028]源云基础设施106包括待迁移的应用110的当前托管计算平台。同样,目标云基础设施108包括待迁移的应用110的未来托管计算平台。尽管源云基础设施10本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种计算机实现的方法,包括:将应用迁移到目标云基础设施;在所述目标云基础设施上执行所述应用期间,生成成本感知代码依赖图;通过以下步骤修改所述应用:根据所述成本感知代码依赖图,移除与未使用节点相对应的未使用源代码;以及用对所生成的微服务的调用来替换所述成本感知代码依赖图的高成本子图的所识别的源代码,所述所生成的微服务被配置为提供与所述所识别的源代码相似的功能;以及在所述目标云基础设施的一个或多个虚拟机上实施经修改的应用。2.根据权利要求1所述的方法,其中,在所述应用的执行和源代码分析期间,使用在所述应用上的跟踪函数来生成所述成本感知代码依赖图。3.根据权利要求1或权利要求2所述的方法,其中,在所述目标云基础设施的相对于实现所述经修改的应用的所述一个或多个虚拟机的不同的虚拟机上执行与所述经修改的应用相关联的所述所生成的微服务。4.根据前述权利要求中任一项所述的方法,其中,所述不同的虚拟机与相对于实现所述经修改的应用的所述一个或多个虚拟机的资源可区分的适用于所述所生成的微服务的资源集相关联。5.根据前述权利要求中任一项所述的方法,其中,所述未使用节点是在预定义的执行时间量内未被使用的节点。6.根据前述权利要求中任一项所述的方法,其中,替换所述成本感知代码依赖性图的高成本子图的所述所识别的源代码进一步包括:确定与所述成本感知代码依赖性图中的每个节点相关联的成本,其中,所述成本表示在节点执行期间利用的资源量。7.根据权利要求6所述的方法,其中,所述资源包括从包括以下各项的组中选择的一项或多项:在所述节点执行期间利用的存储器、在所述节点执行期间的处理器(CPU)使用率,在所述节点执行期间实施的输入/输出(I/O)操作,在预定时间内的节点利用频率,以及所述节点执行的持续时间。8.根据前述权利要求中任一项所述的方法,其中,替换所述成本感知代码依赖性图的高成本子图的所述所识别的源代码还包括:通过将相应节点的相应成本分配给指向所述相应节点的每条边,将所述成本感知代码依赖性图中的节点成本转换成边成本。9.根据权利要求8所述的方法,其中,替换所述成本感知代码依赖图的高成本子图的所述所识别的源代码还包括:使用最短路径图算法来计算在所述成本感知代码依赖图中的节点之间的成本路径。10.根据前述权利要求中任一项所述的方法,其中,用对所述所生成的微服务的调用来替换所述成本感知代码依赖图的高成本子图的所述所识别的源代码还包括:基于最高成本子图,创建所述所生成的微服务;用所述所生成的微服务替换与所述最高成本子图相关联的第一源代码;识别与所述最高成本子图的相似性高于阈值的第二子图;以及用所述所生成的微服务替换与所述第二子图相关联的第二源代码。11.根据权利要求10所述的方法,...

【专利技术属性】
技术研发人员:B
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:

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

1