尽力而为数据库功能制造技术

技术编号:22083396 阅读:72 留言:0更新日期:2019-09-12 16:56
一种在网络交换机处计算机实现的方法和系统包括:使用一个或多个处理器对所述网络交换机接收的数据消息中包含的查询数据执行预定义的数据库功能,所述执行生成结果数据,其中,在第一操作模式下对所述查询数据执行所述预定义的数据库功能到完全完成状态,生成完整的结果数据和未跳过的查询数据,以及在第二操作模式下对所述查询数据执行所述预定义的数据库功能到部分完成状态,生成部分完成的结果数据和跳过的查询数据。此外,所述方法和系统执行一个或多个网络交换机功能将所述完整的结果数据路由到一个或多个目标节点,和/或将所述部分完整的结果数据和跳过的查询数据路由到一个或多个目标节点。此外,还使用应用编程接口(application programming interface,简称API)定义所述数据库功能。

Do your best for database functionality

【技术实现步骤摘要】
【国外来华专利技术】尽力而为数据库功能
技术实现思路
本专利技术涉及分布式数据库,尤其涉及用于在分布式数据库系统的节点之间路由数据的网络交换机和相关方法。相关申请本专利技术要求2017年1月17日递交的专利技术名称为“尽力而为数据库功能”的第15/408,130号美国非临时专利申请案的在先申请优先权,该在先申请的内容以引入的方式并入本文中。
技术介绍
现代分布式数据库,例如大规模并行处理(massivelyparallelprocessing,简称MPP)数据库,可能会部署成百上千个数据节点(datanode,简称DN)。分布式数据库中的数据节点通过网络互连,所述网络包括每个节点上的网卡(networkinterfacecard,简称NIC)、连接节点和其它交换机的网络交换机以及将所述网络与其它网络(例如互联网)连接的路由器。当处理所述数据库系统接收的查询时,数据节点通常需要交换数据消息才能执行数据库操作(例如,连接、聚合和哈希等)。这些数据消息可以是表格行数据、某些列数据、分组的中间聚合结果、某些表格行子集的最大值或最小值或者哈希连接的中间结果等。数据消息通过所述网络中的交换机进行路由,以传送到目标数据节点。数据节点可以向所述网络中的部分或所有其它数据节点发送数据消息,以完成查询的操作。由于传统网络交换机不知道其转发的数据消息的内容,因此可能会转发重复的或不必要的数据消息,在所述目标数据节点上浪费了高要求网络带宽和计算容量。
技术实现思路
一种网络交换方法,包括:使用一个或多个处理器对网络交换机接收的数据消息中包含的查询数据执行预定义的数据库功能,所述执行生成结果数据,其中,在第一操作模式下对所述查询数据执行所述预定义的数据库功能到完全完成状态,生成完整的结果数据和未跳过的查询数据,以及在第二操作模式下对所述查询数据执行所述预定义的数据库功能到部分完成状态,生成部分完成的结果数据和跳过的查询数据。一个或多个网络交换机功能将所述完整的结果数据路由到一个或多个目标节点,和/或将所述部分完整的结果数据和跳过的查询数据路由到一个或多个目标节点。一种网络交换机,包括包含指令的非瞬时性存储器以及与所述存储器通信的一个或多个处理器,其中,所述一个或多个处理器执行所述指令以进行下述操作:对到达所述网络交换机的数据消息中携带的数据执行预定义的数据库功能,所述执行生成处理后的结果数据,其中可以执行所述预定义的数据库功能以生成完整状态,所述完整状态包括完整的处理后的结果数据,或者也可以在尽力而为的基础上执行所述预定义的数据库功能以生成部分执行的不完整状态,所述不完整状态包括不完整的处理后的结果数据;执行一个或多个网络交换机功能以将所述处理后的结果数据和/或所述数据消息中携带的数据路由到一个或多个目标节点,其中,如果所述完成状态为部分完成的状态,所述网络交换机逻辑单元则将所述处理后的结果数据和任何未处理的数据转发到所述一个或多个目标节点。一种非瞬时性计算机可读介质,存储有计算机指令,所述计算机指令在由一个或多个处理器执行时,使所述一个或多个处理器执行以下步骤:对所述交换机接收的数据消息中包含的查询数据执行一个或多个预定义的数据库功能,所述执行生成结果数据,其中对所述查询数据执行所述预定义的数据库功能到完全完成状态,生成完整的结果数据和未跳过的查询数据,和/或对所述查询数据执行所述预定义的数据库功能到部分完成状态,生成部分完成的结果数据和跳过的查询数据,和/或将所述部分完整的结果数据和跳过的查询数据路由到一个或多个目标节点。现描述各种示例从而以简化的形式引入概念的选择,这些概念将在以下具体实施方式中进行进一步的描述。本
技术实现思路
的目的不在于识别权利要求书保护的主题的关键或必要特征,也不在于限制权利要求书保护的主题的范围。在示例1中,在网络交换机处执行的方法包括:使用一个或多个处理器,对所述网络交换机接收的数据消息中包含的查询数据执行预定义的数据库功能,所述执行生成结果数据,其中,在第一操作模式下对所述查询数据执行所述预定义的数据库功能到完全完成状态,生成完整的结果数据和未跳过的查询数据,以及在第二操作模式下对所述查询数据执行所述预定义的数据库功能到部分完成状态,生成部分完成的结果数据和跳过的查询数据;执行一个或多个网络交换机功能将所述完整的结果数据路由到一个或多个目标节点,和/或将所述部分完整的结果数据和跳过的查询数据路由到一个或多个目标节点。在示例2中,还提供了根据示例1的方法,其中,所述数据库功能包括聚合功能、缓存功能、哈希功能、联合/合并功能或排序/排列功能。在示例3中,提供了根据示例1或示例2的方法,其中,所述交换机中的多个交换机按层次结构排列,并且部分处理结果在第二交换机中进一步处理,所述第二交换机从第一交换机接收所述部分处理结果。在示例4中,还提供了根据示例1至3的方法,其中,所述查询数据从一个或多个数据存储源中检索得到,所述检索到的数据携带在所述数据消息中。在示例5中,提供了根据示例1至4的方法,其中,在所述第一操作模式下或在所述第二操作模式下执行所述数据库功能至少部分地基于可用于执行所述数据库功能的资源来确定。在示例6中,还提供了根据示例1至5的方法,其中,所述资源选自以下组:内存、时间或处理器带宽。在示例7中,提供了根据示例1至6的方法,所述方法还包括至少一个用于执行所述数据库功能的数据库功能规则。在示例8中,提供了根据示例1至7的方法,其中,所述网络交换机功能还包括分类或流量控制功能。在示例9中,提供了根据示例1-8的方法,所述方法还包括数据消息,所述数据消息包括所述结果数据,并将所述数据消息排队等待路由到所述一个或多个目标节点。在示例10中,提供了网络交换机,所述网络交换机包括包含指令的非瞬时性存储器以及与所述存储器通信的一个或多个处理器,其中,所述一个或多个处理器执行所述指令以进行下述操作:对到达所述交换机的数据消息中携带的数据执行预定义的数据库功能,所述执行生成处理后的结果数据,其中可以执行所述预定义的数据库功能以生成完整状态,所述完整状态包括完整的处理后的结果数据,或者也可以在尽力而为的基础上执行所述预定义的数据库功能以生成部分执行的不完整状态,所述不完整状态包括不完整的处理后的结果数据;执行一个或多个网络交换机功能以将所述处理后的结果数据和/或所述数据消息中携带的数据路由到一个或多个目标节点,其中,如果所述完成状态为部分完成的状态,所述网络交换机逻辑单元则将所述处理后的结果数据和任何未处理的数据转发到所述一个或多个目标节点。在示例11中,提供了根据示例10的交换机,所述交换机还包括数据库服务器,所述数据库服务器用于处理需要从一个或多个数据存储源检索数据的数据库查询,所述检索到的数据携带在数据消息中。在示例12中,还提供了根据示例10或11的交换机,其中,所述数据库功能处理逻辑单元的尽力而为基础至少部分取决于所述数据库功能处理逻辑单元的处理能力。在示例13中,提供了根据示例10至12的交换机,所述交换机还包括数据存储器,所述数据存储器用于存储至少一个数据库功能规则以执行所述数据库功能。在示例14中,提供了根据示例10-13的交换机,其中,所述网络交换机逻辑单元执行路由、分类或流量控制功能。在示例15中,提供了根据示例10-14的交换机本文档来自技高网
...

【技术保护点】
1.一种在网络交换机上执行的方法,其特征在于,包括:使用一个或多个处理器,对所述网络交换机接收的数据消息中包含的查询数据执行预定义的数据库功能,所述执行生成结果数据,其中,在第一操作模式下对所述查询数据执行所述预定义的数据库功能到完全完成状态,生成完整的结果数据和未跳过的查询数据,以及在第二操作模式下对所述查询数据执行所述预定义的数据库功能到部分完成状态,生成部分完成的结果数据和跳过的查询数据;执行一个或多个网络交换机功能将所述完整的结果数据路由到一个或多个目标节点,和/或将所述部分完整的结果数据和跳过的查询数据路由到一个或多个目标节点。

【技术特征摘要】
【国外来华专利技术】2017.01.17 US 15/408,1301.一种在网络交换机上执行的方法,其特征在于,包括:使用一个或多个处理器,对所述网络交换机接收的数据消息中包含的查询数据执行预定义的数据库功能,所述执行生成结果数据,其中,在第一操作模式下对所述查询数据执行所述预定义的数据库功能到完全完成状态,生成完整的结果数据和未跳过的查询数据,以及在第二操作模式下对所述查询数据执行所述预定义的数据库功能到部分完成状态,生成部分完成的结果数据和跳过的查询数据;执行一个或多个网络交换机功能将所述完整的结果数据路由到一个或多个目标节点,和/或将所述部分完整的结果数据和跳过的查询数据路由到一个或多个目标节点。2.根据权利要求1所述的方法,其特征在于,所述数据库功能包括聚合功能、缓存功能、哈希功能、联合/合并功能或排序/排列功能。3.根据权利要求1至2中任一项所述的方法,其特征在于,多个网络交换机按层次结构排列,并且部分处理结果在第二网络交换机中进一步处理,所述第二网络交换机从第一网络交换机接收所述部分处理结果。4.根据权利要求1至3中任一项所述的方法,其特征在于,所述查询数据从一个或多个数据存储源中检索得到,所述检索到的数据携带在所述数据消息中。5.根据权利要求1至4中任一项所述的方法,其特征在于,在所述第一操作模式下或在所述第二操作模式下执行所述数据库功能至少部分地基于可用于执行所述数据库功能的资源来确定。6.根据权利要求5所述的方法,其特征在于,所述资源包括内存、时间或处理器带宽中的一个或多个。7.根据权利要求1至6中任一项所述的方法,其特征在于,还包括至少一个用于执行所述数据库功能的数据库功能规则。8.根据权利要求1至7中任一项所述的方法,其特征在于,所述网络交换机功能还包括分类或流量控制功能。9.根据权利要求1至8中任一项所述的方法,其特征在于,还包括数据消息,所述数据消息包括所述结果数据,并将所述数据消息排队等待路由到所述一个或多个目标节点。10.一种网络交换机,其特征在于,包括:非瞬时性存储器,包括指令;一个或多个处理器,与所述存储器通信,其中所述一个或多个处理器执行所述指令以进行下述操作:对到达所述网络交换机的数据消息中携带的数据执行预定义的数据库功能,所述执行生成处理后的结果数据,其中可以执行所述预定义的数据库功能以生成完整状态,所述完成状态包括完整的处理后的结果数据,或者也可以在尽力而为的基础上执行所述预定义的数据库功能以生成部分执行的不完整状态,所述不完整状态包括不完整的处理后的结果数据;执行一个或多个网络交换机功能以将所...

【专利技术属性】
技术研发人员:董宇周庆庆
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1