[发明专利]命名数据网转发平面PIT存储结构及其数据检索方法有效
申请号: | 201710952773.3 | 申请日: | 2017-10-13 |
公开(公告)号: | CN107908357B | 公开(公告)日: | 2020-08-21 |
发明(设计)人: | 刘开华;许亚平;李卓 | 申请(专利权)人: | 天津大学 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;H04L29/12 |
代理公司: | 天津市北洋有限责任专利代理事务所 12201 | 代理人: | 李丽萍 |
地址: | 300072*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种命名数据网转发平面PIT存储结构,包括一个片内存储单元和一个片外存储单元;片内存储单元中具有一个可定位型布隆滤波器MBF,该MBF包含有一个BF和一个MA定位数组,BF用于判断要检索的数据名称是否在插入数据之后的PIT存储结构中,MA定位数组是与BF具有映射关系的比特数组,用于判断要检索的数据名称在字节数组Bitmap中的位置;片外存储单元具有一个字节数组Bitmap、一个CBF以及多个PacketStore,字节数组Bitmap用于存储要检索的数据名称所对应的地址偏移量,CBF与其他结构配合实现数据的插入和删除,Packet Store用于实现数据转发信息的存储。该结构可以实现快速数据检索,并可以极大降低存储消耗。 | ||
搜索关键词: | 命名 数据 转发 平面 pit 存储 结构 及其 检索 方法 | ||
【主权项】:
一种命名数据网转发平面PIT存储结构及其数据检索方法,其特征在于,包括:命名数据网转发平面PIT存储结构的设计、在所述PIT存储结构中插入数据、对插入数据之后的PIT存储结构进行数据检索或删除;具体步骤如下:步骤一、设计命名数据网转发平面PIT存储结构:命名数据网转发平面PIT存储结构包括一个片内存储单元和一个片外存储单元;其中,所述片内存储单元中具有一个可定位型布隆滤波器MBF,所述可定位型布隆滤波器MBF由一个通用型布隆滤波器和一个定位数组组成,其中,所述通用型布隆滤波器用于判断要检索的数据名称是否在所述插入数据之后的PIT存储结构中,所述定位数组是与所述通用型布隆滤波器具有映射关系的比特数组,用于判断要检索的数据名称在字节数组Bitmap中的位置;所述片外存储单元具有一个字节数组Bitmap、一个计数布隆滤波器CBF以及多个动态存储器,所述字节数组Bitmap用于存储要检索的数据名称所对应的地址偏移量,所述计数布隆滤波器CBF用于实现数据的插入,所述计数布隆滤波器CBF与通用型布隆滤波器实现数据的删除,所述动态存储器用于实现数据转发信息的存储;步骤二、在步骤一所设计的命名数据网转发平面PIT存储结构中插入数据,每插入一个数据的过程包括:步骤2‑1、定位数组初始化:将定位数组中的所有比特位初始化为0;步骤2‑2、输入数据名称:将数据名称输入到上述的命名数据网转发平面PIT存储结构中;步骤2‑3、对该数据名称进行K次哈希编码:所述哈希函数选用CityHash256,同时,根据通用型布隆滤波器的大小来确定编码长度及编码次数K值;步骤2‑4、将K次哈希操作所映射到的通用型布隆滤波器的比特位数值全置为1:即如果哈希操作映射到通用型布隆滤波器的一个比特位,则该比特位置1,通过K次哈希操作后数据名称被插入到通用型布隆滤波器中;步骤2‑5、将K次哈希操作所映射到的计数布隆滤波器CBF的计数器加1:即如果哈希操作映射到计数布隆滤波器CBF的一个计数器,则该计数器加1,通过K次哈希操作后数据名称被插入到计数布隆滤波器CBF中;步骤2‑6、计算定位数组的数值:根据数据名称的K次哈希操作在通用型布隆滤波器中的映射值,计算得出定位数组的数值;步骤2‑7、计算该数据名称在字节数组Bitmap中的位置:根据步骤2‑6中得出的定位数组的数值计算该数据名称在字节数组Bitmap中的第几部分的第几槽;步骤2‑8、为该数据名称分配地址偏移量:根据步骤2‑7得到的该数据名称插入到所在部分的顺序为该数据名称标序号,该序号即为该数据名称在片外存储单元的动态存储器中的地址偏移量,并将该地址偏移量存储在该数据名称所在的字节数组Bitmap的槽内;步骤2‑9、将数据转发信息存储于动态存储器:根据步骤2‑8分配的该数据名称的地址偏移量和动态存储器的基地址为该数据名称分配存储空间,并将与该数据名称对应的转发信息存储于该存储空间内;至此,完成了一个数据的插入操作;步骤三、进行数据检索或是数据删除,分别为:3‑1)对一个数据检索的步骤如下:步骤3‑1‑1、定位数组初始化:将定位数组中的所有比特位初始化为0;步骤3‑1‑2、输入数据名称:将数据名称输入到上述的命名数据网转发平面PIT存储结构中;步骤3‑1‑3、对该输入的数据名称进行K次哈希编码:采用CityHash256,并取步骤2‑3确定的编码长度及编码次数K值对该数据名称进行K次哈希编码;步骤3‑1‑4、判断K次哈希操作所映射的通用型布隆滤波器的比特位数值是否全为1:若映射值全为1,则该输入的数据名称存在于命名数据网转发平面PIT存储结构中,并继续执行步骤3‑1‑5,完成检索;否则,该输入的数据名称不存在于该命名数据网转发平面PIT存储结构中,终止检索;步骤3‑1‑5、计算定位数组的数值:根据该输入的数据名称的K次哈希操作在通用型布隆滤波器中的映射值,计算得到定位数组的数值;步骤3‑1‑6、计算该输入的数据名称在字节数组Bitmap中的位置:根据定位数组的数值计算该输入的数据名称在字节数组Bitmap中的具体位置,即在字节数组Bitmap中的第几部分的第几个槽;步骤3‑1‑7、读取该数据名称的地址偏移量:读取与该输入的数据名称所对应的字节数组Bitmap中具体位置所存储的地址偏移量;步骤3‑1‑8、输出检索结果:根据步骤3‑1‑7读取的该数据名称的地址偏移量以及该数据名称所对应的动态存储器的基地址,找到该数据名称在片外存储单元的动态存储器的存储空间,并读取该存储空间内的数据转发信息,该数据转发信息即为检索结果;3‑2)对一个数据删除的步骤如下:步骤3‑2‑1、定位数组初始化:将定位数组中的所有比特位初始化为0;步骤3‑2‑2、输入待删除的数据名称:将待删除的数据名称输入到上述的命名数据网转发平面PIT存储结构中;步骤3‑2‑3、对待删除的数据名称进行K次哈希编码:采用CityHash256,并取步骤2‑3确定的编码长度及编码次数K值对该数据名称进行K次哈希编码;步骤3‑2‑4、读取待删除的数据名称的K次哈希操作在通用型布隆滤波器中的映射值;步骤3‑2‑5、计算定位数组的数值及计算待删除数据名称在字节数组Bitmap中的位置:根据待删除数据名称的K次哈希操作在通用型布隆滤波器中的映射值,计算得出定位数组的数值;根据上述得出的定位数组的数值计算待删除数据名称在字节数组Bitmap中的第几部分的第几槽;步骤3‑2‑6、读取待删除数据名称的地址偏移量:读取与待删除数据名称所对应的字节数组Bitmap中具体位置所存储的地址偏移量;步骤3‑2‑7、将待删除数据名称的转发信息删除:根据步骤3‑2‑6读取的待删除数据名称的地址偏移量以及待删除数据名称所对应的动态存储器的基地址,找到该数据名称在片外存储单元的动态存储器的存储空间,并删除该存储空间内的数据转发信息;步骤3‑2‑8、将K次哈希操作所映射到的计数布隆滤波器CBF的计数器减1:即如果哈希操作映射到计数布隆滤波器CBF的一个计数器,则该计数器减1,通过K次哈希操作后待删除的数据名称从计数布隆滤波器CBF中删除;步骤3‑2‑9、将计数布隆滤波器CBF与通用型布隆滤波器进行同步:如果待删除数据名称的K次哈希操作对应的计数布隆滤波器CBF的计数器发生由1变为0的情况,则将计数布隆滤波器CBF的计数器数值与所对应的通用型布隆滤波器进行同步;否则无需进行计数布隆滤波器CBF与通用型布隆滤波器的同步操作;至此,完成了一个数据的删除操作。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津大学,未经天津大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710952773.3/,转载请声明来源钻瓜专利网。
- 上一篇:具有刷辊控制的真空吸尘器
- 下一篇:一种降低NVMe固态硬盘写放大的方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置