您的位置:控制工程论坛网论坛 » 工控机 » 大型远程移动监控系统中网络方面需要处理的问题

wj321

wj321   |   当前状态:离线

总积分:1211  2024年可用积分:0

注册时间: 2003-05-12

最后登录时间: 2009-11-05

空间 发短消息加为好友

大型远程移动监控系统中网络方面需要处理的问题

wj321  发表于 2008/10/15 12:48:45      1518 查看 0 回复  [上一主题]  [下一主题]

手机阅读

随着移动设备数量的增加,需传输的数据量、对网络带宽的占用、单台服务器的负载等都会随之增长,在设计大型远程移动监控系统时,需要考虑增长的趋势以及增长对系统的影响,做出定量分析和定性判断,在必要时做出增加服务器、改造网络等系统重构决策,并要确保系统重构不对现有系统结构、软件架构产生冲击。

对网络带宽的影响有如下因素:

单台移动设备单位时间内的数据上传量

假定每台移动设备需要传送的总量为100个,这些变量中,开关量和模拟量是各占一半,再考虑到大部分变量都是慢速变化量的特性,并在移动设备本地采用一些简单的数据压缩算法,每次需上传的数据量还可以更低。可以将每台移动设备每一分钟上传的数据量,控制在平均500-1K字节之间。
 
数据中心与电信之间的网络带宽

GPRS理论带宽可达171.2Kbps,实际应用带宽大约在40~100Kbps;CDMA 1x理论带宽可达300Kb/s,目前的实际应用带宽大约在100Kb/s左右。在TCP/IP协议上,每一秒钟能够传输的数据量为3K-9K左右, 移动设备端不会出会通讯带宽瓶颈。但随着移动设备数量的增加,数据中心与电信之间则有可能出现带宽瓶颈。

按照10000台移动设备计算,如果每台移动设备每一分钟传送的数据量为1K字节,则数据中心与电信之间的理论带宽为10000*1024*2*8/60=2.5Mbps,再考虑到GPRS网络的不稳定性,数据传输的时间不均匀性,可以将该带宽值*4倍,即在10000台移动设备的情况下,数据中心与电信之间的网络带宽应设计为10Mbps左右。

单台服务器的处理性能

对于单台服务器的处理性能,需要考虑在操作系统下,单台服务器能够处理的最大连接数。单台服务器能够处理的最大连接数由以下几个因素决定(以linux为例):

A、Linux内核支持的最大socket连接数,现有linux默认支持的最大socket连接数为2048,但可以通过修改内核的方法调整该值;
 
B、服务器支持的最大内核信号量,该内核信号量用于网络连接处理、数据库访问等一系列多进程或多线程处理的数据同步。linux服务器版本设置的全系统支持的信号量虽然有上万个,但是分配给每个用户的数目一般为200-500之间,对于通讯服务器往往是不够的。可以通过修改内核信号量参数来适度增大该值;

C、服务器内存及在合理的CPU负荷率情况下,能支持的最大连接数。

以上对性能参数的分析,只有定性分析,没有定量分析,只能通过经验值进行调整。目前,一般的单台linux服务器能够支持的连接数为2000-4000个,业界也有通过调整内核、程序优化等手段,将单台linux服务器支持的连接数指标提高到20000个,但那样花费在linux内核调整、linux的TCP协议栈的程序修攺等方面所作的工作非常之大,在很多时侯是得不偿失的。

为了使得大型远程移动监控系统能够在移动设备数量扩展的过程中,能够达到只增加服务器(最好能实现动态在线增加服务器)、不需要重构软件系统的目标,必要要在系统中引入支持负载均衡的多采集服务器群集。

目前,业内通用的负载均衡方法有两类,一类是硬件解决方案,一类是软件解决方案。

硬件解决方案主要是引入支持负载均衡的路由器或防火墙来实现,是直接在服务器和外部网络间安装负载均衡设备,这种设备我们通常称之为负载均衡器,由于专门的设备完成专门的任务,独立于操作系统,整体性能得到大量提高,加上多样化的负载均衡策略,智能化的流量管理,可达到最佳的负载均衡需求。

负载均衡器有多种多样的形式,除了作为独立意义上的负载均衡器外,有些负载均衡器集成在交换设备中,置于服务器与Internet链接之间,有些则以两块网络适配器将这一功能集成到PC中,一块连接到Internet上,一块连接到后端服务器群的内部网络上。

目前,许多厂商推出了专用于平衡服务器负载的负载均衡器。目前负载均衡器生产商有:Intel、Alteon Web、Arrow Point(已被思科并购)、Coyote Point、F5 Networks、Foundry Networks、HydraWeb以及 RADWare等。负载均衡器的形式多种多样,作为启动器,它以各种形式和大小出现。一些厂商,如Alteon、ArrowPoint,将负载均衡器集成到交换设备中,置于服务器与Internet链接之间;而另外一些厂商,如Coyote Point、 F5 Networks 以及HydraWeb,则运用两块网络适配器将这一功能集成到PC中,其中一块连接到前端止于Web服务器的Hub上,另一块通过路由器或其他设备连接到Internet上。一旦负载均衡设备检测到所管理的每台服务器承载的负荷量,它会按照一定的算法来分配通信。

  • 而软件方案则有如下选择:
  • 动态DNS方法;
  • 反向Proxy方法;
  • NAT(网络地圵转换方法);
  • IP隧道方法;
  • 直接IP路由方法;

这些方法各有其优缺点,在大型远程移动监控系统中,我们选用NAT方法来实现分布式数据采集及负载均衡。

NAT(Network Address Translation网络地址转换)的工作原理修攺IP包的报文头,报文头(目标地址、源地址和端口等)被改写后,客户相信它们连接一个 IP 地址,而不同 IP 地址的服务器组也认为它们是与客户直接相连的。由此,可以用 NAT 方法将不同 IP 地址的并行网络服务变成在一个 IP 地址上的一个虚拟服务。
 
在一组采集服务器前有一个调度服务器,移动设备连接数据中心时,请求报文到达调度服务器,调度服务器根据连接调度算法从真实的采集服务器中选出一台服务器,将报文的目标地址改写为选定服务器的地址,报文的目标端口改写为选定服务器的相应端口,最后将修改后的报文发送给选出的服务器。同时,调度服务器在连接表中记录这个连接,当这个连接的下一个报文到达时,从连接表中可以得到原选定服务器的地址和端口,进行同样的改写操作,并将报文传给原选定的服务器。当来自采集服务器的响应报文经过调度服务器时,调度服务器将报文的源地址和源端口改为 对应的IP地圵和相应的端口,再把报文发给移动设备。当连接终止或超时,调度服务器将这个连接从连接表中删除。这样,移动设备所看到的只是一个固定的IP上提供的服务,而采集服务器的集群的结构对用户是透明的。

这种负载均衡方案存在两个缺点:

1、调度服务器存在单点故障,即调度服务器出故障后整个系统会出会故障,这个问题可以通过双机冗余方案来解决。

2、调度服务器可能存在性能瓶颈,从目前已运行系统的经验数据来看,调度服务器在连接20台以上的采集服务器时,将会出现性能瓶颈,但这已足够大多数应用的需求了。

这是什么概念呢?简单总结一下:通过负载均衡技术,单采集服务器可以支持3000个移动设备,最大可以支持20台服务器,最大可以支持60000个移动设备。

1楼 0 0 回复