CN111970362A - 基于lvs的车联网网关集群方法及系统 - Google Patents

基于lvs的车联网网关集群方法及系统 Download PDF

Info

Publication number
CN111970362A
CN111970362A CN202010827895.1A CN202010827895A CN111970362A CN 111970362 A CN111970362 A CN 111970362A CN 202010827895 A CN202010827895 A CN 202010827895A CN 111970362 A CN111970362 A CN 111970362A
Authority
CN
China
Prior art keywords
gateway
vehicle
mounted terminal
terminal
tcp
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
Application number
CN202010827895.1A
Other languages
English (en)
Other versions
CN111970362B (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.)
Shanghai Shihang Network Technology Co ltd
Original Assignee
Shanghai Shihang Network Technology 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 Shanghai Shihang Network Technology Co ltd filed Critical Shanghai Shihang Network Technology Co ltd
Priority to CN202010827895.1A priority Critical patent/CN111970362B/zh
Publication of CN111970362A publication Critical patent/CN111970362A/zh
Application granted granted Critical
Publication of CN111970362B publication Critical patent/CN111970362B/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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0663Performing the actions predefined by failover planning, e.g. switching to standby network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了基于LVS的车联网网关集群方法,包括以下步骤:车载终端通过VIP和Port发起TCP连接;LB1通过局域网接收TCP数据包,LB1对TCP数据包进行修改,并将修改后的TCP数据包发送到局域网;实际网关服务器通过所述局域网接收修改后的TCP数据包,并对接收的数据进行解析,得到终端数据,将终端数据存储到Kafka消息队列;Redis数据库订阅所述Kafka消息队列,并缓存终端数据。本发明的车载终端通过统一的VIP连接到负载均衡服务器1,负载均衡服务器1拥有统一的网关IP地址和接收端口,车联网系统能够通过统一的网关IP地址和接收端口准确的了解车载终端的具体状况,方便对车载设备进行管理。

Description

