CN111585858B - 一种多输入多输出矩阵软总线通信方法和系统 - Google Patents

一种多输入多输出矩阵软总线通信方法和系统 Download PDF

Info

Publication number
CN111585858B
CN111585858B CN202010349788.2A CN202010349788A CN111585858B CN 111585858 B CN111585858 B CN 111585858B CN 202010349788 A CN202010349788 A CN 202010349788A CN 111585858 B CN111585858 B CN 111585858B
Authority
CN
China
Prior art keywords
node
client
routing server
information
client node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010349788.2A
Other languages
English (en)
Other versions
CN111585858A (zh
Inventor
陈明恩
季玮
施广德
李德军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guodian Nanjing Automation Co Ltd
Original Assignee
Guodian Nanjing Automation Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guodian Nanjing Automation Co Ltd filed Critical Guodian Nanjing Automation Co Ltd
Priority to CN202010349788.2A priority Critical patent/CN111585858B/zh
Publication of CN111585858A publication Critical patent/CN111585858A/zh
Application granted granted Critical
Publication of CN111585858B publication Critical patent/CN111585858B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40169Flexible bus arrangements
    • H04L12/40176Flexible bus arrangements involving redundancy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/02Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas
    • H04B7/04Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas
    • H04B7/0413MIMO systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40169Flexible bus arrangements
    • H04L12/40176Flexible bus arrangements involving redundancy
    • H04L12/40182Flexible bus arrangements involving redundancy by using a plurality of communication lines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/30Routing of multiclass traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开一种适用于分布式系统的多输入多输出矩阵软总线通信系统和方法,系统包括路由服务器以及多个客户端节点;各客户端节点和路由服务器分别配置主备双网卡,各客户端节点分别与路由服务器之间建立以热主备模式运行的主备通信链路;各客户端节点tcpsocket双链路以热主备模式运行,路由服务器以冷主备模式进行双ip地址的server侦听;各客户端节点与路由服务器之间通过主通信链路或备通信链路进行有效数据的单份传输;客户端节点在数据收发前,根据全局配置文件进行节点通信配置,并向路由服务器请求身份注册;路由服务器根据全局配置文件在已注册的客户端节点之间进行数据转发。本发明可实现链路冗余安全可靠,降低误码率,提高传输效率。

Description

一种多输入多输出矩阵软总线通信方法和系统
技术领域
本发明涉及网络通信技术领域,特别是一种适用于分布式系统的多输入多输出矩阵软总线通信方法和系统。
背景技术
在自动化等行业与产业中,存在着各种各样的硬件设备和硬件总线,达到多个硬件终端设备互联互通。相似的,软总线是一种利用网络通信和面向对象的方法进行数据共享的通信系统。异构操作系统、多节点设备或系统、分布式数据采集与监视控制(SCADA)、能量管理系统(EMS)等数据交换通信场合,都需要以TCP通信链路为基础,设计软件总线来实现互联互通。硬件总线和软件总线,是分布式硬件系统或者软件系统数据交互的基础。它们在相关分布式系统通信都非常广阔的应用基础。特别是多输入多输出系统通信方式,更是无法缺少。
现有的多节点通信应用场景部分采用通信管理机替代,对软总线的专业化设计和开发不多。即使是个别采用软总线的高严肃高可靠性高安全性场合,所设计的软总线也很少是完全双网双通道设计,设计逻辑比较简单,仅支持私有小范围使用,不够专业化。
名词解释
圆形缓冲区(circular buffer),也称作圆形队列(circular queue),循环缓冲区(cyclic buffer),环形缓冲区(ring buffer),是一种用于表示一个固定尺寸、头尾相连的缓冲区的数据结构,适用于缓存数据流。
Qt,是一个跨平台的C++图形用户界面库,由挪威TrollTech公司于1995年底出品。
发明内容
本发明的目的是提出一种适用于分布式系统的多输入多输出矩阵软总线通信方法和系统,可实现链路冗余安全可靠,降低数据传输误码率,提高数据传输效率。
本发明采取的技术方案如下。
一方面,本发明提供一种多输入多输出矩阵软总线通信系统,
包括路由服务器,以及分别通过软总线通信连接路由服务器的多个客户端节点;
各客户端节点和路由服务器分别配置主备双网卡,各客户端节点分别与路由服务器之间建立一主通信链路和一备通信链路,所述主通信链路与备通信链路以热主备模式运行;各客户端节点以TcpClient模式工作,tcpsocket双链路以热主备模式运行,路由服务器以TcpSever模式工作,采用双ip地址进行server侦听,并以冷主备模式;各客户端节点与路由服务器之间通过主通信链路或备通信链路进行有效数据的单份传输;
各客户端节点以及路由服务器分别设有用于缓存有效数据的缓冲区;客户端节点在数据发送或接收前,根据预设的全局配置文件进行节点通信配置,进而向路由服务器请求身份注册;
路由服务器根据所述全局配置文件以及客户端节点的身份注册结果,在已注册的客户端节点之间进行数据转发。
可选的,本发明所述全局配置文件信息存储于路由服务器中,客户端节点获取全局配置文件信息包括:
响应于用户发出的读取指令,从路由服务器读取当前全局配置文件信息;
或响应于当前客户端运行,从路由服务器读取当前全局配置文件信息。
全局配置文件的下载可通过建立普通TCP通信链路实现,为现有技术。
可选的,所述全局配置文件中的配置信息包括文件版本号,客户端节点根据全局配置文件信息进行节点通信配置包括:
将获取的文件版本号与本地当前全局配置文件版本信息进行比对;
响应于比对结果为版本不同,则从路由服务器下载全局配置文件;
根据本地最新版本的全局配置文件进行通信配置,包括:从本地主备网卡中读取本地客户端实际主备IP地址,然后根据本地客户端主备IP地址查找匹配全局配置文件中相应客户端节点,进而根据全局配置文件中相应客户端节点的节点配置信息,对本地客户端的客户端节点编号、主备通信端口号以及目标客户端节点列表编号进行配置。
以上所述为本机实际ip自动匹配全局配置IP地址方式,也可采用非自动匹配IP方式,即通过客户端接口函数由用户根据需要指定客户端节点编号NodeID、路由节点列表等配置信息,这种情况下则无需再根据全局配置文件自动匹配IP地址。
可选的,所述全局配置文件信息还包括动态节点使能配置信息,所述动态节点使能配置为允许动态添加客户端节点,客户端节点设有供用户输入节点配置信息的接口;
路由服务器根据全局配置文件建立全局静态路由表,并响应于客户端节点的身份注册请求,获取相应客户端节点的节点配置信息以得到节点的动态路由信息,然后根据全局静态路由表、客户端节点的身份注册结果以及节点动态路由信息,建立用于引导数据转发的路由表,所述路由表包括静态路由表和动态路由表。也即本发明能够实现静态路由和动态路由的结合,实现1对1,1对多,多对多的总线和邮箱机制。
可选的,对于全局配置文件中已配置节点编号的客户端,路由服务器通过全局配置文件匹配节点映射表后启用相应客户端节点在册,使得相应客户端能够通过通信链路向路由服务器订阅数据。对某客户端启用在册后,该客户端与路由服务器之间的主备链路即实时在线,客户端节点注册成功后即可与路由服务器之间收发数据,这样就防止了内部数据外泄和外部数据冲击。
上述对于已知节点的身份注册实现了一种静态注册模式,可配合前述客户端IP地址自动匹配方式,适用于较为重要与严谨的场合。
可选的,对于全局配置文件中未配置节点编号的客户端,路由服务器接收客户端节点的身份注册请求并从中获取节点通信配置信息,然后根据获取到的节点通信配置信息更新全局客户端节点编号,以及节点映射表,向客户端节点返回包括相应全局节点编号的注册结果信息:
若获取到的节点编号为预设初始值,则路由服务器基于当前节点映射表生成待身份注册客户端节点的全局新节点编号,返回于注册结果信息中;
若获取到的节点编号非预设初始值,则路由服务器将获取到的节点编号作为相应客户端节点的节点编号,返回于注册结果信息中,并更新至节点映射表。节点映射表的更新即,将新增客户端节点的相关信息添加至节点映射表。
以上所述全局配置文件中未配置节点编号的客户端节点编号的预设初始值,可通过通信协议约定为0或其他值,若为其他值则默认相应节点编号为用户通过客户端接口指定的节点编号,无需重新生成。为进一步保障信息安全性和用户使用灵活性,动态节点信息不予保存到全局配置文件中。
上述对于未知节点的身份注册实现了一种动态注册模式,动态注册的前提可以是路由服务器端设置配置文件允许动态添加节点,也即可配合前述客户端非自动匹配IP地址方式,在QQ、微信等动态注册场景中,采用该方式来增加用户端客户,是具有实际意义的。
对于强调灵活性的场景,则可采用同时支持节点静态和动态注册的模式。
可选的,所述多个客户端节点与路由服务器为部署于同一计算机系统中的软件功能单元;客户端节点向路由服务器的身份注册采用节点编号注册方式;
或者,所述多个客户端节点与路由服务器分别部署于通过网络连接通信的不同计算机系统中,客户端节点向路由服务器的身份注册采用IP地址及端口号注册或节点编号注册方式。
以上也即,本发明不仅能够适用于常规的SCADA等分层分布式系统,对于多个客户端节点与路由服务器为部署于同一计算机系统中的情形同样适用。这种情形下,各客户端节点呈现为实现特定功能的软件单元,通过与路由服务器单元的软总线式通信交互获取计算机中的数据资源,客户端节点向路由服务器的身份注册采用节点编号NodeID注册方式。
常规分层分布式系统环境下,客户端注册Matrix服务器映射关系则同时支持IP地址及端口号,或节点NodeID的2种方式注册鉴权和Hash映射定位,实际效果相同并无根本差异。可设置全局配置文件支持该选项的配置,但选择NodeID方式,自我测试和调试简单,不受物理电脑组网和IP配置约束,验证方便高效。
可选的,客户端节点采用Qt语言实现多线程工作模式,路由服务器采用Qt语言中的QTcpSocket消息机制,实现单一主线程工作模式;
各客户端节点分别设有相互独立的发送数据区和接收数据圆形缓冲区,路由服务器面向各已注册客户端节点分别设有收发数据圆形缓冲区;
路由服务器响应于接收到有效数据后,根据节点映射表实时路由透明转发相应数据,且路由服务器以设定的时间间隔检测圆形缓冲区内剩余数据以及各客户端节点的相关状态,包括客户端节点的在线状态、最近报文时间戳等。
客户端节点的发送数据区直接负责存储调用者的组帧后的数据报文,接收数据圆形缓冲区负责存储校验后的完整数据,并提供去除报文头和报文尾拆帧后的裸数据接口给使用者。接收圆形数据缓冲区,由于涉及消费者和生产者,因此可设计多线程的读取指针、写入指针的读写锁互斥机制。Matrix路由服务器利用Qt语言的QTcpSocket消息机制实现只设立一个主进程负责链路维护和数据透传转发等,更简单高效可靠。
第二方面,本发明还提供一种基于第一方面所述系统的多输入多输出矩阵软总线的通信方法,
所述方法由客户端节点执行,包括:
获取全局配置文件信息;
根据全局配置文件信息进行初始化通信配置,所述初始化通信配置包括配置主IP地址和备IP地址,使得主IP和备IP能够与路由服务器的主IP或备IP之间建立至少一主通信链路和一备通信链路;
响应于需要链接路由服务器获取资源,执行步骤:
向路由服务器主动建链后发送身份注册请求;
接收路由服务器响应于所述身份注册请求,执行客户端注册后返回的注册结果信息;
响应于接收到注册结果信息,根据注册结果信息确认是否身份注册成功;
响应于需要查询节点在线状态且已身份注册成功,执行步骤:
向路由服务器发送节点状态查询请求;
接收路由服务器响应于所述节点状态查询请求,执行相应节点在线状态查询后返回的节点在线状态信息;
响应于发送数据缓冲区存在待发送有效数据且目标客户端节点在线,执行步骤:
对待发送有效数据进行组帧,将组帧后的有效数据报文通过主通信链路或备通信链路发送至路由服务器,以经路由服务器转发至目标客户端节点;
响应于主通信链路或备通信链路端口接收到路由服务器转发的有效数据帧,将有效数据帧写入接收数据圆形缓冲区,并进行数据报文的拆帧处理,以得到有效数据并输出;
响应设定的时间间隔内无报文传输发生,则向路由服务器发送链路测试报文,以检测主备链路实时状态,响应于所述链路测试报文发出后设定时间间隔后未收到服务器回复报文,则主动断链后重新链接路由服务器。
第三方面,本发明提供一种基于第一方面所述系统的多输入多输出矩阵软总线的通信方法,
所述方法由路由服务器执行,包括:
读取全局配置文件信息;
根据全局配置文件信息建立多输入多输出的路由节点MIMO列表,以及分别对应各客户端节点的收发数据圆形缓冲区;
根据MIMO列表建立全局节点信息映射表;
通过主IP或备IP实时侦听各客户端节点对应的通信端口,以冷主备模式等待客户端节点建链;
响应于端口接收到客户端节点的身份注册请求,执行以下步骤:
获取客户端节点身份注册请求中的节点配置信息;
将获取到的节点配置信息与全局配置文件信息进行匹配:响应于请求注册的客户端节点为全局配置文件中已配置的静态节点,更新全局节点信息映射表中相应节点的属性信息,以启用相应客户端节点在册;响应于请求注册的客户端节点为全局配置文件中未配置的动态节点,且全局配置文件允许动态注册,则根据获取的节点配置信息配置动态路由表,并配置相应节点的数据圆形缓冲区;
向客户端节点返回身份注册结果信息;
根据全局配置文件信息、客户端节点的身份注册结果,建立静态路由表和动态路由表;
响应于端口接收到客户端节点的有效数据信息,根据静态路由表或动态路由表进行数据透传转发;
响应于端口接收到客户端节点的链路测试请求进行相应请求的回复;
响应于端口接收到客户端节点的节点查询请求,回复相应节点的相关信息;节点的相关信息包括节点编号、实时状态、路由节点列表等信息;
响应于设定时间间隔内链路空闲,向相应客户端节点发送链路测试请求:响应于设定时段内接收到客户端节点响应链路测试请求回复的信息,维护节点映射表中相应客户端节点的相关信息,否则断开与相应客户端节点间的链接,等待客户端节点重新建链。
本发明中,路由服务器端及客户端节点均设置了链路检查与保活机制,可进一步保障链路冗余可靠。
有益效果
本发明通过物理网络双通道主备,客户端节点TCP链路运行热主备,路由服务器冷主备侦听,实际有效数据单份传输无主备等设计,实现了一种N×N阶矩阵路由通信架构,各个客户端节点和矩阵路由器共享全局配置信息,能够适用于分层分布式系统的软总线通信,实现链路冗余安全可靠、数据误码率低、传输高效。同时双链路注册制度可防止内部数据外泄和外部数据冲击,提高了数据安全性。
此外,本发明结合Qt跨平台语言内有消息机制实现客户端节点多线程,路由服务器单一主线程工作模式,能够支持分层分布式系统基础的数据交互信息通信,各分布式节点工作在客户端方式,可以动态加入或者退出,形成了可插拔的客户端模式,总线矩阵路由服务器工作在服务器模式,支持静态路由或者实时动态路由,方案灵活逻辑严密。
附图说明
图1所示为本发明软总线式通信系统架构示意图;
图2所示为一种实施例中客户端执行的软总线式通信方法流程示意图;
图3所示为一种实施例中服务器端执行的软总线式通信方法流程示意图。
具体实施方式
以下结合附图和具体实施例进一步描述。
实施例1
本实施例为一种多输入多输出矩阵软总线通信系统,参考图1所示,系统包括路由服务器,以及分别通过软总线通信连接路由服务器的多个客户端节点;
各客户端节点和路由服务器分别配置主备双网卡,各客户端节点分别与路由服务器之间建立一主通信链路和一备通信链路,所述主通信链路与备通信链路以热主备模式运行;各客户端节点以TcpClient模式工作,tcpsocket双链路以热主备模式运行,路由服务器以TcpSever模式工作,采用双ip地址进行server侦听,并以冷主备模式;各客户端节点与路由服务器之间通过主通信链路或备通信链路进行有效数据的单份传输;
各客户端节点以及路由服务器分别设有用于缓存有效数据的缓冲区;客户端节点在数据发送或接收前,根据预设的全局配置文件进行节点通信配置,进而向路由服务器请求身份注册;
路由服务器根据所述全局配置文件以及客户端节点的身份注册结果,在已注册的客户端节点之间进行数据转发。
本实施例系统中采用物理网络双通道主备,客户端节点TCP链路热主备运行,路由服务器冷主备侦听,实际数据实时无主备单份传输,可实现链路冗余安全可靠,降低数据传输误码率,提高数据传输效率。同时主备双链路皆注册登记,可做到对于非注册链路路由服务器很快断链关闭,防止内部数据外泄和外面数据冲击。
实施例1-1
本实施例介绍实施例1中系统的具体实现,包括以下几个方面的内容。
(1)所有客户端节点和路由服务器全部物理配置主备网卡,实现2个物理网络通道。客户端节点2个物理网络通道同时主动连接Matrix(矩阵)服务器建立TCP链路,链路工作在热主备模式。矩阵路由服务器主备IP服务侦听工作模式为冷主备,服务器主IP首先启动绑定侦听,在无效情况下,再切换到备IP地址绑定侦听。客户端Node主备IP则首先向Matrix主IP同时建立链接,在Matrix主IP无效时,才向Matrix备IP建链。有效数据帧报文无主备模式单份传输,身份鉴定和链路测试帧与追随链路实现双份。
(2)所有节点和路由服务器参数配置都需要读取统一的全局配置文件。各个客户端节点可从矩阵路由服务器获取该全局配置文件,并支持手动或每次运行时自动下载。客户端节点可通过全局配置文件获取服务器端的主备IP地址、服务器端口等参数。各节点事先依照全局配置文件设置物理网络IP地址。客户端程序启动时,可采用自动匹配IP地址或者无匹配IP地址2种方式,自动匹配方式即:读取各节点本地物理主备IP地址,自动查找匹配全局配置文件的相应该节点NodeID、路由目的地等信息,若节点物理主备IP与配置信息不一致则生成错误日志。无自动匹配方式即:通过客户端接口函数由使用者指定节点编号NodeID、路由节点等,则无需自动匹配IP地址。
(3)软总线交互协议主要涉及身份注册帧,链路测试帧,节点状态查询帧,有效数据帧。
(3.1)身份注册包括配置文件中已知节点静态注册,或未知节点动态注册模式。
已知节点注册流程设计为:有效的客户端节点主备链路同时向路由服务器注册身份,匹配配置节点映射表后启用在册,主备链路实时在线,实现订阅数据。只有经过确认成功注册的客户端节点才能从服务器接收发送数据,这样就能够防止内部数据外泄和外部数据冲击。外界主动建链却未通过注册登记的链路,需要Matrix路由服务器在设定的时间间隔后主动断链。
未知节点动态注册模式流程设计为:当全局配置文件允许动态添加节点时,客户端节点主动建链后发送身份注册帧,源NodeID可由通信协议约定为0,矩阵路由服务器发现该节点NodeID为0,则根据当前已知节点对新注册的客户端节点生成全局新NodeID并返回该值。如客户端使用者已指定NodeID,即未知节点的源NodeID不为预设值0,则无需生成。然后动态新建该未知节点相关信息,并添加相关节点映射表。
在QQ、微信等场景采用动态注册方式来增加用户端客户,很有实际意义。而在重要与严谨场合更适宜静态已知节点注册模式。当强调灵活性时则可采用同时支持节点静态和动态注册。
客户端注册Matrix路由服务器映射关系时,支持IP地址或节点NodeID的2种方式注册鉴权和Hash映射定位,实际效果相同并无根本差异。配置文件支持该选项可配置,但选择NodeID方式,自我测试和调试简单,不受物理电脑组网和IP配置约束,验证方便高效。多客户端节点的软件单元和路由服务器即使同一台电脑上部署也构成分布式系统。
(3.2)关于节点状态查询:客户端节点可以从矩阵路由服务器获取指定的NodeID列表在线状态,路由服务器回复帧确认相关节点在线状态。
(3.3)关于链路测试
由于TCP面向连接,因此对端正常关闭可以及时检测。而对端设备掉电、程序崩溃、网络被中断等非正常关闭情况则不能也无法及时通知另外一端,TCP链路连接会长时间存在,浪费资源。因此本发明通过设计主备链路分别独立的链路检测机制,解决实时通信场景中需要检测链路实时存活状态,来确认链路对端是否存活。
客户端主备链路维护自己各自所有的身份注册过程和链路测试帧、节点状态帧、有效数据帧,随时选择主或备之一链路交互数据。各类型数据帧同样起到链路测试帧的功能。
(4)如果主备通道链路主备,数据收发主备双份,就形成2N×2N阶矩阵路由矩阵。而本发明需要实现一种N节点N×N阶矩阵方案,具体方案为:采用客户端节点链路热主备,路由服务器侦听冷主备,数据单份传输无主备,优化设计为性能最优N×N阶矩阵路由服务器。路由服务器读取全局配置文件信息,建立全程静态路由表,同时实现动态路由机制。客户端提供改变Matrix路由表列向量的接口,供编程者使用。实现静态路由表和动态路由表的完美结合,实现1对1,1对多,多对多的总线和邮箱机制。动态节点信息不保存到全局配置文件。
(5)客户端节点和路由服务器分别设置圆形缓存区,缓存约定量数据。该圆形缓存区不保存链路测试帧、身份识别帧、节点状态帧以及非完整格式的数据帧,仅仅保留报文形式合法,帧头帧尾等校验过滤合规的有效数据帧。圆形数据缓存区支持生产者与消费者的多线程模式。数据传输支持数字或中英文,UTF8或者ASCII码格式。
(6)系统采用Qt语言编程实现,同时利用Qt自身的已有消息机制,客户端采用多线程工作模式,Matrix路由服务器采用Qt的QTcpSocket消息机制,定时器触发消息,同时设计运行维护与检测方案,链路维护在TCP技术基础上采用自我实时检测机制,Matrix路由服务器收到数据后实时路由透明转发数据,并定时运行监测圆形缓存区剩余数据与各客户端节点信息的相关状态。
(7)本实施例适用的分层分布式系统,可以是常规的SCADA等系统,也可以是多个客户端节点与路由服务器为部署于同一计算机系统中的软件功能单元组成的分布式系统。各客户端节点呈现为实现特定功能的软件单元,通过与路由服务器单元的软总线式通信交互获取计算机中的数据资源,同样构成一种本发明能够适用的分布式系统。
实施例1-2
基于实施例1-1,本实施例进一步介绍多输入多输出矩阵软总线通信系统的具体实现:
本实施例中,全局配置文件信息存储于路由服务器中,客户端节点获取全局配置文件信息包括:
响应于用户发出的读取指令,从路由服务器读取当前全局配置文件信息;
或响应于当前客户端运行,从路由服务器读取当前全局配置文件信息。
全局配置文件的下载可通过建立TCP通信链路实现,为现有技术。
全局配置文件中的配置信息包括文件版本号,客户端节点根据全局配置文件信息进行节点通信配置包括:
将获取的文件版本号与本地当前最新全局配置文件版本信息进行比对;
响应于比对结果为版本不同,则从路由服务器下载全局配置文件;
根据本地最新版本的全局配置文件进行通信配置,包括:从本地主备网卡中读取本地客户端实际主备IP地址,然后根据本地客户端主备IP地址查找匹配全局配置文件中相应客户端节点,进而根据全局配置文件中相应客户端节点的节点配置信息,对本地客户端的客户端节点编号、主备通信端口号以及目标客户端节点列表编号进行配置。
对于常规分层分布式系统,在客户端节点注册Matrix服务器映射关系时,本实施例采用节点编号NodeID注册鉴权和Hash映射定位方式,不受物理电脑组网和IP配置约束,验证方便高效。对于多个客户端节点与路由服务器为部署于同一计算机系统中的情形,客户端节点向路由服务器的身份注册采用节点编号注册方式。
对于全局配置文件中已配置节点编号的客户端,路由服务器通过全局配置文件匹配节点映射表后启用相应客户端节点在册,使得相应客户端能够通过通信链路向路由服务器订阅数据。对某客户端启用在册后,该客户端与路由服务器之间的主备链路即实时在线,客户端节点注册成功后即可与路由服务器之间收发数据,这样就防止了内部数据外泄和外部数据冲击。
本实施例对于已知节点的身份注册实现了一种静态注册模式,配合客户端IP地址自动匹配方式,适用于较为重要与严谨的场合。
本实施例中,客户端节点采用Qt语言实现多线程工作模式,路由服务器采用Qt语言中的QTcpSocket消息机制,实现单一主线程工作模式;
各客户端节点分别设有相互独立的发送数据区和接收数据圆形缓冲区,路由服务器面向各已注册客户端节点分别设有收发数据圆形缓冲区;
路由服务器响应于接收到有效数据后,根据节点映射表实时路由透明转发相应数据,且路由服务器以设定的时间间隔检测圆形缓冲区内剩余数据与各客户端节点的相关状态。
客户端节点的发送数据区直接负责存储调用者的组帧后的数据报文,接收数据圆形缓冲区负责存储校验后的完整数据,并提供去除报文头和报文尾拆帧后的裸数据接口给使用者。接收圆形数据缓冲区,由于涉及消费者和生产者,因此可设计多线程的读取指针、写入指针的读写锁互斥机制。Matrix路由服务器利用Qt语言的QTcpSocket消息机制实现只设立一个主进程负责链路维护和数据透传转发等,更简单高效可靠。
实施例1-3
与实施例1-2不同的是,本实施例中,在客户端身份注册鉴权发明采用静态与动态结合的注册方式,矩阵路由服务器则基于静态路由表与动态路由表结合的方式进行数据透传转发。
全局配置文件信息还包括动态节点使能配置信息,所述动态节点使能配置为允许动态添加客户端节点,客户端节点设有供用户输入节点配置信息的接口;
路由服务器根据全局配置文件建立全局静态路由表,并响应于客户端节点的身份注册请求,获取相应客户端节点的节点配置信息以得到节点的动态路由信息,然后根据全局静态路由表、客户端节点的身份注册结果以及节点动态路由信息,建立用于引导数据转发的路由表,所述路由表包括静态路由表和动态路由表。也即本发明能够实现静态路由和动态路由的结合,实现1对1,1对多,多对多的总线和邮箱机制。
对于全局配置文件中未配置节点编号的客户端,路由服务器接收客户端节点的身份注册请求并从中获取节点通信配置信息,然后根据获取到的节点通信配置信息更新全局客户端节点编号,以及节点映射表,向客户端节点返回包括相应全局节点编号的注册结果信息:
若获取到的节点编号为预设初始值,则路由服务器基于当前节点映射表生成待身份注册客户端节点的全局新节点编号,返回于注册结果信息中;
若获取到的节点编号非预设初始值,则路由服务器将获取到的节点编号作为相应客户端节点的节点编号,返回于注册结果信息中,并更新至节点映射表。节点映射表的更新即,将新增客户端节点的相关信息添加至节点映射表。
以上所述全局配置文件中未配置节点编号的客户端节点编号的预设初始值,可通过通信协议约定为0或其他值,若为其他值则默认相应节点编号为用户通过客户端接口指定的节点编号,无需重新生成。为进一步保障信息安全性,动态节点信息不予保存到全局配置文件中。
本实施例对于未知节点的身份注册实现了一种动态注册模式,动态注册的前提可以是路由服务器端设置配置文件允许动态添加节点,也即可配合前述客户端非自动匹配IP地址方式,在QQ、微信等动态注册场景中,采用该方式来增加用户端客户,是具有实际意义的。对于强调灵活性的场景,则可采用同时支持节点静态和动态注册的模式。
实施例2
基于实施例1中的任一具体实施方式,本实施例介绍多输入多输出软总线通信系统中客户端节点通信的具体实现方式。
软总线的客户端为数据交互的主动发起者和接收者,在本发明中设计为TCP的客户端模式,其主要涉及的技术方案内容有:有效数据报文的组帧和拆帧,异常报文的定位、分析分解、丢弃,通讯主从链路的建链和关闭,多线程圆形数据缓冲区的维护,节点链路的注册问询或者回复,链路心跳检测等。在数据收发上的具体实现为:承接其他线程或者用户的数据,组帧报文作为发送端,添加数据头、数据尾,添加路由目的节点列表,保证数据信息作为一个完整可校验形式的数据发送出去;作为接收端,对数据报文进行拆帧,对数据报文分析与分解,去除报文头和报文尾,提供实际有效数据给使用者。
在数据链路方面,因为存在多客户端和服务器交互,故采用了TCP通信Client节点工作方式,主备物理通道同时建链,实现链路热主备。实际有效通信数据无主备,只传输一份,可以任意选择主备链路通道。
考虑到TCP通信存在同步阻塞或者异步通知方式,因此本发明中客户端节点采用多线程工作模式:在新线程中工作,防止阻塞主线程工作。在多线程模式下,读入或者写入数据行为一直循环运行。同时,客户端节点设计了各自独立发送数据区和接收数据圆形缓冲区。发送数据区直接负责存储调用者的组帧后的数据报文,接收数据圆形缓冲区负责存储校验后的完整数据。提供去除报文头和报文尾拆帧后的裸数据接口给使用者。接收圆形数据缓冲区,由于涉及消费者和生产者,设计多线程的读取者指针,写入者指针的读写锁互斥机制。
在有效数据收发前,客户端节点主备链路首先同时向路由服务器注册身份,Matrix路由服务器审验确认后,主备链路实时在线,主备链之一存活即允许收发数据报文。而链路检测不依赖TCP本身的机制,如果有数据发送或者接收时,链路正常。没有收发数据超过一定时间间隔时,主动发送链路问询信息帧,收到确认报文后重新计时。如果超过设定时间仍未收到确认报文或者有效数据。认为断链,主动关闭相应socket,待需要时重新建链。
具体的,参考图2所示,本实施例客户端节点执行的多输入多输出矩阵软总线的通信方法,包括:
获取全局配置文件信息;
根据全局配置文件信息进行初始化通信配置,所述初始化通信配置包括配置主IP地址和备IP地址,使得主IP和备IP能够与路由服务器的主IP或备IP之间建立至少一主通信链路和一备通信链路;
响应于需要链接路由服务器获取资源,执行步骤:
向路由服务器主动建链后发送身份注册请求;
接收路由服务器响应于所述身份注册请求,执行客户端注册后返回的注册结果信息;
响应于接收到注册结果信息,根据注册结果信息确认是否身份注册成功;
响应于需要查询节点在线状态且已身份注册成功,执行步骤:
向路由服务器发送节点状态查询请求;
接收路由服务器响应于所述节点状态查询请求,执行相应节点在线状态查询后返回的节点在线状态信息;
响应于发送数据缓冲区存在待发送有效数据且目标客户端节点在线,执行步骤:
对待发送有效数据进行组帧,将组帧后的有效数据报文通过主通信链路或备通信链路发送至路由服务器,以经路由服务器转发至目标客户端节点;
响应于主通信链路或备通信链路端口接收到路由服务器转发的有效数据帧,将有效数据帧写入接收数据圆形缓冲区,并进行数据报文的拆帧处理,以得到有效数据并输出;
响应设定的时间间隔内无报文传输发生,则向路由服务器发送链路测试报文,以检测主备链路实时状态,响应于所述链路测试报文发出后设定时间间隔后未收到服务器回复报文,则主动断链后重新链接路由服务器。
主备链路在线情形下,客户端节点收到确认报文后重新计时,若超过设定时间客户端节点仍未收到确认报文或者有效数据,则认为断链,客户端节点主动关闭相应socket,重新建链。
实施例3
基于实施例1中的任一具体实施方式,本实施例介绍多输入多输出软总线通信系统中路由服务器通信方法的具体实现方式,本实施例方法是与实施例2相互配合的。
本发明中矩阵路由服务器作为数据交互的桥梁,工作在TCP通信server模式,且其程序不掉线运行,程序退出时,整个软总线瘫痪。
矩阵路由服务器所涉及的工作内容包括:节点信息表与静态路由表维护,数据报文的多重路由转发,通讯链路的维护和侦测,圆形数据缓冲区列表维护,节点注册帧的注册登记与回复,节点动态路由表分析与映射等。TCP的所有socket都建立在Qt语言的QTcpSocket内在消息机制基础上,这样无需多线程实现,只设计一个主进程负责一切行为与工作,同时设置自定义定时列表,对各节点链路自我维护。
本实施例中,路由服务器的通信实现如下。
(1)节点信息表维护。矩阵路由服务器运行时,从统一配置文件中获取各节点信息配置详细内容,包括节点机器的主从通道IP地址,节点NodeId,静态路由目的地址等,建立hash映射表。并设置各节点相应的收发缓冲区,该链路的socket状态,最近报文的时间戳等实时信息。
(2)通讯链路的注册鉴权。鉴于分层分布式系统的应用场景,本发明对于客户端节点需要身份注册与鉴权设计。路由服务器等待并接受客户端过来的建链请求。客户端节点主备链路首先同时向路由服务器注册身份,登记在册,确保主备链路实时在线。只有经过确认成功注册的客户节点才能从服务器接收发送数据。
通常情况下,依据全局统一配置文件,可选择对客户端的主从IP通道地址和端口号鉴权,也可以选择对注册过来的客户端NodeId鉴权。外界主动建链却未通过注册登记的链路,Matrix路由服务器会很快主动关闭该链路,这样就防止内部数据外泄和外部数据冲击。
(3)数据报文的寻址透传。路由服务器对从发送节点端过来的数据报文不做任何修改,报文头和尾数据不变。根据报文参数选择静态或者动态路由,解析目的地址列表,把报文多重映射到目的节点的发送圆形缓冲区。保证数据报文作为一个经过校验和检查初步合格的数据发送出去。一个节点对应一个收发数据圆形缓冲区。
(4)节点信息表圆形数据缓冲区维护。对配置的每个客户端节点,路由服务器均设置相互独立的一个收发数据圆形缓冲区,圆形缓存区是按照生产者和消费者多线程设计思想构建。如果一个TCP链路设立一个工作线程,会有数十个或者上百个线程,线程间数据交互设计比较复杂,圆形缓存区读取和写入指针要设置互斥锁,各线程间要设置同步信号,防止数据写入或读取不成功。因此本发明利用Qt跨平台语言内在消息机制,Matrix路由服务器只设立一个主进程负责链路维护和数据透传转发等更简单高效可靠。
(5)节点链路测试的问询或者回复。此行为同客户端类似,主动发送链路测试,如果有数据发送或者接收时,则认为链路正常。没有收发数据超过约定时间间隔时,发送链路问询信息帧,收到确认报文后重新计时。如果超过设定时间仍未收到确认报文或者有效数据。认为断链,关闭相应socket,等待客户端重新建链。主备链路维护各自身份注册帧和链路测试帧,有效数据帧随时选择主或者备链路交互数据。有效数据帧本文作为链路测试帧的一种存在形式。
(6)矩阵路由服务器的路由表包括静态维护和实时动态刷新。根据节点配置信息,首先建立静态路由表。该矩阵服务器描述如下
设A为m×p的矩阵,B为p×n的矩阵,那么称m×n的矩阵C为矩阵A与B的乘积,记作C=AB,其中矩阵C中的第i行第j列元素可以表示为:
Figure BDA0002471552160000161
假设m=2,p=3,n=2,则各矩阵表示可如下:
Figure BDA0002471552160000162
Figure BDA0002471552160000163
从数学意义来理解,设计N个客户端节点,每个节点既是输入节点,也是输出节点,如果主备通道链路主备,数据收发主备双份,就形成2N×2N阶路由矩阵,但本发明采用链路热主备,服务器侦听冷主备,数据单份传输无主备的特殊设计方案,优化设计为性能最优N×N阶矩阵路由服务器。因此,本实施例中,矩阵B的每个元素为0/1,表示目的节点通道是否选通,左上右下对角线元素为0,表示自身不发送数据给自己,避免形成数据循环;基于矩阵B的设计,本实施例即可根据配置文件中目的节点列表形成静态路由矩阵。
客户端提供修改目的节点列表接口函数,方便给使用者动态更改矩阵列向量元素,形成动态路由矩阵,矩阵C是做A和B信息流的综合。从物理意义理解矩阵A和矩阵C中元素是同一节点,B即N×N阶路由矩阵。
Figure BDA0002471552160000164
具体的,参考图3,本实施例路由服务器执行的多输入多输出矩阵软总线的通信方法,包括:
读取全局配置文件信息;
根据全局配置文件信息建立多输入多输出的路由节点MIMO列表,以及分别对应各客户端节点的收发数据圆形缓冲区;
根据MIMO列表建立全局节点信息映射表;
工作在TcpServer模式,主或备ip侦听,冷主备模式等待建链,实时侦听各客户端节点对应的通信端口;若主动建链的客户端属于全局配置文件中的静态节点,注册后则更新全局节点信息映射表中相应的属性。已知静态注册节点,可以设置静态路由表和动态路由表。
若链接的客户端不属于静态节点范围,而路由服务器又允许动态注册时,则属于未知动态节点来注册。注册成功后却只能设置动态路由表。其他的未注册成功任何链路,路由服务器会主动关闭该链路。未知动态节点注册后获取或者算法生成Nodeid后更新至内存全局节点信息映射表中相应的属性,并开辟圆形数据区等信息,但不会保存至全局配置文件。
回复与确认客户端节点的注册链路帧。
检测与校对数据报文,根据各节点的静态或者动态路由表转发至相应客户端节点。
回复客户端节点查询帧,回复nodeid,ip,实时状态,路由节点列表等信息。
回复客户端节点的链路测试帧。检测mimo自定义定时列表,空闲主动发送链路测试帧,维护节点映射表最近报文时间戳,实时在线等相关状态。可确保检查链路实时状态,经过一定时间间隔双方无报文交互,则主动关闭该链路。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

Claims (10)

1.一种多输入多输出矩阵软总线通信系统,其特征是,包括路由服务器,以及分别通过软总线通信连接路由服务器的多个客户端节点;
各客户端节点和路由服务器分别配置主备双网卡,各客户端节点分别与路由服务器之间建立一主通信链路和一备通信链路,所述主通信链路与备通信链路以热主备模式运行;各客户端节点以TcpClient模式工作,tcpsocket双链路以热主备模式运行,路由服务器以TcpSever模式工作,通过主IP或备IP实时侦听各客户端节点对应的通信端口,并以冷主备模式等待客户端节点建链;各客户端节点与路由服务器之间通过主通信链路或备通信链路进行有效数据的单份传输;
各客户端节点以及路由服务器分别设有用于缓存有效数据的缓冲区;客户端节点在数据发送或接收前,根据预设的全局配置文件进行节点通信配置,进而向路由服务器请求身份注册;
路由服务器根据所述全局配置文件以及客户端节点的身份注册结果,在已注册的客户端节点之间进行数据转发。
2.根据权利要求1所述的多输入多输出矩阵软总线通信系统,其特征是,所述全局配置文件信息存储于路由服务器中,客户端节点获取全局配置文件信息包括:
响应于用户发出的读取指令,从路由服务器读取当前全局配置文件;
或响应于当前客户端运行,从路由服务器读取当前全局配置文件。
3.根据权利要求1或2所述的多输入多输出矩阵软总线通信系统,其特征是,所述全局配置文件中的配置信息包括文件版本号,客户端节点根据全局配置文件信息进行节点通信配置包括:
将获取的文件版本号与本地当前全局配置文件版本信息进行比对;
响应于比对结果为版本不同,则从路由服务器下载全局配置文件;
根据本地最新版本的全局配置文件进行通信配置,包括:从本地主备网卡中读取本地客户端实际主备IP地址,然后根据本地客户端主备IP地址查找匹配全局配置文件中相应客户端节点,进而根据全局配置文件中相应客户端节点的节点配置信息,对本地客户端的客户端节点编号、主备通信端口号以及目标客户端节点列表编号进行配置。
4.根据权利要求3所述的多输入多输出矩阵软总线通信系统,其特征是,所述全局配置文件信息还包括动态路由节点使能配置信息,所述动态路由节点使能配置为允许动态添加客户端节点,客户端节点设有供用户输入节点配置信息的接口;
路由服务器根据全局配置文件建立全局静态路由表,并响应于客户端节点的身份注册请求,获取相应客户端节点的节点配置信息以得到节点的动态路由信息,然后根据全局静态路由表、客户端节点的身份注册结果以及节点动态路由信息,建立用于引导数据转发的路由表,所述路由表包括静态路由表和动态路由表。
5.根据权利要求1所述的多输入多输出矩阵软总线通信系统,其特征是,对于全局配置文件中已配置节点编号的客户端,路由服务器通过全局配置文件匹配节点映射表后启用相应客户端节点在册,使得相应客户端能够通过通信链路向路由服务器订阅数据。
6.根据权利要求1所述的多输入多输出矩阵软总线通信系统,其特征是,对于全局配置文件中未配置节点编号的客户端,路由服务器接收客户端节点的身份注册请求并从中获取节点通信配置信息,然后根据获取到的节点通信配置信息更新全局客户端节点编号,以及节点映射表,向客户端节点返回包括相应全局节点编号的注册结果信息:
若获取到的节点编号为预设初始值,则路由服务器基于当前节点映射表生成待身份注册客户端节点的全局新节点编号,返回于注册结果信息中;
若获取到的节点编号非预设初始值,则路由服务器将获取到的节点编号作为相应客户端节点的节点编号,返回于注册结果信息中,并更新至节点映射表。
7.根据权利要求1所述的多输入多输出矩阵软总线通信系统,其特征是,客户端节点采用Qt语言实现多线程工作模式,路由服务器采用Qt语言中的QTcpSocket消息机制,实现单一主线程工作模式;
各客户端节点分别设有相互独立的发送数据区和接收数据圆形缓冲区,路由服务器面向各已注册客户端节点分别设有收发数据圆形缓冲区;
路由服务器响应于接收到有效数据后,根据节点映射表实时路由透明转发相应数据,且路由服务器以设定的时间间隔检测圆形缓冲区内剩余数据以及各客户端节点的相关状态。
8.根据权利要求1所述的多输入多输出矩阵软总线通信系统,其特征是,所述多个客户端节点与路由服务器为部署于同一计算机系统中的软件功能单元;客户端节点向路由服务器的身份注册采用节点编号注册方式;
或者,所述多个客户端节点与路由服务器分别部署于通过网络连接通信的不同计算机系统中,客户端节点向路由服务器的身份注册采用IP地址及端口号注册或节点编号注册方式。
9.一种基于权利要求1-8任一项所述多输入多输出矩阵软总线通信系统的通信方法,由客户端节点执行,其特征是,包括:
获取全局配置文件信息;
根据全局配置文件信息进行初始化通信配置,所述初始化通信配置包括配置主IP地址和备IP地址,使得主IP和备IP能够与路由服务器的主IP或备IP之间建立至少一主通信链路和一备通信链路;
响应于需要链接路由服务器获取资源,执行步骤:
向路由服务器主动建链后发送身份注册请求;
接收路由服务器响应于所述身份注册请求,执行客户端注册后返回的注册结果信息;
响应于接收到注册结果信息,根据注册结果信息确认是否身份注册成功;
响应于需要查询节点在线状态且已身份注册成功,执行步骤:
向路由服务器发送节点状态查询请求;
接收路由服务器响应于所述节点状态查询请求,执行相应节点在线状态查询后返回的节点在线状态信息;
响应于发送数据缓冲区存在待发送有效数据且目标客户端节点在线,执行步骤:
对待发送有效数据进行组帧,将组帧后的有效数据报文通过主通信链路或备通信链路发送至路由服务器,以经路由服务器转发至目标客户端节点;
响应于主通信链路或备通信链路端口接收到路由服务器转发的有效数据帧,将有效数据帧写入接收数据圆形缓冲区,并进行数据报文的拆帧处理,以得到有效数据并输出;
响应设定的时间间隔内无报文传输发生,则向路由服务器发送链路测试报文,以检测主备链路实时状态,响应于所述链路测试报文发出后设定时间间隔后未收到服务器回复报文,则主动断链后重新链接路由服务器。
10.一种基于权利要求1-8任一项所述多输入多输出矩阵软总线通信系统的通信方法,由路由服务器执行,其特征是,包括:
读取全局配置文件信息;
根据全局配置文件信息建立多输入多输出的路由节点MIMO列表,以及分别对应各客户端节点的收发数据圆形缓冲区;
根据MIMO列表建立全局节点信息映射表;
通过主IP或备IP实时侦听各客户端节点对应的通信端口,以冷主备模式等待客户端节点建链;
响应于端口接收到客户端节点的身份注册请求,执行以下步骤:
获取客户端节点身份注册请求中的节点配置信息;
将获取到的节点配置信息与全局配置文件信息进行匹配:响应于请求注册的客户端节点为全局配置文件中已配置的静态节点,更新全局节点信息映射表中相应节点的属性信息,以启用相应客户端节点在册;响应于请求注册的客户端节点为全局配置文件中未配置的动态节点,且全局配置文件允许动态注册,则根据获取的节点配置信息配置动态路由表,并配置相应节点的数据圆形缓冲区;
向客户端节点返回身份注册结果信息;
根据全局配置文件信息、客户端节点的身份注册结果,建立静态路由表和动态路由表;
响应于端口接收到客户端节点的有效数据信息,根据静态路由表或动态路由表进行数据透传转发;
响应于端口接收到客户端节点的链路测试请求进行相应请求的回复;
响应于端口接收到客户端节点的节点查询请求,回复相应节点的相关信息;节点的相关信息包括节点编号、实时状态、路由节点列表等信息;
响应于设定时间间隔内链路空闲,向相应客户端节点发送链路测试请求:响应于设定时段内接收到客户端节点响应链路测试请求回复的信息,维护节点映射表中相应客户端节点的相关信息,否则断开与相应客户端节点间的链接,等待客户端节点重新建链。
CN202010349788.2A 2020-04-28 2020-04-28 一种多输入多输出矩阵软总线通信方法和系统 Active CN111585858B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010349788.2A CN111585858B (zh) 2020-04-28 2020-04-28 一种多输入多输出矩阵软总线通信方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010349788.2A CN111585858B (zh) 2020-04-28 2020-04-28 一种多输入多输出矩阵软总线通信方法和系统

Publications (2)

Publication Number Publication Date
CN111585858A CN111585858A (zh) 2020-08-25
CN111585858B true CN111585858B (zh) 2021-08-27

Family

ID=72111882

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010349788.2A Active CN111585858B (zh) 2020-04-28 2020-04-28 一种多输入多输出矩阵软总线通信方法和系统

Country Status (1)

Country Link
CN (1) CN111585858B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116980231B (zh) * 2023-09-19 2023-11-28 成都交大光芒科技股份有限公司 一种双链路冗余安全通信方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106300300A (zh) * 2016-10-11 2017-01-04 南京南瑞继保电气有限公司 一种用于直流控制保护系统的冗余通讯方法
CN106790605A (zh) * 2016-12-29 2017-05-31 深圳新基点智能股份有限公司 一种物联网网关系统及其实现方法
CN110233713A (zh) * 2019-06-26 2019-09-13 广东九博科技股份有限公司 一种基于lldp报文的多链路通信方法及系统
CN110868278A (zh) * 2019-11-15 2020-03-06 上海电科智能系统股份有限公司 一种轨道交通综合监控系统通信前置机双机冗余的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102395119B (zh) * 2011-11-15 2014-11-19 华为技术有限公司 一种支持应用客户端永久在线的方法、系统及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106300300A (zh) * 2016-10-11 2017-01-04 南京南瑞继保电气有限公司 一种用于直流控制保护系统的冗余通讯方法
CN106790605A (zh) * 2016-12-29 2017-05-31 深圳新基点智能股份有限公司 一种物联网网关系统及其实现方法
CN110233713A (zh) * 2019-06-26 2019-09-13 广东九博科技股份有限公司 一种基于lldp报文的多链路通信方法及系统
CN110868278A (zh) * 2019-11-15 2020-03-06 上海电科智能系统股份有限公司 一种轨道交通综合监控系统通信前置机双机冗余的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
大容量交换机无感热备份技术的研究和实现;何红松;《信息通信》;20140815(第8期);全文 *

Also Published As

Publication number Publication date
CN111585858A (zh) 2020-08-25

Similar Documents

Publication Publication Date Title
US20010042139A1 (en) Replicated resource management system for managing resources in a distributed application and maintaining a relativistic view of state
EP3371940B1 (en) System and method for handling link loss in a network
EP1518385A1 (en) Opc server redirection manager
CN102483702A (zh) 用于网络设备中的虚拟机的网络话务处理流水线
CN103125102A (zh) 用于在中间件机器环境中提供基于无限带宽的以太网虚拟集线器可伸缩性的系统和方法
WO1997025673A1 (en) Replicated resource management system for a distributed application maintaining a relativistic view of state
WO1997025673A9 (en) Replicated resource management system for a distributed application maintaining a relativistic view of state
CN102209064B (zh) 使用vrrp为接入设备提供备份的方法和vrrp网关设备
US7813341B2 (en) Overhead reduction for multi-link networking environments
CN105959349A (zh) 一种分布式服务端运行系统及方法
Dustdar et al. Dynamic replication and synchronization of web services for high availability in mobile ad-hoc networks
CN111585858B (zh) 一种多输入多输出矩阵软总线通信方法和系统
Nogueira et al. On the challenges of building a BFT SCADA
JP4964666B2 (ja) 冗長化された通信経路を切り替える計算機、プログラム及び方法
US20120266211A1 (en) Transparent database connection reconnect
CN101420327B (zh) 平滑重启过程中避免路由振荡的方法及平滑重启设备
CN114885007A (zh) 用于实时的强一致性会话同步的方法和电子设备
CN115604160A (zh) 网络检测处理方法及装置、电子设备、存储介质
CN100512282C (zh) 采用单进程处理路由协议栈的方法
Vasconcelos et al. Dynamic and coordinated software reconfiguration in distributed data stream systems
US9590893B2 (en) System and method for management of network links by traffic type
KR100377864B1 (ko) 다중화 서버 시스템을 위한 통신 시스템 및 방법
US20230224243A1 (en) Highly-Available Cluster Leader Election in a Distributed Routing System
US20230044281A1 (en) Protocol state fuzzing method and system for security of distributed software-defined network control plane
Dvinsky et al. Chameleon–a group communication framework for smartphones

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant