获取wap用户在线状态的方法和设备的制作方法

文档序号:7632411阅读:202来源:国知局
专利名称:获取wap用户在线状态的方法和设备的制作方法
技术领域
本发明总体涉及无线应用领域,更具体地涉及用于获取wap用户在线状态的方法和设备。
背景技术
随着便携式设备的普及和无线应用协议(wap)的广泛使用,人们在生活中开始越来越多地利用便携式设备,例如通过便携式设备浏览网页、与朋友联系、播放网络音频视频文件等。这是因为wap使移动Internet有了一个通行的标准,其目标就是将Internet的丰富信息及先进的业务引入到移动电话等便携式设备之中。在上述这些应用中,例如人人网之类的社交网络逐渐成为人们与朋友保持联系并 且分享情感的不可或缺的工具。通过便携式设备随时随地地登录此类社交网络与在线的好友聊上几句无疑对使用社交网络的wap用户而言具有巨大的吸引力。因此,能通过便携式设备登录社交网络并能够知道好友是否在线或使好友知道自己是否在线对于用户而言就变得十分重要。大部分社交网络基于超文本传输协议(HTTP)协议进行通信,而HTTP协议是无状态协议,这种无状态协议本身并不支持用户在线机制。换言之,无状态协议仅能简单地响应请求,但是并不记忆该请求是否来自于同一个客户端或同一个用户。所以,这种协议本身无法支持用户在线状态的获取。因此,基于HTTP协议实现用户在线状态获取通常使用的是JavaScript/AJAX。具体而言,就是通过JavaScrip代码定时向服务器发送请求,从而通过该请求来通知服务器该用户在线。这样,其他用户就可以通过这种机制经由服务器来获取该用户的在线状态。然而,wap用户普遍使用的便携式设备大多都不支持用户在线系统所使用的上述机制,即,这些设备可能无法支持JavaScript/AJAX。这样,现有技术中赖以实现用户在线状态获取的机制也就无法通过便携式设备实现,这对于社交网络的用户而言是难以接受的。

发明内容
因此,需要在实现一种用于获取wap用户在线状态的机制,从而在用户使用便携式设备登录社交网络时,其好友能够知道其在线状态,这使得社交网络的重要方面得以通过便携式设备实现,进而使wap用户得到更好的用户体验。为了解决上述问题,本发明提供了一种用于获取wap用户在线状态的方法和设备。根据本发明的一个方面,提供了一种获取wap用户在线状态的方法,包括拦截wap用户的主动访问;计算所述wap用户的最后访问时间与当前时间的差值;以及将所述差值与预定义阈值进行比较来获取所述wap用户的在线状态。根据本发明的另一方面,提供了一种获取wap用户在线状态的设备,包括拦截装置,用于拦截wap用户的主动访问;计算装置,用于计算所述wap用户的最后访问时间与当前时间的差值;以及获取装置,用于将所述差值与预定义阈值进行比较来获取所述wap用户的在线状态。根据本发明,通过以上用于获取wap用户在线状态的方法和设备,可以获取wap用户在线的状态,从而为社交网络的用户提供更好的用户体验,即使用户和其好友使用便携式设备也是如此。



