CN103595510B - 一种无线数据传输方法、主机和从机 - Google Patents
一种无线数据传输方法、主机和从机 Download PDFInfo
- Publication number
- CN103595510B CN103595510B CN201310643573.1A CN201310643573A CN103595510B CN 103595510 B CN103595510 B CN 103595510B CN 201310643573 A CN201310643573 A CN 201310643573A CN 103595510 B CN103595510 B CN 103595510B
- Authority
- CN
- China
- Prior art keywords
- wireless
- packet
- descending
- slave
- main frame
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Abstract
本申请公开了一种无线数据传输方法、主机和从机,属于无线数据传输领域。所述方法包括:所述主机向n个所述从机发送下行无线数据包,其中,所述下行无线数据包中携带有下行应答信息;所述主机接收所述从机发送的上行无线数据包,其中,所述上行无线数据包中携带有上行应答信息;所述主机根据所述上行应答信息,判定是否重发所述下行无线数据包。所述主机包括:发送模块、接收模块和判定模块。所述从机包括:第一获取模块、第一处理模块、记录模块、第一发送模块和存储模块。本发明可以提高无线数据包的接收概率,且不降低无线数据包传输的效率。
Description
技术领域
本申请涉及无线数据传输领域,具体涉及一种无线数据传输方法、主机和从机。
背景技术
随着通信技术的发展,无线数据包传输得到了广泛的应用,无线数据包传输方式已成为研究的热点。目前,常用的无线数据包传输方式是无应答传输方式,无应答传输方式包括二种形式,一种是只发送一次,一种是发送多次。
现有无线数据包传输方式中,只发送一次且无应答这种无线数据包方式,无法保证接受端能够接收到发送端发送的无线数据包,无线数据包传输的可靠性低;发送多次且无应答这种无线数据包数据传输,可以提高接受端接收到发送端发送的无线数据包的概率,但是需要发送多次,无线数据包传输的效率低。
发明内容
为了解决上述问题,本申请提供一种无线数据传输方法、主机和从机。
一方面,提供了一种无线数据传输方法,包括1个主机,n个从机,n为自然数,所述方法包括:所述主机向n个所述从机发送下行无线数据包,其中,所述下行无线数据包中携带有下行应答信息,所述下行应答信息用于告知所述从机其发送的上行无线数据包所述主机是否收到,使得所述从机根据所述下行应答信息判定是否重发所述上行无线数据包;所述主机接收所述从机发送的上行无线数据包,其中,所述上行无线数据包中携带有上行应答信息,所述上行应答信息用于告知所述主机其向所述从机发送的下行无线数据包所述从机是否收到;所述主机根据所述上行应答信息,判定是否重发所述下行无线数据包。
另一方面,提供了一种主机,所述主机与n个从机传输无线数据,n为自然数,所述主机包括:发送模块、接收模块和第一判定模块。
又一方面,提供了一种从机,所述从机包括:第一获取模块、第一处理模块、记录模块、第一发送模块和存储模块。
与现有技术相比,本申请可以获得包括以下技术效果:通过在下行无线数据包中携带下行应答信息,上行无线数据包中携带上行应答信息,使得从机可以根据下行应答信息判定是否需要重新发送上行无线数据包,主机可以根据上行应答信息判定是否需要重新发送下行无线数据包,可以提高无线数据包的接收概率,且不降低无线数据包传输的效率。
附图说明
图1是本申请实施例的主机组成示意图;
图2是本申请实施例的从机组成示意图;
图3是本申请实施例的主机发送下行无线数据包的流程图;
图4是本申请实施例的主机接收上行无线数据包的流程图;
图5是本申请实施例的主机按照预设的主接收数据处理规则,对从机在主机为其分配的从时隙内发送的上行无线数据包进行处理的流程图;
图6是本申请实施例的从机发送上行无线数据包的流程图;
图7是本申请实施例的从机接收下行无线数据包的流程图;
图8是本申请实施例的从机按照预设的从接收数据处理规则,对其接收的主机发送的下行无线数据包进行处理的流程图。
具体实施方式
下面以一实施例对本申请的实现作进一步说明。本申请实施例提供了一种无线数据传输方法,包括1个主机,n个从机,n为自然数,该方法包括:S10:主机向n个从机发送下行无线数据包。其中,下行无线数据包中携带有下行应答信息,下行应答信息用于告知从机其发送的上行无线数据包主机是否收到,使得从机根据下行应答信息判定是否重发上行无线数据包;S11:主机接收从机发送的上行无线数据包。其中,上行无线数据包中携带有上行应答信息,上行应答信息用于告知主机其向从机发送的下行无线数据包从机是否收到;S12:主机根据上行应答信息,判定是否重发下行无线数据包。优选地,S10具体包括:S10a:主机在为其分配的主时隙内,向n个从机发送下行无线数据包,其中,下行无线数据包中携带有时隙分配信息和下行应答信息,时隙分配信息包括为1个或多个从机分配的m个从时隙,以及从机与每个从时隙之间的对应关系,主时隙与m个从时隙之和为预设的发送周期,m为自然数;下行应答信息包括主机在m个从时隙中每个从时隙是否接收到上行无线数据包,使得从机根据下行应答信息判定从机在主机为其分配的从时隙内发送的上行无线数据包主机是否收到,判定是否重发从机在主机为其分配的从时隙内发送的上行无线数据包;相应地,S11具体包括:S11a:主机接收从机在主机为其分配的从时隙内发送的上行无线数据包,其中,上行无线数据包中携带有上行应答信息,上行应答信息包括从机将要接收的下一包下行无线数据包的包序号和最近所收下行无线数据包之中连续预设个下行无线数据包的接收状态。优选地,主机在为其分配的主时隙内,向n个从机发送下行无线数据包括:S10a2:主机根据预设的时隙分配规则或从机中剩余的待发送的上行无线数据包的个数,为从机分配时隙;S10a3:主机根据每个从时隙是否接收到上行无线数据包,设置下行应答信息;S10a4:当主机判定主无线发送缓冲区中存在有待发送的下行无线数据包时,主机从主无线发送缓冲区中取出当前待发送的下行无线数据包;S10a5:主机在为其分配的主时隙内,向n个从机发送当前待发送的下行无线数据包;S10a6:主机根据当前待发送的下行无线数据包的目的地址和包序号,将当前待发送的下行无线数据包存储在相应的主无线重发缓冲区的相应位置,并设置重发标志,其中,主机中设置有n个主无线重发缓冲区,每个从机对应一个主无线重发缓冲区,每个主无线重发缓冲区中设置有预设个数的数据包存储位置,预设个数的大小与预设的下行无线数据包的包序号的个数相等,预设个数的数据包存储位置的序号与预设的包序号一一对应。优选地,还包括:S10a7:当主机判定主无线发送缓冲区中没有存在有待发送的下行无线数据包,n个主无线重发缓冲区中存在有待重发的下行无线数据包时,主机从n个主无线重发缓冲区中取出当前待重发的下行无线数据包;S10a8:主机在为其分配的主时隙内,向n个从机发送当前待重发的下行无线数据包,并将当前待重发的下行无线数据包对应的重发次数清0。优选地,将当前待发送的下行无线数据包存储在相应的主无线重发缓冲区的相应位置,并设置重发标志之后,还包括:S10a9:当主机判定无线重发缓冲区中有待重发的下行无线数据包因为主重发缓冲队列已满而被移出主重发缓冲队列时,主机将被移出主重发缓冲队列的待重发的下行无线数据包对应的重发次数清0;其中,主重发缓冲队列设置在主无线重发缓冲区中,主重发缓冲队列的长度小于主无线重发缓冲区的长度。具体地,主重发缓冲队列的长度小于主无线重发缓冲区的长度,即主重发缓冲队列中包括的数据包存储位置的预设个数小于主无线重发缓冲区中包括的数据包存储位置的预设个数。一般主重发缓冲队列的长度最好不要超过主重发缓冲区的长度的一半,如设置主无线重发缓冲区中包括的数据包存储位置的预设个数为16,主重发缓冲队列中包括的数据包存储位置的预设个数为8。优选地,主机接收从机在主机为其分配的从时隙内发送的上行无线数据包之后,还包括:S10a10:主机获取上行无线数据包中携带的上行应答信息和从机中剩余的待发送的上行无线数据包的包数,并根据上行应答信息判定是否将主无线重发缓冲区中的某下行无线数据包对应的重发次数设置为1;(若通过上行应答信息判定某下行无线数据包没有收到则将其相应的重发次数置1);S10a11:当主机判定其接收的从机发送的上行无线数据包不是空闲数据包时,主机按照预设的主接收数据处理规则,对接收的从机发送的上行无线数据包进行处理;S10a12:主机将接收从机发送的上行无线数据包的情况记载在下行应答信息中。优选地,主机按照预设的主接收数据处理规则,对从机在主机为其分配的从时隙内发送的上行无线数据包进行处理,包括:S10a13:当主机接收的上行无线数据包的包序号连续,主等待缓存队列不为空(说明当前没丢包,但之前有丢包)时,主机将其接收的上行无线数据包存储在主无线等待缓冲区相应的位置,将对应的待处理标志置为有效,将主等待缓存队列的队首指针指向下一包,如果主等待缓存队列的长度大于预设的主长度值时,主机将主等待缓存队列的队尾指针向队首指针的方向前移一包,并对主等待缓存队列中的上行无线数据包进行处理(也就是,若队尾指针所指向的数据包所对应的待处理标志有效,则将该包数据存入主无线接收缓冲区,同时将该待处理标志设置为无效,再将主等待缓存队列的队尾指针向队首指针的方向前移一包,如此反复,直到队尾指针所指向的数据包所对应的待处理标志无效,其他类似的地方与此处相同,不再一一赘述);S10a14:当主机接收的上行无线数据包的包序号不连续,主等待缓存队列为空(此时主等待缓存队列长度为0),主机接收的上行无线数据包不是重发数据包(说明当前有丢包,但之前没丢包)时,主机将其接收的上行无线数据包存储在主无线等待缓冲区相应的位置,将对应的待处理标志置为有效,将主等待缓存队列的队首指针指向下一包,如果主等待缓存队列的长度超过预设的主长度值时,主机移动主等待缓存队列的队尾指针,使主等待缓存队列的长度为预设的主长度值;S10a15:当主机接收的上行无线数据包的包序号不连续,主等待缓存队列为空,主机接收的上行无线数据包是重发数据包(说明之前没丢包,当前是否有丢包得根据重发数据包的位置来判断)时,如果主机接收的上行无线数据包在主等待缓存队列预设的长度之外时(说明该包没有收到过,如果在主等待缓存队列之内,说明收到过,不用处理),主机将其接收的上行无线数据包存储在主无线等待缓冲区相应的位置,将对应的待处理标志置为有效,将主等待缓存队列的队首指针指向下一包,如果主等待缓存队列的长度超过预设的主长度值时,主机移动主等待缓存队列的队尾指针,使主等待缓存队列的长度为预设的主长度值;S10a16:当主机接收的上行无线数据包的包序号不连续,主等待缓存队列不为空,主机接收的上行无线数据包是重发数据包,如果主机接收的上行无线数据包在主等待缓存队列预设的长度之外时(说明该包没有收到过),主机将其接收的上行无线数据包存储在主无线等待缓冲区相应的位置,将对应的待处理标志置为有效,将主等待缓存队列的队首指针指向下一包,如果主等待缓存队列的长度超过预设的主长度值时,主机对超出主等待缓存队列的上行无线数据包进行清理(也就是通过移动队尾指针,将其中所有待处理标志有效的上行无线数据包全部移入主无线接收缓冲区,同时将对应的待处理标志设置为无效,其他类似地方与此处相同,不再赘述),处理主等待缓存队列中的上行无线数据包;如果主机接收的上行无线数据包在主等待缓存队列之内,且位于主等待缓存队列的队尾时,主机将其接收的上行无线数据包存储在主无线接收缓冲区,将主等待缓存队列的队尾指针向队首指针的方向前移一包,处理主等待缓存队列中的上行无线数据包;如果主机接收的上行无线数据包在主等待缓存队列之内,但不位于主等待缓存队列的队尾时,主机将其接收的上行无线数据包存储在主无线等待缓冲区相应的位置,将对应的待处理标志置为有效;S10a17:当主机接收的上行无线数据包的包序号不连续,主等待缓存队列不为空,主机接收的上行无线数据包不是重发数据包,如果主机接收的上行无线数据包在主等待缓存队列之内时,主机将主等待缓存队列中的所有上行无线数据包进行清理,将上行无线数据包存储在主无线等待缓冲区相应的位置,并将上行无线数据包对应的待处理标志置为有效,将主等待缓存队列的队首指针指向下一包,并移动队尾指针使主等待缓存队列的长度为预设的主长度值;如果主机接收的上行无线数据包不在主等待缓存队列之内时,主机将其接收的上行无线数据包存储在主无线等待缓冲区相应的位置,将对应的待处理标志置为有效,将主等待缓存队列的队首指针指向下一包,如果主等待缓存队列的长度大于预设的主长度值,主机对超出主等待缓存队列的上行无线数据包进行清理,处理主等待缓存队列中的上行无线数据包;其中,主机内设置有n个主无线等待缓冲区,每个从机对应一个主无线等待缓冲区,每个主无线等待缓冲区中设置有预设个数的数据包存储位置,预设个数的大小与预设的上行无线数据包的包序号的个数相等,预设个数的数据包存储位置的序号与预设的包序号一一对应;主等待缓存队列设置在主无线等待缓冲区中,主等待缓存队列的长度小于主无线等待缓冲区的长度。具体地,主等待缓存队列的长度小于主无线等待缓冲区的长度,即主等待缓存队列中包括的数据包存储位置的预设个数小于主无线等待缓冲区中包括的数据包存储位置的预设个数。一般主等待缓存队列的长度最好不要超过主无线等待缓冲区的长度的一半,如设置主无线等待缓冲区中包括的数据包存储位置的预设个数为16,主等待缓存队列中包括的数据包存储位置的预设个数为8。优选地,还包括:S40a1:从机接收主机发送的下行无线数据包,获取时隙分配信息;S40a2:当从机根据时隙分配信息判定主机为其分配有从时隙时,从机获取其最近所收下行无线数据包之中连续预设个下行无线数据包的接收状态,并将从机将要接收的下一包下行无线数据包的包序号和最近所收下行无线数据包之中连续预设个下行无线数据包的接收状态记载在下行应答信息中;S40a3:当从机判定其从无线发送缓冲区中存在有待发送的上行无线数据包时,从机从其从无线发送缓冲区中取出当前待发送的上行无线数据包,并记录其从无线发送缓冲区中剩余的待发送的上行无线数据包的包数;S40a4:从机在主机为其分配的从时隙内,发送当前待发送的上行无线数据包,其中,当前待发送的上行无线数据包中还携带有从机中剩余的待发送的上行无线数据包的包数,以使主机能够根据从机中剩余的待发送的上行无线数据包的包数为从机分配时隙;S40a5从机将当前待发送的上行无线数据包存储在其从无线重发缓冲区的相应位置,并设置重发次数,其中,每个从机中设置有1个从无线重发缓冲区,每个从无线重发缓冲区中设置有预设个数的数据包存储位置,预设个数的大小与预设的上行无线数据包的包序号的个数相等,预设个数的数据包存储位置的序号与预设的包序号一一对应。优选地,还包括:S40a6:当从机判定其从无线发送缓冲区中没有待发送的上行无线数据包,其从无线重发缓冲区中有待重发的上行无线数据包时,从机从其从无线重发缓冲区中取出当前待重发的上行无线数据包;S40a7:从机在主机为其分配的从时隙内,发送当前待重发的上行无线数据包,并将当前待重发的上行无线数据包对应的重发次数减一。优选地,将当前待发送的上行无线数据包存储在其从无线重发缓冲区的相应位置,并设置重发次数之后,还包括:S40a8:当从机判定其从无线重发缓冲区中待重发的上行无线数据包对应的重发次数为0时将不再重发该上行无线数据包0。优选地,从机接收主机发送的下行无线数据包之后,还包括:S40a9:从机获取下行应答信息;S40a10:从机根据下行应答信息将其从无线重发缓冲区中已发送成功的上行无线数据包所对应的重发次数置0;S40a11:当从机判定其接收的主机发送的下行无线数据包不是空闲数据包,其接收的主机发送的下行无线数据包的目的地址与其自身的地址相同时,从机按照预设的从接收数据处理规则,对其接收的主机发送的下行无线数据包进行处理。优选地,从机按照预设的从接收数据处理规则,对其接收的主机发送的下行无线数据包进行处理,包括:S40a12:当从机接收的下行无线数据包的包序号连续,从等待缓存队列为空(说明当前没有丢包,之前也没有丢包)时,从机将接收的下行无线数据包存储在从无线接收缓冲区相应的位置,将从等待缓存队列的队首指针和队尾指针均指向下一包;S40a13:当从机接收的下行无线数据包的包序号连续,从等待缓存队列不为空(说明当前没丢包,但之前有丢包)时,从机将下行无线数据包存储在从无线等待缓冲区相应的位置,并将对应的待处理标志置为有效,将从等待缓存队列的队首指针指向下一包,如果从等待缓存队列的长度大于预设的从长度值,从机将从等待缓存队列的队尾指针向队首指针的方向前移一包,处理从等待缓存队列中的下行无线数据包;S40a14:当从机接收的下行无线数据包的包序号不连续,从等待缓存队列为空(说明当前有丢包,但之前没丢包)时,从机将下行无线数据包存储在从无线等待缓冲区相应的位置,并将对应的待处理标志置为有效,将从等待缓存队列的队首指针指向下一包,如果从等待缓存队列的长度超过预设的从长度值时,从机移动从等待缓存队列的队尾指针,使从等待缓存队列的长度为预设的从长度值;S40a15:当从机接收的下行无线数据包的包序号不连续,从等待缓存队列不为空,从机接收的下行无线数据包是重发数据包,如果从机接收的下行无线数据包在从等待缓存队列之外(说明该包没有收到过),从机将接收的下行无线数据包存储在从无线等待缓冲区相应的位置,并将对应的待处理标志置为有效,将从等待缓存队列的队首指针指向下一包,如果从等待缓存队列的长度大于预设的从长度值,从机清理超出从等待缓存队列的下行无线数据包,处理从等待缓存队列中的下行无线数据包;如果从机接收的下行无线数据包在从等待缓存队列之内,且位于从等待缓存队列的队尾,从机将下行无线数据包存储在从无线接收缓冲区相应的位置,将从等待缓存队列的队尾指针向队首指针的方向前移一包,处理从等待缓存队列中的下行无线数据包;如果从机接收的下行无线数据包在从等待缓存队列之内,但不位于从等待缓存队列的队尾,从机将接收的下行无线数据包存储在从无线等待缓冲区相应的位置,并将对应的待处理标志置为有效;S40a16:当从机接收的下行无线数据包的包序号不连续,从等待缓存队列不为空,从机接收的下行无线数据包不是重发数据包,如果从机接收的下行无线数据包在从等待缓存队列之内时,将从等待缓存队列中的所有数据包进行清理,将下行无线数据包存储在从无线等待缓冲区相应的位置,并将对应的待处理标志置为有效,将从等待缓存队列的队首指针指向下一包,并设置从等待缓存队列的长度为预设的从长度值;如果从机接收的下行无线数据包不在从等待缓存队列之内时,从机将下行无线数据包存储在从无线等待缓冲区相应的位置,并将对应的待处理标志置为有效,将从等待缓存队列的队首指针指向下一包,如果从等待缓存队列的长度大于预设的从长度值,从机清理超出从等待缓存队列的下行无线数据包,处理从等待缓存队列中的下行无线数据包;其中,从机内设置有1个从无线等待缓冲区,从无线等待缓冲区中设置有预设个数的数据包存储位置,预设个数的大小与预设的下行无线数据包的包序号的个数相等,预设个数的数据包存储位置的序号与预设的包序号一一对应;从等待缓存队列设置在从无线等待缓冲区中,从等待缓存队列中数据包存储位置的个数小于从无线等待缓冲区中数据包存储位置的个数。
下面以一实施例对本申请的实现作进一步说明。如图1所示,为主机组成示意图,主机中设置有一个主无线发送缓冲区和一个主无线接收缓冲区,多个主无线重发缓冲区和多个主无线等待缓冲区,每个从机对应一个主无线重发缓冲区和一个主无线等待缓冲区,有多少个从机就有多少个主无线重发缓冲区和主无线等待缓冲区。如图2所示,为从机组成示意图,从机中设置有一个从无线发送缓冲区、一个从无线接收缓冲区、一个从无线重发缓冲区和一个从无线等待缓冲区。下面以主机为1个,从机为n个,n为自然数,具体描述一下本实施例中的主机和从机是如何进行发送、接收实现它们之间的无线数据传输的。参见图3,下面为主机发送下行无线数据包的流程,包括:S101:主机根据预设的时隙分配规则或从机中剩余的待发送的上行无线数据包的个数,为从机分配时隙。具体地,主机与n个从机之间通过时分复用方式实现无线数据包传输。将一个周期等分成m+1个时隙,第一个时隙为主时隙,由主机专用,其它时隙为从时隙,由n个从机共用,从时隙由主机负责分配,m为自然数。一般情况下主机按照预设的时隙分配规则平均分配从时隙,一旦发现某从机有多个剩余的待发送的上行无线数据包时将会给某从机多分配从时隙,使某从机尽快将剩余的待发送的上行无线数据包发完。这样一方面可以减少上行无线数据包的等待时间,同时也避免出现因从无线发送缓冲区溢出而造成数据包丢失。主机和从机可以通过地址进行区分,将所要发送的无线数据加上源地址、目的地址、包序号等附加信息后打包存于相应的无线发送缓冲区。S102:主机根据每个从时隙是否接收到上行无线数据包,设置下行应答信息。例如:1个主机与16个从机之间进行无线数据传输,可以将一个周期等分为5个时隙,第一个时隙作为主时隙由主机占用,其它4个时隙作为从时隙由从机占用,主机用4位就可实现下行应答信息,为1时表示对应的从时隙收到了无线数据包,否则为0。主机在一个周期内最多可给4个从机分配从时隙,16个从机至少要用4位进行区分,因此时隙分配信息要占用两个字节。因此4位的下行应答信息和两个字节的时隙分配信息必须在主机所发的下行无线数据包中预留出来。S103:主机判断主无线发送缓冲区中是否存在有待发送的下行无线数据包,如果存在有,则执行104;否则,执行106。S104:主机从主无线发送缓冲区中取出当前待发送的下行无线数据包,在为其分配的主时隙内,向n个从机发送当前待发送的下行无线数据包。其中,当前待发送的下行无线数据包中携带有时隙分配消息和下行应答信息。具体地,主机通过主机中的射频向n个从机发送当前待发送的下行无线数据包。S105:主机根据当前待发送的下行无线数据包的目的地址和包序号,将当前待发送的下行无线数据包存储在相应的主无线重发缓冲区的相应位置,所对应的重发次数设置为0,并设置重发标志(以便从机区分所收到的数据包是不是重发的),然后结束。其中,主机中设置有n个主无线重发缓冲区,每个从机对应一个主无线重发缓冲区,每个主无线重发缓冲区中设置有预设个数的数据包存储位置,预设个数的大小与预设的下行无线数据包的包序号的个数相等,预设个数的数据包存储位置的序号与预设的包序号一一对应。例如:预设的包序号可以定为0~15。主无线重发缓冲区和主无线等待缓冲区的大小设置为16个数据包存储位置,序号为0~15,与包序号一一对应,根据包序号就能判定无线数据包在主无线重发缓冲区和主无线等待缓冲区中的位置。具体地,重发标志可以设置为1表示是重发数据包,为0则不是。S106:主机判断n个主无线重发缓冲区中是否存在有待重发的下行无线数据包,如果存在有,则执行107;否则,执行109。S107:主机从n个主无线重发缓冲区中取出当前待重发的下行无线数据包。S108:主机在为其分配的主时隙内,向n个从机发送当前待重发的下行无线数据包,并将当前待重发的下行无线数据包对应的重发次数清0,然后结束。其中,当前待重发的下行无线数据包中携带有时隙分配消息和下行应答信息。具体地,当重发次数不为0时为需要重发,为0时不用重发,主机待重发的下行无线数据包所对应的重发次数一般设置为0,仅当确认从机未收到时才设置为1。S109:主机在为其分配的主时隙内,向n个从机发送空闲数据包,然后结束。其中,空闲数据包中携带有时隙分配消息和下行应答信息。当主机有时隙可用,而主无线发送缓冲区和主无线重发缓冲区都为空时,所发的下行无数据包为空闲数据包,仅带有下行应答信息和时隙分配信息。
参见图4,下面为主机接收上行无线数据包的流程,包括:
S201:主机判断当前周期内所有从时隙是否都已处理,如果是,则结束;否则,执行202。具体地,主机从第一个从时隙开始顺序执行。S202:主机判断当前从时隙是否收到上行无线数据包,如果收到,则执行203;否则,执行207。S203:主机接收从机在该从时隙内发送的上行无线数据包。其中,上行无线数据包中携带有上行应答信息和从机中剩余的待发送的上行无线数据包的包数,上行应答信息包括从机将要接收的下一包的下行无线数据包的包序号和最近接收的下行无线数据包中连续预设个下行无线数据包的接收状态。S204:主机获取上行无线数据包中携带的上行应答信息和从机中剩余的待发送的上行无线数据包的包数,并根据上行应答信息将主无线重发缓冲区中从机未收到的下行无线数据包对应的重发次数置1。S205:主机判断所收的上行无线数据包是不是空闲数据包,如果是,则执行207;否则,执行206。S206:主机按照预设的主接收数据处理规则,对所收到的上行无线数据包进行处理。S207:主机将该时隙所收上行无线数据包的情况记载在下行应答信息中。S208:指向下一个时隙,然后执行201。
参见图5,下面为主机按照预设的主接收数据处理规则,对从机在主机为其分配的从时隙内发送的上行无线数据包进行处理的流程,包括:
S301:主机判断上行无线数据包的包序号是否连续,如果不连续,则执行302;否则执行325。S302:主机判断主无线等待缓冲区是否为空,如果为空,则执行303;否则,执行307。S303:主机判断上行无线数据包是否为重发数据包,如果为重发数据包,则执行304;否则,执行305。S304:主机判断上行无线数据包是否在主等待缓存队列预设的长度之外,如果是,则执行305;否则,结束。主等待缓存队列设置在主无线等待缓冲区中,主等待缓存队列中数据包存储位置的个数(即预设的长度)小于主无线等待缓冲区中数据包存储位置的个数。如主无线等待缓冲区中数据包存储位置的个数为16,则主等待缓存队列中数据包存储位置的个数可以设置为8,也就是所能允许的最大的主等待缓存队列的长度。具体地,主等待缓存队列随着所接收的上行无线数据包而变化,主等待缓存队列有两个位置很重要,队首和队尾,队首指针和队尾指针对应上行无线数据包的包序号,队首为当前所收上行无线数据包的下一包的包序号,队尾为最早丢失的上行无线数据包的包序号,因此队首指针减去队尾指针之差(为负时加预设的无线数据包的个数(如16)修正)就是主等待缓存队列的长度。具体地,上行无线数据包是否在主等待缓存队列预设的长度之外,是根据它的包序号是否落在队首与队尾之间形成的队列之外,如果是,则在之外,否则,在之内。其他相似的地方与此处类似,不再一一赘述。由于当前主无线等待缓冲区为空,说明当前主等待缓存队列的长度为0,此时所收上行无线数据包肯定都在主等待缓存队列预设的长度之外,因此判断所收上行无线数据包是否落在主等待缓存队列(当前队首之前的8个数据包)之外,是则说明没有收到过,按非重发数据包处理,否则说明已收到过。S305:主机将上行无线数据包存储在主无线等待缓冲区相应的位置,并将上行无线数据包对应的待处理标志置1。具体地,根据上行无线数据包的包序号,将上行无线数据包存储在主无线等待缓冲区中相应的序号位置,上行无线数据包对应的待处理标志用于表示相应序号的上行无线数据包是否接收到,本实施例中当待处理标志为1时,表示相应序号的上行无线数据包接收到,等待处理,当待处理标志为0时,表示相应序号的上行无线数据包没有接收到,不用处理。S306:主机将主等待缓存队列的队首指针指向下一包上行无线数据包在主无线等待缓冲区中对应的位置,并调整主等待缓存队列,然后结束。具体地,调整主等待缓存队列即如果主等待缓存队列的长度超过预设的主长度值时,主机移动主等待缓存队列的队尾指针,使主等待缓存队列的长度为预设的主长度值。其他相似的地方与此处类似,不再一一赘述。S307:主机判断上行无线数据包是否为重发数据包,如果不为重发数据包,则执行308;否则,执行312。S308:主机判断上行无线数据包是否在主等待缓存队列之内,如果是,则执行309;否则,执行313。S309:清理主等待缓存队列之内的所有上行无线数据包。。S310:主机将上行无线数据包存储在主无线等待缓冲区相应的位置,并将上行无线数据包对应的待处理标志置1。S311:主机将主等待缓存队列的队首指针指向下一包上行无线数据包在主无线等待缓冲区中对应的位置,并设置主等待缓存队列的长度为预设的主长度值,然后结束。S312:主机判断上行无线数据包是否在主等待缓存队列预设的长度之外,如果是,则执行313;否则,执行319。S313:主机将上行无线数据包存储在主无线等待缓冲区相应的位置,并将上行无线数据包对应的待处理标志置1。S314:主机将主等待缓存队列的队首指针指向下一包上行无线数据包在主无线等待缓冲区中对应的位置。S315:主机判断主等待缓存队列的长度是否大于预设的主长度值,如果是,则执行316;否则,结束。具体地,预设的主长度值可以根据设置的无线数据包的个数设置,如设置的无线数据包的个数为16个(序号为0-15),则预设的主长度值可以取8等小于16的值。S316:主机清理超出主等待缓存队列的上行无线数据包。S318:主机处理主等待缓存队列中的上行无线数据包,然后结束。具体地,主机处理主等待缓存队列中的上行无线数据包的方法如下:队尾指针指向的上行无线数据包的待处理标志如果为1,则将该待处理标志清0,同时将该待处理标志对应的上行无线数据包从主无线等待缓冲区移到主无线接收缓冲区,队尾指针向队首指针的方向前移一包,继续处理,如果出现待处理标志为0则退出。如果主等待缓存队列内所有的处待处理标志都为1,则主等待缓存队列被清空,队尾指针与队首指针相等。S319:主机判断上行无线数据包是否在主等待缓存队列的队尾,如果是,则执行320;否则,执行323。S320:主机将上行无线数据包存储在主无线接收缓冲区相应的位置。S321:主机将主等待缓存队列的队尾指针向队首指针的方向前移一包。S322:主机处理主等待缓存队列中的上行无线数据包,然后结束。S323:主机判断上行无线数据包是否在主等待缓存队列之内,如果是,则执行324;否则,结束。S324:主机将上行无线数据包存储在主无线等待缓冲区相应的位置,并将上行无线数据包对应的待处理标志置1,然后结束。S325:主机判断主无线等待缓冲区是否为空,如果不为空,则执行326;否则,执行331。S326:主机将上行无线数据包存储在主无线等待缓冲区相应的位置,并将上行无线数据包对应的待处理标志置1。S327:主机将主等待缓存队列的队首指针指向下一包上行无线数据包在主无线等待缓冲区中对应的位置。S328:主机判断主等待缓存队列的长度是否大于预设的主长度值,如果是,则执行329;否则,结束。S329:主机将主等待缓存队列的队尾指针向队首指针的方向前移一包。S330:主机处理主等待缓存队列中的上行无线数据包,然后结束。S331:主机将上行无线数据包存储在主无线接收缓冲区相应的位置。S332:主机将主等待缓存队列的队首指针和队尾指针均指向下一包上行无线数据包在主无线等待缓冲区中对应的位置,然后结束。
参见图6,下面为从机发送上行无线数据包的流程,包括:
S401:从机从所接收主机发送的下行无线数据包中获取时隙分配信息。其中,下行无线数据包中携带有时隙分配信息,时隙分配信息包括为1个或多个从机分配的m个从时隙,以及从机与每个从时隙之间的对应关系,主时隙与m个从时隙之和为预设的发送周期,m为自然数。S402:当从机根据时隙分配信息判定主机为其分配有从时隙时,从机获取其当前所收下行无线数据包的包序号和当前所收下行无线数据包之前连续预设个下行无线数据包的接收状态,并将从机将要接收的下一包的下行无线数据包的包序号和最近所收下行无线数据包之中连续预设个下行无线数据包的接收状态设置在下行应答信息中。S403:从机判断其从无线发送缓冲区中是否存在有待发送的上行无线数据包,如果存在有,则执行404;否则,执行409。S404:从机从其从无线发送缓冲区中取出当前待发送的上行无线数据包,并记录其从无线发送缓冲区中剩余的待发送的上行无线数据包的包数。S405:从机在主机为其分配的从时隙内,发送当前待发送的上行无线数据包。其中,当前待发送的上行无线数据包中还携带有从机中剩余的待发送的上行无线数据包的包数,以使主机能够根据从机中剩余的待发送的上行无线数据包的包数,为从机分配时隙。S406:从机将当前待发送的上行无线数据包存储在其从无线重发缓冲区的相应位置,并设置重发次数。其中,每个从机中设置有1个从无线重发缓冲区,每个从无线重发缓冲区中设置有预设个数的数据包存储位置,预设个数的大小与预设的上行无线数据包的包的个数相等,预设个数的数据包存储位置的序号与预设的包序号一一对应。S407:从机判断其从无线重发缓冲区中是否有待重发的上行无线数据包被移出从重发缓冲队列,如果有,则执行408;否则,结束。其中,从重发缓冲队列设置在从无线重发缓冲区中,从重发缓冲队列中数据包存储位置的个数小于从无线重发缓冲区中数据包存储位置的个数。S408:从机将被移出从重发缓冲队列的待重发的上行无线数据包对应的重发次数置为0,然后结束。S409:从机判断其从无线重发缓冲区中是否有待重发的上行无线数据包,如果有,则执行410;否则,结束。具体地,可以通过查询从无线重发缓冲区中上行无线数据包对应的重发次数,来判断出从机的从无线重发缓冲区中是否有待重发的上行无线数据包。S410:从机从其从无线重发缓冲区中取出当前待重发的上行无线数据包。S411:从机在主机为其分配的从时隙内,发送当前待重发的上行无线数据包,并将当前待重发的上行无线数据包对应的重发次数减一,然后结束。
参见图7,下面为从机接收下行无线数据包的流程,包括:
S501:从机接收主机发送的下行无线数据包,获取下行应答信息。其中,下行无线数据包中携带有下行应答信息,下行应答信息包括主机在m个从时隙中每个从时隙是否接收到上行无线数据包。S502:从机根据下行应答信息判定是否将其从无线重发缓冲区中的某上行无线数据包对应的重发次数置0。具体地,当从机根据下行应答信息判定主机接收到从机在主机为其分配的从时隙发送的上行无线数据时,则判定将从机的从无线重发缓冲区中该上行无线数据对应的重发次数置0。S503:从机判断其接收的主机发送的下行无线数据包是不是空闲数据包,如果是空闲数据包则结束;否则,执行504。S504:从机判断其接收的主机发送的下行无线数据包的目的地址与其自身的地址是否相同,如果相同,则执行505;否则,结束。S505:从机按照预设的从接收数据处理规则,对其接收的主机发送的下行无线数据包进行处理,然后结束。
参见图8,下面为从机按照预设的从接收数据处理规则,对其接收的主机发送的下行无线数据包进行处理的流程,包括:
S601:从机判断下行无线数据包的包序号是否连续,如果不连续,则执行602;否则执行622。S602:从机判断从无线等待缓冲区是否为空,如果为空,则执行603;否则,执行605。S603:从机将下行无线数据包存储在从无线等待缓冲区相应的位置,并将下行无线数据包对应的待处理标志置1。具体地,根据下行无线数据包的包序号,将下行无线数据包存储在从无线等待缓冲区中相应的序号位置,下行无线数据包对应的待处理标志用于表示相应序号的下行无线数据包是否接收到,本实施例中当待处理标志为1时,表示相应序号的下行无线数据包接收到,等待处理;当待处理标志为0时,表示相应序号的下行无线数据包没有接收到,不用处理。S604:从机将从等待缓存队列的队首指针指向下一包下行无线数据包在从无线等待缓冲区中对应的位置,并调整从等待缓存队列,然后结束。从等待缓存队列设置在从无线等待缓冲区中,从等待缓存队列中数据包存储位置的个数(即预设的长度)小于从无线等待缓冲区中数据包存储位置的个数。如从无线等待缓冲区中数据包存储位置的个数为16,则从等待缓存队列中数据包存储位置的个数可以设置为8。具体地,从等待缓存队列随着所接收的下行无线数据包而变化,从等待缓存队列有两个位置很重要,队首和队尾,队首指针和队尾指针对应下行无线数据包的包序号,队首指针指向当前所收下行无线数据包的下一包的包序号,队尾指针指向最早丢失的下行无线数据包的包序号,因此队首指针减去队尾指针之差(为负时加预设的无线数据包的个数(如16)修正)就是从等待缓存队列的长度。调整从等待缓存队列具体如下:如果从等待缓存队列的长度超过8,则移动队尾,使缓存队列的长度为8。S605:从机判断下行无线数据包是否为重发数据包,如果不为重发数据包,则执行606;否则,执行610。S606:从机判断下行无线数据包是否在从等待缓存队列之内,如果是,则执行607;否则,执行611。S607:从机清理从等待缓存队列之内的所有数据包。S608:从机将下行无线数据包存储在从无线等待缓冲区相应的位置,并将下行无线数据包对应的待处理标志置1。S609:从机将从等待缓存队列的队首指针指向下一包下行无线数据包在从无线等待缓冲区中对应的位置,并设置从等待缓存队列的长度为预设的从长度值,然后结束。S610:从机判断下行无线数据包是否在从等待缓存队列之内,如果不是,则执行611;否则,执行614。S611:从机将下行无线数据包存储在从无线等待缓冲区相应的位置,并将下行无线数据包对应的待处理标志置1。S612:从机将从等待缓存队列的队首指针指向下一包下行无线数据包在从无线等待缓冲区中对应的位置。S613:从机判断从等待缓存队列的长度是否大于预设的从长度值,如果是,则执行614;否则,结束。具体地,预设的从长度值可以根据设置的无线数据包的个数设置,如设置的无线数据包的个数为16个(序号为0-15),则预设的从长度值可以取8等小于16的值。S614:从机清理超出从等待缓存队列的下行无线数据包。S616:从机处理从等待缓存队列中的下行无线数据包,然后结束。S617:从机判断下行无线数据包是否在从等待缓存队列的队尾,如果是,则执行618;否则,执行621。S618:从机将下行无线数据包存储在从无线接收缓冲区相应的位置。S619:从机将从等待缓存队列的队尾指针向队首指针的方向前移一包。S620:从机处理从等待缓存队列中的下行无线数据包,然后结束。具体地,从机处理从等待缓存队列中的下行无线数据包的方法如下:队尾指针指向的下行无线数据包的待处理标志如果为1,则将该待处理标志清0,同时将该待处理标志对应的下行无线数据包从从无线等待缓冲区移到从无线接收缓冲区,队尾指针向队首指针的方向前移一包,继续处理,如果出现待处理标志为0则退出。如果从等待缓存队列内所有的待处理标志都为1,则从等待缓存队列被清空,队尾指针与队首指针相等。S621:从机将下行无线数据包存储在从无线等待缓冲区相应的位置,并将下行无线数据包对应的待处理标志置1,然后结束。S622:从机判断从无线等待缓冲区是否为空,如果不为空,则执行623;否则,执行628。S623:从机将下行无线数据包存储在从无线等待缓冲区相应的位置,并将下行无线数据包对应的待处理标志置1。S624:从机将从等待缓存队列的队首指针指向下一包下行无线数据包在从无线等待缓冲区中对应的位置。S625:从机判断从等待缓存队列的长度是否大于预设的从长度值,如果是,则执行626;否则,结束。S626:从机将从等待缓存队列的队尾指针向队首指针的方向前移一包。S627:从机处理从等待缓存队列中的下行无线数据包,然后结束。S628:从机将下行无线数据包存储在从无线接收缓冲区相应的位置。S629:从机将从等待缓存队列的队首指针和队尾指针均指向下一包下行无线数据包在从无线等待缓冲区中对应的位置,然后结束。
下面是本申请实施例的主机结构,主机与n个从机传输无线数据,n为自然数,主机包括:发送模块,用于执行S10;接收模块,用于执行S11;第一判定模块,用于执行S12。优选地,发送模块具体包括:发送单元,用于执行S10a;相应地,接收模块具体包括:接收单元,用于执行S11a。优选地,发送单元包括:分配子单元,用于执行S10a2;设置子单元,用于执行S10a3;取出子单元,用于执行S10a4;发送子单元,用于执行S10a5;存储子单元,用于执行S10a6。优选地,发送单元还包括:第一判定子单元,用于执行S10a7;第一处理子单元,用于执行S10a8。优选地,发送单元还包括:第二判定子单元,用于执行S10a9。优选地,接收模块还包括:获取单元,用于执行S10a10;第一处理单元,用于执行S10a11;记载单元,用于执行S10a12。优选地,处理单元包括:第二处理子单元,用于执行S10a13;第三处理子单元,用于执行S10a14;第四处理子单元,用于执行S10a15;第五处理子单元,用于执行S10a16;第六处理子单元,用于执行S10a17。
下面是本申请实施例的从机结构,从机包括:第一获取模块,用于执行S40a1;第一处理模块,用于执行S40a2;记录模块,用于执行S40a3;第一发送模块,用于执行S40a4;存储模块,用于执行S40a5。优选地,从机还包括:取出模块,用于执行S40a6;第二发送模块,用于执行S40a7。优选地,从机还包括:设置模块,用于执行S40a8。优选地,从机还包括:第二获取模块,用于执行S40a9;第二判定模块,用于执行S40a10;第二处理模块,用于执行S40a11。优选地,第二处理模块包括:第二处理单元,用于执行S40a12;第三处理单元,用于执行S40a13;第四处理单元,用于执行S40a14;第五处理单元,用于执行S40a15;第六处理单元,用于执行S40a16。
本申请还公开了一种无线数据包传输系统,所述系统包括:上面所述的任一主机和/或上面所述的任一从机。上述主机、从机和系统与前述的方法流程描述对应,不足之处参考下述方法流程的叙述,不再一一赘述。
Claims (10)
1.一种无线数据传输方法,包括1个主机,n个从机,n为自然数,所述方法包括:
步骤1:所述主机在为其分配的主时隙内,向n个所述从机发送下行无线数据包,其中,所述下行无线数据包中携带有时隙分配信息和下行应答信息,所述时隙分配信息包括为1个或多个所述从机分配的m个从时隙,以及所述从机与每个从时隙之间的对应关系,所述主时隙与m个从时隙之和为预设的发送周期,m为自然数;所述下行应答信息包括所述主机在m个从时隙中每个从时隙是否接收到上行无线数据包,使得所述从机根据所述下行应答信息判定所述从机在所述主机为其分配的从时隙内发送的上行无线数据包所述主机是否收到,判定是否重发所述从机在所述主机为其分配的从时隙内发送的上行无线数据包;
步骤2:所述主机接收所述从机在所述主机为其分配的从时隙内发送的上行无线数据包,其中,所述上行无线数据包中携带有上行应答信息,所述上行应答信息用于告知所述主机其向所述从机发送的下行无线数据包所述从机是否收到;
步骤3:所述主机根据所述上行应答信息,判定是否重发所述下行无线数据包。
2.如权利要求1所述的方法,其特征在于,所述上行应答信息包括所述从机将要接收的下一包下行无线数据包的包序号和最近所收下行无线数据包之中连续预设个下行无线数据包的接收状态。
3.如权利要求2所述的方法,其特征在于,所述主机在为其分配的主时隙内,向n个所述从机发送下行无线数据包括:
所述主机根据预设的时隙分配规则或所述从机中剩余的待发送的上行无线数据包的个数,为所述从机分配时隙;
所述主机根据每个从时隙是否接收到上行无线数据包,设置所述下行应答信息;
当所述主机判定主无线发送缓冲区中存在有待发送的下行无线数据包时,所述主机从所述主无线发送缓冲区中取出当前待发送的下行无线数据包;
所述主机在为其分配的主时隙内,向n个所述从机发送当前待发送的下行无线数据包;
所述主机根据当前待发送的下行无线数据包的目的地址和包序号,将当前待发送的下行无线数据包存储在相应的主无线重发缓冲区的相应位置,并设置重发标志,其中,所述主机中设置有n个主无线重发缓冲区,每个从机对应一个主无线重发缓冲区,每个主无线重发缓冲区中设置有预设个数的数据包存储位置,预设个数的大小与预设的下行无线数据包的包序号的个数相等,预设个数的数据包存储位置的序号与预设的包序号一一对应;
当所述主机判定所述主无线发送缓冲区中没有待发送的下行无线数据包,n个主无线重发缓冲区中有待重发的下行无线数据包时,主机从n个主无线重发缓冲区中取出当前待重发的下行无线数据包;
所述主机在为其分配的主时隙内,向n个所述从机发送当前待重发的下行无线数据包,并将当前待重发的下行无线数据包对应的重发次数清0。
4.如权利要求3所述的方法,其特征在于,所述主机接收所述从机在所述主机为其分配的从时隙内发送的上行无线数据包之后,还包括:
所述主机获取所述上行无线数据包中携带的上行应答信息和从机中剩余的待发送的上行无线数据包的包数,并根据所述上行应答信息判定是否将所述主无线重发缓冲区中的某下行无线数据包对应的重发次数设置为1;
当所述主机判定其接收的所述从机发送的上行无线数据包不是空闲数据包时,所述主机按照预设的主接收数据处理规则,对其接收的所述从机发送的上行无线数据包进行处理;
所述主机将接收所述从机在所述主机为其分配的从时隙内发送的上行无线数据包的情况记载在所述下行应答信息中。
5.如权利要求4所述的方法,其特征在于,所述主机按照预设的主接收数据处理规则,对其接收的所述从机发送的上行无线数据包进行处理,包括:
当所述主机接收的上行无线数据包的包序号连续,主等待缓存队列不为空时,所述主机将其接收的上行无线数据包存储在主无线等待缓冲区相应的位置,将对应的待处理标志置为有效,将主等待缓存队列的队首指针指向下一包,如果主等待缓存队列的长度大于预设的主长度值时,所述主机将主等待缓存队列的队尾指针向队首指针的方向前移一包,并对主等待缓存队列中的上行无线数据包进行处理;
当所述主机接收的上行无线数据包的包序号不连续,主等待缓存队列为空,所述主机接收的上行无线数据包不是重发数据包时,所述主机将其接收的上行无线数据包存储在主无线等待缓冲区相应的位置,将对应的待处理标志置为有效,将主等待缓存队列的队首指针指向下一包,如果主等待缓存队列的长度超过预设的主长度值时,所述主机移动主等待缓存队列的队尾指针,使主等待缓存队列的长度为预设的主长度值;
当所述主机接收的上行无线数据包的包序号不连续,主等待缓存队列为空,所述主机接收的上行无线数据包是重发数据包时,如果所述主机接收的上行无线数据包在主等待缓存队列预设的长度之外时,所述主机将其接收的上行无线数据包存储在主无线等待缓冲区相应的位置,将对应的待处理标志置为有效,将主等待缓存队列的队首指针指向下一包,如果主等待缓存队列的长度超过预设的主长度值时,所述主机移动主等待缓存队列的队尾指针,使主等待缓存队列的长度为预设的主长度值;
当所述主机接收的上行无线数据包的包序号不连续,主等待缓存队列不为空,所述主机接收的上行无线数据包是重发数据包,如果所述主机接收的上行无线数据包在主等待缓存队列预设的长度之外时,所述主机将其接收的上行无线数据包存储在主无线等待缓冲区相应的位置,将对应的待处理标志置为有效,将主等待缓存队列的队首指针指向下一包,如果主等待缓存队列的长度超过预设的主长度值时,主机对超出主等待缓存队列的上行无线数据包进行清理,处理主等待缓存队列中的上行无线数据包;如果所述主机接收的上行无线数据包在主等待缓存队列之内,且位于主等待缓存队列的队尾时,所述主机将其接收的上行无线数据包存储在主无线接收缓冲区,将主等待缓存队列的队尾指针向队首指针的方向前移一包,处理主等待缓存队列中的上行无线数据包;如果所述主机接收的上行无线数据包在主等待缓存队列之内,但不位于主等待缓存队列的队尾时,所述主机将其接收的上行无线数据包存储在主无线等待缓冲区相应的位置,将对应的待处理标志置为有效;
当所述主机接收的上行无线数据包的包序号不连续,主等待缓存队列不为空,所述主机接收的上行无线数据包不是重发数据包,如果所述主机接收的上行无线数据包在主等待缓存队列之内时,所述主机将主等待缓存队列中的所有上行无线数据包进行清理,将上行无线数据包存储在主无线等待缓冲区相应的位置,并将上行无线数据包对应的待处理标志置为有效,将主等待缓存队列的队首指针指向下一包,并移动队尾指针使主等待缓存队列的长度为预设的主长度值;如果所述主机接收的上行无线数据包不在主等待缓存队列之内时,所述主机将其接收的上行无线数据包存储在主无线等待缓冲区相应的位置,将对应的待处理标志置为有效,将主等待缓存队列的队首指针指向下一包,如果主等待缓存队列的长度大于预设的主长度值,主机对超出主等待缓存队列的上行无线数据包进行清理,处理主等待缓存队列中的上行无线数据包;
其中,所述主机内设置有n个主无线等待缓冲区,每个从机对应一个主无线等待缓冲区,每个主无线等待缓冲区中设置有预设个数的数据包存储位置,预设个数的大小与预设的上行无线数据包的包序号的个数相等,预设个数的数据包存储位置的序号与预设的包序号一一对应;
主等待缓存队列设置在主无线等待缓冲区中,主等待缓存队列的长度小于主无线等待缓冲区的长度。
6.如权利要求2-5中任一项所述的方法,其特征在于,还包括:
所述从机接收所述主机发送的下行无线数据包,获取时隙分配信息;
当所述从机根据所述时隙分配信息判定所述主机为其分配有从时隙时,所述从机获取其当前所收下行无线数据包的包序号和当前所收下行无线数据包之前连续预设个下行无线数据包的接收状态,并将所述从机将要接收的下一包下行无线数据包的包序号和最近所收下行无线数据包之中连续预设个下行无线数据包的接收状态设置在所述下行应答信息中;
当所述从机判定其从无线发送缓冲区中存在有待发送的上行无线数据包时,所述从机从其从无线发送缓冲区中取出当前待发送的上行无线数据包,并记录其从无线发送缓冲区中剩余的待发送的上行无线数据包的包数;
所述从机在所述主机为其分配的从时隙内,发送当前待发送的上行无线数据包,其中,当前待发送的上行无线数据包中还携带有所述从机中剩余的待发送的上行无线数据包的包数,以使所述主机能够根据所述从机中剩余的待发送的上行无线数据包的包数,为所述从机分配时隙;
所述从机将当前待发送的上行无线数据包存储在其从无线重发缓冲区的相应位置,并设置重发次数,其中,每个从机中设置有1个从无线重发缓冲区,每个从无线重发缓冲区中设置有预设个数的数据包存储位置,预设个数的大小与预设的上行无线数据包的包序号的个数相等,预设个数的数据包存储位置的序号与预设的包序号一一对应;
当所述从机判定其从无线发送缓冲区中没有待发送的上行无线数据包,其从无线重发缓冲区中存在有待重发的上行无线数据包时,所述从机从其从无线重发缓冲区中取出当前待重发的上行无线数据包;
所述从机在所述主机为其分配的从时隙内,发送当前待重发的上行无线数据包,并将当前待重发的上行无线数据包对应的重发次数减一。
7.如权利要求6所述的方法,其特征在于,所述从机接收所述主机发送的下行无线数据包之后,还包括:
所述从机获取所述下行应答信息;
所述从机根据所述下行应答信息将其从无线重发缓冲区中已发送成功的上行无线数据包所对应的重发次数置0;
当所述从机判定其接收的所述主机发送的下行无线数据包不是空闲数据包,其接收的所述主机发送的下行无线数据包的目的地址与其自身的地址相同时,所述从机按照预设的从接收数据处理规则,对其接收的所述主机发送的下行无线数据包进行处理。
8.如权利要求7所述的方法,其特征在于,所述从机按照预设的从接收数据处理规则,对其接收的所述主机发送的下行无线数据包进行处理,包括:
当所述从机接收的下行无线数据包的包序号连续,从等待缓存队列为空时,所述从机将接收的下行无线数据包存储在从无线接收缓冲区相应的位置,将从等待缓存队列的队首指针和队尾指针均指向下一包;
当所述从机接收的下行无线数据包的包序号连续,从等待缓存队列不为空时,所述从机将下行无线数据包存储在从无线等待缓冲区相应的位置,并将对应的待处理标志置为有效,将从等待缓存队列的队首指针指向下一包,如果从等待缓存队列的长度大于预设的从长度值,所述从机将从等待缓存队列的队尾指针向队首指针的方向前移一包,处理从等待缓存队列中的下行无线数据包;
当所述从机接收的下行无线数据包的包序号不连续,从等待缓存队列为空时,所述从机将下行无线数据包存储在从无线等待缓冲区相应的位置,并将对应的待处理标志置为有效,将从等待缓存队列的队首指针指向下一包,如果从等待缓存队列的长度超过预设的从长度值时,所述从机移动从等待缓存队列的队尾指针,使从等待缓存队列的长度为预设的从长度值;
当所述从机接收的下行无线数据包的包序号不连续,从等待缓存队列不为空,所述从机接收的下行无线数据包是重发数据包,如果所述从机接收的下行无线数据包在从等待缓存队列之外,所述从机将接收的下行无线数据包存储在从无线等待缓冲区相应的位置,并将对应的待处理标志置为有效,将从等待缓存队列的队首指针指向下一包,如果从等待缓存队列的长度大于预设的从长度值,所述从机清理超出从等待缓存队列的下行无线数据包,处理从等待缓存队列中的下行无线数据包;如果所述从机接收的下行无线数据包在从等待缓存队列之内,且位于从等待缓存队列的队尾,所述从机将下行无线数据包存储在从无线接收缓冲区相应的位置,将从等待缓存队列的队尾指针向队首指针的方向前移一包,处理从等待缓存队列中的下行无线数据包;如果所述从机接收的下行无线数据包在从等待缓存队列之内,但不位于从等待缓存队列的队尾,所述从机将接收的下行无线数据包存储在从无线等待缓冲区相应的位置,并将对应的待处理标志置为有效;
当所述从机接收的下行无线数据包的包序号不连续,从等待缓存队列不为空,所述从机接收的下行无线数据包不是重发数据包,如果所述从机接收的下行无线数据包在从等待缓存队列之内时,所述从机将等待缓存队列中的所有数据包进行清理,将下行无线数据包存储在从无线等待缓冲区相应的位置,并将对应的待处理标志置为有效,将从等待缓存队列的队首指针指向下一包,并设置从等待缓存队列的长度为预设的从长度值;如果所述从机接收的下行无线数据包不在从等待缓存队列之内时,所述从机将下行无线数据包存储在从无线等待缓冲区相应的位置,并将对应的待处理标志置为有效,将从等待缓存队列的队首指针指向下一包,如果从等待缓存队列的长度大于预设的从长度值,从机清理超出从等待缓存队列的下行无线数据包,处理从等待缓存队列中的下行无线数据包;
其中,所述从机内设置有1个从无线等待缓冲区,从无线等待缓冲区中设置有预设个数的数据包存储位置,预设个数的大小与预设的下行无线数据包的包序号的个数相等,预设个数的数据包存储位置的序号与预设的包序号一一对应;
从等待缓存队列设置在从无线等待缓冲区中,从等待缓存队列中数据包存储位置的个数小于从无线等待缓冲区中数据包存储位置的个数。
9.一种主机,所述主机与n个从机传输无线数据,n为自然数,所述主机包括:
发送模块,用于在为所述主机分配的主时隙内向n个所述从机发送下行无线数据包,其中,所述下行无线数据包中携带有时隙分配信息和下行应答信息,所述时隙分配信息包括为1个或多个所述从机分配的m个从时隙,以及所述从机与每个从时隙之间的对应关系,所述主时隙与m个从时隙之和为预设的发送周期,m为自然数;所述下行应答信息包括所述主机在m个从时隙中每个从时隙是否接收到上行无线数据包,使得所述从机根据所述下行应答信息判定所述从机在所述主机为其分配的从时隙内发送的上行无线数据包所述主机是否收到,判定是否重发所述从机在所述主机为其分配的从时隙内发送的上行无线数据包;
接收模块,用于接收所述从机在所述主机为其分配的从时隙内发送的上行无线数据包,其中,所述上行无线数据包中携带有上行应答信息,所述上行应答信息用于告知所述主机其向所述从机发送的下行无线数据包所述从机是否收到;
第一判定模块,用于根据所述上行应答信息,判定是否重发所述下行无线数据包。
10.一种从机,其特征在于,所述从机包括:
第一获取模块,用于接收主机发送的下行无线数据包,获取下行无线数据包中携带的时隙分配信息;
第一处理模块,用于根据所述时隙分配信息判定所述主机为所述从机分配有从时隙时,获取所述从机将要接收的下一包下行无线数据包的包序号和最近所收下行无线数据包之中连续预设个下行无线数据包的接收状态,并将所述从机将要接收的下一包下行无线数据包的包序号和最近所收下行无线数据包之中连续预设个下行无线数据包的接收状态记载在下行应答信息中;
记录模块,用于当判定从无线发送缓冲区中存在有待发送的上行无线数据包时,从所述从无线发送缓冲区中取出当前待发送的上行无线数据包,并记录所述从无线发送缓冲区中剩余的待发送的上行无线数据包的包数;
第一发送模块,用于在所述主机为所述从机分配的从时隙内,发送当前待发送的上行无线数据包,其中,当前待发送的上行无线数据包中还携带有所述从机中剩余的待发送的上行无线数据包的包数,以使所述主机能够根据所述从机中剩余的待发送的上行无线数据包的包数,为所述从机分配时隙;
存储模块,用于将当前待发送的上行无线数据包存储在所述从机从无线重发缓冲区的相应位置,并设置重发次数,其中,每个从机中设置有1个从无线重发缓冲区,每个从无线重发缓冲区中设置有预设个数的数据包存储位置,预设个数的大小与预设的上行无线数据包的包序号的个数相等,预设个数的数据包存储位置的序号与预设的包序号一一对应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310643573.1A CN103595510B (zh) | 2013-12-03 | 2013-12-03 | 一种无线数据传输方法、主机和从机 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310643573.1A CN103595510B (zh) | 2013-12-03 | 2013-12-03 | 一种无线数据传输方法、主机和从机 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103595510A CN103595510A (zh) | 2014-02-19 |
CN103595510B true CN103595510B (zh) | 2017-02-15 |
Family
ID=50085506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310643573.1A Active CN103595510B (zh) | 2013-12-03 | 2013-12-03 | 一种无线数据传输方法、主机和从机 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103595510B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108600507B (zh) * | 2018-03-20 | 2020-09-22 | 厦门亿联网络技术股份有限公司 | 一种dect的消息通知方法 |
CN108562596A (zh) * | 2018-06-14 | 2018-09-21 | 江苏方建质量鉴定检测有限公司 | 针对竖向构件连接节点的x射线检测系统及其检测方法 |
CN112969201B (zh) * | 2021-05-18 | 2021-07-23 | 荣耀终端有限公司 | 缓存的深度调整方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1336771A (zh) * | 2000-06-26 | 2002-02-20 | 株式会社Ntt都科摩 | 采用自动请求重发的通信系统 |
CN101882982A (zh) * | 2009-05-04 | 2010-11-10 | 大唐移动通信设备有限公司 | 一种ack/nack信息的反馈、处理方法及设备 |
CN102013964A (zh) * | 2005-07-08 | 2011-04-13 | 富士通株式会社 | 无线通信系统和无线通信方法 |
CN102300331A (zh) * | 2011-08-19 | 2011-12-28 | 电信科学技术研究院 | 数据传输方法和设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101124066B1 (ko) * | 2008-12-03 | 2012-04-12 | 한국전자통신연구원 | 왕복 지연시간이 긴 시스템에서의 arq와 harq의 상호작용 방법 |
-
2013
- 2013-12-03 CN CN201310643573.1A patent/CN103595510B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1336771A (zh) * | 2000-06-26 | 2002-02-20 | 株式会社Ntt都科摩 | 采用自动请求重发的通信系统 |
CN102013964A (zh) * | 2005-07-08 | 2011-04-13 | 富士通株式会社 | 无线通信系统和无线通信方法 |
CN101882982A (zh) * | 2009-05-04 | 2010-11-10 | 大唐移动通信设备有限公司 | 一种ack/nack信息的反馈、处理方法及设备 |
CN102300331A (zh) * | 2011-08-19 | 2011-12-28 | 电信科学技术研究院 | 数据传输方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103595510A (zh) | 2014-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5477541A (en) | Addressing technique for storing and referencing packet data | |
CN104796337A (zh) | 一种转发报文的方法及装置 | |
CN101473672B (zh) | 包括时钟同步有效性保护的多无线电调度 | |
CN1996966B (zh) | 通信消息变换装置以及通信消息变换方法 | |
EP0602769A2 (en) | A multiprocessor system | |
US7822053B2 (en) | Apparatus and method for TCP buffer copy distributed parallel processing | |
EP0884924A1 (en) | ATM Communication apparatus | |
CN103595510B (zh) | 一种无线数据传输方法、主机和从机 | |
EP1206086A2 (en) | Bluetooth baseband controller | |
US7436831B2 (en) | Wireless network load generator dynamic MAC hardware address manipulation | |
CN112088524B (zh) | 借助于蓝牙低能耗对不同优先级数据的传输 | |
CN109688070A (zh) | 一种数据调度方法、网络设备及转发单元 | |
CN103049240A (zh) | Pci-e设备及其接收数据重排序方法 | |
EP1406415A2 (en) | Bridge apparatus and bridge method | |
CN1866948B (zh) | 一种用于一无线传输系统中的工作站功率节省方法 | |
CN101610587A (zh) | 一种基于tdd制式的数据传输方法和装置 | |
CN1127230C (zh) | 应答确定方法,通信方法和无线收发信机 | |
CN100477611C (zh) | 无线/lan路由器排队方法和系统 | |
CN101022414B (zh) | 一种报文转发的方法和装置 | |
CN104170461B (zh) | 数据传输方法和基站 | |
US20060087996A1 (en) | Power saving when using aggregated packets | |
EP1052811A3 (en) | Switch and input port thereof | |
CN113965432B (zh) | 一种双通道can总线通信的控制系统 | |
CN113992608B (zh) | 一种网络收发包路径优化方法、装置及存储介质 | |
EP2798881B1 (en) | Shaping data packet traffic |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |