数据处理方法、装置、终端设备及存储介质与流程

文档序号:17628950发布日期:2019-05-10 23:58阅读:175来源:国知局
数据处理方法、装置、终端设备及存储介质与流程

本申请涉及无线通信技术领域,更具体地,涉及一种数据处理方法、装置、终端设备及存储介质。



背景技术:

目前存在多种短距离无线通信技术,短距离无线通信技术的特点是近距离、低功耗、低速率、低成本。因此,可将该技术嵌入各种移动设备或终端设备,以满足无线网络对于低成本、低功耗的需求。其中,为了降低功耗,采用电池供电的终端设备都带有休眠功能。然而,为了让终端设备能够在其休眠时收到发给它的待收数据,需要间歇性的唤醒终端设备,以向上级节点设备发送数据请求报文(如datarequest报文),询问是否有待接收的数据需要获取。目前,终端设备的多数模块都需要被间歇性唤醒,参与数据接收流程的任务,才能完成正常发送接收流程,不仅耗时长,而且功耗高,不利于实际的应用。



技术实现要素:

鉴于上述问题,本申请实施例提出了一种数据处理方法、装置、终端设备及存储介质,能够减少部分处理电路的功耗。

第一方面,本申请实施例提供了一种数据处理方法,应用于终端设备,所述方法包括:所述终端设备的mac层通过物理层的发送模块向所述上级节点设备发送数据请求,所述数据请求预先存储于所述发送模块的发送缓存队列中;所述mac层控制所述物理层的接收模块进入工作状态;所述接收模块接收所述上级节点设备返回的应答报文,其中,所述应答报文包括状态数值,所述状态数值用于指示所述终端设备有待接收的数据或者无待接收的数据;所述mac层根据所述应答报文,判断所述状态数值是否为指定数值;若所述状态数值为指定数值,则所述mac层确定所述终端设备无待接收的数据,并控制所述接收模块从所述工作状态进入休眠状态。

第二方面,本申请实施例提供了一种数据处理装置,应用于终端设备,所述装置包括:数据请求模块、接收唤醒模块、应答接收模块、数据判断模块以及接收休眠模块,其中,所述数据请求模块用于所述终端设备的mac层通过物理层的发送模块向所述上级节点设备发送数据请求,所述数据请求预先存储于所述发送模块的发送缓存队列中;所述接收唤醒模块用于所述mac层控制所述物理层的接收模块进入工作状态;所述应答接收模块用于所述接收模块接收所述上级节点设备返回的应答报文,其中,所述应答报文包括状态数值,所述状态数值用于指示所述终端设备有待接收的数据或者无待接收的数据;所述数据判断模块用于所述mac层根据所述应答报文,判断所述状态数值是否为指定数值;所述接收休眠模块用于若所述状态数值为指定数值,则所述mac层确定所述终端设备无待接收的数据,并控制所述接收模块从所述工作状态进入休眠状态。

第三方面,本申请实施例提供了一种终端设备,包括:一个或多个处理器;存储器;一个或多个应用程序,其中一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序配置用于执行上述第一方面提供的数据处理方法。

第四方面,本申请实施例提供了一种计算机可读取存储介质,计算机可读取存储介质中存储有程序代码,程序代码可被处理器调用执行上述第一方面提供的数据处理方法。

本申请提供的方案,应用于终端设备,通过将数据请求预先存储于物理层的发送模块的发送缓存队列,以使终端设备的mac层通过物理层的发送模块向上级节点设备发送该数据请求,然后mac层控制所述物理层的接收模块进入工作状态,以使接收模块接收上级节点设备返回的应答报文,其中,应答报文包括状态数值,该状态数值用于指示终端设备有待接收的数据或者无待接收的数据,然后mac层根据该应答报文,判断状态数值是否为指定数值,若状态数值为指定数值,则mac层确定终端设备无待接收的数据,并控制接收模块从工作状态进入休眠状态,从而在无需mac层的以上层的处理电路的参与的情况下,实现了数据请求的发送和应答报文的处理,减少了mac层的以上层的处理电路的功耗。

附图说明

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

图1示出了一种适用于本申请实施例的应用环境示意图。

图2示出了一种适用于本申请实施例的通信协议架构示意图。

图3示出了根据本申请一个实施例的数据处理方法流程图。

图4示出了根据本申请另一个实施例的数据处理方法流程图。

