CN108874398A - 服务产品的部署方法、装置、系统和存储介质 - Google Patents

服务产品的部署方法、装置、系统和存储介质 Download PDF

Info

Publication number
CN108874398A
CN108874398A CN201711035677.9A CN201711035677A CN108874398A CN 108874398 A CN108874398 A CN 108874398A CN 201711035677 A CN201711035677 A CN 201711035677A CN 108874398 A CN108874398 A CN 108874398A
Authority
CN
China
Prior art keywords
product
service
deployment
service product
software
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.)
Pending
Application number
CN201711035677.9A
Other languages
English (en)
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.)
Beijing Megvii Technology Co Ltd
Beijing Maigewei Technology Co Ltd
Original Assignee
Beijing Megvii Technology Co Ltd
Beijing Maigewei Technology 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 Beijing Megvii Technology Co Ltd, Beijing Maigewei Technology Co Ltd filed Critical Beijing Megvii Technology Co Ltd
Priority to CN201711035677.9A priority Critical patent/CN108874398A/zh
Publication of CN108874398A publication Critical patent/CN108874398A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Abstract

本发明提供了一种服务产品的部署方法、装置、系统和存储介质,所述服务产品的部署方法包括:确定待部署的服务产品的部署模式;基于所述待部署的服务产品确定并准备部署所述服务产品所需要的硬件设施和软件设施;以及基于所述准备的硬件设施和软件设施以及所述确定的部署模式部署所述服务产品。根据本发明实施例的服务产品的部署方法、装置、系统和存储介质提供了部署服务产品的通用模式,对于任何安装环境下任何服务产品的部署均可适用,使得能将多产品的部署整合到一张安装盘上,解决了多种安装环境下多种产品的安装带来的耗时、费力、易出错等问题,实现简便快捷、不易出错、省时省力的部署安装。

Description

服务产品的部署方法、装置、系统和存储介质
技术领域
本发明涉及服务产品的安装部署技术领域,更具体地涉及一种服务产品的部署方法、装置、系统和存储介质。
背景技术
当前,常常需要在不同的安装环境下安装多种产品,不同的安装环境不同的产品需要不同的安装盘(安装盘是指母盘,通过拷贝此盘内容为用户部署服务器的软件)。例如,可能需要在不同安装环境下部署服务器(诸如人脸识别服务器等),包括在线版盒子、在线版服务器、离线版服务器等等,每次单独对于不同安装环境制作不同产品的安装盘,不仅耗时巨大,耗费人力巨大,使得安装效率低下,而且多种安装盘也是资源的浪费。此外,复杂繁琐的步骤极易导致出错。
发明内容
为了解决上述问题,本发明提出了一种关于服务产品的部署的方案,其整合多产品的部署到一张安装盘上,使得安装简便快捷,不易出错,省时省力。下面简要描述本发明提出的关于服务产品的部署的方案,更多细节将在后续结合附图在具体实施方式中加以描述。
根据本发明一方面,提供了一种服务产品的部署方法,所述方法包括:确定待部署的服务产品的部署模式;基于所述待部署的服务产品确定并准备部署所述服务产品所需要的硬件设施和软件设施;以及基于所述准备的硬件设施和软件设施以及所述确定的部署模式部署所述服务产品。
在本发明的一个实施例中,所述部署所述服务产品所需要的硬件设施至少包括所述服务产品需要兼容的硬件和所述硬件的驱动。
在本发明的一个实施例中,所述基于所述准备的硬件设施和软件设施以及所述确定的部署模式部署所述服务产品包括:修改配置和安装所述硬件的驱动。
在本发明的一个实施例中,所述部署所述服务产品所需要的软件设施包括所述服务产品的软件本身、所述服务产品的支持链接相关软件以及所述服务产品的运行环境相关软件。
在本发明的一个实施例中,所述准备部署所述服务产品所需要的软件设施包括:将所述服务产品的软件本身和所述服务产品的支持链接相关软件制作成离线安装包。
在本发明的一个实施例中,所述基于所述准备的硬件设施和软件设施以及所述确定的部署模式部署所述服务产品包括:安装所述服务产品的支持链接相关软件、所述服务产品的运行环境相关软件以及所述服务产品的软件本身。
在本发明的一个实施例中,所述部署模式包括单机模式和网络模式。
在本发明的一个实施例中,基于所述单机模式部署所述服务产品包括:确定需要部署的产品形态,所述产品形态包括在线服务形态和离线服务形态;基于所述确定的产品形态部署所述服务产品。
在本发明的一个实施例中,所述基于所述单机模式部署所述服务产品还包括:确定是否需要切换产品形态;以及如果需要切换产品形态,则采用新产品形态下的服务产品替换原产品形态下的服务产品。
在本发明的一个实施例中,基于所述网络模式部署所述服务产品包括:获取网络内需要部署服务的机器列表,并对所述机器列表中的各台机器进行性能检测;至少基于所述性能检测的结果确定所述各台机器适合的服务类型;以及基于所述确定的所述各台机器适合的服务类型为所述各台机器分发提供相应服务类型的软件包。
在本发明的一个实施例中,所述基于所述网络模式部署所述服务产品还包括:在确定所述各台机器适合的服务类型后计算获得网络拓扑图,所述网络拓扑图标识所述各台机器的服务类型及其交互关系。
在本发明的一个实施例中,所述确定所述各台机器适合的服务类型还基于所述网络内所包括的所述机器的数量。
在本发明的一个实施例中,所述性能检测所检测的性能包括:计算性能、网络性能和输入输出性能。
在本发明的一个实施例中,所述待部署的服务产品为人脸识别服务产品。
根据本发明另一方面,提供了一种服务产品的部署装置,所述装置包括:模式确定模块,用于确定待部署的服务产品的部署模式;准备模块,用于基于所述待部署的服务产品确定并准备部署所述服务产品所需要的硬件设施和软件设施;以及部署模块,用于基于所述准备模块准备的硬件设施和软件设施以及所述模式确定模块确定的部署模式部署所述服务产品。
在本发明的一个实施例中,所述部署所述服务产品所需要的硬件设施至少包括所述服务产品需要兼容的硬件和所述硬件的驱动。
在本发明的一个实施例中,所述部署模块基于所述准备模块准备的硬件设施和软件设施以及所述模式确定模块确定的部署模式部署所述服务产品包括:修改配置和安装所述硬件的驱动。
在本发明的一个实施例中,所述部署所述服务产品所需要的软件设施包括所述服务产品的软件本身、所述服务产品的支持链接相关软件以及所述服务产品的运行环境相关软件。
在本发明的一个实施例中,所述准备模块准备部署所述服务产品所需要的软件设施包括:将所述服务产品的软件本身和所述服务产品的支持链接相关软件制作成离线安装包。
在本发明的一个实施例中,所述部署模块基于所述准备的硬件设施和软件设施以及所述确定的部署模式部署所述服务产品包括:安装所述服务产品的支持链接相关软件、所述服务产品的运行环境相关软件以及所述服务产品的软件本身。
在本发明的一个实施例中,所述部署模式包括单机模式和网络模式。
在本发明的一个实施例中,所述部署模块基于所述单机模式部署所述服务产品包括:确定需要部署的产品形态,所述产品形态包括在线服务形态和离线服务形态;基于所述确定的产品形态部署所述服务产品。
在本发明的一个实施例中,所述部署模块基于所述单机模式部署所述服务产品还包括:确定是否需要切换产品形态;以及如果需要切换产品形态,则采用新产品形态下的服务产品替换原产品形态下的服务产品。
在本发明的一个实施例中,所述部署模块基于所述网络模式部署所述服务产品包括:获取网络内需要部署服务的机器列表,并对所述机器列表中的各台机器进行性能检测;至少基于所述性能检测的结果确定所述各台机器适合的服务类型;以及基于所述确定的所述各台机器适合的服务类型为所述各台机器分发提供相应服务类型的软件包。
在本发明的一个实施例中,所述部署模块基于所述网络模式部署所述服务产品还包括:在确定所述各台机器适合的服务类型后计算获得网络拓扑图,所述网络拓扑图标识所述各台机器的服务类型及其交互关系。
在本发明的一个实施例中,所述部署模块确定所述各台机器适合的服务类型还基于所述网络内所包括的所述机器的数量。
在本发明的一个实施例中,所述性能检测所检测的性能包括:计算性能、网络性能和输入输出性能。
在本发明的一个实施例中,所述待部署的服务产品为人脸识别服务产品。
根据本发明又一方面,提供了一种服务产品的部署系统,所述系统包括存储装置和处理器,所述存储装置上存储有由所述处理器运行的计算机程序,所述计算机程序在被所述处理器运行时执行上述任一项所述的服务产品的部署方法。
根据本发明再一方面,提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序在运行时执行上述任一项所述的服务产品的部署方法。
根据本发明实施例的服务产品的部署方法、装置、系统和存储介质提供了部署服务产品的通用模式,对于任何安装环境下任何服务产品的部署均可适用,使得能将多产品的部署整合到一张安装盘上,解决了多种安装环境下多种产品的安装带来的耗时、费力、易出错等问题,实现简便快捷、不易出错、省时省力的部署安装。
附图说明
通过结合附图对本发明实施例进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1示出用于实现根据本发明实施例的服务产品的部署方法、装置、系统和存储介质的示例电子设备的示意性框图;
图2示出根据本发明实施例的服务产品的部署方法的示意性流程图;
图3示出根据本发明实施例的基于单机模式部署服务产品的示意性流程图;
图4示出根据本发明实施例的基于网络模式部署服务产品的示意性流程图;
图5示出根据本发明实施例的服务产品的部署装置的示意性框图;以及
图6示出根据本发明实施例的服务产品的部署系统的示意性框图。
具体实施方式
为了使得本发明的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本发明的示例实施例。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是本发明的全部实施例,应理解,本发明不受这里描述的示例实施例的限制。基于本发明中描述的本发明实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本发明的保护范围之内。
首先,参照图1来描述用于实现本发明实施例的服务产品的部署方法、装置、系统和存储介质的示例电子设备100。
如图1所示,电子设备100包括一个或多个处理器102、一个或多个存储装置104、输入装置106以及输出装置108,这些组件通过总线系统110和/或其它形式的连接机构(未示出)互连。应当注意,图1所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,所述电子设备也可以具有其他组件和结构。
所述处理器102可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制所述电子设备100中的其它组件以执行期望的功能。
所述存储装置104可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器102可以运行所述程序指令,以实现下文所述的本发明实施例中(由处理器实现)的客户端功能以及/或者其它期望的功能。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。
所述输入装置106可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。
所述输出装置108可以向外部(例如用户)输出各种信息(例如图像或声音),并且可以包括显示器、扬声器等中的一个或多个。
示例性地,用于实现根据本发明实施例的服务产品的部署方法、装置、系统和存储介质的示例电子设备可以被实现为诸如智能手机、平板电脑等移动终端。
示例性地,可以采用安装盘来实现根据本发明实施例的服务产品的部署方法、装置、系统和存储介质。
下面,将参考图2描述根据本发明实施例的服务产品的部署方法200。如图2所示,服务产品的部署方法200可以包括如下步骤:
在步骤S210,确定待部署的服务产品的部署模式。
在一个示例中,待部署的服务产品可以为提供一定服务功能的产品(例如提供人脸识别服务功能的产品等)。在一个示例中,服务产品的部署模式可以为用户定制化的部署模式。示例性地,服务产品的部署模式可以包括单机模式和网络模式。其中,单机模式可以理解为仅在一台机器上部署服务产品,例如仅需部署一台服务器。网络模式也可以称为云模式(例如私有云模式),在该模式下,需要网络内的多台机器进行部署(例如在私有云下部署多台服务器,多台服务器分别用于不同的计算服务)。
在步骤S220,基于待部署的服务产品确定并准备部署所述服务产品所需要的硬件设施和软件设施。
不同的服务产品需要不同的硬件设施和软件设施。在一个示例中,部署服务产品所需要的硬件设施可以至少包括所述服务产品需要兼容的硬件和所述硬件需要的驱动(例如网卡驱动等)。相应地,确定了部署服务产品需要兼容的硬件和硬件需要的驱动后,可以提供部署服务产品需要兼容的硬件和硬件需要的驱动来为服务产品的部署做好准备。
在一个示例中,部署服务产品所需要的软件设施可以包括所述服务产品的软件本身、所述服务产品的支持链接相关软件以及所述服务产品的运行环境相关软件。其中,服务产品的支持链接相关软件可以理解为运行该服务产品的代码时可能需要用到的通过外部链接形式提供的其他软件产品。例如,当待部署的服务产品为人脸识别服务产品时,其支持链接相关软件可以为人脸识别程序运行需要的lib支持,诸如libssl、libopencv、libice、libsm6、libpq、libffi等。服务产品的运行环境相关软件可以理解为支持服务产品的运行的环境的软件支持。例如,当待部署的服务产品为人脸识别服务产品时,其运行环境相关软件可以为人脸识别程序运行需要的软件支持,诸如mysql、redis、es、java、python等。当然,当待部署的服务产品为其他任何服务产品时,其支持链接相关软件和运行环境相关软件也与其相对应。
在一个示例中,在确定部署服务产品所需要的软件设施之后,可以将相关的软件包制作成离线安装包,例如将上述的服务产品的软件本身和所述服务产品的支持链接相关软件制作成离线安装包,以便于后续的部署安装。
经过前期的准备工作后,可接着实施部署工作的后续操作。
在步骤S230,基于所述准备的硬件设施和软件设施以及所述确定的部署模式部署所述服务产品。
接着上面的示例,基于上述准备好的硬件设施和软件设施以及所确定的部署模式,可以修改配置并安装硬件的驱动,此外,安装所述服务产品的支持链接相关软件、所述服务产品的运行环境相关软件以及所述服务产品的软件本身。
具体地,当确定服务产品的部署模式为单机模式时,可以基于单机模式部署该服务产品。现在结合图3描述根据本发明实施例的基于单机模式部署服务产品的过程300示意性流程图。如图3所示,基于单机模式部署服务产品的过程300可以包括如下步骤:
在步骤S310,确定需要部署的产品形态,所述产品形态包括在线服务形态和离线服务形态。
在步骤S320,基于所述确定的产品形态部署所述服务产品。
在一个示例中,需要部署的产品形态可以包括在线服务形态和离线服务形态。在线服务形态(例如在线公有云服务形态)指服务产品(例如人脸识别服务产品)是公有云提供的,例如通过web API的接入方式。离线服务形态指在本地提供服务产品的服务(例如人脸识别的计算服务),例如提供本地运行的SDK下需要的硬件、配置等,并修改配置,安装需要的驱动。
在一个示例中,过程300还可以包括如下步骤(未在图3中示出):确定是否需要切换产品形态;以及如果需要切换产品形态,则采用新产品形态下的服务产品替换原产品形态下的服务产品。例如,可以确定是否需要从一种产品形态切换到另一种产品形态(例如从在线服务形态切换到离线服务形态,或者从离线服务形态切换到在线服务形态),如果需要,则停下当前所有服务,采用新产品形态(即切换后的产品形态)下的服务产品替换原产品形态(即切换前的产品形态)下的服务产品。
接着上面的示例,当确定服务产品的部署模式为网络模式时,可以基于网络模式部署该服务产品。现在结合图4描述根据本发明实施例的基于网络模式部署服务产品的过程400示意性流程图。如图4所示,基于网络模式部署服务产品的过程400可以包括如下步骤:
在步骤S410,获取网络内需要部署服务的机器列表,并对所述机器列表中的各台机器进行性能检测。
在步骤S420,至少基于所述性能检测的结果确定所述各台机器适合的服务类型。
在步骤S430,基于所述确定的所述各台机器适合的服务类型为所述各台机器分发提供相应服务类型的软件包。
在一个示例中,可以依次对需要部署服务的各台机器进行性能检测。示例性地,要检测的性能可以取决于要部署的服务产品。在一个示例中,对所述各台机器的性能检测可以包括对它们的计算性能(或者称为中央处理器(CPU)性能)的检测、网络性能的检测以及输入输出(IO)性能的检测。示例性地,可以使用脚本实现对各台机器的性能检测。例如,可以通过复杂的矩阵运行测算机器的CPU性能;通过压力测试检测机器的网络性能;通过大文件的读写以及大量小文件的读写测试机器的IO性能。
在一个示例中,可以基于上述性能检测的结果确定各台机器适合的服务类型。例如,CPU性能较好的机器可以用于实施计算服务(例如人脸识别、图像识别的计算等),网络性能好的机器可以用于实施云端服务,IO性能好的机器可以用于实施存储服务。此外,也可以将机器的总数量等其他因素考虑进去来综合确定各台机器适合的服务类型。基于所确定的各台机器的适合的服务类型,可以对其分发提供相应服务的软件包以用于安装部署。
在一个示例中,过程400还可以包括如下步骤(未在图4中示出):在确定所述各台机器适合的服务类型后计算获得网络拓扑图,所述网络拓扑图标识所述各台机器的服务类型及其交互关系。网络拓扑图可以提供可视化服务,使得可以更为清晰地分发软件包,各台机器各自的服务类型及其之间的关联交互也更清晰。
基于上面的描述,根据本发明实施例的服务产品的部署方法提供了部署服务产品的通用模式,对于任何安装环境下任何服务产品的部署均可适用,使得能将多产品的部署整合到一张安装盘上,解决了多种安装环境下多种产品的安装带来的耗时、费力、易出错等问题,实现简便快捷、不易出错、省时省力的部署安装。
以上示例性地描述了根据本发明实施例的服务产品的部署方法。
下面结合图5描述本发明另一方面提供的服务产品的部署装置。图5示出了根据本发明实施例的服务产品的部署装置500的示意性框图。
如图5所示,根据本发明实施例的服务产品的部署装置500包括模式确定模块510、准备模块520以及部署模块530。所述各个模块可分别执行上文中结合图2描述的服务产品的部署方法的各个步骤/功能。以下仅对服务产品的部署装置500的各模块的主要功能进行描述,而省略以上已经描述过的细节内容。
模式确定模块510用于确定待部署的服务产品的部署模式。准备模块520用于基于所述待部署的服务产品确定并准备部署所述服务产品所需要的硬件设施和软件设施。部署模块530用于基于所述准备模块准备的硬件设施和软件设施以及所述模式确定模块确定的部署模式部署所述服务产品。模式确定模块510、准备模块520以及部署模块530均可以由图1所示的电子设备中的处理器102运行存储装置104中存储的程序指令来实现。
在一个示例中,待部署的服务产品可以为提供一定服务功能的产品(例如提供人脸识别服务功能的产品等)。在一个示例中,服务产品的部署模式可以为用户定制化的部署模式。示例性地,服务产品的部署模式可以包括单机模式和网络模式。其中,单机模式可以理解为仅在一台机器上部署服务产品,例如仅需部署一台服务器。网络模式也可以称为云模式(例如私有云模式),在该模式下,需要网络内的多台机器进行部署(例如在私有云下部署多台服务器,多台服务器分别用于不同的计算服务)。
不同的服务产品需要不同的硬件设施和软件设施。在一个示例中,部署服务产品所需要的硬件设施可以至少包括所述服务产品需要兼容的硬件和所述硬件需要的驱动(例如网卡驱动等)。相应地,准备模块520确定了部署服务产品需要兼容的硬件和硬件需要的驱动后,可以提供部署服务产品需要兼容的硬件和硬件需要的驱动来为服务产品的部署做好准备。
在一个示例中,部署服务产品所需要的软件设施可以包括所述服务产品的软件本身、所述服务产品的支持链接相关软件以及所述服务产品的运行环境相关软件。其中,服务产品的支持链接相关软件可以理解为运行该服务产品的代码时可能需要用到的通过外部链接形式提供的其他软件产品。例如,当待部署的服务产品为人脸识别服务产品时,其支持链接相关软件可以为人脸识别程序运行需要的lib支持,诸如libssl、libopencv、libice、libsm6、libpq、libffi等。服务产品的运行环境相关软件可以理解为支持服务产品的运行的环境的软件支持。例如,当待部署的服务产品为人脸识别服务产品时,其运行环境相关软件可以为人脸识别程序运行需要的软件支持,诸如mysql、redis、es、java、python等。当然,当待部署的服务产品为其他任何服务产品时,其支持链接相关软件和运行环境相关软件也与其相对应。
在一个示例中,在确定部署服务产品所需要的软件设施之后,准备模块520可以将相关的软件包制作成离线安装包,例如将上述的服务产品的软件本身和所述服务产品的支持链接相关软件制作成离线安装包,以便于后续的部署安装。
在一个示例中,基于准备模块520准备好的硬件设施和软件设施以及确定模块510所确定的部署模式,部署模块530可以修改配置并安装硬件的驱动,此外,部署模块530可以安装所述服务产品的支持链接相关软件、所述服务产品的运行环境相关软件以及所述服务产品的软件本身。
具体地,当模式确定模块510确定服务产品的部署模式为单机模式时,部署模块530可以基于单机模式部署该服务产品。在一个实施例中,部署模块530可以首先确定需要部署的产品形态,然后基于所述确定的产品形态部署所述服务产品。
在一个示例中,需要部署的产品形态可以包括在线服务形态和离线服务形态。在线服务形态(例如在线公有云服务形态)指服务产品(例如人脸识别服务产品)是公有云提供的,例如通过web API的接入方式。离线服务形态指在本地提供服务产品的服务(例如人脸识别的计算服务),例如提供本地运行的SDK下需要的硬件、配置等,并修改配置,安装需要的驱动。
在一个示例中,部署模块530还可以确定是否需要切换产品形态;如果需要切换产品形态,则采用新产品形态下的服务产品替换原产品形态下的服务产品。例如,部署模块530可以确定是否需要从一种产品形态切换到另一种产品形态(例如从在线服务形态切换到离线服务形态,或者从离线服务形态切换到在线服务形态),如果需要,则停下当前所有服务,采用新产品形态(即切换后的产品形态)下的服务产品替换原产品形态(即切换前的产品形态)下的服务产品。
接着上面的示例,当模式确定模块510确定服务产品的部署模式为网络模式时,部署模块530可以基于网络模式部署该服务产品。在一个实施例中,部署模块530可以首先获取网络内需要部署服务的机器列表,并对所述机器列表中的各台机器进行性能检测,然后至少基于所述性能检测的结果确定所述各台机器适合的服务类型,接着基于所述确定的所述各台机器适合的服务类型为所述各台机器分发提供相应服务类型的软件包。
在一个示例中,部署模块530可以依次对需要部署服务的各台机器进行性能检测。示例性地,要检测的性能可以取决于要部署的服务产品。在一个示例中,对所述各台机器的性能检测可以包括对它们的计算性能(或者称为中央处理器(CPU)性能)的检测、网络性能的检测以及输入输出(IO)性能的检测。示例性地,可以使用脚本实现对各台机器的性能检测。例如,可以通过复杂的矩阵运行测算机器的CPU性能;通过压力测试检测机器的网络性能;通过大文件的读写以及大量小文件的读写测试机器的IO性能。
在一个示例中,部署模块530可以基于上述性能检测的结果确定各台机器适合的服务类型。例如,CPU性能较好的机器可以用于实施计算服务(例如人脸识别、图像识别的计算等),网络性能好的机器可以用于实施云端服务,IO性能好的机器可以用于实施存储服务。此外,部署模块530也可以将机器的总数量等其他因素考虑进去来综合确定各台机器适合的服务类型。基于所确定的各台机器的适合的服务类型,部署模块530可以对其分发提供相应服务的软件包以用于安装部署。
在一个示例中,部署模块530在确定所述各台机器适合的服务类型后可以计算获得网络拓扑图,所述网络拓扑图标识所述各台机器的服务类型及其交互关系。网络拓扑图可以提供可视化服务,使得可以更为清晰地分发软件包,各台机器各自的服务类型及其之间的关联交互也更清晰。
基于上面的描述,根据本发明实施例的服务产品的部署装置提供了部署服务产品的通用模式,对于任何安装环境下任何服务产品的部署均可适用,使得能将多产品的部署整合到一张安装盘上,解决了多种安装环境下多种产品的安装带来的耗时、费力、易出错等问题,实现简便快捷、不易出错、省时省力的部署安装。
图6示出了根据本发明实施例的服务产品的部署系统600的示意性框图。服务产品的部署系统600包括存储装置610以及处理器620。
其中,存储装置610存储用于实现根据本发明实施例的服务产品的部署方法中的相应步骤的程序代码。处理器620用于运行存储装置610中存储的程序代码,以执行根据本发明实施例的服务产品的部署方法的相应步骤,并且用于实现根据本发明实施例的服务产品的部署装置中的相应模块。
在一个实施例中,在所述程序代码被处理器620运行时使得服务产品的部署系统600执行以下步骤:确定待部署的服务产品的部署模式;基于所述待部署的服务产品确定并准备部署所述服务产品所需要的硬件设施和软件设施;以及基于所述准备的硬件设施和软件设施以及所述确定的部署模式部署所述服务产品。
在一个实施例中,所述部署所述服务产品所需要的硬件设施至少包括所述服务产品需要兼容的硬件和所述硬件的驱动。
在一个实施例中,所述基于所述准备的硬件设施和软件设施以及所述确定的部署模式部署所述服务产品包括:修改配置和安装所述硬件的驱动。
在一个实施例中,所述部署所述服务产品所需要的软件设施包括所述服务产品的软件本身、所述服务产品的支持链接相关软件以及所述服务产品的运行环境相关软件。
在一个实施例中,所述准备部署所述服务产品所需要的软件设施包括:将所述服务产品的软件本身和所述服务产品的支持链接相关软件制作成离线安装包。
在一个实施例中,所述基于所述准备的硬件设施和软件设施以及所述确定的部署模式部署所述服务产品包括:安装所述服务产品的支持链接相关软件、所述服务产品的运行环境相关软件以及所述服务产品的软件本身。
在一个实施例中,所述部署模式包括单机模式和网络模式。
在一个实施例中,基于所述单机模式部署所述服务产品包括:确定需要部署的产品形态,所述产品形态包括在线服务形态和离线服务形态;基于所述确定的产品形态部署所述服务产品。
在一个实施例中,所述基于所述单机模式部署所述服务产品还包括:确定是否需要切换产品形态;以及如果需要切换产品形态,则采用新产品形态下的服务产品替换原产品形态下的服务产品。
在一个实施例中,基于所述网络模式部署所述服务产品包括:获取网络内需要部署服务的机器列表,并对所述机器列表中的各台机器进行性能检测;至少基于所述性能检测的结果确定所述各台机器适合的服务类型;以及基于所述确定的所述各台机器适合的服务类型为所述各台机器分发提供相应服务类型的软件包。
在一个实施例中,所述基于所述网络模式部署所述服务产品还包括:在确定所述各台机器适合的服务类型后计算获得网络拓扑图,所述网络拓扑图标识所述各台机器的服务类型及其交互关系。
在一个实施例中,所述确定所述各台机器适合的服务类型还基于所述网络内所包括的所述机器的数量。
在一个实施例中,所述性能检测所检测的性能包括:计算性能、网络性能和输入输出性能。
在一个实施例中,所述待部署的服务产品为人脸识别服务产品。
此外,根据本发明实施例,还提供了一种存储介质,在所述存储介质上存储了程序指令,在所述程序指令被计算机或处理器运行时用于执行本发明实施例的服务产品的部署方法的相应步骤,并且用于实现根据本发明实施例的服务产品的部署装置中的相应模块。所述存储介质例如可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、或者上述存储介质的任意组合。所述计算机可读存储介质可以是一个或多个计算机可读存储介质的任意组合。
在一个实施例中,所述计算机程序指令在被计算机运行时可以实现根据本发明实施例的服务产品的部署装置的各个功能模块,并且/或者可以执行根据本发明实施例的服务产品的部署方法。
在一个实施例中,所述计算机程序指令在被计算机或处理器运行时使计算机或处理器执行以下步骤:确定待部署的服务产品的部署模式;基于所述待部署的服务产品确定并准备部署所述服务产品所需要的硬件设施和软件设施;以及基于所述准备的硬件设施和软件设施以及所述确定的部署模式部署所述服务产品。
在一个实施例中,所述部署所述服务产品所需要的硬件设施至少包括所述服务产品需要兼容的硬件和所述硬件的驱动。
在一个实施例中,所述基于所述准备的硬件设施和软件设施以及所述确定的部署模式部署所述服务产品包括:修改配置和安装所述硬件的驱动。
在一个实施例中,所述部署所述服务产品所需要的软件设施包括所述服务产品的软件本身、所述服务产品的支持链接相关软件以及所述服务产品的运行环境相关软件。
在一个实施例中,所述准备部署所述服务产品所需要的软件设施包括:将所述服务产品的软件本身和所述服务产品的支持链接相关软件制作成离线安装包。
在一个实施例中,所述基于所述准备的硬件设施和软件设施以及所述确定的部署模式部署所述服务产品包括:安装所述服务产品的支持链接相关软件、所述服务产品的运行环境相关软件以及所述服务产品的软件本身。
在一个实施例中,所述部署模式包括单机模式和网络模式。
在一个实施例中,基于所述单机模式部署所述服务产品包括:确定需要部署的产品形态,所述产品形态包括在线服务形态和离线服务形态;基于所述确定的产品形态部署所述服务产品。
在一个实施例中,所述基于所述单机模式部署所述服务产品还包括:确定是否需要切换产品形态;以及如果需要切换产品形态,则采用新产品形态下的服务产品替换原产品形态下的服务产品。
在一个实施例中,基于所述网络模式部署所述服务产品包括:获取网络内需要部署服务的机器列表,并对所述机器列表中的各台机器进行性能检测;至少基于所述性能检测的结果确定所述各台机器适合的服务类型;以及基于所述确定的所述各台机器适合的服务类型为所述各台机器分发提供相应服务类型的软件包。
在一个实施例中,所述基于所述网络模式部署所述服务产品还包括:在确定所述各台机器适合的服务类型后计算获得网络拓扑图,所述网络拓扑图标识所述各台机器的服务类型及其交互关系。
在一个实施例中,所述确定所述各台机器适合的服务类型还基于所述网络内所包括的所述机器的数量。
在一个实施例中,所述性能检测所检测的性能包括:计算性能、网络性能和输入输出性能。
在一个实施例中,所述待部署的服务产品为人脸识别服务产品。
根据本发明实施例的服务产品的部署装置中的各模块可以通过根据本发明实施例的服务产品的部署的电子设备的处理器运行在存储器中存储的计算机程序指令来实现,或者可以在根据本发明实施例的计算机程序产品的计算机可读存储介质中存储的计算机指令被计算机运行时实现。
根据本发明实施例的服务产品的部署方法、装置、系统和存储介质提供了部署服务产品的通用模式,对于任何安装环境下任何服务产品的部署均可适用,使得能将多产品的部署整合到一张安装盘上,解决了多种安装环境下多种产品的安装带来的耗时、费力、易出错等问题,实现简便快捷、不易出错、省时省力的部署安装。
尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本发明的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本发明的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本发明的范围之内。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本发明的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一些模块的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在存储介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上所述,仅为本发明的具体实施方式或对具体实施方式的说明,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以权利要求的保护范围为准。

