查询计划和操作感知通信缓冲区管理的制作方法

文档序号:15576894发布日期:2018-09-29 05:41阅读:145来源:国知局

本申请要求2015年6月10日递交的发明名称为“查询计划和操作感知通信缓冲区管理(queryplanandoperation-awarecommunicationbuffermanagement)”的第14/736,050号美国非临时专利申请案的在先申请优先权和权益,该在先申请的内容以引用的方式并入本文本中。

本发明涉及一种用于网络通信的系统和方法,且在具体实施例中,涉及一种用于分布式数据库系统中的查询计划和操作感知通信缓冲区管理的系统和方法。



背景技术:

一个查询执行计划可指定用于处理查询的一系列步骤。这些步骤可通过分布式数据库系统的网络节点中的上层操作执行。由查询执行计划指定的部分步骤可能需要网络节点交换数据消息。例如,一个步骤可能需要在不同网络节点处维护的数据表的联合操作,因此部分表中的信息可通过数据消息在网络节点之间传送。网络节点可维护用于存储和处理数据消息的缓冲区。例如,每个网络节点可维护一个用于存储传入的数据消息的通信缓冲区,以及多个用于存储正在通过上层操作处理或者可以通过上层操作处理的数据消息的工作缓冲区。



技术实现要素:

本发明的实施例描述了一种用于查询计划和操作感知通信缓冲区管理的系统和方法,从而大体上实现技术上的优势。

根据一个实施例,提供了一种用于分布式数据库网络中的缓冲区管理的方法。在本示例中,所述方法包括在网络节点处接收数据消息。一个查询执行计划分配至少部分所述数据消息来通过所述网络节点的不同上层查询处理操作进行处理,每个所述上层查询处理操作用于处理存储在多个工作缓冲区中的相应一个工作缓冲区中的数据。所述方法还包括:基于分配来处理所述相应数据消息的相应上层查询处理操作的优先级,确定与所述数据消息相关联的优先级。所述方法还包括:根据与所述数据消息相关联的所述优先级,在所述网络节点的通信缓冲区中缓冲所述数据消息。优先级不同的数据消息存储在不同通信缓冲区中。存储在所述通信缓冲区中的所述数据消息不能通过所述上层查询处理操作进行处理,直到所述数据消息从所述通信缓冲区转发到所述工作缓冲区。还提供了一种用于执行所述方法的装置。

根据另一实施例,提供了一种用于分布式数据库网络中的缓冲区管理的方法。在本示例中,所述方法包括从网络节点接收数据消息。至少部分所述数据消息与不同的查询相关联。分配所述数据消息以便由一个或多个查询执行计划通过第一个网络节点的一个或多个上层查询处理操作进行处理。每个所述上层处理操作用于处理存储在多个工作缓冲区中的相应一个工作缓冲区中的数据。所述方法还包括:基于与所述数据消息中的相应一个相关联的查询的优先级、上层查询处理操作的优先级,或它们的组合,确定与所述数据消息相关联的优先级。所述方法还包括:根据与所述数据消息相关联的所述优先级,在所述网络节点的通信缓冲区中缓冲所述数据消息。优先级不同的数据消息存储在不同通信缓冲区中。存储在所述通信缓冲区中的所述数据消息不能通过所述上层查询处理操作进行处理,直到所述数据消息从所述通信缓冲区转发到所述工作缓冲区。还提供了一种用于执行所述方法的装置。

附图说明

为了更完整地理解本发明及其优点,现在参考下文结合附图进行的描述,其中:

图1示出了传统分布式数据库网络的图;

图2示出了一个实施例分布式数据库网络的图;

图3示出了用于分布式数据库网络中的通信缓冲区管理的一个实施例方法的流程图;

图4示出了用于分布式数据库网络中的通信缓冲区管理的另一实施例方法的流程图;

图5示出了用于通信缓冲区管理的一个实施例方法的流程图;

图6示出了用于分布式数据库网络中的哈希连接的一个实施例方法的图;

