基于智能家居环境中ZigBee固件升级的镜像文件轻便解压算法制造技术

技术编号:17466266 阅读:110 留言:0更新日期:2018-03-15 04:09
基于ZigBee技术的智能家居终端固件升级镜像轻便解压算法的设计,属于智能物联网领域。智能家居的家庭网关将固件镜像文件经过哈夫曼编码压缩传输至ZigBee终端,终端嵌入式设备需要将其解压并更新现有固件。本发明专利技术针对资源有限的ZigBee嵌入式终端节点设计一种基于哈夫曼树,寻找一条汉密尔顿回路进而构造一种特定的解压数组对压缩文件的比特流进行轻便解码的算法。该算法的哈夫曼树占用的空间比传统顺序存储和链表式存储的数据存储结构都要小,另外经实验验证解码时间消耗要比遍历编码表缩减近20倍。本发明专利技术的解码数组的生成方法和解码算法的设计是一种创新。

Lightweight image decompression algorithm based on ZigBee firmware upgrading in smart home environment

The design of the lightweight unzip algorithm for smart home terminal firmware upgrades based on ZigBee technology belongs to the field of intelligent Internet of things. The smart home's home gateway compresses the firmware mirror file to the ZigBee terminal through Huffman coding, and the terminal embedded device needs to decompress and update the existing firmware. Aiming at a resource limited ZigBee embedded terminal node, the invention designs a Huffman tree based algorithm for finding a Hamilton loop, and then constructs a specific decompression array algorithm for decoding bitstreams of compressed files. The Huffman tree occupies less space than the traditional sequential storage and linked list storage data storage structure. In addition, experimental verification shows that the decoding time consumption is nearly 20 times lower than that of traversing the encoding table. The design of the generation method of the decoded array and the decoding algorithm of the invention is an innovation.

【技术实现步骤摘要】
基于智能家居环境中ZigBee固件升级的镜像文件轻便解压算法
本专利技术涉及在智能家居环境中的ZigBee节点固件升级过程实现一种对镜像文件轻便的解压缩算法,具体涉及一种对于已经被哈夫曼编码压缩的ZigBee固件升级镜像文件,在ZigBee智能节点对其进行解压缩处理,属于智能物联网领域。
技术介绍
现代科学技术使个人的生活环境更加方便,舒适,自动和安全。智能家居逐渐走进了人们的生活。文献1:HanDM,LimJH.SmartHomeEnergyManagementSystemusingIEEE802.15.4andZigBee[J].ConsumerElectronics,IEEETransactionson,2010,56[3]:1403-1410.提出智能家居是一个家庭监控系统具有安装简单、操作方便的特点。在智能家居环境中有许多技术都在被广泛应用,例如蓝牙,WIFI,6LoWPAN,ZigBee等。ZigBee技术的特点是近距离,低复杂性,自组织,低功耗和低的数据速率因而被广泛用于自动控制,远程控制和各种嵌入式设备。因此本文选择ZigBee技术作为支持技术来搭建智能家居环境。由于ZigBee终端节点的资源有限,如存储器大小,通信带宽和处理能力等方面因素,如何能够完成资源节约型的固件更新成为一种挑战。通常使用的方法是将升级所需的镜像文件在发送传输之前进行压缩,在智能ZigBee端点进行固件镜像的解压缩并用它来升级芯片当前的应用程序。镜像发送者通常是资源相对丰富的家庭网关。相比之下的接收机端,即ZigBee的端点却是资源有限的嵌入式芯片。如图1.所示,基于ZigBee技术的智能家居环境包含一个智能家居网关,一是ZigBee网络加密狗节点与网关通过有线连接,同时与其它ZigBee端点无线连接。固件映像将在家庭网关压缩并通过ZigBee加密狗传输至需要升级的ZigBee端点。ZigBee的端点解压缩新固件并且替换原来的程序代码来完成整个更新过程。因此ZigBee的固件更新中的一个挑战就是如何使解压过程中使用尽可能少的资源成为可能。本文的目的是设计一个灵活轻便的解压缩算法,以满足有限的资源固件升级情况。文献2:D.Huffman,“Amethodfortheconstructionofminimumredundancycode”,Proc.IRE,vol.40,pp.1098-1101,1952.提出Huffman编码是一个非常典型的压缩编码技术,本专利技术决定先使用哈夫曼编码来对压缩固件映像,然后ZigBee加密狗将其广播到ZigBee网络,随后ZigBee终端使用灵活的算法来解压Huffman编码压缩的固件镜像。主要工作集中在端点如何有效地解压镜像。文献3:LinYK,HuangSC,YangCH.AfastalgorithmforHuffmandecodingbasedonarecursionHuffmantree[J].JournalofSystemsandSoftware,2012,85(4):974-980.专注于Huffman解码的时间效率,它利用了数值解析加快解码处理。文献4:AggarwalM,NarayanA.EfficientHuffmandecoding[C]//ImageProcessing,2000.Proceedings.2000InternationalConferenceon.IEEE,2000,1:936-939.提出了一种memoryefficient数组来表示的哈夫曼树,以便减少内存大小和加速搜索中的哈夫曼树符号的过程。它们都集中于解码处理。此外,也有关于编码处理的设计,以提升解码效率的工作。文献5:Faller,N.1973.AnAdaptiveSystemforDataCompression.Recordofthe7thAsilomarConf.onCircuits,SystemsandComputers(PacificGrove,Ca.Nov.),593-597.提出了一种自适应哈夫曼编码以使得哈夫曼编码树的存储空间减少到零。在某种特定的条件约束情况下,解码器可动态地重建与编码器同步哈夫曼编码树,而无需任何附加数据。文献6:MoffatA.andTurpinA.,"OntheImplementationofminimumredundancyprefixcodes",IEEETransactionsonCommunications,vol.45,No.10,1200-1207.的优点是不需要受位操作的限制,可以一次性多位读取比特流,在一定程度上提高了解码效率。对于该算法,文献7:NekrichY.,"OnefficientdecodingofHuffmancodes",TechnicalReportNo.85190-CS,DepartmentofComputerScience,BonnUniversity,April1998.提出了所确定的编码长度上进行改进即可以将最小码长做成一个二叉树,通过使用这个二叉树可以更快地确定出编码长度。虽然这样的改进是优化了逐位操作的问题,但仍需要计算编码的长度,文献8:ShmuelT.Klein,"Space-andtime-efficientdecodingwithcanonicalHuffmantrees",8thAnnualSymposiumonCombinatorialPatternMatching,Aarhus,Denmark,30June-2July1997,LectureNotesinComputerScience,vol.1264,65-75.讨论了基于并不需要计算固定码长的查表算法。该解码算法虽然是高效的,但是当最大码长较大时,表的初始化会花费更多的时间和空间代价,这是不适合小规模数据解码和存储空间紧张的场景。鉴于此,文献9:SieminskiA.,"FastdecodingoftheHuffmancodes",InformationProcessingLetters,vol.26,1988,237-241.提出了一种优化查找表的算法。该算法提出先使用一个固定码长解码,则该码长可以直接解码或是其他解码前缀,通过继续读取几位比特数据方可解码,这样大大减少了表的空间。虽然在减少表的空间上都做了很多工作,但是在解码端都需要重构哈夫曼树,对于哈夫曼树的存储是无法避免的。本专利技术提出了一个基于哈夫曼树的汉密尔顿回路构建的解码数组,考虑到ZigBee嵌入式资源有限环境,本专利技术在与传统哈夫曼解压算法对比后的优化目标有两个:(1)满足最小哈夫曼树的存储空间占用。(2)最佳解码效率。本专利技术的重大贡献在以下几个方面:(1)针对嵌入式设备,提出了一个有效的ZigBee镜像数据解压缩算法:哈夫曼树的汉密尔顿回路解压缩算法(HHD)。(2)对于HHD解压算法给出了用于解压的解码数组生成算法。(3)通过对照HHD算法生成的解码数组对镜像文件进行轻便解压。
技术实现思路
对于哈夫曼树的存储方式一般有两种方法即顺序存储和链表存储。由于顺序存储结构的特征是使用数组来存储二叉树因而占用更少的内存,这个特点很适合于嵌入式方案中。另外由于数组存储结构可以本文档来自技高网
...
基于智能家居环境中ZigBee固件升级的镜像文件轻便解压算法

【技术保护点】
基于智能家居环境中ZigBee固件升级的镜像文件轻便解压算法,其特征在于,包括以下步骤:步骤一、利用一个二维数组来记录所有非叶子节点的属性,每个行向量单元有四个数值,分别记录该节点的左侧孩子节点的地址和码值,右侧孩子节点的地址和码值;左侧孩子为0右侧孩子是1,设定第一根节点编号为1,左侧孩子是2,右侧孩子是3,右侧孩子节点被标记为寻路开始节点,左侧孩子节点被标记为寻路结束节点并且规定处在越高层的寻路开始节点拥有更高的优先级设置,而处在越高层的寻路结束节点拥有较低的优先级;步骤二、对于一个单元的二进制树中的标记制定规则,在标志着所有的节点后,按照寻路规则绘画出一条闭合的汉密尔顿回路,当汉密尔顿回路闭合至2号节点,编号工作完成;步骤三、使用一个数组来记录节点的信息,采取N [x][y]实例来表示阵列:0<x<N,0<y<5。

【技术特征摘要】
2016.08.29 CN 20161074445491.基于智能家居环境中ZigBee固件升级的镜像文件轻便解压算法,其特征在于,包括以下步骤:步骤一、利用一个二维数组来记录所有非叶子节点的属性,每个行向量单元有四个数值,分别记录该节点的左侧孩子节点的地址和码值,右侧孩子节点的地址和码值;左侧孩子为0右侧孩子是1,设定第一根节点编号为1,左侧孩子是2,右侧孩子是3,右侧孩子节点被标记为寻路开始节点,左侧孩子节点被标记为寻路结束节点并且规定处在越高层的寻路开始节点拥有更高的优先级设置,而处在越高层的寻路结束节点拥有较低的优先级;步骤二、对于一个单元的二进制树中的标记制定规则,在标志着所有的节点后,按照寻路规则绘画出一条闭合的汉密尔顿回路,当汉密尔顿回路闭合至2号节点,编号工作完成;步骤三、使用一个数组来记录节点的信息,采取N[x][y]实例来表示阵列:0&lt;x&lt;N,0&lt;y&lt;5。2.该二维数组的定义如下:使用单元行向量记录节点属性:N[x][1]存储左子节点值;N[x][2]的存储右侧孩子节点的值;N[x][3]存储左子节点编号;N[x][4]的存储右侧孩子节点编号。3.如果节点不是叶,其值为null,如果节点是叶,该值是它的解码字且它的编号是零,标志着这段比特流解码的结束。4.当一段比特流解码结束后,开始从N[x][1]新的比特流进行重新搜索解码;步骤四、根据HHD阵列生成算法,哈夫曼树将重新生成的解码数组的顺序存储结构,即,所述物理地址和数组下标地址是映射关系且可随机读取的数据。5.根据...

【专利技术属性】
技术研发人员:杨鲲
申请(专利权)人:河北百亚信息科技有限公司
类型:发明
国别省市:河北,13

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1