一种智慧灯杆的固件升级方法、装置、系统、设备和介质制造方法及图纸

技术编号:28034010 阅读:25 留言:0更新日期:2021-04-09 23:15
本发明专利技术提供一种智慧灯杆的固件升级方法、装置、系统、设备和介质,方法包括:接收客户端的选择指令,基于选择指令选择待升级灯杆设备;检测客户端响应的固件获取指令,基于固件获取指令从固件版本库获取固件;检测客户端响应的固件分片指令,基于固件分片指令对固件进行分片和编号,将固件分片存入数据库;接收客户端发送的设备升级指令,基于设备升级指令下发升级通知消息给待升级灯杆设备;检测待升级灯杆设备响应的升级开启消息,基于升级开启消息从数据库获取固件分片加入到队列,将队列的固件分片推送给待升级灯杆设备,供待升级灯杆设备升级。本发明专利技术优点:能够在保证数据准确性的前提下提升固件的升级效率,降低固件升级成本。

【技术实现步骤摘要】
一种智慧灯杆的固件升级方法、装置、系统、设备和介质
本专利技术涉及计算机
,特别涉及一种智慧灯杆的固件升级方法、装置、系统、设备和介质。
技术介绍
随着物联网、下一代互联网、云计算等新一代信息技术的快速发展,智慧城市已成为社会发展必然趋势。近年来,建设智慧城市新政频出,智慧城市建设正在全国如火如荼的进行。智慧灯杆是智慧城市的重要组成部分,目前,智慧灯杆已成为现代化城市建设的新标志之一。智慧灯杆是以照明灯杆为载体,集成了语音视频监控设备、无线基站、WIFI、户外多媒体屏幕、新能源汽车充电桩以及天气、环境等各种传感器的新型智能设备。依托强大的综合管理平台,实现数据监控、车辆监控、安防监控、环保监测、地下管网监控、城市洪涝灾害预警、区域噪声监测、市民应急报警灯等应用。智慧灯杆通过集成传感器,为智慧城市的大数据应用提供大量数据支持。随着智慧灯杆的不断更新迭代,对智慧灯杆进行固件升级是难以避免的。以往在对智慧灯杆进行固件升级时,一种是到现场对智慧灯杆进行一个一个地升级,但这种现场升级方式效率极低,需要耗费大量的人力物力;另一种是采用近场蓝牙或局域网进行局部范围内的升级,但这种局域范围升级的方式存在重复操作多,升级效率也比较低,且容易出现升级异常的缺陷。鉴于上述存在的问题,本案专利技术人对该问题进行深入研究,遂有本案产生。
技术实现思路
本专利技术要解决的技术问题,在于提供一种智慧灯杆的固件升级方法、装置、系统、设备和介质,解决现有智慧灯杆固件升级存在的升级效率低,容易出现升级异常的问题。第一方面,本专利技术提供了一种智慧灯杆的固件升级方法,该方法应用于服务端,所述方法包括:接收客户端输入的灯杆设备的选择指令,基于所述选择指令选择待升级灯杆设备,将待升级灯杆设备呈现给客户端;检测客户端基于待升级灯杆设备响应的固件获取指令,基于所述固件获取指令从固件版本库中获取固件;检测客户端基于固件响应的固件分片指令,基于所述固件分片指令对固件进行分片和编号处理,并将处理后的固件分片存入数据库中;接收客户端发送的设备升级指令,基于所述设备升级指令下发升级通知消息给待升级灯杆设备;检测待升级灯杆设备基于升级通知消息响应的升级开启消息,基于所述升级开启消息从数据库中获取固件分片,将固件分片加入到队列中,并开启线程服务将队列中的固件分片推送给待升级灯杆设备,以供待升级灯杆设备在接收到完整的固件后进行固件升级。进一步的,所述数据库为redis数据库。进一步的,所述队列为kafka队列。进一步的,所述的将待升级灯杆设备呈现给客户端具体为:将待升级灯杆设备以列表的形式呈现给客户端。进一步的,所述的基于所述固件获取指令从固件版本库中获取固件具体包括:基于所述固件获取指令,将待升级灯杆设备的固件版本与固件版本库中的固件版本进行版本号比对,判断待升级灯杆设备的固件版本是否为最新版本,如果是,则将对应的待升级灯杆设备从列表中移除;如果否,则从固件版本库中获取最新版本的固件,并将列表中的待升级灯杆设备置为升级状态。进一步的,在基于所述固件获取指令从固件版本库中获取固件之前,还包括:接收客户端上传的各种版本的固件,将各种版本的固件存储到云端的固件版本库中。进一步的,所述的从固件版本库中获取最新版本的固件具体包括:将固件版本库中最新版本的固件从云端下载至服务器本地进行缓存。进一步的,在将处理后的固件分片存入数据库中之后,还包括:将服务器本地中缓存的最新版本的固件删除。进一步的,所述的基于所述固件分片指令对固件进行分片和编号处理具体包括:基于所述固件分片指令,获取待升级灯杆设备中每页存储的字节总数,将字节总数除以每个有效分片内容的最大字节数得到每页存储的分片数量;在进行分片操作时,先依据每页存储的字节总数对固件进行页面分割,再依据每页存储的分片数量对固件进行片段分割,并按照片段的先后顺序对分割后的各个固件分片进行编号。进一步的,在将处理后的固件分片存入redis数据库时,设置redis中的Key为固件名+固件版本号;设置value为按序的集合list,集合的序号为对应的固件分片的分片编号,值为分片内容。进一步的,所述有效分片内容的最大字节数为246字节。进一步的,所述的基于所述设备升级指令下发升级通知消息给待升级灯杆设备具体包括:在接收到客户端发送的设备升级指令后,基于所述设备升级指令生成携带有固件基本信息的升级通知消息,并将所述升级通知消息下发给待升级灯杆设备,以供待升级灯杆设备在接收到所述升级通知消息后,能够从所述升级通知消息中提取出固件基本信息并存入Flash缓存中,同时暂停定时上发设备状态的任务,并生成用于响应的升级开启消息。进一步的,所述固件基本信息至少包括固件版本号长度、固件版本号名称、固件总字节数、固件分片的总数量和每个固件分片的字节数。进一步的,所述的基于所述升级开启消息从数据库中获取固件分片,将固件分片加入到队列中,并开启线程服务将队列中的固件分片推送给待升级灯杆设备具体包括:在接收到待升级灯杆设备响应的所述升级开启消息后,开始从redis数据库中获取第一个固件分片,将第一个固件分片加入至kafka队列中,并开启多线程服务将kafka队列中的第一个固件分片推送给待升级灯杆设备,以供待升级灯杆设备接收固件分片,并将固件分片按顺序存入清空的存储分区中;接收待升级灯杆设备响应的数据接收消息,基于所述数据接收消息从redis数据库中获取下一个固件分片加入至kafka队列中,并通过多线程服务进行固件分片分发;如此循环,直至将redis数据库中的所有固件分片均推送给待升级灯杆设备。进一步的,所述方法还包括:在所有固件分片均推送完毕后,接收待升级灯杆设备基于最后一个固件分片响应的第一确认消息,并基于所述第一确认消息下发第一结束通知消息给待升级灯杆设备;接收待升级灯杆设备基于所述第一结束通知消息响应的第二确认消息,并基于所述第二确认消息下发第二结束通知消息给待升级灯杆设备,至此下发固件分片结束。进一步的,所述方法还包括:在下发固件分片结束后,下发设备重启指令给待升级灯杆设备,以供待升级灯杆设备基于所述设备重启指令从存储分区中获取最新的固件进行启动升级。进一步的,所述方法还包括:在整个固件分片推送的过程中,若有待升级灯杆设备出现推送异常情况,则生成异常描述信息,并获取对应待升级灯杆设备的完整设备信息,且将异常描述信息和完整设备信息存入Elasticsearch中;其中,所述完整设备信息至少包括设备名称、设备型号、固件版本号长度、固件版本号名称、固件总字节数、固件分片的总数量和每个固件分片的字节数。进一步的,所述方法还包括:在整个固件分片推送的过程中,若单个固件分片的下发时间超过第一设定时间,则生成第一日志信息存入异常日志中,并重新推送该固件分片;若重新推送该固件分片的次数达到设定次数仍未推送成功,则停止该固件分片的推送,并将对应的待升级灯杆设备置为升级异常状态,同时生成第二日志信息存入异常日志中。本文档来自技高网...

【技术保护点】
1.一种智慧灯杆的固件升级方法,其特征在于:该方法应用于服务端,所述方法包括:/n接收客户端输入的灯杆设备的选择指令,基于所述选择指令选择待升级灯杆设备,将待升级灯杆设备呈现给客户端;/n检测客户端基于待升级灯杆设备响应的固件获取指令,基于所述固件获取指令从固件版本库中获取固件;/n检测客户端基于固件响应的固件分片指令,基于所述固件分片指令对固件进行分片和编号处理,并将处理后的固件分片存入数据库中;/n接收客户端发送的设备升级指令,基于所述设备升级指令下发升级通知消息给待升级灯杆设备;/n检测待升级灯杆设备基于升级通知消息响应的升级开启消息,基于所述升级开启消息从数据库中获取固件分片,将固件分片加入到队列中,并开启线程服务将队列中的固件分片推送给待升级灯杆设备,以供待升级灯杆设备在接收到完整的固件后进行固件升级。/n

【技术特征摘要】
1.一种智慧灯杆的固件升级方法,其特征在于:该方法应用于服务端,所述方法包括:
接收客户端输入的灯杆设备的选择指令,基于所述选择指令选择待升级灯杆设备,将待升级灯杆设备呈现给客户端;
检测客户端基于待升级灯杆设备响应的固件获取指令,基于所述固件获取指令从固件版本库中获取固件;
检测客户端基于固件响应的固件分片指令,基于所述固件分片指令对固件进行分片和编号处理,并将处理后的固件分片存入数据库中;
接收客户端发送的设备升级指令,基于所述设备升级指令下发升级通知消息给待升级灯杆设备;
检测待升级灯杆设备基于升级通知消息响应的升级开启消息,基于所述升级开启消息从数据库中获取固件分片,将固件分片加入到队列中,并开启线程服务将队列中的固件分片推送给待升级灯杆设备,以供待升级灯杆设备在接收到完整的固件后进行固件升级。


2.根据权利要求1所述的一种智慧灯杆的固件升级方法,其特征在于:所述数据库为redis数据库。


3.根据权利要求2所述的一种智慧灯杆的固件升级方法,其特征在于:所述队列为kafka队列。


4.根据权利要求3所述的一种智慧灯杆的固件升级方法,其特征在于:所述的将待升级灯杆设备呈现给客户端具体为:将待升级灯杆设备以列表的形式呈现给客户端。


5.根据权利要求4所述的一种智慧灯杆的固件升级方法,其特征在于:所述的基于所述固件获取指令从固件版本库中获取固件具体包括:基于所述固件获取指令,将待升级灯杆设备的固件版本与固件版本库中的固件版本进行版本号比对,判断待升级灯杆设备的固件版本是否为最新版本,如果是,则将对应的待升级灯杆设备从列表中移除;如果否,则从固件版本库中获取最新版本的固件,并将列表中的待升级灯杆设备置为升级状态。


6.根据权利要求5所述的一种智慧灯杆的固件升级方法,其特征在于:在基于所述固件获取指令从固件版本库中获取固件之前,还包括:接收客户端上传的各种版本的固件,将各种版本的固件存储到云端的固件版本库中。


7.一种智慧灯杆的固件升级装置,其特征在于:所述装置包括设备选择模块、固件获取模块、分片处理模块、升级通知模块和推送升级模块...

【专利技术属性】
技术研发人员:蒋雄彬陈光炎叶建新
申请(专利权)人:福建众益太阳能科技股份公司
类型:发明
国别省市:福建;35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1