图7示出了一个实施例通信设备的图;

图8示出了一个实施例计算平台的图。

除非另有指示,否则不同图中的对应标号和符号通常指代对应部分。绘制各图是为了清楚地说明实施例的相关方面,因此未必是按比例绘制的。

具体实施方式

下文将详细论述本发明实施例的制作和使用。应了解,本文所揭示的概念可以在多种具体环境中实施,且所论述的具体实施例仅作为说明而不限制权利要求书的范围。进一步的,应理解,可在不脱离由所附权利要求书界定的本发明的精神和范围的情况下,对本文做出各种改变、替代和更改。

在分布式数据库网络中交换的数据消息量可随时间而大幅波动,取决于正在执行的处理任务。因此,网络节点中的通信缓冲区在某些时期可接收大量数据消息。通信缓冲区通常在先入先出(first-in-first-out,fifo)的基础上操作,使得数据消息按照它们在网络节点处的接收顺序传送到工作缓冲区中。此外,通信缓冲区可能无法将存储的数据消息传送到满载(或者不接受额外查询)的工作缓冲区中。因此,针对一个工作缓冲区(例如,满的工作缓冲区)的数据消息可能堵塞通信缓冲区,或者阻止通信缓冲区接收去往其它工作缓冲区(例如,空的或部分填充的工作缓冲区)的数据消息。这可能导致一个或多个上层操作闲置,或者其处理能力未充分使用,这随后可能降低整个系统的处理效率和/或增加完成处理任务所需的时间。这个问题在较低优先级操作(例如,非关键操作)阻止通信缓冲区针对与较高优先级操作(例如,关键操作)相关联的工作缓冲区接收数据消息时可能尤其严重。因此,需要用于改善网络节点的通信缓冲区中的数据消息管理的技术,以提高分布式数据库网络的处理效率。

本发明的各方面通过将优先顺序不同的数据消息存储到网络节点的不同通信缓冲区中来解决上述问题。更具体地,网络节点中的下层缓冲区管理实体可从另一网络节点接收数据消息。可分配不同数据消息来通过网络节点的不同上层操作进行处理。网络节点中的下层缓冲区管理实体可基于与数据消息相关联的查询的优先级、分配来处理数据消息的上层操作的优先级或者它们的组合来确定与数据消息相关联的优先级。

应注意,如果数据消息通过较高优先级上层操作进行处理,那么这些消息可分配到较高优先级。在一个实施例中,关键上层操作的优先级可高于非关键上层操作。在这一实施例中,如果数据消息通过关键上层操作进行处理,那么这些数据消息可分配到较高优先级。相应地,下层缓冲区管理实体可根据与数据消息相关联的优先级在通信缓冲区中缓冲数据消息。例如,较高优先级数据消息可在较高优先级通信缓冲区中得到缓冲,而较低优先级数据消息可在较低优先级通信缓冲区中得到缓冲。部分通信缓冲区可具有不同的存储容量。例如,较高优先级通信缓冲区的存储容量可大于较低优先级通信缓冲区。在一些实例中,在高优先级通信缓冲区可能仍然有至少一些可用空间来存储额外的数据消息时,较低优先级通信缓冲区可能满了。在这类实例中,下层缓冲区管理实体可拒绝接收额外的较低优先级数据消息,同时在较高优先级通信缓冲区中继续接收并缓冲额外的较高优先级数据消息。

在一些实施例中,当较低优先级通信缓冲区的存储容量已用尽时,下层缓冲区管理实体可向上游网络节点发送缓冲区反馈消息。当上游网络节点从下游网络节点收到缓冲区反馈消息时,上游网络节点可停止发送较低优先级数据消息,直到满足条件。在一个实施例中,当溢流定时器到期时,上游网络节点可恢复发送较低优先级数据消息。在另一实施例中,在已从下游网络节点收到指示上游网络节点恢复发送较低优先级数据消息的后续缓冲区反馈消息时,上游网络节点可恢复发送较低优先级数据消息。在其它实施例中,当较低优先级通信缓冲区的存储容量已用尽时,下层缓冲区管理实体可丢弃额外的较低优先级消息。

