CN114020308A - 一种摄像设备升级方法、装置、设备及介质 - Google Patents

一种摄像设备升级方法、装置、设备及介质 Download PDF

Info

Publication number
CN114020308A
CN114020308A CN202111255057.2A CN202111255057A CN114020308A CN 114020308 A CN114020308 A CN 114020308A CN 202111255057 A CN202111255057 A CN 202111255057A CN 114020308 A CN114020308 A CN 114020308A
Authority
CN
China
Prior art keywords
file
chip
partition
program file
storage medium
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111255057.2A
Other languages
English (en)
Inventor
隋小波
潘武
惠森林
张晓斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN202111255057.2A priority Critical patent/CN114020308A/zh
Publication of CN114020308A publication Critical patent/CN114020308A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请涉及安防监控技术领域,具体涉及一种摄像设备升级方法、装置、设备及介质,用于减少摄像设备升级过程中的硬件成本。该方法应用于摄像设备中,摄像设备包括第一芯片、第二芯片、与第一芯片连接的第一存储介质,以及与第二芯片连接的第二存储介质,第二存储介质的容量小于第一阈值,该方法包括:获取并解析升级包,获得第一程序文件和第二程序文件,将第一程序文件和第二程序文件写入第一存储介质,将第二程序文件中的关键文件写入第二存储介质,重启摄像设备,将第二程序文件中的非关键文件通过远程文件共享到第二芯片。本申请采用容量小于第一阈值的第二存储介质,来存储关键文件,可以减少摄像设备升级过程中的硬件成本。

Description

