【技术实现步骤摘要】
【国外来华专利技术】使云服务的采用自动化
[0001]本专利技术涉及云和系统基础设施管理,并且更具体地,涉及识别代码中的可以用云服务替换的部分,以及推荐最小代码重构(refactoring)以合并云服务。
技术介绍
[0002]组织越来越多地采用混合云服务来使其应用现代化,并减少其对传统数据中心操作的使用。通过采用基于云的服务,组织可以(i)减少维护负担,(ii)访问实际上不受限制的资源量,(iii)使用由服务提供商持续改进的特征,以及(iv)采用针对服务消费的按次付费模型。应用开发者使用已知的称为重构的手动技术来采用云服务。重构涉及在内部改变应用代码而不在外部改变应用的行为。
技术实现思路
[0003]在一个实施例中,本专利技术提供一种使云服务的采用自动化的计算机实现的方法。该方法包括由一个或多个处理器开发机器学习模型以学习从源代码储存库访问的应用源代码。该方法还包括由一个或多个处理器通过构建包括应用源代码和技术标签的训练数据来训练机器学习模型。该方法还包括由一个或多个处理器基于训练数据从应用源代码提取服务并且由一个或多个处理器导出应用源代码的上下文。通过将机器学习模型应用于应用源代码来执行提取和导出。该方法还包括使用自然语言处理模块并且基于应用源代码的上下文,由一个或多个处理器确定被提取服务的功能。该方法还包括使用决策树模型并且基于被提取服务的功能,由一个或多个处理器确定被提取服务到相应的云服务的映射,使得通过该映射被映射到给定的被提取服务的一个或多个云服务的功能与给定的被提取服务的功能匹配。该方法还包括基于该映射, ...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】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莫哈帕特拉,
申请(专利权)人:国际商业机器公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。