服务器程序的升级方法、装置、终端设备和存储介质与流程

文档序号:22343674发布日期:2020-09-25 18:15阅读:203来源:国知局
服务器程序的升级方法、装置、终端设备和存储介质与流程

本发明涉及视联网技术领域,特别是涉及一种服务器程序的升级方法、装置、终端设备和存储介质。



背景技术:

视联网分控服务器上安装有不同类型的程序包,在对程序包进行升级时,目前是采用本地升级方式进行升级,例如,在视联网分控服务器本地,采用串口线上传升级程序包,对原来的程序包进行升级,串口升级只能现场完成。

而且,在实际操作中,由于分控服务器有很多种类,在上传升级程序包时只是根据升级程序包的名称进行区别,这样就容易出现升级包安装错误的问题,不仅浪费升级时间,还影响分控服务器的正常工作。例如,s3分控服务器上安装名称为s3的程序包,但是实际上传时,名称为s3的程序包实际上确为s6分控服务器的程序包。



技术实现要素:

鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种服务器程序的升级方法、装置、终端设备和存储介质。

第一个方面,本发明实施例提供一种服务器程序的升级方法,应用于基于视联网的远程控制系统中的分控服务器,所述方法包括:

接收所述远程控制系统中的自治服务器发送的心跳数据包;

解析所述心跳数据包,获取待升级文件的基础信息,所述基础信息包括目的设备类型、目的文件类型和目的文件版本号;

在所述目的设备类型与本地设备类型相同、所述目的文件类型与本地文件类型相同且所述目的文件版本号与本地文件版本号不同的情况下,确定所述基础信息为所述待升级文件的目的信息;

根据所述待升级文件的目的信息,从所述自治服务器上下载与所述目的信息对应的目的升级文件;

根据所述目的升级文件,对与所述本地文件版本号对应的本地文件进行升级。

可选地,所述基础信息还包括文件摘要散列值,所述根据所述待升级文件的目的信息,从所述自治服务器上下载与所述目的信息对应的目的升级文件,包括:

根据所述待升级文件的目的信息,从所述自治服务器上下载与所述目的信息对应的待升级文件;

若所述待升级文件的文件摘要散列值与所述基础信息中的文件摘要散列值相同,则将所述待升级文件确定为所述目的升级文件。

可选地,所述根据所述目的升级文件,对与所述本地文件版本号对应的本地文件进行升级,包括:

根据所述目的升级文件的目的文件类型,将与所述本地文件版本号对应的本地文件升级为与所述目的文件版本号对应的目的升级文件。

可选地,所述目的文件类型至少包括芯片驱动程序类型和应用程序类型,所述根据所述目的升级文件的目的文件类型,将与所述本地文件版本号对应的本地文件升级为与所述目的文件版本号对应的目的升级文件,具体包括:

若所述目的文件类型为芯片驱动程序类型,则将与所述本地文件版本号对应的本地芯片驱动程序升级为与所述目的文件版本号对应的目的芯片驱动程序;

若所述目的文件类型为应用程序类型,则将与所述本地文件版本号对应的本地应用程序升级为与所述目的文件版本号对应的目的应用程序。

可选地,在所述接收所述远程控制系统中的自治服务器发送的心跳数据包之前,所述方法还包括:

通过所述远程控制系统中的网管服务器,将所述待升级文件与所述待升级文件的基础信息发送至所述自治服务器,并将所述待升级文件与所述待升级文件的基础信息保存在所述自治服务器。

可选地,所述方法还包括:

若升级成功,则在对与所述本地文件版本号对应的本地文件升级的同时,将所述目的升级文件进行程序重启,向所述自治服务器发送升级成功信息,所述升级成功信息包括目的文件版本号,以使所述自治服务器将所述升级成功信息上报至所述远程控制系统中的网管客户端;

若升级失败,则退回到所述与本地文件版本号对应的本地文件,并向所述自治服务器发送升级失败信息,所述升级失败信息包括失败原因,以使所述自治服务器将所述升级失败信息上报至所述远程控制系统中的网管客户端。

可选地,所述方法还包括:

在所述分控服务器关机离线或者网络暂时不可达的情况下,预先接收离线心跳包,所述离线心跳包中包括所述待升级文件的基础信息;

当所述分控服务器开机在线或者接入网络的情况下,接收所述离线心跳包,并根据所述离线心跳包进行后续升级。

第二个方面,本发明实施例提供一种服务器程序的升级装置,应用于基于视联网的远程控制系统中的分控服务器,所述装置包括:

