查询一个或多个数据库的制作方法_6

文档序号:9529256阅读:来源:国知局
0287]
[028引
[0289]
[0290]
[0291]
【主权项】
1. 一种用于查询一个或多个数据库的方法,其包括: 在计算设备处接收起始节点的选择,其中所述起始节点包括在与一个或多个数据库表 对应的模型中; 在所述计算设备处接收第一集合的一个或多个叶的选择,其中每个叶连接到所述模型 中的节点; 基于所述起始节点和所述第一集合的叶生成第一数据库查询; 基于对所述一个或多个数据库执行的所述第一数据库查询,提供第一结果输出; 接收在所述第一结果输出中的结果选择; 基于所述第一结果输出中所述结果的选择,生成第二数据库查询,其中所述第二数据 库查询与所述结果所关联的细节集合关联;以及 基于对所述一个或多个数据库执行的所述第二数据库查询,提供第二结果输出。2. 根据权利要求1所述的方法,其中所述一个或多个数据库是关系数据库,以及所述 第一和第二数据库查询是SQL(结构化查询语言)查询。3. 根据权利要求1或权利要求2所述的方法,其中所述第一集合的叶中的每个叶与第 一叶类型或第二叶类型中的一个关联。4. 根据权利要求3所述的方法,其中所述第一结果输出包括所述第一集合中每个叶的 列以及与所述第一集合中所述第一叶类型关联的叶的每个唯一元组的值的单独行。5. 根据权利要求4所述的方法,其中对于与所述第二叶类型关联的叶对应的所述第一 结果输出中的每个列,基于所述行中的数据在所述列的每个行中提供汇总值。6. 根据权利要求5所述的方法,其中所述汇总值基于计算所述行中的一个或多个值的 总和、计数、平均值、最小值或最大值。7. 根据权利要求1-6中任一项所述的方法,其中所述模型包括多个互连节点,其中每 个节点与一个或多个叶关联。8. 根据权利要求7所述的方法,其中所述第一集合中的每个叶与所述多个互连节点中 的所述起始节点或另一个节点关联。9. 根据权利要求1-8中任一项所述的方法,其中生成所述第一数据库查询包括: 生成五个数据集以存储数据库查询片段; 对于所述第一集合中的每个叶,基于所述叶的属性,将一个或多个数据库查询片段添 加到所述五个数据集中的一个或多个中;以及 通过将来自所述五个数据集的数据库查询片段追加在一起来构造所述第一数据库查 询。10. 根据权利要求1-9中任一项所述的方法,其中所述第一数据库查询包括SQL(结构 化查询语言)查询,以及所述五个数据集对应于SELECT、JOIN、WHERE、GROUPBY和HAVING 的SQL命令。11. 根据权利要求1-10中任一项所述的方法,其中与所述结果关联的所述细节集合与 第二起始节点和第二集合的叶关联,其中生成所述第二数据库查询包括,基于所述第二起 始节点和所述第二集合的叶生成所述第二数据库查询,并且其中按所述第一结果输出中与 所述选定的结果对应的行中包括的一个或多个值对所述第二数据库查询进行过滤。12. 根据权利要求1-11中任一项所述的方法,其中所述一个或多个数据库包括关系数 据库、非关系数据库、基于文件的数据库和/或非基于文件的数据库。13. 根据权利要求1-12中任一项所述的方法,其中所述第一结果输出根据所述第一集 合中的所述叶中的一个进行排序。14. 一种用于生成数据库查询的系统,所述系统包括: 一个或多个数据库; 客户端设备;以及 服务器,所述服务器配置来: 通过数据网络从所述客户端设备接收模型输入,其中所述模型输入包括与所述一个或 多个数据库中存储的一个或多个数据库表对应的模型中包括的节点和第一集合的叶; 生成多个数据集以存储数据库查询片段; 对于第一集合中的每个叶,基于所述叶的属性,将一个或多个数据库查询片段添加到 所述多个数据集中的一个或多个中; 通过将来自所述多个数据集的数据库查询片段追加在一起来构造数据库查询; 对所述一个或多个数据库执行所述数据库查询;以及 将所述数据库查询的结果返回到所述客户端设备。15. 根据权利要求14所述的系统,其中所述数据库查询包括SQL(结构化查询语言)查 询,以及所述多个数据集对应于SELECT、JOIN、WHERE、GROUPBY和HAVING的SQL命令。16. 根据权利要求15所述的系统,其中所述叶与叶SQL片段和叶标识符关联,并且其 中所述服务器配置来在所述叶可从所述节点达到时,使用语法" {叶SQL片段}AS{叶标识 符} "将SQL片段添加到所述SELECT数据集。17. 根据权利要求15所述的系统,其中所述叶与叶标识符关联,并且其中所述服务器 配置来在所述叶与第一叶类型关联时,使用语法" {叶标识符} "将SQL片段添加到所述 GROUPBY数据集。18. 根据权利要求15所述的系统,其中所述叶与叶标识符和节点连接SQL片段关联, 并且其中所述服务器配置来在所述叶未连接到所述节点而是连接到所述模型中的另一个 节点时,使用语法"LEFTJ0IN{节点标识符}ON{:节点连接SQL片段} "将SQL片段添加到 JOIN数据集,其中所述节点连接SQL片段与将所述模型中的两个节点连接关联。19. 一种用于查询数据库的方法,其包括: 在服务器设备处,通过网络连接从客户端设备接收查询输入; 基于所述查询输入生成数据库查询; 使得所述数据库查询开始对一个或多个数据库执行; 确定所述客户端设备与所述服务器设备之间是否存在网络连接;以及 当所述服务器确定所述客户端设备与所述服务器设备之间不存在网络连接时,使得所 述数据库查询撤销。20. 根据权利要求19所述的方法,其中确定所述客户端设备与所述服务器之间是否存 在网络连接包括对所述网络连接执行非阻塞读取。21. -种用于查询数据库的方法,其包括: 由服务器计算设备,通过网络连接从客户端设备接收查询输入; 在所述客户端计算设备与所述服务器计算设备之间建立非阻塞套接字; 基于所述查询输入生成数据库查询; 使得所述数据库查询开始对一个或多个数据库执行; 由所述服务器计算设备对所述非阻塞套接字执行读取请求; 响应对所述非阻塞套接字的读取请求,接收代码; 基于所接收的代码确定所述客户端设备与所述服务器设备之间是否存在网络连接;以 及 当所述服务器确定所述客户端设备与所述服务器设备之间不存在网络连接时,使得所 述数据库查询撤销。22. 根据权利要求21所述的方法,其中所述一个或多个数据库是关系数据库,以及所 述查询是SQL(结构化查询语言)查询。23. 根据权利要求21或22所述的方法,其中使得所述数据库查询撤销包括使得第二数 据库查询开始对所述一个或多个数据库执行。24. 根据权利要求21-23中任一项所述的方法,其中每个非阻塞套接字与对应查询之 间存在一对一映射,并且其中维护每个非阻塞套接字查询映射的列表。25. 根据权利要求24所述的方法,其还包括对所述列表中包括的每个非阻塞套接字周 期性地执行所述读取请求。26. 根据权利要求21-25中任一项所述的方法,其中所述代码指示通过所述网络连接, 所述客户端计算设备在所述非阻塞套接字相对于所述服务器计算设备的另一端被连接。27. 根据权利要求26所述的方法,其中所述代码包括"EAGAIN"或"EWOULDBLOCK"消息 中的一个或多个。28. -种用于查询数据库的服务器计算设备,其包括: 处理器;以及 存储器,所述存储器存储在被所述处理器执行时使得所述服务器计算设备执行如下步 骤的指令: 通过网络连接从客户端设备接收查询输入; 在所述客户端计算设备与所述服务器计算设备之间建立非阻塞套接字; 基于所述查询输入生成数据库查询; 使得所述数据库查询开始对一个或多个数据库执行; 对所述非阻塞套接字执行读取请求; 响应对所述非阻塞套接字的所述读取请求,接收代码; 基于所接收的代码确定所述客户端设备与所述服务器设备之间是否存在网络连接;以 及 当所述服务器确定所述客户端设备与所述服务器设备之间不存在网络连接时,使得所 述数据库查询撤销。29. 根据权利要求28所述的服务器计算设备,其中所述一个或多个数据库是关系数据 库,以及所述查询是SQL(结构化查询语言)查询。30. 根据权利要求28或29所述的服务器计算设备,其中使得所述数据库查询撤销包括 使得第二数据库查询开始对所述一个或多个数据库执行。31. 根据权利要求28-30中任一项所述的服务器计算设备,其中每个非阻塞套接字与 对应查询之间存在一对一映射,并且其中维护每个非阻塞套接字查询映射的列表。32. 根据权利要求31所述的服务器计算设备,其还包括对所述列表中包括的每个非阻 塞套接字周期性地执行所述读取请求。33. 根据权利要求28-32中任一项所述的服务器计算设备,其中所述代码指示通过所 述网络连接,所述客户端计算设备在所述非阻塞套接字相对于所述服务器计算设备的另一 端被连接。34. 根据权利要求33所述的服务器计算设备,其中所述代码包括"EAGAIN"或 "ETOULDBLOCK"消息中的一个或多个。35. -种用于查询数据库的客户端计算设备,其包括: 处理器;以及 存储器,所述存储器存储在被所述处理器执行时使得所述客户端计算设备执行如下步 骤的指令: 通过网络连接将查询输入传送到服务器计算设备,其中在所述客户端计算设备与所述 服务器计算设备之间建立非阻塞套接字,并且其中基于所述查询输入生成数据库查询并对 一个或多个数据库执行所述数据库查询; 从所述服务器计算设备接收对所述非阻塞套接字的读取请求;以及 响应对所述非阻塞套接字的读取请求,向所述服务器计算设备传送代码,其中所述代 码使所述服务器计算设备能够基于所接收到的代码确定所述客户端设备与所述服务器计 算设备之间是否仍存在网络连接,并且其中所述服务器计算设备能够在所述服务器计算设 备确定所述客户端设备与所述服务器计算设备之间不存在网络连接时,使得所述数据库查 询撤销。36. 根据权利要求35所述的客户端计算设备,其中一个或多个数据库是关系数据库, 以及所述查询是SQL(结构化查询语言)查询。37. 根据权利要求35或36所述的客户端计算设备,其中所述非阻塞套接字与所述查询 之间存在一对一映射,并且其中维护每个非阻塞套接字-查询映射的列表。38. 根据权利要求35-37中任一项所述的客户端计算设备,其中所述读取请求是周期 性地从所述服务器计算设备接收的。39. 根据权利要求35-38中任一项所述的客户端计算设备,其中所述代码指示所述客 户端计算设备通过所述网络连接被连接。40. 根据权利要求35-39中任一项所述的客户端计算设备,其中所述代码包括 "EAGAIN"或"EWOULDBLOCK"消息中的一个或多个。41. 一种包括指令的非瞬态记录介质,在所述指令被服务器计算设备的处理器执行时 使得所述服务器计算设备执行如下步骤: 通过网络连接从客户端设备接收查询输入; 在所述客户端计算设备与所述服务器计算设备之间建立非阻塞套接字; 基于所述查询输入生成数据库查询; 使得所述数据库查询开始对一个或多个数据库执行; 对所述非阻塞套接字执行读取请求; 响应对所述非阻塞套接字的所述读取请求,接收代码; 基于所接收的代码确定所述客户端设备与所述服务器设备之间是否存在网络连接;以 及 当所述服务器确定所述客户端设备与所述服务器设备之间不存在网络连接时,使得所 述数据库查询撤销。42. 根据权利要求41所述的非瞬态记录介质,其中一个或多个数据库是关系数据库, 以及所述查询是SQL(结构化查询语言)查询。43. 根据权利要求41或42所述的非瞬态记录介质,其中使得所述数据库查询撤销包括 使得第二数据库查询开始对所述一个或多个数据库执行。44. 根据权利要求41-43中任一项所述的非瞬态记录介质,其中每个非阻塞套接字与 对应查询之间存在一对一映射,并且其中维护每个非阻塞套接字查询映射的列表。45. 根据权利要求44所述的非瞬态记录介质,其还包括在被所述服务器计算设备的所 述处理器执行时使得所述服务器计算设备对所述列表中包括的每个非阻塞套接字周期性 地执行所述读取请求的指令。46. 根据权利要求41-45中任一项所述的非瞬态记录介质,其中所述代码指示通过所 述网络连接,所述客户端计算设备在所述非阻塞套接字相对于所述服务器计算设备的另一 端被连接。47. 根据权利要求46所述的非瞬态记录介质,其中所述代码包括"EAGAIN"或 "ETOULDBLOCK"消息中的一个或多个。48. -种包括指令的非瞬态记录介质,在所述指令被客户端计算设备的处理器执行时 使得所述客户端计算设备执行如下步骤: 通过网络连接将查询输入传送到服务器计算设备,其中在所述客户端计算设备与所述 服务器计算设备之间建立非阻塞套接字,并且其中基于所述查询输入生成数据库查询并对 一个或多个数据库执行所述数据库查询; 从所述服务器计算设备接收对所述非阻塞套接字的读取请求;以及 响应对所述非阻塞套接字的读取请求,向所述服务器计算设备传送代码,其中所述代 码使所述服务器计算设备能够基于所接收到的代码确定所述客户端设备与所述服务器计 算设备之间是否仍存在网络连接,并且其中所述服务器计算设备能够在所述服务器计算设 备确定所述客户端设备与所述服务器计算设备之间不存在网络连接时,使得所述数据库查 询撤销。49. 根据权利要求48所述的非瞬态记录介质,其中一个或多个数据库是关系数据库, 以及所述查询是SQL(结构化查询语言)查询。50. 根据权利要求48或49所述的非瞬态记录介质,其中所述非阻塞套接字与所述查询 之间存在一对一映射,并且其中维护每个非阻塞套接字-查询映射的列表。51. 根据权利要求48-50中任一项所述的非瞬态记录介质,其中所述读取请求是周期 性地从所述服务器计算设备接收的。52. 根据权利要求48-51中任一项所述的非瞬态记录介质,其中所述代码指示所述客 户端计算设备通过所述网络连接被连接。53. 根据权利要求48-52中任一项所述的非瞬态记录介质,其中所述代码包括 "EAGAIN"或"EWOULDBLOCK"消息中的一个或多个。54. 根据权利要求1-13任一项所述的方法,其中所述第一集合的一个或多个叶中的至 少两个叶连接到所述模型中的不同节点。55. 根据权利要求14-18任一项所述的系统,其中所述第一集合的一个或多个叶中的 至少两个叶连接到所述模型中的不同节点。
【专利摘要】公开用于查询数据库的系统和方法,其中将数据库表示为模型中的节点。每个节点与至少一个叶关联。可以将这些节点彼此互连。服务器从客户端设备接收模型输入,该模型输入包括起始节点、一个或多个叶以及可选地一个或多个过滤器。
【IPC分类】G06F17/30
【公开号】CN105283870
【申请号】CN201480015671
【发明人】劳埃德·塔布, 本杰明·波特菲尔德
【申请人】卢克数据科学公司
【公开日】2016年1月27日
【申请日】2014年3月14日
【公告号】CA2904788A1, EP2973050A2, US20140280332, WO2014144938A2, WO2014144938A3
当前第6页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1