图5示出了根据本申请实施例的数据处理方法中步骤s270的流程图。

图6示出了根据本申请一个实施例的数据处理装置的框图。

图7是本申请实施例的用于执行根据本申请实施例的数据处理方法的终端设备的框图。

图8是本申请实施例的用于保存或者携带实现根据本申请实施例的数据处理方法的程序代码的存储单元。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。

目前,通常将短距离无线通信技术嵌入各种移动设备或终端设备,以满足无线网络对于低成本、低功耗的需求。其中,为了降低功耗,采用电池供电的终端设备都带有休眠功能。然而,为了让终端设备能够在其休眠时收到发给它的待收数据,需要间歇性的唤醒终端设备,以向上级节点设备发送数据请求报文,询问是否有待接收的数据需要获取。

例如,在zigbee(紫峰协议)/ieee802.15.4协议应用的无线网络中,为了能够让定期休眠网络设备能够在其休眠时收到发给它的待收数据,使用了一种叫做“datarequest”的媒体访问控制(mediaaccesscontrol,mac)层报文格式。每次网络设备被唤醒的时候,都会通过发送该报文到上级节点设备询问是否有新的数据要收取。而上级节点设备则会根据实际情况回复相应的应答报文,以通知网络设备是否需要进行相应的动作。

目前,终端设备的多数模块都需要被间歇性唤醒,参与数据接收流程的任务,才能完成数据请求的正常发送以及应答报文的接收处理流程。例如,在zigbee/ieee802.15.4协议应用的无线网络中,无线收发机接收到上级节点设备回应的确认包(acknowledgement,ack)以后,会根据fp(frameprotected,协议帧)的字段(fp=0表示没有待接收数据)把相关原语发送到mac层的以上层(如网络层),之后mac层的以上层决定是否需要进行进一步的动作,比如休眠或者数据处理。

但是针对一个对电量消耗敏感(如用纽扣电池供电)的设备来说,如果收到一个fp=0的应答报文(表示没有待收报文)后,还需要通过与mac层的以上层的通信和确认才能执行进一步的动作,比如说关闭mac部分的电源或者关闭无线收发机模块等,这样,不仅需要mac层的以上层的处理电路的电量消耗,还需要mac层以及物理层的处理电路进行等待动作时消耗的电量,降低了设备的使用寿命。

针对上述问题,发明人经过研究,提出了本申请实施例中的数据处理方法、装置、终端设备及存储介质,在mac层进行对数据请求的自动发送以及对应答报文的判断处理,以减少mac层的以上层的处理电路的参与,从而降低了设备的功耗。

下面对本申请实施例提供的数据处理方法的应用场景进行介绍。

请参见图1,本申请实施例提供了一种交互系统10,该交互系统10包括终端设备100以及与终端设备100通信连接的上级节点设备200。其中,终端设备100与上级节点设备200之间采用短距离无线通信技术进行通信连接,短距离无线通信技术可以包括zigbee/ieee802.15.4协议。

在本申请实施例中,终端设备100是一种可以定时进入休眠状态的设备,且终端设备100对功耗控制有严格要求。例如,终端设备100可以是采用纽扣电池供电的设备。在一些实施方式中,处于休眠状态的终端设备100不再进行任何数据的收发,且终端设备100处于休眠状态时,若有数据发送至终端设备100,与终端设备100通信连接的上级节点设备200可以将该数据进行存储。在一些实施方式中,终端设备100可以定时被唤醒,且唤醒工作一段时间后,可以继续进入休眠状态。其中,终端设备100被唤醒时,可以向上级节点设备200发送数据请求,以向上级节点设备200查询在终端设备100休眠期间是否有其他设备发送至终端设备100的数据。

在本申请实施例中,上级节点设备200存储有终端设备100的待接收数据,且上级节点设备200可以与终端设备100进行信息的交互。在一些实施方式中,上级节点设备200可以接收终端设备100发送的数据请求,并根据缓存的待接收数据的实际情况,返回相应的应答报文至终端设备100。

在本申请实施例中,终端设备100在向上级节点设备200发送数据请求之后,可以接收到上级节点设备200返回的应答报文,终端设备100可以根据该应答报文进行进一步的动作,例如,进入休眠状态或者进行待接收数据的接收处理等。

