掌桥专利:专业的专利平台
掌桥专利
首页

数据传输方法、装置、设备及存储介质

文献发布时间:2023-06-19 10:14:56


数据传输方法、装置、设备及存储介质

技术领域

本发明属于通信技术领域,尤其涉及一种数据传输方法、装置、设备及存储介质。

背景技术

随着通信技术的发展,尤其是第五代移动通信技术(5th generation mobilenetworks,5G)的出现,物联网进入了发展的快车道。在物联网领域中,zigbee技术是不可或缺的技术之一。zigbee技术是一种短距离通信技术,广泛应用在智能家居和工业控制领域。

目前,zigbee技术存在传输速率较低的问题。

发明内容

有鉴于此,本发明实施例提供了一种数据传输方法、装置、设备及存储介质,以解决现有技术中zigbee传输速率较低的的问题。

本发明实施例的第一方面提供了一种数据传输方法,包括:

zigbee发送端按照预设顺序依次向zigbee接收端发送N个数据帧,其中,数据帧包括帧标识,预设顺序为帧标识从小到大的顺序,N≥2,N为正整数;

在每接收到与目标数据帧对应的确认消息时,zigbee发送端按照预设顺序向zigbee接收端发送当前数据帧的下一个数据帧,直至发送完所有待发送的数据帧,其中,zigbee接收端在每次接收到zigbee发送端发送的数据帧后,向zigbee发送端返回与接收到的数据帧对应的确认消息,目标数据帧为未接收到确认消息的数据帧中帧标识最小的数据帧,当前数据帧为当前已发送的数据帧中帧标识最大的数据帧。

可选的,数据传输方法还包括:

若zigbee发送端在数据帧发送后的预设时长内未接收到相应的确认消息,则向zigbee接收端重新发送相应数据帧。

可选的,在预设重发时长内重新发送的数据帧的个数不超过预设个数。

可选的,数据传输方法还包括:

zigbee发送端缓存已发送且未接收到确认消息的数据帧;

向zigbee接收端重新发送相应数据帧,包括:

向zigbee接收端重新发送缓存的相应数据帧。

可选的,在向zigbee接收端重新发送缓存的相应数据帧之后,数据传输方法还包括:

在接收到相应数据帧对应的确认消息后,从缓存中删除相应数据帧。

本发明实施例的第二方面提供了一种数据传输装置,包括:

第一发送模块,用于按照预设顺序依次向zigbee接收端发送N个数据帧,其中,数据帧包括帧标识,预设顺序为帧标识从小到大的顺序,N≥2,N为正整数;

第二发送模块,用于在每接收到与目标数据帧对应的确认消息时,按照预设顺序向zigbee接收端发送当前数据帧的下一个数据帧,直至发送完所有待发送的数据帧,其中,zigbee接收端在每次接收到数据帧后,返回与接收到的数据帧对应的确认消息,目标数据帧为未接收到确认消息的数据帧中帧标识最小的数据帧,当前数据帧为当前已发送的数据帧中帧标识最大的数据帧。

可选的,数据传输装置还包括:

重发模块,用于若在数据帧发送后的预设时长内未接收到相应的确认消息,则向zigbee接收端重新发送相应数据帧。

可选的,在预设重发时长内重新发送的数据帧的个数不超过预设个数。

可选的,数据传输装置还包括:

缓存模块,用于缓存已发送且未接收到确认消息的数据帧;

重发模块,还用于:

向zigbee接收端重新发送缓存的相应数据帧。

可选的,数据传输装置还包括:

删除模块,用于在接收到相应数据帧对应的确认消息后,从缓存中删除相应数据帧。

本发明实施例的第三方面提供了一种zigbee设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如第一方面的数据传输方法。

本发明实施例的第四方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如第一方面的数据传输方法。

本发明实施例与现有技术相比存在的有益效果是:

本发明实施例通过对现有的zigbee发送端的数据发送逻辑进行改造,zigbee发送端可以按照预设顺序向zigbee接收端先发送N个数据帧。由于目标数据帧为未接收到确认消息的数据帧中帧标识最小的数据帧,当前数据帧为当前已发送的数据帧中帧标识最大的数据帧,因此,在每接收到与目标数据帧对应的确认消息时,zigbee发送端按照预设顺序向zigbee接收端发送当前数据帧的下一个数据帧,直至发送完所有待发送的数据帧。

这样,zigbee发送端可以连续向zigbee接收端发送多个数据帧,如此,zigbee发送端可以不用在接收到数据帧的确认消息后发送下一个数据帧,从而zigbee发送端在单位时间内可以传输更多的数据帧,提高了zigbee传输速率。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是现有的zigbee技术采用的乒乓式的通信过程流程图;

图2是本发明实施例提供的一种数据传输方法的步骤流程图;

图3是本发明实施例提供的一种数据传输方法的通信过程流程图;

图4是本发明实施例提供的无中继情况下zigbee的通信示意图;

图5是本发明实施例提供的有一次中继情况下zigbee的通信示意图;

图6是本发明实施例提供的一种数据传输装置的结构示意图。

图7是本发明实施例提供的zigbee设备的结构示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。

下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

正如相关技术中所描述的,现有的zigbee技术存在传输速率较低的问题。现有的zigbee技术采用乒乓式的通信过程,如图1所示:

zigbee发送端110发送一个数据帧A给zigbee接收端120。zigbee接收端120在接收到该数据帧A后,发送该数据帧对应的确认消息给zigbee发送端110,例如媒体介入控制层(Media Access Control,MAC)的确认字符(Acknowledge character,ACK),即MAC ACK消息。接着,zigbee发送端110在接收到上述数据帧A对应的MAC ACK消息,再发送下一个数据帧B给zigbee接收端120。以此类推,zigbee发送端110在接收到上述数据帧B对应的MAC ACK消息,再发送下一个数据帧C给zigbee接收端120,直至将待发送的最后一个数据帧发送给zigbee接收端120。

需要说明的是,如果zigbee发送端在一定时长内没有接收到上述数据帧A对应的MAC ACK消息,则zigbee发送端重新发送数据帧A给zigbee接收端,直至zigbee发送端接收到数据帧A的MAC ACK消息或者超过预设的重发次数后,才可以发送下一个数据帧B给zigbee接收端。

如此,zigbee发送端需要在接收到数据帧的MAC ACK消息,才能发送下一个数据帧,导致zigbee发送端在单位时间内传输的数据帧较少,故而现有的zigbee传输速率较低。

为了解决现有技术问题,本发明实施例提供了一种数据传输方法、装置、设备及存储介质。下面首先对本发明实施例所提供的数据传输方法进行介绍。

数据传输方法的执行主体可以是zigbee发送端,zigbee发送端可以是具备数据发送功能的任意zigbee设备。

需要说明的是,这里的zigbee设备与现有的zigbee设备可以在硬件层面相同或相似,不过,两者内置的数据处理逻辑可以不同,例如,不启用对现有的zigbee技术中的应用层APS重传机制。

如图2所示,本发明实施例提供的数据传输方法包括以下步骤:

S210、zigbee发送端按照预设顺序依次向zigbee接收端发送N个数据帧。

在一些实施例中,数据帧可以包括帧标识,帧标识可以是数据帧的序列号,例如1、2、3……N等,相应的,zigbee发送端发送数据帧的预设顺序,可以是帧标识从小到大的顺序,即zigbee发送端先发送第1个数据帧,之后再发送第2个数据帧、第3个数据帧,直至第N个数据帧。具体的,zigbee发送端在发送完一个数据帧后,可以间隔一段时间,如35毫秒,再发送下一个数据帧。

这样,zigbee发送端在向zigbee接收端发送多个数据帧时,可以按照预设顺序,先依次向zigbee接收端发送N个数据帧。

值得一提的是,考虑到zigbee设备的带宽支持能力较低,以及zigbee接收端有限的数据接收能力,可以根据zigbee设备实际的带宽支持能力,对上述N的取值进行相应设置。例如,可以设置N的默认值为N=4。对于带宽支持能力较高的zigbee设备,可以将N设置为大于上述默认值的数值,如N=6。对于带宽支持能力较低的zigbee设备,可以将N设置为小于上述默认值的数值,如N=3。

S220、在每接收到与目标数据帧对应的确认消息时,zigbee发送端按照预设顺序向zigbee接收端发送当前数据帧的下一个数据帧,直至发送完所有待发送的数据帧。

其中,目标数据帧为未接收到确认消息的数据帧中帧标识最小的数据帧,当前数据帧为当前已发送的数据帧中帧标识最大的数据帧。

在一些实施例中,zigbee接收端的数据处理逻辑,可以和现有技术中的zigbee接收端的数据处理逻辑相同,即zigbee接收端在接收到一个数据帧后,可以返回该数据帧对应的确认消息,如MAC ACK消息。

需要说明的是,在正常情况下,zigbee接收端可以按照zigbee发送端发出数据帧的顺序,依次返回相应数据帧的确认消息。在异常情况下,例如由于网络故障导致的某个数据帧丢失,这样,zigbee接收端无法接收到该数据帧,也将无法返回该数据帧对应的确认消息。

在一些实施例中,zigbee发送端在接收到第1个数据帧对应的确认消息的情况下,可以向zigbee接收端发送第N+1个数据帧。在接收到第2个数据帧的确认消息的情况下,zigbee发送端可以向zigbee接收端发送第N+2个数据帧。以此类推,在接收到第3个数据帧的确认消息的情况下,zigbee发送端可以向zigbee接收端发送第N+3个数据帧,直至将所有待发送的数据帧全部发送至zigbee接收端。

这样,每当zigbee发送端接收到与目标数据帧对应的确认消息时,zigbee发送端可以按照预设顺序向zigbee接收端发送当前数据帧的下一个数据帧,直至发送完所有待发送的数据帧。

在本发明实施例中,通过对现有的zigbee发送端的数据发送逻辑进行改造,zigbee发送端可以按照预设顺序向zigbee接收端先发送N个数据帧。由于目标数据帧为未接收到确认消息的数据帧中帧标识最小的数据帧,当前数据帧为当前已发送的数据帧中帧标识最大的数据帧,因此,在每接收到与目标数据帧对应的确认消息时,zigbee发送端按照预设顺序向zigbee接收端发送当前数据帧的下一个数据帧,直至发送完所有待发送的数据帧。

这样,zigbee发送端可以连续向zigbee接收端发送多个数据帧,如此,zigbee发送端可以不用在接收到数据帧的确认消息后发送下一个数据帧,从而zigbee发送端在单位时间内可以传输更多的数据帧,提高了zigbee传输速率。

可选的,对于数据帧发送失败的情况,zigbee发送端可以对该数据帧进行重新传输,相应的处理可以如下:若zigbee发送端在数据帧发送后的预设时长内未接收到相应的确认消息,则向zigbee接收端重新发送相应数据帧。

在一些实施例中,预设时长可以是用于衡量数据帧是否发送成功的时长,例如,预设时长可以设置为1000毫秒。如果zigbee发送端在数据帧发送后的预设时长内未接收到相应的确认消息,则可以认为该数据帧发送失败,zigbee发送端可以向zigbee接收端重新发送失败的相应数据帧。

需要说明的是,如果zigbee发送端重新发送数据帧之后,在重新发送该数据帧后的预设时长内,仍然没有接收到该数据帧的确认消息,zigbee接收端可以继续重新发送该数据帧,直至达到预设的重新发送次数,例如8次。如此,可以减轻zigbee接收端的数据接收压力。

通过上述实施例中重新发送数据帧的处理,可以在提高zigbee传输速率的同时,确保zigbee传输数据的可靠性。

