一种获取聚合数据的方法和装置.pdf

上传人:n****g 文档编号:4838932 上传时间:2018-11-16 格式:PDF 页数:14 大小:1.44MB
返回 下载 相关 举报
摘要
申请专利号:

CN201210495461.1

申请日:

2012.11.28

公开号:

CN103020175A

公开日:

2013.04.03

当前法律状态:

授权

有效性:

有权

法律详情:

专利权的转移IPC(主分类):G06F 17/30登记生效日:20160726变更事项:专利权人变更前权利人:深圳市华为技术软件有限公司变更后权利人:华为技术有限公司变更事项:地址变更前权利人:518129 广东省深圳市龙岗区坂田华为基地B区2号楼变更后权利人:518129 广东省深圳市龙岗区坂田华为总部办公楼|||授权|||实质审查的生效IPC(主分类):G06F 17/30申请日:20121128|||公开

IPC分类号:

G06F17/30

主分类号:

G06F17/30

申请人:

深圳市华为技术软件有限公司

发明人:

王润松

地址:

518129 广东省深圳市龙岗区坂田华为基地B区2号楼

优先权:

专利代理机构:

北京中博世达专利商标代理有限公司 11274

代理人:

申健

PDF下载: PDF下载
内容摘要

本发明是实施例公开一种获取聚合数据的方法和装置,涉及计算机领域,解决现有技术中存储成本高,用户体验差的技术问题。一种获取聚合数据的方法,包括,按照预设的第一周期获取数据库的查询日志;当所述数据查询命令的执行耗时超过预设的时间阈值,或所述数据查询命令的执行频率超过预设的频率阈值时,将满足所述数据查询命令的数据组合作为聚合数据存储入所述数据库。本发明主要应用于数据查询和数据存储中。

权利要求书

权利要求书一种获取聚合数据的方法,其特征在于,包括:
按照预设的第一周期获取数据库的查询日志;所述查询日志记录有数据查询命令、数据查询命令的执行耗时和数据查询命令的执行频率;
当所述数据查询命令的执行耗时超过预设的时间阈值,或所述数据查询命令的执行频率超过预设的频率阈值时,将满足所述数据查询命令的数据组合作为聚合数据存储入所述数据库。
根据权利要求1所述的方法,其特征在于,所述方法还包括:
当接收到所述数据查询命令时,判断所述数据库中是否存在符合查询命令的聚合数据;所述符合查询命令的聚合数据中包含所述数据查询命令所指定的数据;
当存在所述符合查询命令的聚合数据时,将所述符合查询命令的聚合数据中包含的所述数据查询命令所指定的数据返回给所述数据查询命令的发出方。
根据权利要求1所述的方法,其特征在于,所述查询日志还记录有:位于所述聚合数据中的被聚合数据的标识,以及所述被聚合数据的被查询时刻;
所述方法还包括:
按照预设的第二周期读取所述被聚合数据的被查询时刻;
当所述被聚合数据相邻两次的被查询时刻的时间差超过预设的时间阈值时,将所述被聚合数据所在的聚合数据删除。
根据权利要求1或2所述的方法,其特征在于,当在所述数据库中删除原数据和/或增加新数据时,所述方法还包括:
删除所述原数据所在的聚合数据;和/或
根据所述新数据生成聚合数据。
一种获取聚合数据的装置,其特征在于,包括:
查询日志获取单元,用于按照预设的第一周期获取数据库的查询日志;所述查询日志记录有数据查询命令、数据查询命令的执行耗时和数据查询命令的执行频率;
聚合数据生成单元,用于当所述数据查询命令的执行耗时超过预设的时间阈值,或所述数据查询命令的执行频率超过预设的频率阈值时,将满足所述数据查询命令的数据组合作为聚合数据存储入所述数据库。
根据权利要求5所述的装置,其特征在于,所述装置还包括:
判断单元,用于当接收到所述数据查询命令时,判断所述数据库中是否存在符合查询命令的聚合数据;所述符合查询命令的聚合数据中包含所述数据查询命令所指定的数据;
返回数据单元,用于当存在所述符合查询命令的聚合数据时,将所述符合查询命令的聚合数据中包含的所述数据查询命令所指定的数据返回给所述数据查询命令的发出方。
根据权利要求5所述的装置,其特征在于,所述查询日志还记录有:位于所述聚合数据中的被聚合数据的标识,以及所述被聚合数据的被查询时刻;
所述装置还包括:
读取单元,用于按照预设的第二周期读取所述被聚合数据的被查询时刻;
删除单元,用于当所述被聚合数据相邻两次的被查询时刻的时间差超过预设的时间阈值时,将所述被聚合数据所在的聚合数据删除。
根据权利要求5或6所述的装置,其特征在于,所述删除单元还用于当在所述数据库中删除原数据时,删除所述原数据所在的聚合数据;
所述聚合数据生成单元还用于当在所述数据库中增加新数据时,根据所述新数据生成聚合数据。

说明书

