CN107066303A - 固件比对方法和装置 - Google Patents

固件比对方法和装置 Download PDF

Info

Publication number
CN107066303A
CN107066303A CN201710306914.4A CN201710306914A CN107066303A CN 107066303 A CN107066303 A CN 107066303A CN 201710306914 A CN201710306914 A CN 201710306914A CN 107066303 A CN107066303 A CN 107066303A
Authority
CN
China
Prior art keywords
parameter
firmware
entry
entries
filename
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.)
Granted
Application number
CN201710306914.4A
Other languages
English (en)
Other versions
CN107066303B (zh
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.)
Shenzhen Ouruibo Electronic Co Ltd
Original Assignee
Shenzhen Ouruibo Electronic 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 Shenzhen Ouruibo Electronic Co Ltd filed Critical Shenzhen Ouruibo Electronic Co Ltd
Priority to CN201710306914.4A priority Critical patent/CN107066303B/zh
Publication of CN107066303A publication Critical patent/CN107066303A/zh
Application granted granted Critical
Publication of CN107066303B publication Critical patent/CN107066303B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates

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

固件比对方法和装置
技术领域
本发明涉及通信技术领域,尤其是涉及一固件比对方法和装置。
背景技术
Zigbee(紫蜂协议)是一种类似于Wi-Fi的无线通讯协议,采用zigbee技术进行通信的设备称为zigbee设备。与Wi-Fi相比,Zigbee具有组网方便、功耗较低的优点,在一些网络规模较大、功耗要求较高的场景(如智能家居领域)中得到广泛的应用,因此广泛应用于物联网(Internet Of Things,IOT)技术领域。每个Zigbee设备都有套固定软件系统,简称为固件,在实际应用中,当Zigbee设备中的固件产生缺陷或者功能需要扩展时,就需要对Zigbee设备的固件进行升级更新。
目前,对Zigbee设备等物联网设备的固件普遍采用整包升级的升级方式,无论新固件相比于旧固件做了多少更改都需要将整个新固件的数据传输到设备端再进行升级。然而,采用Zigbee协议的设备之间互相通信的传输速率较低,因此在部署了Zigbee设备的网络中,对Zigbee设备进行固件升级通常需要耗费较长的时间(每个设备都要数十分钟),特别是当Zigbee设备比较多时,完成所有设备的升级所耗费的时间将会非常长,导致升级效率极低,升级成本较高。
如果像手机等移动终端那样进行差分升级,则需要对新旧固件进行比对,获取新旧固件的差异信息。然而,与移动终端具有文件系统的固件不同,Zigbee设备的固件是二进制数据,如果直接将两个固件比对将具有很大的盲目性,比对效率极低,而且比对效果差,不能得到较优的比对结果。
因此,如何改进Zigbee设备的固件的比对方式,提高比对效率和比对效果,实现Zigbee设备等物联网设备的固件的差分升级,是当前亟需解决的技术问题。
发明内容
本发明实施例的主要目的在于提供一种固件比对方法和装置,旨在提高比对效率和比对效果。
为达以上目的,一方面提出一种固件比对方法,所述方法包括以下步骤:
获取第一固件和第二固件的内存映射文件;
分别根据所述第一固件的内存映射文件和所述第二固件的内存映射文件建立参数条目;
比对所述第一固件的参数条目与所述第二固件的参数条目,根据比对结果获取所述第一固件与所述第二固件的差异信息。
可选地,所述分别根据所述第一固件的内存映射文件和所述第二固件的内存映射文件建立参数条目包括:
从所述第一固件的内存映射文件中获取每一个参数所在的文件名、参数名和参数内容,将每一个参数所在的文件名、参数名和参数内容建立为一个参数条目;从所述第二固件的内存映射文件中获取每一个参数所在的文件名、参数名和参数内容,将每一个参数所在的文件名、参数名和参数内容建立为一个参数条目。
可选地,所述比对所述第一固件的参数条目与所述第二固件的参数条目包括:
依次从所述第一固件的参数条目中提取出一个参数条目作为比对条目;
判断所述第二固件的参数条目中是否有与所述比对条目具有相同的文件名和参数名的目标条目;
当没有与所述比对条目具有相同的文件名和参数名的目标条目时,判定所述比对条目对应的参数为所述第一固件中相对于所述第二固件新增的参数;
当有与所述比对条目具有相同的文件名和参数名的目标条目时,判断所述比对条目与所述目标条目的参数内容是否相同;
当所述比对条目与所述目标条目的参数内容不同时,判定所述比对条目对应的参数为所述第一固件中相对于所述第二固件做过更改的参数;
当所述比对条目与所述目标条目的参数内容相同时,判定所述比对条目对应的参数为所述第一固件中相对于所述第二固件未作更改的参数。
可选地,所述判断所述第二固件的参数条目中是否有与所述比对条目具有相同的文件名和参数名的目标条目包括:
判断所述第二固件的参数条目中是否有与所述比对条目具有相同的文件名的参数条目;
当有与所述比对条目具有相同的文件名的参数条目时,判断所述参数条目中是否有与所述比对条目具有相同的参数名的参数条目;
当有与所述比对条目具有相同参数名的参数条目时,判定所述第二固件的参数条目中有与所述比对条目具有相同的文件名和参数名的目标条目。
可选地,所述分别根据所述第一固件的内存映射文件和所述第二固件的内存映射文件建立参数条目的步骤之后还包括:
以所述参数条目中的文件名作为排序键值,根据字符顺序分别对所述第一固件中的所有参数条目和所述第二固件中的所有参数条目进行排序。
可选地,所述分别根据所述第一固件的内存映射文件和所述第二固件的内存映射文件建立参数条目的步骤之后还包括:
以所述参数条目中的文件名作为第一排序键值,参数名作为第二排序键值,根据字符顺序分别对所述第一固件中的所有参数条目和所述第二固件中的所有参数条目进行排序。
可选地,所述参数条目包括函数条目和变量条目。
另一方面,提出一种固件比对装置,所述装置包括:
获取模块,用于获取第一固件和第二固件的内存映射文件;
建立模块,用于分别根据所述第一固件的内存映射文件和所述第二固件的内存映射文件建立参数条目;
比对模块,用于比对所述第一固件的参数条目与所述第二固件的参数条目,根据比对结果获取所述第一固件与所述第二固件的差异信息。
可选地,所述建立模块包括:
第一建立单元,用于从所述第一固件的内存映射文件中获取每一个参数所在的文件名、参数名和参数内容,将每一个参数所在的文件名、参数名和参数内容建立为一个参数条目;
第二建立单元,用于从所述第二固件的内存映射文件中获取每一个参数所在的文件名、参数名和参数内容,将每一个参数所在的文件名、参数名和参数内容建立为一个参数条目。
可选地,所述比对模块包括:
提取单元,用于依次从所述第一固件的参数条目中提取出一个参数条目作为比对条目;
第一判断单元,用于判断所述第二固件的参数条目中是否有与所述比对条目具有相同的文件名和参数名的目标条目;当没有与所述比对条目具有相同的文件名和参数名的目标条目时,判定所述比对条目对应的参数为所述第一固件中相对于所述第二固件新增的参数;
第二判断单元,用于当有与所述比对条目具有相同的文件名和参数名的目标条目时,判断所述比对条目与所述目标条目的参数内容是否相同;当所述比对条目与所述目标条目的参数内容不同时,判定所述比对条目对应的参数为所述第一固件中相对于所述第二固件做过更改的参数;当所述比对条目与所述目标条目的参数内容相同时,判定所述比对条目对应的参数为所述第一固件中相对于所述第二固件未作更改的参数。
可选地,所述第一判断单元用于:
判断所述第二固件的参数条目中是否有与所述比对条目具有相同的文件名的参数条目;当有与所述比对条目具有相同的文件名的参数条目时,判断所述参数条目中是否有与所述比对条目具有相同的参数名的参数条目;当有与所述比对条目具有相同参数名的参数条目时,判定所述第二固件的参数条目中有与所述比对条目具有相同的文件名和参数名的目标条目。
可选地,所述装置还包括排序模块,所述排序模块用于:以所述参数条目中的文件名作为排序键值,根据字符顺序分别对所述第一固件中的所有参数条目和所述第二固件中的所有参数条目进行排序。
可选地,所述装置还包括排序模块,所述排序模块用于:以所述参数条目中的文件名作为第一排序键值,参数名作为第二排序键值,根据字符顺序分别对所述第一固件中的所有参数条目和所述第二固件中的所有参数条目进行排序。
本发明实施例所提供的一种固件比对方法,根据两个固件的内存映射文件分别建立各自的参数条目作为最小的参照单元,通过对两个固件最小的参照单元进行针对性的比对,可以快速准确的获取最优的比对结果,得到准确的差异信息,大大提高了固件的比对效率和比对效果,为物联网设备的固件实现差分升级创造了条件,可以有效提高升级效率。
附图说明
图1是本发明的网关升级方法一实施例的流程图;
图2是图1中步骤S13的具体流程图;
图3是图2中步骤S132的具体流程图;
图4是本发明的网关升级装置第一实施例的模块示意图;
图5是图4中的建立模块的模块示意图;
图6是图4中的比对模块的模块示意图;
图7是本发明的网关升级装置第二实施例的模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
另外,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
参见图1,提出本发明的固件比对方法一实施例,所述方法可以应用于服务器、网关、终端设备等,所述方法包括以下步骤:
S11、获取第一固件和第二固件的内存映射文件。
S12、分别根据第一固件的内存映射文件和第二固件的内存映射文件建立参数条目。
S13、比对第一固件的参数条目与第二固件的参数条目,根据比对结果获取第一固件与第二固件的差异信息。
本发明实施例所述的固件,主要指为二进制数据的Zigbee设备的固件,当然也可以是其它的固件。本发明实施例中,第一固件和第二固件为两个不同的固件,通常为两个不同版本的固件,如:第一固件为新版本的固件,简称新固件,第二固件为旧版本的固件,简称旧固件。
由于Zigbee设备的固件是二进制数据,直接将两个固件比对具有很大的盲目性且不能得到一个最优的比对结果。一般情况从源代码到固件生成过程中会伴随着一个内存映射文件的生成,该内存映射文件里面描述了功能模块对应的固件地址,利用这些描述信息就能够准确高效比对出不同版本固件的异同。
因此,步骤S11中,首先获取第一固件和第二固件两个固件各自的内存映射文件(.map)。本发明实施例中,内存映射文件中包括了多个代码段(code)和多个数据段(data),其中代码段是由各种函数组成,而数据段是由各种变量组成。也就是说,本发明实施例中,内存映射文件主要包括函数和变量两种参数。当然,在其它实施例中,固件的内存映射文件也可能还包括其它参数,或者包括函数、变量和其它参数中的任意一种或者至少两种参数。
步骤S12中,从第一固件的内存映射文件中获取每一个参数所在的文件名、参数名和参数内容,将每一个参数所在的文件名、参数名和参数内容建立为一个参数条目,获取至少两个参数条目;从第二固件的内存映射文件中获取每一个参数所在的文件名、参数名和参数内容,将每一个参数所在的文件名、参数名和参数内容建立为一个参数条目,获取至少两个参数条目。
本发明实施例中,内存映射文件包括函数和变量两种参数,因此建立的参数条目包括函数条目和变量条目。每一个函数条目由函数所在的文件名、函数名和代码段(即参数内容)组成,每一个变量条目由变量所在的文件名、变量名和变量值(即参数内容)组成。
例如,针对固件的内存映射文件中的代码段,建立该内存映射文件中代码段的所有函数条目。具体的,从内存映射文件中获取某个函数的描述信息,根据描述信息获取该函数所在的文件名(函数所在的文件名指的是承载函数的源文件的名称),以及该函数的长度和在固件中的起始地址,根据该函数的长度和在固件中的起始地址从固件中找到对应的代码,获取该函数的函数名和代码段;然后把该函数所在的文件名、函数名和代码段保存到同一个条目中,完成一个函数条目的建立。以此类推,完成所有函数条目的建立。
可选地,当代码段较长时,也可以直接将函数的长度和在固件中的起始地址作为函数条目的参数内容。
可选地,当代码段较长时,也可以对代码段进行哈希算法校验,如安全哈希算法(Secure Hash Algorithm,SHA1)校验、信息摘要算法5(Message-Digest Algorithm 5,MD5)校验等,获得对应的哈希值(如SHA1值、MD5值等),将哈希值作为函数条目的参数内容。
又如,针对固件的内存映射文件中的数据段,建立该内存映射文件中数据段的所有变量条目。具体的,从内存映射文件中获取某个变量的描述信息,根据描述信息获取该变量所在的文件名(变量所在的文件名指的是承载数据的源文件的名称)以及该变量的地址,根据变量的地址从固件中找到对应的数据,获取该变量的变量名和变量值;然后把该变量所在的文件名、变量名和变量值保存到同一个条目中,完成一个函数条目的建立。以此类推,完成所有变量条目的建立。
进一步地,为了提高后续步骤S13的比对效率,在步骤S12之后、S13之前,还可以对建立的参数条目按照预设的排序规则进行排序。例如,按照预设的排序规则对第一固件中的所有函数条目进行排序,所有变量条目进行排序;按照预设的排序规则对第二固件中的所有函数条目进行排序,所有变量条目进行排序。
可选地,以参数条目中的文件名作为排序键值,根据字符顺序分别对第一固件中的所有参数条目和第二固件中的所有参数条目进行排序,并可以生成排序列表,所述字符如字母、数字等,如以“a、b、c、d…”的顺序排序或以“1、2、3、4…”的顺序排序。具体的,首先以文件名的第一个字符作为排序键值对参数条目进行排序,对于第一个字符相同的参数条目,再以文件名的第二个字符作为排序键值进行排序,依此类推。
可选地,以参数条目中的文件名作为第一排序键值,参数名作为第二排序键值,根据字符顺序分别对第一固件中的所有参数条目和第二固件中的所有参数条目进行排序,并可以生成排序列表,所述字符如字母、数字等,如以“a、b、c、d…”的顺序排序或以“1、2、3、4…”的顺序排序。具体的,首先像前一个方案那样,依次以文件名的各个字符作为第一排序键值对参数条目进行排序,对于文件名相同的参数条目,再依次以参数名的各个字符作为第二排序键值进行排序。
本领域技术人员可以理解,除了前述列举的排序规则外,还可以采用现有技术中的类似规则或其它规则进行排序,本发明对此不再一一列举赘述。
步骤S13中,本发明实施例分别比对第一固件的函数条目与第二固件的函数条目,以及第一固件的变量条目和第二固件的变量条目,根据比对结果获取两个固件的函数和变量两种参数数据的差异信息。
如图2所示,比对第一固件的参数条目与第二固件的参数条目的具体流程如下:
S131、依次从第一固件的参数条目中提取出一个参数条目作为比对条目。
本步骤S131中,依次将第一固件中的每一个参数条目提取出来作为比对条目,以与第二固件中的所有参数条目进行比对。例如,依次将第一固件中的每一个函数条目提取出来作为比对条目,以与第二固件中的所有函数条目进行比对;依次将第一固件中的每一个变量条目提取出来作为比对条目,以与第二固件中的所有变量条目进行比对。
可选地,当第一固件中的参数条目预先按照字符顺序进行了排序时,则可以按照参数条目的文件名和参数名的字符顺序依次提取参数条目。
S132、判断第二固件的参数条目中是否有与比对条目具有相同的文件名和参数名的目标条目。当没有与比对条目具有相同的文件名和参数名的目标条目时,进入步骤S133;当有与比对条目具有相同的文件名和参数名的目标条目时,进入步骤S134。
本步骤S132中,将第一固件中提取出来的比对条目与第二固件中的所有参数条目进行比较,判断第二固件的参数条目中是否有与比对条目具有相同的文件名和参数名的目标条目。
如图3所示,判断第二固件的参数条目中是否有与比对条目具有相同的文件名和参数名的目标条目的具体流程如下:
S101、判断第二固件的参数条目中是否有与比对条目具有相同的文件名的参数条目。当有与比对条目具有相同的文件名的参数条目时,进入步骤S102;当没有与比对条目具有相同的文件名的参数条目时,进入步骤S104。
本步骤S101中,将比对条目的文件名与第二固件的所有参数条目的文件名进行比较,看能否从这些参数条目中查找出与比对条目具有相同的文件名的一个或至少两个参数条目。
可选地,当第二固件中的参数条目预先以文件名作为排序键值按照字符顺序进行了排序时,则可以按照参数条目的文件名的字符顺序依次在第二固件的参数条目中进行查找,从而提高查找效率。例如,如果比对条目的文件名的首字母为b,则直接在第二固件中文件名的首字母为b的参数条目系列中去查找,如果没有查找到,则结束查找,不用再到其它参数条目系列中去查找了,从而节省查找时间,加快查找速度。
S102、判断与比对条目具有相同的文件名的参数条目中是否有与比对条目具有相同的参数名的参数条目。当有与比对条目具有相同参数名的参数条目时,进入步骤S103;当没有与比对条目具有相同参数名的参数条目时,进入步骤S104。
当第二固件的参数条目中有与比对条目具有相同的文件名的参数条目时,进一步将比对条目的参数名与这些参数条目的文件名进行比较,看能否查找出与比对条目具有相同的参数名的参数条目。
可选地,当第二固件中的参数条目预先以参数名作为排序键值按照字符顺序进行了排序时,则可以按照参数条目的参数名的字符顺序依次在第二固件的参数条目中进行查找,从而提高查找效率。例如,如果比对条目的函数名的emberInit,则直接在第二固件中函数名的首字母为e的函数条目系列中去查找,如果没有查找到,则结束查找,不用再到其它函数条目系列中去查找了,从而节省查找时间,加快查找速度。
S103、判定第二固件的参数条目中有与比对条目具有相同的文件名和参数名的目标条目。
当第二固件的某个参数条目与比对条目既有相同的文件名又有相同的参数名,则认定该参数条目为目标条目,即判定第二固件的参数条目中有与比对条目具有相同的文件名和参数名的目标条目。
S104、判定第二固件的参数条目中没有与比对条目具有相同的文件名和参数名的目标条目。
当第二固件中没有任何一个参数条目与比对条目具有相同的文件名时,或者虽然有某一个或某些参数条目与比对条目具有相同的文件名但不具有相同的参数名时,则判定第二固件的参数条目中没有与比对条目具有相同的文件名和参数名的目标条目。
S133、判定比对条目对应的参数为第一固件中相对于第二固件新增的参数。
当第二固件的参数条目中没有与比对条目具有相同的文件名和参数名的目标条目时,则判定该比对条目对应的参数为第一固件中相对于第二固件新增的参数。
S134、判断比对条目与目标条目的参数内容是否相同。当比对条目与所述目标条目的参数内容不同时,进入步骤S135;当比对条目与目标条目的参数内容相同时,进入步骤S136。
当第二固件的参数条目中有与比对条目具有相同的文件名和参数名的目标条目时,则进一步比较比对条目与目标条目的参数内容,判断二者的参数内容是否相同。
例如,当参数条目为变量条目时,比较比对条目与目标条目的变量值是否相同。
又如,当参数条目为函数条目时,比较比对条目与目标条目的代码段是否完全相同。可选地,当函数条目的参数内容为函数的长度和在固件中的起始地址作为函数条目时,则需要根据比对条目和目标条目的参数内容分别从第一固件和第二固件中提取出对应的代码段进行比较。可选地,当函数条目的参数内容为哈希值时,则直接比较比对条目与目标条目的哈希值是否相同,如比较二者的SHA1值是否相同。
S135、判定比对条目对应的参数为第一固件中相对于第二固件做过更改的参数。
当第二固件的参数条目中有与比对条目具有相同的文件名和参数名的目标条目,但该目标条目与第一固件中的比对条目的参数内容不同时,则判定该比对条目对应的参数为第一固件中相对于第二固件做过更改的参数。
S136、判定比对条目对应的参数为第一固件中相对于第二固件未作更改的参数。
当第二固件的参数条目中有与比对条目具有相同的文件名和参数名的目标条目,且该目标条目与第一固件中的比对条目的参数内容相同时,则判定该比对条目对应的参数为第一固件中相对于第二固件未作更改的参数,即该参数在两个固件中没有变化。
最终,根据比对结果获取第一固件与第二固件的差异信息,该差异信息包括:第一固件中相对于第二固件未作更改的参数、做过更改的参数和新增的参数。从而找到了两个固件的相同部分和不同部分。可选地,对于做过更改的参数或新增的参数,后续进行差分升级时处理方式相同。
举例而言:
针对函数条目,从新固件的函数条目的排序列表A中依次提取出一个函数条目,根据该函数条目的文件名,从旧固件的排序列表B中寻找具有相同文件名的一个或多个函数条目,并从找到的函数条目中确认与排序列表A中提取出的函数条目有着相同函数名的一个或多个函数条目,将排序列表A中提取出的函数条目的代码段(或SHA1值)与排序列表B中所确认的函数条目的代码段(或SHA1值)进行对比;如果代码段(或SHA1值)也相同,则表明排序列表A中提取出的函数条目对应的函数为新固件中相对于旧固件未作更改的函数;如果代码段(或SHA1值)不相同,则表明排序列表A中提取出的函数条目对应的函数为新固件中相对于旧固件做过更改的函数。如果排序列表B中没有找到与排序列表A中提取出的函数条目具有相同的文件名的函数条目,或者虽然具有相同的文件名但不具有相同的函数名,则说明排序列表A中提取出的函数条目对应的函数为新固件中相对于就固件新增的函数。
同理,针对变量条目,从新固件的变量条目的排序列表A中依次提取出一个变量条目,根据该变量条目的文件名,从旧固件的排序列表B中寻找具有相同文件名的一个或多个变量条目,并从找到的变量条目中确认与排序列表A中提取出的变量条目有着相同变量名的一个或多个变量条目,将排序列表A中提取出的变量条目的变量值与排序列表B中所确认的变量条目的变量值进行对比;如果变量值也相同,则表明排序列表A中提取出的变量条目对应的变量为新固件中相对于旧固件未作更改的变量;如果变量值不相同,则表明排序列表A中提取出的变量条目对应的变量为新固件中相对于旧固件做过更改的变量。如果排序列表B中没有找到与排序列表A中提取出的变量条目具有相同的文件名的变量条目,或者虽然具有相同的文件名但不具有相同的变量名,则说明排序列表A中提取出的变量条目对应的变量为新固件中相对于就固件新增的变量。
进一步地,当获取第一固件与第二固件的差异信息后,根据该差异信息生成差异描述文件,该差异描述文件中包括两个固件的相同部分和不同部分的描述信息,后续则根据该差异描述文件中的描述信息进行固件升级。
例如,差异描述文件的描述信息包括两部分,第一部分描述Zigbee设备中的新固件与旧固件中所有相同数据的地址段(每个地址段包括起始地址和结束地址)以及该部分数据在固件下载区对应的目标起始地址;第二部分描述的是差异数据(即旧固件中不存在的数据,或新固件中新增的数据和更改的数据)和数据校验值以及该部分数据在固件下载区的目标起始地址和结束地址。
由于差异描述文件的数据量远远小于所需要升级的新固件的数据量,因此将差异描述文件发送给设备端进行差分升级将克服传统升级方式中时间长、消耗资源多的缺点,从而可以提高升级效率。
本发明实施例的固件比对方法,根据两个固件的内存映射文件分别建立各自的参数条目作为最小的参照单元,通过对两个固件最小的参照单元进行针对性的比对,可以快速准确的获取最优的比对结果,大大提高了固件的比对效率和比对效果,为物联网设备的固件实现差分升级创造了条件,可以有效提高升级效率。
参见图4,提出本发明的固件比对装置第一实施例,所述装置可以应用于服务器、网关、终端设备等,所述装置包括获取模块10、建立模块20和比对模块30,其中:获取模块10用于获取第一固件和第二固件的内存映射文件;建立模块20用于分别根据第一固件的内存映射文件和第二固件的内存映射文件建立参数条目;比对模块30用于比对第一固件的参数条目与第二固件的参数条目,根据比对结果获取第一固件与第二固件的差异信息。
本发明实施例中,内存映射文件中包括了多个代码段(code)和多个数据段(data),其中代码段是由各种函数组成,而数据段是由各种变量组成。也就是说,本发明实施例中,内存映射文件主要包括函数和变量两种参数。当然,在其它实施例中,固件的内存映射文件也可能还包括其它参数,或者包括函数、变量和其它参数中的任意一种或者至少两种参数。
如图5所示,建立模块20包括第一建立单元21和第二建立单元22。第一建立单元21用于从第一固件的内存映射文件中获取每一个参数所在的文件名、参数名和参数内容,将每一个参数所在的文件名、参数名和参数内容建立为一个参数条目,获取至少两个参数条目;第二建立单元22用于从第二固件的内存映射文件中获取每一个参数所在的文件名、参数名和参数内容,将每一个参数所在的文件名、参数名和参数内容建立为一个参数条目,获取至少两个参数条目。
本发明实施例中,内存映射文件包括函数和变量两种参数,因此建立的参数条目包括函数条目和变量条目。每一个函数条目由函数所在的文件名、函数名和代码段(即参数内容)组成,每一个变量条目由变量所在的文件名、变量名和变量值(即参数内容)组成。
例如,针对固件的内存映射文件中的代码段,建立模块20建立该内存映射文件中代码段的所有函数条目。具体的,建立模块20从内存映射文件中获取某个函数的描述信息,根据描述信息获取该函数所在的文件名(函数所在的文件名指的是承载函数的源文件的名称),以及该函数的长度和在固件中的起始地址,根据该函数的长度和在固件中的起始地址从固件中找到对应的代码,获取该函数的函数名和代码段;然后把该函数所在的文件名、函数名和代码段保存到同一个条目中,完成一个函数条目的建立。以此类推,完成所有函数条目的建立。
可选地,当代码段较长时,建立模块20也可以直接将函数的长度和在固件中的起始地址作为函数条目的参数内容。
可选地,当代码段较长时,建立模块20也可以对代码段进行哈希算法校验,如安全哈希算法(Secure Hash Algorithm,SHA1)校验、信息摘要算法5(Message-DigestAlgorithm 5,MD5)校验等,获得对应的哈希值(如SHA1值、MD5值等),将哈希值作为函数条目的参数内容。
又如,针对固件的内存映射文件中的数据段,建立模块20建立该内存映射文件中数据段的所有变量条目。具体的,建立模块20从内存映射文件中获取某个变量的描述信息,根据描述信息获取该变量所在的文件名(变量所在的文件名指的是承载数据的源文件的名称)以及该变量的地址,根据变量的地址从固件中找到对应的数据,获取该变量的变量名和变量值;然后把该变量所在的文件名、变量名和变量值保存到同一个条目中,完成一个函数条目的建立。以此类推,完成所有变量条目的建立。
本发明实施例中,比对模块30分别比对第一固件的函数条目与第二固件的函数条目,以及第一固件的变量条目和第二固件的变量条目,根据比对结果获取两个固件的函数和变量两种参数数据的差异信息。
如图6所示,比对模块30包括提取单元31、第一判断单元32和第二判断单元33。
提取单元31:用于依次从第一固件的参数条目中提取出一个参数条目作为比对条目。
例如,提取单元31依次将第一固件中的每一个函数条目提取出来作为比对条目,以与第二固件中的所有函数条目进行比对;依次将第一固件中的每一个变量条目提取出来作为比对条目,以与第二固件中的所有变量条目进行比对。
第一判断单元32:用于判断第二固件的参数条目中是否有与比对条目具有相同的文件名和参数名的目标条目;当没有与比对条目具有相同的文件名和参数名的目标条目时,判定比对条目对应的参数为第一固件中相对于第二固件新增的参数;当有与比对条目具有相同的文件名和参数名的目标条目时,通知第二判断单元33。
具体的,第一判断单元32首先判断第二固件的参数条目中是否有与比对条目具有相同的文件名的参数条目;当有与比对条目具有相同的文件名的参数条目时,再判断与比对条目具有相同的文件名的参数条目中是否有与比对条目具有相同的参数名的参数条目;当有与比对条目具有相同参数名的参数条目时,判定第二固件的参数条目中有与比对条目具有相同的文件名和参数名的目标条目。如果第二固件中没有任何一个参数条目与比对条目具有相同的文件名时,或者虽然有某一个或某些参数条目与比对条目具有相同的文件名但不具有相同的参数名时,第一判断单元32则判定第二固件的参数条目中没有与比对条目具有相同的文件名和参数名的目标条目。
第二判断单元33:用于当第二固件的参数条目中有与比对条目具有相同的文件名和参数名的目标条目时,判断比对条目与目标条目的参数内容是否相同;当比对条目与目标条目的参数内容不同时,判定比对条目对应的参数为第一固件中相对于第二固件做过更改的参数;当比对条目与目标条目的参数内容相同时,判定比对条目对应的参数为第一固件中相对于第二固件未作更改的参数。
当第二固件的参数条目中有与比对条目具有相同的文件名和参数名的目标条目时,第二判断单则进一步比较比对条目与目标条目的参数内容,判断二者的参数内容是否相同。
例如,当参数条目为变量条目时,第二判断单元33比较比对条目与目标条目的变量值是否相同。
又如,当参数条目为函数条目时,第二判断单元33比较比对条目与目标条目的代码段是否完全相同。可选地,当函数条目的参数内容为函数的长度和在固件中的起始地址作为函数条目时,第二判断单元33则需要根据比对条目和目标条目的参数内容分别从第一固件和第二固件中提取出对应的代码段进行比较。可选地,当函数条目的参数内容为哈希值时,第二判断单元33则直接比较比对条目与目标条目的哈希值是否相同,如比较二者的SHA1值是否相同。
最终,比对模块30根据比对结果获取第一固件与第二固件的差异信息,该差异信息包括:第一固件中相对于第二固件未作更改的参数、做过更改的参数和新增的参数。从而找到了两个固件的相同部分和不同部分。可选地,对于做过更改的参数或新增的参数,后续进行差分升级时处理方式相同。
举例而言:
针对函数条目,比对模块30从新固件的函数条目的排序列表A中依次提取出一个函数条目,根据该函数条目的文件名,从旧固件的排序列表B中寻找具有相同文件名的一个或多个函数条目,并从找到的函数条目中确认与排序列表A中提取出的函数条目有着相同函数名的一个或多个函数条目,将排序列表A中提取出的函数条目的代码段(或SHA1值)与排序列表B中所确认的函数条目的代码段(或SHA1值)进行对比;如果代码段(或SHA1值)也相同,则判定排序列表A中提取出的函数条目对应的函数为新固件中相对于旧固件未作更改的函数;如果代码段(或SHA1值)不相同,则判定排序列表A中提取出的函数条目对应的函数为新固件中相对于旧固件做过更改的函数。如果排序列表B中没有找到与排序列表A中提取出的函数条目具有相同的文件名的函数条目,或者虽然具有相同的文件名但不具有相同的函数名,则判定排序列表A中提取出的函数条目对应的函数为新固件中相对于就固件新增的函数。
同理,针对变量条目,比对模块30从新固件的变量条目的排序列表A中依次提取出一个变量条目,根据该变量条目的文件名,从旧固件的排序列表B中寻找具有相同文件名的一个或多个变量条目,并从找到的变量条目中确认与排序列表A中提取出的变量条目有着相同变量名的一个或多个变量条目,将排序列表A中提取出的变量条目的变量值与排序列表B中所确认的变量条目的变量值进行对比;如果变量值也相同,则判定排序列表A中提取出的变量条目对应的变量为新固件中相对于旧固件未作更改的变量;如果变量值不相同,则判定排序列表A中提取出的变量条目对应的变量为新固件中相对于旧固件做过更改的变量。如果排序列表B中没有找到与排序列表A中提取出的变量条目具有相同的文件名的变量条目,或者虽然具有相同的文件名但不具有相同的变量名,则判定排序列表A中提取出的变量条目对应的变量为新固件中相对于就固件新增的变量。
进一步地,当获取第一固件与第二固件的差异信息后,比对模块30还根据该差异信息生成差异描述文件,该差异描述文件中包括两个固件的相同部分和不同部分的描述信息,后续则可以根据该差异描述文件中的描述信息进行固件升级。
例如,差异描述文件的描述信息包括两部分,第一部分描述Zigbee设备中的新固件与旧固件中所有相同数据的地址段(每个地址段包括起始地址和结束地址)以及该部分数据在固件下载区对应的目标起始地址;第二部分描述的是差异数据(即旧固件中不存在的数据,或新固件中新增的数据和更改的数据)和数据校验值以及该部分数据在固件下载区的目标起始地址和结束地址。
进一步地,如图7所示,在本发明的固件比对装置的第二实施例中,该装置还包括排序模块40,该排序模块40用于对建立的参数条目按照预设的排序规则进行排序,以提高比对模块30后续对参数条目比对的效率。例如,排序模块40按照预设的排序规则对第一固件中的所有函数条目进行排序,所有变量条目进行排序;按照预设的排序规则对第二固件中的所有函数条目进行排序,所有变量条目进行排序。
可选地,排序模块40以参数条目中的文件名作为排序键值,根据字符顺序分别对第一固件中的所有参数条目和第二固件中的所有参数条目进行排序,并可以生成排序列表,所述字符如字母、数字等,如以“a、b、c、d…”的顺序排序或以“1、2、3、4…”的顺序排序。具体的,排序模块40首先以文件名的第一个字符作为排序键值对参数条目进行排序,对于第一个字符相同的参数条目,再以文件名的第二个字符作为排序键值进行排序,依此类推。
可选地,排序模块40以参数条目中的文件名作为第一排序键值,参数名作为第二排序键值,根据字符顺序分别对第一固件中的所有参数条目和第二固件中的所有参数条目进行排序,并可以生成排序列表,所述字符如字母、数字等,如以“a、b、c、d…”的顺序排序或以“1、2、3、4…”的顺序排序。具体的,排序模块40首先像前一个方案那样,依次以文件名的各个字符作为第一排序键值对参数条目进行排序,对于文件名相同的参数条目,再依次以参数名的各个字符作为第二排序键值进行排序。
本领域技术人员可以理解,除了前述列举的排序规则外,还可以采用现有技术中的类似规则或其它规则进行排序,本发明对此不再一一列举赘述。
当第一固件中的参数条目预先按照字符顺序进行了排序时,比对模块30的提取单元31则可以按照参数条目的文件名和参数名的字符顺序依次提取参数条目。
当第二固件中的参数条目预先以文件名作为排序键值按照字符顺序进行了排序时,比对模块30的第一判断单元32则可以按照参数条目的文件名的字符顺序依次在第二固件的参数条目中进行查找,从而提高查找效率。例如,如果比对条目的文件名的首字母为b,第一判断单元32则直接在第二固件中文件名的首字母为b的参数条目系列中去查找,如果没有查找到,则结束查找,不用再到其它参数条目系列中去查找了,从而节省查找时间,加快查找速度。
当第二固件中的参数条目预先以参数名作为排序键值按照字符顺序进行了排序时,比对模块30的第一判断单元32则可以按照参数条目的参数名的字符顺序依次在第二固件的参数条目中进行查找,从而提高查找效率。例如,如果比对条目的函数名的emberInit,则直接在第二固件中函数名的首字母为e的函数条目系列中去查找,如果没有查找到,则结束查找,不用再到其它函数条目系列中去查找了,从而节省查找时间,加快查找速度。
本发明实施例的固件比对装置,根据两个固件的内存映射文件分别建立各自的参数条目作为最小的参照单元,通过对两个固件最小的参照单元进行针对性的比对,可以快速准确的获取最优的比对结果,大大提高了固件的比对效率和比对效果,为物联网设备的固件实现差分升级创造了条件,可以有效提高升级效率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
应当理解的是,以上仅为本发明的优选实施例,不能因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (13)

