利用CAN总线实现分布式系统多台设备间实时通信的方法技术方案

技术编号:8565111 阅读:233 留言:0更新日期:2013-04-11 07:24
本发明专利技术公开了一种利用CAN总线实现分布式系统多台设备间实时通信的方法。该方法是在各服务器之间既采用TCP通信方式,又同时各个设备之间架设CAN总线作为辅助通信手段。当后台负载过大无法及时处理时,通过CAN总线辅助通信通道告知各前端服务器控制发送流量,并把待上报给后台服务器的数据暂存在本地。当后台服务器或者前端服务器进入睡眠状态,即不监听socket时,通过CAN总线辅助通信通道唤醒服务器监听socket,以准备数据传输。当有紧急事件需要在服务器之间进行通报时,如发现某台服务器发生异常需要屏蔽,通过CAN总线辅助通信通道进行广播通报。通过该方法能够对数据发生拥塞、通信不畅时的紧急事务及时通报并优先处理,提高了通信的实时性和广播性。

【技术实现步骤摘要】

本专利技术涉及电子通信
,尤其涉及一种利用CAN总线实现分布式系统多台设备间实时通信的方法
技术介绍
分布式系统之间进行通信,目前普遍采用的通用方法是TCP通信。即通过SOCKET(套接字)在两台计算机之间建立TCP连接来传递消息以及数据,从而进行分布式系统之间的同步工作。对于多台计算机之间的同步,一般采用逐个建立TCP连接后进行逐个通信。这种方式可以保证通信的稳定性,实现信息的正确传递。但是,这种通信方式也存在以下一些问题I)对于实时性要求极高的系统,由于建立TCP连接需要进行三次握手等操作,因此无法满足实时性要求;2)当SOCKET发生拥塞时,紧急的信息无法优先通过;3)系统有需要在休眠时屏蔽SOCKET,仅在需要时才监听SOCKET,以此作为维护系统安全的一种手段。此时,缺乏有效的手段唤醒系统;4)无法同时给多台设备一次性发送消息,而是需要逐个设备进行。目前使用UDP进行辅助通信,以满足通信的实时性和广播性。UDP是一个无连接协议,传输数据之前源端和终端不建立连接,当UDP它想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上。在发送端,UDP传送数据的速度仅仅是受应用程序生成数据的速度、计算机的能力和传输带宽的限制。这就决定了 UDP通信有较强的实时性。 同时UDP具有广播性,即通信方式是一对多的形式。由于传输数据不建立连接,因此也就不需要维护连接状态,包括收发状态等,一台服务机可同时向多个客户机传输相同的消息,避免了 TCP在通信时,只能使用点对点的通信方式。针对UDP的通信方式,主要有以下两个不足之处无法在数据发生拥塞的情况下(优先)通过。在TCP传送数据量过大导致网络拥塞的情况下,无论使用TCP还是UDP的数据传输方式,都会无法及时发送数据、收取数据。同时由于UDP是没有超时重发等机制,因此一旦异常导致接收方没有接收到发送的消息,发送方也是不知道的,就会导致消息丢失,从而影响系统的正常运作。当系统在特定情况下,需要让系统在休眠情况下屏蔽socket,仅在需要时才监听socket。此时,由于UDP也是基于socket进行通信,因此UDP也无法实现唤醒功能。
技术实现思路
本专利技术的目的是为了克服现有技术的缺陷,提供一种利用CAN总线实现分布式系统多台设备间实时通信的方法,该方法是在各服务器之间既采用TCP通信方式,又同时在各个设备之间架设CAN总线作为辅助通信手段;当后台服务器负载过大无法及时处理时,通过CAN总线辅助通信通道告知各前端服务器控制发送流量,并把待上报给后台服务器的数据暂存在本地;当后台服务器或者前端服务器进入睡眠状态,即不监听socket时,通过CAN总线辅助通信通道唤醒服务器监听socket,以准备数据传输;当有紧急事件需要在服务器之间进行通报时,或发现某台服务器发生异常需要屏蔽时,通过CAN总线辅助通信通道进行广播通报。本专利技术技术方案带来的有益效果首先针对TCP通信中实时性弱的缺点,使用CAN总线作为辅助的通信手段后,这个问题可以有效得到解决。对于需要实时处理的请求依赖,通过CAN总线可以即时发送,接收方通过独立的进程/线程可以优先处理并响应。同样,这也解决了当数据发生拥塞、通信不畅时紧急事务无法及时通报的问题。紧急事务的通报可以通过专用通道CAN总线向各台设备发送消息,接收方通过独立的进程/线程可以优先处理并响应。当存在休眠的设备时,即使因安全需要屏蔽了对外的socket监听,但可以继续开启对内的CAN总线的监听。因为只有连接到CAN总线的内部设备才能使用CAN总线进行通信,因此不用担心设备被外侦知。当需要唤醒处于休眠状态的设备时,可以通过CAN总线,唤醒其启动socket监听。最后,CAN总线具有广播通信的特点,可以点对点,一对多及广播集中方式传送和接受数据。CAN总线采用了多主竞争式总线结构,具有多主站运行和分散仲裁的串行总线以及广播通信的特点。这使得CAN总线上任意节 点可在任意时刻主动地向网络上其它节点发送信息而不分主次,因此可在各节点之间实现自由通信。这样弥补了 TCP无法同时给多台设备一次性发送消息,而是需要逐个设备进行的缺点。除此之外,使用CAN作为辅助通信,可以尽可能保证数据传送的可靠性。因为在每个CAN节点中,均没有错误检测,标定和自检的强有力措施。为检测错误,采取的措施包括监视(发送器对发送位电平与总线上监视到的位电平进行比较)、循环冗余检验、位填充和报文格式检查等。因此,可以保证传送数据的准确性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1是本专利技术方法的网络架构图。具体实施例方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。对于各台服务器之间的一般性通信,尤其是大数据量的通信,仍采用TCP进行传送。同时,在各台服务器之间架设CAN总线作为辅助通信手段。网络架构图如图1所示。I) TCP传输通道使用TCP传输通道传送大规模数据。如,各前端服务器将数据往后台服务器进行汇聚。2) CAN总线辅助通信通道a)当后台负载过大无法及时处理时,通过CAN总线辅助通信通道告知各前端服务器控制发送流量,并把待上报给后台服务器的数据暂存在本地。b)当后台服务器或者前端服务器进入睡眠状态,即不监听socket时,通过CAN总线辅助通信通道唤醒服务器监听socket,以准备数据传输。c)当有紧急事件需要在服务器之间进行通报时,如发现某台服务器发生异常需要屏蔽,通过CAN总线辅助通信通道进行广播通报。3)以下以BDDC协议举例说明CAN总线辅助通信通道的应用。a) BDDC :指蓝盾数据采集系统中CAN总线辅助通信通道的通信协议。b)CAN总线辅助通信通道用于系统后台服务器与多台前端服务器辅助通信之用。c)前端服务器负责从指定的地方(如互联网、特定设备等)抓取指定的数据,而后将抓取到的数据汇聚给后台服务器,由其负责对数据进行进一步的处理。`d)报文规格。BDDC协议为CAN总线通信的载荷,协议包包含两部分,头部及BDDC协议的载荷部分。下面给出BDDC协议包的封装格式 载荷校验和I类型I流程ID~I发起方物理地址I接收方物理地址I载荷长度I载荷各字段的含义如下>载荷校验和I字节,载荷部分的校验和。> 类型I字节,报文类型标志。包括流量控制请求报文、设备唤醒报文、异常通报报文、设备状态轮询报文、设备状态回复报文和应答结束报文等。其中 流量控制请求报文 0x01 设备唤醒报文0x02 异常通报报文0x04 保留通信报文0x08 设备状态轮询报文 0x10 设备状态回复报文 0x20 应答结束报文0x40 保留通信报文0x80>流程 IDI字节,用于标记一次通信流程。一次通信流程使用一个流程ID。回复本文档来自技高网
...

【技术保护点】
利用CAN总线实现分布式系统多台设备间实时通信的方法,其特征在于,该方法是在各服务器之间既采用TCP通信方式,又同时在各个设备之间架设CAN总线作为辅助通信手段;当后台服务器负载过大无法及时处理时,通过CAN总线辅助通信通道告知各前端服务器控制发送流量,并把待上报给后台服务器的数据暂存在本地;当后台服务器或者前端服务器进入睡眠状态,即不监听socket时,通过CAN总线辅助通信通道唤醒服务器监听socket,以准备数据传输;当有紧急事件需要在服务器之间进行通报时,或发现某台服务器发生异常需要屏蔽时,通过CAN总线辅助通信通道进行广播通报。

【技术特征摘要】
1.利用CAN总线实现分布式系统多台设备间实时通信的方法,其特征在于,该方法是在各服务器之间既采用TCP通信方式,又同时在各个设备之间架设CAN总线作为辅助通信手段;当后台服务器负载过大无法及时处理时,通过CAN总线辅助通信通道告知各前端服务器控制发送流量,并把待上报给后台服务器的数据暂存在本地;当后台服务器或者前端服务器进入睡眠状态,即不监听socket时,通过CAN总线辅助通信通道唤醒服务器监听 socket,以准备数据传输;当有紧急事件需要在服务器之间进行通报时,或发现某台服务器发生异常需要屏蔽时,通过CAN总线辅助通信通道进行广播通报。2.根据权利要求1所述的方法,其特征在于,前端服务器负责从指定的地方,例如互联网、特定设备处抓取指定的数据,而后将抓取到的数据汇聚给后台服务器,由其负责对数据进行进一步的处理。3.根据权利要求1所述的方法,其特征在于,CAN总线辅助通信通道的通信协议采用 BDDC协议。4.根据权利...

【专利技术属性】
技术研发人员:柯宗贵柯宗庆杨育斌刘强
申请(专利权)人:蓝盾信息安全技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1