需要说明的是,在zigbee/ieee802.15.4协议应用的无线网络中,网络设备包括协调者(coordinator)、路由器(router)以及终端设备三种设备类型,其中,协调者负责网络的管理和维护,包括网络的建立、一级地址分配等,是网络的核心部分;路由器具有路由功能,也可以作为父节点接收新节点加入网络的请求,并为其分配地址;终端设备无转发功能,是网络的末梢。因此,在一些实施方式中,上述上级节点设备200可以为协调者,也可以为路由器。

请参见图2,本申请实施例提供了一种终端设备100所采用的通信协议架构的示意图,该通信协议架构20包括:物理层21、mac层22以及mac层的以上层23。其中,终端设备100进行数据发送时,由mac层的以上层23进行数据报文的生成,并采用逐级封装模式对该数据报文进行处理。

在本申请实施例中,上述mac层的以上层23可以为网络层和应用层的至少一种。在一些实施方式中,应用层用于将待发送数据封装到应用层协议数据单元(应用层的数据包),并将该应用层协议数据单元传送给网络层;网络层用于接收来自应用层的应用层协议数据单元,并封装到网络层协议数据单元(网络层的数据包),传送给mac层。

在本申请实施例中,上述mac层22用于接收来自mac层的以上层23的数据包(网络层协议数据单元),并封装为mac层协议数据单元(mac帧)。在一些实施方式中,mac层可以将封装好的mac帧写入物理层的发送缓存队列中。

在本申请实施例中,上述物理层21用于接收来自mac层22的mac帧,并封装为物理层协议数据单元(比特流)。物理层21可以将经过逐级封装后的待发送数据(即物理层协议数据单元)进行发送,也可以接收其他设备发送的物理层协议数据单元。

在一些实施例中,物理层21还可以包括其他模块,例如发送模块和接收模块,其中,发送模块用于向其他设备发送数据(物理层协议数据单元),接收模块用于接收其他设备发送的数据(物理层协议数据单元)。

可以理解的是,正常情况下,每一层仅向与它直接相邻的上层或下层发送数据或命令。

基于上述交互系统以及通信协议架构,本申请实施例提供了一种数据处理方法,应用于上述终端设备。下面对具体的数据处理方法进行介绍。

请参阅图3,本申请实施例提供了一种数据处理方法,可应用于终端设备,该终端设备与上级节点设备通信连接,该数据处理方法可以包括:

步骤s110:终端设备的mac层通过物理层的发送模块向上级节点设备发送数据请求,数据请求预先存储于发送模块的发送缓存队列中。

目前,终端设备每次向上级节点设备发送数据请求,通常都需要通过终端设备mac层的以上层(例如,网络层)进行数据请求报文的生成,导致每次发送数据请求时,都需要mac层的以上层的处理电路的电量消耗。因此,在本申请实施例中,可以将数据请求预先存储于物理层的发送模块的发送缓存队列中,以使终端设备的mac层可以直接通过物理层的发送模块向上级节点设备发送数据请求,而不必在每次发送数据请求时,都要进行数据请求报文的生成,这样,无需mac层的以上层的参与,减少了mac层的以上层的处理电路的电量消耗。

可以理解的是,正常情况下,终端设备每次发送的数据请求的报文负载(payload)相同,因此终端设备的mac层只需向mac层的以上层获取一次数据请求报文,然后将该数据请求报文封装为mac层的数据请求,并存储于发送模块的发送缓存队列中,使得后续终端设备需要发送数据请求报文时,终端设备的mac层可以直接通过物理层的发送模块向上级节点设备发送数据请求,无需再向mac层的以上层获取数据请求报文,从而不再需要mac层的以上层的处理,减少了mac层的以上层的处理电路的电量消耗。

步骤s120:mac层控制物理层的接收模块进入工作状态。

mac层在通过物理层的发送模块向上级节点设备发送数据请求后,可以控制物理层的接收模块进入工作状态,以便终端设备可以及时接收到上级节点设备返回的应答报文。

可以理解的是,为节省设备功耗,mac层在进行数据请求发送时,物理层的接收模块可以处于关闭状态。当mac层发送完数据请求时,mac层再控制物理层的接收模块进入工作状态。

在一些实施例中,为节省设备功耗,mac层可以在发送完数据请求时,控制物理层的发送模块进入休眠状态。

步骤s130:接收模块接收上级节点设备返回的应答报文,其中,应答报文中包括状态数值,状态数值用于指示终端设备有待接收的数据或者无待接收的数据。

在一些实施例中,mac层控制控制物理层的接收模块进入工作状态后,物理层的接收模块可以对终端设备与上级节点设备之间的通信信道进行监听,以便及时接收到上级设备返回的应答报文,其中,应答报文包括状态数值,状态数值用于指示终端设备有待接收的数据或者无待接收的数据。

可以理解的是,终端设备向上级节点设备发送数据请求,目的是询问上级节点设备是否存储有终端设备的待接收数据。因此,当上级节点设备接收到终端设备发送的数据请求后,会根据待接收数据的实际存储情况,返回相应的应答报文至终端设备。

终端设备在接收到上级节点设备返回的应答报文后,可以对应答报文进行分析判断,以得到询问结果,其中,询问结果可以表征上级节点设备存储有终端设备的待接收数据或者上级节点设备未存储有终端设备的待接收数据。

在一些实施例中,终端设备对应答报文进行分析判断,可以是根据应答报文中的状态数值进行分析判断。可以理解的是,不同的状态数值对应着不同的判断结果。因此,状态数值可以用于指示终端设备有待接收的数据或者无待接收的数据。

在一些实施例中,状态数值可以为0或1,具体地,状态数值为1时,可以用于指示终端设备有待接收的数据,状态数值为0时,可以用于指示终端设备无待接收的数据。当然,状态数值也可以为其他数值,在此不做限定。

步骤s140:mac层根据应答报文,判断状态数值是否为指定数值。

终端设备的接收模块在接收到上级节点设备返回的应答报文后,终端设备的mac层可以根据该应答报文,判断状态数值是否为指定数值,以便后续mac层可以根据判断结果进行进一步的执行动作。

其中,上述指定数值可以为表征终端设备无待接收的数据的状态数值,以使mac层可以判断接收到的应答数据是否为指示终端设备无待接收的数据的应答报文。其中,指定数值可以根据具体的状态数值进行合理设定。例如,若状态数值为1时,指示终端设备有待接收的数据,状态数值为0时,指示终端设备无待接收的数据,则指定数值可以为0,使得mac层可以根据应答报文中的状态数值是否为0,来得到终端设备无待接收的数据的判断结果。

步骤s150:若状态数值为指定数值,则mac层确定终端设备无待接收的数据,并控制接收模块从工作状态进入休眠状态。

目前的应答报文处理方式,通常是终端设备的mac层在接收到上级节点设备返回的应答报文后,需要将该应答报文传输至mac层的以上层,以使mac层的以上层接收到mac层传输的应答报文,并使mac层的以上层可以根据该应答报文中的状态数值,来确定终端设备有无待接收的数据,并决定是否需要进行进一步的动作,比如进入休眠状态或者进行数据处理。

但是针对一个对电量消耗敏感(比如用纽扣电池供电)的设备来说,如果mac层收到一个用于指示终端设备无待接收的数据的应答报文(如状态数值为0),则还需要mac层将该应答报文传输至mac层的以上层,mac层的以上层根据该应答报文来确认进一步的执行动作,如关闭mac部分的电源、关闭发送模块和接收模块部分的电源。这样,不仅需要mac层的以上层进行处理的电量消耗,还需要mac层和物理层等待执行动作指令时的电量消耗。因此,在本申请实施例中,通过直接在mac层进行应答报文的判断处理,而无需将应答报文传输至mac层的以上层进行处理,减少了mac层的以上层处理电路的电量消耗。

具体地,在得到状态数值为指定数值的判断结果后,mac层可以确定终端设备无待接收的数据,则mac层可以直接控制接收模块从工作状态进入休眠状态,而无需通知mac层的以上层,减少了mac层的以上层处理电路的电量消耗。可以理解的是,接收模块进入休眠状态时,终端设备不会进行数据的接收。

本申请实施例提供的数据处理方法,通过将数据请求预先存储于物理层的发送模块的发送缓存队列,以使终端设备的mac层通过物理层的发送模块向上级节点设备发送该数据请求,然后mac层控制所述物理层的接收模块进入工作状态,以使接收模块接收上级节点设备返回的应答报文,其中,应答报文包括状态数值,该状态数值用于指示终端设备有待接收的数据或者无待接收的数据,然后mac层根据该应答报文,判断状态数值是否为指定数值,若状态数值为指定数值,则mac层确定终端设备无待接收的数据,并控制接收模块从工作状态进入休眠状态,从而在无需mac层的以上层的处理电路的参与的情况下,实现了数据请求的发送和应答报文的处理,减少了mac层的以上层的处理电路的功耗。

