近似查询处理的制作方法

文档序号:9383088阅读:591来源:国知局
近似查询处理的制作方法
【专利说明】近似查询处理
【背景技术】
[0001] 随着数据采集和数据管理的进展,数据规模已经变得非常大。海量的可用数据可 以导致昂贵的查询处理次数。虽然诸如数据挖掘、决定支持和分析之类的某些应用可能期 望保持短的查询响应时间,但是在某些其他应用中,近似回答可能足以提供关于数据的见 解。
【附图说明】
[0002] 附图图示了本公开的各种方面的各种示例。将理解,在图中图示的元素边界(例 如,框、框的组或者其他形状)表示边界的一个示例。将理解,在某些示例中,一个元素可以 被设计为多个元素或者多个元素可以被设计为一个元素。在某些示例中,被示出为另一元 素的内部部件的元素可以被实现为外部部件,并且反之亦然。
[0003] 图1是根据本公开的示例的、可以获得针对在数据库上的查询的近似回答的系统 的框图; 图2是针对根据本公开的示例的、获得针对在数据库上的查询的近似回答的方法的过 程流程图; 图3是根据本公开的示例的、前k (top-k)直方图(histogram)的结构图; 图4是针对根据本公开的示例的、获得针对在数据库上的查询的近似回答的另一方法 的过程流程图; 图5是示出了根据本公开的示例的、存储用于获得针对在数据库上的查询的近似回答 的非瞬时计算机可读介质的框图。
【具体实施方式】
[0004] 公开了用于生成针对在数据库上的查询的近似回答的系统和方法。如本文使用的 那样,数据库指可以以各种方式组织的数据的结构化集合。不失一般性并且如以下使用的 那样,数据库可以由行和列组成,其中每行表示在数据库中的记录并且每列表示针对属性 值的集合。如本文使用的那样,查询指用于在数据库中搜索满足某些条件的记录和/或属 性或者获得关于这些记录和/或属性的统计的操作。本文公开的系统和方法的示例可以将 查询划分成多个子查询并且获得针对这些子查询的近似回答,其然后可以被组合以得到针 对查询的近似回答。本文公开的系统和方法的示例可以提供针对在短的响应时间内回答的 查询的准确近似并且还可以支持复杂的查询。
[0005] 在下文中,参考图详细描述了根据本公开的某些示例。
[0006] 现在参考图1,图1图示了根据本公开的示例的、可以获得针对在数据库上的查询 的近似回答的系统的框图。系统一般由参考数字100指代。本领域中的那些普通技术人员 将理解,在图1中示出的功能块和设备可以包括包含电路的硬件元素、包含存储在有形的 机器可读介质上的计算机代码的软件元素或者硬件和软件元素两者的组合。此外,系统100 的功能块和设备只是可以在示例中实现的功能块和设备的一个示例。本领域中的那些普通 技术人员将能够容易地基于针对特定电子设备的设计考虑来定义具体的功能块。
[0007] 系统100可以包括通过网络106通信的服务器102和一个或多个客户端计算机 104。如在图1中图示的那样,服务器102可以包括一个或多个处理器108,所述一个或多个 处理器108可以通过总线110连接到显示器112、键盘114、一个或多个输入设备116以及 诸如打印机118的输出设备。输入设备116可以包括诸如鼠标或触摸屏之类的设备。处理 器108可以包括单核、多核或者在云计算架构中的核的集群。服务器102还可以通过总线 110连接到网络接口卡(NIC) 120。NIC 120可以将服务器102连接到网络106。
[0008] 网络106可以是局域网(LAN)、广域网(WAN)或者另一网络配置。网络106可以包 括路由器、交换机、调制调解器或者用于互连的任何其他类型的接口设备。网络106可以连 接到若干客户端计算机104。通过网络106,若干客户端计算机104可以连接到服务器102。 可以与服务器102那样类似地构造客户端计算机104。网络还可以连接到数据库130。数 据库130可以是任何类型的数据库并且还可以位于服务器102中。数据库130可以保持包 括但不限于事件日志的任何类型的数据,所述事件日志是通常使用的高维数据中的一个并 且可以具有超过一百的维度。
[0009] 例如,出于诸如安全管理、IT故障排除(shooting)或者用户行为分析的目的,可 以处理并分析事件日志。当用户想分析匹配具体标准的事件时,用户可能需要创建查询以 从事件日志数据库搜索事件。查询可以像匹配术语一样简单,诸如"登录"或者IP地址;或 者其可以更复杂,诸如包括多个IP地址和端口并且发生在具体时间范围内的、来自属于特 定设备组的设备的事件。用户可以在用于选择或者拒绝事件日志的查询表达式中指定条件 的集合。
[0010] 作为示例,用户可以利用连接这些条件的运算符在查询表达式中指定多个条件。 例如,查询名歡=Λ关效游登录〃与αν如澈彦/= "成·坊〃的搜索具有被设置成"失败的登 录"的"名称"字段和未被设置成"成功"的消息字段的事件日志。在字段条件之间可以支持 各种运算符,所述各种运算符包括但不限于诸如'在……之 间(BETWEEN)'、'在......中(IN)'、'以......开始(STARTSWITH) '、'以......结束(ENDSWITH)' 和'包含(CONTAINS)'之类的字符串运算符,诸如'在…… 之间(BETWEEN)'之类的数值/时间戳运算符,诸如'是(IS)'之类的SQL运算符、诸如'与 (AND)'、'或(0R)'、'非(NOT)'之类的布尔运算符以及诸如'在……中(IN)'之类的列表运 算符。
[0011]出于方便的目的,假设在例如高维表格R的大数据集上执行查询q,其中表格R由 行(即,记录)和列(即,属性)组成,如上文描述的那样。可以使用SQL如下表示查询q :
其中,计数(count)指示具有是表格R中的具体值的Ax的记录的数量并且~是具有使 用Backus范式或者Backus-Naur形式(BNF)的以下递归定义的过滤条件:
如理解的那样,BNF规范是衍生规则的集合,其被写为〈符号(symbol )>: : =_表达式_, 其中〈符号〉是非终结符,并且_表达式_由符号的一个或多个的序列组成;更多序列由竖 条' I '分离,其指示选择,整体是针对在左边的符号的可能的代替物。从未在左侧出现的符 号是终结符(terminal)。在另一方面,在左侧出现的符号是非终结符并且总是被包围在对 〈>之间。'::='意味着必须以在右侧的表达式代替在左侧的符号。
[0012] 虽然不同的运算符可以针对不同的数据类型具有不同的语义,但是处理方法将类 似。如以下描述的那样,不失一般性,在数据库上的查询q可以由!丨, 的一般形式表不。
[0013] 继续图1,服务器102可以具有通过总线110被可操作地耦合到处理器108的其 他单元。这些单元可以包括诸如记忆装置122之类的有形的机器可读存储介质。记忆装置 122可以包括硬件驱动器、只读存储器(R0M)、随机访问存储器(RAM)、RAM驱动器、闪存驱动 器、光驱动器、高速缓存存储器等等的任何组合。记忆装置122可以包括转换单元124、子 查询处理单元126和组合单元128。转换单元124可以利用范式将在数据库130上的查询 转换成子查询的集合。可以由用户通过输入设备116或使用键盘114输入查询或者可以 从客户端计算机104中的一个提交查询。例如,范式可以是以下将呈现其细节的析取范式 (DNF)。子查询处理单元126可以生成针对由转换单元124转换的子查询中的每个的近似 回答。组合单元128可以组合针对子查询的近似回答以获得针对最初输入或者提交的查询 的近似回答。
[0014] 现在参考图2,描绘了针对根据本公开的示例的、获得针对在数据库上的查询的近 似回答的方法的过程流程图。用户可以在数据库上输入查询。如上文描述的那样,查询可 以是具有由各种运算符连接的多个字段条件的复杂的一个。在框201处,查询被利用范式 转换成的子查询的集合。例如,范式可以是析取范式(DNF)。在布尔逻辑中,析取范式(DNF) 是逻
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1