一种物联网数据传输路径恢复方法及系统的制作方法

文档序号:9399182阅读:352来源:国知局
一种物联网数据传输路径恢复方法及系统的制作方法
【技术领域】
[0001]本发明涉及物联网领域,特别涉及一种物联网数据传输路径恢复方法及系统。
【背景技术】
[0002]在无线传感器网络领域,每个数据包的传输路径是了解无线传感器网络详细信息的重要测试信息。以数据包传输路径作为测试信息,诊断和维护无线传感器网络的做法越来越常见。在数据包传输过程中,由于无线传感器网络的拓扑不停地变化,导致对于每个源节点来讲,它到信宿节点的传输路径是不固定的。针对这一问题,形成了各种不同的数据包传输路径恢复方法,实际使用最多的是内部数据相关法。
[0003]内部数据相关法,在源节点处,利用一组数据包传输路径的时间相关性和传输路径的不同,有效地压缩数据包传输路径信息;同时在信宿节点处,通过压缩的数据包传输路径信息,推断数据包传输路径,并且利用重建率高的智能路径猜测方法重建数据包传输路径。
[0004]内部数据相关法的缺点:其需要无线传感器网络充分可靠和稳定条件下的内部数据包相关性。但是,实际无线传感器网络中拓扑是不断变化的,且数据包丢失率比较高;因此,利用内部数据相关法恢复数据包传输路径的效果并不理想。

【发明内容】

