关系型数据库中信息检索方法及装置的制作方法

文档序号:6556843阅读:186来源:国知局
专利名称:关系型数据库中信息检索方法及装置的制作方法
技术领域
本发明涉及数据库应用技术,具体涉及一种关系型数据库中信息检索方法及装置。
背景技术
关系型数据库是存储在计算机上的、可共享的、有组织的关系型数据的集合。关系型数据是以关系数字模型来表示的数据,关系数学模型中以二维表的形式来描述数据。在使用关系型数据库存储信息的应用系统中,存在大量的多维度查询,这类查询提供了多种维度的查询条件供使用者输入,同时使用者需要简单、快速、智能地检索到需要的信息,特别是广泛应用的呼叫中心系统,如114电话号码查询台、移动1860客户服务系统、企业800电话服务中心等。
通常,对数据库的查询的实现流程如图1所示步骤101客户端发起查询请求,在该请求中包含用户提供的查询条件;步骤102中间件将查询请求传递至数据库,进行查询;步骤103判断是否查找到相应的信息;如果查找到,则进到步骤104;否则,进到步骤105;步骤104返回数据至客户端;步骤105人工判断是否需要修改查询条件,主要是删减查询条件中的组合信息;如果需要,则进到步骤106;否则,进到步骤107;106修改查询条件,即人工删减查询条件;然后,返回步骤101,接照新的查询条件继续查询数据库;107查询结束。
由上述流程可以看出,每次查询时,查询条件的选择都是由人工来完成的。对于终端的使用者来说,一次查询的响应时间是客户端软件发起查询请求至界面显示出信息的时间,而这段时间包括数据库检索信息时间、数据网络传送时间、中间件转发查询请求时间、中间件收敛客户端连接导致的数据库连接队列等待时间。
目前,为了减少数据库检索信息时间,通常采用优化数据库检索效率,增加中间件资源,减少数据库连接队列等待时间等方法。
对数据库查询的优化方法主要有以下几种(1)合理利用索引对关系数据库中的数据表,按被查询字段创建独立有序的存储结构,类似给书籍创建目录,以空间换取时间,提高查询性能。
(2)冗余关系数据关系数据库中的数据结构设计需遵循一定的规范,以确保数据的完整性和一致性,而适当采取反向规范化,在二维表中冗余存储其它相关表中信息,以减少查询时的关联关系,提高查询性能。
(3)分离存放海量数据对于海量数据,按某些数据进行分类独立存储,如电话号码信息按所属地区分别存储,增加了业务逻辑复杂程度,提高了应用程序的设计难度以及数据维护难度,但缩小了查询范围,可以提高查询性能。
也就是说,现有技术对数据检索的优化主要集中在图1所示步骤103的数据查询上,而步骤105和步骤106的人工干预,以及没有查询到数据时重新返回步骤101进行查询的过程是现有技术无法避免的环节。
在一些查询并发量大、查询维度多、对整个查询响应时间要求高、而数据库查询时间在整个响应时间中占有比例小的系统中(如114电话号码查询台,大量人工服务座席受理整个城市的查号电话,查询操作在用户接入电话的持线中进行,对查询响应时间要求极高),虽然将数据库检索时间减小到最少,但由于数据库耗时比例小,对整个查询响应时间影响不大。当用户输入的多个维度查询条件(按多个已知条件查询所需信息,如电话号码查询系统中按“单位名称”、“地址”、“邮政编码”等多个已知信息查询需要的号码信息)中存在偏差而无法检索到需要的信息时,不得不进行删减查询条件再次查询的多次操作,查询请求从客户端到中间件再到数据库,沿原路径(即数据库查询无结果的信息再传递给中间件、然后到客户端)返回无数据的结果后用户人工干预,再次发送请求,经中间件到数据库,如此往返直至查询到需要的数据。因此针对一个查询目的需要的时间很大部分消耗在多次网路传递、中间件处理、以及人工干预操作上,而现有技术对这些耗时过程无能为力。

发明内容
本发明的目的是提供一种关系型数据库中信息检索方法,以克服现有技术中当一次查询检索不到需要的信息时需要人工再次干预才能进行再次进行查询操作,从而使得查询过程耗时长、效率低的缺点,减少网络传送、中间件调用等消耗的时间,提高查询效率。
本发明的另一个目的是提供一种关系型数据库中信息检索装置,以提供快速、高效、智能的多维度查询功能。
为此,本发明提供如下的技术方案一种关系型数据库中信息检索方法,所述方法包括步骤A、构造维度缩减策略树并置于所述数据库系统中,所述维度缩减策略树包括至少一个子节点和至少一个根节点,每个子节点至少包含本节点编号标识信息及查询条件组合信息和下级子节点编号;B、当按用户查询条件检索所述数据库未得到所需数据时,根据所述维度缩减策略树依次构造新的查询条件;C、按照新的查询条件检索所述数据库直到得到所需的数据或查询到所述维度缩减策略树的根节点返回无所需数据的信息。
所述步骤A包括建立维度缩减策略树的数据结构;
根据业务逻辑和/或业务数据分布情况,构造该业务对应所述数据结构的查询条件组合策略;根据所述数据结构将该业务的查询条件组合策略生成所述维度缩减策略树。
所述维度缩减策略树的数据结构至少包括查询业务类别、编号标识、编号子标识、查询条件组合,其中,所述查询业务类别表示一个查询界面涉及的策略组合;所述编号标识和所述编号子标识表示查询维度组合的层次关系。
所述该业务对应所述数据结构的查询条件组合策略包括至少一个查询条件。
所述步骤B包括获取对应所述用户查询条件的维度缩减策略树的入口节点;根据所述维度缩减策略树获取所述入口节点的下一级节点;将所述下一级节点对应的查询条件组合作为所述新的查询条件。
所述维度缩减策略树的每个子节点及根节点均可作为入口节点。
一种关系型数据库中信息检索装置,包括查询条件获取单元,查询结果输出单元,还包括策略树存储单元,用于存储包含至少一个子节点和至少一个根节点的维度缩减策略树,所述维度缩减策略树的每个子节点至少包含本节点对应的编号标识信息及查询条件组合信息和下级子节点编号;查询操作单元,用于根据所述查询条件获取单元输入的用户查询条件及所述策略树存储单元存储的维度缩减策略树查询所述数据库,并将查询结果通过所述查询结果输出单元返回给用户。
所述装置进一步包括策略树生成单元,用于构造所述维度缩减策略树,并将其存储到所述策略权存储单元。
所述策略树生成单元包括数据结构设置子单元,用于建立维度缩减策略树的数据结构;查询条件组合策略子单元,用于根据业务逻辑和/或业务数据分布情况,构造该业务对应所述维度缩减策略树的数据结构的查询条件组合策略;自动生成子单元,分别与所述数据结构设置子单元和所述查询条件组合策略子单元相连,用于根据所述数据结构将该业务的查询条件组合策略生成维度缩减策略树。
所述查询操作单元包括查询条件检索子单元,用于根据所述维度缩减策略树获取对应的查询条件;数据库检索子单元,用于根据用户查询条件及所述查询条件检索子单元获取的查询条件检索所述关系型数据库。
由以上本发明提供的技术方案可以看出,本发明通过构造维度缩减策略树并将其置于关系型数据库中,使得当按用户查询条件检索数据库未得到所需数据时,可以自动根据该维度缩减策略树依次构造新的查询条件,无需返回到客户端由人工干预,大大节省了数据查询响应时间。本发明从业务逻辑途径挖掘系统优化潜力,将一次查询目的的多次查询操作合并,通过预先在数据库中保存查询维度缩减策略,无需人工再次干预即返回相应检索信息,避免了多次的网络传送、中间件调用消耗的时间,实现了快速、高效、智能的查询功能。特别是在呼叫中心系统中,信息的查询是在话务员与来电客户的电话持线过程中进行,查询响应要求更及时,利用本发明,减少了话务员对系统的干预,使话务员能更专注与客户的沟通,降低了话务员的工作强度,缩短了呼叫中心每次来电的平均服务时间,继而可以减少话务中心的话务座席数量,降低了硬件投资和人力成本。