1.一种固件比对方法,其特征在于,包括以下步骤:
获取第一固件和第二固件的内存映射文件;
分别根据所述第一固件的内存映射文件和所述第二固件的内存映射文件建立参数条目;
比对所述第一固件的参数条目与所述第二固件的参数条目,根据比对结果获取所述第一固件与所述第二固件的差异信息。
2.根据权利要求1所述的固件比对方法,其特征在于,所述分别根据所述第一固件的内存映射文件和所述第二固件的内存映射文件建立参数条目包括:
从所述第一固件的内存映射文件中获取每一个参数所在的文件名、参数名和参数内容,将每一个参数所在的文件名、参数名和参数内容建立为一个参数条目;从所述第二固件的内存映射文件中获取每一个参数所在的文件名、参数名和参数内容,将每一个参数所在的文件名、参数名和参数内容建立为一个参数条目。
3.根据权利要求2所述的固件比对方法,其特征在于,所述比对所述第一固件的参数条目与所述第二固件的参数条目包括:
依次从所述第一固件的参数条目中提取出一个参数条目作为比对条目;
判断所述第二固件的参数条目中是否有与所述比对条目具有相同的文件名和参数名的目标条目;
当没有与所述比对条目具有相同的文件名和参数名的目标条目时,判定所述比对条目对应的参数为所述第一固件中相对于所述第二固件新增的参数;
当有与所述比对条目具有相同的文件名和参数名的目标条目时,判断所述比对条目与所述目标条目的参数内容是否相同;
当所述比对条目与所述目标条目的参数内容不同时,判定所述比对条目对应的参数为所述第一固件中相对于所述第二固件做过更改的参数;
当所述比对条目与所述目标条目的参数内容相同时,判定所述比对条目对应的参数为所述第一固件中相对于所述第二固件未作更改的参数。
4.根据权利要求3所述的固件比对方法,其特征在于,所述判断所述第二固件的参数条目中是否有与所述比对条目具有相同的文件名和参数名的目标条目包括:
判断所述第二固件的参数条目中是否有与所述比对条目具有相同的文件名的参数条目;
当有与所述比对条目具有相同的文件名的参数条目时,判断所述参数条目中是否有与所述比对条目具有相同的参数名的参数条目;
当有与所述比对条目具有相同参数名的参数条目时,判定所述第二固件的参数条目中有与所述比对条目具有相同的文件名和参数名的目标条目。
5.根据权利要求2-4任一项所述的固件比对方法,其特征在于,所述分别根据所述第一固件的内存映射文件和所述第二固件的内存映射文件建立参数条目的步骤之后还包括:
以所述参数条目中的文件名作为排序键值,根据字符顺序分别对所述第一固件中的所有参数条目和所述第二固件中的所有参数条目进行排序。
6.根据权利要求2-4任一项所述的固件比对方法,其特征在于,所述分别根据所述第一固件的内存映射文件和所述第二固件的内存映射文件建立参数条目的步骤之后还包括:
以所述参数条目中的文件名作为第一排序键值,参数名作为第二排序键值,根据字符顺序分别对所述第一固件中的所有参数条目和所述第二固件中的所有参数条目进行排序。
7.根据权利要求1-4任一项所述的固件比对方法,其特征在于,所述参数条目包括函数条目和变量条目。
8.一种固件比对装置,其特征在于,包括:
获取模块,用于获取第一固件和第二固件的内存映射文件;
建立模块,用于分别根据所述第一固件的内存映射文件和所述第二固件的内存映射文件建立参数条目;
比对模块,用于比对所述第一固件的参数条目与所述第二固件的参数条目,根据比对结果获取所述第一固件与所述第二固件的差异信息。
9.根据权利要求8所述的固件比对装置,其特征在于,所述建立模块包括:
第一建立单元,用于从所述第一固件的内存映射文件中获取每一个参数所在的文件名、参数名和参数内容,将每一个参数所在的文件名、参数名和参数内容建立为一个参数条目;
第二建立单元,用于从所述第二固件的内存映射文件中获取每一个参数所在的文件名、参数名和参数内容,将每一个参数所在的文件名、参数名和参数内容建立为一个参数条目。
10.根据权利要求9所述的固件比对装置,其特征在于,所述比对模块包括:
提取单元,用于依次从所述第一固件的参数条目中提取出一个参数条目作为比对条目;
第一判断单元,用于判断所述第二固件的参数条目中是否有与所述比对条目具有相同的文件名和参数名的目标条目;当没有与所述比对条目具有相同的文件名和参数名的目标条目时,判定所述比对条目对应的参数为所述第一固件中相对于所述第二固件新增的参数;
第二判断单元,用于当有与所述比对条目具有相同的文件名和参数名的目标条目时,判断所述比对条目与所述目标条目的参数内容是否相同;当所述比对条目与所述目标条目的参数内容不同时,判定所述比对条目对应的参数为所述第一固件中相对于所述第二固件做过更改的参数;当所述比对条目与所述目标条目的参数内容相同时,判定所述比对条目对应的参数为所述第一固件中相对于所述第二固件未作更改的参数。
11.根据权利要求10所述的固件比对装置,其特征在于,所述第一判断单元用于:
判断所述第二固件的参数条目中是否有与所述比对条目具有相同的文件名的参数条目;当有与所述比对条目具有相同的文件名的参数条目时,判断所述参数条目中是否有与所述比对条目具有相同的参数名的参数条目;当有与所述比对条目具有相同参数名的参数条目时,判定所述第二固件的参数条目中有与所述比对条目具有相同的文件名和参数名的目标条目。
12.根据权利要求9-11任一项所述的固件比对装置,其特征在于,所述装置还包括排序模块,所述排序模块用于:以所述参数条目中的文件名作为排序键值,根据字符顺序分别对所述第一固件中的所有参数条目和所述第二固件中的所有参数条目进行排序。
13.根据权利要求9-11任一项所述的固件比对装置,其特征在于,所述装置还包括排序模块,所述排序模块用于:以所述参数条目中的文件名作为第一排序键值,参数名作为第二排序键值,根据字符顺序分别对所述第一固件中的所有参数条目和所述第二固件中的所有参数条目进行排序。
CN201710306914.4A 2017-05-04 2017-05-04 固件比对方法和装置 Active CN107066303B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710306914.4A CN107066303B (zh) 2017-05-04 2017-05-04 固件比对方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710306914.4A CN107066303B (zh) 2017-05-04 2017-05-04 固件比对方法和装置

Publications (2)

Publication Number Publication Date
CN107066303A true CN107066303A (zh) 2017-08-18
CN107066303B CN107066303B (zh) 2020-11-27

Family

ID=59596918

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710306914.4A Active CN107066303B (zh) 2017-05-04 2017-05-04 固件比对方法和装置

Country Status (1)

Country Link
CN (1) CN107066303B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107861729A (zh) * 2017-11-08 2018-03-30 中国信息安全测评中心 一种固件装载基址的定位方法、装置及电子设备
CN107861837A (zh) * 2017-10-11 2018-03-30 宁波三星医疗电气股份有限公司 一种基于电力采集终端的运行参数自适应方法
CN110852058A (zh) * 2019-09-24 2020-02-28 贵阳朗玛信息技术股份有限公司 一种清单比对的方法及装置
CN111585801A (zh) * 2020-04-29 2020-08-25 杭州涂鸦信息技术有限公司 一种ZigBee设备升级方法及相关设备
CN113721968A (zh) * 2021-08-31 2021-11-30 杭州海康威视数字技术股份有限公司 固件升级方法、装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070294686A1 (en) * 2006-06-19 2007-12-20 Samsung Electronics Co., Ltd. Program upgrade system and method for ota-capable device
CN101499060A (zh) * 2008-01-29 2009-08-05 广达电脑股份有限公司 固件更新系统及方法
CN102132259A (zh) * 2009-03-30 2011-07-20 日立系统解决方案有限公司 固件更新系统,固件传输服务器、固件整合设备以及程序
CN102999349A (zh) * 2011-09-19 2013-03-27 施耐德电器工业公司 一种软件升级方法
CN103530420A (zh) * 2013-10-30 2014-01-22 北京奇虎科技有限公司 数据文件的动态更新方法及装置
CN103970728A (zh) * 2013-02-01 2014-08-06 中国银联股份有限公司 一种文件的比对方法和系统
CN104572461A (zh) * 2014-12-30 2015-04-29 北京奇虎科技有限公司 一种文件自动检测方法和装置
CN104615663A (zh) * 2015-01-07 2015-05-13 小米科技有限责任公司 文件排序方法、装置及终端

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070294686A1 (en) * 2006-06-19 2007-12-20 Samsung Electronics Co., Ltd. Program upgrade system and method for ota-capable device
CN101499060A (zh) * 2008-01-29 2009-08-05 广达电脑股份有限公司 固件更新系统及方法
CN102132259A (zh) * 2009-03-30 2011-07-20 日立系统解决方案有限公司 固件更新系统,固件传输服务器、固件整合设备以及程序
CN102999349A (zh) * 2011-09-19 2013-03-27 施耐德电器工业公司 一种软件升级方法
CN103970728A (zh) * 2013-02-01 2014-08-06 中国银联股份有限公司 一种文件的比对方法和系统
CN103530420A (zh) * 2013-10-30 2014-01-22 北京奇虎科技有限公司 数据文件的动态更新方法及装置
CN104572461A (zh) * 2014-12-30 2015-04-29 北京奇虎科技有限公司 一种文件自动检测方法和装置
CN104615663A (zh) * 2015-01-07 2015-05-13 小米科技有限责任公司 文件排序方法、装置及终端

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107861837A (zh) * 2017-10-11 2018-03-30 宁波三星医疗电气股份有限公司 一种基于电力采集终端的运行参数自适应方法
CN107861729A (zh) * 2017-11-08 2018-03-30 中国信息安全测评中心 一种固件装载基址的定位方法、装置及电子设备
CN107861729B (zh) * 2017-11-08 2021-08-24 中国信息安全测评中心 一种固件装载基址的定位方法、装置及电子设备
CN110852058A (zh) * 2019-09-24 2020-02-28 贵阳朗玛信息技术股份有限公司 一种清单比对的方法及装置
CN111585801A (zh) * 2020-04-29 2020-08-25 杭州涂鸦信息技术有限公司 一种ZigBee设备升级方法及相关设备
CN113721968A (zh) * 2021-08-31 2021-11-30 杭州海康威视数字技术股份有限公司 固件升级方法、装置
CN113721968B (zh) * 2021-08-31 2024-04-02 杭州海康威视数字技术股份有限公司 固件升级方法、装置

Also Published As

Publication number Publication date
CN107066303B (zh) 2020-11-27

Similar Documents

Publication Publication Date Title
CN107066303A (zh) 固件比对方法和装置
CN109828935B (zh) 一种基于can fd总线的并行刷写方法
CN103678319B (zh) 资源文件更新方法、装置和系统及服务器
CN109144559B (zh) 一种更新数据包的推送方法及服务器
EP2180740A1 (en) Method and device for instantiating management object of management tree in terminal device
CN110543324B (zh) 一种应用程序的插件增量更新方法及装置
CN111262726A (zh) 一种配置信息更新方法、装置及计算机可读存储介质
CN111224952A (zh) 用于定向流量的网络资源获取方法、装置及存储介质
CN115277671A (zh) 车辆的ota升级方法、装置、车辆及存储介质
EP1782571B1 (en) Client provisioning with linking
CN111338758A (zh) 资源管理方法、装置和电子设备
CN114693220A (zh) 基于数字孪生DaaS平台的算法仓库管理方法及系统
CN104298757A (zh) 一种兼容多版本移动客户端及数据库的方法及系统
CN102306184A (zh) 获得链接压缩地址信息及压缩网页的方法、装置和设备
CN109697117B (zh) 终端控制方法、装置以及计算机可读存储介质
CN104717280B (zh) 数据同步的标记方法和装置
CN110768811B (zh) 更新yang模型文件库的方法、装置和系统
CN110618989A (zh) 信息处理方法、信息处理装置及相关产品
CN110908694A (zh) 一种电子招投标客户端应用的热更新系统及方法
CN114866970A (zh) 策略控制方法、系统和相关设备
CN113688432B (zh) 一种物联网身份识别模块的种子码号管理方法
CN109150694A (zh) 动态场景信息的发送方法、显示方法及服务器和移动终端
CN114745269A (zh) 固件升级方法、装置、电子设备和存储介质
CN108243237A (zh) 宽带定向提速方法及设备
CN113449159A (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: Nanshan District Xueyuan Road in Shenzhen city of Guangdong province 518000 No. 1001 Nanshan Chi Park A7 building 7 floor

Applicant after: Shenzhen euribo Technology Co.,Ltd.

Address before: Nanshan District Xueyuan Road in Shenzhen city of Guangdong province 518000 No. 1001 Nanshan Chi Park A7 building 7 floor

Applicant before: SHENZHEN ORVIBO TECHNOLOGY Co.,Ltd.

Address after: Nanshan District Xueyuan Road in Shenzhen city of Guangdong province 518000 No. 1001 Nanshan Chi Park A7 building 7 floor

Applicant after: SHENZHEN ORVIBO TECHNOLOGY Co.,Ltd.

Address before: Nanshan District Xueyuan Road in Shenzhen city of Guangdong province 518000 No. 1001 Nanshan Chi Park A7 building 7 floor

Applicant before: ORVIBO, Inc.

GR01 Patent grant
GR01 Patent grant