CN111049761A - 无线控水器通信模块的数据处理方法 - Google Patents
无线控水器通信模块的数据处理方法 Download PDFInfo
- Publication number
- CN111049761A CN111049761A CN201911354027.XA CN201911354027A CN111049761A CN 111049761 A CN111049761 A CN 111049761A CN 201911354027 A CN201911354027 A CN 201911354027A CN 111049761 A CN111049761 A CN 111049761A
- Authority
- CN
- China
- Prior art keywords
- data
- message
- processing
- priority
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/901—Buffering arrangements using storage descriptor, e.g. read or write pointers
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F15/00—Coin-freed apparatus with meter-controlled dispensing of liquid, gas or electricity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6275—Queue 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格式的数据流,可以立即处理。
现有技术中对不同数据的处理往往分散在各自的接收程序里或分散在几个线程中,处理中往往会用到各种公共资源,例如串行存储器、串口、网络口等资源,传输过程中会产生资源竞争,造成资源浪费,且传输效率较低
为解决上述问题,本发明采用如下技术方案:
一种无线控水器通信模块的数据处理方法,包括以下步骤:
第一步:通信模块接收来自控水器外部或内部的配网请求数据、串口数据、网络数据、参数设置请求数据,其中串口数据包括刷卡命令数据、消费数据、转账数据;
第二步:将第一步接收的数据封装成消息,其中,刷卡命令数据和消费数据以指针形式进行封装,所述的指针形式为:根据收到的串口数据长度申请内存,作为消息数据存储;复制串口数据到消息数据中,将消息数据的存储地址作为指针放入消息中;第一步骤中的其他数据封装成完整的数据链;数据封装包括设置优先级;
通过以下程序和算法可以实现:
消息定义
消息有三个属性,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.一种无线控水器通信模块的数据处理方法,其特征在于:包括以下步骤:
第一步:通信模块接收来自控水器外部或内部的配网请求数据、串口数据、网络数据、参数设置请求数据,其中串口数据包括刷卡命令数据、消费数据、转账数据;
第二步:将第一步接收的数据封装成消息,其中,刷卡命令数据和消费数据以指针形式进行封装,所述的指针形式为:根据收到的串口数据长度申请内存,作为消息数据存储;复制串口数据到消息数据中,将消息数据的存储地址作为指针放入消息中;第一步骤中的其他数据封装成完整的数据链;数据封装包括设置优先级;
第三步:将第二步封装好的数据发给到消息队列中等待处理;
第四步:根据第二步设置的优先级,进行数据处理。
2.根据权利要求1或权利要求2所述的一种无线控水器通信模块的数据处理方法,其特征在于:第二步中所述的设置优先级的方法为:当同时存在多个数据时,先处理优先级最高的数据;优先级设置范围为0-255,其中0表示优先级最高,255表示优先级最低。
3.根据权利要求3所述的一种无线控水器通信模块的数据处理方法,其特征在于:在第二步中,将处理消费数据设为第0优先级;将处理刷卡命令数据设为第1优先级。
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 true CN111049761A (zh) | 2020-04-21 |
CN111049761B 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 (9)
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 | 深圳市常工电子计算机有限公司 | 无线通信网络水控器 |
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 | 宁波弘泰水利信息科技有限公司 | 一种实时多任务处理的水文自动测报系统 |
CN109766200A (zh) * | 2018-12-31 | 2019-05-17 | 北京明朝万达科技股份有限公司 | 一种消息队列处理方法、装置、设备及存储介质 |
-
2019
- 2019-12-25 CN CN201911354027.XA patent/CN111049761B/zh active Active
Patent Citations (9)
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 | 深圳市常工电子计算机有限公司 | 无线通信网络水控器 |
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 | 宁波弘泰水利信息科技有限公司 | 一种实时多任务处理的水文自动测报系统 |
CN109766200A (zh) * | 2018-12-31 | 2019-05-17 | 北京明朝万达科技股份有限公司 | 一种消息队列处理方法、装置、设备及存储介质 |
Non-Patent Citations (8)
Title |
---|
吴健: ""非接触式IC卡刷卡机系统的设计"", 《中国优秀硕士学位论文全文数据库》 * |
吴健: ""非接触式IC卡刷卡机系统的设计"", 《中国优秀硕士学位论文全文数据库》, 15 July 2012 (2012-07-15) * |
朱健军: ""基于以太网的多功能一体化数据采集系统"", 《浙江工业大学学报》 * |
朱健军: ""基于以太网的多功能一体化数据采集系统"", 《浙江工业大学学报》, 7 April 2016 (2016-04-07), pages 59 - 60 * |
赵锋: ""基于射频卡技术的智能控水系统设计和实现"", 《中国优秀硕士学位论文全文数据库》 * |
赵锋: ""基于射频卡技术的智能控水系统设计和实现"", 《中国优秀硕士学位论文全文数据库》, 15 December 2011 (2011-12-15) * |
陈乐: ""基于CAN总线的射频IC卡水控系统设计"", 《中国优秀硕士学位论文全文数据库》 * |
陈乐: ""基于CAN总线的射频IC卡水控系统设计"", 《中国优秀硕士学位论文全文数据库》, 16 June 2013 (2013-06-16) * |
Also Published As
Publication number | Publication date |
---|---|
CN111049761B (zh) | 2023-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10200474B2 (en) | Cross-protocol distributed cloud storage system and data management method based on operation control unit | |
CN100492302C (zh) | 基于Java的进程间异步通信的实现方法 | |
CN111580995B (zh) | 基于mqtt异步通信场景下的分布式云平台与物联网智能终端的同步通信方法与系统 | |
WO2017067391A1 (zh) | 虚拟机的数据共享方法及装置 | |
CN107241281B (zh) | 一种数据处理方法及其装置 | |
US7076545B2 (en) | Load balancing the servicing of received packets | |
CN107276711B (zh) | EtherCAT主站装置 | |
CN104796337A (zh) | 一种转发报文的方法及装置 | |
CN109547162B (zh) | 基于两套单向边界的数据通信方法 | |
EP2755363B1 (en) | Data-fast-distribution method and device | |
US10609125B2 (en) | Method and system for transmitting communication data | |
WO2020151449A1 (zh) | 基于quic协议栈的数据处理方法、系统、设备及存储介质 | |
CN111459417A (zh) | 一种面向NVMeoF存储网络的无锁传输方法及系统 | |
CN111565154A (zh) | 图像识别请求处理方法、装置、计算机设备和存储介质 | |
CN110807063A (zh) | 基于边缘计算的变电站实时数据快速分发同步系统及方法 | |
CN111614577B (zh) | 一种多通信任务管理方法、装置和计算机设备 | |
CN113632065A (zh) | 多核电子装置及其分组处理方法 | |
CN112685148A (zh) | 海量终端的异步通信方法、装置、计算机设备和存储介质 | |
US20050138638A1 (en) | Object request broker for accelerating object-oriented communications and method | |
CN105049372A (zh) | 一种扩展消息中间件吞吐量的方法及系统 | |
CN109388501A (zh) | 基于人脸识别请求的通信匹配方法、装置、设备及介质 | |
CN111049761A (zh) | 无线控水器通信模块的数据处理方法 | |
CN109005465B (zh) | 弹幕消息分发方法、装置、设备及存储介质 | |
CN111245794B (zh) | 数据传输方法和装置 | |
CN110891032B (zh) | 一种人脸数据并行下发方法、装置及电子设备 |
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 |