心跳检测(应用Boost库)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

毕业设计(论文)

题目

学院名称计算机科学与技术学院

指导教师

职称

班级本07计算机01班

学号

学生姓名

目录

摘要

随着Internet快速发展,大量的P2P出现给人们的生活交流带来许多便利。然而由于人们需求的不断提高,对于P2P系统的可靠安全行性,同时也提出了新的要求。对于覆盖世界的网络中,随时都有可能出现故障。对于研究者希望

P2P系统有自动检测到故障的原因自动修复的功能。在这方面许多人都在不断的进行研究实验。

本文研究的主要方面是P2P存储系统与故障维护中的心跳检测技术。心跳检测技术是一种检测网络连接故障的技术,根据服务端和客户端各自的心跳检测软件,相互之间发送消息即心跳报文来检测故障,判断网络连接是否正常,系统是否工作。这篇论文设计了一个能管理几百个外围节点的心跳检测系统。该系统是在Linux操作系统下,采用的TCP/UDP协议,以C/S模式,应用Boost库,以C++语言进行开发的。服务端为主控节点,客户端为外围节点,通过客户端发送心跳报文的方法来实现心跳检测。

关键词:P2P;心跳检测;Boost;Linux

ABSTRACT

Along with the Internet fast development, massive P2P appears for people's life exchange brings many conveniences. However, as a result of the people demand's unceasing enhancement, regarding the P2P system's reliable security line, simultaneously also set the new request. Regarding in the cover world's network, It has the possibility to present the breakdown. Regarding the researcher hoped that the P2P system has the automatic detection breakdown reason and the automatic repair function. In this aspect many people are researching.

This paper mainly researches the heart beat technology of P2P memory system and failure detection. Heat beat technology is the technology that it detects network fault, as sending messages between server and client. And it can estimate whether the network and P2P system are working naturally. The paper introduces the P2P system can manage hundreds of the client nodes . The system designs in the Linux platform, using TCP/UDP protocol, Boost libraries, C++ language and on the basis of C/S model. Server acts as the master node, the client acts as the external nodes, through the heart beat messages sent by the client to achieve the heart beat detection methods.

引言

随着网络技术的快速发展,网络拉近人们之间的距离,于此同时大量的基于网络的系统也不断的出现。在网络这个庞大的系统中,有成千上万的节点接入到网络中共享资源信息。对于这些成千上万节点靠我们人力管理是很难的,并且会经常的出现故障,这时我们需要系统自动的检测出网络中的故障所在。所以负责检测故障的心态检测技术就应运而生。

在P2P存储系统与故障修复中的心跳检测技术是基于C/S架构开发的网络检测系统。对于各类应用P2P软件,心跳检测技术是必不可少的一部分。P2P存储系统与故障修复是一个很庞大的部分,里面涉及到许多的算法。本论文对于故障修复进行详细的研究,仅仅是检测到那个节点发生了故障,没有正常连接到P2P系统中。以后随着这方面研究的深入,也许P2P系统检测与故障修复也会趋近于完善。

本人通过查找大量的资料对于心跳检测原理有一些了解。结合一些Linux网络编程的知识,为了能跨平台移植应用了Boost库开发。文章中对于设计的思想,和技术原理都进行了详细的描述。

第一章绪论

1.1 心跳检测机制

在P2P系统中有成千上万个节点接入到系统中,这些节点随时都有可以发生故障,有可能是硬件故障,也可能是软件故障,导致客户节点无法正常接入到系统中,系统将无法得到本地系统的资源,甚至导致部分系统瘫痪。为了确保整个系统正常的工作,主控节点应该可以随时的知道其他节点当前是否正常工作。如果靠人力来监督这件事件是很难办到的,并且会造成很大的经济开销,而且响应时间较慢。心跳检测系统可以节省人力和经济,它根据外围节点定期发送的报文来判断和网络连接是否出现故障。

心跳检测技术是P2P系统中常见的故障检测方法。在心跳检测技术的原理是外围节点定期的向主控节点发送心跳报文,主控节点定期的检测是否接收到外围节点发送的报文,主控节点定期时间段大于外围节点时间段,主控节点没有接收到响应节点的心跳报文,则认为此节点或者相关的网络出现故障,并向管理者报告。

特点:(1)基于C/S模式,半结构化的P2P存储系统中,服务端判断客户端是否正常运行,一般采用定时发送简单的心跳检测报文,如果在定期内没有收到节点的相应报文,则判断网络出现故障,同时也可以用ping方法来检测网络是否连接正常,但是此方法不能够判断出系统崩溃等其他情况。

(2)发送报文方可以是客户端(外围节点),也可以是服务端(主控节点),这方面设计是很宽松的,看你实际的需要。本人采用的是客户端发送报文,服务端不给予回复,服务端只是定期的检查是否接收到报文。

(3)检测方法是客户端(外围节点)每隔几秒发送心跳报文给服务端(主控节点)。服务端仅仅是检测报文是否存在,不回复给客户端(外围节点)。如果服务端在规定时间内没有收到客户端信息视为连接中断。

(4)心跳检测模块,可以是挂接在系统中,当需要修改时,可以将其修改在挂接到系统中。

相关文档
最新文档