一种支持可靠性调节的多协议冗余网络异步通信方法技术

技术编号:26425327 阅读:144 留言:0更新日期:2020-11-20 14:22
本发明专利技术涉及一种支持可靠性调节的多协议冗余网络异步通信方法。该通信方法(1)支持两种通信模式:request‑response模式;data‑ack模式,用户可以根据接收端性能的强弱选择不同模式;(2)支持单网/多网通信,支持group级、message级通信可靠性与高效性的配置,用户可以利用这些配置来实现网络连接的鲁棒、消息内容的可靠、消息前后顺序的可靠;(3)支持多种网络通信协议,为用户提供更好的通用性;(4)支持对网络连接状态的管理,为用户保持网络连接的可用性。为了实现上述的功能,本发明专利技术划分了4个模块来作为支撑:(1)TransportBehavior通信行为管理模块;(2)TransportChannel传输通道状态管理模块;(3)TransportConnection连接模块;(4)TransportQueue发送接收队列模块。

【技术实现步骤摘要】
一种支持可靠性调节的多协议冗余网络异步通信方法
本专利技术属于软件领域,涉及一种基于异步通信的网络传输方法,支持调节可靠性、支持多协议、支持冗余多网。
技术介绍
随着嵌入式技术及物联网技术的蓬勃发展,万物联网成为了趋势。小到我们日常生活中的智能家电,大到工业生产,甚至是军事领域,处处能够看到物联网的影子。在工业生产领域,例如工厂中的自动化无人车间,通常一个数控服务器或者计算机需要连接许多的外部设备,例如传感器、物理机械设备等,来完成信息的获取或者设备的控制。一方面,这些设备可能因为生产厂家不同、设备批次不同等情况,存在着使用不同的通信协议的问题。另一方面,因为嵌入式设备的数据处理能力与数控计算机的数据处理能力有着明显的差异,所以需要一种通信手段来协调二者的性能差距,让它们以兼容的方式工作,防止因为数据处理能力不足,导致网络拥塞等问题。在军事设备领域,例如第四代隐身战斗机,它通过数据链,能够为其他的第三代战斗机、轰炸机提供敌我位置信息、联动作战指令等战场信息。如果想要让不同的飞机之间建立通信,且能够在电磁干扰的情况下,保证“敌我位本文档来自技高网...

【技术保护点】
1.一种支持可靠性调节的多协议冗余网络异步通信方法,其特征在于包括下面4个模块:(1)TransportBehavior通信行为管理模块;(2)TransportChannel传输通道状态管理模块;(3)TransportConnection连接模块;(4)TransportQueue发送接收队列模块;/n其中:/n(1)TransportBehavior通信行为管理模块,用于对消息进行收发管理;/n该模块是整个异步通信方法的核心调度模块,其他模块均直接或者间接被它调用;/n该模块管理了所有的网络连接,并利用这些网络连接,完成消息的发送或是消息的接收的工作,这些网络连接由TransportCh...

