一种针对数据分片的命名数据网络连续数据推送方法技术

技术编号:22650069 阅读:31 留言:0更新日期:2019-11-26 18:20
本发明专利技术涉及一种针对数据分片的命名数据网络连续数据推送方法,属于计算机网络数据传输技术领域。包括a)设置NDN各结点名称和位置信息及结点间连接链路b)结点相互通告链路状态并建立链路状态数据库c)结点交换链路状态数据库信息并汇总全网链路状态信息d)数据源结点向全网通告持有数据内容名称e)各结点计算到达其他结点和获取数据内容的最优路径并写入FIB表f)数据源发送推送请求兴趣包及用户回复推送应答数据包g)用户发送数据请求兴趣包及数据源回复推送数据包h)用户计数并接收推送数据包i)用户清点校验推送数据包并发送重传请求兴趣包及数据源重传部分推送数据包。实现了数据包的连续推送并降低了链路和带宽消耗。

A continuous data push method of named data network for data partition

The invention relates to a named data network continuous data push method for data slicing, belonging to the technical field of computer network data transmission. It includes a) setting the name and location information of each node in NDN and the connection link between nodes b) informing each other of the link state and establishing the link state database C) exchanging the link state database information of each node and summarizing the link state information of the whole network D) informing the whole network of the name of the data content held by the data source node E) calculating the optimal path to other nodes and obtaining the data content of each node and writing it into the FIB table F) data source sends push request interest package and user reply push response data package g) user sends data request interest package and data source reply push data package h) user counts and receives push data package I) user checks and verifies push data package and sends retransmission request interest package and data source retransmission part push data package. It realizes the continuous push of data packets and reduces the link and bandwidth consumption.

【技术实现步骤摘要】
一种针对数据分片的命名数据网络连续数据推送方法
本专利技术涉及一种针对数据分片的命名数据网络连续数据推送方法,尤其涉及命名数据网络NDN(NamedDataNetworking)中一种针对数据分片的连续数据推送方法,属于计算机网络数据传输