说明书一种获取聚合数据的方法和装置
技术领域
本发明涉及计算机领域,特别涉及一种获取聚合数据的方法和装置。
背景技术
面对海量数据,用户大多数时候关心的是其中的一部分或者某几个部分,而对于其它的数据则并不十分在意。获取聚合数据的重要意义在于,从浩如烟海的数据中查找出与问题相关的数据,从而针对该问题,对查找出的数据进行有的放矢的分析,研究出科学理性的对策。
当前大致有如下两种方式查找与问题相关的数据:
方式一,尽可能多的罗列出用户关心的问题,针对这些问题,通过计算、整理等方式,在原始数据中,查找出与该问题相关的数据,并把这些数据存储在磁盘中。当用户需要访问与该问题相关的数据时,直接从磁盘读取即可。
方式二,利用数据库中的关键字把存储在数据库中的数据关联起来。当用户需要查询与问题相关的数据时,通过计算,对原始数据进行查找,从而找到这些数据,然后返回给用户。
在实现本发明的过程中,发明人发现现有技术中至少存在以下技术问题:
1、对于方式一,需要预先存储查找出来的数据,占据磁盘空间大、存储成本高;当原始数据更新后,已经存储的查找出的数据不能实时更新。
2、对于方式二,需要先进行计算后,向用户返回数据,查询速度慢,用户体验差。
发明内容
本发明的实施例提供一种获取聚合数据的方法和装置,解决聚合数据存储成本高,不能对聚合数据及时更新的技术问题。
为达到上述目的,本发明的实施例提供如下技术方案:
第一方面,提供一种获取聚合数据的方法,包括:
按照预设的第一周期获取数据库的查询日志;所述查询日志记录有数据查询命令、数据查询命令的执行耗时和数据查询命令的执行频率;
当所述数据查询命令的执行耗时超过预设的时间阈值,或所述数据查询命令的执行频率超过预设的频率阈值时,将满足所述数据查询命令的数据组合作为聚合数据存储入所述数据库。
结合第一方面,在第一方面的第一种可能的情况下,所述方法还包括:
当接收到所述数据查询命令时,判断所述数据库中是否存在符合查询命令的聚合数据;所述符合查询命令的聚合数据中包含所述数据查询命令所指定的数据;
当存在所述符合查询命令的聚合数据时,将所述符合查询命令的聚合数据中包含的所述数据查询命令所指定的数据返回给所述数据查询命令的发出方。
结合第一方面,在第一方面的第二种可能的情况下,所述方法还包括:所述查询日志还记录有:位于所述聚合数据中的被聚合数据的标识,以及所述被聚合数据的被查询时刻;
按照预设的第二周期读取所述被聚合数据的被查询时刻;
当所述被聚合数据相邻两次的被查询时刻的时间差超过预设的时间阈值时,将所述被聚合数据所在的聚合数据删除。
结合第一方面和第一方面的第一种可能的情况,在第一方面的第三种可能的情况下,当在所述数据库中删除原数据和/或增加新数据时,所述方法还包括:
删除所述原数据所在的聚合数据;和/或
根据所述新数据生成聚合数据。
第二方面,提供一种获取聚合数据的装置,包括:
查询日志获取单元,用于按照预设的第一周期获取数据库的查询日志;所述查询日志记录有数据查询命令、数据查询命令的执行耗时和数据查询命令的执行频率;
聚合数据生成单元,用于当所述数据查询命令的执行耗时超过预设的时间阈值,或所述数据查询命令的执行频率超过预设的频率阈值时,将满足所述数据查询命令的数据组合作为聚合数据存储入所述数据库。
结合第二方面,在第二方面的第一种可能的情况下,所述装置还包括:
判断单元,用于当接收到所述数据查询命令时,判断所述数据库中是否存在符合查询命令的聚合数据;所述符合查询命令的聚合数据中包含所述数据查询命令所指定的数据;
返回数据单元,用于当存在所述符合查询命令的聚合数据时,将所述符合查询命令的聚合数据中包含的所述数据查询命令所指定的数据返回给所述数据查询命令的发出方。
结合第二方面,在第二方面的第二种可能的情况下,所述装置还包括:
读取单元,用于按照预设的第二周期读取所述被聚合数据的被查询时刻;
删除单元,用于当所述被聚合数据相邻两次的被查询时刻的时间差超过预设的时间阈值时,将所述被聚合数据所在的聚合数据删除。
结合第二方面和第二方面的第一种可能的情况,在第二方面的第三种可能的情况下,所述删除单元还用于当在所述数据库中删除原数据时,删除所述原数据所在的聚合数据;
所述聚合数据生成单元还用于当在所述数据库中增加新数据时,根据所述新数据生成聚合数据。
本发明的实施例提供一种获取聚合数据的方法和装置,首先,按照预设的第一周期获取数据库的查询日志;当所述数据查询命令的执行耗时超过预设的时间阈值,或所述数据查询命令的执行频率超过预设的频率阈值时,将满足所述数据查询命令的数据组合作为聚合数据存储入所述数据库。通过上述方案,一方面,降低聚合数据的存储成本,及时更新聚合数据;另一方面,提升查询速度,提高用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1中一种获取聚合数据的方法的流程图;
图2为本发明实施例2中另一种获取聚合数据的方法的流程图;
图3为本发明实施例2中聚合数据与数据库、存储介质、原始数据的关系的示意图;
图4为本发明实施例2中另一种获取聚合数据的方法的流程图;
图5为本发明实施例2中另一种获取聚合数据的方法的流程图;
图6为本发明实施例3中一种获取聚合数据的装置的框图;
图7为本发明实施例3中另一种获取聚合数据的装置的框图;
图8为本发明实施例3中另一种获取聚合数据的装置的框图;
图9为本发明实施例3中一种获取聚合数据的装置的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:
本发明的一个实施例提供一种获取聚合数据的方法,如图1所示,该方法包括如下步骤:
101、按照预设的第一周期获取数据库的查询日志;所述查询日志记录有数据查询命令、数据查询命令的执行耗时和数据查询命令的执行频率。
查询日志中记录的各项内容用于管理聚合数据,比如生成聚合数据,删除聚合数据,更新聚合数据等。数据查询命令的执行耗时是指根据数据查询命令从存储在存储介质中的数据库中查找到需要查找的数据后,向数据查询命令发出方返回该数据所消耗的时间,具体的可以是,接收到数据查询命令时系统的时刻与获得查询结果(可以是在数据库中找到了所需查找的数据,也可以是在数据库中没有找到所需查找的数据)时的系统时刻的时间差。
数据查询命令的执行频率是在单位时间内执行等同数据查询命令的次数。单位时间可以是12小时,24小时或15天等。
102、当所述数据查询命令的执行耗时超过预设的时间阈值,或所述数据查询命令的执行频率超过预设的频率阈值时,将满足所述数据查询命令的数据组合作为聚合数据存储入所述数据库。
若执行一次数据查询命令的数据查询命令的执行耗时超过预设的时间阈值则说明:数据查询命令的发出方,在发出数据查询命令后,等待了过长时间,影响了用户体验。
当执行一个数据查询命令的执行频率超过预设的频率阈值时说明:用户对该条数据查询命令对应的数据的需求度较高,应该生成聚合数据,减少数据查询命令的执行耗时,提高查询速度,优化用户体验。
本实施例提供一种获取聚合数据的方法,首先,按照预设的第一周期获取数据库的查询日志;当所述数据查询命令的执行耗时超过预设的时间阈值,或所述数据查询命令的执行频率超过预设的频率阈值时,将满足所述数据查询命令的数据组合作为聚合数据存储入所述数据库。通过上述方案,一方面,降低聚合数据的存储成本,及时更新聚合数据;另一方面,提升查询速度,提高用户体验。
实施例2
本发明的一个实施例提供一种获取聚合数据的方法,如图2所示,该方法包括如下步骤:
201、按照预设的第一周期获取数据库的查询日志。
202、当所述数据查询命令的执行耗时超过预设的时间阈值,或所述数据查询命令的执行频率超过预设的频率阈值时,将满足所述数据查询命令的数据组合作为聚合数据存储入所述数据库。
203、接收数据查询命令。
204、判断所述数据库中是否存在符合查询命令的聚合数据;所述符合查询命令的聚合数据中包含所述数据查询命令所指定的数据。
205、当存在所述符合查询命令的聚合数据时,将所述符合查询命令的聚合数据中包含的所述数据查询命令所指定的数据返回给所述数据查询命令的发出方。
需要说明的是,根据查询日志生成聚合数据后,需要将聚合数据存储在存储介质中。当下一次执行数据查询命令时,首先在聚合数据中查找数据查询命令所指定的数据,成功找到数据查询命令所指定的数据后,将该数据返回给数据查询命令发出方。若在聚合数据中不能找到所需数据,则在数据库的原始数据中查找符合查询命令的数据。图3给出了原始数据,聚合数据,数据库,存储介质的关系。数据库包含原始数据和聚合数据,聚合数据由原始数据生成,聚合数据与原始数据都存储在存储介质中。
进一步的,如图4所示,本发明实施例提供的一种获取聚合数据的方法还包括以下步骤:
301、在查询日志中记录位于所述聚合数据中的被聚合数据的标识,以及所述被聚合数据的被查询时刻。
先举例说明步骤301中所述的位于所述聚合数据中的被聚合数据的标识:例1,设现有数据A、B、C、D,根据步骤201和202生成聚合数据A、B和聚合数据C、D。为便于管理,将聚合数据A、B命名为甲;将聚合数据C、D名为乙。则甲、乙为所述聚合数据中的被聚合数据的标识。所述的被聚合数据的被查询时刻是指当执行数据查询命令时,在甲中查找到数据查询命令所指定的数据A时,系统显示的具体时刻。
302、按照预设的第二周期读取所述被聚合数据的被查询时刻。
303、当所述被聚合数据相邻两次的被查询时刻的时间差超过预设的时间阈值时,将所述被聚合数据所在的聚合数据删除。
现详细说明步骤303,同样以例1为例:系统第一次执行数据查询命令α,并在甲中找到该数据查询命令所指定的数据A,此时系统的时间为2012年10月1日12点0分0秒,并将此时刻记录在查询日志中。系统第二次执行数据查询命令α并在甲中找到该数据查询命令所指定的数据A,此时系统的时间为2012年11月1日12点0分0秒,并将此时刻记录在查询日志中。系统在预设定的第二周期读取甲所对应的查询时刻,并计算相邻两次的被查询时刻的时间差(2012年10月1日12点0分0秒与2012年11月1日12点0分0秒之差),为31日。若预设的时间阈值为3日,则因为31大于3,故将甲从存储介质中删除。
进一步的,如图5所示,还提供一种获取聚合数据的方法:
401、在数据库中删除原始数据和/或增加新数据。
当数据库中的原始数据发生变化(在原始数据中增加数据、删除数据和修改数据)时,重新生成聚合数据。能过触发该操作执行的事件包括但不限于:
原始数据发生变化后,在预定的时间点或按照预定的周期生成数据变化日志,系统按照预设定的周期读取该日志,从而生成聚合数据。
当数据库中原始数据发生变化时,自动生成数据变化日志,系统按照预设定的周期读取该日志,从而生成聚合数据。
当采用ELT(Extraction‑Loading‑Transformation,数据提取、加载和转换)工具更改数据时,数据完成更改后,触发系统生成聚合数据。
402、删除所述原数据所在的聚合数据。
将存储在存储介质中的聚合数据删除。
403、根据所述新数据生成聚合数据。
生成新的聚合数据后,将聚合数据存储在存储介质中。
本实施例提供一种获取聚合数据的方法,首先,按照预设的第一周期获取数据库的查询日志;然后将满足所述数据查询命令的数据组合作为聚合数据存储入所述数据库,当在聚合数据不存在需要的数据时,从原始数据中查找并返回;还提供维护聚合数据的方法,删除长时间没有使用的聚合数据,及时更新聚合数据。通过上述方案,一方面,降低聚合数据的存储成本,及时更新聚合数据;另一方面,提升查询速度,提高用户体验。
实施例3
本发明的一个实施例提供一种获取聚合数据的装置,如图6所示,该装置包括:
查询日志获取单元51,用于按照预设的第一周期获取数据库的查询日志;所述查询日志记录有数据查询命令、数据查询命令的执行耗时和数据查询命令的执行频率。
聚合数据生成单元52,用于当所述数据查询命令的执行耗时超过预设的时间阈值,或所述数据查询命令的执行频率超过预设的频率阈值时,将满足所述数据查询命令的数据组合作为聚合数据存储入所述数据库。
进一步的,如图7所示,所述装置还包括:
判断单元53,用于当接收到所述数据查询命令时,判断所述数据库中是否存在符合查询命令的聚合数据;所述符合查询命令的聚合数据中包含所述数据查询命令所指定的数据。
返回数据单元54,用于当存在所述符合查询命令的聚合数据时,将所述符合查询命令的聚合数据中包含的所述数据查询命令所指定的数据返回给所述数据查询命令的发出方。
进一步的,如图8所示,所述装置还包括:
读取单元55,用于按照预设的第二周期读取所述被聚合数据的被查询时刻。
删除单元56,用于当所述被聚合数据相邻两次的被查询时刻的时间差超过预设的时间阈值时,将所述被聚合数据所在的聚合数据删除;当在所述数据库中删除原数据时,删除所述原数据所在的聚合数据。
进一步的,所述聚合数据生成单元52,还用于:
当在所述数据库中删除原数据和/或增加新数据时,根据所述新数据生成聚合数据。
需要指出的是,查询日志获取单元51,聚合数据生成单元52,判断单元53,返回数据单元54,读取单元55,删除单元56可以集成在处理器中。
本发明实施例还提供一种获取聚合数据的装置,如图9所示,该装置包括:
接收器601用于接收数据查询命令。
发送器602用于当存在所述符合查询命令的聚合数据时,将所述符合查询命令的聚合数据中包含的所述数据查询命令所指定的数据返回给所述数据查询命令的发出方。
处理器603用于:按照预设的第一周期获取数据库的查询日志;所述查询日志记录有数据查询命令、数据查询命令的执行耗时和数据查询命令的执行频率;当所述数据查询命令的执行耗时超过预设的时间阈值,或所述数据查询命令的执行频率超过预设的频率阈值时,将满足所述数据查询命令的数据组合作为聚合数据存储入所述数据库;除此之外,当接收到所述数据查询命令时,判断所述数据库中是否存在符合查询命令的聚合数据;所述符合查询命令的聚合数据中包含所述数据查询命令所指定的数据;还用于按照预设的第二周期读取所述被聚合数据的被查询时刻;当所述被聚合数据相邻两次的被查询时刻的时间差超过预设的时间阈值时,将所述被聚合数据所在的聚合数据删除;当在所述数据库中删除原数据时,删除所述原数据所在的聚合数据;当在所述数据库中增加新数据时,根据所述新数据生成聚合数据。
本实施例提供一种获取聚合数据的方法,首先,按照预设的第一周期获取数据库的查询日志;然后将满足所述数据查询命令的数据组合作为聚合数据存储入所述数据库,当在聚合数据找不到需要的数据时,从原始数据中查找并返回;还提供维护聚合数据的方法,删除长时间没有使用的聚合数据,及时更新聚合数据。通过上述方案,一方面,降低聚合数据的存储成本,及时更新聚合数据;另一方面,提升查询速度,提高用户体验。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该软件产品存储在可读取的存储介质中,如移动接入终端硬盘或存储卡等,包括若干指令用以使得一台移动接入终端设备(可以是个人平板电脑,手机等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

一种获取聚合数据的方法和装置.pdf_第1页
第1页 / 共14页
一种获取聚合数据的方法和装置.pdf_第2页
第2页 / 共14页
一种获取聚合数据的方法和装置.pdf_第3页
第3页 / 共14页
点击查看更多>>
资源描述

《一种获取聚合数据的方法和装置.pdf》由会员分享,可在线阅读,更多相关《一种获取聚合数据的方法和装置.pdf(14页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103020175 A (43)申请公布日 2013.04.03 CN 103020175 A *CN103020175A* (21)申请号 201210495461.1 (22)申请日 2012.11.28 G06F 17/30(2006.01) (71)申请人 深圳市华为技术软件有限公司 地址 518129 广东省深圳市龙岗区坂田华为 基地 B 区 2 号楼 (72)发明人 王润松 (74)专利代理机构 北京中博世达专利商标代理 有限公司 11274 代理人 申健 (54) 发明名称 一种获取聚合数据的方法和装置 (57) 摘要 本发明是实施例公开一种获取聚合数据。

2、的方 法和装置, 涉及计算机领域, 解决现有技术中存储 成本高, 用户体验差的技术问题。 一种获取聚合数 据的方法, 包括, 按照预设的第一周期获取数据库 的查询日志 ; 当所述数据查询命令的执行耗时超 过预设的时间阈值, 或所述数据查询命令的执行 频率超过预设的频率阈值时, 将满足所述数据查 询命令的数据组合作为聚合数据存储入所述数据 库。本发明主要应用于数据查询和数据存储中。 (51)Int.Cl. 权利要求书 2 页 说明书 6 页 附图 5 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 6 页 附图 5 页 1/2 页 2 1. 一种获取聚。

3、合数据的方法, 其特征在于, 包括 : 按照预设的第一周期获取数据库的查询日志 ; 所述查询日志记录有数据查询命令、 数 据查询命令的执行耗时和数据查询命令的执行频率 ; 当所述数据查询命令的执行耗时超过预设的时间阈值, 或所述数据查询命令的执行频 率超过预设的频率阈值时, 将满足所述数据查询命令的数据组合作为聚合数据存储入所述 数据库。 2. 根据权利要求 1 所述的方法, 其特征在于, 所述方法还包括 : 当接收到所述数据查询命令时, 判断所述数据库中是否存在符合查询命令的聚合数 据 ; 所述符合查询命令的聚合数据中包含所述数据查询命令所指定的数据 ; 当存在所述符合查询命令的聚合数据时,。

4、 将所述符合查询命令的聚合数据中包含的所 述数据查询命令所指定的数据返回给所述数据查询命令的发出方。 3. 根据权利要求 1 所述的方法, 其特征在于, 所述查询日志还记录有 : 位于所述聚合数 据中的被聚合数据的标识, 以及所述被聚合数据的被查询时刻 ; 所述方法还包括 : 按照预设的第二周期读取所述被聚合数据的被查询时刻 ; 当所述被聚合数据相邻两次的被查询时刻的时间差超过预设的时间阈值时, 将所述被 聚合数据所在的聚合数据删除。 4.根据权利要求1或2所述的方法, 其特征在于, 当在所述数据库中删除原数据和/或 增加新数据时, 所述方法还包括 : 删除所述原数据所在的聚合数据 ; 和 /。

5、 或 根据所述新数据生成聚合数据。 5. 一种获取聚合数据的装置, 其特征在于, 包括 : 查询日志获取单元, 用于按照预设的第一周期获取数据库的查询日志 ; 所述查询日志 记录有数据查询命令、 数据查询命令的执行耗时和数据查询命令的执行频率 ; 聚合数据生成单元, 用于当所述数据查询命令的执行耗时超过预设的时间阈值, 或所 述数据查询命令的执行频率超过预设的频率阈值时, 将满足所述数据查询命令的数据组合 作为聚合数据存储入所述数据库。 6. 根据权利要求 5 所述的装置, 其特征在于, 所述装置还包括 : 判断单元, 用于当接收到所述数据查询命令时, 判断所述数据库中是否存在符合查询 命令的。

6、聚合数据 ; 所述符合查询命令的聚合数据中包含所述数据查询命令所指定的数据 ; 返回数据单元, 用于当存在所述符合查询命令的聚合数据时, 将所述符合查询命令的 聚合数据中包含的所述数据查询命令所指定的数据返回给所述数据查询命令的发出方。 7. 根据权利要求 5 所述的装置, 其特征在于, 所述查询日志还记录有 : 位于所述聚合数 据中的被聚合数据的标识, 以及所述被聚合数据的被查询时刻 ; 所述装置还包括 : 读取单元, 用于按照预设的第二周期读取所述被聚合数据的被查询时刻 ; 删除单元, 用于当所述被聚合数据相邻两次的被查询时刻的时间差超过预设的时间阈 值时, 将所述被聚合数据所在的聚合数据。

7、删除。 8.根据权利要求5或6所述的装置, 其特征在于, 所述删除单元还用于当在所述数据库 权 利 要 求 书 CN 103020175 A 2 2/2 页 3 中删除原数据时, 删除所述原数据所在的聚合数据 ; 所述聚合数据生成单元还用于当在所述数据库中增加新数据时, 根据所述新数据生成 聚合数据。 权 利 要 求 书 CN 103020175 A 3 1/6 页 4 一种获取聚合数据的方法和装置 技术领域 0001 本发明涉及计算机领域, 特别涉及一种获取聚合数据的方法和装置。 背景技术 0002 面对海量数据, 用户大多数时候关心的是其中的一部分或者某几个部分, 而对于 其它的数据则并不。

8、十分在意。获取聚合数据的重要意义在于, 从浩如烟海的数据中查找出 与问题相关的数据, 从而针对该问题, 对查找出的数据进行有的放矢的分析, 研究出科学理 性的对策。 0003 当前大致有如下两种方式查找与问题相关的数据 : 0004 方式一, 尽可能多的罗列出用户关心的问题, 针对这些问题, 通过计算、 整理等方 式, 在原始数据中, 查找出与该问题相关的数据, 并把这些数据存储在磁盘中。当用户需要 访问与该问题相关的数据时, 直接从磁盘读取即可。 0005 方式二, 利用数据库中的关键字把存储在数据库中的数据关联起来。当用户需要 查询与问题相关的数据时, 通过计算, 对原始数据进行查找, 从。

9、而找到这些数据, 然后返回 给用户。 0006 在实现本发明的过程中, 发明人发现现有技术中至少存在以下技术问题 : 0007 1、 对于方式一, 需要预先存储查找出来的数据, 占据磁盘空间大、 存储成本高 ; 当 原始数据更新后, 已经存储的查找出的数据不能实时更新。 0008 2、 对于方式二, 需要先进行计算后, 向用户返回数据, 查询速度慢, 用户体验差。 发明内容 0009 本发明的实施例提供一种获取聚合数据的方法和装置, 解决聚合数据存储成本 高, 不能对聚合数据及时更新的技术问题。 0010 为达到上述目的, 本发明的实施例提供如下技术方案 : 0011 第一方面, 提供一种获取。

10、聚合数据的方法, 包括 : 0012 按照预设的第一周期获取数据库的查询日志 ; 所述查询日志记录有数据查询命 令、 数据查询命令的执行耗时和数据查询命令的执行频率 ; 0013 当所述数据查询命令的执行耗时超过预设的时间阈值, 或所述数据查询命令的执 行频率超过预设的频率阈值时, 将满足所述数据查询命令的数据组合作为聚合数据存储入 所述数据库。 0014 结合第一方面, 在第一方面的第一种可能的情况下, 所述方法还包括 : 0015 当接收到所述数据查询命令时, 判断所述数据库中是否存在符合查询命令的聚合 数据 ; 所述符合查询命令的聚合数据中包含所述数据查询命令所指定的数据 ; 0016 。

11、当存在所述符合查询命令的聚合数据时, 将所述符合查询命令的聚合数据中包含 的所述数据查询命令所指定的数据返回给所述数据查询命令的发出方。 0017 结合第一方面, 在第一方面的第二种可能的情况下, 所述方法还包括 : 所述查询日 说 明 书 CN 103020175 A 4 2/6 页 5 志还记录有 : 位于所述聚合数据中的被聚合数据的标识, 以及所述被聚合数据的被查询时 刻 ; 0018 按照预设的第二周期读取所述被聚合数据的被查询时刻 ; 0019 当所述被聚合数据相邻两次的被查询时刻的时间差超过预设的时间阈值时, 将所 述被聚合数据所在的聚合数据删除。 0020 结合第一方面和第一方面。

12、的第一种可能的情况, 在第一方面的第三种可能的情况 下, 当在所述数据库中删除原数据和 / 或增加新数据时, 所述方法还包括 : 0021 删除所述原数据所在的聚合数据 ; 和 / 或 0022 根据所述新数据生成聚合数据。 0023 第二方面, 提供一种获取聚合数据的装置, 包括 : 0024 查询日志获取单元, 用于按照预设的第一周期获取数据库的查询日志 ; 所述查询 日志记录有数据查询命令、 数据查询命令的执行耗时和数据查询命令的执行频率 ; 0025 聚合数据生成单元, 用于当所述数据查询命令的执行耗时超过预设的时间阈值, 或所述数据查询命令的执行频率超过预设的频率阈值时, 将满足所述。

13、数据查询命令的数据 组合作为聚合数据存储入所述数据库。 0026 结合第二方面, 在第二方面的第一种可能的情况下, 所述装置还包括 : 0027 判断单元, 用于当接收到所述数据查询命令时, 判断所述数据库中是否存在符合 查询命令的聚合数据 ; 所述符合查询命令的聚合数据中包含所述数据查询命令所指定的数 据 ; 0028 返回数据单元, 用于当存在所述符合查询命令的聚合数据时, 将所述符合查询命 令的聚合数据中包含的所述数据查询命令所指定的数据返回给所述数据查询命令的发出 方。 0029 结合第二方面, 在第二方面的第二种可能的情况下, 所述装置还包括 : 0030 读取单元, 用于按照预设的。

14、第二周期读取所述被聚合数据的被查询时刻 ; 0031 删除单元, 用于当所述被聚合数据相邻两次的被查询时刻的时间差超过预设的时 间阈值时, 将所述被聚合数据所在的聚合数据删除。 0032 结合第二方面和第二方面的第一种可能的情况, 在第二方面的第三种可能的情况 下, 所述删除单元还用于当在所述数据库中删除原数据时, 删除所述原数据所在的聚合数 据 ; 0033 所述聚合数据生成单元还用于当在所述数据库中增加新数据时, 根据所述新数据 生成聚合数据。 0034 本发明的实施例提供一种获取聚合数据的方法和装置, 首先, 按照预设的第一周 期获取数据库的查询日志 ; 当所述数据查询命令的执行耗时超过。

15、预设的时间阈值, 或所述 数据查询命令的执行频率超过预设的频率阈值时, 将满足所述数据查询命令的数据组合作 为聚合数据存储入所述数据库。通过上述方案, 一方面, 降低聚合数据的存储成本, 及时更 新聚合数据 ; 另一方面, 提升查询速度, 提高用户体验。 附图说明 0035 为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实施例或现 说 明 书 CN 103020175 A 5 3/6 页 6 有技术描述中所需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是本 发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动性的前提下, 还可 以根据这些附图获。

16、得其他的附图。 0036 图 1 为本发明实施例 1 中一种获取聚合数据的方法的流程图 ; 0037 图 2 为本发明实施例 2 中另一种获取聚合数据的方法的流程图 ; 0038 图 3 为本发明实施例 2 中聚合数据与数据库、 存储介质、 原始数据的关系的示意 图 ; 0039 图 4 为本发明实施例 2 中另一种获取聚合数据的方法的流程图 ; 0040 图 5 为本发明实施例 2 中另一种获取聚合数据的方法的流程图 ; 0041 图 6 为本发明实施例 3 中一种获取聚合数据的装置的框图 ; 0042 图 7 为本发明实施例 3 中另一种获取聚合数据的装置的框图 ; 0043 图 8 为本。

17、发明实施例 3 中另一种获取聚合数据的装置的框图 ; 0044 图 9 为本发明实施例 3 中一种获取聚合数据的装置的框图。 具体实施方式 0045 下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完 整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是全部的实施例。基于 本发明中的实施例, 本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例, 都属于本发明保护的范围。 0046 实施例 1 : 0047 本发明的一个实施例提供一种获取聚合数据的方法, 如图 1 所示, 该方法包括如 下步骤 : 0048 101、 按照预设的第一周期获。

18、取数据库的查询日志 ; 所述查询日志记录有数据查询 命令、 数据查询命令的执行耗时和数据查询命令的执行频率。 0049 查询日志中记录的各项内容用于管理聚合数据, 比如生成聚合数据, 删除聚合数 据, 更新聚合数据等。数据查询命令的执行耗时是指根据数据查询命令从存储在存储介 质中的数据库中查找到需要查找的数据后, 向数据查询命令发出方返回该数据所消耗的时 间, 具体的可以是, 接收到数据查询命令时系统的时刻与获得查询结果 ( 可以是在数据库 中找到了所需查找的数据, 也可以是在数据库中没有找到所需查找的数据 ) 时的系统时刻 的时间差。 0050 数据查询命令的执行频率是在单位时间内执行等同数。

19、据查询命令的次数。 单位时 间可以是 12 小时, 24 小时或 15 天等。 0051 102、 当所述数据查询命令的执行耗时超过预设的时间阈值, 或所述数据查询命令 的执行频率超过预设的频率阈值时, 将满足所述数据查询命令的数据组合作为聚合数据存 储入所述数据库。 0052 若执行一次数据查询命令的数据查询命令的执行耗时超过预设的时间阈值则说 明 : 数据查询命令的发出方, 在发出数据查询命令后, 等待了过长时间, 影响了用户体验。 0053 当执行一个数据查询命令的执行频率超过预设的频率阈值时说明 : 用户对该条数 据查询命令对应的数据的需求度较高, 应该生成聚合数据, 减少数据查询命令。

20、的执行耗时, 说 明 书 CN 103020175 A 6 4/6 页 7 提高查询速度, 优化用户体验。 0054 本实施例提供一种获取聚合数据的方法, 首先, 按照预设的第一周期获取数据库 的查询日志 ; 当所述数据查询命令的执行耗时超过预设的时间阈值, 或所述数据查询命令 的执行频率超过预设的频率阈值时, 将满足所述数据查询命令的数据组合作为聚合数据存 储入所述数据库。 通过上述方案, 一方面, 降低聚合数据的存储成本, 及时更新聚合数据 ; 另 一方面, 提升查询速度, 提高用户体验。 0055 实施例 2 0056 本发明的一个实施例提供一种获取聚合数据的方法, 如图 2 所示, 该。

21、方法包括如 下步骤 : 0057 201、 按照预设的第一周期获取数据库的查询日志。 0058 202、 当所述数据查询命令的执行耗时超过预设的时间阈值, 或所述数据查询命令 的执行频率超过预设的频率阈值时, 将满足所述数据查询命令的数据组合作为聚合数据存 储入所述数据库。 0059 203、 接收数据查询命令。 0060 204、 判断所述数据库中是否存在符合查询命令的聚合数据 ; 所述符合查询命令的 聚合数据中包含所述数据查询命令所指定的数据。 0061 205、 当存在所述符合查询命令的聚合数据时, 将所述符合查询命令的聚合数据中 包含的所述数据查询命令所指定的数据返回给所述数据查询命令。

22、的发出方。 0062 需要说明的是, 根据查询日志生成聚合数据后, 需要将聚合数据存储在存储介质 中。 当下一次执行数据查询命令时, 首先在聚合数据中查找数据查询命令所指定的数据, 成 功找到数据查询命令所指定的数据后, 将该数据返回给数据查询命令发出方。若在聚合数 据中不能找到所需数据, 则在数据库的原始数据中查找符合查询命令的数据。图 3 给出了 原始数据, 聚合数据, 数据库, 存储介质的关系。 数据库包含原始数据和聚合数据, 聚合数据 由原始数据生成, 聚合数据与原始数据都存储在存储介质中。 0063 进一步的, 如图 4 所示, 本发明实施例提供的一种获取聚合数据的方法还包括以 下步。

23、骤 : 0064 301、 在查询日志中记录位于所述聚合数据中的被聚合数据的标识, 以及所述被聚 合数据的被查询时刻。 0065 先举例说明步骤 301 中所述的位于所述聚合数据中的被聚合数据的标识 : 例 1, 设 现有数据 A、 B、 C、 D, 根据步骤 201 和 202 生成聚合数据 A、 B 和聚合数据 C、 D。为便于管理, 将聚合数据 A、 B 命名为甲 ; 将聚合数据 C、 D 名为乙。则甲、 乙为所述聚合数据中的被聚合 数据的标识。所述的被聚合数据的被查询时刻是指当执行数据查询命令时, 在甲中查找到 数据查询命令所指定的数据 A 时, 系统显示的具体时刻。 0066 302。

24、、 按照预设的第二周期读取所述被聚合数据的被查询时刻。 0067 303、 当所述被聚合数据相邻两次的被查询时刻的时间差超过预设的时间阈值时, 将所述被聚合数据所在的聚合数据删除。 0068 现详细说明步骤 303, 同样以例 1 为例 : 系统第一次执行数据查询命令 , 并在甲 中找到该数据查询命令所指定的数据 A, 此时系统的时间为 2012 年 10 月 1 日 12 点 0 分 0 秒, 并将此时刻记录在查询日志中。系统第二次执行数据查询命令 并在甲中找到该数据 说 明 书 CN 103020175 A 7 5/6 页 8 查询命令所指定的数据 A, 此时系统的时间为 2012 年 1。

25、1 月 1 日 12 点 0 分 0 秒, 并将此时刻 记录在查询日志中。系统在预设定的第二周期读取甲所对应的查询时刻, 并计算相邻两次 的被查询时刻的时间差 (2012 年 10 月 1 日 12 点 0 分 0 秒与 2012 年 11 月 1 日 12 点 0 分 0 秒之差 ), 为 31 日。若预设的时间阈值为 3 日, 则因为 31 大于 3, 故将甲从存储介质中删 除。 0069 进一步的, 如图 5 所示, 还提供一种获取聚合数据的方法 : 0070 401、 在数据库中删除原始数据和 / 或增加新数据。 0071 当数据库中的原始数据发生变化 ( 在原始数据中增加数据、 删除。

26、数据和修改数 据 ) 时, 重新生成聚合数据。能过触发该操作执行的事件包括但不限于 : 0072 原始数据发生变化后, 在预定的时间点或按照预定的周期生成数据变化日志, 系 统按照预设定的周期读取该日志, 从而生成聚合数据。 0073 当数据库中原始数据发生变化时, 自动生成数据变化日志, 系统按照预设定的周 期读取该日志, 从而生成聚合数据。 0074 当采用 ELT(Extraction-Loading-Transformation, 数据提取、 加载和转换 ) 工具 更改数据时, 数据完成更改后, 触发系统生成聚合数据。 0075 402、 删除所述原数据所在的聚合数据。 0076 将存。

27、储在存储介质中的聚合数据删除。 0077 403、 根据所述新数据生成聚合数据。 0078 生成新的聚合数据后, 将聚合数据存储在存储介质中。 0079 本实施例提供一种获取聚合数据的方法, 首先, 按照预设的第一周期获取数据库 的查询日志 ; 然后将满足所述数据查询命令的数据组合作为聚合数据存储入所述数据库, 当在聚合数据不存在需要的数据时, 从原始数据中查找并返回 ; 还提供维护聚合数据的方 法, 删除长时间没有使用的聚合数据, 及时更新聚合数据。 通过上述方案, 一方面, 降低聚合 数据的存储成本, 及时更新聚合数据 ; 另一方面, 提升查询速度, 提高用户体验。 0080 实施例 3 。

28、0081 本发明的一个实施例提供一种获取聚合数据的装置, 如图 6 所示, 该装置包括 : 0082 查询日志获取单元 51, 用于按照预设的第一周期获取数据库的查询日志 ; 所述查 询日志记录有数据查询命令、 数据查询命令的执行耗时和数据查询命令的执行频率。 0083 聚合数据生成单元 52, 用于当所述数据查询命令的执行耗时超过预设的时间阈 值, 或所述数据查询命令的执行频率超过预设的频率阈值时, 将满足所述数据查询命令的 数据组合作为聚合数据存储入所述数据库。 0084 进一步的, 如图 7 所示, 所述装置还包括 : 0085 判断单元 53, 用于当接收到所述数据查询命令时, 判断所。

29、述数据库中是否存在符 合查询命令的聚合数据 ; 所述符合查询命令的聚合数据中包含所述数据查询命令所指定的 数据。 0086 返回数据单元 54, 用于当存在所述符合查询命令的聚合数据时, 将所述符合查询 命令的聚合数据中包含的所述数据查询命令所指定的数据返回给所述数据查询命令的发 出方。 0087 进一步的, 如图 8 所示, 所述装置还包括 : 说 明 书 CN 103020175 A 8 6/6 页 9 0088 读取单元 55, 用于按照预设的第二周期读取所述被聚合数据的被查询时刻。 0089 删除单元 56, 用于当所述被聚合数据相邻两次的被查询时刻的时间差超过预设的 时间阈值时, 将。

30、所述被聚合数据所在的聚合数据删除 ; 当在所述数据库中删除原数据时, 删 除所述原数据所在的聚合数据。 0090 进一步的, 所述聚合数据生成单元 52, 还用于 : 0091 当在所述数据库中删除原数据和 / 或增加新数据时, 根据所述新数据生成聚合数 据。 0092 需要指出的是, 查询日志获取单元 51, 聚合数据生成单元 52, 判断单元 53, 返回数 据单元 54, 读取单元 55, 删除单元 56 可以集成在处理器中。 0093 本发明实施例还提供一种获取聚合数据的装置, 如图 9 所示, 该装置包括 : 0094 接收器 601 用于接收数据查询命令。 0095 发送器 602。

31、 用于当存在所述符合查询命令的聚合数据时, 将所述符合查询命令的 聚合数据中包含的所述数据查询命令所指定的数据返回给所述数据查询命令的发出方。 0096 处理器 603 用于 : 按照预设的第一周期获取数据库的查询日志 ; 所述查询日志记 录有数据查询命令、 数据查询命令的执行耗时和数据查询命令的执行频率 ; 当所述数据查 询命令的执行耗时超过预设的时间阈值, 或所述数据查询命令的执行频率超过预设的频率 阈值时, 将满足所述数据查询命令的数据组合作为聚合数据存储入所述数据库 ; 除此之外, 当接收到所述数据查询命令时, 判断所述数据库中是否存在符合查询命令的聚合数据 ; 所 述符合查询命令的聚。

32、合数据中包含所述数据查询命令所指定的数据 ; 还用于按照预设的第 二周期读取所述被聚合数据的被查询时刻 ; 当所述被聚合数据相邻两次的被查询时刻的时 间差超过预设的时间阈值时, 将所述被聚合数据所在的聚合数据删除 ; 当在所述数据库中 删除原数据时, 删除所述原数据所在的聚合数据 ; 当在所述数据库中增加新数据时, 根据所 述新数据生成聚合数据。 0097 本实施例提供一种获取聚合数据的方法, 首先, 按照预设的第一周期获取数据库 的查询日志 ; 然后将满足所述数据查询命令的数据组合作为聚合数据存储入所述数据库, 当在聚合数据找不到需要的数据时, 从原始数据中查找并返回 ; 还提供维护聚合数据。

33、的方 法, 删除长时间没有使用的聚合数据, 及时更新聚合数据。 通过上述方案, 一方面, 降低聚合 数据的存储成本, 及时更新聚合数据 ; 另一方面, 提升查询速度, 提高用户体验。 0098 通过以上的实施方式的描述, 所属领域的技术人员可以清楚地了解到本发明可借 助软件加必需的通用硬件的方式来实现, 当然也可以通过硬件, 但很多情况下前者是更佳 的实施方式。基于这样的理解, 本发明的技术方案本质上或者说对现有技术做出贡献的部 分可以以软件产品的形式体现出来, 该软件产品存储在可读取的存储介质中, 如移动接入 终端硬盘或存储卡等, 包括若干指令用以使得一台移动接入终端设备 ( 可以是个人平板。

34、电 脑, 手机等 ) 执行本发明各个实施例所述的方法。 0099 以上所述, 仅为本发明的具体实施方式, 但本发明的保护范围并不局限于此, 任何 熟悉本技术领域的技术人员在本发明揭露的技术范围内, 可轻易想到的变化或替换, 都应 涵盖在本发明的保护范围之内。因此, 本发明的保护范围应以所述权利要求的保护范围为 准。 说 明 书 CN 103020175 A 9 1/5 页 10 图 1 图 2 说 明 书 附 图 CN 103020175 A 10 2/5 页 11 图 3 图 4 说 明 书 附 图 CN 103020175 A 11 3/5 页 12 图 5 图 6 说 明 书 附 图 CN 103020175 A 12 4/5 页 13 图 7 图 8 说 明 书 附 图 CN 103020175 A 13 5/5 页 14 图 9 说 明 书 附 图 CN 103020175 A 14 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1