接收模块,用于接收所述远程控制系统中的自治服务器发送的心跳数据包;

解析模块,用于解析所述心跳数据包,获取待升级文件的基础信息,所述基础信息包括目的设备类型、目的文件类型和目的文件版本号;

比较模块,用于在所述目的设备类型与本地设备类型相同、所述目的文件类型与本地文件类型相同且所述目的文件版本号与本地文件版本号不同的情况下,确定所述基础信息为所述待升级文件的目的信息;

下载模块,用于根据所述待升级文件的目的信息,从所述自治服务器上下载与所述目的信息对应的目的升级文件;

升级模块,用于根据所述目的升级文件,对与所述本地文件版本号对应的本地文件进行升级。

可选地,所述基础信息还包括文件摘要散列值,所述下载模块,具体用于:

根据所述待升级文件的目的信息,从所述自治服务器上下载与所述目的信息对应的待升级文件;

若所述待升级文件的文件摘要散列值与所述基础信息中的文件摘要散列值相同,则将所述待升级文件确定为所述目的升级文件。

可选地,所述升级模块,用于:

根据所述目的升级文件的目的文件类型,将与所述本地文件版本号对应的本地文件升级为与所述目的文件版本号对应的目的升级文件。

可选地,所述目的文件类型至少包括芯片驱动程序类型和应用程序类型,所述升级模块,具体用于:

若所述目的文件类型为芯片驱动程序类型,则将与所述本地文件版本号对应的本地芯片驱动程序升级为与所述目的文件版本号对应的目的芯片驱动程序;

若所述目的文件类型为应用程序类型,则将与所述本地文件版本号对应的本地应用程序升级为与所述目的文件版本号对应的目的应用程序。

可选地,所述装置还包括存储模块,所述存储模块具体用于:

通过所述远程控制系统中的网管服务器,将所述待升级文件与所述待升级文件的基础信息发送至所述自治服务器,并将所述待升级文件与所述待升级文件的基础信息保存在所述自治服务器。

可选地,所述装置还包括反馈模块,所述反馈模块,具体用于:

若升级成功,则在对与所述本地文件版本号对应的本地文件升级的同时,将所述目的升级文件进行程序重启,向所述自治服务器发送升级成功信息,所述升级成功信息包括目的文件版本号,以使所述自治服务器将所述升级成功信息上报至所述远程控制系统中的网管客户端;

若升级失败,则退回到所述与本地文件版本号对应的本地文件,并向所述自治服务器发送升级失败信息,所述升级失败信息包括失败原因,以使所述自治服务器将所述升级失败信息上报至所述远程控制系统中的网管客户端。

可选地,所述装置还包括离线模块,所述离线模块用于:

在所述分控服务器关机离线或者网络暂时不可达的情况下,预先接收离线心跳包,所述离线心跳包中包括所述待升级文件的基础信息;

当所述分控服务器开机在线或者接入网络的情况下,接收所述离线心跳包,并根据所述离线心跳包进行后续升级。

第三个方面,本发明实施例提供一种终端设备,包括:至少一个处理器和存储器;

所述存储器存储计算机程序;所述至少一个处理器执行所述存储器存储的计算机程序,以实现第一个方面提供的服务器程序的升级方法。

第四个方面,本发明实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现第一个方面提供的服务器程序的升级方法。

本发明实施例提供的技术方案,基于视联网的远程控制系统中的分控服务器,分控服务器接收远程控制系统中的自治服务器发送的心跳数据包;对心跳数据包进行解析,获取待升级文件的基础信息,该基础信息包括目的设备类型、目的文件类型和目的文件版本号;若目的设备类型与本地设备类型相同,目的文件类型与本地文件类型相同且目的文件版本号与本地文件版本号不同,则确定该基础信息为待升级文件的目的信息;根据待升级文件的目的信息,从自治服务器上下载与目的信息对应的目的升级文件;根据目的升级文件,对与本地文件版本号对应的本地文件进行升级,采用本发明实施例提供的方案,可以完成远程升级,节省升级时间,避免了由于升级数据包的名称错误,导致出现升级包安装错误的问题,提高了升级文件的安装准确率。

附图说明

图1是本发明的一种服务器程序的升级方法实施例的步骤流程图;

图2是本发明的另一种服务器程序的升级方法实施例的步骤流程图;

图3是本发明的视联网自治云拓扑结构的示意图;

图4是本发明的基于视联网的远程控制系统实施例的结构示意图;

