CN106850836A - 用于WiFi采集***的前端与后台多类型综合连接方法 - Google Patents

用于WiFi采集***的前端与后台多类型综合连接方法 Download PDF

Info

Publication number
CN106850836A
CN106850836A CN201710126874.5A CN201710126874A CN106850836A CN 106850836 A CN106850836 A CN 106850836A CN 201710126874 A CN201710126874 A CN 201710126874A CN 106850836 A CN106850836 A CN 106850836A
Authority
CN
China
Prior art keywords
lvs
tcp
modules
connection
equipment
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.)
Withdrawn
Application number
CN201710126874.5A
Other languages
English (en)
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.)
HONGXU INFORMATION TECHNOLOGY Co Ltd WUHAN
Original Assignee
HONGXU INFORMATION TECHNOLOGY Co Ltd WUHAN
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 HONGXU INFORMATION TECHNOLOGY Co Ltd WUHAN filed Critical HONGXU INFORMATION TECHNOLOGY Co Ltd WUHAN
Priority to CN201710126874.5A priority Critical patent/CN106850836A/zh
Publication of CN106850836A publication Critical patent/CN106850836A/zh
Withdrawn legal-status Critical Current

Links

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/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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种用于WiFi采集***的前端与后台多类型综合连接方法,涉及WiFi采集技术领域。WiFi采集***是:外网访问设备群、LVS的NAT分发模块、nginx代理模块和HTTP服务端依次交互;外网采集设备群、LVS的NAT分发模块和libuv框架的TCP服务模块依次交互;内网访问设备群、LVS本地分发模块、nginx代理模块和HTTP服务端依次交互;内网采集设备群、LVS本地分发模块和libuv框架的TCP服务模块依次交互。本发明可以应对比较复杂的网络以及大量的设备连接,并保证设备布署的伸缩性以及连接的多样性和高效率,应用于WLAN采集***中大数量多种类前端设备与后台连接的场景。

Description