通过对结合附图所示出的实施方式进行详细说明,本发明的上述以及其他特征将更加明显,本发明附图中相同的标号表示相同或相似的元素。在附图中图I示意性地示出了根据本发明示例性实施方式的、用于获取wap用户在线状态的方法的流程图;图2示意性地示出了根据本发明示例性实施方式的、用于获取wap用户在线状态的设备的框图;图3示意性地示出了根据本发明示例性实施方式的、实现用于获取wap用户在线状态的场景图;以及图4示意性地示出了可以通过其实现本发明实施方式的计算设备的框图。
具体实施例方式在下文中,将参考图示借助于实施方式对本发明的用于获取wap用户在线状态的方法和设备进行详细地描述。附图中的流程图和框图,图示了按照本发明各种实施方式的设备和方法体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这取决于所涉及的功能。还要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。现在,参考图I中用于获取wap用户在线状态的方法的流程图进行描述。如图I所示,在该方法的步骤SlOl中,拦截wap用户的主动访问。根据本发明的一个示例性实施方式,为了获取wap用户与服务器的交互,可以拦截wap用户对服务器的主动访问。根据背景技术中的描述可知,HTTP协议是无状态协议,这种协议无法记忆或记录通过该协议发起请求的用户或终端。而用户的在线状态是一种连续的过程,即,如果特定用户或终端在一段时间内始终都与服务器存在交互,那么可以推断该用户或终端处于在线状态,反之该用户或终端有可能已经离线。但是由于大部分wap用户只能使用HTTP协议发起请求并且不支持能够实现在线状态获取的JavaScript/AJAX机制,而无状态协议又不能记录HTTP请求的发起者,那么就无法将请求发起者与其发起的请求对应起来,进而也就无法断定在特定时段内用户或终端是否始终都与服务器存在交互。
基于上述原因,必须寻求一种方式来获取wap用户与服务器的交互,进而将该wap用户与其发起的请求对应起来进行记录,才有可能获得特定时段内该wap用户的在线状态。因此,可以采用拦截wap用户发往服务器的每次主动访问的方式来获取并记录wap用户的身份(ID)和其在一段时间内发起的请求。wap用户对服务器的主动访问例如可以包括wap用户的登录动作以及在登录之后发往服务器的任意请求。 拦截以上这两种主动访问主要基于如下考虑如果wap用户希望处于在线状态,则其首先需要进行登录动作,以向其登录的网站表明自己的身份。拦截该登录动作可以确定开始获取wap用户在线状态的时间点,S卩,用户的在线是以其登录开始的。在登录之后,wap用户可以开始使用网站提供的各种功能,在该过程中,wap用户可能需要向服务器发送各种请求。在拦截到wap用户的一次主动访问时,即可证明用户仍旧登录在该网站上并且正在使用该网站,这无疑可以推断出在这段时间内,用户处于在线状态。因此,根据本发明的示例性实施方式,拦截wap用户的主动访问是最终获取用户在线状态的首要步骤。根据本发明的实施方式,用户登录后发出的请求可以是针对Web页面的HTTP请求。虽然HTTP协议是无状态协议,但是在HTTP请求中可以获取发起请求的wap用户ID和发起该请求的时间。在此,我们将拦截到最后请求的时间称作最后访问时间。只要记录下该ID和该最后访问时间,就可以确定至少在当前时刻该wap用户是在线的。然而,wap用户对服务器的访问并非是连续不断的。换言之,wap用户基本上不可能每时每刻都对服务器进行主动访问。那么在一段时间内没有拦截到用户的主动访问的情况下,是否应该认为该wap用户离线就成为一个重要的问题。例如,wap用户在Web页面上点击一个链接,即进行一个主动访问之后,服务器可能向该wap用户返回了一个页面,例如该页面是一篇文章,那么在该wap用户浏览这个页面的期间,用户可能不会进行任何操作而专心地阅读文章,但是此时用户仍旧登录在该网站上没有离开,也就是说该用户仍旧处于在线状态。然而,在此期间,可能没有拦截到该用户的任何主动访问。在此情况下,判定用户离线显然是不合理的。所以,为了合理地判定用户的在线状态,首先需要知道wap用户已经有多久没有与服务器进行交互了。因此,根据本发明的示例性实施方式,方法包括步骤S102,该步骤计算wap用户的最后访问时间与当前时间的差值。即,将当前时间值减去wap用户的最后访问时间值来得到差值。根据本发明的实施方式,可以以各种合适的方式来表示当前时间值和用户的最后访问时间值。例如,设定一个时间点作为计时的起点。在应用中通常取历史上的某年某月某日某时作为起点,以从该点开始流逝的毫秒、秒、分钟、小时等来表示当前时间或最后访问时间。那么在计算两者的差值时进行减法计算即可,得到的差值的单位与计时单位一致,即毫秒、秒、分钟、小时等。本领域的技术人员应该理解,可以应用任何其他合适的方式对当前时间和wap用户的最后访问时间进行计时。何时计算上述差值也是需要考虑的一个问题。因为不断地计算显然是没有意义的,而且会消耗过多的系统资源。因此,根据本发明的实施方式,可以以预定义的时间间隔执行计算或以触发方式执行计算。在一个实施方式中,出于实现简单性的考虑,可以以预定义的时间间隔计算该差值,时间间隔例如5分钟。换言之,该计算可以每隔5分钟执行一次来获得差值。在另一个实施方式中,可以以触发方式执行计算。在该触发方式中使用的触发事件可以包括以下至少一个拦截到wap用户的主动访问、其他用户的请求、定时器到时以及系统指令。例如,每当拦截到wap用户的主动访问时,就计算当前时间与最后访问时间的差值。当然,这时计算的差值为0,但是这种计算有时是必须的。例如,用户仅仅执行了一次登录操作,之后一段时间内可能没有任何主动访问。在此情况中,如果仅仅以预定义的时间间隔执行计算,得到的差值可能表示该用户仍旧处于离线状态,从而忽略了用户已经登录的事实,进而无法准确地获取用户的在线状态。通过以上的触发方式执行计算,至少可以保证只要用户进行了登录就可以获取到用户的在线状态,从而可以更准确地获取用户的在线状态。此外,根据本发明的一个实施方式,还可以由其他用户的请求触发计算即,在其他用户发出请求希望了解该wap用户的在线状态或其他用户希望与该wap用户进行交互等操作时进行计算。
根据本发明的一个实施方式,还可以在定时器到时时触发计算,例如,以在拦截到用户的一次主动访问后设置一个数秒、数分钟或数小时的定时器,在定时器到时时计算差值。此外,根据本发明的一个实施方式,还可以由系统指令来触发计算。以上的触发方式可以获得显著降低系统资源的消耗的益处,因为不论使用何种触发事件,触发方式仅仅在需要时才进行计算,这样必将节省大量的系统资源。本领域的技术人员应该理解,触发事件还可以包括任何适于实现本发明目的的事件,并且这些触发事件可以以任何合适的单独或组合地进行使用,而不限于记载的使用方式。根据通过步骤S 102中的计算所得到的差值,可以获得当前时刻距离wap用户的最后一次主动访问已经流逝的时间。基于一般性的经验判断,如果仅过去几秒钟或几分钟,例如用户在此期间正在阅读文章,那么可以不认为wap用户已经离线。然而,如果该差值表示距离wap用户的最后一次主动访问已经过去数十分钟甚至数个小时,那么可以认为该wap用户已经离线。基于这样的考虑,该方法包括步骤S103,该步骤将所述差值与预定义阈值进行比较来获取wap用户的在线状态。换言之,wap用户的在线状态取决于未拦截到其主动访问时间的长短。据此,需要预先设置阈值以确定判定用户在线或离线的标准。例如,wap用户在当前时刻已经有10分钟没有对服务器进行主动访问了,即差值为10分钟。如果阈值设置为5分钟,则由于差值超过了阈值,我们判定该用户已经离线,即获得了该wap用户的在线状态为离线。概括而言,获取用户状态的一般性规则可以是这样的如果差值大于等于预定义阈值,则wap用户的在线状态为离线;以及如果差值小于所述预定义阈值,则wap用户的在线状态为在线。鉴于上述内容,在本发明的方法中,如何定义阈值将成为获取wap用户在线状态的一个关键部分。根据本发明的实施方式,可以根据各种具体情况来动态地设置该预定义阈值,这样可以为用户提供更人性化的服务体验。动态设置预定义阈值可以包括以下至少一项,例如基于经验进行设置、基于一天中的时段进行设置、基于事件或通信条件进行设置。
在本发明的一个实施方式中,例如,可以根据经验设置预定义阈值。例如,可以预先统计多个用户的两个主动访问之间最长的时间间隔,然后将该时间间隔取平均来设定该预定阈值。也可以仅仅根据的一般可接受时间来设置,例如,5分钟等。根据经验设置预定义值的好处在于能够使得阈值较为贴近实际情况,从而避免出现不合常理的结果。例如,用户I分钟内没有主动访问就认为其离线显然很难为用户所接受。然而,仅仅基于经验来设置阈值可能是不够的。因为这种设置方式仅仅满足了一般性情况。例如,根据经验,如果5分钟内没有拦截到wap用户的主动访问就可以认定其在线状态是离线,则这在一般性情况下是没有问题的,例如上午或下午。但是例如在中午或晚间,用户可能在午餐或晚餐前登录了社交网络、浏览了几条新闻后就去用餐了,但是其在此过程中并没有退出登录状态或者甚至他/她正在一边用餐一边观看网站的视频,因此,该用户还是在线的。为了应对这种情况,根据本发明的一个实施方式,可以在每天中人们用餐的时段将阈值设置得稍微长一些,比如15分钟,即,人们正常用餐的时长。这样动态地调整 预定于阈值可以根据一天中所处时段的实际情况更好地提供用户的在线状态。此外,还可能出现这种情况由于某些事件的出现或通信条件的变化,用户对服务器进行主动访问的频率相对于平常大大降低,例如wap用户可能此时正在关注一些重大的事件或遇到信号变差、通信系统故障等通信条件改变的情况。这时可以将阈值设置得更长一些以适应这种情况。例如,在FIFA世界杯的某场重要比赛期间,可能大部分用户会通过社交网络(例如,人人网)来交流比赛的感受。但是由于比赛很精彩,用户的主要精力集中于比赛,仅仅在某个精彩瞬间结束后发表一些感受和看法,因此对网站操作的频率,即进行主动访问的频率可能很低。这时根据日常经验来设置该预定阈值可能并非好的方式。例如,两个球迷好友在开赛前还在热烈地讨论着比赛并相约在比赛中进行交流,但是开赛5分钟后,使用便携式设备的一方wap用户或双方wap用户由于关注比赛而没有进行主动访问就被显示为离线,从用户角度而言,体验是不够好的。此外,例如,使用便携式设备的wap用户所处地区的无线通信信号不太好,可能一次主动访问的耗时较长,那么这时如果阈值设置的较短也是不合适的。还可能存在这样的情况,wap用户可能希望根据自己的情况设置该预定义阈值,从而令自己的好友更准确地获取自己的在线状态。例如,wap用户正忙于工作,不能主动访问或对朋友的消息进行阅读等,但是该wap用户大约知道自己的工作所持续的时间,于是他/她可以自己定义该预定义阈值。因此,在本发明的一个实施方式中,可以基于用户的定义来设置预定义阈值。鉴于以上原因,根据本发明的一个实施方式,可以基于事件或通信条件来设置预定义阈值。而其中的事件可以包括但不限于以下至少一个新闻、体育赛事、突发事件等。本领域的技术人员应该理解,设置预定义阈值的目的在于设定用于判定用户在线状态的标准。因此,该标准可以根据各种情况进行动态地调整,调整所基于的理由并不限于上述记载的理由。根据本发明实施方式,用于获取wap用户在线状态的方法在步骤SlOl和步骤S102之间还可以包括这样的步骤使用拦截获取的wap用户的最后访问时间来更新wap用户在线列表,wap用户在线列表包括wap用户的ID和wap用户的最后访问时间。
因为,在大部分情况中,社交网站的用户数是很庞大的。因此,为了记录某个wap用户和其最后访问时间之间的对应关系可以使用表格的形式。基于该表格也更易查询和获取用户的信息,从而有利于步骤S102的计算。此类表格的一个示例如下
权利要求
1.一种获取wap用户在线状态的方法,包括 拦截wap用户的主动访问; 计算所述wap用户的最后访问时间与当前时间的差值;以及 将所述差值与预定义阈值进行比较来获取所述wap用户的在线状态。
2.根据权利要求I所述的方法,进一步包括 使用所述拦截获取的所述wap用户的最后访问时间来更新wap用户在线列表,所述wap用户在线列表包括所述wap用户的ID和所述wap用户的最后访问时间。
3.根据权利要求I或2所述的方法,其中 以预定义的时间间隔执行所述计算或以触发方式执行所述计算。
4.根据权利要求3所述的方法,其中所述触发方式中使用的触发事件包括以下至少一个拦截到所述wap用户的主动访问、其他用户的请求、定时器到时以及系统指令。
5.根据权利要求I或2所述的方法,其中 如果所述差值大于等于所述预定义阈值,则所述wap用户的所述在线状态为离线;以及 如果所述差值小于所述预定义阈值,则所述wap用户的所述在线状态为在线。
6.根据权利要求I或2所述的方法,其中 所述主动访问包括wap用户的登录动作或在所述登录动作之后发往服务器的任意请求。
7.根据权利要求6所述的方法,其中所述请求是针对Web页面的HTTP请求。
8.根据权利要求I或2所述的方法,其中动态地设置所述预定义阈值。
9.根据权利要求8所述的方法,其中所述动态地设置所述预定义阈值包括以下至少一项基于经验进行设置、基于一天中的时段进行设置、基于事件或通信条件进行设置、基于用户的定义进行设置。
10.一种获取wap用户在线状态的设备,包括 拦截装置,用于拦截wap用户的主动访问; 计算装置,用于计算所述wap用户的最后访问时间与当前时间的差值;以及 获取装置,用于将所述差值与预定义阈值进行比较来获取所述wap用户的在线状态。
11.根据权利要求10所述的设备,进一步包括 更新装置,用于使用所述拦截获取的所述wap用户的最后访问时间来更新wap用户在线列表,所述wap用户在线列表包括所述wap用户的ID和所述wap用户的最后访问时间。
12.根据权利要求10或11所述的设备,其中 以预定义的时间间隔执行所述计算或以触发方式执行所述计算。
13.根据权利要求12所述的设备,其中所述触发方式中使用的触发事件包括以下至少一个拦截到所述wap用户的主动访问、其他用户的请求、定时器到时以及系统指令。
14.根据权利要求10或11所述的设备,其中 如果所述差值大于等于所述预定义阈值,则所述wap用户的所述在线状态为离线;以及 如果所述差值小于所述预定义阈值,则所述wap用户的所述在线状态为在线。
15.根据权利要求10或11所述的设备,其中所述主动访问包括wap用户的登录动作或在所述登录动作之后发往服务器的任意请求。
16.根据权利要求15所述的设备,其中所述请求是针对Web页面的HTTP请求。
17.根据权利要求10或11所述的设备,其中动态地设置所述预定义阈值。
18.根据权利要求17所述的设备,其中所述动态地设置所述预定义阈值包括以下至少一项基于经验进行设置、基于一天中的时段进行设置、基于事件或通信条件进行设置、基于用户的定义进行设置。
全文摘要
本发明公开了一种获取wap用户在线状态的方法和设备。一种获取wap用户在线状态的方法,包括拦截wap用户的主动访问;计算wap用户的最后访问时间与当前时间的差值;以及将该差值与预定义阈值进行比较来获取wap用户的在线状态。
文档编号H04W88/18GK102711033SQ201110085340
公开日2012年10月3日 申请日期2011年3月28日 优先权日2011年3月28日
发明者闫志东 申请人:北京千橡网景科技发展有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1