Pull和Push通信机制的研究

2024-09-02 13:18
文章标签 通信 push 机制 研究 pull

本文主要是介绍Pull和Push通信机制的研究,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

所谓PUSH技术是一种基于客户服务器机制,由服务器主动的将信息发往客户端的技术。

区别:同传统的拉技术(PULL)相比,两者最为主要的区别在于PUSH的是由服务器主动发送信息,而PULL则是由客户机主动请求信息。在PUSH应用中,在服务器发送内容给客户机之前,没有明显的客户机请求,也就是说,PUSH事务是由服务器发起的。PUSH技术的本质在于让信息去主动的寻找用户,因此其优势在于信息的主动性及时性,通过使用该技术,可以尽快的将信息推送到用户面前;其弱势在于信息的准确性较差,由于简单的筛选机制取代了人工的选择,必然会使推送信息和用户的需求间存在一定的差异。

       PUSH技术并不是最近才产生的技术,早在1996年Internet兴起时就产生了PUSH技术来获取网上信息。但在后来的实际应用中,PHSH技术却败给了使用浏览器查找信息的PULL技术,这其中的原因是多方面的。

      首先,在固定互联网应用中,计算机等固定设备为用户提供了足够的资源和能力去查找信息,所以人们通常将它作为一个浏览信息的窗口,而不是被动的信息接收者,用户对于信息准确性的要求也远胜于对其及时性的要求
      第二,PUSH技术不能保证信息送达用户面前。由于PUSH技术采用的是广播机制,当网络信息中心发送信息时,如果客户端正好在网上,且转换器和接收器都正好切换到同一频道上,传输才会发生作用,用户才能获取信息。如果用户不在网上,则该用户就会丢失网络中心广播的信息。这对于那些要确保能收到信息的应用领域是不适合的。
      第三,PUSH技术无法没有状态跟踪。PUSH技术采用的是开环控制模式没有客户反馈信息没有状态跟踪。一个信息发布后,客户收到没有?收到了信息的客户端是否已按信息的指示执行了任务?这些问题答案信息发布者无从得知。这对于需要根据用户反馈信息来做决策的信息中心来说是无法接受的。


PUSH的业务应用

 【1】 移动增值业务中的PUSH业务特点
  (1)信息及时传送和快捷获取 PUSH技术应用移动增值业务之前,手机用户都是采用PULL(浏览)方式来获取他们所需要的移动数据内容。然而对于那些信息更新速度快信息产生频度高而且用户需求相对较为稳定的移动数据内容而言,再采用PULL方式无论对于用户还是内容提供商来说都过于烦琐和浪费资源。采用PUSH技术即可方便地实现相关内容的及时传送和用户的快捷获取。 对于手机用户而言,他们可以订购他们所感兴趣的内容也可以收到那些直接由内容提供商“推送”下来的有价值的消息,从而进一步养成移动数据消费习惯。同时对于内容提供商或公司而言他们可以把那些重要的或用户感兴趣的信息第一时间就推送给用户,从最大程度上避免了由于时间过长而导致无效信息的产生。例如对于股民来说,通过PUSH技术那些实时变化的股票信息可以实时地传送到移动用户的终端上并被用户及时浏览。

  (2)PUSH内容的载体多样化 随着技术的不断发展,移动终端的能力和表现力得到了很大的提高,例如彩屏、大容量、智能化等新功能层出不穷,与传统的短消息业务相比,PUSH技术可以充分地利用终端新技术灵活地展现各种内容。PUSH载体目前可以分为以下几种: WAPPUSH:即通过WAP的方式将内容PUSH给目的端用户,用户得到的是访问内容的URL,并可以通过WAP方式浏览该内容。WAP PUSH与传统的短信息服务(SMS)最根本的区别是后者只能提供静态信息,而前者提供可点击的URL链接,使用户有采取下一步行动的选择权利。 多媒体邮件PUSH(MMS PUSH):即通过多媒体邮件的方式将内容PUSH给目的端用户,用户在其多媒体邮箱里可以收到承载着PUSH内容的邮件。比如,中国移动推出的彩信和联通推出的彩e都可以承载PUSH内容。 短消息PUSH:即通过短消息的方式将内容PUSH给目的端用户,用户直接收到承载着PUSH内容的短消息。

 【2】 移动增值业务中的PUSH业务形式 将PUSH技术应用于移动增值业务中可以产生许多移动增值业务形式。这包括在移动中收发电子邮件,随时获得股价的涨跌信息天气预报,及时的新闻报道位置相关服务等。所有这些服务的共同特点在于用户对信息的及时性要求比较高,用户希望能够通过手机等移动终端随时随地得到服务。


在移动增值业务领域的应用,PUSH业务主要包括如下几种形式:
 (1)用户定制信息这种PUSH业务形式主要指用户通过主动进行订阅或者操作,指定订阅条件,内容提供商根据对应的订阅条件发送恰当的信息。订阅条件包括内容种类频率阈值成功标记等等。用户订阅的内容包括三种,一种是定期出现但随时间而变化的信息,例如:每天发送一个新图片;每天的早间天气预报和交通路况通报;或者股市实时行情。另一种是不定期出现但内容每次都不一样的信息,例如:QQ好友上线通知;和定位技术结合后基于位置服务的PUSH业务。第三种是确认信息,例如电影票预定是否成功;拍卖中标通知等。
 (2)群发信息 群发指用户并没有主动进行订阅,而是由第三方发起的内容PUSH。可以根据条件为商家发送具有针对性的广告,集团信息通知发送等。运营商根据用户的年龄、收入状况、性别等特征把用户区分为几种特定的用户群,或者根据某种爱好把某些用户归为特定群体成员,比如喜爱德甲联赛的球迷组成一个俱乐部,主动向群体成员PUSH德甲的战报和球员个人信息等。
 (3) P2P信息PUSH P2P主要指某一个用户将指定内容发给其他用户。用户发送的内容可能是自己制作的,也可能是内容提供商提供。例如:发送自己拍摄的图片PUSH给朋友;在线游戏等。P2P的PUSH可以发生在如下两种情景:从WAP上PUSH:用户在WAP浏览的时候,将支持PUSH的业务内容发送给指定的用户;从WEB上PUSH:用户在WEB网站上,将支持PUSH的业务内容发送给指定的用户。

