面向分布式计算的网络编程框架设计与实现

被引量 : 12次 | 上传用户:janmey2007
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
以云计算为核心的第三次IT革命引发了一次全新的技术浪潮,而分布式计算在这一浪潮中起着中流砥柱的作用。实现分布式计算的主流方式是使用普通商业硬件搭建分布式系统,通过增加机器数目来实现扩容。实现这样的一个分布式系统,必然涉及多台主机上的多个进程,而由于不同主机之间的进程需要通过网络来进行连接,这势必会带来诸多复杂问题。利用现代高级程序设计语言如C++,以及面向对象的思想去设计并实现分布式系统可以一定程度上降低或者避免这些复杂性。网络与分布式系统实验室的基础类库最初是为了降低设计通信服务器的整体难度,以及减少实现通信服务器的开发工作量设计并实现的。本文的主要目标就是对网络与分布式系统实验室的基础类库的做进一步改进和完善,设计并实现面向分布式计算业务的网络编程框架。本文对实现分布式计算业务的常见需求进行归纳与整理,提炼出了两种模型:通信模型和并发模型。通过分离业务逻辑和底层的通信模型,以及分离业务逻辑与底层的并发模型,力图将代码中的功能性部分和非功能性部分分开。依据这两种模型,本文设计并实现了两个框架用以支撑实现常见分布式计算业务:事件驱动框架和多线程框架。多线程框架优点是对并发业务提供了一个非常自然的抽象,业务之间的隔离性好,缺点是操作系统提供的原生线程属于稀缺资源。事件驱动框架优点是能够提供大量的并发,没有上下文切换,没有锁的羁绊,缺点是编程复杂性的增加。结合实际应用,本文提出了一种使用网络编程框架的范式:业务的主流程实现在事件驱动框架中,统一处理网络I/O事件、定时器事件和信号事件,而事件驱动框架中的一切阻塞流程,如磁盘I/O或数据库事务等都统一交由多线程框架去处理。本文的最后通过测试用例对框架的功能特性和性能特性进行了验证。使用本文实现的网络编程框架去实现分布式计算业务,不仅能很好满足性能要求,还能大大简化了开发工作量,使得程序员能够把精力更多地集中在分布式计算业务逻辑的实现上。
其他文献
分析内部审计人员与高层管理者沟通需求、沟通障碍,提出沟通路径。
由朱熹到王阳明,理学产生了一个"心学转向"。在这种背景下,"格物说"在理论以及生活实践中的地位再一次得到了凸显,并且受中国哲学固有的一元论思维影响,带上了一种超越性的色
介绍了犬细小病毒病的病原、流行病学、症状、诊断及治疗方法,并通过对3例具体病例的诊治过程的分析,总结了笔者的诊治体会,以期为该病的防治提供借鉴。
本文主要是以我国已进入崭新的信息社会和传媒时代为背景,在电视结构学和电视营销学的基础上从本体出发认真考察当今优秀娱乐节目如何塑造别具一格的媒介文化和建设有旺盛生
宣布撤销俄罗斯的食品进口禁令将推动美国恢复对俄罗斯猪肉供应,但会影响巴西猪肉出口商.
<正>绿色环保深入人心,关注并保护我们赖以生存的地球环境刻不容缓。本文从一节普通的语文课入手,展现如何向学生强化环保理念和安全观念。本文作者视角新颖,构思独特,思考深
目的:研究子宫动脉栓塞术治疗子宫腺肌症的临床效果。方法选取我院2010年2月-2011年2月收治的采用子宫动脉栓塞术治疗子宫腺肌症的患者46例,分析患者手术前,手术后1个月、3个月
内部审计质量控制是降低审计风险、提高审计效能、实现审计目标的重要保证。本文从COSO框架的八要素分析入手,结合内部审计质量控制影响因素,构建内审质量控制目标,探索建立
进行不同培养基及pH值对双孢菇母种菌丝生长的影响试验,结果表明:1双孢菇母种在麦粒+PDA综合的培养基上长势及生长速度都明显好于单纯的PDA培养基,说明在适当的C/N范围内增加
在塬地黄麻土条件下,研究了有机无机复混肥、399复合微生物肥、磷酸二铵3种不同类型的肥料及用量对设施番茄植物学性状、产量、施肥效率及经济效益的影响。结果表明,施用有机