CN111049761B - 无线控水器通信模块的数据处理方法 - Google Patents

无线控水器通信模块的数据处理方法 Download PDF

Info

Publication number
CN111049761B
CN111049761B CN201911354027.XA CN201911354027A CN111049761B CN 111049761 B CN111049761 B CN 111049761B CN 201911354027 A CN201911354027 A CN 201911354027A CN 111049761 B CN111049761 B CN 111049761B
Authority
CN
China
Prior art keywords
data
message
priority
processing
communication 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
Application number
CN201911354027.XA
Other languages
English (en)
Other versions
CN111049761A (zh
Inventor
刘刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harbin Synjones Electronic Co ltd
Original Assignee
Harbin Synjones Electronic Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Harbin Synjones Electronic Co ltd filed Critical Harbin Synjones Electronic Co ltd
Priority to CN201911354027.XA priority Critical patent/CN111049761B/zh
Publication of CN111049761A publication Critical patent/CN111049761A/zh
Application granted granted Critical
Publication of CN111049761B publication Critical patent/CN111049761B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F15/00Coin-freed apparatus with meter-controlled dispensing of liquid, gas or electricity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6275Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Communication Control (AREA)

Abstract

一种无线控水器通信模块的数据处理方法。它涉及一种控水器通信模块的数据处理方法。现有技术中对不同数据的处理分散在各自的接收程序里或分散在几个线程中,造成资源浪费。本发明包括:第一步:通信模块接收来自控水器外部或内部数据;第二步:将第一步接收的数据封装成消息;第三步:将第二步封装好的数据发给到消息队列中等待处理;第四步:根据第二步设置的优先级,进行数据处理。本发明实现了数据的集中处理,节省资源。本发明用于无线控水器通信模块的数据处理。

Description

无线控水器通信模块的数据处理方法
技术领域
本发明涉及数据处理方法领域,尤其是控水器通信模块的数据处理方法。
背景技术
无线控水器是在学校、工矿、公共浴室、开水房、出租屋、洗衣房等场所广泛使用的,通过无线通信方式,计算用水量、计算水费的计量设备。无线控水器的通信模块程序需要接收各种数据,并且需要对不同的数据做出正确的处理。具体有以下几种数据:配网请求数据,指WiFi接入点名称、密码;串口数据,指消费数据、命令数据、转账数据等;网络数据,通过WiFI 网络传输的数据,包括消费数据、命令数据、转帐数据;参数设置请求数据为服务器的网络地址、端口等信息。其中串口数据中的消费数据和刷卡命令数据每天都有大量发生,总量较大,每个数据包占据的空间较大;而且由于数据的来源各不相同,处理方法也不一致,有的可以立即处理,有的需要等待接收完成后才能处理。比如:配网请求由外部中断触发,事件发生后可以立即处理;串口数据来自于串口,数据为多字节的数据流,需要等待全部接收完成后才能处理;网络数据来自于WiFi的MQTT协议接收回调函数,数据为多字节的数据流,事件发生后可以立即处理;参数设置请求来自于WiFi 的UDP组播数据监听程序,数据为JSON格式的数据流,可以立即处理。
现有技术中对不同数据的处理往往分散在各自的接收程序里或分散在几个线程中,处理中往往会用到各种公共资源,例如串行存储器、串口、网络口等资源,传输过程中会产生资源竞争,造成资源浪费,且传输效率较低
为解决上述问题,本发明采用如下技术方案:
一种无线控水器通信模块的数据处理方法,包括以下步骤:
第一步:通信模块接收来自控水器外部或内部的配网请求数据、串口数据、网络数据、参数设置请求数据,其中串口数据包括刷卡命令数据、消费数据、转账数据;
第二步:将第一步接收的数据封装成消息,其中,刷卡命令数据和消费数据以指针形式进行封装,所述的指针形式为:根据收到的串口数据长度申请内存,作为消息数据存储;复制串口数据到消息数据中,将消息数据的存储地址作为指针放入消息中;第一步骤中的其他数据封装成完整的数据链;数据封装包括设置优先级;
通过以下程序和算法可以实现:
消息定义
Figure BDA0002335405350000021
消息有三个属性,type、prio和data。
type指明消息的发送者。
prio指明消息的优先级,取值范围为0~255,0为最高优先级。
data为消息体,是一个无类型指针。data中存储的数据有3种情况:当消息仅表示有事件发生,不需要传送数据时,data设置为空指针,不需要处理;当需要传送4字节以下的数据时,可直接将数据存在data中;当传送的数据长度大于4字节时,可以传递数据块指针,数据块可从内存中申请,将数据块的指针存在data中,数据块的内容可以根据需要灵活定义,接收处理完成后由处理程序释放数据块占用的内存。
第三步:将第二步封装好的数据发给到消息队列中等待处理;
第四步:根据第二步设置的优先级,进行数据处理。
优选的方案:第二步中的所述的指针形式为:根据收到的串口数据长度申请内存,做为消息数据存储。复制串口数据到消息数据中,将消息数据的存储地址作为指针放入消息中。
优选的方案:第二步中所述的设置优先级的方法为:当同时存在多个数据时,先处理优先级最高的数据;优先级设置范围为0-255,其中0表示优先级最高,255表示优先级最低。
优选的方案:第三步所述数据传输通道采用队列形式传输数据;消息队列是一个满足系统最大传输负荷下的数组,数组元素为消息,发送消息就是将消息插入到队列的尾部,接收消息时从队列头部取出消息。
优选的方案:在第二步中,将处理消费数据设为第0优先级;将处理刷卡命令数据设为第1优先级。
本发明的技术效果:提出一种集中传输处理数据的方法,本发明的技术方案中有多个数据来源和一个数据处理节点。节点完整接收数据后,节点将接收的数据打包成消息,然后通过消息队列传递数据。这种方法主要具有以下优点:
1、无线控水器接收处理外部或内部数据过程中,数据接收与处理分离,异步处理接收到的数据,当接收完事件后,不用等待处理完成就可以立即开始再次接收数据;实现了数据集中处理,便于维护。
2、无线控水器硬件资源缺乏,而数据处理程序经常要用到硬件资源,本发明因为只在一个线程处理数据,避免了资源浪费。
3、本发明为数据处理设置优先级,可以优先处理紧急的消费信息、刷卡命令信息等,实现了紧急事件的快速处理,提高了处理的效率。
附图说明
图1为工作示意图
具体实施例
具体实施例一:
一种无线控水器通信模块的数据处理方法,包括以下步骤:
第一步:通信模块接收来自控水器外部或内部的配网请求数据、串口数据、网络数据、参数设置请求数据,其中串口数据包括刷卡命令数据、消费数据、转账数据;
第二步:将第一步接收的数据封装成消息,其中,刷卡命令数据和消费数据以指针形式进行封装,所述的指针形式为:根据收到的串口数据长度申请内存,作为消息数据存储;复制串口数据到消息数据中,将消息数据的存储地址作为指针放入消息中;第一步骤中的其他数据封装成完整的数据链;数据封装包括设置优先级;
第三步:将第二步封装好的数据发给到消息队列中等待处理;
第四步:根据第二步设置的优先级,进行数据处理。
具体实施例二:具体实施例二是对具体实施例一的进一步限定,第三步所述数据传输通道采用队列形式传输数据。
具体实施例三:具体实施例三是对具体实施例一后具体实施方式二的进一步限定,第二步中所述的设置优先级的方法为:当同时存在多个数据时,先处理优先级最高的数据;优先级设置范围为0-255,其中0表示优先级最高,255表示优先级最低。
具体实施例四,具体实施方式四是对具体实施方式三的进一步限定,在第二步中,将处理消费数据设为第0优先级;将处理刷卡命令数据设为第1 优先级。
工作流程如下:
接收程序负责数据的接收,当接收耗时的数据时,要全部接收完成后再进行下一步处理;
接收程序接收完成时,将定义一个消息,消息内容包括消息来源、消息优先级、要传送的数据;如果传递的是小块数据就直接复制到消息内,如果传递的是大块数据就传递数据块的指针;
接收程序将消息放入消息队列;
处理程序等待消息队列非空,一旦消息队列非空时,立即开始处理;
处理程序从消息队列中取出最高优先级的消息并处理;
处理完成时,如果消息内存在数据块指针,首先释放数据块指针所指向的内存,最后释放消息所占的内存。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物、等效方法界定。

Claims (3)

1.一种无线控水器通信模块的数据处理方法,其特征在于:包括以下步骤:
第一步:通信模块接收来自控水器外部或内部的配网请求数据、串口数据、网络数据、参数设置请求数据,其中串口数据包括刷卡命令数据、消费数据、转账数据;
第二步:将第一步接收的数据封装成消息,其中,刷卡命令数据和消费数据以指针形式进行封装,所述的指针形式为:根据收到的串口数据长度申请内存,作为消息数据存储;复制串口数据到消息数据中,将消息数据的存储地址作为指针放入消息中;第一步骤中的其他数据封装成完整的数据链;数据封装包括设置优先级;
通过以下程序和算法可以实现:
消息定义
Figure FDA0004202302990000011
消息有三个属性,type、prio和data,
type指明消息的发送者,
prio指明消息的优先级,取值范围为0~255,0为最高优先级,
data为消息体,是一个无类型指针,data中存储的数据有3种情况:当消息仅表示有事件发生,不需要传送数据时,data设置为空指针,不需要处理;当需要传送4字节以下的数据时,可直接将数据存在data中;当传送的数据长度大于4字节时,可以传递数据块指针,数据块可从内存中申请,将数据块的指针存在data中,数据块的内容可以根据需要灵活定义,接收处理完成后由处理程序释放数据块占用的内存;
第三步:将第二步封装好的数据发给到消息队列中等待处理;数据传输通道采用队列形式传输数据;消息队列是一个满足系统最大传输负荷下的数组,数组元素为消息,发送消息是将消息插入到队列的尾部,接收消息时从队列头部取出消息;
第四步:根据第二步设置的优先级,进行数据处理。
2.根据权利要求1所述的一种无线控水器通信模块的数据处理方法,其特征在于:第二步中所述的设置优先级的方法为:当同时存在多个数据时,先处理优先级最高的数据;优先级设置范围为0-255,其中0表示优先级最高,255表示优先级最低。
3.根据权利要求1所述的一种无线控水器通信模块的数据处理方法,其特征在于:在第二步中,将处理消费数据设为第0优先级;将处理刷卡命令数据设为第1优先级。
CN201911354027.XA 2019-12-25 2019-12-25 无线控水器通信模块的数据处理方法 Active CN111049761B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911354027.XA CN111049761B (zh) 2019-12-25 2019-12-25 无线控水器通信模块的数据处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911354027.XA CN111049761B (zh) 2019-12-25 2019-12-25 无线控水器通信模块的数据处理方法

Publications (2)

Publication Number Publication Date
CN111049761A CN111049761A (zh) 2020-04-21
CN111049761B true CN111049761B (zh) 2023-06-20

Family

ID=70239382

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911354027.XA Active CN111049761B (zh) 2019-12-25 2019-12-25 无线控水器通信模块的数据处理方法

Country Status (1)

Country Link
CN (1) CN111049761B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104994601A (zh) * 2015-06-01 2015-10-21 南京邮电大学 一种4g车载智慧终端系统
CN106204000A (zh) * 2016-07-05 2016-12-07 康存乐付保数据科技(上海)有限公司 一种服务消费支付信息处理方法及系统
CN107231425A (zh) * 2017-06-15 2017-10-03 哈尔滨新中新电子股份有限公司 一种基于mqtt协议的无线通讯装置和方法以及一种控水器
CN107241382A (zh) * 2017-04-24 2017-10-10 天津瑞能电气有限公司 用于串口与以太网间的数据转换方法及其装置
CN108871421A (zh) * 2018-04-26 2018-11-23 宁波弘泰水利信息科技有限公司 一种实时多任务处理的水文自动测报系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2727862Y (zh) * 2004-07-23 2005-09-21 上海晶琛信息科技有限公司 智能ic卡控水计费管理系统
CN1725698A (zh) * 2004-07-23 2006-01-25 上海晶琛信息科技有限公司 智能ic卡控水计费管理系统
CN203260180U (zh) * 2013-05-23 2013-10-30 深圳市常工电子计算机有限公司 无线通信网络水控器
CN109766200A (zh) * 2018-12-31 2019-05-17 北京明朝万达科技股份有限公司 一种消息队列处理方法、装置、设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104994601A (zh) * 2015-06-01 2015-10-21 南京邮电大学 一种4g车载智慧终端系统
CN106204000A (zh) * 2016-07-05 2016-12-07 康存乐付保数据科技(上海)有限公司 一种服务消费支付信息处理方法及系统
CN107241382A (zh) * 2017-04-24 2017-10-10 天津瑞能电气有限公司 用于串口与以太网间的数据转换方法及其装置
CN107231425A (zh) * 2017-06-15 2017-10-03 哈尔滨新中新电子股份有限公司 一种基于mqtt协议的无线通讯装置和方法以及一种控水器
CN108871421A (zh) * 2018-04-26 2018-11-23 宁波弘泰水利信息科技有限公司 一种实时多任务处理的水文自动测报系统

Also Published As

Publication number Publication date
CN111049761A (zh) 2020-04-21

Similar Documents

Publication Publication Date Title
US10200474B2 (en) Cross-protocol distributed cloud storage system and data management method based on operation control unit
CN111580995B (zh) 基于mqtt异步通信场景下的分布式云平台与物联网智能终端的同步通信方法与系统
CN100492302C (zh) 基于Java的进程间异步通信的实现方法
WO2017067391A1 (zh) 虚拟机的数据共享方法及装置
CN108494817B (zh) 数据传输方法、相关装置及系统
US7076545B2 (en) Load balancing the servicing of received packets
CN107276711B (zh) EtherCAT主站装置
CN104796337A (zh) 一种转发报文的方法及装置
US10609125B2 (en) Method and system for transmitting communication data
CN103888441A (zh) 一种应用程序与协议栈之间的信息传输方法及处理装置
WO2016189294A1 (en) Single-chip multi-processor communication
CN104158764A (zh) 报文处理方法及装置
CN113632065A (zh) 多核电子装置及其分组处理方法
CN112000446A (zh) 一种数据传输的方法及机器人
US20050138638A1 (en) Object request broker for accelerating object-oriented communications and method
CN110166485B (zh) 一种协议的调度使用方法及装置
CN111586140A (zh) 一种数据交互的方法及服务器
CN105049372A (zh) 一种扩展消息中间件吞吐量的方法及系统
CN111049761B (zh) 无线控水器通信模块的数据处理方法
CN102117261B (zh) 一种芯片内部处理器之间的通信方法
CN109005465B (zh) 弹幕消息分发方法、装置、设备及存储介质
WO2023030178A1 (zh) 一种基于用户态协议栈的通信方法及相应装置
CN104636206A (zh) 一种系统性能的优化方法和装置
US8176117B2 (en) Accelerator for object-oriented communications and method
CN111130968A (zh) 一种解决Modbus总线通信粘包的方法及终端

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