[发明专利]一种数据检索方法及服务器有效
申请号: | 201710189345.X | 申请日: | 2017-03-27 |
公开(公告)号: | CN108664481B | 公开(公告)日: | 2021-03-23 |
发明(设计)人: | 孟利青 | 申请(专利权)人: | 中国移动通信集团内蒙古有限公司;中国移动通信集团公司 |
主分类号: | G06F16/2453 | 分类号: | G06F16/2453;G06F16/28 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王庆龙 |
地址: | 010010 内蒙古*** | 国省代码: | 内蒙古;15 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 检索 方法 服务器 | ||
1.一种数据检索方法,其特征在于,包括:
在数据库的数据表中获取核心数据表;
对所述核心数据表的查询语句进行解析;
根据第一预设规则和解析的结果获得分组基准列;
根据第二预设规则和所述分组基准列,获得基于所述核心数据表所构建的索引,并根据所述索引进行数据的检索;
所述解析的结果包括多个列、列后的运算符、所述多个列的读取路径,相应地,所述根据第一预设规则和解析的结果获得分组基准列,包括:
将所述多个列在所述读取路径中出现次数大于预设次数阈值的列,作为所述分组基准列;或,
将所述多个列中包含有所述运算符特定标识的列,作为所述分组基准列;或,
根据所述多个列的分布,获得所述分组基准列;或,
将所述读取路径出现频次大于预设频次所对应的多个列作为所述分组基准列;
所述根据第二预设规则和所述分组基准列,获得基于所述核心数据表所构建的索引,包括:
为每一个分组基准列匹配相应的所述读取路径;
根据第二预设规则、匹配后的读取路径和所述分组基准列,获得基于所述核心数据表所构建的索引;
所述根据第二预设规则、匹配后的读取路径和所述分组基准列,获得基于所述核心数据表所构建的索引,包括:
将每一个分组基准列作为所述索引的第一个元素,并将剩余的分组基准列作为第一剩余分组基准列;
若与所述第一个元素对应的匹配后的读取路径中有第一剩余分组基准列,则提取与所述第一个元素对应的匹配后的读取路径中第一剩余分组基准列中的一个作为所述索引的第二个元素,置于所述第一个元素后,并组成第一索引结构,并将提取后的第一剩余分组基准列作为第二剩余分组基准列。
2.根据权利要求1所述的方法,其特征在于,所述在数据库的数据表中获取核心数据表,包括:
根据从所述数据库中的事件争用统计表中查询的资源争用数值大于预设值的数据表作为核心数据表;
和/或,
根据从所述数据库中的空间统计表中查询所占空间数值大于预设值的数据表作为核心数据表。
3.根据权利要求1所述的方法,其特征在于,所述根据所述多个列的分布,获得所述分组基准列,包括:
根据公式:离散度=剔除重复列值后的剩余行数/核心数据表总行数×100%,计算反映所述多个列分布的离散度;
将离散度数值大于预设数值的所述多个列,作为所述分组基准列。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
搜索将所述第一索引结构的第二个元素作为第一个元素的索引,并将搜索到的索引作为第二索引结构;
若与所述第二索引结构的第一个元素对应的匹配后的读取路径中有第二剩余分组基准列,则提取与所述第二索引结构的第一个元素对应的匹配后的读取路径中第二剩余分组基准列中的一个作为所述第二索引结构的第二个元素,置于所述第二索引结构的第一个元素后,并将提取后的第二剩余分组基准列作为第三剩余分组基准列;
若与所述第二索引结构的第一个元素对应的匹配后的读取路径中有非分组基准列,则提取与所述第二索引结构的第一个元素对应的匹配后的读取路径中非分组基准列中的一个作为所述第二索引结构的第三个元素,置于所述第二索引结构的第二个元素后,并组成所述第二索引结构,将提取后的非分组基准列作为第一剩余非分组基准列。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
搜索将所述第二索引结构的第二个元素作为第一个元素的索引,并将搜索到的索引作为第三索引结构;
若与所述第三索引结构的第一个元素对应的匹配后的读取路径中没有所述第三剩余分组基准列,则提取出现次数高于预设值的所述第一剩余非分组基准列中的一个或多个作为所述第三索引结构的第二或第N个元素,置于所述第三索引结构的第一个元素后,并组成所述第三索引结构。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
直接将每一个第三剩余分组基准列作为第一个元素,并组成第四索引结构。
7.一种数据检索服务器,其特征在于,包括:
第一获取模块,用于在数据库的数据表中获取核心数据表;
解析模块,用于对所述核心数据表的查询语句进行解析;
第二获取模块,用于根据第一预设规则和解析的结果获得分组基准列;
第三获取模块,用于根据第二预设规则和所述分组基准列,获得基于所述核心数据表所构建的索引,并根据所述索引进行数据的检索;
所述解析的结果包括多个列、列后的运算符、所述多个列的读取路径,相应地,所述根据第一预设规则和解析的结果获得分组基准列,包括:
将所述多个列在所述读取路径中出现次数大于预设次数阈值的列,作为所述分组基准列;或,
将所述多个列中包含有所述运算符特定标识的列,作为所述分组基准列;或,
根据所述多个列的分布,获得所述分组基准列;或,
将所述读取路径出现频次大于预设频次所对应的多个列作为所述分组基准列;
所述根据第二预设规则和所述分组基准列,获得基于所述核心数据表所构建的索引,包括:
为每一个分组基准列匹配相应的所述读取路径;
根据第二预设规则、匹配后的读取路径和所述分组基准列,获得基于所述核心数据表所构建的索引;
所述根据第二预设规则、匹配后的读取路径和所述分组基准列,获得基于所述核心数据表所构建的索引,包括:
将每一个分组基准列作为所述索引的第一个元素,并将剩余的分组基准列作为第一剩余分组基准列;
若与所述第一个元素对应的匹配后的读取路径中有第一剩余分组基准列,则提取与所述第一个元素对应的匹配后的读取路径中第一剩余分组基准列中的一个作为所述索引的第二个元素,置于所述第一个元素后,并组成第一索引结构,并将提取后的第一剩余分组基准列作为第二剩余分组基准列。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国移动通信集团内蒙古有限公司;中国移动通信集团公司,未经中国移动通信集团内蒙古有限公司;中国移动通信集团公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710189345.X/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置