本发明涉及摄像头管理,特别指一种摄像头模块化升级方法及系统。
背景技术:
1、摄像头又称为电脑相机、电脑眼、电子眼等,是一种视频输入设备,被广泛的运用于视频会议、远程医疗及实时监控等方面,普通的人也可以彼此通过摄像头在网络进行有影像、有声音的交谈和沟通。
2、随着技术的发展,摄像头的应用越来越广泛,而对其性能和功能的要求也不断提高,因此需要对正在服役的摄像头的软件进行不断升级。然而,传统的摄像头进行升级时,需要对摄像头的软件进行整体更新,这不仅浪费时间和资源,而且在升级过程中可能导致摄像头部分功能无法使用,严重影响用户体验。
3、因此,如何提供一种摄像头模块化升级方法及系统,实现提升摄像头升级效率以及稳定性,成为一个亟待解决的技术问题。
技术实现思路
1、本发明要解决的技术问题,在于提供一种摄像头模块化升级方法及系统,实现提升摄像头升级效率以及稳定性。
2、第一方面,本发明提供了一种摄像头模块化升级方法,包括如下步骤:
3、步骤s1、在摄像头的flash中创建一裸分区,在所述裸分区中创建一引导程序分区、一操作系统分区、一内核程序分区、一应用程序分区、一文件系统分区以及一ota分区;
4、步骤s2、将引导程序、操作系统、内核程序、应用程序以及文件系统,分别加载到所述引导程序分区、操作系统分区、内核程序分区、应用程序分区以及文件系统分区中;
5、步骤s3、摄像头接收服务器下发的升级文件,对所述升级文件进行解密和校验后存储至ota分区;
6、步骤s4、摄像头基于接收的升级指令进行重启,重启完成后对所述ota分区存储的升级文件进行校验;
7、步骤s5、摄像头基于所述升级文件对相应的分区执行升级操作。
8、进一步的,所述步骤s1具体为:
9、通过flash编程工具在摄像头的flash中创建一裸分区,通过flash编程工具在所述裸分区中创建一用于加载引导程序的引导程序分区、一用于加载操作系统的操作系统分区、一用于加载内核程序的内核程序分区、一用于加载应用程序的应用程序分区、一用于加载文件系统的文件系统分区以及一用于存储升级文件的ota分区。
10、进一步的,所述步骤s3具体为:
11、服务器获取升级安装包,创建一对公钥和私钥,对所述升级安装包进行哈希计算得到第一哈希值,通过所述私钥将升级安装包以及第一哈希值加密为加密安装包,通过rsa算法对所述公钥进行加密得到加密公钥,通过3des算法将所述加密安装包以及加密公钥加密为升级文件,通过tcp协议将所述升级文件下发给摄像头;
12、摄像头接收所述升级文件,通过3des算法解密所述升级文件得到加密安装包以及加密公钥,通过rsa算法对所述加密公钥进行解密得到公钥,通过所述公钥解密加密安装包得到升级安装包以及第一哈希值,通过所述第一哈希值对升级安装包进行完整性校验后,将所述升级文件存储至ota分区。
13、进一步的,所述步骤s4具体为:
14、摄像头接收服务器下发的升级指令,解析所述升级指令获取有效期以及签名,通过所述有效期对升级指令的时效进行校验后,对所述签名进行验签,再基于所述升级指令进行重启,重启完成后对所述ota分区存储的升级文件进行解密得到升级安装包以及第一哈希值,通过所述第一哈希值对升级安装包进行完整性校验。
15、进一步的,所述步骤s5具体为:
16、摄像头解析所述升级文件携带的升级安装包,获取分区名称、版本号以及升级数据,基于所述分区名称查找对应的分区,基于所述版本号对查找的分区安装的软件进行版本号校验,判断解析得到的所述版本号是否高于本地的版本号,若是,则将所述升级数据复制到对应分区,再删除所述分区的原始数据,以对所述分区执行升级操作;若否,则不执行升级操作;
17、所述软件为引导程序、操作系统、内核程序、应用程序或者文件系统。
18、第二方面,本发明提供了一种摄像头模块化升级系统,包括如下模块:
19、分区创建模块,用于在摄像头的flash中创建一裸分区,在所述裸分区中创建一引导程序分区、一操作系统分区、一内核程序分区、一应用程序分区、一文件系统分区以及一ota分区;
20、分区软件加载模块,用于将引导程序、操作系统、内核程序、应用程序以及文件系统,分别加载到所述引导程序分区、操作系统分区、内核程序分区、应用程序分区以及文件系统分区中;
21、升级文件下发模块,用于摄像头接收服务器下发的升级文件,对所述升级文件进行解密和校验后存储至ota分区;
22、升级文件校验模块,用于摄像头基于接收的升级指令进行重启,重启完成后对所述ota分区存储的升级文件进行校验;
23、升级操作模块,用于摄像头基于所述升级文件对相应的分区执行升级操作。
24、进一步的,所述分区创建模块具体用于:
25、通过flash编程工具在摄像头的flash中创建一裸分区,通过flash编程工具在所述裸分区中创建一用于加载引导程序的引导程序分区、一用于加载操作系统的操作系统分区、一用于加载内核程序的内核程序分区、一用于加载应用程序的应用程序分区、一用于加载文件系统的文件系统分区以及一用于存储升级文件的ota分区。
26、进一步的,所述升级文件下发模块具体用于:
27、服务器获取升级安装包,创建一对公钥和私钥,对所述升级安装包进行哈希计算得到第一哈希值,通过所述私钥将升级安装包以及第一哈希值加密为加密安装包,通过rsa算法对所述公钥进行加密得到加密公钥,通过3des算法将所述加密安装包以及加密公钥加密为升级文件,通过tcp协议将所述升级文件下发给摄像头;
28、摄像头接收所述升级文件,通过3des算法解密所述升级文件得到加密安装包以及加密公钥,通过rsa算法对所述加密公钥进行解密得到公钥,通过所述公钥解密加密安装包得到升级安装包以及第一哈希值,通过所述第一哈希值对升级安装包进行完整性校验后,将所述升级文件存储至ota分区。
29、进一步的,所述升级文件校验模块具体用于:
30、摄像头接收服务器下发的升级指令,解析所述升级指令获取有效期以及签名,通过所述有效期对升级指令的时效进行校验后,对所述签名进行验签,再基于所述升级指令进行重启,重启完成后对所述ota分区存储的升级文件进行解密得到升级安装包以及第一哈希值,通过所述第一哈希值对升级安装包进行完整性校验。
31、进一步的,所述升级操作模块具体用于:
32、摄像头解析所述升级文件携带的升级安装包,获取分区名称、版本号以及升级数据,基于所述分区名称查找对应的分区,基于所述版本号对查找的分区安装的软件进行版本号校验,判断解析得到的所述版本号是否高于本地的版本号,若是,则将所述升级数据复制到对应分区,再删除所述分区的原始数据,以对所述分区执行升级操作;若否,则不执行升级操作;
33、所述软件为引导程序、操作系统、内核程序、应用程序或者文件系统。
34、本发明的优点在于:
35、1、通过在摄像头的flash中创建裸分区,在裸分区中创建引导程序分区、操作系统分区、内核程序分区、应用程序分区、文件系统分区以及ota分区,再将引导程序、操作系统、内核程序、应用程序以及文件系统,分别加载到引导程序分区、操作系统分区、内核程序分区、应用程序分区以及文件系统分区中;摄像头接收服务器下发的升级文件并进行解密和校验后存储至ota分区,基于接收的升级指令进行重启,重启完成后对ota分区存储的升级文件进行再次校验,并基于升级文件对相应的分区执行升级操作;即在裸分区中创建若干个用于安装不同软件的分区,后续可基于升级文件携带的分区名称、版本号以及升级数据,单独针对需要升级的分区进行升级,相对于传统上的整体升级,减少了下载和安装的数据量,也尽可能降低升级对别的分区的功能造成影响,进而极大的提升了摄像头升级效率以及稳定性。
36、2、通过服务器创建一对公钥和私钥,对升级安装包进行哈希计算得到第一哈希值,通过私钥将升级安装包以及第一哈希值加密为加密安装包,通过rsa算法对公钥进行加密得到加密公钥,通过3des算法将加密安装包以及加密公钥加密为升级文件,再通过tcp协议将升级文件下发给摄像头;由于公钥加密的数据仅能由私钥解密,私钥加密的数据仅能由公钥解密,通过第一哈希值可快速校验升级安装包是否被篡改,而升级安装包以及第一哈希值通过私钥和3des算法的双重加密,公钥经过rsa算法和3des算法的双重加密,且tcp协议是一种面向连接的、可靠的、基于字节流的传输层通信协议,通过tcp协议传输升级文件可保障传输的可靠性,前后采取五重安全措施(公私钥、哈希计算、rsa算法、3des算法、tcp协议),极大的提升了升级安装包传输的安全性。
37、3、通过解析升级指令获取有效期以及签名,通过有效期对升级指令的时效进行校验后,对签名进行验签,即采取双重校验措施,避免基于错误的升级指令执行升级操作,保障升级的安全性。
38、4、通过摄像头重启后,对升级文件进行二次校验,进一步保障升级的安全性。
39、5、通过在摄像头执行升级操作前,对相应分区的软件的版本号进行校验,避免对无需升级的分区执行升级操作,进而保障摄像头运行的稳定性。
1.一种摄像头模块化升级方法,其特征在于:包括如下步骤:
2.如权利要求1所述的一种摄像头模块化升级方法,其特征在于:所述步骤s1具体为:
3.如权利要求1所述的一种摄像头模块化升级方法,其特征在于:所述步骤s3具体为:
4.如权利要求1所述的一种摄像头模块化升级方法,其特征在于:所述步骤s4具体为:
5.如权利要求1所述的一种摄像头模块化升级方法,其特征在于:所述步骤s5具体为:
6.一种摄像头模块化升级系统,其特征在于:包括如下模块:
7.如权利要求6所述的一种摄像头模块化升级系统,其特征在于:所述分区创建模块具体用于:
8.如权利要求6所述的一种摄像头模块化升级系统,其特征在于:所述升级文件下发模块具体用于:
9.如权利要求6所述的一种摄像头模块化升级系统,其特征在于:所述升级文件校验模块具体用于:
10.如权利要求6所述的一种摄像头模块化升级系统,其特征在于:所述升级操作模块具体用于: