一种数据传输方法和装置与流程

文档序号:18515871发布日期:2019-08-24 09:27阅读:150来源:国知局
一种数据传输方法和装置与流程

本申请涉及无线网络通信领域,具体涉及一种数据传输方法和装置。



背景技术:

随着无线设备(如手机、笔记本电脑、平板电脑、蓝牙设备、智能手表、无线传感器等)数量的快速增长和数据服务(如微信、视频、直播、导航、移动支付等)种类的增多,多个无线设备并发传输的情况几乎无处不在。在并发传输的情况下,由于频谱资源有限,在相同或相近频段内的并发传输可能会引起信道竞争,从而使接收端不能正常接收数据。

为了使接收端能够正常接收数据,现有主要采用基于载波侦听多路访问/冲突退避(CSMA/CA)的策略,即无线设备在发送数据时,首先侦听信道中是否有其它的无线设备正在占用信道,其方法通常是:判断当前接收信号的信号强度是否大于或等于预设阈值,若大于或等于该预设阈值则确定有其它无线设备正在占用信道,即停止发送;若小于该预设阈值则确定没有其它无线设备占用当前信道,即开始发送。

上述基于CSMA/CA的数据发送方法,容易降低信道的传输效率。举例如下,如图1所示,S1和S2为发送端,A、B、C为接收端,图1左侧的虚线构成圆形范围为S1的发送范围,图1右侧的虚线构成圆形范围为S2的发送范围,S1和S2彼此可以通过载波侦听侦测到对方的传输。接收端C并不在S1的传输范围之内,接收端A、B同样也不在S2的传输范围之内,因此S2向C发送数据并不会受到S1向A、B发送数据的影响。但是根据CSMA/CA的策略,若S2侦听到S1发送数据时,将采取退避策略,等待S1发送完成之后才能发送,从而造成了信道传输效率的降低。



技术实现要素:

本申请实施例提供一种数据传输方法和装置,用于提高无线网络的传输效率。

本申请实施例采用下述技术方案:

一种数据传输方法,包括:发送端向接收端发送数据帧;发送端判断接收端是否接收到所述数据帧,如果否,则发送端以预设时间间隔持续向接收端发送所述数据帧。

可选地,发送端以预设时间间隔向接收端发送所述数据帧之前,所述方法还包括:生成在预设取值区间内的所述预设时间间隔。

可选地,生成在预设取值区间内的所述预设时间间隔,包括:

按照下述公式,生成在预设取值区间[0,T0]内的所述预设时间间隔Ti:

其中,Ti为发送的第i个数据帧和发送的第i+1个数据帧之间的时间间隔;

i和i+1为发送的数据帧的序号;

Xi的取值范围为[0,M-1],且Xi和M满足如下递归公式:

Xi≡(A×Xi-1+C)modM

其中,T0、A、C、M、X0均为常数,且满足以下条件:

C和M互质;

M的质因数都能整除A-1;

若M是4的倍数,则A-1也是4的倍数;

A、C、X0均小于M;

A、C均为正整数。

可选地,X0为发送端的物理地址或发送端的ID编号。

可选地,发送端以预设时间间隔持续向接收端发送所述数据帧,具体包括:发送端以第一随机时间间隔持续向接收端发送所述数据帧,并判断已发送的所述数据帧的数量是否达到第一预设值,其中,第一随机时间间隔在第一取值区间内随机生成;若已发送的所述数据帧的数量达到第一预设值,且接收端未接收到所述数据帧时,则:发送端以第二随机时间间隔持续向接收端发送所述数据帧,其中,第二随机时间间隔在第二取值区间内随机生成,且第二取值区间的上界大于第一取值区间的上界。

可选地,发送端以第二随机时间间隔持续向接收端发送所述数据帧时,发送的所述数据帧的数量的上界为第二预设值,且所述第二预设值大于所述第一预设值。

可选地,发送端以第二随机时间间隔持续向接收端发送所述数据帧时,若判断出接收端接收到所述数据帧,则,所述方法还包括:发送端以第三随机时间间隔持续向接收端发送其它数据帧,其中,第三随机时间间隔在第三取值区间内随机生成,且第三取值区间的上界大于第一取值区间的上界、且小于第二取值区间的上界。

可选地,发送端判断接收端是否接收到所述数据帧,具体包括:发送端根据是否接收到接收端发送的确认帧,判断接收端是否接收到所述数据帧。

一种数据传输装置,所述装置应用于发送端,具体包括:发送模块和判断模块,其中,所述发送模块,用于向接收端发送数据帧;且在判断模块判断出接收端未接收到所述数据帧时,以预设时间间隔持续向接收端发送所述数据帧;所述判断模块,用于判断接收端是否接收到所述数据帧。

可选地,所述装置还包括预设时间间隔生成模块,其中,所述预设时间间隔生成模块,用于生成在预设取值区间内的所述预设时间间隔。

通过本申请实施例提供的数据传输方法和装置,在并发传输下,发送端向接收端发送数据帧时,发送端以预设时间间隔持续向接收端发送所述数据帧,便于在接收端形成俘获效应,进而使接收端成功接收到上述数据帧。由于发送端向接收端发送数据帧时无需进行载波侦听即可进行数据帧发送,首先,节省了进行载波侦听消耗的时间和资源;其次,避免现有技术中侦听到信道中有其它数据帧传输时,需要退避等待,进而造成的无线网络的传输效率降低的问题。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为现有技术中基于CSMA/CA的数据传输方法的应用场景示意图;

图2为现有技术中七层OSI标准的分层结构示意图;

图3为本申请实施例提供的数据传输方法的流程示意图;

图4为现有技术中数据传输方法的应用场景示意图;

图5为本申请实施例提供的数据传输装置示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。

在详细介绍本申请实施例之前,首先对本实施例中的一些技术细节进行介绍。图2示出了OSI模型的分层结构。OSI模型包括物理层,数据链路层、网络层、传输层、会话层、表示层和应用层。

为了传输数据,物理层规定了物理链路的创建、维持、拆除等,并且提供具有机械的,电子的,功能的和规范的特性,简单而言,物理层确保原始的数据可在各种物理媒体上传输。

数据链路层在物理层提供的服务的基础上向网络层提供服务,其基本的服务是将源自网络层来的数据可靠地传输到相邻节点的网络层。为达到这一目的,数据链路具备一系列相应的功能,包括:如何将数据组合成数据块,在数据链路层中称这种数据块为数据帧(frame),帧是数据链路层的传送单位;如何控制帧在物理信道上的传输;以及在两个无线设备之间提供数据链路通路的建立、维持和释放的管理。

传输层管理端到端的数据传输。会话层利用传输层提供的服务,使应用建立和维持会话,并能使会话获得同步。表示层将输入和输出数据从一种表示形式转换成另一种表示形式。应用层负责对软件提供接口以使程序能使用网络服务,应用层提供的服务包括文件传输、文件管理以及电子邮件的信息处理。

为解决现有技术中无线网络传输效率低的问题,本申请实施例提供一种数据传输方法,该实施例中提到的数据,即通过上述介绍的数据链路层中传输的数据。如图3所示,该实施例包括如下步骤:

步骤S31:发送端向接收端发送数据帧;

该处提到的发送端,即能够向接收端发送数据的无线设备。该处提到的接收端,即能够接收上述发送端发送的数据的无线设备。

实际应用中,一个无线设备可能同时具有发送数据和接收数据的功能,因此,该步骤也可以理解为一个无线设备向另一个无线设备发送数据的过程,该处的无线设备,如手机、笔记本电脑、平板电脑、蓝牙设备、智能手表、无线传感器等。

该步骤中提到的数据帧,如上述介绍的数据链路层中传输的数据单元,它包括三部分:帧头、数据部分和帧尾。其中,帧头和帧尾包含一些必要的控制信息,比如同步信息、地址信息、差错控制信息等;数据部分则包含网络层传下来的数据,比如IP数据包。

在无线通信标准中,各个无线设备通常通过在无线信号中发送的离散的数据帧的形式,来实现信息的互相传递。在发送端,数据链路层把网络层传下来的数据封装成数据帧,然后发送到链路上去;在接收端,数据链路层把收到的数据帧中的数据取出并交给网络层。

