[发明专利]一种基于半双工通信设备的多用户并发通信的方法和装置在审
申请号: | 201410182537.4 | 申请日: | 2014-05-04 |
公开(公告)号: | CN105099645A | 公开(公告)日: | 2015-11-25 |
发明(设计)人: | 冯力;杨国文 | 申请(专利权)人: | 北京卓越信通电子股份有限公司 |
主分类号: | H04L5/16 | 分类号: | H04L5/16 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100094 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 双工 通信 设备 多用户 并发 方法 装置 | ||
技术领域
本发明涉及办公自动化领域的计算机应用技术、尤其涉及一种基于半双工通信设备的多用户并发通信的方法。
背景技术
半双工通信常用于工业总线,这种系统通常具有单一用户,通信速率较低,数据吞吐低的特点,在现在的系统中,由于需求的日益复杂,导致通信的复杂度和吞吐量上升,但通信系统采用的硬件仍然采用原有半双工的通信方式,在本公司研制的机架式收发器的控制系统就采用了这种RS485的半双工通信方式,由于该系统通信控制功能较为复杂,功能模块间进行半双工通信交互较为频繁,并且硬件通信基于半双工的特性,同一时间只可处理一个半双工请求,在多子卡多应用高频率的半双工设备总线访问的使用情况下,会导致半双工设备请求的总线控制紊乱,或者数据延迟,导致收发器子卡板与软件数据不匹配的结果。
发明内容
根据现有技术中存在的缺陷,现提供一种基于半双工通信设备的多用户并发通信的方法和系统,以实现多用户对半双工设备的访问,提高半双工设备的使用率。
本发明实施例提供的多用户访问半双工设备的通信方法,包括以下步骤:
一种消息服务器。适用于系统中多应用进程和多用户并发访问半双工设备,该服务器,是半双工总线的服务提供者,它包括消息收集模块、消息管理模块、半双工设备访问控制模块、消息转发模块、半双工设备通信模块、消息回复模块;
所述消息收集模块,通过进程间通信手段接收客户访问半双工设备的请求数据,用于收集客户的请求数据;
所述消息管理模块,用于在消息收集模块成功接收到客户访问半双工设备请求消息后,根据客户的请求数据等级不同,对等待进入半双工设备通信模块的消息数据,进行排序。当通过消息收集模块接收到请求消息后,该模块负责把请求消息按照消息级别移交到消息链表中;
所述半双工设备访问控制模块,用于从消息链表中选取最高等级的消息,等待发送至半双工设备,并对消息链表中消息个数进行调整;
所述半双工设备通信模块,将消息访问模块取出的最高级别消息数据的第一个请求数据,发送至半双工设备端,并等待接收半双工设备回复的响应数据,其中包括错误处理机制、超时机制;
所述消息回复模块,用于将半双工设备返回的响应数据,返回至该数据的实际发生客户端,当半双工设备在超时时长内未返回有效数据,将以一条超时信息告知该客户。
一种消息客户端。该消息客户端是半双工总线数据请求者,它集成于多用户的各种应用程序中,所述消息客户端至少一个包括消息编码模块、消息发送模块、消息接收模块,消息解码模块。
所述消息编码模块,在客户需要发起半双工设备通信之前,用于将通信的请求数据,采用半双工设备通信协议进行数据编码处理,编码中包含消息类型,数据类型,数据长度,消息长度、消息地址、消息类型、优先级、校验数据,请求者唯一标识,只有经过正确编码处理的数据才可以进入消息发送模块;
所述消息发送模块,用于客户端模块将成功编码后的有效半双工设备访问数据,发送至消息服务器端;
所述消息接收模块,用于客户进程在成功发送完请求数据后,进入该模块等待接收服务器端回复的响应数据,当消息服务器端处理完该客户的请求数据并发送响应数据后,该模块为客户进程接收响应数据消息,用户根据返回数据类型自行处理得到的数据,当成功接收正确数据后,需经过解码获取最终实际数据;
所述消息解码模块,用于为客户进程获取的接收数据进行解析,当客户进程从消息服务端成功获取到正确数据后,通过本模块解析后得到最终实际数据。
本发明的有益效果是,提高访问半双工设备的响应速度,而且保证了在高并发多应用发起半双工设备请求时的消息可靠性,有效解决了多用户并发访问半双工设备造成的丢包现象,使一个蜂拥而上的半双工设备资源抢占访问方式,变得有序。
附图说明
图1为本发明半双工设备并发服务系统完整流程示意图。
图2为本发明对于高优先级用户请求的示意图。
图3为本发明所描述的消息编码格式图。
具体实施方式
下面结合附图对本发明一实例作进一步的详细描述:
参照附图1,该图是本发明一实例的通信流程图。通信双方采用服务器、客户端形式;
步骤1消息服务器以单实例守护进程的方式启动,作为后台的服务程序;
步骤2初始化用以实现进程通信的消息队列,创建消息链表用于管理请求消息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京卓越信通电子股份有限公司,未经北京卓越信通电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410182537.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:数据加密、解密方法和装置
- 下一篇:一种全双工无线通信的方法、天线装置及系统