CN111930392B - 一种应用服务部署方法、计算设备及可读存储介质 - Google Patents

一种应用服务部署方法、计算设备及可读存储介质 Download PDF

Info

Publication number
CN111930392B
CN111930392B CN202010658731.0A CN202010658731A CN111930392B CN 111930392 B CN111930392 B CN 111930392B CN 202010658731 A CN202010658731 A CN 202010658731A CN 111930392 B CN111930392 B CN 111930392B
Authority
CN
China
Prior art keywords
application
port
service
instance
serial number
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.)
Active
Application number
CN202010658731.0A
Other languages
English (en)
Other versions
CN111930392A (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.)
Beijing Pierbulaini Software Co ltd
Original Assignee
Beijing Pierbulaini Software 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 Pierbulaini Software Co ltd filed Critical Beijing Pierbulaini Software Co ltd
Priority to CN202010658731.0A priority Critical patent/CN111930392B/zh
Publication of CN111930392A publication Critical patent/CN111930392A/zh
Application granted granted Critical
Publication of CN111930392B publication Critical patent/CN111930392B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Abstract

本发明公开了一种应用服务部署方法,适于在计算设备中执行,计算设备上适于部署多个应用服务,每个应用服务对应一个应用服务序号,每个应用服务适于部署多个应用实例,计算设备与管理终端通信连接,该应用服务部署方法包括:接收管理终端发送的应用服务部署命令和待部署应用服务的应用服务序号;计算预部署的应用实例的端口号;根据端口号部署该应用实例目录,并复制预先设置的应用实例配置模板到应用实例目录;根据端口号修改应用实例配置模板,完成应用服务的部署。本发明一并公开了相应的计算设备和可读存储介质。

Description

