CN109918099A - 服务程序发布方法、装置、计算机设备及存储介质 - Google Patents
服务程序发布方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN109918099A CN109918099A CN201910014248.6A CN201910014248A CN109918099A CN 109918099 A CN109918099 A CN 109918099A CN 201910014248 A CN201910014248 A CN 201910014248A CN 109918099 A CN109918099 A CN 109918099A
- Authority
- CN
- China
- Prior art keywords
- container
- content
- target container
- service routine
- target
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种服务程序发布方法、装置、计算机设备及存储介质,包括下述步骤:获取发布内容,其中,所述发布内容包括服务程序;将所述发布内容分配至目标容器,其中,所述目标容器为服务器中与所述服务程序具有映射关系的一个或多个容器;重启所述目标容器,更新所述目标容器中的内容。与传统的更新内容时需要重启整个服务器的发布模式相比,这种服务程序发布方法在服务器中将多个容器分隔开,进行更新时只需要将发布的内容发送到对应的服务器容器中,对目标的一个或多个容器进行重启和内容更新,有效节省了发布内容时的时间成本,同时减少了内容发布过程中开发、运营和部署等人员的沟通需求,降低出错概率和人力消耗。
Description
技术领域
本发明涉及计算机应用技术领域,特别是涉及一种服务程序发布方法、装置、计算机设备及存储介质。
背景技术
在计算机技术领域,基于Web的应用研发已经占据项目中的主流,越来越多的信息化系统以及其他应用系统通过这种“瘦”客户端的形式提供服务。在项目的实施阶段,实施工程师需要在机器上部署项目所需要的所有环境和软件,这个过程需要浪费很多时间,同时在安装的过程中会出现各种各样的问题。由于用户的业务需求变化快,因而经常需要对网站的页面功能进行修改和扩充,结果催生网站新的版本的不断诞生。
当前大多数代码版本发布过程中,需要依据待发布的工作流程任务,人工分析、处理待发布的代码版本,并手工获取代码文件。代码版本发布规则大多依赖个人经验,并未按照产品、项目需求形成规则;即使发布规则已明确规定,人工处理代码版本依然会带来操作失误,不同人员会在处理规则细节、操作步骤上有所差异,无法高质量的保证结果的一致性。同时,当前的代码发布将项目源代码上传至服务器中,并重启服务器实现发布,当服务或项目数量较多时,每次发布都需要重启服务器,将消耗大量的时间。
发明内容
本发明实施例能够提供一种降低人力成本、减少服务程序发布时间的服务程序发布方法、装置、计算机设备及存储介质。
为解决上述技术问题,本发明创造的实施例采用的一个技术方案是:提供一种服务程序发布方法,包括以下步骤:
获取发布内容,其中,所述发布内容包括服务程序;
将所述发布内容分配至目标容器,其中,所述目标容器为服务器中与所述服务程序具有映射关系的一个或多个容器;
重启所述目标容器,更新所述目标容器中的内容。
可选地,所述将所述发布内容分配至目标容器的步骤之前,包括以下步骤:
获取所述发布内容的识别信息,其中,所述识别信息为用于区分并识别不同服务程序的程序识别代码;
根据所述识别信息在服务器中查找与所述识别信息具有映射关系的容器作为所述目标容器;
触发所述目标容器的更新指令,启动所述目标容器的更新流程。
可选地,所述根据所述识别信息在服务器中查找与所述识别信息具有映射关系的容器作为所述目标容器的步骤,包括以下步骤:
获取所有容器的容器信息,其中,所述容器信息包括容器中已有服务程序的程序识别码;
查找所述程序识别码与所述识别信息具有映射关系的对应容器;
定义所述具有映射关系的对应容器为所述目标容器。
可选地,所述查找所述程序识别码与所述识别信息具有映射关系的对应容器的步骤之后,包括以下步骤:
当查找不到所述对应容器时,获取优先级信息,其中,所述优先级信息包括服务器中各容器的使用优先级;
根据所述容器优先级信息确定其中使用优先级最高的容器为所述目标容器。
可选地,所述根据所述识别信息在服务器中查找与所述识别信息具有映射关系的容器作为所述目标容器的步骤之后,包括下述步骤:
获取所述目标容器的端口信息,其中,所述端口信息为用于确定容器端口地址的地址码;
根据所述端口信息向所述目标容器发送更新请求。
可选地,所述重启所述目标容器,更新所述目标容器中的内容的步骤,包括下述步骤:
将所述目标容器中的原内容写入指定的存储区域内作为备份内容;
重启所述目标容器;
将所述发布内容写入到所述目标容器中,覆盖所述目标容器中的原内容。
可选地,所述将所述发布内容写入到所述目标容器中,覆盖所述目标容器中的原内容的步骤之后,包括下述步骤:
判断所述目标容器是否正常启动;
当所述目标容器正常启动时,删除所述指定存储区域内的备份内容;
当所述目标容器无法正常启动时,根据所述指定存储区域内的备份内容恢复所述目标容器的内容。
为解决上述技术问题,本发明实施例还提供一种服务程序发布装置,包括:
获取模块,用于获取发布内容,其中,所述发布内容包括服务程序;
处理模块,用于将所述发布内容分配至目标容器,其中,所述目标容器为服务器中与所述服务程序具有映射关系的一个或多个容器;
执行模块,用于重启所述目标容器,更新所述目标容器中的内容。
可选地,所述服务程序发布装置,还包括:
第一获取子模块,用于获取所述发布内容的识别信息,其中,所述识别信息为用于区分并识别不同服务程序的程序识别代码;
第一处理子模块,用于根据所述识别信息在服务器中查找与所述识别信息具有映射关系的容器作为所述目标容器;
第一执行子模块,用于触发所述目标容器的更新指令,启动所述目标容器的更新流程。
可选地,所述服务程序发布装置,还包括:
第二获取子模块,用于获取所有容器的容器信息,其中,所述容器信息包括容器中已有服务程序的程序识别码;
第一查找子模块,用于查找所述程序识别码与所述识别信息具有映射关系的对应容器;
第二执行子模块,用于定义所述具有映射关系的对应容器为所述目标容器。
可选地,所述服务程序发布装置,还包括:
第三执行子模块,用于当查找不到所述对应容器时,获取优先级信息,其中,所述优先级信息包括服务器中各容器的使用优先级;
第二处理子模块,用于根据所述容器优先级信息确定其中使用优先级最高的容器为所述目标容器。
可选地,所述服务程序发布装置,还包括:
第三获取子模块,用于获取所述目标容器的端口信息,其中,所述端口信息为用于确定容器端口地址的地址码;
第一发送子模块,用于根据所述端口信息向所述目标容器发送更新请求。
可选地,所述服务程序发布装置,还包括:
第一写入子模块,用于将所述目标容器中的原内容写入指定的存储区域内作为备份内容;
第一重启子模块,用于重启所述目标容器;
第二写入子模块,用于将所述发布内容写入到所述目标容器中,覆盖所述目标容器中的原内容。
可选地,所述服务程序发布装置,还包括:
第一判断子模块,用于判断所述目标容器是否正常启动;
第四执行子模块,用于当所述目标容器正常启动时,删除所述指定存储区域内的备份内容;
第五执行子模块,用于当所述目标容器无法正常启动时,根据所述指定存储区域内的备份内容恢复所述目标容器的内容。
为解决上述技术问题,本发明实施例还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述所述服务程序发布方法的步骤。
为解决上述技术问题,本发明实施例还提供一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述所述服务程序发布方法的步骤。
本发明实施例的有益效果是:通过在服务器中设置多个相互独立的容器,在需要进行内容发布时,直接查找对应的目标容器并将发布的内容发送到目标容器,相比于传统的通过人为地进行版本代码发布部署,这种发布方法可以有效的减少内容发布时开发和运营等人员之间的沟通和协调,节省人力成本,降低出错概率,进一步地,在内容进行更新时,只需要更新对应的一个或多个目标容器的内容,对目标容器进行重启,可以有效地提高发布内容的效率,避免了传统的发布方式需要将内容上传到服务器中对整个服务器进行重启的弊端。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例服务程序发布方法的基本流程示意图;
图2为本发明实施例内容更新准备的流程示意图;
图3为本发明实施例通过识别信息查找目标容器的流程示意图;
图4为本发明实施例通过优先级信息确定目标容器的流程示意图;
图5为本发明实施例发送更新请求的流程示意图;
图6为本发明实施例容器内容更新的流程示意图;
图7为本发明实施例保证容器正常运作的流程示意图;
图8为本发明实施例服务程序发布装置的基本结构框图;
图9为本发明实施例计算机设备基本结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
在本发明的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本技术领域技术人员可以理解,这里所使用的“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(PersonalCommunicationsService,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(PersonalDigitalAssistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(GlobalPositioningSystem,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(MobileInternetDevice,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
具体地请参阅图1,图1为本实施例服务程序发布方法的基本流程示意图。
如图1所示,一种服务程序发布方法,包括以下步骤:
S1100、获取发布内容,其中,所述发布内容包括服务程序;
发布内容的获取途径可以是开发或运营人员将待发布的内容上传到管理服务器中,管理服务器在识别到存在待发布的内容时,获取该内容作为发布内容。在一些实施方式中,发布内容可以是Web端服务程序的更新版本或者是未发布过的全新服务程序,但不限于此,发布内容的形式可以根据实际应用场景的不同进行调整,例如服务程序的源代码或文件包的方式。
S1200、将所述发布内容分配至目标容器,其中,所述目标容器为服务器中与所述服务程序具有映射关系的一个或多个容器;
发布内容中还包括对应服务程序的识别信息和版本信息,识别信息用于在服务器中匹配查找正在运行或支持该服务程序的容器,版本信息用于确认查找得到对应的容器中服务程序的版本新旧,以确定是否进行更新。
在确定发布内容之后,获取发布内容中的识别信息,以识别信息为依据在服务器中查找与该识别信息具有映射关系的容器,服务器中每一个容器都具有一个程序识别码,用于确定该容器中所运行或支持的服务程序,上述映射关系即通过识别信息查找对应的程序识别码,例如使用一段校验码作为识别信息,在服务器中查找具有与识别信息对应的程序识别码的容器。
在查找到具有对应程序识别码的容器后,通过版本信息与容器中的程序版本进行对比,确定发布版本是否比容器中的已有版本高,如果发布版本高于容器中的已有版本,即确定对应容器需要进行内容更新,将对应容器定义为目标容器。在一些实施方式中,发布的版本可以针对指定的一个或多个版本,在查找到有对应程序识别码的容器后,获取容器中已有程序的版本号,确定该版本号是否是当前发布内容所针对的版本,若是,则将对应的容器定义为目标容器,实现具有针对性的内容发布。
确定目标容器之后,与目标容器建立连接,将获取到的发布内容发送到目标容器。
S1300、重启所述目标容器,更新所述目标容器中的内容;
当目标容器接收到发布内容之后,启动更新流程,重启容器,将发布内容写入到容器中并覆盖原有内容,以实现容器中的内容更新。在更新完成后,判断容器是否正常启动,当容器无法正常启动时,生成异常报告反馈至管理服务器,以引导维护人员对该服务器进行维护。在一些实施方式中,容器更新完成并正常启动之后,可以向管理服务器发送一个指定的反馈码,用于向管理服务器反馈更新结果,管理服务器获取到的反馈码异常,或者在一定的时间段内没有接收到反馈码,即确定容器更新后启动异常。
如图2所示,步骤S1200之前还包括以下步骤:
S1110、获取所述发布内容的识别信息,其中,所述识别信息为用于区分并识别不同服务程序的程序识别代码;
发布内容中包含有对应服务程序的识别信息,在获取到发布内容之后,提取其中的识别信息。识别信息用于区分各个不同的服务程序,以确定发布内容发送目标和更新目标。在一些实施方式中,发布内容还包括对应的版本信息,例如版本号,用于确定查找到对应服务程序的目标后确定其版本是否处于当前待发布的版本之前,以确定是否更新。
S1120、根据所述识别信息在服务器中查找与所述识别信息具有映射关系的容器作为所述目标容器;
在获取到识别信息之后,在服务器中查找与识别信息相匹配的容器作为目标容器。具体地,服务器的确定可以是内容发布时由开发人员或者运营人员指定服务器作为服务器,在发布内容之中已经写入了服务器的信息,内容发布之后,直接在服务器中查找对应的容器。服务器中每个容器都具有对应的容器信息,具有服务程序的容器的容器信息中包含有对应服务程序的程序识别码,在得到发布内容的识别信息后,在服务器中查找具有与识别信息相对应的程序识别码的容器,上述的对应关系可以是具有一定的映射关系、上下位关系或者是完全相同的校验字符段,查找得到的容器可以是一个或多个,将查找得到的一个或多个容器作为目标容器。
S1130、触发所述目标容器的更新指令,启动所述目标容器的更新流程;
每一个服务器容器都具有对应的更新指令,更新指令用于对容器的内容进行更新。在一些实施方式中,触发更新指令的方法可以是获取到对应的触发码,同一个服务器中各个容器的触发码可以相同,也可以各不相同,当服务器中各个容器的触发码是相同的时候,在获取到发布内容之后即可确定对应的触发码;当服务器中各个容器的触发码各不相同的时候,确定目标容器后需要进一步获取目标容器的触发码。确定触发码之后向目标容器发送携带触发码的更新请求,目标容器在接收到更新请求后因其中包含的触发码而触发更新指令,开始容器内容的更新流程。
利用发布信息中的识别信息确定目标容器,避免了传统的内容发布过程中需要通过人工部署的方式去确定内容的存储位置和更新位置,有效地提高了内容发布的效率,减少了人工和时间成本。
如图3所示,步骤S1200具体包括以下步骤:
S1121、获取所有容器的容器信息,其中,所述容器信息包括容器中已有服务程序的程序识别码;
服务器中每个内容都具有对应的容器信息,具有服务程序的容器的容器信息中包含有对应服务程序的程序识别码,在获取到目标内容之后,获取服务器中所有容器的容器信息,并整合其中的程序识别码形成列表。
S1122、查找所述程序识别码与所述识别信息具有映射关系的对应容器;
以发布内容的识别信息作为查找条件,在生成的程序识别码列表中查找与识别信息具有映射关系的程序识别码,上述映射关系可以是程序识别码与识别信息中对应信息相同,或者程序识别码与识别信息具有一定的上下位关系或者算法关系。在列表中查找到程序识别码之后,将程序识别码所对应的容器作为对应容器。在一些实施方式中,识别信息中还包括版本信息,在查找到程序识别码之后,获取其对应的容器中服务程序的版本号,根据版本信息和版本号确定容器中已有的服务程序版本是否低于发布内容的版本,若是,则将对应的容器作为对应容器。
S1123、定义所述具有映射关系的对应容器为所述目标容器;
当查找到具有映射关系的对应容器后,将对应容器作为目标容器,在一些实施方式中,查找到的对应容器可以为一个或多个,因此,目标容器也可以为一个或多个,例如多个容器中运行同一个服务程序以实现分流处理。
通过在服务器中查找对应容器的方法,当服务器中存在大量容器时,可以快速准确地获取到发布内容所对应需要的更新容器,相比于传统的人工部署方式,可以节省大量的人力资源和时间成本,并且有效地保证了目标容器选择的准确性。
如图4所示,步骤S1122之后还包括以下步骤:
S1124、当查找不到所述对应容器时,获取优先级信息,其中,所述优先级信息包括服务器中各容器的使用优先级;
当列表之中查找不到与识别信息具有映射关系的程序识别码时,说明当前服务器中不存在具备发布内容对应的服务程序的容器,即此次发布的内容为新增的服务程序而不是在原有的程序上进行更新,此时无法根据识别信息确定对应的目标容器。服务器中设置有容器的使用优先级,当新的服务程序发布时,可以根据优先级选用容器作为服务程序的载体,优先级的确定可以按照一定的规则,例如空容器为最高优先级,废弃容器为次级优先级等等,但不限于此,空容器即没有存储内容的容器,在服务器正式使用之后没有使用过该容器存储过内容,废弃容器为之前存储过内容但已被清除或者存储的服务程序已经停用。上述优先级信息动态更新,每当有空容器被使用、服务程序停用或者容器内容清除时,更新优先级信息。当无法根据识别信息确定目标容器时,获取到服务器中存储的优先级信息。
S1125、根据所述容器优先级信息确定其中使用优先级最高的容器为所述目标容器;
在获取到优先级信息后,定义服务器中当前优先级最高的容器作为目标容器。在一些实施方式中,同一个优先级中可以有一个或多个容器,当最高优先级中存在多个容器,而此次的内容发布并不需要其中全部容器时,可以根据选取规则选择其中的容器作为目标容器,选取规则可以是随机选择,也可以是根据容器编号按顺序使用。
当发布内容为新的服务程序时,在服务器中无法查找到对应的容器,从而通过优先级信息确定目标容器,保证了发布内容不属于现有服务程序的更新时可以及时的获取到目标容器从而保证新内容的上线时间。
如图5所示,步骤S1120之后还包括下述步骤:
S1126、获取所述目标容器的端口信息,其中,所述端口信息为用于确定容器端口地址的地址码;
服务器中每个容器中都存储有对应的端口信息,即容器端口的地址码,用于确定该容器的地址和端口校验码。在确定目标容器之后,获取目标容器的端口信息。
S1127、根据所述端口信息向所述目标容器发送更新请求;
根据获取到的端口信息与目标容器建立连接,进行数据交换。具体地,通过端口信息确定目标容器的物理地址和接口信息,根据物理地址与目标容器建立连接,通过接口信息的校验获取目标容器的权限,该权限可以用于向目标容器发送内容、删除或修改目标容器的内容等等,获取到目标容器的权限之后,向目标容器发布更新请求,更新请求中携带有触发目标容器更新指令的对应触发码,目标容器在获取到更新请求后启动更新流程。
如图6所示,步骤S1300具体包括下述步骤:
S1310、将所述目标容器中的原内容写入指定的存储区域内作为备份内容;
目标容器在获取到发布内容之后,停止当前服务程序的动作,进入更新状态,将容器内当前运作的服务程序写入指定的存储区域内进行保存备份。指定的存储区域可以根据实际使用场景进行设定,例如容器内预设的用于备份保存的存储区域,或者服务器中被指定用作备份的一个或多个容器,但不限于此。服务程序的备份方法可以是将当前的代码整合为一份备份数据,或者将当前的程序本身完整地复制,当更新失败时可以通过备份的内容对该容器实现内容版本的回降。
S1320、重启所述目标容器;
将当前内容备份之后,进入容器重启流程,对目标容器进行重启,以确保当前运作的完全停止,防止内容更新过程中出现错误或者内容写入不到位。
S1330、将所述发布内容写入到所述目标容器中,覆盖所述目标容器中的原内容。
将目标容器重启后,开始进行内容更新,将获取到的发布内容写入到容器中,同时覆盖目标容器中原有的内容。在一些实施方式中,可以先删除目标容器中的原有内容,再直接将发布内容写入。内容写入完成后,进行更新,更新的流程根据实际使用场景的不同可以进行调整,例如包括部署、解析和安装等,但不限于此。更新的流程可以写入在发布内容中,在发布内容写入之后,自动进行更新。更新完成之后,再次重启目标容器,进入容器正常运作流程。
如图7所示,步骤S1330之后还包括下述步骤:
S1331、判断所述目标容器是否正常启动;
目标容器更新后首次重启时向服务器发送一个启动校验码,用于反馈目标容器的更新结果,当服务器收到校验码并判断该校验码正确时,确定目标容器正常启动;当服务器收到校验码不符合预设的规则或者超过预设的时间段没有收到校验码时,说明目标容器更新后并不能够反馈正确的校验码,确定目标容器启动异常。
S1332、当所述目标容器正常启动时,删除所述指定存储区域内的备份内容;
当服务器确定目标容器更新后正常启动时,向目标容器发送删除备份的指令,删除指定存储区域内的备份内容,内容发布流程结束。在一些实施方式中,当指定存储区域是服务器中的指定容器时,服务器确定目标容器正常启动后,将删除备份的指令发送至服务器或者其中的备份指定容器,删除备份内容。
S1333、当所述目标容器无法正常启动时,根据所述指定存储区域内的备份内容恢复所述目标容器的内容。
当服务器确定目标容器无法正常启动时,启动容器的内容恢复流程,强制停止目标容器的运作,同时在指定存储区域内获取到备份内容,将备份内容写入到目标容器中并覆盖目标容器中现有的内容,实现版本回降,同时,生成警报信息并触发警报指令,以向管理平台的维护人员反馈此次更新的失败,引导维护人员进行故障排查或修复。在一些实施方式中,版本回降之后再次判断容器是否能正常启动,当容器可以正常启动时,生成对应的完成信息,例如“容器已完成版本回降”;当容器无法正常启动时,生成对应的失败信息,例如“容器在版本回降后仍无法正常启动,已停止运作”。
在将原内容备份后,当容器更新失败而无法正常启动或者运作时,可以通过备份内容实现服务程序的版本回降,当容器更新失败时有效保证容器的正常运作,同时利用警报信息提醒维护人员进行维护,降低更新失败对于服务程序运行的影响。
为解决上述技术问题,本发明实施例还提供一种服务程序发布装置。具体请参阅图8,图8为本实施服务程序发布装置的基本结构框图。
如图8所示,服务程序发布装置,包括:获取模块2100、处理模块2200和执行模块2300。其中,获取模块用于获取发布内容,其中,所述发布内容包括服务程序;处理模块用于将所述发布内容分配至目标容器,其中,所述目标容器为服务器中与所述服务程序具有映射关系的一个或多个容器;执行模块用于重启所述目标容器,更新所述目标容器中的内容。
通过在服务器中设置多个相互独立的容器,在需要进行内容发布时,直接查找对应的目标容器并将发布的内容发送到目标容器,相比于传统的通过人为地进行版本代码发布部署,这种发布方法可以有效的减少内容发布时开发和运营等人员之间的沟通和协调,节省人力成本,降低出错概率,进一步地,在内容进行更新时,只需要更新对应的一个或多个目标容器的内容,对目标容器进行重启,可以有效地提高发布内容的效率,避免了传统的发布方式需要将内容上传到服务器中对整个服务器进行重启的弊端。
在一些实施方式中,服务程序发布装置还包括:第一获取子模块、第一处理子模块、第一执行子模块。其中第一获取子模块用于获取所述发布内容的识别信息,其中,所述识别信息为用于区分并识别不同服务程序的程序识别代码;第一处理子模块用于根据所述识别信息在服务器中查找与所述识别信息具有映射关系的容器作为所述目标容器;第一执行子模块用于触发所述目标容器的更新指令,启动所述目标容器的更新流程。
在一些实施方式中,服务程序发布装置还包括:第二获取子模块、第一查找子模块、第二执行子模块。其中,第二获取子模块用于获取所有容器的容器信息,其中,所述容器信息包括容器中已有服务程序的程序识别码;第一查找子模块用于查找所述程序识别码与所述识别信息具有映射关系的对应容器;第二执行子模块用于定义所述具有映射关系的对应容器为所述目标容器。
在一些实施方式中,服务程序发布装置还包括:第三执行子模块、第二处理子模块。其中,第三执行子模块用于当查找不到所述对应容器时,获取优先级信息,其中,所述优先级信息包括服务器中各容器的使用优先级;第二处理子模块用于根据所述容器优先级信息确定其中使用优先级最高的容器为所述目标容器。
在一些实施方式中,服务程序发布装置还包括:第三获取子模块、第一发送子模块。其中,第三获取子模块用于获取所述目标容器的端口信息,其中,所述端口信息为用于确定容器端口地址的地址码;第一发送子模块用于根据所述端口信息向所述目标容器发送更新请求。
在一些实施方式中,服务程序发布装置还包括:第一写入子模块、第一重启子模块、第二写入子模块。其中,第一写入子模块用于将所述目标容器中的原内容写入指定的存储区域内作为备份内容;第一重启子模块用于重启所述目标容器;第二写入子模块用于将所述发布内容写入到所述目标容器中,覆盖所述目标容器中的原内容。
在一些实施方式中,服务程序发布装置还包括:第一判断子模块、第四执行子模块、第五执行子模块。其中,第一判断子模块用于判断所述目标容器是否正常启动;第四执行子模块用于当所述目标容器正常启动时,删除所述指定存储区域内的备份内容;第五执行子模块用于当所述目标容器无法正常启动时,根据所述指定存储区域内的备份内容恢复所述目标容器的内容。
为解决上述技术问题,本发明实施例还提供一种计算机设备。具体请参阅图9,图9为本实施例计算机设备基本结构框图。
如图9所示,计算机设备的内部结构示意图。如图9所示,该计算机设备包括通过系统总线连接的处理器、非易失性存储介质、存储器和网络接口。其中,该计算机设备的非易失性存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种服务程序发布方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种服务程序发布方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本实施方式中处理器用于执行图8中获取模块2100、处理模块2200和执行模块2300的具体功能,存储器存储有执行上述模块所需的程序代码和各类数据。网络接口用于向用户终端或服务器之间的数据传输。本实施方式中的存储器存储有服务程序发布装置中执行所有子模块所需的程序代码及数据,服务器能够调用服务器的程序代码及数据执行所有子模块的功能。
本发明还提供一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述任一实施例所述服务程序发布方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)等非易失性存储介质,或随机存储记忆体(RandomAccessMemory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种服务程序发布方法,其特征在于,包括以下步骤:
获取发布内容,其中,所述发布内容包括服务程序;
将所述发布内容分配至目标容器,其中,所述目标容器为服务器中与所述服务程序具有映射关系的一个或多个容器;
重启所述目标容器,更新所述目标容器中的内容。
2.如权利要求1所述的服务程序发布方法,其特征在于,所述将所述发布内容分配至目标容器的步骤之前,包括以下步骤:
获取所述发布内容的识别信息,其中,所述识别信息为用于区分并识别不同服务程序的程序识别代码;
根据所述识别信息在服务器中查找与所述识别信息具有映射关系的容器作为所述目标容器;
触发所述目标容器的更新指令,启动所述目标容器的更新流程。
3.如权利要求2所述的服务程序发布方法,其特征在于,服务器中包含多个容器,所述根据所述识别信息在服务器中查找与所述识别信息具有映射关系的容器作为所述目标容器的步骤,包括以下步骤:
获取所有容器的容器信息,其中,所述容器信息包括容器中已有服务程序的程序识别码;
查找所述程序识别码与所述识别信息具有映射关系的对应容器;
定义所述具有映射关系的对应容器为所述目标容器。
4.如权利要求3所述的服务程序发布方法,其特征在于,所述查找所述程序识别码与所述识别信息具有映射关系的对应容器的步骤之后,包括以下步骤:
当查找不到所述对应容器时,获取优先级信息,其中,所述优先级信息包括服务器中各容器的使用优先级;
根据所述容器优先级信息确定其中使用优先级最高的容器为所述目标容器。
5.如权利要求2所述的服务程序发布方法,其特征在于,所述根据所述识别信息在服务器中查找与所述识别信息具有映射关系的容器作为所述目标容器的步骤之后,包括下述步骤:
获取所述目标容器的端口信息,其中,所述端口信息为用于确定容器端口地址的地址码;
根据所述端口信息向所述目标容器发送更新请求。
6.如权利要求1-5任一项所述的服务程序发布方法,其特征在于,所述重启所述目标容器,更新所述目标容器中的内容的步骤,包括下述步骤:
将所述目标容器中的原内容写入指定的存储区域内作为备份内容;
重启所述目标容器;
将所述发布内容写入到所述目标容器中,覆盖所述目标容器中的原内容。
7.如权利要求6所述的服务程序发布方法,其特征在于,所述将所述发布内容写入到所述目标容器中,覆盖所述目标容器中的原内容的步骤之后,包括下述步骤:
判断所述目标容器是否正常启动;
当所述目标容器正常启动时,删除所述指定存储区域内的备份内容;
当所述目标容器无法正常启动时,根据所述指定存储区域内的备份内容恢复所述目标容器的内容。
8.一种服务程序发布装置,其特征在于,包括:
获取模块,用于获取发布内容,其中,所述发布内容包括服务程序;
处理模块,用于将所述发布内容分配至目标容器,其中,所述目标容器为服务器中与所述服务程序具有映射关系的一个或多个容器;
执行模块,用于重启所述目标容器,更新所述目标容器中的内容。
9.一种计算机设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述权利要求1-7任意一项所述的服务程序发布方法。
10.一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行一种服务程序发布方法,所述方法包括上述权利要求1-7任意一项所述的服务程序发布方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910014248.6A CN109918099A (zh) | 2019-01-08 | 2019-01-08 | 服务程序发布方法、装置、计算机设备及存储介质 |
PCT/CN2019/118539 WO2020143324A1 (zh) | 2019-01-08 | 2019-11-14 | 服务程序发布方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910014248.6A CN109918099A (zh) | 2019-01-08 | 2019-01-08 | 服务程序发布方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109918099A true CN109918099A (zh) | 2019-06-21 |
Family
ID=66960211
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910014248.6A Pending CN109918099A (zh) | 2019-01-08 | 2019-01-08 | 服务程序发布方法、装置、计算机设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109918099A (zh) |
WO (1) | WO2020143324A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020143324A1 (zh) * | 2019-01-08 | 2020-07-16 | 平安科技(深圳)有限公司 | 服务程序发布方法、装置、计算机设备及存储介质 |
CN113535203A (zh) * | 2021-07-06 | 2021-10-22 | 海南视联通信技术有限公司 | 服务器升级方法、装置、设备及存储介质 |
CN114363168A (zh) * | 2021-12-21 | 2022-04-15 | 上海众源网络有限公司 | 容器内服务配置修改方法及装置、电子设备及存储介质 |
CN113535203B (zh) * | 2021-07-06 | 2024-06-07 | 海南视联通信技术有限公司 | 服务器升级方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106020930A (zh) * | 2016-05-13 | 2016-10-12 | 深圳市中润四方信息技术有限公司 | 一种基于应用容器的应用管理方法及系统 |
WO2017205220A1 (en) * | 2016-05-23 | 2017-11-30 | William Turner | Hyperconverged system architecture featuring the container-based deployment of virtual machines |
CN108282513A (zh) * | 2017-12-08 | 2018-07-13 | 广州视源电子科技股份有限公司 | 服务器部署方法、系统、存储介质及计算机设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170085653A1 (en) * | 2015-09-22 | 2017-03-23 | Le Holdings (Beijing) Co., Ltd. | Method, device and system for message distribution |
CN108549542A (zh) * | 2018-04-11 | 2018-09-18 | 泰康保险集团股份有限公司 | 一种文件部署方法、装置及设备 |
CN108959046B (zh) * | 2018-06-08 | 2020-10-30 | 联想(北京)有限公司 | 一种信息处理方法、设备及装置 |
CN109918099A (zh) * | 2019-01-08 | 2019-06-21 | 平安科技(深圳)有限公司 | 服务程序发布方法、装置、计算机设备及存储介质 |
-
2019
- 2019-01-08 CN CN201910014248.6A patent/CN109918099A/zh active Pending
- 2019-11-14 WO PCT/CN2019/118539 patent/WO2020143324A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106020930A (zh) * | 2016-05-13 | 2016-10-12 | 深圳市中润四方信息技术有限公司 | 一种基于应用容器的应用管理方法及系统 |
WO2017205220A1 (en) * | 2016-05-23 | 2017-11-30 | William Turner | Hyperconverged system architecture featuring the container-based deployment of virtual machines |
CN108282513A (zh) * | 2017-12-08 | 2018-07-13 | 广州视源电子科技股份有限公司 | 服务器部署方法、系统、存储介质及计算机设备 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020143324A1 (zh) * | 2019-01-08 | 2020-07-16 | 平安科技(深圳)有限公司 | 服务程序发布方法、装置、计算机设备及存储介质 |
CN113535203A (zh) * | 2021-07-06 | 2021-10-22 | 海南视联通信技术有限公司 | 服务器升级方法、装置、设备及存储介质 |
CN113535203B (zh) * | 2021-07-06 | 2024-06-07 | 海南视联通信技术有限公司 | 服务器升级方法、装置、设备及存储介质 |
CN114363168A (zh) * | 2021-12-21 | 2022-04-15 | 上海众源网络有限公司 | 容器内服务配置修改方法及装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2020143324A1 (zh) | 2020-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109684054B (zh) | 信息处理方法及装置、电子设备及存储器 | |
US9213963B2 (en) | Identifying and presenting reminders based on opportunity for interaction | |
US8830913B1 (en) | Location-based software updates | |
US9871756B1 (en) | Methods for displaying notifications | |
CN110569130B (zh) | 一种跨进程通信方法、装置及设备 | |
US10574786B2 (en) | Methods and systems for controlled wireless distribution of data for use at a location without reliable wireless connectivity | |
US8571570B2 (en) | Methods and apparatus for delivering regional parameters | |
US20160004400A1 (en) | Dynamic presentations management | |
CN109062601A (zh) | Mes系统客户端程序更新方法、装置、设备及介质 | |
CN108491322A (zh) | 自动化测试方法、装置及存储介质 | |
US20120232786A1 (en) | Schedule management device and method | |
CN103218705A (zh) | 一种日程提醒方法和装置 | |
CN104394272A (zh) | 根据接收的信息设置提醒的方法和装置 | |
CN109918099A (zh) | 服务程序发布方法、装置、计算机设备及存储介质 | |
CN102306165A (zh) | 船舶电子海图数据多平台共享服务装置及其构建方法 | |
CN110990346A (zh) | 基于区块链的文件数据处理方法、装置、设备及存储介质 | |
CN114780019A (zh) | 电子设备的管理方法、装置、电子设备及存储介质 | |
CN106603289A (zh) | 一种lmt配置文件平滑升级方法 | |
CN102932513B (zh) | 一种名片维护方法、装置及设备 | |
CN110083525A (zh) | 内存泄露的定位方法、装置、计算机设备及存储介质 | |
CN102520973B (zh) | Gps终端配置数据的同步方法及其系统 | |
CN105488082A (zh) | 信息存储方法、装置及终端 | |
CN106789863B (zh) | 一种匹配规则升级方法及装置 | |
CN114915554A (zh) | 远程升级方法、装置、计算机设备和存储介质 | |
CN109828781B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190621 |