中大计算机毕业论文-分布式网络中的推送系统的设计与实现.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《中大计算机毕业论文-分布式网络中的推送系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《中大计算机毕业论文-分布式网络中的推送系统的设计与实现.doc(71页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、本 科 生 毕 业 论 文题 目:分布式网络中的推送系统的设计与实现院 系:软件学院专 业:软件工程(计算机应用方向)学生姓名:学 号指导教师:明志(副教授)(职 称)二一五 年 三 月摘 要随着互联网计算机技术的飞速发展,网络已经成了大众生活必不可少的部分,它的最大优点就是可以将大量的信息互相共享。不管是移动终端还是个人电脑,人们总是可以通过设备进入互联网中获得自己感兴趣的信息。但与此同时,由于互联网是属于大家的,具有很强的开放性,使得网络上的信息每天都在呈爆炸式地增长,信息的泛滥而引起网民难以消化的现象已经不再是新鲜事。在当今这个步伐急促的社会中,要想通过普通浏览的方式在信息海洋中找到自己
2、所需要的内容确实不是一件轻松的事,普通的浏览查找在当今已经可以说得上是一种既消耗精力又浪费时间的信息获取方式,在注重用户体验的今天,它已经很难达用户满意程度。为了给各位网民带来具有针对性的个性化服务,将方便快捷的体验带给网民,信息推送技术(PUSH)应运而生。有了PUSH技术,用户再也不用手动地在互联网上查找自己想要的信息,而只需设置订阅自己所感兴趣的内容,PUSH系统就会定期地向用户推送相关消息,整个过程中用户处于被动状态,省去了手动查找等繁杂步骤,大大提高了用户的体验质量。因此,推送技术已经在近些年中得到了巨大的发展和推广,尤其是在当今分布式主流的网络中,一个好的推送系统会给成千上万的用户
3、带来便利,也给了各个消息发送方带来了推广渠道。通过推送系统,各个组织可以把自己的新闻消息推送到特定用户的设备中,形成了定向传送的局面,双方的需求都得到了满足,并且还有了效率的保证。关键词:信息获取,推送技术,个性化AbstractWith the rapid development of the technology in internet and computer field, network has become the indispensable part of the public life. Its most important advantage is the capacity o
4、f sharing lots of message. With mobile terminal or pc, people can easily connect to the internet to get the message he/she like.But in the same time, since the internet belongs to ourselves, it is so open that the messages in internet are increasing rapidly everyday. It is no more a news that netize
5、n can not digest soon because of the message overflow. In this hurried society, it is not an easy thing to find the message we want in the data ocean by ordinary browsing. Nowaday the ordinary browsing way is time-wasted and vigor-wasted to get message. From point view of paying attention to custome
6、r experience, it can hardly make the customer satisfied.To give the netizen individual service and convenient experience, the message push technology occurs. With the push technology, customers no more need to find the message manually. They just need to setup the content they interest in, and the p
7、ush system will push the relevant message to the customer. The customers are in passive state all the time without the manual checking, and the customer experience is enhancing largely.So the push technology has been popularized and developed largely these years, especially in the distributed networ
8、k. An excellent push system can bring convenience to customers and provide more spread way to the pushers. With the push system, an organization can send their news to the specific customers. It satisfy the pushers and recievers in the same time and guarantee the efficiency.Keywords: obtain message,
9、 push technology, individuation目 录第一章 前言11.1 背景现状分析11.2 推送系统概述21.3 论文结构简介3第二章 技术与原理42.1 推送基本原理42.2 PUSH技术优缺点分析52.3 JAVA网络编程62.4 JAVA数据库编程112.4.1 JDBC简介112.4.2 JAVA数据库操作122.5 XMPP协议介绍17第三章 架构设计193.1 系统架构及原理193.2 业务用例的实现203.3 数据库设计223.3.1 构建数据库的系统流程223.3.2 表的具体设计24第四章 模块设计284.1 ConnectionPool类介绍284.2
10、Cache类介绍384.3 OnlineManager类介绍434.4 Loger类介绍48第五章 部署应用525.1 运行环境525.2 使用说明53第六章 结论576.1 工作总结576.2 工作展望58致谢59参考文献60i第一章 前言1.1 背景现状分析Pull与Push技术对用户来说都是信息获取方式,但却是两种截然相反的信息获取技术。Pull为信息拉取技术,在信息获取时,用户必须时时处于主动地位,并且参与信息获取整个过程;Push技术为信息推送技术,服务器处于主动地位,用户处于被动地位。通常情况下,人们都是采用“Pull”方式从网络上“拉取”信息,即利用搜索引擎来获取信息的方式。随着
11、网络上信息资源的日益丰富,基于Pull技术的信息获取技术无论在信息的搜索速度、传输速度,还是搜索信息的质量上都越来越难以令人满意。这是由于Pull技术自身存在的不足造成的。一是以Pull方式获取信息不仅时间长,而且费用高。Pull技术是通过URL来进行信息资源定位的。人们上网获取信息时,必须首先利用各种搜索引擎去查找各个服务器在网上的URL,然后再通过URL去访问该服务器,定位、浏览、选择自己所需的信息资源。这样人们查询一次信息,必须长时间地频繁登录多个服务器,因而不仅时间长,而且费用高。二是信息效率低,资源浪费严重。从网络技术上讲,Pull技术是一种点到点的传输方式,当多个用户需要一条信息时
12、,该信息就必须重复传输多次,因此严重地浪费了网络带宽和服务器资源。三是服务器被动服务,用户获取信息及时性差。Pull方式获取信息时,用户是主动的,服务器和信息是被动的,也就是说,用户必须主动到服务器上寻找信息,这就是人们通常所说的“人找信息”。另外,这种方式客户机和服务器必须保持实时的连接才能获取信息。但由于网络信息更新快,这就要求用户必须经常上网查看信息,否则很难及时获得自己所需的最新信息。简单地说,Internet发展到今天的规模,网上具有海量信息,这种依靠被动“拉取”信息的服务方式,在时间延迟、查全率、查准率、响应时间等方面都不能满足用户的需求,可以说,以Pull技术为代表的信息获取模式
13、已成为信息共享的瓶颈。 Pull与Push技术对用户来说都是信息获取技术,但二者存在着根本的不同。以Pull技术为核心的信息拉取技术,在信息获取时,用户必须时时处于主动地位,也就是说,用户必须参与信息获取的整个过程。而以Push技术为核心的信息推送技术,在信息推送过程中,服务器始终处于主动地位,用户却处于被动地位。与Pull技术相比,Push技术不仅获取信息的效率高,费用低,而且及时性强,因而它一出现便受到人们的青睐。Push技术能够通过一定的技术标准或协议,把用户感兴趣的信息,按照用户的要求及时、主动地推送给用户。用户收到信息后,还可以离线浏览。信息推送技术将深刻地改变网络信息的传播方式,使
14、用户不必“大海捞针”式地搜集信息,而由服务器主动、及时地把用户感兴趣的信息推送给用户,用户可以“以逸待劳”地坐等信息到来。1.2 推送系统概述随着互联网越来越深入人心,网络容量和浏览人数都以惊人的速度增长着。当人们上网浏览资讯,面临着数以百万计的网页,他们就更需要一种简便快速的方法找到他们所需要的信息内容。毫无疑问,推送系统将是一个很好的选择,通过这类系统,用户可以全面、及时、准确的获得个人感兴趣的内容。我们来打个比方,推送系统好比一个传递信息中间者,它的一边是发布方,一边是接受方,一旦发布方有了新的推送消息,它就立即将信息传递到特定的接收方当中,将原来复杂繁琐的步骤最简化,以提高信息分享的效
15、率。在推送系统的面前,人们只需要做这几件事,假如你是一个网民,你只需要订阅好你所感兴趣的内容,然后就可以悠哉的等待最新信息的到来,想接受什么消息和拒绝接受什么消息完全由用户来决定,以此体现了个性化的用户体验;接入你是一个组织,你想要发布一些消息(如新闻、通知等),你只需要填写好消息的内容,推送系统的服务器就会自动地将消息转发推送到被订阅的用户去,不必担心用户因为不在线而因此的消息推送失败,对于没在线的用户,服务器会将消息保存下来,等待用户下一次上线再推送,整个过程方便保险。1.3 论文结构简介本论文各章节内容安排如下:第一章作为本论文的绪论,主要论述了消息推送技术的背景现况、推送系统的概述,并
16、简要介绍了本文的结构。第二章会把实现系统的技术原理进行详细的阐述,比如如何实现推送功能、如何对在线用户进行管理、如何将信息中转保存等等关键技术问题,也会讨论到系统的运行机制和一些用到的关键算法。第三章主要讲述整个推送系统的框架设计,该章首先会对系统进行一个整体化的分析论述,整体论述后还会对系统的各大模块进行功能性的介绍,并分析其在整个系统中的重要性以及各个模块之间是如何衔接起来支撑整个系统。第四章 将会深入分析各个模块的设计实现过程,剖析各模块的内部结构,也讲述到实现过程中要注意的细节以及如何对模块进行优化以保证系统的运行效率。第五章 主要对消息推送系统的设计实现进行一个整体总结,并且提出本次
17、实践当中存在的一些局限性和有待改进的地方。第二章 技术与原理2.1 推送基本原理尽管在定义上Push方式的消息推送是由服务器占有主动权,终端用户处于被动状态,但其实技术实现的背后还是基于“请求响应”模式,在这模式上做了一定修改。终端用户一旦设置好自己的订阅内容,就不停“隐蔽”地向服务器发送请求,而一旦服务器发现有新的消息需要推送,就给终端返回推送消息,以此实现了推送的效果。在这里主要涉及到两个方面,一个是轮询时间,它代表着终端访问服务器的时间间隔;另一个是服务器的请求处理方式,接收到来自终端的请求后,服务器可以选择挂起连接或者马上返回消息给用户。根据轮询时间、请求处理方式,分为以下两种Push
18、。 简单轮询:客户端一般以定时方式发起请求,服务端处理后返回响应。图2.1 简单轮询原理特点:原理、客户端/服务端实现简单可根据应用场景调整轮询时间间隔服务端需要处理大量请求长轮询:客户端发起请求后服务端将该请求挂起(不返回响应),直到超时、异常或需要处理响应(推内容)才返回。客户端收到响应后再次请求(即轮询)服务端,并处理响应。图2.1.2 长轮询原理特点:实时性高服务端需要管理挂起请求2.2 PUSH技术优缺点分析Push技术作为一种网络信息获取技术是成功的,它的好处可概括为:l 可以避免用户在网上无目的上网查找,利用离线浏览技术使用户可采用离线方式进行阅读。 l 可以提高被推送信息的准确
19、性,控制搜索深度,过滤不必要的信息。 l 能被推送的信息内容有教学资料、新闻、电影、音乐、房产信息、股市行情、共享软件、天气预报等。 l 能被推送的文件有文字、图形、图像、声音、小程序等,并且可以超文本或通过超文本访问的文件的形式保存在用户的硬盘上。 l 可以推送通过专用的播放程序实时显示的信息,向用户提供多媒体信息。l Push服务器能对各个用户的兴趣和偏好进行智能性识别、预测,根据用户要求自动搜集定制信息并定期快速、连续不断地向目标用户主动推送,满足了用户的个性化需求。 但同时也存在很多需要完善的地方: l 难以满足用户个性化的要求。Push技术是按照预先确定的一系列标准来传送信息的,这种
20、标准是建立在发送方和接收方之间的协议上,而不是以用户需求为基础的。多数Push产品针对性较差,满足个性化程度不高,这在覆盖推送中表现尤为突出。 l 未能解决信息过载问题。Push技术本来是为了解决因特网上信息过载而出现的新技术,然而结果事与愿违。如果Push产品大量使用,反而会加重网络信息过载。l 数据风暴问题。“推送技术”与过去常用的“拉取技术”的显著不同是:拉取是由用户来控制信息的检索与获取,用户是主动的。而推送技术则考虑由其他方来控制信息的传送。当信息提供商将大量信息强制性地推向用户时,便会将用户淹没于“信息垃圾”中。 l 网络带宽浪费问题。Push技术为网络带来新的服务模型的同时也引起
21、了带宽浪费问题,这主要是由Push服务器主动发送大量信息或客户代理自动进行站点搜索所造成的。因此,Push产品必须考虑如何有效地利用带宽,这将是决定该项技术前景的关键。2.3 JAVA网络编程本推送系统主要使用java语言实现,因此java的网络编程在本项目中占有很大比重,而网络编程本来就是开发者的必备技术之一,接下来本节会简单介绍一下网络编程以及java本身网络编程的一些技巧。从通俗的角度上来说,网络编程就是指通过程序将数据从一台网络设备上传输到另一台设备之中去,而上述所说的程序实际上就是指服务程序和客户端,每一次的数据连接都是由一方提出请求,等另一方确认接受之后才会得以进行,并且客户端程序
22、就是提出请求的一方,服务器就是被请求然后确认接受的一方。在讲解网络传送的原理之前,我们需要理解两个概念,一个是IP地址,一个是端口号。IP地址是一个32位的二进制序列,通常被分割成四个八位的二进制数,它好比是一台电话的电话号码,用来识别出互联网中的唯一设备,正是有了这个唯一的标识,我们才可以在千千万万台设备中将数据方便快捷的传输到我们的目的主机中去。而端口号是用来识别数一台主机中的一个服务,也就是一个程序,每个程序都有自己的端口号,知道了端口号之后数据达到主机后就可以根据端口号分配到目的程序中去,以保证数据不会被其它服务所接收。所以,通过IP地址/端口号,我们就可以识别出网络中的唯一服务,实现
23、双方的连接和数据的传送。尽管数据的传送是建立在IP地址/端口号对之上,但传送的方式根据其机制的不同也分为多种,而当今网络连接协议主要分为两大类:TCP协议以及UDP协议。TCP是一种面向连接的协议,言下之意就是在数据传送之前设备之间必须先建立好可靠安全的连接,而每一次的连接必须双方完成了“三次握手”之后才能得以进行,即双方事前必须经过三重确认后才可以传输数据。另外,TCP连接是一种安全的连接,它保证数据一定会传送到目的地,如果数据在传输过程中意外丢失,它会通过一系列的机制进行重发,并且设有阻塞机制以保证网络的稳定性,常见的TCP协议有HTTP协议、FTP协议等等。UDP是一种无连接协议,即在传
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 毕业论文 分布式 网络 中的 推送 系统 设计 实现
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内