电信级服务器软件架构

电信级服务器是电信运营商使用的网络设备,是对性能、可用性和安全性要求最高的商用服务器,以交换机、路由器等核心网络设备为代表,支撑着计算机网络的发展,并随着电信业务的不断丰富,电信级服务器设备的类型也飞速地发展。

服务器与个人电脑一样都是计算机,以处理器、硬盘、内存、系统总线等组成硬件平台,在硬件平台上运行软件程序。不同之处在于是服务器是针对具体的网络应用特别制定的,与微机在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面存在差异很大。随着信息技术的进步,网络的作用越来越明显,服务器的功能也越来越复杂。而电信级服务器着主要体现在三个关键特征上

·高性能 电信级服务器是为大量的终端用户服务的设备,在业务高峰期要处理海量的数据业务。例如春节前,国人通常会通过手机互发短信问候,对于1个千万人口的国内大型城市,按2010年全国人均发送31条问候短信计算,该市短信系统一共发送3亿1千万短信,即使系统吞吐量峰值是5000条/秒,也需要连续工作17小时多才能发完。而10多个小时才能将短信发给亲友,应该是不会有人满意的,对于北京、上海等2~3千万的特大型城市,系统吞吐量还必须成倍增加。

·高可用性 电信级服务器的要求是 7 x 24 小时不间断服务,满足99.999%的高可用性,这意味着一年内的计划外停机时间只有5分钟。任何时候,一次服务中断对于电信业务来说都是非常严重的事故,以电话业务为例,如果服务器意外中断,大量正在拨号的用户将不能拨通好吗,而大量正在通话的用户的电话会突然中断,这将造成无法估量的损失。

·高安全性 电信级服务器承担着互联网业务数据传输的重要功能。互联网浪潮发展到今天,已经深入了人们的日常生活,保护个人隐私,抵御恶意攻击是电信级服务器的基本要求。以网上购物为例,2011年,淘宝平均每分钟交易4.8万件商品,单日交易额最高达43.8亿元,如果服务器不能保证网上购物业务的安全性,后果是无法想象的。

辩证唯物主义哲学的三大规律之一,量变质变规律告诉我们,事物的量变会引起质变。建造承重300吨的大桥和建造承重30吨的大桥是不一样的;开发可以运行1个小时的程序与开发可以连续运行7 x 24小时的程序是不同的;开发接入10个客户端的服务器,和开发接入1万个客户端的服务器也是不同的。本文将从3个方面介绍电信级服务器软件的设计。

软件流程设计

由于电信业务的时间复杂度是指数级的,要扩大数据规模,提高硬件速度是没有效果的,必须采用更优的计算模式。我们从数据流程的角度,将计算模式分为两种,同步模式和异步模式。

同步模式下,数据是服务器一个一个地处理的,前一个数据处理完再处理下一个数据,对于多核和多CPU的平台,可以同时并发处理n个数据(n是CPU数量)。假设A节点通过B服务器与C节点交互,同步模式的处理方式如下

 

同步模式的程序的逻辑简单,软件代码量相对较少,异常处理考虑相对容易。但是对于电信级服务器来说,同步模式的性能是不够的

异步模式下,服务器可以连续地处理数据,通过内部缓存数据处理的中间结果,记录每个数据的处理状态,直到处理完成。

 

根据我在电信行业十年多的经验,异步模式下系统的吞吐量比同步模式高出一个数量级。但是异步模式程序就比同步模式复杂多了,需要用到内存表、状态机、工作流等技术。而电信级服务器软件一般都是采用异步模式实现。

硬件平台

主流的电信级服务器的硬件平台,经历了由塔式服务器到机架服务器,再到刀片服务器的发展历程。

塔式服务器

 

 

外形及结构都与普通的PC机差不多,主板扩展性较强,机箱内部往往会预留很多空间,以便进行硬盘,电源等的冗余扩展。缺点是体积较大,占用空间多,不方便管理。

机架服务器

 

 

