数据查询方法及装置与流程

文档序号:36325975发布日期:2023-12-09 14:17阅读:40来源:国知局
数据查询方法及装置与流程

本发明涉及计算机,特别是涉及数据查询方法及装置。


背景技术:

1、随着医疗数据量呈指数级的增长,医疗融合数据库在查询性能上逐渐不能支撑医学统计查询的需求。研究发现,医学数据的医疗融合数据库的统计查询的查询字段和查询条件重复率较高,但是现有的高性能数据库没有针对这种医学应用场景下,进行简单高效的数据查询方法。


技术实现思路

1、本发明提供一种数据查询方法及装置,用以解决现有技术中没有针对医学数据库的简单高效的数据查询方法,实现对医学数据库的简单高效的进行数据查询。

2、一种数据查询方法,所述方法包括:基于目标数据库、历史查询过程中的第一查询字段以及条件熵相关性算法确定目标数据立方体;所述条件熵相关性算法用于基于历史查询过程中字段或字段组合出现的次数,确定需要执行的目标数据立方体中字段之间的相关性;所述相关性用于需要执行的目标数据立方体中字段组合的筛选;基于所述目标数据立方体,确定数据立方体元数据库;所述数据立方体元数据库包括至少一个树分支的树节点;基于一致性哈希算法以及不同树节点的访问量,将所述至少一个树分支中每个树分支中不同层级的父节点的数据,存储到不同的存储节点上;并将不同访问量的树节点的数据存储到不同的虚拟节点上;响应于用户端对第二查询字段的查询请求,从对应的存储节点上,查找所述第二查询字段对应的查询结果。

3、在其中一个实施例中,所述基于一致性哈希算法以及不同树节点的访问量,将所述至少一个树分支中每个树分支中不同层级的父节点的数据,存储到不同的存储节点上;并将不同访问量的树节点的数据存储到不同的虚拟节点上,包括:通过将每个树分支中不同层级的父节点的哈希值与存储节点的哈希值按位异或,确定每个树分支中不同层级的父节点对应的存储节点;并基于确定的每个树分支中不同层级的父节点对应的存储节点,将每个树分支中不同层级的父节点的数据存储到不同的存储节点上;通过将不同访问量的树节点的数据访问量与虚拟节点的哈希值相乘,确定不同访问量的树节点对应的虚拟节点,将不同访问量的树节点的数据存储到对应的虚拟节点上。

4、在其中一个实施例中,所述一致性哈希算法对应的公式为:hash(s,k,n,m,p)=(((s.hash_code()^p1^p2^p3)*(k+1))%n+m*hashed_color(k)%n)%n,其中,s.hash_code()表示对存储节点s的身份标识进行哈希计算得到的整数值,^表示按位异或运算,p表示树节点,p1、p2和p3分别表示每个树分支中不同层级的父节点,hashed_color(k)表示对编号为k的虚拟节点进行哈希计算得到的整数值,n表示在预设时间段内树节点的数据量的大小,m表示在预设时间段内树节点的数据访问量的大小。

5、在其中一个实施例中,基于目标数据库、历史查询过程中的第一查询字段以及条件熵相关性算法确定目标数据立方体,包括:响应于对目标数据立方体的数据更新通知,基于预设时间段内的查询日志数据,从所述目标数据库确定所述查询日志数据中各第一查询字段的需要执行的目标数据立方体;基于所述需要执行的目标数据立方体以及条件熵相关性算法确定最终的目标数据立方体。

6、在其中一个实施例中,所述基于所述需要执行的目标数据立方体以及条件熵相关性算法确定最终的目标数据立方体,包括:基于所述需要执行的目标数据立方体中目标维度字段组合出现的第一次数、目标度量字段出现的第二次数、目标度量字段与所述目标维度字段组合联合出现的第三次数,以及所述目标维度字段组合和所述目标度量字段组成的第一组合在需要执行的目标数据立方体出现的总次数,结合条件熵公式,确定所述每个需要执行的目标数据立方体中字段之间的相关性;将所述相关性以及对应的第一查询语句标识信息,保存至数据立方体元数据库中;基于所述相关性,将每个需要执行的目标数据立方体中至少一个第一组合按顺序排列,并将所述至少一个第一组合中顺序大于第一预设阈值的字段组合确定为第二组合,并基于第二组合确定最终的目标数据立方体。

7、在其中一个实施例中,所述每个目标数据立方体中字段之间的相关性r1的计算公式为:其中,m为每个需要执行的目标数据立方体中目标度量字段的总个数,n为每个需要执行的目标数据立方体中目标度量字段组合的总个数,count(d)为所述每个需要执行的目标数据立方体中目标维度字段组合d出现的第一次数,count(a)为所述每个需要执行的目标数据立方体中目标度量字段a出现的第二次数,count(a,d)为所述每个需要执行的目标数据立方体中目标度量字段a与目标维度字段组合d联合出现的第三次数,total为所述每个需要执行的目标数据立方体中所述目标维度字段组合和所述目标度量字段组成的第一组合出现的总次数。

8、在其中一个实施例中,所述方法还包括:基于数据立方体元数据库,建立所述至少一个树分支中各树分支中不同层次的树节点对应的访问权限优先级;并建立不同的用户与至少一个树分支的树节点的映射关系表。

9、本发明还提供一种数据查询装置,所述装置包括:第一确定模块,用于基于目标数据库、历史查询过程中的第一查询字段以及条件熵相关性算法确定目标数据立方体;所述条件熵相关性算法用于基于历史查询过程中字段或字段组合出现的次数,确定需要执行的目标数据立方体中字段之间的相关性;所述相关性用于需要执行的目标数据立方体中字段组合的筛选;第二确定模块,用于基于所述目标数据立方体,确定数据立方体元数据库;所述数据立方体元数据库包括至少一个树分支的树节点;存储模块,用于基于一致性哈希算法以及不同树节点的访问量,将所述至少一个树分支中每个树分支中不同层级的父节点的数据,存储到不同的存储节点上;并将不同访问量的树节点的数据存储到不同的虚拟节点上;查找模块,用于响应于用户端对第二查询字段的查询请求,从对应的存储节点上,查找所述第二查询字段对应的查询结果。

10、本发明还提供计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述数据查询方法的步骤。

11、本发明还提供存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述数据查询方法的步骤。

12、上述数据查询方法及装置,针对医疗融合数据库的统计查询的查询字段和查询条件重复率较高,通过将历史查询过程中查询的字段整理为数据立方体的形式,并保存数据立方体对应的数据立方体元数据库,从而便于下次接收到重复的查询字段时,可以直接到从数据立方体元数据库中定位到对应查询字段的信息,从而加快了查询速度。此外,在确定的数据立方体元数据库的基础上,通过一致性哈希算法,将数据立方体元数据库中各树分支的树节点的数据分散到不同的存储节点或者不同的虚拟节点,从而使数据量比较大的树节点的数据可以分散存储在不同的存储位置,从而分散了数据查询的压力,从而加快了数据查询的速度。并且针对医疗科研工作者进行数据探查时,没有一种方法能够简单快速地计算字段之间的相关性,从而影响了医学数据探查进度的情况,本发明的数据查询方法提出基于条件熵相关性算法以及历史查询过程中字段或字段组合出现的次数,确定对医学数据库进行计算得到的需要执行的目标数据立方体中字段之间的相关性,并基于所述相关性进行需要执行的目标数据立方体中字段组合的筛选;从而实现简单快速计算多个字段之间相关性,从而便于简单快速确定数据立方体,从而提高了后续对数据立方体中相关字段的数据探查以及查询的效率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1