以下是一些wiki上的资料:

Pull coding or client pull is a style of network communication where the initial request for data originates from the client, and then is responded to by the server. The reverse is known as push technology, where the server pushes data to clients. Usually, customers will look for a site and visit only if it provides helpful and attractive content to display. The pull code is effective and economical when advertising to open, unidentified potential customers world wide. It is more effective for the customer when he searches for a specific item.

Pull requests form the foundation of network computing, where many clients request data from centralised servers. Pull is used extensively on the Internet for HTTP page requests from websites.

push can also be simulated using multiple pulls within a short amount of time. For example, when pulling POP3 email messages from a server, a client can make regular pull requests every few minutes. To the user, the email then appears to be pushed, as emails appear to arrive close to real-time. The tradeoff is this places a heavier load on both the server and network in order to function correctly.

Most web feeds, such as RSS are technically pulled by the client. With RSS, the user's RSS reader polls the server periodically for new content; the server does not send information to the client unrequested. This continual polling is inefficient and has contributed to the shutdown or reduction of several popular RSS feeds that could not handle the bandwidth.[1][2] For solving this problem, the PubSubHubbub protocol as another example of a push code was devised.

查看原文:http://www.jevylee.com/?p=915


转载于:http://blog.sina.com.cn/s/blog_70ad1b620102v7ko.html

这篇关于Pull和Push通信机制的研究的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1130057

相关文章

PostgreSQL中MVCC 机制的实现

《PostgreSQL中MVCC机制的实现》本文主要介绍了PostgreSQL中MVCC机制的实现,通过多版本数据存储、快照隔离和事务ID管理实现高并发读写,具有一定的参考价值,感兴趣的可以了解一下... 目录一 MVCC 基本原理python1.1 MVCC 核心概念1.2 与传统锁机制对比二 Postg

Maven 配置中的 <mirror>绕过 HTTP 阻断机制的方法

《Maven配置中的<mirror>绕过HTTP阻断机制的方法》:本文主要介绍Maven配置中的<mirror>绕过HTTP阻断机制的方法,本文给大家分享问题原因及解决方案,感兴趣的朋友一... 目录一、问题场景:升级 Maven 后构建失败二、解决方案:通过 <mirror> 配置覆盖默认行为1. 配置示

Redis过期删除机制与内存淘汰策略的解析指南

《Redis过期删除机制与内存淘汰策略的解析指南》在使用Redis构建缓存系统时,很多开发者只设置了EXPIRE但却忽略了背后Redis的过期删除机制与内存淘汰策略,下面小编就来和大家详细介绍一下... 目录1、简述2、Redis http://www.chinasem.cn的过期删除策略(Key Expir

Go语言中Recover机制的使用

《Go语言中Recover机制的使用》Go语言的recover机制通过defer函数捕获panic,实现异常恢复与程序稳定性,具有一定的参考价值,感兴趣的可以了解一下... 目录引言Recover 的基本概念基本代码示例简单的 Recover 示例嵌套函数中的 Recover项目场景中的应用Web 服务器中

RabbitMQ工作模式中的RPC通信模式详解

《RabbitMQ工作模式中的RPC通信模式详解》在RabbitMQ中,RPC模式通过消息队列实现远程调用功能,这篇文章给大家介绍RabbitMQ工作模式之RPC通信模式,感兴趣的朋友一起看看吧... 目录RPC通信模式概述工作流程代码案例引入依赖常量类编写客户端代码编写服务端代码RPC通信模式概述在R

在Spring Boot中实现HTTPS加密通信及常见问题排查

《在SpringBoot中实现HTTPS加密通信及常见问题排查》HTTPS是HTTP的安全版本,通过SSL/TLS协议为通讯提供加密、身份验证和数据完整性保护,下面通过本文给大家介绍在SpringB... 目录一、HTTPS核心原理1.加密流程概述2.加密技术组合二、证书体系详解1、证书类型对比2. 证书获

Jvm sandbox mock机制的实践过程

《Jvmsandboxmock机制的实践过程》:本文主要介绍Jvmsandboxmock机制的实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、背景二、定义一个损坏的钟1、 Springboot工程中创建一个Clock类2、 添加一个Controller

Python模拟串口通信的示例详解

《Python模拟串口通信的示例详解》pySerial是Python中用于操作串口的第三方模块,它支持Windows、Linux、OSX、BSD等多个平台,下面我们就来看看Python如何使用pySe... 目录1.win 下载虚www.chinasem.cn拟串口2、确定串口号3、配置串口4、串口通信示例5

Dubbo之SPI机制的实现原理和优势分析

《Dubbo之SPI机制的实现原理和优势分析》:本文主要介绍Dubbo之SPI机制的实现原理和优势,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Dubbo中SPI机制的实现原理和优势JDK 中的 SPI 机制解析Dubbo 中的 SPI 机制解析总结Dubbo中

Java 的 Condition 接口与等待通知机制详解

《Java的Condition接口与等待通知机制详解》在Java并发编程里,实现线程间的协作与同步是极为关键的任务,本文将深入探究Condition接口及其背后的等待通知机制,感兴趣的朋友一起看... 目录一、引言二、Condition 接口概述2.1 基本概念2.2 与 Object 类等待通知方法的区别