一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据传输方法及装置、可读存储介质、节点设备与流程

2022-02-24 13:03:35 来源:中国专利 TAG:


1.本发明涉及机会网络通信技术领域,尤其涉及一种数据传输方法及装置、可读存储介质、节点设备。


背景技术:

2.机会网络是一种无线自组织网络,区别于传统的通信网络,机会网络的特点在于其不需要在源节点和目的节点之间建立完整的链路便可发生消息的传输。目前的机会网络主要采用epidemic算法(泛洪算法),其采用泛洪的方式将消息传递给相遇的节点,该算法通过移动节点间两两相遇实现消息的交换,每个携带消息的节点(源节点)将消息副本转发给它所遇到的未携带该消息的节点,期望每个节点(目的节点)携带尽可能多的消息,这种方式需要较大的网络开销,容易导致部分网络区域甚至全网区域出现拥塞。
3.为了在网络开销方面实现较好的性能,现有技术还提出了一种时空敏感的地图分区数据分发策略(space sensitive map zoningscheme,ssmz),这种方式为每一个节点赋予一个地图分区属性,并将地图进行分区,通过计算获得节点的地图分区属性,用来表示该节点所在的地图分区位置,在执行的过程中,地图分区属性被不断计算并更新,仅当2个相遇节点在同一区域时(即2个相遇节点的地图分区属性相同时),才能互相转发数据,这种方式虽然在数据采集率与网络开销方面表现出了一定的性能,但是仍然容易出现节点数据分发拥塞的情况,影响网络整体传输性能。


技术实现要素:

