数据库的数据分析方法、装置以及系统的制作方法_5

文档序号:8361577阅读:来源:国知局
目标数据库的数据分析。
[0140]A13.根据A12所述的方法,其中,
[0141]所述目标数据库为所述待分析的数据库的多个从库中的一个。
[0142]A14.根据Al至A13中任一项所述的方法,其中,所述目标数据库为Redis数据库。
[0143]本实施例还提供了 B15.—种数据库的数据分析装置,包括:
[0144]数组建立模块,配置为建立数组列表;
[0145]键名扫描模块,配置为扫描得到目标数据库中所有键的键名并存入所述数组列表;
[0146]数据量分析模块,配置为根据所述数组列表中的键名向所述目标数据库发送数据分析指令,以得出所述目标数据库中每个键对应的数据量;以及
[0147]排序模块,配置为按照所述数据量对所述目标数据库中的键进行排序。
[0148]B16.根据B15所述的装置,还包括:
[0149]输出模块,配置为根据所述排序结果输出数据分析报告。
[0150]B17.根据B16所述的装置,其中,所述数组建立模块进一步配置为:
[0151]按照所述目标数据库中数据的数据类型分别建立多个所述数组列表。
[0152]B18.根据B17所述的装置,其中,所述键名扫描模块进一步配置为:
[0153]使用扫描指令分批迭代所述目标数据库,以得到所述所有键的键名以及与键名对应的键值的数据类型,以及
[0154]按照所述数据类型将所述键名存入对应的数组列表。
[0155]B19.根据B18所述的装置,其中,所述数组列表包括以下任意一项或多项:
[0156]字符串类型的键名列表、
[0157]链表类型的键名列表、
[0158]集合类型的键名列表、
[0159]有序集合类型的键名列表、以及
[0160]散列值类型的键名列表。
[0161]B20.根据B15至B19中任一项所述的装置,其中所述数据量分析模块进一步配置为:
[0162]启动多个数据分析线程,其中
[0163]每个所述数据分析线程用于使用管道模式将一个或多个数组列表中的键名发送至所述目标数据库以供分析,以得到所述每个键对应的数据量。
[0164]B21.根据B20所述的装置,其中,
[0165]所述数据分析线程的数量与所述数组列表的数量一致,每个所述数据分析线程用于对一个类型的数组列表进行分析。
[0166]B22.根据B15至B21中任一项所述的装置,其中,所述排序模块进一步配置为:
[0167]在所述目标数据库中新建至少一个有序集合数据结构;
[0168]按照所述数据类型将所述数据量以及对应的键名分类存储至所述有序集合数据结构中;以及
[0169]在所述有序集合数据结构中按照所述数据量进行排序。
[0170]B23.根据B22所述的装置,其中,所述排序模块进一步配置为:
[0171]在所述有序集合数据结构中按照每类数据结构中各键值的数据量大小进行排序;或者
[0172]在所述有序集合数据结构中估算每类数据结构中的各键值的数据量占用的内存,并按照所述占用的内存大小对所述目标数据库中的所有键进行排序。
[0173]B24.根据B16至23中任一项所述的装置,其中所述输出模块进一步配置为:
[0174]按照所述排序结果生成数据分析报告;
[0175]将所述数据分析报告中数据量超出预设阈值的键进行突出显示;以及
[0176]输出所述数据分析报告。
[0177]B25.根据B15至B24中任意一项所述的装置,其中,所述数据量包括:
[0178]字符串类型的键的键值长度;
[0179]链表类型的键中包含的成员个数;
[0180]集合类型的键中包含的成员个数;
[0181]有序集合类型的键中包含的成员个数;以及
[0182]散列值类型的键中包含的成员个数。
[0183]B26.根据B15至25中任意一项所述的装置,还包括:
[0184]内存监控模块,配置为监控待分析的数据库的内存使用情况并在内存使用超过设定的内存使用量后,触发所述数组建立模块,以启动对所述目标数据库的数据分析。
[0185]B27.根据B26所述的装置,其中,
[0186]所述目标数据库为所述待分析的数据库的多个从库中的一个。
[0187]B28.根据B15至27中任一项所述的装置,其中,
[0188]所述目标数据库为Redis数据库。
[0189]本实施例还提供了 C29.—种数据库的数据分析系统,包括:
[0190]数据库服务器,布置有需要分析的数据库;以及
[0191]数据分析客户端,用于对所述数据库进行数据分析,所述数据分析客户端配置有根据B15至B28中任一项所述的数据库的数据分析装置。
【主权项】
1.一种数据库的数据分析方法,包括: 建立数组列表; 扫描得到目标数据库中所有键的键名并存入所述数组列表; 根据所述数组列表中的键名向所述目标数据库发送数据分析指令,以得出所述目标数据库中每个键对应的数据量;以及 按照所述数据量对所述目标数据库中的键进行排序。
2.根据权利要求1所述的方法,在所述按照所述数据量对所述目标数据库中的键进行排序的步骤之后,所述方法还包括: 根据所述排序结果输出数据分析报告。
3.根据权利要求2所述的方法,其中,所述建立数组列表的步骤进一步包括: 按照所述目标数据库中数据的数据类型分别建立多个所述数组列表。
4.根据权利要求3所述的方法,其中,所述扫描得到目标数据库中所有键的键名并存入所述数组列表的步骤进一步包括: 使用扫描指令分批迭代所述目标数据库,以得到所述所有键的键名以及与键名对应的键值的数据类型,以及 按照所述数据类型将所述键名存入对应的数组列表。
5.根据权利要求4所述的方法,其中,所述数组列表包括以下任意一项或多项: 字符串类型的键名列表、 链表类型的键名列表、 集合类型的键名列表、 有序集合类型的键名列表、以及 散列值类型的键名列表。
6.根据权利要求1至5中任一项所述的方法,其中,所述根据所述数组列表中的键名向所述目标数据库发送数据分析指令的步骤进一步包括: 启动多个数据分析线程,其中 每个所述数据分析线程用于使用管道模式将一个或多个数组列表中的键名发送至所述目标数据库以供分析,以得到所述每个键对应的数据量。
7.根据权利要求6所述的方法,其中, 所述数据分析线程的数量与所述数组列表的数量一致,每个所述数据分析线程用于对一个类型的数组列表进行分析。
8.根据权利要求1至7中任一项所述的方法,其中,所述按照所述数据量对所述目标数据库中的键进行排序的步骤进一步包括: 在所述目标数据库中新建至少一个有序集合数据结构; 按照所述数据类型将所述数据量以及对应的键名分类存储至所述有序集合数据结构中;以及 在所述有序集合数据结构中按照所述数据量进行排序。
9.一种数据库的数据分析装置,包括: 数组建立模块,配置为建立数组列表; 键名扫描模块,配置为扫描得到目标数据库中所有键的键名并存入所述数组列表; 数据量分析模块,配置为根据所述数组列表中的键名向所述目标数据库发送数据分析指令,以得出所述目标数据库中每个键对应的数据量;以及 排序模块,配置为按照所述数据量对所述目标数据库中的键进行排序。
10.一种数据库的数据分析系统,包括: 数据库服务器,布置有需要分析的数据库;以及 数据分析客户端,用于对所述数据库进行数据分析,所述数据分析客户端配置有根据权利要求9所述的数据库的数据分析装置。
【专利摘要】本发明提供了一种数据库的数据分析方法、装置以及系统。其中数据库的数据分析方法包括:建立数组列表;扫描得到目标数据库中所有键的键名并存入数组列表;根据数组列表中的键名向目标数据库发送数据分析指令,以得出目标数据库中每个键对应的数据量;以及按照数据量对目标数据库中的键进行排序。利用本发明的技术方案,避免了对大数据量的磁盘文件进行处理,分析速度快,明显提高了数据分析效率。
【IPC分类】G06F17-30
【公开号】CN104679884
【申请号】CN201510114342
【发明人】于伯伟
【申请人】北京奇虎科技有限公司, 奇智软件(北京)有限公司
【公开日】2015年6月3日
【申请日】2015年3月16日
当前第5页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1