CN111596940B - 一种版本升级方法、装置、电子设备及存储介质 - Google Patents

一种版本升级方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN111596940B
CN111596940B CN202010422909.1A CN202010422909A CN111596940B CN 111596940 B CN111596940 B CN 111596940B CN 202010422909 A CN202010422909 A CN 202010422909A CN 111596940 B CN111596940 B CN 111596940B
Authority
CN
China
Prior art keywords
server
upgrade
version
upgrading
installation package
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
CN202010422909.1A
Other languages
English (en)
Other versions
CN111596940A (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.)
Hangzhou Silian Power Technology Co ltd
Original Assignee
Hangzhou Silian Power 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 Hangzhou Silian Power Technology Co ltd filed Critical Hangzhou Silian Power Technology Co ltd
Priority to CN202010422909.1A priority Critical patent/CN111596940B/zh
Publication of CN111596940A publication Critical patent/CN111596940A/zh
Application granted granted Critical
Publication of CN111596940B publication Critical patent/CN111596940B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version 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)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请中提供了一种版本升级方法,应用于第二服务器,该第二服务器与第一服务器通信连接,第一服务器和第二服务器均部署于视联网中,第二服务器通过与第一服务器之间的第一心跳机制判断是否发生版本升级,并在发生版本升级时,获得升级安装包,之后,再通过与第一服务器之间的第二心跳机制判断自身的升级功能是否正常,如果异常,删除当前运行升级安装包的程序,自动回退到原有版本,以保证原有版本的正常运行,避免该程序的运行导致原有的第一服务器的版本替换不成功的现象,实现了第一服务器的版本自适应更新,保证了第一服务器正常工作,进而保证了远程申办业务的正常处理。

Description