图5是本发明的网管客户端向服务器上传升级文件的方法实施例的步骤流程图;

图6是本发明的一种服务器程序的升级装置实施例的结构框图;

图7是本发明的一种终端设备的结构示意图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

名词解释如下:

视联网:以地域划分,形成的一张树型结构的实体网络,有别于现在的互联网。视联网中心服务器部署在某一城市,全国每个省会部署省一级服务器,各个省的地级市部署市级服务器,目前已经部署到乡镇一级。

自治云:自治云是视联网网络结构中的基本子结构,也是使视联网可以正常运行的最小结构单位。一个自治云在配置正确的情况下可以在自治云内部独立实现视联网的所有功能。这样当自治云由于通信故障无法和上下层自治云连接时,视联网业务依然可以在自治云内部实现。当自治云可以和上下层的自治云正常通信时,这些自治云就组成了一个范围更大的视联网,可以实现跨自治云的视联网业务。

自治服务器:也叫视联网主控服务器,是自治云的管理核心,每一个自治云含义至少一台自治服务器。实现的功能主要包括对自治云中的设备进行管理、注册、实现自治云内部以及自治云之间的视联网业务逻辑、和视联网的管理网络通信以实现更高层的管理等。

分控服务器:一款视联网操控器,集视联网音视频转发、机顶盒控制、注册等等功能于一体,分安装机箱式和手提便携式。

视联网终端:视联网上业务落地设备,视联网业务的实际参与者或服务者,包括各种会议机顶盒、可视电话机顶盒、手术试教机顶盒,流媒体网关、存储网关、媒体合成器等等。视联网终端需要注册到视联网服务器上方可进行正常业务。需要一个视联网号码。

网管服务器:视联网上的核心设备,通过操控自治服务器,控制视联网分控服务器业务开通、注册等操作,是视联网的管理“大脑”,同时提供ui接口供客户端调用。

设置信令:双向交互命令的一种,信令接受方,收到信令后,一般要做出“set”动作,改变自身信息。比如,注册设备信令,主控服务器收到此信令后,将信令中信息参数解析出来,写的本地文件系统和内存中,并操作结果值(通常是是否两种结果值)返回给信令发送发。

查询信令:双向交互命令的一种,信令接受方,收到信令后,一般要做出“get”动作,不改变自身信息。比如,查询设备信令,主控服务器收到此信令后,文件系统中保存的设备信息,以一定格式编入信令参数,并将此结果返回给信令发送方。

参照图1,示出了本发明的一种服务器程序的升级方法实施例的步骤流程图,该方法可以应用于基于视联网的远程控制系统中的分控服务器,具体可以包括如下步骤:

s101、接收所述远程控制系统中的自治服务器发送的心跳数据包;

具体地,基于视联网的远程控制系统包括网管客户端、网管服务器、自治服务器和分控服务器,通过网管客户端将升级文件上传到网管服务器,网管服务器再将升级文件上传到自治服务器的升级列表中,在对分控服务器的本地文件进行升级时,通过网管改变自治和分控服务器间的心跳内容,自治服务器向分控服务器发送心跳数据包,其中,心跳数据包中包括升级文件的基础信息。

s102、解析所述心跳数据包,获取待升级文件的基础信息,所述基础信息包括目的设备类型、目的文件类型和目的文件版本号;

分控服务器在接收到自治服务器发送的心跳数据包后,对心跳数据包进行解析,获得该心跳数据包中的待升级文件的目的设备类型,目的文件类型和目的文件版本号,其中,目的设备类型具体包括逻辑设备类型和物理设备类型,目的文件类型包括芯片驱动类型和应用程序类型,目的文件版本号具体包括发行日期和具体版本序号的组合。

每个分控服务器都具有逻辑设备类型和物理设备类型,在每一个分控服务器上不同的文件类型对应不同的升级文件。

s103、在所述目的设备类型与本地设备类型相同、所述目的文件类型与本地文件类型相同且所述目的文件版本号与本地文件版本号不同的情况下,确定所述基础信息为所述待升级文件的目的信息;

具体地,分控服务器在获取到目的设备类型、目的文件类型和目的文件版本号后,再获取本地设备类型、本地文件类型和本地文件版本号,将目的设备类型与本地设备类型对比,则可以确定是该升级文件是否与分控服务器相对应,避免出现将a升级包加载到b分控服务器上;将目的文件类型与本地文件类型进行对比,这样可以针对不同文件类型的文件进行升级;将目的文件版本号与本地文件版本号对比,可以确定是否需要对本地文件版本号的本地文件进行升级。

