使云服务的采用自动化制造技术

技术编号:36520116 阅读:26 留言:0更新日期:2023-02-01 15:55
提供了一种用于使云服务的采用自动化的方法。开发机器学习模型以学习从源代码储存库访问的应用源代码。通过构建包括应用源代码和技术标签的训练数据来训练机器学习模型。从应用源代码提取服务,并且导出应用源代码的上下文。使用决策树模型确定被提取服务到相应的云服务的映射。基于该映射识别应用源代码中的被推荐要由相应的云服务替换的部分。推荐要由相应的云服务替换的部分。推荐要由相应的云服务替换的部分。

【技术实现步骤摘要】
【国外来华专利技术】使云服务的采用自动化


[0001]本专利技术涉及云和系统基础设施管理,并且更具体地,涉及识别代码中的可以用云服务替换的部分,以及推荐最小代码重构(refactoring)以合并云服务。

技术介绍

[0002]组织越来越多地采用混合云服务来使其应用现代化,并减少其对传统数据中心操作的使用。通过采用基于云的服务,组织可以(i)减少维护负担,(ii)访问实际上不受限制的资源量,(iii)使用由服务提供商持续改进的特征,以及(iv)采用针对服务消费的按次付费模型。应用开发者使用已知的称为重构的手动技术来采用云服务。重构涉及在内部改变应用代码而不在外部改变应用的行为。

技术实现思路