外观按照统一标准来设计,配合机柜统一使用。相比塔式服务器,占用空间小,便于统一管理,但由于内部空间限制,扩充性较受限制。

刀片服务器

 

是一种低成本服务器平台,是专门为特殊应用行业和高密度计算机环境设计的,其主要结构为一大型主体机箱,内部可插上许多“刀片”,其中每一块刀片实际上就是一块系统母板,类似于一个个独立的服务器,它们可以通过本地硬盘启动自己的操作系统。刀片服务器比机架式服务器更节省空间,且扩展性较强。

目前电信级服务器的主流硬件平台是刀片式服务器组成的集群,并以负载均衡、四层交换等技术为基础实现高性能的业务数据的处理。

异常处理

要满足5个9的高可用性要求,很多对于普通服务器来说出现几率很小而可以忽略不计的异常情况,对电信级服务器来说则是必须应对的风险。

·存储空间不足

由于电信级服务器需要不间断处理海量数据,即使配置海量数据存储设备,有定期的数据清理机制,也必须要考虑空间满的情况,要慎重分析业务峰值的压力,确保在空间不足的时候业务不会中断。而相应的常采用的技术方案包括备用存储、告警恢复等等。

·数据库异常

即便是oracle和sybase等业内成熟的商用数据库,支撑电信级服务器时也不能完全避免挂起、死锁等问题。以我在电信行业工作十年的经历,接近1/5的现网问题都和数据库异常有关。所以电信级服务器必须要有在数据库异常时确保业务不中断的机制。

·硬件设备异常

电信级服务器最常出现问题的设备是磁盘/磁阵,我在工作中经常碰到磁阵挂起导致的现网问题。所以设计电信级服务器的时候,必须要有应急机制,避免因为硬件故障导致业务长时间中断。

本文介绍了电信级服务器的三个重要特征:高性能、高可用性和高安全性,并从流程设计、硬件平台和异常处理三个方面简单介绍了电信级服务器的软件设计。当然,电信级服务器软件的架构需要考虑的方面远不只这些,要成功开发的电信级服务器软件,除了扎实地通信领域技术基础,长期的软件开发经验积累,还需要特别能战斗的团队组织。

作者简历

 

 

 

 

 

 

   

 

 名: 林朗  别:
出生日期: 19780520   地: 重庆市
工作年限: 五年以上  口: 广东
电子邮件: liagl@21cn.com
家庭电话:  
移动电话: 15922573819

 

 

 

 

   

2004/10–至今:中兴通信
所属行业: 计算机软件
重庆软件开发部 软件工程师
在中兴通讯工作期间,参与软交换增值业务平台、AAA系统和短信网关等电信级服务器系统的研发工作,深入研究了CorbaWebService、对等网络和云计算等技术,组织项目组按Scrum模式做敏捷开发。

 

2003/07–2004/10:同洲电子
所属行业: 电子技术/半导体/集成电路
研发院 项目经理
从事数字电视机顶盒的设计盒开发工作,组织项目组成功完成嵌入OpenTV中间件的采用LSI方案的机顶盒,和嵌入MHP中间件的采用ST方案的机顶盒产品的开发,

 

2002/04–2003/07:新加科技电子公司
所属行业: 计算机软件
TGMS 高级软件工程师
参与大型城市应急系统设计和开发工作,深入研究RUP开发模式和组件编程,独立完成GIS客户端系统。

 

2000/07–2002/04:深圳雅都图形软件股份有限公司
所属行业: 计算机软件
应用开发部 软件工程师
从事国内大型GIS系统的涉及和开发工作,并成功完成一个多级分布式MIS系统和两个多级分布式GIS系统。

本文固定链接: http://www.ccsbbs.com.cn/archives/5601.html | 极限手指

该日志由 极限手指 于2013年02月18日发表在 编程开发 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: 电信级服务器软件架构 | 极限手指

电信级服务器软件架构:等您坐沙发呢!

发表评论

您必须 [ 登录 ] 才能发表留言!