若目的设备类型与本地设备类型相同,目的文件类型与本地文件类型相同且目的文件版本号与本地文件版本号不同,则确定该基础信息为待升级文件的目的信息。

s104、根据所述待升级文件的目的信息,从所述自治服务器上下载与所述目的信息对应的目的升级文件;

分控服务器根据确定的待升级文件的目的信息,从自治服务器上下载与所述目的信息对应的目的升级文件;

为了确保下载的升级文件是目的升级文件,则需要对下载的升级文件进行校验,将校验值与心跳数据包中的校验值进行比较,若两者相同,则确定该升级文件为目的升级文件。

s105、根据所述目的升级文件,对与所述本地文件版本号对应的本地文件进行升级。

具体地,分控服务器在获取到目的升级文件后,将本地文件版本号对应的本地文件升级为与目的文件版本号对应的目的升级文件。

本发明实施例提供的服务器程序的升级方法,通过接收远程控制系统中的自治服务器发送的心跳数据包;对心跳数据包进行解析,获取待升级文件的基础信息,该基础信息包括目的设备类型、目的文件类型和目的文件版本号;若目的设备类型与本地设备类型相同,目的文件类型与本地文件类型相同且目的文件版本号与本地文件版本号不同,则确定该基础信息为待升级文件的目的信息;根据待升级文件的目的信息,从自治服务器上下载与目的信息对应的目的升级文件;根据目的升级文件,对与本地文件版本号对应的本地文件进行升级,采用本发明实施例提供的方案,可以完成远程升级,节省升级时间,避免了由于升级数据包的名称错误,导致出现升级包安装错误的问题,提高了升级文件的安装准确率。

本发明又一实施例对上述实施例提供的方法做进一步补充说明。

如图2所示,示出了本发明的另一种服务器程序的升级方法实施例的步骤流程图,该服务器程序的升级方法包括:

s201、通过所述远程控制系统中的网管服务器,将所述待升级文件与所述待升级文件的基础信息发送至所述自治服务器,并将所述待升级文件与所述待升级文件的基础信息保存在所述自治服务器。

具体地,通过网管客户端软件,选择要上传的升级文件,自动读出文件名称、文件版本号、文件类型、物理设备类型、逻辑设备类型等信息;

将这些基础信息发给网管服务器,网管服务器收到基础信息,将这些基础信息存放到网管服务器数据库db中;

通过网管客户端软件,继续将升级文件分包发送到网管服务器,网管服务器端将接收到的升级存文件存放入到网管服务器数据库db中。

从网管客户端上传文件到网管服务器这步,可以单独执行多次,每次可上不同设备的不同类型的升级文件,这样可以保证网管db中有多种设备的多个升级文件,为以后的升级降级提供极大方便。

网管服务器再将升级文件和升级文件的基础信息发送至自治服务器。进而,自治服务器将基础信息加载到心跳数据包中发送至对应的分控服务器。

具体地,一种升级文件格式,其格式如下:

“dev_app_file”:{

“logdev_type”:“字符串:逻辑设备类型”,

“phydev_type”:“字符串:物理设备类型”,

“file_type”:“字符串:文件类型”,

“file_version”:“字符串:文件版本号”,

“file_hash”:“字节串:文件散列值”,

“file_data”:“字节串:文件数据”,

}

具体地,分控(微云)服务器的设备类型的例子见下表1所示:

表1

file_type文件类型:dsp和fpga;

file_version文件版本号:“a.b.cyy.mm.dd.hh”,yy.mm.dd.hh,其中yy表示年份的末两位,mm表示月份,dd表示日期,hh表示小时,表示发行日期。a.b.c表示具体版本,比如1.2.7、2.2.1等等。

file_hash:升级文件整体hash散列值;

file_data文件数据:存放真正的设备二进制程序文件,这里实际上存放原始升级文件。

升级文件格式,里面自动包含文件的版本号,这样便于升级时软件自动读取文件版本号,减少手动输入错误。

升级文件格式,包含物理设备类型和逻辑设备类型,通过网管客户端软件对分控服务器的程序进行升级时,检查文件里包含的设备类型和要升级的设备类型是否一致,只有一致了才允许升级;物理设备类型在获取到升级文件后,进行二次校验,确保自身的设备类型和拿到的升级文件里的类型一致,否则不升级。设备类型的引入完全避免了,设备升错文件这种情况的发生。

s202、接收所述远程控制系统中的自治服务器发送的心跳数据包;

