一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种终端设备升级方法、装置、计算机设备和存储介质与流程

2022-02-20 01:23:46 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,特别是涉及一种终端设备升级方法、装置、计算机设备和存储介质。


背景技术:

2.目前随着物联网技术的发展,越来越多的物联网终端上线入网。然而,在应用现场安装入网之后,相关的维护人员也需要根据客户需求或市场的变化,对物联网终端进行维护升级,而由于一般物联网终端的数量都比较多且安装的地点也各不相同,因此厂商对其进行维护升级时,大多基于无线升级技术进行设备升级。
3.现有的无线升级技术主要是通过无线网络,来下载程序更新包,通过下载的程序更新包进行flash烧录升级。虽然,现有的无线升级技术能够有效的实现设备升级,但其在下载程序更新包时,可能存在程序更新包被恶意截获,或者被掉包等情况发生,使得在升级时可能升级了来源不明的程序更新包,无法保障设备升级的安全性,存在一定的安全隐患。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种能够保障设备升级安全性的终端设备升级方法、装置、计算机设备和存储介质。
5.一种终端设备升级方法,所述方法应用于终端设备,包括以下步骤:
6.向升级服务器发送接入请求指令,并接收所述升级服务器基于所述接入请求指令对应反馈的认证回复结果;
7.解析所述认证回复结果得到相应的身份认证信息;所述身份认证信息包括终端设备的访问结果信息以及随机生成的验证信息;
8.基于解析得到的访问结果信息,在确认请求接入成功时,基于所述验证信息生成第一令牌;
9.获取设备信息,并将所述第一令牌和所述设备信息传输到所述升级服务器,以由所述升级服务器根据接收到的第一令牌,在确定终端设备具备下载权限时,基于所述设备信息进行升级数据包的查询,并在查询成功时,反馈相应的升级数据包下载信息到终端设备;
10.接收所述升级服务器反馈的升级数据包下载信息,并根据所述升级数据包下载信息进行设备升级。
11.一种终端设备升级装置,所述装置包括:
12.请求发起模块,用于向升级服务器发送接入请求指令,并接收所述升级服务器基于所述接入请求指令对应反馈的认证回复结果;
13.解析模块,用于解析所述认证回复结果得到相应的身份认证信息;所述身份认证信息包括终端设备的访问结果信息以及随机生成的验证信息;
14.验证处理模块,用于基于解析得到的访问结果信息,在确认请求接入成功时,基于
所述验证信息生成第一令牌;
15.信息传输模块,用于获取设备信息,并将所述第一令牌和所述设备信息传输到所述升级服务器,以由所述升级服务器根据接收到的第一令牌,在确定终端设备具备下载权限时,基于所述设备信息进行升级数据包的查询,并在查询成功时,反馈相应的升级数据包下载信息到终端设备;
16.设备升级模块,用于接收所述升级服务器反馈的升级数据包下载信息,并根据所述升级数据包下载信息进行设备升级。
17.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
18.向升级服务器发送接入请求指令,并接收所述升级服务器基于所述接入请求指令对应反馈的认证回复结果;
19.解析所述认证回复结果得到相应的身份认证信息;所述身份认证信息包括终端设备的访问结果信息以及随机生成的验证信息;
20.基于解析得到的访问结果信息,在确认请求接入成功时,基于所述验证信息生成第一令牌;
21.获取设备信息,并将所述第一令牌和所述设备信息传输到所述升级服务器,以由所述升级服务器根据接收到的第一令牌,在确定终端设备具备下载权限时,基于所述设备信息进行升级数据包的查询,并在查询成功时,反馈相应的升级数据包下载信息到终端设备;
22.接收所述升级服务器反馈的升级数据包下载信息,并根据所述升级数据包下载信息进行设备升级。
23.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
24.向升级服务器发送接入请求指令,并接收所述升级服务器基于所述接入请求指令对应反馈的认证回复结果;
25.解析所述认证回复结果得到相应的身份认证信息;所述身份认证信息包括终端设备的访问结果信息以及随机生成的验证信息;
26.基于解析得到的访问结果信息,在确认请求接入成功时,基于所述验证信息生成第一令牌;
27.获取设备信息,并将所述第一令牌和所述设备信息传输到所述升级服务器,以由所述升级服务器根据接收到的第一令牌,在确定终端设备具备下载权限时,基于所述设备信息进行升级数据包的查询,并在查询成功时,反馈相应的升级数据包下载信息到终端设备;
28.接收所述升级服务器反馈的升级数据包下载信息,并根据所述升级数据包下载信息进行设备升级。
29.上述终端设备升级方法、装置、计算机设备和存储介质,终端设备向升级服务器发送接入请求指令,并接收升级服务器基于接入请求指令对应反馈的认证回复结果。该认证回复结果中包括有访问结果信息和验证信息。之后,终端设备基于访问结果信息,确定在确认请求接入成功时,再基于解析得到的验证信息生成相应的第一令牌,以通过第一令牌获
取对应的升级数据包。其中,终端设备在成功接入升级服务器后才会后续与升级服务器间的数据交互,可以保障升级服务器与终端设备之间的交互身份安全性,也避免了非法访问者的接入,可以保障升级过程的安全性。并且,由于验证信息是随机生成的,这一操作也能间接保证令牌的可变性,这样即使非法访问者能够窃取到某一升级阶段的令牌,也不能基于该令牌伪造成终端设备,进而向升级服务器请求升级数据包。另外,升级服务器在反馈升级数据包下载信息到终端设备之前,也会基于接收到的令牌,确定终端设备的下载权限,以避免将升级数据包下载信息反馈到无权限的设备,所造成的资源流失,进一步保障了设备升级的安全性。
附图说明
30.图1为一个实施例中终端设备升级方法的应用环境图;
31.图2为一个实施例中终端设备升级方法的部分流程示意图;
32.图3为一个实施例中终端设备升级方法的整体流程示意图;
33.图4为一个实施例中旧程序的升级步骤的流程示意图;
34.图5为一个实施例中终端设备升级装置的结构框图;
35.图6为一个实施例中计算机设备的内部结构图。
具体实施方式
36.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
37.本技术提供的终端设备升级方法,可以应用于如图1所示的应用环境中。其中,终端设备102通过网络与升级服务器104进行通信。终端设备102向升级服务器104发送接入请求指令,并接收升级服务器104基于接入请求指令对应反馈的认证回复结果;终端设备102解析认证回复结果得到相应的身份认证信息;身份认证信息包括终端设备的访问结果信息以及随机生成的验证信息;终端设备102基于解析得到的访问结果信息,在确认请求接入成功时,基于验证信息生成第一令牌;终端设备102获取设备信息,并将第一令牌和设备信息传输到升级服务器104,以由升级服务器104根据接收到的第一令牌,在确定终端设备102具备下载权限时,基于设备信息进行升级数据包的查询,并在查询成功时,反馈相应的升级数据包下载信息到终端设备102;终端设备102接收升级服务器104反馈的升级数据包下载信息,并根据升级数据包下载信息进行设备升级。
38.其中,终端设备102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、便携式可穿戴设备和物联网终端,升级服务器106可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
39.在一个实施例中,如图2所示,提供了一种终端设备升级方法,以该方法应用于图1中的终端设备为例进行说明,包括以下步骤:
40.步骤s202,向升级服务器发送接入请求指令,并接收升级服务器基于接入请求指令对应反馈的认证回复结果。
41.具体地,首先,终端设备接收应用服务器发送的升级指令,其中,升级指令中携带
有升级服务器的访问地址。其次,终端设备对接收到的升级指令进行解析,并基于解析得到的升级服务器的访问地址,基于预设的通信端口,定向的往升级服务器发送接入请求指令,其中,该接入请求指令中携带由终端设备的识别号。之后,升级服务器在接收到接入请求指令之后,将对接入请求指令进行解析,以确定终端设备的识别号,并根据解析得到的终端设备的识别号,判断终端设备是否具备访问权限,并反馈相应的认证回复结果到终端设备。
42.在其中一个实施例中,终端设备的识别号可以为imei(international mobile equipment identity,国际移动设备识别码)号。需要说明的是,imei号即为通常所说的手机序列号、手机“串号”等,其用于在网络中识别每一部独立的手机等通信设备,相当于终端设备的身份证。
43.基于上述的实施例,终端设备将通过如下的通信接口,向升级服务器发送接入请求指令:
[0044]“https://ip:port/fota/api/authent?id={imei_num}&version={version_num},method=get”;
[0045]
其中,{imei_num}为终端设备的imei号;{version_num}为采用的协议版本。需要说明的是,上述的协议版本指的是升级服务器用来升级的协议,而协议版本的具体格式可以为“字母 数字”,例如:v1.1等。
[0046]
在一个实施例中,升级服务器收到接入请求指令之后,会回复如下内容(即认证回复结果)给终端设备:
[0047]“{"state":"{result}","action":"authent","message":"{message_info}","id":"{imei_num}","ticket":"{ticket_num}"}”;
[0048]
其中,(1){result}字段为反馈的访问结果(即终端设备的访问结果信息)。在一个实施例中,{result}字段可以定义为“ok”或“error”,其中,“ok”表征了终端设备访问成功,“error”表征了终端设备访问失败。而,上述访问结果的详细信息记载在{message_info}字段,需要说明的是,{message_info}字段为访问结果的具体内容,例如,{message_info}字段可以记载表征imei号长度错误的"imei length error"信息等。(2){ticket_num}为随机生成的ticket数值(随机生成的验证信息)。在一个实施例中,ticket可以是一个长度为6位的0~9的数字。
[0049]
步骤s204,解析认证回复结果得到相应的身份认证信息;身份认证信息包括终端设备的访问结果信息以及随机生成的验证信息。
[0050]
具体地,终端设备对接收到的认证回复结果进行解析,并得到相应的访问结果信息以及随机生成的验证信息。由于上述实施例中,已经对认证回复结果的数据结构、访问结果信息表征的含义、以及随机生成的验证信息表征的含义、以及可定义的形式进行了详细的说明,本技术实施例在此不作过多说明。
[0051]
步骤s206,基于解析得到的访问结果信息,在确认请求接入成功时,基于验证信息生成第一令牌。
[0052]
具体地,终端设备根据升级服务器反馈的访问结果信息,在确定成功访问到升级服务器时,将通过信息摘要算法,在已知终端设备的识别号、预设的特定字符串、以及验证信息的情况下,生成第一令牌。需要说明的是,上述的特定字符串提前由终端设备和升级服务器的厂商内部决定,该字符串没有经过网络,因此,非法访问者将无法通过网络监听等手
段获取到该字符串。而随机生成的验证信息也保证了即使是同一台设备,每次升级时对应生成的令牌均有所不同。另外,信息摘要算法的使用,也能够保证令牌无法被反向还原。如此,便保证了非法访问者无法伪装成终端设备,向升级服务器请求升级数据包的获取,进一步提高了设备升级安全性。
[0053]
在其中一个实施例中,信息摘要算法可以为md5(message-digest algorithm,一种被广泛使用的密码散列函数)算法,在一个实施例中,终端设备将通过md5算法对终端设备的识别号、预设的特定字符串、以及验证信息进行计算,得到相应的token字段。其中,token字段为经由终端设备生成的一串字符串,以作客户端进行请求的一个令牌。token字段使用也能够减轻设备的压力,减少频繁的查询数据库,使得设备更加健壮。
[0054]
步骤s208,获取设备信息,并将第一令牌和设备信息传输到升级服务器,以由升级服务器根据接收到的第一令牌,在确定终端设备具备下载权限时,基于设备信息进行升级数据包的查询,并在查询成功时,反馈相应的升级数据包下载信息到终端设备。
[0055]
具体地,终端设备在获取到设备信息之后,将通过指定的传输接口,将第一令牌和设备信息传输到升级服务器。
[0056]
在其中一个实施例中,传输接口的定义形式为:
[0057]“https://ip:port/fota/api/check?id={imei_num}&version={vers0ion_num}&company={company}&token={md5_token}&product_name={product_name}&product_version={product_version},method=get”;
[0058]
其中,{company}为设备的生产厂商;{product_name}为终端设备所属的设备项目名称;{product_version}为设备信息包括设备升级前,终端设备中处于运行状态的旧程序的版本号;{md5_token}为基于md5算法对ticket字段进行校验得到的校验值。
[0059]
具体的,升级服务器在已知终端设备的识别号、提前与终端设备商定好的特定字符串的情况下,基于同样的方式(例如基于信息摘要算法)生成第二令牌,并将接收到的第一令牌与第二令牌进行比较,以确定终端设备是否具备下载权限。升级服务器在确定终端设备具备访问权限的情况下,将基于接收到的设备信息,进行升级数据包的查询,并在查询成功时,将升级数据包的相关下载信息(例如下载地址、版本号)传输到终端设备。
[0060]
步骤s210,接收升级服务器反馈的升级数据包下载信息,并根据升级数据包下载信息进行设备升级。
[0061]
具体地,终端设备根据接收到的升级数据包下载信息,在确定了升级数据包对应的下载地址之后,从进行下载地址的访问,并从访问到的资源中,进行升级数据包的下载。后续,终端设备在确定升级数据包下载成功时,将基于下载得到的升级数据包进行设备升级。
[0062]
在其中一个实施例中,终端设备可以使用https(hyper text transfer protocol over securesocket layer,超文本传输安全协议)协议访问升级数据包的下载地址,并确定在访问成功的情况下,进行升级数据包的下载。当然,当前实施例中,终端设备也可以使用其他的通信协议访问升级数据包的下载地址,例如,ftp(file transfer protocol,文件传输协议)协议等,本技术实施例对终端设备使用何种通信协议访问升级数据包的下载地址,不作限定。
[0063]
上述终端设备升级方法中,终端设备向升级服务器发送接入请求指令,并接收升
级服务器基于接入请求指令对应反馈的认证回复结果。该认证回复结果中包括有访问结果信息和验证信息。之后,终端设备基于访问结果信息,确定在确认请求接入成功时,再基于解析得到的验证信息生成相应的第一令牌,以通过第一令牌获取对应的升级数据包。其中,终端设备在成功接入升级服务器后才会后续与升级服务器间的数据交互,可以保障升级服务器与终端设备之间的交互身份安全性,也避免了非法访问者的接入,可以保障升级过程的安全性。并且,由于验证信息是随机生成的,这一操作也能间接保证令牌的可变性,这样即使非法访问者能够窃取到某一升级阶段的令牌,也不能基于该令牌伪造成终端设备,进而向升级服务器请求升级数据包。另外,升级服务器在反馈升级数据包下载信息到终端设备之前,也会基于接收到的令牌,确定终端设备的下载权限,以避免将升级数据包下载信息反馈到无权限的设备,所造成的资源流失,进一步保障了设备升级的安全性。
[0064]
在一个实施例中,基于验证信息生成第一令牌,包括:获取终端设备的识别号、以及预设的特定字符串;特定字符串经由终端设备和升级服务器预先协商确定;通过信息摘要算法,对终端设备的识别号、特定字符串以及验证信息进行计算,生成第一令牌。
[0065]
具体的,首先,终端设备获取自身的识别号,以及确定预设的特定字符串。其中,预设的特定字符串,提前由终端设备和升级服务器协商决定,且,该特定字符串未经过网络,因此,非法访问者(例如,黑客)将无法通过网络监听等非法手段监听到该特定字符串。之后,终端设备再通过信息摘要算法(例如,md5算法)对已获取到的终端设备的识别号、特定字符串以及ticket字段进行校验,得到相应的token字段(即生成第一令牌)。
[0066]
上述实施例中,token字段由终端设备的识别号、特定字符串,以及服务器随机产生的ticket共同决定。其中,特定字符串是提前由终端设备和升级服务器协商决定的,没有经过网络,因此,非法访问者无法通过网络监听等手段获取到;而随机生成的ticket则保证了即使是同一台设备,每次升级的token字段都不同,且,信息摘要算法的使用,也进一步保证了token字段无法被反向还原,使得非法访问者无法伪装成终端设备向升级服务器请求获取升级数据包,保证了升级过程的安全性。
[0067]
在一个实施例中,由升级服务器根据接收到的第一令牌,在确定终端设备具备下载权限时,基于设备信息进行升级数据包的查询,包括:由升级服务器将接收到的第一令牌,与基于预先根据反馈到终端设备的认证回复结果,所确定的第二令牌进行比较,得到相应的比较结果;由升级服务器基于比较结果,在确定终端设备具备下载权限时,基于接收到的设备信息,通过后台查询方式,进行升级数据包的查询;设备信息包括设备升级前,终端设备中处于运行状态的旧程序的版本号、终端设备所属的设备项目名称、终端设备的生产厂商中的至少一种。
[0068]
具体的,升级服务器在知晓终端设备的识别号、预设的特定字符串以及其自行随机生成的ticket字段(即验证信息)的情况下,将基于同样的验证方式,即基于信息摘要算法对上述各项信息进行计算,以生成相应的第二令牌。之后,在接收到第一令牌之后,将该第一令牌与已生成的第二令牌进行比较,基于得到的比较结果,在确定第一令牌与第二令牌相匹配的时候,基于接收到的设备信息,进行升级数据包的查询。在一个实施例中,升级服务器可以采用后台查询方式进行升级数据包的查询,当然也可以采用其他的查询方式,例如数据库查询方式等,本技术实施例对此不作限定。
[0069]
在其中一个实施例中,旧程序的版本号即为设备在升级前正在运行的版本,比如“n311-001”等。终端设备所属的设备项目名称包括但不限于是nwy_n311项目等,本技术实施例对此不作限定。升级服务器可以预先将升级数据包,以{升级数据包,设备信息}的升级数据形式存储在数据库中,并在确定终端设备具备下载权限时,以设备信息为查询条件,从数据库中预先已存储的各项升级数据中,进行升级数据包的查询。
[0070]
上述实施例中,升级服务器基于令牌比对方式,确定终端设备是否具备访问权限,避免了非法访问者法伪装成终端设备,向升级服务器请求获取升级数据包,保证了设备升级的安全性。
[0071]
在一个实施例中,由升级服务器在查询成功时,反馈相应的升级数据包下载信息到终端设备,包括:由升级服务器在通过后台查询方式,查询到相应的升级数据包时,确定升级数据包的下载地址、升级数据包的版本号、以及升级数据包的令牌;由升级服务器将升级数据包的下载地址、升级数据包的版本号、以及升级数据包的令牌作为升级数据包下载信息,并将升级数据包下载信息反馈到终端设备。
[0072]
具体的,升级服务器基于接收到的第一令牌,在确定终端设备具备访问权限的情况下,将以设备信息为搜索条件,通过后台查询方式,进行升级数据包的查询,并在确定查询成功的时候,将对所确定升级数据包的下载地址、升级数据包的版本号以及升级数据包的令牌,进行信息整合,并将整合得到的升级数据包下载信息通过相应的传输接口,反馈到终端设备。在确定查询失败的时候,将由升级服务器反馈升级请求失败的信息到终端设备。
[0073]
在其中一个实施例中,升级服务器在确定升级数据包搜索成功时,反馈的信息如下所示:
[0074]“{"state":"ok","action":"check","message":"{message_info}","update":true,"product_version":"{product_version}","company":"{company}","file_md5":"{file_md5}","content":"{content}","current_version":"{product_version}","date":"{data_time}","url":"{file_url}","id":"{imei_num}"}”;
[0075]
其中:
[0076]
(1)“state”中定义的是终端设备的访问结果,例如,在其定义的内容为“ok”时,即认为终端设备访问成功;在其定义的内容为“error”时,即认为终端设备访问失败。
[0077]
(2)“action”中定义的是升级服务当前执行的动作类型,例如,在其定义的内容为“check”时,即认为升级服务器执行的是动作类型为查询类型;在其定义的内容为“authent”时,即认为升级服务器执行的是动作类型为身份认证类型。
[0078]
(3)“message”中定义的是返回结果的详细信息,例如,其可以为"post param error":表示传的请求参数错误等。
[0079]
(4)"update"中定义的是升级数据包的查询结果,例如,在其定义的内容为“true”时,可以认为当前已成功查询到升级数据包,在其定义的内容为“false”时,可以当前未能查询到升级数据包。
[0080]
(5)“company”中定义的是终端设备的生产厂商。
[0081]
(6)“file_md5”中定义的是升级数据包的令牌。
[0082]
(7)“content”中定义的是升级数据包的描述内容,例如,其可以为关于升级数据包的相关描述,属于可选部分,其中定义的内容也有可能为空。
[0083]
(8)“current_version”中定义的是升级数据包的版本号,例如,定义的升级数据
包的版本号为“n311-002”。
[0084]
(9)“date”中定义的是升级服务器存储相应升级数据包的时间点。
[0085]
(10)“url”中定义的是升级数据包的下载地址,如:“https://115.29.212.25:80/upload/1515750186756rom1”。“id”中定义的是xxx。
[0086]
在一个实施例中,接收升级服务器反馈的升级数据包下载信息,并根据升级数据包下载信息进行设备升级,包括:接收升级数据包下载信息,并对升级数据包下载信息进行解析,以确定升级数据包的下载地址;基于预设的安全通信协议,访问升级数据包的下载地址,并在确定地址访问成功时,从当前访问到的地址中,进行实时升级数据包的下载;基于下载得到的实时升级数据包,进行旧程序的升级,以及,在确定旧设备升级完成时,启动对应升级得到的新程序。
[0087]
具体的,终端设备在接收到升级数据包下载信息之后,将对其进行解析,以得到升级数据包的下载地址。之后,再通过预设的安全通信协议,访问升级数据包的下载地址,并从访问到的地址中,进行升级数据包的下载,得到相应的实时升级数据包。之后,终端设备将基于下载得到的实时升级数据包进行设备升级,并在确定设备升级成功的情况下,通过预设的引导加载程序启动新程序,并通过新程序的启动状态,判断设备是否成功升级。
[0088]
在其中一个实施例中,引导加载程序可以为bootloader。需要说明的是,在嵌入式操作系统中,空是在操作系统内核运行之前运行。其可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。预设的安全通信协议可以为https协议、以及ftps协议等,本技术实施例对此不作限定。
[0089]
上述实施例中,下发升级数据包时,由于采用了安全通信协议,这样即使黑客在升级数据包下载信息传输的过程中,中途获取了升级数据包的下载地址,也无法对其进行解析,由此优化了升级数据包的下载过程的安全性,保证了整个通信过程的安全性。
[0090]
在一个实施例中,在基于下载得到的实时升级数据包,进行旧程序的升级步骤之前,方法包括:对升级数据包下载信息进行解析,以确定升级数据包的版本号、以及升级数据包的令牌;通过预设的存储分区,对解析得到的升级数据包的版本号、升级数据包的令牌、以及终端设备中已运行的旧程序进行备份存储;确定实时升级数据包的令牌,并将实时升级数据包的令牌,与存储分区对应存储的第一同类型数据进行比较,得到相应的第一比较结果。
[0091]
具体的,请参考图3,在进行设备升级之前,终端设备还会通过预设的存储分区,对解析得到的升级数据包的版本号、升级数据包的令牌、以及终端设备中已运行的旧程序进行即时存储。这样后续在需要进行数据(例如升级数据包的版本号)比对,以及恢复旧程序的时候,直接从该存储分区中调取相应的数据即可,避免了由于未对旧程序备份,在新程序启动失败的情况下,设备无法正常工作的问题。以及,后续也能够基于预先存储的升级数据包的版本号以及令牌,对实时升级数据包进行验证,这样,即能够防止下载过程中的升级数据包被替换,也能够防止由于人员操作失误而升级了错误的升级数据包,导致设备无法正常工作。
[0092]
在一个实施例中,请参考图4,基于下载得到的实时升级数据包,进行旧程序的升级,以及,在确定旧设备升级完成时,启动对应升级得到的新程序,包括:
[0093]
步骤s402,基于得到的第一比较结果,在确定实时升级数据包的令牌与第一同类型数据相匹配时,基于下载所得的实时升级数据包,进行旧程序的升级。
[0094]
具体的,终端设备在确定实时升级数据包的令牌,与存储分区中预先存储的对应第一同类型数据相匹配时,将基于下载得到的升级数据包进行程序升级,后续再结合对应升级得到的新程序的启动状态,判断设备是否升级成功。
[0095]
步骤s404,在确定旧设备升级完成时,通过预设的引导加载程序,启动对应升级得到的新程序,并在确定新程序启动失败时,从存储分区中调取对应已备份的旧程序,并恢复旧程序。
[0096]
具体的,终端设备通过预设的引导加载程序,例如,可以是bootloader,进行新程序的启动,通过新程序的启动状态,在确定新程序启动失败的情况下,再从存储分区中调取相应的旧程序,并恢复该旧程序。在一个实施例中,终端设备在确定新程序失败的情况下,当确定能成功访问到升级服务器和应用服务器(需要说明的是,升级服务器和应用服务器可以为两台独立服务器,也可以是一台服务器的两种服务)时,将即时生成的升级失败的信息,反馈到应用服务器和升级服务器,以由上述两个服务器即时针对当前设备升级失败的状态,做出相应的应对措施。
[0097]
步骤s406,在确定新程序启动成功时,确定对应升级得到的新程序的版本号,并将新程序的版本号,与存储分区中对应存储的第二同类型数据进行比较,基于得到的第二比较结果,当新程序的版本号与第二同类型数据相匹配时,确定终端设备升级成功。
[0098]
具体的,终端设备在确定新程序启动成功的情况下,将对新程序的版本号的有效性进行验证,以避免下载过程的升级数据包被非法替换而不自知,以及,由于人员操作失误而升级了错误的升级数据包,导致设备无法正常工作。
[0099]
上述实施例中,设备升级时,通过对旧程序进行了备份,以及对下载得到的升级数据包的令牌进行验证,升级完成后,还会对新程序的版本号进行验证,防止了下载过程的升级数据包被非法替换而不自知,保障了设备升级的安全性。
[0100]
应该理解的是,虽然图2-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-4中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0101]
在一个实施例中,如图5所示,提供了一种终端设备升级装置500,包括:请求发起模块501、解析模块502、验证处理模块503、信息传输模块504和设备升级模块505,其中:
[0102]
请求发起模块501,用于向升级服务器发送接入请求指令,并接收升级服务器基于接入请求指令对应反馈的认证回复结果。
[0103]
解析模块502,用于解析认证回复结果得到相应的身份认证信息;身份认证信息包括终端设备的访问结果信息以及随机生成的验证信息。
[0104]
验证处理模块503,用于基于解析得到的访问结果信息,在确认请求接入成功时,基于验证信息生成第一令牌。
[0105]
信息传输模块504,用于获取设备信息,并将第一令牌和设备信息传输到升级服务
器,以由升级服务器根据接收到的第一令牌,在确定终端设备具备下载权限时,基于设备信息进行升级数据包的查询,并在查询成功时,反馈相应的升级数据包下载信息到终端设备。
[0106]
设备升级模块505,用于接收升级服务器反馈的升级数据包下载信息,并根据升级数据包下载信息进行设备升级。
[0107]
在其中一个实施例中,验证处理模块503,还用于获取终端设备的识别号、以及预设的特定字符串;特定字符串经由终端设备和升级服务器预先协商确定;通过信息摘要算法,对终端设备的识别号、特定字符串以及验证信息进行计算,生成第一令牌。
[0108]
在其中一个实施例中,信息传输模块504,还用于由升级服务器将接收到的第一令牌,与基于预先根据反馈到终端设备的认证回复结果,所确定的第二令牌进行比较,得到相应的比较结果;由升级服务器基于比较结果,在确定终端设备具备下载权限时,基于接收到的设备信息,通过后台查询方式,进行升级数据包的查询;设备信息包括设备升级前,终端设备中处于运行状态的旧程序的版本号、终端设备所属的设备项目名称、终端设备的生产厂商中的至少一种。
[0109]
在其中一个实施例中,信息传输模块504,还用于由升级服务器在通过后台查询方式,查询到相应的升级数据包时,确定升级数据包的下载地址、升级数据包的版本号、以及升级数据包的令牌;由升级服务器将升级数据包的下载地址、升级数据包的版本号、以及升级数据包的令牌作为升级数据包下载信息,并将升级数据包下载信息反馈到终端设备。
[0110]
在其中一个实施例中,设备升级模块505,还用于接收升级数据包下载信息,并对升级数据包下载信息进行解析,以确定升级数据包的下载地址;基于预设的安全通信协议,访问升级数据包的下载地址,并在确定地址访问成功时,从当前访问到的地址中,进行实时升级数据包的下载;基于下载得到的实时升级数据包,进行旧程序的升级,以及,在确定旧设备升级完成时,启动对应升级得到的新程序。
[0111]
在其中一个实施例中,设备升级模块505,还用于对升级数据包下载信息进行解析,以确定升级数据包的版本号、以及升级数据包的令牌;通过预设的存储分区,对解析得到的升级数据包的版本号、升级数据包的令牌、以及终端设备中已运行的旧程序进行备份存储;确定实时升级数据包的令牌,并将实时升级数据包的令牌,与存储分区对应存储的第一同类型数据进行比较,得到相应的第一比较结果。
[0112]
在其中一个实施例中,设备升级模块505,还用于基于得到的第一比较结果,在确定实时升级数据包的令牌与第一同类型数据相匹配时,基于下载所得的实时升级数据包,进行旧程序的升级;在确定旧设备升级完成时,通过预设的引导加载程序,启动对应升级得到的新程序,并在确定新程序启动失败时,从存储分区中调取对应已备份的旧程序,并恢复旧程序;在确定新程序启动成功时,确定对应升级得到的新程序的版本号,并将新程序的版本号,与存储分区中对应存储的第二同类型数据进行比较,基于得到的第二比较结果,当新程序的版本号与第二同类型数据相匹配时,确定终端设备升级成功。
[0113]
上述终端设备升级装置,终端设备向升级服务器发送接入请求指令,并接收升级服务器基于接入请求指令对应反馈的认证回复结果。该认证回复结果中包括有访问结果信息和验证信息。之后,终端设备基于访问结果信息,确定在确认请求接入成功时,再基于解析得到的验证信息生成相应的第一令牌,以通过第一令牌获取对应的升级数据包。其中,终端设备在成功接入升级服务器后才会后续与升级服务器间的数据交互,可以保障升级服务
器与终端设备之间的交互身份安全性,也避免了非法访问者的接入,可以保障升级过程的安全性。并且,由于验证信息是随机生成的,这一操作也能间接保证令牌的可变性,这样即使非法访问者能够窃取到某一升级阶段的令牌,也不能基于该令牌伪造成终端设备,进而向升级服务器请求升级数据包。另外,升级服务器在反馈升级数据包下载信息到终端设备之前,也会基于接收到的令牌,确定终端设备的下载权限,以避免将升级数据包下载信息反馈到无权限的设备,所造成的资源流失,进一步保障了设备升级的安全性。
[0114]
关于终端设备升级装置的具体限定可以参见上文中对于终端设备升级方法的限定,在此不再赘述。上述终端设备升级装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0115]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、运营商网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种终端设备升级方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0116]
本领域技术人员可以理解,图6中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0117]
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:向升级服务器发送接入请求指令,并接收升级服务器基于接入请求指令对应反馈的认证回复结果;解析认证回复结果得到相应的身份认证信息;身份认证信息包括终端设备的访问结果信息以及随机生成的验证信息;基于解析得到的访问结果信息,在确认请求接入成功时,基于验证信息生成第一令牌;获取设备信息,并将第一令牌和设备信息传输到升级服务器,以由升级服务器根据接收到的第一令牌,在确定终端设备具备下载权限时,基于设备信息进行升级数据包的查询,并在查询成功时,反馈相应的升级数据包下载信息到终端设备;接收升级服务器反馈的升级数据包下载信息,并根据升级数据包下载信息进行设备升级。
[0118]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取终端设备的识别号、以及预设的特定字符串;特定字符串经由终端设备和升级服务器预先协商确定;通过信息摘要算法,对终端设备的识别号、特定字符串以及验证信息进行计算,生成第一令牌。
[0119]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:由升级服务器将接收到的第一令牌,与基于预先根据反馈到终端设备的认证回复结果,所确定的第二令牌进行比较,得到相应的比较结果;由升级服务器基于比较结果,在确定终端设备具备下载权限
时,基于接收到的设备信息,通过后台查询方式,进行升级数据包的查询;设备信息包括设备升级前,终端设备中处于运行状态的旧程序的版本号、终端设备所属的设备项目名称、终端设备的生产厂商中的至少一种。
[0120]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:由升级服务器在通过后台查询方式,查询到相应的升级数据包时,确定升级数据包的下载地址、升级数据包的版本号、以及升级数据包的令牌;由升级服务器将升级数据包的下载地址、升级数据包的版本号、以及升级数据包的令牌作为升级数据包下载信息,并将升级数据包下载信息反馈到终端设备。
[0121]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:接收升级数据包下载信息,并对升级数据包下载信息进行解析,以确定升级数据包的下载地址;基于预设的安全通信协议,访问升级数据包的下载地址,并在确定地址访问成功时,从当前访问到的地址中,进行实时升级数据包的下载;基于下载得到的实时升级数据包,进行旧程序的升级,以及,在确定旧设备升级完成时,启动对应升级得到的新程序。
[0122]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:对升级数据包下载信息进行解析,以确定升级数据包的版本号、以及升级数据包的令牌;通过预设的存储分区,对解析得到的升级数据包的版本号、升级数据包的令牌、以及终端设备中已运行的旧程序进行备份存储;确定实时升级数据包的令牌,并将实时升级数据包的令牌,与存储分区对应存储的第一同类型数据进行比较,得到相应的第一比较结果。
[0123]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:基于得到的第一比较结果,在确定实时升级数据包的令牌与第一同类型数据相匹配时,基于下载所得的实时升级数据包,进行旧程序的升级;在确定旧设备升级完成时,通过预设的引导加载程序,启动对应升级得到的新程序,并在确定新程序启动失败时,从存储分区中调取对应已备份的旧程序,并恢复旧程序;在确定新程序启动成功时,确定对应升级得到的新程序的版本号,并将新程序的版本号,与存储分区中对应存储的第二同类型数据进行比较,基于得到的第二比较结果,当新程序的版本号与第二同类型数据相匹配时,确定终端设备升级成功。
[0124]
上述计算机设备,终端设备向升级服务器发送接入请求指令,并接收升级服务器基于接入请求指令对应反馈的认证回复结果。该认证回复结果中包括有访问结果信息和验证信息。之后,终端设备基于访问结果信息,确定在确认请求接入成功时,再基于解析得到的验证信息生成相应的第一令牌,以通过第一令牌获取对应的升级数据包。其中,终端设备在成功接入升级服务器后才会后续与升级服务器间的数据交互,可以保障升级服务器与终端设备之间的交互身份安全性,也避免了非法访问者的接入,可以保障升级过程的安全性。并且,由于验证信息是随机生成的,这一操作也能间接保证令牌的可变性,这样即使非法访问者能够窃取到某一升级阶段的令牌,也不能基于该令牌伪造成终端设备,进而向升级服务器请求升级数据包。另外,升级服务器在反馈升级数据包下载信息到终端设备之前,也会基于接收到的令牌,确定终端设备的下载权限,以避免将升级数据包下载信息反馈到无权限的设备,所造成的资源流失,进一步保障了设备升级的安全性。
[0125]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:向升级服务器发送接入请求指令,并接收升级服务器基于接入请求指令对应反馈的认证回复结果;解析认证回复结果得到相应的身份认证信
息;身份认证信息包括终端设备的访问结果信息以及随机生成的验证信息;基于解析得到的访问结果信息,在确认请求接入成功时,基于验证信息生成第一令牌;获取设备信息,并将第一令牌和设备信息传输到升级服务器,以由升级服务器根据接收到的第一令牌,在确定终端设备具备下载权限时,基于设备信息进行升级数据包的查询,并在查询成功时,反馈相应的升级数据包下载信息到终端设备;接收升级服务器反馈的升级数据包下载信息,并根据升级数据包下载信息进行设备升级。
[0126]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取终端设备的识别号、以及预设的特定字符串;特定字符串经由终端设备和升级服务器预先协商确定;通过信息摘要算法,对终端设备的识别号、特定字符串以及验证信息进行计算,生成第一令牌。
[0127]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:由升级服务器将接收到的第一令牌,与基于预先根据反馈到终端设备的认证回复结果,所确定的第二令牌进行比较,得到相应的比较结果;由升级服务器基于比较结果,在确定终端设备具备下载权限时,基于接收到的设备信息,通过后台查询方式,进行升级数据包的查询;设备信息包括设备升级前,终端设备中处于运行状态的旧程序的版本号、终端设备所属的设备项目名称、终端设备的生产厂商中的至少一种。
[0128]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:由升级服务器在通过后台查询方式,查询到相应的升级数据包时,确定升级数据包的下载地址、升级数据包的版本号、以及升级数据包的令牌;由升级服务器将升级数据包的下载地址、升级数据包的版本号、以及升级数据包的令牌作为升级数据包下载信息,并将升级数据包下载信息反馈到终端设备。
[0129]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:接收升级数据包下载信息,并对升级数据包下载信息进行解析,以确定升级数据包的下载地址;基于预设的安全通信协议,访问升级数据包的下载地址,并在确定地址访问成功时,从当前访问到的地址中,进行实时升级数据包的下载;基于下载得到的实时升级数据包,进行旧程序的升级,以及,在确定旧设备升级完成时,启动对应升级得到的新程序。
[0130]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:对升级数据包下载信息进行解析,以确定升级数据包的版本号、以及升级数据包的令牌;通过预设的存储分区,对解析得到的升级数据包的版本号、升级数据包的令牌、以及终端设备中已运行的旧程序进行备份存储;确定实时升级数据包的令牌,并将实时升级数据包的令牌,与存储分区对应存储的第一同类型数据进行比较,得到相应的第一比较结果。
[0131]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:基于得到的第一比较结果,在确定实时升级数据包的令牌与第一同类型数据相匹配时,基于下载所得的实时升级数据包,进行旧程序的升级;在确定旧设备升级完成时,通过预设的引导加载程序,启动对应升级得到的新程序,并在确定新程序启动失败时,从存储分区中调取对应已备份的旧程序,并恢复旧程序;在确定新程序启动成功时,确定对应升级得到的新程序的版本号,并将新程序的版本号,与存储分区中对应存储的第二同类型数据进行比较,基于得到的第二比较结果,当新程序的版本号与第二同类型数据相匹配时,确定终端设备升级成功。
[0132]
上述存储介质,终端设备向升级服务器发送接入请求指令,并接收升级服务器基
于接入请求指令对应反馈的认证回复结果。该认证回复结果中包括有访问结果信息和验证信息。之后,终端设备基于访问结果信息,确定在确认请求接入成功时,再基于解析得到的验证信息生成相应的第一令牌,以通过第一令牌获取对应的升级数据包。其中,终端设备在成功接入升级服务器后才会后续与升级服务器间的数据交互,可以保障升级服务器与终端设备之间的交互身份安全性,也避免了非法访问者的接入,可以保障升级过程的安全性。并且,由于验证信息是随机生成的,这一操作也能间接保证令牌的可变性,这样即使非法访问者能够窃取到某一升级阶段的令牌,也不能基于该令牌伪造成终端设备,进而向升级服务器请求升级数据包。另外,升级服务器在反馈升级数据包下载信息到终端设备之前,也会基于接收到的令牌,确定终端设备的下载权限,以避免将升级数据包下载信息反馈到无权限的设备,所造成的资源流失,进一步保障了设备升级的安全性。
[0133]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
[0134]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0135]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献