数据帧有多种类型,比如PPP帧、MAC帧等,其具体格式也不尽相同。以MAC帧的格式为例进行说明:MAC帧的帧头包括三个字段。前两个字段分别为6字节长的目的地址字段和源地址字段。第三个字段为2字节的类型字段,里面包含的信息用来标志上一层使用的是什么协议,以便接收端把收到的MAC帧的数据部分上交给上一层的这个协议。MAC帧的数据部分只有一个字段,其长度在46到1500字节之间,包含的信息是网络层传下来的数据。

步骤S32:发送端判断接收端是否接收到所述数据帧,如果是,则可以停止发送;如果否,则返回步骤S31持续向接收端发送所述数据帧,且发送的两个数据帧之间的时间间隔为预设时间间隔。

该步骤中,具体判断接收端是否接收到发送端发送的数据帧时,可以根据是否接收到接收端发送的确认帧(ACK),来判断接收端是否接收到上述数据帧。当然,本实施例并不以此为限。

当发送端确认到接收端接收到上述数据帧之后,即可停止发送,或者是继续发送其它的数据帧。

当发送端确认接收端未接收到上述数据帧,则发送端可以继续向接收端发送上述相同的数据帧,直至接收端接收到上述数据帧。且在持续发送相同的数据帧时,前后发送的两个数据帧之间的时间间隔可以是预先设定出,当然也可以在一定的取值范围内随机生成。

例如,发送端以10微秒为时间间隔,定时向接收端发送形同的数据帧,直至接收端接收到上述数据帧。

还例如,发送端在每发送一个数据帧之前,在[0,T0]]的时间范围内随机生成一个时间值,且以生成的时间值为时间间隔向接收端发送所述数据帧,即每发送一次数据帧,均计算出一个随机的时间值(发送的第一个数据帧除外),且以计算出的随机时间值为时间间隔向接收端发送相同的数据帧,直至接收端接收到上述数据帧。

通过本申请实施例提供的数据传输方法,在并发传输下,发送端向接收端发送数据帧时,发送端以预设时间间隔持续向接收端发送所述数据帧,便于在接收端形成俘获效应,进而使接收端成功接收到上述数据帧。由于发送端向接收端发送数据帧时无需进行载波侦听即可进行数据帧发送,首先,节省了进行载波侦听消耗的时间和资源;其次,避免现有技术中侦听到信道中有其它数据帧传输时,需要退避等待,进而造成的无线网络的传输效率降低的问题。

对于上述提到的俘获效应,可以是与不同的发送端发送的信号强度有关,例如最强信号的信号强度高于其它所有信号的叠加信号强度,进而能够在接收端形成俘获效应。

上述提到的俘获效应,还可以是同时与信号的强度和信号到达接收短的时间有关,例如最强信号的前导码到达接收端不晚于第一个到达的弱信号前导码(Preamble)160微秒,且最强信号的信号强度至少高于其它所有信号的叠加信号强度3dBm的情况下,形成俘获效应,接收端可以成功接收到上述最强信号,其它的功率较小的信号则当作是噪声,对其不作处理。

通过本申请实施例提供的数据传输方法,在并发传输时,不同发送端发送的不同数据帧将以随机的顺序到达接收端,因此当接收端接收到的最强信号强于其它叠加信号3dBm时,有很大概率上至少有一个数据包前导码满足俘获效应对于强信号在时序上的要求。

在异构网络(WiFi,传感器网络,蓝牙,Mesh网络)共存的情况下,由于不同终端的发送功率、载波侦听阈值和退避策略(指数退避或常数退避)的不同,现有技术采用的CSMA/CA的数据传输方法,若一个发送端在进行数据传输时时,其他的发送端若侦听到该数据传输,将全部采取退避策略,无线网络的传输效率低的问题将被进一步放大。针对这个问题,本发明提出的数据传输方法,无需载波侦听,使得多个无线设备无需集中式地控制和协商,可以同时访问同频段无线信道,解决了无线网络的传输效率低的问题,且保证传输的可靠性。