s203、解析所述心跳数据包,获取待升级文件的基础信息,所述基础信息包括目的设备类型、目的文件类型、目的文件版本号和文件摘要散列值;

s204、在所述目的设备类型与本地设备类型相同、所述目的文件类型与本地文件类型相同且所述目的文件版本号与本地文件版本号不同的情况下,确定所述基础信息为所述待升级文件的目的信息;

s205、根据所述待升级文件的目的信息,从所述自治服务器上下载与所述目的信息对应的待升级文件;

s206、若所述待升级文件的文件摘要散列值与所述基础信息中的文件摘要散列值相同,则将所述待升级文件确定为所述目的升级文件。

具体地,消息摘要算法即为md5算法,文件摘要散列值即为md5值,md5信息摘要算法(md5message-digestalgorithm),一种密码散列函数,可以产生出一个128位(16字节)的散列值(hashvalue),用于确保信息传输完整一致。

自治服务器发送的心跳数据包中还包括md5值,在分控服务器从自治服务器上下载升级文件后,根据该升级文件的内容计算该升级文件对应的md5值,并将计算的md5值与心跳数据包中的md5值进行比较,若两者相同,则确定该升级文件为目的升级文件。

若两者不相同,则说明该升级文件不是目的升级文件。

s207、根据所述目的升级文件的目的文件类型,将与所述本地文件版本号对应的本地文件升级为与所述目的文件版本号对应的目的升级文件。

具体地,所述目的文件类型至少包括芯片驱动程序类型和应用程序类型,作为一种可选地实现方式,若所述目的文件类型为芯片驱动程序类型,则将与所述本地文件版本号对应的本地芯片驱动程序升级为与所述目的文件版本号对应的目的芯片驱动程序;

芯片驱动程序即为fpga程序,用于对分控服务器的硬件提供驱动程序,例如,对声卡、显卡等的驱动,应用程序即为dsp程序,即实现某种功能的应用程序,例如直播功能等。

fpga(field-programmablegatearray),即现场可编程门阵列,它是在pal、gal、cpld等可编程器件的基础上进一步发展的产物。

若获取的目的文件类型为fpga程序类型,则将与本地文件版本号对应的本地fpga程序升级为与目的文件版本号对应的fpga程序。

作为另一种可选地实现方式,若所述目的文件类型为应用程序类型,则将与所述本地文件版本号对应的本地应用程序升级为与所述目的文件版本号对应的目的应用程序。

具体地,若目的文件类型为dsp(digitalsignalprocessing,数字信号处理)程序类型,则将与本地文件版本号对应的dsp程序升级为与目的文件版本号对应的dsp程序。

在上述实施例的基础上,所述方法还包括:

若升级成功,则在对与所述本地文件版本号对应的本地文件升级的同时,将所述目的升级文件进行程序重启,向所述自治服务器发送升级成功信息,所述升级成功信息包括目的文件版本号,以使所述自治服务器将所述升级成功信息上报至所述远程控制系统中的网管客户端;

具体地,分控服务器上的文件升级成功后,分控服务器向自治服务器发送升级成功信息,其中,所述升级成功信息中包括目的文件版本号,即最新的文件版本号,自治服务器将该升级成功信息发送至远程控制系统中的网管服务器,再由网管服务器将该升级成功信息发送至网管客户端,这样,用户就可以在网管客户端的软件界面上查看到升级成功信息。

若升级失败,则退回到所述与本地文件版本号对应的本地文件,并向所述自治服务器发送升级失败信息,所述升级失败信息包括失败原因,以使所述自治服务器将所述升级失败信息上报至所述远程控制系统中的网管客户端。

若升级失败后,分控服务器向自治服务器发送升级失败信息,该升级失败信息包括失败原因,失败原因可能为:解压失败、烧写程序失败、烧写程序成功但程序无法正常启动,自治服务器将该升级失败信息发送至网管服务器,再由网管服务器将该升级失败信息发送至网管客户端,这样,用户就可以在网管客户端的软件界面上查看升级失败信息。

由于步骤s202至步骤s204与图1所示实施例中的步骤s101和s103相同。在图1中已经对步骤s101至步骤s103进行了详细描述,因此,在此不再对步骤s202至步骤s204进行赘述。

在上述实施例的基础上,所述方法还包括:

在所述分控服务器关机离线或者网络暂时不可达的情况下,预先接收离线心跳包,所述离线心跳包中包括所述待升级文件的基础信息;