【技术特征摘要】
1.一种支持可靠性调节的多协议冗余网络异步通信方法,其特征在于包括下面4个模块:(1)TransportBehavior通信行为管理模块;(2)TransportChannel传输通道状态管理模块;(3)TransportConnection连接模块;(4)TransportQueue发送接收队列模块;
其中:
(1)TransportBehavior通信行为管理模块,用于对消息进行收发管理;
该模块是整个异步通信方法的核心调度模块,其他模块均直接或者间接被它调用;
该模块管理了所有的网络连接,并利用这些网络连接,完成消息的发送或是消息的接收的工作,这些网络连接由TransportChannel进行维护;
该模块支持request-response通信模式和data-ack通信模式,可以被设置为发送端或者接收端;该模块所管理的每个网络连接,都以TransportBehavior所设置的request-response模式和data-ack模式进行消息收发;
(2)TransportChannel传输通道状态管理模块,用于负责管理网络连接,维护连接状态,所谓维护就是在网络连接发生断开时,重建网络连接,保持网络连接一直处于可用状态,同时避免并发调用异步发送或者异步接收产生错误;
TransportChannel利用状态机模式记录发送与接收的状态,对于发送方向,有unavailable、sending和idle三个状态;对于接收方向,有unavailable、receiving和idle三个状态;
TransportChannel管理及维护网络连接的过程如下:
建立TransportChannel时,它的发送方向与接收方向均处于unavailable状态,此时,TransportChannel开始异步建立网络连接,如果在此状态下有任何的发送或者接收操作,都是无效的,TransportChannel不会执行任何操作;
网络连接建立成功时,TransportChannel一方面通知TransportBehavior发送和接收可用,一方面将发送和接收方向转变到idle状态;TransportBehavior获知可用之后,会启动异步读操作,同时尝试进行消息发送。如果此时没有任何可以发送的内容,则会记录此时TransportChannel处于可用状态;在idle状态下TransportBehavior调用TransportChannel的发送和接收操作时,TransportChannel才会执行;
在执行异步发送、接收时,TransportChannel将发送方向的状态由idle变为sending、将接收方向的状态由idle变为receiving;当发送方向处于sending、接收方向处于receiving时,将不再响应发送、接收操作,直到发送、接收操作完成,发送方向状态由sending变为idle、接收方向状态由receiving变为idle时,才能继续响应新的发送、接收操作;
当连接发生中断时,发送或者接收方向处于什么状态,都将回归至unavailable状态,TransportChannel重新异步建立网络连接,并重复上述的过程,所述中断指异步发送、异步接收失败,或者长时间没有收到任何消息内容;
(3)TransportConnection连接模块,是对各种通信协议的连接的封装与实现,提供异步功能,TransportConnection模块通过统一的功能接口以及通信库,屏蔽了不同通信协议在连接建立、消息收发时的差异,为支持多种的通信协议提供了基础;
创建过程为:所述的TransportBehavior模块根据配置情况构造出若干个网络连接,即通过若干TransportChannel模块构建若干TransportConnection模块,其中,所述的每个网络连接的远端通信对象可以相同也可以不同;网络连接的类型可以相同也可以不同;
为了将这些网络连接统一管理起来,同时又能区分出不同的网络连接,每个网络连接对应唯一一个channelid,在构建好网络连接时,会为每个网络连接分配一个channelid;当需要通过某个网络发送消息内容时,通过channelid与网络连接的映射表,即可找到该网络连接;当通过某个网络连接收到消息时,也能通过channelid区分出是哪个网络连接发来的消息,channelid由TransportBehavior模块创建并交给TransportChannel管理;
(4)TransportQueue发送接收队列模块,即消息内容的缓存模块,用于负责缓存要发出的消息以及从远端收到的消息;
一个TransportBehavior有一个与之唯一对应的TransportQueue,TransportQueue用于为TransportBehavior重发消息、TransportBehavior可靠性检查提供数据支持;
TransportBehavior包含三个子模块:SendMessageQueue、ReceiveMessageQueue及SendCacheList,其中,SendMessageQueue存储着已经发送出去但是还没有被接收端确认收到的消息序号以及消息内容;ReceiveMessageQueue存储着从网络连接接收到的消息序号以及消息内容;SendCacheList存储着准备交给网络连接发送出去的消息包。


2.根据权利要求书1所述的一种支持可靠性调节的多协议冗余网络异步通信方法,其特征在于:所述的TransportBehavior通信行为管理模块支持两种网络组合方式,即single-channel单网通信和multi-channel多网通信,具体的:
TransportBehavior模块中设计了group通信组的概念,
仅包含一个网络连接的group即为single-channel单网通信,single-channel单网通信用于节约通讯资源;
包含多个网络连接的group即为multi-channel多网通信,multi-channel多网通信用于提高网络传输效率,或者提高消息传输准确性,其中一个group内所有的连接都通往同一个远端的通信对象;
TransportBehavior每次发送消息或者接收消息都是以group为单位:发送过程,同一group内所有的网络连接都收到了消息接收成功的应答,该消息才被视为接收成功;接收过程中,接收端如果设置了对消息内容正确性的保证,同一group内的所有网络连接收到的消息内容都一致时,该消息才被视为正确的;
每个网络连接可以根据配置,自由加入任何一个group,这就为单网通信和多网通信提供了极好的灵活性;在网络状况良好的情况下,可以采用任意通信协议的单网通信;在网络状况较差的情况下,可以配置多网通信,保证连接的...

【专利技术属性】
技术研发人员:胡琪王晓懿张宏北尹兆杰马震张悦
申请(专利权)人:北京工业大学
类型:发明
国别省市:北京;11

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

1