请参阅图4,本申请另一实施例提供了一种数据处理方法,可应用于终端设备,该终端设备与上级节点设备通信连接,该数据处理方法可以包括:

步骤s200:终端设备的mac层在指定时间向mac层的以上层获取数据请求,并将数据请求存储于发送模块的发送缓存队列中,其中,指定时间为终端设备第一次需要向上级节点设备发送数据请求的时间。

可以理解的是,终端设备的mac层需要实现直接通过物理层的发送模块向上级节点设备发送数据请求,而无需再向mac层的以上层获取数据请求报文时,可以将数据请求预先存储于发送模块的发送缓存队列中,使得mac层需要发送数据请求时,直接读取发送缓存队列中的数据请求,并进行发送。

在一些实施例中,终端设备的mac层可以是在指定时间向mac层的以上层获取数据请求,然后将该数据请求存储于发送模块的发送缓存队列中,其中,该指定时间为终端设备第一次需要向上级节点设备发送数据请求的时间。

也就是说,在终端设备进入休眠状态后,第一次被唤醒时,即终端设备第一次需要向上级节点设备发送数据请求时,终端设备的mac层的以上层需要进行数据请求报文的生成,然后将该数据请求报文传输至mac层,mac层在获取到该数据请求报文后,将其封装为mac层的数据请求,并存储于物理层的发送模块的发送缓存队列中,以便后续进行数据请求的发送时,可以直接读取发送缓存队列中的数据请求,而无需再向mac层的以上层获取数据请求报文,减少mac层的以上层生成数据请求时所需要的电量消耗。

步骤s210:终端设备的mac层通过物理层的发送模块向上级节点设备发送数据请求,数据请求预先存储于发送模块的发送缓存队列中。

步骤s220:mac层控制物理层的接收模块进入工作状态。

步骤s230:接收模块接收上级节点设备返回的应答报文,其中,应答报文包括状态数值,状态数值用于指示终端设备有待接收的数据或者无待接收的数据。

在一些实施例中,步骤s210、步骤s220以及步骤s230的内容可以参阅上述实施例的内容,在此不再赘述。

进一步的,可以设定数据请求的自动重新发送,以避免数据请求发送失败导致终端设备无法接收到上级节点设备返回的应答报文的情况。因此,在终端设备的mac层通过物理层的发送模块向上级节点设备发送数据请求之后,该数据处理方法包括:

若接收模块在设定时间段内未接收到上级节点设备返回的应答报文,则mac层再次通过发送模块向上级节点设备发送数据请求,其中,数据请求的序号值与前一次发送的数据请求的序号值一致。

在一些实施例中,终端设备的mac层通过物理层的发送模块向上级节点设备发送数据请求后,若接收模块在设定时间段内未接收上级节点设备返回的应答报文,则可以认为数据请求发送失败,mac层需要再次通过发送模块向上级节点设备发送该数据请求。

其中,上述设定时间段为mac层需要进行数据请求的重新发送时,等待接收应答报文所需要满足的最长等待时间。其中,该设定时间段可以预先存储与mac层的存储空间中,可以根据具体的应用情况合理设置。例如,设定时间段可以为100us、200us、400us等。

需要说明的是,终端设备的mac层发送的数据请求中通常包括有序号值,其中,该序号值为每个数据请求的唯一标识符,其数值范围可以根据具体应用环境进行设定,例如,在zigbee网络中,序号值的长度为1个字节,数值范围为0~0xff。可以理解的是,上级节点设备可以根据接收到的数据请求中的序号值,来判断出终端设备是否有发送新的数据请求。例如,上级节点设备上一次接收到数据请求中的序号值为55时,若本次接收到的数据请求中的序号值仍然为55,则上级节点设备可以认为终端设备未收到前一次的应答报文,会再次返回前一次的应答报文。若本次接收到的数据请求中的序号值仍然为56,则上级节点设备可以认为终端设备已收到前一次的应答报文,并发送了新的数据请求。

