专利名称:一种消息客户端的消息更新方法及消息客户端的制作方法
技术领域:
本发明涉及计算机网络通信技术领域,特别涉及一种消息客户端的消息更新方法及一种消息客户端。
背景技术:
随着网络技术的发展,互联网已经深入到广大的网络用户心中。在众多的互联网应用中,通过消息客户端进行信息传播与分享已经成为广大网络用户的生活工作及休闲中不可或缺的部分。通常,在基于消息客户端的通信过程中,有大量的数据(例如消息)需要更新。其中一种更新方法是通过由消息客户端从消息服务器拉取更新的数据来实现的。微博,即微博客(Micro Blog),就是一种采用上述更新方法进行消息更新的系统。 它是一个基于泛关系链模型的信息分享、传播以及获取平台。目前常用的微博系统包括基于网页的微博系统和基于客户端的微博系统。在基于网页的微博系统中,微博服务器不会向用户下发新消息通知。消息的更新是通过用户手动刷新微博页面以向微博服务器请求新消息来完成的。具体过程参加图1。 图1为现有的基于网页的微博系统中消息更新方法的示意图。如图1所示,当用户刷新微博页面时,微博页面向微博服务器发送请求消息以请求进行消息更新。微博服务器收到所述请求消息后,向微博页面返回新消息。在这种消息更新方法中,如果用户频繁刷新微博页面以请求更新消息,会大大增加微博服务器的消息更新压力。与基于网页的微博系统不同,在基于客户端的微博系统中,一旦有新消息,微博服务器就立刻通知微博客户端进行消息更新。图2为现有的基于客户端的微博系统的结构示意图。如图2所示,当一个微博用户发表一条新消息时,所有关注该微博用户的其他N个微博用户都会收到一条新消息通知。因此,在基于客户端的微博系统中,消息的分发不再是传统即时通信anstant Messaging, IM)应用中的1:1的关系,而是1 :N的关系。这意味者, 消息通知在基于客户端的微博系统中是非常频繁的。在收到新消息通知后,这N个微博客户端会立刻发起消息更新。这就导致了微博服务器的大量消息更新的压力。由此可见,目前的消息客户端的消息更新方法导致了消息服务器的大批量消息更新的压力。
发明内容
有鉴于此,本发明提供了一种消息客户端的消息更新方法及一种消息客户端,从而降低消息服务器消息更新的压力。本发明提供的一种消息客户端消息更新的方法包括消息客户端根据自身的状态,判断是否需要从消息服务器拉取新消息或者新消息通知;如果判断出需要拉取新消息通知,则所述消息客户端执行从所述消息服务器拉取新消息通知的操作;
如果判断出需要拉取新消息,则所述消息客户端执行从所述消息服务器拉取新消息的操作。本发明提供的一种消息客户端包括状态判断单元,用于根据消息客户端的状态判断是否需要从消息服务器拉取新消息或者新消息通知;拉取单元,用于当状态判断单元确定需要从所述消息服务器拉取新消息时,执行从所述消息服务器拉取所述新消息的操作;当状态判断单元确定需要从所述消息服务器拉取新消息通知时,执行从所述消息服务器拉取新消息通知的操作。由上述技术方案可见,消息客户端根据自身的状态,确定是否需要从消息服务器拉取新消息或者新消息通知。当判断出仅需要从消息服务器拉取新消息通知时,仅拉取所述新消息通知。这样,既能通知用户有新消息,又能降低消息服务器的消息更新压力。
图1为现有的基于网页的微博系统中消息更新方法的示意图。图2为现有的基于客户端的微博系统的结构示意图。图3是本发明一种消息客户端的消息更新方法的流程图。图4为本发明实施例中一种微博客户端的消息更新方法的流程图。图5为本发明实施例中微博客户端从微博服务器拉取消息的方法流程图。图6为本发明一种消息客户端的结构示意图。图7为本发明实施例中一种微博客户端的结构示意图。
具体实施例方式为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。本发明的基本思想是消息客户端根据自身的状态,确定是否需要从消息服务器拉取新消息或者新消息通知。当判断出仅需要从消息服务器拉取新消息通知时,仅拉取所述新消息通知。这样,既能通知用户有新消息,又能降低消息服务器的消息更新压力。图3是本发明一种消息客户端的消息更新方法的流程图。如图3所示,该方法包括以下步骤步骤301,消息客户端根据自身的状态,判断是否需要从消息服务器拉取新消息或者新消息通知。如果需要拉取新消息,执行步骤302,如果需要拉取新消息通知,执行步骤 303。步骤302,消息客户端执行从消息服务器拉取新消息的操作,然后结束本流程。步骤303,消息客户端执行从所述消息服务器拉取所述新消息通知的操作。由于消息客户端在某一时刻的状态可以反映出用户当前的需求,因此,在步骤301 中,消息客户端可以根据自身的状态来判断是否需要从消息服务器拉取新消息或者新消息通知。其中,上述的消息客户端可以是微博客户端。下面,以微博客户端为例对本发明的消息更新方法进行详细说明。表1示出了微博客户端的状态和微博用户的需求之间的对应
7关系。
权利要求
1.一种消息客户端的消息更新方法,其特征在于,包括消息客户端根据自身的状态,判断是否需要从消息服务器拉取新消息或者新消息通知;如果判断出需要拉取新消息通知,则所述消息客户端执行从所述消息服务器拉取新消息通知的操作;如果判断出需要拉取新消息,则所述消息客户端执行从所述消息服务器拉取新消息的操作。
2.根据权利要求1所述的方法,其特征在于,所述新消息通知为新消息的计数; 在所述消息客户端执行从所述消息服务器拉取新消息通知的操作之后,进一步包括如果所拉取的新消息通知的计数大于0,则所述消息客户端提示用户有新消息。
3.根据权利要求2所述的方法,其特征在于,所述消息客户端提示用户有新消息包括 所述消息客户端点亮消息界面标签,并在消息界面标签上显示新消息的计数。
4.根据权利要求1所述的方法,其特征在于,进一步包括在所述消息客户端执行从所述消息服务器拉取新消息的操作后,如果拉取的新消息的数量大于0,则所述消息客户端在消息界面上显示所拉取的新消息。
5.根据权利要求1所述的方法,其特征在于,所述消息客户端的状态包括消息客户端不可见、消息客户端可见但是消息界面不可见、消息客户端及消息界面均可见。
6.根据权利要求5所述的方法,其特征在于,所述消息客户端根据自身的状态,判断是否需要从消息服务器拉取新消息或者新消息通知包括如果消息客户端的状态为消息客户端不可见,则所述消息客户端不需要进行拉取新消息或新消息通知的操作;如果消息客户端的状态为消息客户端可见但是消息界面不可见,则所述消息客户端需要执行从所述消息服务器拉取新消息通知的操作;如果消息客户端的状态为消息客户端及消息界面均可见,则所述消息客户端需要执行从所述消息服务器拉取新消息的操作。
7.根据权利要求1所述的方法,其特征在于,进一步包括在判断出需要拉取新消息后,判断当前的拉取频率是否满足消息服务器设定的第一自动拉取频率限制,如果满足,则所述消息客户端执行从所述消息服务器拉取新消息的操作; 或当判断出需要拉取新消息通知后,判断当前的拉取频率是否满足消息服务器设定的第二自动拉取频率限制,如果满足,则所述消息客户端执行从所述消息服务器拉取新消息通知的操作。
8.根据权利要求7所述的方法,其特征在于,所述第一自动拉取频率限制和第二自动拉取频率限制是在用户登录所述消息客户端时由消息客户端从所述消息服务器拉取的。
9.根据权利要求8所述的方法,其特征在于,进一步包括所述消息客户端在拉取所述第一自动拉取频率限制和第二自动拉取频率限制时,同时拉取第一更新频率和第二更新频率;其中,所述消息客户端根据所述第一更新频率定期从所述消息服务器拉取新的第一自动拉取频率限制,并用所述新的第一自动拉取频率限制更新当前的第一自动拉取频率限制;所述消息客户端根据所述第二更新频率定期从所述消息服务器拉取新的第二自动拉取频率限制,并用所述新的第二自动拉取频率限制更新当前的第二自动拉取频率限制。
10.根据权利要求7所述的方法,其特征在于,所述消息服务器进一步设定一个手动拉取频率;如果消息客户端判断当前的拉取频率不满足所述第一自动拉取频率,所述方法进一步包括所述消息客户端判断所述用户是否触发手动刷新操作,如果所述用户触发了所述手动刷新操作,且所述手动刷新操作的频率满足所述手动拉取频率限制,则执行从所述消息服务器拉取所述新消息的操作。
11.根据权利要求1所述的方法,其特征在于,进一步包括在所述消息客户端执行从所述消息服务器拉取新消息的操作之前,所述消息客户端判断需要拉取的新消息的数量是否超过预定的阈值,如果是,所述消息客户端仅从所述消息服务器拉取预定数量条最新的消息,其中,所述预定数量小于所述预定的阈值;否则,所述消息客户端从所述消息服务器拉取全部新消息。
12.根据权利要求11所述的方法,其特征在于,进一步包括当所述消息客户端仅从所述消息服务器拉取了预定数量条最新的消息时,所述消息客户端在消息界面上显示所述预定数量条最新的消息,并在消息界面上显示占位符,所述占位符用来代表未拉取的新消息;当所述消息客户端从所述消息服务器拉取了全部新消息时,所述消息客户端在所述消息界面上显示所述所有新消息。
13.根据权利要求12所述的方法,其特征在于,进一步包括当用户点击所述消息界面上的所述占位符时,所述消息客户端从所述消息服务器拉取所述未拉取的新消息,并在所述消息界面上显示本次拉取的新消息。
14.一种消息客户端,其特征在于,包括状态判断单元,用于根据消息客户端的状态判断是否需要从消息服务器拉取新消息或者新消息通知;拉取单元,用于当状态判断单元确定需要从所述消息服务器拉取新消息时,执行从所述消息服务器拉取所述新消息的操作;当状态判断单元确定需要从所述消息服务器拉取新消息通知时,执行从所述消息服务器拉取新消息通知的操作。
15.根据权利要求14所述的消息客户端,其特征在于,所述新消息通知为新消息的计数,所述消息客户端进一步包括新消息通知显示单元,用于在所述拉取单元执行从所述消息服务器拉取新消息通知的操作后,如果所拉取的新消息通知的计数大于0,点亮消息界面标签,并在消息界面标签上显示新消息的计数;和新消息显示单元,用于在所述拉取单元执行从所述消息服务器拉取新消息的操作后, 如果拉取的新消息的数量大于0,在消息界面上显示所拉取的新消息。
16.根据权利要求15所述的消息客户端,其特征在于,所述拉取单元进一步用于,在执行从所述消息服务器拉取新消息的操作之前,判断需要拉取的新消息的数量是否超过预定的阈值,如果是,仅从所述消息服务器拉取预定数量条最新的消息,其中,所述预定数量小于所述预定的阈值;否则,从所述消息服务器拉取全部新消息。
17.根据权利要求16所述的消息客户端,其特征在于,所述新消息显示单元进一步用于,当所述拉取单元仅从所述消息服务器拉取了预定数量条最新的消息时,在消息界面上显示所述预定数量条最新的消息,并在消息界面上显示占位符,所述占位符用来代表未拉取的新消息。
18.根据权利要求17所述的消息客户端,其特征在于,所述拉取单元进一步用于,当用户点击所述消息界面上的所述占位符时,从所述消息服务器拉取所述未拉取的新消息;所述新消息显示单元进一步用于在所述消息界面上显示本次拉取的新消息。
19.根据权利要求14所述的消息客户端,其特征在于,所述消息客户端的状态包括消息客户端不可见、消息客户端可见但是消息界面不可见、消息客户端及消息界面均可见;所述状态判断单元进一步用于如果消息客户端的状态为消息客户端不可见,则确定不需要进行拉取新消息或新消息通知的操作;如果消息客户端的状态为消息客户端可见但是消息界面不可见,则确定需要执行从所述消息服务器拉取新消息通知的操作;如果消息客户端的状态为消息客户端及消息界面均可见,则确定需要执行从所述消息服务器拉取新消息的操作。
20.根据权利要求14所述的消息客户端,其特征在于,进一步包括第一自动拉取频率判断单元和第二自动拉取频率判断单元;所述第一自动拉取频率判断单元用于当状态判断单元确定需要拉取新消息时,判断当前的拉取频率是否满足第一自动拉取频率限制;所述第二自动拉取频率判断单元用于当状态判断单元确定需要拉取新消息通知时,判断当前的拉取频率是否满足第二自动拉取频率限制。
21.根据权利要求20所述的消息客户端,其特征在于,所述第一自动拉取频率判断单元进一步用于,当用户登录所述消息客户端时,从消息服务器拉取所述第一自动拉取频率限制;所述第二自动拉取频率判断单元进一步用于,当用户登录所述消息客户端时,从所述消息服务器拉取所述第二自动拉取频率限制。
22.根据权利要求20或21所述的消息客户端,其特征在于,所述第一自动拉取频率判断单元进一步用于,在拉取所述第一自动拉取频率限制时, 同时拉取第一更新频率,并根据所述第一更新频率定期从所述消息服务器拉取新的第一自动拉取频率限制,并用所述新的第一自动拉取频率限制更新当前的第一自动拉取频率限制;所述第二自动拉取频率判断单元进一步用于,在拉取所述第二自动拉取频率限制时, 同时拉取第二更新频率,并根据所述第二更新频率定期从所述消息服务器拉取新的第二自动拉取频率限制,并用所述新的第二自动拉取频率限制更新当前的第二自动拉取频率限制。
23.根据权利要求20或21所述的消息客户端,其特征在于,进一步包括 手动拉取频率判断单元,用于当第一拉取频率判断单元确定当前的拉取频率不满足所述第一自动拉取频率限制时,判断用户是否触发手动刷新操作,如果所述用户触发了所述手动刷新操作,且所述手动刷新操作的频率满足所述手动拉取频率限制,则触发拉取单元执行从所述消息服务器拉取新消息的操作。
全文摘要
本发明公开了一种消息客户端的消息更新方法,包括消息客户端根据自身的状态,判断是否需要从消息服务器拉取新消息或者新消息通知;如果判断出需要拉取新消息通知,则所述消息客户端执行从所述消息服务器拉取新消息通知的操作;如果判断出需要拉取新消息,则所述消息客户端执行从所述消息服务器拉取新消息的操作。本发明还公开了一种消息客户端,包括状态判断单元和拉取单元。通过本发明提供的消息客户端的消息更新方法及消息客户端,当判断出仅需要从消息服务器拉取新消息通知时,仅拉取所述新消息通知。这样,既能通知用户有新消息,又能降低消息服务器的消息更新压力。
文档编号G06F17/30GK102375865SQ20101026691
公开日2012年3月14日 申请日期2010年8月24日 优先权日2010年8月24日
发明者劳宁 申请人:腾讯科技(深圳)有限公司