浅析一个分布式日志服务器的应用

来源 :考试周刊 | 被引量 : 0次 | 上传用户:shengli46
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:本文论述了一个分布式日志服务器的实现过程。通过对系统需求的介绍,具体描述了系统的设计过程,并对系统中运用的若干关键技术进行了分析,最后总结讨论了该系统的优点。
  关键词:日志服务器 分布式 缓冲 多线程 UDP FTP
  
  引言
  
  日志在实际应用中具有重要的意义。它有助于我们发现系统中存在的问题,以改进产品的质量,也可以从侧面了解用户使用的情况。如果对日志进行更深层次的挖掘,还可以了解用户的潜在需求,为产品开发者提供指导。日志服务器就是用来收集这些日志的平台。本文给出了一个分布式日志服务器的参考应用。
  
  一、需求介绍
  
  本应用主要接收来自小型终端设备的日志信息。终端设备的特点是:1、分布范围很广,分布的范围跨越不同的国家;2、数量很大,达到万级,并且数量仍有不断递增的趋势;3、单个终端在单位时间内发送的日志数量巨大。以上特点无疑就给日志服务器提出了较高的要求,即日志服务器必须能够长时间承受很大的负载,并且能够有很大的数据容量。另外,在这基础上我们还要考虑到将来对系统进行扩展的可能性。
  
  二、系统设计
  
  本系统设计上采用了分布式的架构(架构图见图1)。其中日志接收服务器负责接收来自终端设备的日志数据包,并在经过处理后,传输到日志集中服务器。日志接收服务器分散部署到不同的地点,用于接收来自各个地区的设备的日志。而日志集中服务器负责接收日志接收服务器传输过来的日志文件,并保存到本地的数据库。
  (一)架构图
  
  应用中,结合本应用的特点,我们选择了UDP协议。原因主要有三点:一、本应用收集来自终端的日志,对可靠性要求不是很高,即使有少量数据丢失,也是可以接受的;二、终端发送的日志数据量较小,每个包在100字节左右;三、终端数量巨大,对接收效率的要求非常高。
  2.日志接收服务器与日志集中服务器间的协议
  这个环节的协议也有两种可选方案:FTP(文件传输协议)和HTTP(超文本传输协议)。本系统的实现选择了FTP。主要的考虑如下:一、FTP可以采用成熟的服务器端产品,这无疑能减少开发的时间成本,也加强了可靠性保证;二、FTP有用户验证机制,提供了一定程度的安全性。
  (三)日志接收服务器
  日志接收服务器的作用相当于是一个日志中转站。它接收来自终端的日志包,并将日志传输到日志集中服务器。日志接收服务器的工作流程如图2所示。
  
  以下对日志接收服务器上用到的若干关键技术进行说明:
  1.缓冲技术
  缓冲区是一块空间足够大的内存。接收来自终端的日志包,实际是通过对UDP端口的循环侦听实现的。这一环节对整个系统的性能有着非常重要的影响。因为,一旦接收速度慢,就会导致后续的日志包无法送达,造成丢包。所以,引入缓冲,就是当接收到日志包之后,不进行处理,直接保存到一个缓冲区,这样处理显然就大大提高了接收日志包的速度。引入缓冲还有另外一个好处,就是终端发包的流量是时快时慢的,缓冲区能够对短时间的大流量冲击进行缓冲,避免丢包现象发生。
  2.多线程
  在解析日志包的时候,为了提高解析的效率,引入了多线程机制。多线程机制提高了CPU利用率,在很大程度上改善了效率。
  3.压缩
  在传输文件前,本应用先对文件进行了压缩处理,这主要是出于节省网络流量并且提高传输效率的考虑。因为网络的带宽是一种高成本的资源,进行压缩无疑显得非常必要。
  (四)日志集中服务器
  日志集中服务器是日志的一个总的存储中心。它工作流程如图3所示。
  
  以下对日志集中服务器用到的若干关键技术进行说明:
  1.FTP服务器
  接收来自接收服务器的压缩文件是通过现有的FTP服务器端软件实现的,目前这种软件的选择是很多的,甚至Windows也有自带的FTP服务器。使用FTP服务器大大节省了开发的时间,并且避免了自行开发可能带来的风险。
  2.缓冲技术
  在将日志写入数据库的时候,也采用了缓冲技术。在写数据库的时候,逐条写入速度是很慢的。只有在达到一定量的时候,同时写入才能得到最高的速度。当然,同时写入的量是有一个最优的值,并不是越多越好,这个最优值只有通过反复测试才能找出来。
  
  三、系统的优点
  
  (一)分布式
  只要能保持和集中服务器以及终端设备的网络通讯,日志接收服务器可以根据需要分布部署在不同的地点。分布式的特点为部署提供了很好的靈活性。
  (二)工作效率高
  系统经过反复苛刻的压力测试,并且经过不断的优化,使其具有了非常高的工作效率。测试的结果如下:
  日志接收服务器处理能力≥每秒10000条日志;
  日志集中服务器处理能力≥每秒20000条日志。
  (三)可维护性好
  由于各个子系统之间功能划分明确,相互独立,子系统之间耦合性低,整个系统的可维护性非常好。一旦发生故障,各个子系统可以相互断开,各自测试,进行故障分析,能够在很短时间内找出问题所在。当某一部分进行软件升级维护的时候,也不会影响到其他部分正常工作。
  (四)可扩展性好
  当日志接收服务器需要扩充的时候,可以在需要的地点放置一台接收服务器,在进行配置之后就能进行工作,不会影响到其他服务器。
  当日志集中服务器需要软件硬件升级的时候,可以先将FTP服务器停止,在升级完成之后再启动FTP服务器,日志接收服务器会将这段期间的文件再上传,不会造成数据丢失。
  
  结束语
  
  本系统在开发和测试阶段,通过反复多次的努力,使系统性能得到很大改进。目前,本系统已经投入运行,经受住了大流量数据的压力和长时间不间断运行的考验,实践证明是稳定的、可靠的、高效率的。开发过程中还解决很多其它的技术问题,比如压力测试时采用的模拟器,以及系统运行状况监视器,由于篇幅的限制,在此就不一一论述。
  
  参考文献:
  [1]Java Database Programming Bible, John O’Donahue, 2002.
  [2]Effective TCP/IP Programming,Jon C.Snader,2001.
  [3]黄传动. 通信协议的分布式测试方法研究和测试系统实现[D]. 中国科学技术大学,2006.
  [4]孙家东. 分组无线专用通信系统的研究系统通信协议的设计[D]. 东南大学,2004.