用于WiFi采集***的前端与后台多类型综合连接方法
技术领域
本发明涉及WiFi采集技术领域,尤其涉及一种用于WiFi采集***的前端与后台多类型综合连接方法。
背景技术
随着WiFi采集***的建设开展,目前WiFil采集的前端设备越来越多,在某些地方进行具体设备布署的时候,常常出现前端设备过多,后台连接压力过大的情况。在这种情况下靠增加后台设备来解决问题不仅成本过大,而且不便于设备的伸缩布署和集中管理。业内目前应对这种问题的处理办法一般是单纯采用某种代理来处理HTTP连接的问题,或者是对TCP连接进行改进,或者购买具有连接分发能力的硬件,这些方法都有缺点:没有把LVS(Linux Virtual Server)的linux的内核特性发挥出来;改进的TCP连接代码不易于维护扩展,或不能兼容linux与windows***;改进的性能仍然不足;改进采用的代理仅仅只支持HTTP连接,而对TCP连接并不能很好地支持;采购硬件增加成本。
发明内容
本发明的目的就在于针对WiFi采集***中多种类型的前端(如访问HTTP页面的访问设备,负责数据采集的采集设备)与后台(HTTP服务器,采集的TCP连接服务器)的连接技术问题,提供一种用于WiFi采集***的前端与后台多类型综合连接方法。
本发明的目的技术方案是:
首先采用LVS的ip负载均衡技术进行三层的连接分发,发挥出了linux内核特性,在三层分发方面较其它软件平台性能大大提高;经过LVS分发后,采用nginx的HTTP代理技术进行HTTP的连接分发,充分发挥它们在HTTP方面的代理优势;经过LVS分发后,采用Node.js(Google V8引擎的封装)的异步事件处理框架libuv来支持高并发的TCP连接,该框架简洁,灵活,最终达到多台HTTP和TCP服务器同时高并发处理的效果,并且设备扩展后前端设备无需改动。
具体地说:
一、WiFi采集***(简称***)
包括外网访问设备群、外网采集设备群、内网访问设备群、内网采集设备群、LVS的NAT分发模块、LVS本地分发模块、nginx代理模块、libuv框架的TCP服务模块和HTTP服务端;
其交互关系是:
外网访问设备群、LVS的NAT分发模块、nginx代理模块和HTTP服务端依次交互;
外网采集设备群、LVS的NAT分发模块和libuv框架的TCP服务模块依次交互;
内网访问设备群、LVS本地分发模块、nginx代理模块和HTTP服务端依次交互;
内网采集设备群、LVS本地分发模块和libuv框架的TCP服务模块依次交互。
二、用于WiFi采集***的前端与后台多类型综合连接方法(简称方法)
本方法包括下列步骤:
①首先采用LVS技术进行负载均衡分发,不同网络的设备采用不同分发技术;
②对于外网设备可采用LVS中的NAT(Network Address Translation ,网络地址转换)技术,其方法是对LVS服务器设置两个IP,其中一个IP是与客户端同一网段的,另一个IP是与服务端同一网段的,通过ipvsadm进行内核配置,达到NAT转换的实现效果;可以将HTTP连接分发给nginx进行进一步处理,或将TCP连接分发给若干个基于libuv的TCP服务器进行处理;
③对于内网设备采用LVS中的本地分发技术,其方法是当客户端与服务端处于同一局域网的情况下,通过ipvsadm进行内核配置,对连接包的MAC(Media Access Control媒体访问控制)地址进行修改与还原,对相关服务器进行虚拟IP和路由设置;
④LVS技术分发过后,对HTTP类型的连接采用nginx的代理进行分发与处理的实现方式为,针对不同的具体需求如对会话的保持,Cookie的引导,负载均衡算法等来选择代理,进行配置可进行HTTP这一层的负载与代理;
⑤LVS技术分发过后,对TCP类型的连接采用Node.js的异步事件处理框架libuv进行开发处理的实现方式为,安装开发包libuv,采epoll机制和kqueue模型对连接事件进行轮询,触发回调函数采用内核机制来实现TCP三次握手,针对TCP长连接和短连接进行多线程处理。
本发明具有以下优点和积极效果:
①采用LVS(ip层负载)+nginx(或其它HTTP层代理)+后台HTTP服务器+ libuv框架的TCP服务器的方法,能应对WiFi采集***中的各种网络布署和高并发连接情况;
②LVS技术具有可靠性、可伸缩性和可管理性,是linux内核兼容的技术,与其它软件相比性能很高,设备扩展后前端设备无需改动;
③运用nginx可以解决LVS技术中的不能支持HTTP七层的分发与代理的缺点;
④采用Node.js的异步事件处理框架libuv,简洁易懂,同时兼容linux和windows开发,支持高并发的TCP长连接和短连接,能作为真实的TCP服务器存在。
总之,本发明可以应对比较复杂的网络以及大量的设备连接,并保证设备布署的伸缩性以及连接的多样性和高效率,应用于WLAN采集***中大数量多种类前端设备与后台连接的场景。
附图说明
图1为本采集***的结构方框图;
图中:
10—外网访问设备群,
11—第1外网访问设备,12—第2外网访问设备,……
1M—第M外网访问设备,M为自然数,1000≤M≤100000;
20—外网采集设备群,
21—第1外网采集设备,22—第2外网采集设备,……
2N—第N外网采集设备,N为自然数,1000≤N≤100000;
30—内网访问设备群;
31—第1内网访问设备,32—第2内网访问设备,……
3P—第P内网访问设备,P为自然数,1000≤P≤100000;
40—内网采集设备群;
41—第1内网采集设备,42—第2内网采集设备,……
4Q—第Q内网采集设备,Q为自然数,1000≤Q≤100000;
50—LVS的NAT分发模块;
60—LVS本地分发模块;
70—nginx代理模块;
80—libuv框架的TCP服务模块;
90—HTTP服务端。
图2为LVS的NAT分发模块50的工作流程图;
图3为LVS本地分发模块60的工作流程图;
图4为nginx代理模块70的工作流程图;
图5为libuv框架的TCP服务模块80的工作流程图。
英译汉:
1、HTTP:HyperText Transfer Protocol,超文本传输协议,是互联网上应用最为广泛的一种网络协议;
2、Wi-Fi:是一种允许电子设备连接到一个无线局域网(WLAN)的技术;
3、TCP:Transmission Control Protocol,传输控制协议,是一种面向连接的、可靠的和基于字节流的传输层通信协议;
4、ARP:Address Resolution Protocol,地址解析协议;
5、NAT:Network Address Translation,网络地址转换;
6、LVS:Linux Virtual Server ,Linux虚拟服务器。
具体实施方式
以下结合附图和实施例详细说明。
一、WiFi采集***
1、总体
如图1,本WiFi采集***包括外网访问设备群10、外网采集设备群20、内网访问设备群30、内网采集设备群40、LVS的NAT分发模块50、LVS本地分发模块60、nginx代理模块70、libuv框架的TCP服务模块80和HTTP服务端90;
其交互关系是:
外网访问设备群10、LVS的NAT分发模块50、nginx代理模块70和HTTP服务端90依次交互;
外网采集设备群20、LVS的NAT分发模块50和libuv框架的TCP服务模块80依次交互;
内网访问设备群30、LVS本地分发模块60、nginx代理模块70和HTTP服务端90依次交互;
内网采集设备群40、LVS本地分发模块60和libuv框架的TCP服务模块80依次交互。
工作机理是:
外网访问设备群10和LVS的NAT分发模块50交互,将HTTP请求传给nginx代理模块70,最终传给HTTP服务端90进行回应与正常通信;
外网采集设备群20和LVS的NAT分发模块50交互,将TCP请求传给libuv框架的TCP服务模块80,进行回应与正常通信;
内网访问设备群30和LVS的本地分发模块60交互,将HTTP请求传给nginx代理模块70,最终传给HTTP服务端90进行回应与正常通信;
内网采集设备群40和LVS的本地分发模块60交互,将TCP请求传给libuv框架的TCP服务模块80,进行回应与正常通信。
2、功能模块
1)外网访问设备群10
外网访问设备群10包括相互并联的第1外网访问设备11、第2外网访问设备12、……第M外网访问设备1M,M为自然数,1000≤M≤100000;
2)外网采集设备群20
外网采集设备群20包括相互并联的第1外网采集设备21、第2外网采集设备22、……第N外网采集设备2N,N为自然数,1000≤N≤100000;
3)内网访问设备群30
内网访问设备群30包括相互并联的第1内网访问设备31、第2内网访问设备32、……第P内网访问设备3P,P为自然数,1000≤P≤100000;
4)内网采集设备群40
内网采集设备群40包括相互并联的第1内网采集设备41、第2内网采集设备42、……第Q内网采集设备4Q,Q为自然数,1000≤Q≤100000;
5)LVS的NAT分发模块50
LVS的NAT分发模块50是带有LVS功能的linux服务器,采用NAT模式,针对外网访问设备和外网采集设备进行分发交互;对于HTTP连接与nginx代理模块交互;对于TCP连接与libuv框架的TCP服务模块交互。
具体地说,如图2,LVS的NAT分发模块50的工作流程如下:
a、开始-200
相关模块开始初始化。首先安装依赖的包rpm -q kernel-devel,rpm -q gcc,rpm -qopenssl,rpm -q openssl-devel,rpm -q popt,最后安装tar -zxvf ipvsadm-1.24.tar.gz,进行分发相关的配置:NAT模式下,使用命令ipvsadm -A -t $WEB_DIP:$port-s wrr,监听LVS服务器的外网IP,设置路由选项echo "1" >/proc/sys/net/ipv4/ip_forward,并给LVS服务器再添加一个内网IP。
b、外网前端设备发出连接请求,目的IP为LVS的NAT模式服务器的外网IP-201
外网前端设备发出连接请求,目的IP为LVS服务器的外网IP,由于前端设备与LVS服务器都在同一外网,该连接请求包会正常到达LVS服务器。
c、LVS的NAT模式服务器经过权重算法进行NAT转换,将连接包分发给不同的后台服务器-202
LVS的NAT模式服务器收到连接请求包后,此时服务器监听的是外网IP,经过权重算法对包进行NAT转换,使用设置命令ipvsadm -a -t $DIP:9123 -r $ RIP1:9123 -m -w 8,DIP为LVS的外网IP,RIP1为后台HTTP代理或者TCP服务器的内网IP,NAT转换后,连接请求包的源IP会变为LVS服务器的内网IP,目的IP会变为后台HTTP代服或者TCP服务器的IP。
d、后台HTTP代理或TCP服务器收到连接请求包,进行相应的处理,并返回响应包-203
后台HTTP代理或TCP服务器收到请求包后,对于HTTP代理,可以进行下一步的代理工作,将响应包回传;对于TCP服务器,由于此时请求包的源IP和目的IP都已被NAT转换,可以针对LVS的内网IP进行连接响应,响应包要回传需要进行路由设置,route add default gw$VIP,VIP为LVS服务器的内网IP。
e、LVS的NAT模式服务器收到连接响应,通过NAT还原,发还给前端-204
LVS服务器收到连接响应包后,此时包的目的IP为LVS的内网IP,源IP为后台服务器的IP,这个连接响应包会NAT转换还原,还原后源IP为LVS服务器的外网IP,发还给前端设备。
f、外网前端设备收到连接响应,此后开始正常的连接通信-205
外网前端设备收到连接响应,这一个请求响应的流程走完,此后的NAT模式通信基本按本流程来进行。
6)LVS本地分发模块60
LVS本地分发模块60是带有LVS功能的linux服务器,采用本地模式,针对内网访问设备和内网采集设备进行分发交互;对于HTTP连接与nginx代理模块交互;对于TCP连接与libuv框架的TCP服务模块交互。
具体地说,如图3,LVS本地分发模块60的工作流程如下:
A、开始-300
相关模块开始初始化。首先安装依赖的包rpm -q kernel-devel,rpm -q gcc,rpm -qopenssl,rpm -q openssl-devel,rpm -q popt,最后安装tar -zxvf ipvsadm-1.24.tar.gz,进行分发相关的配置:本地模式下,在LVS本地服务器,配置一个同局域网段内的虚拟IP,在接收LVS本地服务器的后台HTTP代理服务器和TCP服务器上面,也需要配置一个同样的虚拟IP,并进行相关的路由和ARP设置,保证整个流程的进行;
B、内网前端设备发出连接请求,目的为LVS本地服务器的虚拟IP-301
内网前端设备发出连接请求,目的IP为LVS本地服务器的虚拟IP,由于设备都在同一局域网,该连接请求包会正常到达LVS本地服务器,此时请求包的源MAC为前端设备MAC,目的MAC为LVS服务器虚拟IP所在网口的MAC,因此LVS服务器内核将会处理属于自身MAC的数据包;
C、LVS本地服务器经过权重算法修改请求包的MAC,将连接包分发给不同的后台服务器-302
LVS本地服务器收到连接请求包后,此时服务器监听的是虚拟IP,经过权重算法修改请求包的目的MAC,由于本地模式下设备都属于同一网段,因此内核路由机制会根据修改后的目的MAC将连接包分发给不同的后台服务器,实现报文重定向;
D、后台HTTP代理或TCP服务器收到连接请求包,进行相应的处理,并返回响应包-303
后台HTTP代理或TCP服务器收到请求包后,对于HTTP代理,可以进行下一步的代理工作,将响应包回传;对于TCP服务器,网卡只会把目的MAC和目的IP都是自已的报文上报给内核处理,因此要为TCP服务器添加一个与LVS本地服务器上一样的虚拟IP,这样内核才会对该请求包进行响应,构造出响应包,响应包构造出来之后,为了将该响应包正确的发回LVS本地服务器,还需要在TCP服务器上设置路由如在linux服务器上可使用命令route add -host 192.168.0.127 dev lo:0;
E、LVS本地服务器收到连接响应,还原源MAC,发还给前端-304
LVS本地服务器收到连接响应包后,此时包的源MAC为后台HTTP代理或TCP服务器的MAC地址,目的IP为前端设备的IP,目的MAC根据ARP查找为前端设备的MAC,因此LVS服务器只需将源MAC修改即可,修改后的响应包看上去就跟没经过后台服务器处理一样,这个连接响应包会返还到前端设备;
F、内网前端设备收到连接响应,此后开始正常的连接通信-305
内网前端设备收到连接响应,这一个请求响应的流程走完,此后的本地模式通信基本按本流程来进行。
7)nginx代理模块70
nginx是一种高性能的HTTP和反向代理服务器,分发与处理HTTP连接,向后与HTTP服务端交互。
具体地说,如图4,nginx代理模块70的工作流程如下:
Ⅰ、开始-400
模块开始初始化。通过命令tar zxvf nginx-1.9.12.tar.gz安装nginx,通过server192.12.111.41:9123 weight=8 max_fails=0 fail_timeout=1s;server192.12.111.240:9123 weight=1 max_fails=0 fail_timeout=1s进行设置,其中192.12.111.41与192.12.111.240均为后台HTTP服务器IP;
Ⅱ、nginx设备接收LVS设备分发出连接请求-401
nginx设备接收LVS设备分发出连接请求,此时的请求包已经过LVS的处理;
Ⅲ、nginx设备进行代理,成功后即能正常通信-402
nginx设备进行代理,将请求包发给后台HTTP服务器,HTTP服务器响应,将响应包发还给LVS设备,LVS设备将响应消息发还给前端设备。
8)libuv框架的TCP服务模块80
libuv框架的TCP服务模块80可以由多台TCP服务器组成,服务器的程序采用Node.js的异步事件处理框架libuv,对前端采集设备的高并发TCP连接进行处理,该libuv框架需要进行软件层面的编译与代码修改,并需要配合修改内核参数达到单台TCP服务器的性能最优。
具体地说,如图5,libuv框架的TCP服务模块80的工作流程如下:
ⅰ、开始-500
模块开始初始化。解压源代码tar -zxvf libuv-v1.8.0.tar.gz,安装libuv;
ⅱ、优化TCP服务器的内核配置-501
优化TCP服务器的内核配置,以linux操作***的服务器为例,首先设置内核最大连接数,使用命令echo 'ulimit -n 65535' >> /etc/profile,保证在高并发的连接情况下,文件描述符不会超过上限,设置net.ipv4.tcp_max_syn_backlog = 262144,net.ipv4.tcp_rmem = 4096 87380 4194304,net.ipv4.tcp_wmem = 4096 16384 4194304等等。设置keepalive_delay为60,设置keepalive_intvl为3,设置keepalive_probes为3;
ⅲ、启动以libuv为框架的高并发TCP处理软件,轮询连接事件,进行异步处理-502
启动以libuv为框架的高并发TCP处理软件,以uv_tcp_init函数初始化 TCP 监视器,uv_tcp_bind函数绑定IP和端口,在指定的监视器上调用uv_listen函数来设置回调函数sv_connection_cb,对连接事件进行轮询;
ⅳ、连接请求到来时,libuv调用回调函数,通过内核进行TCP三次握手,将响应包发还给LVS服务器-503
当有新的客户端连接请求到来时,libuv就会调用设置的回调函数sv_connection_cb,采用uv_accept函数通过调用内核机制来实现TCP三次握手,此三次握手过程会将连接请求的响应包,发还给LVS服务器;
ⅴ、TCP三次握手完成后,可对具体通信内容根据需求进行操作-504
当TCP三次握手完成后,程序开始接收消息,会回调uv_read_start函数中所定义的消息处理函数如sv_read_cb,sv_read_cb函数会对通信内容进行具体操作,此处可根据项目需要进行具体修改。
3、本WiFi采集***的工作机理
首先根据网络的不同来进行相关设置,对于同局域网的前端设备的连接是根据IP进行本地分发的负载均衡设置,对于外网的前端设备是根据IP和端口进行NAT转换设置并将连接负载均衡;
然后根据连接的不同来组网,对于HTTP连接由相应的LVS模块分发给后面的HTTP代理如nginx,对于TCP连接由相应的LVS模块分发给后面的TCP服务器(基于libuv处理框架);
准备工作做好后,连接请求到来时,LVS分发模块对连接进行初步处理,按照网络和连接来分发给不同的后台服务器;
nginx分发与代理模块,主要是针对HTTP连接进行分发;采用Node.js的异步事件处理框架libuv的TCP服务器,对前端采集设备的高并发TCP连接进行处理。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

