移动社交网络通信机制设计与实现
第一章 绪论
1.1 课题研究背景
随着信息通信技术与互联网的发展和进步,促进了社交网络的建立,信息时代各项知识与应用变化迅速,,人们对其要求不断增高,这些都驱动着社交网络的发展,同时社交网络也不断满足人们对于社会人际交往的需求。人们可以通过各种固定终端和移动终端,利用社交网络应用软件,随时、随地、随心地同任何人交往,为人们的现实社会交往节约了大量的空间与时间,同时也促进了社交网络更好的发展[10]。移动互联网的快速发展和普及是社交网络发展的必要基础,同时也使社交网络的发展呈现出新的趋势,具体表现为社交网络的移动化和小众化[11]。移动化就是社交网络的客户端更多的在移动设备上运行,更多的应用移动互联网提供的随时随地网络接入以及 LBS 和 GPS 提供的位置信息进行社交;小众化表现在社交网络不再是面向全体网民的大众化社交,而是针对特定人群而建立的社交平台,如企业社交网络平台,购物社交网络平台等。截至 2013 年 12 月,我国网民规模达到 6.18 亿,较 2012 年底新增网民 5358万人。互联网普及率为 45.8%,较 2012 年底提升 3.7 个百分点,整体网民规模增速保持放缓的态势。2013 年中国手机网民规模达到 5 亿,较 2012 年增加 8009 万人,网民中使用手机上网的人群占比由 2012 年底的 74.5%提升至 81.0%,明显高于其他设备,这意味着手机依然是中国网民增长的主要驱动力。中国网民规模与互联网普及率、中国手机网民规模及其占网民比例情况分别如图 1-1 和 1-2 所示。
………
1.2 国内外研究现状
移动社交网络是一个开放性的社会化网络平台,是社交网络运行移动终端上的应用,借助移动通信设备的移动性、及时性和便捷性等方面的优势,满足用户可以随时随地进行交流和沟通的要求。移动社交网络能够为用户提供信源确认和实时定位等服务,增加平台的可信度。从目前我国移动社交网络的发展状况来看,它以现实的人际关系为基础,以发展用户新的社交群、增加用户间交流广度为目的,使用范围非常广泛。社交网络被广泛认知为以人脉为基础的在线服务,但从更广义的角度可定义为在与他人合作、共享信息的过程中生成的关系或社区[13]。虽然目前我国的移动社交网络在应用方式和商业模式上有一些创新,但在架构等方面大多是基于国外已有的社交网络,缺少能体现我国本土文化的特点。国外的社交网络是时代和公众需求催生的产物,是人们对于社会交往的一种需求的体现,这也是其能够得到快速发展的重要原因之一。因此,对于我国的社交网络,在应用、设计和商业模式等方面进行创新时,如何结合中国特有文化要素、突出本国文化特色是主要思考方向之一。此外,应用设计时,关注点的重心应该是用户的心理特征和社交需求的结合性,要以最为快捷的方式将用户最需要的社交信息展现出来。对于移动社交网络而言,需要利用移动互联网快速发展的机遇,摆脱原有的商业模式和应用平台的束缚,与社会环境和个人需求进行全面结合。要想使移动社交网络在竞争中处于优势并获得发展,就必须要即时掌握公众的媒介动机和社交需求。即时通信最初是指能够即时发送和接收互联网消息等的业务。自 1998 年面世以来,特别是近几年的迅速发展,使用人数连年激增,即时通讯的功能日益丰富、应用日益广泛,逐渐集成了电话、短信、电子邮件、音乐、博客、电视、游戏和搜索等多种功能。即时通讯不再是一个单纯的聊天工具,它已经发展成集交流、资讯、娱乐、搜索、电子商务、办公协作和企业客户服务等为一体的综合化信息平台[14]。随着移动互联网的发展,互联网即时通信也在向移动化扩张。
………
第二章 相关理论与技术基础
2.1 社交网络引擎
ELGGELGG 是一个开源的社交网络引擎,以博客为中心实现社会网络化,为个人、组织和机构搭建各种各样的社交环境提供健壮的框架。ELGG 由 Ben werdmuller和 David Tosh 于 2004 年 3 月开发,并在 2008 年被评为最佳开源社交网络平台。ELGG 提供了一个强大的数据模型使不同实体的创建简单、灵活;提供细粒度的活动流 API,确保插件可以仅向用户提供所需的内容,并且可以使用 ELGG 强大的插件 API 来构建并添加所需要的功能;提供用户和用户关系管理;提供用户精细的权限控制。ELGG 易于通过缓存系统来扩展从而提高系统性能,并且内置了WebService 框架,开发人员可根据需要自己定义相关的 service 接口。ELGG 原来是为教育设计,但它的功能却让它成为很不错的社交平台引擎[22]。ELGG 可以使用户拥有自己的博客,进行个性化内容管理,可以在某个话题下参与讨论,可以通过发布微博告诉朋友自己的最新信息或获取朋友更新的信息,总之,它提供了社交网络常见的基本功能:好友、关注、分组、博客、话题、日志、微博等等。在本项目中,手机广播用户可以通过关注好友和喜爱的主持人来及时的了解好友及主持人最新的状态信息,通过在某一节目话题下发表评论来参与互动。ELGG 最大的优点是它的扩展性极强,除部分核心功能外,大部分的功能都通过插件的形式实现,这就意味着开发者可以通过创建、重载替换或停用各个功能模块,方便的对各个功能模块进行修改更新,而不影响其他模块的正常运行。
………
2.2 即时通信协议
在 iOS 和 Andorid 平台上都有自己的推送系统,但由于网络、操作系统和应用方面的限制,在使用上都有一定的局限性。Google 推出的云消息服务 GCM(GoogleCloud Messaging)在国内运行不稳定,并且受限于 Andorid 的版本,要求 Andorid版本号必须大于 2.2。iphone 上的 APNs 也仅适用于 IOS,无法跨平台推送。由于GCM 和 APNs 都有一定的局限性,目前流行的即时消息协议有很多种,这里对比较主流的推送解决方案使用的 XMPP 和 MQTT 协议进行分析比较。XMPP 是一个开源的网络即时通信协议,它的前身是 Jabber。XMPP 目前被 IETF国际标准组织完成了标准化工作[23, 24]。XMPP 是一种基于 XML 的协议,它继承了XML 的灵活性和可扩展性。因此,基于 XMPP 的应用具有超强的灵活性和可扩展性。经过扩展后的 XMPP 协议不仅可以发送简单的文本、而且可以携带复杂的数据和各种格式的文件,可以在 XMPP 的顶端建立应用程序,如基于地址的服务和内容发布系统等。而且,XMPP 包含了针对服务器端的软件协议,这使得 XMPP协议不仅可以用在人与人之间的交流、而且可以实现人与软件和软件与软件之间的通话,这也易于开发者建立客户应用程序或给一个系统添加新的功能。XMPP协议的优点:可扩展性强、协议开放、弹性佳、安全和多样性。目前支持 XMPP的即时聊天工具有很多,且已经有开源的 Java 版本的开发实例 androidpn。XMPP协议的缺点:协议较复杂、数据负载太重、费流量、费电且没有二进制数据,部署硬件成本高。
………..
第三章 移动社交网络即时通信机制的研究........ 17
3.1 手机互动广播系统简介 ......... 17
3.2 基于消息通知的实时通信结构研究 ....... 17
3.3 消息传输机制的研究 ....... 19
3.4 多媒体类消息通信机制研究 ....... 20
3.5 本章小结 ......... 20
第四章 社交网络与即时通信间接口的设计........ 21
4.1 用户信息类接口 ......... 21
4.2 微博类接口 ..... 22
4.3 话题类接口 ..... 25
4.4 私信类接口 ..... 25
4.5 用户信息修改类 ......... 26
4.6 用户好友类接口 ......... 28
4.7 用户密码修改 ....... 28
4.8 用户推荐类 ..... 29
4.9 本章小结 ......... 29
第五章 即时通信机制的设计与实现........ 30
5.1 开发环境介绍 ....... 30
5.2 MQTT 话题的分类与组织...... 30
5.3 消息格式的设计与实现 ......... 31
5.4 通信中 presence 的设计与实现 ......... 32
5.5 多媒体通信机制的设计与实现 ......... 33
5.6 ELGG 插件设计与实现 .... 35
5.7 MQTT Agent 的设计与实现 ......... 36
5.8 Relations 数据库的设计与实现 .... 37
5.9 Redis 数据库的设计与实现 .... 38
5.10 IM 消息存储 ........ 39
5.12 本章小结 ....... 40
第六章 即时通信机制测试
6.1 多媒体服务器性能测试
本测试部分以音频为例给出测试数据,对于图片、视频等多媒体,传输过程都是相同的,只是传输的数据可能有所差异,数据量也相对大些。对于本服务器的测试,都是读取文件,将内容发送到服务器,不需要解析文件类型,因此,对于图片、视频等类型媒体的测试数据基本是相同的。对于即时录制的音频文件,最长时间要求不超过两分钟。此处客户端是由 pc 模拟程序,开多个线程实现与服务器进行连接,音频大小分别考虑录制时间长度为小于 10s、小于 60s 和大于 60s 的,未考虑网络不好的情况。多媒体服务器性能测试结果如表 6-1 所示。本测试表明单台多媒体服务器可以同时为五万个用户服务,并且通过对所有用户接收到数据的最快和最慢时间,以及成功率情况统计表明用户最慢接收到数据的时间在可以接受的范围之内。
………..
结束语
本文基于与沈阳广播电视台合作的手机广播互动系统项目的研发,对该项目的实时通信机制的结构、消息格式和消息流动机制进行了研究,并已将研究结果应用于项目的研发之中,目前系统已在成功运行。本人主要完成了以下工作:
1. 阅读了即时通信协议的相关文献,研究了基于消息推送的即时传输协议MQTT(Message Queuing Telemetry Transport——消息队列遥测传输),并阅读了MQTT 的开源实现 Mosquitto 的源代码,分析了 mosquitto 的工作流程,使之为本系统服务。
2. 从源代码的层次上研究了社交网络引擎 ELGG,并详细讲解了对 ELGG 的模块和 WebService 接口的设计与实现。
3. 分析了系统中存在的消息类型以及消息流向,设计了整个系统的即时通信机制的结构。
4. 深入研究了手机广播系统对多媒体服务器的需求,阐述了多媒体服务器采用的网络模型,分析了多媒体服务器的工作流程,并详细介绍了它的代码实现。
5. 整合了 ELGG 和 Mosquitto,使他们之间可以通信,为整个系统服务,为他们之间的通信搭建了桥梁,并对数据的流向及使用给出了详细的介绍。
6. 研究了系统中存在的话题种类,对他们进行了分类与组织,并给出了传输消息的格式,消息中包括用户信息、发送时间、消息种类,以及消息内容,给出了具体的设计及详细的消息分类。
…………
参考文献(略)
本文编号:44605
本文链接:https://www.wllwen.com/wenshubaike/caipu/44605.html