分布式缓存中事件机制子系统的设计与实现

来源 :北京邮电大学 | 被引量 : 0次 | 上传用户:phoebus
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
如今网络平台中各类应用已经深入到人们的衣食住行等领域,人们的生活、工作、学习带来了翻天覆地的变化,如百度搜索、淘宝、微信各种互联网App,每一秒钟都有数以万计的用户使用这些应用程序。当用户访问量增加时,高并发访问数据库由于磁盘I/O速度造成请求响应延迟,解决这一问题的关键方法是在服务器端采用缓存技术。在缓存服务器处理高并发的访问时,为快速处理请求,以非阻塞方式处理网络I/0以及各种定时任务。因此,服务器中需要一套高效的基于事件的子系统,如Memcache基于Libevent的事件机制。当前Libevent作为通用事件机制广泛使用在服务器中。Libevent是开源、事件驱动、跨平台的网络处理库,提供了简洁的API便于项目开发。但是Libevent为满足通用性以及跨平台性导致代码庞杂,性能有所下降,而且代码封装过于完善不利用扩展。在项目开发中如果对事件机制效率要求较高,需要根据具体需求自行设计实现。本论文设计和实现了分布式缓存系统中的事件机制,该分布式缓存系统是基于应用服务器高并发问题的背景下设计实现的。项目运行系统为Linux操作系统,使用C语言进行开发。事件机制内部使用多线程解决客户端的高并发访问,修改了并行处理中经常使用的Master-worker模式,将多线程模块封装在事件机制内部,内部线程的数目根据任务可以动态调整,线程使用epoll处理网络I/O,快速处理用户请求。事件管理器采用双hash表实现,为减少大量的事件迁移对系统的波动,实现hash表的逐步迁移平摊开销策略。考虑到系统需要进行大量定时事件操作,事件机制定时器采用了级联时间轮算法。时间轮算法保证定时事件插入、删除等一系列操作的时间复杂度都在0(1),并且不会随着定时事件的增加而增大。级联时间轮算法可以表示大范围的定时跨度,降低内存的占用。经过测试,该事件机制子系统能够快速地处理I/O事件以及定时器事件。基于该事件机制的分布式缓存系统可以实现平稳快速地运行。
其他文献
目的探讨腹膜透析(peritoneal dialysiS,PD)患者肺动脉高压(pulmonary hypertension,PH)的发生率及其危险因素。方法采取回顾性收集109例PD患者的临床资料、检验指标及心脏彩超结构
本文在国外高校服务区域经济社会模式的基础上,分析了我国现行地方高校服务区域经济社会发展的模式,在此基础上探索性的提出了新模式,以使地方高校和区域经济达到'互补&#
为确保多孔叠交隧道能安全快速地施工,以南宁轨道交通1号线和2号线叠交段为例,分析了叠交隧道"先下后上"施工的优势。结合现场施工情况,对叠交隧道施工的二次固结、注浆加固、
素质教育的核心是坚持科学、人文、创新的原则,着眼于学生的综合素质全面发展。不以考试分数为学生成绩的惟一评价,而是要求学生在思想品德、心理素质、智力结构与知识水平、身
随着科学技术的飞速发展和人们生活水平的不断提高,当前人民逐渐对市场营销行业领域的发展重视起来。市场营销竞争力评价指标结构体系构建过程中,其应该在科学性指导内容和实
目的:探讨腹膜透析(PD)患者并发肺动脉高压(PH)的发生率及相关影响因素,以早期诊断并进行临床干预。方法:选取2011年1月至2014年11月在我院肾内科病房及腹透门诊随访的透析龄〉3个
<正> 类风湿性关节炎是一种多发病,以中老年人多见。属于祖国医学“痹证”的范畴,大多由素体虚弱,卫阳不固、风寒湿邪乘虚侵袭,阻于脉络而致气血痹阻不通,筋脉关节失于儒养所
将不同储藏期的湘早籼33号稻谷加工成米粉,并对米粉品质进行分析,以确定稻谷储藏期与米粉品质之间的关系,结果表明:随着稻谷储藏期的延长,米粉加工的成型及散粉质量可以得到明显改
近日,认真拜读了全国双语教育专家龚海平先生以及江苏省张家港市教育局副局长朱治国、湖南省长沙高新区教育局局长任波、河南省郑州市惠济区教体局副局长崔永丽、广东省中山
SARS患者在潜伏期不具传染性,因此从发病到入院即传染源在非医疗监控期间的就诊行为及所采取的隔离措施、对密切接触者隔离的及时性,决定了传播的范围及流行程度。为此我们