用于对多个装置进行升级的方法及系统的制作方法

文档序号:6453859阅读:127来源:国知局
专利名称:用于对多个装置进行升级的方法及系统的制作方法
技术领域
本发明总的来说涉及用于对多个电子装置中的固件进行升级的方法、电 子装置、用户接口设备、包括电子装置和用户接口设备的系统以及计算机程 序产品。
背景技术
现今的很多电子产品是可以定制的,即可以根据特定用户的需求来对电 子产品进行配置。然而,定制电子产品可能很困难,尤其是对于对所涉及的 技术不熟悉的用户来说更是如此。
然而,如果通过网络将多个电子产品相互连接,就会产生新的问题。例 如,如果要对一些电子产品的软件进行更新,那么针对这种更新的正确过程 就必须是可获得的。这种过程可能包括手动更新电子产品的步骤。
如果要对大量电子产品进行更新,那么就需要大量的时间来手动更新这 些电子产品,这当然是一个瑕疯。另一瑕疵在于有出错的风险,或者换句话 说是由用户产生的错误的风险。
而且,在很多情况下,定制是由非该产品制造商的公司请求或期望的。 这种公司可能是例如为存在问题的电子产品提供服务的公司、使用这种电子 产品的公司等。下文将这些公司称为定制公司。
如今很多对电子产品的定制可以通过改变该电子产品的固件来实现。然 而,为了获得这种定制的固件,定制公司要么必须使制造商对被定制固件进 行准备并编程,要么使制造商提供用于对定制固件进行准备并编程的信息和 工具。对定制固件进行准备并编程一般需要大量的工作并且需要对待被定制 的电子产品的软件和硬件系统两者都有很好的了解。
所以,需要一种使大量电子产品的更新变得容易的方案。进一步需要降 低出现与更新相关联的错误的风险。

发明内容
因此,本发明的目的在于解决或至少减少以上所讨论的问题。具体来说, 一个目的在于提供一种有效、安全用户友好的方式来对连接到数据网络的若 干个电子装置进行定制。
固件这一措词被开放地解释为软件指令和参数值。
根据本发明的第一方面,通过一种用于更新连接到数据网络的多个电子 装置中的若干个电子装置中的固件的方法来提供以上目的,所述方法包括
根据定制公司生成的定制数据将多个电子装置中的第 一 电子装置中的 固件配置为定制公司生成的固件,通过使用所述第一电子装置中的固件更新 文件发生器,基于在所述第一电子装置中所配置的固件来生成定制^^司生成 的固件更新文件,通过数据网络从所述第 一电子装置向所述多个电子装置中 的若干个电子装置发送定制公司生成的固件更新文件,以及通过在所迷多个 电子装置中的若干个电子装置中的各电子装置中执行定制公司生成的固件 更新文件来更新所述多个电子装置中的若干个电子装置中的固件。
本发明的一个优点在于便于电子装置的定制。
另一优点在于便于为已有的电子装置定制固件的准备和编程,并且可以 容易地由对产品没有特別详细了解的人员或组织进行对定制固件的准备和编程。
另外,定制公司不必对电子产品的软件和硬件具有详细的了解。这也意 味着定制公司自己可以容易地进行定制。
可选地,其中所述配置多个电子装置中的第一电子装置中的固件的步骤
由以下步骤来实现通过所述数据网络从用户接口设备向所述第 一电子装置 发送定制公司生成的定制数据。
可选地,该方法可进一步包括从用户接口设备向所述第一电子装置发送
固件更新文件发生器。
这样做的优点在于除非固件更新文件发生器被发送到该电子装置,否则 不可能生成定制公司生成的固件更新文件。这意味着增加了系统的安全性。
可选地,所述从所述第一电子装置向所述多个电子装置中的若干个电子 装置发送定制公司生成的固件更新文件的步骤包括以下子步骤从所述第一 电子装置向用户接口设备发送定制公司生成的固件更新文件,以及从所述用 户接口设备向所述多个电子装置中的若干个电子装置发送定制公司生成的 固件更新文件。
这样做的优点在于定制公司生成的固件更新文件在被发送给若干个电 子装置之前首先被发送给用户接口设备。这样,用户接口设备的操作者可以 确认向若干个电子装置的发送,这意味着增加了系统的安全性。
可选地,该方法进一步包括一旦所述配置多个电子装置中的第一电子装 置中的固件的步骤完成,即从所述第 一 电子装置向所述用户接口设备发送反 馈信号。
而且,在生成定制公司生成的固件更新文件期间,也可从第一电子装置 向用户接口设备发送反馈。
可选地,所述多个电子装置中的若干个电子装置的各电子装置均包括具 有不可更改的分区和可更改的分区的存储器,所述方法可以进一步包括以下
步骤针对所述多个电子装置中的若干个电子装置中的各电子装置来标记所
述可更改的分区中包含装置特定信息的数据段,并且其中所述通过在所述多
个电子装置中的若干个电子装置中的各电子装置中执行定制公司生成的固
件更新文件来更新所述多个电子装置的若干个电子装置的步骤进一步包括
利用来自所述不可更改的分区的装置特定信息来替换所述可更改的分区中
的被标记数据段。
可选地,该方法可以进一步包括根据用户生成的定制数据来在所述多个 电子装置中的若干个电子装置中的一个电子装置中配置定制公司生成的固 件,其中所述配置定制公司生成的固件的步骤进一步包括将定制公司生成
的固件作为定制公司生成的默认固件存储在所述多个电子装置中的若干个 电子装置中的该电子装置的存储器中,以及根据用户定制数据,由用户生成 的固件来替换所述多个电子装置中的若干个电子装置中的该电子装置中的 定制公司生成的固件。
可选地,该方法可以进一步包括向所述多个电子装置中的若干个电子装 置中的该电子装置发送定制公司生成的默认固件请求,以及由所存储的定制 公司生成的默认固件来替换所述多个电子装置中的若干个电子装置中的该 电子装置中的用户生成的固件。
这样做的优点在于可以将电子装置重置到定制公司生成的固件,即定制 公司默认设置。
可选地,该方法可以进一 步包括通过所述数据网络从所述用户4姿口设备 向所述多个电子装置中的若干个电子装置发送生产公司生成的默认固件请 求,通过所述数据网络将生产公司生成的默认固件更新文件从外部服务器下 载到所述多个电子装置中的若干个电子装置,以及在所述多个电子装置中的 若干个电子装置中,通过使用生产公司默认固件更新文件来替换更新后的固 件。
根据本发明的第二方面,通过一种电子装置来提供上述目的,该电子装
置包括网络接口,适于使能通过数据网络接收和发送数据;存储器,适于存
储数据;与所述存储器相关联的处理器;被配置为提供固件配置器,适于通
过使用定制公司生成的定制数据来将所述存储器中的固件配置为定制公司
生成的固件;固件更新文件发生器接收器,适于通过所述数据网络接收固件 更新文件发生器,所述固件更新文件发生器适于基于所述电子装置中所配置 的固件来生成定制公司生成的固件更新文件,以及定制公司生成的固件更新 文件的发送器,适于使能通过所述数据网络发送定制公司生成的固件更新文 件,其中所述定制公司生成的固件更新文件适于在多个电子装置中的若干个
电子装置中执行时更新所述多个电子装置中的若干个电子装置中的固件。 第一方面的优点也适用于第二方面。
可选地,所述固件更新文件发生器接收器被可以配置为使能通过所述数 据网络从用户接口设备接收固件更新文件发生器。
可选地,所述定制公司生成的固件更新文件的发送器可以被配置为使能 通过所述数据网络向所述多个电子装置中的若干个电子装置发送固件更新 文件。
可选地,所述定制公司生成的固件更新文件的发送器可以被配置为使能 通过所述数据网络向用户接口设备发送固件更新文件。
可选地,该电子装置进一步包括反馈信号发送器,所述反馈信号发送器 适于从所述电子装置向所述用户接口设备发送反馈信号,其中所述反々贵信号 包括描述更新后的固件的信息。
可选地,所述存储器可以被划分为不可更改的分区,包括加载器^l件和
装置特定信息;以及可更改的分区,包括包含装置特定信息的被标记^t据段, 信息替换。
可选地,所述可更改的分区可以;故划分为只读分区,包括定制/^司生成 的默认固件;以及可读且可写分区,包括所述电子装置中使用的数据和应用 程序,其中一旦接收到定制生成的默认固件请求,所述可读且可写分区即被 定制公司生成的默认固件替换。
可选地,所述固件配置器被进一步配置为在用更新后的固件替换定制公 司生成的固件之前,将定制公司生成的固件作为定制公司生成的默认固件来 存储。
可选地,该电子装置可以进一步包括生产公司生成的默认固件的接收 器,适于从外部服务器接收生产公司生成的默认固件,以及生产公司生成的 默认固件的控制装置,适于一旦接收到生产公司生成的默认固件请求,即用 所接收的生产公司生成的默认固件替换更新后的固件。
可选地,该电子装置可以是网络摄像机。
根据发明的第三方面,通过一种用户接口设备来提供以上目的,所述用
户接口设备包括网络接口 ,适于使能通过相关联的数据网络接收和发送数
据;用户输入装置;存储器,适于存储数据;处理器,与所述存储器相关联, 被配置为提供定制数据发生器,适于基于通过所述用户输入装置接收的数据 来生成定制公司生成的定制数据,以及定制公司生成的定制数据的发送控制 装置,被配置为通过所述数据网络向第一电子装置发送所生成的定制数据。 第一方面的优点也适用于第三方面。
可选地,与所述存储器关联的处理器可以被进一步配置为提供固件更新 文件接收器,被配置为从所述第一电子装置接收定制公司生成的固件更新文 件,以及固件更新文件分发器,被配置为通过所述数据网络向多个电子装置 中的若干个电子装置发送所接收的定制公司生成的固件更新文件。
可选地,所述用户输入设备可以被进一步配置为通过所述数据网络从所 述用户接口设备向外部服务器发送生产公司生成的默认固件请求,其中所述 固件更新文件接收器被进一步配置为从所述外部服务器接收生产公司生成 的默认固件更新文件,并且其中所述固件更新文件分发器被进一步配置为通 过所述数据网络向多个电子装置中的若干个电子装置发送所接收的生产公 司生成的默认固件更新文件。
可选地,所述用户接口设备可以进一步包括反馈信号接收器,适于通过 所述数据网络从所述第一电子装置接收反馈信号,以及用户输出装置,适于 显示反馈信号。
根据本发明的第四方面,通过一种系统来提供以上目的,该系统包括 数据网络,与所述数据网络相关联的上述用户接口设备,至少一个与所 述数据网络相关联的上述电子装置,多个电子装置,其中所述多个电子装置 中的各电子装置被配置为通过所述数据网络接收固件更新文件,并且通过执 行所接收的固件更新文件来更新固件。
发明的第一方面的优点也适用于发明的第四方面。
可选地,这些电子装置中的各电子装置可以根据上述内容来配置。
可选地,更新后的固件文件可以从所述多个电子装置中的至少一个电子
装置发送到所述多个电子装置中类似的电子装置。
可选地,该系统可以进一步包括外部服务器,该外部服务器适于保存生 产公司默认固件更新文件,并且被配置为一旦所述用户接口设备有请求,即 向所述用户接口设备发送所述生产公司生成的默认固件更新文件。
根据本发明的第五方面,通过一种计算机程序来提供以上目的,所述计 算机程序包括被布置为施行上述方法的软件指令。
本发明的其它目的、特征和优点将从以下详细的公开内容、所附的从属 权利要求以及附图中出现。
通常,除非这里另有明确的限定,在权利要求中使用的所有术语根据它 们在技术领域中的普通含义来解释。
所有对"一个/该[元件、装置、组件、工具、步骤等]"的引用应^皮开放 性地解释为所述元件、装置、组件、工具、步骤等的至少一个示例,除非另 有明确声明。这里所公开的任何方法的步骤不一定以所公开的顺序来施行, 除非有明确声明。


本发明的以上以及另外的目的、特征和优点将通过以下参见附图对本发 明优选实施例的说明性而非限制性详细描述而更好理解,在附图中,相同的
附图标记用于类似的元件,其中
图l是包括若干个电子装置、用户接口设备、外部服务器和将用户接口 设备连接到电子装置的数据网络的系统的示意图,
图2是用于对多个电子装置中的固件进行更新的一般方法,
图3是电子装置的示意图,
图4是图3所示的电子装置中所包括的非易失性存储器的示意图,
图5是根据本发明的方法的实施例的流程图,
图6A和6B是^4居本发明的方法的另一实施例的流程图,
图7是电子装置的另一实施例的示意图,以及
图8是用户接口设备的实施例的示意图。
具体实施例方式
图1概略地示出包括用户接口设备102和通过数据网络106互相连接的 多个电子装置104A-104F。进一步,数据网络106可以是基于IP的数据网络。
用户接口设备102可以是客户端计算机,也可以是包括用户接口的其它 设备,所述用户接口为诸如按钮之类的用户输入装置和诸如显示器之类的作 为可选项的用户输出装置。电子装置104可以是包括处理器和存储器的装 置,其中对该装置的控制或部分控制由在该装置自身中被存储并被处理的软 件指令来启动。这种软件指令可以称作固件。
可选地,外部服务器108可以与数据网络106相关联。该外部服务器可 以包括可通过用户接口设备102或电子装置104A-104F下载的数据。
图2中示出用于对电子装置的固件进行更新的方法的一般实施例。
首先,步骤200,定制所述多个电子装置104A-104F中的第一电子装置 104A。这种定制可以包括客户特定功能、客户特定参数、客户特定参考数 据等。这种类型的客户特定数据在下文中可以被称为定制数据。
第二,步骤202,当第一电子装置已经被定制时,将固件更新文件发生 器下载到所述单个电子装置104A中并执行,从而生成固件更新文件。
第三,步骤204,向系统100的其它电子装置104B-104F中的所有或若 干个电子装置发送所生成的固件更新文件。
可选地,固件更新文件被发送到的装置可以是与第一电子装置类似并且 连接到数据网络的装置。
第四,步骤206,根据接收到的所生成的定制固件更新文件来定制其它 电子装置104A-104F中的各电子装置。
换句话说,电子装置104A-104F中只有一个电子装置首先被定制,在该 例子中是单个电子装置104A。这意味着用户可以在该单个电子装置104A上
尝试若干种组合,并且当得到合适的定制时,将该合适的定制转发给其它电
子装置104B-104F。
可选地,固件发生器可以包含在单个电子装置104A中作为默认,即固 件发生器不是必须下载的。
在图3中,示意性地示出电子装置104的实施例。在该实施例中,电子 装置104包括处理器300、诸如闪速存储器之类的非易失性存储器302、诸 如RAM之类的易失性存储器304及被配置为将电子装置104连接到^L据网 络106的网络接口 306。
定制数据,即软件指令、参数、参考数据等,可以存储在非易失性存储 器302中。所以,当根据先前描述的步骤200来定制电子装置时,存储在非 易失性存储器中的定制数据会被改变。
当根据步骤202将固件发生器下载到单个电子装置104A并在该单个电 子装置104A中执行时,可以将该固件发生器下载到易失性存储器304中, 并在该易失性存储器304中执行。
在图4中,示出非易失性存储器302的一个实施例。在该实施例中,非 易失性存储器被划分为至少三个分区,称为第一分区400、第二分区402和 第三分区404。
通常,第一分区400可以是不可更改的分区,这意味着在定制电子装置 104时,无论是固件更新文件还是用户都不能改变存储在第一分区400中的数据。
在一个实施例中,这种第一不可更改的分区400可以包括基本闪速加载 器软件406及装置特有的数据和参数408。在装置出厂之后该分区不会被重 写。基本闪速加载器406可以是在其它分区被指示有错误时能够,例如通过 使用http或其它协议的网络来将数据加载到闪速存储器的驻留闪速加载器 RFL。这种错误可能,在例如系统启动期间当第二和/或第三分区的校验和不 匹配时被指示。装置特有的数据和参数可以是例如装置ID、序列号、解密 和/或加密密钥中的 一 项或者这些的组合。
通常,第二分区402可以包括在定制电子装置104时可以由固件更新文 件更改而不可由用户更改的数据。
在一个实施例中,闪速存储器的第二分区是CRAMFS(压缩的ROM文 件系统),是只读分区。该第二分区可以包括分区表410、被布置为至少复 原(unpack)内核的解压缩器412、压缩的操作系统内核414以及使能重置 为该电子装置的"出厂默认(factory default)"的重置数据416。该操作系 统内核可以是,例如Linux内核、Unix内核等。重置tt据416可以包才舌一组 文件、数据和/或程序,该组文件、数据和/或程序是系统出厂时驻留在第三 分区中的一组文件、数据和/或程序的副本,即"出厂默认"。当该电子装 置被重置为出厂默认时,所述重置数据416被复制到第三分区404中。
通常,第三分区404是可被固件更新文件和定制数据更改的分区。
在一个实施例中,第三分区可以是具有JFFS (日志闪速文件系统), 例如JFFS1或JFFS2的可读且可写分区。然而,第三分区可以具有任意类型 的可读且可写文件系统。该分区中包括在该电子装置中使用的数据、应用程 序或其它程序。
总之,固件更新文件可以包括用于建立第二分区和第三分区的数据以及 这些分区中将要包括的所有数据。
在根据本发明的方法中,参见图5,通过以下过程来实现一种用于电子 装置的新固件。
将固件发生器下载到电子装置中500。当下载完成时,在装置中执行该 固件发生器502。可以将固件发生器下载到RAM中,并从该RAM中执行。
在执行固件发生器期间,处理第三分区的内容,并利用替换指示符来替 换第三分区的数据中的 一 些特定值5 04 。用替换指示符替换的值针对各独立 装置是独特的值,因此必须用固件升级过程期间固件被加载到的装置的值来 替换。这种值的一些例子可以是装置的MAC地址、序列号、主机名、 一些 装置标识符508。
当已经处理了第三分区的内容时,以类似的方式处理第二分区,即将特
定值与替换指示符交换。另外,用第三分区的副本来替换第二分区中包括的 出厂默认数据。
然后,将第二分区和第三分区的处理后的内容合并为单个文件510,并 发送到客户端512,用于作为新的固件来分发514。新的固件被发送至的客 户端可以是用于启动固件的创建的计算机或被布置为接收并管理这类定制 的新固件的预定地址。
通过使用以上方法来生成固件,易于通过仅对单个装置进行准备,即将 定制软件、参数和数据下载到该电子装置的非易失性存储器中,来定制该电 子装置。在与以上所述的实施例类似的实施例中,在定制单个装置期间,将 这类定制软件、参数和数据下载到第三分区中。然后当已经定制了该单个装 置时,将固件发生器下载到该单个装置中,并在该单个装置中执行,以生成 定制的新固件,可以通过将该定制的新固件简单地安装到那些其它类似的装 置中,使用该定制的新固件来更新所述其它类似的装置,来定制所述其它类 似的装置。
在一些电子装置中,非易失性存储器的存储空间有限,因此固件发生器
可能没有驻留在非易失性存储器中。为了执行电子装置中的固件发生器文 件,可以通过计算机网络,例如LAN、 WAN、因特网或任何其它网络,从 一计算机来访问该电子装置,然后,可以将可从所述计算机访问的固件发生 器文件下载到该电子装置中。固件发生器文件具有可以使电子装置将该文件 识别为固件发生器文件的特征。当固件发生器文件已经下载到该电子装置 时,该电子装置将该文件识别为固件发生器文件,并在易失性存储器中执行 该固件发生器文件。在执行固件发生器文件时,固件发生器文件施行上述方 法。
如上所述,固件发生器的执行对第三分区和第二分区进行处理,利用不 同于复制期间出现的数据的其它数据来替换第三分区的 一 些数据和第二分 区的一些数据。
在一些系统中,该处理可以包括将这些分区复制到易失性存储器,然后
在副本中利用替换指示符来替换待被替换的数据。在这类系统中,从分区中 复制和调整的数据可以在该电子装置的易失性存储器中合并为一个新的固 件文件。
然而,在一些系统中,没有足够的易失性存储器来完全在易失性存储器 中施行处理。针对这种情况,固件发生器可以使用并不将分区的数据复制到
易失性存储器中进行进一步调整的方法。 一种这样的方法包括以下步骤
对将要使用替换标识符来替换的第三分区中的数据进行标识。当数据已 被标识时,将该数据暂时复制到易失性存储器中,并且对发现被标识数据的
文件系统中的路径和文件夹,例如路径"a/b/c/x/"中的文件夹"x"进行标 识。然后,固件发生器在该路径中的该文件夹上挂载一文件系统。如果Linux 或Unix操作系统正在运行,则该新的文件系统代替非易失性存储器的"x" 文件夹,并使写入该文件夹"x"的数据存储到另一存储器,例如易失性存 储器中。文件夹"x"中驻留在先前访问的第三分区的地址处的数据仍然在 第三分区中,但无法通过那个路径访问。然后,将先前从该文件夹中复制的 数据复制到具有新文件系统的文件夹中,并由替换标识符来替换待替换的数 据。以该方式管理所有包括用于替换的被标识数据的文件夹。当第三分区的 处理结束时,以类似的方式处理第二分区。在第二分区中对出厂默认数据和 到达包括该数据的文件系统的文件夹路径进行标识,将新的文件系统挂载在 该文件夹上,并将第三分区的数据存储在该新的文件系统中。然后,通过定 义为固件文件的上传路径来上传该固件文件。然后,该处理将上传驻留在非 易失性存储器中的文件夹,非易失性存储器是这些文件夹的初始位置。然而 在上传新文件系统被挂载到的文件夹时,从新挂载的文件夹的地址而非原始 文件夹的地址检索数据。
该方法除了具有占用的临时存储器空间的量很小的优点之外,还产生了 额外的优点。 一种额外优点是,如果在处理中该电子装置由于其它原因停止 工作或发生故障,则该电子装置在重启时会使用该装置的原始文件系统。因 此,由于没有对原始文件系统的地址处的数据进行改变,因此替换不会生效,
且该装置可以像从来没有发生过故障或数据从来没有被改变过一样运行。
固件发生器可以是程序或脚本。在一个实施例中,固件发生器是CGI 脚本。管理员可以通过访问驻留在该电子装置上的HTML页面(超文本标 记语言)来将固件发生器下载到该电子装置上。该HTML页面允许管理员 从管理员可访问的任何网站中选择文件,并启动下载。该HTML页面可以 被布置为仅由能够验证自己是管理员的管理员可访问。
相应地,描述了用于更新多个电子装置或装置的方法,该方法包括更 新单个电子装置,通过由单个电子装置施行的处理来生成更新文件,从单个 电子装置向该单个电子装置外部的储存介质发送该更新文件,向类似于该单 个电子装置的多个电子装置发送该更新文件。
另外,还描述了用于生成更新文件和新的固件文件的方法,该方法包括 在单个电子装置中执行固件发生器,通过从该电子装置的非易失性存储器中 读取数据来生成新的固件文件,使用替换指示符来替换装置特有的数据,利 用构成电子装置当前配置的数据来替换用于将该电子装置重置为出厂默认 而存储的数据,以及将最后得到的数据布置在固件文件中。
根据发明的一个实施例,可以在添加、删除和修改文件及参数默认值的 方面来定制安讯士 (Axis)网络摄像机或视频服务器的固件。该文件描述了 如何创建原始安讯士固件的修改版本。定制固件可用于对相同型号的几个摄 像机或视频服务器进行升级,并且当装置被设置为出厂默认时,这些装置都 会包含与用于创建新固件的摄像机或视频服务器相同的配置、脚本、定制网 页、定制应用等。
以下描述^f艮据本发明的方法的具体实施例。
引言
使用固件版本4.20或以后版本的装置支持运行通过HTTP上传的脚本 和应用程序。该功能被称作点击启动(kickstart),并且由HTML页面和CGI 脚本组成。用户从HTML页面选择要上传的UNIX tar文件。CGI脚本接收 该文件,将该文件从该档案文件提取到该装置中的临时目录,并且如果所提
取的文件中存在点击启动文件,则执行所提取的点击启动文件。当点击启动 文件的执行结束时,所上传的文件和从该文件中提取的所有文件被删除。
使用点击启动HTML页面来上传定制固件点击启动文件启动了固件图 像文件的构建。该固件是根据执行点击启动所位于的网络摄像机或视频服务 器的实况文件系统而生成的。所生成的固件的出厂默认设置与启动新固件的 构建时装置的当前设置相同。上传点击启动文件的网页浏览器在装置建造新 的固件时接收进度信息。当新固件就绪时,将其作为八位字节流发送至网页 浏览器,并提示用户将该固件保存为二进制文件。
生成新固件的装置不会受到操作的影响。然而,返回的固件可以用于使 用正常固件升级程序来对该装置以及相同型号的所有装置进行升级。
理论
所生成的固件几乎是生成该固件的产品上当前正在运行的固件的准确 复制品。然而, 一些东西并不是该产品所包含内容的准确副本,例如MAC 地址。
以下属性会在生成新的固件时自动改变
/usr/share/axis-release/variables (/用户/共享/安讯士发布/变量)(参数 Properties.Firmware.Version (属性.固件.版本))中的变量i 五Z^L45"五T^本J 会被修改,以指示新固件不同于原始固件。
字符串"-custom#,,被附加于i^丄五AS冗的值上,其中#是序列号,基于 每个生成的固件而增加。因此,为了作为对早先生成的固件的升级而生成的 固件通过早先生成的固件而完成是很重要的。否则,两个固件将具有相同的 版本号。
/usr/etc/defaultfiles/jimageid中的变量JIMAGEID和/etc/release中的变量 JFFSID被修改。
安讯士视频产品具有两个文件系统。 一个是包含不可由用户修改的文件 的只读文件系统; 一个是包含可以^皮用户添加、删除或4务改的文件(例如包 含参数值的文件)的可写文件系统。当对产品进行升级时,新固件的只读文
件系统中的JIMAGEID的值与旧固件的可写文件系统中的JFFSID的值进行 比较。只有在该值不同时,可写文件系统才会被升级。当生成新固件时,这 两个值必须都被修改,从而按计划对已生成的固件产品进行升级。
RELEASE的新值被用作JIMAGEID和JFFSID两者的值。因此,为了 作为对早先定制的固件版本的升级而生成的固件通过先前的定制固件版本 而完成是很重要的。否则,两个固件版本的JIMAGEID和JFFSID将具有相 同的值,且从一个版本到另一个版本的升级不会按计划运转。
出厂默认图像(/usr/etc/defaultfiles/jimage )将被重新生成,以与新固件 的可写文件系统相匹配。
文件/etc/conf.d/hostname的变量HOSTNAME (主机名)(参数 Network.Hostname (网络.主机名))将被重置为默认值。
文件/etc/conf.d/mac中的变量MAC将被重置为默认值。
文件/etc/conf.d/upnp 中的变量UPNP—FRIENDLYNAME (参数 Network.UPnP.FriendlyName )将被重置为默认值。
文件/etc/conf.d/rendezvous中的变量RENDEZVOUS—FRIENDLYNAME (参凄t Network.Bonjour.FriendlyName ) 3夺4皮重置为'默iM直。
文件/etc/sysconfig/rtp.conf中的AudioAddress和VideoAddress的所有具
均将被重置为默认值。 生成固件
遵循这些步骤来生成新的固件版本。 -配置产品
-改变参数设置,向可写文件系统等上传文件,直到所有内容都因为处 于新固件的出厂默认状态而处于期望状态。 -使能点击启动
在默认状态下,点击启动功能是禁用的,因此在上电之后以及在每次上 传点击启动文件之后,必须使能点击启动功能。
为了使能点击启动CGI,必须在该产品的文件系统中创建称作 /var/lib/kickstart的文件,且该文件必须只包含字符1 。使用内置编辑器editcgi 来创建该文件
- 例 如使用 网 页 浏 览 器 中 的 位置 http:〃myserver/admin-bin/editcgi.cgi file=/var/lib/resolv.conf来打开editcgi中
的已有文件。
-将Save as (另存为)输入字段改为/var/lib/kickstart -将文件内容输入区域改为1注意
输入区域必须只包含一个字符,且没有空格字符。使用你键盘上得箭头键来确保在1的前面和后面都没有空格或换行。 -按下Save file (保存文件)按钮。
-确保网页浏览器中的回复指示所保存的是仅有 一 个字节的数据。 当点击 启动文件纟皮上传,或该产品被重启时,该文件;故删除。该文件将 不会呈现在生成的固件中。 -上传该点击启动文件
在启动新的固件版本的构建之前,确保该产品处于期望的默认状态。 -在兼容网页浏览器中打开http:〃myserver/admin/kickstart.html。 -使用HTML页面中的Browse (浏览)按钮来定位定制固件点击启动文件。
-按下Start (启动)按钮。当生成新固件时,你的浏览器中应该呈现 进度信息。该过程会花费几分钟,因此耐心等待,让浏览器等待回复。当已 经生成固件时,生成的固件会作为应用程序/八位字节流附件而被直接发送 到网页浏览器。
-在你的计算机上保存所生成的固件。
注意
当创建所生成的定制固件版本的新版本时, 该新版本必须根据先前生成
的定劍茵伴^本而^^。否身,oH,并i^雍,农W,^x伴^鍵迷/f并i^, 而^好的^r^x伴《鍵/^挣^存,直^/该,品被重f^A厂,教'"^乂。 使用所生成的固件
-使用正常固件升级程序,通过对与生成该固件的产品具有相同型号的 产品进行升级来使用所生成的固件。查阅产品手册以获得更多信息。
注意正常的固件升级会保留 一 些文件的参数值和内容。为了将升级后的 产品设置为新定制固件的默认状态,将该产品重置为出厂默认。
提示
通过使用按钮 Restore ( 恢复)或 HTTP API http:〃myserver/axis-cgi/admin/factorydefault.cgi, 该产品会保持其IP地址。
通过使用在http:〃www.axis.com/可获得的最新固件来对视频产品进行 升级,然后将该最新固件设置为出厂默认,可以在任何时间将该视频产品恢 复为安讯士的原始出厂默认。
因此,定制固件是使用装置本身来生成具有定制出厂默认设置的新的装 置固件的一种方式。
包含特定工具的文件通过HTTP被上传,并由该装置中的CGI-脚本来 接收。CGI-脚本从该文件中提取工具,并启动对生成新固件的脚本的执行, 其中该装置的当前设置被用作出厂默认设置。
这样做的优点在于,与已有固件的版本发布类似,定制固件使得为非从 零开始建造的装置,即不使用非装置本身的任何其它硬件的装置创建新固件 成为可能。
在图6中,示出根据本发明的用于更新连接至数据网络的多个电子装置 中的若干个电子装置中的固件的方法实施例。该方法包括
根据定制公司生成的定制数据,将所述多个电子装置中的第一电子装置 中的固件配置为定制公司生成的固件600,
通过使用所述第一电子装置中的固件更新文件发生器,基于所述第一电 子装置中所配置的固件来生成定制公司生成的固件更新文件602, 通过数据网络从所述第一电子装置向所述多个电子装置中的若干个电 子装置发送所述定制公司生成的固件更新文件604,以及
通过在所述多个电子装置中的若干个电子装置的各电子装置中执行所 述定制公司生成的固件更新文件来更新所述多个电子装置中的若干个电子
装置中的固件606。
可选地,配置所述多个电子装置中的第一电子装置中的固件的步骤可以
通过以下步骤来实现
通过所述数据网络从用户接口设备向所述第 一 电子装置发送定制公司 生成的定制数据608。
可选地,该方法可进一步包括
从用户接口设备向所述第一电子装置发送所述固件更新文件发生器
610。
可选地,从所述第一电子装置向所述多个电子装置中的若干个电子装置 发送所述固件更新文件的步骤可以包括以下子步骤
从所述第一电子装置向所述用户接口设备发送所述定制公司生成的固 件更新文件612,以及
从所述用户接口设备向所述多个电子装置中的若干个电子装置发送所 述定制公司生成的固件更新文件614。
可选地,该方法进一步包括 一旦配置所述多个电子装置中的第一电子 装置中的固件的步骤完成,立即从所述第 一电子装置向所述用户接口设备发 送反馈信号616。
可选地,所述多个电子装置中的若干个电子装置的各电子装置可以包括 具有不可更改的分区和可更改的分区的存储器,所述方法可以进一步包括 针对所述多个电子装置中的若干个电子装置的各电子装置来标记可更改的 分区中包含装置特定信息的数据段618,并且通过在所述多个电子装置中的 若干个电子装置的各电子装置中执行所述定制公司生成的固件更新文件来 更新所述多个电子装置的若干个电子装置的步骤可以进一步包括利用来自
所述不可更改的分区的装置特定信息来替换在所述可更改的分区中所标记 的数据段620。
可选地,该方法可以进一步包括
根据用户生成的定制数据来在多个电子装置中的若干个电子装置之一
中配置所述定制公司生成的固件622,其中配置所述定制公司生成的固件的 步骤进一步包括
多个电子装置的若千个电子装置之一中的存储器中623,以及
根据所述用户定制数据由用户生成的固件来替换多个电子装置中的若
干个电子装置之一中的所述定制公司生成的固件624。 可选地,该方法可以进一步包括
向所述多个电子装置中的若干个电子装置之一发送定制公司生成的默 认固件请求626,以及
由所存储的定制公司生成的默认固件来替换所述多个电子装置中的若 干个电子装置之一中的所迷用户生成的固件628。
可选地,该方法可以进一步包括通过所述数据网络从所述用户接口设 备向所述多个电子装置中的若干个电子装置发送生产公司生成的默认固件 请求630,通过所述数据网络将生产公司生成的默认固件更新文件从外部服 务器下载到所述多个电子装置中的若干个电子装置632,以及通过使用所述 多个电子装置中的若干个电子装置中的所述生产公司生成的默认固件来替 换经过更新的固件634。
在图7中,示出根据本发明的电子装置700。电子装置700包括适于通 过数据网络704使能数据的接收和发送的网络接口 702,
适于存储数据的存储器706,
与所述存储器706相关联的处理器708,被配置为提供 固件配置器710,适于通过使用定制公司生成的定制数据将所述存储器 中的固件配置为定制公司生成的固件,
固件更新文件发生器接收器712,适于通过所述数据网络接收固件更新 文件发生器,所述固件更新文件发生器适于基于所述电子装置中所配置的固 件来生成定制公司生成的固件更新文件,以及
定制公司生成的固件更新文件的发送器714,适于使能通过所述数据网
络发送所述定制公司生成的固件更新文件,其中所述定制公司生成的固件更
新文件适于在所述多个电子装置中的若干个电子装置中执行时更新所述多
个电子装置中的若干个电子装置中的固件。
可选地,固件更新文件发生器接收器712可以被配置为使能通过所述数 据网络704从用户接口设备接收所述固件更新文件发生器。
可选地,定制公司生成的固件更新文件发送器714可以被配置为使能通 过所述数据网络704向所述多个电子装置中的若干个电子装置发送所述固 件更新文件。
可选地,定制公司生成的固件更新文件发送器714可以被配置为使能通 过所述数据网络704向用户接口设备发送所述固件更新文件。
可选地,该电子装置可以进一步包括反馈信号发送器724,所述反馈信 号发送器适于从所述电子装置向所述用户接口设备发送反馈信号,其中所述 反馈信号包括描述更新后的固件的信息。
可选地,存储器706可以被划分为包括加载器软件和装置特定信息的不 可更改的分区716以及包括包含装置特定信息的被标记数据段的可更改的 分区718,其中所述被标记数据段在执行所述定制公司生成的固件更新文件 时被所述装置特定信息替换。
可选地,可更改的分区718可以被划分为包括定制公司生成的默认固件 的只读分区720以及包括所述电子装置700中使用的数据和应用程序的可读 且可写分区722,其中所述可读且可写分区一旦接收到定制生成的默认固件 请求,即被所述定制公司生成的默认固件替换。
可选地,固件配置器710可以被配置为在用所述更新后的固件替换所述
可选地,该电子装置可以进一步包括请求接收器726和固件重置控制装 置728,所述请求接收器726适于通过所述数据网络接收定制公司生成的固 件默认请求,所述固件重置控制装置728被配置为一旦接收到定制生成的默 认固件请求,即由所存储的定制公司生成的默认固件来替换所述可读且可写 分区。
可选地,该电子装置可以进一步包括,生产公司生成的默认固件接收器 730和生产公司生成的默认固件控制装置732,所述生产公司生成的默认固 件接收器730适于从外部服务器接收生产公司生成的默认固件,所述生产公 司生成的默认固件控制装置732适于一旦接收到生产公司生成的默认固件 请求,即用所接收的生产公司生成的默认固件来替换更新后的固件。
可选地,该电子装置可以是网络摄像机。
在图8中,用户接口设备800包括适于使能通过相关联的数据网络 804接收和发送数据的网络接口 802、用户输入装置806、适于存储数据的 存储器808、与所述存储器808相关联的处理器810,该处理器810被配置 为提供定制数据发生器812和定制公司生成的定制数据发送控制装置814, 定制数据发生器812适于基于通过所述用户输入装置接收的数据来生成定 制公司生成的定制数据,定制公司生成的定制数据发送处理器814被配置为 通过所述数据网络向第 一 电子装置发送所生成的定制数据。
可选地,与所述存储器808关联的处理器810可以进一步被配置为提供 固件更新文件接收器816和固件更新文件分发器818,固件更新文件接收器 816被配置为从所述第一电子装置接收定制公司生成的固件更新文件,固件 更新文件分发器818被配置为通过所述数据网络804向多个电子装置中的若 干个电子装置发送所接收的定制公司生成的固件更新文件。
可选地,用户输入设备806可以进一步被配置为通过所述数据网络804 从所述用户接口设备800向外部服务器发送生产公司生成的默认固件请求, 其中所述固件更新文件接收器816可以进一步被配置为从所述外部服务器 接收生产公司生成的默认固件更新文件,并且其中所述固件更新文件分发器
818可以进一步被配置为通过所述数据网络804向多个电子装置中的若干个 电子装置发送所接收的生产公司生成的默认固件更新文件。
可选地,用户接口设备可以进一步包括反馈信号接收器820和用户输出 装置822,反馈信号接收器820适于通过所述数据网络从所述第一电子装置 接收反馈信号,用户输出装置822适于显示所述反馈信号。
图1示出根据本发明的系统。系统100包括数据网络106、如上所述的 与数据网络106相关联的用户接口设备102、至少一个以上所述的与所述数 据网络相关联的电子装置104A以及多个电子装置104B-104F,其中多个电 子装置104B-104F中的各电子装置被配置为通过所述数据网络接收固件更 新文件,并且
通过执行所接收的固件更新文件来更新固件。 可选地,各电子装置可以按照以上所述的内容来配置。 可选地,更新后的固件文件可以从所述多个电子装置中的至少一个电子 装置发送给所述多个电子装置中类似的电子装置。
可选地,系统100可以进一步包括外部服务器108,该外部服务器108 适于保存生产公司生成的默认固件更新文件,并且被配置为 一旦所述用户接 口设备102有请求,即向所述用户接口设备102发送所述生产7>司生成的默 认固件更新文件。
以上参照几个实施例主要描述了本发明。然而,本领域技术人员所容易 理解,除以上所描述的几个实施例之外的其它实施例也以等同的可能性在所 附的专利权利要求所限定的本发明的范围之内。
权利要求
1、一种用于更新多个电子装置中的若干个电子装置中的固件的方法,所述多个电子装置连接到数据网络,所述方法包括以下步骤:根据定制公司生成的定制数据将多个电子装置中的第一电子装置中的固件配置为定制公司生成的固件,通过使用所述第一电子装置中的固件更新文件发生器,基于在所述第一电子装置中所配置的固件来生成定制公司生成的固件更新文件,通过数据网络从所述第一电子装置向所述多个电子装置中的若干个电子装置发送定制公司生成的固件更新文件,以及通过在所述多个电子装置中的若干个电子装置中的各电子装置中执行定制公司生成的固件更新文件来更新所述多个电子装置中的若干个电子装置中的固件。
2、 根据权利要求1所述的方法,其中所述配置多个电子装置中的第一 电子装置中的固件的步骤由以下步骤来实现通过所述数据网络从用户接口设备向所述第 一 电子装置发送定制公司 生成的定制数据。
3、 根据权利要求1或2中任一项所述的方法,进一步包括以下步骤 从用户接口设备向所述第一电子装置发送固件更新文件发生器。
4、 根据权利要求1至3中任一项所述的方法,其中所述从所述第一电 子装置向所述多个电子装置中的若干个电子装置发送定制公司生成的固件 更新文件的步骤包括以下子步骤从所述第一电子装置向用户接口设备发送定制公司生成的固件更新文 件,以及从所述用户接口设备向所述多个电子装置中的若干个电子装置发送定 制公司生成的固件更新文件。
5、 根据权利要求1至4中任一项所述的方法,进一步包括以下步骤 一旦所述配置多个电子装置中的第一电子装置中的固件的步骤完成,即 从所述第 一 电子装置向所述用户接口设备发送反馈信号。
6、 根据权利要求1至5中任一项所述的方法,其中所述多个电子装置 中的若干个电子装置的各电子装置均包括具有不可更改的分区和可更改的 分区的存储器,所述方法进一步包括以下步骤针对所述多个电子装置中的若干个电子装置中的各电子装置来标记所 述可更改的分区中包含装置特定信息的数据段,并且其中所述通过在所述多个电子装置中的若干个电子装置中的各电子装 置中执行定制公司生成的固件更新文件来更新所述多个电子装置的若干个 电子装置的步骤进一步包括利用来自所述不可更改的分区的装置特定信息来替换所述可更改的分 区中的^皮标记数据^殳。
7、 根据权利要求1至6中任一项所述的方法,进一步包括 根据用户生成的定制数据来在所述多个电子装置中的若干个电子装置中的一个电子装置中配置定制公司生成的固件,其中所述配置定制公司生成 的固件的步骤进一步包括将定制公司生成的固件作为定制公司生成的默认固件存储在所述多个 电子装置中的若干个电子装置中的该电子装置的存储器中,以及根据用户定制数据,由用户生成的固件来替换所述多个电子装置中的若 干个电子装置中的该电子装置中的定制公司生成的固件。
8、 根据权利要求7所述的方法,进一步包括向所述多个电子装置中的若干个电子装置中的该电子装置发送定制公 司生成的默认固件请求,以及由所存储的定制公司生成的默认固件来替换所述多个电子装置中的若 干个电子装置中的该电子装置中的用户生成的固件。
9、 根据权利要求1至8中任一项所述的方法,进一步包括 通过所述数据网络从所述用户接口设备向所述多个电子装置中的若干 个电子装置发送生产公司生成的默认固件请求,通过所述数据网络将生产公司生成的默认固件更新文件从外部服务器 下载到所述多个电子装置中的若干个电子装置,以及在所述多个电子装置中的若干个电子装置中,通过使用生产公司默认固 件更新文件来替换更新后的固件。
10、 一种电子装置,包括网络接口,适于使能通过数据网络接收和发送数据, 存储器,适于存储数据, 与所述存储器相关联的处理器, 被配置为提供固件配置器,适于通过使用定制公司生成的定制数据来将所述存储器中 的固件配置为定制公司生成的固件,固件更新文件发生器接收器,适于通过所述数据网络接收固件更新文件 发生器,所述固件更新文件发生器适于基于所述电子装置中所配置的固件来 生成定制公司生成的固件更新文件,以及定制公司生成的固件更新文件的发送器,适于使能通过所述数据网络发 送定制公司生成的固件更新文件,其中所述定制公司生成的固件更新文件适 于在多个电子装置中的若干个电子装置中执行时更新所述多个电子装置中 的若干个电子装置中的固件。
11、 根据权利要求10所述的电子装置,其中所述固件更新文件发生器 接收器被配置为使能通过所述数据网络从用户接口设备接收固件更新文件 发生器。
12、 根据权利要求10或11中任一项所述的电子装置,其中所述定制公 司生成的固件更新文件的发送器被配置为使能通过所述数据网络向所述多 个电子装置中的若干个电子装置发送固件更新文件。
13、 根据权利要求10至12中任一项所述的电子装置,其中所述定制公 司生成的固件更新文件的发送器被配置为使能通过所述数据网络向用户接 口设备发送固件更新文件。
14、 根据权利要求10至13中任一项所述的电子装置,进一步包括 反馈信号发送器,适于从所述电子装置向所述用户接口设备发送反馈信号,其中所述反馈信号包括描述更新后的固件的信息。
15、 根据权利要求10至14中任一项所述的电子装置,其中所述存储器 -波划分为不可更改的分区,包括加载器软件和装置特定信息,以及 可更改的分区,包括包含装置特定信息的被标记数据段,其中所述被标 记数据段在执行定制公司生成的固件更新文件时被装置特定信息替换。
16、 根据权利要求15所述的电子装置,其中所述可更改的分区被划分为只读分区,包括定制公司生成的默认固件,以及 可读且可写分区,包括所述电子装置中使用的数据和应用程序, 其中 一旦接收到定制生成的默认固件请求,所述可读且可写分区即被定 制公司生成的默认固件替换。
17、 根据权利要求10至16中任一项所述的电子装置,其中所述固件配 置器被进一步配置为在用更新后的固件替换定制公司生成的固件之前,将定 制公司生成的固件作为定制公司生成的默认固件来存储。
18、 根据权利要求10至17中任一项所述的电子装置,进一步包括 生产公司生成的默认固件的接收器,适于从外部服务器接收生产公司生成的默认固件,以及生产公司生成的默认周件的控制装置,适于一旦接收到生产公司生成的 默认固件请求,即用所接收的生产公司生成的默认固件替换更新后的固件。
19、 根据权利要求10至18中任一项所述的电子装置,其中所述电子装 置是网络摄像机。
20、 一种用户接口设备,包括网络接口 ,适于使能通过相关联的数据网络接收和发送数据,用户输入装置,存储器,适于存储数据,处理器,与所述存储器相关联,被配置为提供定制数据发生器,适于基于通过所述用户输入装置接收的数据来生成定 制公司生成的定制数据,以及定制公司生成的定制数据的发送控制装置,被配置为通过所述数据网络 向第一电子装置发送所生成的定制数据。
21、 根据权利要求20所述的用户接口设备,其中所述处理器,与所述 存储器相关联,被进一步配置为提供固件更新文件接收器,被配置为从所述第一电子装置接收定制公司生成 的固件更新文件,以及固件更新文件分发器,被配置为通过所述数据网络向多个电子装置中的 若干个电子装置发送所接收的定制公司生成的固件更新文件。
22、 根据权利要求20或21中任一项所述的用户接口设备,其中所述用户输入设备被进一步配置为通过所述数据网络从所述用户 接口设备向外部服务器发送生产公司生成的默认固件请求,其中所述固件更新文件接收器被进一步配置为从所述外部服务器接收 生产公司生成的默认固件更新文件,并且其中所述固件更新文件分发器被进一 步配置为通过所述数据网络向多 个电子装置中的若干个电子装置发送所接收的生产公司生成的默认固件更 新文件。
23 、根据权利要求20至22中任 一 项所述的用户接口设备,进一 步包括 反馈信号接收器,适于通过所述数据网络从所述第一电子装置接收反馈 信号,以及用户输出装置,适于显示反馈信号。
24、 一种系统,包4舌 数据网络,与所述数据网络相关联的根据权利要求20至24中任一项所述的用户接 口设备,至少一个与所述数据网络相关联的根据权利要求lO至19中任一项所述 的电子装置,多个电子装置,其中所述多个电子装置中的各电子装置被配置为通过所 述数据网络接收固件更新文件,并且通过执行所接收的固件更新文件来更新固件。
25、 根据权利要求24所述的系统,其中这些电子装置中的各电子装置 是根据权利要求10至19中的任一项来配置的。
26、 根据权利要求24或25中任一项所述的系统,其中更新后的固件文 件从所述多个电子装置中的至少一个电子装置发送到所述多个电子装置中 类似的电子装置。
27、 根据权利要求24至26中任一项所述的系统,进一步包括 外部服务器,适于保存生产公司生成的默认固件更新文件,并且^L配置为 一旦所述用户接口设备有请求,即向所述用户接口设备发送生产公司生成 的默认固件更新文件。
28、 一种计算机程序,包括被布置为施行根据权利要求1至9中任一项 所述的方法的软件指令。
全文摘要
本发明涉及一种用于更新连接到数据网络的若干个电子装置中的固件的方法。首先,配置所述多个电子装置中的第一电子装置中的固件。然后,通过使用固件更新文件发生器,基于所配置的固件在所述第一电子装置中生成固件更新文件。接着,通过数据网络从第一电子装置向若干个电子装置发送固件更新文件。最后,通过在各电子装置中执行固件更新文件来更新这若干个电子装置中的固件。
文档编号G06F9/445GK101384997SQ200780005770
公开日2009年3月11日 申请日期2007年2月27日 优先权日2006年3月1日
发明者克里斯季娜·斯滕, 约纳斯·霍姆伯格, 约翰·阿道夫松, 约阿基姆·图尔贝里, 马丁·格伦 申请人:安讯士有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1