CN109743757B - 数据处理方法、装置、无线模组和物联网设备 - Google Patents
数据处理方法、装置、无线模组和物联网设备 Download PDFInfo
- Publication number
- CN109743757B CN109743757B CN201811641718.3A CN201811641718A CN109743757B CN 109743757 B CN109743757 B CN 109743757B CN 201811641718 A CN201811641718 A CN 201811641718A CN 109743757 B CN109743757 B CN 109743757B
- Authority
- CN
- China
- Prior art keywords
- data
- output buffer
- processed
- data processing
- wireless module
- 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
Images
Abstract
本申请涉及一种数据处理方法、装置、无线模组、物联网设备和可读存储介质。所述方法包括:无线模组获取并解析待处理数据帧,得到待处理数据帧的数据类型,以及根据待处理数据帧的数据类型,将将待处理数据帧写入与数据类型对应的输出缓冲区中;无线模组包括多个输出缓冲区,多个输出缓冲区对应多个数据处理逻辑;针对各输出缓冲区,无线模组调用与输出缓冲区对应的数据处理逻辑,以第一预设时间间隔按照写入顺序,读取输出缓冲区中的待处理数据帧并进行数据处理;第一预设时间间隔与输出缓冲区对应的数据处理逻辑的处理能力相关。采用本方法能够避免因处理不及时导致的数据处理逻辑相关的缓存出现溢出的问题。
Description
技术领域
本申请涉及物联网技术领域,特别是涉及一种数据处理方法、装置、无线模组、物联网设备和可读存储介质。
背景技术
随着物联网技术的发展,为物联网设备和大数据云提供数据交互纽带的无线模组至关重要。
无线模组的软件架构目前都是基于多任务的系统开发模式,相应地,无线模组包括:网络管理模块,用于处理网络控制数据以建立网络连接、处理网络故障、进行网络认证等;套接字(socket)处理模块,用于通过套接字连接收发数据;设备处理模块,用于通过与物联网设备的连接收发数据。上述网络管理模块、套接字处理模块和设备处理模块之间可以通过直接调用对方接口实现数据交互;例如,设备处理模块可以直接调用套接字处理模块的接口将数据通过套接字连接发送出去。
然而,当数据交互频繁时,无线模组的各处理模块来不及发送数据时,容易出现各处理模块关联的缓存溢出的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够避免各处理模块关联的缓存溢出的数据处理方法、装置、无线模组、物联网设备和可读存储介质。
第一方面,一种数据处理方法,所述方法包括:
无线模组获取并解析待处理数据帧,得到所述待处理数据帧的数据类型,以及根据所述待处理数据帧的数据类型,将所述将待处理数据帧写入与所述数据类型对应的输出缓冲区中;所述无线模组包括多个输出缓冲区,所述多个输出缓冲区对应多个数据处理逻辑;
针对各所述输出缓冲区,所述无线模组调用与所述输出缓冲区对应的数据处理逻辑,以第一预设时间间隔按照写入顺序,读取所述输出缓冲区中的待处理数据帧并进行数据处理;所述第一预设时间间隔与所述输出缓冲区对应的数据处理逻辑的处理能力相关。
在其中一个实施例中,所述无线模组获取并解析待处理数据帧,得到所述待处理数据帧的数据类型,以及根据所述待处理数据帧的数据类型,将所述将待处理数据帧写入与所述数据类型对应的输出缓冲区中包括:
所述无线模组将各待处理数据帧分别写入各输入缓冲区中;所述无线模组还包括多个输入缓冲区;所述无线模组还包括多个输入缓冲区,所述多个输入缓冲区对应所述多个数据处理逻辑;
针对各所述输入缓冲区,所述无线模组调用与所述输入缓冲区对应的数据处理逻辑,以第二预设时间间隔按照写入顺序,读取并解析所述输入缓冲区中的待处理数据帧,得到所述待处理数据帧的数据类型,以及根据所述待处理数据帧的数据类型,将所述将待处理数据帧写入与所述数据类型对应的输出缓冲区中;所述第二预设时间间隔大于所述第一预设时间间隔。
在其中一个实施例中,所述无线模组调用与所述输出缓冲区对应的数据处理逻辑,以第一预设时间间隔按照写入顺序,读取所述输出缓冲区中的待处理数据帧,包括:
所述无线模组调用与所述输出缓冲区对应的数据处理逻辑,以第一预设时间间隔按照写入顺序,获取所述输出缓冲区中的待处理数据帧的指针和数据长度;
根据所述待处理数据帧在所述输出缓冲区中的指针和数据长度,读取所述待处理数据帧。
在其中一个实施例中,当所述数据类型为业务数据类型或设备升级数据类型时,所述数据类型对应的输出缓冲区为设备数据输出缓冲区,所述设备数据输出缓冲区对应设备数据处理逻辑;当所述数据类型为认证数据类型时,所述数据类型对应的输出缓冲区为网络管理输出缓冲区,所述网络管理输出缓冲区对应网络管理处理逻辑;当所述数据类型为网络数据类型时,所述数据类型对应的输出缓冲区为套接字数据输出缓冲区,所述套接字数据输出缓冲区对应套接字数据处理逻辑。
在其中一个实施例中,若所述无线模组与所述物联网设备通过串口连接时,针对设备数据输出缓冲区,无线模组调用与所述输出缓冲区对应的数据处理逻辑对读取的待处理数据帧进行数据处理,包括:
无线模组调用与所述设备数据输出缓冲区对应的设备数据处理逻辑,将所述待处理数据帧通过所述串口发送给所述物联网设备。
在其中一个实施例中,若所述无线模组集成于所述物联网设备时,针对设备数据输出缓冲区,无线模组调用与所述输出缓冲区对应的数据处理逻辑对读取的待处理数据帧进行数据处理,包括:
无线模组调用与所述设备数据输出缓冲区对应的设备数据处理逻辑,将所述待处理数据帧发送给物联网设备的处理接口进行数据处理。
第二方面,一种数据处理装置,所述装置包括:
分类缓冲模块,用于无线模组获取并解析待处理数据帧,得到所述待处理数据帧的数据类型,以及根据所述待处理数据帧的数据类型,将所述将待处理数据帧写入与所述数据类型对应的输出缓冲区中;所述无线模组包括多个输出缓冲区,所述多个输出缓冲区对应多个数据处理逻辑;
数据处理模块,用于针对各所述输出缓冲区,所述无线模组调用与所述输出缓冲区对应的数据处理逻辑,以第一预设时间间隔按照写入顺序,读取所述输出缓冲区中的待处理数据帧并进行数据处理;所述第一预设时间间隔与所述输出缓冲区对应的数据处理逻辑的处理能力相关。
第三方面,一种无线模组,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
无线模组获取并解析待处理数据帧,得到所述待处理数据帧的数据类型,以及根据所述待处理数据帧的数据类型,将所述将待处理数据帧写入与所述数据类型对应的输出缓冲区中;所述无线模组包括多个输出缓冲区,所述多个输出缓冲区对应多个数据处理逻辑;
针对各所述输出缓冲区,所述无线模组调用与所述输出缓冲区对应的数据处理逻辑,以第一预设时间间隔按照写入顺序,读取所述输出缓冲区中的待处理数据帧并进行数据处理;所述第一预设时间间隔与所述输出缓冲区对应的数据处理逻辑的处理能力相关。
第四方面,一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
无线模组获取并解析待处理数据帧,得到所述待处理数据帧的数据类型,以及根据所述待处理数据帧的数据类型,将所述将待处理数据帧写入与所述数据类型对应的输出缓冲区中;所述无线模组包括多个输出缓冲区,所述多个输出缓冲区对应多个数据处理逻辑;
针对各所述输出缓冲区,所述无线模组调用与所述输出缓冲区对应的数据处理逻辑,以第一预设时间间隔按照写入顺序,读取所述输出缓冲区中的待处理数据帧并进行数据处理;所述第一预设时间间隔与所述输出缓冲区对应的数据处理逻辑的处理能力相关。
第五方面,一种物联网设备,集成有上述的无线模组。
上述数据处理方法、装置、无线模组、物联网设备和可读存储介质,可以将待处理数据帧写入数据类型对应的输出缓冲区中,并调用与输出缓冲区对应的数据处理逻辑以第一预设时间间隔读取输出缓冲区中的待处理数据帧并进行数据处理,所述第一预设时间间隔与所述输出缓冲区对应的数据处理逻辑的处理能力相关,因此数据处理逻辑的处理能力匹配根据第一预设时间间隔读取的待处理数据帧的数据量,避免因处理不及时导致的数据处理逻辑相关的缓存出现溢出的问题;同时,写入到缓冲区中的按照写入顺序读取的待处理数据帧,具有数据流对象的时序性和时效性,而各数据处理逻辑之间独立使得程序代码的耦合度降到最低,因此本实施例中的数据处理方法具有高效的移植性,能够进行快速的多平台移植,还可以实现多协议共存。
附图说明
图1为一个实施例中数据处理方法的应用环境图;
图2a为一个实施例中数据处理方法的流程示意图;
图2b为一个实施例中数据处理方法的示意图;
图2c为一个实施例中数据流结构的示意图;
图3a为一个实施例中数据处理方法的流程示意图;
图3b为一个实施例中数据处理方法的示意图;
图4为一个实施例中数据流对象的通用接口的示意图;
图5为一个实施例中数据处理装置的结构框图;
图6为一个实施例中数据处理装置的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的数据处理方法,可以应用于如图1所示的应用环境中。其中,物联网设备10通过无线模组11实现和云端的服务器13、手机12等的网络交互。其中,物联网设备可以是但不限于手机、可穿戴设备、智能家电、智能楼宇、智能汽车等;无线模组可以为独立的设备,通过串口和物联网设备连接,可以具有独立的处理芯片,如MCU(微控制单元,单片机);也可以集成在物联网设备中,作为物联网设备的组成部分,例如采用成本低廉的SOC(片上系统)来实现物联网设备的无线网络功能,具体地,该无线模组可以包括但不限于WiFi(无线保真)、蓝牙、ZigBee(紫峰协议)、LORA(远距离无线电,Long Range Radio)等无线模组。
在一个实施例中,如图2a所示,提供了一种数据处理方法,以该方法应用于图1中的无线终端为例进行说明,包括以下步骤:
S201,无线模组获取并解析待处理数据帧,得到所述待处理数据帧的数据类型,以及根据所述待处理数据帧的数据类型,将所述将待处理数据帧写入与所述数据类型对应的输出缓冲区中;所述无线模组包括多个输出缓冲区,所述多个输出缓冲区对应多个数据处理逻辑。
在本实施例中,无线模组可以接收多个来源的待处理数据帧,并发送到相应的多个目标;上述多个来源或目标,可以包括但不限于:物联网设备端、网络端以及无线模组内部。具体地,无线模组可以调用不同数据处理逻辑对待处理数据帧进行处理;上述各数据处理逻辑体现为无线模组的软件架构,可以具体体现为无线模组的存储器中存储的不同数据处理程序,无线模组可以调用不同数据处理逻辑对待处理数据帧进行处理。
一般地,由于无线模组中的不同数据来源或目标,上述各数据处理逻辑可以包括但不限于:设备数据处理逻辑,可以用于与物联网设备端进行数据收发;网络管理处理逻辑,用于处理网络控制数据以建立网络连接、处理网络故障、进行网络认证等,可以用于与外部配网设备进行数据收发;套接字数据处理逻辑,用于通过套接字连接与外部设备进行数据收发,具体可以为UDP(User Datagram Protocol,用户数据报协议)/TCP(Transmission Control Protocol,传输控制协议)等连接。当然,上述各数据处理逻辑之间还会进行数据交互;示例性地,在配网成功后,网络管理处理逻辑可以将配网成功的消息告知套接字数据处理逻辑和设备数据处理逻辑,套接字数据处理逻辑可以开始通过套接字连接进行收发数据,而设备数据处理逻辑可以将配网成功的消息发送给物联网设备端以显示配网状态等;设备数据处理逻辑还可以接收物联网设备端发送的设备状态,并发送给套接字数据处理逻辑,由套接字数据处理逻辑通过套接字连接发送给目标,如云端服务器或手机终端等。
总之,无线模组中的不同来源的不同待处理数据帧数据需要采用不同的数据处理逻辑进行处理,可以根据数据处理类型来调用相应的数据处理逻辑进行处理,上述数据类型一般为上述待处理数据帧的帧属性,无线模组可以通过解析待处理数据帧得到数据类型。例如,当数据类型为业务数据类型或设备升级数据类型时,所述数据类型对应设备数据处理逻辑;当所述数据类型为认证数据类型时,所述数据类型对应网络管理处理逻辑;当所述数据类型为网络数据类型时,所述数据类型对应套接字数据处理逻辑。在本实施例中,无线模组在获得待处理数据帧时不能直接调用对应的数据处理逻辑进行处理,而需要将待处理数据缓存在相应数据处理逻辑对应的输出缓冲区中;上述无线模组可以存储有不同数据类型和不同输出缓冲区的对应关系。为了便于说明,在本实施例中,以上述三种数据处理逻辑为例来进行说明,但本实施例并不限于上述三种数据处理逻辑。
需要说明的是,本实施例中的各缓冲区,包括上述输出缓冲区以及下文中的输入缓冲区均存在对应的硬件存储器,或者对应同一个硬件存储器的不同存储区域等。上述各缓冲区在软件架构上可以体现为相应的数据流(DS,Data Stream)对象的形式,各数据流对象可以判断是否收到一帧数据,若收到,则将接收到的一帧数据写入对应的缓冲区中。参照图2b所示,示出了本实施例的无线模组的一种软件架构形式,需要注意的是,其中数据流对象对应多个与各数据处理逻辑相关的数据流对象。
参照图2c示出了本实施例的应用于无线模组的一种数据流对象的数据流结构,其中,该数据流对象当前包括N+1帧待处理数据帧,每一帧的前面两个字节存放数据帧的大小,后面n个字节存放帧数据,帧数据中包括帧属性,即待处理数据帧的数据类型。数据流是一串连续不断的数据的集合,就象水管里的水流,在水管的一端一点一点地供水,而在水管的另一端看到的是一股连续不断的水流;数据写入可以是一段、一段地向数据流管道中写入数据,这些数据段会按先后顺序形成一个长的数据流;对数据读取而言,看不到数据流在写入时的分段情况,每次可以读取其中的任意长度的数据,但只能先读取前面的数据后,再读取后面的数据;不管写入时是将数据分多次写入,还是作为一个整体一次写入,读取时的效果都是完全一样的。利用图2c所示的结构可以对待处理数据帧做到按数据帧管理,能准确有效的区分帧数据,让各数据处理逻辑根据帧数据进行处理。
在此需要解释的是,上述无线模组的配网模式可以为以下三种:第一种是无线模组处于Station模式,然后无线模组去连接智能设备发起的AP(无线访问接入点,WirelessAccess Point),二者组成局域网;然后无线模组把需要连接的路由器的SSID及密码发送给智能设备,而后智能设备会主动去连接这个路由器,完成连接。第二种是无线模组处于AP模式,与Station模式相反;第三种是Sniffer(嗅探器)模式,让智能设备处于混杂模式下,监听网络中的所有报文;无线模组将SSID(Service Set Identifier,服务集标识)和密码编码到UDP报文中,通过广播或组播把报文发送出去,智能设备接收到UDP报文后会进行解码,得到正确的SSID和密码,然后主动连接该SSID对应的路由器,完成连接。
S202,针对各所述输出缓冲区,所述无线模组调用与所述输出缓冲区对应的数据处理逻辑,以第一预设时间间隔按照写入顺序,读取所述输出缓冲区中的待处理数据帧并进行数据处理;所述第一预设时间间隔与所述输出缓冲区对应的数据处理逻辑的处理能力相关。
在本实施例中,无线模组调用与所述输出缓冲区对应的数据处理逻辑,可以每第一预设时间间隔均从该输出缓冲区中获取预设数量的待处理数据帧,该预设数量可以为1个,也可以多于1个。上述第一预设时间间隔与输出缓冲区对应的数据处理逻辑的处理能力相关,可以理解的是,若第一预设时间间隔越短,则单位时间读取的待处理数据帧的数据量越大,则该数据处理逻辑的处理压力增大,当该数据处理逻辑的处理不过来时,就容易导致该数据处理逻辑相关的缓存出现溢出的问题,例如对于套接字数据处理逻辑而言,数据处理的主要工作是将待处理数据帧存放在发送缓存中发送出去,因此容易导致发送缓存溢出的问题;相反的,若第一预设时间间隔越长,则单位时间读取的待处理数据帧的数据量越小,则该数据处理逻辑的处理压力降低,避免了数据处理逻辑相关的缓存出现溢出的问题。
示例性地,上述数据处理逻辑的处理能力可以为单位时间的最大数据处理量,与程序代码及相关硬件均有关,可以通过经验设置,还可以通过测试得到。当然,上述三种数据处理逻辑分别对应的第一预设时间间隔是不同的。
可选地,各所述缓冲区中的待处理数据帧标记有写入顺序,该写入顺序可以为写入时间。
总之,本实施例中的数据处理方法,可以将待处理数据帧写入数据类型对应的输出缓冲区中,并调用与输出缓冲区对应的数据处理逻辑以第一预设时间间隔读取输出缓冲区中的待处理数据帧并进行数据处理,所述第一预设时间间隔与所述输出缓冲区对应的数据处理逻辑的处理能力相关,因此数据处理逻辑的处理能力匹配根据第一预设时间间隔读取的待处理数据帧的数据量,避免因处理不及时导致的数据处理逻辑相关的缓存出现溢出的问题;同时,写入到缓冲区中的按照写入顺序读取的待处理数据帧,具有数据流对象的时序性和时效性,而各数据处理逻辑之间独立使得程序代码的耦合度降到最低,因此本实施例中的数据处理方法具有高效的移植性,能够进行快速的多平台移植,还可以实现多协议共存。
参照图3a所示,本实施例涉及的是无线模组调用数据处理逻辑将待处理数据帧写入与所述数据处理逻辑对应的输入缓冲区中,并以第二预设时间间隔,读取并解析待处理数据帧,将待处理数据帧写入数据类型对应的输出缓冲区中的过程,具体可以包括:
S301,所述无线模组将各待处理数据帧分别写入各输入缓冲区中;所述无线模组还包括多个输入缓冲区,所述多个输入缓冲区对应所述多个数据处理逻辑。
示例性地,所述无线模组可以调用与所述待处理数据帧的来源相关的数据处理逻辑,将所述待处理数据帧写入与所述数据处理逻辑对应的输入缓冲区中;例如,待处理数据帧来源于网络接口,则相关的数据处理逻辑可以为套接字数据处理逻辑;待处理数据帧来源于设备接口,则相关的数据处理逻辑可以为设备数据处理逻辑;待处理数据帧来源于无线模组内部,则相关的数据处理逻辑可以为网络管理处理逻辑。实际上,上述无线模组可以调用任一数据处理逻辑将待处理数据帧写入与所述数据处理逻辑对应的输入缓冲区中,还可以通过平均分配的方式调用各数据处理逻辑,以将各待处理数据帧较为平均地写入各输入缓冲区中,避免某个输入缓冲区数据量过多。
S302,针对各所述输入缓冲区,所述无线模组调用与所述输入缓冲区对应的数据处理逻辑,以第二预设时间间隔按照写入顺序,读取并解析所述输入缓冲区中的待处理数据帧,得到所述待处理数据帧的数据类型,以及根据所述待处理数据帧的数据类型,将所述将待处理数据帧写入与所述数据类型对应的输出缓冲区中;所述第二预设时间间隔大于所述第一预设时间间隔。
本实施例中的各数据处理逻辑可以分别对应至少一个输出缓冲区,以及至少一个输入缓冲区;即存在某个数据处理逻辑对应多个输出缓冲区或多个输入缓冲区的情况。
参照图3b所示,示出了本实施例的数据处理方法的示意图,其中T1A、T1B、T1C分别为各数据处理逻辑对应的第一预设时间间隔,T2A、T2B、T2C分别为各数据处理逻辑对应的第一预设时间间隔。可以理解的是,当上述第二预设时间间隔大于所述第一预设时间间隔,可以是T2A、T2B、T2C的平均值大于T1A、T1B、T1C的平均值,也可以是T2A、T2B、T2C的最小值大于T1A、T1B、T1C的最大值,还可以是三个数据处理逻辑分别对应的第二预设时间间隔大于三个数据处理逻辑分别对应的第一预设间隔,或者其它形式,总之,可以尽可能保证各数据处理逻辑向同一输出缓冲区写入的数据量小于该输出缓冲区对应的数据处理逻辑从该输出缓冲区中读取并处理的数据量,降低各输出缓冲区溢出的情况;同时,各处理数据帧分配在多个输出缓冲区和多个输入缓冲区中,相比于图2a中各处理数据帧分配在多个输出缓冲区中,降低了各缓冲区溢出的风险。综上所述,本实施例中的数据处理方法,可以降低各输出缓冲区溢出的风险。
可选地,S302中所述无线模组调用与所述输出缓冲区对应的数据处理逻辑,以第一预设时间间隔按照写入顺序,读取所述输出缓冲区中的待处理数据帧,包括:所述无线模组调用与所述输出缓冲区对应的数据处理逻辑,以第一预设时间间隔按照写入顺序,获取所述输出缓冲区中的待处理数据帧的指针和数据长度;根据所述待处理数据帧在所述输出缓冲区中的指针和数据长度,读取所述待处理数据帧。采用指针可以提高程序的编译效率和执行速度,还可以提高数据读取速度,又节省大量内存资源。
可选地,参照图4所示,各所述数据处理逻辑通过调用通用的对象接口实现对各缓冲区的读写,对象接口统一,因此相关程序代码清晰,执行效率高。
示例性地,在本实施例中,无线模组调用数据处理逻辑进行数据处理,可以包括:当所述数据类型为业务数据类型或设备升级数据类型时,无线模组可以调用设备数据处理逻辑进行处理或者转发给SOC进行处理;当所述数据类型为认证数据类型时,无线模组可以调用网络管理处理逻辑进行认证处理;当所述数据类型为网络数据类型时,无线模组可以调用套接字数据处理逻辑将数据通过套接字连接发送出去。当所述数据类型为无线模组升级数据类型时,则无线模组可以采用其他方式进行模组升级处理。
在一种实施方式中,若所述无线模组与所述物联网设备通过接口连接时,针对设备数据输出缓冲区,无线模组调用与所述输出缓冲区对应的数据处理逻辑对读取的待处理数据帧进行数据处理,可以包括:无线模组调用与所述设备数据输出缓冲区对应的设备数据处理逻辑,将所述待处理数据帧通过所述接口发送给所述物联网设备。具体地,可以是无线模组中的MCU调用设备数据处理逻辑将待处理数据帧通过UART(通用异步收发传输器)/SPI(串行外设接口)/USB(通用串行总线)等接口发送给物联网设备。
在另一种实施方式中,若所述无线模组集成于所述物联网设备时,针对设备数据输出缓冲区,无线模组调用与所述输出缓冲区对应的数据处理逻辑对读取的待处理数据帧进行数据处理,可以包括:无线模组调用与所述设备数据输出缓冲区对应的设备数据处理逻辑,将所述待处理数据帧发送给物联网设备的处理接口进行数据处理。具体地,可以是物联网设备的SOC芯片调用设备数据处理逻辑将待处理数据帧发送给物联网设备的处理接口进行数据处理。
本实施例的数据处理方法可以兼容上述两种无线模组,对应纯透传和SOC开发模式。
应该理解的是,虽然图2a,3a的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2a,3a中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种数据处理装置,包括:分类缓冲模块51和数据处理模块52,其中:
分类缓冲模块51,用于无线模组获取并解析待处理数据帧,得到所述待处理数据帧的数据类型,以及根据所述待处理数据帧的数据类型,将所述将待处理数据帧写入与所述数据类型对应的输出缓冲区中;所述无线模组包括多个输出缓冲区,所述多个输出缓冲区对应多个数据处理逻辑;
数据处理模块52,用于针对各所述输出缓冲区,所述无线模组调用与所述输出缓冲区对应的数据处理逻辑,以第一预设时间间隔按照写入顺序,读取所述输出缓冲区中的待处理数据帧并进行数据处理;所述第一预设时间间隔与所述输出缓冲区对应的数据处理逻辑的处理能力相关。
可选地,参照图6所示,在上述图5的基础上,分类缓冲模块51可以包括:
输入缓冲单元511,所述无线模组将各待处理数据帧分别写入各输入缓冲区中;所述无线模组还包括多个输入缓冲区;所述无线模组还包括多个输入缓冲区,所述多个输入缓冲区对应所述多个数据处理逻辑;
输出缓冲单元512,用于针对各所述输入缓冲区,所述无线模组调用与所述输入缓冲区对应的数据处理逻辑,以第二预设时间间隔按照写入顺序,读取并解析所述输入缓冲区中的待处理数据帧,得到所述待处理数据帧的数据类型,以及根据所述待处理数据帧的数据类型,将所述将待处理数据帧写入与所述数据类型对应的输出缓冲区中;所述第二预设时间间隔大于所述第一预设时间间隔。
可选地,参照图6所示,数据处理模块52可以包括:
指针获取单元521,用于所述无线模组调用与所述输出缓冲区对应的数据处理逻辑,以第一预设时间间隔按照写入顺序,获取所述输出缓冲区中的待处理数据帧的指针和数据长度;
数据读取单元522,用于根据所述待处理数据帧在所述输出缓冲区中的指针和数据长度,读取所述待处理数据帧。
可选地,当所述数据类型为业务数据类型或设备升级数据类型时,所述数据类型对应的输出缓冲区为设备数据输出缓冲区,所述设备数据输出缓冲区对应设备数据处理逻辑;当所述数据类型为认证数据类型时,所述数据类型对应的输出缓冲区为网络管理输出缓冲区,所述网络管理输出缓冲区对应网络管理处理逻辑;当所述数据类型为网络数据类型时,所述数据类型对应的输出缓冲区为套接字数据输出缓冲区,所述套接字数据输出缓冲区对应套接字数据处理逻辑。
可选地,参照图6所示,若所述无线模组与所述物联网设备通过串口连接时,数据处理模块52可以包括:第一类数据处理单元523,用于无线模组调用与所述设备数据输出缓冲区对应的设备数据处理逻辑,将所述待处理数据帧通过所述串口发送给所述物联网设备。可选地,若所述无线模组集成于所述物联网设备时,针对设备数据输出缓冲区,数据处理模块52可以包括:第二类数据处理单元,用于无线模组调用与所述设备数据输出缓冲区对应的设备数据处理逻辑,将所述待处理数据帧发送给物联网设备的处理接口进行数据处理。
本实施例中的数据处理装置,避免因处理不及时导致的数据处理逻辑相关的缓存出现溢出的问题;同时,具有高效的移植性,能够进行快速的多平台移植,还可以实现多协议共存。
关于数据处理装置的具体限定可以参见上文中对于数据处理方法的限定,在此不再赘述。上述数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种无线模组,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
无线模组获取并解析待处理数据帧,得到所述待处理数据帧的数据类型,以及根据所述待处理数据帧的数据类型,将所述将待处理数据帧写入与所述数据类型对应的输出缓冲区中;所述无线模组包括多个输出缓冲区,所述多个输出缓冲区对应多个数据处理逻辑;
针对各所述输出缓冲区,所述无线模组调用与所述输出缓冲区对应的数据处理逻辑,以第一预设时间间隔按照写入顺序,读取所述输出缓冲区中的待处理数据帧并进行数据处理;所述第一预设时间间隔与所述输出缓冲区对应的数据处理逻辑的处理能力相关。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:所述无线模组将各待处理数据帧分别写入各输入缓冲区中;所述无线模组还包括多个输入缓冲区;所述无线模组还包括多个输入缓冲区,所述多个输入缓冲区对应所述多个数据处理逻辑;针对各所述输入缓冲区,所述无线模组调用与所述输入缓冲区对应的数据处理逻辑,以第二预设时间间隔按照写入顺序,读取并解析所述输入缓冲区中的待处理数据帧,得到所述待处理数据帧的数据类型,以及根据所述待处理数据帧的数据类型,将所述将待处理数据帧写入与所述数据类型对应的输出缓冲区中;所述第二预设时间间隔大于所述第一预设时间间隔。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:所述无线模组调用与所述输出缓冲区对应的数据处理逻辑,以第一预设时间间隔按照写入顺序,获取所述输出缓冲区中的待处理数据帧的指针和数据长度;根据所述待处理数据帧在所述输出缓冲区中的指针和数据长度,读取所述待处理数据帧。
在一个实施例中,当所述数据类型为业务数据类型或设备升级数据类型时,所述数据类型对应的输出缓冲区为设备数据输出缓冲区,所述设备数据输出缓冲区对应设备数据处理逻辑;当所述数据类型为认证数据类型时,所述数据类型对应的输出缓冲区为网络管理输出缓冲区,所述网络管理输出缓冲区对应网络管理处理逻辑;当所述数据类型为网络数据类型时,所述数据类型对应的输出缓冲区为套接字数据输出缓冲区,所述套接字数据输出缓冲区对应套接字数据处理逻辑。
在一个实施例中,若所述无线模组与所述物联网设备通过串口连接时,处理器执行计算机程序时还实现以下步骤:无线模组调用与所述设备数据输出缓冲区对应的设备数据处理逻辑,将所述待处理数据帧通过所述串口发送给所述物联网设备。
在一个实施例中,若所述无线模组集成于所述物联网设备时,处理器执行计算机程序时还实现以下步骤:无线模组调用与所述设备数据输出缓冲区对应的设备数据处理逻辑,将所述待处理数据帧发送给物联网设备的处理接口进行数据处理。
在一个实施例中,提供了一种可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
无线模组获取并解析待处理数据帧,得到所述待处理数据帧的数据类型,以及根据所述待处理数据帧的数据类型,将所述将待处理数据帧写入与所述数据类型对应的输出缓冲区中;所述无线模组包括多个输出缓冲区,所述多个输出缓冲区对应多个数据处理逻辑;
针对各所述输出缓冲区,所述无线模组调用与所述输出缓冲区对应的数据处理逻辑,以第一预设时间间隔按照写入顺序,读取所述输出缓冲区中的待处理数据帧并进行数据处理;所述第一预设时间间隔与所述输出缓冲区对应的数据处理逻辑的处理能力相关。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:所述无线模组将各待处理数据帧分别写入各输入缓冲区中;所述无线模组还包括多个输入缓冲区;所述无线模组还包括多个输入缓冲区,所述多个输入缓冲区对应所述多个数据处理逻辑;针对各所述输入缓冲区,所述无线模组调用与所述输入缓冲区对应的数据处理逻辑,以第二预设时间间隔按照写入顺序,读取并解析所述输入缓冲区中的待处理数据帧,得到所述待处理数据帧的数据类型,以及根据所述待处理数据帧的数据类型,将所述将待处理数据帧写入与所述数据类型对应的输出缓冲区中;所述第二预设时间间隔大于所述第一预设时间间隔。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:所述无线模组调用与所述输出缓冲区对应的数据处理逻辑,以第一预设时间间隔按照写入顺序,获取所述输出缓冲区中的待处理数据帧的指针和数据长度;根据所述待处理数据帧在所述输出缓冲区中的指针和数据长度,读取所述待处理数据帧。
在一个实施例中,当所述数据类型为业务数据类型或设备升级数据类型时,所述数据类型对应的输出缓冲区为设备数据输出缓冲区,所述设备数据输出缓冲区对应设备数据处理逻辑;当所述数据类型为认证数据类型时,所述数据类型对应的输出缓冲区为网络管理输出缓冲区,所述网络管理输出缓冲区对应网络管理处理逻辑;当所述数据类型为网络数据类型时,所述数据类型对应的输出缓冲区为套接字数据输出缓冲区,所述套接字数据输出缓冲区对应套接字数据处理逻辑。
在一个实施例中,若所述无线模组与所述物联网设备通过串口连接时,计算机程序被处理器执行时还实现以下步骤:无线模组调用与所述设备数据输出缓冲区对应的设备数据处理逻辑,将所述待处理数据帧通过所述串口发送给所述物联网设备。
在一个实施例中,若所述无线模组集成于所述物联网设备时,计算机程序被处理器执行时还实现以下步骤:无线模组调用与所述设备数据输出缓冲区对应的设备数据处理逻辑,将所述待处理数据帧发送给物联网设备的处理接口进行数据处理。
本实施例还提供了一种物联网设备,包括如上述的无线模组,该无线模组可以集成于上述物联网设备中。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种数据处理方法,其特征在于,所述方法应用于物联网,所述方法包括:
无线模组获取并解析待处理数据帧,得到所述待处理数据帧的数据类型,以及根据所述待处理数据帧的数据类型,将所述待处理数据帧写入与所述数据类型对应的输出缓冲区中;所述无线模组包括多个输出缓冲区,所述多个输出缓冲区对应多个数据处理逻辑;所述数据处理逻辑包括数据处理程序;所述数据类型包括业务数据类型、设备升级数据类型、认证数据类型以及网络数据类型中任一项;
针对各所述输出缓冲区,所述无线模组调用与所述输出缓冲区对应的数据处理逻辑,以第一预设时间间隔按照写入顺序,读取所述输出缓冲区中的待处理数据帧并进行数据处理;所述第一预设时间间隔与所述输出缓冲区对应的数据处理逻辑的处理能力相关,且不同数据处理逻辑对应不同的所述第一预设时间间隔。
2.根据权利要求1所述的方法,其特征在于,所述待处理数据帧为多个,所述无线模组获取并解析待处理数据帧,得到所述待处理数据帧的数据类型,以及根据所述待处理数据帧的数据类型,将所述待处理数据帧写入与所述数据类型对应的输出缓冲区中包括:
所述无线模组还包括多个输入缓冲区,所述无线模组将所述多个待处理数据帧分别写入所述多个输入缓冲区中;所述多个输入缓冲区对应所述多个数据处理逻辑;
针对各所述输入缓冲区,所述无线模组调用与所述输入缓冲区对应的数据处理逻辑,以第二预设时间间隔按照写入顺序,读取并解析所述输入缓冲区中的待处理数据帧,得到所述待处理数据帧的数据类型,以及根据所述待处理数据帧的数据类型,将所述待处理数据帧写入与所述数据类型对应的输出缓冲区中;所述第二预设时间间隔大于所述第一预设时间间隔。
3.根据权利要求1或2所述的方法,其特征在于,所述无线模组调用与所述输出缓冲区对应的数据处理逻辑,以第一预设时间间隔按照写入顺序,读取所述输出缓冲区中的待处理数据帧,包括:
所述无线模组调用与所述输出缓冲区对应的数据处理逻辑,以第一预设时间间隔按照写入顺序,获取所述输出缓冲区中的待处理数据帧的指针和数据长度;
根据所述待处理数据帧在所述输出缓冲区中的指针和数据长度,读取所述待处理数据帧。
4.根据权利要求1或2所述的方法,其特征在于,当所述数据类型为所述业务数据类型或所述设备升级数据类型时,所述数据类型对应的输出缓冲区为设备数据输出缓冲区,所述设备数据输出缓冲区对应设备数据处理逻辑;当所述数据类型为所述认证数据类型时,所述数据类型对应的输出缓冲区为网络管理输出缓冲区,所述网络管理输出缓冲区对应网络管理处理逻辑;当所述数据类型为所述网络数据类型时,所述数据类型对应的输出缓冲区为套接字数据输出缓冲区,所述套接字数据输出缓冲区对应套接字数据处理逻辑。
5.根据权利要求1或2所述的方法,其特征在于,若所述无线模组与物联网设备通过串口连接时,针对设备数据输出缓冲区,无线模组调用与所述输出缓冲区对应的数据处理逻辑对读取的待处理数据帧进行数据处理,包括:
无线模组调用与所述设备数据输出缓冲区对应的设备数据处理逻辑,将所述待处理数据帧通过所述串口发送给所述物联网设备。
6.根据权利要求1或2所述的方法,其特征在于,若所述无线模组集成于物联网设备时,针对设备数据输出缓冲区,无线模组调用与所述输出缓冲区对应的数据处理逻辑对读取的待处理数据帧进行数据处理,包括:
无线模组调用与所述设备数据输出缓冲区对应的设备数据处理逻辑,将所述待处理数据帧发送给物联网设备的处理接口进行数据处理。
7.一种数据处理装置,其特征在于,所述装置应用于物联网,所述装置包括:
分类缓冲模块,用于无线模组获取并解析待处理数据帧,得到所述待处理数据帧的数据类型,以及根据所述待处理数据帧的数据类型,将所述待处理数据帧写入与所述数据类型对应的输出缓冲区中;所述无线模组包括多个输出缓冲区,所述多个输出缓冲区对应多个数据处理逻辑;所述数据处理逻辑包括数据处理程序;所述数据类型包括业务数据类型、设备升级数据类型、认证数据类型以及网络数据类型中任一项;
数据处理模块,用于针对各所述输出缓冲区,所述无线模组调用与所述输出缓冲区对应的数据处理逻辑,以第一预设时间间隔按照写入顺序,读取所述输出缓冲区中的待处理数据帧并进行数据处理;所述第一预设时间间隔与所述输出缓冲区对应的数据处理逻辑的处理能力相关,且不同数据处理逻辑对应不同的所述第一预设时间间隔。
8.一种无线模组,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
9.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种物联网设备,其特征在于,集成有如权利要求8所述的无线模组。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811641718.3A CN109743757B (zh) | 2018-12-29 | 2018-12-29 | 数据处理方法、装置、无线模组和物联网设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811641718.3A CN109743757B (zh) | 2018-12-29 | 2018-12-29 | 数据处理方法、装置、无线模组和物联网设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109743757A CN109743757A (zh) | 2019-05-10 |
CN109743757B true CN109743757B (zh) | 2022-04-12 |
Family
ID=66362530
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811641718.3A Active CN109743757B (zh) | 2018-12-29 | 2018-12-29 | 数据处理方法、装置、无线模组和物联网设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109743757B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110928578A (zh) * | 2019-12-05 | 2020-03-27 | 潍柴动力股份有限公司 | 一种数据处理方法、装置及系统 |
CN111429710A (zh) * | 2020-03-26 | 2020-07-17 | 杭州涂鸦信息技术有限公司 | 一种uart转蓝牙控制指令通用对接方法及系统 |
CN113489639B (zh) * | 2021-06-16 | 2022-12-02 | 杭州深渡科技有限公司 | 一种网关多接口的数据通信方法和系统 |
CN113535697A (zh) * | 2021-07-07 | 2021-10-22 | 广州三叠纪元智能科技有限公司 | 爬架数据清理方法、爬架控制装置及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102053923A (zh) * | 2009-11-05 | 2011-05-11 | 北京金山软件有限公司 | 一种日志数据的存储方法及存储装置 |
CN102681970A (zh) * | 2012-04-25 | 2012-09-19 | 华为技术有限公司 | 信号处理器的配置方法及信号处理器 |
CN103841432A (zh) * | 2012-11-26 | 2014-06-04 | 浙江大华技术股份有限公司 | 一种复合视频数据的传输方法和设备 |
CN104123238A (zh) * | 2014-06-30 | 2014-10-29 | 海视云(北京)科技有限公司 | 数据存储方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201114079D0 (en) * | 2011-06-13 | 2011-09-28 | Neul Ltd | Mobile base station |
CN104023355B (zh) * | 2014-05-15 | 2017-07-21 | 北京邮电大学 | 基于集中控制和内容分发的无线通信网络系统 |
-
2018
- 2018-12-29 CN CN201811641718.3A patent/CN109743757B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102053923A (zh) * | 2009-11-05 | 2011-05-11 | 北京金山软件有限公司 | 一种日志数据的存储方法及存储装置 |
CN102681970A (zh) * | 2012-04-25 | 2012-09-19 | 华为技术有限公司 | 信号处理器的配置方法及信号处理器 |
CN103841432A (zh) * | 2012-11-26 | 2014-06-04 | 浙江大华技术股份有限公司 | 一种复合视频数据的传输方法和设备 |
CN104123238A (zh) * | 2014-06-30 | 2014-10-29 | 海视云(北京)科技有限公司 | 数据存储方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109743757A (zh) | 2019-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109743757B (zh) | 数据处理方法、装置、无线模组和物联网设备 | |
CN111343199B (zh) | 双芯智能电表的通信方法和系统 | |
EP3624486A1 (en) | Resource configuration method, terminal device and network device | |
WO2019184658A1 (zh) | 配置文件的切换方法、装置与移动终端 | |
CN110012455B (zh) | 一种账号信息的管理方法、装置及电子设备 | |
CN111224903A (zh) | 一种数据传输方法、设备及计算机可读存储介质 | |
CN113014510A (zh) | 惯导系统分布式测试中数据缓存方法及装置 | |
CN108052401B (zh) | 系统属性监听方法、终端设备及计算机可读存储介质 | |
CN106302093B (zh) | 一种通信方法、系统及服务器 | |
CN112073488A (zh) | 处理请求的方法及装置 | |
CN112422485B (zh) | 一种传输控制协议的通信方法及装置 | |
CN104320766A (zh) | 垃圾短信识别方法、装置及设备 | |
CN109639698B (zh) | 一种数据处理方法及服务器 | |
CN110769460B (zh) | Bsr传输方法、装置、相关设备及存储介质 | |
CN111328031A (zh) | 一种消息转发方法及装置 | |
CN115695077A (zh) | 一种总线数据接收方法、装置、电子设备及存储介质 | |
CN111431892B (zh) | 一种加速器管理架构、方法及加速器接口控制器 | |
CN110581826B (zh) | 一种核心网通信方法、装置及系统 | |
CN112039801A (zh) | 设置ip信息的方法、系统和代理服务器 | |
CN113849951A (zh) | 芯片仿真方法、装置、设备、系统及存储介质 | |
CN111478802A (zh) | 配网处理方法、装置、计算机设备和存储介质 | |
CN112929283B (zh) | 数据处理方法、装置、设备及存储介质 | |
WO2017076322A1 (zh) | 一种通信方法及装置 | |
CN115225586B (zh) | 数据包发送方法、装置、设备及计算机可读存储介质 | |
US20210211223A1 (en) | Wireless communication method and terminal device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 518000 Guangdong science and technology innovation and Research Institute, Shenzhen, Shenzhen, Nanshan District No. 6, science and technology innovation and Research Institute, Shenzhen, D 10, 1004, 10 Patentee after: Shenzhen Hetai intelligent home appliance controller Co.,Ltd. Address before: 518051 1004, 10th floor, block D, Shenzhen Institute of aerospace technology innovation building, no.6, South Keji Road, high tech Zone, Nanshan District, Shenzhen City, Guangdong Province Patentee before: SHENZHEN H&T DATA RESOURCES AND CLOUD TECHNOLOGY Ltd. |
|
CP03 | Change of name, title or address |