当所述分控服务器开机在线或者接入网络的情况下,接收所述离线心跳包,并根据所述离线心跳包进行后续升级。

具体地,网管服务器上传升级文件到自治服务器成功后,通过信令修改自治服务器和分控服务器间的心跳信息,将待升级的文件信息放到他们的心跳包中。放在心跳包中触发升级的好处是:如果分控服务器关机,未入网,并不影响分控服务器升级,只要等到分控服务器开机在线入网了,分控服务器和自治心跳会自动建立,此时升级流程会自动触发。所以分控服务器升级时,及时关机的分控服务器也可以进行。

图3是本发明的视联网自治云拓扑结构的示意图,如图3所示,新一代视联网的整体网络结构由多个称为自治云的子结构互相连接而成。自治云在互相连接时呈现出明显的层级结构。从最顶层的自治云开始,每个自治云可以和多个下一层的自治云互相连接,下层的自治云再和更下一层的自治云连接。所有的自治云以这种方式层层连接后就形成了完整的视联网。这种层级结构就是标准的树状结构。每一个自治云就是树中的一个节点,整个视联网就是一棵自治云节点组成的树。

图4是本发明的基于视联网的远程控制系统实施例的结构示意图,如图4所示,该远程控制系统包括;网管客户端401、网管服务器402、自治服务器403和分控服务器404;具体步骤如下:

1、网管客户端401向网管服务器402上传升级文件:

图5是本发明的网管客户端向网管服务器上传文件的方法实施例的步骤流程图,如图5所示,该方法包括;

s501、通过网管客户端,向网管服务器上传请求;

网管服务器监听30005端口,每个包携带数据固定1024字节,最后一个包为实际大小。

json:{"filename":"","block":"","size":"","md5":"","ver":"","type":"","logdev":"","phydev":"","bz":"","operid":""}

filename:文件名

block:总包数

size:文件大小

md5:文件md5值

ver:版本号

type:文件类型(dsp,fpga)

logdev:逻辑设备类型

phydev:物理设备类型

bz:备注

operid:上传者

s502、网管服务器向网管客户端返回应答响应;

json:{"ret":"","msg":""}

ret:返回值,0成功,-1失败

msg:失败的消息

s503-s505、网管客户端向网管服务器发送数据,即上传升级文件;

具体地,上传的数据为二进制流;

s506、若上传升级文件成功后,则网管服务器向网管客户端发送成功的应答响应;若上传升级文件失败后,则网管服务器向网管客户端发送失败的应答响应。

2、网管服务器402上传升级文件到自治服务器403:

分控服务器的本地文件进行升级时,网管客户端通过界面操作,选择要升级的分控服务器,根据选好的分控服务器逻辑设备类型、物理设备类型、升级文件类型(dsp或者fpga),去网管db中查找相关升级文件,找到的话,可以继续进行下一步,没有找到对应的升级文件,则无法进行后续升级,弹出提示框,提示用户去执行第一步,上传升级文件步骤。

找到对应的升级文件,告知网管服务器,网管服务器采用协议信令,将升级文件上传给自治服务器相关的升级目录下,协议步骤类似上传升级文件到网管服务器。

3、自治服务器403通过心跳通知分控服务器404升级:

网管服务器402上传升级文件到自治服务器403成功后,通过在网管客户端401上的信令修改自治服务器和分控服务器间的心跳信息,将待升级的文件信息放到自治服务器和分控服务器间的心跳包中。放在心跳包中触发升级的好处是:如果分控服务器关机,未入网,并不影响分控服务器升级,只要等到分控服务器开机在线入网了,分控服务器和自治心跳会自动建立,此时升级流程会自动触发。所以分控服务器升级时,及时关机的分控服务器也可以进行。

a.分控服务器开机且入网在线,当分控服务器检测到心跳内容即基础信息发生变化,主动解析心跳内容,解析出升级文件类型、物理设备类型、逻辑设备类型、文件版本号。

b.根据解析的物理设备类型、逻辑设备类型,分控服务器和自身类型(dsp或fpga)对比,如果一致进行后续动作,如果不一致,则没有后续动作,不再升级。

c.分控服务器根据解析的文件类型是dsp或fpga,分控服务器取出自身本地dsp或fpga的版本号,和心跳中解析的版本号进行对比,如果版本号一致,则没有后续动作,不再升级,只有版本号不一致的情况下才升级(本地版本号大,表示降级;本地版本号小表示升级)。

d.上两步都通过后,分控服务器,根据心跳信息,去自治服务器上下载升级文件,下载下来升级文件后,计算升级文件的md5值,如果md5值和心跳信息中的文件md5值不一致,则不再进行升级,并且上报一条告警信息给自治服务器,自治服务器收到后上报给网管服务器,网管服务器推给网管客户端,告知运维人员。

e.md5值一致后,分控服务器根据文件类型是dsp还是fpga,去升级本地dsp或fpga。

f.升级成功,分控服务器上报升级成功信息给自治服务器,信令中含有分控服务器当前的最新版本号,自治服务器上报给网管服务器,网管服务器进而推给网管客户端。

升级失败,分控服务器上报升级失败信令,信令中含有失败原因,失败原因可能为:解压失败、烧写程序失败、烧写程序成功但程序无法正常启动。自治服务器上报给网管服务器,网管服务器进而推给网管客户端。

分控服务器升级失败时,会自动回退到升级前的版本,并不会由于升级失败,导致分控服务器故障,致使分控服务器不可用的情况发生。

本发明实施例提供的服务器程序的升级方法,通过接收远程控制系统中的自治服务器发送的心跳数据包;对心跳数据包进行解析,获取待升级文件的基础信息,该基础信息包括目的设备类型、目的文件类型和目的文件版本号;若目的设备类型与本地设备类型相同,目的文件类型与本地文件类型相同且目的文件版本号与本地文件版本号不同,则确定该基础信息为待升级文件的目的信息;根据待升级文件的目的信息,从自治服务器上下载与目的信息对应的目的升级文件;根据目的升级文件,对与本地文件版本号对应的本地文件进行升级,采用本发明实施例提供的方案,可以完成远程升级,节省升级时间,避免了由于升级数据包的名称错误,导致出现升级包安装错误的问题,提高了升级文件的安装准确率。

本发明另一实施例提供一种服务器程序的升级装置,用于执行上述实施例提供的服务器程序的升级方法。

参照图6,示出了本发明的一种服务器程序的升级装置实施例的结构框图,应用于基于视联网的远程控制系统中的分控服务器,所述装置包括:接收模块601、解析模块602、比较模块603、下载模块604和升级模块605,其中:

接收模块601用于接收所述远程控制系统中的自治服务器发送的心跳数据包;

解析模块602用于解析所述心跳数据包,获取待升级文件的基础信息,所述基础信息包括目的设备类型、目的文件类型和目的文件版本号;

比较模块603用于在所述目的设备类型与本地设备类型相同、所述目的文件类型与本地文件类型相同且所述目的文件版本号与本地文件版本号不同的情况下,确定所述基础信息为所述待升级文件的目的信息;

下载模块604用于根据所述待升级文件的目的信息,从所述自治服务器上下载与所述目的信息对应的目的升级文件;

升级模块605用于根据所述目的升级文件,对与所述本地文件版本号对应的本地文件进行升级。

本发明实施例提供的服务器程序的升级装置,通过接收远程控制系统中的自治服务器发送的心跳数据包;对心跳数据包进行解析,获取待升级文件的基础信息,该基础信息包括目的设备类型、目的文件类型和目的文件版本号;若目的设备类型与本地设备类型相同,目的文件类型与本地文件类型相同且目的文件版本号与本地文件版本号不同,则确定该基础信息为待升级文件的目的信息;根据待升级文件的目的信息,从自治服务器上下载与目的信息对应的目的升级文件;根据目的升级文件,对与本地文件版本号对应的本地文件进行升级,采用本发明实施例提供的方案,可以完成远程升级,节省升级时间,避免了由于升级数据包的名称错误,导致出现升级包安装错误的问题,,提高了升级文件的安装准确率。

本发明又一实施例对上述实施例提供的装置做进一步补充说明。

可选地,所述基础信息还包括文件摘要散列值,所述下载模块604具体用于:

根据所述待升级文件的目的信息,从所述自治服务器上下载与所述目的信息对应的待升级文件;

若所述待升级文件的文件摘要散列值与所述基础信息中的文件摘要散列值相同,则将所述待升级文件确定为所述目的升级文件。

可选地,所述升级模块605用于:

根据所述目的升级文件的目的文件类型,将与所述本地文件版本号对应的本地文件升级为与所述目的文件版本号对应的目的升级文件。

可选地,所述目的文件类型至少包括芯片驱动程序类型和应用程序类型,所述升级模块605具体用于:

若所述目的文件类型为芯片驱动程序类型,则将与所述本地文件版本号对应的本地芯片驱动程序升级为与所述目的文件版本号对应的目的芯片驱动程序;

