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

固件更新方法、装置、终端、服务器及可读存储介质与流程

2022-03-13 21:49:54 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,特别涉及一种固件更新方法、装置、终端、服务器及可读存储介质。


背景技术:

2.随着科技的不断发展,电子设备的种类越来越多,而固件作为各种电子设备中最基础、最底层的软件,是电子设备的灵魂。通过对固件进行更新,可以对电子设备进行升级,完善电子设备的功能。
3.目前在对固件进行更新时,主要是由用户自行从硬件开发商官网下载电子设备对应最新的固件安装包,然后将电子设备连接到计算机设备上,通过硬件开发商提供的专用升级客户端,将最新的固件安装包烧录进电子设备,再在电子设备上基于已烧录的固件安装包进行离线升级。
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.请求发送模块,用于响应于对该第一更新控件的触发操作,向该社交应用服务器发送固件更新请求,该固件更新请求用于指示该社交应用服务器对该目标设备进行固件更新。
31.在一种可能的实现方式中,该请求发送模块,还用于向该社交应用服务器发送状态获取请求,该状态获取请求用于获取该目标设备的更新状态,该更新状态包括更新成功、更新失败和正在更新中任一项;
32.该装置还包括:
33.状态接收模块,用于接收该社交应用服务器返回的该目标设备的更新状态;
34.该界面显示模块,还用于显示状态展示界面,该状态展示界面用于对该目标设备的更新状态进行展示。
35.在一种可能的实现方式中,该装置还包括:
36.信息获取模块,用于获取该目标设备的第一固件版本信息和第二固件版本信息,该第一固件版本信息为该社交应用服务器所存储的固件的版本信息,该第二固件版本信息为该目标设备所安装的固件的版本信息;
37.该界面显示模块,还用于若该第一固件版本信息与该第二固件版本信息不匹配,则显示更新提示界面,该更新提示界面包括第二更新控件,该第二更新控件用于指示通过终端对该目标设备的固件进行更新;
38.模式获取模块,用于响应于对该第二更新控件的触发操作,获取该目标设备的工作模式;
39.安装包发送模块,用于若该工作模式为ota模式,则向该目标设备发送固件安装包,该固件安装包由该终端从该社交应用服务器获取得到。
40.在一种可能的实现方式中,该装置还包括:
41.指令发送模块,用于若该工作模式为app模式,则向该目标设备发送第一模式切换指令,该第一模式切换指令用于指示将工作模式由app模式切换为ota模式;
42.该安装包发送模块,还用于响应于接收到该目标设备的第一反馈信息,向该目标设备发送该固件安装包,该第一反馈信息用于指示该目标设备由app模式向ota模式的模式切换完成。
43.在一种可能的实现方式中,该装置还包括:
44.信息发送模块,用于向该目标设备发送安装包描述信息,该安装包描述信息包括固件安装包的总长度、预计分包总数;
45.该安装包发送模块,还用于响应于接收到该目标设备的第一确认信息,执行向该目标设备发送固件安装包的步骤,该第一确认信息用于指示该目标设备同意接收该固件安装包。
46.在一种可能的实现方式中,该固件安装包包括n个固件分包,其中,n为任意正整数值;
47.该安装包发送模块,包括第一发送子模块和第二发送子模块;
48.该第一发送子模块,用于向该目标设备发送该固件安装包的第i个固件分包,其中,i为小于n的任意正整数值;
49.该第二发送子模块,用于响应于接收到该目标设备的第二确认信息,向该目标设备发送该固件安装包的第i 1个固件分包,直至该n个固件分包发送完成,该第二确认信息用于指示该目标设备接收到该第i个固件分包。
50.在一种可能的实现方式中,该信息发送模块,还用于向该目标设备发送分包描述信息,该分包描述信息包括该第i个固件分包的下标、地址信息、数据量信息和校验码;
51.该第二发送子模块,还用于响应于接收到该目标设备的第三确认信息,执行向该目标设备发送该固件安装包的第i个固件分包的步骤,该第三确认信息用于指示该目标设备同意接收该第i个固件分包。
52.在一种可能的实现方式中,该指令发送模块,还用于向该目标设备发送第二模式切换指令,该第二模式切换指令用于指示将工作模式由ota模式切换为app模式;
53.该装置还包括:
54.第二信息接收模块,用于接收该目标设备的第二反馈信息,该第二反馈信息用于指示该目标设备由ota模式向app模式的模式切换完成。
55.在一种可能的实现方式中,该请求获取模块,用于向该目标设备发送进度获取请求,该进度获取请求用于获取该固件安装包的安装进度;
56.该装置还包括:
57.进度接收模块,用于接收该目标设备发送的该固件安装包的安装进度;
58.该界面显示模块,还用于显示进度展示界面,该进度展示界面用于对该固件安装包的安装进度进行展示。
59.在一种可能的实现方式中,该信息获取模块,还用于响应于接收到该目标设备的握手指令,获取终端的身份信息,该身份信息用于该目标设备确认该终端是否符合建立通信的目标条件;
60.该信息发送模块,还用于向该目标设备发送该身份信息;
61.该装置还包括:
62.指令接收模块,用于接收该目标设备的确认握手指令,该确认握手指令携带该目标设备的身份信息;
63.回复模块,用于若该目标设备的身份信息符合与该终端建立通信的目标条件,则向该目标设备回复确认握手指令。
64.一方面,提供了一种固件更新装置,应用于社交应用服务器,该装置包括:
65.获取模块,用于响应于接收到用户账号触发的固件更新请求,获取目标设备的固件安装包,该目标设备为与该用户账号绑定的设备;
66.指令发送模块,用于向该目标设备发送固件更新通知,该固件更新通知用于提示该目标设备对已安装的固件进行更新;
67.安装包发送模块,用于响应于接收到该目标设备的安装包获取请求,向该目标设备发送该固件安装包。
68.在一种可能的实现方式中,该装置还包括:
69.第一请求接收模块,用于接收该目标设备返回的信息获取请求,该信息获取请求用于获取该固件安装包的版本信息;
70.信息发送模块,用于向该目标设备发送该固件安装包的版本信息。
71.在一种可能的实现方式中,该装置还包括:
72.第二请求接收模块,用于接收该目标设备的连接请求,该连接请求用于指示该目标设备的固件安装包已安装完成。
73.一方面,提供了一种终端,该终端包括一个或多个处理器和一个或多个存储器,该一个或多个存储器中存储有至少一条程序代码,该程序代码由该一个或多个处理器加载并执行以实现该固件更新方法所执行的操作。
74.一方面,提供了一种服务器,该服务器包括一个或多个处理器和一个或多个存储器,该一个或多个存储器中存储有至少一条程序代码,该程序代码由该一个或多个处理器加载并执行以实现该固件更新方法所执行的操作。
75.一方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条程序代码,该程序代码由处理器加载并执行以实现该固件更新方法所执行的操作。
76.一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机程序代码,该计算机程序代码存储在计算机可读存储介质中,终端/服务器的处理器从计算机可读存储介质读取该计算机程序代码,处理器执行该计算机程序代码,使得该终端/服务器执行以实现该固件更新方法所执行的操作。
77.本技术提供的方案,通过在与用户账号绑定的目标设备有待更新的固件时,通过更新提示信息,来提示用户账号对目标设备的固件进行更新,以便用户及时获知固件版本的更新情况,用户账号触发更新提示信息,即可看到固件更新界面的第一更新控件,通过触发该第一更新控件,即可由社交应用服务器来对目标设备的固件进行更新,无需硬件开发商开发特定的客户端并提供最新固件包的下载渠道,即可实现对用户账号所绑定的硬件设备的升级,操作简单,提高了固件更新效率。
附图说明
78.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
79.图1是本技术实施例提供的一种固件更新方法的实施环境示意图;
80.图2是本技术实施例提供的一种固件更新方法的流程图;
81.图3是本技术实施例提供的一种固件更新方法的流程图;
82.图4是本技术实施例提供的一种固件更新方法的流程图;
83.图5是本技术实施例提供的一种硬件管理功能的界面示意图;
84.图6是本技术实施例提供的一种目标设备与社交应用客户端的绑定过程的流程图;
85.图7是本技术实施例提供的一种设备详情界面的界面示意图;
86.图8是本技术实施例提供的一种固件更新界面的界面示意图;
87.图9是本技术实施例提供的一种更新确认信息的显示界面示意图;
88.图10是本技术实施例提供的一种状态展示界面的界面示意图;
89.图11是本技术实施例提供的一种状态展示界面的界面示意图;
90.图12是本技术实施例提供的一种固件更新过程的流程时序图;
91.图13是本技术实施例提供的一种固件更新方法的流程图;
92.图14是本技术实施例提供的一种查找设备的界面示意图;
93.图15是本技术实施例提供的一种连接设备的界面示意图;
94.图16是本技术实施例提供的一种鉴权过程的流程图;
95.图17是本技术实施例提供的一种更新提示界面的界面示意图;
96.图18是本技术实施例提供的一种进度展示界面的界面示意图;
97.图19是本技术实施例提供的一种进度展示界面的界面示意图;
98.图20是本技术实施例提供的一种固件更新过程的流程时序图;
99.图21是本技术实施例提供的一种固件更新装置的结构示意图;
100.图22是本技术实施例提供的一种固件更新装置的结构示意图;
101.图23是本技术实施例提供的一种终端的结构示意图;
102.图24是本技术实施例提供的一种服务器的结构示意图。
具体实施方式
103.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
104.下面先对本技术涉及的缩略语和关键术语进行解释:
105.智慧硬件:硬件开发商在社交应用客户端的服务商管理端登记过设备信息,可与社交应用客户端关联绑定的硬件设备,目标设备即为智慧硬件。
106.固件:智慧硬件上的操作系统软件。
107.社交应用客户端云端:既可表示为安装并运行有社交应用客户端的终端服务的后台,也可表示与智慧硬件建立网路通讯(websocket)连接的服务端。
108.英特尔十六进制(intel hex)文件格式:intel hex文件是记录文本行的美国信息交换标准代码(american standard code for information interchange,ascii)文本文件。在intel hex文件中,每一行是一个hex记录由十六进制数组成的机器码或者数据常量,intel hex文件经常被用于将程序或数据传输存储到只读存储器(read only memory,rom)。
109.图1是本技术实施例提供的一种固件更新方法的实施环境示意图,参见图1,该实施环境包括:终端101和服务器102和电子设备103。
110.终端101可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能手表等,但并不局限于此。终端101以及服务器102和电子设备103可以通过有线或无线通信方式进行直接或间接地连接,本技术在此不做限制。用户通过终端101访问硬件开发商官网,并触发目标设备对应的固件安装包的下载控件,终端101响应于用户的触发操作,向对应的服务器发送下载请求,来下载目标设备对应的固件安装包。终端101上安装并运行有至少一个硬件开发商提供专用升级客户端,不同的专用升级客户端对应于不同的电子设备103,用户将终端101与电子设备103中的目标设备进行连接,通过目标设备对应的专用升级客户端,即可将已下载的固件安装包烧录进目标设备,实现对目标设备的固件升级。
111.终端101可以泛指多个终端中的一个,本实施例以终端101来举例说明。本领域技术人员可以知晓,上述终端的数量可以更多或更少。比如上述终端可以仅为一个,或者上述终端为几十个或几百个,或者更多数量,本技术实施例对终端的数量和设备类型不加以限定。
112.服务器102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。服务器102以及终端101可以通过有线或无线通信方式进行直接或间接地连接,本技术在此不做限制。服务器102接收终端101发送的下载请求,并将该目标设备的固件安装包的下载地址发送给终端101,由终端101从该下载地址处,对该目标设备的固件安装包进行下载。可选地,上述服务器的数量为更多或更少,本技术实施例对此不加以限定。当然,服务器102还可以包括其他功能服务器,以便提供更全面且多样化的服务。
113.电子设备103可以为智能音箱、考勤机、扫地机器人、智能门锁等。电子设备103以及终端101可以通过有线通信方式进行直接或间接地连接。用户将电子设备103中的目标设
备与终端101进行相连,以便将目标设备的固件安装包烧录进目标设备,并控制目标设备基于固件安装包进行离线升级,实现对目标设备的固件更新。
114.图2是本技术实施例提供的一种固件更新方法的流程图,参见图2,该方法包括:
115.201、终端从社交应用服务器接收固件更新信息,该固件更新信息用于指示与用户账号绑定的目标设备存在待更新的固件。
116.需要说明的是,硬件开发商将目标设备对应的固件安装包上传至社交应用服务器,社交应用服务器响应于接收到硬件开发商上传的固件安装包,向终端发送固件更新信息。该用户账号为该社交应用平台服务器对应的社交应用客户端中已注册的用户账号,可选地,一个用户账号绑定有多个设备,用户可通过该社交应用客户端管理该多个设备,其中,该多个设备中包括该目标设备。该目标设备为考勤机、智能音箱等,可选地,该目标设备为其他类型的硬件设备,本技术实施例对此不加以限定。
117.202、终端在该用户账号的设备详情界面上显示更新提示信息,该更新提示信息用于提醒该目标设备存在待更新的固件。
118.需要说明的是,该设备详情界面为社交应用客户端中的界面,该设备详情界面用于展示该目标设备的设备信息,如设备名称、设备可用范围、固件版本等,可选地,该设备信息还包括其他内容,本技术实施例对此不加以限定。
119.203、终端响应于对该更新提示信息的触发操作,显示固件更新界面,该固件更新界面包括第一更新控件,该第一更新控件用于指示通过该社交应用服务器对该目标设备的固件进行更新。
120.需要说明的是,该固件更新界面为社交应用客户端中的界面。
121.在一种可能的实现方式中,终端响应于对设备详情界面中的更新提示信息的触发操作,从该设备详情界面跳转至固件更新界面,来对该固件更新界面进行显示。
122.204、终端响应于对该第一更新控件的触发操作,向该社交应用服务器发送固件更新请求,该固件更新请求用于指示该社交应用服务器对该目标设备进行固件更新。
123.需要说明的是,社交应用服务器在接收到该固件更新请求后,即可向目标设备发送硬件开发商上传的固件安装包,以便目标设备基于接收到的固件安装包来对固件进行更新。
124.本技术实施例提供的方案,通过在与用户账号绑定的目标设备有待更新的固件时,通过更新提示信息,来提示用户账号对目标设备的固件进行更新,以便用户及时获知固件版本的更新情况,用户账号触发更新提示信息,即可看到固件更新界面的第一更新控件,通过触发该第一更新控件,即可由社交应用服务器来对目标设备的固件进行更新,无需硬件开发商开发特定的客户端并提供最新固件包的下载渠道,即可实现对用户账号所绑定的硬件设备的升级,操作简单,提高了固件更新效率。
125.图3是本技术实施例提供的一种固件更新方法的流程图,参见图3,该方法包括:
126.301、社交应用服务器响应于接收到用户账号触发的固件更新请求,获取目标设备的固件安装包,该目标设备为与该用户账号绑定的设备。
127.需要说明的是,该固件更新请求携带目标设备的设备信息,社交应用服务器响应于接收到的固件更新请求,根据该固件更新请求所携带的设备信息,获取该设备信息对应的固件安装包。
128.302、社交应用服务器向该目标设备发送固件更新通知,该固件更新通知用于提示该目标设备对已安装的固件进行更新。
129.需要说明的是,目标设备在接收到社交应用服务器的固件更新通知后,通过向社交服务器发送安装包获取请求,来获取待更新的固件安装包。
130.303、社交应用服务器响应于接收到该目标设备的安装包获取请求,向该目标设备发送该固件安装包。
131.本技术实施例提供的方案,通过由社交应用服务器在用户需要对目标设备的固件进行更新时,直接获取已上传的固件安装包,无需硬件开发商开发特定的客户端并提供最新固件包的下载渠道,直接上传到用户账号对应的社交应用客户端的社交应用服务器即可,并在获取到固件安装包后,通知目标设备来对已安装的固件进行更新,在目标设备要获取新的固件安装包时,将获取到的固件安装包发送给目标设备,即可实现对用户账号所绑定的硬件设备的升级,操作简单,提高了固件更新效率。
132.本技术提供的方案,可以用于对具有网络模块的设备进行升级,对于具有网络模块的目标设备,社交应用服务器与目标设备共同约定一套网络通信协议,目标设备可通过约定好的网络通信协议,从社交应用服务器下载最新版本的固件安装包,并基于下载的固件安装包对固件进行更新,实现目标设备的在线升级。图4是本技术实施例提供的一种固件更新方法的流程图,参见图4,该方法包括:
133.401、社交应用服务器响应于接收到硬件开发商上传的目标设备的固件安装包,向终端发送固件更新信息,该固件更新信息用于指示与用户账号绑定的目标设备存在待更新的固件。
134.其中,该固件更新信息包括硬件服务商上传的固件安装包的版本信息。
135.需要说明的是,硬件开发商通过社交应用管理客户端,来对目标设备的固件安装包进行上传。在一种可能的实现方式中,硬件开发商所使用的终端对该社交应用管理客户端的首页界面进行显示,该首页界面包括多个界面标签,不同的界面标签对应于不同的功能界面,终端响应于硬件开发商对任一界面标签的触发操作,显示被触发的界面标签对应的功能界面。硬件开发商在可进行固件安装包上传的功能界面中,通过安装包上传入口,来将待更新的固件安装包上传至社交应用服务器,并在该可进行固件安装包上传的功能界面中,对目标设备的固件更新方式进行设置。
136.参见图5,图5是本技术实施例提供的一种硬件管理功能的界面示意图,该社交应用管理客户端能够提供应用管理功能、硬件管理功能、方案管理功能、客户管理功能以及显示服务商信息等功能。可选地,该社交应用管理客户端还能提供其他功能,本技术实施例对此不加以限定。硬件开发商在将新版本的固件安装包添加至硬件管理功能界面后,该社交应用管理客户端即可在501处对新上传的固件安装包的固件版本、发布时间、固件大小等进行显示,并在502处对设置好的升级方式,也即是,固件更新方式进行显示,硬件开发商通过触发按钮503,即可将新版本的固件安装包上传至社交应用服务器。
137.其中,社交应用服务器在接收到硬件开发商上传的目标设备的固件安装包之前,本技术实施例提供的方案还包括目标设备与社交应用客户端中的用户账号之间进行绑定的过程,绑定完成后,该目标设备能够通过网络模块,与社交应用客户端通过网络套接字安全(websocket secure,wss)长连接协议进行连接,实现目标设备与社交应用客户端中的用
户账号的绑定,该绑定过程参见图6,图6是本技术实施例提供的一种目标设备与社交应用客户端的绑定过程的流程图,目标设备开机后,目标设备通过步骤601来配置无线保真(wireless fidelity,wifi)网络或连接网线,来实现联网,目标设备通过步骤602在社交应用客户端中进行注册(register),并通过步骤603来确定社交应用客户端是否存在密钥(secret),若存在secret,则通过步骤604订阅设备(subscribe_corp),若不存在secret,则通过步骤605向目标设备返回secret,进而通过步骤606确定是否成功返回secret,若成功返回secret,则通过步骤607保存secret,若未成功返回secret,则5s后通过步骤605重新返回secret,直至保存secret,再通过步骤604订阅设备,进而通过步骤608确定secret是否生效,若secret生效,则订阅成功,目标设备已实现与社交应用客户端的连接,若secret未生效,则通过步骤609清空目标设备的注册数据,并清空secret,再通过步骤605向目标设备返回secret。
138.可选地,在目标设备与社交应用客户端进行绑定时,目标设备通过向社交应用客户端发送请求包,来上报当前固件版本的版本号,请求包体如下:
[0139][0140]
需要说明的是,目标设备与社交应用客户端绑定成功后,目标设备能够基于上述绑定关系来与社交应用客户端进行交互,例如,目标设备接收社交应用客户端下发的操作指令,也可主动向社交应用客户端以及对应的社交应用服务器发送操作指令。
[0141]
上述过程是以目标设备与社交应用服务器通过网络套接字(websocket)进行连接为例来进行说明的,在更多可能的实现方式中,目标设备与社交应用服务器之间,采用其他网络通信协议来进行连接,如传输控制协议(transmission control protocol,tcp)、超文本传输协议(hyper text transfer protocol,http)等,可选地,网络通信协议为其他类型,本技术实施例对此不加以限定。
[0142]
402、终端从社交应用服务器接收固件更新信息。
[0143]
403、终端在该用户账号的设备详情界面上显示更新提示信息,该更新提示信息用于提醒该目标设备存在待更新的固件。
[0144]
其中,该更新提示信息为更新提示控件,如红点提示控件、文字提示控件、会话消
息等,可选地,该更新提示信息为其他类型,本技术实施例对此不加以限定。以该目标设备为考勤机为例,参见图7,图7是本技术实施例提供的一种设备详情界面的界面示意图,该设备详情界面包括目标设备的设备名称,以及备注名称701、可用范围702、指纹信息703、人脸信息704、员工录入705、管理员706、配套应用707、固件版本708、关于此设备709等功能入口和用于将目标设备与用户账号解绑的按钮710,终端在该设备详情界面的固件版本708功能入口处,通过更新提示控件,也即是,红点提示控件(小红点),来对目标设备有新版本的固件待更新进行提示,以便用户获知该目标设备的固件更新情况。
[0145]
需要说明的是,上述过程是以一个电子设备对应于一个设备详情界面为例来进行说明的,在更多可能的实现方式中,一个设备详情界面可以对应于多个电子设备,则该设备详情信息同时对该多个电子设备的更新提示信息进行显示。可选地,该设备详情界面设置有一键更新控件,用户通过触发该一键更新控件,即可一次性对多个电子设备的固件进行更新。
[0146]
404、终端响应于对该更新提示信息的触发操作,显示固件更新界面,该固件更新界面包括第一更新控件,该第一更新控件用于指示通过该社交应用服务器对该目标设备的固件进行更新。
[0147]
在一种可能的实现方式中,终端响应于在设备详情界面中对该更新提示信息的触发操作,从该设备详情界面跳转至固件更新界面,来对该固件更新界面进行显示。
[0148]
在另一种可能的实现方式中,终端响应于在设备详情界面中对该更新提示信息的触发操作,显示固件更新操作框,该固件更新操作框部分覆盖该设备详情界面,该固件更新操作框中包括第一更新控件。
[0149]
其中,该固件更新界面参见图8,图8是本技术实施例提供的一种固件更新界面的界面示意图,终端在该固件更新界面的801处对目标设备当前已安装的固件版本的版本信息进行显示,在该固件更新界面的802处对待更新的固件版本的版本信息进行显示,该固件更新界面设置有第一更新控件,也即是立即更新按钮803,用户通过触发该立即更新按钮,即可对目标设备的固件进行更新。
[0150]
405、终端响应于对该第一更新控件的触发操作,向该社交应用服务器发送固件更新请求,该固件更新请求用于指示该社交应用服务器对该目标设备进行固件更新。
[0151]
需要说明的是,终端响应于对该第一更新控件的触发操作,在该固件更新界面显示更新确认信息,参见图9,图9是本技术实施例提供的一种更新确认信息的显示界面示意图,该更新确认信息中包括取消按钮901和开始更新按钮902,用户通过触发该开始更新按钮902,即可向社交应用服务器发送固件更新请求。
[0152]
406、社交应用服务器响应于接收到用户账号触发的固件更新请求,获取目标设备的固件安装包。
[0153]
在一种可能的实现方式中,该固件更新请求携带目标设备的设备信息和与目标设备绑定的用户账号,社交应用服务器在接收到用户账号触发的固件更新请求后,基于该用户账号,对目标设备的合法性进行验证,以确定该目标设备是否是与用户账号绑定的电子设备,若该目标设备是与该用户账号绑定的电子设备,则基于该设备信息,获取与该设备信息对应的固件安装包,也即是,该目标设备的固件安装包。
[0154]
407、社交应用服务器向该目标设备发送固件更新通知,该固件更新通知用于提示
该目标设备对已安装的固件进行更新。
[0155]
需要说明的是,该固件更新通知由社交应用服务器下发给目标设备,该固件更新通知的指令请求包体如下:
[0156][0157]
408、目标设备响应于接收到该固件更新通知,向社交应用服务器发送信息获取请求,该信息获取请求用于获取该固件安装包的版本信息。
[0158]
需要说明的是,该信息获取请求由目标设备向社交应用服务器进行发送,用于获取最新版本固件的版本信息,该固件更新通知的指令请求包体如下:
[0159][0160]
409、社交应用服务器向该目标设备发送该固件安装包的版本信息。
[0161]
其中,该固件安装包的版本信息包括该版本的固件相较于原始版本的固件发生了更新的功能信息。
[0162]
需要说明的是,社交应用服务器向目标设备返回固件安装包的版本信息时的指令请求包体如下:
[0163][0164][0165]
410、目标设备基于接收到的固件安装包的版本信息,以及该目标设备已安装的固件的版本信息,在该目标设备已安装的固件的版本信息与接收到的固件安装包的版本信息不匹配时,向社交应用服务器发送安装包获取请求。
[0166]
在一种可能的实现方式中,在该目标设备已安装的固件的版本信息与接收到的固件安装包的版本信息不匹配时,目标设备直接向社交应用服务器发送获取硬件开发商上传的固件安装包的安装包获取请求。
[0167]
在另一种可能的实现方式中,在该目标设备已安装的固件的版本信息与接收到的固件安装包的版本信息不匹配时,目标设备基于接收到的固件安装包的版本信息所携带的功能信息,确定已安装的固件待更新的功能,进而基于已安装的固件待更新的功能,向社交应用服务器发送获取待更新的功能对应的固件数据的安装包获取请求。
[0168]
需要说明的是,该安装包获取请求的请求包体如下:
[0169][0170][0171]
需要说明的是,不同的协议版本对应于目标设备的不同通信模式。若该协议版本不填或者为0,则目标设备为半双工通信模式,固件安装包传输时,社交应用服务器对固件安装包的发送完成后,目标设备开始对固件安装包进行接收。若该协议版本为1,则目标设备为全双工通信模式,固件安装包传输时,社交应用服务器开始对固件安装包进行发送时,目标设备即开始对固件安装包进行接收。
[0172]
411、社交应用服务器响应于接收到该目标设备的安装包获取请求,向该目标设备发送该固件安装包。
[0173]
需要说明的是,社交应用服务器响应于接收到的安装包获取请求,基于不同的传输协议版本,返回不同格式的固件安装包,以便基于固件安装包的格式,选取对应的传输方式。其中,不同的传输协议版本对应的固件安装包格式如下:
[0174]
(1)当协议版本(format_version)不填或者为0时,固件安装包格式为:文件二进制流;
[0175]
(2)当format_version为1时,固件安装包的各个字段如下表1所示:
[0176]
表1
[0177][0178]
其中,各个字段的含义如下:
[0179]
(1)请求标识长度(req_id_len):请求标识(req_id)的长度;
[0180]
(2)请求(req_id):发送请求的客户端标识(identity,id),此处社交应用客户端
透传上行的req_id;
[0181]
(3)数据长度(data_len):文件的二进制长度;
[0182]
(4)二进制(binary):文件的二进制。
[0183]
412、目标设备基于接收到的固件安装包进行固件更新。
[0184]
需要说明的是,在目标设备对固件进行更新的过程中,终端向该社交应用服务器发送状态获取请求,该状态获取请求用于获取该目标设备的更新状态,该更新状态包括更新成功、更新失败和正在更新中任一项,社交应用服务器响应于接收到的状态获取请求,获取目标设备的更新状态,进而将目标设备的更新状态发送给终端,终端接收该社交应用服务器返回的该目标设备的更新状态,显示状态展示界面,该状态展示界面用于对该目标设备的更新状态进行展示。该状态展示界面参见图10和图11,图10是本技术实施例提供的一种状态展示界面的界面示意图,终端在该状态展示界面1001中对目标设备的固件正在更新中的更新状态进行显示,也即是,显示正在更新固件,以便用户获知固件的更新状态。图11是本技术实施例提供的一种状态展示界面的界面示意图,终端在该状态展示界面1101中,对目标设备的固件更新成功的更新状态进行显示,以便用户获知固件已更新完成。
[0185]
其中,目标设备在固件安装包安装完成后,即可向社交应用服务器发送连接请求,该连接请求用于指示该目标设备的固件安装包已安装完成,社交应用服务器接收到该目标设备的连接请求后,即可确定目标设备的固件已更新完成,此时,社交应用服务器与目标设备重新进行连接,以便目标设备基于社交应用服务器提供的服务,来实现相应的功能。若社交应用服务器接收到目标设备的连接请求,则社交应用服务器在接收到终端的更新状态获取请求后,无需获取目标设备的更新状态,直接向终端发送更新成功的更新状态即可。
[0186]
需要说明的是,上述步骤401至步骤412的过程,可以参见图12,图12是本技术实施例提供的一种固件更新过程的流程时序图,用户通过步骤1201在终端的可视化界面上点击更新固件,社交应用服务器响应于用户的点击操作,通过步骤1202向目标设备下发更新固件通知推送,目标设备通过步骤1203向社交应用服务器请求固件信息,社交应用服务器通过步骤1204向目标设备返回固件信息,目标设备通过步骤1205向社交应用服务器请求下载固件安装包,社交应用服务器通过步骤1206向目标设备返回固件安装包数据,目标设备通过步骤1207,基于获取到的固件安装包更新固件,并在更新完成后,通过步骤1208重新连接社交应用服务器,终端通过步骤1209向社交应用服务器请求固件更新状态,社交应用服务器通过步骤1210向终端返回固件更新状态。
[0187]
本技术实施例提供的方案,通过在与用户账号绑定的目标设备有待更新的固件时,通过更新提示信息,来提示用户账号对目标设备的固件进行更新,以便用户及时获知固件版本的更新情况,用户账号触发更新提示信息,即可看到固件更新界面的第一更新控件,通过触发该第一更新控件,即可由社交应用服务器来对目标设备的固件进行更新,无需硬件开发商开发特定的客户端并提供最新固件包的下载渠道,即可实现对用户账号所绑定的硬件设备的升级,操作简单,提高了固件更新效率。社交应用客户端作为用户与硬件服务商之间的桥梁,具备直接触达用户的天然优势,社交应用客户端分别针对性为用户侧和硬件服务商侧做了大量定制优化。对于硬件开发商而言,硬件开发商只需将待更新的固件安装包上传至社交应用服务器,社交应用客户端即可获知目标设备的固件更新情况,无需再为提醒用户更新固件而研发app、制作网站、给予技术支持等,就能让已经出售的设备保持在
最新的固件版本,以更好的服务用户,设备开发成本大大降低,硬件服务商的运维成本大大降低。对于用户而言,社交应用服务器在接收到硬件开发商上传的固件安装包后,社交应用服务器对应的社交应用客户端即可获知目标设备的固件更新情况,并通过终端及时提醒用户对目标设备的固件进行更新,在合理的提醒机制的保证下,大大提高了固件版本更新的及时性,也让用户及时体验到新版本固件的新功能、规避了旧版本固件的安全隐患,固件更新的及时性大大提高。终端为用户提供了可视化界面,用户只需在收到固件版本更新的提示时,在可视化界面中进行触发操作,安心等待更新完成,即可实现对目标设备的固件更新,用户的操作难度大大降低。而且,社交应用客户端从用户角度出发,对固件更新流程做了完善的人性化设计,在整个固件更新过程中可能会遇到的各个情况,已经解决并封装在社交应用客户端中,如遇到问题,终端会对常见的异常情况进行合理提示,用户只需按照终端的指示进行操作即可,操作难度大大降低,学习成本大大降低,固件更新的成功率大大提高。固件版本升级的安全性大大提高。此外,社交应用客户端设定了严格的安全策略,以防其他不良人员恶意操作目标设备,导致目标设备无法正常运行,更甚者,可能会存在用户信息泄露的风险。目标设备必须遵循社交应用客户端制定的通信协议,进行严格的身份鉴权,鉴权通过后才可以进行固件更新,而这一切,对于用户而言,是无感知的,大大提高了固件更新过程的安全性。
[0188]
有的目标设备不具备网络模块,而具备蓝牙模块,对于具备蓝牙模块的目标设备,社交应用客户端与目标设备共同约定一套蓝牙通信协议,目标设备通过约定好的蓝牙通信协议,直接从社交应用客户端对应的终端,下载最新版本的固件安装包,进而基于已下载的固件安装包对固件进行更新,实现目标设备的在线升级。图13是本技术实施例提供的一种固件更新方法的流程图,参见图13,该方法包括:
[0189]
1301、终端获取该目标设备的第一固件版本信息和第二固件版本信息,该第一固件版本信息为该社交应用服务器所存储的固件的版本信息,该第二固件版本信息为该目标设备所安装的固件的版本信息。
[0190]
需要说明的是,用户在打开社交应用客户端的相关入口后,终端即可自动通过蓝牙,进行设备的查找与连接工作。该设备的查找和链接过程对应的界面可以参见图14和图15,图14是本技术实施例提供的一种查找设备的界面示意图,终端在该界面1401中对正在查找设备的状态进行显示。查找到可以进行连接的设备后,终端即可与该设备进行连接,图15是本技术实施例提供的一种连接设备的界面示意图,终端在该界面1501中对正在与设备进行连接的状态进行显示。
[0191]
在一种可能的实现方式中,终端在连接上目标设备后,目标设备会通过读出特性(read characteristics)将当前的固件版本信息发送给终端,终端即可获取到目标设备已安装的固件的版本信息,也即是,第二固件版本信息,再获取硬件开发商已上传到社交应用服务器的固件安装包的固件版本信息,也即是,第一固件版本信息。
[0192]
需要说明的是,终端在完成与目标设备建立连接的准备操作之后,需要通过握手机制来实现鉴权,以使终端与目标设备之间互相验明身份。
[0193]
其中,终端与目标设备之间的鉴权过程可以参见图16,图16是本技术实施例提供的一种鉴权过程的流程图,目标设备通过步骤1601向终端发起握手指令(deviceld,clientnonce),终端在接收到握手指令之后,会与社交应用服务器通信,通过步骤1602生成
带有身份信息的签名(signature),并通过步骤1603的指令(servernonce,signature)将签名传递给目标设备,目标设备基于终端提供的信息,计算签名是否合法。如果签名不合法,目标设备会断开与终端的连接,如果签名合法,目标设备会通过步骤1604发起确认握手指令,并在确认握手指令中会带上目标设备生成的签名。终端在接收到确认握手指令之后,会尝试与社交应用服务器通信,通过步骤1605确定目标设备提供的签名是否合法。如果签名合法,则终端会通过步骤1606给目标设备回复连接状态(bindstatus),表明双方身份鉴权都已完成,如果签名不合法,终端会通过步骤1606给目标设备回复错误代码(errcode),并断开与目标设备的连接。双方身份鉴权都已经完成后,终端发起的指令,即可被目标设备认可并接收。
[0194]
1302、若该第一固件版本信息与该第二固件版本信息不匹配,则终端显示更新提示界面,该更新提示界面包括第二更新控件,该第二更新控件用于指示通过终端对该目标设备的固件进行更新。
[0195]
需要说明的是,通过确定第一固件版本信息与第二固件版本信息是否匹配,也即是,第一固件版本信息对应的固件版本号,与第二固件版本信息对应的固件版本号是否一致,即可确定目标设备的固件是否需要更新。该第一固件版本信息与该第二固件版本信息不匹配,也即是,该第一固件版本信息对应的固件版本号与该第二固件版本信息对应的固件版本号不相同,终端即可确定该目标设备的固件版本需要更新,并通过显示更新提示界面来对用户进行提示。
[0196]
其中,该用户提示界面可以参见图17,图17是本技术实施例提供的一种更新提示界面的界面示意图,终端在该更新提示界面的1701处对目标设备当前已安装的固件版本的版本信息进行显示,在该更新提示界面的1702处对待更新的固件版本的版本信息进行显示,该更新提示界面设置有第二更新控件,也即是立即更新按钮1703,用户通过触发该立即更新按钮,即可对目标设备的固件进行更新。
[0197]
1303、终端响应于对该第二更新控件的触发操作,获取该目标设备的工作模式。
[0198]
需要说明的是,该工作模式包括空中下载技术(over the air,ota)模式和应用程序(application,app)模式。其中,ota模式用于对目标设备进行升级,当目标设备处于ota模式时,目标设备能够接收终端发送的固件安装包,并基于接收到的固件安装包进行固件更新,实现目标设备的升级。app模式用于为用户提供相应的功能,当目标设备处于app模式时,用户能够使用目标设备中的各种功能。
[0199]
在一种可能的实现方式中,终端响应于对第二更新控件的触发操作,向目标设备发送模式获取请求,该模式获取请求用于获取目标设备的工作模式,目标设备响应于接收到的模式获取请求,获取目标设备工作模式,并通过read characteristics,将获取到的工作模式发送给终端,以便终端获取到目标设备的工作模式。
[0200]
1304、若该工作模式为app模式,则终端向该目标设备发送第一模式切换指令,该第一模式切换指令用于指示将工作模式由app模式切换为ota模式。
[0201]
需要说明的是,该第一模式切换指令为重启指令,该重启指令指示目标设备从app模式重启到ota模式,以准备固件更新。
[0202]
1305、目标设备响应于接收到的第一模式切换指令,将工作模式由app模式切换为ota模式。
[0203]
在一种可能的实现方式中,目标设备响应于接收到的第一模式切换指令,自行进行重启,并在重启后将工作模式设置为ota模式,实现工作模式的切换。
[0204]
1306、目标设备在将工作模式由app模式切换为ota模式后,向终端发送第一反馈信息,该第一反馈信息用于指示该目标设备由app模式向ota模式的模式切换完成。
[0205]
需要说明的是,该第一反馈信息携带目标设备当前的工作模式,也即是,ota模式,以便终端基于接收到的工作模式,确定目标设备由app模式向ota模式的模式切换完成。
[0206]
1307、终端响应于接收到该目标设备的第一反馈信息,向该目标设备发送安装包描述信息,该安装包描述信息包括固件安装包的总长度、预计分包总数。
[0207]
可选地,终端响应于接收到该目标设备的第一反馈信息,先向目标设备推送开始ota升级指令,目标设备响应于接收到的开始ota升级指令,向终端回复确认消息,终端基于接收到的确认消息,执行向该目标设备发送安装包描述信息的步骤。
[0208]
需要说明的是,终端在向目标设备发送固件安装包之前,先向目标设备传输固件安装包的相关信息,也即是,安装包描述信息,如固件安装包的总长度、预计分包总数等,可选地,该安装包描述信息包括其他内容,本技术实施例对此不加以限定。
[0209]
1308、目标设备响应于接收到终端发送的安装包描述信息,向该设备发送第一确认信息,该第一确认信息用于指示该目标设备同意接收该固件安装包。
[0210]
需要说明的是,目标设备在接收到安装包描述信息后,会向终端回复确认信息,也即是,第一确认信息,以便终端基于接收到的第一确认信息,开始对固件安装包进行发送。
[0211]
1309、终端响应于接收到该目标设备的第一确认信息,向目标设备发送该固件安装包。
[0212]
需要说明的是,由于具备蓝牙模块的目标设备的功耗较低,每次能接收的数据大小最大为20字节,而固件安装包的大小一般为几十kb到几百kb不等,因此,作为固件安装包的传输发起方,终端必须对固件安装包进行预处理,以满足目标设备的数据传输能力的限制。由于目标设备的固件安装包是满足intel hex文件格式的规则的,因而终端只需按照intel hex文件格式的规则,将固件安装包划分为多个固件分包,即可满足目标设备的数据传输能力的限制。
[0213]
在一种可能的实现方式中,终端将该固件安装包划分为n个固件分包,其中,n为任意正整数值。终端从第1个固件分包开始,向目标设备逐个发送该n个固件分包。以第i个固件分包和第i 1个固件分包的发送过程为例,其中,i为小于n的任意正整数值,终端向该目标设备发送该固件安装包的第i个固件分包,目标设备接收到第i个固件分包后,向终端回复第二确认消息,该第二确认信息用于指示该目标设备接收到该第1个固件分包,终端响应于接收到该目标设备的第二确认信息,向该目标设备发送该固件安装包的第i 1个固件分包,以次类推,直至n个固件分包均发送完成。
[0214]
可选地,在终端向目标设备发送各个固件分包之前,先向该目标设备发送分包描述信息,以便目标设备在接收到固件分包后,根据分包描述信息,来对各个固件分包进行校验,以确定接收到的固件分包是否正确。其中,仍以第i个固件分包和第i 1个固件分包的发送过程为例,该分包描述信息包括该第i个固件分包的下标、地址信息、数据量信息和校验码,目标设备响应于接收到的分包描述信息,向终端回复第三确认信息,该第三确认信息用于指示该目标设备同意接收该第i个固件分包,终端响应于接收到该目标设备的第三确认
信息,向该目标设备发送该固件安装包的第i个固件分包,目标设备接收到第i个固件分包后,通过分包描述信息中的校验码,校验所接收的固件分包的信息是否正确,若所接收的固件分包的信息正确,则向终端回复第二确认消息,以便继续进行第i 1个固件分包的传输,以此类推,直至n个固件分包均传输完成。
[0215]
1310、目标设备基于接收到的固件安装包进行固件更新。
[0216]
需要说明的是,目标设备确认固件安装包已经接收完成,即可对固件安装包进行安装,在固件安装包的安装过程中,终端向该目标设备发送进度获取请求,该进度获取请求用于获取该固件安装包的安装进度,目标设备获取固件安装包的安装进度,并将获取到的安装进度发送给终端,终端接收该目标设备发送的该固件安装包的安装进度,显示进度展示界面,该进度展示界面用于对该固件安装包的安装进度进行展示。该进度展示界面可以参见图18,图18是本技术实施例提供的一种进度展示界面的界面示意图,终端在该进度展示界面1801中对目标设备正在更新固件的进度进行展示,以便用户获知固件更新的进度。此时,用户无需进行任何操作,只需耐心等待整个ota固件升级过程完成即可。
[0217]
在固件安装包安装完成后,也即是,ota固件更新完成后,终端会展示如图19所示的界面,图19是本技术实施例提供的一种进度展示界面的界面示意图,终端在该进度展示界面1901中对目标设备的固件更新完成的进度进行显示,以便用户获知固件更新已经完成。其中,该进度展示界面1901中还包括确定控件1902,用户通过对该确定控件1902进行触发操作,即可退出该进度展示界面。
[0218]
需要说明的是,固件安装包安装完成后,终端将目标设备从ota模式切换为app模式,以便用户对该目标设备进行使用。目标设备向终端发送更新完成信息,终端响应于接收到的更新完成信息,向该目标设备发送第二模式切换指令,该第二模式切换指令用于指示将工作模式由ota模式切换为app模式,目标设备响应于接收到的第二模式切换指令,将工作模式由ota模式切换为app模式,目标设备在将工作模式由ota模式切换为app模式后,向终端发送第二反馈信息,该第二反馈信息用于指示该目标设备由ota模式向app模式的模式切换完成,终端接收该目标设备的第二反馈信息。
[0219]
其中,该第一模式切换指令为重启指令,该重启指令指示目标设备从ota模式重启到app模式,目标设备响应于接收到的第二模式切换指令,自行进行重启,并在重启后将工作模式设置为app模式,实现工作模式的切换,以便后续继续对该目标设备进行使用。
[0220]
需要说明的是,上述步骤1301至步骤1310的过程可以参见图20,图20是本技术实施例提供的一种固件更新过程的流程时序图,目标设备在处于app模式时,通过步骤2001,通过读出特性(read characteristics)将目标设备的固件版本号和工作模式告知社交应用客户端,社交应用客户端通过步骤2002推送重启设备命令,让设备切换到ota模式,目标设备在处于ota模式时,通过步骤2003,通过read characteristics将目标设备的固件版本号和工作模式告知社交应用客户端,社交应用客户端在目标设备处于ota模式时,通过步骤2004向目标设备推送ota升级指令(cmd_push_ota_start_upgrade),目标设备收到ota升级指令后,通过步骤2005回复确认消息(cmd_req_ota_send_upgrade_ack),社交应用客户端响应于接收到的确认消息,通过步骤2006推送某个分包(partition)消息(cmd_push_ota_send_partition_info),目标设备收到partition消息后,通过步骤2007回复确认消息(cmd_req_ota_send_partition_info_ack),目标设备通过步骤2008,通过写入特性
(write_characteristics)(0xfcd0)传送partition数据,目标设备收到一个完整partition消息后,通过步骤2009向社交应用客户端发送分包完成(partition_finish)消息(cmd_req_ota_send_partition_finish),在各个分包接收完成后,目标设备通过步骤2010通知社交应用客户端接收固件完毕(cmdid:cmd_req_update_finish),社交应用客户端通过步骤2011推送重启设备命令,让设备切换到app模式,目标设备在重启完成后,通过步骤2012,通过read characteristics告知固件版本号和工作模式,固件更新过程结束。
[0221]
上述过程是以目标设备与终端通过蓝牙协议建立连接为例来进行说明的,可选地,目标设备与终端之间,采用其他技术来进行连接,如局域网技术等,本技术实施例对此不加以限定。
[0222]
本技术实施例提供的方案,通过在与用户账号绑定的目标设备已安装的固件的版本信息,和社交应用服务器所存储的固件的版本信息不一致时,通过更新提示界面的第二更新控件,来提示用户账号对目标设备的固件进行更新,以便用户及时获知固件版本的更新情况,用户账号触发第二更新控件,即可由终端在目标设备处于ota模式时,来对目标设备的固件进行更新,无需硬件开发商开发特定的客户端并提供最新固件包的下载渠道,即可实现对用户账号所绑定的硬件设备的升级,操作简单,提高了固件更新效率。社交应用客户端作为用户与硬件服务商之间的桥梁,具备直接触达用户的天然优势,社交应用客户端分别针对性为用户侧和硬件服务商侧做了大量定制优化。对于硬件开发商而言,硬件开发商只需将待更新的固件安装包上传至社交应用服务器,社交应用客户端即可获知目标设备的固件更新情况,无需再为提醒用户更新固件而研发app、制作网站、给予技术支持等,就能让已经出售的设备保持在最新的固件版本,以更好的服务用户,设备开发成本大大降低,硬件服务商的运维成本大大降低。对于用户而言,社交应用服务器在接收到硬件开发商上传的固件安装包后,社交应用服务器对应的社交应用客户端即可获知目标设备的固件更新情况,并通过终端及时提醒用户对目标设备的固件进行更新,在合理的提醒机制的保证下,大大提高了固件版本更新的及时性,也让用户及时体验到新版本固件的新功能、规避了旧版本固件的安全隐患,固件更新的及时性大大提高。终端为用户提供了可视化界面,用户只需在收到固件版本更新的提示时,在可视化界面中进行触发操作,安心等待更新完成,即可实现对目标设备的固件更新,用户的操作难度大大降低。而且,社交应用客户端从用户角度出发,对固件更新流程做了完善的人性化设计,在整个固件更新过程中可能会遇到的各个情况,已经解决并封装在社交应用客户端中,如遇到问题,终端会对常见的异常情况进行合理提示,用户只需按照终端的指示进行操作即可,操作难度大大降低,学习成本大大降低,固件更新的成功率大大提高。固件版本升级的安全性大大提高。此外,社交应用客户端设定了严格的安全策略,以防其他不良人员恶意操作目标设备,导致目标设备无法正常运行,更甚者,可能会存在用户信息泄露的风险。目标设备必须遵循社交应用客户端制定的通信协议,进行严格的身份鉴权,鉴权通过后才可以进行固件更新,而这一切,对于用户而言,是无感知的,大大提高了固件更新过程的安全性。
[0223]
上述所有可选技术方案,可以采用任意结合形成本技术的可选实施例,在此不再一一赘述。
[0224]
图21是本技术实施例提供的一种固件更新装置的结构示意图,参见图21,应用于终端,该装置包括:
[0225]
第一信息接收模块2101,用于从社交应用服务器接收固件更新信息,该固件更新信息用于指示与用户账号绑定的目标设备存在待更新的固件;
[0226]
信息显示模块2102,用于在该用户账号的设备详情界面上显示更新提示信息,该更新提示信息用于提醒该目标设备存在待更新的固件;
[0227]
界面显示模块2103,用于响应于对该更新提示信息的触发操作,显示固件更新界面,该固件更新界面包括第一更新控件,该第一更新控件用于指示通过该社交应用服务器对该目标设备的固件进行更新;
[0228]
请求发送模块2104,用于响应于对该第一更新控件的触发操作,向该社交应用服务器发送固件更新请求,该固件更新请求用于指示该社交应用服务器对该目标设备进行固件更新。
[0229]
本技术实施例提供的装置,通过在与用户账号绑定的目标设备有待更新的固件时,通过更新提示信息,来提示用户账号对目标设备的固件进行更新,以便用户及时获知固件版本的更新情况,用户账号触发更新提示信息,即可看到固件更新界面的第一更新控件,通过触发该第一更新控件,即可由社交应用服务器来对目标设备的固件进行更新,无需硬件开发商开发特定的客户端并提供最新固件包的下载渠道,即可实现对用户账号所绑定的硬件设备的升级,操作简单,提高了固件更新效率。
[0230]
在一种可能的实现方式中,该请求发送模块,还用于向该社交应用服务器发送状态获取请求,该状态获取请求用于获取该目标设备的更新状态,该更新状态包括更新成功、更新失败和正在更新中任一项;
[0231]
该装置还包括:
[0232]
状态接收模块,用于接收该社交应用服务器返回的该目标设备的更新状态;
[0233]
该界面显示模块,还用于显示状态展示界面,该状态展示界面用于对该目标设备的更新状态进行展示。
[0234]
在一种可能的实现方式中,该装置还包括:
[0235]
信息获取模块,用于获取该目标设备的第一固件版本信息和第二固件版本信息,该第一固件版本信息为该社交应用服务器所存储的固件的版本信息,该第二固件版本信息为该目标设备所安装的固件的版本信息;
[0236]
该界面显示模块,还用于若该第一固件版本信息与该第二固件版本信息不匹配,则显示更新提示界面,该更新提示界面包括第二更新控件,该第二更新控件用于指示通过终端对该目标设备的固件进行更新;
[0237]
模式获取模块,用于响应于对该第二更新控件的触发操作,获取该目标设备的工作模式;
[0238]
安装包发送模块,用于若该工作模式为ota模式,则向该目标设备发送固件安装包,该固件安装包由该终端从该社交应用服务器获取得到。
[0239]
在一种可能的实现方式中,该装置还包括:
[0240]
指令发送模块,用于若该工作模式为app模式,则向该目标设备发送第一模式切换指令,该第一模式切换指令用于指示将工作模式由app模式切换为ota模式;
[0241]
该安装包发送模块,还用于响应于接收到该目标设备的第一反馈信息,向该目标设备发送该固件安装包,该第一反馈信息用于指示该目标设备由app模式向ota模式的模式
切换完成。
[0242]
在一种可能的实现方式中,该装置还包括:
[0243]
信息发送模块,用于向该目标设备发送安装包描述信息,该安装包描述信息包括固件安装包的总长度、预计分包总数;
[0244]
该安装包发送模块,还用于响应于接收到该目标设备的第一确认信息,执行向该目标设备发送固件安装包的步骤,该第一确认信息用于指示该目标设备同意接收该固件安装包。
[0245]
在一种可能的实现方式中,该固件安装包包括n个固件分包,其中,n为任意正整数值;
[0246]
该安装包发送模块,包括第一发送子模块和第二发送子模块;
[0247]
该第一发送子模块,用于向该目标设备发送该固件安装包的第i个固件分包,其中,i为小于n的任意正整数值;
[0248]
该第二发送子模块,用于响应于接收到该目标设备的第二确认信息,向该目标设备发送该固件安装包的第i 1个固件分包,直至该n个固件分包发送完成,该第二确认信息用于指示该目标设备接收到该第i个固件分包。
[0249]
在一种可能的实现方式中,该信息发送模块,还用于向该目标设备发送分包描述信息,该分包描述信息包括该第i个固件分包的下标、地址信息、数据量信息和校验码;
[0250]
该第二发送子模块,还用于响应于接收到该目标设备的第三确认信息,执行向该目标设备发送该固件安装包的第i个固件分包的步骤,该第三确认信息用于指示该目标设备同意接收该第i个固件分包。
[0251]
在一种可能的实现方式中,该指令发送模块,还用于向该目标设备发送第二模式切换指令,该第二模式切换指令用于指示将工作模式由ota模式切换为app模式;
[0252]
该装置还包括:
[0253]
第二信息接收模块,用于接收该目标设备的第二反馈信息,该第二反馈信息用于指示该目标设备由ota模式向app模式的模式切换完成。
[0254]
在一种可能的实现方式中,该请求获取模块,用于向该目标设备发送进度获取请求,该进度获取请求用于获取该固件安装包的安装进度;
[0255]
该装置还包括:
[0256]
进度接收模块,用于接收该目标设备发送的该固件安装包的安装进度;
[0257]
该界面显示模块,还用于显示进度展示界面,该进度展示界面用于对该固件安装包的安装进度进行展示。
[0258]
在一种可能的实现方式中,该信息获取模块,还用于响应于接收到该目标设备的握手指令,获取终端的身份信息,该身份信息用于该目标设备确认该终端是否符合建立通信的目标条件;
[0259]
该信息发送模块,还用于向该目标设备发送该身份信息;
[0260]
该装置还包括:
[0261]
指令接收模块,用于接收该目标设备的确认握手指令,该确认握手指令携带该目标设备的身份信息;
[0262]
回复模块,用于若该目标设备的身份信息符合与该终端建立通信的目标条件,则
向该目标设备回复确认握手指令。
[0263]
图22是本技术实施例提供的一种固件更新装置的结构示意图,参见图22,应用于社交应用服务器,该装置包括:
[0264]
获取模块2201,用于响应于接收到用户账号触发的固件更新请求,获取目标设备的固件安装包,该目标设备为与该用户账号绑定的设备;
[0265]
指令发送模块2202,用于向该目标设备发送固件更新通知,该固件更新通知用于提示该目标设备对已安装的固件进行更新;
[0266]
安装包发送模块2203,用于响应于接收到该目标设备的安装包获取请求,向该目标设备发送该固件安装包。
[0267]
本技术实施例提供的装置,通过由社交应用服务器在用户需要对目标设备的固件进行更新时,直接获取已上传的固件安装包,无需硬件开发商开发特定的客户端并提供最新固件包的下载渠道,直接上传到用户账号对应的社交应用客户端的社交应用服务器即可,并在获取到固件安装包后,通知目标设备来对已安装的固件进行更新,在目标设备要获取新的固件安装包时,将获取到的固件安装包发送给目标设备,即可实现对用户账号所绑定的硬件设备的升级,操作简单,提高了固件更新效率。
[0268]
在一种可能的实现方式中,该装置还包括:
[0269]
第一请求接收模块,用于接收该目标设备返回的信息获取请求,该信息获取请求用于获取该固件安装包的版本信息;
[0270]
信息发送模块,用于向该目标设备发送该固件安装包的版本信息。
[0271]
在一种可能的实现方式中,该装置还包括:
[0272]
第二请求接收模块,用于接收该目标设备的连接请求,该连接请求用于指示该目标设备的固件安装包已安装完成。
[0273]
需要说明的是:上述实施例提供的固件更新装置在对固件进行更新时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将终端/服务器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的固件更新装置与固件更新方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0274]
图23是本技术实施例提供的一种终端的结构示意图。该终端2300可以是:智能手机、平板电脑、mp3播放器(moving picture experts group audio layer iii,动态影像专家压缩标准音频层面3)、mp4(moving picture experts group audio layer iv,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端2300还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
[0275]
通常,终端2300包括有:一个或多个处理器2301和一个或多个存储器2302。
[0276]
处理器2301可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器2301可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器2301也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在
一些实施例中,处理器2301可以集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器2301还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
[0277]
存储器2302可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器2302还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器2302中的非暂态的计算机可读存储介质用于存储至少一个程序代码,该至少一个程序代码用于被处理器2301所执行以实现本技术中方法实施例提供的固件更新方法。
[0278]
在一些实施例中,终端2300还可选包括有:外围设备接口2303和至少一个外围设备。处理器2301、存储器2302和外围设备接口2303之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口2303相连。具体地,外围设备包括:射频电路2304、显示屏2305、摄像头组件2306、音频电路2307、定位组件2308和电源2309中的至少一种。
[0279]
外围设备接口2303可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器2301和存储器2302。在一些实施例中,处理器2301、存储器2302和外围设备接口2303被集成在同一芯片或电路板上;在一些其他实施例中,处理器2301、存储器2302和外围设备接口2303中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
[0280]
射频电路2304用于接收和发射rf(radio frequency,射频)信号,也称电磁信号。射频电路2304通过电磁信号与通信网络以及其他通信设备进行通信。射频电路2304将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路2304包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路2304可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wireless fidelity,无线保真)网络。在一些实施例中,射频电路2304还可以包括nfc(near field communication,近距离无线通信)有关的电路,本技术对此不加以限定。
[0281]
显示屏2305用于显示ui(user interface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏2305是触摸显示屏时,显示屏2305还具有采集在显示屏2305的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器2301进行处理。此时,显示屏2305还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏2305可以为一个,设置在终端2300的前面板;在另一些实施例中,显示屏2305可以为至少两个,分别设置在终端2300的不同表面或呈折叠设计;在另一些实施例中,显示屏2305可以是柔性显示屏,设置在终端2300的弯曲表面上或折叠面上。甚至,显示屏2305还可以设置成非矩形的不规则图形,也即异形屏。显示屏2305可以采用lcd(liquid crystal display,液晶显示屏)、oled(organic light-emitting diode,有机发光二极管)等材质制备。
[0282]
摄像头组件2306用于采集图像或视频。可选地,摄像头组件2306包括前置摄像头
和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtual reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件2306还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
[0283]
音频电路2307可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器2301进行处理,或者输入至射频电路2304以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端2300的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器2301或射频电路2304的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路2307还可以包括耳机插孔。
[0284]
定位组件2308用于定位终端2300的当前地理位置,以实现导航或lbs(location based service,基于位置的服务)。定位组件2308可以是基于美国的gps(global positioning system,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
[0285]
电源2309用于为终端2300中的各个组件进行供电。电源2309可以是交流电、直流电、一次性电池或可充电电池。当电源2309包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
[0286]
在一些实施例中,终端2300还包括有一个或多个传感器2310。该一个或多个传感器2310包括但不限于:加速度传感器2311、陀螺仪传感器2312、压力传感器2313、指纹传感器2314、光学传感器2315以及接近传感器2316。
[0287]
加速度传感器2311可以检测以终端2300建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器2311可以用于检测重力加速度在三个坐标轴上的分量。处理器2301可以根据加速度传感器2311采集的重力加速度信号,控制显示屏2305以横向视图或纵向视图进行用户界面的显示。加速度传感器2311还可以用于游戏或者用户的运动数据的采集。
[0288]
陀螺仪传感器2312可以检测终端2300的机体方向及转动角度,陀螺仪传感器2312可以与加速度传感器2311协同采集用户对终端2300的3d动作。处理器2301根据陀螺仪传感器2312采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。
[0289]
压力传感器2313可以设置在终端2300的侧边框和/或显示屏2305的下层。当压力传感器2313设置在终端2300的侧边框时,可以检测用户对终端2300的握持信号,由处理器2301根据压力传感器2313采集的握持信号进行左右手识别或快捷操作。当压力传感器2313设置在显示屏2305的下层时,由处理器2301根据用户对显示屏2305的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜
单控件中的至少一种。
[0290]
指纹传感器2314用于采集用户的指纹,由处理器2301根据指纹传感器2314采集到的指纹识别用户的身份,或者,由指纹传感器2314根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器2301授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器2314可以被设置在终端2300的正面、背面或侧面。当终端2300上设置有物理按键或厂商logo时,指纹传感器2314可以与物理按键或厂商logo集成在一起。
[0291]
光学传感器2315用于采集环境光强度。在一个实施例中,处理器2301可以根据光学传感器2315采集的环境光强度,控制显示屏2305的显示亮度。具体地,当环境光强度较高时,调高显示屏2305的显示亮度;当环境光强度较低时,调低显示屏2305的显示亮度。在另一个实施例中,处理器2301还可以根据光学传感器2315采集的环境光强度,动态调整摄像头组件2306的拍摄参数。
[0292]
接近传感器2316,也称距离传感器,通常设置在终端2300的前面板。接近传感器2316用于采集用户与终端2300的正面之间的距离。在一个实施例中,当接近传感器2316检测到用户与终端2300的正面之间的距离逐渐变小时,由处理器2301控制显示屏2305从亮屏状态切换为息屏状态;当接近传感器2316检测到用户与终端2300的正面之间的距离逐渐变大时,由处理器2301控制显示屏2305从息屏状态切换为亮屏状态。
[0293]
本领域技术人员可以理解,图23中示出的结构并不构成对终端2300的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
[0294]
图24是本技术实施例提供的一种服务器的结构示意图,该服务器2400可因配置或性能不同而产生比较大的差异,可以包括一个或多个处理器(central processing units,cpu)2401和一个或多个的存储器2402,其中,该一个或多个存储器2402中存储有至少一条程序代码,该至少一条程序代码由该一个或多个处理器2401加载并执行以实现上述各个方法实施例提供的方法。当然,该服务器2400还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器2400还可以包括其他用于实现设备功能的部件,在此不做赘述。
[0295]
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括程序代码的存储器,上述程序代码可由处理器执行以完成上述实施例中的固件更新方法。例如,该计算机可读存储介质可以是只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、只读光盘(compact disc read-only memory,cd-rom)、磁带、软盘和光数据存储设备等。
[0296]
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机程序代码,该计算机程序代码存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取该计算机程序代码,处理器执行该计算机程序代码,使得该计算机设备实现上述实施例中提供的固件更新方法。
[0297]
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来程序代码相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0298]
上述仅为本技术的可选实施例,并不用以限制本技术,凡在本技术的精神和原则
之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

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

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

相关文献