一种版本升级方法、装置、电子设备及存储介质
技术领域
本申请涉及信息处理技术领域,特别是涉及一种版本升级方法、装置、电子设备及存储介质。
背景技术
远程申办服务系统是视联网环境下支持居民网上办理业务的系统,位于线下的终端设备与远程申办服务系统远程通信连接,并通过自身内部设置的功能模块接收远程申办服务系统下发的各类业务指令,进而完成各类业务的处理,例如人证比对、身份证识别、拍照、打印等业务的处理。为保证远程申办服务系统的在线业务处理性能,及时对线下的终端设备进行功能性升级必不可少。
然而,相关技术中在升级终端设备时,采取的是在线下载解压替换的方式,即终端设备在下载新版本的升级安装包之后,直接解压并替换掉当前使用的版本,如果升级失败,通过远程申办服务系统的客户端界面提示用户再次上传新版本的升级安装包,直到升级成功。可见,相关技术中的升级方式无法自适应地完成终端处理设备的升级,用户使用体验较差。
发明内容
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的版本升级方法、装置、电子设备及存储介质。
本申请实施例第一方面提供了一种版本升级方法,应用于第二服务器,所述第二服务器与第一服务器通信连接,所述第一服务器和所述第二服务器部署于视联网中,所述方法包括:
通过与所述第一服务器之间的第一心跳机制判断是否发生版本升级;
在发生版本升级时,获得升级安装包;
通过与所述第一服务器之间的第二心跳机制判断升级功能是否正常;
在所述升级功能异常时,删除当前运行所述升级安装包的程序,以保证原有版本的正常运行。
本申请实施例第二方面提供了一种版本升级方法,应用于第一服务器,所述第一服务器分别与客户端和第二服务器通信连接,所述客户端、所述第一服务器以及所述第二服务器部署于视联网中,所述方法包括:
接收所述客户端发送的版本升级请求;
从所述版本升级请求中获得升级安装包并存储;
根据所述升级安装包生成版本信息;
将所述版本信息通过心跳发送给所述第二服务器,以使所述第二服务器根据所述版本信息获得所述升级安装包并进行升级。
本申请实施例第三方面提供了一种版本升级装置,应用于第二服务器,所述第二服务器与第一服务器通信连接,所述第一服务器和所述第二服务器部署于视联网中,所述装置包括:
第一判断模块,用于通过与所述第一服务器之间的第一心跳机制判断是否发生版本升级;
第一获得模块,用于在发生版本升级时,获得升级安装包;
第二判断模块,用于通过与所述第一服务器之间的第二心跳机制判断升级功能是否正常;
删除模块,用于在所述升级功能异常时,删除当前运行所述升级安装包的程序,以保证原有版本的正常运行。
本申请实施例第四方面提供了另一种版本升级装置,应用于第一服务器,所述第一服务器分别与客户端和第二服务器通信连接,所述客户端、所述第一服务器以及所述第二服务器部署于视联网中,所述装置包括:
第一接收模块,用于接收所述客户端发送的版本升级请求;
第二获得模块,用于从所述版本升级请求中获得升级安装包并存储;
生成模块,用于根据所述升级安装包生成版本信息;
第一发送模块,用于将所述版本信息通过心跳发送给所述第二服务器,以使所述第二服务器根据所述版本信息获得所述升级安装包并进行升级。
本申请实施例第五方面提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现本申请第一方面或第二方面所述的版本升级方法的步骤。
本申请实施例第六方面提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请第一方面或第二方面所述的版本升级方法中的步骤。
本申请中提供了一种版本升级方法,应用于第二服务器,该第二服务器与第一服务器通信连接,第一服务器和第二服务器均部署于视联网中,第二服务器通过与第一服务器之间的第一心跳机制判断是否发生版本升级,并在发生版本升级时,获得升级安装包,之后,再通过与第一服务器之间的第二心跳机制判断自身的升级功能是否正常,如果异常,删除当前运行升级安装包的程序,自动回退到原有版本,以保证原有版本的正常运行,避免该程序的运行导致原有的第一服务器的版本替换不成功的现象,实现了第一服务器的版本自适应更新,保证了第一服务器正常工作,进而保证了远程申办业务的正常处理。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍。
图1是本申请一实施例示出的一种版本升级方法的应用环境示意图;
图2是本申请一实施例示出的一种版本升级方法的流程图;
图3是本申请一实施例示出的获得升级安装包的方法的流程图;
图4是本申请一实施例示出的判断升级功能是否正常的方法的流程图;
图5是本申请一实施例示出的判断是否发生版本升级的方法的流程图;
图6是本申请一实施例示出的另一种版本升级的方法的流程图;
图7是本申请一实施例示出的版本升级的方法的原理图;
图8是本申请一实施例示出的版本升级的方法的过程示意图;
图9是本申请一实施例示出的一种版本升级装置的结构框图;
图10是本申请一实施例示出的另一种版本升级装置的结构框图;
图11是本申请一实施例示出的一种视联网的组网示意图;
图12是本申请一实施例示出的一种节点服务器的硬件结构示意图;
图13是本申请一实施例示出的一种接入交换机的硬件结构示意图;
图14是本申请一实施例示出的一种以太网协转网关的硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在对本申请的版本升级方法进行详细说明之前,下面首先对本申请的版本升级方法的应用环境进行简单介绍。
图1是本申请一实施例示出的一种版本升级方法的应用环境示意图。参照图1,远程申办系统和对应的终端设备均部署于视联网中,且相互之间通过视联网服务器进行通信交互。其中,远程申办系统包括申办前端和申办后端服务器,申办前端用于在用户登录远程申办系统后向用户展示操作界面,接收用户的控制命令,并通过视联网服务器将控制命令发送给申办后端服务器,申办后端服务器再通过视联网服务器将控制命令发送给终端设备,终端设备内置有SCU(Smart Control Unit,智慧控制单元)服务器,通过SCU服务器解析控制命令,进而控制终端设备中的其它设备(包括硬件设备和软件设备)进行相应的操作,例如SCU服务器控制其它设备具体执行人证比对、身份证识别、图像采集以及打印等操作。
在相关技术中,在升级SCU服务器时,申办后端服务器通过视联网服务器将升级所使用的安装包在线传输给终端设备的SCU服务器,SCU服务器在下载安装包之后,解压安装包,利用解压得到的安装文件替换掉SCU服务器原有版本的安装文件,从而实现SCU服务器的版本升级,如果升级失败,SCU服务器通过视联网服务器向申办后端服务器返回升级失败的提示,等待申办后端服务器进一步下发的指令而无法自动实现版本的回退以保证终端设备的正常工作。可见,相关技术中的版本升级方法无法实现SCU服务器的版本的自适应更新,无法有效应对版本升级失败的问题,也无法保证相关业务的正常处理,极大地影响了用户的使用体验。
为克服相关技术中的版本升级方法所存在的问题,本申请提供了一种版本升级方法,在运行升级安装包时,SCU服务器主动识别当前的升级功能是否正常,并在出现异常时,及时回退到原有版本,保证SCU服务器正常工作,进而保证终端设备正常工作。
下面将对本申请的版本升级方法进行详细说明。图2是本申请一实施例示出的一种版本升级方法的流程图。参照图2,本申请的版本升级方法应用于第二服务器,所述第二服务器与第一服务器通信连接,所述第一服务器和所述第二服务器部署于视联网中,该方法可以采取如下步骤:
步骤S21:通过与所述第一服务器之间的第一心跳机制判断是否发生版本升级。
在本实施例中,第二服务器为图1所示的SCU服务器,第一服务器为图1所示的申办后端服务器。申办后端服务器创建有用于维护与SCU服务器之间的通信连接的进程,该进程采用第一心跳机制周期性向SCU服务器发送心跳包,并接收SCU服务器针对心跳包返回的响应,以确保申办后端服务器与SCU服务器之间通信连接正常。
在本实施例中,申办后端服务器在每次生成心跳包时,还可以通过在心跳包中添加附加信息以告知SCU服务器是否发生版本升级。示例地,申办后端服务器在检测到用户针对SCU服务器的升级操作时,生成表征已发生版本升级的消息,将该消息作为附加信息添加到心跳包中,如此,SCU服务器通过解析心跳包便可确定已发生版本升级,同理,若申办后端服务器未检测到用户针对SCU服务器的升级操作,生成表征已未发生版本升级的消息,将该消息作为附加信息添加到心跳包中,如此,SCU服务器通过解析心跳包便可确定未发生版本升级。当然,申办后端服务器在检测到用户针对SCU服务器的升级操作时,也可以直接将最新的版本号作为附加信息添加到心跳包中,如此,SCU服务器通过解析心跳包发现存在版本号,便可确定已发生版本升级,且可进一步根据版本号获得最新版本的安装包,或者,申办后端服务器在未检测到用户针对SCU服务器的升级操作时,不在心跳包中添加版本号,如此,SCU服务器通过解析心跳包发现不存在版本号,便可确定未发生版本升级。当然,SCU服务器通过申办后端服务器发送的心跳包判断是否发生版本升级的方法还有其它多种,本申请对此不作具体限制。
步骤S22:在发生版本升级时,获得升级安装包。
在本实施例中,在SCU服务器确定发生版本升级时,可主动获得升级所使用的安装包。其中,SCU服务器获得最新版本的安装包的方式有多种,例如,SCU服务器可以向预先约定的地址发送获取最新版本的安装包的请求以获得安装包,预先约定的地址既可以位于申办后端服务器中,也可以位于视联网中独立于申办后端服务器的第三方平台,本申请实施例对预先约定的地址不作具体限制。
当然,在本实施例中,若申办后端服务器检测到用户针对SCU服务器的升级操作,还可以直接将最新版本的升级安装包发送给SCU服务器,如此,SCU服务器在确定发生版本升级时,可直接将该接收的升级安装包作为此次升级所使用的安装包,本实施例对SCU服务器具体采用何种方式获得升级安装包不作具体限制。
步骤S23:通过与所述第一服务器之间的第二心跳机制判断升级功能是否正常。
在本实施例中,SCU服务器在获得最新版本的安装包之后,创建一个安装进程以运行该安装包,该安装进程用于执行最新版本的SCU服务器的安装任务。同时,SCU服务器还需判断自身的升级功能是否正常,具体地,SCU服务器在创建安装进程之后,创建另一个链接进程,该链接进程采用第二心跳机制向申办后端服务器发送心跳包,如果接收到申办后端服务器返回的预设数量个连续且稳定的针对心跳包的响应,表示该链接进程可与申办后端服务器建立正常链接,可确定SCU服务器的升级功能正常,如果无法接收到申办后端服务器返回的预设数量个连续且稳定的针对心跳包的响应,表示该链接进程无法与申办后端服务器建立正常链接,可确定SCU服务器的升级功能异常。
步骤S24:在所述升级功能异常时,删除当前运行所述升级安装包的程序,以保证原有版本的正常运行。
在本实施例中,当SCU服务器的升级功能正常时,安装进程可成功运行最新版本的安装包,实现SCU服务器的版本的顺利升级;当SCU服务器的升级功能异常时,安装进程无法成功运行最新版本的安装包,无法实现SCU服务器的版本的顺利升级。本实施例在SCU服务器的升级功能异常的情况下,删除当前运行升级安装包的程序,避免该程序的运行导致原有的SCU服务器的版本替换不成功的现象,因而可实现版本的回退,保证SCU服务器正常工作,进而保证终端设备的正常工作,防止对用户的网上申办业务造成影响。
其中,删除当前运行升级安装包的程序具体可以是:终止运行安装包的进程,即SCU服务器的终止运行安装包的安装进程。其次,本实施例在SCU服务器的升级功能正常的情况下,维持当前运行升级安装包的程序,以替换原有版本,具体地,维持当前运行升级安装包的程序可以是:维持运行安装包的安装进程,直到该安装进程完成安装任务,实现SCU服务器的版本的替换。
在本实施例中,申办后端服务器可以采用tomcat服务器(Tomacat是由Apache推出的一款免费开源的Servlet容器,可实现JavaWeb程序的装载,是配置JSP(Java ServerPage)和JAVA系统必备的一款环境,其不仅仅是一个Servlet容器,也具有传统的Web服务器的功能,包括处理Html页面等),充分利用tomcat服务器的特性(运行时占用的系统资源小、扩展性好、支持负载平衡以及邮件服务等开发应用系统常用的功能),保证申办业务的高效处理。
下面将结合图1,以一个具体实施例对上述步骤S21-S24进行详细说明。
在图1中,申办后端服务器在启动后创建一个用于维护与SCU服务器之间的心跳的第一进程,该进程以1s为周期向SCU服务器发送心跳包;当申办后端服务器检测到用户触发的升级操作时,生成表征发生版本升级的消息,在下一秒生成心跳包时将该消息作为附加信息添加到该心跳包中,然后将该心跳包发送给SCU服务器;SCU服务器在接收到该心跳包时,确定发生版本升级,在获得最新版本的安装包,创建一个用于运行该安装包的安装进程和用于验证升级功能的第二进程,第二进程向申办后端服务器发送心跳包(第一进程和第二进程不同,其原理将在后文进行详细说明),以验证自身的升级功能是否正常;SCU服务器在验证自身的升级功能异常之后,终止安装进程,以实现版本的回退,或者,SCU服务器在验证自身的升级功能正常之后,维持安装进程,直到该安装进程完成安装任务,实现SCU服务器的版本的替换。
本实施例中提供了一种版本升级方法,应用于SCU服务器,该SCU服务器与申办后端服务器通信连接,申办后端服务器和SCU服务器均部署于视联网中,SCU服务器通过与申办后端服务器之间的第一心跳机制判断是否发生版本升级,并在发生版本升级时,获得升级安装包,之后,再通过与申办后端服务器之间的第二心跳机制判断自身的升级功能是否正常,如果异常,删除当前运行升级安装包的程序,自动回退到原有版本,以保证原有版本的正常运行,避免该程序的运行导致原有的SCU服务器的版本替换不成功的现象,实现了SCU服务器的版本自适应更新,保证了SCU服务器正常工作,进而保证了终端设备的正常工作。
结合以上实施例,在一种实施方式中,所述第二服务器通过视联网服务器与所述第一服务器通信连接,所述第二服务器中预先配置有升级服务程序,在此基础上,本申请实施例还提供了一种获得升级安装包的方法,如图3所示,图3是本申请一实施例示出的获得升级安装包的方法的流程图。参照图3,上述步骤S22可以包括:
步骤S221:在发生版本升级时,启动所述升级服务程序。
在本实施例中,针对相关技术中的SCU服务器进行了改进,具体地,在SCU服务器中配置了升级服务程序。该升级服务程序主要用于下载新版本的安装包以及运行安装包以实现版本升级。SCU服务器在确定发生版本升级之后,启动升级服务程序,并在版本升级成功之后,关闭升级服务程序。
步骤S222:通过所述升级服务程序,向所述视联网服务器发送升级安装包获取请求,所述视联网服务器用于向所述第一服务器请求所述升级安装包。
在本实施例中,申办后端服务器可以在启动后告知SCU服务器获得升级安装包的地址。可选地,该地址可以位于申办后端服务器中,即:SCU服务器需向申办后端服务器请求升级安装包,在此种情况下,SCU服务器可以通过升级服务程序,向视联网服务器发送升级安装包获取请求,由视联网服务器向申办后端服务器请求升级安装包。
步骤S223:通过所述升级服务程序,接收所述视联网服务器响应于所述升级安装包获取请求返回的升级安装包。
在本实施例中,视联网服务器在从申办后端服务器获取到升级安装包后,将该升级安装包返回给SCU服务器。
通过本实施例提供的获得升级安装包的方法,可以使得SCU服务器在确定发生版本升级后获得相应的升级安装包,保证了后续版本升级任务的顺利执行,实现了对SCU服务器的功能的更新,完善了终端设备的业务处理性能。同时通过视联网服务器的中转实现升级安装包的获取,可充分利用视联网协议高度安全的特性,可证业务交互过程的安全性。
结合以上实施例,在一种实施方式中,所述升级服务程序中配置有自启动服务程序,所述自启动服务程序用于运行所述升级安装包。在此基础上,本申请实施例还提供了一种判断升级功能是否正常的方法,如图4所示,图4是本申请一实施例示出的判断升级功能是否正常的方法的流程图。参照图4,上述步骤S23可以包括:
步骤S231:启动所述自启动服务程序。
在本实施例中,自启动服务程序为升级服务程序中的子程序,升级服务程序在下载得到升级安装包之后,启动该自启动服务程序,通过该自启动服务程序创建运行该升级安装包的安装进程,并等待执行安装任务。
步骤S232:通过所述自启动服务程序,向所述第一服务器发送验证心跳包。
在本实施例中,自启动服务程序在创建好运行升级安装包的安装进程之后,还需要创建另外一个链接进程,通过该链接进程向申办后端服务器发送验证心跳包,以验证自身升级功能是否正常。
在本实施例中,安装进程在创建之后,进入等待状态,此时,创建链接进程,当链接进程运行结束后,再根据链接进程的运行结果决定是否运行安装进程。
其中,自启动服务程序向申办后端服务器发送验证心跳包,是用于验证自启动服务程序本身与申办后端服务器之间的链接的,而申办后端服务器向SCU服务器发送的心跳包,是用于验证申办后端服务器与SCU服务器的程序(即:SCU程序)之间的链接的,由于自启动服务程序是SCU服务器的程序中的一部分,且仅在响应升级服务程序的调用指令时启动,SCU服务器的程序能与申办后端服务器正常建立链接,不表示自启动服务程序能与申办后端服务器正常建立链接,因而,自启动服务程序需单独创建进程(即:链接进程)来向申办后端服务器发送验证心跳包,以验证自身能否与申办后端服务器正常建立链接,而无法使用申办后端服务器向SCU服务器发送的心跳包来验证自身能否与申办后端服务器正常建立链接。因而,为区分申办后端服务器向SCU程序发送的心跳,与自启动服务程序向申办后端服务器发送的心跳,本申请实施例将SCU程序与申办后端服务器之间的心跳机制称为第一心跳机制,将自启动服务程序和申办后端服务器之间的心跳机制称为第二心跳机制。自启动服务程序主动创建链接进程并向申办后端服务器发送心跳的过程,实际上就是模拟SCU程序与申办后端服务器之间的心跳的过程,本申请实施例正是通过这种模拟方法实现了对SCU服务器的自身的升级功能的验证,进而保证SCU服务器能在升级失败时自动回退版本,实现版本的自适应更新。
步骤S233:当所述自启动服务程序连续接收到预设数量个第一响应时,确定升级功能正常,所述第一响应为第一服务器在预设时长内针对所述验证心跳包返回的响应。
在本实施例中,如果自启动服务程序连续接收到预设数量个第一响应,确定升级功能正常,其中,第一响应为第一服务器在预设时长内针对验证心跳包返回的响应。
步骤S234:当所述自启动服务程序未连续接收到预设数量个所述第一响应时,确定升级功能异常。
反之,如果自启动服务程序未连续接收到预设数量个第一响应,确定升级功能正常,确定升级功能异常。
相应地,删除当前运行所述升级安装包的程序,可以包括:
终止所述自启动服务程序中针对所述升级安装包的进程。即:终止自启动服务程序针对升级安装包创建的安装进程。
在本实施例中,SCU服务器可以为linux服务器,自启动服务程序可以包括:supervisord自启动程序和linux自启动服务程序,supervisord自启动程序可以是第三方服务子程序,linux自启动服务程序为SCU服务器自身的服务子程序,自启动服务程序可以通过supervisord自启动程序创建链接进程,通过该链接进程向申办后端服务器发送验证心跳包,自启动服务程序可以通过linux自启动服务程序创建安装进程,通过该安装进程运行安装包。
通过本实施例提供的判断升级功能是否正常的方法,可确定SCU服务器自身的升级功能是否可以使用,在不可使用时实现版本的自动回退,在可使用时实现版本的替换,进而保证SCU服务器可以自适应更新版本文件,增强了SCU服务器本身的性能,进而强化了终端设备的业务处理性能,增强了用户的使用体验。
结合以上实施例,在一种实施方式中,本申请实施例还提供了一种可选的判断是否发生版本升级的方法,如图5所示,图5是本申请一实施例示出的判断是否发生版本升级的方法的流程图。参照图5,上述步骤S21可以包括:
步骤S211:接收所述第一服务器针对所述第二服务器发送的心跳包。
步骤S212:从所述心跳包中获得版本信息。
步骤S213:在所述版本信息发生变更时,确定发生版本升级;
步骤S214:在所述版本信息未发生变更时,确定未发生版本升级。
在本实施例中,申办后端服务器中设置有数据库,该数据库中存储有关于SCU服务器的各个版本信息,申办后端服务器在每次生成心跳包时,从数据库中读取最新的版本信息,将该最新的版本信息作为附件信息添加到心跳包中,并发送至SCU服务器。如此,SCU服务器每次在接收到心跳包时,解析心跳包并获得其中携带的最新的版本信息,根据该最新的版本信息对自身的版本信息做对比,即可确定是否发生版本升级,具体地,SCU服务器在检测到心跳包中的版本信息与自身的版本信息不一致时,确定发生版本升级,在检测到心跳包中的版本信息与自身的版本信息一致时,确定未发生版本升级。
通过本实施例提供的判断是否发生版本升级的方法,SCU服务器可及时确定是否发生版本升级,以便进一步获得升级安装包并执行升级任务。
本申请实施例还提供了一种版本升级方法,应用于图1所示的申办后端服务器,申办后端服务器分别与客户端和SCU服务器通信连接,所述客户端、所述申办后端服务器以及所述SCU服务器均部署于视联网中,图6是本申请一实施例示出的另一种版本升级的方法的流程图。参照图6,本申请的另一种版本升级方法可以包括如下步骤:
步骤S61:接收所述客户端发送的版本升级请求;
步骤S62:从所述版本升级请求中获得升级安装包并存储;
步骤S63:根据所述升级安装包生成版本信息;
步骤S64:将所述版本信息通过心跳发送给所述第二服务器,以使所述第二服务器根据所述版本信息获得所述升级安装包并进行升级。
在本实施例中,当用户需要升级SCU服务器的版本时,可通过远程申办系统的客户端(PC版客户端或者移动版客户端)登录远程申办系统,登录后在系统中选择升级SCU服务器的选项,并上传升级安装包,或者指定升级安装包的版本号以及存储地址,如此,申办根据用户上传的升级安装包或者指定升级安装包的版本号以及存储地址,生成版本升级请求,并将版本升级请求发送给申办后端服务器,申办后端服务器在接收到版本升级请求之后,解析版本升级请求,并从解析得到的文件中获得升级安装包并存储到数据库中。由于申办后端服务器创建有用于维护与第一服务器之间的心跳的进程,该进程每次在生成心跳包时,从数据库中读取最新的版本信息,将该最新的版本信息作为附件信息添加到心跳包之后,再将心跳包发送至SCU服务器。如此,SCU服务器每次在接收到心跳包时,解析心跳包并获得其中携带的最新的版本信息,根据该最新的版本信息对自身的版本信息做对比,即可确定是否发生版本升级,并在确定发生版本升级之时,进一步获得最新版本的安装包并执行升级任务,该升级过程具体可参照前文所述,本实施例在此不作赘述。
在本实施例中,远程申办系统还可以支持预约升级,用户在系统中选择升级SCU服务器的选项,并上传升级安装包,或者指定升级安装包的版本号以及存储地址之后,还可以选择升级时间,如此,申办后端服务器在生成针对SCU服务器的心跳包时,还可以同时将升级时间添加到心跳包中,使得SCU服务器在解析心跳包之后,在指定时间获得升级安装包并执行升级任务。
在本实施例中,SCU服务器在升级成功时,会通过视联网服务器将向远程申办系统(包括申办前端可申办后端服务器)发送表示升级成功的消息,SCU服务器在升级失败时,会通过视联网服务器将向远程申办系统发送表示升级失败的消息,如此,申办后端服务器可以存储SCU服务器的升级日志,以便于后续对升级服务的评价和改进。其中,SCU服务器在向申办前端返回升级成功或者失败的消息时,可以通过与申办前端建立的websocket通道实现消息的推送。
在本实施例中,升级服务程序既可以配置在SCU服务器中,以强化SCU服务器自身的服务器性能,也可以配置在第三方平台,当SCU服务器在检测到发生版本升级时,通过将升级任务委托给第三方平台,使得第三方平台启动升级任务程序以完成SCU服务器的版本升级,如此,可降低SCU服务器的运行压力。当然,具体采取何种方式配置升级服务程序可根据实际需求设置,本申请实施例对此不作具体限制。
可选地,所述第一服务器通过视联网服务器与所述第二服务器通信连接;在将所述版本信息通过心跳发送给所述第二服务器之后,本申请的版本升级方法还包括:
接收所述第二服务器通过所述视联网服务器发送的升级安装包获取请求,所述升级安装包获取请求是所述第二服务器在根据所述版本信息确定发生版本升级之后生成的;
响应于所述升级安装包获取请求,获得升级安装包;
通过所述视联网服务器,将所述升级安装包发送给所述第二服务器。
关于SCU服务器向申办后端服务器请求升级安装包的具体步骤可参照前文所述,本申请对此不作赘述。
可选地,在通过所述视联网服务器,将所述升级安装包发送给所述第二服务器之后,本申请的版本升级方法还包括:
接收所述第二服务器通过所述视联网服务器发送的验证心跳包;
响应于所述验证心跳包,通过所述视联网服务器向所述第二服务器返回心跳响应包,以使所述第二服务器根据所述心跳响应包判断自身的升级功能是否正常,并在升级功能异常时,删除当前运行所述升级安装包的程序,以保证原有版本的正常运行。
关于SCU服务器向申办后端服务器发送验证心跳包以判断自身的升级功能是否正常的具体步骤可参照前文所述,本申请对此不作赘述。
图7是本申请一实施例示出的版本升级的方法的原理图。在图7中,申办前端在检测到用户在页面上发起的升级SCU服务器的版本的操作时,生成版本升级请求,将版本升级请求发送给申办后端服务器,申办后端服务器根据版本升级请求获得最新的版本信息,再根据最新的版本信息生成心跳包,将心跳包发送给SCU服务器,SCU服务器解析心跳包之后确定发生版本升级,启动升级服务程序,通过升级服务程序完成此次用户指定的升级任务的处理(升级服务程序处理升级任务的具体步骤可参照前文所述,本实施例在此不作具体赘述),升级服务程序在版本升级成功时,向申办前端返回表示升级成功的消息,同时在版本升级失败时,向申办前端返回表示升级失败的消息。
图8是本申请一实施例示出的版本升级的方法的过程示意图。在图8中,用户通过申办前端发起升级操作,申办前端在检测到用户的升级操作之后生成post请求类型的版本升级请求,将该版本升级请求发送给向申办后端服务器;申办后端服务器采取websocket协议与SCU服务器建立心跳连接,在接收到版本升级请求后,根据版本升级请求获得最新的版本信息,再根据最新的版本信息生成心跳包,将心跳包通过websocket通道发送给SCU服务器,SCU服务器启动升级服务程序,该升级服务程序通过视联网服务器从申办后端服务器中获得最新版本的安装包,之后,升级服务程序启动自启动服务程序,通过该自启动服务程序创建一个安装进程以运行该最新版本的安装包,同时,自启动服务程序还创建一个链接进程,该链接进程采用websocket协议与申办后端服务器建立心跳连接,通过建立的websocket通道向申办后端服务器发送验证心跳包,若接收到申办后端服务器返回的预设数量个连续且稳定的响应包,可确定自身的升级功能正常(即自启动服务程序可正常运行),那么继续保持安装进程的运行,直到完成最新版本的安装以实现原有版本的替换,并在运行成功后向申办前端发送升级成功的消息,如果未接收到申办后端服务器返回的预设数量个连续且稳定的响应包,可确定自身的升级功能异常,那么终止安装进程的运行,并向申办前端发送升级失败的消息。
本实施例中提供了一种版本升级方法,应用于SCU服务器,该SCU服务器与申办后端服务器通信连接,申办后端服务器和SCU服务器均部署于视联网中,SCU服务器通过与申办后端服务器之间的第一心跳机制判断是否发生版本升级,并在发生版本升级时,获得升级安装包,之后,再通过与申办后端服务器之间的第二心跳机制判断自身的升级功能是否正常,如果异常,删除当前运行升级安装包的程序,自动回退到原有版本,以保证原有版本的正常运行,避免该程序的运行导致原有的SCU服务器的版本替换不成功的现象,实现了SCU服务器的版本自适应更新,保证了SCU服务器正常工作,进而保证了终端设备的正常工作。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
基于同一发明构思,本申请还提供了一种版本升级装置900,如图9所示。所述版本升级装置900应用于第二服务器,所述第二服务器与第一服务器通信连接,所述第一服务器和所述第二服务器部署于视联网中。图9是本申请一实施例示出的一种版本升级装置的结构框图。参照图9,版本升级装置900可以包括:
第一判断模块901,用于通过与所述第一服务器之间的第一心跳机制判断是否发生版本升级;
第一获得模块902,用于在发生版本升级时,从所述第一服务器获得升级安装包;
第二判断模块903,用于通过与所述第一服务器之间的第二心跳机制判断升级功能是否正常;
删除模块904,用于在所述升级功能异常时,删除当前运行所述升级安装包的程序,以保证原有版本的正常运行。
可选地,所述第二服务器通过视联网服务器与所述第一服务器通信连接,所述第二服务器中预先配置有升级服务程序;所述第一获得模块902包括:
第一启动子模块,用于在发生版本升级时,启动所述升级服务程序;
第一发送子模块,用于通过所述升级服务程序,向所述视联网服务器发送升级安装包获取请求,所述视联网服务器用于向所述第一服务器请求所述升级安装包;
第一接收子模块,用于通过所述升级服务程序,接收所述视联网服务器响应于所述升级安装包获取请求返回的升级安装包。
可选地,所述升级服务程序中配置有自启动服务程序,所述自启动服务程序用于运行所述升级安装包;所述第二判断模块903包括:
第二启动子模块,用于启动所述自启动服务程序;
第二发送子模块,用于通过所述自启动服务程序,向所述第一服务器发送验证心跳包;
第一确定子模块,用于当所述自启动服务程序连续接收到预设数量个第一响应时,确定升级功能正常,所述第一响应为第一服务器在预设时长内针对所述验证心跳包返回的响应;
第二确定子模块,用于当所述自启动服务程序未连续接收到预设数量个所述第一响应时,确定升级功能异常;
所述删除模块904包括:
终止模块,用于终止所述自启动服务程序中针对所述升级安装包的进程。
可选地,所述第一判断模块901包括:
第二接收子模块,用于接收所述第一服务器针对所述第二服务器发送的心跳包;
获得子模块,用于从所述心跳包中获得版本信息;
第三确定子模块,用于在所述版本信息发生变更时,确定发生版本升级,
第四确定子模块,用于在所述版本信息未发生变更时,确定未发生版本升级。
可选地,所述装置900还包括:
替换模块,用于在所述升级功能正常时,维持当前运行所述升级安装包的程序,以替换原有版本。
基于同一发明构思,本申请还提供了另一种版本升级装置1000,如图10所示。所述版本升级装置装置1000应用于第一服务器,所述第一服务器分别与客户端和第二服务器通信连接,所述客户端、所述第一服务器以及所述第二服务器部署于视联网中。图10是本申请一实施例示出的另一种版本升级装置的结构框图。参照图10,版本升级装置1000可以包括:
第一接收模块1001,用于接收所述客户端发送的版本升级请求;
第二获得模块1002,用于从所述版本升级请求中获得升级安装包并存储;
生成模块1003,用于根据所述升级安装包生成版本信息;
第一发送模块1004,用于将所述版本信息通过心跳发送给所述第二服务器,以使所述第二服务器根据所述版本信息获得所述升级安装包并进行升级。
可选地,所述版本升级装置1000还包括:
第二接收模块,用于接收所述第二服务器通过所述视联网服务器发送的升级安装包获取请求,所述升级安装包获取请求是所述第二服务器在根据所述版本信息确定发生版本升级之后生成的;
第一响应模块,用于响应于所述升级安装包获取请求,获得升级安装包;
第二发送模块,用于通过所述视联网服务器,将所述升级安装包发送给所述第二服务器。
可选地,所述版本升级装置1000还包括:
第三接收模块,用于接收所述第二服务器通过所述视联网服务器发送的验证心跳包;
第二响应模块,用于响应于所述验证心跳包,通过所述视联网服务器向所述第二服务器返回心跳响应包,以使所述第二服务器根据所述心跳响应包判断自身的升级功能是否正常,并在升级功能异常时,删除当前运行所述升级安装包的程序,以保证原有版本的正常运行。
基于同一发明构思,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现本申请上述任一实施例所述的版本升级方法中的步骤。
基于同一发明构思,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请上述任一实施例所述的版本升级方法中的步骤。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
视联网是网络发展的重要里程碑,是一个实时网络,能够实现高清视频实时传输,将众多互联网应用推向高清视频化,高清面对面。
视联网采用实时高清视频交换技术,可以在一个网络平台上将所需的服务,如高清视频会议、视频监控、智能化监控分析、应急指挥、数字广播电视、延时电视、网络教学、现场直播、VOD点播、电视邮件、个性录制(PVR)、内网(自办)频道、智能化视频播控、信息发布等数十种视频、语音、图片、文字、通讯、数据等服务全部整合在一个系统平台,通过电视或电脑实现高清品质视频播放。
为使本领域技术人员更好地理解本发明实施例,以下对视联网进行介绍:
视联网所应用的部分技术如下所述:
网络技术(Network Technology)
视联网的网络技术创新改良了传统以太网(Ethernet),以面对网络上潜在的巨大视频流量。不同于单纯的网络分组包交换(Packet Switching)或网络电路交换(CircuitSwitching),视联网技术采用Packet Switching满足Streaming需求。视联网技术具备分组交换的灵活、简单和低价,同时具备电路交换的品质和安全保证,实现了全网交换式虚拟电路,以及数据格式的无缝连接。
交换技术(Switching Technology)
视联网采用以太网的异步和包交换两个优点,在全兼容的前提下消除了以太网缺陷,具备全网端到端无缝连接,直通用户终端,直接承载IP数据包。用户数据在全网范围内不需任何格式转换。视联网是以太网的更高级形态,是一个实时交换平台,能够实现目前互联网无法实现的全网大规模高清视频实时传输,将众多网络视频应用推向高清化、统一化。
服务器技术(Server Technology)
视联网和统一视频平台上的服务器技术不同于传统意义上的服务器,它的流媒体传输是建立在面向连接的基础上,其数据处理能力与流量、通讯时间无关,单个网络层就能够包含信令及数据传输。对于语音和视频业务来说,视联网和统一视频平台流媒体处理的复杂度比数据处理简单许多,效率比传统服务器大大提高了百倍以上。
储存器技术(Storage Technology)
统一视频平台的超高速储存器技术为了适应超大容量和超大流量的媒体内容而采用了最先进的实时操作系统,将服务器指令中的节目信息映射到具体的硬盘空间,媒体内容不再经过服务器,瞬间直接送达到用户终端,用户等待一般时间小于0.2秒。最优化的扇区分布大大减少了硬盘磁头寻道的机械运动,资源消耗仅占同等级IP互联网的20%,但产生大于传统硬盘阵列3倍的并发流量,综合效率提升10倍以上。
网络安全技术(Network Security Technology)
视联网的结构性设计通过每次服务单独许可制、设备与用户数据完全隔离等方式从结构上彻底根除了困扰互联网的网络安全问题,一般不需要杀毒程序、防火墙,杜绝了黑客与病毒的攻击,为用户提供结构性的无忧安全网络。
服务创新技术(Service Innovation Technology)
统一视频平台将业务与传输融合在一起,不论是单个用户、私网用户还是一个网络的总合,都不过是一次自动连接。用户终端、机顶盒或PC直接连到统一视频平台,获得丰富多彩的各种形态的多媒体视频服务。统一视频平台采用“菜谱式”配表模式来替代传统的复杂应用编程,可以使用非常少的代码即可实现复杂的应用,实现“无限量”的新业务创新。
视联网的组网如下所述:
视联网是一种集中控制的网络结构,该网络可以是树型网、星型网、环状网等等类型,但在此基础上网络中需要有集中控制节点来控制整个网络。
图11是本申请一实施例示出的一种视联网的组网示意图。如图11所示,视联网分为接入网和城域网两部分。
接入网部分的设备主要可以分为3类:节点服务器,接入交换机,终端(包括各种机顶盒、编码板、存储器等)。节点服务器与接入交换机相连,接入交换机可以与多个终端相连,并可以连接以太网。
其中,节点服务器是接入网中起集中控制功能的节点,可控制接入交换机和终端。节点服务器可直接与接入交换机相连,也可以直接与终端相连。
类似的,城域网部分的设备也可以分为3类:城域服务器,节点交换机,节点服务器。城域服务器与节点交换机相连,节点交换机可以与多个节点服务器相连。
其中,节点服务器即为接入网部分的节点服务器,即节点服务器既属于接入网部分,又属于城域网部分。
城域服务器是城域网中起集中控制功能的节点,可控制节点交换机和节点服务器。城域服务器可直接连接节点交换机,也可直接连接节点服务器。
由此可见,整个视联网络是一种分层集中控制的网络结构,而节点服务器和城域服务器下控制的网络可以是树型、星型、环状等各种结构。
形象地称,接入网部分可以组成统一视频平台(虚线圈中部分),多个统一视频平台可以组成视联网;每个统一视频平台可以通过城域以及广域视联网互联互通。
视联网设备分类
1.1本发明实施例的视联网中的设备主要可以分为3类:服务器,交换机(包括以太网网关),终端(包括各种机顶盒,编码板,存储器等)。视联网整体上可以分为城域网(或者国家网、全球网等)和接入网。
1.2其中接入网部分的设备主要可以分为3类:节点服务器,接入交换机(包括以太网网关),终端(包括各种机顶盒,编码板,存储器等)。
各接入网设备的具体硬件结构为:
节点服务器:
图12是本申请一实施例示出的一种节点服务器的硬件结构示意图。如图12所示,主要包括网络接口模块201、交换引擎模块202、CPU模块203、磁盘阵列模块204;
其中,网络接口模块201,CPU模块203、磁盘阵列模块204进来的包均进入交换引擎模块202;交换引擎模块202对进来的包进行查地址表205的操作,从而获得包的导向信息;并根据包的导向信息把该包存入对应的包缓存器206的队列;如果包缓存器206的队列接近满,则丢弃;交换引擎模202轮询所有包缓存器队列,如果满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零。磁盘阵列模块204主要实现对硬盘的控制,包括对硬盘的初始化、读写等操作;CPU模块203主要负责与接入交换机、终端(图中未示出)之间的协议处理,对地址表205(包括下行协议包地址表、上行协议包地址表、数据包地址表)的配置,以及,对磁盘阵列模块204的配置。
接入交换机:
图13是本申请一实施例示出的一种接入交换机的硬件结构示意图。如图13所示,主要包括网络接口模块(下行网络接口模块301、上行网络接口模块302)、交换引擎模块303和CPU模块304;
其中,下行网络接口模块301进来的包(上行数据)进入包检测模块305;包检测模块305检测包的目地地址(DA)、源地址(SA)、数据包类型及包长度是否符合要求,如果符合,则分配相应的流标识符(stream-id),并进入交换引擎模块303,否则丢弃;上行网络接口模块302进来的包(下行数据)进入交换引擎模块303;CPU模块304进来的数据包进入交换引擎模块303;交换引擎模块303对进来的包进行查地址表306的操作,从而获得包的导向信息;如果进入交换引擎模块303的包是下行网络接口往上行网络接口去的,则结合流标识符(stream-id)把该包存入对应的包缓存器307的队列;如果该包缓存器307的队列接近满,则丢弃;如果进入交换引擎模块303的包不是下行网络接口往上行网络接口去的,则根据包的导向信息,把该数据包存入对应的包缓存器307的队列;如果该包缓存器307的队列接近满,则丢弃。
交换引擎模块303轮询所有包缓存器队列,在本发明实施例中分两种情形:
如果该队列是下行网络接口往上行网络接口去的,则满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零;3)获得码率控制模块产生的令牌;
如果该队列不是下行网络接口往上行网络接口去的,则满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零。
码率控制模块308是由CPU模块304来配置的,在可编程的间隔内对所有下行网络接口往上行网络接口去的包缓存器队列产生令牌,用以控制上行转发的码率。
CPU模块304主要负责与节点服务器之间的协议处理,对地址表306的配置,以及,对码率控制模块308的配置。
以太网协转网关
图14是本申请一实施例示出的一种以太网协转网关的硬件结构示意图。如图14所示,主要包括网络接口模块(下行网络接口模块401、上行网络接口模块402)、交换引擎模块403、CPU模块404、包检测模块405、码率控制模块408、地址表406、包缓存器407和MAC添加模块409、MAC删除模块410。
其中,下行网络接口模块401进来的数据包进入包检测模块405;包检测模块405检测数据包的以太网MAC DA、以太网MAC SA、以太网length or frame type、视联网目地地址DA、视联网源地址SA、视联网数据包类型及包长度是否符合要求,如果符合则分配相应的流标识符(stream-id);然后,由MAC删除模块410减去MAC DA、MAC SA、length or frame type(2byte),并进入相应的接收缓存,否则丢弃;
下行网络接口模块401检测该端口的发送缓存,如果有包则根据包的视联网目地地址DA获知对应的终端的以太网MAC DA,添加终端的以太网MAC DA、以太网协转网关的MACSA、以太网length or frame type,并发送。
以太网协转网关中其他模块的功能与接入交换机类似。
终端:
主要包括网络接口模块、业务处理模块和CPU模块;例如,机顶盒主要包括网络接口模块、视音频编解码引擎模块、CPU模块;编码板主要包括网络接口模块、视音频编码引擎模块、CPU模块;存储器主要包括网络接口模块、CPU模块和磁盘阵列模块。
1.3城域网部分的设备主要可以分为2类:节点服务器,节点交换机,城域服务器。其中,节点交换机主要包括网络接口模块、交换引擎模块和CPU模块;城域服务器主要包括网络接口模块、交换引擎模块和CPU模块构成。
2、视联网数据包定义
2.1接入网数据包定义
接入网的数据包主要包括以下几部分:目的地址(DA)、源地址(SA)、保留字节、payload(PDU)、CRC。
如下表所示,接入网的数据包主要包括以下几部分:
DA SA Reserved Payload CRC
其中:
目的地址(DA)由8个字节(byte)组成,第一个字节表示数据包的类型(例如各种协议包、组播数据包、单播数据包等),最多有256种可能,第二字节到第六字节为城域网地址,第七、第八字节为接入网地址;
源地址(SA)也是由8个字节(byte)组成,定义与目的地址(DA)相同;
保留字节由2个字节组成;
payload部分根据不同的数据报的类型有不同的长度,如果是各种协议包的话是64个字节,如果是单组播数据包话是32+1024=1056个字节,当然并不仅仅限于以上2种;
CRC有4个字节组成,其计算方法遵循标准的以太网CRC算法。
2.2城域网数据包定义
城域网的拓扑是图型,两个设备之间可能有2种、甚至2种以上的连接,即节点交换机和节点服务器、节点交换机和节点交换机、节点交换机和节点服务器之间都可能超过2种连接。但是,城域网设备的城域网地址却是唯一的,为了精确描述城域网设备之间的连接关系,在本发明实施例中引入参数:标签,来唯一描述一个城域网设备。
本说明书中标签的定义和MPLS(Multi-Protocol Label Switch,多协议标签交换)的标签的定义类似,假设设备A和设备B之间有两个连接,那么数据包从设备A到设备B就有2个标签,数据包从设备B到设备A也有2个标签。标签分入标签、出标签,假设数据包进入设备A的标签(入标签)是0x0000,这个数据包离开设备A时的标签(出标签)可能就变成了0x0001。城域网的入网流程是集中控制下的入网过程,也就意味着城域网的地址分配、标签分配都是由城域服务器主导的,节点交换机、节点服务器都是被动的执行而已,这一点与MPLS的标签分配是不同的,MPLS的标签分配是交换机、服务器互相协商的结果。
如下表所示,城域网的数据包主要包括以下几部分:
DA SA Reserved 标签 Payload CRC
即目的地址(DA)、源地址(SA)、保留字节(Reserved)、标签、payload(PDU)、CRC。其中,标签的格式可以参考如下定义:标签是32bit,其中高16bit保留,只用低16bit,它的位置是在数据包的保留字节和payload之间。
基于视联网的上述特性,提出了本发明实施例的核心构思之一,遵循视联网的协议,本申请中提供了一种版本升级方法,应用于第二服务器,该第二服务器与第一服务器通信连接,第一服务器和第二服务器均部署于视联网中,第二服务器通过与第一服务器之间的第一心跳机制判断是否发生版本升级,并在发生版本升级时,获得升级安装包,之后,再通过与第一服务器之间的第二心跳机制判断自身的升级功能是否正常,如果异常,删除当前运行升级安装包的程序,自动回退到原有版本,以保证原有版本的正常运行,避免该程序的运行导致原有的第一服务器的版本替换不成功的现象。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种版本升级方法、装置、电子设备及存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种版本升级方法,其特征在于,应用于第二服务器,所述第二服务器与第一服务器通信连接,所述第一服务器和所述第二服务器部署于视联网中,所述方法包括:
通过与所述第一服务器之间的第一心跳机制中心跳包携带的版本号判断是否发生版本升级;
在发生版本升级时,获得升级安装包;
通过与所述第一服务器之间的第二心跳机制判断升级功能是否正常;
在所述升级功能异常时,删除当前运行所述升级安装包的程序,以保证原有版本的正常运行;其中,判断所述升级功能是否正常包括:
启动自启动服务程序,所述自启动服务程序用于创建安装进程与链接进程;
在所述安装进程与所述链接进程创建完成之后,所述安装进程进入等待状态,运行所述链接进程,并根据所述链接进程的运行结果判断是否启动所述安装进程;通过所述链接进程向所述第一服务器发送验证心跳包,验证所述自启动服务程序与所述第一服务器是否正常建立链接;当所述自启动服务程序与所述第一服务器没有正常建立链接时,判定所述升级功能异常;所述安装进程用于运行所述升级安装包,执行安装任务。
2.根据权利要求1所述的方法,其特征在于,所述第二服务器通过视联网服务器与所述第一服务器通信连接,所述第二服务器中预先配置有升级服务程序;
在发生版本升级时,获得升级安装包,包括:
在发生版本升级时,启动所述升级服务程序;
通过所述升级服务程序,向所述视联网服务器发送升级安装包获取请求,所述视联网服务器用于向所述第一服务器请求所述升级安装包;
通过所述升级服务程序,接收所述视联网服务器响应于所述升级安装包获取请求返回的升级安装包。
3.根据权利要求2所述的方法,其特征在于,所述升级服务程序中配置有所述自启动服务程序,所述自启动服务程序用于运行所述升级安装包;
通过与所述第一服务器之间的第二心跳机制判断升级功能是否正常,包括:
启动所述自启动服务程序;
通过所述自启动服务程序,向所述第一服务器发送验证心跳包;
当所述自启动服务程序连续接收到预设数量个第一响应时,确定升级功能正常,所述第一响应为第一服务器在预设时长内针对所述验证心跳包返回的响应;
当所述自启动服务程序未连续接收到预设数量个所述第一响应时,确定升级功能异常;
删除当前运行所述升级安装包的程序,包括:
终止所述自启动服务程序中针对所述升级安装包的进程。
4.根据权利要求1所述的方法,其特征在于,通过与所述第一服务器之间的第一心跳机制判断是否发生版本升级,包括:
接收所述第一服务器针对所述第二服务器发送的心跳包;
从所述心跳包中获得版本信息;
在所述版本信息发生变更时,确定发生版本升级;
在所述版本信息未发生变更时,确定未发生版本升级。
5.一种版本升级方法,其特征在于,应用于第一服务器,所述第一服务器分别与客户端和第二服务器通信连接,所述客户端、所述第一服务器以及所述第二服务器部署于视联网中,所述方法包括:
接收所述客户端发送的版本升级请求;
从所述版本升级请求中获得升级安装包并存储;
根据所述升级安装包生成版本信息;
将所述版本信息通过心跳发送给所述第二服务器,以使所述第二服务器根据所述版本信息获得所述升级安装包并进行升级;
在通过视联网服务器,将所述升级安装包发送给所述第二服务器之后,所述方法还包括:
接收所述第二服务器通过所述视联网服务器发送的验证心跳包;
响应于所述验证心跳包,通过所述视联网服务器向所述第二服务器返回心跳响应包,以使所述第二服务器根据所述心跳响应包判断自身的升级功能是否正常,并在升级功能异常时,删除当前运行所述升级安装包的程序,以保证原有版本的正常运行;其中,判断所述升级功能是否正常包括:
启动自启动服务程序,所述自启动服务程序用于创建安装进程与链接进程;
在所述安装进程与所述链接进程创建完成之后,所述安装进程进入等待状态,运行所述链接进程,并根据所述链接进程的运行结果判断是否启动所述安装进程;通过所述链接进程向所述第一服务器发送验证心跳包,验证所述自启动服务程序与所述第一服务器是否正常建立链接;当所述自启动服务程序与所述第一服务器没有正常建立链接时,判定所述升级功能异常;所述安装进程用于运行所述升级安装包,执行安装任务。
6.根据权利要求5所述的方法,其特征在于,所述第一服务器通过视联网服务器与所述第二服务器通信连接;在将所述版本信息通过心跳发送给所述第二服务器之后,所述方法还包括:
接收所述第二服务器通过所述视联网服务器发送的升级安装包获取请求,所述升级安装包获取请求是所述第二服务器在根据所述版本信息确定发生版本升级之后生成的;
响应于所述升级安装包获取请求,获得升级安装包;
通过所述视联网服务器,将所述升级安装包发送给所述第二服务器。
7.一种版本升级装置,其特征在于,应用于第二服务器,所述第二服务器与第一服务器通信连接,所述第一服务器和所述第二服务器部署于视联网中,所述装置包括:
第一判断模块,用于通过与所述第一服务器之间的第一心跳机制中心跳包携带的版本号判断是否发生版本升级;
第一获得模块,用于在发生版本升级时,获得升级安装包;
第二判断模块,用于通过与所述第一服务器之间的第二心跳机制判断升级功能是否正常;
删除模块,用于在所述升级功能异常时,删除当前运行所述升级安装包的程序,以保证原有版本的正常运行;其中,判断所述升级功能是否正常包括:
启动自启动服务程序,所述自启动服务程序用于创建安装进程与链接进程;
在所述安装进程与所述链接进程创建完成之后,所述安装进程进入等待状态,运行所述链接进程,并根据所述链接进程的运行结果判断是否启动所述安装进程;通过所述链接进程向所述第一服务器发送验证心跳包,验证所述自启动服务程序与所述第一服务器是否正常建立链接;当所述自启动服务程序与所述第一服务器没有正常建立链接时,判定所述升级功能异常;所述安装进程用于运行所述升级安装包,执行安装任务。
8.一种版本升级装置,其特征在于,应用于第一服务器,所述第一服务器分别与客户端和第二服务器通信连接,所述客户端、所述第一服务器以及所述第二服务器部署于视联网中,所述装置包括:
第一接收模块,用于接收所述客户端发送的版本升级请求;
第二获得模块,用于从所述版本升级请求中获得升级安装包并存储;
生成模块,用于根据所述升级安装包生成版本信息;
第一发送模块,用于将所述版本信息通过心跳发送给所述第二服务器,以使所述第二服务器根据所述版本信息获得所述升级安装包并进行升级;
在通过视联网服务器,将所述升级安装包发送给所述第二服务器之后,所述装置还包括:
接收所述第二服务器通过所述视联网服务器发送的验证心跳包;
响应于所述验证心跳包,通过所述视联网服务器向所述第二服务器返回心跳响应包,以使所述第二服务器根据所述心跳响应包判断自身的升级功能是否正常,并在升级功能异常时,删除当前运行所述升级安装包的程序,以保证原有版本的正常运行;其中,判断所述升级功能是否正常包括:
启动自启动服务程序,所述自启动服务程序用于创建安装进程与链接进程;
在所述安装进程与所述链接进程创建完成之后,所述安装进程进入等待状态,运行所述链接进程,并根据所述链接进程的运行结果判断是否启动所述安装进程;通过所述链接进程向所述第一服务器发送验证心跳包,验证所述自启动服务程序与所述第一服务器是否正常建立链接;当所述自启动服务程序与所述第一服务器没有正常建立链接时,判定所述升级功能异常;所述安装进程用于运行所述升级安装包,执行安装任务。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-4,或者实现如权利要求5-6任一所述的版本升级方法中的步骤。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行时实现如权利要求1-4,或者实现如权利要求5-6任一所述的版本升级方法中的步骤。
CN202010422909.1A 2020-05-19 2020-05-19 一种版本升级方法、装置、电子设备及存储介质 Active CN111596940B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010422909.1A CN111596940B (zh) 2020-05-19 2020-05-19 一种版本升级方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010422909.1A CN111596940B (zh) 2020-05-19 2020-05-19 一种版本升级方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN111596940A CN111596940A (zh) 2020-08-28
CN111596940B true CN111596940B (zh) 2023-04-07

Family

ID=72185692

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010422909.1A Active CN111596940B (zh) 2020-05-19 2020-05-19 一种版本升级方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN111596940B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112135162B (zh) * 2020-09-25 2022-08-12 北京达佳互联信息技术有限公司 业务执行方法、装置及服务器
CN115242615B (zh) * 2022-06-29 2023-04-14 北京聚通达科技股份有限公司 服务器的运行管理方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6453468B1 (en) * 1999-06-30 2002-09-17 B-Hub, Inc. Methods for improving reliability while upgrading software programs in a clustered computer system
CN106959866A (zh) * 2016-01-08 2017-07-18 阿里巴巴集团控股有限公司 一种日志收集客户端及其升级方法
CN109714202A (zh) * 2018-12-21 2019-05-03 郑州云海信息技术有限公司 一种客户端离线原因判别方法和集群式安全管理系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8271971B2 (en) * 2002-11-26 2012-09-18 Hewlett-Packard Development Company, L.P. System and method for automated program updating in a remote appliance
JP4420275B2 (ja) * 2003-11-12 2010-02-24 株式会社日立製作所 フェイルオーバクラスタシステム及びフェイルオーバクラスタシステムを用いたプログラムのインストール方法
US20060224723A1 (en) * 2005-03-30 2006-10-05 Inventec Corporation Data updating system and method
CN105306238B (zh) * 2014-06-30 2018-09-21 华为技术有限公司 终端接入方法、装置和系统
US9787800B2 (en) * 2015-12-30 2017-10-10 Veniam, Inc. Systems and methods for remote software update and distribution in a network of moving things
WO2017199076A1 (en) * 2016-05-19 2017-11-23 Telefonaktiebolaget Lm Ericsson (Publ) A method and system for evaluating upgrade campaigns
CN108810853A (zh) * 2018-08-25 2018-11-13 咪付(广州)网络科技有限公司 一种基于4g网络无线传感器自动远程升级的系统及方法
CN109788068B (zh) * 2019-02-14 2020-11-03 腾讯科技(深圳)有限公司 心跳状态信息上报方法、装置和设备及计算机存储介质
CN110187903B (zh) * 2019-04-19 2023-09-01 视联动力信息技术股份有限公司 一种升级方法及装置
CN110502259B (zh) * 2019-07-16 2023-10-10 视联动力信息技术股份有限公司 服务器版本升级方法、视联网系统、电子设备及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6453468B1 (en) * 1999-06-30 2002-09-17 B-Hub, Inc. Methods for improving reliability while upgrading software programs in a clustered computer system
CN106959866A (zh) * 2016-01-08 2017-07-18 阿里巴巴集团控股有限公司 一种日志收集客户端及其升级方法
CN109714202A (zh) * 2018-12-21 2019-05-03 郑州云海信息技术有限公司 一种客户端离线原因判别方法和集群式安全管理系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
心跳监控与通讯总控同步模块的设计;刘冲等;《仪器仪表用户》;20090208(第01期);全文 *