Claims (6)

1.一种WiFi采集***,其特征在于:
包括外网访问设备群(10)、外网采集设备群(20)、内网访问设备群(30)、内网采集设备群(40)、LVS的NAT分发模块(50)、LVS本地分发模块(60)、nginx代理模块(70)、libuv框架的TCP服务模块(80)和HTTP服务端(90);
其交互关系是:
外网访问设备群(10)、LVS的NAT分发模块(50)、nginx代理模块(70)和HTTP服务端(90)依次交互;
外网采集设备群(20)、LVS的NAT分发模块(50)和libuv框架的TCP服务模块(80)依次交互;
内网访问设备群(30)、LVS本地分发模块(60)、nginx代理模块(70)和HTTP服务端(90)依次交互;
内网采集设备群(40)、LVS本地分发模块(60)和libuv框架的TCP服务模块(80)依次交互。
2.按权利要求1所述的WiFi采集***,其特征在于所述的LVS的NAT分发模块(50)的工作流程如下:
a、开始(200);
b、外网前端设备发出连接请求,目的IP为LVS的NAT模式服务器的外网IP(201);
c、LVS的NAT模式服务器经过权重算法进行NAT转换,将连接包分发给不同的后台服务器(202);
d、后台HTTP代理或TCP服务器收到连接请求包,进行相应的处理,并返回响应包(203);
e、LVS的NAT模式服务器收到连接响应,通过NAT还原,发还给前端(204);
f、外网前端设备收到连接响应,此后开始正常的连接通信(205)。
3.按权利要求1所述的WiFi采集***,其特征在于所述的LVS本地分发模块(60)的工作流程如下:
A、开始(300);
B、内网前端设备发出连接请求,目的为LVS本地服务器的虚拟IP(301);
C、LVS本地服务器经过权重算法修改请求包的MAC,将连接包分发给不同的后台服务器(302);
D、后台HTTP代理或TCP服务器收到连接请求包,进行相应的处理,并返回响应包(303);
E、LVS本地服务器收到连接响应,还原源MAC,发还给前端(304);
F、内网前端设备收到连接响应,此后开始正常的连接通信(305)。
4.按权利要求1所述的WiFi采集***,其特征在于所述的nginx代理模块(70)的工作流程如下:
Ⅰ、开始(400);
Ⅱ、nginx设备接收LVS设备分发出连接请求(401);
Ⅲ、nginx设备进行代理,成功后即能正常通信(402)。
5.按权利要求1所述的WiFi采集***,其特征在于所述的libuv框架的TCP服务模块(80)的工作流程如下:
ⅰ、开始(500);
ⅱ、优化TCP服务器的内核配置(501);
ⅲ、启动以libuv为框架的高并发TCP处理软件,轮询连接事件,进行异步处理(502);
ⅳ、连接请求到来时,libuv调用回调函数,通过内核进行TCP三次握手,将响应包发还给LVS服务器(503);
ⅴ、TCP三次握手完成后,可对具体通信内容根据需求进行操作(504)。
6.用于权利要求1-5所述WiFi采集***的前端与后台多类型综合连接方法,其特征在于包括下列步骤:
①首先采用LVS技术进行负载均衡分发,不同网络的设备采用不同分发技术;
②对于外网设备可采用LVS中的NAT技术,其方法是对LVS服务器设置两个IP,其中一个IP是与客户端同一网段的,另一个IP是与服务端同一网段的,通过ipvsadm进行内核配置,达到NAT转换的实现效果;可以将HTTP连接分发给nginx进行进一步处理,或将TCP连接分发给若干个基于libuv的TCP服务器进行处理;
③对于内网设备采用LVS中的本地分发技术,其方法是当客户端与服务端处于同一局域网的情况下,通过ipvsadm进行内核配置,对连接包的MAC地址进行修改与还原,对相关服务器进行虚拟IP和路由设置;
④LVS技术分发过后,对HTTP类型的连接采用nginx的代理进行分发与处理的实现方式为,针对不同的具体需求如对会话的保持,Cookie的引导,负载均衡算法等来选择代理,进行配置可进行HTTP这一层的负载与代理;
⑤LVS技术分发过后,对TCP类型的连接采用Node.js的异步事件处理框架libuv进行开发处理的实现方式为,安装开发包libuv,采epoll机制和kqueue模型对连接事件进行轮询,触发回调函数采用内核机制来实现TCP三次握手,针对TCP长连接和短连接进行多线程处理。
CN201710126874.5A 2017-03-06 2017-03-06 用于WiFi采集***的前端与后台多类型综合连接方法 Withdrawn CN106850836A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710126874.5A CN106850836A (zh) 2017-03-06 2017-03-06 用于WiFi采集***的前端与后台多类型综合连接方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710126874.5A CN106850836A (zh) 2017-03-06 2017-03-06 用于WiFi采集***的前端与后台多类型综合连接方法

