一种远程升级终端设备的方法及系统与流程

文档序号:12133892阅读:248来源:国知局
一种远程升级终端设备的方法及系统与流程

本发明涉及设备升级领域,具体说的是一种远程升级终端设备的方法及系统。



背景技术:

目前利用互联网技术,在云端可以对远程终端设备进行升级的方案不少,但从安全的角度来考虑整个远程升级过程中各个环节可能遇到的风险的方案少之又少。终端设备在运行过程中,远程对其进行推送升级具有很高风险,可能造成终端设备中断运行或运营故障并引起商业纠纷。所以,可靠成熟的远程升级方案必须充分考虑各个环节的安全问题。

现有的远程升级简化流程如图1所示,包括升级包的发布,云端用户推送升级包和终端设备升级三个步骤。在这三个步骤中,升级包的发布比较简单,并且在云端由管理专员进行统一管理,一般不存在太大的安全问题。剩下的两个节点以及由这两个节点延伸出来的子环节,便是整个安全远程升级方案考虑和设计的重点。其中可能存在的风险主要有:1、如何避免未授权的用户往终端设备推送远程升级包,造成潜在的风险?2、如何避免通讯内容被监听或被修改?3、考虑帐号密码的单一性和易被窃取性,如何保证当前操作用户就是用户本身?4、一个升级包如何避免被到处使用,如何避免升级包内容被人获悉,甚至被篡改?5、能否结合每个终端设备的不同环境和状态,由终端决定是否可以对自身进行远程升级?6、终端设备整个升级过程是否有完整的监控记录并可备查?升级结果是否可查?7、终端设备升级失败是否有相应的挽救措施?



技术实现要素:

本发明所要解决的技术问题是:提供一种远程升级终端设备的方法及系统。

为了解决上述技术问题,本发明采用的技术方案为:

一种远程升级终端设备的方法,包括:

终端设备与云端服务器建立长链接;

在云端服务器创建若干个设备管理员账号;

建立终端设备与一设备管理员账号的关联关系;

通过设备管理员账号成功登陆云端服务器,并对与其关联的终端设备进行版本升级。

本发明提供的另一个技术方案为:

一种远程升级终端设备的系统,包括:

建立模块,用于终端设备与云端服务器建立长链接;

创建模块,用于在云端服务器创建若干个设备管理员账号;

关联模块,用于建立终端设备与一设备管理员账号的关联关系;

升级模块,用于通过设备管理员账号成功登陆云端服务器,并对与其关联的终端设备进行版本升级。

本发明的有益效果在于:通过创建多个的设备管理员账号,将一个设备管理员账号与至少一个的终端设备进行关联,通过设备管理员账号远程管理与之关联的终端设备的版本升级。并且引入在升级操作时,必须进行多重合法性验证的机制,不仅能够保证升级操作的安全性;而且能够在基于C/S的管理方案中,随着终端设备数量的增加,达到成千上万甚至更高的数量级别时,能够更高效地对终端设备进行安全管理,最终实现安全、高效的协同管理。

附图说明

图1为现有的远程升级简化流程;

图2为本发明的一种远程升级终端设备的方法的流程示意图;

图3为本发明实施例一的流程示意图;

图4为本发明实施例二的流程示意图;

图5为本发明实施例三的流程示意图;

图6为本发明实施例四的流程示意图;

图7为本发明一种远程升级终端设备的系统的功能模块结构组成示意图;

图8为本发明实施例五的系统功能模块结构组成示意图;

图9为本发明实施例六的系统模块组成架构示意图;

图10为本发明系统管理员、设备管理员与终端设备之间的关系示意图。

标号说明:

1、建立模块;2、创建模块;3、关联模块;4、升级模块;

5、绑定模块;6、第一发送模块;7、验证模块;8、第二发送模块;

9、查询模块;10、判断模块;

11、启动单元;12、判定单元;13、复位单元;

41、触发单元、42、加密单元;43、请求单元;44、升级单元;

01、云端管理单元;02、云端鉴权单元;03、升级密钥管理单元;

04、云端升级包处理单元;05、升级记录查询单元;06、连接通讯单元;

