CN114327779A - 一种应用运行环境搭建方法、装置及存储介质 - Google Patents
一种应用运行环境搭建方法、装置及存储介质 Download PDFInfo
- Publication number
- CN114327779A CN114327779A CN202111659693.1A CN202111659693A CN114327779A CN 114327779 A CN114327779 A CN 114327779A CN 202111659693 A CN202111659693 A CN 202111659693A CN 114327779 A CN114327779 A CN 114327779A
- Authority
- CN
- China
- Prior art keywords
- application
- environment
- component
- user
- requirement
- 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
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Stored Programmes (AREA)
Abstract
本申请涉及计算机技术领域中的应用环境搭建,提出一种应用运行环境搭建方法、装置及存储介质。所述方法包括:获取用户关于待部署的应用的需求标识;根据所述需求标识匹配得到目标镜像;构建与所述目标镜像对应的容器;将所述所需的全部环境组件运行在所述容器中,形成所述应用的运行环境。本申请实施例提出的搭建方法针对用户对于应用的需求,进行必要的环境组件搭建,而对于不必要的环境组件则不搭建,起到了轻量化搭建的目的,缩短了搭建时间。
Description
技术领域
本申请实施例涉及计算机技术领域,特别涉及一种应用运行环境搭建方法、装置及存储介质。
背景技术
对于任一机器学习应用来说,若要将其部署在某一用户端,进行机器学习应用的运行展示,首先需要确定该用户的网络环境是否满足该机器学习应用的运行环境,如果满足则可以直接进行部署展示,但若不满足,则需要在该用户端进行运行环境搭建,比如对于基于常见的k8s架构的机器学习应用来说,目前是将k8s的全部组件(如:docker、rke、helm、kubectl和kubelet、MySQL、以及安装minio.client:mc等组件)在用户端上进行一一部署,以构建该机器学习应用的运行环境,而后才可以向用户运行展示该机器学习应用。但是对于k8s架构或者其他网络架构来说,其包括的大量的运行环境组件,如果将全部架构完全部署,则会消耗大量的时间,不利于向用户快速展示机器学习应用的运行。
发明内容
本申请实施例提出一种应用运行环境搭建方法、装置及存储介质,在搭建机器学习应用运行环境前,先根据用户端的业务服务需求,选择运行该应用所必须的环境组件,而后对这些环境组件进行搭建,以缩短运行环境的搭建时间,起到向用户快速展示应用的目的。
第一方面,本申请实施例提出一种应用运行环境搭建方法,所述方法应用于机器学习应用运行环境的搭建场景,所述方法包括:
获取用户关于待部署的应用的需求标识;
根据所述需求标识匹配得到目标镜像,所述目标镜像包括在满足所述用户需求时运行所述应用所需的全部环境组件;
构建与所述目标镜像对应的容器,所述容器用于运行所述应用;
将所述所需的全部环境组件运行在所述容器中,形成所述应用的运行环境。
第二方面,本申请实施例提出一种启动任务的方法,应用于利用第一方面提供的应用运行环境搭建方法所搭建的运行环境中。所述方法包括:
基于接收到启动所述应用的任一业务服务的指令时,获取用户端设备的硬件参数;
基于所述用户端设备的硬件参数,判断所述用户端设备是否满足启动所述业务服务的需求;
在所述用户端设备满足启动所述业务服务的需求的情况下启动所述业务服务,否则向所述用户端反馈包含启动所述业务服务所需的设备参数的第一消息。
第三方面,本申请实施例提出一种应用运行环境搭建装置,具有实现对应于上述第一方面提供的应用运行环境搭建方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,所述模块可以是软件和/或硬件。所述应用运行环境搭建装置包括:
获取模块,用于供用户输入对于待部署应用的需求标识;
匹配模块,根据所述获取模块获取的所述需求标识,匹配目标镜像,所述目标镜像包括在满足所述用户需求时运行所述应用所需的全部环境组件;
构建模块,用于构建与所述匹配模块所匹配的目标镜像所对应的容器;
配置模块,用于将匹配模块匹配的全部环境组件配置在所述构建模块构建的容器中。
第四方面,本申请实施例提出一种计算机可读存储介质,其包括指令,当其在计算机上运行时,使得计算机执行上述第一方面、或者第一方面的可能的设计中所述的方法。
第五方面,本申请实施例提出一种处理设备,所述处理设备包括:
至少一个处理器、存储器和输入输出单元;
其中,所述存储器用于存储计算机程序,所述处理器用于调用所述存储器中存储的计算机程序来执行上述第一方面、或者第一方面的可能的设计中所述的方法。
相较于现有技术中应用运行环境的搭建,是将满足该应用运行环境的某一个环境架构(如k8s)的全部组件,一一进行部署搭建,但是对于该应用本身而言,在其运行过程中,可能并不需要k8s的所有环境组件全部参与,而且对于用户而言,也可能并不会用到该应用的全部业务服务,因此在搭建过程中,除了用户需要使用到的业务服务所对应的环境组件之外的其他环境组件,如若也将其一一部署,无疑造成了时间浪费。而在本申请实施例中,是通过获取用户对于该应用的需求标识,再根据需求标识选择运行该应用所必要的环境组件,然后通过仅部署这些必要的环境组件来搭建该应用在该用户端所需要的运行环境,相较于现有技术中将某一系统架构的全部组件均进行安装部署的方式而言,能够缩短运行环境的搭建时间,起到向用户快速展示应用的目的。一方面,本申请实施例所搭建的运行环境,在应用所在的容器内进行,能够模拟当前用户终端或服务器的运行环境,做到了与用户终端或服务器本身运行环境的隔离,减少了对用户终端或服务器自身环境的侵入。另一方面,在运行环境搭建过程,以及搭建完成后的应用运行时的资源调度过程,也无需终中断用户终端或服务器的业务服务。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为本申请一实施例的应用运行环境搭建方法的一个应用场景示意图;
图2为某一应用的业务服务模块图;
图3为本申请一实施例的应用运行环境搭建方法中某用户对于图2中的应用的需求标识示意图;
图4为本申请一实施例的应用运行环境搭建方法的步骤图;
图5为本申请一实施例的应用运行环境搭建方法中的某一应用的组件库的示意图;
图6为本申请一实施例的应用运行环境搭建方法中过构建的目标镜像的示意图;
图7为本申请一实施例的应用运行环境搭建方法中将目标镜像配置在容器的示意图;
图8为本申请一实施例的应用运行环境搭建装置的模块图;
图9为本申请一实施例提供的计算机可读存储介质的模块图;
图10为本申请一实施例提供的计算设备的结构图。
具体实施方式
下面将参考若干示例性实施方式来描述本申请实施例的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本申请实施例,而并非以任何方式限制本申请实施例的范围。
本领域技术人员知道,本申请实施例的实施方式可以实现为一种装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例提供一种应用运行环境搭建方法、装置及存储介质,可以运用于例如人工智能模型、分布式系统、调度系统等机器学习应用的运行环境的搭建场景。该方案可用于应用运行环境搭建装置,该应用运行环境搭建装置可供应用的开发方使用,也可供应用的使用方使用。
在一些实施方式中,如图1所示,图1为本申请实施例中应用运行环境搭建方法的一个应用场景。在该应用场景中可以包括至少一个应用和至少一个服务器或者终端,本申请实施例以一个终端01和机器学习应用A为例。在如图1所示的场景中需要将机器学习应用A快速部署在终端01中,从而在终端01中进行运行,以向用户展示应用A的运行状况。
其中应用A可以为任一中机器学习应用,比如测评系统、开发平台、分析平台等等。终端01可以是平板电脑、笔记本电脑、台式计算机、智能音箱等,但并不局限于此。
在其他实施例中,还可以是将机器学习应用部署在服务器上,其中,服务器可以是独立的物理服务器,也可以是提供云计算服务的云服务器。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
如图2所示,为某一应用B,图3为某一用户对该应用的需求,基于图2可知,该应用可以提供可视化服务、调度服务、日志服务、数据服务,以及模型A、B、C所提供的服务,基于图3可知该用户对于该应用B的需求仅仅为可视化服务、模型A的服务、调度服务以及数据服务,对于图2所述的应用B来说,假设现在需要将其安装在如图1所示的终端01上,以向用户展示所需要的服务功能。假设该终端01上没有适合该应用B运行的环境,故而需要临时搭建一个支持应用B运行的运行环境,以k8s为例,则需要将整套k8s的所有组件全部一一部署,k8s作为一款开源的分布式架构,为了满足不同的用户、不同的需求以及不同的应用,其包含了的各种各样的环境组件,但是对于具体到了某一个用户或者某一款应用来说,除了包含满足该用户和该应用所需要的一些组件之外,还包含了大量的不需要环境组件,比如对于应用B,虽然应用B具有很多业务服务功能,但是在本实施例的使用场景下,其中有一些业务服务用户并没有使用需求,如对于模型B、C,以及日志服务,虽然这些业务服务用户并不需要,但是k8s为里边同样也具有与这些业务服务对应的环境组件,而且在环境搭建时也一并进行部署搭建,这无疑浪费了大量的时间,不利于向用户快速展示其需要的功能。而本申请实施例提出了一种应用环境搭建方法,对于该用户之于应用B的需求展示而言,仅需对可视化服务、模型A、调度服务以及数据服务所需要的环境组件进行搭建,而对于模型B、模型C、日志服务,以及除了满足本应用B之外的其他一些组件,则均无需搭建,从而起到了快速搭建的目的。接下来,请参照图4,对本申请实施例的应用运行环境搭建方法进行阐述。
如图4所示,在本申请实施例中,该应用运行环境搭建方法包括如下步骤:
步骤S100:获取需求标识。
在本步骤中,获取用户关于待部署的应用的需求标识。比如以图2所示的应用B来说,需求标识可以代表该用户对该应用B业务服务的需求,如需要使用到应用B的那些业务服务,或者需要向用户展示哪些业务服务。如图3所示,即为某一用户对于应用B的需求标识,需求标识能够表明该用户的需求即可,对于需求标识本身的载体、形式不做任何限制。
步骤S200:根据需求标识匹配得到目标镜像。
目标镜像可以为了一个部署了运行应用所需的环境组件的docker。在本申请实施例中,目标镜像包括了满足该用户需求时运行所述应用所需的全部环境组件。以如图3所示的用户对于应用B的需求为例,那么该目标镜像则需包含运行应用B中的可视化服务、模型A、调度服务,以及数据服务所需的全部环境组件。
在另一实施例中,还可以根据需求标识在预设的组件库中,匹配所需的环境组件,所述组件库包括所述应用的全部业务服务所对应的各个环境组件。比如对于应用B而来沿,可以预设关于应用B的组件库,那么对于应用B的组件库来说,需要包含了运行应用B的全部业务服务所需要的环境组件,每个业务服务对应的环境组件彼此独立,不同的用户对于应用B的需求可能不同,但是都可以从应用B的组件库中匹配各自所需要的环境组件。
在本申请的另一个实施例中,所述组件库包括复用组件单元和专用组件单元,其中,所述复用组件单元和所述专用组件单元系基于所述环境组件在历史不同用户运行时的使用率进行划分。如图5所示,图5示出的为机器学习应用C的组件库,其中包括了复用组件单元和专用组件单元,复用组件单元包括了复用环境组件1到复用环境组件n,专用组件单元包括了专用环境组件1到专用环境组件n。在设置组件库时,可以根据该应用各个环境组件在历史时间中的使用率来划分,比如可以设置一个使用率阈值,根据历史时间内不同用于对于应用C的运行数据,分析出应用C的每一个业务服务的使用率,每一个业务服务的使用率,对应了该业务服务所需要的环境组件的使用率,从而根据各个环境组件的使用率,将使用率较高的环境组件组成复用组件单元,将使用率较低的环境组件组成专用组件单元。
在另一个实施例中,还可以按照各个环境组件的用途来进行划分复用组件单元和专用组件单元,比如图2所示的应用B,对于可视化服务、调度服务、日志服务,及数据服务对应的环境组件可以将其划分成复用组件单元,对于模型A、模型B、模型C对应的环境组件可以将其划分成专用组件单元。
在本申请的另一个实施例中,基于上述组件库,还可以通过如下步骤进行匹配目标镜像:
步骤S210:根据需求标识,在所述复用组件单元中对需要开启的复用环境组件进行标记,以及从所述专用组件单元中挑选所需要的专用环境组件。如图6所示,图6为某一用户对于应用C进行匹配的目标镜像,首先在复用组件单元中对所需要的复用环境组件进行标记,如图6所示,复用环境组件1和复用环境组件2的标记状态为开启,其余的复用环境组件的标记状态均为关闭。整个复用组件单元均在目标镜像内,可以理解是,对于复用组件单元而言,在匹配过程中,并不是从中挑选某一个环境组件,而是将整个复用组件单元全部设在目标镜像中,并根据用户需求标识,将需要使用的环境组件进行标记,比如标记为开启。
然后从专用组件单元中挑选需要的专用环境组件,如图6所示,所需要的专用环境组件包括了专用环境组件1和专用环境组件2,与复用组件不同的是,在挑选专用环境组件时,仅从专用组件单元中选择需要的专用环境组件,对于其他不需要的专用环境组件则不予部署。在复用组件单元对所需要的复用环境组件进行相应标记,以及在专用组件单元挑选了相应的专用环境组件之后,就可以基于这些环境组件匹配目标镜像。
步骤S300:构建与所述目标镜像对应的容器。
在步骤S200中根据用户需求标识匹配得到了目标镜像。在本步骤中构建与该目标镜像对应的容器。以如图6所示,图6为对于应用C的需求标识匹配的目标镜像为,对其构建目标镜像对应的容器,如图7所示,该容器需要与复用组件单元、专用环境组件1和专用环境组件2相对应,而且该容器能够满足应用C在其中运行。
步骤S400:将所述所需的全部环境组件运行在所述容器中。
在步骤S300中构建了容器,在本步骤中将目标镜像(包括专用环境组件1和专用环境组件2,以及标记了需要开启的复用环境组件的整个复用组件单元)部署在该容器中,需要说明的是还需要为专用环境组件1和专用环境组件2设置专用环境组件接口(比如dockerapi),形成应用C的运行环境。
本申请实施例所搭建的运行环境,一方面仅搭建了与用户对于该应用的需求对应的一些环境组件,轻量化部署,缩短了部署时间。另一方面,在应用所运行的容器内进行环境搭建,以模拟当前用户终端或服务器的运行环境,做到了与用户终端或服务器的本身运行环境的隔离,减少了对用户终端或服务器自身环境的侵入。
在本申请的另一个实施例中,复用组件单元包括可视化组件,当标记的复用环境组件包括所述可视化组件时,在预设时段内获取所述应用的运行数据,以及其他同类应用的运行数据;基于所述应用的运行数据,以及所述其他同类应用的运行数据,生成可视化对比报告。
对于任何一个机器学习应用来说,若在其业务服务中包含可视化服务功能,那么对于该应用对应的组件库来说,其复用组件单元中包括可视化组件,那么若是在构建运行环境时,将该可视化组件标记为开启,当该应用在用户端运行时,该可视化服务可以在预计的时间段内获取到该应用在本方法搭建的运行环境下的运行数据,比如运行环境部署所消耗的时长,业务服务的处理速度等。用户还可上传与该应用同类的其他应用在其他的运行环境(比如基于k8s的运行环境)下的运行数据,如其他同类应用在其他运行环境下的部署时长、以及业务服务处理速度,此时可视化服务可以针对二者的数据进行横向对比,并生成可视化报告,供用户参考,方便用户了解该应用的部署情况及运行情况。
本申请还提出一种启动任务的方法,应用在利用上述提供的应用环境搭建方法所搭建的运行环境下,对于该应用的启动场景中。所述方法包括以下步骤:
S510:基于接收到启动所述应用的任一业务服务的启动指令时,获取用户端设备的硬件参数。
在本步骤之前已经按照上述的环境搭建方法为该应用搭建了运行环境,该运行环境能够满足该用户对该应用的全部业务服务需求,在运行环境搭建完成后,响应于接收到用户运行该应用任一业务服务的开启指令,该应用可以获取到用户终端或者服务器的硬件设备参数,基于所获取的终端或者服务器的硬件设备参数,判断该终端或者服务器是否满足本应用的运行需求,即如下步骤S520:基于所述用户端设备的硬件参数,判断所述用户端设备是否满足启动所述业务服务的需求。
S530:在所述用户端设备满足启动所述业务服务的需求的情况下启动所述业务服务,否则向所述用户端反馈包含启动所述业务服务所需的设备参数的第一消息。在本步骤中,可以基于判断结果作出反馈,比如,若该应用所在的终端或者服务器的硬件参数满足运行需求,则启动用户想要运行的业务服务;若硬件参数不满足运行需求,则向用户反馈第一消息,第一消息包含了运行用户的开启指令所对应的业务服务所需要的硬件参数,从而方便用户在硬件设备方面进行针对性的配置。
在本申请的另一个实施例中,在部署了应用的运行环境之后,当用户想要启动该应用的某一个业务服务时,首先会获取部署该应用的终端或者服务器的硬件参数,以判断是否满足运行该业务服务,若是满足的话,通过如下步骤开启该相应的业务服务:
首先开启复用组件单元中标记的复用环境组件,比如在如图7所示的容器内,对于应用C来说的复用组件单元,对复用环境组件1和复用环境组件2标记了开启,那么此时则开始复用环境组件1和复用环境组件2。
然后根据用户发送的启动指令,确定相应的专用环境组件。比如,专用环境组件1对应了某服务模型M的运行环境,专用环境组件2对应了某服务模型N的运行环境,根据启动指令可以获知用户需要哪个服务模型的服务,进而就可以确定了所需要的专用环境组件。
在确定了专用环境组件之后,就可以利用专用环境组件接口调用相应的专用环境组件,从而供该专用环境组件对应的模型服务运行使用。
在本申请的另一个实施例中,在某一个业务服务开启后,还可以通过可视化组件获取该业务服务的任务执行日志,根据任务执行日志判断该业务服务对应的用户任务的执行情况,并在用户任务执行完毕后,关闭对应的业务服务。
本申请实施例提供的应用开启方法,运用在利用上述实施例所提供应用环境搭建方法所搭建的运行环境中,在运行环境搭建过程,以及运行环境搭建完成后对各个业务服务进行资源调度时,无需终中断用户终端或服务器的任何服务进程。
示例性装置
图1至图7中任一项所对应的实施例中所提及的任一技术特征也同样适用本申请实施例中的图8-图10所对应的实施例,后续类似之处不再赘述。在介绍了本申请实施例示例性实施方式的应用运行环境搭建方法之后,接下来对本申请实施例中的实施上述应用运行环境搭建装置进行详细阐述。
如图7所示的一种应用运行环境搭建装置,其可用于应用运行环境的搭建领域。本申请实施例中的应用运行环境搭建装置能够实现对应与上述图1-图7中任一项所对应的实施例中所执行的应用运行环境搭建方法的步骤。该应用运行环境搭建装置实现的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,所述模块可以是软件和/或硬件。所述应用运行环境搭建装置可包括:获取模块、匹配模块、构建模块,以及配置模块。所述获取模块、匹配模块、构建模块,以及配置模块的功能实现可参考图1-图7中任一项对应的实施例中所执行的操作,此处不作赘述。
一些实施方式中,所述获取模块可用于供用户输入对于待部署应用的需求标识;
匹配模块可用于根据所述获取模块获取的所述需求标识,匹配目标镜像,所述目标镜像包括在满足所述用户需求时运行所述机器学习应用所需的全部环境组件;
构建模块,用于构建与所述匹配模块所匹配的目标镜像所对应的容器;
配置模块,用于将匹配模块匹配的全部环境组件配置在所述构建模块构建的容器中。
在本申请的另一个实施例中,所述应用运行环境搭建装置还包括组件库,所述组件库可用于存储任一应用的全部环境组件;
所述匹配模块还可用于根据所述需求标识,在所述组件库中匹配所需的环境组件。
在本申请的另一个实施例中,基于所述应用的全部环境组件在历史不同用户运行时的使用率,将所述应用的组件库划分为复用组件单元和专用组件单元。
在本申请的另一个实施例中,所述匹配模块还可用于根据所述需求标识,在所述复用组件单元中对需要开启的复用环境组件进行标记,以及从所述专用组件单元中挑选所需要的专用环境组件;
基于标记后的复用组件单元、以及所挑选的专用环境组件,匹配所述目标镜像;
所述配置模块还可用于将所述目标镜像和所述专用环境组件接口,配置在所述容器中。
相较于现有技术中应用运行环境的搭建,是将满足该应用运行环境的某一个环境架构(如k8s)的全部组件,一一进行部署搭建,但是对于该应用本身而言,在其运行过程中,可能并不需要k8s的所有环境组件全部参与,而且对于用户而言,也可能并不会用到该应用的全部业务服务,因此在搭建过程中,除了用户需要使用到的业务服务所对应的环境组件之外的其他环境组件,如若也将其一一部署,无疑造成了时间浪费。而在本申请实施例中,是通过获取用户对于该应用的需求标识,再根据需求标识选择运行该应用所必要的环境组件,然后通过仅部署这些必要的环境组件来搭建该应用在该用户端所需要的运行环境,相较于现有技术中将某一系统架构的全部组件均进行安装部署的方式而言,能够缩短运行环境的搭建时间,起到向用户快速展示应用的目的。一方面,本申请实施例所搭建的运行环境,在应用所在的容器内进行,能够模拟当前用户终端或服务器的运行环境,做到了与用户终端或服务器本身运行环境的隔离,减少了对用户终端或服务器自身环境的侵入。另一方面,在运行环境搭建过程,以及搭建完成后的应用运行时的资源调度过程,也无需终中断用户终端或服务器的业务服务。
示例性介质
在介绍了本申请示例性实施方式的方法和装置之后,接下来,参考图9对本申请示例性实施方式的计算机可读存储介质进行说明,请参考图9,其示出的计算机可读存储介质为光盘70,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会实现上述方法实施方式中所记载的各步骤,例如,获取用户关于待部署的应用的需求标识;根据所述需求标识匹配得到目标镜像;构建与所述目标镜像对应的容器;将所述所需的全部环境组件运行在所述容器中,形成所述应用的运行环境。各步骤的具体实现方式在此不再重复说明。
需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
示例性计算设备
在介绍了本申请示例性实施例的方法、介质和装置之后,接下来,参参考图10对本申请示例性实施方式的用于应用运行环境搭建的计算设备。
图10示出了适于用来实现本申请实施方式的示例性计算设备80的框图,该计算设备80可以是计算机系统或服务器。图10显示的计算设备80仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图10所示,计算设备80的组件可以包括但不限于:一个或者多个处理器或者处理单元801,系统存储器802,连接不同系统组件(包括系统存储器802和处理单元801)的总线803。
计算设备80典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算设备80访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器802可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)8021和/或高速缓存存储器8022。计算设备80可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,ROM8023可以用于读写不可移动的、非易失性磁介质(图10中未显示,通常称为“硬盘驱动器”)。尽管未在图10中示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线803相连。系统存储器802中可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。
具有一组(至少一个)程序模块8024的程序/实用工具8025,可以存储在例如系统存储器802中,且这样的程序模块8024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块8024通常执行本申请所描述的实施例中的功能和/或方法。
计算设备80也可以与一个或多个外部设备804(如键盘、指向设备、显示器等)通信。这种通信可以通过输入/输出(I/O)接口805进行。并且,计算设备80还可以通过网络适配器806与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图10所示,网络适配器806通过总线803与计算设备80的其它模块(如处理单元801等)通信。应当明白,尽管图8中未示出,可以结合计算设备80使用其它硬件和/或软件模块。
处理单元801通过运行存储在系统存储器802中的程序,从而执行各种功能应用以及数据处理,例如,获取用户关于待部署的应用的需求标识;根据所述需求标识匹配得到目标镜像;构建与所述目标镜像对应的容器;将所述所需的全部环境组件运行在所述容器中,形成所述应用的运行环境。各步骤的具体实现方式在此不再重复说明。
应当注意,尽管在上文详细描述中提及了应用运行环境搭建装置的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本申请的精神和原理,但是应该理解,本申请并不限于所申请的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本申请旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
Claims (10)
1.一种应用运行环境搭建方法,所述方法包括:
获取用户关于待部署的应用的需求标识;
根据所述需求标识匹配得到目标镜像,所述目标镜像包括在满足所述用户需求时运行所述应用所需的全部环境组件;
构建与所述目标镜像对应的容器,所述容器用于运行所述应用;
将所述所需的全部环境组件运行在所述容器中,形成所述应用的运行环境。
2.如权利要求1所述的应用运行环境搭建方法,所述根据所述需求标识匹配得到目标镜像,包括:
根据所述需求标识,在预设的组件库中匹配所需的环境组件,所述组件库包括所述应用的全部业务服务所对应的各个环境组件。
3.如权利要求2所述的应用运行环境搭建方法,所述环境组件包括复用组件单元和专用组件单元,其中,所述复用组件单元和所述专用组件单元系基于所述环境组件在历史不同用户运行时的使用率进行划分。
4.如权利要求3所述的应用运行环境搭建方法,所述方法还包括:
根据所述需求标识,在所述复用组件单元中对需要开启的复用环境组件进行标记,以及从所述专用组件单元中挑选所需要的专用环境组件;
基于标记后的复用组件单元、以及所挑选的专用环境组件,构建所述目标镜像;
为从所述专用组件单元中所挑选的专用环境组件配置专用环境组件接口;
基于所述目标镜像,以及所述专用环境组件接口,构建所述容器。
5.如权利要求4所述的应用运行环境搭建方法,所述复用组件单元包括可视化组件,当标记的复用环境组件包括所述可视化组件时,
在预设时段内获取所述应用的运行数据,以及其他同类应用的运行数据;
基于所述应用的运行数据,以及所述其他同类应用的运行数据,生成可视化对比报告。
6.一种在如权利要求1-5任一项所述的运行环境中启动任务的方法,包括:
基于接收到启动所述应用的任一业务服务的启动指令,获取用户端设备的硬件参数;
基于所述用户端设备的硬件参数,判断所述用户端设备是否满足启动所述业务服务的需求;
在所述用户端设备满足启动所述业务服务的需求的情况下启动所述业务服务,否则向所述用户端反馈包含启动所述业务服务所需的设备参数的第一消息。
7.如权利要求6所述的启动任务的方法,所述启动所述业务服务包括:
根据复用组件单元中的标记,开启相应的复用环境组件;
基于所述启动指令确定对应的专用环境组件;
基于专用环境组件接口,调用对应的专用环境组件。
8.一种应用运行环境搭建装置,其特征在于,包括:
获取模块,用于供用户输入对于待部署应用的需求标识;
匹配模块,根据所述获取模块获取的所述需求标识,匹配目标镜像,所述目标镜像包括在满足所述用户需求时运行所述应用所需的全部环境组件;
构建模块,用于构建与所述匹配模块所匹配的目标镜像所对应的容器;
配置模块,用于将匹配模块匹配的全部环境组件配置在所述构建模块构建的容器中。
9.一种计算机可读存储介质,其特征在于,其包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-7中任一项所述的方法。
10.一种处理设备,其特征在于,所述处理设备包括:
至少一个处理器、存储器和输入输出单元;
其中,所述存储器用于存储计算机程序,所述处理器用于调用所述存储器中存储的计算机程序来执行如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111659693.1A CN114327779B (zh) | 2021-12-30 | 2021-12-30 | 一种应用运行环境搭建方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111659693.1A CN114327779B (zh) | 2021-12-30 | 2021-12-30 | 一种应用运行环境搭建方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114327779A true CN114327779A (zh) | 2022-04-12 |
CN114327779B CN114327779B (zh) | 2023-09-01 |
Family
ID=81018390
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111659693.1A Active CN114327779B (zh) | 2021-12-30 | 2021-12-30 | 一种应用运行环境搭建方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114327779B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115203709A (zh) * | 2022-09-16 | 2022-10-18 | 北京源堡科技有限公司 | 安全指标验证系统的构建方法、装置、计算机设备及介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130227710A1 (en) * | 2012-02-27 | 2013-08-29 | Computer Associates Think, Inc. | System and method for securing leased images in a cloud environment |
CN107463432A (zh) * | 2017-08-17 | 2017-12-12 | 福建中金在线信息科技有限公司 | 服务器生产环境部署方法、装置、电子设备及存储介质 |
US20180357447A1 (en) * | 2017-06-09 | 2018-12-13 | Red Hat, Inc. | Secure containerized user specific isolated data storage |
CN110083366A (zh) * | 2018-01-24 | 2019-08-02 | 腾讯科技(深圳)有限公司 | 应用运行环境的生成方法、装置、计算设备及存储介质 |
CN111782232A (zh) * | 2020-07-31 | 2020-10-16 | 平安银行股份有限公司 | 集群的部署方法、装置、终端设备及存储介质 |
CN111857942A (zh) * | 2019-04-30 | 2020-10-30 | 北京金山云网络技术有限公司 | 一种深度学习环境搭建方法、装置及服务器 |
US20210021643A1 (en) * | 2019-07-18 | 2021-01-21 | Hitachi, Ltd. | System and method of microservice-based application deployment with automating authorization configuration |
CN112418447A (zh) * | 2021-01-22 | 2021-02-26 | 北京瑞莱智慧科技有限公司 | 提供机器学习服务的系统、方法、介质和设备 |
CN112650555A (zh) * | 2020-12-25 | 2021-04-13 | 苏州浪潮智能科技有限公司 | 一种管理平台的开发及测试方法、系统及介质 |
CN113535188A (zh) * | 2020-04-15 | 2021-10-22 | 北京沃东天骏信息技术有限公司 | 私有化部署的方法和装置 |
CN113821219A (zh) * | 2020-11-16 | 2021-12-21 | 北京沃东天骏信息技术有限公司 | 一种实现应用程序容器化的方法及系统 |
-
2021
- 2021-12-30 CN CN202111659693.1A patent/CN114327779B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130227710A1 (en) * | 2012-02-27 | 2013-08-29 | Computer Associates Think, Inc. | System and method for securing leased images in a cloud environment |
US20180357447A1 (en) * | 2017-06-09 | 2018-12-13 | Red Hat, Inc. | Secure containerized user specific isolated data storage |
CN107463432A (zh) * | 2017-08-17 | 2017-12-12 | 福建中金在线信息科技有限公司 | 服务器生产环境部署方法、装置、电子设备及存储介质 |
CN110083366A (zh) * | 2018-01-24 | 2019-08-02 | 腾讯科技(深圳)有限公司 | 应用运行环境的生成方法、装置、计算设备及存储介质 |
CN111857942A (zh) * | 2019-04-30 | 2020-10-30 | 北京金山云网络技术有限公司 | 一种深度学习环境搭建方法、装置及服务器 |
US20210021643A1 (en) * | 2019-07-18 | 2021-01-21 | Hitachi, Ltd. | System and method of microservice-based application deployment with automating authorization configuration |
CN113535188A (zh) * | 2020-04-15 | 2021-10-22 | 北京沃东天骏信息技术有限公司 | 私有化部署的方法和装置 |
CN111782232A (zh) * | 2020-07-31 | 2020-10-16 | 平安银行股份有限公司 | 集群的部署方法、装置、终端设备及存储介质 |
CN113821219A (zh) * | 2020-11-16 | 2021-12-21 | 北京沃东天骏信息技术有限公司 | 一种实现应用程序容器化的方法及系统 |
CN112650555A (zh) * | 2020-12-25 | 2021-04-13 | 苏州浪潮智能科技有限公司 | 一种管理平台的开发及测试方法、系统及介质 |
CN112418447A (zh) * | 2021-01-22 | 2021-02-26 | 北京瑞莱智慧科技有限公司 | 提供机器学习服务的系统、方法、介质和设备 |
Non-Patent Citations (3)
Title |
---|
MICHAEL SOLLFRANK 等: "Evaluating Docker for Lightweight Virtualization of Distributed and Time-Sensitive Applications in Industrial Automation", 《IEEE TRANSACTIONS ON INDUSTRIAL INFORMATICS》, vol. 17, no. 5, pages 3566 - 3576, XP011840128, DOI: 10.1109/TII.2020.3022843 * |
刘炜 等: "基于边缘智能2.0的工业互联网平台架构及应用", 《光通信研究》, no. 2, pages 7 - 13 * |
秦菁: "基于Docker的OpenStack云平台自动化部署方案的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 1, pages 138 - 375 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115203709A (zh) * | 2022-09-16 | 2022-10-18 | 北京源堡科技有限公司 | 安全指标验证系统的构建方法、装置、计算机设备及介质 |
CN115203709B (zh) * | 2022-09-16 | 2023-01-10 | 北京源堡科技有限公司 | 安全指标验证系统的构建方法、装置、计算机设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114327779B (zh) | 2023-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100498704C (zh) | 使用可扩展固件接口的持久性存储器操作 | |
US20200341754A1 (en) | Techniques to deploy an application as a cloud computing service | |
CN108304201B (zh) | 对象更新方法、装置及设备 | |
De Farias et al. | COMFIT: A development environment for the Internet of Things | |
CN113687912A (zh) | 容器集群管理方法、装置、系统、电子设备及存储介质 | |
CN105144118A (zh) | 应用测试和分析 | |
CN104520815A (zh) | 一种任务调度的方法、装置及设备 | |
CN108984179B (zh) | 一种Linux下编译处理方法及装置 | |
CN111143039B (zh) | 一种虚拟机的调度方法、装置及计算机存储介质 | |
CN112486491A (zh) | 页面生成方法、装置、计算机设备及存储介质 | |
CN111369011A (zh) | 机器学习模型应用的方法、装置、计算机设备和存储介质 | |
CN113706022A (zh) | 业务流程的执行方法及装置、存储介质及电子设备 | |
CN112965794A (zh) | 算法调用方法、电子设备及存储介质 | |
CN112788112A (zh) | 设备健康管理微服务自动发布方法、装置和平台 | |
CN111008106B (zh) | 一种服务器监控管理方法、装置及电子设备和存储介质 | |
CN114327779A (zh) | 一种应用运行环境搭建方法、装置及存储介质 | |
CN114625448A (zh) | 结合rpa和ai的流程生成方法、装置、电子设备及存储介质 | |
CN114741071A (zh) | 一种应用构建方法及装置 | |
CN114064079A (zh) | 算法应用元的打包方法及装置、设备、存储介质 | |
CN113220403A (zh) | h5拦截Android返回事件的方法、装置及电子设备 | |
CN106302011A (zh) | 基于多端的测试方法及终端 | |
CN110908644A (zh) | 状态节点的配置方法、装置、计算机设备和存储介质 | |
Kalmanek | The essential elements of successful innovation | |
CN112181403B (zh) | 开发运维一体化实现方法、装置、设备及可读存储介质 | |
CN115543534A (zh) | 训练任务的管理方法、装置、电子设备及存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |