本发明属于软件领域,尤其涉及基于物联网的执法记录仪升级系统及执法记录仪升级方法。
背景技术:
执法记录仪又称警用执法记录仪或现场执法记录仪。集数码摄像、数码照相、对讲送话器功能于一身,能够对执法过程中进行动态、静态的现场情况数字化记录,便于公安干警在各种环境中执法使用。
然而,现有技术无法完成执法记录仪的精准升级,不利于提高升级效率。其原因在于,现有技术主要采取在线点对点或本地升级方式,无法使用批量升级的方式,导致一旦执法记录仪需求发生变更或存在软件漏洞,升级程序将会耗费大量人力、物力。此外,现有的执法记录仪的固件和厂商繁多,不同固件、不同厂商需要不同的升级文件,才能升级成功,而现有的执法记录仪管理平台对执法记录仪进行升级时,只会采用统一的升级文件升级执法记录仪,不会区别固件和厂商,这样,不同固件、不同厂商的执法记录仪的系统与升级文件不兼容,容易造成执法记录仪升级失败,不利于提高升级效率。
技术实现要素:
本发明实施例的目的在于提供一种基于物联网的执法记录仪升级系统,旨在解决现有技术无法完成执法记录仪的精准升级,不利于提高升级效率的问题。
本发明实施例的第一方面提供了一种基于物联网的执法记录仪升级系统,包括管理服务器和多个执法记录仪,所述执法记录仪内置有nb-iot模块和为nb-iot模块供电的锂电池,所述nb-iot模块包括存储单元和基于蜂窝的窄带物联网的芯片,所述执法记录仪通过nb-iot模块接入窄带物联网;
所述管理服务器向所述执法记录仪广播升级指令;
所述执法记录仪收到所述升级指令后,将内部存储的固件版本号、型号以及设备厂商名打包,生成升级数据包,向所述管理服务器返回所述升级数据包;
所述管理服务器接收所述升级数据包,向所述执法记录仪发送警员信息获取请求;
所述执法记录仪收到所述升级指令后,向所述管理服务器返回警员信息,所述警员信息包括警员名称、警员编号、部门名称、部门编号、联系电话;
所述管理服务器接收所述警员信息,根据预设的md5函数以及所述的警员信息,生成所述警员信息的散列值,将所述警员信息的散列值与预存的散列值进行匹配,匹配成功时,解析所述升级数据包,在识别所述升级标识符后,通过所述固件版本号,确定所述执法记录仪是否为待升级执法记录仪,若所述执法记录仪为待升级执法记录仪,将所述执法记录仪的固件版本号、型号以及设备厂商名依序整合,生成升级信息,根据预设的sha-256函数以及所述升级信息,生成所述升级信息的哈希值,根据预先存储的哈希值和升级文件的对应关系,从云端存储的升级文件库中提取所述升级信息的哈希值对应的升级文件;
所述管理服务器向所述执法记录仪发送所述升级信息的哈希值对应的升级文件;
所述执法记录仪接收所述升级文件,将所述升级文件拷贝至预设目录下,启动预设的加载程序bootloader,从所述预设目录下加载所述升级文件,待升级完毕后,向所述管理服务器发送升级成功信息;
所述管理服务器接收所述升级成功信息,停止向所述执法记录仪发送所述升级信息的哈希值对应的升级文件。
进一步地,在所述执法记录仪升级系统中,所述升级标识符由第一字符串和第二字符串组成,所述第一字符串为upgrade,所述第二字符串为二进制形式的4个0。
进一步地,在所述执法记录仪升级系统中,所述执法记录仪升级系统还包括:
设置在所述执法记录仪内,对当前位置进行定位,生成gps坐标的gps模块。
进一步地,在所述执法记录仪升级系统中,所述nb-iot模块与所述gps模块相连接,所述nb-iot模块还用于通过所述nb-iot基站,向管理服务器发送所述gps坐标。
进一步地,在所述执法记录仪升级系统中,所述执法记录仪升级系统还包括:
设置在所述执法记录仪内,对当前位置进行定位,生成北斗坐标的北斗定位模块。
进一步地,在所述执法记录仪升级系统中,所述nb-iot模块与所述北斗定位模块相连接,所述nb-iot模块还用于通过所述nb-iot基站,向管理服务器发送所述北斗坐标。
进一步地,在所述执法记录仪升级系统中,当所述升级信息的哈希值对应的升级文件为多个时,所述管理服务器向所述执法记录仪发送所述升级信息的哈希值对应的升级文件,具体为:
所述管理服务器统计所述升级信息的哈希值对应的升级文件的被选择次数,对所述被选择次数进行排序,选取被选择次数最大的升级文件,通过窄带物联网nb-iot基站,向所述执法记录仪发送所述被选择次数最大的升级文件。
进一步地,在所述执法记录仪升级系统中,当升级信息的哈希值对应的升级文件为多个时,所述管理服务器向所述执法记录仪发送所述升级信息的哈希值对应的升级文件,具体为:
所述管理服务器获取所述升级信息的哈希值对应的升级文件的生成时间,对所述升级信息的哈希值对应的升级文件的生成时间进行排序,选取最新的升级文件,通过窄带物联网nb-iot基站,向所述执法记录仪发送所述最新的升级文件。
进一步地,在所述执法记录仪升级系统中,在所述通过窄带物联网nb-iot基站,向所述执法记录仪发送所述升级信息的哈希值对应的升级文件之后,所述执法记录仪升级系统还包括:
所述管理服务器向所述执法记录仪发送执法视频获取请求,接收所述执法记录仪返回的执法视频,所述执法视频为对执法对象拍摄的视频,通过所述执法视频获取所述执法对象的人脸图像,触发人脸图像比对指令,通过所述人脸图像比对指令,连接预设的图像服务器,向所述图像服务器上传所述人脸图像,并接收所述图像服务器返回的人脸识别结果,如果所述人脸识别结果为嫌疑人图像,就向所述执法记录仪下发预设的提醒信息;
所述执法记录仪接收到所述提醒信息后,通过外部的蓝牙耳机播报所述提醒信息。
本发明实施例的第二方面在于提供一种基于上述执法记录仪升级系统的执法记录仪升级方法,包括:
所述管理服务器向所述执法记录仪广播升级指令;
所述执法记录仪启动一个负责监听通信端口的线程,当所述线程监听到通信端口收到所述升级指令时,根据内置振动传感器的状态信号,判断执法记录仪是否处于静止状态,如果处于静止状态,如果处于静止状态,就将内部存储的固件版本号、型号以及设备厂商名打包,生成升级数据包,向所述管理服务器返回所述升级数据包;
所述管理服务器接收所述升级数据包,所述升级数据包携带升级标识符、所述执法记录仪的固件版本号、型号以及设备厂商名;
所述管理服务器向所述执法记录仪发送警员信息获取请求;
所述执法记录仪收到所述升级指令后,向所述管理服务器返回警员信息,所述警员信息包括警员名称、警员编号、部门名称、部门编号、联系电话;
所述管理服务器接收所述警员信息,根据预设的md5函数以及所述的警员信息,生成所述警员信息的散列值,将所述警员信息的散列值与预存的散列值进行匹配,匹配成功时,解析所述升级数据包,在识别所述升级标识符后,通过所述固件版本号,确定所述执法记录仪是否为待升级执法记录仪,若所述执法记录仪为待升级执法记录仪,将所述执法记录仪的固件版本号、型号以及设备厂商名依序整合,生成升级信息,根据预设的sha-256函数以及所述升级信息,生成所述升级信息的哈希值,根据预先存储的哈希值和升级文件的对应关系,从云端存储的升级文件库中提取所述升级信息的哈希值对应的升级文件;
所述管理服务器向所述执法记录仪发送所述升级信息的哈希值对应的升级文件;
所述执法记录仪接收所述升级文件,将所述升级文件拷贝至预设目录下,启动预设的加载程序bootloader,从所述预设目录下加载所述升级文件,待升级完毕后,向所述管理服务器发送升级成功信息;所述管理服务器接收所述升级成功信息,停止向所述执法记录仪发送所述升级信息的哈希值对应的升级文件。
本发明的有益效果是:
将所述执法记录仪的固件版本号、型号以及设备厂商名依序整合,生成升级信息,提取所述升级信息的哈希值对应的升级文件,避免了现有的执法记录仪管理平台对执法记录仪进行时,不会区别固件和厂商,出现不同固件、不同厂商的执法记录仪的系统与升级文件不兼容的情况,因此能完成执法记录仪的精准升级,有利于提高升级效率。
附图说明
图1是本发明实施例提供的执法记录仪升级系统的结构框图;
图2是本发明实施例提供的执法记录仪升级方法的实施流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例一
图1是本发明实施例提供的执法记录仪升级系统的结构框图,详述如下:
一种基于物联网的执法记录仪升级系统,包括管理服务器和多个执法记录仪,所述执法记录仪内置有nb-iot模块和为nb-iot模块供电的锂电池,所述nb-iot模块包括存储单元和基于蜂窝的窄带物联网的芯片,所述执法记录仪通过nb-iot模块接入窄带物联网;
所述管理服务器向所述执法记录仪广播升级指令;
所述执法记录仪收到所述升级指令后,将内部存储的固件版本号、型号以及设备厂商名打包,生成升级数据包,向所述管理服务器返回所述升级数据包;
所述管理服务器接收所述升级数据包,向所述执法记录仪发送警员信息获取请求;
所述执法记录仪收到所述升级指令后,向所述管理服务器返回警员信息,所述警员信息包括警员名称、警员编号、部门名称、部门编号、联系电话;
所述管理服务器接收所述警员信息,根据预设的md5函数以及所述的警员信息,生成所述警员信息的散列值,将所述警员信息的散列值与预存的散列值进行匹配,匹配成功时,解析所述升级数据包,在识别所述升级标识符后,通过所述固件版本号,确定所述执法记录仪是否为待升级执法记录仪,若所述执法记录仪为待升级执法记录仪,将所述执法记录仪的固件版本号、型号以及设备厂商名依序整合,生成升级信息,根据预设的sha-256函数以及所述升级信息,生成所述升级信息的哈希值,根据预先存储的哈希值和升级文件的对应关系,从云端存储的升级文件库中提取所述升级信息的哈希值对应的升级文件;
所述管理服务器向所述执法记录仪发送所述升级信息的哈希值对应的升级文件;
所述执法记录仪接收所述升级文件,将所述升级文件拷贝至预设目录下,启动预设的加载程序bootloader,从所述预设目录下加载所述升级文件,待升级完毕后,向所述管理服务器发送升级成功信息;
所述管理服务器接收所述升级成功信息,停止向所述执法记录仪发送所述升级信息的哈希值对应的升级文件。
其中,执法记录仪启动一个负责监听通信端口的线程,当线程监听到通信端口有升级指令传输过来时,根据内置振动传感器的状态信号,判断执法记录仪是否处于静止状态,如果处于静止状态,就通过nb-iot模块返回升级数据包,这样的有益效果为:执法记录仪在静止时,即执法记录仪空闲时,通过nb-iot模块返回升级数据包,避免了出现因系统升级中断执法记录仪运行的情况,能较好地满足执法记录仪的实际需求。
上述执法记录仪在接收到管理服务器发送的警员信息获取请求之后,便向该管理服务器反馈一条包含自身警员信息的反馈消息。
其中,上述警员信息为上述执法记录仪在登记时,由管理部门在该执法记录仪内部写入的身份信息。该身份信息在写入执法记录仪之后,会存储在该执法记录仪中。
其中,管理服务器将所述返回的警员信息与预存的警员信息进行匹配,匹配成功,说明执法记录仪为已登记的执法记录仪,解析所述升级数据包,匹配不成功,说明执法记录仪为未登记的执法记录仪,不解析所述升级数据包,其中,这样的有益效果为:拒绝解析未登记的执法记录仪返回的升级数据包。
其中,升级文件库存储有多个升级文件,预先存储的哈希值和升级文件的对应关系是一对多,即一个预先存储的哈希值对应至少一个升级文件。
其中,管理服务器将所述升级信息的哈希值与预先存储的哈希值进行匹配,如果匹配成功,就从云端存储的升级文件库中提取所述升级信息的哈希值对应的升级文件,这样的有益效果为:能根据匹配结果,快速提取升级文件。
其中,管理服务器先发送所述升级信息的哈希值对应的升级文件给nb-iot基站,再通过nb-iot基站将所述升级信息的哈希值对应的升级文件发送给所述执法记录仪。
其中,在所述管理服务器向所述执法记录仪发送所述升级信息的哈希值对应的升级文件之后,在所述执法记录仪接收所述升级文件,将所述升级文件拷贝至预设目录下,启动预设的加载程序bootloader,从所述预设目录下加载所述升级文件,待升级完毕后,向所述管理服务器发送升级成功信息之前,系统还包括:
所述管理服务器读取系统时间和预设的升级时长,当达到所述升级时长后,检测是否接收到所述执法记录仪发送的升级成功信息,如果没有接收到所述执法记录仪发送的升级成功信息,就继续通过窄带物联网nb-iot基站,向所述执法记录仪发送所述升级信息的哈希值对应的升级文件。
其中,所述升级成功信息为由三部分组成,分别是帧头、内容部分和校验部分,详述如下:
帧头有1个字节的固定内容,1个字节的内容长度,固定内容为0xff,内容长度为数据内容的字节数;
内容部分有多个字节的数据内容,数据内容包括警员编号和执法记录仪的固件版本号;
校验部分有2个字节的crc校验码。
优选地,所述升级时长为30分钟。
其中,所述nb-iot模块包括存储单元和基于蜂窝的窄带物联网的芯片。
其中,存储单元为智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。
其中,nb-iot模块,即基于蜂窝的窄带物联网(narrowband-internetofthings)的模块。
其中,nb-iot基站,即基于蜂窝的窄带物联网(narrowband-internetofthings)的基站。
其中,管理服务器可以是网关,也可以是物联网接入点。网关又称网间连接器、协议转换器。
其中,nb-iot模块接入窄带物联网的过程为现有技术,在此不做赘述。
其中,每个nb-iot模块都有一个唯一的国际移动用户识别码,在窄带物联网中,管理服务器通过国际移动用户识别码识别不同的nb-iot模块,进而识别不同的执法记录仪。
在本发明实施例中,有益效果在于两方面,详述如下:
第一方面,向已接入窄带物联网的执法记录仪广播升级指令,接收所述执法记录仪基于所述升级指令返回的升级数据包,因此能完成执法记录仪的批量升级,即使执法记录仪需求发生变更或存在软件漏洞,升级程序也不会耗费大量人力、物力,因此有利于提高升级速度;
第二方面,由于将所述执法记录仪的固件版本号、型号以及设备厂商名依序整合,生成升级信息,提取所述升级信息的哈希值对应的升级文件,避免了现有的执法记录仪管理平台对执法记录仪进行时,不会区别固件和厂商,出现不同固件、不同厂商的执法记录仪的系统与升级文件不兼容的情况,因此能完成执法记录仪的精准升级,有利于提高升级效率。
实施例二
本发明实施例描述了所述管理服务器向所述执法记录仪发送所述升级信息的哈希值对应的升级文件的实施过程,详述如下:
所述管理服务器统计所述升级信息的哈希值对应的升级文件的被选择次数;
对所述被选择次数进行排序,选取被选择次数最大的升级文件;
通过窄带物联网nb-iot基站,向所述执法记录仪发送所述被选择次数最大的升级文件。
其中,所述管理服务器先发送所述被选择次数最大的升级文件给nb-iot基站,再通过nb-iot基站将所述被选择次数最大的升级文件发送给所述执法记录仪。
在本发明实施例中,向执法记录仪发送被选择次数最大的升级文件,能增强执法记录仪的稳定性。
实施例三
本发明实施例描述了所述管理服务器向所述执法记录仪发送所述升级信息的哈希值对应的升级文件的另一实施过程,详述如下:
所述管理服务器获取所述升级信息的哈希值对应的升级文件的生成时间;
对所述升级信息的哈希值对应的升级文件的生成时间进行排序,选取最新的升级文件;
通过窄带物联网nb-iot基站,向所述执法记录仪发送所述最新的升级文件。
其中,所述管理服务器先发送所述最新的升级文件给nb-iot基站,再通过nb-iot基站将所述最新的升级文件发送给所述执法记录仪。
可选地,作为本发明实施例的另一实施方式,通过窄带物联网nb-iot基站,向所述执法记录仪发送所述最新的升级文件,具体为:
采用lzss压缩算法,对所述最新的升级文件进行压缩,生成升级文件压缩包,向所述执法记录仪发送所述升级文件压缩包。
其中,lzss压缩算法为基于字典的压缩算法。
其中,由于最新的升级文件更新比较快,短时间内也会产生比较多的升级文件,因此需要及时压缩,采用lzss压缩算法,能有效压缩升级文件,降低升级文件压缩包的压缩时间。
在本发明实施例中,向执法记录仪发送最新的升级文件,能及时升级执法记录仪的功能。
实施例四
图2是本发明实施例提供的执法记录仪升级方法的实施流程图,详述如下:
s201,所述管理服务器向所述执法记录仪广播升级指令;
s202,所述执法记录仪启动一个负责监听通信端口的线程,当所述线程监听到通信端口收到所述升级指令时,根据内置振动传感器的状态信号,判断执法记录仪是否处于静止状态,如果处于静止状态,如果处于静止状态,就将内部存储的固件版本号、型号以及设备厂商名打包,生成升级数据包,向所述管理服务器返回所述升级数据包;
s203,所述管理服务器接收所述升级数据包,所述升级数据包携带升级标识符、所述执法记录仪的固件版本号、型号以及设备厂商名;
s204,所述管理服务器向所述执法记录仪发送警员信息获取请求;
s205,所述执法记录仪收到所述升级指令后,向所述管理服务器返回警员信息,所述警员信息包括警员名称、警员编号、部门名称、部门编号、联系电话;
s206,所述管理服务器接收所述警员信息,根据预设的md5函数以及所述的警员信息,生成所述警员信息的散列值,将所述警员信息的散列值与预存的散列值进行匹配,匹配成功时,解析所述升级数据包,在识别所述升级标识符后,通过所述固件版本号,确定所述执法记录仪是否为待升级执法记录仪,若所述执法记录仪为待升级执法记录仪,将所述执法记录仪的固件版本号、型号以及设备厂商名依序整合,生成升级信息,根据预设的sha-256函数以及所述升级信息,生成所述升级信息的哈希值,根据预先存储的哈希值和升级文件的对应关系,从云端存储的升级文件库中提取所述升级信息的哈希值对应的升级文件;
s207,所述管理服务器向所述执法记录仪发送所述升级信息的哈希值对应的升级文件;
s208,所述执法记录仪接收所述升级文件,将所述升级文件拷贝至预设目录下,启动预设的加载程序bootloader,从所述预设目录下加载所述升级文件,待升级完毕后,向所述管理服务器发送升级成功信息;
s209,所述管理服务器接收所述升级成功信息,停止向所述执法记录仪发送所述升级信息的哈希值对应的升级文件。
其中,管理服务器先发送所述升级信息的哈希值对应的升级文件给nb-iot基站,再通过nb-iot基站将所述升级信息的哈希值对应的升级文件发送给所述执法记录仪。
其中,在所述管理服务器向所述执法记录仪发送所述升级信息的哈希值对应的升级文件,即在s207之后,s208之前,系统还包括:
s210,所述管理服务器读取系统时间和预设的升级时长,当达到所述升级时长后,检测是否接收到所述执法记录仪发送的升级成功信息,如果没有接收到所述执法记录仪发送的升级成功信息,就继续通过窄带物联网nb-iot基站,向所述执法记录仪发送所述升级信息的哈希值对应的升级文件,如果有接收到所述执法记录仪发送的升级成功信息,就停止通过窄带物联网nb-iot基站,向所述执法记录仪发送所述升级信息的哈希值对应的升级文件。
其中,在s209之后,方法还包括:
s211,向所述执法记录仪发送执法视频获取请求,接收所述执法记录仪返回的执法视频,所述执法视频为对执法对象拍摄的视频,通过所述执法视频获取所述执法对象的人脸图像,触发人脸图像比对指令,通过所述人脸图像比对指令,连接预设的图像服务器,向所述图像服务器上传所述人脸图像,并接收所述图像服务器返回的人脸识别结果,如果所述人脸识别结果为嫌疑人图像,就向所述执法记录仪下发预设的提醒信息;
所述执法记录仪接收到所述提醒信息后,通过外部的蓝牙耳机播报所述提醒信息。
所述执法记录仪通过蓝牙通信模式连接所述蓝牙耳机。
在本发明实施例中,有益效果在于两方面,详述如下:
第一方面,向已接入窄带物联网的执法记录仪广播升级指令,接收所述执法记录仪基于所述升级指令返回的升级数据包,因此能完成执法记录仪的批量升级,即使执法记录仪需求发生变更或存在软件漏洞,升级程序也不会耗费大量人力、物力,因此有利于提高升级速度;
第二方面,由于将所述执法记录仪的固件版本号、型号以及设备厂商名依序整合,生成升级信息,提取所述升级信息的哈希值对应的升级文件,避免了现有的执法记录仪管理平台对执法记录仪进行时,不会区别固件和厂商,出现不同固件、不同厂商的执法记录仪的系统与升级文件不兼容的情况,因此能完成执法记录仪的精准升级,有利于提高升级效率。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现。所述的程序可以存储于可读取存储介质中,所述的存储介质,如随机存储器、闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。