07、终端升级包处理单元;08、设备升级单元;09、信息上报单元。

具体实施方式

为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。

本发明最关键的构思在于:引入合法身份的设备管理员账号管理升级机制,负责与之关联的终端设备的远程升级,实现安全、高效的协同管理。

请参照图2,本发明提供一种远程升级终端设备的方法,包括:

终端设备与云端服务器建立长链接;

在云端服务器创建若干个设备管理员账号;

建立终端设备与一设备管理员账号的关联关系;

通过设备管理员账号成功登陆云端服务器,并对与其关联的终端设备进行版本升级。

进一步的,所述对与其关联的终端设备进行版本升级,具体包括:

通过所述设备管理员账号触发对与其关联的一终端设备进行版本升级的指令;

云端服务器接收到所述指令后,依据对应所述一终端设备的唯一标识符随机生成一在预设时间内有效的动态密钥对所述一终端设备的升级包进行加密,并将加密后升级包的下载地址发送至所述一终端设备;

所述一终端设备成功下载所述加密后升级包后,依据与其对应的唯一标识符向云端服务器请求升级包密钥;

使用所述升级包密钥对加密后升级包进行解密,获取升级包。由上述描述可知,通过设备管理员账号对终端设备进行版本升级的过程中对升级包采用动态加密方式,并且只在有限时间内有效,能够避免升级包内容被外泄或被篡改,也可避免一个升级包多处使用的问题。

进一步的,还包括:

进行加密的升级包的资源编号和所述加密后升级包的下载地址一起发送至所述一终端设备;

所述获取升级包,之后,进一步包括:

所述一终端设备依据所获取的升级包的资源编号向云端服务器请求安装密钥;

使用所述安装密钥和升级包进行版本升级。

由上述可知,通过设置安装密钥,实现对升级包的双重验证,同时确保版本升级过程的安全性。

进一步的,还包括:

将设备管理员账号与一预设的通信账号进行绑定;

在所述对与其关联的终端设备进行版本升级步骤之前,云端服务器发送随机校验码至所述一预设的通信账号;

云端服务器在预设时间段内获取所述随机验证码,并验证通过后,执行所述版本升级步骤。

由上述描述可知,在依据合法的账号密码登陆云端服务器后,在执行版本升级之前,还将再次对设备管理员账号进行身份验证;通过多重确认机制,核实操作设备管理员账号的身份,同时又能避免未授权的用户非法推送升级包给终端设备造成风险。

进一步的,所述验证通过后,进一步包括:

云端服务器发送升级查询指令至终端设备;

终端设备依据所述升级查询指令查询当前是否处于预设的可升级的时间段内,并依据查询结果发送响应至云端服务器;

远程终端依据接收到的响应判断是否执行所述版本升级步骤。

由上述描述可知,终端设备可以根据运行需求灵活调整允许远程升级的时间段,实现终端设备结合自身所处环境和状态决定是否可以进行全程升级,提高远程版本升级的灵活度。

进一步的,所述终端设备与云端服务器建立长链接,具体包括:

终端设备启动后,与云端服务器建立TCP长链接;

终端设备定时向云端服务器发送心跳检验包,若未在预设时间段内接收到响应包,则判定链路异常;

终端设备复位,重新执行所述与云端服务器建立长链接步骤。

由上述描述可知,云端服务器一般直接部署在广域网上,而终端设备部署在局域网上,以心跳存活的通讯机制建立二者之间可靠的通讯通路,并能在断链时自动复位重连,以此保证良好的通讯质量。

本发明提供的另一个技术方案为:

请参阅图7,一种远程升级终端设备的系统,包括:

建立模块,用于终端设备与云端服务器建立长链接;

创建模块,用于在云端服务器创建若干个设备管理员账号;

关联模块,用于建立终端设备与一设备管理员账号的关联关系;

升级模块,用于通过设备管理员账号成功登陆云端服务器,并对与其关联的终端设备进行版本升级。

进一步的,所述升级模块包括:

触发单元,用于通过所述设备管理员账号触发对与其关联的一终端设备进行版本升级的指令;