[0003]在一个实施例中,本专利技术提供一种使云服务的采用自动化的计算机实现的方法。该方法包括由一个或多个处理器开发机器学习模型以学习从源代码储存库访问的应用源代码。该方法还包括由一个或多个处理器通过构建包括应用源代码和技术标签的训练数据来训练机器学习模型。该方法还包括由一个或多个处理器基于训练数据从应用源代码提取服务并且由一个或多个处理器导出应用源代码的上下文。通过将机器学习模型应用于应用源代码来执行提取和导出。该方法还包括使用自然语言处理模块并且基于应用源代码的上下文,由一个或多个处理器确定被提取服务的功能。该方法还包括使用决策树模型并且基于被提取服务的功能,由一个或多个处理器确定被提取服务到相应的云服务的映射,使得通过该映射被映射到给定的被提取服务的一个或多个云服务的功能与给定的被提取服务的功能匹配。该方法还包括基于该映射,由一个或多个处理器识别应用源代码中的被推荐要由相应的云服务替换的部分。
[0004]在另一实施例中,本专利技术提供一种用于使云服务的采用自动化的计算机程序产品。计算机程序产品包括一个或多个计算机可读存储介质。计算机可读程序代码共同地存储在一个或多个计算机可读存储介质上。由计算机系统的中央处理单元(CPU)执行计算机可读程序代码以使计算机系统执行与以上讨论的使云服务的采用自动化的方法类似的方法。
[0005]在另一实施例中,本专利技术提供一种计算机系统。计算机系统包括中央处理单元(CPU)、耦合到CPU的存储器和耦合到CPU的一个或多个计算机可读存储介质。一个或多个计算机可读存储介质共同地包含由CPU经由存储器执行的指令,以实现与以上讨论的使云服务的采用自动化的方法类似的使云服务的采用自动化的方法。
附图说明
[0006]图1是根据本专利技术实施例的用于使云服务的采用自动化的系统的框图。
[0007]图2是根据本专利技术实施例的使云服务的采用自动化的过程的流程图,其中,该过程
在图1的系统中实现。
[0008]图3A至图3B描绘了根据本专利技术实施例的在图2的过程中使用的应用代码扫描的示例。
[0009]图4是根据本专利技术实施例的在图1的系统中包括的并且实现图2的过程的计算机的框图。
[0010]图5描绘了根据本专利技术实施例的云计算环境。
[0011]图6示出了根据本专利技术实施例的抽象模型层。
具体实施方式
[0012]概述
[0013]正被迁移到云服务的大多数应用是照原样迁移的,而没有利用云服务提供的底层灵活性和益处。为了在基于软件即服务(SaaS)或平台即服务(PaaS)的模型中利用云服务,应用的部分必须被重新工程化,因此它们可以被托管在云上。应用开发者难以对重新工程化的工作量进行优化,因为它们忙于开发新的要求并维护和支持应用。由于(i)缺乏应用知识和缺乏重新工程化应用的技能以及(ii)需要满足与合同或数据中心退出有关的最后期限,大型组织还是照原样将应用迁移到云。由此,该组织不能实现其云投资的投资回报(ROI)。
[0014]采用云服务的常规重构是耗时的、需要大量工作量、由应用开发者团队手动地完成、并且被完成来在可能涉及数百个应用的企业级执行程序。每个应用必须手动重构,导致巨大的工作量和成本。将应用完全重构到云原生(cloud

native)架构具有其自身的缺点,其中一些服务被用于保持应用完全云原生,而添加很少的业务价值或不添加业务价值。
[0015]本专利技术的实施例通过仅使用那些增加显著业务价值的云服务而其他服务保持在混合设置中配置,来解决传统云采用方法的独特挑战。本专利技术的实施例通过应用自然语言处理来学习源代码并导出源代码的上下文,以及应用决策树机器学习模型识别应用内的代码和/或模块的可以被云服务替换的部分,来使云服务的采用自动化。
[0016]本专利技术的实施例提供一种通过识别组织可以使用的云服务来促进组织对云服务的采用的自动化方法。本专利技术的实施例提供了对组织中存在的所有源代码储存库中的组合的所有应用的应用代码学习的可扩展方法,与单独查看应用的现有方法相比,该方法以降低的工作量和成本提供了现代化。
[0017]本专利技术的实施例生成应用内的代码和/或模块的可以被云服务替换的部分的列表的服务目录,从而使得能够重新使用该服务并且通过确保不存在冗余代码或服务来提供应用的合理化。
[0018]本专利技术的实施例为每个推荐的云服务建议代码改变。本专利技术的实施例侧重于“快速获胜(quick win)”,以识别参与系统和洞察系统组件,并识别快速跟踪云服务的客户采用的最小改变。参与系统包括例如交互逻辑、个性化客户上下文、高级用户体验、高级协作和业务生态系统支持。洞察系统包括例如业务智能、智能系统、高级分析、参与数据、操作数据、企业内容管理数据、信息数据和大数据。
[0019]本专利技术的各实施例以与大爆炸方法相反的增量方式在组织对云服务的采用方面帮助组织,从而实现组织的成本节省并帮助组织实现云投资的ROI。
[0020]本专利技术的实施例使得组织能够向可组合架构移动。对于新的应用开发,应用开发者可以通过利用已经跨许多应用使用并且侧重于新业务逻辑的服务和/或模块来组合应用。
[0021]本专利技术的实施例与云经纪工具(cloud brokerage tool)集成,以确定和显示采用云服务时的财务收益。
[0022]用于使云服务的采用自动化的系统
[0023]图1是根据本专利技术的实施例的用于使云服务的采用自动化的系统100的框图。系统100包括代码扫描和分析模块106以及机器学习系统108,机器学习系统108包括自然语言处理模块110和决策树模块112。云服务采用系统104使云服务的采用自动化。
[0024]云服务采用系统104接收软件应用的源代码114。源代码114在本文中也被称为应用源代码。自然语言处理模块110学习源代码114并导出源代码114的上下文。代码扫描和分析模块106扫描并分析源代码114并分析应用的配置。
[0025]云服务采用系统104识别跨多个应用使用的类似服务并对其分组,并且生成被提取服务目录116(即从多个应用的源代码提取的服务目录),由此使得能够跨应用重新使用代码,其中代码的重新使用促进可组合架构。被提取服务目录116允许应用所有者具有利用多个现有应用或利用正被新开发的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种使云服务的采用自动化的计算机实现的方法,所述方法包括:由一个或多个处理器开发机器学习模型以学习从源代码储存库访问的应用源代码;由所述一个或多个处理器通过构建包括所述应用源代码和技术标签的训练数据来训练所述机器学习模型;基于所述训练数据,由所述一个或多个处理器从所述应用源代码中提取服务,并且由所述一个或多个处理器导出所述应用源代码的上下文,所述提取和所述导出是通过将所述机器学习模型应用于所述应用源代码来执行的;使用自然语言处理模块并且基于所述应用源代码的上下文,由所述一个或多个处理器确定被提取服务的功能;使用决策树模型并且基于所述被提取服务的功能,由所述一个或多个处理器确定被提取服务到相应的云服务的映射,使得通过所述映射被映射到给定的被提取服务的一个或多个云服务的功能与所述给定的被提取服务的功能匹配;以及基于所述映射,由所述一个或多个处理器识别所述应用源代码中的指定所述被提取服务的部分,所述应用源代码中的所述部分被推荐要由所述相应的云服务替换。2.根据权利要求1所述的方法,其中,识别所述应用源代码中的被推荐要由所述相应的云服务替换的所述部分包括:生成对所述应用源代码中包括的代码的部分的最优重构量的推荐,以合并所述云服务中包括的云服务。3.根据权利要求1所述的方法,还包括基于所述应用源代码中的被识别的所述部分,由所述一个或多个处理器推荐目标云服务来替换所述应用源代码中的现有模块。4.根据权利要求1所述的方法,还包括:由所述一个或多个处理器确定采用所述相应的云服务所需的对所述应用源代码中的所述部分的修改;以及由所述一个或多个处理器通过使用对所述应用源代码中的所述部分的所述修改来重构应用。5.根据权利要求1所述的方法,还包括:由所述一个或多个处理器通过与云经纪工具整合来确定采用所述云服务的财务利益;以及由所述一个或多个处理器显示(i)要替换所述应用源代码中的所述部分的所述云服务、以及(ii)采用所述云服务的所述财务利益,所述显示在显示设备上执行以供客户查看。6.根据权利要求1所述的方法,其中,确定所述被提取服务到所述相应的云服务的所述映射包括:将所述被提取服务中包括的第一一个或多个被提取服务映射到相应的一个或多个公共云服务,并且将所述被提取服务中包括的第二一个或多个被提取服务映射到相应的一个或多个私有云服务。7.根据权利要求1所述的方法,其中,所述训练包括:由所述一个或多个处理器生成代码模式配置文件,所述代码模式配置文件包括指定可用云服务的关键字;以及由所述一个或多个处理器识别在所述应用源代码中的所述部分中包括的所述关键字。8.根据权利要求1所述的方法,其中,开发所述机器学习模型包括通过使用多标签文本分类方法来开发自然语言处理模型。
9.根据权利要求1所述的方法,还包括:针对组织的应用集合中的每个应用,由所述一个或多个处理器重复进行:开发所述机器学习模型、训练所述机器学习模型、从所述应用源代码中提取所述服务、以及通过将所述机器学习模型应用于所述应用源代码来导出所述应用源代码的上下文、确定被提取服务的功能、确定所述映射、以及识别所述应用源代码中的被推荐要被替换的部分。10.根据权利要求1所述的方法,还包括:针对从由在计算机中创建、集成、托管、维护和部署计算机可读程序代码组成的组中的至少一个动作提供至少一个支持服务,所述程序代码由所述计算机的处理器执行以实现:开发所述机器学习模型、训练所述机器学习模型、从所述应用源代码提取服务、以及通过将所述机器学习模型应用于所述应用源代码来导出所述应用源代码的上下文、确定被提取服务的功能、确定映射、以及识别应用源代码中的被推荐要被替换的部分。11.一种用于使云服务的采用自动化的计算机程序产品,所述计算机程序产品包括:一个或多个计算机可读存储介质,具有共同地存储在所述一个或多个计算机可读存储介质上的计算机可读程序代码,所述计算机可读程序代码被计算机系统的中央处理单元CPU执行以使所述计算机系统执行一种方法,所述方法包括:所述计算机系统开...

【专利技术属性】
技术研发人员:VVK帕里萨BG泰勒D罗伊乔杜里L斯威夫特C艾伦B莫哈帕特拉
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:

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

1