另外,为保证上级节点设备每次返回的应答报文与终端设备的mac层每次发送的数据请求一一对应,上级节点设备返回的应答报文中通常也包括有上述序号值,其中,应答报文中的序号值与数据请求中的序号值相同。例如,若终端设备的mac层发送的数据请求的序号值为2,则上级节点设备返回的与数据请求对应的应答报文的序号值也为2。

因此,接收模块在设定时间段内未接收到上级节点设备返回的应答报文,也可以理解为,接收模块在设定时间段内未接收到上级节点设备返回的与数据请求对应的应答报文,即未接收到应答报文中的序号值与数据请求中的序号值相同的应答报文。

可以理解的是,由于前一次的数据请求发送失败,因此需要重新发送该数据请求,也就是说,mac层再次通过发送模块向上级节点设备发送数据请求时,当前发送的数据请求的序号值需要与前一次发送的数据请求的序号值一致。

步骤s240:mac层根据应答报文,判断状态数值是否为指定数值。

步骤s250:若状态数值为指定数值,则mac层确定终端设备无待接收的数据,并控制接收模块从工作状态进入休眠状态。

在一些实施例中,步骤s240以及步骤s250的内容可以参阅上述实施例的内容,在此不再赘述。

在一些实施例中,若状态数值不为指定数值,则mac层可以确定终端设备有待接收的数据,此时需要通知mac层的以上层,以使mac层的以上层根据实际情况,进行下一步的处理,例如,进行待接收的数据的接收处理等。因此,请再次参见图4,该数据处理方法还可以包括:

步骤s260:若状态数值不为指定数值,则mac层生成提示数据,并将提示数据传输至mac层的以上层,提示数据用于表征终端设备有待接收的数据。

在一些实施方式中,mac层在得到状态数值不为指定数值的判断结果后,mac层可以生成提示数据,并将该提示数据传输至mac层的以上层,该提示数据用于表征终端设备有待接收的数据,以使mac层的以上层进行下一步的执行动作。这样,只有在应答报文的状态数值不为指定数值时,mac层才需要进行与mac层的以上层的通信传输,才需要mac层的以上层的处理电路的参与,降低了终端设备的功耗。

在另一些实施例中,上述指定数值也可以为表征终端设备有待接收的数据的状态数值,以使mac层可以判断接收到的应答报文是否为指示终端设备有待接收的数据的应答报文。例如,若状态数值为1时,指示终端设备有待接收的数据,状态数值为0时,指示终端设备无待接收的数据,则指定数值可以为1,使得mac层可以根据应答报文中的状态数值是否为1,来得到终端设备有待接收的数据的判断结果。

在一些实施例中,可以实现在终端设备的mac层实现数据请求的定时发送。具体地,请再次参见图4,该数据处理方法还可以包括:

步骤s270:在发送数据请求的预设时长后,mac层再次通过发送模块向上级节点设备发送数据请求。

在一些实施例中,终端设备的mac层在发送数据请求的预设时长后,mac层可以再次通过发送模块向上级节点设备发送数据请求,以实现数据请求的定时发送。其中,上述预设时长为终端设备前后两次向上级节点设备发送数据请求的固定时间间隔,可以预先存储于mac层的存储空间中,其数值可以为1s,2s等。

作为一种实施方式,终端设备第一次被唤醒时,mac层的以上层将设定的预设时长传输至mac层,mac层获取到预设时长后,将该预设设长存储于存储空间中,使得mac层可以根据预设时长,开始下一次的数据请求发送。

在一些实施方式中,数据请求的定时发送可以利用上述发送模块中自带的定时器实现。

由于每次发送的数据请求的序号值不同,因此,在一些实施例中,终端设备的mac层需要对数据请求的序号值进行处理。具体地,请参阅图5,上述在发送数据请求的预设时长后,mac层再次通过发送模块向上级节点设备发送数据请求,可以包括:

步骤s271:在发送数据请求的预设时长后,获取数据请求的序号值。

在一些实施例中,mac层在通过发送模块向上级节点设备发送数据请求的预设时长后,需要获取数据请求的序号值,以便根据上一次数据请求的序号值,确定下一次数据请求的序号值。

在一些实施方式中,mac层每次通过发送模块向上级节点设备发送数据请求时,可以将每次数据请求中的序号值进行存储,也可以仅将当前数据请求中的序号值进行存储,以便mac层可以获取到上一次数据请求的序号值。

