[发明专利]基于神经网络的命名数据网内容存储池数据删除方法有效
申请号: | 201910260591.9 | 申请日: | 2019-04-02 |
公开(公告)号: | CN110109616B | 公开(公告)日: | 2022-03-01 |
发明(设计)人: | 周美丽;李卓;刘开华 | 申请(专利权)人: | 天津大学 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06N3/08 |
代理公司: | 天津市北洋有限责任专利代理事务所 12201 | 代理人: | 程毓英 |
地址: | 300072*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供一种基于神经网络的命名数据网内容存储池删除方法,所采用的存储池包括:片内存储单元和片外存储单元,片内存储单元使用高速存储器,片内部署一个神经网络模型以实现对数据名称的均匀映射,并部署一个改进型位图,用以将包含相同名称前缀的数据包映射到同一桶中;片外存储单元使用低速存储器,部署多个与改进型位图的动态索引单元的槽slot对应的动态存储器,来存储每个名称前缀的跳表信息,用于指导相同名称前缀Data包在双向跳表中的下一次查找;另部署一个双向跳表结构。此专利给出在所述的存储池中删除Interest包的方法;在所述的存储池删除Data包的方法。 | ||
搜索关键词: | 基于 神经网络 命名 数据 内容 存储 删除 方法 | ||
【主权项】:
1.一种基于神经网络的命名数据网内容存储池数据删除方法,所采用的存储池,包括:一个片内存储单元和一个片外存储单元,所述片内存储单元使用高速存储器,片内部署一个神经网络模型以实现对数据名称的均匀映射,部署一个改进型位图D‑bitmap实现将包含相同名称前缀的数据包映射到同一桶bucket中;片外存储单元使用低速存储器,其上部署多个与改进型位图的动态索引单元的槽slot对应的动态存储器,来存储每个名称前缀的跳表信息,用于指导相同名称前缀Data包在双向跳表中的下一次查找,以提高数据检索速度;另部署一个双向跳表结构,以存放数据包在学习位图内容存储池中的存储位置信息,且每个双向跳表节点中存有先入先出队列FIFO单指针和最近最少使用LRU双指针。神经网络模型以实现对数据名称的均匀映射过程如下:首先,神经网络采集样本进行训练,与命名数据网名称数据格式类似的大量统一资源定位符URL作为样本数据;其次,计算样本数据的累积分布函数F(x)值作为标签;然后,训练反向传播神经网络,学习出能反映索引数据分布情况的神经网络模型,最后,将数据名称的名称字符串作为输入,输入训练出神经网络模型,得到一个0~1之间的实数值,该数值乘以改进型位图的槽总数,得到映射标号,即实现对数据名称的均匀映射;双向跳表数据结构设计如下:双向跳表采用多层结构,且每层由一条双向链表构成,其跳表节点按照名称前缀的ID号增序排列;跳表节点间用FIFO单指针和LRU双指针相连,每个节点中存储有ID、指向前向节点指针(prev)和后向节点的指针(next)信息;动态存储器数据结构设计如下:动态存储器中记录的内容有:名称前缀、前向节点(prev_nodes)、前向节点地址(next_node_addr)、后向节点(next_nodes)、后向节点地址(next_node_addr)和当前节点(recent_node);其中名称前缀是从数据包名称<名称前缀,ID>中提取出来的;前向节点和后向节点是某个节点在查找时转折的关键节点对,前向节点地址和后向节点地址为节点地址;当前节点为最近刚查找的节点;在存储池中选择最优双向跳表查找节点并确定查找方向过程如下:利用动态存储器中的节点信息:名称前缀、前向节点、前向节点地址、后向节点、后向节点地址和当前节点,选择最优双向跳表查找节点并确定查找方向过程如下:对于有相同名称前缀的数据j,首先比较j的ID和当前节点的ID大小,如果ID<当前节点的ID,则从前向节点中依据ID号选择与数据j最近的折返节点作为最佳开始查找节点;如果ID>当前节点的ID,则从后向节点中选取依据ID号选择与数据j最近的折返节点作为最佳开始查找节点;若选择的最佳开始节点的ID小于j的ID,则从最佳开始节点向后查找,否则,从最佳开始节点向前查找;并且在数据查找过程中,及时更新以上记录的节点信息;在所述存储池存储结构中删除Data包,每删除一个Data包的步骤如下:步骤1:输入Data包名称前缀和ID:输入Data包的名称前缀和ID到学习位图内容存储池存储结构中;步骤2:精确名称匹配:在学习位图中对该名称前缀直接进行映射操作;步骤3:计算映射标号:该名称前缀经神经网络运算得到一个0~1之间的索引映射值,该值乘改进型位图的槽总数,得出该Data包映射到改进型位图上的映射标号;步骤4:计算基地址和偏移地址:由映射标号除以每个桶的槽总量取整得到该名称前缀所在的桶序号即为基地址,名称前缀进入该桶的顺序号为该名称前缀的偏移地址;步骤5:判断改进型位图中是否存在该名称前缀:若偏移地址所指向的槽中值为0,则证明改进型位图中不存在该名称前缀,执行步骤10,否则,证明存在该名称前缀,执行步骤6;步骤6:访问动态存储器:由该名称前缀经学习位图训练映射后得到的基地址和偏移地址来访问动态存储器;步骤7:在双向跳表中查找Data包:选择最优双向跳表查找节点并确定查找方向,在双向跳表中查找Data包;7‑1:输入数据x的名称前缀和ID:将数据x的名称前缀和ID号输入到双向跳表,此时数据x的ID记为id1,且假设id1是第一次在该名称前缀所对应的双向跳表结构中进行查找;7‑2:头结点查找:按照传统跳表的查找方式,从双向跳表跳表中的头节点最高层开始向后查找,并将查找路径节点信息记录与动态存储器中,并继续步骤8;7‑3:输入数据y的名称前缀和ID:将与数据x有相同前缀的数据y的名称前缀名称前缀和ID号输入到双向跳表输入,并提取数据y的ID号记为id2;7‑4:选择最佳开始查找节点及查找方向:如果id1大于id2,则从记录在动态存储器中前折返节点中选择ID值相差最小的节点作为最佳节点,否则,从后折返节点中选择ID值相差最小的节点作为最佳节点;7‑5:查找双向跳表:从最佳开始查找节点按照查找方向进行查找,同时更新动态存储器中记录的折返节点信息;步骤8:判断双向跳表中是否存在该Data:在双向跳表中查找与ID号对应的Data包,若未找到ID相同的节点,则说明不存在该Data包,则执行步骤10,否则,执行步骤9;步骤9:删除该Data包节点,并继续执行步骤10;步骤10:Data包在学习位图内容存储池结构中的删除结束;在存储池存储结构中双向查找名称数据,每查找一次名称数据的步骤如下:步骤1:输入数据x的名称前缀和ID:将数据x的名称前缀和ID号输入到双向跳表,此时数据x的ID记为id1,且假设id1是第一次在该名称前缀所对应的双向跳表结构中进行查找;步骤2:头结点查找:按照传统跳表的查找方式,从双向跳表跳表中的头节点最高层查找直至找到id1节点,并返回该数据x的实际存储地址;步骤3:记录折返节点信息:将id1查找过程中每层跳表的前折返节点和后折返节点信息全部记录于所属该名称前缀的动态存储器中;步骤4:输入数据y的名称前缀和ID:将与数据x有相同前缀的数据y的名称前缀名称前缀和ID号输入到双向跳表输入,并提取数据y的ID号记为id2;步骤5:判断ID是否相等:若id1=id2,证明数据y与数据x相等,则执行步骤10,否则执行步骤6;步骤6:选择最佳开始查找节点及查找方向:如果id1大于id2,则从记录在动态存储器中前折返节点中选择ID值相差最小的节点作为最佳节点,否则,从后折返节点中选择ID值相差最小的节点作为最佳节点;步骤7:查找双向跳表:从最佳开始查找节点按照查找方向进行查找,同时更新动态存储器中记录的折返节点信息;步骤8:判断是否存在该Data包:若双向跳表中存在ID相等的节点,则证明存在该Data包,执行步骤9,否则,证明不存在该Data包,执行步骤10;步骤9:输出实际存储地址:返回该Data包的实际内容的存储地址,继续执行步骤11;步骤10:输出不存在该Data包:输出不存在该Data包,并继续执行步骤11;步骤11:数据名称在双向跳表结构中的查找结束。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津大学,未经天津大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201910260591.9/,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置