- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
组通信在高可靠服务集群中应用
组通信在高可靠服务集群中应用摘要:组通信是构造高可靠分布式系统的重要基石。以组通信技术为基础,提出了基于Internet的多媒体考试系统平台中集群管理器的结构和设计,详细描述了实现中所采用的可靠全序组播算法、组成员管理、流量控制算法、负载平衡及失效转发算法。
关键词:组通信;多媒体考试系统
中图分类号:TP311.52 文献标识码:A 文章编号:1007-9599 (2012) 11-0000-02
一、引言
[]当前,企业级的计算系统应用日益广泛,而高可用性、高容错性和高可靠性是这些企业级的关键性应用所必须具有的特性,使用集中式的服务架构将无法满足这些需求。
近十年来,组通信(Group Communication)[1][2][3]领域的研究取得重大进展,对于可靠组播、消息排序、失效检测等关键性问题都已提出了不少解决方法。一些操作系统和数据库系统都已经使用组通信技术来构造集群系统。
本文以我们开发的基于Internet的多媒体考试系统平台作为实例,具体描述了将组通信技术应用于构造服务集群系统的方法。
二、系统需求和体系结构
基于Internet的多媒体考试系统平台提供从题库系统、成卷系统、考试规划一直到计算机考试、自动阅卷、答卷信息评价的全线服务,自动化程度高,实现了考试的完全无纸化。它对于系统的性能提出了以下需求:
高扩展性:由于可以通过Internet进行考试,考生人数不受局域网计算机数的限制,因此要求系统必须能够承受大量考生同时参加多门课程的考试,而不会产生性能瓶颈。
高可靠性:考试信息、试题、考生答案等重要数据不能丢失。
高可用性:当系统出现故障时,应该在限定时间内(秒级)自动恢复,不影响考试的进行。
为了满足以上需求,我们基于组通信技术将系统设计为一个集群结构,其包含多个考试服务器,客户端通过负载平衡技术选择一个服务器进行通信,当连接的服务器失效后,客户端可以重新连接到其他服务器,继续进行相关的操作而考试不受影响,这一过程对于用户(考生)是透明的。
每个服务器结点主要由web服务、集群管理器(Cluster Manager,CM)、考试服务器(Exam Server,ES)和数据库服务器四种服务组成,其中CM主要负责使用组通信协议和其它结点的CM进行可靠通信以实现状态复制,ES和数据库服务器进行交互,具体实现应用逻辑如登陆、交卷、查询等。
集群管理器CM主要包括以下处理模块:
可靠全序组播:由于一个节点的消息要发送给集群内所有其他节点,为了使节点之间进行高效的消息传输,采用组播(multicast)方式,实现一对多通信。但是其缺陷是不能保证消息的可靠传递,此外为了保证各节点的状态一致,使各个节点按照相同的顺序接收消息也很重要(即全序,Total order)。可靠全序组播模块就是要保证节点之间使用IP multicast达到消息的可靠、全序传递的目的。
组成员管理:将集群内的服务节点有机组织起来,负责节点的加入、离开和失效的处理,保证所有生存的节点保持相同的组成员视图。
流量控制:如果一个结点由于不能及时处理接收的消息而导致其缓冲区溢出,从而引起大量消息重传。为此采用流量控制机制控制消息的发送速率,以达到流控的目的。
三、可靠全序组播
每个结点都各自维护着一个本地消息计数器,作为发送的消息的顺序号,称为结点顺序号。当某个结点要向全组的结点发送消息m时,给m设置结点顺序号,然后将m发送给集群内一个称为sequencer的结点S(sequencer的产生见下一节)。S还维护着一个全局消息计数器,称为全局顺序号。S每收到一个消息,就给消息设置全局顺序号,再将消息放入它的发送队列。一个线程负责将发送队列中的消息依次按照一定速率在网络中组播。
发送结点将消息m发送给S后,以组播形式接收,如果接收到m,则说明m已经可靠到达S,可以继续发送下一个消息;如果在一定时间内未接收到m,则认为m丢失,重新发送m直到S接收成功为止。同时,S记录着每个结点最后发送的消息的结点顺序号,从而避免接收到重复消息。
所有接收结点对于S组播的消息采取负向应答方式。每个结点都记录着下一个预期接收的消息的全局顺序号Ne。当接收到全局顺序号为Nm的消息时,如果Ne>Nm,则说明此消息是重复消息,将其丢弃;如果Ne=Nm,则将此消息放入接收队列,并且Ne加1;如果Ne<Nm,说明有消息丢失,向S发送一个NACK应答消息,其包含全局顺序号Ne。S接收到NACK后,将从Ne到当前全局顺序号的消息放入到发送队列(去掉重复的消息)重新组播发送。由于接收者是根据新收到的消息序号来判断是否有消息丢失,当S没有消息发送时,则接收者将无法判断丢失情况。因此,当S的发送队列没有消息后,S会周
您可能关注的文档
- 科学课中如何优化实验及资源整合.doc
- 科学饮水 延缓衰老.doc
- 科宁沥青冷补材料修复水泥路面错台及沥青路面坑槽施工及操作.doc
- 科技人才满意度状况实证调查及启示.doc
- 科技创新型企业治理结构探究.doc
- 科技创新多层次资本市场支持体系.doc
- 科技创新隐形翅膀.doc
- 科技名词定义中几个问题研究.doc
- 科技型企业固定资产管理浅谈.doc
- 科技型企业如何分阶段融资.doc
- 2025年河南省安阳市北关区高三下学期4月联考数学试卷.docx
- 2025年河南省安阳市北关区高三下学期4月联考数学试卷.docx
- 2025年河南省商丘市虞城县高三下学期第八周周测数学试卷.docx
- 2025年河南省商丘市虞城县高三英才班下学期数学限时训练试题.docx
- 2025春季眉山市国有资本投资运营集团有限公司集中招聘50人笔试参考题库附带答案详解.doc
- 二零二五家具售后服务承诺书模板锦集.docx
- 心脏介入诊疗术中急性心脏压塞相关知识试卷.docx
- 《解剖学神经系统》课件.ppt
- 2025年河南省商丘市永城市高三下学期3月联考数学试卷.docx
- 2025年河南省商丘市睢阳区高三下学期考前数学适应性演练(二)试题.docx
文档评论(0)