Publications (1)

Publication Number Publication Date
CN106850836A true CN106850836A (zh) 2017-06-13

Family

ID=59138825

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710126874.5A Withdrawn CN106850836A (zh) 2017-03-06 2017-03-06 用于WiFi采集***的前端与后台多类型综合连接方法

Country Status (1)

Country Link
CN (1) CN106850836A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109347841A (zh) * 2018-10-26 2019-02-15 深圳市元征科技股份有限公司 Mac地址认证方法、装置、终端、服务器及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102571959A (zh) * 2012-01-11 2012-07-11 北京奇虎科技有限公司 一种数据下载***及方法
CN103384255A (zh) * 2011-12-31 2013-11-06 华为数字技术(成都)有限公司 虚拟机集群的负载均衡方法、服务器及***
CN104486402A (zh) * 2014-12-11 2015-04-01 江苏爱信诺航天信息科技有限公司 一种基于大型网站组合均衡的方法
CN104753965A (zh) * 2013-12-25 2015-07-01 中国电信股份有限公司 Web 加速方法和***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103384255A (zh) * 2011-12-31 2013-11-06 华为数字技术(成都)有限公司 虚拟机集群的负载均衡方法、服务器及***
CN102571959A (zh) * 2012-01-11 2012-07-11 北京奇虎科技有限公司 一种数据下载***及方法
CN104753965A (zh) * 2013-12-25 2015-07-01 中国电信股份有限公司 Web 加速方法和***
CN104486402A (zh) * 2014-12-11 2015-04-01 江苏爱信诺航天信息科技有限公司 一种基于大型网站组合均衡的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MINDWIND: "LB负载均衡的层次结构", 《URL:HTTPS://BLOG.CSDN.NET/MINDFLOATING/ARTICLE/DETAILS/51020767》 *
阳光的威威: "详细解读 LVS的三种转发模式及配置", 《URL:HTTPS://BLOG.CSDN.NET/LIXIAOWEI16/ARTICLE/DETAILS/37927343》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109347841A (zh) * 2018-10-26 2019-02-15 深圳市元征科技股份有限公司 Mac地址认证方法、装置、终端、服务器及存储介质