[0005]本发明目的是提供一种物联网数据传输路径恢复方法及系统,解决现有技术中存在的上述问题。
[0006]本发明解决上述技术问题的技术方案如下:
[0007]—种物联网数据传输路径恢复方法,包括如下步骤:
[0008]步骤1,数据包在源节点时,初始化源节点处所述数据包的包头文件;
[0009]步骤2,所述数据包传输过程中,根据所述数据包到达的中继节点,实时修改所述中继节点处所述数据包的包头文件;
[0010]步骤3,所述数据包到达信宿节点时,根据信宿节点处所述数据包的包头文件搜索数据库;如果,获得与信宿节点处所述数据包的包头文件相匹配的包头文件,且所述相匹配的包头文件的对应数据包的传输路径已恢复,则将所述对应数据包的传输路径作为所述数据包的传输路径,结束操作;否则,执行步骤4 ;
[0011]步骤4,当数据库中所述相匹配的包头文件的个数累积到预设值后,将稀疏重现法和压缩传感法相结合求解所述数据包的传输路径,并将所述数据包的传输路径和信宿节点处所述数据包的包头文件相对应存储于所述数据库。
[0012]本发明的有益效果是:所述数据包到达信宿节点时,根据信宿节点处所述数据包的包头文件搜索数据库;如果获得相匹配的包头文件,且对应数据包传输路径已恢复,则将对应数据包传输路径作为所述数据包的传输路径;否则,当数据库中所述相匹配的包头文件的个数累积到预设值后,将稀疏重现法和压缩传感法相结合求解所述数据包的传输路径;查询和求解两种途径相结合,有效提高数据传输路径恢复效率;实现不需获取无线传感器网络中内部数据包相关性,简单方便,资源消耗低;且在拓扑发生变化和数据包丢失率较高的情况下,能高效恢复数据传输路径。
[0013]在上述技术方案的基础上,本发明还可以做如下改进。
[0014]进一步,所述包头文件包括数据包序列号SEQ、数据包源节点地址sArr、数据包传输路径长度pLen、数据包传输过程中传输路径信息数组bFlt和数据包传输过程中传输路径信息编码方式aMsr。
[0015]进一步,所述步骤I的具体实现包括:将源节点处所述数据包的包头文件的PLen设置为O ;bFlt设置为长度L的数组,所述数组的所有元素都为O ;和aMsr设置为O ;其中所述L为预设值;
[0016]所述步骤2的具体实现包括:当所述数据包传输至任意一个中继节点,则所述任意一个中继节点处所述数据包的包头文件的pLen采用如下第一公式计算,bFlt采用如下第二公式计算,aMsr采用如下第三公式计算,SEQ和sArr保持不变;
[0017]所述第一公式如下:
[0018]PLeni= pLen 土 !+I
[0019]所述第二公式如下:
[0020]bFlti= F(bFlt 土 1? PLenij j)
[0021]所述第三公式如下:
[0022]BMsri= aMsr i JpLen1-Dj [SEQk]
[0023]其中,所述j为所述任意一个中继节点的ID,所述PLeni为所述任意一个中继节点处所述数据包的包头文件的pLen,所述PLeni i为所述任意一个中继节点的前一传输节点处所述数据包的包头文件的pLen,所述bFlt*所述任意一个中继节点处所述数据包的包头文件的bFlt,所述bFlt;:为所述任意一个中继节点的前一传输节点处所述数据包的包头文件的bFlt,所述F(bFlti !, pLen;, j)为所述解函数,所述aMsr ;为所述任意一个中继节点处所述数据包的包头文件的aMsr,所述aMsr; 所述任意一个中继节点的前一传输节点处所述数据包的包头文件的aMsr,所述SEQk为所述数据包的包头文件的SEQ,所述Dj [SEQk]为所述任意一个中继节点的高斯分布数组中的第SEQk个数值;
[0024]所述F (bFlt; !, pLen;, j)为所述bFlt;求解函数,其求解关系为:
[0025]所述任意一个中继节点处都具有预先设置的H个哈希函数Vn = fn(pLen;, j), η =1,2……H,且Vne {0,1,2……L-1};根据Vn的取值,将bFlt:数组中的Vn位设置为1,其它位保持不变。
[0026]进一步,所述步骤3的具体实现包括:
[0027]步骤31,根据信宿节点处所述数据包的包头文件的sArr搜索所述数据库;如果获得具有与所述sArr相同sArr的同sArr的包头文件,则执行步骤32 ;反之,执行步骤4 ;
[0028]步骤32,判断信宿节点处所述数据包的包头文件的pLen与所述同sArr的包头文件的PLen是否相同;如果相同,则执行步骤33 ;反之,执行步骤4 ;
[0029]步骤33,判断信宿节点处所述数据包的包头文件的bFlt与所述同sArr的包头文件的bFlt是否相同;如果相同,则所述同sArr的包头文件为所述相匹配的包头文件,并执行步骤34;反之,执行步骤4;
[0030]步骤34,根据所述相匹配的包头文件搜索所述数据库;如果所述相匹配的包头文件的对应数据包的传输路径已恢复,则将所述对应数据包的传输路径作为所述数据包的传输路径,结束操作;反之,执行步骤4。
[0031]进一步,所述步骤4的具体实现包括:
[0032]步骤41,利用稀疏重现法分别根据预设值个所述相匹配的包头文件的SEQ和信宿节点处所述数据包的包头文件的SEQ提取物联网各节点的高斯分布数组中的第SEQ个数值组成第一矩阵;
[0033]步骤42,将预设值个所述相匹配的包头文件的aMsr和信宿节点处所述数据包的包头文件的aMsr组成与所述第一矩阵中各包头文件的SEQ排列对应的列矩阵形式的第二矩阵;
[0034]步骤43,利用压缩传感法,通过如下第四公式求解所述数据包的传输路径信息向量列矩阵,从而获知所述数据包的传输路径;
[0035]其中,所述第四公式如下:
[0036]Y = XXS
[0037]其中,X为所述第一矩阵,Y为所述第二矩阵,S为所述数据包的传输路径信息向量列矩阵。
[0038]本发明的另一技术方案如下:
[0039]—种物联网数据传输路径恢复系统,包括初始化模块、包头文件更新模块、传输路径查询模块和传输路径求解模块;
[0040]所述初始化模块,其用于数据包在源节点时,初始化源节点处所述数据包的包头文件;
[0041]所述包头文件更新模块,其用于所述数据包传输过程中,根据所述数据包到达的中继节点,实时修改所述中继节点处所述数据包的包头文件;
[0042]所述传输路径查询模块,其用于所述数据包到达信宿节点时,根据信宿节点处所述数据包的包头文件搜索数据库;如果,获得与信宿节点处所述数据包的包头文件相匹配的包头文件,且所述相匹配的包头文件的对应数据包的传输路径已恢复,则将所述对应数据包的传输路径作为所述数据包的传输路径,结束操作;否则,驱动所述传输路径求解模块工作;
[0043]所述传输路径求解模块,其用于当数据库中所述相匹配的包头文件的个数累积到预设值后,将稀疏重现法和压缩传感法相结合求解所述数据包的传输路径,并将所述数据包的传输路径和信宿节点处所述数据包的包头文件相对应存储于所述数据库。
[0044]在上述技术方案的基础上,本发明还可以做如下改进。
[0045]进一步,所述包头文件包括数据包序列号SEQ、数据包源节点地址sArr、数据包传输路径长度pLen、数据包传输过程中传输路径信息数组bFlt和数据包传输过程中传输路径信息编码方式aMsr。
[0046]进一步,所述初始化模块,其具体用于将源节点处所述数据包的包头文件的pLen设置为O ;bFlt设置为长度L的数组,所述数组的所有元素都为O ;和aMsr设置为O ;其中所述L为预设值;
[0047]所述包头文件更新模块包括pLen更新单元、bFlt更新单元、aMsr更新单元、SEQ保持单元和sArr保持单元;
[0048]所述pLen更新单元,其用于采用如下第一公式计算所述任意一个中继节点处所述数据包的包头文件的pLen ;
[0049]所述bFlt更新单元,其用于采用如下第二公式计算所述任意一个中继节点处所述数据包的包头文件的bFlt ;
[0050]所述aMsr更新单元,其用于采用如下第三公式计算所述任意一个中继节点处所述数据包的包头文件的aMsr ;
[0051]所述SEQ保持单元,其用于保持所述任意一个中继节点处所述数据包的包头文件的SEQ不变;
[0052]所述sArr保持单元,其用于保持所述任意一个中继节点处所述数据包的包头文件的s Arr不变;
[0053]所述第一公式如下:
[0054]pLen;= pLen ; Jl
[0055]所述第二公式如下:
[0056]bFlt;= F(bFlt ; 1; PLeni, j)
[0057]所述第三公式如下:
[0058]aMsr;= aMsr ; !+PLeni^Dj[SEQk]
[0059]其中,所述j为所述任意一个中继节点的ID,所述PLeni为所述任意一个中继节点处所述数据包的包头文件的pLen,所述PLe
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1