可选的,可以对数据帧进行重新传输的时机进行设置,例如,在预设重发时长内重新发送的数据帧的个数不超过预设个数。

在一些实施例中,考虑到zigbee接收端有限的数据接收能力,可以对一定时间内zigbee发送端允许重新传输的数据帧的数量进行控制,即可以进行如下设置:在预设重发时长内重新发送的数据帧的个数不超过预设个数。其中,预设重发时长和预设个数,可以根据zigbee接收端实际的数据接收能力进行设置,例如,预设重发时长可以设置为5秒或者10秒,预设个数可以设置为2个。

通过上述实施例的处理,可以减轻zigbee接收端的数据接收压力。

可选的,zigbee发送端可以将已发送且未接收到确认消息的数据帧进行缓存,相应的,上述向zigbee接收端重新发送相应数据帧的处理具体可以如下:向zigbee接收端重新发送缓存的相应数据帧。

在一些实施例中,zigbee发送端在发出数据帧后,可以对数据帧进行缓存,便于在该数据帧发送失败后,可以直接将缓存中的相应数据帧进行重新发送,以缩短重新传输的时间。例如,zigbee发送端可以从缓存区域中取出数据帧,然后向zigbee接收端重新发送该数据帧。

通过上述实施例的处理,zigbee发送端可以利用缓存,快速地对数据帧进行重新发送,而不需要从数据帧的原始来源处获取,进一步提高了zigbee传输速率。

可选的,在缓存数据帧之后,还可以进行如下处理:在接收到相应数据帧对应的确认消息后,从缓存中删除相应数据帧。

在一些实施例中,zigbee发送端可以在数据帧发送成功后,即接收到相应数据帧对应的确认消息后,可以从缓存中删除相应数据帧。如此,可以及时从缓存中清除那些发送成功的数据帧,提高缓存利用率。

为了便于理解本发明提供的数据传输方法,下面以zigbee发送端向zigbee接收端发送1000个数据帧为例,对本发明提供的数据传输方法的通信过程进行说明。

如图3所示,取上述N=3,确认消息为MAC ACK消息,zigbee发送端310依次发送第1个数据帧、第2个数据帧和第3个数据帧给zigbee接收端320。zigbee接收端320在接收到第1个数据帧后,发送第1个数据帧的MAC ACK消息给zigbee发送端310。zigbee发送端310在接收到第1个数据帧的MAC ACK消息,再发送第4个数据帧给zigbee接收端320。以此类推,zigbee发送端310在接收到第2个数据帧的MAC ACK消息,再发送第5个数据帧给zigbee接收端320,直至将第1000个数据帧发送给zigbee接收端320。

为了更好地理解本发明提供的数据传输方法的技术效果,下面给出一组在同等环境下的测试数据,具体如下:

在无中继的zigbee通信中,使用现有的乒乓式的通信方式,平均传输速率为0.89KBytes/s,使用本发明提供的数据传输方法,平均传输速率为1.13KBytes/s,传输速率提高了27%。

在经过一次中继的zigbee通信中,使用现有的乒乓式的通信方式,平均传输速率为0.80K Bytes/s,使用本发明提供的数据传输方法,平均传输速率为1.09K Bytes/s,传输速率提高了36%。

需要说明的是,zigbee网络通常为无线网状(Mesh)网络,也称为多跳(multi-hop)网络,在通信过程中,存在中继的情况,在实际的应用场景中,大多数为无中继或者有一次中继这两种情况。

如图4所示,图4为无中继情况,其中,zigbee设备A直接与目的zigbee设备B进行通信。

如图5所示,图5为有一次中继情况,其中,zigbee设备A需要通过zigbee设备C,与目的zigbee设备B进行通信。

基于上述实施例提供的数据传输方法,相应地,本发明还提供了数据传输装置的具体实现方式。请参见以下实施例。

参见图6,本发明实施例提供的数据传输装置,包括:

第一发送模块610,用于按照预设顺序依次向zigbee接收端发送N个数据帧,其中,数据帧包括帧标识,预设顺序为帧标识从小到大的顺序,N≥2,N为正整数;

第二发送模块620,用于在每接收到与目标数据帧对应的确认消息时,按照预设顺序向zigbee接收端发送当前数据帧的下一个数据帧,直至发送完所有待发送的数据帧,其中,zigbee接收端在每次接收到数据帧后,返回与接收到的数据帧对应的确认消息,目标数据帧为未接收到确认消息的数据帧中帧标识最小的数据帧,当前数据帧为当前已发送的数据帧中帧标识最大的数据帧。

通过上述实施例的处理,zigbee发送端可以连续向zigbee接收端发送多个数据帧,如此,zigbee发送端可以不用在接收到数据帧的确认消息后发送下一个数据帧,这样,zigbee发送端在单位时间内可以传输更多的数据帧,提高了zigbee传输速率。

可选的,数据传输装置还包括:

重发模块,用于若在数据帧发送后的预设时长内未接收到相应的确认消息,则向zigbee接收端重新发送相应数据帧。

通过上述实施例的处理,可以在提高zigbee传输速率的同时,通过上述重新发送数据帧的方式,确保zigbee传输数据的可靠性。

可选的,在预设重发时长内重新发送的数据帧的个数不超过预设个数。

通过上述实施例的处理,可以减轻zigbee接收端的数据接收压力。

可选的,数据传输装置还包括:

缓存模块,用于缓存已发送且未接收到确认消息的数据帧;

其中,重发模块,还用于:

向zigbee接收端重新发送缓存的相应数据帧。

通过上述实施例的处理,可以进一步提高zigbee传输速率。

可选的,数据传输装置还包括:

删除模块,用于在接收到相应数据帧对应的确认消息后,从缓存中删除相应数据帧。

通过上述实施例的处理,可以及时从缓存中清除那些发送成功的数据帧,提高缓存利用能力。

在本发明实施例中,通过对现有的zigbee发送端的数据发送逻辑进行改造,zigbee发送端可以按照预设顺序向zigbee接收端先发送N个数据帧。由于目标数据帧为未接收到确认消息的数据帧中帧标识最小的数据帧,当前数据帧为当前已发送的数据帧中帧标识最大的数据帧,因此,在每接收到与目标数据帧对应的确认消息时,zigbee发送端按照预设顺序向zigbee接收端发送当前数据帧的下一个数据帧,直至发送完所有待发送的数据帧。

这样,zigbee发送端可以连续向zigbee接收端发送多个数据帧,如此,zigbee发送端可以不用在接收到数据帧的确认消息后发送下一个数据帧,从而zigbee发送端在单位时间内可以传输更多的数据帧,提高了zigbee传输速率。

图7为实现本发明各个实施例的一种zigbee设备的硬件结构示意图。

zigbee设备可以包括处理器701以及存储有计算机程序指令的存储器702。

具体地,上述处理器701可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本发明实施例的一个或多个集成电路。

存储器702可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器702可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器702可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器702可在综合网关容灾设备的内部或外部。在特定实施例中,存储器702是非易失性固态存储器。在特定实施例中,存储器702包括只读存储器(ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。

处理器701通过读取并执行存储器702中存储的计算机程序指令,以实现上述实施例中的任意一种数据传输方法。

在一个示例中,zigbee设备还可包括通信接口703和总线710。其中,如图7所示,处理器701、存储器702、通信接口703通过总线710连接并完成相互间的通信。

通信接口703,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。

总线710包括硬件、软件或两者,将zigbee设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线710可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。

本发明实施例还提供一种计算机可读存储介质,该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述数据传输方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。

以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。

还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。

以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。

相关技术
  • 数据传输方法、数据传输装置、数据传输设备及存储介质
  • 数据传输方法、数据传输装置、存储介质与终端设备
技术分类

06120112476978