加密单元,用于云端服务器接收到所述指令后,依据对应所述一终端设备的唯一标识符随机生成一动态密钥对所述一终端设备的升级包进行加密,并将加密后升级包的下载地址和升级包资源编号发送至所述一终端设备;

请求单元,用于所述一终端设备成功下载所述加密后升级包后,依据与其对应的唯一标识符和所述升级包资源编号分别向云端服务器请求升级包密钥和安装密钥;

升级单元,用于使用所述升级包密钥对加密后升级包进行解密,获取升级包;使用所述安装密钥和升级包进行版本升级。

进一步的,还包括:

绑定模块,用于将设备管理员账号与一预设的通信账号进行绑定;

第一发送模块,用于在所述对与其关联的终端设备进行版本升级步骤之前,云端服务器发送随机校验码至所述一预设的通信账号;

验证模块,用于云端服务器在预设时间段内获取所述随机验证码,并验证通过后,触发所述升级模块。

进一步的,还包括:

第二发送模块,用于云端服务器发送升级查询指令至终端设备;

查询模块,用于终端设备依据所述升级查询指令查询当前是否处于预设的可升级的时间段内,并依据查询结果发送响应至云端服务器;

判断模块,用于远程终端依据接收到的响应判断是否触发所述升级模块。

进一步的,所述建立模块包括:

启动单元,用于终端设备启动后,与云端服务器建立TCP长链接;

判定单元,用于终端设备定时向云端服务器发送心跳检验包,若未在预设时间段内接收到响应包,则判定链路异常;

复位单元,用于终端设备复位,重新触发所述启动单元。

实施例一

请参照图3,本实施例针对远程升级的整个流程可能存在的各种问题,提供一种远程升级终端设备的方法。

具体的,包括以下步骤:

S1:终端设备与云端服务器建立长链接。

云端服务器一般直接部署在广域网上,但终端设备一般都部署在局域网内,为了保证终端设备和云端服务器之间的可靠的通讯通路,可以通过以下子步骤实现:

S11:终端设备启动后,由终端设备先建立与云端服务器建立TCP长链接;

S12:终端设备定时向云端服务器发送心跳检验包,若不能在预设时间段内接收到云端服务器反馈回来的响应包,则说明二者之间的链路或云端服务器出现异常,判定为链路异常,然后执行S13;若是,则链路正常,执行S2。

S13:终端设备自动进行复位重连,返回执行S11的由终端设备先建立与云端服务器建立TCP长链接步骤。

优选的,基于对安全性的考虑和需求,云端服务器与终端设备之间的线上线下通讯内容需要进行加密,如采用常见的SSL加密方式。

通路的正常是云端服务器推送远程升级指令和线上线下通讯的基础,基于上述的心跳存活机制,管理员可以通过设备管理员账号知道与之关联的终端设备的在线情况,并通过已经建立好的通讯链路向终端设备发送在线升级指令等。

S2:在云端服务器创建若干个设备管理员账号。

S3:建立终端设备与一设备管理员账号的关联关系。

如图10所示,云端系统管理员在云端服务器建立若干个设备管理员账号,如设备管理员1、设备管理员2….设备管理员n;并将与云端系统服务器进行通讯连接的终端设备和一个设备管理员账号关联绑定,如设备管理员1下关联终端设备a1、终端设备a2….设备管理员n下关联终端设备c1、终端设备c2….。在实际运用中,优选按区域将不同区域的终端设备划分给不同区域的设备管理员。终端设备与设备管理员账号之间的关系由系统管理员进行关联。每个终端设备只能关联一个设备管理员账号,一个设备管理员账号可以跟多个的终端设备进行关联。每个设备管理员可以且只能依据系统管理员分配给自身的设备管理员账号管理自己账号下的终端设备,如对其进行远程升级操作等。

通过引入设备管理员账号,在本实施例这种云端服务器与多个终端设备之间基于C/S的管理方案中,能够在随着Client(终端设备)数量的增加,达到成千上万甚至更高的数量级别时,更高效的对这些终端设备进行安全地协同管理。如:

S4:通过设备管理员账号成功登陆云端服务器,并对与其关联的终端设备进行版本升级。

