[发明专利]获取排序的统计数据的方法及排序装置有效
申请号: | 201310055790.9 | 申请日: | 2013-02-21 |
公开(公告)号: | CN103116641A | 公开(公告)日: | 2013-05-22 |
发明(设计)人: | 张任重 | 申请(专利权)人: | 新浪网技术(中国)有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京市京大律师事务所 11321 | 代理人: | 黄启行;方晓明 |
地址: | 100080 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 获取 排序 统计数据 方法 装置 | ||
技术领域
本发明涉及排序技术,尤其涉及一种获取排序的统计数据的方法及排序装置。
背景技术
随着计算机和网络通信技术的发展,网络成为人们日常生活、工作中进行交流和沟通的重要工具,使得网络上产生了海量的统计数据,例如,网页的用户浏览量信息数据、网站的用户注册量信息数据、游戏系统中的游戏用户量信息数据以及各游戏用户的积分信息数据、微博账户的访问量信息数据以及粉丝量信息数据等。为了从海量的统计数据中能够快速、有效地获取用户查询所需的数据,更好地为用户提供个性化的服务,需要对网络中产生的海量统计数据进行有效管理。例如,基于一定的排序策略,对海量统计数据进行排序,举例来说,根据存储的游戏系统的各用户的积分信息数据,按照积分从高到低进行排列。这样,在接收到用户的积分排序查询请求时,向用户输出排序前N(统计数据量值)位的积分信息数据,即topN数据。其中,N可以根据实际需要确定,例如,对于游戏系统,可以输出前10000名的游戏用户,即N为10000;对于微博,输出粉丝最多的前1000个微博账户,以有效降低用户浏览查询结果所需的时间,便于用户快速定位所需的数据。
现有基于存储的统计数据获取排序的统计数据的方法,根据统计数据存储在数据库中还是内存中,对应的技术方案主要包含以下两种。
(一)、对于存储在数据库中的统计数据,将接收的统计数据存储在数据库中,并定期对数据库中存储的统计数据进行排序,以排序结果作为当前排序时间周期至下一排序时间周期内用于查询的近似结果。具体地,该流程包括:
步骤001,将实时获取的统计数据存放在第一数据库中,并在第一数据库中维护统计数据;
本步骤中,各需要进行排序的网页、网站、游戏系统以及微博等,按照预先设置的策略,将实时发生的相关统计数据发送至排序装置。在排序装置中,采用数据库方式存储接收的统计数据。
对统计数据进行维护包括:对统计数据的增加、删除以及修改。其中,以游戏系统中游戏用户的积分为例,统计数据的增加是指新用户获取了新积分,将该游戏用户的新积分存储在数据库中;删除是指游戏用户由于作弊等原因,清空该游戏用户的积分;修改是指现有游戏用户通过游戏获取了新的积分或被罚积分,需要对该游戏用户在数据库中存储的积分进行相应更新。
步骤002,按照预先设置的周期,对第一数据库中的统计数据进行排序,获取排序结果,将排序结果存放至第二数据库中;
本步骤中,按照预先设置的周期,例如,每天凌晨,对第一数据库中的所有统计数据进行排序,并将排序结果存放在与第一数据库不同的另一个第二数据库中。
步骤003,接收排序查询请求,从第二数据库中获取排序查询请求对应的统计数据,输出topN统计数据。
本步骤中,在用户需要进行排序查询时,从经过排序的第二数据库中进行查询,即所有获取topN的操作,都从第二数据库中读取。
这样,通过设置第一数据库和第二数据库,第一数据库用于存储实时接收的统计数据,第二数据库用于存储对统计数据进行排序的排序结果,从而实现统计数据的排序推荐。
由于在计算机中,数据可以存放在内存、硬盘(数据库)、移动设备中,其中,一方面,内存中的数据存储成本最高,移动设备中的数据存储成本最低,即将数据存放在内存中,相对于将数据存放在硬盘中,成本较高。另一方面,内存中的数据访问速度最高,移动设备中的数据访问速度最低。而上述对统计数据进行排序的方法,采用硬盘对统计数据进行存储,虽然存储成本较低,但由于数据访问速度较低,运算性能较低,而统计数据量大,导致排序的时间长,排序效率较低;进一步地,采用定期排序的方法,不能在每次进行topN请求时,对数据库A中的统计数据进行实时排序,使得每次获取的topN统计数据的实时性较差。
(二)、为了提高topN统计数据的实时性,采用内存对统计数据进行存储,对于存储在内存中的统计数据,可以使用各种有序数据结构进行维护。例如,可以使用开源键值对(key-value)存储系统软件redis中的设置(zset)维护有序统计数据,其中,统计数据采用键值对方式存储在内存中,zset使用跳表维护有序统计数据。或者,还可以使用二叉树等数据结构对统计数据进行维护。
以zset维护有序数据为例,基于存储的统计数据获取排序的统计数据的方法,其流程包括:
步骤011,将实时获取的统计数据增加到zset中;
步骤012,在zset中维护统计数据;
本步骤中,统计数据维护包括:统计数据的增加、删除、修改。内存中统计数据的维护与数据库中统计数据的维护相类似。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于新浪网技术(中国)有限公司,未经新浪网技术(中国)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310055790.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种照明驱动电源实名制查询系统
- 下一篇:透气式热敷织物