当前位置: 首页 > 专利查询>杜小勇专利>正文

概率数据库加速查询方法技术

技术编号:8215651 阅读:201 留言:0更新日期:2013-01-17 13:18
本发明专利技术提供一种概率数据库加速查询方法,包括:获取概率查询关键字,所述概率查询关键字包含多个变量的联合取值;根据所述概率查询关键字在缓存中进行查询,所述缓存中保存有之前概率查询过程的中间运算结果,若所述缓存中存在与所述多个变量的联合取值匹配的中间运算结果,则将所述中间运算结果作为所述概率查询的查询结果。通过在缓存中存储中间运算结果的方式,在对概率数据库做新的概率查询时,首先查询缓存中是否存在匹配的中间运算结果,若存在则直接将该中间运算结果作为该概率查询的查询结果,从而优化了对概率数据库的查询速度。

【技术实现步骤摘要】

本专利技术涉及数据库技术,尤其涉及一种。
技术介绍
概率数据库用于存储不 确定数据,对概率数据库进行的查询称为概率查询。概率数据库的每一个变量的取值并不是确定的,且对变量还存在着不同的条件的限制,每个条件也是不确定的。例如设置在同一地点的多个无线传感器实时获取外界的温度、湿度、气压以及光照强度,由于物理设备不够完善以及有限的电力供应和网络延迟,每个无线传感器获得的同一时刻同一地点的温度、湿度、气压以及光照强度可能都不同。根据各个无线传感器收集的信息,可以构建一个概率数据库,该概率数据库的变量为温度、湿度、气压以及光照强度,概率数据库中保存有同一时刻同一地点每个变量的多个取值以及且每个取值的概率。由于各变量之间可能存在关联,因此概率数据库中还保存有关联变量的联合分布,即关联的多个变量联合取值的概率。举例来说,温度与湿度存在关联,温度与光照强度存在关联,湿度与气压存在关联,当概率查询涉及光照强度和气压的关联取值时,则需要根据温度与湿度的联合分布、温度与光照强度的联合分布、湿度与气压的联合分布来计算光照强度和气压的关联取值的概率。可以看出,概率查询通常需要经过非常复杂的矩阵运算才能够得到查询结果,造成概率查询的速度非常缓慢。
技术实现思路
本专利技术实施例提供一种,以提高对概率数据库的查询速度。本专利技术实施例提供一种,包括获取概率查询关键字,所述概率查询关键字包含多个变量的联合取值;根据所述概率查询关键字在缓存中进行查询,所述缓存中保存有之前概率查询过程的中间运算结果,若所述缓存中存在与所述多个变量的联合取值匹配的中间运算结果,则将所述中间运算结果作为所述概率查询的查询结果。本专利技术实施例提供的方法,通过在缓存中存储中间运算结果的方式,在对概率数据库做新的概率查询时,首先查询缓存中是否存在匹配的中间运算结果,若存在则直接将该中间运算结果作为该概率查询的查询结果,从而优化了对概率数据库的查询速度。附图说明图I为本专利技术第一实施例流程图;图2为本专利技术第二实施例流程图;图3为利用贝叶斯网络表示的概率数据库结构图;图4为对图3中概率数据库构建的联合树结构图5为对图4中的联合树进行递归划分后的划分结构图;图6为在图5中联合树的划分结构图上建立的概率数据库的树形索引结构图;图7为缓存中中间运算结果的处理流程图。具体实施例方式图I为本专利技术概率数 据库加速查询方法第一实施例流程图,如图I所示,本专利技术实施例所提供的可以由数据库建模工具来执行,本方法可以采用软件的形式来实现,该方法包括步骤S100,获取概率查询关键字,所述概率查询关键字包含多个变量的联合取值;对概率数据库做概率查询,概率数据库中存储了随机事件的边缘分布,以及多个关联随机事件的联合分布。其中,随机事件是指变量取某一固定取值以及该变量等于该取值的概率。边缘分布是指该变量的取值和与之相关的条件所组成的概率矩阵,联合分布是指多个相互之间存在关联关系的变量的不同取值所组成的概率矩阵。获取概率查询关键字,其中概率查询关键字包括多个变量的联合取值。优选的,概率查询关键字可以为查询式,例如概率数据库中分别存储了 A的边缘分布、B边缘分布、C边缘分布,以及A、B、C的联合分布,概率查询关键字为Q (A,B),即查询获取A和B的联合取值。步骤S102,根据所述概率查询关键字在缓存中进行查询,所述缓存中保存有之前概率查询过程的中间运算结果,若所述缓存中存在与所述多个变量的联合取值匹配的中间运算结果,则将所述中间运算结果作为所述概率查询的查询结果。当对概率数据库做概率查询时,首先查询缓存中是否存在与概率查询关键字中多个变量的联合取值相匹配的中间运算结果,若存在与多个变量的联合取值相匹配的中间运算结果,则将该中间运算结果作为该概率查询的查询结果。本实施例所提供的技术方案通过在缓存中存储中间运算结果的方式,在对概率数据库做新的概率查询时,首先查询缓存中是否存在匹配的中间运算结果,若存在则直接将该中间运算结果作为该概率查询的查询结果,从而优化了对概率数据库的查询速度。图2为本专利技术第二实施例流程图,如图2所示,该方法包括步骤S201,建立与所述概率数据库对应的树形索引;步骤S202,获取概率查询关键字,所述概率查询关键字包含多个变量的联合取值;步骤S203,根据所述概率查询关键字在缓存中进行查询,判断缓存中是否存在与多个变量的联合取值匹配的中间运算结果,若是则执行步骤S204,若否则执行步骤S205 ;步骤S204,将所述中间运算结果作为所述概率查询的查询结果,流程结束。步骤S205,根据所述树形索引对所述概率查询关键字进行分解,得到多个子关键字;步骤S206,根据所述多个子关键字在缓存中分别进行查询,判断所述缓存中是否存在与所述各子关键字匹配的中间运算结果,若是则执行步骤S207,若否则执行步骤S208 ;步骤S207,将所述与所述各子关键字匹配的中间运算结果分别作为各子关键字的查询结果,执行步骤S209 ;步骤S208,根据所述至少一个子关键字在与所述树形索引中进行查询;若所述缓存中不存在与至少一个子关键字匹配的中间运算结果,则根据至少一个子关键字在与所述树形索引中进行查询;步骤S209,根据所述各子关键字的查询结果,计算得到所述概率查询的查询结果。在优选的实施方式中,通 过联合树的方式对概率数据库建立索弓|,具体方法如下图3为利用贝叶斯网络表示的概率数据库结构图,如图3所示,该概率数据库中包括随机事件Xf X12,其中Xf X2表示变量A的取值为Xl或x2,X3 X5表示变量B的取值为x3或x4或x5,X6 X7表示变量C的取值为x6或x7,X8 X9表示变量D的取值为x8或x9,Χ1(ΓΧ11表示变量E的取值为XlO或xll,Χ12表示变量F的取值为xl2,Rl R5以及Gl G6分别表示对随机事件的限定条件,该限定条件使得不同随机事件之间存在一定的关联关系,例如Gl条件下X取值为Xl或取值为χ2之间,在Gl条件下X取值Xl与χ2之间的存在互斥的关联关系,即X不能同时取值为Xl和x2。图4为对图3中概率数据库构建的联合树结构图,如图4所示,其中圆形区域代表该索引的联合节点,矩形区域代表该索引的分隔节点。通过联合树(junction tree)对概率数据库建立索引。其中联合节点为随机事件的边缘分布,即条件与随机事件所组成的概率矩阵,分隔节点为关联随机事件与随机事件的条件的概率矩阵。图5为对图4中的联合树进行递归划分后的划分结构图,图6为在图5中联合树的划分结构图上建立的概率数据库的树形索引结构图,如图5和图6所示,按照概率数据库的联合树结构,对概率数据库建立树形索引。首先对联合树按照联合节点和分隔节点的大小划分为不同的单元,每一个单元存储该单元中所有联合节点周围的所有分隔节点的联合分布。进一步根据单元的大小进行二次划分,建立概率数据库的索引结构,该索引结构中包括根节点、父节点和子节点。优选的,在对联合树进行划分时,每个节点的大小不超过4K。其中根节点包括联合树的标识。根节点下的父节点包括所有联合节点周围的所有分隔节点的联合分布、以及其子节点中随机事件的标识。父节点下的子节点包括随机事件的边缘分布,以及关联该子节点对应的随机事件的分隔节点。具体地,用户在对概率数据库进行操作时,系统的查询日本文档来自技高网...

【技术保护点】
一种概率数据库加速查询方法,其特征在于,包括:获取概率查询关键字,所述概率查询关键字包含多个变量的联合取值;根据所述概率查询关键字在缓存中进行查询,所述缓存中保存有之前概率查询过程的中间运算结果,若所述缓存中存在与所述多个变量的联合取值匹配的中间运算结果,则将所述中间运算结果作为所述概率查询的查询结果。

【技术特征摘要】

【专利技术属性】
技术研发人员:杜小勇陈晋川张敏
申请(专利权)人:杜小勇
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1