基于LVS的车联网网关集群方法及系统
技术领域
本发明属于基于网络信息交接技术领域,特别涉及基于LVS的车联网网关集群方法及系统。
背景技术
在车联网系统中,为了减少网络流量,保证通信实时性,大部分车载终端与车联网平台通过TCP长连接进行通信。车联网平台的网关子系统负责与终端建立TCP长连接,接收并解析终端上报的数据。当平台接入数万终端时,网关需要维持大量的TCP长连接。解析终端上报数据时,网关需要在内存中进行大量的二进制数据移动、复制、截取、拼接等操作。因此,网关面临较大压力。单点网关无法支持数万车载终端同时上报数据,无法保证系统稳定。
现有大型车联网系统,通常启动多个网关,这些网关监听不同的IP或端口。多个网关之间无法协同工作,做到动态负载均衡。也不具备高可用功能。某个网关故障,连接到该网关的终端不会自动分配到其它健康网关,造成大量终端掉线。随便接入终端数量增多,新接入的终端需要接入到新架设的网关,无法做到动态扩充扩容,这样增加了终端管理的难度。
因此,发明基于LVS的车联网网关集群方法及系统来解决上述问题很有必要。
发明内容
针对上述问题,本发明提供了基于LVS的车联网网关集群方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:基于LVS的车联网网关集群方法,包括以下步骤:
车载终端通过VIP和Port发起TCP连接,并向LB1和LB2分别发送TCP数据包;
LB1通过局域网接收TCP数据包,LB1对TCP数据包进行修改,并将修改后的TCP数据包发送到局域网;
实际网关服务器通过所述局域网接收修改后的TCP数据包,并对接收的数据进行解析,得到终端数据,将终端数据存储到Kafka消息队列;
Redis数据库订阅所述Kafka消息队列,并缓存终端数据;
车联网平台后端下发指令时,调用网关集群代理接口,网关集群代理从Redis数据库中查询终端数据;
当车载终端为上线状态,网关集群代理下发指令到车载终端;
当车载终端为下线状态,网关集群代理缓存下发指令,直至车载终端上线。
进一步的,所述车载终端通过VIP和Port发起TCP连接包括:
车载终端通过VIP向LB1和LB2发送TCP对接申请;
LB2为LB1的备份,所述车载终端与LB1建立TCP连接。
进一步的,所述LB2为LB1的备份包括:
在同一物理网络区域内,LB2和LB1均安装keepalived;
所述keepalived将LB2中配置文件state修改为Backup,且LB2的其余配置文件与LB1相同。
进一步的,所述LB1对TCP数据包进行修改,并将修改后的TCP数据包发送到局域网包括:
LB1收到TCP数据包后,根据加权轮询调度算法从网关服务器RS1和网关服务器RS2中挑选一台服务器RSn作为实际网关服务器,其网关编号为Gn;
LB1将TCP数据包的目标Mac地址修改为实际网关服务器RS的Mac地址,并将修改后的TCP数据包发送到局域网内。
所述实际网关服务器通过所述局域网接收修改后的TCP数据包,并对接收的数据进行解析,得到终端数据包括:
实际网关服务器RSn接收到修改后的TCP数据包,按照车联网通信协议解析修改后的TCP数据包;
实际网关服务器RSn记录车载终端的上线状态和上线时间,且实际网关服务器RSn将车载终端上报的TCP数据包写入Mongodb数据库,将终端编号TID、网关编号Gn、上线状态和上线时间写入Kafka消息队列。
进一步的,所述Redis数据库订阅所述Kafka消息队列,并缓存终端数据包括:
所述Redis数据库将终端编号TID和所在网关编号Gn、上线状态和上线时间均放入缓存;
当车载终端下线时,TCP连接断开,车载终端所在的网关Gn与网关集群代理从Redis数据库中查询所述车载终端的上下线状态和最后一次上线时所在的网关编号Gm进行比较;
若Gn等于Gm,则车载终端正常下线,将终端编号TID、网关编号Gn、下线状态和下线时间写入Kafka消息队列,再进入Redis数据库中缓存;
若Gn不等于Gm,则车载终端通过其他网关编号上线,不将下线状态写入Kafka消息队列。
进一步的,所述车联网平台后端下发指令时,调用网关集群代理接口,网关集群代理从Redis数据库中查询终端数据包括:
车联网平台后端下发指令时,调用网关集群代理接口,Redis数据库将终端编号TID和其它指令参数发送给网关集群代理;
网关集群代理从Redis数据库查询车载终端所在的网关编号Gn、上下线状态;
若车载终端为上线状态,网关集群代理根据查询得到的网关编号Gn,调用该网关编号Gn下发接口的指令,网关编号Gn收到指令下发请求时,选取对应的TCP连接,将指令下发到车载终端;
若如果车载终端为下线状态,网关集群代理缓存下发接口的指令,待车载终端下次上线时,继续车载终端为上线状态的过程。
本发明还提供如下技术方案:基于LVS的车联网网关集群系统,包括:
车载终端,用于通过VIP和Port发起TCP连接,并向LB1和LB2分别发送TCP数据包;
LB1,用于通过局域网接收TCP数据包,LB1对TCP数据包进行修改,并将修改后的TCP数据包发送到局域网;
实际网关服务器,用于通过所述局域网接收修改后的TCP数据包,并对接收的数据进行解析,得到终端数据,将终端数据存储到Kafka消息队列;
Redis数据库,用于订阅所述Kafka消息队列,并缓存终端数据;
车联网平台后端,用于下发指令时,调用网关集群代理接口;
网关集群代理,用于从Redis数据库中查询终端数据;
当车载终端为上线状态,网关集群代理下发指令到车载终端;
当车载终端为下线状态,网关集群代理缓存下发指令,直至车载终端上线。
进一步的,所述车载终端包括申请单元和连接单元;
所述申请单元,用于通过VIP向LB1和LB2发送TCP对接申请;
所述连接单元,用于与LB1建立TCP连接。
本发明的技术效果和优点:
1、本发明的车载终端通过统一的VIP连接到负载均衡服务器1,负载均衡服务器1拥有统一的网关IP地址和接收端口,车联网系统能够通过统一的网关IP地址和接收端口准确的了解车载终端的具体状况,方便对车载设备进行管理。
2、本发明通过LVS的调度算法可以调整网关服务器1的负载,调度算法可以设置静态的调度算法,也可以设置动态调度算法,根据网关服务器的权值为网关服务器分配不同数量的负载均衡服务器1。权值越高,网关服务器分配的负载均衡服务器1越多。
3、本发明的keepalived的健康检查机制可以快速发现故障网关服务器,并将网关服务器从系统中移除。新创建的TCP连接不会分配到故障的网关服务器。
4、本发明的两台负载均衡调度服务器做主备,LB1为主系,LB2为备系。其中一台故障时,另外一台立即自动接管LVS,虚拟地址VIP自动漂移到另一台负载均衡调度服务器,这样保证网关处于高可用状态。
5、Redis数据库记录了车载终端最近一次上线时连接的网关编号Gn。当车联网平台下指令时,网关集群代理可以从Redis数据库中查询到车载终端连接的实际网关服务器RSn。
附图说明
图1示出了根据本发明实施例的车联网网关集群流程结构示意图;
图2示出了根据本发明实施例的网关集群过程结构示意图。
具体实施方式
下面举个较佳实施例,并结合附图来更清楚完整地说明本发明。
本发明提供了如图1所示的基于LVS的车联网网关集群方法,包括以下步骤:
步骤一:车载终端通过VIP和Port(接收端口)发起TCP连接,并向LB1和LB2分别发送TCP数据包。
LVS(Linux Virtual Server-linux虚拟服务器)是一个开源软件。示例性的,LVS负载均衡技术使用Linux内核集群实现一个高性能、高可用的负载均衡服务器,将多台服务器组成一个虚拟服务器。LVS工作在网络OSI(Open System Interconnection-开放式系统互联)第四层之上仅作分发之用,没有流量产生。LVS负载能力强,对内存和CPU资源消耗比较低。
车载终端通过VIP(Virtual IP Address-虚拟IP地址)向负载均衡服务器1(LB1和LB2)发送TCP对接申请。而LB2为LB1的备份,从而车载终端与LB1建立TCP连接。在图1中,车载终端通过统一的VIP连接到负载均衡服务器1(LB1和LB2),负载均衡服务器1(LB1和LB2)拥有统一的网关IP地址和接收端口(Port),车联网系统能够通过统一的网关IP地址和接收端口,方便对车载设备进行管理。
LB2为LB1的备份,情况如下:
在同一物理网络区域内,LB1上安装keepalived(交换机制软件),其IP地址为DIP1。通过keepalived管理LVS,虚拟的IP地址为VIP,在LB1的keepalived配置里,将lvs_method配置为DR模式(直接路由模式),将lvs_sched配置为wrr(加权轮询)调度算法。
示例性的,lvs_method配置为DR模式:负载均衡服务器1与网管服务器1均处于同一物理网络区域内,且VIP地址在负载均衡服务器1与网管服务器1之间共享。由于VIP地址的共享,所以在直接路由模式中要求负载均衡服务器1的VIP地址是对外可见的,车载设备需要将请求数据包发送到负载均衡服务器1,而所有的网管服务器1并不会向外广播自己的Mac(Media Access Control-局域网)地址及对应的IP地址,网管服务器1的VIP对外界是不可见的,但网管服务器1却可以接收目标地址VIP的网络请求,并在回应数据包时将源地址设置为该VIP地址。负载均衡服务器1根据算法在选出网管服务器1后,在不修改数据报文的情况下,将数据帧的Mac地址修改为选出的网管服务器1的Mac地址,通过交换机将该数据帧发给网管服务器1。
lvs_sched配置为wrr(加权轮询)调度算法:LVS会考虑每台与网管服务器1的性能,并给每台与网管服务器1添加一个权值。如果服务器A的权值为1,服务器B的权值为2,则调度器调度到服务器B的请求会是服务器A的两倍。权值越高的服务器,处理的请求越多。
LVS的调度算法可以调整网关服务器1的负载,调度算法可以设置静态的调度算法,也可以设置动态调度算法,根据网关服务器的权值为网关服务器分配不同数量的负载均衡服务器1。权值越高,网关服务器分配的负载均衡服务器1越多。
同样,在LB1的keepalived配置里,将两台实际网关服务器RIP1和RIP2配置为real_server(真实服务器)。其健康检测机制为TCP_CHECK(健康检查机制),用于检查负载均衡服务器1与车载终端之间的TCP连接是否正常。keepalived的健康检查机制(TCP_CHECK)可以快速发现故障网关服务器,并将网关服务器从系统中移除。新创建的TCP连接不会分配到故障的网关服务器。
在同一物理网络区域内,LB2上安装与LB1相同版本的keepalived,其IP地址为DIP2。将LB2配置文件中state(状态)改为Backup(备份),其余配置参数与LB1相同,从而LB2为LB1的备份。
两台负载均衡调度服务器(LB1和LB2)做主备,LB1为主系,LB2为备系。其中一台故障时,另外一台立即自动接管LVS,虚拟地址VIP自动漂移到另一台负载均衡调度服务器,这样保证网关处于高可用状态。示例性的,当LB1故障时,LB2自动接管LVS,从而LB2控制整个系统运行。
车载终端向LB1发送TCP数据包时,也向LB2发送TCP数据包,LB2作为LB1的备系,LB2也会加载TCP数据包,当LB1出现故障时,LB2能够立刻接手LB1的处理过程,保证整个系统过程的连续性。
步骤二:LB1通过局域网接收TCP数据包,LB1对TCP数据包进行修改,并将修改后的TCP数据包发送到局域网。
LB1通过局域网收到TCP数据包后,根据加权轮询调度算法从网关服务器(RS1)和网关服务器(RS2)中挑选一台服务器RSn作为实际网关服务器,其网关编号为Gn。
LB1将TCP数据包的目标Mac地址修改为实际网关服务器RS的Mac地址,并将修改后的TCP数据包发送到局域网内。
其中,网关服务器(RS1):在IP地址为RIP1的linux虚拟服务器RS1上添加一块IP地址为VIP的回环网卡,并通过修改内核参数进行ARP(Address Resolution Protocol-地址解析协议)抑制,避免linux虚拟服务器RS1使用原有ARP缓存的IP地址和物理地址。在linux虚拟服务器RS1上启动网关程序,监听TCP端口Port(接收端口),linux虚拟服务器RS1的网关编号G1。
网关服务器(RS2):在同一物理网络内IP地址为RIP2的linux虚拟服务器RS2上添加一块IP地址为VIP的回环网卡,并通过修改内核参数进行ARP抑制。在linux虚拟服务器RS2上启动网关程序,监听TCP端口Port,linux虚拟服务器RS2的网关编号G2。
步骤三:实际网关服务器通过所述局域网接收修改后的TCP数据包,并对接收的数据进行解析,得到终端数据,将终端数据存储到Kafka消息队列。
实际网关服务器RSn接收到修改后的TCP数据包,按照车联网通信协议解析修改后的TCP数据包。其中,车联网通信协议为以车内网、车际网和车载移动互联网为基础,按照约定的通信协议和数据交互标准,在车-X(X:车、路、行人及互联网等)之间,进行无线通讯和信息交换的大系统网络,车联网的目的,是实现智能化交通管理、智能动态信息服务和车辆的智能化控制。车联网通信协议解析修改后的TCP数据包,从而得到车载终端所有的终端数据。
示例性的,实际网关服务器RSn通过交换机与负载均衡服务器1(LB1)连接,实际网关服务器RSn为众多网关服务器RS中的一个,从而将LVS的网关处理能力进行线性提升。由于实际网关服务器RSn可以为众多网关服务器RS中的任意一个,能够将网关服务器RS进行扩充,增加网关服务器RS的数据处理效果。
如图2所示,实际网关服务器RSn记录车载终端的上线状态和上线时间,且实际网关服务器RSn将车载终端上报的TCP数据包写入Mongodb数据库,将终端数据(终端编号TID、网关编号Gn、上线状态和上线时间)写入Kafka消息队列。
步骤四:Redis数据库订阅所述Kafka消息队列,并缓存终端数据。
在图2中,所述Redis数据库将终端编号TID和所在网关编号Gn、上线状态和上线时间均放入缓存。当车载终端下线时,TCP连接断开,车载终端所在的网关Gn与网关集群代理从Redis数据库中查询所述车载终端的上下线状态和最后一次上线时所在的网关编号Gm进行比较,比较结果如下:
若Gn等于Gm,则车载终端正常下线,将终端编号TID、网关编号Gn、下线状态和下线时间写入Kafka消息队列,再进入Redis数据库中缓存。
若Gn不等于Gm,则车载终端通过其他网关编号上线,不将下线状态写入Kafka消息队列。
Redis数据库记录了车载终端最近一次上线时连接的网关编号Gn。当车联网平台下指令时,网关集群代理可以从Redis数据库中查询到车载终端连接的实际网关服务器RSn。
步骤五:车联网平台后端下发指令时,调用网关集群代理接口,网关集群代理从Redis数据库中查询终端数据。
车联网平台后端下发指令时,调用网关集群代理接口,Redis数据库将终端编号TID和其它指令参数发送给网关集群代理,网关集群代理从Redis数据库查询车载终端所在的网关编号Gn、上线状态和下线状态。
若车载终端为上线状态,网关集群代理根据查询得到的网关编号Gn,调用该网关编号Gn下发接口的指令,网关编号Gn收到指令下发请求时,选取对应的TCP连接,将指令下发到车载终端。
若如果车载终端为下线状态,网关集群代理缓存下发接口的指令,待车载终端下次上线时,继续车载终端为上线状态的过程。
本发明还提供如下技术方案:基于LVS的车联网网关集群系统,包括:
车载终端,用于通过VIP和Port发起TCP连接,并向LB1和LB2分别发送TCP数据包;
LB1,用于通过局域网接收TCP数据包,LB1对TCP数据包进行修改,并将修改后的TCP数据包发送到局域网;
实际网关服务器,用于通过所述局域网接收修改后的TCP数据包,并对接收的数据进行解析,得到终端数据,将终端数据存储到Kafka消息队列;
Redis数据库,用于订阅所述Kafka消息队列,并缓存终端数据;
车联网平台后端,用于下发指令时,调用网关集群代理接口;
网关集群代理,用于从Redis数据库中查询终端数据;
当车载终端为上线状态,网关集群代理下发指令到车载终端;
当车载终端为下线状态,网关集群代理缓存下发指令,直至车载终端上线。
所述车载终端包括申请单元和连接单元;所述申请单元,用于通过VIP向LB1和LB2发送TCP对接申请;所述连接单元,用于与LB1建立TCP连接。
本发明可以方便的搭建负载均衡服务器1与网关服务器1的集群和网关服务器1负载均衡,保证整个系统处于高可用状态。负载均衡服务器1与网关服务器1的集群很好的解决了多负载均衡服务器1与网关服务器1的集群模式下车载终端上线状态和下线状态维护以及指令下发的问题。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。