4.基于上述现状,本发明的主要目的在于提供一种数据传输方法及装置、可读存储介质、节点设备,有利于减少机会网络中出现的节点数据分发拥塞的情况。
5.为实现上述目的,本发明的技术方案提供了一种数据传输方法,应用于机会网络中的源节点,所述方法包括:
6.步骤100:获取源节点的当前位置,并根据所述源节点的当前位置在预先划分的多个地图分区中确定所述源节点当前所在的地图分区;
7.步骤200:根据所述源节点当前所在的地图分区及当前所连接的邻居节点建立节点连接表,所述节点连接表包括与所述源节点位于相同地图分区的邻居节点的身份标识;
8.步骤300:确定所述节点连接表中的饱和节点,然后确定饱和节点在所述节点连接表中所占的比例,其中,所述饱和节点为缓存剩余容量与缓存总量之比小于第一阈值的节点;
9.步骤400:将所述饱和节点在所述节点连接表中所占的比例与第二阈值进行比较,若所述比例大于所述第二阈值,则开始对待转发数据包的数据大小进行检测,并根据所述检测的结果转发数据大小小于第三阈值的待转发数据包以及过滤数据大小不小于所述第三阈值的待转发数据包。
10.进一步地,步骤200包括:
11.步骤210:检测邻居节点并当检测到邻居节点时与该邻居节点建立连接;
12.步骤220:向所述源节点当前连接的邻居节点发送地图分区属性查询请求,使所述当前连接的邻居节点将其自身的地图分区属性发送给所述源节点;
13.步骤230:在接收到所述当前连接的邻居节点的地图分区属性后,判断该邻居节点与所述源节点的地图分区属性是否相同,若相同,则将所述当前连接的邻居节点的硬件地址信息添加到所述节点连接表中。
14.进一步地,所述步骤300包括:
15.步骤310:对于所述节点连接表中的每一个邻居节点,通过向其发送缓存状态调取请求获取其缓存剩余容量与缓存总量之比,然后将其缓存剩余容量与缓存总量之比与所述第一阈值比较,若小于所述第一阈值,则将其标记为饱和节点;
16.步骤320:统计饱和节点的数量,并根据统计的数量计算饱和节点在所述节点连接表中所占的比例。
17.进一步地,步骤400包括:
18.步骤410:将所述比例与所述第二阈值进行比较,若所述比例大于所述第二阈值,则执行步骤420,若所述比例不大于所述第二阈值,则执行步骤430;
19.步骤420:确定所述源节点当前处于饱和地图分区,以及当确定所述源节点处于所述饱和地图分区时,检测所述源节点的待转发数据包的数据大小,并将所述待转发数据包的数据大小与所述第三阈值进行比较,若所述待转发数据包的数据大小小于所述第三阈值,则将其转发至所述节点连接表中的邻居节点,若所述待转发数据包的数据大小不小于所述第三阈值,则将其过滤;
20.步骤430:确定所述源节点当前处于非饱和地图分区,以及当确定所述源节点处于所述非饱和地图分区时,采用泛洪的方式转发所述源节点的待转发数据包。
21.进一步地,所述源节点采用zigbee或者蓝牙2.0通信方式时,所述第一阈值为区间[0.23,0.27]中的任意值和所述第二阈值为区间[0.73,0.77]中的任意值;
[0022]
所述源节点采用蓝牙3.0或蓝牙4.0或4g通信方式时,所述第一阈值为区间[0.18,0.22]中的任意值和所述第二阈值为区间[0.78,0.82]中的任意值;
[0023]
所述源节点采用3g通信方式时,所述第一阈值为区间[0.13,0.17]中的任意值和所述第二阈值为区间[0.83,0.87]中的任意值,或者所述第一阈值为区间[0.08,0.12]中的任意值和所述第二阈值为区间[0.88,0.92]中的任意值
[0024]
进一步地,所述方法还包括:
[0025]
检测所述源节点与当前连接的邻居节点之间的距离,当检测到所述距离大于第四阈值时断开所述源节点与当前连接的邻居节点之间的通信连接。
[0026]
进一步地,所述方法还包括:
[0027]
在所述源节点的缓存已满时,若所述源节点存在待写入的待转发数据包,则将所述待写入的待转发数据包写入到所述缓存中当前最先写入的待转发数据包所在的存储位置。
[0028]
为实现上述目的,本发明的技术方案还提供了一种数据传输装置,应用于机会网络中的源节点,所述装置包括:
[0029]
位置获取模块,用于获取源节点的当前位置,并根据所述源节点的当前位置在预
先划分的多个地图分区中确定所述源节点当前所在的地图分区;
[0030]
节点连接表建立模块,用于根据所述源节点当前所在的地图分区及当前所连接的邻居节点建立节点连接表,所述节点连接表包括与所述源节点位于相同地图分区的邻居节点的身份标识;
[0031]
饱和节点检测模块,用于确定所述节点连接表中的饱和节点,然后确定饱和节点在所述节点连接表中所占的比例,其中,所述饱和节点为缓存剩余容量与缓存总量之比小于第一阈值的节点;
[0032]
转发处理模块,用于将所述饱和节点在所述节点连接表中所占的比例与第二阈值进行比较,若所述比例大于所述第二阈值,则开始对待转发数据包的数据大小进行检测,并根据所述检测的结果转发数据大小小于第三阈值的待转发数据包以及过滤数据大小不小于所述第三阈值的待转发数据包。
[0033]
进一步地,所述节点连接表建立模块包括:
[0034]
节点检测单元,用于检测邻居节点并当检测到邻居节点时与该邻居节点建立连接;
[0035]
请求发送单元,用于向所述源节点当前连接的邻居节点发送地图分区属性查询请求,使所述当前连接的邻居节点将其自身的地图分区属性发送给所述源节点;
[0036]
属性检测单元,用于在接收到所述当前连接的邻居节点的地图分区属性后,判断该邻居节点与所述源节点的地图分区属性是否相同,若相同,则将所述当前连接的邻居节点的硬件地址信息添加到所述节点连接表中。
[0037]
进一步地,所述饱和节点检测模块包括:
[0038]
节点标记单元,用于对于所述节点连接表中的每一个邻居节点,通过向其发送缓存状态调取请求获取其缓存剩余容量与缓存总量之比,然后将其缓存剩余容量与缓存总量之比与所述第一阈值比较,若小于所述第一阈值,则将其标记为饱和节点;
[0039]
统计单元,用于统计饱和节点的数量,并根据统计的数量计算饱和节点在所述节点连接表中所占的比例。
[0040]
进一步地,所述转发处理模块包括:
[0041]
比较单元,用于将所述比例与所述第二阈值进行比较;
[0042]
第一转发单元,用于确定所述源节点当前处于饱和地图分区,以及当确定所述源节点处于所述饱和地图分区时,检测所述源节点的待转发数据包的数据大小,并将所述待转发数据包的数据大小与所述第三阈值进行比较,若所述待转发数据包的数据大小小于所述第三阈值,则将其转发至所述节点连接表中的邻居节点,若所述待转发数据包的数据大小不小于所述第三阈值,则将其过滤;
[0043]
第二转发单元,用于确定所述源节点当前处于非饱和地图分区,以及当确定所述源节点处于所述非饱和地图分区时,采用泛洪的方式转发所述源节点的待转发数据包。
[0044]
进一步地,所述源节点采用zigbee或者蓝牙2.0通信方式时,所述第一阈值为区间[0.23,0.27]中的任意值和所述第二阈值为区间[0.73,0.77]中的任意值;
[0045]
所述源节点采用蓝牙3.0或蓝牙4.0或4g通信方式时,所述第一阈值为区间[0.18,0.22]中的任意值和所述第二阈值为区间[0.78,0.82]中的任意值;
[0046]
所述源节点采用3g通信方式时,所述第一阈值为区间[0.13,0.17]中的任意值和
所述第二阈值为区间[0.83,0.87]中的任意值,或者所述第一阈值为区间[0.08,0.12]中的任意值和所述第二阈值为区间[0.88,0.92]中的任意值
[0047]
进一步地,所述装置还包括:
[0048]
通信连接控制模块,用于检测所述源节点与当前连接的邻居节点之间的距离,当检测到所述距离大于第四阈值时断开所述源节点与当前连接的邻居节点之间的通信连接。
[0049]
进一步地,所述装置还包括:
[0050]
写入控制模块,用于在所述源节点的缓存已满时,若所述源节点存在待写入的待转发数据包,则将所述待写入的待转发数据包写入到所述缓存中当前最先写入的待转发数据包所在的存储位置。
[0051]
为实现上述目的,本发明的技术方案还提供了一种数据传输装置,应用于机会网络中的源节点,所述装置包括至少一个处理器以及与所述至少一个处理器耦合的存储器,其中,所述至少一个处理器用于执行存储器中的指令,实现上述的数据传输方法。
[0052]
为实现上述目的,本发明的技术方案还提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的数据传输方法。
[0053]
为实现上述目的,本发明的技术方案还提供了一种机会网络中的节点设备,包括上述的数据传输装置。
[0054]
本发明提供的数据传输方法,源节点根据自身当前所在的地图分区建立节点连接表并确定其中的饱和节点,并确定饱和节点在节点连接表中所占的比例,实现当前所在地图分区的网络状况的采集,当该比例大于第二阈值时,开始对待转发数据包的数据大小进行检测,并根据检测的结果转发数据大小小于第三阈值的待转发数据包以及过滤数据大小不小于所述第三阈值的待转发数据包,实现数据的限流,从而可以减少机会网络中出现节点数据分发拥塞的情况,有利于提高机会网络传输性能。
附图说明
[0055]
通过以下参照附图对本发明实施例的描述,本发明的上述以及其它目的、特征和优点将更为清楚,在附图中:
[0056]
图1是本发明实施例提供的一种数据传输方法的流程图;
[0057]
图2是本发明实施例提供的数据传输方法在不同传输速率下,当采用不同第一阈值和第二阈值时所实现的数据采集率;
[0058]
图3是本发明实施例提供的数据传输方法在不同传输速率下,当采用不同第一阈值和第二阈值时所实现的网络开销率;
[0059]
图4是本发明实施例提供的一种数据传输装置的示意图。
具体实施方式
[0060]
以下基于实施例对本发明进行描述,但是本发明并不仅仅限于这些实施例。在下文对本发明的细节描述中,详尽描述了一些特定的细节部分,为了避免混淆本发明的实质,公知的方法、过程、流程、元件并没有详细叙述。
[0061]
此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且附图不一定是按比例绘制的。
[0062]
除非上下文明确要求,否则整个说明书和权利要求书中的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。
[0063]
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
[0064]
需要说明的是,本发明中采用步骤编号(字母或数字编号)来指代某些具体的方法步骤,仅仅是出于描述方便和简洁的目的,而绝不是用字母或数字来限制这些方法步骤的顺序。本领域的技术人员能够明了,相关方法步骤的顺序,应由技术本身决定,不应因步骤编号的存在而被不适当地限制。
[0065]
参见图1,图1是本发明实施例提供的一种数据传输方法的流程图,该数据传输方法应用于机会网络中的源节点,所述方法包括:
[0066]
步骤100:获取源节点的当前位置,并根据该源节点的当前位置在预先划分的多个地图分区中确定该源节点当前所在的地图分区;
[0067]
例如,机会网络中的各节点(包括源节点、目的节点)可以是智能终端(如手机、平板电脑等),可以通过自带的gps定位系统或者结合wifi定位方式获取相对准确的位置信息,当节点进入地图设定区域时,可以自动获取自身的当前位置信息;
[0068]
其中,本发明实施例中,地图分区的划分方式可以采用ssmz中的划分方式,对地图进行二维平面划分,以自然数的平方值作为地图分区数目,将需要划分的地图进行网格式的区域划分,得到多个地图分区;
[0069]
步骤200:根据该源节点当前所在的地图分区及当前所连接的邻居节点建立节点连接表,该节点连接表包括与该源节点位于相同地图分区的邻居节点的身份标识;
[0070]
其中,节点连接表中的邻居节点可以作为源节点的连接对象(目的节点);
[0071]
步骤300:确定该节点连接表中的饱和节点,然后确定饱和节点在该节点连接表中所占的比例,其中,所述饱和节点为缓存剩余容量与缓存总量之比小于第一阈值的节点;
[0072]
步骤400:将饱和节点在该节点连接表中所占的比例与第二阈值进行比较,若所述比例大于所述第二阈值,则开始对待转发数据包的数据大小进行检测,并根据检测的结果转发数据大小小于第三阈值的待转发数据包以及过滤数据大小不小于该第三阈值的待转发数据包(即源节点不转发该不小于第三阈值的待转发数据包)。
[0073]
其中,第三阈值的大小可以根据具体环境和需求进行设置,例如,在一实施例中,机会网络中的转发数据包通常在500kb-1mb范围内,则该第三阈值可设置为900kb左右;
[0074]
本发明实施例提供的数据传输方法,源节点根据自身当前所在的地图分区建立节点连接表并确定其中的饱和节点,并确定饱和节点在节点连接表中所占的比例,实现当前所在地图分区的网络状况的采集,当该比例大于第二阈值时,开始对待转发数据包的数据大小进行检测,并根据检测的结果转发数据大小小于第三阈值的待转发数据包以及过滤数据大小不小于所述第三阈值的待转发数据包,实现数据的限流,从而可以减少机会网络中出现节点数据分发拥塞的情况,有利于提高机会网络传输性能。
[0075]
例如,在本发明的一实施例中,可以采用与ssmz相同的方式,对机会网络中的各个节点赋予一地图分区属性,该地图分区属性为节点当前所在的地图分区的标识,当不同节
点的地图分区属性相同时,可以认为是该不同节点位于相同的地图分区,通过检测节点的地图分区属性,可以判断每两个节点是否处于同一区域,如果属于同一地图分区,则判定当前两节点可以建立连接,并把此连接添加到源节点的节点连接表,以便后续传递数据调取,例如,步骤200可以包括:
[0076]
步骤210:检测邻居节点并当检测到邻居节点时与该邻居节点建立连接;
[0077]
步骤220:向所述源节点当前连接的邻居节点发送地图分区属性查询请求,使所述当前连接的邻居节点将其自身的地图分区属性发送给所述源节点;
[0078]
其中,节点的地图分区属性可以是该节点当前所在的地图分区的标识,不同地图分区的标识不同;
[0079]
步骤230:在接收到所述当前连接的邻居节点的地图分区属性后,判断该邻居节点与所述源节点的地图分区属性是否相同,若相同,则将所述当前连接的邻居节点的硬件地址信息添加到所述节点连接表中。
[0080]
其中,步骤210中,源节点检测邻居节点并与邻居节点建立连接的方式可以采用现有机会网络中的协议,例如,可以参考蓝牙或者wifi的连接方式;
[0081]
例如,在步骤210中,源节点通过检测周围邻居节点发出的广播数据包,当检测到邻居节点发出的广播数据包后源节点与该邻居节点建立连接,或者,在步骤210中,通过源节点发出广播数据包,源节点根据接收到的对该广播数据包的应答数据包检测邻居节点,以及当检测到邻居节点时与该邻居节点建立连接。
[0082]
通过上述方式,源节点可以采用广播数据包的方式与其当前能够连接的所有邻居节点握手连接,连接后获取邻居节点的地图分区属性,如果邻居节点的地图分区属性与自身的地图分区属性相同,则将该邻居节点加入到自身的节点连接表中,连接表中可以包含邻居节点的硬件地址信息,作为邻居节点的身份标识。
[0083]
例如,在一实施例中,所述步骤300包括:
[0084]
步骤310:对于所述节点连接表中的每一个邻居节点,通过向其发送缓存状态调取请求获取其缓存剩余容量与缓存总量之比,然后将其缓存剩余容量(节点缓存的剩余容量)与缓存总量(节点内存大小)之比与所述第一阈值比较,若小于所述第一阈值,则将其标记为饱和节点;
[0085]
步骤320:统计饱和节点的数量,并根据统计的数量计算饱和节点在所述节点连接表中所占的比例。
[0086]
其中,本发明实施例中,机会网络中的各节点可以实时统计自身的缓存容量剩余比例(缓存剩余容量与缓存总量之比)c%,当节点接收到其他节点发送的缓存状态调取请求时,可以将自身的缓存容量剩余比例返回给发送请求的节点;
[0087][0088]
源节点中可以预先设置第一阈值,在建立节点连接表之后,源节点从建立的节点连接表中依次抽取其中的邻居节点进行连接,以调取可作为源节点的目的节点(连接对象)的缓存容量剩余比例c%,并将其与第一阈值作比较,当目的节点的缓存剩余量比例小于第一阈值时,则将该目的节点标记为饱和节点,其中,源节点的存储区中可以划分出一个块区存放标记为饱和节点的节点的数量n,每当标记一个饱和节点,n的值加1。
[0089]
在遍历节点连接表中所有目的节点以后,统计饱和节点的数量n与总的目的节点数n(添加到节点连接表中的邻居节点的数量),计算节点饱和率p=n/n,由p的定义式可知p的范围是0到1,将p与第二阈值比较,如果p大于第二阈值,确认源节点正处于饱和地图分区,反之则处于非饱和地图分区。
[0090]
可以理解的是,上述的p值可以体现源节点附近的缓存情况,因此,可以据此限定数据包的传输,可以抑制节点“挤出效应”,缓解节点过分饱和与丢包的状况,达到改进路由算法的目的;
[0091]
此外,本发明实施例中,机会网络中的各个节点可以采用“先入先出”的规则(丢弃数据机制),当节点自身的缓存写满时,可以丢弃缓存节点中最先收到的数据包(最后写入的数据覆盖掉最先写入的数据);本发明实施例中的数据传输方法还包括:在源节点的缓存已满时,若源节点存在待写入的待转发数据包,则将该待写入的待转发数据包写入到缓存中当前最先写入的待转发数据包所在的存储位置。即当源节点需要接收新的待转发数据时,若其缓存已满,则源节点可将该新的待转发数据覆盖掉其缓存中最先写入的待转发数据。
[0092]
例如,在一实施例中,步骤400可以具体包括:
[0093]
步骤410:将所述比例与所述第二阈值进行比较,若所述比例大于所述第二阈值,则执行步骤420,若所述比例不大于所述第二阈值,则执行步骤430;
[0094]
步骤420:确定所述源节点当前处于饱和地图分区,以及当确定所述源节点处于所述饱和地图分区时,检测所述源节点的待转发数据包的数据大小,并将所述待转发数据包的数据大小与所述第三阈值进行比较,若所述待转发数据包的数据大小小于所述第三阈值,则将其转发至所述节点连接表中的邻居节点,若所述待转发数据包的数据大小不小于所述第三阈值,则将其过滤;
[0095]
步骤430:确定所述源节点当前处于非饱和地图分区,以及当确定所述源节点处于所述非饱和地图分区时,采用泛洪的方式转发所述源节点的待转发数据包。
[0096]
本发明实施例中,源节点从节点连接表中调取邻居节点并获取其缓存剩余容量比,并通过第一阈值判断标记出饱和节点,当且仅当被标记的饱和节点的数量占总邻居节点数目的比例不大于第二阈值时,算法才会启动epidemic算法的传输策略,在两节点所建立的连接中传递消息,当上述比例大于第二阈值时,为了使有限容量的节点缓存区域接收到更多数量的消息,源节点对每个待转发数据包进行检测,利用第三阈值将占用缓存比较大的数据选择过滤(即源节点不转发该数据),使算法在数据传输总数量上有不小的提升。
[0097]
其中,在本发明中,机会网络采用d2d(devicetodevice)形式,对于网络中的已建立连接的两个节点,当两个节点间消息传输完成,或传输过程中由于节点的随机移动,改变节点间距或地图分区导致节点间距离增大,节点间的连接断开,即当前连接的两节点的通信结束;例如,本发明的一实施例中,上述的数据传输方法还包括:检测所述源节点与当前连接的邻居节点之间的距离,当检测到所述距离大于第四阈值时断开所述源节点与当前连接的邻居节点之间的通信连接,其中,该第四阈值的大小可以根据需求进行设置。
[0098]
其中,本发明中,源节点可以根据自身采用的通信方式类型选择具体的第一阈值和第二阈值,例如,所述源节点采用zigbee或者蓝牙2.0通信方式时,所述第一阈值为区间[0.23,0.27]中的任意值和所述第二阈值为区间[0.73,0.77]中的任意值,例如,此时第一
阈值为0.25和第二阈值为0.75;
[0099]
所述源节点采用蓝牙3.0或蓝牙4.0或4g通信方式时,所述第一阈值为区间[0.18,0.22]中的任意值和所述第二阈值为区间[0.78,0.82]中的任意值,例如,此时第一阈值为0.20和第二阈值为0.80;
[0100]
所述源节点采用3g通信方式时,所述第一阈值为区间[0.13,0.17]中的任意值和所述第二阈值为区间[0.83,0.87]中的任意值,或者所述第一阈值为区间[0.08,0.12]中的任意值和所述第二阈值为区间[0.88,0.92]中的任意值,例如,此时第一阈值为0.15和第二阈值为0.85,或者第一阈值为0.10和第二阈值为0.90。
[0101]
本发明中,可以采用训练测试的方式,获取不同网络传输速率下最佳第一阈值和第二阈值的组合,通过以下公式计算机会网络的传输性能,统计不同传输速度下不同阈值比例的数据采集率和网络开销比率;
[0102]
1)消息采集率(数据采集率),消息采集率越高,说明算法的数据采集效果越好,其定义如下:
[0103]
消息采集率=完成转发消息数/开始转发消息数;
[0104]
2)采集开销比率(网络开销率),该参数的实质为各种被中止的转发占实际完成的转发的比例,它体现了节点在完成当前区域的数据采集时,产生的额外网络开销,采集开销比率越低,说明算法在实际过程中的额外网络资源开销越低,传输性能更好,其定义如下:
[0105]
采集开销率=(开始转发次数-实际完成转发次数)/实际完成转发次数;
[0106]
例如,设第二阈值为b%,第一阈值为(1-b%),在不同的传输速度下,当b分别为90、85、80、75时,测试得到的数据采集率如图2所示,其中,纵坐标代表传输速度,横坐标代表数据采集率的大小;
[0107]
在不同的传输速度下,当b分别为90、85、80、75时,测试得到的网络开销率如图3所示,其中,纵坐标代表传输速度,横坐标代表网络开销率的大小。
[0108]
可以理解的是,当第一阈值越小,第二阈值越大,即节点更容易处于非饱和区,消息传输不容易因为节点饱和而中断传输,此时可以选择较高的数据交换速率。当数据交换速率较小时,网络节点间吞吐数据的性能较弱,这种情况下,第一阈值设置越大,第二阈值设置越小,即节点更容易处于饱和区,可以减少由于过度建立传输链路而带来的网络开销,因此降低了额外的网络开销率。
[0109]
由图2和图3可知,不同传输速度下,网络开销率也不同,需要配置不同第一阈值和第二阈值比例,本发明的传输方法中,不同阈值比例组合在传输速度增加时,采集率和开销率都呈增长趋势,同样地,在传输速度达到3000kb/s后,或者说当采集率提高到一定程度和开销率下降到一定程度后,传输速度的提升对网络性能的影响力下降,即优化不明显。
[0110]
可以看出,比例组合为25% 75%(即第一阈值为25%和第二阈值为75%)的设置在zigbee(250kb/s)和蓝牙2.0(1000kb/s)时表现更好;
[0111]
比例组合为20% 80%的设置在蓝牙3.0/4.0(3000kb/s)和4g(6250kb/s)时性能表现更好;
[0112]
而比例组合为15% 85%的设置和比例组合为10% 90%的设置在3g(350kb/s和450kb/s)时表现出较优的性能;
[0113]
当传输速度达到4g(12500kb/s)时,采用上述四种比例组合的本技术方案基本能
达到将近1的采集率和将近0的开销率。
[0114]
在同一缓存条件下,阈值比例组合的不同导致算法性能的差异。这显示了阈值比例组合的差异对算法的影响。主要原因有以下两点:一是该比例刚好适应区域内的数据包传输数量和节点数量及其移动速度,传输效率上升;二是该场景缓存容量大小与该比例适配,极大地发挥其缓存容量的可存储性。
[0115]
本发明实施例提供的数据传输方法,结合地图分区算法特点,判断缓存数据是否达到缓存阈值(第一阈值),并进一步通过区域的网络状况采集和数据大小检测过滤算法,实现了网络中消息传递流程的优化,在一定程度上提升网络传输性能和数据包冗余度,使原有的区域数据转发更加切合实际,传输效率更为高效,相比传统的epidemic算法在节点缓存效率更高,不会出现数据分发拥塞的情况,从而提升机会网络传输性能,此外,还可以根据特定场景改变缓存阈值使传输性能达到最大优化。
[0116]
参见图4,图4是本发明实施例提供的一种数据传输装置的示意图,该数据传输装置应用于机会网络中的源节点,所述装置包括:
[0117]
位置获取模块1,用于获取源节点的当前位置,并根据所述源节点的当前位置在预先划分的多个地图分区中确定所述源节点当前所在的地图分区;
[0118]
节点连接表建立模块2,用于根据所述源节点当前所在的地图分区及当前所连接的邻居节点建立节点连接表,所述节点连接表包括与所述源节点位于相同地图分区的邻居节点的身份标识;
[0119]
饱和节点检测模块3,用于确定所述节点连接表中的饱和节点,然后确定饱和节点在所述节点连接表中所占的比例,其中,所述饱和节点为缓存剩余容量与缓存总量之比小于第一阈值的节点;
[0120]
转发处理模块4,用于将所述饱和节点在所述节点连接表中所占的比例与第二阈值进行比较,若所述比例大于所述第二阈值,则开始对待转发数据包的数据大小进行检测,并根据所述检测的结果转发数据大小小于第三阈值的待转发数据包以及过滤数据大小不小于所述第三阈值的待转发数据包。
[0121]
例如,在一实施例中,所述节点连接表建立模块2包括:
[0122]
节点检测单元,用于检测邻居节点并当检测到邻居节点时与该邻居节点建立连接;
[0123]
请求发送单元,用于向所述源节点当前连接的邻居节点发送地图分区属性查询请求,使所述当前连接的邻居节点将其自身的地图分区属性发送给所述源节点;
[0124]
属性检测单元,用于在接收到所述当前连接的邻居节点的地图分区属性后,判断该邻居节点与所述源节点的地图分区属性是否相同,若相同,则将所述当前连接的邻居节点的硬件地址信息添加到所述节点连接表中。
[0125]
例如,在一实施例中,所述饱和节点检测模块3包括:
[0126]
节点标记单元,用于对于所述节点连接表中的每一个邻居节点,通过向其发送缓存状态调取请求获取其缓存剩余容量与缓存总量之比,然后将其缓存剩余容量与缓存总量之比与所述第一阈值比较,若小于所述第一阈值,则将其标记为饱和节点;
[0127]
统计单元,用于统计饱和节点的数量,并根据统计的数量计算饱和节点在所述节点连接表中所占的比例。
[0128]
例如,在一实施例中,所述转发处理模块4包括:
[0129]
比较单元,用于将所述比例与所述第二阈值进行比较;
[0130]
第一转发单元,用于确定所述源节点当前处于饱和地图分区,以及当确定所述源节点处于所述饱和地图分区时,检测所述源节点的待转发数据包的数据大小,并将所述待转发数据包的数据大小与所述第三阈值进行比较,若所述待转发数据包的数据大小小于所述第三阈值,则将其转发至所述节点连接表中的邻居节点,若所述待转发数据包的数据大小不小于所述第三阈值,则将其过滤;
[0131]
第二转发单元,用于确定所述源节点当前处于非饱和地图分区,以及当确定所述源节点处于所述非饱和地图分区时,采用泛洪的方式转发所述源节点的待转发数据包。
[0132]
例如,在一实施例中,所述源节点采用zigbee或者蓝牙2.0通信方式时,所述第一阈值为区间[0.23,0.27]中的任意值和所述第二阈值为区间[0.73,0.77]中的任意值;
[0133]
所述源节点采用蓝牙3.0或蓝牙4.0或4g通信方式时,所述第一阈值为区间[0.18,0.22]中的任意值和所述第二阈值为区间[0.78,0.82]中的任意值;
[0134]
所述源节点采用3g通信方式时,所述第一阈值为区间[0.13,0.17]中的任意值和所述第二阈值为区间[0.83,0.87]中的任意值,或者所述第一阈值为区间[0.08,0.12]中的任意值和所述第二阈值为区间[0.88,0.92]中的任意值。
[0135]
例如,在一实施例中,上述的数据传输装置还包括:
[0136]
通信连接控制模块,用于检测所述源节点与当前连接的邻居节点之间的距离,当检测到所述距离大于第四阈值时断开所述源节点与当前连接的邻居节点之间的通信连接。
[0137]
例如,在一实施例中,上述的数据传输装置还包括:
[0138]
写入控制模块,用于在所述源节点的缓存已满时,若所述源节点存在待写入的待转发数据包,则将所述待写入的待转发数据包写入到所述缓存中当前最先写入的待转发数据包所在的存储位置。
[0139]
本发明实施例还提供了一种数据传输装置,应用于机会网络中的源节点,其特征在于,所述装置包括至少一个处理器以及与所述至少一个处理器耦合的存储器,其中,所述至少一个处理器用于执行存储器中的指令,实现上述的数据传输方法。
[0140]
本发明实施例还提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的数据传输方法。
[0141]
本发明实施例还提供了一种机会网络中的节点设备,包括上述的数据传输装置。例如,该节点设备可以是手机、平板电脑等智能设备。
[0142]
本领域的技术人员能够理解的是,在不冲突的前提下,上述各优选方案可以自由地组合、叠加。
[0143]
应当理解,上述的实施方式仅是示例性的,而非限制性的,在不偏离本发明的基本原理的情况下,本领域的技术人员可以针对上述细节做出的各种明显的或等同的修改或替换,都将包含于本发明的权利要求范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献