[发明专利]一种数据查询的方法及装置在审
申请号: | 201810020220.9 | 申请日: | 2018-01-09 |
公开(公告)号: | CN108334563A | 公开(公告)日: | 2018-07-27 |
发明(设计)人: | 接钧靖;张毅然;周韵;冯是聪 | 申请(专利权)人: | 北京明略软件系统有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 林桐苒;李丹 |
地址: | 102218 北京市昌平区东小*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 查询 三元组 结构化查询语言语句 有向无环图 数据查询 缓存池 数据库 查询数据 范围表示 关系构建 结果转换 模型遍历 键约束 遍历 验证 重复 | ||
一种数据查询的方法及装置,该方法包括:将数据库中的所有表根据外键约束关系构建出一个或多个有向无环图;将待验证的数据范围表示为一个三元组模型,根据所述三元组模型遍历所述有向无环图,将遍历结果转换为结构化查询语言语句;将所述三元组模型和根据所述结构化查询语言语句查询出的数据缓存在缓存池中;查询数据时,先在所述缓存池中查询,没查询到相关数据再到所述数据库中查询。该方案可以有效避免对数据的重复查询。
技术领域
本公开实施例涉及但不限于数据库领域,尤指一种数据查询的方法及装置。
背景技术
在为客户提供大数据解决方案的时候,通常需要建立复杂的数据模型,并将数据模型存储在关系型数据库中。相关应用将会根据数据模型对客户的海量数据进行处理。一旦在处理过程中发现数据模型有误,对海量数据的处理结果的回滚或者重运行的代价都会非常的高,因此保证数据模型的正确性是至关重要的。以往数据模型的正确性都是由领域专家人工review(检验)来保证,当数据模型非常复杂时,要保证正确性仅靠人工是非常困难的。因而就需要制定一系列验证规则,对存储在关系型数据库中的数据模型进行细致的验证。但是,目前的许多数据验证方法需要编写大量SQL(Structured Query Language,结构化查询语言)语句,而且对数据库指定数据进行重复查询,这样不仅效率低,耗时长,并且对数据库的性能有影响。
发明内容
本公开实施例提供一种数据查询的方法及装置,以有效避免对数据的重复查询。
一种数据查询的方法,包括:
将数据库中的所有表根据外键约束关系构建出一个或多个有向无环图;
将待验证的数据范围表示为一个三元组模型,根据所述三元组模型遍历所述有向无环图,将遍历结果转换为结构化查询语言语句;
将所述三元组模型和根据所述结构化查询语言语句查询出的数据缓存在缓存池中;
查询数据时,先在所述缓存池中查询,没查询到相关数据再到所述数据库中查询。
可选地,所述三元组模型包括以下元素:根节点类型,叶节点类型和根节点标识,其中,所述叶节点类型决定待验证数据的类型,所述根节点类型和所述根节点标识待验证数据的范围。
可选地,当所述根节点类型为空时,表示对所有的数据表进行查询验证。
可选地,所述根据所述三元组模型遍历所述有向无环图,将遍历结果转换为结构化查询语言语句,包括:
查询到一条从所述三元组模型中的根节点到叶节点的路径后,将所述根节点和所述叶节点依次入栈;
遍历完所述有向无环图后,再将堆栈元素依次出栈,出栈过程中将叶节点表作为查询目标,出栈完成后将根节点表和根节点标识的组合作为条件查询。
可选地,出栈完成后是在确定根节点不为空的情况下,将根节点表和根节点标识的组合作为条件查询的。
一种数据查询的装置,其中,包括:
构建模块,用于将数据库中的所有表根据外键约束关系构建出一个或多个有向无环图;
遍历模块,用于将待验证的数据范围表示为一个三元组模型,根据所述三元组模型遍历所述有向无环图,将遍历结果转换为结构化查询语言语句;
缓存模块,用于将所述三元组模型和根据所述结构化查询语言语句查询出的数据缓存在缓存池中;
查询模块,用于查询数据时,先在所述缓存池中查询,没查询到相关数据再到所述数据库中查询。
可选地,所述三元组模型包括以下元素:根节点类型,叶节点类型和根节点标识,其中,所述叶节点类型决定待验证数据的类型,所述根节点类型和所述根节点标识待验证数据的范围。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京明略软件系统有限公司,未经北京明略软件系统有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810020220.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种页面显示方法和装置
- 下一篇:一种基于空间对象的多主题图表展示方法