当较高优先级通信缓冲区的可用容量低于阈值时,下层缓冲区管理实体可动态地将较低优先级通信缓冲区的至少部分存储容量重新分配给该较高优先级通信缓冲区。在一个实施例中,当较高优先级通信缓冲区的可用容量超过第一阈值且较低优先级通信缓冲区的可用容量低于第二阈值时,下层缓冲区管理实体可动态地将该较高优先级通信缓冲区的至少部分存储容量重新分配给该较低优先级通信缓冲区。此外,当满足重缓冲条件时,下层缓冲区管理实体可动态地为与较低优先级通信缓冲区中存储的较低优先级相关联的数据消息重新分配较高优先级,然后在较高优先级通信缓冲区中重缓冲这些数据消息。例如,当与较高优先级查询相关联的和/或分配来通过较高优先级上层操作进行处理的数据消息的数量低于阈值时,可满足重缓冲条件。这些和其它细节将在下文详细描述。

图1示出了传统分布式数据库网络100的图。如图所示,传统分布式数据库网络100包括通过网络连接150连接的下游网络节点110和上游网络节点130。下游网络节点110包括上层操作111、112、113、工作缓冲区114、115、116、下层缓冲区管理实体117和通信缓冲区118。类似地,上游网络节点130包括上层操作131、132、133、工作缓冲区134、135、136、下层缓冲区管理实体137和通信缓冲区138。上游网络节点130中的上层操作131、132、133生成数据消息。上层操作131可以是较高优先级和/或关键操作,而上层操作132、133可以是较低优先级和/或非关键操作。然后将从上层操作131、132、133生成的数据消息存储到工作缓冲区134、135、136中,工作缓冲区134、135、136分别专用于上层操作131、132、133中的每一个。下层缓冲区管理实体137将数据消息从工作缓冲区134、135、136转发到通信缓冲区138。通信缓冲区138存储从工作缓冲区134、135、136收到的数据消息。下游网络节点110从上游网络节点130接收数据消息,并将数据消息存储到通信缓冲区118中。然后,下层缓冲区管理实体117基于上层操作111、112、113中的被分配来处理相应数据消息的上层操作,将数据消息转发到相应的工作缓冲区114、115、116。工作缓冲区114、115、116将数据消息转发到上层操作111、112、113。

应注意,通信缓冲区118为上层操作111、112、113中的每一个存储数据消息,上层操作111、112、113可能无法处理/访问通信缓冲区118中存储的数据消息,直到这些数据消息被转发到工作缓冲区114、115、116。通信缓冲区118可在先入先出(first-in-first-out,fifo)的基础上操作。因此,当相应工作缓冲区(例如,工作缓冲区116)已满时,分配给一个上层操作(例如,上层操作113)的数据消息可能妨碍通信缓冲区118。这可能阻止数据消息到达其它工作缓冲区(例如,工作缓冲区114、115),这随后可能导致部分上层操作闲置或者运作效率降低。

本发明的各方面通过基于数据消息的优先级将数据消息存储到不同通信缓冲区中来解决这个问题。可基于与数据消息相关联的查询和/或分配来处理数据消息的上层操作来为数据消息分配优先级。

