IT技术博客大学习 共学习 共进步

消息系统该Push/Pull模式分析

标点符 2012-04-07 14:31:47 浏览 6,123 次

    信息推拉技术简介

    “智能信息推拉(IIPP)技术”是在网上信息获取技术中加入了智能成份,从而有助于用户在海量信息中高效、及时地获取最新信息,提高了信息系统主动信息服务的能力。如果引入基于IIPP的主动信息服务系统,则可根据用户的特性提供具有针对性的、个性化的信息服务。

    以往在Internet上搜寻信息,最常用的方法就是浏览器发出请求后,Web就将信息传送给用户,此过程用户需要“拉取”信息而被描述为Pull;而将信息直接“推送”到用户的计算机的方法就是信息推送,称之为Push,用户只需要在初次使用时自己设定所需要的信息频道,此后,定制信息将通过Web自动传给用户。

    信息推拉技术智能化

    在传统的Client/server结构中,信息获取方式是按“拉”(Pull)的模型进行的:服务器根据用户终端发送的服务请求进行处理并返回用户所需的结果。在Push系统中,服务器把信息“推”给用户终端系统。虽然两者数据传输的方向都是从服务器流向用户,但操作的发起者是不同的。从“信源”与“用户”的关系来看,信息的流动可分为两种模式,即信息推送与信息拉取模式。

    Push与Pull之比较

    推送(Push)技术是根据用户需要,有目的、按时将用户感兴趣的信息主动发送到用户的计算机中。Push技术的主要优点是对用户要求低,普遍适用于广大公众,不要求有专门的技术;二是及时性好,信源及时地向用户“推送”不断更新的动态信息。但是,在随后实际应用中,因为存在以下几方面不足,Push技术并没有取得预期的成功:

  • 不能确保发送成功。由于Push技术采用广播方式,当网络信息中心发送信息时,只有接收器打开并正好切换到同一频道上,传输才能发生作用,用户才能获取信息。这对于那些要确保能收到信息的应用领域是不太适合的。
  • 没有信息状态跟踪。Push技术采用的是“开环控制”模式,一个信息发布以后的状态,如用户是否接收,或客户端收到后是否按信息的提示执行了任务等,这些“反馈信息”发布者无从得知。
  • 针对性差。推送的信息内容缺乏针对性,不能满足用户的个性化需求。有价值的重要信息,通常都是要针对一些特定的群组来发送的,即只送给相关的人士。Push技术不能满足上述需求。
  • 信源任务重。信源系统要主动地、快速地、不断地将大量信息推送给用户。
  •     拉取(Pull)技术指用户有目的地在网络上主动查询信息,用户从浏览器给Web发出请求,由Web获取所需信息。面对拥有海量信息的Internet环境,搜索引擎是有效的网络信息“拉取”(查询)的检索工具。Pull技术的主要优点是针对性强,能满足用户的个性化需求;信息传输量小,网络上所传输的只是用户的请求和服务器针对该请求所作的响应;信源任务轻,信息系统只是被动接受查询,提供用户所需的部分信息。其主要缺点是及时性差,由于用户只会基于自己的知识水平(或专业水平)提出请求,当信源中信息更新变化时,用户难以及时拉取新的动态信息,虽然可以通过定时查询来解决这个问题,但是会浪费大量的网络资源和人力,而且,仍不能保证最好的实时性。对用户要求高,要求用户对信源系统有相应的专业知识,掌握相关的检索技术。

        PUSH和PULL模型对比

        

        PUSH和PULL两种模式结合

  • 将信息推送与拉取两种模式结合能做到取长补短,使二者优势互补。根据推、拉结合顺序及结合方式的差异,又分以下四种不同推拉模式:
  • 先推后拉——先由信源及时推送公共信息,再由用户有针对性地拉取个性化信息;
  • 先拉后推——根据用户拉取的信息,信源进一步主动提供(推送)与之相关的信息;
  • 推中有拉——在信息推送过程中,允许用户随时中断并定格在感兴趣的网页上,以拉取更有针对性的信息;
  • 拉中有推——根据用户搜索(即拉取)过程中所用的关键字,信源主动推送相关的最新信息。
  •     Related posts:

  • IIS日志配置方案
  •     

    建议继续学习

    1. 实现一个简单的服务端推方案 (阅读 5,881)
    2. Push Or Pull? (阅读 5,081)
    3. iOS push服务 (阅读 4,805)
    4. APP的推送是咋回事 (阅读 4,501)
    5. Android最方便的推送框架 (阅读 4,003)
    6. 苹果iOS系统下的推送机制及实现 (阅读 3,860)
    7. Array的push与unshift方法性能分析 (阅读 3,663)
    8. 微信收费事件背后被广泛忽略的技术细节 (阅读 3,580)
    9. 中庸之道的newsfeed的设计 (阅读 3,562)
    10. 分布式消息系统尝试(rabbitmq, celery, redis) (阅读 3,406)