Also Published As

Publication number Publication date
CN111596940A (zh) 2020-08-28

Similar Documents

Publication Publication Date Title
CN108810581B (zh) 一种软件菜单的更新方法和装置
CN111193788A (zh) 一种音视频流负载均衡方法和装置
CN108574818B (zh) 一种信息显示的方法、装置和服务器
CN110035005B (zh) 数据处理方法和装置
CN109379209B (zh) 一种视联网存储服务的升级方法和装置
CN109522032B (zh) 固件升级方法和装置
CN111596940B (zh) 一种版本升级方法、装置、电子设备及存储介质
CN111431966B (zh) 一种业务请求处理方法、装置、电子设备及存储介质
CN110460469B (zh) 一种系统升级方法、装置和存储介质
CN111193767B (zh) 请求数据发送方法、装置和集群化服务器系统
CN110650171A (zh) 一种视联网业务调度系统及方法
CN109347844B (zh) 一种设备接入互联网的方法及装置
CN109151519B (zh) 一种基于视联网的配置分发方法和系统
CN111224889A (zh) 一种数据传输的方法和装置
CN110730500B (zh) 一种终端入网方法、服务器、终端、电子设备及存储介质
CN110336710B (zh) 一种终端的测试方法、系统及装置和存储介质
CN110391922B (zh) 一种业务平台的版本提示方法和装置
CN109857419B (zh) 一种调度系统自动升级的方法和装置
CN111475182A (zh) 一种视联网设备固件升级方法和装置
CN111245733A (zh) 一种数据传输的方法和装置
CN110392289B (zh) 一种账号的处理方法和系统
CN110098993B (zh) 一种信令报文的处理方法和装置
CN109327730B (zh) 一种数据包下载的方法和装置
CN110120937B (zh) 资源获取方法、系统、设备和计算机可读存储介质
CN110224853B (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