数据库索引方法及系统与流程

文档序号:12786478阅读:182来源:国知局
数据库索引方法及系统与流程
本发明涉及数据索引领域,尤指一种数据库索引方法及系统。
背景技术
:现有数据查询中,多数采用通过已知条件于数据库中海量数据筛选符合该些已知条件的数据供用户选择,已知条件越多,筛选获得的目标数据则更为精准;若已知条件较少,且数据库中符合该已知条件的数据较多时,则用户无法有效且快速的定位其需要的目标数据,同时海量数据的匹配也给硬件和软件上造成了一定的负荷困扰;为此当前数据索引领域中,当已知的条件较少,亦即未知的条件较多时,匹配的部分索引满足的数据量很大,造成访问数据库时间很长;尤其是批量处理此类数据时,耗时时间窗口很大,不能满足业务处理要求。现有通用的方案是对所有的业务类型采用其特点的交集来访问数据库,使其能匹配的数据库索引字段少,因此返回的查询结果量大,造成后续的处理缓慢。技术实现要素:本发明目的在于在现有硬件基础上,提供一种更为快捷有效,且资源浪费更小的数据库索引方法及系统。为达上述目的,本发明所提供的一种数据库索引方法,包含:获取索引关键字;根据索引关键字查询数据库,获得查询信息或查询周期;将所述查询信息或查询周期与预定阈值比较,根据比较结果获得所述历史业务信息,根据所述历史业务信息获得复数个概率索引关键字,根据所述概率索引关键字和所述索引关键字查询数据库,获得目标数据。在上述数据库索引方法中,优选的,所述根据比较结果获得所述历史业务信息包含:分析所述查询信息的结果数目,当所述查询信息的结果数目高于预定阈值时,获取所述查询信息对应业务类别的历史业务信息。在上述数据库索引方法中,优选的,所述根据比较结果获得所述历史业务信息包含:分析所述查询周期的时长,当所述查询周期的时长高于预定阈值时,获取所述查询信息对应业务类别的历史业务信息。在上述数据库索引方法中,优选的,根据所述历史业务信息获得复数个概率索引关键字包含:根据所述历史业务信息,分析获得所述历史业务信息中各类别的业务数据比例,根据各类别的业务数据比例获得对应各类别的复数个概率索引关键字。在上述数据库索引方法中,优选的,所述各类别包含以预定时间周期划分的各时间段;所述概率索引关键字为日期。在上述数据库索引方法中,优选的,根据所述概率索引关键字和所述索引关键字查询数据库包含:根据各预定时间周期内的业务数据比例及所述业务数据比例高低,获得概率由高到低的复数个概率索引关键字,根据概率高低将对应的概率索引关键字分别依次加入所述索引关键字中查询数据库。本发明还提供一种数据库索引系统,所述系统包含关键字获取模块、查询模块和统计模块;所述关键字获取模块用于获取索引关键字;所述查询模块与所述关键字获取模块相连,用于根据索引关键字查询数据库,获得查询信息或查询周期;所述统计模块与所述查询模块相连,用于将所述查询信息或查询周期与预定阈值比较,根据比较结果获得所述历史业务信息,根据所述历史业务信息获得复数个概率索引关键字,根据所述概率索引关键字和所述索引关键字查询数据库,获得目标数据。在上述数据库索引系统中,优选的,所述统计模块还包含比较单元,所述比较单元用于分析所述查询信息的结果数目,当所述查询信息的结果数目高于预定阈值时,获取所述查询信息对应业务类别的历史业务信息。在上述数据库索引系统中,优选的,所述统计模块还包含时钟单元,所述时钟单元用于分析所述查询周期的时长,当所述查询周期的时长高于预定阈值时,获取所述查询信息对应业务类别的历史业务信息。在上述数据库索引系统中,优选的,所述统计模块还包含检索表单元,所述检索表单元用于根据所述历史业务信息,分析获得所述历史业务信息中各类别的业务数据比例,根据各类别的业务数据比例获得对应各类别的复数个概率索引关键字;以及根据各类别的业务数据比例及所述业务数据比例高低,获得概率由高到低的复数个概率索引关键字,根据概率高低将对应的概率索引关键字分别依次加入所述索引关键字中查询数据库。本发明的有益技术效果在于:通过本发明所提供的数据库索引方法及系统,可统计各类业务发生的概率,能将发生概率比重大的某些业务的未知变量变成已知,使其访问路径能匹配更多的索引项,提高这类业务的访问效率,从而提高整体业务的处理效率。附图说明此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:图1为本发明所提供的数据库索引方法的流程示意图;图2为本发明所提供的数据库索引系统的结构示意图;图3A-图3B为本发明一实施例所提供的原理对比示意图;图4为本发明一实施例所提供的比例示意图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。请参考图1所示,本发明所提供的一种数据库索引方法,包含:S101获取索引关键字;S102根据索引关键字查询数据库,获得查询信息或查询周期;S103将所述查询信息或查询周期与预定阈值比较,根据比较结果获得所述历史业务信息,根据所述历史业务信息获得复数个概率索引关键字,根据所述概率索引关键字和所述索引关键字查询数据库,获得目标数据。以此,根据历史业务信息总结得到更多的索引条件,进一步降低索引数据的范围,提高索引的效率。在本发明一优选的实施例中,上述步骤S102中包含:根据所述历史业务信息,分析获得所述历史业务信息中各类别的业务数据比例,根据各类别的业务数据比例获得对应各类别的复数个概率索引关键字,例如业务类别为A、B、C时,则于类别A中概括获得一概率索引关键字,于类别B中概括获得一概率索引关键字,于类别C中概括获得一概率索引关键字,其后根据A、B、C各自的比例大小分别将对应的概率索引关键字带入用户输入的索引关键字中进行数据查询。在上述实施例中,本发明并不仅限于一次概括索引,也就是说,当判断A为占比较高的数据时,且A数据量也较大时,例如数据量高于预定阈值即1000条或800条等,进一步可将A中数据也根据不同类型进行分类分为A1,A2,A3等数据,在对该些数据分别概括及占比排序后进行索引;本领域相关技术人员当可知其预定阈值的条目数可根据实际情况选择设置,本发明在此并不限制预定阈值的条目数以及概括索引的次数。请参考图3A至图3B所示,传统的数据索引如图3A所示,在,传统的应用程序在访问数据库表时,都是按照全部业务的交集条件来匹配数据表的索引,即图3A中字段1和字段2为已知条件进行索引,此时因未知变量较多,为此,当面对海量数据时,索引速度较慢,占用资源较高;针对该情况,本发明通过上述方法,利用大数据的分析方法,如图3B所示,从海量的历史业务数据中挖掘客户行为的规律,即通过索引关键字所面对的业务数据分析各类别所占比例,再根据各类别所占比例的大小确定索引的优先顺序,例如该类别数量为2,其中一部分为80%,另一部分为20%,此时则将占比80%的数据作为优先索引数据,占比20%其后的索引数据,以此索引;根据不同优先顺序确定不同的概率索引关键字,将匹配更多索引字段的高频率发生业务抽取出来进行路径B的访问(如80%的数据),其他的数据(20%)由于只能确定字段1和字段2,还是按路径A进行访问,通过这种方法提高批量数据的处理效率。在本发明一优选的实施例中,所述根据比较结果获得所述历史业务信息还包含:分析所述查询信息的结果数目,当所述查询信息的结果数目高于预定阈值时,获取所述查询信息对应业务类别的历史业务信息,以及,分析所述查询周期的时长,当所述查询周期的时长高于预定阈值时,获取所述查询信息对应业务类别的历史业务信息。实际工作中也不排除根据已有的索引关键字已经能很快定位目标数据,或者目标数据较少时,此时就可以直接通过现有的关键字索引;而当索引获得数据较多,如1000条等预定阈值,或索引时间较长,如10秒、30秒等预定阈值时,则启用本发明所提供的上述数据库索引方法,以此来合理选择适当的数据库索引方法尽最大限度的保证用户的索引效率,避免不必要的时间和资源浪费。在本发明一优选的实施例中,所述各类别包含以预定时间周期划分的各时间段;所述概率索引关键字为日期;根据各预定时间周期内的业务数据比例及所述业务数据比例高低,获得概率由高到低的复数个概率索引关键字,根据概率高低将对应的概率索引关键字分别依次加入所述索引关键字中查询数据库。为更清楚的说明上述实施例,以下以实例对上述数据库索引方法做详细说明:在核心报表程序中,某“重要空白凭证在途清单”报表运行耗时较长,需要优化。为此,经过采样分析,发现主要耗时在访问VPVV表(重空交易明细表),主要逻辑是根据省行号+凭证类型从VPVV表中获取最新的一笔的出库流水号等信息。但是该访问路径只能匹配VPVV某一索引的2个字段,如:PROVINCE_CODE,IBD_TYPE;该索引的结构如下:已知:PROVINCE_CODE,IBD_TYPE,未知:TRAN_DATE,JRNL_NO,SEQUENCE_NO。经过估算,通过匹配后的索引能查询出约22万的记录;应用程序只能再根据22万的返回结果继续处理,是耗时的主要原因。为此,本发明所提供的数据库索引方法在经过对VPVV的交易进行大数据分析后,发现绝大部分的在途都是当天入库的,为了进一步量化该数据,选取生产环境某时间段所有某分行的报表进行分析,得到在途凭证的当日发生日期的频率,发现在观察的区间内,当日发生在途的业务至少占90%,如图4所示,图中横轴是日期,纵轴是当日入库的凭证占总在途的比例。根据业务发生的特性,选取概率索引关键字TRAN_DATE,亦即查询条件增加匹配字段TRAN_DATE(交易发生日期),使原索引关键字增加到三个关键字,此时索引匹配的结构如下:已知:IBD_TYPE,PROVINCE_CODE,TRAN_DATE,未知:JRNL_NO,SEQUENCE_NO。经过估算,重新匹配后的索引能查询出约300条记录,此时结果较少可直接开始索引;该优化投产后,经过一段时间的观察,发现运行时间能稳定地缩短至原运行时间70%~80%。在上述实施例中,根据历史业务数据统计分析概率索引关键字的方法具体可如下操作:对某机构的N天内的后台数据进行采样统计,观察每日在途的重要空白凭证的出库日期,通过统计分析可以发现:采样的报表中每天至少90%以上的数据都是当天出库的,而采样的N(N=10)天内,总共发生806项在途,而只有8项不在当天入库,也就是说99%的在途都是当天入库的,以此得到如下统计报表表1:表1数据日期在途重要空白凭证数量出库日期非当天的数量10.819110.931310.10299110.1125110.121010.131010.14181010.1544210.1618010.171870从该表可以得到绝大部分该类业务的更多特征项——出库日期,从而可以该出库日期为概率索引关键字作为新增的索引关键字,则可以匹配数据库的更多索引项。请参考图2所示,本发明还提供一种数据库索引系统,所述系统包含关键字获取模块、查询模块和统计模块;所述关键字获取模块用于获取索引关键字;所述查询模块与所述关键字获取模块相连,用于根据索引关键字查询数据库,获得查询信息或查询周期;所述统计模块与所述查询模块相连,用于将所述查询信息或查询周期与预定阈值比较,根据比较结果获得所述历史业务信息,根据所述历史业务信息获得复数个概率索引关键字,根据所述概率索引关键字和所述索引关键字查询数据库,获得目标数据。在上述实施例中,所述统计模块还包含比较单元、时钟单元和检索表单元,所述比较单元用于分析所述查询信息的结果数目,当所述查询信息的结果数目高于预定阈值时,获取所述查询信息对应业务类别的历史业务信息。所述时钟单元用于分析所述查询周期的时长,当所述查询周期的时长高于预定阈值时,获取所述查询信息对应业务类别的历史业务信息。所述检索表单元用于根据所述历史业务信息,分析获得所述历史业务信息中各类别的业务数据比例,根据各类别的业务数据比例获得对应各类别的复数个概率索引关键字;以及根据各类别的业务数据比例及所述业务数据比例高低,获得概率由高到低的复数个概率索引关键字,根据概率高低将对应的概率索引关键字分别依次加入所述索引关键字中查询数据库。通过本发明所提供的数据库索引方法及系统,可统计各类业务发生的概率,能将发生概率比重大的某些业务的未知变量变成已知,使其访问路径能匹配更多的索引项,提高这类业务的访问效率,从而提高整体业务的处理效率。以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1