一种基于命名数据网络的大数据通信实现方法技术

技术编号:20049676 阅读:34 留言:0更新日期:2019-01-09 05:45
本发明专利技术提供了一种基于命名数据网络的大数据通信实现方法,所述网络由一个控制器,两个以上的路由器和两个以上的节点构成;控制器和每个路由器的坐标具有唯一性,控制器和路由器由自己的坐标唯一标识;在本发明专利技术中,节点能够快速获取数据,大幅度降低了数据通信延迟,提高了数据通信质量。本发明专利技术可应用于交通路况检控及农业工程化等诸多领域,具有广泛的应用前景。

【技术实现步骤摘要】
一种基于命名数据网络的大数据通信实现方法
本专利技术涉及一种实现方法,尤其涉及的是一种基于命名数据网络的大数据通信实现方法。
技术介绍
命名数据网络中的节点之间通信通过中间节点的转发和路由来实现,因此,实现命名数据网络需要解决的关键技术之一就是降低数据传输延迟,以便使用户能够快速获取网络服务。随着命名数据网络技术的发展,命名数据网络会成为未来网络提供服务的一种模式。目前,命名数据网络的实现模式是通过广播来实现,因此延迟和代价都比较大,降低了网络服务性能。因此,如何降低命名数据网络提供服务的延迟和代价成为近年来研究的热点问题。
技术实现思路
专利技术目的:本专利技术所要解决的技术问题是针对现有技术的不足,提供一种基于命名数据网络的大数据通信实现方法。技术方案:本专利技术公开了一种基于命名数据网络的大数据通信实现方法,所述网络由一个控制器,两个以上的路由器和两个以上的节点构成;控制器和每个路由器的坐标具有唯一性,控制器和路由器由自己的坐标唯一标识;一种类型的数据由一个名称唯一标识并由N个数据分片构成,N为大于1的正整数,每个数据分片由分片IDn'唯一标识,n'=1...N;例如:数据可以是一部电视剧,由30集构成,每集电视剧即为一个数据分片;一个控制器配置两个以上的有线接口,每个有线接口与一个路由器连接;一个路由器配置两个以上的上游有线接口、两个以上的下游有线接口以及两个以上的下游无线接口,每个上游有线接口与一个控制器或者路由器相连,一个路由器的下游有线接口与一个路由器或者节点相连,一个路由器的下游无线接口与节点相连;一个节点配置一个有线接口或者一个无线接口,该接口与路由器的下游接口相连,该路由器称为该节点的关联路由器;每个有线接口或者无线接口由一个接口ID唯一标识,接口ID预先配置,接口ID为正整数,例如1;接口ID为i的接口记为为接口i,i为正整数;一个消息由名称、消息类型、分片ID集合、接口ID集合和负载构成;消息类型值如下所示:控制器和每个路由器保存一个路由器表,一个路由器表项包含坐标域,接口ID集合域和生命周期域;一个路由器R定期执行下述操作以维护路由器表:步骤101:开始;步骤102:路由器R从每个上游接口发送一个路由器发布消息,该路由器发布消息的名称域为空,消息类型值为1,分片ID集合和接口ID集合均为空,负载为路由器R的坐标;步骤103:判断是控制器从接口f1还是路由器从上游接口u1接收到该路由器发布消息,如果是控制器从接口f1则执行步骤112,否则执行步骤104;步骤104:路由器将u1加入到该路由器发布消息的接口ID集合中并作为最后一个元素,然后查看路由器表;如果存在一个路由器表项,该路由器表项的坐标域值等于该路由器发布消息负载中的坐标值,且接口ID集合中的元素个数小于该路由器发布消息的接口ID集合中的元素个数,则执行步骤120,否则执行步骤105;步骤105:从上游接口u1接收到路由器发布消息的路由器查看路由器表,如果存在一个路由器表项,该路由器表项的接口ID集合等于该路由器发布消息的接口ID集合,则执行步骤106,否则执行步骤107;步骤106:从上游接口u1接收到路由器发布消息的路由器选择一个路由器表项,该路由器表项的接口ID集合等于该路由器发布消息的接口ID集合,将该路由器表项的生命周期设置为最大值,从除了接口u1以外的每个上游接口转发该路由器发布消息,执行步骤103;步骤107:从上游接口u1接收到路由器发布消息的路由器查看路由器表,如果存在一个路由器表项,该路由器表项的坐标域值等于该路由器发布消息负载中的坐标,且接口ID集合的元素个数等于该路由器发布消息的接口ID集合中的元素个数,则执行步骤108,否则执行步骤109;步骤108:从上游接口u1接收到路由器发布消息的路由器创建一个路由器表项,该路由器表项的坐标域值等于该路由器发布消息负载中的坐标,接口ID集合等于该路由器发布消息的接口ID集合,生命周期设置为最大值,例如500ms,从除了接口u1以外的每个上游接口转发该路由器发布消息,执行步骤103;步骤109:从上游接口u1接收到路由器发布消息的路由器查看路由器表,如果至少存在一个路由器表项,该路由器表项的坐标域值等于该路由器发布消息负载中的坐标,且接口ID集合的元素个数大于该路由器发布消息的接口ID集合中的元素个数,则执行步骤110,否则执行步骤111;步骤110:从上游接口u1接收到路由器发布消息的路由器查看路由器表,选择所有符合条件1的路由器表项,删除选中的路由器表项,该路由器创建一个路由器表项,该路由器表项的坐标域值等于该路由器发布消息负载中的坐标,接口ID集合等于该路由器发布消息的接口ID集合,将生命周期设置为最大值,从除了接口u1以外的每个上游接口转发该路由器发布消息,执行步骤103;条件1:该路由器表项的坐标域值等于该路由器发布消息负载中的坐标,且接口ID集合的元素个数大于该路由器发布消息的接口ID集合中的元素个数;步骤111:从上游接口u1接收到路由器发布消息的路由器创建一个路由器表项,该路由器表项的坐标域值等于该路由器发布消息负载中的坐标,接口ID集合等于该路由器发布消息的接口ID集合,将生命周期设置为最大值,从除了接口u1以外的每个上游接口转发该路由器发布消息,执行步骤103;步骤112:控制器从接口f1接收到路由器发布消息后,将f1加入到该路由器发布消息的接口ID集合中并作为最后一个元素,然后查看路由器表,如果存在一个路由器表项,该路由器表项的坐标域值等于该路由器发布消息负载中的坐标值,且接口ID集合中的元素个数小于该路由器发布消息的接口ID集合中的元素个数,则执行步骤120,否则执行步骤113;步骤113:从接口f1接收到路由器发布消息的控制器查看路由器表,如果存在一个路由器表项,该路由器表项的接口ID集合等于该路由器发布消息的接口ID集合,则执行步骤114,否则执行步骤115;步骤114:从接口f1接收到路由器发布消息的控制器选择一个路由器表项,该路由器表项的接口ID集合等于该路由器发布消息的接口ID集合,将该路由器表项的生命周期设置为最大值,从除了接口f1以外的每个接口转发该路由器发布消息,执行步骤103;步骤115:从接口f1接收到路由器发布消息的控制器查看路由器表;如果存在一个路由器表项,该路由器表项的坐标域值等于该路由器发布消息负载中的坐标,且接口ID集合的元素个数等于该路由器发布消息的接口ID集合中的元素个数,则执行步骤116,否则执行步骤117;步骤116:从接口f1接收到路由器发布消息的控制器创建一个路由器表项,该路由器表项的坐标域值等于该路由器发布消息负载中的坐标,接口ID集合等于该路由器发布消息的接口ID集合,生命周期设置为最大值,从除了接口f1以外的每个接口转发该路由器发布消息,执行步骤103;步骤117:从接口f1接收到路由器发布消息的控制器查看路由器表;如果至少存在一个路由器表项,该路由器表项的坐标域值等于该路由器发布消息负载中的坐标,且接口ID集合的元素个数大于该路由器发布消息的接口ID集合中的元素个数,则执行步骤118,否则执行步骤119;步骤118:从接口f1接收到路由器发布消息的控制器查看路由器表;选择所有符合条件1的路由本文档来自技高网...

