简易分布式程序的开发(2)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

简易分布式程序的开发(2)


1  毕业设计开题报告
   1.1   设计目标:通过该设计,了解网络分布式应用的实现原理和相关技术,通过一个简单的分布式应用程序的设计和编程实现,经历实际的软件开发和调试过程,巩固所学知识,锻炼分析和解决问题的能力。
   1.1.1分布式系统的原理: 所谓分布式系统顾名思义就是利用多台计算机协同解决单台计算机所不能解决的计算、存储等问题。
      (1)哈希方式:把不同的值进行哈希运算,映射到,不同的机器或者节点。考虑冗余的时候可以把多个哈希值映射到同一个地方。哈希的实现方式,取余。其实现扩展时,比较困难,数据分散在很多机器上,扩展的时候要从个机器上获取数据。而且容易出现分布不均有的情况。常见的哈希,用IP、URL、ID、或者固定的值进行哈希,总是得到相同的结果。
      (2)按数据量分布:另一类常用的数据分布方式则是按照数据量分布数据。与哈希方式和按数据范围方式不同,数据量分布数据与具体的数据特征无关,而是将数据视为一个顺序增长的文件,并将这个文件按照某一较为固定的大小划分为若干数据块(chunk),不同的数据块分布到不同的服务器上。与按数据范围分布数据的方式类似的是,按数据量分布数据也需要记录数据块的具体分布情况,并将该分布信息作为元数据使用元数据服务器管理
   1.1.2 分布式系统的基本协议:基本的副本控制协议,着重分析两大类典型的副本控制协议。副本控制协议指按特定的协议流程控制副本数据的读写行为,使得副本满足一定的可用性和一致性要求的分布式协议。副本控制协议要具有一定的对抗异常状态的容错能力,从而使得系统具有一定的可用性,同时副本控制协议要能提供一定一致性级别。要设计一种满足强一致性,且在出现任何网络异常时都可用的副本协议是不可能的。为此,实际中的副本控制协议总是在可用性、一致性与性能等各要素之间按照具体需求折中。
         副本控制协议分为两大类:中心化(centralized)副本控制协议和去中心化(decentralized)副本控制协议。
       (1)中心化副本控制协议的基本思路是由一个中心节点协调副本数据的更新、文护副本之间的一致性。中心化副本控制协议的优点是协议相对较为简单,所有的副本相关的控制交由中心节点完成。并发控制将由中心节点完成,从而使得一个分布式并发控制问题,简化为一个单机并发控制问题。控制问题,简化为一个单机并发控制问题。
         (2)去中心化副本控制协议没有中心节点,协议中所有的节点都是完全对等的,节点之间通过平等协商达到一致。从而去中心化协议没有因为中心化节点异常而带来的停服务等问题。
    1.2  课题设计的步骤
⑴、设定一个程序(如游戏活动),可运行在网络中的多台计算机上,通过固定的IP地址和端口探测网络中的其他程序并保持联系,协商是否可进行分布处理。
⑵、该程序都可作为应用的召集者,通过协议与其他计算机达成共识后开始分布处理工作,并在同意协议的计算机中随机抽取发起者并确定处理顺序。然后再根据该处理顺序运行游戏活动程序。
⑶、这里的分布处理工作为时钟计时,在协商好的时间范围内传递时钟,由发起者启动时钟,时钟是否传递出由人工决定。当游戏程序结束或者时钟停止时,得到该分布式系统的最后结果以及参与分布处理的计算机的最终分布处理状态。 (责任编辑:qin)