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

文档序号:9529256阅读:293来源:国知局
查询一个或多个数据库的制作方法
【专利说明】查询一个或多个数据库
【背景技术】
[0001] 很多实体将数据项目存储在一个或多个数据库中。运些数据库往往包括具有多个 列和行的表。表中的每一个列与特定数据字段关联。表中的条目被组织在行中,对于该特 定行,其含有与多个列中存储的条目对应的数据。
[0002] 在将数据存储在数据库中常常遇到的一个问题是有效地查询数据。在一些实例 中,特定实体的数据可能散布在多个数据库表上。当数据集大且散布在多个数据库表上时, 查询该数据W返回有用的结果可能变成复杂且令人生畏的工作。此外,因为不同数据库表 之间的关系可能不会容易地被生成查询的人所理解,所W生成查询可能容易出错。

【发明内容】

[0003] -个实施方案提供用于查询一个或多个数据库的方法。该方法包括:在计算设备 处,接收起始节点的选择,其中所述起始节点被包括在与一个或多个数据库表对应的模型 中;在计算设备处接收第一集合的一个或多个叶的选择,其中每个叶连接到模型中的节点; 基于所述起始节点和所述第一集合的叶生成第一数据库查询;基于对所述一个或多个数据 库执行的第一数据库查询,提供第一结果输出;接收在所述第一结果输出中结果的选择; 基于所述第一结果输出中所述结果的选择,生成第二数据库查询,其中所述第二数据库查 询与所述结果所关联的细节集合关联;W及基于对所述一个或多个数据库执行的第二数据 库查询,提供第二结果输出。
[0004] 另一个实施方案提供用于生成数据库查询的方法。该方法包括:生成5个数据集 W存储数据库查询片段;对于第一集合中的每个叶,基于所述叶的属性,将一个或多个数据 库查询片段添加到所述5个数据集中的一个或多个中;W及通过将来自所述5个数据集的 数据库查询片段追加在一起来构造所述第一数据库查询。
[0005] 再一个实施方案提供用于生成数据库查询的系统。该系统包括:一个或多个数据 库;客户端设备;W及服务器。该服务器配置来:通过数据网络从所述客户端设备接收模型 输入,其中所述模型输入包括与所述一个或多个数据库中存储的一个或多个数据库表对应 的模型中包括的节点和第一集合的叶;生成多个数据集W存储数据库查询片段;对于第一 集合中的每个叶,基于所述叶的属性,将一个或多个数据库查询片段添加到所述多个数据 集中的一个或多个中;通过将来自所述多个数据集的数据库查询片段追加在一起来构造数 据库查询;对所述一个或多个数据库执行所述数据库查询;W及将所述数据库查询的结果 返回到所述客户端设备。
[0006] 又一个实施方案提供一种服务器,其配置来:通过数据网络从客户端设备接收模 型输入,其中所述模型输入包括与一个或多个数据库中存储的一个或多个数据库表对应的 模型中包括的节点和第一集合的叶;生成多个数据集W存储数据库查询片段;对于第一集 合中的每个叶,基于所述叶的属性,将一个或多个数据库查询片段添加到所述多个数据集 中的一个或多个中;通过将来自所述多个数据集的数据库查询片段追加在一起来构造数据 库查询;对所述一个或多个数据库执行所述数据库查询;W及将所述数据库查询的结果返 回到所述客户端设备。
[0007] 再一个实施方案提供用于查询数据库的方法。该方法包括:在服务器设备处,通过 网络连接从客户端设备接收查询输入;基于所述查询输入生成数据库查询;使得所述数据 库查询开始对一个或多个数据库执行;确定所述客户端设备与所述服务器设备之间是否存 在网络连接;W及当所述服务器确定所述客户端设备与所述服务器设备之间不存在网络连 接时,使得所述数据库查询撤销。
[0008] 再一些实施方案提供用于查询数据库和撤销此类查询的系统和方法。例如,服务 器计算设备可W包括处理器和存储器。该存储器存储在被处理器执行时使得服务器计算设 备执行如下步骤的指令:通过网络连接从客户端设备接收查询输入,在所述客户端计算设 备与所述服务器计算设备之间建立非阻塞套接字;基于所述查询输入生成数据库查询;使 得所述数据库查询开始对一个或多个数据库执行;对所述非阻塞套接字执行读取请求;响 应对所述非阻塞套接字的读取请求,接收代码;基于所接收的代码确定所述客户端设备与 所述服务器设备之间是否存在网络连接;W及当所述服务器确定所述客户端设备与所述服 务器设备之间不存在网络连接时,使得所述数据库查询撤销。
【附图说明】
[0009] 图1是根据示例实施方案的用于查询一个或多个数据库的示例系统的框图。
[0010] 图2是根据示例实施方案的配置来查询一个或多个数据库的计算设备的组件布 置的框图。
[0011] 图3是根据一个实施方案的计算设备的示例功能组件的框图。
[0012] 图4是根据示例实施方案的一个或多个数据库表的概念示意图。
[0013] 图5是图示根据示例实施方案的包括表示一个或多个数据库表的节点和叶的模 型的概念示意图。
[0014] 图6是图示根据示例实施方案的用于查询与图5中的模型关联的一个或多个数据 库的模型输入的概念示意图。
[0015] 图7是图示根据示例实施方案的查询与图6中的模型输入关联的一个或多个数据 库的结果输出的概念示意图。
[0016] 图8是图示根据示例实施方案的用于通过从结果输出选择结果来查询与图5中的 模型关联的一个或多个数据库的模型输入的概念示意图。
[0017] 图9是图示根据示例实施方案的用于在从先前结果输出选择结果之后查询与图6 中的模型输入关联的一个或多个数据库的结果输出的概念示意图。
[0018] 图10是图示根据示例实施方案的用于通过从结果输出选择结果来查询与图5中 的模型关联的一个或多个数据库的模型输入的概念示意图。
[0019] 图11是图示根据示例实施方案的用于在从后续结果输出选择结果之后查询与图 10中的模型输入关联的一个或多个数据库的结果输出的概念示意图。
[0020] 图12是图示根据示例实施方案的表示一个或多个数据库表的节点和叶的模型的 概念示意图。
[0021] 图13是图示根据示例实施方案的用户界面的概念示意图,该用户界面用于选择 用于查询与图12中的模型关联的一个或多个数据库的模型输入。
[0022] 图14是图示根据示例实施方案的用户界面的概念示意图,该用户界面用于显示 在从先前结果输出选择结果之后查询与图13中的模型输入关联的一个或多个数据库的结 果输出。
[0023] 图15是图示根据示例实施方案的又一个用户界面的概念示意图,该用户界面用 于选择用于查询与图12中的模型关联的一个或多个数据库的模型输入。
[0024] 图16是图示根据示例实施方案的用户界面,该用户界面用于显示在从先前结果 输出选择结果之后查询与图15中的模型输入关联的一个或多个数据库的结果输出。
[0025] 图17是根据示例实施方案的用于查询数据库的流程图。
[0026] 图18是根据示例实施方案的用于根据模型输入生成数据库查询的方法步骤的流 程图。
[0027] 图19是图示根据示例实施方案的包括一个节点和多个叶的模型的概念示意图。
[0028]图20是根据示例实施方案的用于撤销查询的技术的概念示意图。
[0029] 图21是根据一个实施方案的用于撤销查询的方法步骤的流程图。
【具体实施方式】
[0030]图1是根据示例实施方案的用于查询一个或多个数据库的示例系统的框图。该系 统包括客户端设备102、数据网络104、一个或多个服务器106和数据库108和110。
[0031] 客户端设备102可W是任何类型的计算设备,包括个人计算机、膝上型计算机、具 有计算能力的移动电话或任何其他类型的设备。除了别的之外,客户端设备102还包括设 备硬件120、软件应用122、其他应用、通信客户端、输出装置(例如显示器)和输入装置(例 如,键盘、鼠标、触摸屏)等。在一些实施方案中,活动设备102可W兼用作输出装置和输入 装置。
[0032] 设备硬件120包括物理计算机组件,如处理器和存储器。软件应用122配置来接收 用于查询一个或多个数据库108、110的输入。根据多种实施方案,软件应用122可W在客 户端设备102的0S(操作系统)中实现或作为客户端设备102上安装的单独应用来实现。 在一个实施方案中,软件应用122是Web浏览器应用。
[003引数据网络104可W是任何类型的通信网络,其中包括因特网(例如,广域网(WAN) 或局域网(LAN))、有线或无线网络或移动电话数据网络。
[0034] 客户端设备102配置来经由数据网络104与服务器106通信。服务器106包含处 理器执行的软件应用,该软件应用配置来基于从客户端设备102接收的输入生成对数据库 108、110的查询。服务器106与数据库108和110处于通信中。数据库108、110配置来存 储数据。数据库108、110可W是任何类型的数据库,除了别的之外,包括关系数据库、非关 系数据库、基于文件的数据库和/或非基于文件的数据库。
[0035] 正如此处更详细描述的,本发明公开的一个或多个实施方案提供用于查询一个或 多个数据库的系统和方法。正如所描述的,数据库常常被组织为一系列的表。根据多种实施 方案,可W将数据库查询模型构造为一系列互连的"节点",其中每个节点对应于一个数据 库表。在本发明公开的一个或多个实施方案中,节点映射到或对应于定义数据集的S化表 达式。此类数据集可W起始于数据库中的一个或多个行或可选地起始于S化表达式内。对 应地,在一些实施方案中,节点可W对应于数据库中未存储但是在SQL中作为已存储的数 据库表来处理的表。每个节点可W连接到ο个或多个其他节点。每个节点还可W与一个或 多个"叶"关联,其中每个叶对应于对应的数据库表中的列之一。每个叶还可W与标识符、 "叶类型"W及0或多个细节参数关联,正如此处更详细描述的。
[0036] 基于客户端设备102处的起始节点、一个或多个叶和0个或多个过滤器的选择生 成模型输入。经由数据网络104将该模型输入传送到服务器106。服务器106接收该模型 输入并基于模型输入生成数据库查询。对一个或多个数据库执行数据库查询并返回结果。
[0037] 正如所陈述的,该模型输入包括单个起始节点、一个或多个叶和0个或多个过滤 器的选择。该一个或多个叶可W是选定的起始节点的叶和/或连接到该起始节点的节点的 叶。正如此处更详细描述的,每个叶,除了别的之外,包括叶标识符、叶类型且任选地包括 "细节集合"。
[0038] 为了根据模型输入生成数据库查询,服务器106执行查询生成算法,如图18中更 详细描述的。目P,对于每个选定的叶,服务器106确定该叶是否可通过互连节点从选定的节 点达到。如果不能,则忽略该叶。使用选定的节点和可达到叶的集合,计算设备构造查询W 从数据库检索数据。此外,服务器106在生成的数据库查询内直接或在数据库查询返回结 果之后过滤从数据库返回的数据集合。然后执行查询,并返回结果。
[0039] 为了显示返回的结果,计算设备将结果中的列映射到模型输入的叶。如果"细节集 合"与模型输入中提供的特定叶关联,则计算设备还在结果中包括该叶对应于运些结果中 每个行的细节参数。
[0040] 图2是根据示例实施方案的配置来查询一个或多个数据库的计算设备200的组 件布置的框图。如所示,除了别的之外(未示出),计算设备200包括处理器202和存储器 204。在一个实施方案中,计算设备200包括客户端设备102。在另一个实施方案中,计算设 备200包括服务器设备106。
[0041] 存储器204包括处理器202执行的多种应用,包括安装的应用210、操作系统208 和软件应用222。在计算设备200包括客户端设备102的实施方案中,软件应用222包括 Web浏览器应用。在计算设备200包括服务器106的实施方案中,软件应用222包含配置来 接收模型输入W及生成数据库查询的软件应用。
[0042] 图3是根据一个实施方案的计算设备302的示例功能组件的框图。图示了计算设 备302的一个具体示例。可W使用计算设备302的许多其他实施方案。在一个实施方案 中,计算设备302包括客户端设备102。在另一个实施方案中,计算设备302包括服务器设 备 106。
[0043] 在图3所示的实施方案中,计算设备302包含一个或多个处理器311、存储器312、 网络接口 313、一个或多个存储装置314、电源315、输出装置360和输入装置380。计算设 备302还包含该客户端可执行的操作系统318和通信客户端340。组件311、312、313、314、 315、360、380、318和340中的每一个在物理上、通信上和/或操作上互连用于W任何操作方 式进行组件间的通信。
[0044] 如所示,处理器311配置来执行功能性和/或处理用于计算设备302内执行的指 令。例如,处理器311执行存储在存储器312中的指令或存储在存储装置314上的指令。 存储器312可W是非瞬态的计算机可读存储介质,其配置来在工作期间存储计算设备302 内的信息。在一些实施方案中,存储器312包括信息在计算设备302关机时将不会被保存 的临时存储器区域。此类临时存储器的示例包括易失性存储器,如随机存取存储器(RAM)、 动态随机存取存储器值RAM)和静态随机存取存储器(SRAM)。存储器312保存用于处理器 311执行的程序指令。
[0045] 存储装置314还包括一个或多个非瞬态计算机可读存储介质。存储装置314 -般 配置来较存储器312存储更大量的信息。存储装置314还可W配置用于信息的长期存储。在 一些示例中,存储装置314包括非易失性存储元件。非易失性存储元件的非限制性示例包 括硬磁盘、光盘、软盘、闪存存储器或电可编程存储器巧PROM)或电可擦写可编程巧EPROM) 存储器的形式。
[0046] 计算设备302使用网络接口 313经由一个或多个网络与外部设备通信,如图1所 示的服务器106和/或数据库108。网络接口 313可W是网络接口卡,如W太网网卡、光收 发器、射频收发器或能够发送和接收信息的任何其他类型的装置。网络接口的其他非限制 性示例包括移动计算设备中的无线网络接口、蓝牙⑥、3G和WiF顿无线电和USB(通用串 行总线)。在一些实施方案中,计算设备302使用网络接口 313与外部设备、另一个移动电 话或其他联网的计算设备进行无线通信。
[0047] 计算设备302包括一个或多个输入装置380。输入装置380配置来通过接触、音 频、视频或其他感测反馈从用户接收输入。输入装置380的非限制性示例包括存在敏感屏 幕(presence-sensitivescreen)、鼠标、键盘、语音响应系统、摄像机302、录像
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1