【技术保护点】
1.一种基于命名数据网络的大数据通信实现方法,其特征在于,所述网络由一个控制器,两个以上的路由器和两个以上的节点构成;控制器和每个路由器的坐标具有唯一性,控制器和路由器由自己的坐标唯一标识;一种类型的数据由一个名称唯一标识并由N个数据分片构成,N为大于1的正整数,每个数据分片由分片ID n'唯一标识,n'=1...N;一个控制器配置两个以上的有线接口,每个有线接口与一个路由器连接;一个路由器配置两个以上的上游有线接口、两个以上的下游有线接口以及两个以上的下游无线接口,每个上游有线接口与一个控制器或者路由器相连,一个路由器的下游有线接口与一个路由器或者节点相连,一个路由器的下游无线接口与节点相连;一个节点配置一个有线接口或者一个无线接口,该接口与路由器的下游接口相连,该路由器称为该节点的关联路由器;每个有线接口或者无线接口由一个接口ID唯一标识,接口ID预先配置,接口ID为正整数;接口ID为i的接口记为为接口i,i为正整数;一个消息由名称、消息类型、分片ID集合、接口ID集合和负载构成;消息类型值如下所示:

【技术特征摘要】
1.一种基于命名数据网络的大数据通信实现方法,其特征在于,所述网络由一个控制器,两个以上的路由器和两个以上的节点构成;控制器和每个路由器的坐标具有唯一性,控制器和路由器由自己的坐标唯一标识;一种类型的数据由一个名称唯一标识并由N个数据分片构成,N为大于1的正整数,每个数据分片由分片IDn'唯一标识,n'=1...N;一个控制器配置两个以上的有线接口,每个有线接口与一个路由器连接;一个路由器配置两个以上的上游有线接口、两个以上的下游有线接口以及两个以上的下游无线接口,每个上游有线接口与一个控制器或者路由器相连,一个路由器的下游有线接口与一个路由器或者节点相连,一个路由器的下游无线接口与节点相连;一个节点配置一个有线接口或者一个无线接口,该接口与路由器的下游接口相连,该路由器称为该节点的关联路由器;每个有线接口或者无线接口由一个接口ID唯一标识,接口ID预先配置,接口ID为正整数;接口ID为i的接口记为为接口i,i为正整数;一个消息由名称、消息类型、分片ID集合、接口ID集合和负载构成;消息类型值如下所示:消息类型名称消息类型值路由器发布消息1控制器发布消息2节点发布消息3删除消息4路径消息5确认消息6查询消息7数据消息8控制器和每个路由器保存一个路由器表,一个路由器表项包含坐标域,接口ID集合域和生命周期域;一个路由器R定期执行下述操作以维护路由器表:步骤101:开始;步骤102:路由器R从每个上游接口发送一个路由器发布消息,该路由器发布消息的名称域为空,消息类型值为1,分片ID集合和接口ID集合均为空,负载为路由器R的坐标;步骤103:判断是控制器从接口f1还是路由器从上游接口u1接收到该路由器发布消息,如果是控制器从接口f1则执行步骤112,否则执行步骤104;步骤104:路由器将u1加入到该路由器发布消息的接口ID集合中并作为最后一个元素,然后查看路由器表;如果存在一个路由器表项,该路由器表项的坐标域值等于该路由器发布消息负载中的坐标值,且接口ID集合中的元素个数小于该路由器发布消息的接口ID集合中的元素个数,则执行步骤120,否则执行步骤105;步骤105:从上游接口u1接收到路由器发布消息的路由器查看路由器表,如果存在一个路由器表项,该路由器表项的接口ID集合等于该路由器发布消息的接口ID集合,则执行步骤106,否则执行步骤107;步骤106:从上游接口u1接收到路由器发布消息的路由器选择一个路由器表项,该路由器表项的接口ID集合等于该路由器发布消息的接口ID集合,将该路由器表项的生命周期设置为最大值,从除了接口u1以外的每个上游接口转发该路由器发布消息,执行步骤103;步骤107:从上游接口u1接收到路由器发布消息的路由器查看路由器表,如果存在一个路由器表项,该路由器表项的坐标域值等于该路由器发布消息负载中的坐标,且接口ID集合的元素个数等于该路由器发布消息的接口ID集合中的元素个数,则执行步骤108,否则执行步骤109;步骤108:从上游接口u1接收到路由器发布消息的路由器创建一个路由器表项,该路由器表项的坐标域值等于该路由器发布消息负载中的坐标,接口ID集合等于该路由器发布消息的接口ID集合,生命周期设置为最大值,从除了接口u1以外的每个上游接口转发该路由器发布消息,执行步骤103;步骤109:从上游接口u1接收到路由器发布消息的路由器查看路由器表,如果至少存在一个路由器表项,该路由器表项的坐标域值等于该路由器发布消息负载中的坐标,且接口ID集合的元素个数大于该路由器发布消息的接口ID集合中的元素个数,则执行步骤110,否则执行步骤111;步骤110:从上游接口u1接收到路由器发布消息的路由器查看路由器表,选择所有符合条件1的路由器表项,删除选中的路由器表项,该路由器创建一个路由器表项,该路由器表项的坐标域值等于该路由器发布消息负载中的坐标,接口ID集合等于该路由器发布消息的接口ID集合,将生命周期设置为最大值,从除了接口u1以外的每个上游接口转发该路由器发布消息,执行步骤103;条件1:该路由器表项的坐标域值等于该路由器发布消息负载中的坐标,且接口ID集合的元素个数大于该路由器发布消息的接口ID集合中的元素个数;步骤111:从上游接口u1接收到路由器发布消息的路由器创建一个路由器表项,该路由器表项的坐标域值等于该路由器发布消息负载中的坐标,接口ID集合等于该路由器发布消息的接口ID集合,将生命周期设置为最大值,从除了接口u1以外的每个上游接口转发该路由器发布消息,执行步骤103;步骤112:控制器从接口f1接收到路由器发布消息后,将f1加入到该路由器发布消息的接口ID集合中并作为最后一个元素,然后查看路由器表,如果存在一个路由器表项,该路由器表项的坐标域值等于该路由器发布消息负载中的坐标值,且接口ID集合中的元素个数小于该路由器发布消息的接口ID集合中的元素个数,则执行步骤120,否则执行步骤113;步骤113:从接口f1接收到路由器发布消息的控制器查看路由器表,如果存在一个路由器表项,该路由器表项的接口ID集合等于该路由器发布消息的接口ID集合,则执行步骤114,否则执行步骤115;步骤114:从接口f1接收到路由器发布消息的控制器选择一个路由器表项,该路由器表项的接口ID集合等于该路由器发布消息的接口ID集合,将该路由器表项的生命周期设置为最大值,从除了接口f1以外的每个接口转发该路由器发布消息,执行步骤103;步骤115:从接口f1接收到路由器发布消息的控制器查看路由器表;如果存在一个路由器表项,该路由器表项的坐标域值等于该路由器发布消息负载中的坐标,且接口ID集合的元素个数等于该路由器发布消息的接口ID集合中的元素个数,则执行步骤116,否则执行步骤117;步骤116:从接口f1接收到路由器发布消息的控制器创建一个路由器表项,该路由器表项的坐标域值等于该路由器发布消息负载中的坐标,接口ID集合等于该路由器发布消息的接口ID集合,生命周期设置为最大值,从除了接口f1以外的每个接口转发该路由器发布消息,执行步骤103;步骤117:从接口f1接收到路由器发布消息的控制器查看路由器表;如果至少存在一个路由器表项,该路由器表项的坐标域值等于该路由器发布消息负载中的坐标,且接口ID集合的元素个数大于该路由器发布消息的接口ID集合中的元素个数,则执行步骤118,否则执行步骤119;步骤118:从接口f1接收到路由器发布消息的控制器查看路由器表;选择所有符合条件1的路由器表项,删除选中的路由器表项;该控制器创建一个路由器表项,该路由器表项的坐标域值等于该路由器发布消息负载中的坐标,接口ID集合等于该路由器发布消息的接口ID集合,将生命周期设置为最大值,从除了接口f1以外的每个接口转发该路由器发布消息,执行步骤103;步骤119:从接口f1接收到路由器发布消息的控制器创建一个路由器表项,该路由器表项的坐标域值等于该路由器发布消息负载中的坐标,接口ID集合等于该路由器发布消息的接口ID集合,将生命周期设置为最大值,从除了接口f1以外的每个接口转发该路由器发布消息,执行步骤103;步骤120:结束;如果路由器或者控制器检测到一个路由器表项的生命周期衰减为0,则删除该路由器表项。2.根据权利要求1所述的一种基于命名数据网络的大数据通信实现方法,其特征在于,一个路由器维护一个控制器表,每个控制器表项包含接口ID集合域以及生命周期域,控制器定期执行下述操作维护控制器表:步骤201:开始;步骤202:控制器从每个接口发送一个控制器发布消息,该控制器发布消息的名称域为空,消息类型值为2,分片ID集合和接口ID集合均为空,负载为空;步骤203:路由器从上游接口u2接收到控制器发布消息后,将上游接口u2加入到该控制器发布消息的接口ID集合中并作为最后一个元素,然后查看控制器表,如果存在一个控制器表项,该控制器表项的接口ID集合中的元素个数小于该控制器发布消息的接口ID集合中的元素个数,则执行步骤211,否则执行步骤204;步骤204:从上游接口u2接收到路由器发布消息的路由器查看控制器表,如果存在一个控制器表项,该控制器表项的接口ID集合等于该控制器发布消息的接口ID集合,则执行步骤205,否则执行步骤206;步骤205:从上游接口u2接收到控制器发布消息的控制器选择一个控制器表项,该控制器表项的接口ID集合等于该控制器发布消息的接口ID集合,将该控制器表项的生命周期设置为最大值,从除了接口u2以外的每个上游接口转发该控制器发布消息,执行步骤203;步骤206:从上游接口u2接收到控制器发布消息的路由器查看控制器表,如果存在一个控制器表项,该控制器表项的接口ID集合的元素个数等于该控制器发布消息的接口ID集合中的元素个数,则执行步骤207,否则执行步骤208;步骤207:从上游接口u2接收到控制器发布消息的路由器创建一个控制器表项,该控制器表项的接口ID集合等于该控制器发布消息的接口ID集合,生命周期设置为最大值,从除了接口u2以外的每个上游接口转发该控制器发布消息,执行步骤203;步骤208:从上游接口u2接收到控制器发布消息的路由器查看控制器表,如果至少存在一个控制器表项,该控制器表项的接口ID集合的元素个数大于该控制器发布消息的接口ID集合中的元素个数,则执行步骤209,否则执行步骤210;步骤209:从上游接口u2接收到控制器发布消息的路由器查看控制器表,选择所有符合条件2的控制器表项,删除选中的控制器表项,该路由器创建一个控制器表项,该控制器表项的接口ID集合等于该控制器发布消息的接口ID集合,将生命周期设置为最大值,从除了接口u2以外的每个上游接口转发该控制器发布消息,执行步骤203;条件2:该控制器表项接口ID集合的元素个数大于该控制器发布消息的接口ID集合中的元素个数;步骤210:从上游接口u2接收到控制器发布消息的路由器创建一个控制器表项,该控制器表项的接口ID集合等于该控制器发布消息的接口ID集合,将生命周期设置为最大值,从除了接口u2以外的每个上游接口转发该控制器发布消息,执行步骤203;步骤211:结束;如果路由器检测到一个控制器表项的生命周期衰减为0,则删除该控制器表项。3.根据权利要求2所述的一种基于命名数据网络的大数据通信实现方法,其特征在于,一个路由器或者控制器维护一个检索表,一个检索表项包含坐标域、名称域、分片ID集合域和生命周期域;一个路由器保存一个节点表,一个节点表项包含名称域、分片ID集合域、接口ID域和生命周期域;在节点N1的关联路由器为路由器R1,数据C1由名称NA1唯一标识,数据C1由M1个数据分片构成,M1为大于1的正整数的条件下,如果节点N1产生或者获取了数据C1的数据分片,所述数据分片的分片ID集合为SS1,那么节点N1执行下述操作发布这些数据分片:步骤301:开始;步骤302:节点N1发送一个节点发布消息,该节点发布消息的名称为NA1,接口ID集合为空,分片ID集合为SS1,消息类型值为3,负载为空;步骤303:路由器R1从下游接口x1接收到该节点发布消息后,查看节点表;如果存在一个节点表项,该节点表项的名称域值和分片ID集合分别等于该节点发布消息的名称域值和分片ID集合,且接口ID域值等于x1,路由器R1则将该节点表项的生命周期设置为最大值;否则,路由器R1创建一个节点表项,该节点表项的名称域值和分片ID集合分别等于该节点发布消息的名称域值和分片ID集合,接口ID域值等于x1,生命周期设置为最大值;步骤304:结束。4.根据权利要求3所述的一种基于命名数据网络的大数据通信实现方法,其特征在于,路由器R1查看节点表,对于每个节点表项E1,路由器R1定期执行下述操作以维护检索表:步骤401:开始;步骤402:路由器R1查看控制器表,针对每个控制器表项,路由器R1执行下述操作:路由器R1构建一个节点发布消息,该节点发布消息的名称和分片ID集合分别等于节点表项E1的名称和分片ID集合,消息类型值为3,接口ID集合等于该控制器表项的接口ID集合,负载为路由器R1的坐标;路由器R1选择节点发布消息中的接口ID集合中最后一个元素所标识的接口,从节点发布消息中的接口ID集合中删除最后一个元素,从选中的接口发送该节点发布消息;步骤403:判断是控制器还是路由器接接收到该节点发布消息,如果是控制器则执行步骤406,否则执行步骤404;步骤404:路由器接收到该节点发布消息后查看检索表,如果存在一个检索表项,该检索表项的坐标等于该节点发布消息负载中的坐标,且名称与分片ID集合分别等于该节点发布消息的名称和分片ID集合,该路由器则将该检索表项的生命周期设置为最大值,否则,该路由器创建一个检索表项,该检索表项的坐标等于该节点发布消息负载中的坐标,且名称与分片ID集合分别等于该节点发布消息的名称和分片ID集合,该路由器则将该检索表项的生命周期设置为最大值;步骤405:接收到该节点发布消息的路由器选择该节点发布消息中的接口ID集合中最后一个元素所标识的接口,从该节点发布消息中的接口ID集合中删除最后一个元素,从选中的接口发送该节点发布消息,执行步骤403;步骤406:控制器接收到该节点发布消息后查看检索表,如果存在一个检索表项,该检索表项的坐标等于该节点发布消息负载中的坐标,且名称与分片ID集合分别等于该节点发布消息的名称和分片ID集合,该控制器则将该检索表项的生命周期设置为最大值,否则,该控制器创建一个检索表项,该检索表项的坐标等于该节点发布消息负载中的坐标,且名称与分片ID集合分别等于该节点发布消息的名称和分片ID集合,生命周期设置为最大值;步骤407:结束。5.根据权利要求3所述的一种基于命名数据网络的大数据通信实现方法,其特征在于,如果路由器R1检测到节点表项E2的生命周期衰减到0,则执行下述操作更新检索表:步骤501:开始;步骤502:路由器R1查看除了节点表项E2以外是否还存在一个节点表项,该节点表项的名称域值等于节点表项E2的名称域值,且分片ID集合等于节点表项E2的分片ID集合或者为节点表项E2的分片ID集合的超集,如果是,则执行步骤503,否则执行步骤504;步骤503:路由器R1删除节点表项E2,执行步骤508;步骤504:路由器R1查看控制器表,针对每个控制器表项,路由器R1执行下述操作:路由器R1构建一个删除消息,该删除消息的名称和分片ID集合分别等于节点表项E2的名称和分片ID集合,消息类型值为4,接口ID集合等于该控制器表项的接口ID集合,负载为路由器R1的坐标;路由器R1选择删除消息中的接口ID集合中最后一个元素所标识的接口,从删除消息中的接口ID集合中删除最后一个元素,从选中的接口发送该删除消息;步骤505:判断是控制器还是路由器接收到该删除消息,如果是控制器则执行步骤507,否则执行步骤506;步骤506:路由器...

【专利技术属性】
技术研发人员:王晓喃姚宇峰闫海英
申请(专利权)人:常熟理工学院
类型:发明
国别省市:江苏,32

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

1