Claims (9)

1.基于LVS的车联网网关集群方法,其特征在于:
包括以下步骤:
车载终端通过VIP和Port发起TCP连接,并向LB1和LB2分别发送TCP数据包;
LB1通过局域网接收TCP数据包,LB1对TCP数据包进行修改,并将修改后的TCP数据包发送到局域网;
实际网关服务器通过所述局域网接收修改后的TCP数据包,并对接收的数据进行解析,得到终端数据,将终端数据存储到Kafka消息队列;
Redis数据库订阅所述Kafka消息队列,并缓存终端数据;
车联网平台后端下发指令时,调用网关集群代理接口,网关集群代理从Redis数据库中查询终端数据;
当车载终端为上线状态,网关集群代理下发指令到车载终端;
当车载终端为下线状态,网关集群代理缓存下发指令,直至车载终端上线。
2.根据权利要求1所述的基于LVS的车联网网关集群方法,其特征在于:所述车载终端通过VIP和Port发起TCP连接包括:
车载终端通过VIP向LB1和LB2发送TCP对接申请;
LB2为LB1的备份,所述车载终端与LB1建立TCP连接。
3.根据权利要求2所述的基于LVS的车联网网关集群方法,其特征在于:所述LB2为LB1的备份包括:
在同一物理网络区域内,LB2和LB1均安装keepalived;
所述keepalived将LB2中配置文件state修改为Backup,且LB2的其余配置文件与LB1相同。
4.根据权利要求1所述的基于LVS的车联网网关集群方法,其特征在于:所述LB1对TCP数据包进行修改,并将修改后的TCP数据包发送到局域网包括:
LB1收到TCP数据包后,根据加权轮询调度算法从网关服务器RS1和网关服务器RS2中挑选一台服务器RSn作为实际网关服务器,其网关编号为Gn;
LB1将TCP数据包的目标Mac地址修改为实际网关服务器RS的Mac地址,并将修改后的TCP数据包发送到局域网内。
5.根据权利要求4所述的基于LVS的车联网网关集群方法,其特征在于:所述实际网关服务器通过所述局域网接收修改后的TCP数据包,并对接收的数据进行解析,得到终端数据包括:
实际网关服务器RSn接收到修改后的TCP数据包,按照车联网通信协议解析修改后的TCP数据包;
实际网关服务器RSn记录车载终端的上线状态和上线时间,且实际网关服务器RSn将车载终端上报的TCP数据包写入Mongodb数据库,将终端编号TID、网关编号Gn、上线状态和上线时间写入Kafka消息队列。
6.根据权利要求5所述的基于LVS的车联网网关集群方法,其特征在于:所述Redis数据库订阅所述Kafka消息队列,并缓存终端数据包括:
所述Redis数据库将终端编号TID和所在网关编号Gn、上线状态和上线时间均放入缓存;
当车载终端下线时,TCP连接断开,车载终端所在的网关Gn与网关集群代理从Redis数据库中查询所述车载终端的上下线状态和最后一次上线时所在的网关编号Gm进行比较;
若Gn等于Gm,则车载终端正常下线,将终端编号TID、网关编号Gn、下线状态和下线时间写入Kafka消息队列,再进入Redis数据库中缓存;
若Gn不等于Gm,则车载终端通过其他网关编号上线,不将下线状态写入Kafka消息队列。
7.根据权利要求6所述的基于LVS的车联网网关集群方法,其特征在于:所述车联网平台后端下发指令时,调用网关集群代理接口,网关集群代理从Redis数据库中查询终端数据包括:
车联网平台后端下发指令时,调用网关集群代理接口,Redis数据库将终端编号TID和其它指令参数发送给网关集群代理;
网关集群代理从Redis数据库查询车载终端所在的网关编号Gn、上下线状态;
若车载终端为上线状态,网关集群代理根据查询得到的网关编号Gn,调用该网关编号Gn下发接口的指令,网关编号Gn收到指令下发请求时,选取对应的TCP连接,将指令下发到车载终端;
若如果车载终端为下线状态,网关集群代理缓存下发接口的指令,待车载终端下次上线时,继续车载终端为上线状态的过程。
8.基于LVS的车联网网关集群系统,其特征在于:包括:
车载终端,用于通过VIP和Port发起TCP连接,并向LB1和LB2分别发送TCP数据包;
LB1,用于通过局域网接收TCP数据包,LB1对TCP数据包进行修改,并将修改后的TCP数据包发送到局域网;
实际网关服务器,用于通过所述局域网接收修改后的TCP数据包,并对接收的数据进行解析,得到终端数据,将终端数据存储到Kafka消息队列;
Redis数据库,用于订阅所述Kafka消息队列,并缓存终端数据;
车联网平台后端,用于下发指令时,调用网关集群代理接口;
网关集群代理,用于从Redis数据库中查询终端数据;
当车载终端为上线状态,网关集群代理下发指令到车载终端;
当车载终端为下线状态,网关集群代理缓存下发指令,直至车载终端上线。
9.根据权利要求8所述的基于LVS的车联网网关集群系统,其特征在于:
所述车载终端包括申请单元和连接单元;
所述申请单元,用于通过VIP向LB1和LB2发送TCP对接申请;
所述连接单元,用于与LB1建立TCP连接。
CN202010827895.1A 2020-08-17 2020-08-17 基于lvs的车联网网关集群方法及系统 Active CN111970362B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010827895.1A CN111970362B (zh) 2020-08-17 2020-08-17 基于lvs的车联网网关集群方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010827895.1A CN111970362B (zh) 2020-08-17 2020-08-17 基于lvs的车联网网关集群方法及系统