图2示出了实施例分布式数据库网络200的图。如图所示,分布式数据库网络200包括通过网络连接250连接的下游网络节点210和上游网络节点230。下游网络节点210包括较高优先级上层操作(例如,关键操作)211、较低优先级上层操作(例如,非关键操作)212、213、工作缓冲区214、215、216、较高优先级通信缓冲区217、较低优先级通信缓冲区218、219和下层缓冲区管理实体220。类似地,上游网络节点230包括较高优先级上层操作231、较低优先级上层操作232、233、工作缓冲区234、235、236、较高优先级通信缓冲区237、较低优先级通信缓冲区238、239和下层缓冲区管理实体240。上游网络节点230中的上层操作231、232、233生成与上层操作的优先级相关联的数据消息。较高优先级上层操作231生成与较高优先级相关联的数据消息,而较低优先级上层操作232、233生成与较低优先级相关联的数据消息。从较高优先级上层操作231生成的数据消息存储在工作缓冲区234中,然后转发到较高优先级通信缓冲区237。而从较低优先级上层操作232、233生成的数据消息存储在工作缓冲区235、236中,然后转发到较低优先级通信缓冲区238、239。下层缓冲区管理实体240服务于通信缓冲区237、238、239,以通过网络连接250向下游网络节点210传输数据消息。当上游网络节点230从下游网络节点210收到缓冲区反馈消息时,上游网络节点230停止发送较低优先级数据消息,直到满足条件。当溢流定时器到期时,上游网络节点230恢复发送较低优先级数据消息。在一个实施例中,在已从下游网络节点210收到指示上游网络节点230恢复发送较低优先级数据消息的后续缓冲区反馈消息时,上游网络节点230恢复发送较低优先级数据消息。

当下游网络节点210从上游网络节点230收到数据消息时,下层缓冲区管理实体220基于分配来处理相应数据消息的相应上层查询处理操作的优先级、与相应数据消息相关联的查询的优先级或者它们的组合来确定与每个数据消息相关联的优先级。在一个实施例中,与分配来通过较高优先级上层操作进行处理的数据消息相关联的优先级高于分配来通过较低优先级上层操作进行处理的数据消息。在另一实施例中,分配与较高优先级查询相关联的数据消息。下层缓冲区管理实体220根据与数据消息相关联的优先级在通信缓冲区217、218、219中缓冲数据消息。例如,与较高优先级相关联的数据消息在通信缓冲区217中缓冲,而与较低优先级相关联的数据消息在通信缓冲区218、219中缓冲。通信缓冲区217、218、219中存储的数据消息不能通过上层操作211、212、213进行处理,直到数据消息从通信缓冲区217、218、219转发到工作缓冲区214、215、216。在一些实施例中,较高优先级通信缓冲(例如,通信缓冲区217)的存储容量大于至少一个较低优先级通信缓冲区(例如,通信缓冲区218、219中的一个)。在一些实例中,较低优先级通信缓冲区(例如,通信缓冲区218、219中的一个)可能变满,而较高优先级通信缓冲区(例如,通信缓冲区217)有可用空间来存储额外的数据消息。下层缓冲区管理实体220可拒绝缓冲在较低优先级通信缓冲区(例如,通信缓冲区218、219中的一个或两者)的存储容量用尽期间收到的任何额外的较低优先级数据消息,而仍然继续接收并且在较高优先级通信缓冲区(例如,通信缓冲区217)中缓冲额外的较高优先级数据消息。在这类实例中,下层缓冲区管理实体220可丢弃这一时间段收到的额外的较低优先级数据消息,无需在较低优先级通信缓冲区218、219中缓冲较低优先级数据消息。下层缓冲区管理实体220还可向上游网络节点230发送缓冲区反馈消息,指示上游网络节点230停止发送较低优先级数据消息。在其它实例中,上游网络节点230接收指示上游网络节点230停止发送较高优先级数据消息的缓冲区反馈消息。当较高优先级通信缓冲区217的可用存储容量低于阈值时,下层缓冲区管理实体220可动态地将一个或多个较低优先级通信缓冲区218、219的部分存储容量重新分配给较高优先级通信缓冲区217。在一个实施例中,当较高优先级通信缓冲区217的可用存储容量超过第一阈值和/或较低优先级通信缓冲区218、219的可用存储容量低于第二阈值时,下层缓冲区管理实体220可动态地将较高优先级通信缓冲区217的部分存储容量重新分配给一个或多个较低优先级通信缓冲区218、219。