现有技术中还有一种隐藏终端的数据传输方法,如图4所示,图4左侧的虚线构成圆形范围为S1的发送范围,图4右侧的虚线构成圆形范围为S2的发送范围,S1和S2被称为隐藏终端。在隐藏终端条件下,通过载波侦听,不同的发送端(S1和S2)并不能侦测到并发传输的其它发送端,也就是说S1和S2并不能侦听到彼此的传输。接收端B既在S1的干扰范围内也在S2的干扰范围内。在隐藏终端存在的情况下,现有技术一般是在数据发送前,发送端与接收端进行一次短控制消息握手交换,以短消息的方式通知邻居节点它即将进行接收,即RTS/CTS方式。这样其它的发送端就不能进行发送,如S1向B发送数据时,接收端B将广播CTS。发送端S2接收到接收端B发送的CTS,此时,发送端S2也不能向接收端C发送数据,降低了无线网络的传输效率。本申请实施例提供的数据传输方法,可以同时实现S1向B发送数据,以及S2向C发送数据,并通过预设时间间隔的间隔发送方式,尽可能较少数据在接收端B处产生的干扰,提高了无线网络的传输效率,同时避免了发送RTS/CTS所需消耗的资源。

上述实施例的步骤S32中提到发送端以预设时间间隔向接收端发送所述数据帧,对于发送的同一个数据帧,在每次发送之间之前,发送端可以随机生成所述预设时间间隔,其生成方式可以是:在预设取值区间内随机生成,例如,在预设取值区间[0,100]内随机生成预设时间间隔,其单位可以是微秒。

通过上述随机时间间隔的设置,在多个发送端向同一接收端发送数据帧时,尽可能减少两个发送端发送的数据同时到达接收端,而产生数据冲突,进一步提高了无线网络的传输效率。

上述提到在预设取值区间内生成所述预设时间间隔时,在实际应用中,具体可以采用如下公式生成:

其中,Ti为发送的第i个数据帧Pi和发送的第i+1个数据帧Pi+1之间的时间间隔。该实施例中,i为从1开始的正整数,预设取值区间为[0,T0],Xi的取值范围为[0,M-1],且Xi和M满足如下递归公式:

Xi≡(A×Xi-1+C)modM

其中,A、C、M、X0均为常数,且满足以下条件:C和M互质;M的质因数都能整除A-1;若M是4的倍数,则A-1也是4的倍数;A、C、X0均小于M;A、C均为正整数,公式中的mod表示求余运算。

通过上述两个公式,首先随机生成Xi,然后由Xi生成Ti,生成随机时间间隔的计算过程简单,进而简化了各个发送端在发送数据帧之前的计算过程。

另外,具体实施时,X0可以设置成是发送端的物理地址或发送端的ID编号。另外,当发送端的物理地址和ID编号为二进制数时,还可以将其转换成通用的十进制数。在异构网络共存的情况下,不同的发送端的物理地址和ID编号均为唯一值,在不同的发送端,采用本申请实施例提供的方法,同时向同一接收端发送数据帧时,尽可能较少不同发送端发送的数据帧同时到达接收端进而产生冲突。

另外,在上述实施例中,发送端以预设时间间隔持续向接收端发送所述数据帧,具体可以按如下方式实施:

发送端以第一随机时间间隔持续向接收端发送所述数据帧,并判断已发送的所述数据帧的数量是否达到第一预设值,当然,发送的这些数据帧接收端均未成功接收,其中,第一随机时间间隔在第一取值区间内随机生成。

若已发送的所述数据帧的数量达到第一预设值,且接收端未接收到所述数据帧时,则:发送端可以以第二随机时间间隔持续向接收端发送所述数据帧,直至接收端接收到所述数据帧。其中,第二随机时间间隔在第二取值区间内随机生成,且第二取值区间的上界大于第一取值区间的上界,其中,第一取值区间和第二取值区间的下界均可以为0。

发送端以第二随机时间间隔持续向接收端发送所述数据帧时,发送的所述数据帧的数量的上界为第二预设值,且所述第二预设值大于所述第一预设值。

