1.本技术实施例涉及物联网领域,尤其涉及一种数据传输方法以及相关装置。
背景技术:2.无线局域网遵循ieee 802.11系列协议机制运行,可以使所有用户共享整个信道带宽。具体的信道传输过程是传输双方节点在信道空闲的时候允许数据传输,从而实现数据内容的共享。
3.然而,在传输过程中,会有其他不相干的节点并不会避让传输双方节点的传输,从而对传输进行干扰,给数据的传输造成了不便。
技术实现要素:4.本技术实施例提供了一种数据传输方法以及相关装置。
5.一种数据传输方法,包括:
6.将扩展请求发送帧erts发送至目标节点,以使得当所述目标节点接收所述erts后发送扩展允许发送帧ects时,接收到所述erts或所述ects的第一遗漏节点保持静默;
7.将请求发送帧rts发送至所述目标节点,以使得当所述目标节点接收所述rts后发送允许发送帧cts时,接收到所述rts或所述cts的第二遗漏节点保持静默;
8.判断是否接收到所述cts;
9.若接收到,则将目标数据传输至所述目标节点。
10.可选的,将扩展请求发送帧erts发送至目标节点之前,所述方法还包括:
11.判断是否对所述目标数据强制启用erts-ects机制;
12.若是,则确定启用erts-ects机制。
13.可选的,判断是否对所述目标数据强制启用erts-ects机制之后,所述方法还包括:
14.若否,则获取所述信道的数据重传率;
15.根据所述数据重传率计算信道质量值;
16.结合传输渴望值和所述信道质量值计算加权值,所述传输渴望值表示用户决定的所述目标数据的传输的紧急程度,所述加权值反映了所述目标数据的传输的紧急程度和所述信道的质量的综合情况;
17.判断所述加权值是否小于预设阈值;
18.若小于,则确定启用erts-ects机制。
19.可选的,结合传输渴望值和所述信道质量值计算加权值,包括:
20.通过以下公式进行计算得到所述加权值:
21.z=p1%*x+p2%*y+d;
22.所述z为所述加权值;
23.所述x为所述传输渴望值,2≤x≤11;
24.所述y为所述信道质量值,0≤y≤9;
25.所述d为修正值,可根据情况设定;
26.所述p1%为所述传输渴望值的权重,而所述p2%为所述信道质量值的权重,其中,0≤p1≤100,0≤p2≤100且p1+p2=100。
27.可选的,将请求发送帧rts发送至所述目标节点,包括:
28.当接收到所述ects时,将所述rts发送至所述目标节点。
29.可选的,将请求发送帧rts发送至所述目标节点,包括:
30.当未接收到所述ects时,经过短帧间间隔后将所述rts发送至所述目标节点。
31.可选的,所述erts的速率为1m/s。
32.一种数据传输装置,包括:
33.发送单元,用于将扩展请求发送帧erts发送至目标节点,以使得当所述目标节点接收所述erts后发送扩展允许发送帧ects时,接收到所述erts或所述ects的第一遗漏节点保持静默;
34.所述发送单元,还用于将请求发送帧rts发送至所述目标节点,以使得当所述目标节点接收所述rts后发送允许发送帧cts时,接收到所述rts或所述cts的第二遗漏节点保持静默;
35.判断单元,用于判断是否接收到所述cts;
36.传输单元,用于当接收到所述cts时,将目标数据传输至所述目标节点。
37.一种数据传输装置,包括:
38.中央处理器,存储器以及输入输出接口;
39.所述存储器为短暂存储存储器或持久存储存储器;
40.所述中央处理器配置为与所述存储器通信,并执行所述存储器中的指令操作以执行前述方法。
41.一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使得计算机执行前述方法。
42.从以上技术方案可以看出,本技术实施例具有以下优点:
43.将erts发送至目标节点后,以使得当目标节点接收erts后发送ects时,第一遗漏节点保持静默,其中,第一遗漏节点包括接收到erts的遗漏节点和接收到ects的遗漏节点。再将rts发送至目标节点,以使得当目标节点接收rts后发送cts时,第二遗漏节点保持静默,其中,第二遗漏节点包括接收到rts的遗漏节点和接收到cts的遗漏节点。判断是否接收到cts,若接收到,则将目标数据传输至目标节点。通过erts-ects机制,可以使得遗漏节点进行避让,避免了遗漏节点对正常数据传输的冲撞,从而给用户带来了较好的体验。
附图说明
44.图1为本技术实施例数据传输方法一个实施例示意图;
45.图2为本技术实施例数据传输方法另一实施例示意图;
46.图3为本技术实施例erts-ects机制示意图;
47.图4为本技术实施例数据传输装置一个实施例示意图;
48.图5为本技术实施例数据传输装置另一实施例示意图。
具体实施方式
49.本技术实施例提供了一种数据传输方法以及相关装置。
50.在无线局域网中,数据的传输容易受到无关节点的冲撞,从而导致信道中的数据传输受到干扰。为解决此问题,本技术实施例提供了数据传输方法。
51.下面对本技术实施例的数据传输方法和数据传输装置进行描述。
52.请参阅图1,本技术实施例数据传输方法一个实施例包括:
53.101、将扩展请求发送帧erts发送至目标节点,以使得当所述目标节点接收所述erts后发送扩展允许发送帧ects时,接收到所述erts或所述ects的第一遗漏节点保持静默;
54.将erts发送至目标节点,以使得当目标节点接收erts后发送ects时,接收到erts或ects的第一遗漏节点保持静默。其中,扩展请求发送帧(erts,extension request to send)本质就是请求发送帧(rts,request to send),而扩展允许发送帧(ects,extension clear to send)本质就是允许发送帧(cts,clear to send),一组erts-ects就是一组标准的rts-cts,组帧规则和发送接收规则完全遵从ieee 802.11相关协议。本技术实施例中,为与原来的rts-cts相区别,命名为erts-ects。第一遗漏节点包括接收到erts或ects的遗漏节点。
55.具体的,当需向目标节点进行数据传输时,将erts发送出去,目标节点接收erts后,以ects进行回复。在erts或ects发送的过程中,可能会被其他节点接收到,也就是第一遗漏节点。接收到erts的遗漏节点和接收到ects的遗漏节点会各自更新本地的网络分配矢量(nav,network allocation vector),使得这些遗漏节点保持静默,不对数据传输造成干扰。其中,网络分配矢量用在虚拟载波监听中,其作用相当于一个计数器,用来虚拟的反映信道的忙与闲,非0为忙,0为闲。
56.本技术实施例中,erts的速率为1m/s,可以理解的是,erts的速率可以是6m/s或9m/s等,1m/s仅为测试过程中容错率较高的速率,具体此处不做限定。
57.102、将请求发送帧rts发送至所述目标节点,以使得当所述目标节点接收所述rts后发送允许发送帧cts时,接收到所述rts或所述cts的第二遗漏节点保持静默;
58.将rts发送至目标节点,以使得当目标节点接收rts后发送cts时,接收到rts或cts的第二遗漏节点保持静默。具体的,当erts发送后有两种情况。
59.当erts发出且接收到ects时,根据ects发送rts至目标节点。目标节点接收rts后,以cts进行回复。在rts或cts发送的过程中,可能会被其他节点接收到,也就是第二遗漏节点。接收到rts的遗漏节点和接收到cts的遗漏节点会各自更新本地的网络分配矢量,使得这些遗漏节点保持静默,不对数据传输造成干扰。
60.当erts发出且未接收到ects时,在发出erts并经过短帧间间隔(sifs,short interframe space)后直接将rts发送至目标节点。其中,sifs为用来分隔开对话的帧。目标节点接收rts后,以cts进行回复。同时对第二遗漏节点进行静默处理,此处不再赘述。此时相当于重传rts。
61.可以理解的是,rts的速率可以是1m/s或6m/s等,1m/s仅为测试过程中容错率较高的速率,具体此处不做限定。
62.103、判断是否接收到所述cts,若是,则执行步骤104,若否,则执行步骤105;
63.判断是否接收到cts,具体的,可以预先设定时间段,当rts发出,经过预设时间后,仍未接收到,则释放信道,当收到cts,则进行数据传输。
64.104、将目标数据传输至所述目标节点;
65.接收到cts后,将目标数据传输至目标节点。具体的,接收到cts,经过sifs后根据cts将目标数据进行传输。目标数据为用户想向目标节点传输的一些重要的数据,目标数据可以是长帧,或是以某些重要控制位为代表的短帧,如1字节的帧。具体此处不做特殊限定。数据传输完后,接收目标节点发送的确认帧以结束传输。
66.105、发送无竞争周期结束帧cf-end以释放所述信道。
67.当未接收到cts时,发送无竞争周期结束帧以释放信道。其中,无竞争周期结束帧(cf-end,contention free-end)用于使目标节点脱离访问规则,以释放信道,主动放弃传输而保持静默,避免了对其他节点的冲撞。
68.本技术实施例中,将erts发送至目标节点后,以使得当目标节点接收erts后发送ects时,第一遗漏节点保持静默,其中,第一遗漏节点包括接收到erts的遗漏节点和接收到ects的遗漏节点。再将rts发送至目标节点,以使得当目标节点接收rts后发送cts时,第二遗漏节点保持静默,其中,第二遗漏节点包括接收到rts的遗漏节点和接收到cts的遗漏节点。判断是否接收到cts,若接收到,则将目标数据传输至目标节点。通过erts-ects机制,可以使得遗漏节点进行避让,避免了遗漏节点对正常数据传输的冲撞,从而给用户带来了较好的体验。
69.请参阅图2,本技术实施例数据传输方法另一实施例包括:
70.201、判断是否对所述目标数据强制启用erts-ects机制,若是,则执行步骤207,若否,则执行步骤202;
71.判断是否对目标数据强制启用erts-ects机制,具体的,目标数据在进行判断之前,已由用户在用户层进行设定。设定目标数据的状态值以决定其的紧急程度。对规定的状态值进行判断即可得到结果。对状态值的评判标准也由用户预先定义。例如,规定值为0x01,则强制启用erts-ects机制,若状态值为其他值,即下述的传输渴望值,如0x02,则进行下述步骤的操作。具体的,可判断规定值是否为0x01,若是则强制启用erts-ects机制,若否则执行下述步骤。
72.202、获取信道的数据重传率;
73.获取信道的数据重传率。对数据的发送总次数和重传次数进行统计,将重传次数与发送总次数相除即可得到数据重传率。具体的,数据进入队列,启动发送,统计发送次数。而目标节点收不到,判定数据超时,则将该数据重新放入队列以重传,此时重传计数器的值加一以统计重传次数。如果达到队列的最大包还未成功,则对数据进行丢弃。
74.203、根据所述数据重传率计算信道质量值;
75.根据数据重传率计算信道质量值。具体的,数据重传率为100%时,则信道质量值为0,数据重传率为90%时,则信道质量值为1,依次类推,不再赘述。
76.204、结合传输渴望值和所述信道质量值计算加权值;
77.结合传输渴望值和信道质量值计算加权值。其中,传输渴望值表示用户决定的目标数据的传输的紧急程度,传输渴望值越大,越急于将数据传输出去。加权值反映了所述目标数据的传输的紧急程度和所述信道的质量的综合情况。
78.通过以下公式进行计算得到加权值:
79.z=p1%*x+p2%*y+d;
80.所述z为所述加权值;
81.所述x为所述传输渴望值,2≤x≤11;
82.所述y为所述信道质量值,0≤y≤9;
83.所述d为修正值,可根据情况设定;
84.所述p1%为所述传输渴望值的权重,而所述p2%为所述信道质量值的权重,其中,0≤p1≤100,0≤p2≤100且p1+p2=100。
85.205、判断所述加权值是否小于预设阈值,若否,则执行步骤206,若是,则执行步骤207;
86.判断加权值是否小于预设阈值,其中,预设阈值是机制的启动门槛,可以根据经验需求设定,如设定为10,11等,具体此处不做限定。
87.206、确定不启用erts-ects机制;
88.若加权值大于或等于预设阈值,则确定不启用erts-ects机制,使用其他机制进行数据传输。
89.207、确定启用erts-ects机制;
90.若加权值小于预设阈值,确定启用erts-ects机制。其中,erts-ects机制是在rts-cts机制的基础上加多至少一组rts-cts,即加上至少一组erts-ects。利用多组rts-cts使得遗漏节点进行避让。
91.208、将扩展请求发送帧erts发送至目标节点,以使得当所述目标节点接收所述erts后发送扩展允许发送帧ects时,接收到所述erts或所述ects的第一遗漏节点保持静默;
92.将erts发送至目标节点,以使得当目标节点接收erts后发送ects时,接收到erts或ects的第一遗漏节点保持静默。其中,erts本质就是rts,而ects本质就是cts,一组erts-ects就是一组标准的rts-cts,组帧规则和发送接收规则完全遵从ieee 802.11相关协议。本技术实施例中,为与原来的rts-cts相区别,命名为erts-ects。第一遗漏节点包括接收到erts或ects的遗漏节点。
93.具体的,当需向目标节点进行数据传输时,将erts发送出去,目标节点接收erts后,以ects进行回复。在erts或ects发送的过程中,可能会被其他节点接收到,也就是第一遗漏节点。接收到erts的遗漏节点和接收到ects的遗漏节点会各自更新本地的nav,使得这些遗漏节点保持静默,不对数据传输造成干扰。
94.209、将请求发送帧rts发送至所述目标节点,以使得当所述目标节点接收所述rts后发送允许发送帧cts时,接收到所述rts或所述cts的第二遗漏节点保持静默;
95.将rts发送至目标节点,以使得当目标节点接收rts后发送cts时,接收到rts或cts的第二遗漏节点保持静默。具体的,当erts发送后有两种情况。
96.当erts发出且接收到ects时,根据ects发送rts至目标节点。目标节点接收rts后,以cts进行回复。在rts或cts发送的过程中,可能会被其他节点接收到,也就是第二遗漏节点。接收到rts的遗漏节点和接收到cts的遗漏节点会各自更新本地的网络分配矢量,使得这些遗漏节点保持静默,不对数据传输造成干扰。
97.当erts发出且未接收到ects时,在发出erts并经过sifs后直接将rts发送至目标节点。其中,sifs为用来分隔开对话的帧。目标节点接收rts后,以cts进行回复。同时对第二遗漏节点进行静默处理,此处不再赘述。此时相当于重传rts。
98.可以理解的是,rts的速率可以是1m/s或6m/s等,1m/s仅为测试过程中容错率较高的速率,具体此处不做限定。
99.210、判断是否接收到所述cts,若是,则执行步骤211,若否,则执行步骤212;
100.判断是否接收到cts,具体的,可以预先设定时间段,当rts发出,经过预设时间后,仍未接收到,则释放信道,当收到cts,则进行数据传输。
101.211、将目标数据传输至所述目标节点;
102.接收到cts后,将目标数据传输至目标节点。具体的,接收到cts,经过sifs后根据cts将目标数据进行传输。目标数据为用户想向目标节点传输的一些重要的数据,目标数据可以是长帧,或是以某些重要控制位为代表的短帧,如1字节的帧。具体此处不做特殊限定。数据传输完后,接收目标节点发送的确认帧以结束传输。
103.212、发送无竞争周期结束帧cf-end以释放所述信道。
104.当未接收到cts时,发送无竞争周期结束帧以释放信道。其中,cf-end用于使目标节点脱离访问规则,以释放信道,主动放弃数据的传输而保持静默,避免了对其他节点的冲撞。
105.为便于理解,下面对erts-ects机制进行举例描述。请参阅图3,图中的c节点、d节点、e节点和f节点为遗漏节点。当a节点需要向b节点进行重要数据的传输时,发起erts,b节点回复a节点ects,同时,c节点接收到erts,将本地的nav更新为nav1,保持静默直到数据传输结束。d节点未接收到erts,但接收到了ects,d节点将本地的nav更新为nav2,保持静默直到数据传输结束。b节点回复ects后,a节点发起rts,b节点回复a节点cts。同时,未接收到erts和ects的e节点接收到rts,将本地的nav更新为nav3,保持静默直到数据传输结束。将erts、ects和rts都错失的f节点接收到cts,将本地的nav更新为nav4,保持静默直到数据传输结束。a节点接收到cts后发起数据传输并等待b节点的ack帧。b节点回复ack,数据传输结束。
106.本实施例中,根据用户决定的目标数据的紧急程度来启用erts-ects机制,将erts发送至目标节点后,以使得当目标节点接收erts后发送ects时,第一遗漏节点保持静默,其中,第一遗漏节点包括接收到erts的遗漏节点和接收到ects的遗漏节点。再将rts发送至目标节点,以使得当目标节点接收rts后发送cts时,第二遗漏节点保持静默,其中,第二遗漏节点包括接收到rts的遗漏节点和接收到cts的遗漏节点。判断是否接收到cts,若接收到,则将目标数据传输至目标节点。通过对目标数据的紧急程度进行判断,以避免短帧无法发送的问题。通过erts-ects机制,可以使得遗漏节点进行避让,避免了遗漏节点对正常数据传输的冲撞。而在接收不到cts的情况下主动释放信道以避免对其他节点的冲撞,从而给用户带来了较好的体验。
107.下面对本技术实施例数据传输装置进行描述。请参阅图3,本技术实施例数据传输装置一个实施例包括:
108.发送单元401,用于将扩展请求发送帧erts发送至目标节点,以使得当所述目标节点接收所述erts后发送扩展允许发送帧ects时,接收到所述erts或所述ects的第一遗漏节
点保持静默;
109.所述发送单元401,还用于将请求发送帧rts发送至所述目标节点,以使得当所述目标节点接收所述rts后发送允许发送帧cts时,接收到所述rts或所述cts的第二遗漏节点保持静默;
110.判断单元402,用于判断是否接收到所述cts;
111.传输单元403,用于当接收到所述cts时,将目标数据传输至所述目标节点。
112.本实施例中,发送单元401将erts发送至目标节点后,以使得当目标节点接收erts后发送ects时,第一遗漏节点保持静默,其中,第一遗漏节点包括接收到erts的遗漏节点和接收到ects的遗漏节点。再将rts发送至目标节点,以使得当目标节点接收rts后发送cts时,第二遗漏节点保持静默,其中,第二遗漏节点包括接收到rts的遗漏节点和接收到cts的遗漏节点。判断单元402判断是否接收到cts,若接收到,则通过传输单元403将目标数据传输至目标节点。通过erts-ects机制,可以使得遗漏节点进行避让,避免了遗漏节点对正常数据传输的冲撞,从而给用户带来了较好的体验。
113.本实施例数据传输装置中各单元所执行的功能以及流程与前述图1至图3中数据传输装置所执行的功能和流程类似,此处不再赘述。
114.图5是本技术实施例提供的一种数据传输装置结构示意图,该数据传输装置500可以包括一个或一个以上中央处理器(central processing units,cpu)501和存储器505,该存储器505中存储有一个或一个以上的应用程序或数据。
115.其中,存储器505可以是易失性存储或持久存储。存储在存储器505的程序可以包括一个或一个以上模块,每个模块可以包括对数据传输装置中的一系列指令操作。更进一步地,中央处理器501可以设置为与存储器505通信,在数据传输装置500上执行存储器505中的一系列指令操作。
116.数据传输装置500还可以包括一个或一个以上电源502,一个或一个以上有线或无线网络接口503,一个或一个以上输入输出接口504,和/或,一个或一个以上操作系统,例如windows servertm,mac os xtm,unixtm,linuxtm,freebsdtm等。
117.该中央处理器501可以执行前述图1至图3所示实施例中数据传输装置所执行的操作,具体此处不再赘述。
118.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
119.在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
120.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
121.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
122.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。