一种应用服务部署方法、计算设备及可读存储介质
技术领域
本发明涉及应用服务自动化部署领域,尤其涉及一种应用服务部署方法、计算设备及可读存储介质。
背景技术
为了提高系统利用率,我们经常在一台服务器中部署多套提供相同或者不同服务的应用实例,每个应用实例都包含部署目录、端口、JAVA_OPTS等可配置信息,不同应用实例部署目录不能相同,单个应用实例内部或多个应用实例之间占用的端口不能重复,否则启动应用实例时,将引发端口冲突异常。刚引入多实例应用时,配置人员都是根据自己的喜好或思维惯例随意配置应用实例的部署信息,在单台服务器单实例时,通过手工配置还可以实现部署目录和端口不冲突,但是当这台服务器配置多套同服务多实例后,则无法通过部署目录识别哪些应用实例提供相同的服务,同时,因为涉及大量的端口配置,仅仅通过人工随机配置,所配置的端口值之间毫无规律,不利于开发人员记忆和外部调用人员配置,由于配置人员无法确定哪些端口空闲,给配置人员带来了很大麻烦,配置的端口也容易冲突。
后来,配置人员根据一些常用配置习惯,提前规划好部署目录、配置端口信息,并维护到wiki上,等到在服务器上部署实例时,按照wiki说明,进行手工配置部署信息,这种配置方式解决了最初的一些问题,但是仍然会在应用实例过多时出现端口冲突,同时,如果多个配置人员无法达成共识,多台服务器之间配置也可能会不一样。
发明内容
为此,本发明提供了一种应用服务部署方法、计算设备及可读存储介质,以力图解决或者至少缓解上面存在的问题。
根据本发明的一个方面,提供一种应用服务部署方法,适于在计算设备中执行,计算设备上适于部署多个应用服务,每个应用服务对应一个应用服务序号,每个应用服务适于部署多个应用实例,计算设备与管理终端通信连接,方法包括:接收管理终端发送的应用服务部署命令和待部署应用服务的应用服务序号;计算预部署的应用实例的端口号;根据端口号部署该应用实例目录,并复制预先设置的应用实例配置模板到应用实例目录;根据端口号修改应用实例配置模板,完成应用服务的部署。
可选的,在根据本发明的应用服务部署方法中,每个应用实例对应一个服务实例序号,每个应用实例适于配置多个服务端口,每个服务端口对应一个服务端口序号,计算预部署的应用实例的端口号包括:获取待部署应用服务的应用实例序号;根据应用服务序号、应用实例序号和服务端口序号,利用服务端口计算公式计算服务端口的端口号。
可选的,在根据本发明的应用服务部署方法中,获取待部署应用服务的应用实例序号包括:从实例序号文件中获取应用实例序号;根据获取到的应用实例序号更新实例序号文件中的应用实例序号,并作为待部署应用服务的应用实例序号。
可选的,在根据本发明的应用服务部署方法中,服务端口计算公式为:Pknm=1024+(n-1)×1000+(m-1)×100+(k-1),其中,Pknm为服务端口号,k为应用服务序号,n为服务实例序号,m为服务端口序号,1<=k<=100,1<=m<=10,1<=n<=48。
可选的,在根据本发明的应用服务部署方法中,利用服务端口计算公式计算服务端口的端口号包括:计算超文本传输协议端口、定向包协议端口、关闭端口、RMI注册端口、RMI服务端口的端口号。
可选的,在根据本发明的应用服务部署方法中,根据端口号部署该应用实例的目录包括:将超文本传输协议端口号作为该应用实例的部署目录名称的后缀。
可选的,在根据本发明的应用服务部署方法中,根据端口号修改应用实例配置模板包括:根据计算所得的超文本传输协议端口、定向包协议端口、关闭端口、RMI注册端口、RMI服务端口的端口号修改应用实例配置模板中的相应的端口号。
可选的,在根据本发明的应用服务部署方法中,方法还包括:将当前的应用实例序号返回管理终端。
可选的,在根据本发明的应用服务部署方法中,管理终端连接多台服务器,管理终端根据所输入的应用服务序号和服务器标识查询与服务器标识相对应的服务器上对应于应用服务序号的应用服务的部署信息。
可选的,在根据本发明的应用服务部署方法中,根据所输入的待部署应用服务的应用服务序号和服务器标识向与服务器标识相对应的服务器发送服务部署命令和待部署应用服务的应用服务序号。
可选的,在根据本发明的应用服务部署方法中,所述应用实例为tomcat实例。
根据本发明的又一个方面,提供一种计算设备,包括:至少一个处理器;以及存储器,存储有程序指令,其中,程序指令被配置为适于由至少一个处理器执行,程序指令包括用于执行如上所述的任一项应用服务部署方法的指令。
根据本发明的又一个方面,提供一种可读存储介质,当程序指令被计算设备读取并执行时,使得计算设备执行如上所述的任一项应用服务部署方法。
根据本发明的应用服务自动化部署方法,通过管理终端发送服务部署命令和应用服务序号,在服务器端能够自动计算出统一、规范、不冲突、有规律的应用实例的端口号,同时,因为应用实例的目录也是根据端口号部署的,使得应用实例的部署目录也不会冲突,且有规律可循,极大的降低了配置人员的部署成本,也能最大程度的利用可用端口,另一方面,开发或配置人员很容易能够知道每个应用实例的部署目录和分配的端口号等信息,一定程度上也减少了开发、测试、配置人员需要记忆的配置信息。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的应用服务部署系统100的示意图;
图2示出了根据本发明一个实施例的计算设备200的框图;
图3示出了根据本发明一个实施例的应用服务部署方法300的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的应用服务部署系统的示意图,包括管理终端110和服务器120,管理终端可以连接多个服务器,管理终端和服务器之间通信连接,管理终端110实现为一个人机交互的终端,通过管理终端实现对服务器的管理,管理终端接收指令,通过与服务器进行交互,完成相应的操作,管理终端可以实现部署查询服务,查询任意一个服务器上的服务部署状态,还可以通过接收应用服务部署命令和部署服务序号指示特定服务器完成应用服务部署,根据本发明的一个实施例,管理终端可以是一个web网页。
服务器120是可以部署多个应用服务的台服务器,每个应用服务可以部署多个应用实例,而每个应用实例占用多个端口,不同的服务、不同实例的多个端口均不能重复,否则会出现端口冲突,使得服务由于端口冲突而无法正常运行。根据本发明的应用服务部署方法,实现端口有规律的自动配置,避免了端口冲突,并且最大化利用了尽可能多的可用端口。
应用服务部署系统100中的服务器120可以由计算设备实现,管理终端也可以在计算设备上运行。
图2示出了根据本发明一个实施例的计算设备200的示意图。需要说明的是,图2所示的计算设备200仅为一个示例,在实践中,用于实施本发明的应用服务部署方法的计算设备可以是任意型号的设备,其硬件配置情况可以与图2所示的计算设备200相同,也可以与图2所示的计算设备200不同。实践中用于实施本发明的应用服务部署方法的计算设备可以对图2所示的计算设备200的硬件组件进行增加或删减,本发明对计算设备的具体硬件配置情况不做限制。
如图2所示,在基本的配置202中,计算设备200典型地包括系统存储器206和一个或者多个处理器204。存储器总线208可以用于在处理器204和系统存储器206之间的通信。
取决于期望的配置,处理器204可以是任何类型的处理,包括但不限于:微处理器(μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器204可以包括诸如一级高速缓存210和二级高速缓存212之类的一个或者多个级别的高速缓存、处理器核心214和寄存器216。示例的处理器核心214可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器218可以与处理器204一起使用,或者在一些实现中,存储器控制器218可以是处理器204的一个内部部分。
取决于期望的配置,系统存储器206可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。计算设备中的物理内存通常指的是易失性存储器RAM,磁盘中的数据需要加载至物理内存中才能够被处理器204读取。系统存储器206可以包括操作系统220、一个或者多个应用222以及程序数据224。在一些实施方式中,应用222可以布置为在操作系统上由一个或多个处理器204利用程序数据224执行指令。操作系统220例如可以是Linux、Windows等,其包括用于处理基本系统服务以及执行依赖于硬件的任务的程序指令。应用222包括用于实现各种用户期望的功能的程序指令,应用222例如可以是浏览器、即时通讯软件、软件开发工具(例如集成开发环境IDE、编译器等)等,但不限于此。当应用222被安装到计算设备200中时,可以向操作系统220添加驱动模块。
在计算设备200启动运行时,处理器204会从存储器206中读取操作系统220的程序指令并执行。应用222运行在操作系统220之上,利用操作系统220以及底层硬件提供的接口来实现各种用户期望的功能。当用户启动应用222时,应用222会加载至存储器206中,处理器204从存储器206中读取并执行应用222的程序指令。
计算设备200还可以包括有助于从各种接口设备(例如,输出设备242、外设接口244和通信设备246)到基本配置202经由总线/接口控制器230的通信的接口总线240。示例的输出设备142包括图形处理单元248和音频处理单元250。它们可以被配置为有助于经由一个或者多个A/V端口252与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口244可以包括串行接口控制器254和并行接口控制器256,它们可以被配置为有助于经由一个或者多个I/O端口258和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备246可以包括网络控制器260,其可以被布置为便于经由一个或者多个通信端口264与一个或者多个其他计算设备262通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
在根据本发明的计算设备200中,应用222包括用于执行本发明的应用服务部署方法的指令,该指令可以指示处理器204执行本发明的应用服务部署方法,以实现应用服务的自动化部署。
图3示出了根据本发明一个实施例的应用服务部署方法300的流程图。方法300始于步骤S310,应用服务部署人员可以通过管理终端110选择应用服务部署系统中的一个服务器120,确定待部署的应用服务在该服务器上的服务序号,服务序号可以是根据以前的部署记录自动计算的,本发明对此不做限制,管理终端110接收部署人员的服务部署命令和服务序号,进入步骤S320,将部署服务序号和应用服务部署命令发送到服务器120。
服务器120在接收到应用服务部署命令后,进入步骤S330,根据接收到的部署服务序号获取所部署的应用服务的应用实例序号,应用实例序号存储在当前服务器上的对应所部署应用服务的实例序号文件中,根据本发明的一个实施例,所部署的应用服务从未在当前服务器上部署过,相应的实例序号文件不存在,则获取到的应用实例序号为0,此时,将应用实例序号进行加1运算更新成1写入实例序号文件中,并将1作为此次部署的应用实例序号;根据本发明的又一实施例,所部署的应用服务在当前服务器上已经部署两个应用实例,即将部署的为第三个,此时从实例序号文件获取到的应用实例序号为2,将实例序号文件中的应用实例序号进行加1运算更新成3,并作为此次部署应用服务的实例序号。
随后进入步骤S340,根据应用服务序号、应用实例序号和服务端口序号,利用服务端口计算公式计算各个服务端口的端口号,为了实现最大化利用可用端口且不引起端口冲突,设定3条规则:
1)单个应用实例最多占用10个端口,这10个端口的端口号之间按100递增,即Pn=Pn-1+100(Pn为同一实例中的第n个端口的端口号,Pn-1为同一实例中的第n-1个端口的端口号);
2)不同的实例之间,相同的端口按1000递增,例如,第a个实例第n个端口和第a-1个实例的第n个端口的端口号之间相差1000,即Pa_n=Pa-1_n+1000(Pn-1为第a个实例第n个端口的端口号,Pa-1_n为第a-1个实例的第n个端口的端口号);
3)不同的应用服务,相同的实例和相同的端口之间按照1递增,即Px_n=Px-1_n+1(Px_n为第x个应用服务第M个实例的第n个端口的端口号,Px-1_n为第x-1个应用服务第M个实例的第n个端口的端口号)。
综合上述三个原则,服务端口计算公式为Pknm=1024+(n-1)×1000+(m-1)×100+(k-1),其中,Pknm为服务端口号,k为应用服务序号,n为应用实例序号,m为服务端口序号,1<=k<=100,1<=m<=10,1<=n<=48。
根据本发明的一个实施例,应用实例通过tomcat实例实现,用到的端口有五个,分别为计算超文本传输协议端口(http)、定向包协议端口(ajp)、关闭端口(shutdown)、RMI注册端口(RMIRegistry)、RMI服务端口(RMIServer),根据上述服务端口计算公式得出,每台服务器可以支持100个应用服务,每个应用服务可以部署48个实例,每个实例拥有10个端口。表1示出了根据本发明一个实施例的各个服务各个实例不同端口之间的端口号的分配,表1中的端口配置仅为示例性的,具体的端口号的分配和各个端口的序号有关,本发明对此不做限制。如此,既能最大化利用可用端口,又不会引起端口冲突。
表1
计算出当前部署的应用实例的各个端口号后,进入步骤S350,根据计算出的端口号部署应用实例目录,根据本发明的一个实施例,所部署的应用实例的http端口号为1024,根据该应用实例的http端口号部署该实例的部署目录,则目录名称为/usr/local/tomcat_1024,根据上述端口号的计算规则,本服务器上同一个应用服务的下一个应用实例的部署目录为/usr/local/tomcat_2024,这样使得应用实例的目录有规律可循,具体使用实例的哪个端口号创建应用实例目录,本发明不做限制。创建好目录后,复制预先设置的应用实例配置模板到所创建的目录中。
随后进入步骤S360,应用实例配置模板中包含了实例所用到的端口,需要根据计算所得的端口修改配置模板中的各个端口号,根据本发明的一个实施例,计算所得的http端口号为1024,shutdown端口号为1124,RMIRegistry端口号为1224,RMIServer端口号为1324,ajp端口号为1424,通过过脚本命令修改配置文件中的http端口号为1024,shutdown端口号为1124,rmiRegistry端口号为1224,rmiServer端口号为1324,ajp端口号为1424。执行完步骤S360,就完成了一个应用实例的部署过程。
根据步骤S370,服务器会将部署实例序号返回管理终端,管理终端根据该序号结合服务序号能够了解到应用实例的部署目录、端口信息等。
管理终端120还可以根据连接的服务器的部署记录查询应用服务的部署信息,根据本发明的一个实施例,其中一台服务器部署过两个服务,每个服务部署了5个实例,则管理终端根据部署记录,可以了解到应用服务的部署状态,比如,第一个服务的第一个实例的http端口号为1024,shutdown端口号为1124,RMIRegistry端口号为1224,RMIServer端口号为1324,ajp端口号为1424。
根据本发明的应用服务自动化部署方法,通过管理终端发送服务部署命令和应用服务序号,在服务器端能够自动计算出统一、规范、不冲突、有规律的应用实例的端口号,同时,因为应用实例的目录也是根据端口号部署的,使得应用实例的部署目录也不会冲突,且有规律可循,极大的降低了配置人员的部署成本,也能最大程度的利用可用端口,另一方面,开发或配置人员很容易能够知道每个应用实例的部署目录和分配的端口号等信息,一定程度上也减少了开发、测试、配置人员需要记忆的配置信息。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、U盘、软盘、CD-ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的应用服务部署方法。
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本发明还包括:
A9、如A1-A8中任意一项所述的方法,其中,所述管理终端连接多台服务器,所述管理终端根据所输入的应用服务序号和服务器标识查询与所述服务器标识相对应的服务器上对应于所述应用服务序号的应用服务的部署信息。
A10、如A1-A9中任意一项所述的方法,其中,根据所输入的待部署应用服务的应用服务序号和服务器标识向与所述服务器标识相对应的服务器发送服务部署命令和待部署应用服务的应用服务序号。
A11、如A1-A10中任意一项所述的方法,其中,所述应用实例为tomcat实例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

Claims (10)

1.一种应用服务部署方法,适于在计算设备中执行,所述计算设备上适于部署多个应用服务,每个应用服务对应一个应用服务序号,每个应用服务适于部署多个应用实例,每个应用实例对应一个应用实例序号,每个应用实例适于配置多个服务端口,每个服务端口对应一个服务端口序号,所述计算设备与管理终端通信连接,所述方法包括:
接收所述管理终端发送的应用服务部署命令和待部署应用服务的应用服务序号;
计算预部署的应用实例的端口号;
根据所述端口号部署该应用实例目录,并复制预先设置的应用实例配置模板到所述应用实例目录;
根据所述端口号修改所述应用实例配置模板,完成应用服务的部署;
其中,所述计算预部署的应用实例的端口号包括:
从实例序号文件中获取应用实例序号;
根据获取到的应用实例序号更新所述实例序号文件中的应用实例序号,并作为所述待部署应用服务的应用实例序号;
根据所述应用服务序号、应用实例序号和服务端口序号,利用服务端口计算公式计算服务端口的端口号;
所述服务端口计算公式为:Pknm=1024+(n-1)×1000+(m-1)×100+(k-1),其中,Pknm为服务端口号,k为应用服务序号,n为应用实例序号,m为服务端口序号,1<=k<=100,1<=m<=10,1<=n<=48。
2.如权利要求1所述的方法,其中,所述利用服务端口计算公式计算服务端口的端口号包括:
计算超文本传输协议端口、定向包协议端口、关闭端口、RMI注册端口、RMI服务端口的端口号。
3.如权利要求1或2所述的方法,其中,所述根据所述端口号部署该应用实例目录包括:
将超文本传输协议端口号作为该应用实例的部署目录名称的后缀。
4.如权利要求1或2所述的方法,其中,所述根据所述端口号修改所述应用实例配置模板包括:
根据计算所得的超文本传输协议端口、定向包协议端口、关闭端口、RMI注册端口、RMI服务端口的端口号修改应用实例配置模板中的相应的端口号。
5.如权利要求1或2所述的方法,其中,所述方法还包括:
将当前的应用实例序号返回管理终端。
6.如权利要求1或2所述的方法,其中,所述管理终端连接多台服务器,所述管理终端根据所输入的应用服务序号和服务器标识查询与所述服务器标识相对应的服务器上对应于所述应用服务序号的应用服务的部署信息。
7.如权利要求1或2所述的方法,其中,根据所输入的待部署应用服务的应用服务序号和服务器标识向与所述服务器标识相对应的服务器发送服务部署命令和待部署应用服务的应用服务序号。
8.如权利要求1或2所述的方法,其中,所述应用实例为tomcat实例。
9.一种计算设备,包括:
至少一个处理器;以及
存储器,存储有程序指令,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求1-8中任一项所述方法的指令。
10.一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如权利要求1-8中任一项所述方法。
CN202010658731.0A 2020-07-09 2020-07-09 一种应用服务部署方法、计算设备及可读存储介质 Active CN111930392B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010658731.0A CN111930392B (zh) 2020-07-09 2020-07-09 一种应用服务部署方法、计算设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010658731.0A CN111930392B (zh) 2020-07-09 2020-07-09 一种应用服务部署方法、计算设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN111930392A CN111930392A (zh) 2020-11-13
CN111930392B true CN111930392B (zh) 2024-02-23