图1是现有技术中数据库查询的实现流程图;图2是本发明方法的实现流程图;图3是本发明中维度缩减策略树结构示意图;图4是本发明装置的原理框图。
具体实施例方式
本发明的核心在于在基于关系型数据库的应用系统中,根据业务逻辑和/或业务数据分布情况,构造维度缩减策略树并将其置于关系型数据库中,当按用户查询条件检索数据库未得到所需数据时,使系统自动根据该维度缩减策略树依次构造新的查询条件,然后按照新的查询条件再次进行数据库检索,直到得到所需的数据或查询到维度缩减策略树的根节点返回无所需数据的信息。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和实施方式对本发明作进一步的详细说明。
参照图2,图2示出了本发明方法的实现流程,包括以下步骤步骤201构造维度缩减策略树并置于数据库中,所述维度缩减策略树包括至少一个子节点和至少一个根节点,每个子节点至少包含本节点编号标识信息及查询条件组合信息、下级子节点编号。
步骤202客户端发起查询,将多维度的查询组合条件通过中间件传递至数据库,对数据库进行查询。
步骤203判断是否查询到所需数据;如果查询到,则进到步骤204;否则,进到步骤205。
步骤204返回数据至客户端。
步骤205查询数据库中的维度缩减策略树,也就是说,没有查询到所需数据时并不立即返回无数据的信息,而是去查询预先保存在数据库中的维度缩减策略树。
步骤206根据该维度缩减策略树判断是否存在下级策略;如果存在,则进到步骤207;否则,进到步骤208。
步骤207按照维度缩减策略树构造新的查询条件,也说是说,通过策略树排除若干查询维度,增加搜索范围;然后,返回步骤202,重新对数据库进行查询。
步骤208向客户端返回无所需数据的信息,即如果发现针对当前的查询维度组合,策略树中已无继续缩减的策略信息,则返回无数据信息至客户端。
在上述步骤201中提到,利用本发明,需要针对各种查询业务预先构造与该业务相对应的维度缩减策略树,并将其置于需要检索的数据库中。
在构造维度缩减策略树时,可以先设定其数据结构,然后根据业务逻辑和/或业务数据分布情况,构造该业务对应所述数据结构的查询条件组合策略;然后,可以由系统自动根据该数据结构将该业务的查询条件组合策略生成维度缩减策略树。
比如,可以设定维度缩减策略树的数据结构如下表1所示表1

其中,查询业务类别QueryClass字段划分一类查询,通常即一个查询界面涉及的策略组合;通过编号标识ID和下级编号子标识ChildID字段标识查询维度组合的层次关系,当ChildID为0的节点为维度缩减策略树的根节点,表示没有可以缩减的下级策略了。查询条件组合Token字段记录查询的组合条件。
每个数据结构的查询条件组合策略包括至少一个查询条件。比如,表1中QueryClass=1,ID=1的节点对应的查询条件组合为C-D,其包含了两个查询条件,即C和D。
由上表的样例数据,每一类查询的策略数据都可以构造一棵维度缩减策略树,而且通过策略数据搜寻下级策略的开销很小,可以忽略不计。以QueryClass=1的查询类别数据构造的维度缩减策略树如图3所示由该图可见,维度缩减策略树为一个倒立的树形结构,其包括多个子节点,分别为ID=5、3、4、2、6、1,和一个根节点ID=0。每个子节点包含该节点对应的编号标识信息及查询条件组合信息。根据编号子标识ChildID字段构造编号ID的下一层节点。每个子节点及根节点均可作为入口节点。
当根据用户的查询条件组合未检索到所需数据时,需要查询该维度缩减策略树,需要通过对应用户查询条件的入口节点来进入该维度缩减策略树,然后根据通过编号ChildID获得入口节点的下一级节点,将下一级节点对应的查询条件组合作为所述新的查询条件,重新对数据库进行检索。
例如,图书馆书目检索,提供了A=“著者”、B=“文种”、C=“书名”、D=“出版社”、E=“年代”、F=“分类号”等多种维度供选择查询,使用者输入4个维度的查询条件A著者张三;C书名操作系统;D出版社机械工业出版社;E年代2005。
上述A-C-D-E组合的查询维度和查询数据传递至数据库检索后没有找到任何相符的信息,这时候并不是向客户端返回查询无数据的状态报告,而是读取相应的查询维度缩减策略树,找到ID为4的节点,随即找到下级策略ID=2,维度被缩减为A“著者”、C“书名”、D“出版社”,剔除了E “年代”2005这个维度,并重新检索,没有符合数据,再次读取策略树,查询到下级ID=1维度被缩减为C“书名”、D“出版社”,剔除A“著者”张三的查询维度,随后重新检索到5条书目记录,返回客户端,使用者找到自己需要的书目信息。避免了信息的反复传递和使用者的多次干预。
当然,本发明并不限于上述这种方式的数据结构,根据业务需要,可以任意设置数据结构的形式,然后,建立与该数据结构相对应的查询条件组合策略,使系统可以根据该数据结构自动生成维度缩减策略树即可。
需要指出的是,在同一个查询业务中,可以有多个根节点,但每一个入口都只可能对应一个根节点。
比如,在保险公司的呼叫中心应用,某用户驾驶汽车发生交通事故,在第一时间拨打保险公司呼叫中心电话,请求求援、查勘、定损,话务座席接听来话后打开车险查询界面,首先查询出保单的相关信息。
查询界面提供了A=“保单号”、B=“投保人姓名”、C=“车牌号”、D=“投保地区”4个维度供选择查询,根据用户提供的信息,可灵活组合查询条件,举例两种情况,策略缩减树的数据如下表2所示表2

1)当用户提供的若干信息中包含A=“保单号”时,由于“保单号”是应用系统中唯一编号,拥有此信息可快速精确地定位所需信息,因此见表中ID=3、4、5、6行,相应子节点都是ChildID=1,表明任何包含A=“保单号”的组合条件如果没有查询到相关信息,都将缩减成ID=1的节点,即查询条件只有“保单号”,由此节点的ChildID=0,可见其为根节点,即当只按保单号查不到信息时,系统将返回查询无结果信息。
2)另一种情况,用户一般不随身携带保单,也不记得保单号,提供给保险公司呼叫中心的信息为B=“投保人姓名”、C=“车牌号”、D=“投保地区”,根据表中缩减策略,当B-C-D组合无法查询到信息时,根据ID=8的节点,其ChildID=7,即维度缩减为ID=7节点所列组合B=“投保人姓名”、C=“车牌号”,如仍查无记录,取ChildID=2,即维度缩减为ID=2的节点所列组合C=“车牌号”,此为根节点。
由此例可见同一查询业务中,可存在多棵维度缩减策略树,则每棵树都有一个根节点,从同一棵树的节点进入,如始终查询不到信息,最终将缩减到同一个根节点,而从不同树的节点进入,则最终各自缩减到所在树的根节点。
参照图4,图4是本发明装置的原理框图在该装置中,包括查询条件获取单元S1,查询结果输出单元S2,以及策略树存储单元S5和查询操作单元S4。其中,查询条件获取单元S1用于输入用户查询条件。查询结果输出单元S2用于输出数据库查询结果。策略树存储单元S5用于存储包含至少一个子节点和一个或多个根节点的维度缩减策略树,所述维度缩减策略树的每个子节点至少包含该节点对应的编号标识信息及查询条件组合信息。查询操作单元S4用于根据所述查询条件获取单元输入的用户查询条件及所述策略树存储单元构造的维度缩减策略树查询所述数据库,并将查询结果通过所述查询结果输出单元返回给用户。
其中,维度缩减策略树可以由人工预先构造完成后,输入到策略树存储单元S5中;也可以通过一个策略树生成单元来自动生成。如图4所示策略树生成单元S3包括数据结构设置子单元S31、查询条件组合策略子单元S32和自动生成子单元S33。其中,数据结构设置子单元S31用于建立维度缩减策略树的数据结构;查询条件组合策略子单元S32用于根据业务逻辑和/或业务数据分布情况,构造该业务对应所述维度缩减策略树的数据结构的查询条件组合策略;自动生成子单元S33用于根据数据结构设置子单元S31建立的数据结构将该业务的查询条件组合策略生成维度缩减策略树,并将其存储到策略树存储单元S5中。
查询操作单元S4包括查询条件检索子单元S41和数据库检索子单元S42。其中,查询条件检索子单元S41用于根据维度缩减策略树获取对应的查询条件;数据库检索子单元S42用于根据用户查询条件及所述查询条件检索子单元获取的查询条件检索所述关系型数据库。
在本发明应用时,基于业务逻辑及业务数据分布情况,通过数据结构设置子单元S31建立与该业务对应的数据结构,并由查询条件组合策略子单元S32建立与该业务对应的各种查询条件组合,然后,由自动生成子单元S33根据数据结构中的策略层次关系将与该业务对应的各种查询条件组合生成维度缩减策略树。维度缩减策略树的数据结构及查询条件组合可以根据业务情况任意设定。
当用户通过客户端输入查询条件后,查询条件获取单元S1获取用户输入的查询条件,交由查询操作单元S4,查询操作单元S4的数据库检索子单元S42按照该条件检索数据库S0,如果检索到相应的数据,则通过查询结果输出单元S2将检索到的数据返回客户端,提供给用户;如果未检索到相应的数据,则通过查询操作单元S4启动查询条件检索子单元S41,查询条件检索子单元S41检索自动生成子单元S33中生成的维度缩减策略树,通过策略树排除若干查询维度,构造新的查询条件,并向查询操作单元S4返回新的查询条件,由查询操作单元S4按照这个新的查询条件继续检索数据库S0。如果检索到相应的数据,则通过查询结果输出单元S2将检索到的数据返回客户端,提供给用户;否则,重复上述过程,直到维度缩减策略树中没有继续缩减的策略信息,此时,再向用户返回无数据的信息。
可见,利用本发明装置,可以使关系型数据库应用系统在进行相关数据查询时,对查询涉及的过程自动重新进行逻辑编排,无需人工干预即可进行多种组合条件的查询,有效地减少了数据库查询时间,提高了查询效率。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。
权利要求
1.一种关系型数据库中信息检索方法,其特征在于,所述方法包括步骤A、构造维度缩减策略树并置于所述数据库系统中,所述维度缩减策略树包括至少一个子节点和至少一个根节点,每个子节点至少包含本节点编号标识信息及查询条件组合信息和下级子节点编号;B、当按用户查询条件检索所述数据库未得到所需数据时,根据所述维度缩减策略树依次构造新的查询条件;C、按照新的查询条件检索所述数据库直到得到所需的数据或查询到所述维度缩减策略树的根节点返回无所需数据的信息。
2.根据权利要求1所述的方法,其特征在于,所述步骤A包括建立维度缩减策略树的数据结构;根据业务逻辑和/或业务数据分布情况,构造该业务对应所述数据结构的查询条件组合策略;根据所述数据结构将该业务的查询条件组合策略生成所述维度缩减策略树。
3.根据权利要求2所述的方法,其特征在于,所述维度缩减策略树的数据结构至少包括查询业务类别、编号标识、编号子标识、查询条件组合,其中,所述查询业务类别表示一个查询界面涉及的策略组合;所述编号标识和所述编号子标识表示查询维度组合的层次关系。
4.根据权利要求2所述的方法,其特征在于,所述该业务对应所述数据结构的查询条件组合策略包括至少一个查询条件。
5.根据权利要求1所述的方法,其特征在于,所述步骤B包括获取对应所述用户查询条件的维度缩减策略树的入口节点;根据所述维度缩减策略树获取所述入口节点的下一级节点;将所述下一级节点对应的查询条件组合作为所述新的查询条件。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述维度缩减策略树的每个子节点及根节点均可作为入口节点。
7.一种关系型数据库中信息检索装置,包括查询条件获取单元,查询结果输出单元,其特征在于,还包括策略树存储单元,用于存储包含至少一个子节点和至少一个根节点的维度缩减策略树,所述维度缩减策略树的每个子节点至少包含本节点对应的编号标识信息及查询条件组合信息和下级子节点编号;查询操作单元,用于根据所述查询条件获取单元输入的用户查询条件及所述策略树存储单元存储的维度缩减策略树查询所述数据库,并将查询结果通过所述查询结果输出单元返回给用户。
8.根据权利要求7所述的装置,其特征在于,所述装置进一步包括策略树生成单元,用于构造所述维度缩减策略树,并将其存储到所述策略权存储单元。
9.根据权利要求8所述的装置,其特征在于,所述策略树生成单元包括数据结构设置子单元,用于建立维度缩减策略树的数据结构;查询条件组合策略子单元,用于根据业务逻辑和/或业务数据分布情况,构造该业务对应所述维度缩减策略树的数据结构的查询条件组合策略;自动生成子单元,分别与所述数据结构设置子单元和所述查询条件组合策略子单元相连,用于根据所述数据结构将该业务的查询条件组合策略生成维度缩减策略树。
10.根据权利要求7所述的装置,其特征在于,所述查询操作单元包括查询条件检索子单元,用于根据所述维度缩减策略树获取对应的查询条件;数据库检索子单元,用于根据用户查询条件及所述查询条件检索子单元获取的查询条件检索所述关系型数据库。
全文摘要
本发明公开了一种关系型数据库中信息检索方法,包括步骤构造维度缩减策略树并置于数据库系统中,所述维度缩减策略树包括至少一个子节点和至少一个根节点,每个子节点至少包含本节点编号标识信息及查询条件组合信息和下级子节点编号;当按用户查询条件检索所述数据库未得到所需数据时,根据维度缩减策略树依次构造新的查询条件;按照新的查询条件检索数据库直到得到所需的数据或查询到维度缩减策略树的根节点返回无所需数据的信息。本发明还公开了一种关系型数据库中信息检索装置,包括查询条件获取单元,查询结果输出单元,策略树存储单元和查询操作单元。利用本发明,可以提高数据库检索效率。
文档编号G06F17/30GK1858743SQ20061005819
公开日2006年11月8日 申请日期2006年3月10日 优先权日2006年3月10日
发明者王思杰 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1