其他文献
摘 要:化学是一门以实验为基础的学科,本文论述了加强化学实验教学,是实施素质教育,搞好研究性学习的有效途径。  关键词:化学实验 素质教育 方法 途径    化学是一门以实验为基础的学科,“以实验为基础”是化学的基本特征。化学的感性认识主要靠化学实验提供,重视化学实验是素质教育的重要标志。充分利用化学学科挖掘和开发化学实验在研究性学习中的功能,对于改变学生的学习方法,使其形成终身学习的能力具有重要
摘 要:大众传媒以学校篮球赛事为载体,实现其娱乐化、大众化、商业化;学校篮球赛事文化成为媒体传播的重要内容。同时大众传媒对学校篮球赛事的宣传和报道,极大地促进了篮球运动文化在我国学校的传播、发展与完善。学校篮球赛事文化具有极其重要的传播价值。  关键词:学校篮球赛事 媒体传播 文化分析    1 学校篮球赛事的媒体传播    1.1学校篮球赛事文化是大众媒介的重要内容  随着我国学校篮球运动竞技水
摘 要:通过对衡水学院女大学生参加健美操选修课动机的调查发现,女大学生参加健美操选修课的动机主要有:审美娱乐动机,身心健康动机,交往动机,体育成就动机。  关键词:女大学生 健美操选修课 动机    前言    健美操作为当代国际最为流行的运动项目,以它独特的魅力“火”遍全国。它集音乐、舞蹈、表演、技巧为一体,兼有文化娱乐的内涵,是锻炼身体陶冶情操极好的运动项目之一。  随着健美操在我国的普及与发
摘 要: 众所周知,体育游戏是小学体育教学的重要内容。它是孩子的最好伴侣,是最有效、最有意义的活动,也是教育孩子的最好的方法之一。正因为体育游戏的条件和环境经常变换,它对儿童的智力发展、身体发育都会起到良好的作用。  关键词:体育游戏 体育教学 作用 改进    体育游戏是按一定目的和规则进行的一种有组织的体育活动,也是一种有意识的、创造性的和主动性的活动。体育游戏内容丰富、寓意深刻,形式生动活泼
PLC在现代工业控制的应用中已非常广泛.但随着控制系统复杂性和自动化程度的不断提高,采用常规的面向过程的方法进行PLC编程会变得十分困难.因此,必须采用面向对象的编程方法
本文论述了运用探究性教学方法对学生创新能力、思维能力、动手探究能力等方面的培养。笔者在教学中就此进行了尝试,取得了良好的效果。 This article discusses the use of
摘 要:在线答疑系统的建设与完善,成功解决了网络教学过程中学生与教师之间交流不畅的难题,提高了网络课程的使用效率。本文主要讨论了在线答疑系统的功能设计以及主要实现技术。  关键词:网络课程 在线答疑 ASP SQL Server 2000    大量网络课程的开发建设使网络教学得到了迅速的发展,答疑、解惑作为教育活动中的一个必不可少的环节,也是网络课程中的一个重要组成部分。网络课程的建设使学生在任
摘 要:职业教育计算机教学中,如何改变以教师为中心,教师讲学生被动听、记和背,把学生当成装知识“容器”的传统教学模式,很多计算机教育工作者一直在为之努力。改变教学模式,更新思想,增加课堂容量,提高课堂教学效率,必将成为今后职业学校计算机教学工作面临的一个重要问题。  关键词: 职业学校 计算机教学 学生主体 课程    从事职业学校计算机教学多年,深感职业学校计算机教学有别于一般的计算机教学。由于