Family

ID=73314125

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010658731.0A Active CN111930392B (zh) 2020-07-09 2020-07-09 一种应用服务部署方法、计算设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN111930392B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112764913A (zh) * 2021-04-09 2021-05-07 腾讯科技(深圳)有限公司 服务熔断方法和装置、存储介质及电子设备
CN114020281B (zh) * 2021-11-08 2022-10-14 中电金信软件有限公司 一种数据库的部署方法、应用服务部署方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105159759A (zh) * 2015-08-31 2015-12-16 华为软件技术有限公司 应用实例部署方法和装置
CN110995480A (zh) * 2019-11-25 2020-04-10 百度在线网络技术(北京)有限公司 区块链网络部署方法、装置、电子设备和介质
CN111381835A (zh) * 2018-12-28 2020-07-07 中国移动通信集团江西有限公司 技术服务组件的注册与发现的方法、装置、设备及介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2349083A1 (en) * 2001-05-30 2002-11-30 Ibm Canada Limited-Ibm Canada Limitee Server configuration tool
US20060245354A1 (en) * 2005-04-28 2006-11-02 International Business Machines Corporation Method and apparatus for deploying and instantiating multiple instances of applications in automated data centers using application deployment template
US20130138813A1 (en) * 2011-11-28 2013-05-30 Microsoft Corporation Role instance reachability in data center
US9189285B2 (en) * 2012-12-14 2015-11-17 Microsoft Technology Licensing, Llc Scalable services deployment
EP3108365A1 (en) * 2014-02-20 2016-12-28 Telefonaktiebolaget LM Ericsson (publ) Methods, apparatuses, and computer program products for deploying and managing software containers
US10394538B2 (en) * 2017-02-09 2019-08-27 International Business Machines Corporation Optimizing service deployment in a distributed computing environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105159759A (zh) * 2015-08-31 2015-12-16 华为软件技术有限公司 应用实例部署方法和装置
CN111381835A (zh) * 2018-12-28 2020-07-07 中国移动通信集团江西有限公司 技术服务组件的注册与发现的方法、装置、设备及介质
CN110995480A (zh) * 2019-11-25 2020-04-10 百度在线网络技术(北京)有限公司 区块链网络部署方法、装置、电子设备和介质