技术介绍
命名数据网络NDN是一种以命名数据为主要通信对象的网络体系,是信息中心网络的一种实现方案。在NDN中,通过对数据内容命名并根据数据包的名字信息进行寻址,改变了目前网络基于IP地址的寻址方式,实现了数据内容和主机地址的分离,数据通信模式从“端到端”转变为“端到网络”。NDN中的通信由数据请求者驱动,即数据请求者需要首先发送数据请求,数据发布者根据所请求数据内容的名称将相应的数据内容回复给数据请求者。NDN中包含两种格式的包,分别是兴趣包(InterestPacket)和数据包(DataPacket),其中兴趣包是用户即数据请求者为请求数据而发送的包含所需数据内容的名字的请求包,数据包是数据源即数据发布者为响应兴趣包而回复的,包含用户所需数据内容的包,并且数据包和相应兴趣包的内容名称相同,命名也一致。由于NDN中的兴趣包不携带目的地址信息,所有兴趣包均被路由器以逐跳转发的方式进行处理。NDN中按照兴趣包的流动方向,定义结点中兴趣包流入的接口为“下游接口”,兴趣包流出的接口为“上游接口”。NDN中每个路由器包含三种表结构,分别是转发信息表FIB(ForwardingInformationBase)、待定请求表PIT(PendingInterestTable)和内容存储表CS(ContentStore)。FIB表记录的是相应名字的兴趣包可以被转发的“上游接口”集合,用来将兴趣包转发到所匹配的下一接口,如果没有匹配接口,则这个兴趣包将被丢弃。PIT表存储的是已经被当前结点转发出去的兴趣包的名字及其对应的“下游接口”,便于结点收到数据包后,按照兴趣包转发的反向路径将数据包回复给数据请求者。CS中存储的是数据发布者发送而来的数据,在数据包转发过程中,沿途路由器将数据包的数据内容缓存在其CS中,则邻近用户可以直接从该路由器中获取数据内容,而无需到数据发布者源头那里去获取。在现有的NDN数据通信模式中,数据内容的获取必须通过用户发送兴趣包驱动数据源回复数据包的“拉”模式,且兴趣包与数据包传输存在“一对一”的限制关系。在这一通信模式下,NDN的数据通信效率存在两个主要限制因素:(1)NDN中,现有数据传输模式是用户发送兴趣包驱动数据源回复数据包的“拉”模式,即仅当用户需要某项数据内容时,用户才发送兴趣包驱动数据源回复数据包。而对于网络中的公共数据信息,如配置信息、网络拓扑信息等用户进行数据通信所必需的数据信息,若用户也通过发送兴趣包驱动数据源回复数据包的方式来获取这些数据内容,则兴趣包的发送将占用较多的链路资源。若数据源能够直接将这些数据内容“推送”给用户则能够大大节省链路带宽。(2)NDN通过兴趣包与数据包“一对一”的通信模式实现用户数据内容获取。而受网络结点的传输能力限制,较大的数据文件将被分成多个数据分片,即该数据文件由多个数据包组成。当用户需要此数据文件时,需要发送多个兴趣包,才能收到所有数据包以获取完整的数据内容。因此NDN中较大数据的分片数据传输占用较多链路资源,导致了信道链路和带宽资源的浪费。综上所述,目前NDN中缺少一种针对数据分片的连续数据推送方法,用来实现数据内容的主动推送和数据包连续传输,从而减少频繁发送兴趣包带来的链路和带宽消耗,降低数据传输时延,提高数据传输效率和链路带宽利用率。
技术实现思路
本专利技术的目的在于进一步降低NDN的数据传输时延,减少链路带宽消耗,提高NDN的数据传输效率和链路带宽利用率;提出了一种针对数据分片的命名数据网络连续数据推送方法,即数据包的传输“推”模式。本专利技术的技术方案包括以下几部分:a)设置命名数据网络中各结点的名称和位置信息及结点间连接链路、b)相邻结点互相通告链路状态及各结点建立链路状态数据库、c)相邻结点交换链路状态数据库信息及各结点汇总全网链路状态信息、d)数据源结点向全网结点通告该结点持有数据内容的名称、e)各结点计算到达其他结点和获取数据内容的最优路径并写入FIB表、f)数据源发送推送请求兴趣包以及用户回复推送应答数据包、g)用户发送数据请求兴趣包以及数据源回复推送数据包、h)用户计数并接收推送数据包、i)用户清点校验推送数据包并根据校验结果发送重传请求兴趣包以及数据源重传部分推送数据包。所述针对数据分片的命名数据网络连续数据推送方法,包括以下步骤:步骤1、设置命名数据网络中各结点的名称和位置信息及结点间连接链路,具体包括如下子步骤:步骤1.1设置命名数据网络NDN中各通信结点的名称和结点位置;步骤1.2在命名数据网络NDN中,用有线链路或无线链路连接相邻结点的通信接口,使之构成可通信的命名数据网络;其中,通信接口指硬件接口,简称接口,主机或路由器通过该接口接入其他硬件设备;所述其他硬件设备是指除本结点主机或路由器以外的硬件设备;所述有线链路是指两个结点之间的物理线路;无线链路是指以无线电波为传输介质,在无线通信设备之间传输数据的通信链路;步骤2、相邻结点互相通告链路状态及各结点建立链路状态数据库,具体包括如下子步骤:步骤2.1NDN中每两个相邻结点互相向对方发送一次问候兴趣包;其中,相邻结点指的是NDN中任意两个通过一条链路直接相连的结点;问候兴趣包的内容:“本结点名字以及与本结点进行数据通信的链路路由代价”;所述步骤2.1用来确定NDN中相邻结点的名字及可达性;步骤2.2NDN各结点建立本结点的链路状态数据库,根据收到的来自所有相邻结点的问候兴趣包,记录本结点所有相邻结点的名字及对应链路路由代价;其中,链路状态数据库用于记录各结点已知的有关NDN的所有链路状态,链路状态是指“本结点已知的所有结点的名字以及各结点间链路的路由代价”;步骤3、相邻结点交换链路状态数据库信息及各结点汇总全网链路状态信息,具体包括如下子步骤:步骤3.1NDN中各结点向所有相邻结点发送链路状态兴趣包;其中,链路状态兴趣包的内容:“本结点链路状态数据库的所有信息”;步骤3.2NDN各结点将收到的来自所有相邻结点的链路状态数据库信息与本结点现有链路状态数据库信息进行对比,若收到的所有链路状态数据库信息与本结点现有的链路状态数据库信息均一致,则执行3.2.1;否则,执行3.2.2;3.2.1若收到的来自所有相邻结点的链路状态数据库信息均与本结点现有的链路状态数据库信息一致,表明各结点均已记录NDN所有结点名字与链路状态,各结点关于NDN全网的链路状态数据库已经建立,继续执行步骤4;3.2.2若收到的来自相邻结点的链路状态数据库信息与本结点现有的链路状态数据库信息存在差异,则NDN结点根据相邻结点的链路状态数据库信息,补充本结点链路状态数据库中缺少的链路状态信息,继续执行步骤本文档来自技高网
...

【技术保护点】
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...

【技术特征摘要】
1.一种针对数据分片的命名数据网络连续数据推送方法,其特征在于:即数据包的传输“推”模式;包括以下几部分:a)设置命名数据网络中各结点的名称和位置信息及结点间连接链路、b)相邻结点互相通告链路状态及各结点建立链路状态数据库、c)相邻结点交换链路状态数据库信息及各结点汇总全网链路状态信息、d)数据源结点向全网结点通告该结点持有数据内容的名称、e)各结点计算到达其他结点和获取数据内容的最优路径并写入FIB表、f)数据源发送推送请求兴趣包以及用户回复推送应答数据包、g)用户发送数据请求兴趣包以及数据源回复推送数据包、h)用户计数并接收推送数据包、i)用户清点校验推送数据包并根据校验结果发送重传请求兴趣包以及数据源重传部分推送数据包;
具体包括以下步骤:
步骤1、设置命名数据网络中各结点的名称和位置信息及结点间连接链路,具体包括如下子步骤:
步骤1.1设置命名数据网络NDN中各通信结点的名称和结点位置;
步骤1.2在命名数据网络NDN中,用有线链路或无线链路连接相邻结点的通信接口,使之构成可通信的命名数据网络;
其中,通信接口指硬件接口,简称接口,主机或路由器通过该接口接入其他硬件设备;所述其他硬件设备是指除本结点主机或路由器以外的硬件设备;
步骤2、相邻结点互相通告链路状态及各结点建立链路状态数据库,具体包括如下子步骤:
步骤2.1NDN中每两个相邻结点互相向对方发送一次问候兴趣包;
其中,相邻结点指的是NDN中任意两个通过一条链路直接相连的结点;
步骤2.2NDN各结点建立本结点的链路状态数据库,根据收到的来自所有相邻结点的问候兴趣包,记录本结点所有相邻结点的名字及对应链路路由代价;
步骤3、相邻结点交换链路状态数据库信息及各结点汇总全网链路状态信息,具体包括如下子步骤:
步骤3.1NDN中各结点向所有相邻结点发送链路状态兴趣包;
步骤3.2NDN各结点将收到的来自所有相邻结点的链路状态数据库信息与本结点现有链路状态数据库信息进行对比,若收到的所有链路状态数据库信息与本结点现有的链路状态数据库信息均一致,则执行3.2.1;否则,执行3.2.2;
3.2.1若收到的来自所有相邻结点的链路状态数据库信息均与本结点现有的链路状态数据库信息一致,表明各结点均已记录NDN所有结点名字与链路状态,各结点关于NDN全网的链路状态数据库已经建立,跳至步骤4;
3.2.2若收到的来自相邻结点的链路状态数据库信息与本结点现有的链路状态数据库信息存在差异,则NDN结点根据相邻结点的链路状态数据库信息,补充本结点链路状态数据库中缺少的链路状态信息,跳至步骤3.1;
步骤4、数据源结点向全网结点通告该结点持有数据内容的名称,具体包括如下子步骤:
步骤4.1NDN中数据源结点向所有相邻结点发送内容兴趣包;
其中,内容兴趣包的内容:“数据源结点的名称及其持有数据内容的名称”;
步骤4.2NDN中收到内容兴趣包的结点,首先记录数据源名称及其持有的数据内容的名称,然后向本结点中除接收接口以外的所有接口转发内容兴趣包;
其中,接收接口即本结点的通信接口,此处特指收到内容兴趣包的接口;
所述步骤4用于通知NDN所有结点数据源结点持有的数据内容的名称;
步骤5、各结点计算到达其他结点和获取数据内容的最优路径并写入FIB表,具体包括如下子步骤:
步骤5.1NDN各结点根据本结点记录的关于NDN全网的链路状态数据库,利用Dijkstra算法计算从本结点到其他结点的最优路径并添加FIB表条目1;
所述FIB表条目1的内容:“结点名称以及从本结点到该结点的最优路径上的下一转发结点名称”;
步骤5.2NDN各结点查询链路状态数据库确定网络中数据源结点的位置,利用Dijkstra算法计算从本结点到数据源结点的最优路径并添加FIB条目2;
其中,FIB条目2的内容:“数据源结点持有的数据内容的名称以及从本结点到数据源结点的最优路径上的下一转发结点名称”;
所述步骤5用于为NDN结点间的数据通信提供数据转发依据;
为方便表述下文中“数据源结点”简称“数据源”,“用户结点”简称“用户”;
步骤6、数据源发送推送请求兴趣包以及用户回复推送应答数据包,具体包括如下子步骤:
步骤6.1数据源向用户发送推送请求兴趣包,并在数据源的PIT表中记录推送请求兴趣包条目,设置并启动数据源PIT表条目定时器T1;
其中,推送请求兴趣包的内容:“推送数据内容的名称和数据包数量N”;
数据源PIT表中记录推送请求兴趣包条目的内容:“推送请求兴趣包的名称,以及推送请求兴趣包对应的下游接口”;
当T1定时到期时,数据源PIT表中记录的推送请求兴趣包条目将被擦除;
步骤6.2用户收到推送请求兴趣包,查看得知数据源意图推送的数据内容的名称和数据包数量N;用户查看本结点中内容存储表CS的剩余空间R,根据剩余空间R的大小决定是否接受数据包推送,以及接受推送的数据包数量M;
其中,用户是否接受推送数据包的判定依据为:
若数据源意图推送的数据内容不是用户所必需的数据内容,且用户CS剩余空间R小于等于N,则拒绝数据包推送;
若数据源意图推送的数据内容不是用户所必需的数据内容,且用户CS剩余空间R大于N,则接受数据包推送,且接受推送的数据包数量M=N;
若数据源意图推送的数据内容是用户所必需的数据内容,且用户的CS剩余空间R大于等于N,则接受数据包推送,且接受推送的数据包数量M=N;
若数据源意图推送的数据内容是用户所必需的数据内容,且用户的CS剩余空间R小于N,则用户从CS缓存的数据包中,按照缓存时间先后和使用频率,将最先缓存的K个数据包中使用次数最少的(N-R)个数据包丢弃,使CS的剩余空间达到N,然后接受数据包推送,且接受推送的数据包数量M=N;
其中,K的取值范围为500到2000,用户所必需的数据内容指的是NDN用户进行通信所必需的数据内容,包括网络配置信息、网络拓扑信息以及网络更新信息;
步骤6.3用户向数据源发送推送应答数据包,若用户拒绝数据包推送,则推送应答数据包的内容是“用户拒绝数据包推送”;若用户接受数据包推送,则推送应答数据包的内容是“用户接受数据包推送,接受推送的数据包数量为M”;
其中,推送应答数据包与推送请求兴趣包的命名相同,推送应答数据包将按照推送请求兴趣包转发的反向路径,经多个结点转发到达数据源;
步骤6.4数据源收到推送应答数据包,首先查看PIT表,寻找与推送应答数据包匹配的推送请求兴趣包条目,若存在匹配的PIT条目,则执行步骤6.5;若不存在匹配的PIT条目,则数据源丢弃推送应答数据包,结束所述命名数据网络连续数据推送过程;
步骤6.5数据源查看推送应答数据包的内容,若推送应答数据包的内容是“用户拒绝数据包推送”,则执行6.5.1;若推送应答数据包内容是“用户接受数据包推送,接受推送的数据包数量为M”,则执行6.5.2;
6.5.1若推送应答数据包的内容是“用户拒绝数据包推送”,则数据源将PIT表中的推送请求兴趣包条目擦除,并丢弃推送应答数据包,结束所述命名数据网络连续数据推送过程;
6.5.2若推送应答数据包的内容是“用户接受数据包推送,接受推送的数据包数量为M”,则数据源将PIT表中的推送请求兴趣包条目擦除,在准备推送的所有数据包中,将数据包序号S为1~M的数据包,按序放入数据包推送队列;
其中,数据包序号S为组成数据文件的多个数据分片按照数据组成顺序的标号,标号方式为1,2,3……N,一个数据分片聚合为一个数据包;
所述数据包推送队列用于放置数据源将要推送的所有数据包;
步骤7、用户发送数据请求兴趣包以及数据源回复推送数据包,具体包括如下子步骤:
步骤7.1用户向数据源发送数据请求兴趣包,并在用户PIT表中记录数据请求兴趣包条目,设置并启动用户PIT表条目定时器T2;
其中,数据请求兴趣包的内容:“请求推送的数据内容名称,以及请求推送的数据包数量M”,PIT表中数据请求兴趣包条目内容:“数据请求兴趣包的名称,以及数据请求兴趣包对应的下游接口”;
所述用户PIT表条目定时器T2用于规定用户PIT表中记录条目的生存时间,此处规定的是数据请求兴趣包条目的生存时间,其时间取值范围为1s~100s,当T2定时到期时,用户PIT表中记录的数据请求兴趣包条目将被擦除;
步骤7.2数据源收到数据请求兴趣包,向用户连续发送推送数据包;
具体为:数据源设置并启动推送定时器T3,当T3定时到期时,数据源将数据包推送队列中首个推送数据包发送给用户,将T3清零并再次启动T3定时,即每隔T3时间数据源向用户发送一个推送数据包直到M个推送数据包全部按序发送,所有推送数据包均按照数据请求兴趣包的反向转发路径转发到达用户;
其中,推送定时器T3的时间取值范围为1ms~100ms,T3用于设置推送数据包的发送频率,推送数据包即数据包推送队列中的所有数据包,且所有推送数据包均与步骤7.1中数据请求兴趣包的命名相同;
步骤7.3推送数据包发送完毕,数据源向用户发送完结数据包;
具体为:数据源将推送定时器T3清零并再次启动T3开始定时,当T3定时到期时,数据源向用户发送一个完结数据包,然后将T3清零并再次启动T3开始定时,T3定时到期时再向用户发送一个完结数据包,如此循环H次,即数据源在推送数据包发送结束后,每隔T3时间向用户发送一个完结数据包,共发送H个完结数据包;
其中,H的取值范围为1~...

【专利技术属性】
技术研发人员:安建平刁文澜李彤胡晗张宇于季弘范戎飞
申请(专利权)人:北京理工大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1