本发明涉及无线网络通信技术领域,尤其涉及基于异或运算的双向传输网络下行吞吐量增强方法及系统。
背景技术:
双向传输网络指由下传信道和上传信道构成的,具有双向交互式传输功能的无线网络。例如在现实中常见的蜂窝网络中,宏基站要发送数据给移动用户,移动用户也要发送数据给宏基站,就构成了一个双向传输网络。
但是在双向传输网络中,由于无线信道的广播特性,用户能够无意中听到其他用户想要接收到的数据包,例如在传输的时隙中,基站发给用户1的数据包可能被用户2无意中接收到,然而现有技术在研究双向传输网络时,缺乏对用户能够无意中听到其他用户想要接收到的数据包的研究,这样就限制了双向传输网络方面的进一步提高。因此,针对基站与两个用户文件传输问题,本发明提供基于异或运算的双向传输网络下行吞吐量增强方法及系统来解决存在的问题。
技术实现要素:
本发明的目的是针对现有技术的缺陷,提供了基于异或运算的双向传输网络下行吞吐量增强方法及系统。
为了实现以上目的,本发明采用以下技术方案:
基于异或运算的双向传输网络下行吞吐量增强系统,包括基站、第一用户、第二用户;所述基站、第一用户、第二用户相互连接;所述双向传输网络包括下行传输阶段和上行传输阶段;
所述下行传输阶段:
所述基站,用于向第一用户发送第一数据包和/或向第二用户发送第二数据包;
所述第一用户,用于接收基站发送的第一数据包,同时判断是否接收到第二数据包;
所述第二用户,用于接收基站发送的第二数据包,同时判断是否接收到第一数据包;
所述上行传输阶段:
所述第一用户,用于向基站发送第三数据包;所述第三数据包包括第一用户自身的数据包或将自身的数据包和接收到的第二数据包进行逐比特异或运算生成的编码后的数据包;
所述第二用户,用于向基站发送第四数据包;所述第四数据包包括第二用户自身的数据包或将自身的数据包和接收到的第一数据包进行逐比特异或运算生成的编码后的数据包;
所述基站,用于接收第一用户发送第三数据包和/或接收第二用户发送第四数据包,并判断接收到的第三数据包和/或第四数据包是否需要解码,得到基站所需的数据包。
进一步的,所述下行传输阶段:
第一用户具体包括:
第一判断模块,用于判断是否成功接收到基站发送的第一数据;
第二判断模块,用于判断是否成功接收到基站发送的第二数据包;
第二用户具体包括:
第三判断模块,用于判断是否成功接收到基站发送的第二数据;
第四判断模块,用于判断是否成功接收到基站发送的第一数据包。
进一步的,所述下行传输阶段:
所述第一判断模块中判断是否成功接收到基站发送的第一数据,若是,则向基站发送确认符;若否,则向基站发送否认符;
所述第二判断模块中判断是否成功接收到基站发送的第二数据,若是,则将所述第二数据包加入第一用户的缓存区中。
进一步的,所述下行传输阶段:
所述第三判断模块中判断是否成功接收到基站发送的第二数据,若是,则向基站发送确认符;若否,则向基站发送否认符;
所述第四判断模块中判断是否成功接收到基站发送的第一数据,若是,则将所述第一数据包加入第二用户的缓存区中。
进一步的,所述上行传输阶段:
第一用户具体包括:
第一发送模块,用于向基站发送第三数据包;
第五判断模块,用于判断是否接收第二用户向基站发送的第四数据包;
第六判断模块,用于判断接收到的第四数据包是否为编码后的数据包;
第二用户具体包括:
第二发送模块,用于向基站发送第四数据包;
第七判断模块,用于判断是否接收第一用户向基站发送的第三数据包;
第八判断模块,用于判断接收到的第三数据包是否为编码后的数据包。
进一步的,所述上行传输阶段:
所述第五判断模块中判断是否接收第二用户向基站发送的第四数据包,若是,则接收第四数据包;
所述第六判断模块中判断接收到的第四数据包是否为编码后的数据包,若是,则解码出第一用户所需的数据包。
进一步的,所述上行传输阶段:
所述第七判断模块中判断是否接收第一用户向基站发送的第三数据包,若是,则接收第三数据包;
所述第八判断模块中判断接收到的第三数据包是否为编码后的数据包,若是,则解码出第二用户所需的数据包。
进一步的,所述上行传输阶段:
第一用户还包括:
第九判断模块,用于判断是否成功接收到基站发送的确认符;
第二用户还包括:
第十判断模块,用于判断是否成功接收到基站发送的确认符。
进一步的,所述双向传输网络中还包括:
第十一判断模块,用于判断基站、第一用户、第二用户中的数据包是否传输完毕。
相应的,还提供基于异或运算的双向传输网络下行吞吐量增强方法,包括步骤:
s1.基站向第一用户发送第一用户所需的第一数据包;
s2.第一用户判断是否成功接收到发送的第一数据包,若是,则向基站发送确认符,并执行步骤s3;若否,则向基站发送否认符,并在下一轮传输时执行步骤s1;
s3.第二用户判断是否成功接收到所述第一数据包,若是,则将第一数据包放入第二用户自身的缓存区,并执行步骤s4;
s4.基站向第二用户发送第二用户所需的第二数据包;
s5.第二用户判断是否成功接收到发送的第二数据包,若是,则向基站发送确认符,并执行步骤s6;若否,则向基站发送否认符,并在下一轮传输时执行步骤s4;
s6.第一用户判断是否成功接收到所述第二数据包,若是,则将第二数据包放入第一用户自身的缓存区,并执行步骤s7;
s7.第一用户判断自身的缓存区是否存在第二数据包,若是,则第一用户向基站发送第一用户自身的数据包和第二数据包进行逐比特异或运算生成的编码后的数据包;否则,则第一用户向基站发送自身的数据包;其中第一用户自身的数据包或将自身的数据包和接收到的第二数据包进行逐比特异或运算生成的编码后的数据包统称为第三数据包;
s8.第二用户判断是否接收到第一用户发送的第三数据包,若是,执行步骤s9;若否,执行步骤s12;
s9.第二用户判断接收到的第三数据包是否为编码过的数据包,若是,则执行步骤s10;若否,则执行步骤s12;
s10.第二用户判断自身的缓存区是否存在第一用户自身的数据包,若是,则执行步骤s11;若否,则执行步骤s12;
s11.第二用户将接收到的第一用户自身的数据包和第二数据包进行逐比特异或运算生成的编码后的数据包进行解码,得到第二用户所需的数据包;
s12.第一用户判断是否接收到基站发送的确认符,若是,则执行步骤s13;
s13.第二用户判断自身的缓存区是否存在第一数据包,若是,则第二用户向基站发送第二用户自身的数据包和第一数据包进行逐比特异或运算生成的编码后的数据包;否则,则第二用户向基站发送自身的数据包;其中第二用户自身的数据包或将自身的数据包和接收到的第一数据包进行逐比特异或运算生成的编码后的数据包统称为第四数据包;
s14.第一用户判断是否接收到第二用户发送的第四数据包,若是,执行步骤s15;若否,执行步骤s18;
s15.第一用户判断接收到的第四数据包是否为编码过的数据包,若是,则执行步骤s16;若否,则执行步骤s18;
s16.第一用户判断自身的缓存区是否存在第二用户自身的数据包,若是,则执行步骤s17;若否,则执行步骤s18;
s17.第一用户将接收到的第二用户自身的数据包和第一数据包进行逐比特异或运算生成的编码后的数据包进行解码,得到第一用户所需的数据包;
s18.第二用户判断是否接收到基站发送的确认符,若是,则执行步骤s19;
s19.判断基站、第一用户、第二用户中的数据包是否传输完毕,若是,则结束传输;若否,则执行步骤s1。
与现有技术相比,本发明的有益效果是:
1.应用了网络编码技术,第二用户在收到第一用户需要的包后,将需要发送的包与第一用户所需要的包进行异或,第一用户便可不需要基站重传而获得所需要的包,避免了传统传输方案中一个包需要反复传输多次的弊端。
2.考虑到实际生活中用户间的信道优于用户与基站信道的情形。因此,当部分第二用户收到第一用户的数据包的解码,利用用户间的信道优势,通过发送给基站的同时,将数据包编码,代替基站发送第一用户需要的数据包给第一用户,从而提高传输效率。
附图说明
图1是实施例一提供的一种基于异或运算的双向传输网络下行吞吐量增强方法流程图;
图2是实施例三提供的一种基于异或运算的双向传输网络下行吞吐量增强系统结构图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
本发明的目的是针对现有技术的缺陷,提供了基于异或运算的双向传输网络下行吞吐量增强方法及系统。
在本发明中,我们考虑一个基本的双向传输网络,包含一个基站和两个用户。基站有数据要分别发送给两个用户,用户也有自己的数据要发送给基站。我们的传输系统采用时分复用的方法,将传输分为很多轮,每一轮包含四个时隙,前两个时隙为下行传输阶段,后两个时隙为上行传输阶段。
在下行传输阶段中,在每轮的第一个时隙,基站发送第一用户需求的一个数据包,如果第一用户成功接收,将会回复确认符(确认符用ack表示),于是基站会在下一轮的第一个时隙传输第一用户需求的下一个数据包;如果第一用户未成功接收,第一用户会回复否认符(否认符用nack表示),基站会在下一轮的第一个时隙重传当前时隙未成功发送的数据包。第二个时隙同理,基站发送第二用户需求的一个数据包,第二用户根据接收情况回复ack或nak。每一轮的后两个时隙为上行传输阶段:在第三时隙中,第一用户发送自己的一个数据包给基站,如果基站成功接收,将会回复ack,第一用户会在下一轮的第三个时隙传输基站需求的下一个数据包;如果基站未成功接收,将会回复nak,第一用户会在下一轮的第三个时隙重传当前时隙未成功发送的数据包。第四个时隙和第三个时隙类似,第二用户发送自己的一个数据包给基站,基站根据接收情况回复ack或nak。
由于无线信道的广播特性,用户能够无意中听到其他用户想要接收到的数据包,例如在每一轮的第一个时隙里,基站发给第一用户的数据包可能被用户2无意中接收到。本发明将用户在下行传输阶段无意中听到的包利用起来,然后将该包和自己要发给基站的包进行逐比特的异或运算,生成一个编码后的包,代替自己想要发送的原始数据包,在上行传输阶段发送出去。基站收到这样的包后,可解码出自己想要的包,所以这样做对上行传输不会造成影响。而其他用户如果无意中接收到这个编码过的包,并且该用户此前成功接收过其他用户发送的未编码过的数据包,便可以解码出自己想要的包,因此达到提升下行吞吐量的目的。
实施例一
本实施例提供一种基于异或运算的双向传输网络下行吞吐量增强方法,如图1所示,包括步骤:
s1.基站向第一用户发送第一用户所需的第一数据包;
s2.第一用户判断是否成功接收到发送的第一数据包,若是,则向基站发送确认符,并执行步骤s3;若否,则向基站发送否认符,并在下一轮传输时执行步骤s1;
s3.第二用户判断是否成功接收到所述第一数据包,若是,则将第一数据包放入第二用户自身的缓存区,并执行步骤s4;
s4.基站向第二用户发送第二用户所需的第二数据包;
s5.第二用户判断是否成功接收到发送的第二数据包,若是,则向基站发送确认符,并执行步骤s6;若否,则向基站发送否认符,并在下一轮传输时执行步骤s4;
s6.第一用户判断是否成功接收到所述第二数据包,若是,则将第二数据包放入第一用户自身的缓存区,并执行步骤s7;
s7.第一用户判断自身的缓存区是否存在第二数据包,若是,则第一用户向基站发送第一用户自身的数据包和第二数据包进行逐比特异或运算生成的编码后的数据包;否则,则第一用户向基站发送自身的数据包;其中第一用户自身的数据包或将自身的数据包和接收到的第二数据包进行逐比特异或运算生成的编码后的数据包统称为第三数据包;
s8.第二用户判断是否接收到第一用户发送的第三数据包,若是,执行步骤s9;若否,执行步骤s12;
s9.第二用户判断接收到的第三数据包是否为编码过的数据包,若是,则执行步骤s10;若否,则执行步骤s12;
s10.第二用户判断自身的缓存区是否存在第一用户自身的数据包,若是,则执行步骤s11;若否,则执行步骤s12;
s11.第二用户将接收到的第一用户自身的数据包和第二数据包进行逐比特异或运算生成的编码后的数据包进行解码,得到第二用户所需的数据包;
s12.第一用户判断是否接收到基站发送的确认符,若是,则执行步骤s13;
s13.第二用户判断自身的缓存区是否存在第一数据包,若是,则第二用户向基站发送第二用户自身的数据包和第一数据包进行逐比特异或运算生成的编码后的数据包;否则,则第二用户向基站发送自身的数据包;其中第二用户自身的数据包或将自身的数据包和接收到的第一数据包进行逐比特异或运算生成的编码后的数据包统称为第四数据包;
s14.第一用户判断是否接收到第二用户发送的第四数据包,若是,执行步骤s15;若否,执行步骤s18;
s15.第一用户判断接收到的第四数据包是否为编码过的数据包,若是,则执行步骤s16;若否,则执行步骤s18;
s16.第一用户判断自身的缓存区是否存在第二用户自身的数据包,若是,则执行步骤s17;若否,则执行步骤s18;
s17.第一用户将接收到的第二用户自身的数据包和第一数据包进行逐比特异或运算生成的编码后的数据包进行解码,得到第一用户所需的数据包;
s18.第二用户判断是否接收到基站发送的确认符,若是,则执行步骤s19;
s19.判断基站、第一用户、第二用户中的数据包是否传输完毕,若是,则结束传输;若否,则执行步骤s1。
在本实施例中,用t∈{1,2,…}表示时隙的序号,用ωb,1(i),i∈{1,2,…}表示基站需要发给第一用户的数据包;用ωb,2(j),j∈{1,2,…}表示基站需要发给第二用户的数据包;用ω1,b(m),m∈{1,2,...}表示第一用户需要发给基站的数据包;用ω2,b(n),n∈{1,2,...}表示第二用户需要发给基站的数据包;t∈{1,2,...}表示当前的时隙。
初始化,令i=1,j=1,m=1,n=1,t=1。
在本实施例中,数据传输需分为传输多轮,其中每一轮均分为四个时隙,直到基站和每个用户均传输完毕。
步骤s1具体为,基站发送第一用户需要的ωb,1(i)数据包;
步骤s2具体为,第一用户判断其是否成功接收到发送的ωb,1(i)数据包,若是,则向基站发送ack,并执行步骤s3;若否,则向基站发送nak;
步骤s3具体为,第二用户判断其是否成功接收到ωb,1(i)数据包,若是,则将ωb,1(i)数据包放入第二用户自身的缓存区,此时t=t+1,并执行步骤s4;
步骤s4具体为,基站向第二用户发送第二用户所需的ωb,2(j)数据包;
步骤s5具体为,第二用户其判断是否成功接收到发送的ωb,2(j)数据包,若是,则向基站发送ack,此时j=j+1,并执行步骤s6;若否,则向基站发送nak;
步骤s6具体为,第一用户判断其是否成功接收到ωb,2(j)数据包,若是,则将ωb,2(j)数据包放入第一用户自身的缓存区,此时t=t+1,并执行步骤s7;
步骤s7具体为,第一用户判断其自身的缓存区是否存在ωb,2(j)数据包,若是,则第一用户向基站发送第一用户自身的数据包ω1,b(m)和ωb,2(j)数据包进行逐比特异或运算生成的编码后的数据包(用
步骤s8具体为,第二用户判断其是否接收到第一用户发送的
步骤s9具体为,第二用户判断其接收到的
步骤s10具体为,第二用户其判断自身的缓存区是否存在第一用户自身的数据包ω1,b(m),若是,则执行步骤s11;若否,则执行步骤s12;
步骤s11具体为,第二用户将接收到的第一用户自身的数据包ω1,b(m)和ωb,2(j)数据包进行逐比特异或运算生成的编码后的数据包
步骤s12具体为,第一用户判断其是否接收到基站发送的ack,若是,则执行步骤s13;
步骤s13具体为,第二用户判断自身的缓存区是否存在ωb,1(i)数据包,若是,则第二用户向基站发送第二用户自身的数据包ω2,b(n)和ωb,1(i)数据包进行逐比特异或运算生成的编码后的数据包
步骤s14具体为,第一用户判断其是否接收到第二用户发送的数据包
步骤s15具体为,第一用户判断接收到的
步骤s16具体为,第一用户判断自身的缓存区是否存在第二用户自身的数据包ω2,b(n),若是,则执行步骤s17;若否,则执行步骤s18;
步骤s17具体为,第一用户将接收到的第二用户自身的数据包和第一数据包进行逐比特异或运算生成的编码后的数据包
步骤s18具体为,第二用户判断是否接收到基站发送的ack,若是,则n=n+1,t=t+1,并执行步骤s19;
步骤s19具体为,判断基站、第一用户、第二用户中的数据包是否全部传输完毕,若是,则结束传输;若否,则执行步骤s1。
与现有技术相比,本实施例的有益效果是:
1.应用了网络编码技术,第二用户在收到第一用户需要的包后,将需要发送的包与第一用户所需要的包进行异或,第一用户便可不需要基站重传而获得所需要的包,避免了传统传输方案中一个包需要反复传输多次的弊端。
2.考虑到实际生活中用户间的信道优于用户与基站信道的情形。因此,当部分第二用户收到第一用户的数据包的解码,利用用户间的信道优势,通过发送给基站的同时,将数据包编码,代替基站发送第一用户需要的数据包给第一用户,从而提高传输效率。
实施例二
本实施例提供的一种基于异或运算的双向传输网络下行吞吐量增强方法与实施例一的不同之处在于:
本实施例为了进一步说明本发明的实施方法,给出一个实施范例。
在第一轮的第一个时隙中:基站通过广播方式发送数据包ωb,1(1),假设第一用户接收ωb,1(1)数据包失败,但是被第二用户无意中接收到,则第一用户回复nak给基站,第二用户将ωb,1(1)放入自身缓存区中。
在第二时隙中,基站通过广播方式发送数据包ωb,2(1),假设第二用户接收ωb,2(1)数据包失败,但是被第一用户无意中接收到,则第二用户回复nak给基站,第一用户将ωb,2(1)放入自身缓存区中。
在第三时隙中,第一用户通过广播方式发送ω1,b(1)给基站,假设基站与第二用户均未接收到,则基站给第一用户回复nak。
在第四时隙中,第二用户通过广播方式发送ω2,b(1)给基站,假设基站接收失败,但是被第一用户无意中接收到,第一用户将ω2,b(1)放入自身缓存区,而则基站给第二用户回复nak。
此时,基站拥有数据包ωb,1(1)、ωb,2(1);
第一用户拥有数据包ω1,b(1)、ω2,b(1)、ωb,2(1);
第二用户拥有数据包ω2,b(1)、ωb,1(1)。
第二轮和第一轮类似:
在第二轮的第一个时隙中:基站通过广播方式发送数据包ωb,1(1),假设第一用户接收ωb,1(1)数据包失败,则第一用户回复nak给基站。
在第二时隙中,基站通过广播方式发送数据包ωb,2(1),假设第二用户接收ωb,2(1)数据包成功,则第二用户回复ack给基站。
在第三时隙中,第一用户通过广播方式发送
在第四时隙中,第二用户通过广播方式发送
本实施例利用了无线传输的广播特性,在双向传输中让用户使用逐比特的异或运算携带其他用户之前未成功接收的数据包。节约了额外重传的时间,最后达到增加下行吞吐量的目的。
实施例三
本实施例提供一种基于异或运算的双向传输网络下行吞吐量增强系统,如图2所示,包括基站1、第一用户2、第二用户3;基站1、第一用户2、第二用户3相互连接;双向传输网络包括下行传输阶段和上行传输阶段;
下行传输阶段:
基站1,用于向第一用户发送第一数据包和/或向第二用户发送第二数据包;
第一用户2,用于接收基站发送的第一数据包,同时判断是否接收到第二数据包;
第二用户3,用于接收基站发送的第二数据包,同时判断是否接收到第一数据包;
在本实施例中,上行传输阶段:
第一用户,用于向基站发送第三数据包;所述第三数据包包括第一用户自身的数据包或将自身的数据包和接收到的第二数据包进行逐比特异或运算生成的编码后的数据包;
第二用户,用于向基站发送第四数据包;所述第四数据包包括第二用户自身的数据包或将自身的数据包和接收到的第一数据包进行逐比特异或运算生成的编码后的数据包;
基站,用于接收第一用户发送第三数据包和/或接收第二用户发送第四数据包,并判断接收到的第三数据包和/或第四数据包是否需要解码,得到基站所需的数据包。
进一步的,下行传输阶段:
第一用户具体包括:
第一判断模块,用于判断是否成功接收到基站发送的第一数据;
第二判断模块,用于判断是否成功接收到基站发送的第二数据包;
第二用户具体包括:
第三判断模块,用于判断是否成功接收到基站发送的第二数据;
第四判断模块,用于判断是否成功接收到基站发送的第一数据包。
进一步的,下行传输阶段:
第一判断模块中判断是否成功接收到基站发送的第一数据,若是,则向基站发送确认符;若否,则向基站发送否认符;
第二判断模块中判断是否成功接收到基站发送的第二数据,若是,则将所述第二数据包加入第一用户的缓存区中。
进一步的,所述下行传输阶段:
第三判断模块中判断是否成功接收到基站发送的第二数据,若是,则向基站发送确认符;若否,则向基站发送否认符;
第四判断模块中判断是否成功接收到基站发送的第一数据,若是,则将所述第一数据包加入第二用户的缓存区中。
进一步的,上行传输阶段:
第一用户具体包括:
第一发送模块,用于向基站发送第三数据包;
第五判断模块,用于判断是否接收第二用户向基站发送的第四数据包;
第六判断模块,用于判断接收到的第四数据包是否为编码后的数据包;
第二用户具体包括:
第二发送模块,用于向基站发送第四数据包;
第七判断模块,用于判断是否接收第一用户向基站发送的第三数据包;
第八判断模块,用于判断接收到的第三数据包是否为编码后的数据包。
进一步的,所述上行传输阶段:
第五判断模块中判断是否接收第二用户向基站发送的第四数据包,若是,则接收第四数据包;
第六判断模块中判断接收到的第四数据包是否为编码后的数据包,若是,则解码出第一用户所需的数据包。
进一步的,上行传输阶段:
第七判断模块中判断是否接收第一用户向基站发送的第三数据包,若是,则接收第三数据包;
第八判断模块中判断接收到的第三数据包是否为编码后的数据包,若是,则解码出第二用户所需的数据包。
进一步的,上行传输阶段:
第一用户还包括:
第九判断模块,用于判断是否成功接收到基站发送的确认符;
第二用户还包括:
第十判断模块,用于判断是否成功接收到基站发送的确认符。
进一步的,所述双向传输网络中还包括:
第十一判断模块,用于判断基站、第一用户、第二用户中的数据包是否传输完毕。
需要说明的是,本实施例提供的一种基于异或运算的双向传输网络下行吞吐量增强系统与实施例一类似,再次不多做赘述。
与现有技术相比,本实施例的有益效果是:
1.应用了网络编码技术,第二用户在收到第一用户需要的包后,将需要发送的包与第一用户所需要的包进行异或,第一用户便可不需要基站重传而获得所需要的包,避免了传统传输方案中一个包需要反复传输多次的弊端。
2.考虑到实际生活中用户间的信道优于用户与基站信道的情形。因此,当部分第二用户收到第一用户的数据包的解码,利用用户间的信道优势,通过发送给基站的同时,将数据包编码,代替基站发送第一用户需要的数据包给第一用户,从而提高传输效率。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。