下层缓冲区管理实体220可基于与数据消息中的相应一个相关联的查询的优先级、上层查询处理操作的优先级,或它们的组合,确定与数据消息相关联的优先级。在一个实施例中,数据消息的优先级基于查询优先级和上层操作优先级的组合来配置。例如,当数据消息与较高优先级查询相关联并且被分配来通过较高优先级上层操作211进行处理时,可为该数据消息分配较高优先级并且在较高优先级通信缓冲区217中缓冲该数据消息。当数据消息与较高优先级查询相关联并且被分配来通过较低优先级上层操作进行处理时,可为该数据消息分配较低优先级并且最初在较低优先级通信缓冲区(例如,通信缓冲区218、219)中缓冲该数据消息。在这一实例中,下层缓冲区管理实体220在满足重缓冲条件时可动态地为该数据消息重新分配较高优先级,然后在较高优先级通信缓冲区(例如,通信缓冲区217)中重缓冲该数据消息。在一个实施例中,当操作从较低优先级分类提升到较高优先级分类时,则满足重缓冲条件。例如,与较高优先级查询相关联的数据消息可分配来通过第一操作或第二操作进行处理。第一操作的优先级可高于第二操作,因此分配给第一操作的数据消息最初可存储在较高优先级通信缓冲区中,而分配给第二操作的数据消息最初可存储在较低优先级通信缓冲区中。随着时间的推移,分配给第一操作的至少部分数据消息可从较高优先级通信缓冲区转发到相应的工作缓冲区。当较高优先级通信缓冲区存储的数据消息量少于分配给第一操作的数据消息的阈值数量(例如,阈值大于或等于0)时,可满足重缓冲条件,这时,第二操作可被重分类为较高优先级应用,分配给第二操作的至少部分数据消息可在较高优先级通信缓冲区中重缓冲。

图3示出了用于分布式数据库网络中的通信缓冲区管理的一个实施例方法300的流程图,如可由下游网络节点中的下层缓冲区管理实体执行。如图所示,方法300开始于步骤310,在步骤310处,下游网络节点从上游网络节点接收数据消息。查询执行计划可分配数据消息来通过不同上层操作进行处理。随后,方法300前进到步骤320,在步骤320处,下层缓冲区管理实体基于分配来处理相应数据消息的相应上层操作的优先级来确定与数据消息相关联的优先级。在一个示例中,与分配来通过较高优先级上层操作(例如,关键操作)进行处理的数据消息相关联的优先级高于分配来通过较低优先级上层操作(例如,非关键操作)进行处理的数据消息。最后,方法300前进到步骤330,在步骤330处,下层缓冲区管理实体根据与数据消息相关联的优先级在下游网络节点的通信缓冲区中缓冲数据消息。优先级不同的数据消息存储在不同通信缓冲区中。相应地,下层缓冲区管理实体在较高优先级通信缓冲区中缓冲较高优先级数据消息,在较低优先级通信缓冲区中缓冲较低优先级数据消息。在一个实施例中,较高优先级通信缓冲区的存储容量大于较低优先级通信缓冲区。

图4示出了用于分布式数据库网络中的通信缓冲区管理的另一实施例方法400的流程图,如可由下游网络节点中的下层缓冲区管理实体执行。如图所示,方法400开始于步骤410,在步骤410处,下层缓冲区管理实体从上游网络节点接收数据消息。这些数据消息与不同查询相关联,并被分配由一个或多个查询执行计划通过下游网络节点的一个或多个上层操作进行处理。此外,每个上层操作用于处理存储在多个工作缓冲区中的相应一个工作缓冲区中的数据。随后,方法400前进到步骤420,在步骤420处,下层缓冲区管理实体基于相应查询的优先级、上层操作的优先级或它们的组合来确定与数据消息相关联的优先级。最后,方法400前进到步骤430,在步骤430处,下层缓冲区管理实体根据与存储在优先级不同的不同通信缓冲区中的数据消息相关联的优先级,在下游网络节点的通信缓冲区中缓冲数据消息。

