CN113302901A - 使用基于模式的发现进行云应用程序和服务集成的方法及系统 - Google Patents

使用基于模式的发现进行云应用程序和服务集成的方法及系统 Download PDF

Info

Publication number
CN113302901A
CN113302901A CN202080009343.8A CN202080009343A CN113302901A CN 113302901 A CN113302901 A CN 113302901A CN 202080009343 A CN202080009343 A CN 202080009343A CN 113302901 A CN113302901 A CN 113302901A
Authority
CN
China
Prior art keywords
application
service
cloud
server
platform
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.)
Granted
Application number
CN202080009343.8A
Other languages
English (en)
Other versions
CN113302901B (zh
Inventor
罗晋荣
忠文·阿伯拉德·周
艾萨·那玛托拉希·阿波多扎巴尔
陈敏
傅贵
胡振华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN113302901A publication Critical patent/CN113302901A/zh
Application granted granted Critical
Publication of CN113302901B publication Critical patent/CN113302901B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

一种将为本地环境开发的本地应用程序迁移到云计算环境的方法,包括:构建服务器接收所述本地应用程序的应用程序代码;所述构建服务器分析所述本地应用程序的所述应用程序代码,以根据所述云计算环境中本地软件应用程序要使用的应用程序服务器服务,和所述云计算环境中所述本地应用程序要使用的应用程序平台服务,识别所述本地应用程序中的模式。所述应用程序服务器服务和所述应用程序平台服务是所述云计算环境的平台即服务(platform as a service,PaaS)层的一部分。所述方法包括所述构建服务器根据所述识别的模式生成数据,以配置所述PaaS层,用于将所述本地应用程序迁移到所述云计算环境。

Description

使用基于模式的发现进行云应用程序和服务集成的方法及 系统
相关申请案交叉申请
本申请要求2019年1月30日提交的、发明名称为“使用基于模式的发现进行云应用程序和服务集成的方法及系统”的第16/262,140号美国专利申请的优先权,所述专利申请通过引用的方式并入本文中。
背景技术
云计算环境是基于网络的计算环境(例如,基于互联网的计算环境),它使得可以访问可配置计算基础架构和软件服务的共享池。这些计算基础架构和软件服务可以以最小的管理工作量快速提供,通常是通过互联网提供,以支持(即执行或运行)软件应用程序。云计算是继从基于大型机的计算向基于客户端-服务器的计算转变之后的另一行为方式的转变,并作为服务实现。云计算服务提供商(云提供商)通常提供三种主要类型的服务:基础架构即服务(infrastructure as a service,IaaS);平台即服务(platform as a service,PaaS);软件即服务(software as a service,SaaS),通过按需创建虚拟机供客户使用。IaaS提供了一个计算基础架构,用于创建可供客户租用和使用的虚拟机。计算基础架构包括虚拟化和在客户之间共享的物理计算资源(例如处理器、内存、存储、服务器、网络组件等)。PaaS提供平台服务,如应用程序平台服务,使得客户在不构建和维护计算基础架构的情况下能够开发、运行和管理软件应用程序。SaaS提供软件应用程序,这些软件应用程序在订阅的基础上通过互联网按需运行在计算基础架构上。
PaaS通常包括两种类型的中间件软件服务:(1)应用程序服务器服务;(2)应用程序平台服务。应用程序服务器服务用于运行SaaS的软件应用程序。应用程序服务器服务管理SaaS的应用程序与PaaS的应用程序平台服务之间的交互,使SaaS的软件应用程序能够与应用程序平台服务交互。
发明内容
在云计算环境中,PaaS层的应用程序平台服务提供设施,SaaS层的软件应用程序在执行PaaS层的应用程序服务器服务中的软件应用程序期间可以使用这些设施。作为应用程序平台服务的示例,访问数据库的应用程序可以使用数据库平台服务;将数据写入文件的应用程序可以使用文件存储服务;等等。因此,部署在SaaS层的软件应用程序在PaaS层的应用程序服务器服务上运行,并与PaaS层的应用程序平台服务集成(例如,连接和消费)。
给定的软件应用程序(本文称为“本地应用程序”)可以为非基于云的计算环境开发,例如在云计算时代之前开发的应用程序。将本地应用程序迁移到云计算环境中的一种方法是修改应用程序代码(例如,修改应用程序的机器可执行指令)。例如,可以修改本地应用程序的应用程序代码,以将云计算环境变量合并到应用程序代码中,使得当修改后的本地应用程序迁移到云计算环境时,环境云计算变量被公开,以使得修改后的本地应用程序能够部署在云计算环境的SaaS层中,在云计算环境的PaaS层的特定应用程序服务器服务上运行,并与PaaS层的特定应用程序平台服务集成(例如,连接和消费)。或者,云适配器可以直接合并到本地应用程序中,以使得本地应用程序能够迁移到云计算环境(例如,通过在SaaS层中部署带有集成云适配器的本地应用程序),在PaaS层的应用程序服务器服务上运行,并与PaaS层的应用程序平台服务集成(例如,连接和消费)。
根据本文公开的示例性实现方式,修改云计算环境的PaaS层,以代替修改本地应用程序的应用程序代码。以这种方式,如本文进一步描述的,可以分析本地应用程序的应用程序代码,以根据云环境中应用程序(迁移之后)要使用的应用程序服务器服务和应用程序(迁移之后)要使用的应用程序平台服务来识别特定集成模式。根据所识别的集成模式,识别定制过程,以为PaaS层生成定制服务器服务,该定制服务器服务使本地应用程序能够在不对本地应用程序的应用程序代码进行任何修改的情况下在定制服务器服务上运行并与应用程序平台服务集成,从而使本地应用程序“上云”迁移到云计算环境。
根据本发明的一个方面,提供了一种将为本地环境开发的本地应用程序迁移到云计算环境的方法。该方法包括:构建服务器接收本地应用程序的应用程序代码;该构建服务器分析本地应用程序的应用程序代码,以根据云计算环境中本地软件应用程序要使用的应用程序服务器服务,和云计算环境中本地应用程序要使用的应用程序平台服务,识别本地应用程序中的模式。应用程序服务器服务和应用程序平台服务是云计算环境的平台即服务(platform as aservice,PaaS)层的一部分。该方法包括构建服务器根据识别的模式生成数据,以配置PaaS层,用于将本地应用程序迁移到云计算环境。
根据本发明的另一个方面,提供了一种非瞬时性机器可读存储介质,用于存储指令,当指令由机器执行时,使机器根据基于云的应用程序服务器类别和基于云的应用程序平台服务类别分析应用程序的应用程序代码,以识别应用程序代码的模式。指令在由机器执行时,使机器根据识别的模式,确定基于云的计算机系统的基于云的应用程序服务器服务的配置,以为基于云的计算机系统将应用程序迁移到基于云的计算机系统做好准备。
根据本发明的另一个方面,提供了一种包括至少一个处理器和存储器的装置。存储器存储指令,指令在由处理器执行时,使处理器:访问与安装云计算机系统的应用程序服务器服务或配置应用程序服务器服务中的至少一个相关联的文件;分析要迁移到云计算机系统的应用程序的应用程序代码,以根据应用程序迁移到云计算机系统之后要使用的应用程序平台服务,识别与该应用程序相关联的模式。所述指令在由处理器执行时,使处理器与存储库通信,以接收表示要根据所述识别的模式执行的过程的数据;根据所述过程修改所述文件,以为所述云计算机系统将所述应用程序迁移到所述云计算机系统做好准备。
根据上述任何方面,分析应用程序代码以识别模式包括分析应用程序的应用程序代码。
根据上述任何方面,分析应用程序代码以识别模式包括在应用程序代码中搜索文件名或在应用程序代码中搜索文本。
根据上述任何方面,识别模式包括:根据应用程序服务器服务和应用程序平台服务识别与应用程序相关联的多个候选模式;根据预定的选择标准选择所述多个候选模式中的给定模式。
根据上述任何方面,生成数据包括以下中的一个:生成数据以配置与应用程序服务器服务相关联的配置文件、生成数据以配置与应用程序服务器服务相关联的库,或生成数据以配置与应用程序服务器服务相关联的网络代理。
根据上述任何方面,生成数据包括:与存储库通信以检索识别与识别的模式相关联的过程的数据;生成数据以配置所述PaaS层,以根据该过程迁移应用程序。
根据上述方面,生成数据包括生成数据以修改与PaaS层的应用程序服务器服务相关联的配置文件或安装文件中的至少一个。
根据上述任何方面,应用程序平台服务包括缓存服务、数据库平台服务或文件服务。
根据上述任何方面,在不修改与应用程序相关联的应用程序代码的情况下将应用程序迁移到云计算机系统。
附图说明
图1为根据示例性实现方式的用于交付云计算服务的云计算环境的框图。
图2为根据示例性实现方式将本地软件应用程序集成到云计算环境中的图示。
图3为根据示例性实现方式将本地应用程序集成到云计算机环境中的体系结构的示意图。
图4为根据示例性实现方式生成用于将本地应用程序集成到云计算环境中的定制应用程序服务器服务的方法的流程图。
图5为根据示例性实现方式的图4的服务目录、定制过程存储库、服务器工件存储库和集成模式存储库的结构和关系的图示。
图6为根据示例性实现方式的通过应用程序代码分析发现集成模式的方法的流程图。
图7为根据示例性实现方式的与应用程序服务器服务相关联的配置文件的基于集成模式的修改的图示。
图8为根据示例性实现方式的与应用程序服务器服务相关联的库的基于集成模式的修改的图示。
图9为根据示例性实现方式的与应用程序服务器服务相关联的网络代理的基于集成模式的修改的图示。
具体实施方式
在这个云计算的时代,许多公司都在尝试将其软件应用程序从本地环境迁移到云计算环境。在此上下文中,“云计算环境”是指远程访问的硬件和软件计算机系统,它向公司提供租用的云相关服务,如软件即服务(software as a service,SaaS),平台即服务(platform as a service,PaaS)和基础设施即服务(infrastructure as a service,IaaS);以及“本地计算环境”是指可以由公司拥有和维护的硬件和软件计算机系统。将为部署在本地计算环境上而开发的软件应用程序(例如,本地应用程序)迁移到云计算环境的主要动机是:降低与拥有和维护计算基础架构和软件应用程序相关联的总成本,同时享受提供云计算环境的云提供商提供的高可用性、可扩展性和可靠性优势。
将本地应用程序迁移到云计算环境可以涉及云应用程序和云服务集成(以下简称云集成)。云集成使得为部署在本地环境中而开发的本地应用程序可以部署在云计算环境的SaaS层、在云计算环境的PaaS层的应用程序服务器服务上运行、与云计算环境PaaS层的应用程序平台服务集成(例如连接和消费)。在本地计算环境中开发和部署的本地应用程序不了解云计算环境和云计算环境的应用程序平台服务。本地应用程序与云计算环境的云集成通常涉及以下变化:确保本地应用程序可以部署在云环境的SaaS层中、在云环境的PaaS层的应用程序服务器服务上运行、以与本地应用程序在应用程序服务器上运行并与本地计算环境的应用程序平台连接的相同方式连接和消费PaaS层的应用程序平台服务。
将本地应用程序迁移到云计算环境中的一种方法是修改应用程序代码(例如,修改本地应用程序的机器可执行指令)。例如,可以修改应用程序代码以合并环境变量。环境变量是指在云计算环境中定义的一组命名值,在将修改后的本地应用程序迁移到云计算环境之后,环境变量将修改后的本地应用程序公开并使用。这是一种在迁移到云环境之后将环境设置、服务配置和连接信息传送到本地应用程序的方法。对于应用程序服务器服务集成,本地应用程序在迁移到云计算环境(例如部署在SaaS层)之后,使用对应的服务环境变量连接和消费应用程序平台服务。
将本地应用程序迁移到云计算环境的另一种方法是使用云适配器。云适配器是一种特殊用途的软件,它将本地应用程序连接到云计算环境PaaS层的不同应用程序平台服务。开发人员可以直接在本地应用程序中采用云适配器,也可以将云适配器包含在本地应用程序中。
修改本地应用程序,例如通过上述环境变量或云适配器,会涉及大量的成本和时间。以这种方式,这种修改会涉及对本地应用程序的应用程序代码的实质性重新设计或重写,这是成本高昂的,或者一般来说,是不可行的。根据本文描述的示例性实现方式,为云计算生成定制的应用程序服务器服务,其使得能够在不对本地应用程序的应用程序代码进行任何修改的情况下将本地应用程序集成到云计算环境中。
更具体地说,根据示例性实现方式,本地应用程序可以与特定的应用程序服务器服务类别或类型相关联。例如,本地应用程序可以是在本地计算环境中使用Tomcat服务器的Java应用程序;当迁移到云计算环境时,本地应用程序对应地使用Tomcat应用程序服务器服务。本地应用程序在迁移到云计算环境之后,也可以使用一个或多个应用程序平台服务,如缓存服务、数据库平台服务、文件服务等。
如本文所描述,将本地应用程序迁移到云计算环境(使得该应用程序与云计算环境集成)的方法包括:在云计算环境的SaaS层部署本地应用程序(例如,在不对本地应用程序的应用程序代码进行任何更改的情况下将应用程序代码复制到云计算环境的SaaS层);选择适当的应用程序服务器服务;选择适当的应用程序平台服务;生成定制的应用程序服务器服务,以便本地应用程序在部署在SaaS层时在定制的应用程序服务器服务上运行,并与应用程序平台服务集成。
更具体地说,根据示例性实现方式,构建服务器可以使用以下方法将本地应用程序迁移到云计算环境中。构建服务器接收包括表示集成方面的用户选择数据的信息,例如应用程序代码;用户选择的应用程序服务器服务类别或类型;以及将由应用程序使用的一个或多个用户选择的应用程序平台服务类别或类型。根据接收到的信息,构建服务器从服务器服务工件存储库检索应用程序服务器服务工件。在此上下文中,“服务器工件”是指与应用程序服务器服务的配置有关的信息,例如,应用程序服务器服务的安装和/或配置文件。根据一些实现方式,服务器工件存储库存储所有应用程序服务器服务的服务器工件(例如Tomcat服务器服务、Apache服务器服务、Node.js服务器服务)。
根据示例性实现方式,构建服务器发现与本地应用程序相关联的集成模式(通过使用基于集成模式的匹配,如本文所描述),以识别用于修改应用程序服务器服务的适当过程。根据示例性实现方式,构建服务器可以通过分析应用程序代码来识别或发现与本地应用程序相关联的集成模式,从而发现与本地应用程序相关联的集成模式,该集成模式与存储在集成模式存储库中的模式相匹配。如本文进一步描述的,给定的集成模式可以与以下一个或多个相关联:应用程序的机器可执行指令;本地应用程序的设置、本地应用程序的文本,与本地应用程序相关联的过程或文件名;服务器服务工件中包含的设置;服务器工件中出现的机器可执行指令;服务器工件中识别的文件名或过程;等等。
更具体地说,根据示例性实现方式,构建服务器可以通过分析本地应用程序和应用程序服务器工件的应用程序代码来执行集成模式发现,以确定本地应用程序的应用程序代码和/或应用程序服务器工件是否显示与存储在集成模式存储库中的一个或多个集成模式相对应的集成模式。对于构建服务器发现多个这样的集成模式的情况,则如本文进一步描述的,构建服务器可以根据集成模式首选项选择这些集成模式中的一个,该集成模式首选项可以由云服务提供商定义。
所选择的集成模式反过来对应于特定的定制过程,构建服务器从定制过程存储库检索该过程。根据示例性实现方式,定制过程定义了构建服务器如何修改应用程序服务器服务,以将本地应用程序集成到云计算环境中。通常,定制过程存储库可以存储可用于所有集成模式的定制过程。然后,构建服务器可以根据检索到的定制过程修改应用程序服务器工件以生成定制应用程序服务器服务,以使本地应用程序能够迁移到云计算环境。如本文进一步描述的,例如,用于生成定制应用程序服务器服务的定制过程可以涉及修改与应用程序服务器服务相关联的配置文件、修改与应用程序服务器服务相关联的库或修改与应用程序服务器服务相关联的网络代理。
参考图1,作为更具体的示例,根据一些实现方式,示出了用于交付计算服务的云计算环境100。云计算环境100包括IaaS层102、PaaS层104和SaaS层106。
PaaS层104能够用于托管和运行SaaS层102的应用程序112,并包括以下中间件层:应用程序服务器服务140和应用程序平台服务122。对于图1所示示例性实现方式,应用程序服务器服务140包括托管和运行应用程序112的Tomcat服务器服务141、Apache服务器服务141和Node.js服务器服务141等特定应用程序服务器服务。应用程序服务器服务140通常管理应用程序112与应用程序平台服务122的集成。应用程序平台服务122向在应用程序服务器服务140上托管和运行的应用程序112提供一组应用程序平台服务。
应用程序112可以潜在地与许多不同的应用程序服务器类型或类别相关联。例如,特定应用程序112可以是与Tomcat服务器服务141相关联的Java应用程序;另一个应用程序112可以是与Apache服务器服务141相关联的PHP应用程序;另一个应用程序112可以是与Node.js服务器服务141相关联的JavaScript应用程序;等等。对于图1所示示例性实现方式,应用程序平台服务122包括缓存平台服务126、数据库平台服务126和文件平台服务126。
例如,IaaS层102可以包括虚拟机管理程序或虚拟化层110,其可以提供虚拟机138、虚拟存储120等。虚拟化层110使用IaaS层102的实际物理硬件资源108生成虚拟机,例如实际的基于物理处理器的计算机器134、物理存储设备136等。
图2示出了根据示例性实现方式将本地Java应用程序112(其最初设计为在本地计算环境200上执行)集成到云计算机环境100中。对于本示例,本地计算机系统200包括执行本地Java应用程序112的应用程序代码的Tomcat服务器服务201,并且由于应用程序代码的执行,Tomcat服务器服务201可以访问数据库服务器服务202,以及本地计算环境200的硬件和网络基础设施203。
根据示例性实现方式,将本地Java应用程序112迁移到云计算机环境100中涉及在不对本地软件应用程序的应用程序代码进行任何修改的情况下将本地应用程序112的本地应用程序112“上云”220(例如,复制应用程序代码、配置文件、库等)到云计算机环境100的SaaS层106。如图2所示,在云计算机环境100中,Java应用程序112-1托管并运行在定制的Tomcat服务器服务141上,其根据所识别的集成模式(如本文进一步示出的)定制(如附图标记222所示),以满足云应用程序和服务集成的要求,使得Java应用程序112可以与数据库平台服务126集成(例如,连接和消费)。
图3示出了根据示例性实现方式的构建服务器300的使用,用于修改本地应用程序服务器服务141以生成用于云计算机环境100的PaaS层104的定制应用程序服务器服务141。根据示例性实现方式,构建服务器300是由实际软件和实际硬件组成的实际物理机器。以这种方式,根据一些实现方式,构建服务器300可以包括一个或多个处理器304(例如,一个或多个中央处理器(central processing unit,CPU)、CPU处理核心等)。此外,处理器304可以执行存储在构建服务器300的存储器310中的机器可执行指令312。根据示例性实现方式,存储器310是非瞬时性存储器,其可以由半导体存储设备、磁存储设备、非易失性存储设备、相变存储设备、易失性存储设备、与上述存储技术的任何组合相关联的存储设备的组合等形成。
如本文所描述的,一个或多个处理器304可以执行指令312,以执行本文所描述的一个或多个方法,例如,分析应用程序代码以识别软件应用程序的应用程序代码中的集成模式;修改应用程序服务器服务,以便将本地软件应用程序迁移到云计算环境;等等。此外,如图3所示,一个或多个处理器304可以执行机器可执行指令312,以形成构建服务器300的一个或多个组件,例如操作系统、图形用户界面(graphical user interface,GUI)314、设备驱动程序等。
虽然图3示出了单个构建服务器300,但构建服务器300可以包括部署在单个或多个机架上的多个计算机。根据一些实现方式,构建服务器300可以是云计算环境100的IaaS层提供的一个或多个虚拟机。
根据示例性实现方式,无论其特定形式如何,构建服务器300接收要迁移到云计算机环境100的本地应用程序、描述要用于托管和运行本地应用程序的应用程序服务器服务的用户输入,以及描述迁移之后本地应用程序要使用的应用程序平台服务的用户输入。如本文进一步描述的,用户输入中的一个或多个可以通过用户与GUI 314的交互来提供。构建服务器300生成数据,该数据用于生成定制应用程序服务器服务141。例如,构建服务器300接收应用程序代码301,包括本地应用程序的源代码、软件应用程序的配置文件,和本地应用程序的本地应用程序的库。如图3所示,对构建服务器300的用户输入包括:表示应用程序服务器服务类型(即,在迁移到云计算机环境100之后托管和运行本地应用程序112的应用程序服务器服务类型)的应用程序服务器服务输入302;表示一个或多个应用程序平台服务类型、将与本地应用程序112集成的应用程序平台服务输入303。
根据示例性实现方式,在接收到上述输入之后,构建服务器300使用自动过程(即,构建服务器300在没有进一步用户输入的情况下自动执行的计算机定向过程)来生成数据(定制应用程序服务器服务141的数据、定制应用程序服务器服务141的库的数据、为应用程序服务器服务141设置网络代理的数据等),用于定制应用程序服务器服务141,以便在不修改的情况下可以将应用程序代码301复制到SaaS层106,以将本地应用程序集成到云计算系统100中。
图4示出了根据示例性实现方式的流程图400,示出了由构建服务器300用于将本地软件应用程序迁移到云计算环境的过程。方法400包括,根据框410,构建服务器300接收(框410)输入,输入包括要迁移到云计算环境100的本地应用程序的应用程序源代码;应用程序服务器服务类型;应用程序平台服务类型。根据示例性实现方式,如图4所示,服务目录411包括在云计算环境100的PaaS层中可用的可用应用程序服务器服务141和应用程序平台服务126的列表。用户可以查找服务目录411,构建服务器300接收软件应用程序迁移到云计算机环境100所需的应用程序服务器服务类型和应用程序平台服务类型的选择。如本文进一步描述的,包括服务目录411的特定服务412对应于在应用程序服务器服务的定制中使用的细节的名称和位置。
如框420所示,根据所选择的应用程序服务器服务类型,构建服务器300从对应于所选择的应用程序服务器服务类型的服务器工件存储库421检索应用程序服务器服务工件422。
根据示例性实现方式,在此上下文中,应用程序服务器服务工件是指配置文件、与所选择类型的应用程序服务器服务相关联的安装文件,并用于生成定制应用程序服务器服务。作为更具体的示例,根据一些实现方式,应用程序服务器服务工件可以是安装文件(即,用于安装应用程序服务器服务的文件)和/或配置文件(即,用于配置应用程序服务器服务的文件)。
根据示例性实现方式,服务器工件存储库421存储所有支持的应用程序服务器服务类型的工件。
如框430所示,根据所选择的应用程序服务器服务类型和所选择的应用程序平台服务类型,构建服务器300通过对软件应用程序112的应用程序代码和/或服务器服务工件的代码分析发现一个或多个集成模式。在此上下文中,“集成模式”是指与应用程序代码和/或服务器工件相关联的特定代码序列、文件名、调用、配置等。集成模式具有应用程序服务器服务的相关联的定制过程。因此,通过发现特定的集成模式,如本文进一步描述的,构建服务器300发现修改或定制应用程序服务器服务的特定方式。如结合图6更详细地描述的,在框430中,构建服务器300使用存储在集成模式存储库431中的集成模式432的知识库来发现集成模式。
根据示例性实现方式,在框430中,构建服务器300可以分析应用程序代码以识别一个或多个集成模式。如果在应用程序代码中识别了多个集成模式,则根据示例性实现方式,构建服务器300可以根据模式首选项433选择最合适的模式,该模式首选项433可以存储在集成模式存储库431中。根据示例性实现方式,模式首选项433表示一个或多个标准,构建服务器300使用所述一个或多个标准来从多个发现的集成模式中选择最佳集成模式(根据标准)。作为一个更具体的示例,根据一些实现方式,可以针对不同性能指标标准类别为集成模式分配优先级;集成模式首选项433可以例如识别哪个性能指标类别控制集成模式的选择;构建服务器300可以从由模式首选项433识别的性能指标类别中选择最高优先级的集成模式(从发现的集成模式中)。
根据示例性实现方式,云计算服务提供商根据集成需求定义集成模式首选项。例如,如果到特定应用程序平台服务的应用程序连接时间很重要,则集成模式首选项433可以识别连接时间控制集成模式的选择。因此,对于本示例,与修改与应用程序服务器服务相关联的配置文件相关联的第一集成模式可以比与创建网络代理相关联的第二集成模式更优选,因为网络代理可以将网络延迟添加到服务集成。第一集成模式对应地可以具有比第二集成模式的优先级更高的连接时间优先级。应注意,云提供商可以随着时间的推移改变集成模式首选项433。
在选择集成模式时,构建服务器300检索(框450)要执行的一个或多个定制过程452的集合,以修改应用程序服务器服务,从而生成定制应用程序服务器服务。通常,定制过程可以存储在定制过程存储库451中。定制过程是一组指令(例如机器可执行指令),其可以由构建服务器300执行,以定制应用程序服务器服务工件,以生成定制应用程序服务器服务。通常,定制过程存储库451存储所有集成模式的这些定制过程。如图4的框460所示,构建服务器300使用检索到的定制过程452来修改应用程序服务器服务工件,即,修改应用程序服务器服务的一个或多个配置文件和/或安装文件。
图6示出了根据示例性实现方式的示出图4的模式发现过程430的流程图600。参考图6,根据方法600,构建服务器300首先获取(框610)应用程序服务器服务类型和应用程序平台服务类型,并从集成模式存储库431检索(框610)适用的集成模式432。接下来,构建服务器300分析软件应用程序的应用程序代码(即,使用模式匹配的代码分析),以确定本地软件应用程序112-1中是否存在集成的模式。根据示例性实现方式,此代码分析可以涉及搜索应用程序代码以发现涉及以下或其组合的特定模式或序列:函数、方法、文件、文本、设置、变量名等。根据一些示例性实现方式,搜索集成模式可以包括搜索服务器工件(即,应用程序服务器服务的配置和/或安装文件)以发现涉及以下或其组合的特定模式或序列:函数、方法、文件、文本、设置、变量名等。此外,根据一些示例性实现方式,搜索集成模式可以涉及搜索同时在服务器工件和应用程序代码中出现的特定模式(例如,由配置文件和应用程序代码中的某些设置表示的模式)。
因此,通过搜索(框610)集成模式,构建服务器确定(决策框622)是否已经找到集成模式。如果没有为软件应用程序112识别现有的集成模式,则,如框626所示,人类分析员可以手动分析应用程序代码和/或服务器工件,以识别任何先前未发现或未记录的集成模式。然后,这个新模式可以被保存(框630)在集成模式存储库431中,以便下次,类似的应用程序可以使用保存的集成模式。否则,如果找到一个或多个集成模式(判断框622),则构建服务器300输出(框634)所发现的集成模式。
图5示出了根据示例性实现方式的存储库421、431和451的结构及其与服务目录411的关系。通常,服务目录411列出了云计算环境100中可用的应用程序服务器服务和应用程序平台服务。根据示例性实现方式,服务目录411可通过GUI 314(图3)查看,并且用户可以查找服务目录411以选择应用程序服务器类型和应用程序平台服务服务类型。
如图5所示,根据示例性实现方式,服务目录411包括应用程序服务器服务类型识别符512和应用程序平台服务识别符516。例如,应用程序服务器服务类型识别符512可以将Tomcat 8、Apache 2.4和Node.js 8识别为可用的应用程序服务器服务类型。每个应用程序服务器服务识别符512可以与一个或多个特定应用程序服务器服务名称识别符514相关联。例如,Java Tomcat Service 8、PHP Apache Service 2.4和JavaScript Node.js Service8可以分别是Tomcat 8、Apache 2.4和Node.js 8应用程序服务器服务类型的特定服务。
例如,应用程序平台服务类型识别符516可以将数据库平台服务和文件服务识别为可用的应用程序平台服务类型。每个应用程序平台服务识别符516可以与一个或多个特定应用程序平台服务名称识别符518相关联。例如,MySQL数据库平台服务和文件存储服务可以分别是数据库平台服务和文件服务应用程序平台服务类型的特定服务。
用户对特定应用程序服务器服务名称识别符514的选择提供了索引519,构建服务器300可以用于访问所选应用程序服务器服务的工件422。以这种方式,如图5所示,索引519直接或间接指向服务器工件存储库421中的特定位置526,构建服务器300可以从中检索工件422。用户对特定应用程序服务器服务名称识别符514和特定应用程序平台服务名称识别符518的选择提供了索引550,构建服务器300可以使用索引550来直接或间接访问一个或多个集成模式432,构建服务器300可以使用一个或多个集成模式432来实现本文讨论的基于模式匹配的发现。对于每个模式432,构建服务器300从集成模式存储库431检索的信息可以包括模式类型、模式名称、模式细节、模式首选项433、与模式相关联的优先级等。
每个集成模式名称可以提供直接或间接指向存储在定制过程存储库451中的信息570的索引560。例如,通过使用索引560,构建服务器300可以检索数据574,数据574表示定制过程452(例如用于定制应用程序服务器服务的细节570(例如,机器可执行指令或流程))和与应用程序服务器服务配置相关的工件(例如,文件、库等)。
图7是根据示例性实现方式的应用程序服务器服务141的配置文件的修改的图示。在配置配置文件时,可以依赖于发现的集成模式来执行云集成,该模式由出现在应用程序代码中和/或应用程序服务器服务内的某些设置(例如,应用程序服务器服务的配置文件内的某些设置)形成。此类设置的示例包括平台服务位置、连接用户名和密码。以这种方式,例如,构建服务器300可以根据这样的设置识别特定的集成模式,并根据发现这些设置修改配置文件。
在图7所示示例中,集成模式是Tomcat服务器服务内的Root.xml文件内发现的上下文设置。图7的附图标记710示出了Root.xml文件的修改,并且如图所示,当Java应用程序112使用URL mysql://rds.mycloud.com:3306/mydb时,构建服务器300修改Tomcat服务器服务的Root.xml文件以直接由Java应用程序112访问。
图8是根据示例性实现方式修改应用程序服务器服务的库以生成定制应用程序服务器服务的图示。对于本示例,应用程序112是具有相关联的Node.js服务器服务141的JavaScript应用程序,并且应用程序112将访问数据库平台服务126。图8示出了由构建服务器300发现库集成模式,即,在应用程序112或应用程序服务器服务的应用程序代码内发现一个或多个库。这些库包含用于连接到应用程序平台服务的集成信息。构建服务器300通过集成模式匹配发现该集成信息,并配置对应的信息以将应用程序112连接到应用程序平台服务,使得应用程序112在被执行时消费应用程序平台服务。
对于图8所示示例,构建服务器300通过修改Node.js服务的Mysqli库来执行集成。Mysqli库包含名为“ConnectionConfig”的代码,其中包含集成信息。在构建服务器300修改该信息之后,Tomcat服务141可以连接到数据库平台服务126,并实现集成。
图9示出了通过调用云集成将PHP应用程序112迁移到云计算机环境100的另一个示例。PHP应用程序112在Apache服务器服务141上执行并访问数据库平台服务126。本示例示出了网络相关联的集成模式的发现,即,与应用程序服务器服务141和数据库平台服务126之间的网络连接相关联的模式。网络代理是可以拦截和重定向网络连接的软件。对于本示例,构建服务器300将网络代理904添加到Apache服务器服务141,以修改网络活动,以便在执行集成之后,创建网络代理以将通信从PHP应用程序112重定向到数据库平台服务126。
在图9所示示例中,在调用云集成之前,PHP应用程序112与本地计算机环境的数据库平台服务(地址是sql.mycompany.com:3306)集成。在将PHP应用程序112迁移到云计算环境之后,本地环境的数据库服务器和数据库服务器地址不再可用。在云计算环境下,提供兼容的数据库平台服务,数据库平台服务地址为rrds.mycloud.com:3306。由于PHP应用程序112没有更改,所以应用程序112仍在尝试连接到本地环境的数据库服务器,这导致网络连接失败。网络代理904可以捕获网络连接故障并将其重定向到云计算环境的数据库平台服务126。结果,PHP应用程序112可以通过该重定向连接到数据库平台服务126。
虽然本发明已经就有限数量的实现方式进行了描述,但受益于本发明的本领域技术人员将理解由此产生的许多修改和变化。所附权利要求涵盖所有这些修改和变化。

Claims (20)

1.一种将为本地环境开发的本地应用程序迁移到云计算环境(100)的方法,其特征在于,所述方法包括:
构建服务器(300)接收所述本地应用程序(112)的应用程序代码;
所述构建服务器分析所述本地应用程序的所述应用程序代码,以根据所述云计算环境中本地软件应用程序要使用的应用程序服务器服务,和所述云计算环境中所述本地应用程序要使用的应用程序平台服务,识别所述本地应用程序中的模式,其中,所述应用程序服务器服务和所述应用程序平台服务是所述云计算环境的平台即服务(platform as aservice,PaaS)层(104)的一部分;
所述构建服务器根据所述识别的模式生成数据,以配置所述PaaS层,用于将所述本地应用程序迁移到所述云计算环境。
2.根据权利要求1所述的方法,其特征在于,分析所述应用程序代码以识别所述模式包括分析所述应用程序的应用程序代码。
3.根据权利要求2所述的方法,其特征在于,分析所述应用程序代码包括搜索所述应用程序代码中的文件名或所述应用程序代码中的文本。
4.根据权利要求1至3中任一项所述的方法,其特征在于,分析所述应用程序代码以识别所述模式包括:
根据所述应用程序服务器服务和所述应用程序平台服务识别与所述应用程序相关联的多个候选模式;
根据预定的选择标准选择所述多个候选模式中的给定候选模式。
5.根据权利要求1至4中任一项所述的方法,其特征在于,还包括:
在不修改所述本地应用程序的所述应用程序代码的情况下将所述应用程序迁移到所述云计算环境。
6.根据权利要求1至5中任一项所述的方法,其特征在于,还包括:
根据所述应用程序服务器服务和所述应用程序平台服务识别多个候选模式;
根据集成模式首选项,选择所述候选模式中的一个,并根据所述选择的候选模式配置所述PaaS层。
7.根据权利要求1至6中任一项所述的方法,其特征在于,生成所述数据包括以下中的一个:生成数据以配置与所述应用程序服务器服务相关联的配置文件、生成数据以配置与所述应用程序服务器服务相关联的库,或生成数据以配置与所述应用程序服务器服务相关联的网络代理。
8.根据权利要求1至7中任一项所述的方法,其特征在于,生成所述数据包括:与存储库通信以检索识别与所述识别的模式相关联的过程的数据;生成所述数据以配置所述PaaS层,以根据所述过程迁移所述应用程序。
9.根据权利要求1至8中任一项所述的方法,其特征在于,生成所述数据包括生成数据以修改与所述PaaS层的应用程序服务器服务相关联的配置文件或安装文件中的至少一个。
10.根据权利要求1至9中任一项所述的方法,其特征在于,所述应用程序平台服务包括缓存平台服务、数据库平台服务或文件平台服务。
11.一种非瞬时性机器可读存储介质,其特征在于,存储有指令,所述指令在由机器执行时,使所述机器:
根据基于云的应用程序服务器服务类别和基于云的应用程序平台服务类别分析应用程序的应用程序代码,以识别所述应用程序代码的模式;
根据所述识别的模式,确定基于云的计算机系统的基于云的应用程序服务器服务的配置,以为所述基于云的计算机系统将所述应用程序迁移到所述基于云的计算机系统做好准备。
12.根据权利要求11所述的非瞬时性机器可读存储介质,其特征在于,所述指令在由所述机器执行时,还使所述机器:
根据确定的修改,修改与所述应用程序服务器服务相关联的配置文件或安装文件。
13.根据权利要求11或12所述的非瞬时性机器可读存储介质,其特征在于,所述指令在由所述机器执行时,还使所述机器:
与存储库通信,以根据基于云的应用程序服务器类别和所述基于云的应用程序平台服务接收存储库模式集合;
确定所述应用程序代码是否包含所述存储库模式的任何模式。
14.根据权利要求11至13中任一项所述的非瞬时性机器可读存储介质,其特征在于,所述指令在由所述机器执行时,还使所述机器:
根据所述基于云的应用程序服务器类别和所述基于云的应用程序平台服务,识别多个候选模式;
根据集成模式首选项,选择候选模式中的一个,并根据所述选择的候选模式确定所述应用程序服务器服务的配置。
15.根据权利要求11至14中任一项所述的非瞬时性机器可读存储介质,其特征在于,所述指令在由所述机器执行时,还使所述机器:确定与所述应用程序服务器服务相关联的配置文件、库或网络代理中的至少一个的配置。
16.一种装置,其特征在于,包括:
至少一个处理器;
存储器,用于存储指令,所述指令在由所述至少一个处理器执行时,使所述至少一个处理器:
访问与安装云计算机系统的应用程序服务器服务或配置所述应用程序服务器服务中的至少一个相关联的文件;
分析与要迁移到所述云计算机系统的应用程序相关联的应用程序代码,以根据所述应用程序迁移到所述云计算机系统之后要使用的应用程序服务器服务和应用程序平台服务识别与所述应用程序相关联的模式;
与存储库通信,以接收表示要根据所述识别的模式执行的过程的数据;
根据所述过程修改所述文件,以为所述云计算机系统将所述应用程序迁移到所述云计算机系统做好准备。
17.根据权利要求16所述的装置,其特征在于,所述指令在由所述至少一个处理器执行时,还使所述至少一个处理器:在不修改与所述应用程序相关联的所述应用程序代码的情况下将所述应用程序迁移到所述云计算机系统。
18.根据权利要求16或17所述的装置,其特征在于,所述应用程序平台服务包括缓存服务、数据库平台服务或文件服务中的至少一种。
19.根据权利要求16至18中任一项所述的装置,其特征在于,所述应用程序服务器服务和所述应用程序平台服务与所述云计算机系统的平台即服务(platform as a service,PaaS)层相关联,并且在迁移之后,所述应用程序与所述云计算机系统的软件即服务(software as aservice,SaaS)层相关联。
20.根据权利要求16至19中任一项所述的装置,其特征在于,所述指令在由所述至少一个处理器执行时,还使所述至少一个处理器:根据所述应用程序服务器服务和所述应用程序平台服务搜索所述应用程序的应用程序代码中的特定文本或文件名,以识别所述模式。
CN202080009343.8A 2019-01-30 2020-01-19 使用基于模式的发现进行云应用程序和服务集成的方法及系统 Active CN113302901B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/262,140 US20200244772A1 (en) 2019-01-30 2019-01-30 Method and system for cloud application and service integration using pattern-based discovery
US16/262,140 2019-01-30
PCT/CN2020/072936 WO2020156268A1 (en) 2019-01-30 2020-01-19 Method and system for cloud application and service integration using pattern-based discovery

Publications (2)

Publication Number Publication Date
CN113302901A true CN113302901A (zh) 2021-08-24
CN113302901B CN113302901B (zh) 2023-03-10

Family

ID=71732919

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080009343.8A Active CN113302901B (zh) 2019-01-30 2020-01-19 使用基于模式的发现进行云应用程序和服务集成的方法及系统

Country Status (4)

Country Link
US (1) US20200244772A1 (zh)
EP (1) EP3834402A4 (zh)
CN (1) CN113302901B (zh)
WO (1) WO2020156268A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107171759A (zh) * 2017-07-12 2017-09-15 惠州Tcl移动通信有限公司 一种查找和搜索fm频道的方法、移动终端及存储装置
US11385940B2 (en) 2018-10-26 2022-07-12 EMC IP Holding Company LLC Multi-cloud framework for microservice-based applications
US11055066B2 (en) * 2019-08-29 2021-07-06 EMC IP Holding Company LLC Multi-cloud operations center for function-based applications
US11533317B2 (en) 2019-09-30 2022-12-20 EMC IP Holding Company LLC Serverless application center for multi-cloud deployment of serverless applications
US11740894B2 (en) * 2022-01-25 2023-08-29 Sap Se Build-independent software framework for creating custom adapters

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101859263A (zh) * 2010-06-12 2010-10-13 中国人民解放军国防科学技术大学 一种支持在线迁移的虚拟机间快速通信方法
CN102821000A (zh) * 2012-09-14 2012-12-12 乐视网信息技术(北京)股份有限公司 提高PaaS平台可用性的方法
US20130091285A1 (en) * 2011-10-11 2013-04-11 International Business Machines Corporation Discovery-based identification and migration of easily cloudifiable applications
US20140359129A1 (en) * 2013-05-28 2014-12-04 Accenture Global Services Limited Migration Assessment for Cloud Computing Platforms
US20150264128A1 (en) * 2014-03-15 2015-09-17 International Business Machines Corporation Specification-guided migration
CN105446809A (zh) * 2015-11-30 2016-03-30 中国建设银行股份有限公司 平台迁移方法及装置
AU2017200648A1 (en) * 2011-06-29 2017-02-23 Microsoft Technology Licensing, Llc Virtual machine migration tool
US20170192758A1 (en) * 2016-01-04 2017-07-06 Syntel, Inc. Method and apparatus for migration of application source code
CN107766052A (zh) * 2017-09-18 2018-03-06 网宿科技股份有限公司 一种构建镜像的方法和装置
US20180191599A1 (en) * 2012-10-26 2018-07-05 Syntel, Inc. System and method for evaluation of migration of applications to the cloud

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9461881B2 (en) * 2011-09-30 2016-10-04 Commvault Systems, Inc. Migration of existing computing systems to cloud computing sites or virtual machines
US9116633B2 (en) * 2011-09-30 2015-08-25 Commvault Systems, Inc. Information management of virtual machines having mapped storage devices
US9852137B2 (en) * 2015-09-23 2017-12-26 International Business Machines Corporation Container storage migration

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101859263A (zh) * 2010-06-12 2010-10-13 中国人民解放军国防科学技术大学 一种支持在线迁移的虚拟机间快速通信方法
AU2017200648A1 (en) * 2011-06-29 2017-02-23 Microsoft Technology Licensing, Llc Virtual machine migration tool
US20130091285A1 (en) * 2011-10-11 2013-04-11 International Business Machines Corporation Discovery-based identification and migration of easily cloudifiable applications
CN103930863A (zh) * 2011-10-11 2014-07-16 国际商业机器公司 可轻松云化的应用的基于发现的标识和迁移
CN102821000A (zh) * 2012-09-14 2012-12-12 乐视网信息技术(北京)股份有限公司 提高PaaS平台可用性的方法
US20180191599A1 (en) * 2012-10-26 2018-07-05 Syntel, Inc. System and method for evaluation of migration of applications to the cloud
US20140359129A1 (en) * 2013-05-28 2014-12-04 Accenture Global Services Limited Migration Assessment for Cloud Computing Platforms
US20170155723A1 (en) * 2013-05-28 2017-06-01 Accenture Global Services Limited Migration assessment for cloud computing platforms
US20150264128A1 (en) * 2014-03-15 2015-09-17 International Business Machines Corporation Specification-guided migration
CN105446809A (zh) * 2015-11-30 2016-03-30 中国建设银行股份有限公司 平台迁移方法及装置
US20170192758A1 (en) * 2016-01-04 2017-07-06 Syntel, Inc. Method and apparatus for migration of application source code
CN107766052A (zh) * 2017-09-18 2018-03-06 网宿科技股份有限公司 一种构建镜像的方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
崔勇,宋健,缪葱葱,唐俊.: "移动云计算研究进展与趋势", 《计算机学报》 *
郭庆: "Java EE企业级应用向Hadoop平台迁移的技术研究", 《自动化与信息工程》 *

Also Published As

Publication number Publication date
CN113302901B (zh) 2023-03-10
US20200244772A1 (en) 2020-07-30
WO2020156268A1 (en) 2020-08-06
EP3834402A4 (en) 2021-09-29
EP3834402A1 (en) 2021-06-16

Similar Documents

Publication Publication Date Title
CN113302901B (zh) 使用基于模式的发现进行云应用程序和服务集成的方法及系统
US11178207B2 (en) Software version control without affecting a deployed container
US10725814B2 (en) Expediting the provisioning of virtual machines based on cached repeated portions of a template
CA2990252C (en) Systems and methods for blueprint-based cloud management
US10983774B2 (en) Extensions for deployment patterns
US8543998B2 (en) System and method for building virtual appliances using a repository metadata server and a dependency resolution service
US11163669B1 (en) Measuring test coverage during phased deployments of software updates
US11032213B1 (en) Centralized management of computing resources across service provider networks
US10534596B2 (en) Migrating applications to updated environments
US9846586B2 (en) Creating a virtual machine and cloud server
US9032367B2 (en) Providing a demo appliance and migrating the demo appliance to a production appliance
US10019293B2 (en) Enhanced command selection in a networked computing environment
US11113186B1 (en) Testing and publishing of resource handlers in a cloud environment
US20130254758A1 (en) Application Construction for Execution on Diverse Computing Infrastructures
US11656864B2 (en) Automatic application of software updates to container images based on dependencies
CN116034576B (zh) 基于cos集群域名系统的跨多个cos集群的容器编排系统(cos)服务发现
US20170300351A1 (en) Optimizations and Enhancements of Application Virtualization Layers
US10740080B2 (en) Preview and publishing of mobile applications
WO2023084345A1 (en) Automated deployment of enterprise archive with dependency on application server via script
US10911371B1 (en) Policy-based allocation of provider network resources
US11822555B2 (en) Signaling and resolution model for multi-level session-based description descriptors
US20220239754A1 (en) Method and system for decentralized message handling for distributed computing environments
CN112148921A (zh) Nbmp功能图像检索的方法、计算机系统及可读存储介质
Krishnan et al. Next Generation DevOps Initiatives

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
TA01 Transfer of patent application right

Effective date of registration: 20220217

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Applicant after: Huawei Cloud Computing Technologies Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant