本发明专利技术公开了一种物联网感知层的数据增量备份方法及系统,该方法包括以下步骤:为每一个传感器分配一个唯一的节点聚集索引Node_ID,每一条传感器检测数据生成时自动分配一个唯一的数据聚集索引Index_ID;以节点聚集索引Node_ID为键查找增量日志索引树获得相应传感器在增量日志索引树上的节点,根据每个节点最近两条检测数据的比较结果更新,增量日志索引树为AVL树结构;以数据聚集索引Index_ID为键查找数据日志索引树获得相应传感器在数据日志索引树上的节点,将检测数据写入数据日志文件,数据日志索引树为B+树结构。本发明专利技术,可以在运行过程中进行在线备份,保证物联网应用的连续运行,并且大大提高了对数据增量的查询速度。
【技术实现步骤摘要】
本专利技术涉及无线传感器网络,具体涉及物联网感知层的数据增量备份方法及系统。
技术介绍
无线传感器网络作为物联网感知层的核心,承担着数据检测、采集和传输的重任。由于无线传感器网络的特殊性,在实际应用中,经常会遇到以下各种风险的危害自然风险一例如洪涝、雨雪等;人为风险一例如环境污染、人为破坏等;技术风险一例如硬件失效、软件错误、供电失败等。上面这些人为或自然的原因,会造成无线传感器网络的瘫痪或单个传感器的运行故障,使得具有重要科研价值及经济价值的检测数据丢失,并对整个物联网的正常工作带来严重影响。因此对无线传感器网络实施一种有效的数据备份策略,是非常有必要的。无线传感器网络作为ー种小型嵌入式系统,目前所采用的数据备份策略一般可分为两种(I)完全备份。所谓完全备份,是指对无线传感器网络的全部数据文件执行ー个完整的物理拷贝。其优点在干实现机制最为简单,对无线传感器网络的软件及硬件要求都很低。但是,由于在备份过程中可能有新的数据插入,为了保证备份数据的完整性,在执行备份操作之前,需要关闭数据录入服务,在对数据文件进行了完整的物理拷贝后,再启用数据录入。因此,这种方案存在以下缺点毎次备份前需要关闭数据录入服务,对于大多数需要连续运行的物联网应用而言,这种长时间的停机操作是不允许的。(2)增量备份。増量备份是指在上一次备份的基础上,只对后续更新的数据进行备份,依赖数据库系统实现。在目前广泛应用的嵌入式数据库系统中(如MySQL),増量备份的策略通常是通过ニ进制日志来实现的,即在每次有数据插入或修改操作时,数据库系统会把相应的DDL(数据定义)语句和DML (数据操作)语句以事务(transaction)的形式,连同执行该SQL事务的时间戳(timestamp)等信息一起保存在ニ进制日志中,通过重做指定时间点之后的事务实现。由于增量备份的执行时间及所需的存储空间都仅为完全备份的几分之一,因此,同完全备份相比,増量备份的优势非常明显。但基于ニ进制日志实现增量备份也存在以下缺点(I)需要使用嵌入式数据库系统,对无线传感器网络的软件及硬件要求都很高,提高了无线传感器网络的成本;(2) ニ进制日志文件内容的编码、文件格式均依赖于特定的数据库系统,不具备可读性,物联网应用的数据迁移和移植较为困难。由此可见,现有物联网感知层的数据备份策略中完全备份方案需要关闭数据录入服务,难以满足物联网应用连续运行的需求;而基于ニ进制日志的増量备份方案又需要依赖于特定的数据库系统,导致备份系统成本提高、备份数据可移植性差。因此,需要对现有的物联网感知层数据备份策略进行优化设计,以改善物联网感知层的数据备份能力。
技术实现思路
本专利技术所要解决的技术问题是解决如何改善物联网感知层的数据备份能力的问题。为了解决上述技术问题,本专利技术所采用的技术方案是提供ー种物联网感知层的数据增量备份方法,包括以下步骤为每ー个传感器分配ー个唯一的节点聚集索引Node_ID,每一条传感器检测数据生成时自动分配一个卩隹一的数据聚集索引Index_ID ; 以所述节点聚集索引Node_ID为键查找增量日志索引树获得相应传感器在所述増量日志索引树上的节点,根据每个所述节点最近两条检测数据标识是否不同更新増量日志索引树的相应节点,所述增量日志索引树为AVL树结构,每ー个传感器唯一对应于所述AVL树中的ー个节点,所述节点保存有该传感器与所述每一条检测数据相对应的数据聚集索引 Index_ID ;以相应的数据聚集索引Index_ID为键查找数据日志索引树获得相应传感器在所述数据日志索引树上的节点,并将相应检测数据的写入数据日志文件中,所述数据日志索引树为B+树结构。在上述方法中,所述增量日志索引树的节点包括五个成员,分别对应于节点聚集索引Node_ID、传感器所关联的节点增量日志文件名、上一次备份检测数据的标识、最近一次插入检测数据的标识以及传感器所关联的増量日志链表的头指针,所述增量日志链表中保存了传感器所发送出的全部检测数据的数据聚集索引Index_ID ;通过最近一次插入检测数据的标识与上一次备份检测数据的标识是否相同判断是否需要更新増量日志索引树的相应节点。在上述方法中,在对每个传感器进行增量备份之前,先将该传感器对应节点的增量日志记录同步到增量日志存储器,具体方法为通过增量日志链表的头指针对相应节点的増量日志链表进行遍历,并将遍历所得到的Index_ID序列写入该节点对应的増量日志文件名所指向的存储器物理文件。在上述方法中,所述数据日志索引树的节点采用页类型的数据结构,包括多个索引节点和多个叶子节点,所述索引节点包括PAGE_TYPE :对应于页类型,包括索引页、叶子页两种;PAGE_NUM_RECORD :对应于该页中数据日志链表的头指针;PAGE_USER_RECORD :成员指向的数据日志链表;所述叶子节点包括Key域其中保存了传感器检测数据的标识Index_ID ;Data域对于叶子页,各个Data域中记录了该Index_ID所对应的检测数据的内容,以及各传感器检测数据在数据日志文件中的偏移量REC0RD_0FFSET ;对于索引页,各个Data域中仅记录了该Index_ID所关联的子树中最小的键值;Pt域对于叶子页,Pt域中的值为空值NULL ;而对于索引页,Pt域中的值为指向对应叶子页的指针。在上述方法中,更新数据日志索引树相应节点的过程如下以每条传感器检测数据的Index_ID为键查找数据日志索引树;在查找到对应的索引页后,创建叶子节点,并用该条传感器检测数据的Index_ID及检测数据内容更新该叶子节点的Key域及Data域;将该叶子节点链接至索引页中数据日志链表的尾部。在上述方法中,更新增量日志索引树的相应节点的过程如下获取发出检测数据的传感器的节点聚集索引Node_ID ;以所述节点聚集索引Node_ID为键查找增量日志索引树获得对应的节点;将该条检测数据的Index_ID加入对应的増量日志链表,更新最近一次插入检测数据的标识,用最近一条检测数据的Index_ID值,更新増量日志索引树节点的Lastjndex域。在上述方法中,所述增量日志文件包括系统增量日志文件和节点增量日志文件两类,系统增量日志文件保存増量日志索引树的顺序存储结构,每ー个传感器都単独对应ー个增量日志文件Incremental_file,其中保存了该传感器所关联的增量日志链表。在上述方法中,针对不同的物联网感知层应用,所述Data域在编译时被相应地设定为固定的字节长度,在默认情况下,所述Data域为255个字节。本专利技术还提供了ー种物联网感知层的数据增量备份系统,包括由无线网络控制器和多个无线传感器组成的无线传感器网络以及数据日志存储器、増量日志存储器和数据备份主控制器、物联网感知层控制中心,所述无线网络控制器为每ー个加入无线网络的传感器分配唯一的节点聚集索引Node_ID ;所述数据备份主控制器为接收到的每一条传感器检测数据分配唯一的数据聚集索引Index_ID ;所述数据备份主控制器通过数据日志进程、增量日志进程和备份进程进行管理,所述数据日志进程通过B+Tree结构的数据日志索引树对检测数据进行管理,数据日志索引树以IndexJD为键值进行插入和查询操作;所述增量日志进程负本文档来自技高网...
【技术保护点】
物联网感知层的数据增量备份方法,其特征在于,包括以下步骤:为每一个传感器分配一个唯一的节点聚集索引Node_ID,每一条传感器检测数据生成时自动分配一个唯一的数据聚集索引Index_ID;以所述节点聚集索引Node_ID为键查找增量日志索引树获得相应传感器在所述增量日志索引树上的节点,根据每个所述节点最近两条检测数据标识是否不同更新增量日志索引树的相应节点,所述增量日志索引树为AVL树结构,每一个传感器唯一对应于所述AVL树中的一个节点,所述节点保存有该传感器与所述每一条检测数据相对应的数据聚集索引Index_ID;以相应的数据聚集索引Index_ID为键查找数据日志索引树获得相应传感器在所述数据日志索引树上的节点,并将相应检测数据的写入数据日志文件中,所述数据日志索引树为B+树结构。
【技术特征摘要】
【专利技术属性】
技术研发人员:许守明,别剑,曹非非,向智宇,许德玮,
申请(专利权)人:武汉邮电科学研究院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。