在一些实施例中,当数据消息与较高优先级查询相关联且分配来通过较高优先级上层操作进行处理时,下层缓冲区管理实体确定该数据消息与较高优先级相关联。然后,在下游网络节点的较高优先级通信缓冲区中缓冲该数据消息。此外,当数据消息与较高优先级查询相关联且分配来通过较低优先级上层操作进行处理时,下层缓冲区管理实体可确定该数据消息与较低优先级相关联。在本实例中,最初在下游网络节点的较低优先级通信缓冲区中缓冲该数据消息。当满足重缓冲条件时,例如,当与较高优先级查询相关联且分配来通过较高优先级上层操作进行处理的数据消息的数量低于阈值时,下层缓冲区管理实体可动态地为存储在较低优先级通信缓冲区中的数据消息重新分配较高优先级。较低优先级数据消息在被重新分配较高优先级后在较高优先级通信缓冲区中重缓冲。

图5示出了用于通信缓冲区管理的一个实施例方法500的流程图。方法500开始于步骤505,在步骤505处,下游网络节点从上游网络节点接收通信请求。随后,方法500前进到步骤510,在步骤510处,下层缓冲区管理实体检查与通信请求相关联的优先级。随后,方法500前进到步骤515,在步骤515处,下层缓冲区管理实体确定与通信请求(例如,上层操作)相关联的优先级。如果下层缓冲区管理实体确定与通信请求相关联的优先级是较高优先级,则方法500前进到步骤520,在步骤520处,下层缓冲区管理实体确定较高优先级通信缓冲区的存储容量(例如,配额)是否可用。若是,则方法500前进到步骤535,在步骤535处,下层缓冲区管理实体在较高优先级通信缓冲区中缓冲通信请求。在步骤520处,如果下层缓冲区管理实体确定较高优先级通信缓冲区的存储容量不可用,则方法500前进到步骤525,在步骤525处,下层缓冲区管理实体确定较低优先级通信缓冲区的存储容量是否可用。若是,则方法500前进到步骤535,在步骤535处,下层缓冲区管理实体在较低优先级通信缓冲区中缓冲通信请求。在步骤525处,如果下层缓冲区管理实体确定较低优先级通信缓冲区的存储容量不可用,则方法500前进到步骤520。在步骤515处,如果下层缓冲区管理实体确定与通信请求相关联的优先级是较低优先级,则方法500前进到步骤530,在步骤530处,下层缓冲区管理实体确定较低优先级通信缓冲区的存储容量是否可用。若是,则方法500前进到步骤535,在步骤535处,下层缓冲区管理实体在较低优先级通信缓冲区中缓冲通信请求。或者,如果下层缓冲区管理实体确定较低优先级通信缓冲区的存储容量不可用,则方法500前进到步骤530。表1提供了如图5所示的通信缓冲区管理方法的伪码。

表1

通信层可根据查询执行计划和缓冲通信请求前的操作来确定通信请求的优先级。可使用元组<queryno,planno>方案确定通信请求的优先级。在传统分布式数据库系统(例如,大规模并行处理(massivelyparallelprocessing,mpp)数据库)中,queryno确定的每个查询可具有数据库工作负荷管理器确定的一个优先级。在这一实例中,通信缓冲区管理实体可使用与查询相关联的优先级来确定查询是否是关键操作。如果查询是关键操作,则可使用planno确定的计划执行顺序将通信请求确定为较高优先级。相反,如果查询是非关键操作,则可使用planno确定的计划执行顺序将通信请求确定为较低优先级。相应地,较高优先级查询可早于较低优先级查询进行处理。但是planno未必总是指示嵌套查询操作中的实际执行顺序。例如,嵌套查询操作中的嵌套哈希连接可包括构建阶段(例如,较高优先级)、探测阶段(例如,较低优先级),或它们的组合。

图6示出了用于分布式数据库网络中的哈希连接的一个实施例方法的图。如图所示,计划1中的哈希连接是最高操作。计划1中的哈希连接针对计划2的构建阶段和计划3的探测阶段与其它网络节点交换数据。x1和x2可代表在各个阶段(例如,构建阶段、探测阶段)与其它网络节点的数据交换。在根据计划2的构建阶段和根据计划3的探测阶段完成前,计划1中的哈希连接可能不会完成。类似地,在根据计划4的构建阶段和根据计划5的探测阶段完成前,计划2可能不会完成。数据交换x3可以使用构建阶段执行,但是探测阶段可以不交换数据。类似地,数据交换x4可以使用根据计划6的构建阶段执行,数据交换x5可以使用根据计划7的探测阶段执行。

在这类实例中,可使用二进制树状数据结构来维护操作与数据交换间的依赖关系。例如,可在计划1中建立树状结构,计划1可以是根节点。根据计划2的构建阶段可以是右子节点,根据计划3的探测阶段可以是左子节点。最右节点可以是计划4,数据交换可以在相应节点上标记(例如,在计划2的节点上标记x1,在计划3的节点上标记x2)。相应地,最右节点计划4可以与x3相关联并与其它网络节点进行数据交换。此外,如果计划4不与其它网络节点交换数据,则可以从树中移除计划4。例如,在生成通信请求时,可以检查与通信请求相关联的planno。如果通信请求被确定为树中的最右节点,则可为通信请求分配较高优先级。如果通信请求未被确定为树中的最右节点,则可为通信请求分配较低优先级。基于前述规则,如果计划节点没有标记任何数据交换,则可以从树中移除最右节点。此外,可以根据规则从树中移除一个或多个计划节点。例如,在移除计划4时可完成数据交换x3,随后计划5可以成为最右节点。相应地,如果计划5上没有标记任何数据交换,那么其也可以从树中移除。因此,计划2可以成为最右节点,x1可以是通信请求的较高优先级的继承者。表2提供了一种在二进制树状数据结构中检查优先级的算法。

表2

图7示出了可等同于上文论述的一或多个设备(例如,请求设备、候选设备、网络节点等)的通信设备700的一个实施例的方框图。通信设备700可以包括处理器704、存储器706、蜂窝接口710、辅助接口712和回传接口714,它们可以(或可以不)如图7所示进行放置。处理器704可以是能够执行计算和/或其它与处理相关的任务的任何组件,存储器706可以是能够为处理器704存储程序和/或指令的任何组件。蜂窝接口710可以是支持通信设备700使用蜂窝信号进行通信的任何组件或组件集合,并且可以用于通过蜂窝网络的蜂窝连接接收和/或发送信息。辅助接口712可以是支持通信设备700通过辅助协议传送数据或控制信息的任何组件或组件集合。例如,辅助接口712可以是用于根据无线保真(wireless-fidelity,wi-fi)或蓝牙协议进行通信的非蜂窝无线接口。或者,辅助接口712可以是有线接口。回传接口714可以可选地包含在通信设备700中,并且可以包括支持通信设备700通过回传网络与另一设备通信的任何组件或组件集合。

在一个示例实施例中,通信设备700包括:接收模块,其从第二网络节点接收数据消息,其中,查询执行计划分配至少部分数据消息通过第一网络节点的不同上层查询处理操作进行处理,每个上层查询处理操作用于处理存储在多个工作缓冲区中的相应一个工作缓冲区中的数据;优先级模块,其基于分配来处理数据消息的相应上层查询处理操作的优先级来确定与相应数据消息相关联的优先级;以及缓冲模块,其根据与数据消息相关联的优先级在第一网络节点的通信缓冲区中缓冲数据消息,其中,优先级不同的数据消息存储在不同通信缓冲区中,并且存储在通信缓冲区中的数据消息不能通过上层查询处理操作进行处理,直到数据消息从通信缓冲区转发到工作缓冲区。在一些实施例中,通信设备700可包括用于执行实施例中描述的任一步骤或步骤组合的其它或附加模块。

在一个示例实施例中,通信设备700包括:接收模块,其从第二网络节点接收数据消息,其中,至少部分数据消息与不同的查询相关联,数据消息被分配来由一个或多个查询执行计划通过第一网络节点的一个或多个上层查询处理操作进行处理,每个上层处理操作用于处理存储在多个工作缓冲区中的相应一个工作缓冲区中的数据;优先级模块,其基于与数据消息中的相应一个数据消息相关联的查询的优先级、上层查询处理操作的优先级,或它们的组合,确定与该数据消息相关联的优先级;以及缓冲模块,其根据与数据消息相关联的优先级在第一网络节点的通信缓冲区中缓冲数据消息,其中,优先级不同的数据消息存储在不同通信缓冲区中,并且存储在通信缓冲区中的数据消息不能通过上层查询处理操作进行处理,直到数据消息从通信缓冲区转发到工作缓冲区。在一些实施例中,通信设备700可包括用于执行实施例中描述的任一步骤或步骤组合的其它或附加模块。

图8是处理系统800的方框图,该处理系统可以用来实现本文公开的设备和方法。特定设备可利用所有所示的组件或仅所述组件的子集,且设备之间的集成程度可能不同。此外,设备可以包括组件的多个实例,例如多个处理单元、处理器、存储器、发射器、接收器等。处理系统800可以包括配备一个或多个输入/输出设备816、824,例如扬声器、麦克风、鼠标、触摸屏、按键、键盘、打印机、显示器等的处理单元。处理系统800可以包括中央处理器(centralprocessingunit,cpu)802、存储器810、大容量存储设备804、视频适配器815以及连接至总线806的i/o接口821。

总线806可以是任意类型的若干总线架构中的一个或多个,包括存储总线或存储控制器、外设总线、视频总线等等。所述cpu802可包括任何类型的电子数据处理器。存储器810可包括任意类型的非瞬时性系统存储器,例如静态随机存取存储器(staticrandomaccessmemory,sram)、动态随机存取存储器(dynamicrandomaccessmemory,dram)、同步dram(synchronousdram,sdram)、只读存储器(read-onlymemory,rom)或它们的组合等等。在实施例中,存储器810可包含在开机时使用的rom以及在执行程序时使用的存储程序和数据的dram。

大容量存储设备804可包括任意类型的非瞬时性存储设备,其用于存储数据、程序和其它信息,并使这些数据、程序和其它信息通过总线806访问。大容量存储设备804可包括如下项中的一种或多种:固态磁盘、硬盘驱动器、磁盘驱动器、光盘驱动器等等。

视频适配器815和i/o接口821提供接口以将外部输入和输出设备耦合到处理系统800。如图所示,输入和输出设备的示例包括耦合到视频适配器815的显示器816和耦合到i/o接口821的鼠标/键盘/打印机组合824。其它设备可以耦合到处理器系统800,并且可以使用额外或更少的接口或接口卡。例如,可使用如通用串行总线(usb)(未示出)等串行接口将接口提供给打印机824。

处理系统800还包括一个或多个网络接口807,网络接口807可包括以太网电缆等有线链路,和/或到接入节点或者不同的网络830的无线链路。网络接口807允许处理系统800通过网络830与远程单元通信。例如,网络接口807可以通过一个或多个发射器/发射天线以及一个或多个接收器/接收天线提供无线通信。在一个实施例中,处理系统800耦合到局域网830或广域网830上以用于数据处理以及与远程装置通信,所述远程装置例如其它处理单元、因特网、远程存储设施,等等。

虽然已参考说明性实施例描述了本发明,但此描述并不意图限制本发明。所属领域的技术人员在参考该描述后,将会明白说明性实施例的各种修改和组合,以及本发明其它实施例。因此,所附权利要求书意图涵盖任何此类修改或实施例。

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