Publications (2)

Publication Number Publication Date
CN111970362A true CN111970362A (zh) 2020-11-20
CN111970362B CN111970362B (zh) 2023-09-15

Family

ID=73389142

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010827895.1A Active CN111970362B (zh) 2020-08-17 2020-08-17 基于lvs的车联网网关集群方法及系统

Country Status (1)

Country Link
CN (1) CN111970362B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113918326A (zh) * 2021-09-29 2022-01-11 聚好看科技股份有限公司 一种处理请求的方法及装置
CN113988051A (zh) * 2021-12-29 2022-01-28 潍柴雷沃重工股份有限公司 一种车辆数据的处理系统
CN114938373A (zh) * 2022-05-23 2022-08-23 睿云联(厦门)网络通讯技术有限公司 一种云平台tcp长连接服务的高可用连接方法及系统
CN115190139A (zh) * 2022-03-28 2022-10-14 北京慧能分享科技有限公司 一种基于多协议的负载均衡能源大数据采集系统及方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008018969A1 (en) * 2006-08-04 2008-02-14 Parallel Computers Technology, Inc. Apparatus and method of optimizing database clustering with zero transaction loss
CN103139309A (zh) * 2013-03-05 2013-06-05 天泽信息产业股份有限公司 一种车载终端数据收集器负载均衡处理系统及其处理方法
CN104935658A (zh) * 2015-06-17 2015-09-23 交通银行股份有限公司 一种银行任务分配方法及装置
CN106570074A (zh) * 2016-10-14 2017-04-19 深圳前海微众银行股份有限公司 分布式数据库系统及其实现方法
WO2017133291A1 (zh) * 2016-02-02 2017-08-10 华为技术有限公司 一种基于服务器集群的报文生成方法和负载均衡器
CN108418872A (zh) * 2018-02-12 2018-08-17 千禧神骅科技(成都)有限公司 一种易扩展多终端的负载均衡高的互联网专车平台系统
CN110198226A (zh) * 2018-03-28 2019-09-03 腾讯科技(深圳)有限公司 一种负载均衡集群中访问请求处理方法、系统和可读介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008018969A1 (en) * 2006-08-04 2008-02-14 Parallel Computers Technology, Inc. Apparatus and method of optimizing database clustering with zero transaction loss
CN103139309A (zh) * 2013-03-05 2013-06-05 天泽信息产业股份有限公司 一种车载终端数据收集器负载均衡处理系统及其处理方法
CN104935658A (zh) * 2015-06-17 2015-09-23 交通银行股份有限公司 一种银行任务分配方法及装置
WO2017133291A1 (zh) * 2016-02-02 2017-08-10 华为技术有限公司 一种基于服务器集群的报文生成方法和负载均衡器
CN106570074A (zh) * 2016-10-14 2017-04-19 深圳前海微众银行股份有限公司 分布式数据库系统及其实现方法
CN108418872A (zh) * 2018-02-12 2018-08-17 千禧神骅科技(成都)有限公司 一种易扩展多终端的负载均衡高的互联网专车平台系统
CN110198226A (zh) * 2018-03-28 2019-09-03 腾讯科技(深圳)有限公司 一种负载均衡集群中访问请求处理方法、系统和可读介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113918326A (zh) * 2021-09-29 2022-01-11 聚好看科技股份有限公司 一种处理请求的方法及装置
CN113988051A (zh) * 2021-12-29 2022-01-28 潍柴雷沃重工股份有限公司 一种车辆数据的处理系统
CN115190139A (zh) * 2022-03-28 2022-10-14 北京慧能分享科技有限公司 一种基于多协议的负载均衡能源大数据采集系统及方法
CN114938373A (zh) * 2022-05-23 2022-08-23 睿云联(厦门)网络通讯技术有限公司 一种云平台tcp长连接服务的高可用连接方法及系统
CN114938373B (zh) * 2022-05-23 2023-11-03 睿云联(厦门)网络通讯技术有限公司 一种云平台tcp长连接服务的高可用连接方法及系统