在云端系统管理员发布终端设备新版本之后,只有经授权的管理员才能依据合法的账号和密码成功的登陆云端服务器,保证了通过设备管理员账号对与之关联的终端设备的管理的合法性,保证了操作的安全性。通过设备管理员账号执行如发送终端设备所需的升级安装包至终端设备进行版本升级,不仅能够以高效率、统一方式完成对大量终端设备的版本升级,而且能够有效避免未授权的用户网终端设备推送升级包,造成潜在的风险。

实施例二

请参照图4,本实施例在实施例一的基础上,对其进一步的延伸拓展,相同之处不再复述,区别在于:

所述S4之前,还包括:

S40:云端系统管理员发布终端设备新版本。

所述S4具体可以通过以下子步骤实现:

S41:通过设备管理员账号成功登陆云端服务器。具体的,设备管理员凭借自身的设备管理员账号和密码登陆云端服务器,通过云端鉴权单元对其账号和密码进行身份验证后,可查看账号名下所有的终端设备。优选的,设备管理员名下的终端设备以列表形式存储管理。

S42:通过所述设备管理员账号触发对与其关联的一终端设备进行版本升级的指令。具体的,设备管理员通过设备管理员账号选择一个名下在线的可进行软件升级的终端设备,然后再选择对应的升级包。

S43:云端服务器接收到对应一终端设备的版本升级指令后,依据对应待升级的终端设备的唯一标识符随机生成一串只在预设时间内有效的动态密钥对该终端设备的升级包进行加密,并将加密后升级包的下载地址和包含升级包资源编号的升级信息发送至所述一终端设备。

具体的,所述唯一标识符可以是如设备编号等与终端设备唯一对应,起标识作用的编号或代码。所述动态密钥通过调用密钥管理单元依据所述唯一标识符随机生成。随所述下载地址一起推送至所述一终端设备的还包括升级信息,用于通知其进行升级,并依据接收的信息进行升级。

S44:所述一终端设备依据接收到的下载地址成功下载所述加密后升级包后,依据与其对应的唯一标识符向云端服务器请求所述加密后升级包的升级包密钥;依据所述升级包资源编号向云端服务器请求所述升级包的安装密钥。

具体的,当云端服务器接收到终端设备发送的升级包密钥和安装密钥请求后,通过调用密钥管理单元验证请求是否合法,并且存有有效的安装密钥;若是,则返回升级包密钥和安装密钥给终端设备。

所述升级包密钥和安装密钥的也可以分开请求,分开获取;在成功请求并获取升级包密钥并解密获取安装包后,再请求获取安装密钥,避免出错。

S45:终端设备使用所述升级包密钥对加密后升级包进行解密,获取升级包;使用所述安装密钥和升级包进行版本升级。

具体的,优选所述升级包密钥和安装密钥具有时效性,只会在预设时间段内有效,从而进一步加强对升级包文件的安全性。在实际应用中,失效时间的长短设置,应该综合考虑升级包文件大小和终端设备环境下下载升级包所需的时长。

升级的过程主要包括:升级前的系统备份步骤、系统升级更新步骤,以及若升级失败则自动回滚系统版本的步骤。考虑到本地升级过程中可能出现如升级包本身制作问题、升级过程异常断电等升级异常情况,通过升级前备份、升级过程、升级后自动上报升级状况以及自动进行系统回滚的方式来对应解决,从而保证终端设备始终处于一个可靠稳定的状态。同时,终端设备将主动上报本次升级结果,并重新上报自身最新的系统版本信息,以留备份。

本实施例为了避免升级包下载地址泄露,导致升级包原始内容泄露甚至被恶意修改,以及一个升级包被多处使用的问题,通过增加对原始升级包使用动态加密密钥对其进行加密的步骤,最大程度的提高升级包的安全性;同时又能保证升级的稳定性。

实施例三

本实施例在实施例二的基础上,对其进一步的延伸,增加了对设备管理员账号的二重确认步骤,通过对升级管理对象的多重确认机制,避免未授权用户非法推送信息给终端设备而造成风险。