步骤s272:mac层将数据请求的序号值加1,得到新的数据请求;

在zigbee网络通信中,为区分发送的相同的数据请求,终端设备每发送一次数据请求,数据请求的序号值会加1。因此,在一些实施例中,终端设备的mac层在获取到上一次数据请求的序号值后,可以将上一次数据请求的序号值加1,以得到下一次数据请求的序号值,从而得到新的数据请求。例如,获取到的上一次的数据请求的序号值为60,则新的数据请求的序号值为61。

在一些实施方式中,mac层可以存储终端设备第一次被唤醒时数据请求的初始序号值,以及从终端设备第一次被唤醒到当前时刻,数据请求的成功发送次数,以便根据初始序号值以及成功发送次数,确定下一次数据请求的序号值。例如,初始序号值为0,若从终端设备第一次被唤醒到当前时刻,数据请求的成功发送次数为10次,则下一次数据请求的序号值为10。

步骤s273:mac层再次通过发送模块向上级节点设备发送新的数据请求。

可以理解的是,mac层在发送数据请求的预设时长后,可以再次通过发送模块向上级节点设备发送上述得到的新的数据请求。从而,在无需mac层的以上层的参与的情况下,实现下一次数据请求的定时发送。

步骤s280:重复在发送数据请求的预设时长后,mac层再次通过发送模块向上级节点设备发送数据请求的步骤。

在一些实施方式中,可以重复在发送数据请求的预设时长后,mac层再次通过发送模块向上级节点设备发送数据请求的步骤,以实现每隔一次预设时长,mac层就进行一次数据请求的发送,这样,在无需mac层的以上层的参与的情况下,实现每次数据请求的定时发送。

可以理解的是,上述预设时长,可以理解为终端设备的休眠时长,也就是说,终端设备发送数据请求的预设时长后,为终端设备的下一次的被唤醒时间,这样,使得终端设备下一次被唤醒时,mac层可以实现自动发送数据请求。

进一步的,终端设备与上级节点设备之间采用zigbee协议或者ieee802.15.4协议进行通信连接。其中,zigbee协议或者ieee802.15.4协议为短距离无线通信协议。终端设备与上级节点设备之间采用zigbee协议或者ieee802.15.4协议进行通信连接时,上级节点设备可以为协调器,也可以为路由器。

可以理解的是,在zigbee/ieee802.15.4协议应用的无线网络中,传输的数据量较少,因此,大部分情况下,上级节点设备中未存储有终端设备的待接收数据,从而终端设备接收到的大部分应答报文中的状态数值都为0,进而大部分情况下,终端设备的mac层的以上层的处理电路处于关闭状态,大幅度的降低了设备的功耗,增加了设备的使用寿命。

本申请实施例提供的数据处理方法,通过在指定时间向所述mac层的以上层获取数据请求,并将该数据请求存储于物理层的发送模块的发送缓存队列,以使终端设备的mac层可以直接通过物理层的发送模块向上级节点设备发送该数据请求,然后通过设定预设时长,使得mac层在发送数据请求的预设时长后,再次通过所述发送模块向上级节点设备发送数据请求,从而在无需mac层的以上层的处理电路的参与的情况下,实现了数据请求的定时发送。此外,mac层可以对每次发送的数据请求中的序号值进行自动更新,以及在接收到上级节点设备返回的应答报文中的状态数值不为指定数值时,mac层可以传输提示数据至mac层的以上层,实现了在mac层进行应答报文的分析判断处理,减少了mac层的以上层的处理电路的功耗,从而降低了终端设备的功耗。

请参阅图6,其示出了本申请实施例提供的一种数据处理装置500的结构框图,应用于终端设备,该终端设备与上级节点设备通信连接,该装置可以包括:数据请求模块510、接收唤醒模块520、应答接收模块530、数据判断模块540以及接收休眠模块550。其中,数据请求模块510用于终端设备的mac层通过物理层的发送模块向上级节点设备发送数据请求,数据请求预先存储于发送模块的发送缓存队列中;接收唤醒模块520用于mac层控制物理层的接收模块进入工作状态;应答接收模块530用于接收模块接收上级节点设备返回的应答报文,其中,应答报文包括状态数值,状态数值用于指示终端设备有待接收的数据或者无待接收的数据;数据判断模块540用于mac层根据应答报文,判断状态数值是否为指定数值;接收休眠模块550用于若状态数值为指定数值,则mac层确定终端设备无待接收的数据,并控制接收模块从工作状态进入休眠状态。

在一些实施例中,该数据处理装置500还可以包括:数据上传模块。该数据上传模块用于若状态数值不为指定数值,则mac层生成提示数据,并将提示数据传输至mac层的以上层,提示数据用于表征终端设备有待接收的数据。

在一些实施例中,该数据处理装置500还可以包括:数据获取模块。该数据获取模块用于终端设备的mac层在指定时间向mac层的以上层获取数据请求,并将数据请求存储于发送模块的发送缓存队列中,其中,指定时间为终端设备第一次需要向上级节点设备发送数据请求的时间。

在一些实施例中,该数据处理装置500还可以包括:自动发送模块以及重复模块。该自动发送模块用于在发送数据请求的预设时长后,mac层再次通过发送模块向上级节点设备发送数据请求;重复模块用于重复在发送数据请求的预设时长后,mac层再次通过发送模块向上级节点设备发送数据请求的步骤。

在一些实施例中,上述数据请求包括序号值,自动发送模块可以具体用于:在发送数据请求的预设时长后,获取数据请求的序号值;mac层将数据请求的序号值加1,得到新的数据请求;mac层再次通过发送模块向上级节点设备发送新的数据请求。

在一些实施例中,该数据处理装置500还可以包括:失败重发模块。该失败重发模块用于若接收模块在设定时间段内未接收到上级节点设备返回的应答报文,则mac层再次通过发送模块向上级节点设备发送数据请求,其中,数据请求的序号值与前一次发送的数据请求的序号值一致。

在一些实施例中,上述终端设备与上述上级节点设备之间采用zigbee协议或者ieee802.15.4协议进行通信连接。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

请参考图7,其示出了本申请实施例提供的一种终端设备的结构框图。该终端设备100可以是水表/气表抄表、无线数据采集、报警器、温湿度监控装置等可以采用电池供电且定期休眠设备的终端设备。本申请中的终端设备100可以包括一个或多个如下部件:处理器110、存储器120、通信模块130以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器120中并被配置为由一个或多个处理器110执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。

处理器110可以包括一个或者多个处理核。处理器110利用各种接口和线路连接整个终端设备100内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行终端设备100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(digitalsignalprocessing,dsp)、现场可编程门阵列(field-programmablegatearray,fpga)、可编程逻辑阵列(programmablelogicarray,pla)中的至少一种硬件形式来实现。处理器110可集成中央处理器(centralprocessingunit,cpu)、图像处理器(graphicsprocessingunit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。

存储器120可以包括随机存储器(randomaccessmemory,ram),也可以包括只读存储器(read-onlymemory)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储终端设备100在使用中所创建的数据等。

通信模块130用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯。通信模块130可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(sim)卡、存储器等等。通信模块130可与各种网络如互联网、企业内部网、预置类型的无线网络进行通讯或者通过预置类型的无线网络与其他设备进行通讯。上述的预置类型的无线网络可包括蜂窝式电话网、无线局域网或者城域网。上述的预置类型的无线网络可以使用各种通信标准、协议及技术,包括但并不限于全球移动通信系统(globalsystemformobilecommunication,gsm),增强型移动通信技术(enhanceddatagsmenvironment,edge),宽带码分多址技术(widebandcodedivisionmultipleaccess,w-cdma),码分多址技术(codedivisionaccess,cdma),时分多址技术(timedivisionmultipleaccess,tdma),蓝牙,无线保真技术(wireless-fidelity,wifi)(如美国电气和电子工程师协会标准ieee802.11a、ieee802.11b、ieee802.11g和/或ieee802.11n),网络电话(voiceoverinternetprotocal,voip),全球微波互联接入(worldwideinteroperabilityformicrowaveaccess,wi-max),其他用于邮件、即时通讯及短消息的协议,以及任何其他合适的通讯协议。

请参考图8,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读存储介质800可以是诸如闪存、eeprom(电可擦除可编程只读存储器)、eprom、硬盘或者rom之类的电子存储器。可选地,计算机可读存储介质800包括非易失性计算机可读介质(non-transitorycomputer-readablestoragemedium)。计算机可读存储介质800具有执行上述方法中的任何方法步骤的程序代码810的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码810可以例如以适当形式进行压缩。

最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

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