Also Published As

Publication number Publication date
CN111930392A (zh) 2020-11-13

Similar Documents

Publication Publication Date Title
CN103324498B (zh) 用于引导裸机计算设备的方法和设备
CN107896162B (zh) 监控系统的部署方法、装置、计算机设备及存储介质
CN111930392B (zh) 一种应用服务部署方法、计算设备及可读存储介质
CN105279000B (zh) 一种虚拟机软件安装方法、安装控制器及安装代理
CN109240754B (zh) 一种配置bios启动项的逻辑器件及方法、系统
CN112988252B (zh) 一种操作系统启动方法及计算设备
JP6194764B2 (ja) 情報処理装置、制御方法、および制御プログラム
CN106873970A (zh) 一种操作系统的安装方法和装置
CN106339458B (zh) 一种基于弹性分布式数据集的Stage划分方法和终端
CN113885936A (zh) 一种定制镜像中软件包依赖的解决方法
US10387124B2 (en) System and method for creating domain specific language
CN111428241A (zh) 一种多安全访问策略控制方法及计算设备
CN112558841A (zh) 一种应用图标管理方法、计算设备及可读存储介质
CN114610337A (zh) 一种多系统安装方法、计算设备及存储介质
EP3572940A1 (en) Method and device for scheduling vcpu thread
CN113204385A (zh) 一种插件加载方法、装置、计算设备及可读存储介质
JP2009230433A (ja) ネットワークブート装置、プログラム及び方法
CN111857781A (zh) 资源更新方法及相关设备
CN115357257B (zh) 一种安装文件生成方法、系统、计算设备及存储介质
US9983862B2 (en) Systems and methods for download and installation of drivers for unmanaged information handling resources
CN113485712B (zh) 一种内核裁剪方法及计算设备
CN108196868A (zh) Bios升级方法和电子设备
CN110321335B (zh) 建模数据下载方法、装置、电子设备及计算机存储介质
CN111488217A (zh) 一种云服务器部署方法和管理设备
TWI740393B (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