若发送端以第二随机时间间隔持续向接收端发送所述数据帧时,发送的所述数据帧的数量的上界达到第二预设值,且接收端还未接收到上述数据帧时,发送端还可以继续以第三、第四……第N随机时间间隔持续向接收端发送所述数据帧,直至接收端接收到所述数据帧。其中,第三、第四……第N随机时间间隔在第三、第四……第N取值区间内随机生成,且第一、第二、第三、第四……第N取值区间的上界可以以指数方式增长。且以第一、第二、第三、第四……第N随机时间间隔发送的相同的数据帧的数量也可以以指数方式增长。

在并发传输时,当多个发送端的信号在接收端信号强度区别较小,难以形成俘获效应时,接收端有可能无法接收到发送端发送的信号,从而造成网络丢包。此时发送端侦测到网络丢包后,指数增大产生随机时间间隔的取值区间的上界,这样减少了多个发送端的信号碰撞的概率,同时增大数据帧发送的数量,增大了接收端成功接收的概率,这样快速有效地保证了并发传输的传输成功率。

上述以第一、第二、第三、第四……第N随机时间间隔向接收端发送的相同的数据帧时,若判断出接收端接收到所述数据帧,则发送端可以立刻停止发送上述数据帧,进而发送其它的数据帧。具体操作时,若当前发送端发送所述数据帧时的随机时间间隔在[0,T]内随机产生,发送的数数据帧的上限为K,则发送端可以在[0,T-ΔT]的区间内产生随机时间间隔,且以该随机时间间隔向接收端发送上限为K-ΔK的其它数据帧,直至接收端接收到所述其它数据帧。T-ΔT大于前文提到的第一取值区间;K-ΔK大于前文提到的第一预设值。

基于相同的发明构思,本申请实施例还提供一种数据传输装置,所述装置应用于发送端,如图5所示,具体可以包括:发送模块51和判断模块52,其中,

所述发送模块51,可以用于向接收端发送数据帧;且在判断模块判断出接收端未接收到所述数据帧时,以预设时间间隔持续向接收端发送所述数据帧;

所述判断模块52,可以用于判断接收端是否接收到所述数据帧。其中判断接收端是否接收到所述数据帧,具体可以根据是否接收到接收端发送的确认帧(ACK),判断接收端是否接收到所述数据帧。

另外,如图5所示,所述装置可以还包括预设时间间隔生成模块53,其中,所述预设时间间隔生成模块53,可以用于生成在预设取值区间内的所述预设时间间隔。

预设时间间隔生成模块53生成在预设取值区间内的所述预设时间间隔,其中,发送模块51发送的第i个数据帧和发送的第i+1个数据帧之间的时间间隔Ti按如下公式生成:

其中,预设取值区间为[0,T0],Xi的取值范围为[0,M-1],且Xi和M满足如下递归公式:

Xi≡(A×Xi-1+C)modM

其中,A、C、M、X0均为常数,且满足以下条件:C和M互质;M的质因数都能整除A-1;若M是4的倍数,则A-1也是4的倍数;A、C、X0均小于M;A、C均为正整数。其中,X0可以为发送端的物理地址或发送端的ID编号。

另外,所述发送模块51以预设时间间隔持续向接收端发送所述数据帧,具体包括:发送端以第一随机时间间隔持续向接收端发送所述数据帧,并判断已发送的所述数据帧的数量是否达到第一预设值,其中,第一随机时间间隔在第一取值区间内随机生成;

若已发送的所述数据帧的数量达到第一预设值,且接收端未接收到所述数据帧时,则:发送端以第二随机时间间隔持续向接收端发送所述数据帧,其中,第二随机时间间隔在第二取值区间内随机生成,且第二取值区间的上界大于第一取值区间的上界。

所述发送模块51以第二随机时间间隔持续向接收端发送所述数据帧时,发送的所述数据帧的数量的上界为第二预设值,且所述第二预设值大于所述第一预设值。

所述发送模块51以第二随机时间间隔持续向接收端发送所述数据帧时,若判断出接收端接收到所述数据帧,则,所述发送模块51还可以以第三随机时间间隔持续向接收端发送其它数据帧,其中,第三随机时间间隔在第三取值区间内随机生成,且第三取值区间的上界大于第一取值区间的上界、且小于第二取值区间的上界。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其它数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其它类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其它内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其它光学存储、磁盒式磁带,磁带磁磁盘存储或其它磁性存储设备或任何其它非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1