用户在线状态统计系统及方法

文档序号:9648920阅读:1486来源:国知局
用户在线状态统计系统及方法
【技术领域】
[0001]本发明涉及网络通信技术领域,具体涉及一种用户在线状态统计系统及方法。
【背景技术】
[0002]随着互联网技术的日趋成熟,网络应用的种类和数量也越来越多,出现了多种多样的网络应用,例如网络游戏、网络直播等。为了更好地为用户提供服务,这些网络应用的提供商往往需要对用户的在线状态进行统计。
[0003]目前,在统计用户在线状态时,是由一台单独的打点服务器接收来自在线用户终端的打点请求,获取其中包含的打点数据,并将根据打点数据得到的用户在线状态信息保存到内存中。当需要查询某用户的在线状态时,由该打点服务器从内存中读取用户在线状态信息并反馈查询结果。
[0004]由于目前的用户在线状态信息采用内存存储方式,因此,只能通过单机实现用户在线状态的统计。然而,单机统计的方式仅适用于用户量级较小的应用场景中,随着互联网用户的增多,一个网络应用的在线用户数量动辄达到千万级甚至亿万级的量级,受到单台服务器的处理速度以及内存容量的制约,传统的单机统计方式无法支持如此庞大的用户量。而且,这种基于内存存储的单机统计方式也无法支持扩展:如果将用于统计用户在线状态的服务器扩展到两台或多台,由于各台服务器分别通过各自的内存来存储用户在线状态信息,所以,当需要查询某用户的在线状态时,无法确定该从哪台服务器中进行查询。由此可见,传统的单机统计方式无法满足互联网用户大规模增长的需求。

【发明内容】