若所述目的文件类型为应用程序类型,则将与所述本地文件版本号对应的本地应用程序升级为与所述目的文件版本号对应的目的应用程序。

可选地,所述装置还包括存储模块,所述存储模块具体用于:

通过所述远程控制系统中的网管服务器,将所述待升级文件与所述待升级文件的基础信息发送至所述自治服务器,并将所述待升级文件与所述待升级文件的基础信息保存在所述自治服务器。

可选地,所述装置还包括反馈模块,所述反馈模块,具体用于:

若升级成功,则在对与所述本地文件版本号对应的本地文件升级的同时,将所述目的升级文件进行程序重启,向所述自治服务器发送升级成功信息,所述升级成功信息包括目的文件版本号,以使所述自治服务器将所述升级成功信息上报至所述远程控制系统中的网管客户端;

若升级失败,则退回到所述与本地文件版本号对应的本地文件,并向所述自治服务器发送升级失败信息,所述升级失败信息包括失败原因,以使所述自治服务器将所述升级失败信息上报至所述远程控制系统中的网管客户端。

可选地,所述装置还包括离线模块,所述离线模块用于:

在所述分控服务器关机离线或者网络暂时不可达的情况下,预先接收离线心跳包,所述离线心跳包中包括所述待升级文件的基础信息;

当所述分控服务器开机在线或者接入网络的情况下,接收所述离线心跳包,并根据所述离线心跳包进行后续升级。

需要说明的是,本实施例中各可实施的方式可以单独实施,也可以在不冲突的情况下以任意组合方式结合实施本申请不做限定。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本发明实施例提供的服务器程序的升级装置,通过接收远程控制系统中的自治服务器发送的心跳数据包;对心跳数据包进行解析,获取待升级文件的基础信息,该基础信息包括目的设备类型、目的文件类型和目的文件版本号;若目的设备类型与本地设备类型相同,目的文件类型与本地文件类型相同且目的文件版本号与本地文件版本号不同,则确定该基础信息为待升级文件的目的信息;根据待升级文件的目的信息,从自治服务器上下载与目的信息对应的目的升级文件;根据目的升级文件,对与本地文件版本号对应的本地文件进行升级,采用本发明实施例提供的方案,可以完成远程升级,节省升级时间,避免了由于升级数据包的名称错误,导致出现升级包安装错误的问题,提高了升级文件的安装准确率。

本发明再一实施例提供一种终端设备,用于执行上述实施例提供的服务器程序的升级方法。

图7是本发明的一种终端设备的结构示意图,如7所示,该终端设备包括:至少一个处理器701和存储器702;

所述存储器存储计算机程序;所述至少一个处理器执行所述存储器存储的计算机程序,以实现上述实施例提供的服务器程序的升级方法。

本实施例提供的终端设备,通过接收远程控制系统中的自治服务器发送的心跳数据包;对心跳数据包进行解析,获取待升级文件的基础信息,该基础信息包括目的设备类型、目的文件类型和目的文件版本号;若目的设备类型与本地设备类型相同,目的文件类型与本地文件类型相同且目的文件版本号与本地文件版本号不同,则确定该基础信息为待升级文件的目的信息;根据待升级文件的目的信息,从自治服务器上下载与目的信息对应的目的升级文件;根据目的升级文件,对与本地文件版本号对应的本地文件进行升级,采用本发明实施例提供的方案,可以完成远程升级,节省升级时间,避免了由于升级数据包的名称错误,导致出现升级包安装错误的问题,提高了升级文件的安装准确率。

本申请又一实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现上述任一实施例提供的服务器程序的升级方法。

根据本实施例的计算机可读存储介质,通过接收远程控制系统中的自治服务器发送的心跳数据包;对心跳数据包进行解析,获取待升级文件的基础信息,该基础信息包括目的设备类型、目的文件类型和目的文件版本号;若目的设备类型与本地设备类型相同,目的文件类型与本地文件类型相同且目的文件版本号与本地文件版本号不同,则确定该基础信息为待升级文件的目的信息;根据待升级文件的目的信息,从自治服务器上下载与目的信息对应的目的升级文件;根据目的升级文件,对与本地文件版本号对应的本地文件进行升级,采用本发明实施例提供的方案,可以完成远程升级,节省升级时间,避免了由于升级数据包的名称错误,导致出现升级包安装错误的问题,提高了升级文件的安装准确率。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本发明所提供的一种服务器程序的升级方法和一种服务器程序的升级装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1