Claims (17)

1.一种服务产品的部署方法,其特征在于,所述方法包括:
确定待部署的服务产品的部署模式;
基于所述待部署的服务产品确定并准备部署所述服务产品所需要的硬件设施和软件设施;以及
基于所述准备的硬件设施和软件设施以及所述确定的部署模式部署所述服务产品。
2.根据权利要求1所述的方法,其特征在于,所述部署所述服务产品所需要的硬件设施至少包括所述服务产品需要兼容的硬件和所述硬件的驱动。
3.根据权利要求2所述的方法,其特征在于,所述基于所述准备的硬件设施和软件设施以及所述确定的部署模式部署所述服务产品包括:修改配置和安装所述硬件的驱动。
4.根据权利要求1所述的方法,其特征在于,所述部署所述服务产品所需要的软件设施包括所述服务产品的软件本身、所述服务产品的支持链接相关软件以及所述服务产品的运行环境相关软件。
5.根据权利要求4所述的方法,其特征在于,所述准备部署所述服务产品所需要的软件设施包括:将所述服务产品的软件本身和所述服务产品的支持链接相关软件制作成离线安装包。
6.根据权利要求4所述的方法,其特征在于,所述基于所述准备的硬件设施和软件设施以及所述确定的部署模式部署所述服务产品包括:安装所述服务产品的支持链接相关软件、所述服务产品的运行环境相关软件以及所述服务产品的软件本身。
7.根据权利要求1所述方法,其特征在于,所述部署模式包括单机模式和网络模式。
8.根据权利要求7所述的方法,其特征在于,基于所述单机模式部署所述服务产品包括:
确定需要部署的产品形态,所述产品形态包括在线服务形态和离线服务形态;
基于所述确定的产品形态部署所述服务产品。
9.根据权利要求8所述的方法,其特征在于,所述基于所述单机模式部署所述服务产品还包括:
确定是否需要切换产品形态;以及
如果需要切换产品形态,则采用新产品形态下的服务产品替换原产品形态下的服务产品。
10.根据权利要求7所述的方法,其特征在于,基于所述网络模式部署所述服务产品包括:
获取网络内需要部署服务的机器列表,并对所述机器列表中的各台机器进行性能检测;
至少基于所述性能检测的结果确定所述各台机器适合的服务类型;以及
基于所述确定的所述各台机器适合的服务类型为所述各台机器分发提供相应服务类型的软件包。
11.根据权利要求10所述的方法,其特征在于,所述基于所述网络模式部署所述服务产品还包括:
在确定所述各台机器适合的服务类型后计算获得网络拓扑图,所述网络拓扑图标识所述各台机器的服务类型及其交互关系。
12.根据权利要求10所述的方法,其特征在于,所述确定所述各台机器适合的服务类型还基于所述网络内所包括的所述机器的数量。
13.根据权利要求10所述的方法,其特征在于,所述性能检测所检测的性能包括:计算性能、网络性能和输入输出性能。
14.根据权利要求1-13中的任一项所述的方法,其特征在于,所述待部署的服务产品为人脸识别服务产品。
15.一种用于实现权利要求1-14中的任一项所述方法的服务产品的部署装置,所述装置包括:
模式确定模块,用于确定待部署的服务产品的部署模式;
准备模块,用于基于所述待部署的服务产品确定并准备部署所述服务产品所需要的硬件设施和软件设施;以及
部署模块,用于基于所述准备模块准备的硬件设施和软件设施以及所述模式确定模块确定的部署模式部署所述服务产品。
16.一种服务产品的部署系统,其特征在于,所述系统包括存储装置和处理器,所述存储装置上存储有由所述处理器运行的计算机程序,所述计算机程序在被所述处理器运行时执行如权利要求1-14中的任一项所述的服务产品的部署方法。
17.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序在运行时执行如权利要求1-14中的任一项所述的服务产品的部署方法。
CN201711035677.9A 2017-10-30 2017-10-30 服务产品的部署方法、装置、系统和存储介质 Pending CN108874398A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711035677.9A CN108874398A (zh) 2017-10-30 2017-10-30 服务产品的部署方法、装置、系统和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711035677.9A CN108874398A (zh) 2017-10-30 2017-10-30 服务产品的部署方法、装置、系统和存储介质