[0005]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的用户在线状态统计系统及方法。
[0006]依据本发明的一个方面,提供了一种用户在线状态统计系统,包括:多台前端打点服务器,以及供多台前端打点服务器共享的后端存储数据库,其中,每台前端打点服务器适于接收来自在线用户终端的打点请求,并将根据打点请求中包含的打点数据获得的用户在线状态信息发送给后端存储数据库;后端存储数据库适于对各台前端打点服务器发来的用户在线状态信息进行统计及存储,其中,后端存储数据库通过一台或多台SSDB服务器实现。
[0007]依据本发明的另一方面,提供了一种用户在线状态统计方法,包括:通过多台前端打点服务器并行接收来自各个在线用户终端的打点请求;每台前端打点服务器将根据打点请求中包含的打点数据获得的用户在线状态信息发送给供多台前端打点服务器共享的后端存储数据库;由后端存储数据库对用户在线状态信息进行统计及存储。
[0008]在本发明提供的用户在线状态统计系统及方法中,通过多台前端打点服务器接收来自各个在线用户终端的打点请求,并将根据打点请求中包含的打点数据获得的用户在线状态信息存储到供多台前端打点服务器所共享的后端存储数据库中。由此可见,在本发明中,一方面,前端打点服务器的数量为多台,从而能够以并行方式处理各个在线用户终端发来的打点请求,大幅提高了打点服务器的处理速度,缩短了响应时间,能够同时服务于更多的用户终端。另一方面,通过后端存储方式代替了传统的内存存储方式,其中后端存储数据库通过一台或多台SSDB服务器实现,且能够供多台前端打点服务器所共享。由于SSDB服务器本身是一种高性能的数据库服务器,其存储容量远大于普通服务器的内存容量,且SSDB服务器还能够支持扩容,当一台SSDB服务器的存储容量不够用时,能够再挂接一个SSDB服务器,从而实现存储容量的自由扩展,由此能够存储海量的用户在线状态信息。因而,本发明中的用户在线状态统计系统及方法能够适应互联网用户大规模增长的需求。
[0009]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【附图说明】
[0010]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0011]图1示出了本发明一个实施例提供的用户在线状态统计系统的功能框图;
[0012]图2示出了本发明另一实施例提供的用户在线状态统计系统的功能框图;
[0013]图3示出了本发明一个实施例提供的用户在线状态统计方法的流程图;
[0014]图4示出了本发明一个具体实施例提供的用户在线状态统计方法的流程图。
【具体实施方式】
[0015]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0016]本发明实施例提供了一种用户在线状态统计系统及方法,至少能够解决传统的单机统计方式因受限于单台服务器的处理速度以及内存容量而无法满足互联网用户大规模增长需求的技术问题。
[0017]图1示出了本发明一个实施例提供的用户在线状态统计系统的功能框图。如图1所示,该用户在线状态统计系统包括:多台前端打点服务器11,以及供多台前端打点服务器11共享的后端存储数据库12。其中,每台前端打点服务器11接收来自在线用户终端的打点请求,并将根据打点请求中包含的打点数据获得的用户在线状态信息发送给后端存储数据库12。后端存储数据库12对各台前端打点服务器11发来的用户在线状态信息进行统计及存储,其中,后端存储数据库12通过一台或多台SSDB服务器120实现。
[0018]具体地,每个在线用户终端每隔预设时间间隔发送一次打点请求,各台前端打点服务器11相互并行地处理来自各个在线用户终端的打点请求。通过多台前端打点服务器并行处理的方式能够提高服务器的处理速度,缩短服务器的响应时间,从而更好地服务于更多的用户终端。
[0019]后端存储数据库12为一台或多台SSDB服务器,由于SSDB服务器为高性能数据库服务器,其能够提供内存式存储服务,且支持扩容,能够在存储容量不足时通过挂接一台SSDB服务器来实现扩容存储方案,从而实现存储容量的自由扩展。因此,通过后端存储数据库12能够存储海量的用户在线状态信息。
[0020]由此可见,本发明中一方面通过多台相互并行工作的前端打点服务器提高了处理打点请求的速度,另一方面通过可扩容的后端存储数据库实现了用户在线状态信息的无限量存储。正是由于本发明中存储的用户在线状态信息的数据量不再受到内存存储容量的制约,因此,优选地,为了使本发明中所获取到的用户在线状态信息能够更加全面地反映用户的当前在线情况,可以使用户终端发送的打点请求中包含更多内容的打点数据,例如每个打点请求中的打点数据包括:用户终端标识以及该用户终端当前在线的应用类型标识;其中,用户终端当前在线的应用类型标识为一个或多个,且每个应用类型标识中进一步包含一种或多种应用信息。其中,通过用户终端标识能够对在线用户的身份进行识别;通过用户终端当前在线的应用类型标识能够了解该在线用户当前正在使用的应用类型,例如能够知晓该用户当前是在玩游戏还是在看直播;通过每个应用类型标识中进一步包含的应用信息可以了解关于该应用的更多具体内容,例如该用户正在玩何种游戏或是正在看哪类直播节目等。
[0021]图2示出了本发明一个具体实施例提供的用户在线状态统计系统的功能框图。如图2所示,该用户在线状态统计系统包括:多台在线用户终端20、一台或多台分发服务器
21、多台与分发服务器21相连的前端打点服务器22、供多台前端打点服务器22共享的后端存储数据库23、以及提供查询服务的查询服务器24。其中,后端存储数据库23进一步包括多台SSDB服务器230。
[0022]其中,用户终端包括手机终端、电脑终端等各类终端设备,每当一个用户终端联网后,只要该用户终端启动了本系统中指定的应用,即为本系统中的一个在线用户终端。例如,在本实施例中,本系统中指定的应用包括网络游戏应用以及网络直播应用。因此,每当一个联网的用户终端启动了网络游戏应用和/或网络直播应用时,即成为一个需要统计在线状态的在线用户终端。
[0023]在本发明中,每个在线用户终端20在其在线期间,每隔预设时间间隔(例如每隔240秒)发送一次打点请求,服务器根据接收到的打点请求中包含的打点数据获得该在线用户终端的用户在线状态信息。例如,假设一个在线用户终端于上午9:00时启动了网络游戏“黑暗之光”以及网络直播“熊猫直播”,并在9:30时退出了网络游戏“黑暗之光”,继续观看网络直播“熊猫直播”,并在9:40时退出了网络直播“熊猫直播”。因此,在9:00-9:30的这段时间里,该在线用户终端每隔240秒向服务器发送一次打点请求,每次发送的打点请求中所包含的打点数据包括如下内容:(1)该在线用户终端的用户终端标识,用以唯一识别该用户,例如为用户名或用户ID ;(2)该用户终端当前在线
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1