Also Published As

Publication number Publication date
CN111970362B (zh) 2023-09-15

Similar Documents

Publication Publication Date Title
CN111970362B (zh) 基于lvs的车联网网关集群方法及系统
CN111464592A (zh) 基于微服务的负载均衡方法、装置、设备及存储介质
CN113037560B (zh) 业务流量切换方法及装置、存储介质、电子设备
CN100446495C (zh) 一种动态共享连接的方法和系统
CN101442493B (zh) Ip报文分发方法、集群系统和负载均衡器
CN111274027A (zh) 一种应用在openstack云平台的多活负载均衡方法及系统
CN109756474B (zh) 一种电力调度自动化系统的服务跨区域调用方法及装置
US9071612B2 (en) Service providing system
CN110944044B (zh) 一种分布式api网关系统及其实现方法
CN111638957A (zh) 一种集群共享式公有云负载均衡的实现方法
CN111209127A (zh) 一种Dubbo框架集成Istio服务网格的方法
CN113839862B (zh) Mclag邻居之间同步arp信息的方法、系统、终端及存储介质
CN105119787A (zh) 一种基于软件定义的公共互联网接入系统和方法
CN113301079B (zh) 一种数据的获取方法、系统、计算设备及存储介质
CN111124595A (zh) 一种提供云计算服务的方法及系统
CN115296848A (zh) 一种基于多局域网环境的堡垒机系统及堡垒机访问方法
CN114900526B (zh) 负载均衡方法及系统、计算机存储介质、电子设备
CN112822062A (zh) 一种用于桌面云服务平台的管理方法
CN114024971B (zh) 业务数据处理方法、Kubernetes集群及介质
CN116074160A (zh) 一种gpu渲染计算节点集群虚拟组网公网转发方法
CN114020417A (zh) 一种虚拟负载均衡系统及其工作方法
CN102710525B (zh) 一种负载均衡环境下报文的处理方法和装置
CN112073503A (zh) 一种基于流控机制的高性能负载均衡方法
CN112261095A (zh) 基于两级代理的负载分流实现系统及方法
CN110912966A (zh) 一种基于集装和隔离机制容器化的高速公路门架系统

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