Publications (1)

Publication Number Publication Date
CN108874398A true CN108874398A (zh) 2018-11-23

Family

ID=64325504

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711035677.9A Pending CN108874398A (zh) 2017-10-30 2017-10-30 服务产品的部署方法、装置、系统和存储介质

Country Status (1)

Country Link
CN (1) CN108874398A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110175033A (zh) * 2019-05-24 2019-08-27 北京百度网讯科技有限公司 服务部署方法和装置以及服务启动方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130097579A1 (en) * 2011-10-12 2013-04-18 International Business Machines Corporation Operational model creation from soa solution architecture
CN103200020A (zh) * 2012-01-04 2013-07-10 中兴通讯股份有限公司 一种资源部署方法和系统
CN104317610A (zh) * 2014-10-11 2015-01-28 福建新大陆软件工程有限公司 一种hadoop平台自动安装部署的方法及装置
CN106126283A (zh) * 2016-06-21 2016-11-16 浪潮电子信息产业股份有限公司 一种产品部署的方法、装置及系统
CN107172208A (zh) * 2017-06-30 2017-09-15 联想(北京)有限公司 服务器的部署方法及其系统
CN107193586A (zh) * 2017-04-20 2017-09-22 广州番禺职业技术学院 Info‑client云终端管理软件安装方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130097579A1 (en) * 2011-10-12 2013-04-18 International Business Machines Corporation Operational model creation from soa solution architecture
CN103200020A (zh) * 2012-01-04 2013-07-10 中兴通讯股份有限公司 一种资源部署方法和系统
CN104317610A (zh) * 2014-10-11 2015-01-28 福建新大陆软件工程有限公司 一种hadoop平台自动安装部署的方法及装置
CN106126283A (zh) * 2016-06-21 2016-11-16 浪潮电子信息产业股份有限公司 一种产品部署的方法、装置及系统
CN107193586A (zh) * 2017-04-20 2017-09-22 广州番禺职业技术学院 Info‑client云终端管理软件安装方法
CN107172208A (zh) * 2017-06-30 2017-09-15 联想(北京)有限公司 服务器的部署方法及其系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110175033A (zh) * 2019-05-24 2019-08-27 北京百度网讯科技有限公司 服务部署方法和装置以及服务启动方法和装置

