温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
一种
数据
监控
设备
实时
通道
日志
记录
方案设计
2023 年 8 月 25 日第 7 卷 第 16 期现代信息科技Modern Information TechnologyAug.2023 Vol.7 No.1606062023.082023.08收稿日期:2023-03-02一种数据监控设备的实时通道日志记录方案设计姚豪立,汪芳君,李天一,孙苏钦,李章昊(宁波水表(集团)股份有限公司 浙江省水表研究院,浙江 宁波 315032)摘 要:数据监控设备通常具有丰富的采集模块及通信模块,因此在当前工业中起到至关重要的作用。然而,这些模块经常在应用过程中出现问题,目前最常用的是通过拆卸设备来获取控制信号,以判断问题根源。文章介绍一种基于此类设备的实时通道日志方案,通过共享设备其中的一种或者两种通信接口,把所需通道的调试数据实时展现出来,同时不影响设备正常应用功能。目前这个方法已经成功应用于多种设备,并且取得良好的使用效果。关键词:数据监控设备;通道;日志;串口中图分类号:TP368.1 文献标识码:A 文章编号:2096-4706(2023)16-0006-05Design of a Real-time Channel Logging Scheme of Data Monitoring EquipmentYAO Haoli,WANG Fangjun,LI Tianyi,SUN Suqin,LI Zhanghao(Zhejiang Water Meter Research Institute,Ningbo Water Meter(Group)Co.,Ltd.,Ningbo 315032,China)Abstract:Data monitoring equipment is usually rich in acquisition modules and communication modules,so it plays a vital role in the current industry.However,these modules often have problems during the application,and the most commonly used one is to disassemble the equipment to obtain control signals to determine the root cause of the problem.This paper introduces a real-time channel log scheme based on such type of equipment.By sharing one or both of the communication interfaces of the equipment,the debugging data of the required channel is displayed in real time without affecting the normal application function of the equipment.At present,this method has been successfully applied in a variety of equipments,and has achieved good use effect.Keywords:data monitoring equipment;channel;log;serial port0 引 言数据监控设备为集数据采集与远程通信技术为一体的终端产品,该设备功能强大并且具有丰富的外围接口,其中 GPS、有线采集、无线通信、红外、蓝牙等功能往往需要占用监控设备处理器的串口资源。处理器与外围设备经过串口通信,实际应用过程中难免会出现运行问题,维护人员难以通过现象来分析原因,他们往往需要拆卸设备,通过截取其中的交互码流数据,来判断问题的根源。本文提出了一种新的数据监控设备实时通道日志记录方案,可极为便利地获取外围设备操作的日志信息,有效地解决终端维护不便的问题,大大降低维护成本,提高维护效率。1 方案介绍以应用于水务终端的数据监控设备为例,它通过 NB-IoT、GPRS 和 4G 等无线通信单元,可实现水务终端数据监控设备的无线通信网络与数据服务DOI:10.19850/ki.2096-4706.2023.16.002器的数据交换;通过 GPS 定位单元,实现设备的精确定位和跟踪;有线采集单元则可使用 RS485、M-Bus 作为通信方式,实现水表的流量、流速、水压等数据采集;此外,还可利用蓝牙、红外通信单元作为维护通道,实现手机端、上位机的调试维护,从而降低维护成本。数据监控设备系统框图如图 1 所示。设备外围接口丰富,比如红外通信、蓝牙通信、GPS 定位、有线采集、无线通信等单元,这些功能单元占用了监控设备处理器的串口资源。监控设备在控制外围设备的通信过程中,经常会出现各种问题,维护人员难以通过现象来分析原因,在极端情况下他们往往需要拆卸设备,通过截取其中的串口交互码流数据,来判断问题的根源。例如当无线通信失败时,维护人员看到的现象是水务平台没有接收到设备终端数据。而引起该现象的因素包括:通信模组与主控单元的通信原因、模组供电电压原因、设备无线信号问题、运营商网络服务问题,等等。问题的确定需要拆卸设备,监控无线通信单元与数据监控仪AT 交互信息,例如使用 AT+CSQ 指令查看返回的现代信息科技8月下16期.indd 6现代信息科技8月下16期.indd 62023/8/15 17:37:592023/8/15 17:37:5907072023.082023.08第 16 期信号强度。主控单元无线通信单元GPS定位单元红外通信单元有线采集单元蓝牙通信单元采集数据,阀门控制数据交互设备定位设备维护图 1 数据监控设备系统框图传统的方案中每个通道的监控都需要不同监控工装进行不同操作,极大提高了运维人员操作烦琐程度,且拆卸后的设备破坏了产品的密封性,需要返家重新更换外壳灌胶,既提高了维护成本,又降低了问题解决效率,带来极坏的产品使用体验。这类设备产品通常存在以下特点:1)通信速率低。低功耗设备单片机主频低,支持波特率低,通常在 1 200 9 600 bit/s 之间,这样会影响数据传输效率和实时性。2)串口数量少。举例产品仅有两路串口可用于通信,其中串口 1 用于无线通信单元,串口 2 通过片选芯片用于其他四路通道进行通信,没有监控专用通信口。3)密封要求高。防水要求较高,拆卸影响防水功能,因此如果采用传统的拆卸方案,会影响产品防水性能,进而影响二次使用。4)硬件存储不足。铁电存储区空间有限,无法存储大量日志数据,因此如果采用故障日志先存储方案,不仅存不了太多日志信息,还会影响后期扩展空间。本方案采用分时复用方案,将一个串口资源分配给多个应用程序,将红外或者蓝牙通信通道作为日志监控通道,并按需要选择无线通信、有线采集、GPS 通道进行实时监控。方案过程包括监控日志存储与读取,即当需监控的通道有信息交互时,把交互信息存入实时缓冲区,待红外或者蓝牙通道空闲时,从缓冲区读出日志信息输出到 PC 上位机或手机 APP,通过维护软件进行数据可视化后供维护人员查看。整体方案如图 2 所示。红外、蓝牙通道空闲缓冲区手机APP、PC上位机展示取出产生日志环形缓冲区存入图 2 日志整体方案图2 具体实现方案由于日志系统是非常严谨的事情,因此本方案中采用了大量的安全机制来保证日志方案的可靠性和稳定性。具体实现过程包括日志分组管理、日志收集、日志输出和日志可视化等几个部分,技术人员仅需通过 PC 上位机和手机 APP,便可监控内部通道日志信息。针对本产品的特点,我们设计了几项措施,以确保系统的可靠性和稳定性:1)设计日志分组及开关控制机制,减少日志记录对系统的额外开销。2)采用数据实时输出模式,设计一套日志数据缓存机制,以避免数据丢失。3)设计维护通道相关的机制,以避免维护通道日志与常规功能冲突。4)通过维护 PC 上位机和手机 APP 展示日志。2.1 日志分组管理本方案主要记录内部通道交互信息。由于采用单片机方案的嵌入式设备无法大量输出日志,因此将日志分为不同类型,按需输出指定类型日志以减少系统压力;在应用现场出现的问题,在其他环境中很难复现,通过维护人员的操作,调试日志输出可使设计人员第一时间获取尽可能多的信息,定位问题。当需要在现场定位问题时,可以随时修改日志输出类型,配合现场运行情况,获得更多日志信息1,2。对此设计一种嵌入式日志管理方法,包括:根据通道及功能不同,将日志信息赋予不同类型;接收用户的指令,解析出允许输出哪些类型的日志;确定待处理日志的类型,根据允许输出的日志类型,判断是否输出该日志;日常使用时全部关闭,降低运行功耗。具体类别如表 1 所示。其中编号 1、2、3、4、9、10 属于无线通信通道,编号 5、6 属于有线采集通道,编号 7、8 属于 GPS 定位通道。姚豪立,等:一种数据监控设备的实时通道日志记录方案设计现代信息科技8月下16期.indd 7现代信息科技8月下16期.indd 72023/8/15 17:37:592023/8/15 17:37:590808第 16 期现代信息科技2023.082023.082.2 缓冲区设计本方案仅针对内部通道信息进行监控,由于存储资源受限,因此最理想的方案是监控的日志数据不做物理存储,而是实时输出。由于维护通道与其他通道共用一个串口,当串口正处于其他功能通道通信时,无法及时输出日志,容易丢失数据。采取的方式为首先将日志写入缓存,在空闲时进行发送。由于接口缓存大小本身非常有限,所以此技术也会受到日志大小、日志产生速度的影响,并不能达到实时的日志记录3,4。当前传统的技术方案是通过动态分配内存方式,即接收到一个数据分配一个内存保存数据。这种方式简单但需要较多的系统资源,对轻量级应用不适合5。因日志数据长度不定长,为避免空间浪费,特别引入环形缓冲区机制,可以有效利用缓存,实现较为灵活的记录6。环形缓冲区是嵌入式系统中十分重要的一种数据结构,通常包含一个读指针和一个写指针。读指针指向环形缓冲区中可读的数据,写指针指向环形缓冲区中可写的缓冲区。通过移动读指针和写指针就可以实现缓冲区的数据读取和写入。在通常情况下,环形缓冲区的读用户仅仅会影响读指针,而写用户仅仅会影响写指针。图 3、图 4 和图 5 是一个环形缓冲区的运行示意图。图 3 是环形缓冲区的初始状态,此时读指针和写指针都指向缓冲区的入口地址 1;图 4 是向环形缓冲区中添加了一个数据后的情况,此时写指针已经移动到数据块 2 的位置,而读指针没有移动;图 5 是环形缓冲区进行了读取和添加后的状态,此时环形缓冲区中已经添加了两个数据,已经读取了一个数据。通过固定长度的环形缓存区接收和保存数据,是很好的选择。其中核心是申请一段内存,通过特殊方法让其首尾相连,形成一个闭环的内存地址。这样既可以继续处理源源不断的数据,又不用再去申请新的内存空间暂存新的数据,效率大大提高。但是对于环形缓存区需要注意的问题包括:环形缓冲区写的速度和读速度匹配性问题,即数据还未被读取,便写入数据,就会造成数据还未被读取便被新的数据覆盖,造成数据的丢失。同样原理,读的指针不能超过写的位置,否则就会读到已经被读取过的数据,造成数据的重复。如果存储空间设置得太大,会造成内存的浪费,有些内存一直处于空闲状态,如果设置得太小,可能会造成读的速度快于写的速度,读的过程中会有短暂的等待时间,造成效率不是最高。由于缓存方案的重要性,我们在本方案中采用了大量安全机制,以确保缓存方案的可靠性,避免数据丢失和影响系统正常运行。123645iputiget图 3 环形缓冲区初始状态123645iputiget图 4 环形缓冲区(添加数据)123645igetiput图 5 环形缓冲区(添加和读取)2.2.1 日志缓存协议因为日志信息不定长,为便捷进行读取存储,在保证日志数据完整前提下记录更多信息,设计日志缓存协议,日志根据协议进行缓存协议进行打包存储。协议如表 2 所示。表 2 日常缓存协议格式功能长度/字节解释起始帧2用于判断起始(固定 068 068)数据域长度2日志类型,时间,内容长度 7+x日志类型1日志类型时间戳6日志发生时间日志数据x日志内容校验帧1校验数据合法性结束帧1用于判断结束(固定 016)表 1 日志类别表编号12345678910日志类型 模组发送 模组接收 主平台发送 主平台接收 485 发送485 接收 GPS 发送 GPS 接收 从平台发送 从平台接收现代信息科技8月下16期.indd 8现代信息科技8月下16期.indd 82023/8/15 17:37:592023/8/15 17:37:5909092023.082023.08第 16 期为了确保日志完整性,当剩余空间不足以容纳新日志信息时,存储将被暂停。按照先进先出原则,读取时从头开始,每次只读一个完整日志,以供日志输出使用。2.2.2 日志缓存写入设计一个日志环形缓冲区的存入逻辑,首先根据日志分组控制,判断哪些类型的日志需要监控,然后检查日志缓存区域有效存储空间是否足够,如果未使用空间小于待记录日志数据的长度(包括起始帧 2 字节、长度帧 2 字节、日志类型 1 字节、日志时间戳 6 字节、校验帧 1 字节和结束帧 1 字节),则根据日志缓存协议将日志数据扩充成长度为 L 的完整码流,最后使用环形缓冲区写入接口将打包后的数据存入环形缓冲区,缓冲区有效存储空间长度减少 L。2.2.3 日志缓存读取为了高效安全地从缓冲区中取出日志信息,设计一个日志环形缓冲区的读取逻辑。首先,在满足存入数据长度条件的情况下,遍历缓冲区,寻找起始帧,然后依次取出后续数据内容,如果数据域长度、校验位和结束帧均符合缓存协议,则取出日志信息记录。接着,将得到的信息解包,获取日志数据、日志类型和日志时间戳,以供日志输出模块使用。最后,更新缓存区指针,继续检查下一条日志信息,直到缓存区空间不足,结束读取。2.3 日志输出为了避免影响本地串口的日常工作,设计了一套串口通道共用机制,在不影响功能的前提下,充分考虑功耗。该机制采用了通信互斥锁和空闲输出机制,以减少对功耗的影响,并降低日志任务调用频率,避免无效遍历环形缓冲区(仅在打开日志监控开关后才可遍历)。具体操作流程如下:1)流程开始,每隔 200 ms 处理一次日志输出。2)仅需要监控时(日志监控开关至少打开一个)跳转步骤 3),否则结束。3)满足本地串口为维护通道(红外,蓝牙)且空闲跳转步骤 4),否则结束。4)从缓冲区取出完整日志数据,若无完整日志直接结束。5)解包后提取日志信息解包后提取日志信息,包括类型、发生时间、内容。6)日志相关信息根据维护协议二次组包。7)将二次组包日志信息通过串口维护通道输出给 PC 上位机、手机 APP。3 实验结果分析目前对于嵌入式设备而言,常规的监控方式为通过 232 串口线连接至宿主设备,宿主设备直接输出运行信息,显然嵌入式设备的运行信息的安全性非常低7。为了提高安全性,我们设计了一种日志传输协议,主控设备将日志及相关信息按照一定的协议打包,通过维护通道输出。维护软件采用相同的协议对收到的数据进行解包8,以防止直接监控通道得到一串乱码。为了查看实时日志输出,需要搭配专用的维护 PC 上位机或手机 APP,从而有效地防止信息泄露,大大提高了安全系数。维护软件支持蓝牙和红外连接终端设备,可以实时输出需要监控的日志类型。维护软件的日志界面支持调试日志分组的开启和关闭,以及日志的实时展示和一键导出。日志展示内容包括日志类型、发生时间和日志内容,如图 6、图 7 所示,PC 上位机与手机 APP 操作界面可以清晰地展示出来。图 6 PC 上位机界面 图 7 手机 APP 界面(下转 14 页)姚豪立,等:一种数据监控设备的实时通道日志记录方案设计现代信息科技8月下16期.indd 9现代信息科技8月下16期.indd 92023/8/15 17:37:592023/8/15 17:37:591414第 16 期现代信息科技2023.082023.08更多可选的可叠加服务,促进网络的智能化演进。当然过渡阶段亦可采用 L2EVPN over SRv6+VxLAN隧道的模式(即方案三),从而实现算网一体化。4 结 论与集中化的云基础架构不同,边缘云使得家庭或企业能将计算、存储等负载部署在更接近最终用户的位置,借此为需要低时延的业务提供技术支持,例如根据用户位置提供个性化的客户体验。同时因为内容以及处理数据的位置都更接近最终用户,流量所产生的效率也能进一步提高。因此应用边缘化必将带来两方面的好处:一是业务的就近接入,提升应用低时延体验;二是降低骨干网流量承载,节约运营商整体投资,提升效益。因此边缘云网协同,将南北向流量转为本地化将是大势所趋。通过二层隧道的方式将内网延伸至边缘云,打破传统云网边界,在保障传统宽带业务的前提下,叠加各类边缘算力增值业务,提升运营商的综合服务能力,也提升了用户的感知。但是二层隧道的技术实现方式需要根据运营商现有网络架构及设备能力进行选择,选择最适合现有网络架构的实现方式。参考文献:1 乔建,李忠超,高丽华.面向云网融合的新型城域网架构关键问题研究 J.电信快报,2021(8):22-25.2 雷波,马小婷,李聪,等.云网融合中的网络基础设施演进探讨 J.信息通信技术与政策,2022(11):8-17.3 中国电子技术标准化研究院.边缘云计算技术及标准化白皮书 EB/OL.https:/ 田杨,李圣华,王之伟.面向家庭算力网络的云网关解决方案 J.通信世界,2022(15):42-45.5 宋泽明.云边端协同模式下无线传感网可信接入技术研究 D.北京:北京交通大学,2022.作者简介:赵正波(1985),男,汉族,浙江台州人,高级工程师,本科,研究方向:云网融合、新型城域网;王洁(1980),女,汉族,浙江杭州人,高级工程师,硕士研究生,研究方向:云网融合、新型城域网。4 结 论该方案一经推出,受到运维和开发人员一致好评,本方案极大地提高了维护的便捷性,处理现场问题时不必携带一堆设备安装大量软件,只需使用维护 PC 上位机或手机 APP 即可完成绝大多数维护工作,同时也减少了需要返厂破胶拆壳的情况。方案具有以下优点:1)降低维护难度。运维人员经过简单培训,便可轻松上手,极大降低人工成本。2)提升维护效率,避免返厂处理,现场可快速记录日志,大大降低处理时间。3)简化开发难度,集成化日志记录功能,开发调试时无需大量外接设备。4)提升客户满意度,提升产品口碑。它具有良好的移植性,可以应用于绝大部分嵌入式产品,而且数据安全性较高,可以有效保护用户数据的隐私。该方案可以为开发和维护人员提供便利,已经在批量产品中得到应用,运行稳定,用户反馈良好。参考文献:1 张朋飞,周厚明.一种嵌入式日志管理系统及方法:2020111832990 P.2021-02-02.2 郭荣华,张建,胡成松.一种嵌入式系统及其日志管理方法:201911321118 P.2022-04-12.3 杨波波,李悦坤,陆发忠.一种嵌入式设备日志输出记录方法及系统:2020109824924 P.2020-12-18.4 宋恒利.一种嵌入式设备控制器的实时日志记录方法:201510984551.0 P.2017-07-04.5 裴文祥,张建新,汪先超,等.一种高可靠性异步环形缓存区存储、处理的实现方法:202111135622.1 P.2021-12-31.6 姚章俊,陈蜀宇,卢尧.一种高性能环形缓冲区的研究与实现 J.计算机工程,2012,38(8):228-231.7 汪俊伟.一种嵌入式设备运行信息的输出方法、装置及嵌入式设备:202011002664.3P.2020-12-22.8 李亚洲.基于串口通信的单片机日志系统设计 J.工业控制计算机,2009,22(11):44-45.作者简介:姚豪立(1993),男,汉族,浙江宁波人,嵌入式工程师,本科,研究方向:嵌入式系统设计;汪芳君(1981),女,汉族,浙江宁波人,高级工程师,硕士,研究方向:无线远程通信与控制;李天一(1989),男,汉族,浙江宁波人,助理工程师,本科,研究方向:有线通信技术与设备应用;孙苏钦(1994),男,汉族,浙江宁波人,嵌入式工程师,本科,研究方向:无线远程通信与控制;李章昊(1997),男,汉族,陕西宝鸡人,嵌入式工程师,本科,研究方向:嵌入式系统设计。(上接 09 页)现代信息科技8月下16期.indd 14现代信息科技8月下16期.indd 142023/8/15 17:38:002023/8/15 17:38:00