CN113347280A - 一种具有冗余主备和负载均衡的多串口服务器系统 - Google Patents
一种具有冗余主备和负载均衡的多串口服务器系统 Download PDFInfo
- Publication number
- CN113347280A CN113347280A CN202110905811.6A CN202110905811A CN113347280A CN 113347280 A CN113347280 A CN 113347280A CN 202110905811 A CN202110905811 A CN 202110905811A CN 113347280 A CN113347280 A CN 113347280A
- Authority
- CN
- China
- Prior art keywords
- serial
- port
- server
- data
- module
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0663—Performing the actions predefined by failover planning, e.g. switching to standby network elements
Abstract
本发明公开了一种具有冗余主备和负载均衡的多串口服务器系统,该系统包括至少两个多串口服务器,用于通过主备信令通道进行主备选举或通过控制信令通道进行负载均衡控制;至少一个串口设备,用于将串口数据上传至多串口服务器,并接收多串口服务器转发的业务数据;及远端服务器,用于将业务数据下发至多串口服务器,并接收多串口服务器转发的串口数据。本发明通过主备信令通道进行多串口服务器主备选举,实现在主服务器出现故障时能够快速无缝切换至备服务器,提高工业设备的通信可靠度;并且通过控制信令通道进行多串口服务器负载均衡控制,实现能够将一路串口数据连接至多路串口服务器,提高串口服务器的负载均衡性。
Description
技术领域
本发明涉及工业自动化总线通信领域,更具体地,涉及一种具有冗余主备和负载均衡的多串口服务器系统。
背景技术
目前工业现场仍然存在很多利用RS485/422/233,CAN等工业总线实现工业自动化数据采集和控制的工业自动化应用;由于此类工业总线通常通信距离比较有限,无法满足当前工业4.0的需求;所以很多厂家推出了RS485/422/233转Ethernet的串口服务器,以及CAN转Ethernet的CAN服务器来利用无处不在的以太网技术,扩展工业现场总线的通信距离。
市面上比较常见的串口服务器是1/2/4/8/16/32口串口服务器;最多也是32口串口服务器;当现场需要超过32口服务器时,将面临无设备可用的场景。
目前的大多数串口服务器采用单片机实现,所以CPU和网络处理能力相对较弱,当一路串口的数据需要连接多路服务器时,可能成品串口服务器无法满足要求,并且在单个CPU上通过总线扩展超过32口串口设备时,由于中断过多,导致CPU负载过重,从而整机的性能下降,无法满足多口交换机高波特率数据传输需求。
发明内容
本发明针对现有技术中存在的技术问题,提供一种具有冗余主备和负载均衡的多串口服务器系统。
为实现上述发明目的,本发明提供了一种具有冗余主备和负载均衡的多串口服务器系统,包括:
至少两个多串口服务器,用于通过主备信令通道进行主备选举或通过控制信令通道进行负载均衡控制,将远端服务器下发的业务数据转发至串口设备,并将所述串口设备上传的串口数据转发至所述远端服务器;
至少一个串口设备,用于将串口数据上传至多串口服务器,并接收多串口服务器转发的业务数据;及
远端服务器,用于将业务数据下发至多串口服务器,并接收多串口服务器转发的串口数据。
优选地,所述多串口服务器通过主备信令通道进行主备选举时,
各多串口服务器之间通过主备信令通道进行握手,并通报对应多串口服务器的健康权重值;
根据各多串口服务器的健康权重值选举产生一个主多串口服务器,并将其它多串口服务器设置为备多串口服务器。
优选地,所述多串口服务器的健康权重值的产生方法为:
在多串口服务器第一次启动时,根据MAC地址,将当前时间作为起点,生成一个随机数,作为初始的健康权重值写入flash;
设定多串口服务器的不同异常情况对应的异常损失值,当多串口服务器每出现一次异常时将当前的健康权重值减去对应的异常损失值,并将新的健康权重值写入flash;
当多串口服务器异常重启时,写入一个异常重启标志位到flash中;
当多串口服务器重启时,通过读取flash中的异常重启标志位判断多串口服务器是否发生了异常重启;若是,则将当前的健康权重值减去对应的异常损失值,并将新的健康权重值写入flash;否则不作处理。
优选地,所述多串口服务器通过控制信令通道进行负载均衡控制时,
各多串口服务器之间通过控制信令通道通报对应的端口情况,并创建虚拟串口映射能力表;
对各多串口服务器的串口转发业务进行配置,设定串口设备的的工作模式以及需与TCP服务建立的数据转发业务;
将多串口服务器超出所配置的数据转发业务通过控制信令通道下发至其它多串口服务器,并将各多串口服务器的实际数据转发业务写入其flash;
当多串口服务器重启时通过控制信令通道查询其它多串口服务器是否加入构建的负载均衡组;若是,则获取对应的多串口服务器的数据转发业务配置信息,生成虚拟的负载均衡后整体转发业务映射表进行展示;否则不作处理。
优选地,还包括与各多串口服务器组建多串口服务器集群的多串口服务器网关;
所述多串口服务器网关用于添加所组建多串口服务器集群中的多串口服务器并进行认证,对所组建多串口服务器集群中的各多串口服务器配置虚拟串口信息和数据转发业务。
优选地,所述多串口服务器网关添加所组建多串口服务器集群中的多串口服务器并进行认证,对所组建多串口服务器集群中的各多串口服务器配置虚拟串口信息和数据转发业务的方法为:
分别将多串口服务器网关和多串口服务器上电,配置网络参数,设定多串口服务器网关的IP地址和认证密钥;
多串口服务器发送用于发现多串口服务器网关的消息;
多串口服务器网关收到用于发现多串口服务器网关的消息后,将所设定的IP地址和端口号单播发送消息至对应的多串口服务器网关;
多串口服务器向多串口服务器网关单播发送其串口配置、数据转发能力及认证密钥;
多串口服务器网关根据认证密钥进行认证后添加该多串口服务器,并虚拟与该多串口服务器的实体串口对应数量的虚拟串口;
多串口服务器网关配置串口数据转发业务后下发配置信息至各多串口服务器,并将远端服务器的IP地址替换为多串口服务器网关的IP地址,串口号替换为多串口服务器网关的虚拟串口对应的实体串口号。
优选地,所述多串口服务器包括多个具有多个串口的串口模块,以及与各串口模块进行数据通信的串口服务器主控单元;
所述串口模块用于设置自身的IP地址,并分别与串口设备和串口服务器主控单元进行数据交换;
所述串口服务器主控单元用于进行网络配置和串口功能配置,受控与各串口模块进行数据交换和配置管理,建立各串口模块的端口映射规则和端口转发规则进行数据路由转发。
优选地,所述串口模块包括网络通信单元、复位控制单元、IP设置单元和串口单元;
所述网络通信单元用于对外部设备建立网络服务器,并且接收串口服务器主控单元下发的管理信息;
所述复位控制单元用于接收串口服务器主控单元下发的复位控制消息,对串口模块进行复位控制;
所述IP设置单元用于向其他串口模块发送状态信息,设置自身的IP地址;
所述串口单元用于与串口设备进行数据交换。
优选地,所述串口服务器主控单元包括调试串口、web配置管理单元、串口模块管理单元、网络路由转发单元和网络交换单元;
所述调试串口用于接收外部调试信息,并控制与各串口模块的信号连通;
所述web配置管理单元用于对外部设备建立web服务器,并进行网络配置和串口功能配置;
所述串口模块管理单元用于对各串口模块进行配置管理和心跳监测、端口映射规则建立管理;
所述网络路由转发单元用于根据建立的各串口模块的端口映射规则和端口转发规则进行数据路由转发;
所述网络交换单元用于与各串口模块进行数据交换。
优选地,所述串口服务器主控单元建立各串口模块的端口映射规则和端口转发规则的方法为:
设置各串口模块的串口端口类型和端口数量,保存各串口模块的端口表;
配置串口模块的串口端口的工作模式和端口号;
根据端口表查找端口模块的IP地址和对应串口的端口号,通知串口模块打开对应端口号的服务器,同时将查找的端口号映射到配置的端口号。
本发明提供的一种具有冗余主备和负载均衡的多串口服务器系统,通过主备信令通道进行多串口服务器主备选举,实现在主服务器出现故障时能够快速无缝切换至备服务器,提高工业设备的通信可靠度;并且通过控制信令通道进行多串口服务器负载均衡控制,实现能够将一路串口数据连接至多路串口服务器,提高串口服务器的负载均衡性。
附图说明
图1为本发明提供的一种具有冗余主备和负载均衡的多串口服务器系统结构示意图;
图2为本发明实施例中热备串口服务器系统结构示意图;
图3为本发明实施例中虚拟串口服务器系统结构示意图;
图4为本发明实施例中多串口服务器结构示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
图1为本发明实施例提供的一种具有冗余主备和负载均衡的多串口服务器系统,包括:
至少两个多串口服务器,用于通过主备信令通道进行主备选举或通过控制信令通道进行负载均衡控制,将远端服务器下发的业务数据转发至串口设备,并将所述串口设备上传的串口数据转发至所述远端服务器;
至少一个串口设备,用于将串口数据上传至多串口服务器,并接收多串口服务器转发的业务数据;及
远端服务器,用于将业务数据下发至多串口服务器,并接收多串口服务器转发的串口数据。
在本发明的一个可选实施例中,本发明基于上述多串口服务器系统构建一种通过主备信令通道进行主备选举的热备串口服务器系统,如图2所示,该系统至少包含有两台串口服务器设备,这里假设为A和B;但是不限于只有两台串口服务器设备的情况;可以有一主,多备的情况。串口设备C同时通过串口等总线(RS485/232/422等)接入串口服务器A和串口服务器B;同样的,参照图2,串口设备D同时通过串口等总线(RS485/232/422等)接入串口服务器A和串口服务器B。保证同一份上行数据可以同时发给主、备串口服务器。主、备串口服务器之间通过网络相连,以便进行必要的信令通信,成为“主备信令通道”;这种连接可以但不限于是蓝牙,串口,Ethernet、Wi-Fi,NFC,Zigbee等。主,备串口服务器同时和远端的服务器建立TCP/IP连接。主,备串口服务器上有一个显示屏或者指示灯表示当前自己工作在主串口服务器状态,还是备串口服务器状态。
本发明通过主备信令通道进行主备选举时,
各多串口服务器之间通过主备信令通道进行握手,并通报对应多串口服务器的健康权重值;
根据各多串口服务器的健康权重值选举产生一个主多串口服务器,并将其它多串口服务器设置为备多串口服务器。
其中多串口服务器的健康权重值的产生方法为:
在多串口服务器第一次启动时,根据MAC地址,将当前时间作为起点,生成一个随机数,作为初始的健康权重值写入flash;
设定多串口服务器的不同异常情况对应的异常损失值,当多串口服务器每出现一次异常时将当前的健康权重值减去对应的异常损失值,并将新的健康权重值写入flash;
当多串口服务器异常重启时,写入一个异常重启标志位到flash中;
当多串口服务器重启时,通过读取flash中的异常重启标志位判断多串口服务器是否发生了异常重启;若是,则将当前的健康权重值减去对应的异常损失值,并将新的健康权重值写入flash;否则不作处理。
具体而言,串口服务器A和串口服务器B 上电后,开始“主服务器选举流程”:通过“主备信令通道”进行握手,通报彼此的“健康权重值”;然后根据“健康权重值”选举产生一个“主串口服务器设备”,其他设备为“从串口服务器设备”;“健康权重值”产生方法为:
第一次大家根据根据自己的MAC地址,当前时间等作为seed,生成一个随机数;“健康权重值”写入flash;
设备的不同异常,对应不同的“异常损失值”;当设备每出现一次异常,在当前“健康权重值”就减去对应的“异常损失值”,直到为零;当“健康权重值”,通过本地声光报警,或者远程发送告警信息通知用户及时处理;
设备每次重启,都从flash中读出“健康权重值”,进行通报;
设备正常重启时,会写入一个“设备异常重启标志位”到flash中;设备重启时,会尝试去读取该标志位,如果发现设备发生了异常重启,则会在当前“健康权重值”就减去对应的“异常损失值”,并将新“健康权重值”写入flash,同时清空“设备异常重启标志位”。
主,备串口服务器同时和远端的服务器建立TCP/IP连接;主,备串口服务器同时和远端服务器设备之间维持keepalive心跳消息,以表明当前健康情况;
主,备串口服务器之间定时发送keepalive心跳消息,以表明当前健康情况;
主串口服务器收到总线设备的数据后,正常转发给远端的服务器;主串口服务器收到远端服务器下发的业务数据后,正常转发给对应的总线设备。
备串口服务器收到总线设备的数据后,丢弃不转发给远端的服务器;备串口服务器收到远端服务器下发的业务数据后,丢弃不转发给对应的总线设备
当备串口服务器通过心跳发现主串口服务器异常达到“主备切换”标准时,触发“主服务器选举流程”,重新选举出“主串口服务器”;
新的主串口服务器收到总线设备的数据后,正常转发给远端的服务器;新的主串口服务器收到远端服务器下发的业务数据后,正常转发给对应的总线设备。由于备串口服务器一致和服务器之间的连接是建立的,所以整个切换过程会非常快。
在本发明的一个可选实施例中,本发明基于上述多串口服务器系统构建一种通过控制信令通道进行负载均衡控制的负载均衡串口服务器系统,该系统至少包含有两台同型号的串口服务器设备,这里假设为A和B;但是不限于只有两台串口服务器设备的情况。串口设备C同时通过串口等总线(RS485/232/422等)接入串口服务器A和串口服务器B;保证同一份上行数据可以同时发给串口服务器A和B;串口服务器A和B之间通过网络相连,以便进行必要的信令通信,成为“控制信令通道”;这种连接可以但不限于是蓝牙,串口,Ethernet、Wi-Fi,NFC,Zigbee等;串口服务器A和B同时和远端的服务器建立TCP/IP连接。
本发明通过控制信令通道进行负载均衡控制时,
各多串口服务器之间通过控制信令通道通报对应的端口情况,并创建虚拟串口映射能力表;
对各多串口服务器的串口转发业务进行配置,设定串口设备的的工作模式以及需与TCP服务建立的数据转发业务;
将多串口服务器超出所配置的数据转发业务通过控制信令通道下发至其它多串口服务器,并将各多串口服务器的实际数据转发业务写入其flash;
当多串口服务器重启时通过控制信令通道查询其它多串口服务器是否加入构建的负载均衡组;若是,则获取对应的多串口服务器的数据转发业务配置信息,生成虚拟的负载均衡后整体转发业务映射表进行展示;否则不作处理。
具体而言,串口服务器A和串口服务器B 上电;
同时在串口服务器A和串口服务器B 上开启“负载均衡”功能,两者通过“控制信令通道”开始通报各自端口情况;两者创建一份虚拟串口映射能力表,此时每台设备对外呈现的网络接入能力在原有的基础上*N,这里的N是参与负载均衡的同型号设备的数量。例如:如果单台设备每个串口最多只能接入4个TCP server,则完成负载均衡后,每台设备对外均呈现为:每个串口最多只能接入8个TCP server;
在任何一台设备上对串口转发业务进行配置;例如在用户在串口设备B上配置串口1工作在TCP client模式,并且需要和7个TCP server建立数据转发业务;
串口服务器B将超出自己能力的转发业务,通过“控制信令通道”下发给串口服务器A;此时:串口服务器B的串口1实际对接4个TCP server,串口服务器A的串口1实际对接3个TCP server;当然也可以采用其他算法,例如串口服务器B通过算法获取一个小于等于4的随机数,根据这个随机数来觉得自己承担多少实际业务。串口服务器A和串口服务器B将实际业务存入自己的flash中;
串口服务器B和串口服务器A 的管理配置页面除了能够展示自己的实际转发业务外,还可以对外展示一个虚拟的负载均衡后整体转发业务;
每次串口服务器重新启动后,如果发现自己开启“负载均衡”功能,都会通过“控制信令通道”查询伙伴是否加入也“负载均衡”组,如果加入“负载均衡”组,则获得伙伴实际的转发业务能力,形成一个虚拟的负载均衡后整体转发业务映射表,并对外展示。
在本发明的一个可选实施例中,本发明基于上述多串口服务器系统构建一种通过多串口服务器网关与各多串口服务器组建的虚拟串口服务器集群系统,如图3所示,其中多串口服务器网关用于添加所组建多串口服务器集群中的多串口服务器并进行认证,对所组建多串口服务器集群中的各多串口服务器配置虚拟串口信息和数据转发业务。
多串口服务器网关添加所组建多串口服务器集群中的多串口服务器并进行认证,对所组建多串口服务器集群中的各多串口服务器配置虚拟串口信息和数据转发业务的方法为:
分别将多串口服务器网关和多串口服务器上电,配置网络参数,设定多串口服务器网关的IP地址和认证密钥;
多串口服务器发送用于发现多串口服务器网关的消息;
多串口服务器网关收到用于发现多串口服务器网关的消息后,将所设定的IP地址和端口号单播发送消息至对应的多串口服务器网关;
多串口服务器向多串口服务器网关单播发送其串口配置、数据转发能力及认证密钥;
多串口服务器网关根据认证密钥进行认证后添加该多串口服务器,并虚拟与该多串口服务器的实体串口对应数量的虚拟串口;
多串口服务器网关配置串口数据转发业务后下发配置信息至各多串口服务器,并将远端服务器的IP地址替换为多串口服务器网关的IP地址,串口号替换为多串口服务器网关的虚拟串口对应的实体串口号。
虚拟串口服务器集群包括若干实体串口服务器;一台串口服务器网关:具有至少两个Ethernet网口,一个或者多个WAN口,WAN口用于对接北向的网络服务器;一个或者多个LAN口,通过内部网络和实体串口服务器对接;“串口服务器网关”上内嵌嵌入式web服务器,可以外提供串口服务器配置管理web界面,该web页面上的串口数量,可以根据“串口服务器集群管理”程序协商结果动态变化;分别运行在“串口服务器”和“串口服务器网关”上的“串口服务器集群管理”程序。用户可以手动管理集群中串口服务器,也可以利用“串口服务器集群管理”自动管理集群中的串口服务器。
其中手动管理集群中串口服务器的方法为:
1)串口服务器网关上电
2)串口服务器A上电,通过网线接入到内网中,配置网络参数,指定“串口服务器网关”的IP地址,以及认证密钥,保证“串口服务器网关”可以正常双向通信;
3)在“串口服务器网关”上添加该串口服务器,启动认证:“串口服务器网关”发送消息给"串口服务器A",两个交换密钥,完成接入认证;认证完成,“串口服务器网关”在自己网页上虚拟出对应的串口数量对应"串口服务器A"的实体串口;例如:"串口服务器A"有两个RS485串口,则“串口服务器网关”虚拟出串口2(RS485),和串口3(RS485)对应之;
4)串口服务器B上电,通过网线接入到内网中,配置网络参数,指定“串口服务器网关”的IP地址,以及认证密钥,保证“串口服务器网关”可以正常双向通信;
5)在“串口服务器网关”上添加该串口服务器,启动认证:“串口服务器网关”发送消息给"串口服务器B",两个交换密钥,完成接入认证;认证完成,“串口服务器网关”在自己网页上虚拟出对应的串口数量对应"串口服务器A"的实体串口;例如:"串口服务器B"有4个RS232串口,则“串口服务器网关”虚拟出串口7(RS232)、串口8(RS232) 、串口9(RS232) 、串口10(RS232)对应之;
6)依照以上步骤完成其他实体串口服务器添加;
7)通过以上步骤,“串口服务器网关”对于北向来说,呈现的是一个支持多种串口接口形式,甚至是同时支持CAN/RS485/RS232/RS422任意组合的虚拟多串口服务器;
8)用户通过“串口服务器网关”的web网页,像配置实体设备一样串口数据转发业务;
9)配置完成后,“串口服务器网关”下发相应的配置给实体串口服务器,其中“北向服务器地址”替换为“串口服务器网关”的地址,串口替换为虚拟串口对应的实体串口号。
10)在实体串口上接好串口设备,开始进行正常通讯;
11)“串口服务器网关”收到北向服务器的消息后,查询内部映射表,将消息转发给对应的实体串口服务器的对应网络端口;“串口服务器网关”收到南向串口服务器的消息后,查询内部映射表,转发给对应的北向服务器。
自动管理集群中串口服务器的方法为:
1)串口服务器网关上电
2)串口服务器A上电,通过网线接入到内网中,配置网络参数,指定“串口服务器网关”的IP地址,以及认证密钥,保证“串口服务器网关”可以正常双向通信;
3)串口服务器A上的“串口服务器集群管理”发送消息(组播或者广播),用于发现“串口服务器网关”;
4)串口服务器网关收到“发现串口服务器网关”消息后(组播或者广播),单播发送消息给串口服务器A,自己的IP地址和端口号;
5)串口服务器A向串口服务器网关单播发送自己的串口配置,以及转发能力给串口服务器网关;
6)“串口服务器网关”在自己网页上虚拟出对应的串口数量对应"串口服务器A"的实体串口;例如:"串口服务器A"有4个RS232串口,则“串口服务器网关”虚拟出串口7(RS232)、串口8(RS232) 、串口9(RS232) 、串口10(RS232)对应之;
7)通过以上步骤,“串口服务器网关”对于北向来说,呈现的是一个支持多种串口接口形式,甚至是同时支持CAN/RS485/RS232/RS422任意组合的虚拟多串口服务器;
8)其他流程同手动配置。
在本发明的一个可选实施例中,本发明的多串口服务器包括多个具有多个串口的串口模块,以及与各串口模块进行数据通信的串口服务器主控单元,如图4所示;
所述串口模块用于设置自身的IP地址,并分别与串口设备和串口服务器主控单元进行数据交换;
所述串口服务器主控单元用于进行网络配置和串口功能配置,受控与各串口模块进行数据交换和配置管理,建立各串口模块的端口映射规则和端口转发规则进行数据路由转发。
本发明通过串口服务器主控单元将整个系统虚拟成一台串口服务器,通过端口映射等技术将各串口模块的串口服务器映射到串口服务器主控单元的端口上,计算机只需要知道整个系统的一个IP地址就可;并且通过电路板上的电路将各串口模块一对一地和串口服务器主控单元连接;连线长度在20cm以内,同时每个“串口子模块”的流量相互不影响。
其中串口模块包括网络通信单元、复位控制单元、IP设置单元和串口单元;
所述网络通信单元用于对外部设备建立网络服务器,并且接收串口服务器主控单元下发的管理信息;
所述复位控制单元用于接收串口服务器主控单元下发的复位控制消息,对串口模块进行复位控制;
所述IP设置单元用于向其他串口模块发送状态信息,设置自身的IP地址;
所述串口单元用于与串口设备进行数据交换。
本发明通过电路将串口服务器主控单元和串口模块的复位控制电路连接,可以实现准确的硬件电路复位,提高复位可靠性和复位速度。
串口服务器主控单元包括调试串口、web配置管理单元、串口模块管理单元、网络路由转发单元和网络交换单元;
所述调试串口用于接收外部调试信息,并控制与各串口模块的信号连通;
所述web配置管理单元用于对外部设备建立web服务器,并进行网络配置和串口功能配置;
所述串口模块管理单元用于对各串口模块进行配置管理和心跳监测、端口映射规则建立管理;
所述网络路由转发单元用于根据建立的各串口模块的端口映射规则和端口转发规则进行数据路由转发;
所述网络交换单元用于与各串口模块进行数据交换。
本发明通过电路将串口服务器主控单元和串口模块的调试串口连接,并通过片选机制来确定和哪个串口模块的调试串口联通,从而从物理链路上对外提供一个调试接口,但是可以同时对串口服务器主控单元和串口模块进行调试。
串口服务器主控单元建立各串口模块的端口映射规则和端口转发规则的方法为:
设置各串口模块的串口端口类型和端口数量,保存各串口模块的端口表;
配置串口模块的串口端口的工作模式和端口号;
根据端口表查找端口模块的IP地址和对应串口的端口号,通知串口模块打开对应端口号的服务器,同时将查找的端口号映射到配置的端口号。
具体而言,本发明设置多串口服务器包括4个具有8个串口的“串口模块;一个串口服务器主控单元:具有至少5个Ethernet网口,一个或者多个WAN口,WAN口用于对接北向的网络服务器;4个或者多个LAN口,通过内部网络和“串口模块”对接;整个设备通过硬件电路整合在一个设备内,形成一个多串口服务器。
本发明的多串口服务器可以提供一个或者多个网口;32个串口,串口可以是RS232/RS485/RS422的各种组合;一个web管理配置单元;一个调试串口,对外提供设备调试功能;该调试串口通过电路和4个“串口模块”的调试串口相连;通过切换开关来控制是否和各“串口模块”信号接通;同时还可以对“串口服务器主控单元”的MCU进行调试。
串口模块由如下几部分组成:
1)网络通信单元:对外提供TCP/UDP server, TCP client等网络服务器;处理来自“串口服务器主控单元”的管理消息;
2)复位控制:接收来自“串口服务器主控单元”复位控制消息,然后复位“串口模块”;
3)IP设置装置:通过拨码开关或者上下拉电阻,让各“串口模块”获知状态,从而设置自己的IP地址,从而避免多个“串口模块”产生IP冲突。通过该装置将“串口模块”的IP地址设置为“设备内网网段”的101,102,103,104几个IP地址。“设备内网网段”由用户通过web配置管理界面进行分配,由用户保证该网段在用户内网的唯一性;例如用户设置“设备内网网段”为192.168.88.0/24时,“串口模块管理单元”的设备内网IP为192.168.88.1/24,并且是内网网关;“串口模块”A的设备内网IP为192.168.88.101/24, “串口模块”B的设备内网IP为192.168.88.102/24, “串口模块”C的设备内网IP为192.168.88.103/24, “串口模块”D的设备内网IP为192.168.88.104/24;
4)串口单元:对外提供物理串口服务。
本发明的串口模块作为分布式单元,是主要完成实际的串口转网络功能的单元;通过串口服务器主控单元接收来自外部的串口服务器数据,通过串口服务器主控单元对外发送网络数据。
串口服务器主控单元由如下几部分组成:
1)调试串口:对外提供设备调试功能;该调试串口通过电路和4个“串口模块”的调试串口相连;通过切换开关来控制是否和各“串口模块”信号接通;同时还可以对“串口服务器主控单元”的MCU进行调试。
2)web配置管理单元:对外提供web服务器,通过web服务可以完成设备网络配置,串口功能配置等;
3)串口模块管理单元:主要负责主控单元和各“串口模块”之间的配置管理,心跳监测,端口映射规则建立等管理功能
4)网络路由转发单元:根据“串口模块管理单元”建立的“端口映射”,“端口转发”规则;进行数据的路由转发;
5)网络交换单元:主控单元通过该单元和各“串口模块”进行网络连接,完成以太网数据的交换功能。
4)一个可选的无线通信单元:用户可以通过该无线通信单元连接设备,对设备进行配置管理和调试。
本发明的串口服务器主控单元可以提供嵌入式web配置管理服务;一个或者多个网络接口;一个调试串口,用于对设备进行调试。
端口映射和端口转发过程如下:
一)每个“串口模块”的每个串口至少预留以下端口,由于每个“串口模块”IP地址不同,所以端口是一样的:
这个端口在“串口模块”代码中固定死;
一个TCP server端口,例如:10000 到10008;为8个串口对应的TCP server端口
8个TCP client端口:例如11000到110008;为第一个串口的8个端口;11010到110018是第二个串口的8个串口,其他串口的端口以此类推;
8个UDP端口:例如12000到120008;为第一个串口的8个端口;12010到120018是第二个串口的8个串口,其他串口的端口以此类推;
二)“串口服务器主控单元”保存一张各“串口模块”的端口表;
当客户通过web配置页面配置“串口模块”A的第一个串口端口工作在TCP server模式,端口设定为6000时;
1)“串口服务器主控单元”查表知道“串口模块”A的IP地址为192.168.88.101/24,对应的“串口模块”A的第一个串口的端口号为10000;
2)它通知“串口模块”A打开端口号为10000的TCP server服务器;
3)同时“串口服务器主控单元”将192.168.88.101:10000 映射到自己的6000端口;
4)这样192.168.88.101:10000就通过端口映射成整个串口服务器对外提供端口号为6000的TCP server;
串口服务器和外部设备之间的以太网数据,通过端口映射,实际上是和内部“串口模块”A的TCP 10000端口之间进行通讯;
三) TCP client和UDP的情况同上。
需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其它实施例的相关描述。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
Claims (10)
1.一种具有冗余主备和负载均衡的多串口服务器系统,其特征在于,包括:
至少两个多串口服务器,用于通过主备信令通道进行主备选举或通过控制信令通道进行负载均衡控制,将远端服务器下发的业务数据转发至串口设备,并将所述串口设备上传的串口数据转发至所述远端服务器;
至少一个串口设备,用于将串口数据上传至多串口服务器,并接收多串口服务器转发的业务数据;及
远端服务器,用于将业务数据下发至多串口服务器,并接收多串口服务器转发的串口数据。
2.根据权利要求1所述的具有冗余主备和负载均衡的多串口服务器系统,其特征在于,所述多串口服务器通过主备信令通道进行主备选举时,
各多串口服务器之间通过主备信令通道进行握手,并通报对应多串口服务器的健康权重值;
根据各多串口服务器的健康权重值选举产生一个主多串口服务器,并将其它多串口服务器设置为备多串口服务器。
3.根据权利要求2所述的具有冗余主备和负载均衡的多串口服务器系统,其特征在于,所述多串口服务器的健康权重值的产生方法为:
在多串口服务器第一次启动时,根据MAC地址,将当前时间作为起点,生成一个随机数,作为初始的健康权重值写入flash;
设定多串口服务器的不同异常情况对应的异常损失值,当多串口服务器每出现一次异常时将当前的健康权重值减去对应的异常损失值,并将新的健康权重值写入flash;
当多串口服务器异常重启时,写入一个异常重启标志位到flash中;
当多串口服务器重启时,通过读取flash中的异常重启标志位判断多串口服务器是否发生了异常重启;若是,则将当前的健康权重值减去对应的异常损失值,并将新的健康权重值写入flash;否则不作处理。
4.根据权利要求1所述的具有冗余主备和负载均衡的多串口服务器系统,其特征在于,所述多串口服务器通过控制信令通道进行负载均衡控制时,
各多串口服务器之间通过控制信令通道通报对应的端口情况,并创建虚拟串口映射能力表;
对各多串口服务器的串口转发业务进行配置,设定串口设备的的工作模式以及需与TCP服务建立的数据转发业务;
将多串口服务器超出所配置的数据转发业务通过控制信令通道下发至其它多串口服务器,并将各多串口服务器的实际数据转发业务写入其flash;
当多串口服务器重启时通过控制信令通道查询其它多串口服务器是否加入构建的负载均衡组;若是,则获取对应的多串口服务器的数据转发业务配置信息,生成虚拟的负载均衡后整体转发业务映射表进行展示;否则不作处理。
5.根据权利要求1所述的具有冗余主备和负载均衡的多串口服务器系统,其特征在于,还包括与各多串口服务器组建多串口服务器集群的多串口服务器网关;
所述多串口服务器网关用于添加所组建多串口服务器集群中的多串口服务器并进行认证,对所组建多串口服务器集群中的各多串口服务器配置虚拟串口信息和数据转发业务。
6.根据权利要求5所述的具有冗余主备和负载均衡的多串口服务器系统,其特征在于,所述多串口服务器网关添加所组建多串口服务器集群中的多串口服务器并进行认证,对所组建多串口服务器集群中的各多串口服务器配置虚拟串口信息和数据转发业务的方法为:
分别将多串口服务器网关和多串口服务器上电,配置网络参数,设定多串口服务器网关的IP地址和认证密钥;
多串口服务器发送用于发现多串口服务器网关的消息;
多串口服务器网关收到用于发现多串口服务器网关的消息后,将所设定的IP地址和端口号单播发送消息至对应的多串口服务器网关;
多串口服务器向多串口服务器网关单播发送其串口配置、数据转发能力及认证密钥;
多串口服务器网关根据认证密钥进行认证后添加该多串口服务器,并虚拟与该多串口服务器的实体串口对应数量的虚拟串口;
多串口服务器网关配置串口数据转发业务后下发配置信息至各多串口服务器,并将远端服务器的IP地址替换为多串口服务器网关的IP地址,串口号替换为多串口服务器网关的虚拟串口对应的实体串口号。
7.根据权利要求1所述的具有冗余主备和负载均衡的多串口服务器系统,其特征在于,所述多串口服务器包括多个具有多个串口的串口模块,以及与各串口模块进行数据通信的串口服务器主控单元;
所述串口模块用于设置自身的IP地址,并分别与串口设备和串口服务器主控单元进行数据交换;
所述串口服务器主控单元用于进行网络配置和串口功能配置,受控与各串口模块进行数据交换和配置管理,建立各串口模块的端口映射规则和端口转发规则进行数据路由转发。
8.根据权利要求7所述的具有冗余主备和负载均衡的多串口服务器系统,其特征在于,所述串口模块包括网络通信单元、复位控制单元、IP设置单元和串口单元;
所述网络通信单元用于对外部设备建立网络服务器,并且接收串口服务器主控单元下发的管理信息;
所述复位控制单元用于接收串口服务器主控单元下发的复位控制消息,对串口模块进行复位控制;
所述IP设置单元用于向其他串口模块发送状态信息,设置自身的IP地址;
所述串口单元用于与串口设备进行数据交换。
9.根据权利要求7所述的具有冗余主备和负载均衡的多串口服务器系统,其特征在于,所述串口服务器主控单元包括调试串口、web配置管理单元、串口模块管理单元、网络路由转发单元和网络交换单元;
所述调试串口用于接收外部调试信息,并控制与各串口模块的信号连通;
所述web配置管理单元用于对外部设备建立web服务器,并进行网络配置和串口功能配置;
所述串口模块管理单元用于对各串口模块进行配置管理和心跳监测、端口映射规则建立管理;
所述网络路由转发单元用于根据建立的各串口模块的端口映射规则和端口转发规则进行数据路由转发;
所述网络交换单元用于与各串口模块进行数据交换。
10.根据权利要求7所述的具有冗余主备和负载均衡的多串口服务器系统,其特征在于,所述串口服务器主控单元建立各串口模块的端口映射规则和端口转发规则的方法为:
设置各串口模块的串口端口类型和端口数量,保存各串口模块的端口表;
配置串口模块的串口端口的工作模式和端口号;
根据端口表查找端口模块的IP地址和对应串口的端口号,通知串口模块打开对应端口号的服务器,同时将查找的端口号映射到配置的端口号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110905811.6A CN113347280B (zh) | 2021-08-09 | 2021-08-09 | 一种具有冗余主备和负载均衡的多串口服务器系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110905811.6A CN113347280B (zh) | 2021-08-09 | 2021-08-09 | 一种具有冗余主备和负载均衡的多串口服务器系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113347280A true CN113347280A (zh) | 2021-09-03 |
CN113347280B CN113347280B (zh) | 2021-11-02 |
Family
ID=77481120
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110905811.6A Active CN113347280B (zh) | 2021-08-09 | 2021-08-09 | 一种具有冗余主备和负载均衡的多串口服务器系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113347280B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116647515A (zh) * | 2023-04-14 | 2023-08-25 | 南京粒聚智能科技有限公司 | 一种串口通信转发功能的边缘计算网关通信方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101789889A (zh) * | 2010-01-14 | 2010-07-28 | 瑞斯康达科技发展股份有限公司 | 一种自动测试通信设备的方法及系统 |
CN201608541U (zh) * | 2009-12-31 | 2010-10-13 | 上海纽恩新能源科技有限公司 | 基于以太网的太阳能光伏智能电站 |
CN102682588A (zh) * | 2012-05-15 | 2012-09-19 | 云南电网公司西双版纳供电局 | 一种基于以太网实时点对点电能表集中抄表系统 |
CN103063948A (zh) * | 2012-12-17 | 2013-04-24 | 辽宁省电力有限公司电力科学研究院 | 电能采集终端功能测试系统及方法 |
CN106850713A (zh) * | 2015-12-04 | 2017-06-13 | 北京东土科技股份有限公司 | 基于串口服务器的数据传输方法及装置、串口服务器 |
US20180048619A1 (en) * | 2016-08-15 | 2018-02-15 | Cisco Technology, Inc. | Internet protocol (ip) network virtualization of serial network endpoints |
CN107948045A (zh) * | 2017-12-25 | 2018-04-20 | 上海京颐科技股份有限公司 | 基于网桥的医患系统 |
-
2021
- 2021-08-09 CN CN202110905811.6A patent/CN113347280B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201608541U (zh) * | 2009-12-31 | 2010-10-13 | 上海纽恩新能源科技有限公司 | 基于以太网的太阳能光伏智能电站 |
CN101789889A (zh) * | 2010-01-14 | 2010-07-28 | 瑞斯康达科技发展股份有限公司 | 一种自动测试通信设备的方法及系统 |
CN102682588A (zh) * | 2012-05-15 | 2012-09-19 | 云南电网公司西双版纳供电局 | 一种基于以太网实时点对点电能表集中抄表系统 |
CN103063948A (zh) * | 2012-12-17 | 2013-04-24 | 辽宁省电力有限公司电力科学研究院 | 电能采集终端功能测试系统及方法 |
CN106850713A (zh) * | 2015-12-04 | 2017-06-13 | 北京东土科技股份有限公司 | 基于串口服务器的数据传输方法及装置、串口服务器 |
US20180048619A1 (en) * | 2016-08-15 | 2018-02-15 | Cisco Technology, Inc. | Internet protocol (ip) network virtualization of serial network endpoints |
CN107948045A (zh) * | 2017-12-25 | 2018-04-20 | 上海京颐科技股份有限公司 | 基于网桥的医患系统 |
Non-Patent Citations (1)
Title |
---|
何韵怡等: "播出域的自动技审系统结构设计与实施", 《现代电视技术》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116647515A (zh) * | 2023-04-14 | 2023-08-25 | 南京粒聚智能科技有限公司 | 一种串口通信转发功能的边缘计算网关通信方法 |
CN116647515B (zh) * | 2023-04-14 | 2023-11-17 | 南京粒聚智能科技有限公司 | 一种串口通信转发功能的边缘计算网关通信方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113347280B (zh) | 2021-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3511875B2 (ja) | 通信制御システム | |
US9479434B2 (en) | Virtual destination identification for rapidio network elements | |
US20180359321A1 (en) | Redundant and Selectable Gateway and Control Elements for Remote Connected Thermostats | |
CN109768908B (zh) | 一种vxlan的配置方法、设备及系统 | |
JP2008228150A (ja) | スイッチ装置及びフレーム交換方法とそのプログラム | |
CN109547875B (zh) | 一种fc交换网络任意端口接入设计方法 | |
EP2983342B1 (en) | Internet protocol addressing of industrial control devices employing the network ring topology | |
WO2016161564A1 (zh) | 一种网关设备自动组网的方法及装置 | |
US20150160628A1 (en) | Web-based interaction with building automation | |
CN104838625A (zh) | 通信系统、控制装置、通信控制方法、传输控制方法以及传输控制程序 | |
CN113347280B (zh) | 一种具有冗余主备和负载均衡的多串口服务器系统 | |
CN104410527A (zh) | 一种拓扑检测方法、交换机及热堆叠系统 | |
CN107852344A (zh) | 存储网元发现方法及装置 | |
US10523629B2 (en) | Control apparatus, communication system, communication method, and program | |
WO2018003597A1 (ja) | サーバ、スイッチ、通信システム、通信方法、及び記録媒体 | |
US8774058B2 (en) | Network system and method for determining network path | |
CN111164953B (zh) | 在工业自动化系统中提供名称服务的方法和交换机 | |
CN111314394B (zh) | 物联网的资源发布方法、装置、设备及存储介质 | |
US9838218B2 (en) | Method for providing overlay network interworking with underlay network and system performing same | |
JP2022088481A (ja) | 通信装置、通信システム、機器制御システム、通信制御方法及びプログラム | |
US9438744B2 (en) | Method and data transmission device for data transmission within an xDSL data transmission system connecting at least two ethernet networks via xDSL links | |
US10523457B2 (en) | Network communication method, system and controller of PCIe and Ethernet hybrid networks | |
JP2011097226A (ja) | ネットワーク監視システム | |
JP7065339B2 (ja) | 通信装置、通信インタフェース、通信システム、機器制御システム、通信制御方法及びプログラム | |
WO2016098321A1 (ja) | 機器管理装置、機器管理システム、および機器管理方法 |
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 |