Similar Documents

Publication Publication Date Title
US20210255847A1 (en) Model-based differencing to selectively generate and deploy images in a target computing environment
US9348734B2 (en) Generation of automated tests for business software solution packages
US20200050540A1 (en) Interactive automation test
US10216617B2 (en) Automatically complete a specific software task using hidden tags
US10078579B1 (en) Metrics-based analysis for testing a service
CN102542367A (zh) 基于领域模型的云计算网络工作流处理方法、装置和系统
EP3158440A1 (en) Tenant provisioning for testing a production multi-tenant service
US20170010774A1 (en) Usability analysis for user interface based systems
US20170344345A1 (en) Versioning of build environment information
Han et al. Refining microservices placement employing workload profiling over multiple kubernetes clusters
CN110297771A (zh) 用于仓单页面的分布式测试方法及装置
KR20200003322A (ko) 클라우드 기반 전력계통 소프트웨어 에코시스템
CN108874398A (zh) 服务产品的部署方法、装置、系统和存储介质
CN111124772A (zh) 一种云平台存储性能测试方法、系统、终端及存储介质
CN111666201A (zh) 回归测试方法、装置、介质及电子设备
CN108885574B (zh) 用于监视和报告设计、编译和运行时的性能和正确性问题的系统
CN109117139A (zh) 一种软件构建方法及装置、服务器和可读存储介质
US9983983B2 (en) Auto-generation of testable units for COBOL code
CN113569256A (zh) 漏洞扫描方法和装置、系统、电子设备、计算机可读介质
US20190243744A1 (en) Debug session analysis for related work item discovery
Kesavulu et al. A usage-based data extraction framework for cloud-based application-an human-computer interaction approach
US20230073623A1 (en) Dependency-based software upgrading
CN110704291B (zh) 基于图标属性识别的用户流向获取方法、装置和电子设备
CN112702421B (zh) 文件同步方法、装置、电子设备及存储介质
CN111291644B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20181123

RJ01 Rejection of invention patent application after publication