具体的,在S2之后,还包括:将设备管理员账号与一预设的通信账号进行绑定的步骤。所述通信账号可以是手机号码、邮箱账号、微信账号或者QQ账号等具有个人身份性质的帐号。系统管理员为每个设备管理员账号绑定通信账号,便于对设备管理员账号进行第二次身份验证。下面,以手机号码为例进行说明。

请参阅图5,第二次身份验证的过程包括:

在所述S41对设备管理员账号进行第一次身份验证之后,考虑到帐号和密码信息的容易传播和易被获悉的特性,所以在往线下推送升级通知的时候,即S42之前,进一步包括:

S411:云端服务器发送随机校验码至所述一预设的手机号码。具体的,云端服务器自动发送本次操作的验证码至当前设备管理员账号绑定的手机号码上。

S412:只有云端服务器在预设时间段内,即验证码的有效时间内获取设备管理员输入的所述随机验证码,并验证通过后,才执行所述S42。

本实施例通过对设备管理员身份的多重验证,保证设备管理员身份的合法性,以此最大范围的避免非法用户的操作,从而进一步提升安全性。需要提到的是,设备管理员本身并无修改接受验证码的通信账号的权限,设备管理员和其对应的通信账号必须由系统管理员进行统一绑定。

实施例四

请参阅图6,本实施例在实施例三的基础上,对其进一步延伸,增加了终端设备在版本升级过程中的自主控制权。

具体的,在S42之后,云端服务器接收到版本升级指令后,进一步包括:

S431:云端服务器发送升级查询指令至终端设备;

S432:终端设备依据所述升级查询指令查询当前是否处于预设的可升级的时间段内,并依据查询结果发送响应至云端服务器。终端设备可以依据设备运营场合的特殊性,自主预设可进行设备版本升级的时间段,以尽可能的避开营业或其他重要时间段。

S433:远程终端依据接收到的响应判断是否继续执行所述S43的加密步骤。具体的,若响应可进行升级,则继续执行S43;若响应不进行升级,则结束流程。

本实施例将整个远程方案的一部分自主控制权下放至终端设备控制,充分考虑了终端设备的不同运行环境和状态,由终端设备决定是否在接收到升级通知的这一时刻对自身进行远程升级,实现了终端设备根据运行需要灵活调整允许远程升级的时间段,从而提升终端升级的自主性;再次提高远程升级的安全性。

在一优选实施例中,还包括升级记录步骤,对S4整个升级流程的每一步操作至最后升级成功或失败,都将产生相应的操作日志记录。通过操作日志记录实现对升级过程的完整监控和可备查功能。

实施例五

请参阅图8,本实施例依据实施例四提供与其对应的远程升级终端设备的系统的功能模块结构组成。具体的,可以由以下功能模块组成:

建立模块1,用于终端设备与云端服务器建立长链接;

创建模块2,用于在云端服务器创建若干个设备管理员账号;

关联模块3,用于建立终端设备与一设备管理员账号的关联关系;

升级模块4,用于通过设备管理员账号成功登陆云端服务器,并对与其关联的终端设备进行版本升级。

具体的,上述建立模块1包括:

启动单元11,用于终端设备启动后,与云端服务器建立TCP长链接;

判定单元12,用于终端设备定时向云端服务器发送心跳检验包,若未在预设时间段内接收到响应包,则判定链路异常;

复位单元13,用于终端设备复位,重新触发所述启动单元。

上述升级模块4包括:

触发单元41,用于通过所述设备管理员账号触发对与其关联的一终端设备进行版本升级的指令;

加密单元42,用于云端服务器接收到所述指令后,依据对应所述一终端设备的唯一标识符随机生成一动态密钥对所述一终端设备的升级包进行加密,并将加密后升级包的下载地址和升级包资源编号发送至所述一终端设备;

请求单元43,用于所述一终端设备成功下载所述加密后升级包后,依据与其对应的唯一标识符和所述升级包资源编号分别向云端服务器请求升级包密钥和安装密钥;

升级单元44,用于使用所述升级包密钥对加密后升级包进行解密,获取升级包;使用所述安装密钥和升级包进行版本升级。

进一步的,还包括:

绑定模块5,用于将设备管理员账号与一预设的手机号码进行绑定;

第一发送模块6,用于在所述对与其关联的终端设备进行版本升级步骤之前,云端服务器发送随机校验码至所述一预设的手机号码;

验证模块7,用于云端服务器在预设时间段内获取所述随机验证码,并验证通过后,触发所述升级模块。

第二发送模块8,用于云端服务器发送升级查询指令至终端设备;

查询模块9,用于终端设备依据所述升级查询指令查询当前是否处于预设的可升级的时间段内,并依据查询结果发送响应至云端服务器;

判断模块10,用于远程终端依据接收到的响应判断是否触发所述升级模块。

实施例六

请参阅图9,本实施例对应实施例四提供本发明远程升级终端设备的系统的另一模块组成架构,具体的,所述架构包括:

云端管理单元01:该单元的主要使用者是系统管理员,主要负责设备管理员的账户权限管理和终端设备升级包的审核发布。

云端鉴权单元02:这里的鉴权主要是指对设备管理员的身份认证,避免非法人员往终端设备推送远程升级指令,造成潜在的风险。这个单元主要包括两个部分:登录时账号密码的验证和推送升级包时的手机身份认证。

升级密钥管理单元03:这个单元负责生成每个升级会话所需的动态密钥信息,并且控制每个密钥的生存期,同时完成对密钥合法性的判断。

云端升级包处理单元04:为了安全考虑,云端的升级包在传输给终端设备前,必须进行加密处理。该单元负责利用生成的动态密钥对源软件升级包进行加密处理,同时加上对应的标记戳,保密的同时保证升级包的不可修改。

升级记录查询单元05:从推送升级指令开始,整个升级流程的每一步操作,到最后终端升级成功或失败,都会产生相应的操作日志记录。该单元负责查询和跟踪升级的情况。

连接通讯单元06:该单元是整个远程升级方案的基础单元。该单元包括线上部分和线下部分。通过该单元,可以保证线上线下网络通讯的顺畅。该单元在技术上主要包括套接字连接、心跳机制、失败重连以及线上对线下所有连接的统一管理等。

终端升级包处理单元07:该单元的主要功能包括升级包的下载、升级包的校验、解密和解析等;通过该单元处理成功的升级包,将提供给设备升级单元进行最终的升级操作。

设备升级单元08:该单元负责对终端设备进行本地升级,以及升级的异常处理。主要包括以下三个功能:系统备份功能、系统升级功能和系统异常恢复单元。

信息上报单元09:该单元负责信息的上报。在本实施例中,需要进行上报的信息主要包括升级过程中产生的各种操作记录和终端设备的软硬件版本信息;前者在升级过程中产生并上报,作为云端升级记录查询的重要支撑;而版本信息上报在终端设备每次启动时上报,这样云端设备管理员对自己管辖下全网设备版本分布情况就有了更直观的了解。需要说明的是,这两种需要上报的信息都属于重要信息,所以本实施例考虑了上报失败需要进行异常重报。

本实施例针对终端设备远程升级整个流程,从管理架构和技术实现进行了综合考虑;并将升级安全作为整个方案的重中之重,从升级包文件的安全,到通讯链路的安全,到人员管理的策略安全,再到升级操作的安全,升级失败应急容错措施,追责机制等等,进行全方面的考虑和设计,力求实现一个高效的安全可靠的远程升级终端设备方案。

综上所述,本发明提供的一种远程升级终端设备的方法及系统,不仅实现了多用户对大量终端设备的高效协同管理;而且通过设备管理账号的多重身份确认机制,有效避免了非法推送给终端设备而造成风险;再来,对升级包采用动态加密方式,有效避免升级包外泄或被篡改或被多处使用的问题;进一步的,通过在升级通过通讯全程加密,密钥动态生成机制,以及密钥时效性机制,显著提升了升级过程的安全性;再进一步的,终端设备还可以根据运行需要灵活调整允许升级的时间段,使终端设备拥有自主控制权;最后,还实现了升级过程自动监控记录功能,实现升级操作及结果的可跟踪。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

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