C++基于局域网Linux环境下的心跳检测系统实现

上传人:汽*** 文档编号:553652873 上传时间:2023-04-19 格式:DOC 页数:60 大小:5.34MB
返回 下载 相关 举报
C++基于局域网Linux环境下的心跳检测系统实现_第1页
第1页 / 共60页
C++基于局域网Linux环境下的心跳检测系统实现_第2页
第2页 / 共60页
C++基于局域网Linux环境下的心跳检测系统实现_第3页
第3页 / 共60页
C++基于局域网Linux环境下的心跳检测系统实现_第4页
第4页 / 共60页
C++基于局域网Linux环境下的心跳检测系统实现_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《C++基于局域网Linux环境下的心跳检测系统实现》由会员分享,可在线阅读,更多相关《C++基于局域网Linux环境下的心跳检测系统实现(60页珍藏版)》请在金锄头文库上搜索。

1、 编 号: 审定成绩: 重庆邮电大学毕业设计(论文)设计(论文)题目:C+基于局域网Linux环境下的心跳检测系统实现学 院 名 称 :计算机科学与技术学院学 生 姓 名 :胡 凯专 业 :计算机科学与技术专业班 级 :0490601学 号 :06100107指 导 教 师 :易 芝答辩组 负责人 :填表时间: 2010 年 6 月重庆邮电大学教务处-1-摘 要当今世界的网络飞速发展,但也因此也产生了许多网络故障,心跳检测技术作为一种故障检测技术,在当今服务器市场有很大需求。心跳检测技术是一种检测网络连接故障的技术,它通过在服务器端和客户端装上各自的心跳检测软件,就可以根据发送的心跳报文来监测

2、故障,判断各个网络节点的连接是否正常1。 本文研究了心跳检测技术在Linux平台下的实现,设计了一款能在局域网上运行的心跳检测系统。该系统采用TCP/UDP协议,以C/S模式进行开发。服务器充当主控节点,客户端充当外围节点,通过客户端发送心跳报文的方法来实现心跳检测。系统在节点的局域网中使用,能达到很高的成功率。【关键词】心跳检测 主控节点 外围节点 报文 LinuxABSTRACTNetwork technology of todays world has the rapid development ,but also produces so many network failure, he

3、artbeat detection technology is a detection technology as a network failure detection , and has much demand in todays server market.Heartbeat detection technology is a network connection failure detection technology, server and client need only install on each heartbeat detection software, you can s

4、end packets to monitor heart failure, determine whether the various network nodes is in the normal .In this paper, the heartbeat detection technology implementation in the Linux platform, designed a run in LAN heartbeat detection system. The system uses TCP / UDP protocol, to C / S model for develop

5、ment. Server acts as the master node, the client acts as the external nodes, through the heartbeat messages sent by the client to achieve the heartbeat detection methods. System used in local area network node can achieve a high success rate.【Key words】Heartbeat detection Master node Peripheral node

6、 Message Linux目 录ABSTRACT2前 言4第一章 系统简介6第一节 心跳检测机制6第二节 本文设计的心跳检测系统6第三节 本章小结7第二章开发环境、工具和技术8第一节Linux的介绍8第二节GCC简介9一、什么是GCC9二、GCC的基本规则10三、GCC的基本用法10四、执行过程11第三节 linux下的网络编程技术11一、socket编程介绍11二、TCP/UDP开发简介16第四节 本章小结17第三章 系统的分析与设计18第一节 需求分析18一、问题定义18二、可行性研究18三、用户需求18四、系统整体用例图19第二节 概要设计19一、设计指导思想20二、心跳检测系统的整体

7、结构图20三、总体设计21第三节详细设计22一、心跳表注册表的设计22二、报文格式的设计24三、外围节点的设计26四、主控节点的设计27第四节 本章小结31第四章 心跳检测系统的实现32第一节 linux下开发环境32一、编译环境32二、运行环境33第二节 程序的实现35一、外围节点的实现35二、主控节点的设计37第三节 本章小节40第五章 系统测试41第一节 测试环境41第二节 测试方法41一、黑盒测试42二、测试步骤42第三节 本章小结48结 论49参考文献51附 录52一、英文原文52二、中文翻译56前 言网络是一个庞大复杂的系统,有成千上万台设备节点,经常会出现连接故障,我们不可能用人

8、力去监测,这时负责监测网络故障的心跳检测软件由此产生。心跳检测系统是基于C/S架构开发的网络检测系统,随着网络技术的发展而发展,在当今服务器市场上有很大需求,也日趋成熟化。比如Linux平台下的HeartBeat集群软件包就是成功的典型。我相信,在当今IT技术的推动下,心跳检测在未来几年会有更广阔的发展空间。在了解了心跳检测的基本原理和Linux网络编程的基本方法之后,我设计了一个可以在局域网上进行网络连接检测的心跳检测系统。并对里面涉及的技术原理,设计思想进行了相关讨论。第一章 系统简介第一节 心跳检测机制在分布式系统中,有成千上万个设备节点通过有线或者无线网络连接。这些节点和网络随时可能发

9、生故障,从而导致部分节点或者网络瘫痪。为了确保整个系统正常工作,主控节点应该能随时知道其他节点当前是否在正常工作。如果用人力去监控,则会造成很大的开销,且节点是否瘫痪有时无法从外表判断。心跳检测系统可以节省人力,根据外围节点定期发送的报文来判断设备和网络是否发生故障。心跳检测技术是分布式嵌入式系统中一种常见的故障检测方法。在心跳检测中,外围节点将周期性向主控节点发送心跳报文。如果过一段时间之后,主控节点没有收到外围节点的心跳报文,则认为此节点或相关网络出现故障,并向管理员报告。它有如下特点:基于C/S模式,主控节点(服务器端)判断外围节点(客户端)是否正常运行,一般采用定时发送简单的心跳报文,

10、如果在指定时间段内未收到对方响应,则判断连接出现故障。用于检测网络的异常断开。发包方可以是客户端也可以是服务器端,看哪边实现方便合理。一般是客户端,服务器也可以定时轮询发心跳下去(我的系统是采用客户端发报文)。检测方法就是外围节点每隔几分钟发送一个心跳报文给主控节点,服务端收到后回复一个响应报文。如果服务端在规定时间内没有收到客户端信息则视连接断开。第二节 本文设计的心跳检测系统在介绍了心跳检测系统的概念、特点、作用之后,下面介绍了我所设计的系统的一些情况。由于该设计主要是针对10台左右的小范围的局域网设计的心跳检测系统,没有涉及到数据库存储的相关知识,因此该系统的优点是所需要的硬件代价小,实

11、现起来的网络连接相对简单,能针对自己组建的局域网来测试。当然,该设计的功能差了很多,比如在数据库中记录节点出错时间,监控节点数量的多少,网络阻塞引起的延时等方面并没有涉及到。我相信,我今后在学习更多网络故障检测技术和网络编程技术后,会将上述功能一一实现。 我的设计在Linux平台下,采用了C/S模式,服务器端充当主控节点,客户端充当外围节点,外围节点先发送TCP报文进行和主控节点建立连接,在建立连接成功后,发送心跳报文,心跳报文则采用UDP格式设计。而后每隔一秒发送一次心跳报文,主控节点根据心跳报文来检测网络连接是否正常。第三节 本章小结本章先从心跳检测的用途出发,介绍了心跳检测的概念,以及它

12、使用的原理,使大家对心跳检测有了大致的了解。最后大致介绍了我自己设计的心跳检测系统的一些情况,包括优缺点和大致的实现情况。第二章 开发环境、工具和技术第一节 Linux的介绍Linux是一类Unix计算机操作系统的统称。Linux操作系统的内核的名字也是“Linux”。Linux操作系统也是自由软件和开放源代码发展中最著名的例子。严格来讲,Linux这个词本身只表示Linux内核,但在实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。Linux得名于计算机业余爱好者Linus Torvalds。当时他是芬兰赫尔辛基大学的学生。他的目的

13、是想设计一个代替Minix(是由一位名叫Andrew Tannebaum的计算机教授编写的一个操作系统示教程序)的操作系统,这个操作系统可用于386、486或奔腾处理器的个人计算机上,并且具有Unix操作系统的全部功能,因而开始了Linux雏形的设计。出于爱好,他根据可在低档机上使用的MINIX设计了一个系统核心Linux 0.01,但没有使用任何MINIX或UNIX的源代码。他通过USENET(就是新闻组)宣布这是一个免费的系统,主要在x86电脑上使用,希望大家一起来将它完善,并将源代码放到了芬兰的FTP站点上任人免费下载。Linux以它的灵活性和高效性著称。能够在个人计算机上面实现全部的u

14、nix的特性。具有多任务、多用户的能力。Linux在GNU的GPL公共许可权下免费获得。Linux不仅仅包括完整的操作系统,还包括文本编辑器、高级语言编译器等应用软件。它还包括带有多个窗口管理器的X-windows图形用户界面。目前,linux能够运用于各种版本的cpu的计算机上,还能运用于一些手持设备,比如说,PDA,游戏机,手机,嵌入式产品等等。由于linux的开源性以及免费性,很多厂家都选择应用linux开发,以降低成本,在增强竞争力的同时也推进了linux系统的发展。 绝大多数基于Linux内核的操作系统使用了大量的GNU软件,包括了shell程序、工具、程序库、编译器及工具,还有许多其他程序,例如Emacs。Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近。Linux的优点集中体现在以下几点:低廉性:基于其低廉成本与高度可设定性,Linux常常被应用于嵌入式

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号