[发明专利]一种针对数据分片的命名数据网络连续数据推送方法有效

专利信息
申请号: 201910774785.0 申请日: 2019-08-21
公开(公告)号: CN110493885B 公开(公告)日: 2020-12-08
发明(设计)人: 安建平;刁文澜;李彤;胡晗;张宇;于季弘;范戎飞 申请(专利权)人: 北京理工大学
主分类号: H04W76/10 分类号: H04W76/10;H04W76/12;H04W76/16
代理公司: 北京正阳理工知识产权代理事务所(普通合伙) 11639 代理人: 唐华
地址: 100081 *** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明涉及一种针对数据分片的命名数据网络连续数据推送方法,属于计算机网络数据传输技术领域。包括a)设置NDN各结点名称和位置信息及结点间连接链路b)结点相互通告链路状态并建立链路状态数据库c)结点交换链路状态数据库信息并汇总全网链路状态信息d)数据源结点向全网通告持有数据内容名称e)各结点计算到达其他结点和获取数据内容的最优路径并写入FIB表f)数据源发送推送请求兴趣包及用户回复推送应答数据包g)用户发送数据请求兴趣包及数据源回复推送数据包h)用户计数并接收推送数据包i)用户清点校验推送数据包并发送重传请求兴趣包及数据源重传部分推送数据包。实现了数据包的连续推送并降低了链路和带宽消耗。
搜索关键词: 一种 针对 数据 分片 命名 网络 连续 推送 方法
【主权项】:
1.一种针对数据分片的命名数据网络连续数据推送方法,其特征在于:即数据包的传输“推”模式;包括以下几部分:a)设置命名数据网络中各结点的名称和位置信息及结点间连接链路、b)相邻结点互相通告链路状态及各结点建立链路状态数据库、c)相邻结点交换链路状态数据库信息及各结点汇总全网链路状态信息、d)数据源结点向全网结点通告该结点持有数据内容的名称、e)各结点计算到达其他结点和获取数据内容的最优路径并写入FIB表、f)数据源发送推送请求兴趣包以及用户回复推送应答数据包、g)用户发送数据请求兴趣包以及数据源回复推送数据包、h)用户计数并接收推送数据包、i)用户清点校验推送数据包并根据校验结果发送重传请求兴趣包以及数据源重传部分推送数据包;/n具体包括以下步骤:/n步骤1、设置命名数据网络中各结点的名称和位置信息及结点间连接链路,具体包括如下子步骤:/n步骤1.1设置命名数据网络NDN中各通信结点的名称和结点位置;/n步骤1.2在命名数据网络NDN中,用有线链路或无线链路连接相邻结点的通信接口,使之构成可通信的命名数据网络;/n其中,通信接口指硬件接口,简称接口,主机或路由器通过该接口接入其他硬件设备;所述其他硬件设备是指除本结点主机或路由器以外的硬件设备;/n步骤2、相邻结点互相通告链路状态及各结点建立链路状态数据库,具体包括如下子步骤:/n步骤2.1NDN中每两个相邻结点互相向对方发送一次问候兴趣包;/n其中,相邻结点指的是NDN中任意两个通过一条链路直接相连的结点;/n步骤2.2NDN各结点建立本结点的链路状态数据库,根据收到的来自所有相邻结点的问候兴趣包,记录本结点所有相邻结点的名字及对应链路路由代价;/n步骤3、相邻结点交换链路状态数据库信息及各结点汇总全网链路状态信息,具体包括如下子步骤:/n步骤3.1NDN中各结点向所有相邻结点发送链路状态兴趣包;/n步骤3.2NDN各结点将收到的来自所有相邻结点的链路状态数据库信息与本结点现有链路状态数据库信息进行对比,若收到的所有链路状态数据库信息与本结点现有的链路状态数据库信息均一致,则执行3.2.1;否则,执行3.2.2;/n3.2.1若收到的来自所有相邻结点的链路状态数据库信息均与本结点现有的链路状态数据库信息一致,表明各结点均已记录NDN所有结点名字与链路状态,各结点关于NDN全网的链路状态数据库已经建立,跳至步骤4;/n3.2.2若收到的来自相邻结点的链路状态数据库信息与本结点现有的链路状态数据库信息存在差异,则NDN结点根据相邻结点的链路状态数据库信息,补充本结点链路状态数据库中缺少的链路状态信息,跳至步骤3.1;/n步骤4、数据源结点向全网结点通告该结点持有数据内容的名称,具体包括如下子步骤:/n步骤4.1NDN中数据源结点向所有相邻结点发送内容兴趣包;/n其中,内容兴趣包的内容:“数据源结点的名称及其持有数据内容的名称”;/n步骤4.2NDN中收到内容兴趣包的结点,首先记录数据源名称及其持有的数据内容的名称,然后向本结点中除接收接口以外的所有接口转发内容兴趣包;/n其中,接收接口即本结点的通信接口,此处特指收到内容兴趣包的接口;/n所述步骤4用于通知NDN所有结点数据源结点持有的数据内容的名称;/n步骤5、各结点计算到达其他结点和获取数据内容的最优路径并写入FIB表,具体包括如下子步骤:/n步骤5.1NDN各结点根据本结点记录的关于NDN全网的链路状态数据库,利用Dijkstra算法计算从本结点到其他结点的最优路径并添加FIB表条目1;/n所述FIB表条目1的内容:“结点名称以及从本结点到该结点的最优路径上的下一转发结点名称”;/n步骤5.2NDN各结点查询链路状态数据库确定网络中数据源结点的位置,利用Dijkstra算法计算从本结点到数据源结点的最优路径并添加FIB条目2;/n其中,FIB条目2的内容:“数据源结点持有的数据内容的名称以及从本结点到数据源结点的最优路径上的下一转发结点名称”;/n所述步骤5用于为NDN结点间的数据通信提供数据转发依据;/n为方便表述下文中“数据源结点”简称“数据源”,“用户结点”简称“用户”;/n步骤6、数据源发送推送请求兴趣包以及用户回复推送应答数据包,具体包括如下子步骤:/n步骤6.1数据源向用户发送推送请求兴趣包,并在数据源的PIT表中记录推送请求兴趣包条目,设置并启动数据源PIT表条目定时器T1;/n其中,推送请求兴趣包的内容:“推送数据内容的名称和数据包数量N”;/n数据源PIT表中记录推送请求兴趣包条目的内容:“推送请求兴趣包的名称,以及推送请求兴趣包对应的下游接口”;/n当T1定时到期时,数据源PIT表中记录的推送请求兴趣包条目将被擦除;/n步骤6.2用户收到推送请求兴趣包,查看得知数据源意图推送的数据内容的名称和数据包数量N;用户查看本结点中内容存储表CS的剩余空间R,根据剩余空间R的大小决定是否接受数据包推送,以及接受推送的数据包数量M;/n其中,用户是否接受推送数据包的判定依据为:/n若数据源意图推送的数据内容不是用户所必需的数据内容,且用户CS剩余空间R小于等于N,则拒绝数据包推送;/n若数据源意图推送的数据内容不是用户所必需的数据内容,且用户CS剩余空间R大于N,则接受数据包推送,且接受推送的数据包数量M=N;/n若数据源意图推送的数据内容是用户所必需的数据内容,且用户的CS剩余空间R大于等于N,则接受数据包推送,且接受推送的数据包数量M=N;/n若数据源意图推送的数据内容是用户所必需的数据内容,且用户的CS剩余空间R小于N,则用户从CS缓存的数据包中,按照缓存时间先后和使用频率,将最先缓存的K个数据包中使用次数最少的(N-R)个数据包丢弃,使CS的剩余空间达到N,然后接受数据包推送,且接受推送的数据包数量M=N;/n其中,K的取值范围为500到2000,用户所必需的数据内容指的是NDN用户进行通信所必需的数据内容,包括网络配置信息、网络拓扑信息以及网络更新信息;/n步骤6.3用户向数据源发送推送应答数据包,若用户拒绝数据包推送,则推送应答数据包的内容是“用户拒绝数据包推送”;若用户接受数据包推送,则推送应答数据包的内容是“用户接受数据包推送,接受推送的数据包数量为M”;/n其中,推送应答数据包与推送请求兴趣包的命名相同,推送应答数据包将按照推送请求兴趣包转发的反向路径,经多个结点转发到达数据源;/n步骤6.4数据源收到推送应答数据包,首先查看PIT表,寻找与推送应答数据包匹配的推送请求兴趣包条目,若存在匹配的PIT条目,则执行步骤6.5;若不存在匹配的PIT条目,则数据源丢弃推送应答数据包,结束所述命名数据网络连续数据推送过程;/n步骤6.5数据源查看推送应答数据包的内容,若推送应答数据包的内容是“用户拒绝数据包推送”,则执行6.5.1;若推送应答数据包内容是“用户接受数据包推送,接受推送的数据包数量为M”,则执行6.5.2;/n6.5.1若推送应答数据包的内容是“用户拒绝数据包推送”,则数据源将PIT表中的推送请求兴趣包条目擦除,并丢弃推送应答数据包,结束所述命名数据网络连续数据推送过程;/n6.5.2若推送应答数据包的内容是“用户接受数据包推送,接受推送的数据包数量为M”,则数据源将PIT表中的推送请求兴趣包条目擦除,在准备推送的所有数据包中,将数据包序号S为1~M的数据包,按序放入数据包推送队列;/n其中,数据包序号S为组成数据文件的多个数据分片按照数据组成顺序的标号,标号方式为1,2,3……N,一个数据分片聚合为一个数据包;/n所述数据包推送队列用于放置数据源将要推送的所有数据包;/n步骤7、用户发送数据请求兴趣包以及数据源回复推送数据包,具体包括如下子步骤:/n步骤7.1用户向数据源发送数据请求兴趣包,并在用户PIT表中记录数据请求兴趣包条目,设置并启动用户PIT表条目定时器T2;/n其中,数据请求兴趣包的内容:“请求推送的数据内容名称,以及请求推送的数据包数量M”,PIT表中数据请求兴趣包条目内容:“数据请求兴趣包的名称,以及数据请求兴趣包对应的下游接口”;/n所述用户PIT表条目定时器T2用于规定用户PIT表中记录条目的生存时间,此处规定的是数据请求兴趣包条目的生存时间,其时间取值范围为1s~100s,当T2定时到期时,用户PIT表中记录的数据请求兴趣包条目将被擦除;/n步骤7.2数据源收到数据请求兴趣包,向用户连续发送推送数据包;/n具体为:数据源设置并启动推送定时器T3,当T3定时到期时,数据源将数据包推送队列中首个推送数据包发送给用户,将T3清零并再次启动T3定时,即每隔T3时间数据源向用户发送一个推送数据包直到M个推送数据包全部按序发送,所有推送数据包均按照数据请求兴趣包的反向转发路径转发到达用户;/n其中,推送定时器T3的时间取值范围为1ms~100ms,T3用于设置推送数据包的发送频率,推送数据包即数据包推送队列中的所有数据包,且所有推送数据包均与步骤7.1中数据请求兴趣包的命名相同;/n步骤7.3推送数据包发送完毕,数据源向用户发送完结数据包;/n具体为:数据源将推送定时器T3清零并再次启动T3开始定时,当T3定时到期时,数据源向用户发送一个完结数据包,然后将T3清零并再次启动T3开始定时,T3定时到期时再向用户发送一个完结数据包,如此循环H次,即数据源在推送数据包发送结束后,每隔T3时间向用户发送一个完结数据包,共发送H个完结数据包;/n其中,H的取值范围为1~5,完结数据包的命名、数据内容格式均与步骤7.2中推送数据包相同,但完结数据包中的数据内容为空,且完结数据包的序号均设置为(M+1),完结数据包代表数据源已经发送全部推送数据包;/n步骤8、用户计数并接收推送数据包,具体包括如下子步骤:/n步骤8.1用户设置并启动接收计数器C1,开始接收推送数据包;/n其中,接收计数器的初值设置为C1=M;/n步骤8.2用户收到一个推送数据包,则查询PIT表寻找与推送数据包名称相同的PIT表匹配条目,若匹配条目存在且用户PIT表条目定时器T2尚未到期,则执行步骤8.3;一旦用户PIT表条目定时器T2到期,则转至步骤8.5继续执行;若用户PIT表中不存在与推送数据包匹配的数据请求兴趣包条目,则用户丢弃推送数据包,结束所述命名数据网络连续数据推送过程;/n步骤8.3用户收到推送数据包,查看该数据包的序号是否是(M+1),若是,表明这是一个完结数据包,即用户已收到所有可接收的推送数据包,则用户将PIT表条目擦除,将用户PIT表条目定时器T2清零,将接收计数器C1清零,执行步骤9;若不是,则用户将接收计数器C1减1,执行步骤8.4;/n步骤8.4用户检测接收计数器C1是否为0,若接收计数器C1=0,执行8.4.1;若接收计数器C1≠0,则执行8.4.2;/n8.4.1若接收计数器C1=0,说明用户收到来自数据源的M个推送数据包,则用户将PIT表条目擦除,将用户PIT表条目定时器T2清零,将接收计数器C1清零,继续执行步骤9;/n8.4.2若接收计数器C1≠0,说明来自数据源的推送数据包尚未接收完毕,则转至步骤8.2继续执行;/n步骤8.5用户PIT表条目定时器T2到期,则用户PIT表中记录的条目会被擦除,此时数据包推送尚未完成,则用户向数据源发送一个数据续传兴趣包,在用户PIT表中记录数据续传兴趣包条目,再次启动T2开始定时;/n其中,数据续传兴趣包的内容:“用户接收的推送数据包的最大序号为S”,S为用户接收的所有推送数据包中序号最大值,表示用户缺少序号为(S+1)~M的推送数据包;用户PIT表中记录数据续传兴趣包条目内容:“数据续传兴趣包的名称,以及数据续传兴趣包对应的下游接口”,此处T2规定的是用户PIT表中数据续传兴趣包条目的生存时间;/n所述数据续传兴趣包与步骤7.1中数据请求兴趣包的命名不相同,且多次发送的数据续传兴趣包的命名也互不相同;/n步骤8.6数据源收到数据续传兴趣包后,停止正在进行的数据包推送,将推送定时器T3清零,将序号为(S+1)~M的推送数据包放入数据包推送队列中;/n步骤8.7数据源再次启动推送定时器T3,按照推送数据包的标号顺序,每隔T3时间向用户发送数据包推送队列中的首个推送数据包,将序号为(S+1)~M的推送数据包按序推送给用户;/n其中,所有推送数据包均与步骤8.5中数据续传兴趣包的命名相同,所有推送数据包均按照数据续传兴趣包的反向转发路径转发到达用户;/n步骤8.8数据源将推送定时器T3置零,重新启动T3,T3定时到期时数据源向用户发送一个完结数据包,然后将T3清零并再次启动T3,如此循环H次,即数据源每隔T3时间向用户发送一个完结数据包,共发送H个完结数据包;/n其中,完结数据包的命名、数据内容格式均与步骤8.7中的推送数据包相同,但完结数据包中的数据内容为空,且完结数据包的序号均设置为(M+1);/n步骤8.9用户收到一个推送数据包,则查询PIT表寻找与推送数据包匹配的数据续传兴趣包条目,若匹配条目存在且用户PIT表条目定时器T2尚未到期,则执行步骤8.3;一旦用户PIT表条目定时器T2到期,则转至步骤8.5继续执行;若用户PIT表中不存在与推送数据包匹配的数据续传兴趣包条目,则用户丢弃推送数据包,结束所述命名数据网络连续数据推送过程;/n步骤9、用户清点校验推送数据包并根据校验结果发送重传请求兴趣包以及数据源重传部分推送数据包,具体包括如下子步骤:/n步骤9.1用户按序号1~M清点推送数据包,确认推送数据包是否完备;/n具体为:用户按序号清点推送数据包,若对应某一序号存在多个推送数据包,则保留最近接收的推送数据包,丢弃其他推送数据包;若某个序号对应的推送数据包缺失,则将缺失的推送数据包序号记入推送数据包重传列表中;若接收的推送数据包中,序号1~M的推送数据包都存在,则继续执行步骤9.2;/n其中,推送数据包重传列表记录的是用户接收的所有推送数据包中,缺失的推送数据包序号,以及数据内容校验错误的推送数据包序号;/n步骤9.2用户对所有推送数据包,进行CRC校验,校验推送数据包的数据内容是否正确,若某个推送数据包的数据内容经CRC校验错误,则将该推送数据包的序号记录在推送数据包重传列表中,并丢弃这个推送数据包,若某个推送数据包的数据内容经CRC校验正确,则不进行任何操作;/n步骤9.3推送数据包清点校验完毕,用户查看推送数据包重传列表,若推送数据包重传列表为空,表明序号为1~M的所有推送数据包均正确接收,则继续执行步骤9.8;若推送数据包重传列表不为空,则计数推送数据包重传列表中记录序号的数量X,继续执行步骤9.4;/n步骤9.4用户向数据源发送重传请求兴趣包,在PIT表中记录重传请求兴趣包条目并启动T2,重新设置并启动接收计数器C1,清空推送数据包重传列表;/n其中,设置接收计数器初值C1=X,此处T2规定的是用户PIT表中重传请求兴趣包条目的生存时间;重传请求兴趣包的内容:“用户请求重新推送数据包的序号”,即推送数据包重传列表中记录的所有序号,PIT表中重传请求兴趣包条目内容:“重传请求兴趣包的名称,以及重传请求兴趣包对应的下游接口”;/n上述重传请求兴趣包的命名与步骤8.5中数据续传兴趣包以及步骤7.1中数据请求兴趣包的命名均不相同,且多次发送重传请求兴趣包命名也互不相同;/n步骤9.5数据源收到重传请求兴趣包后,将推送定时器T3清零,将重传请求兴趣包的中用户请求的相应序号的推送数据包放入数据包推送队列;/n步骤9.6数据源向用户重传部分推送数据包并发送完结数据包;/n具体为:数据源再次启动推送定时器T3,按照数据包的标号顺序,每隔T3时间向用户发送数据包推送队列中的首个推送数据包,直到数据包推送队列中的推送数据包发送完毕;然后数据源再次启动推送定时器T3,每隔T3时间向用户发送一个完结数据包,共发送H个完结数据包;/n其中,所有推送数据包均与步骤9.4中重传请求兴趣包命名相同,所述完结数据包的命名、数据内容格式均与步骤9.6中的推送数据包相同,但完结数据包的数据内容为空,且完结数据包的序号均被设为(M+1);/n步骤9.7用户收到一个推送数据包,则查询PIT表寻找与推送数据包匹配的重传请求兴趣包条目,若匹配条目存在且用户PIT表条目定时器T2尚未到期,则执行步骤8.3;一旦用户PIT表条目定时器T2到期,则擦除PIT表中重传请求兴趣包条目,并将T2清零,转至步骤9.1继续执行;若用户PIT表中不存在与推送数据包匹配的重传请求兴趣包条目,则用户丢弃推送数据包,结束所述命名数据网络连续数据推送过程;/n步骤9.8用户正确接收序号为1~M的推送数据包,则将M个推送数据包按序号由小到大的顺序存入用户的CS中;/n步骤9.9数据源中数据包推送过程结束,推送定时器T3清零;/n至此,针对数据分片的命名数据网络连续数据推送过程结束。/n
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201910774785.0/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top