Similar Documents

Publication Publication Date Title
US7573878B2 (en) Network control device and control method and program thereof
CN101443750B (zh) 用于订户知晓应用服务器集群上的负载平衡的技术
US5835725A (en) Dynamic address assignment and resolution technique
CN101296238B (zh) 一种保持安全套接层会话持续性的方法及设备
CN102377814B (zh) 针对嵌入式操作***的远程协助服务方法
US7738452B1 (en) Techniques for load balancing subscriber-aware application proxies
EP1470680B1 (en) Method, computer-readable medium and systems for restoring traffic during failover in a cable head end
CN107070691A (zh) Docker容器的跨主机通信方法和***
CN109743370A (zh) 基于sd-wan的混合云连接方法及***
CN103650424A (zh) 一种家庭网关服务功能的实现方法和服务器
CN102595208A (zh) 云端控制网络化视频图像处理流媒体服务***及方法
CN110099115B (zh) 一种透明调度转发的负载均衡方法及***
CN103200120A (zh) 一种直接路由方式下的报文转发方法和网络设备
Yao et al. SI-STIN: A smart identifier framework for space and terrestrial integrated network
CN1455347A (zh) 一种分布式并行调度宽带网络服务器***
JPWO2018135428A1 (ja) ゲートウェイ装置、ネットワークアドレス変換装置、通信システム、通信方法、および、プログラム
CN108200199B (zh) IPV4 over IPV6隧道场景中的负载均衡***及方法
CN103262502A (zh) 多核平台的dns代理服务
CN106850836A (zh) 用于WiFi采集***的前端与后台多类型综合连接方法
US7580402B2 (en) Internet protocol compliant private branch electronic exchange and a method expanding the number of controlled terminal ports
CN103516794A (zh) 一种分布式服务器的网络架构及其实现方法
US20030167338A1 (en) System and method to provide PPPoE connectivity to non-PPPoE clients
CN110351772A (zh) 无线链路和虚拟局域网之间的映射
CN101087232B (zh) 一种基于以太网上点对点协议的接入方法、***和设备
CN103379130A (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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20170613