基于socket报文数据解析.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于socket报文数据解析

基于socket报文数据解析   摘 要:目前国内外大多数实时监测系统都采用socket方式来进行网络通信。结合高速铁路道岔监测系统中的实时数据解析实例,在明确了解各种环境监测项的基础之上,制定socket报文协议,在QT(Q toolkit)开发环境下,利用工厂模式来实现socket报文的解析。结论:此模式适合于高速铁路岔道系统中监测项已经明确的解析环境。 关键词:工厂模式;socket报文;QT解析 中国分类号:TP39 文献标识码 :A 文章编2013 0 引 言 采用计算机网络进行远程数据通讯,具有通讯可靠和速度快的优点。TCP/IP网络协议是目前广泛采用的一组完整的网络协议。socket提供基于TCP/IP网络的应用编程接口,采用客户机和服务器通信机制,通过socket可以实现网络之间的连接与数据解析和交换。 高速铁路对实时安全性要求比较严格,所以在设计高速铁路道岔监测系统时,数据能否实时传输与正确解析就显得极其重要。针对这种情况,提出利用socket报文来实现数据传输与正确解析。同时,根据高速铁路道岔系统中监测项较多,且监测种类已经明确的情况,提出利用工厂模式来实现数据解析。即:在工厂模式下,建立工厂类。其优点是明确了各自的职责和权利,有利于整个软件体系结构的优化[13]。 本文提出利用工厂模式来实现基于socket报文的数据解析与处理,从而更好地满足高速铁路道岔监测系统对于数据实时正确解析的要求。 1 socket报文 1.1 socket报文的数据格式 根据实际情况定义socket报文的数据格式如表1所示。 1.2 socket报文不同字段含义简介 1)长度L。长度L为用户数据长度,由2字节组成,是控制域、地址域、应用功能码、业务数据的字节总数,为short int类型。 表1 socket报文的定义 长度(字节) socket数据定义 1 起始字符(68H) 2 长度L 1 起始字符(68H) 2 控制域C 8 地址域A 2 应用功能码AFN 由业务类型确定 业务数据 暂定为0 消息认证码PW 1 结束字符(16H) 2)控制域C。控制域C表示报文传输方向和所提供的传输服务类型的信息,由2个字节组成。 3)地址域。地址域由8个字节组成,是设备的唯一标示。 4)应用功能码。应用功能码AFN由2个字节组成,为short int类型。 5)业务数据。业务数据是由数据单元构成的集合,业务数据可能包含N组数据单元。数据单元由数据单元标识和数据体构成。 6)消息认证码。消息认证码字段PW用于重要下行报文中,长度由认证算法决定,暂时为空。PW是由主站按系统约定的认证算法产生,并在主站发送的报文中下发给终端,由终端进行校验认证,通过则响应主站命令,反之则否认,并且终端在收到带有PW的报文,必须在认证通过后,才能响应命令[4]。2 基于socket报文格式的数据解析 2.1 工厂设计模式 工厂设计模式的思想是把创建对象的责任和使用对象的责任分开,工厂负责统一创建具体产品,然后再把这些产品转化为他们的抽象产品,返回给外部使用者,作为使用者关心的仅仅是抽象产品预留的接口,而不关心他们是怎么创建的。这样核心工厂类不再负责所有产品的创建,而是将具体创建的工作交给子类去做,成为一个抽象工厂角色,仅负责给出具体工厂类必须实现的接口,而不接触哪一个产品类应当被实例化这种细节[56]。 2.2 利用QT实现数据解析 2.2.1 根据AFN功能码创建多态类 高速铁路道岔实时环境监测系统主要接收并展示传感器传输的4个监测内容数据:设备维护状态数据、心跳信号数据、温湿度数据以及温湿度处理状态数据。为了区分这4种数据,我们引入AFN功能码概念,利用AFN功能码来区分是维护标示数据,还是心跳信号数据,还是温湿度数据,还是温湿度采集器状态数据,从而建立了一个抽象类(data process),以及4个子类心跳信号处理类(heart beat process)、维护状态处理类(manage status process)、温湿度数据处理类(weather data process)和温湿度状态处理类(weather status process)。整体类图如1所示。 3)socket报文解析截图分析。 解析结果如图3所示:道岔平台ID为101;车站ID为10001;道岔编号为10001;监测项目ID为5,代表温湿度数据监测;道岔周边温度为31.9 ℃,温度告警显示正常;湿度为49%rh,湿度告警显示正常。该数据

文档评论(0)

linsspace + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档