一种摄像设备升级方法、装置、设备及介质
技术领域
本申请涉及安防监控技术领域,具体涉及一种摄像设备升级方法、装置、设备及介质。
背景技术
摄像设备在安防监控技术领域具有重要意义,其可以实时显示、记录监控区域的图像,摄像设备在使用一段时间后通常需要升级,相关技术中对于摄像设备一般通过电脑升级软件控制来完成摄像设备的芯片升级。针对含有多个系统级芯片(System On Chip,SOC)的摄像设备,由于每个SOC升级所需的程序文件通常较大,因此每个SOC都需要连接大容量的存储介质,用于存储对应SOC的程序文件,导致摄像设备升级过程中的硬件成本较高。
发明内容
本申请实施例提供一种摄像设备升级方法、装置、设备及介质,用于减少摄像设备升级过程中的硬件成本。
第一方面,本申请实施例提供一种摄像设备升级方法,所述方法应用于摄像设备中,所述摄像设备包括第一芯片、第二芯片、与所述第一芯片连接的第一存储介质,以及与所述第二芯片连接的第二存储介质,所述第二存储介质的容量小于第一阈值,所述方法包括:
获取并解析升级包,获得第一程序文件和第二程序文件,其中,所述第一程序文件用于对所述第一芯片进行升级,所述第二程序文件用于对所述第二芯片进行升级;
将所述第一程序文件和所述第二程序文件写入所述第一存储介质;
将所述第二程序文件中的关键文件写入所述第二存储介质;其中,所述关键文件包括引导加载程序的文件,所述关键文件所需的存储容量小于所述第一阈值;
重启所述摄像设备,将所述第二程序文件中的非关键文件通过远程文件共享到所述第二芯片,其中,所述非关键文件为所述第二程序文件中除所述关键文件之外的文件,所述非关键文件所需的存储容量大于所述第一阈值。
本申请实施例中,第二存储介质的容量小于第一阈值,换言之,摄像设备使用容量较小的第二存储介质,可以减少第二存储介质的硬件成本,从而减少摄像设备升级过程中的硬件成本。且,本申请实施例中关键文件所需的存储容量小于第一阈值,换言之,关键文件的数据量小,升级出错的概率小,仅将第二程序文件中引导加载程序的关键文件写入第二存储介质,将非关键文件通过远程文件共享到第二芯片,且在满足摄像设备的升级需求的同时,可以提升摄像设备的升级效率。
在一种可能的实施例中,在重启所述摄像设备之后,所述方法还包括:
获取所述第二芯片的当前版本号;
若所述第二程序文件的版本号与所述第二芯片的当前版本号不同,将所述第二程序文件中的关键文件重新写入所述第二存储介质,直到确定所述第二程序文件的版本号与所述第二芯片的当前版本号相同。
本申请实施例中,当第二程序文件的版本号与第二芯片的当前版本号不同,说明第二芯片升级失败,仅将第二程序文件中的关键文件重新写入第二存储介质,不用重新写入所有文件,可以提高摄像设备的升级效率。
在一种可能的实施例中,所述第一存储介质包括第一分区和第二分区;
将所述第一程序文件和所述第二程序文件写入所述第一存储介质,包括:
将所述第一程序文件写入所述第一分区;
将所述第二程序文件写入所述第二分区。
本申请实施例中,将摄像设备的第一存储介质划分第一分区和第二分区,分别存储第一程序文件和第二程序文件,后续方便从对应的分区中查找程序文件。
在一种可能的实施例中,将所述第二程序文件写入所述第二分区,包括:
将所述第二程序文件中的关键文件写入所述第二分区中的关键分区;
将所述第二程序文件中的非关键文件写入所述第二分区中的非关键分区。
本申请实施例中,进一步将摄像设备的第一存储介质的第二分区划分为关键分区和非关键分区,分区方式更加灵活,关键文件和非关键文件的存储位置更加清楚。
在一种可能的实施例中,所述摄像设备包括多个第二芯片,且所述多个第二芯片存在部分不同或全部不同的芯片,所述第二程序文件包括多个第二子程序文件,所述第二分区包括多个第二子分区,每个第二子程序文件对应一个第二子分区,每个第二子分区包括一个关键分区和一个非关键分区;
将所述第二程序文件中的关键文件写入所述第二分区中的关键分区,包括:
将每个第二子程序文件的关键文件写入对应的第二子分区的关键分区;
将所述第二程序文件中的非关键文件写入所述第二分区中的非关键分区,包括:
将每个第二子程序文件的非关键文件写入对应的第二子分区的非关键分区。
本申请实施例中,当第二芯片为多个时,用于升级第二芯片的第二程序文件也包括多个第二子程序文件,第二分区包括多个第二子分区,将每个第二子程序文件的关键文件写入对应的第二子分区的关键分区,将每个第二子程序文件的非关键文件写入对应的第二子分区的非关键分区,后续便于查找用于每个第二芯片的关键文件和非关键文件。
第二方面,本申请实施例提供一种摄像设备升级装置,所述装置设置于摄像设备中,所述摄像设备包括第一芯片、第二芯片、与所述第一芯片连接的第一存储介质,以及与所述第二芯片连接的第二存储介质,所述第二存储介质的容量小于第一阈值,所述装置包括:
获取模块,用于获取并解析升级包,获得第一程序文件和第二程序文件,其中,所述第一程序文件用于对所述第一芯片进行升级,所述第二程序文件用于对所述第二芯片进行升级;
写入模块,用于将所述第一程序文件和所述第二程序文件写入所述第一存储介质;
所述写入模块,还用于将所述第二程序文件中的关键文件写入所述第二存储介质;其中,所述关键文件包括引导加载程序的文件,所述关键文件所需的存储容量小于所述第一阈值;
共享模块,用于重启所述摄像设备,将所述第二程序文件中的非关键文件通过远程文件共享到所述第二芯片,其中,所述非关键文件为所述第二程序文件中除所述关键文件之外的文件,所述非关键文件所需的存储容量大于所述第一阈值。
在一种可能的实施例中,所述获取模块,还用于在重启所述摄像设备之后,获取所述第二芯片的当前版本号;
所述写入模块,还用于若所述第二程序文件的版本号与所述第二芯片的当前版本号不同,将所述第二程序文件中的关键文件重新写入所述第二存储介质,直到确定所述第二程序文件的版本号与所述第二芯片的当前版本号相同。
在一种可能的实施例中,所述第一存储介质包括第一分区和第二分区;所述写入模块,具体用于:
将所述第一程序文件写入所述第一分区;
将所述第二程序文件写入所述第二分区。
在一种可能的实施例中,所述写入模块,具体用于:
将所述第二程序文件中的关键文件写入所述第二分区中的关键分区;
将所述第二程序文件中的非关键文件写入所述第二分区中的非关键分区。
在一种可能的实施例中,所述摄像设备包括多个第二芯片,且所述多个第二芯片存在部分不同或全部不同的芯片,所述第二程序文件包括多个第二子程序文件,所述第二分区包括多个第二子分区,每个第二子程序文件对应一个第二子分区,每个第二子分区包括一个关键分区和一个非关键分区;
所述写入模块,具体用于:将每个第二子程序文件的关键文件写入对应的第二子分区的关键分区,以及将每个第二子程序文件的非关键文件写入对应的第二子分区的非关键分区。
第三方面,本申请实施例提供一种摄像设备,包括:
至少一个处理器,以及
与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现如第一方面中任一项所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如第一方面中任一项所述的方法。
附图说明
图1为本申请实施例提供的一种具有第一芯片和第二芯片的摄像设备的结构示意图;
图2为本申请实施例提供的一种摄像设备升级方法的流程图;
图3为本申请实施例提供的一种升级包的结构示意图;
图4为本申请实施例提供的一种具有多个第二芯片的摄像设备的结构示意图;
图5为本申请实施例提供的一种摄像设备升级装置的结构图;
图6为本申请实施例提供的一种摄像设备的结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面将结合本发明实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以按照不同于此处的顺序执行所示出或描述的步骤。
本申请的说明书和权利要求书及上述附图中的术语“第一”和“第二”是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的保护。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例中,“多个”可以表示至少两个,例如可以是两个、三个或者更多个,本申请实施例不做限制。
在介绍本申请实施例所提供的摄像设备升级方法之前,为了便于理解,首先对本申请实施例的技术背景进行介绍。
摄像设备包括一个或多个SOC,当摄像设备包括多个SOC时,多个SOC包括一个主SOC和至少一个从SOC,例如至少一个SOC包括从SoC_1和SoC_2,至少一个从SOC用于辅助该主SOC执行摄像设备的功能。多SOC的摄像设备升级时,需要分别向每个SOC连接的存储介质中写入程序文件,以便完成摄像设备的升级,由于每个SOC升级所需的程序文件较大,因此每个SOC均会连接一个大容量的存储介质,例如2G的嵌入式多媒体控制器(embededMultiMedia Card,eMMC),具体例如主SOC连接2G的主eMMC,从SoC_1连接2G的从eMMC_1,从SoC_2连接2G的从eMMC_2。然而现有技术中多SOC的摄像设备需要多个大容量的存储介质,导致摄像设备升级过程中的硬件成本较高。
为了减少摄像设备升级过程中的硬件成本,本申请实施例提供一种摄像设备升级方法。该方法可以由摄像设备执行,摄像设备可以通过具有拍摄功能的终端或服务器实现,终端例如个人计算机、摄像机或嵌入式设备等,嵌入式设备例如摄像头等,服务器例如实体服务器或虚拟服务器等,摄像设备例如为多目摄像设备。
请参照图1,为本申请实施例提供的一种摄像设备的结构示意图。该摄像设备100包括第一芯片110、第二芯片120、第一存储介质130以及第二存储介质140。其中,第一芯片110与第一存储介质130连接,第二芯片120与第二存储介质140连接。第一芯片110例如为主SOC,第二芯片120例如为从SOC,第一存储介质130和第二存储介质140例如为eMMC、闪存(Flash)等。
应当说明的是,摄像设备100包括一个第一芯片110和至少一个第二芯片120,每个第二芯片120均连接一个第二存储介质140。图1是以一个第二芯片120和一个第二存储介质140为例,实际上不限制第二芯片120和第二存储介质140的数量。当摄像设备100包括多个第二芯片120时,各个第二芯片120可以相同或者不同。
下面结合图1所示的摄像设备,对摄像设备升级方法进行介绍。请参照图2,为本申请实施例提供的一种摄像设备升级方法的流程图。
S210、获取并解析升级包,获得第一程序文件和第二程序文件。
摄像设备获取升级包的方式有多种,下面分别进行介绍。
第一种方式,摄像设备可以响应于用户对升级控件进行的第一操作,向其他网络设备发送升级请求,其他网络设备在接收到摄像设备的升级请求之后,将升级包发送给摄像设备。
其中,升级控件可以是摄像设备上的物理按键,也可以是摄像设备的显示界面上的悬浮按键,第一操作例如点击操作、拖拽操作、长按操作等,其他设备为除摄像设备之外的网络设备,例如终端或服务器。该升级请求用于获取摄像设备的升级包,升级包中包含用于对摄像设备中的多个芯片进行升级的程序文件。
例如,摄像设备包括第一芯片和第二芯片,其他网络设备将第一芯片和第二芯片升级所需的所有程序文件打包为一个升级包,将该升级包存放在自身的硬盘或安全数码卡(Secure Digital Card,SD卡)等位置,后续直接将该升级包发送给摄像设备。
第二种方式,其他网络设备在生成升级包之后,可以向摄像设备发出升级通知,摄像设备收到升级通知之后,可以响应于用户对升级控件进行的第一操作,向其他网络设备发送升级请求,其他网络设备在接收到摄像设备的升级请求之后,将升级包发送给摄像设备。
其中,升级通知用于提醒该摄像设备可以进行升级,其他网络设备、升级包、第一操作、以及升级控件的含义请参照前文论述的内容,此处不再赘述。
例如,用户确认摄像设备接收到升级通知后,可以立即对升级控件进行第一操作,也可以在摄像设备空闲状态时,例如夜间,对升级控件进行第一操作。
第三种方式,其他网络设备在生成升级包之后,主动向摄像设备发送升级包。
其他网络设备可以直接将升级包发送给摄像设备,摄像设备接收升级包之后,自动升级,从而尽快完成摄像设备的升级。其中,其他网络设备和升级包的含义请参照前文论述的内容,此处不再赘述。
摄像设备在获取升级包之后,对升级包进行解析,获得第一程序文件和第二程序文件。其中,第一程序文件用于对第一芯片进行升级,第二程序文件用于对第二芯片进行升级。第二程序文件包括关键文件和非关键文件,下面分别到关键文件和非关键文件进行示例介绍。
1、关键文件。
关键文件包括引导加载程序的文件,用于建立第一芯片与第二芯片的基础通信。例如,关键文件可以包括嵌入式系统的引导加载程序(Bootloader),Bootloader可以使用简单文件传输(TrivialFile Transfer Protocol,TFTP)协议,通过以太网接口远程下载Linux内核映像和文件系统。关键文件也可以包括Bootloader、Linux内核以及文件系统。由于关键文件的数据量较小,因此,本申请实施例中,关键文件所需的存储容量小于第一阈值。
2、非关键文件。
非关键文件为第二程序文件中除关键文件之外的文件,非关键文件包括应用程序文件、用户数据文件等,应用程序文件例如为路径“/usr”下的文件,用户数据文件例如为路径“/home”下的文件。由于非关键文件的数据量较大,因此,本申请实施例中,非关键文件所需的存储容量大于第一阈值。
由于第二芯片可以为一个或多个,第二程序文件也可以包括一个或多个第二子程序文件,每个子程序文件均包括关键文件和非关键文件,下面分别对第二芯片和第二程序文件的多种情况进行示例介绍。
第一种情况,第二芯片为一个。
摄像设备仅包括一个第二芯片,此时第二程序文件仅包括一个第二子程序文件,该第二子程序文件用于升级该第二芯片。
例如,第二芯片为从SoC,第二程序文件仅包括第二子程序文件,第二子程序文件用于升级该从SoC。
第二种情况,第二芯片为多个,且多个第二芯片均为相同的芯片。
摄像设备包括多个相同的第二芯片,由于相同芯片升级所需的程序文件是相同的,因此第二程序文件可以仅包括一个第二子程序文件,该第二子程序文件对应摄像设备的多个第二芯片,该第二子程序文件用于升级该多个第二芯片。
例如,多个第二芯片为多个相同的从SOC,多个从SOC分别为从SoC_1、从SoC_2和从SoC_3,第二程序文件仅包括第二子程序文件,第二子程序文件可以用于升级从SoC_1、从SoC_2和从SoC_3。
第三种情况,第二芯片为多个,且多个第二芯片均为不同的芯片。
摄像设备包括多个不同的第二芯片,由于不同芯片升级所需的程序文件是不同的,因此第二程序文件包括多个第二子程序文件,一个第二子程序文件对应一个第二芯片,每个第二子程序用于升级对应的第二芯片。
例如,多个第二芯片为多个不同的从SOC,多个从SOC分别为从SoC_1、从SoC_2和从SoC_3,第二程序文件包括第二子程序文件1、第二子程序文件2和第二子程序文件3,其中,第二子程序文件1用于升级对应的从SoC_1,第二子程序文件2用于升级对应的从SoC_2,第二子程序文件3用于升级对应的从SoC_3。
第四种情况,第二芯片为多个,且多个第二芯片中存在部分相同的芯片和部分不同的芯片。
摄像设备包括部分相同的第二芯片和部分不同的第二芯片,此时第二程序文件包括多个第二子程序文件,将多个第二芯片中相同的芯片划分为一组,每组第二芯片中包括一个第二芯片或者多个相同的第二芯片,一个第二子程序文件对应一组第二芯片,每个第二子程序用于升级对应的一组第二芯片中的每个第二芯片。
例如,多个第二芯片为多个从SOC,多个从SOC包括从SoC_1、从SoC_2和从SoC_3,其中从SoC_1和从SoC_2相同,将从SoC_1和从SoC_2划分为一组芯片,将从SoC_3单独划分为另一组芯片,第二程序文件可以包括第二子程序文件1和第二子程序文件2,第二子程序文件1可以用于升级对应的一组芯片中的从SoC_1和从SoC_2,第二子程序文件2用于升级对应的另一组芯片中的从SoC_3。
作为一种实施例,第一程序文件也包括关键文件和非关键文件,其中,关键文件和非关键文件的含义请参照前文论述的内容,此处不再赘述。
请参照图3,为本申请实施例提供的升级包的结构示意图。该升级包300包括第一程序文件301和第二程序文件302,第二程序文件302包括一个第二子程序文件303和另一个第二子程序文件304。其中,A.img表示第一程序文件301中的关键文件,B.img和C.img表示第一程序文件301中的非关键文件,A′.img表示一个第二子程序文件303中的关键文件,B′.img和C′.img表示第二子程序文件303中的非关键文件,A″.img表示另一个第二子程序文件304中的关键文件,B″.img和C″.img表示另一个第二子程序文件304中的非关键文件。
S220,将第一程序文件和第二程序文件写入第一存储介质。
摄像设备获取第一程序文件和第二程序文件之后,可以将第一程序文件和第二程序文件写入第一存储介质。由于第一存储介质需要写入所有芯片升级所需的所有程序文件,所有程序文件的数据量较大,因此第一芯片需要连接大容量的第一存储介质。本申请实施例中,第一存储介质的容量大于第二阈值,能够存储摄像设备的所有芯片升级所需的所有程序文件,例如用户可以根据摄像设备的芯片数量,以及每个芯片升级所需的程序文件大小确定第一存储介质的容量。
由于摄像设备包括一个第一芯片和至少一个第二芯片,针对第二芯片的多种情况,第一存储介质的容量不同,下面分别进行示例介绍。
针对第一种情况,第二芯片为一个。
例如,摄像设备包括一个主SOC和一个从SOC,每个芯片升级所需的程序文件大小均接近2G,则第一存储介质采用容量为4G的eMMC。现有技术中2个SOC需要分别连接2G的eMMC,由于一个4G的eMMC的价格小于2个2G的eMMC的价格,本申请实施例可相对减少摄像设备升级过程中的硬件成本。
针对第二种情况,第二芯片为多个,且多个第二芯片均为相同的芯片。
例如,摄像设备包括一个主SOC和3个相同的从SOC,3个从SOC分别为从SoC_1、从SoC_2和从SoC_3,每个芯片升级所需的程序文件大小均接近2G,第一存储介质采用容量为4G的eMMC。现有技术中4个SOC需要分别连接2G的eMMC,由于一个4G的eMMC的价格小于4个2G的eMMC的价格,本申请实施例可最大程度上减少摄像设备升级过程中的硬件成本。
针对第三种情况,第二芯片为多个,且多个第二芯片均为不同的芯片。
例如,摄像设备包括一个主SOC和3个不同的从SOC,3个从SOC分别为从SoC_1、从SoC_2和从SoC_3,每个芯片升级所需的程序文件大小均接近2G,第一存储介质采用容量为8G的eMMC。现有技术中4个SOC需要分别连接2G的eMMC,由于一个8G的eMMC的价格远小于4个2G的eMMC的价格,本申请实施例可相对减少摄像设备升级过程中的硬件成本。
针对第四种情况,第二芯片为多个,且多个第二芯片中存在部分相同的芯片和部分不同的芯片。
例如,摄像设备包括一个主SOC和3个从SOC,3个从SOC分别为从SoC_1、从SoC_2和从SoC_3,从SoC_1和从SoC_2相同,从SoC_1和从SoC_2均与从SoC_3不同,第一存储介质采用容量为6G的eMMC。现有技术中4个SOC需要分别连接2G的eMMC,由于一个6G的eMMC的价格远小于4个2G的eMMC的价格,本申请实施例可相对减少摄像设备升级过程中的硬件成本。
作为一种实施例,摄像设备在获取第一程序文件和第二程序文件之后,将第一程序文件写入第一分区,将第二程序文件写入第二分区,从而实现第一程序文件和第二程序文件的分区存放。
作为一种实施例,摄像设备可以将第二程序文件中的关键文件写入第二分区中的关键分区,以及将第二程序文件中的非关键文件写入第二分区中的非关键分区,从而实现关键文件和非关键文件的分区存放。
由于第二芯片的情况有多种,因此,将关键文件和非关键文件分别写入关键分区和非关键分区的方式有多种,下面分别进行介绍。
针对前文所述的第一种情况或第二种情况,第二芯片为一个,或者第二芯片为多个,且多个第二芯片均为多个相同的芯片。
此时,第二程序文件仅包括一个第二子程序文件,第二分区仅包括一个第二子分区。摄像设备将该第二子程序文件的关键文件写入该第二子分区的关键分区,将该第二子程序文件的非关键文件写入该第二子分区的非关键分区。
针对前文所述的第三种情况或第四种情况,第二芯片为多个,多个第二芯片均为不同的芯片,或者多个第二芯片中存在部分相同的芯片和部分不同的芯片。
换言之,摄像设备包括多个第二芯片,且多个第二芯片中存在部分不同或全部不同的芯片,此时第二程序文件包括多个第二子程序文件,将多个第二芯片中相同的芯片划分为一组,当多个第二芯片均为不同的芯片时,每组第二芯片中只有一个第二芯片,当多个第二芯片中存在部分相同的芯片和部分不同的芯片时,每组第二芯片中包括一个第二芯片或者多个相同的第二芯片,每个第二子程序文件对应一组第二芯片。
第二分区包括多个第二子分区,每个第二子分区包括一个关键分区和一个非关键分区。每个第二子分区对应一组第二芯片,用于存储对应的一组第二芯片升级所需的升级文件,同时每个第二子程序文件对应一组第二芯片,因此,每个第二子程序文件对应一个第二子分区,摄像设备将每个第二子程序文件的关键文件写入对应的第二子分区的关键分区,将每个第二子程序文件的非关键文件写入对应的第二子分区的非关键分区。
由于第一程序文件也包括关键文件和非关键文件,作为一种实施例,第一分区可以分为关键分区和非关键分区,摄像设备可以将第一程序文件中的关键文件写入第一分区中的关键分区,将第一程序文件中的非关键文件写入第一分区中的非关键分区。
S230,将第二程序文件中的关键文件写入第二存储介质。
摄像设备将第一程序文件和第二程序文件写入第一存储介质之后,将第二程序文件中的关键文件写入第二存储介质。例如厂家生产摄像设备时,在第一芯片连接的第一存储介质以及第二芯片连接的第二存储介质中烧录一个初始程序,摄像设备能够通过初始程序将第一存储介质中的关键文件写入第二存储介质。
由于第二存储介质只需要写入第二程序文件中的关键文件,关键文件的数据量较小,因此第二芯片需要连接小容量的第二存储介质。本申请实施例中,第二存储介质的容量小于第一阈值,例如第二存储介质采用容量为8M的Flash。相较于现有技术中第二芯片需要连接大容量的存储介质,可减少第二芯片连接的第二存储介质的硬件成本。
由于第二芯片的情况有多种,当第二芯片为多个时,每个第二芯片均连接一个第二存储介质。因此,针对第二芯片的不同情况,将第二程序文件中的关键文件写入第二存储介质的方式有多种,下面进行介绍。
针对第一种情况,第二芯片为一个芯片。此时第二程序文件仅包括一个第二子程序文件,摄像设备将该第二子程序文件写入该第二芯片连接的第二存储介质。
针对第二种情况,第二芯片为多个,且多个第二芯片均为相同的芯片。此时第二程序文件仅包括一个第二子程序文件,摄像设备将该第二子程序文件分别写入多个第二芯片连接的多个第二存储介质。
针对第三种情况,第二芯片为多个,且多个第二芯片均为不同的芯片。此时第二程序文件包括多个第二子程序文件,每个第二子程序文件对应一个第二芯片,摄像设备将每个第二子程序文件分别写入对应的第二芯片连接的第二存储介质。
针对第四种情况,第二芯片为多个,且多个第二芯片中存在部分不同或全部不同的芯片。此时,一个第二子程序文件对应一组第二芯片,摄像设备将每个第二程序文件中的关键文件分别写入对应的一组第二芯片中每个第二芯片连接的第二存储介质。
考虑到第二芯片既有读取文件又有写入文件的需求时,对第一芯片的输入/输出(Input/Output,I/O)性能消耗过大,作为一种实施例,当第二芯片有配置存储等写入需求时,可以在第二存储介质中预留第三阈值的可读写分区,第三阈值小于第一阈值,用于满足第二芯片的配置存储需求,从而减少第一芯片的I/O性能压力。
请参照图4,为本申请实施例提供的一种具有多个第二芯片的摄像设备的结构示意图。该摄像设备包括交换机(switch)401、多个SOC402、多个存储介质403,其中,从SOC_1、……、从SOC_n为多个第二芯片,8G的eMMC_1表示与主SOC连接的第一存储介质,4M的Flash_1表示与从SOC_1连接的第二存储介质,4M的Flash_n表示与从SOC_n连接的第二存储介质。
S240,重启摄像设备,将第二程序文件中的非关键文件通过远程文件共享到第二芯片。
摄像设备将第二程序文件中的关键文件写入第二存储介质之后,可以默认第二芯片升级完成,直接重启摄像设备。重启摄像设备,相当于重启第一芯片和第二芯片。例如摄像设备可以响应于用户对启动控件进行的第二操作,重新启动,启动控件可以是摄像设备上的物理按键,也可以是摄像设备的显示界面上的悬浮按键,第二操作例如点击操作、长按操作等。
作为一种实施例,考虑到断电事件或其他事件的发生,关键文件可能未全部写入第二存储介质,导致第二芯片升级失败。本申请实施例中,摄像设备可以根据版本号是否一致,确认第二芯片是否升级完成,确定第二芯片升级完成之后,重启摄像设备。
具体的,升级包还可以包括版本号,版本号用于唯一标识升级包,即唯一标识每个升级包中的第一程序文件和第二程序文件的版本号,其他网络设备将版本号携带在升级包中发送给摄像设备,例如以版本号命名升级包,摄像设备在解析升级包的同时,可以获得版本号,从而获得第二程序文件的版本号。升级包可以不包括版本号,其他网络设备将版本号和升级包同时发送给摄像设备,摄像设备在接收升级包的同时,接收版本号,从而获得第二程序文件的版本号。
摄像设备将第二程序文件中的关键文件写入第二存储介质之后,可以获取第二芯片的当前版本号。第二芯片的当前版本号可以是第一芯片可以主动获取的,例如第一芯片向第二芯片发送版本号获取命令,第二芯片接收到该版本号获取命令后,将当前版本号发送给第一芯片。或者,第一芯片可以控制启动第二芯片,第二芯片的当前版本号可以是第二芯片在启动时上报的。例如第一芯片可以控制第二芯片的上下电引脚,使第二芯片上电启动,第一芯片也可以向第二芯片发送软重启命令,使第二芯片重新启动。
进一步,摄像设备获取第二程序文件的版本号与第二芯片的当前版本号之后,若第二程序文件的版本号与第二芯片的当前版本号不同,将第二程序文件中的关键文件重新写入第二存储介质,直到确定第二程序文件的版本号与第二芯片的当前版本号相同,此时第二芯片升级完成。
应当说明的是,如果发生断电事件导致版本号不匹配,摄像设备需要再次通电后,才能将第二程序文件中的关键文件重新写入第二存储介质。
本申请实施例中,当第二程序文件的版本号与第二芯片的当前版本号不同时,只需要将关键文件重新写入第二存储介质,相较于现有技术中需要将所有升级步骤全部重复一遍,重新将第二程序文件写入第二存储介质,可以提升摄像设备的升级效率。
摄像设备确定第二程序文件的版本号与第二芯片的当前版本号相同之后,可以通过关键文件建立第一芯片与第二芯片的基础通信,进而将非关键文件通过远程文件共享到第二芯片。
具体的,第一芯片开启远程文件服务,例如网络文件系统(Network File System,NFS)、TFTP等,共享第一芯片连接的第一存储介质中的文件,并通知第二芯片。第二芯片接收到通知后,可以通过远程挂载的方式,例如Linux的mount命令,将第一存储介质中非关键文件所在的分区映射到本地目录,后续第二芯片正常访问本地目录,便可获取这些非关键文件。其中,本地目录可以是第二芯片中虚拟的本地目录,例如内存映射出的目录,本地目录也可以是第二存储介质上创建的本地目录,例如“/mnt/home”、“/mnt/usr”等。
本申请实施例中,第二程序文件的非关键文件不写入第二芯片连接的第二存储介质,通过远程文件共享到第二芯片,可极大减少摄像设备的整体升级时间,同时第二芯片连接的第二存储介质所需容量较小,降低第二存储介质的硬件成本。
作为一个示例,图2中实施例中摄像设备例如为图1中的摄像设备100、第一芯片例如为图1中的第一芯片110、第二芯片例如为图1中的第二芯片120、第一存储介质例如为图1中的第一存储介质130、第二存储介质例如为图1中的第二存储介质140。
基于同一发明构思,本申请实施例提供一种摄像设备升级装置,该装置设置于前文论述的摄像设备中,该摄像设备包括第一芯片、第二芯片、与第一芯片连接的第一存储介质,以及与第二芯片连接的第二存储介质,第二存储介质的容量小于第一阈值,请参照图5,该装置包括:
获取模块501,用于获取并解析升级包,获得第一程序文件和第二程序文件,其中,第一程序文件用于对第一芯片进行升级,第二程序文件用于对第二芯片进行升级;
写入模块502,用于将第一程序文件和第二程序文件写入第一存储介质;
写入模块502,还用于将第二程序文件中的关键文件写入第二存储介质;其中,关键文件包括引导加载程序的文件,关键文件所需的存储容量小于第一阈值;
共享模块503,用于重启摄像设备,将第二程序文件中的非关键文件通过远程文件共享到第二芯片,其中,非关键文件为第二程序文件中除关键文件之外的文件,非关键文件所需的存储容量大于第一阈值。
在一种可能的实施例中,获取模块501,还用于在重启摄像设备之后,获取第二芯片的当前版本号;
写入模块502,还用于若第二程序文件的版本号与第二芯片的当前版本号不同,将第二程序文件中的关键文件重新写入第二存储介质,直到确定第二程序文件的版本号与第二芯片的当前版本号相同。
在一种可能的实施例中,第一存储介质包括第一分区和第二分区;写入模块502,具体用于:
将第一程序文件写入第一分区;
将第二程序文件写入第二分区。
在一种可能的实施例中,写入模块502具体用于:
将第二程序文件中的关键文件写入第二分区中的关键分区;
将第二程序文件中的非关键文件写入第二分区中的非关键分区。
在一种可能的实施例中,摄像设备包括多个第二芯片,且多个第二芯片存在部分不同或全部不同的芯片,第二程序文件包括多个第二子程序文件,第二分区包括多个第二子分区,每个第二子程序文件对应一个第二子分区,每个第二子分区包括一个关键分区和一个非关键分区;
写入模块502,具体用于:将每个第二子程序文件的关键文件写入对应的第二子分区的关键分区,以及将每个第二子程序文件的非关键文件写入对应的第二子分区的非关键分区。
作为一种实施例,图5论述的摄像设备升级装置可以实现前文论述任一的摄像设备升级方法,此处不再赘述。
基于同一发明构思,本申请实施例提供一种摄像设备,该摄像设备可以实现前文论述的摄像设备的功能,请参照图6,该设备包括:
至少一个处理器601,以及
与所述至少一个处理器601通信连接的存储器602;
其中,所述存储器602存储有可被所述至少一个处理器601执行的指令,所述至少一个处理器601通过执行所述存储器602存储的指令实现如前文论述任一的摄像设备升级方法。
处理器601可以是一个中央处理单元(central processing unit,CPU),或者为数字处理单元、或为图像处理器等中的一种或多种组合。存储器602可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器602也可以是非易失性存储器(non-volatile memory),例如只读存储器,快闪存储器(flashmemory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器602是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器602可以是上述存储器的组合。
作为一种实施例,图6中的处理器601可以实现前文论述任一的摄像设备升级方法,处理器601还可以实现前文图5论述的摄像设备升级装置的功能。
基于同一发明构思,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如前文论述任一的摄像设备升级方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种摄像设备升级方法,其特征在于,所述方法应用于摄像设备中,所述摄像设备包括第一芯片、第二芯片、与所述第一芯片连接的第一存储介质,以及与所述第二芯片连接的第二存储介质,所述第二存储介质的容量小于第一阈值,所述方法包括:
获取并解析升级包,获得第一程序文件和第二程序文件,其中,所述第一程序文件用于对所述第一芯片进行升级,所述第二程序文件用于对所述第二芯片进行升级;
将所述第一程序文件和所述第二程序文件写入所述第一存储介质;
将所述第二程序文件中的关键文件写入所述第二存储介质;其中,所述关键文件包括引导加载程序的文件,所述关键文件所需的存储容量小于所述第一阈值;
重启所述摄像设备,将所述第二程序文件中的非关键文件通过远程文件共享到所述第二芯片,其中,所述非关键文件为所述第二程序文件中除所述关键文件之外的文件,所述非关键文件所需的存储容量大于所述第一阈值。
2.如权利要求1所述的方法,其特征在于,在重启所述摄像设备之后,所述方法还包括:
获取所述第二芯片的当前版本号;
若所述第二程序文件的版本号与所述第二芯片的当前版本号不同,将所述第二程序文件中的关键文件重新写入所述第二存储介质,直到确定所述第二程序文件的版本号与所述第二芯片的当前版本号相同。
3.如权利要求1或2所述的方法,其特征在于,所述第一存储介质包括第一分区和第二分区;
将所述第一程序文件和所述第二程序文件写入所述第一存储介质,包括:
将所述第一程序文件写入所述第一分区;
将所述第二程序文件写入所述第二分区。
4.如权利要求3所述的方法,其特征在于,将所述第二程序文件写入所述第二分区,包括:
将所述第二程序文件中的关键文件写入所述第二分区中的关键分区;
将所述第二程序文件中的非关键文件写入所述第二分区中的非关键分区。
5.如权利要求4所述的方法,其特征在于,所述摄像设备包括多个第二芯片,且所述多个第二芯片存在部分不同或全部不同的芯片,所述第二程序文件包括多个第二子程序文件,所述第二分区包括多个第二子分区,每个第二子程序文件对应一个第二子分区,每个第二子分区包括一个关键分区和一个非关键分区;
将所述第二程序文件中的关键文件写入所述第二分区中的关键分区,包括:
将每个第二子程序文件的关键文件写入对应的第二子分区的关键分区;
将所述第二程序文件中的非关键文件写入所述第二分区中的非关键分区,包括:
将每个第二子程序文件的非关键文件写入对应的第二子分区的非关键分区。
6.一种摄像设备升级装置,其特征在于,所述装置设置于摄像设备中,所述摄像设备包括第一芯片、第二芯片、与所述第一芯片连接的第一存储介质,以及与所述第二芯片连接的第二存储介质,所述第二存储介质的容量小于第一阈值,所述装置包括:
获取模块,用于获取并解析升级包,获得第一程序文件和第二程序文件,其中,所述第一程序文件用于对所述第一芯片进行升级,所述第二程序文件用于对所述第二芯片进行升级;
写入模块,用于将所述第一程序文件和所述第二程序文件写入所述第一存储介质;
所述写入模块,还用于将所述第二程序文件中的关键文件写入所述第二存储介质;其中,所述关键文件包括引导加载程序的文件,所述关键文件所需的存储容量小于所述第一阈值;
共享模块,用于重启所述摄像设备,将所述第二程序文件中的非关键文件通过远程文件共享到所述第二芯片,其中,所述非关键文件为所述第二程序文件中除所述关键文件之外的文件,所述非关键文件所需的存储容量大于所述第一阈值。
7.如权利要求6所述的装置,其特征在于,所述获取模块,还用于在重启所述摄像设备之后,获取所述第二芯片的当前版本号;
所述写入模块,还用于若所述第二程序文件的版本号与所述第二芯片的当前版本号不同,将所述第二程序文件中的关键文件重新写入所述第二存储介质,直到确定所述第二程序文件的版本号与所述第二芯片的当前版本号相同。
8.如权利要求6或7所述的装置,其特征在于,所述第一存储介质包括第一分区和第二分区;所述写入模块,具体用于:
将所述第一程序文件写入所述第一分区;
将所述第二程序文件写入所述第二分区。
9.一种摄像设备,其特征在于,包括:
至少一个处理器,以及
与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现如权利要求1-5中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如权利要求1-5中任一项所述的方法。
CN202111255057.2A 2021-10-27 2021-10-27 一种摄像设备升级方法、装置、设备及介质 Pending CN114020308A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111255057.2A CN114020308A (zh) 2021-10-27 2021-10-27 一种摄像设备升级方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111255057.2A CN114020308A (zh) 2021-10-27 2021-10-27 一种摄像设备升级方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN114020308A true CN114020308A (zh) 2022-02-08

Family

ID=80058148

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111255057.2A Pending CN114020308A (zh) 2021-10-27 2021-10-27 一种摄像设备升级方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN114020308A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115344292A (zh) * 2022-10-13 2022-11-15 深圳古瑞瓦特新能源有限公司 固件自动升级方法、装置、电子设备及可读存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115344292A (zh) * 2022-10-13 2022-11-15 深圳古瑞瓦特新能源有限公司 固件自动升级方法、装置、电子设备及可读存储介质

Similar Documents

Publication Publication Date Title
CN102799464B (zh) 虚拟机创建方法及系统、虚拟机重装方法及系统
US7669021B2 (en) File system based offline disk management
US8751785B2 (en) Memory tagging and preservation during a hot upgrade
US9448808B2 (en) BIOS update with service processor without serial peripheral interface (SPI) access
WO2017059721A1 (zh) 一种信息存储方法和装置、及服务器
US20150143095A1 (en) Bios failover update with service processor
CN102939593B (zh) 无限存储器
WO2017185954A1 (zh) 一种实现usb设备管理的方法、主机和系统
CN108509215B (zh) 一种系统软件的更换方法、装置、终端设备及存储介质
US20180095693A1 (en) Information processing apparatus, information processing system, and method for controlling information processing apparatus
WO2011088701A1 (zh) 一种跨平台版本在线升级的方法及装置
CN109582332B (zh) 互联网摄像机的系统升级方法及装置
CN112214388A (zh) 内存监控方法、装置、设备及计算机可读存储介质
CN114661322B (zh) 操作系统的升级方法、电子设备及存储介质
CN114020340B (zh) 一种服务器系统及其数据处理方法
CN114020308A (zh) 一种摄像设备升级方法、装置、设备及介质
CN113190256B (zh) 一种升级方法、装置及设备
US20190265964A1 (en) Electronic apparatus, updating method, and recording medium
US20160055007A1 (en) Information processing apparatus and setting method for information processing apparatus
US10372557B2 (en) Versioning and recovery of workloads
CN116383012B (zh) 获取开机日志的方法及装置、传输开机日志的方法
WO2017173924A1 (zh) 切换文件系统的方法及装置
KR100648817B1 (ko) 자동 펌웨어 업데이트 시스템 및 그 방법
US10705827B2 (en) Method for updating system information of a computer device
WO2018028321A1 (zh) 一种虚拟外置存储设备的管理方法、装置及终端

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination