基于Erlang的即时通讯系统的设计与实现

被引量 : 0次 | 上传用户:aumqspthccx
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着互联网的发展,互联网用户的激增,互联网中的各种服务器面临的并发性、容错性压力越来越大,要求越来越高。传统编程语言(C/C++)对并发性以及容错性的支持不足,造成用其开发的程序天生具备并发性和容错能力不足的缺陷,不仅增加了相关系统的实现难度,浪费了目前日益普及的多核CPU的性能,也一定程度阻碍了软件技术的发展。‘而Erlang语言,一门由爱立信计算机科学实验室针对电信领域软件开发而发明的语言,凭借其对并发性、分布式、容错性等特性的良好支持,对网络服务程序程序特别是分布式程序开发的支持,近年来逐渐兴盛起来。随着互联网用户的增多,即时通讯系统服务器、web服务器这类对并发性、容错性要求较高的服务程序使用各种办法来缓解服务器的压力,如采用集群系统、分布式系统等。然而由于传统语言在并发性、容错性和分布式特性的支持不足,利用传统语言实现并发性和容错性良好的集群或者分布式系统比较复杂,并发性和容错性的提高也比较困难,实现难度也比较大。而Erlang语言,恰恰正是针对这类系统的开发而出现的,其内建优良的并发性支持、容错性支持、分布式等特性的支持,能较大程度的降低并发性和容错性要求高的集群软件系统或者分布式软件系统的实现难度。本文首先介绍了Erlang语言的发展现状、即时通讯系统的发展现状,Erlang语言的特点与优势,接着对在Erlang语言基础上系统的并发性关键技术、容错性技术和集群系统负载均衡技术做了研究,并对在Erlang语言中运用设计模式进行了探索,最后在对这些技术研究的基础上,实现了一个即时通讯系统。由于Erlang编程语言的优势和特点,此系统具备良好并发性、良好的容错性和可靠性,以及相对于传统语言开发更为容易的特性。这个系统具体包括两个部分,分别是集群服务器部分和客户端部分,其中服务器部分采用Erlang语言实现,客户端采用C#语言实现,两者间的通信协议使用是IETF的XMPP通信协议。
其他文献
目的选择性能优越的高分子材料,应用共混改性的方法改善相关性能,进一步研制无托槽隐形矫治专用的热压膜材料。方法将PETG(聚对苯二甲酸乙二醇酯-1,4-环己烷二甲醇酯)及PBT(
中国人对瑞兽有着异常的喜爱,传统瑞兽图案是从人们美好的隐喻中逐渐产生并发展起来的。这些图案不仅美观大方,极具传统气息和美学元素,还蕴含着吉祥的寓意和愿望,深受人们的
<正> 畅音阁位于故宫宁寿宫东路,宁寿宫区原为明代仁寿宫等殿堂旧址,经过清高宗弘历改建、添建而成今貌,是弘历归政之后养老、娱乐的地方。一、年代与形制关于畅音阁修建年代
会议
门式起重机电控系统采用变频调速方式后,其控制原理及方式较传统调速系统发生了重大变化。通过分析门式起重机制动过程及变频器制动特点,指出充分发挥变频器的强大功能,不但能对
针对目前我国公路安全的需要,本文介绍一种汽车报警系统
磨课,不仅是教师为了制度或教育改革之需要而组织的教研活动,更重要的是教师在磨课中重塑教育理念,提炼教育规律,激发自我意识,即树立教师专业态度,形成专业精神,从而有效地
盲源分离(Blind Source Separation, BSS)是近年来人工神经网络、统计信号处理、信息理论等领域共同研究与发展的重要课题,作为BSS重要手段的独立分量分析(Independent Compo
目的 探讨彩色多普勒超声心动图在早期诊断主动脉夹层动脉瘤的临床价值。方法 对来我院治疗的15例患者进行彩色多普勒超声心动图检查,根据记录结果,进行总结分析。结果 10例
针对高速数字信号处理的要求,在分析了快速傅里叶算法的基础上,提出了一种按频率抽取的基-4 IFFT的FPGA设计方案。针对现有IFFT的FPGA实现过程中蝶形运算需要频繁乘以多个旋