与分布式数据库架构并靠的网格计算系统技术方案

技术编号:8910787 阅读:221 留言:0更新日期:2013-07-12 03:12
本发明专利技术提供用于对存储于分布式数据库系统中的数据执行分析计算的网格计算系统的系统及方法。控制节点处的网格化软件组件经配置以:调用所述控制节点处的数据库管理软件DBMS以致使多个工作者节点处的DBMS使数据可用于在其节点本地的网格化软件组件;指示所述多个工作者节点处的所述网格化软件组件对所接收的数据执行分析计算且将所述数据分析的结果发送到所述控制节点处的所述网格化软件组件;以及汇编由所述多个工作者节点处的所述网格化软件组件执行的所述数据分析的所述结果。

【技术实现步骤摘要】
【国外来华专利技术】与分布式数据库架构并靠的网格计算系统
本文中所描述的技术大体来说涉及分布式数据处理,且更具体来说涉及使用基于网格的计算系统及分布式数据库系统的分布式数据处理。
技术介绍
高性能分析解涉及共置数据与分析代码。此可减少I/O额外开销,因为可跨越节点网格将大量数据加载到存储器中,且可发生并行计算。一种用于数据与分析代码的共置的技术称为数据库内模型。另一种技术称为数据库外模型。在数据库内模型的情况下,分析代码在无共享环境中的分布式数据库系统的节点上执行。过程通常通过从SQL查询调用预安装在数据库管理系统上的用户定义函数(UDF)而开始。数据已在节点本地或按SQL查询的请求被移动到所述节点。数据库内模型是以SQL为中心的无共享环境,其中UDF在数据库管理系统的控制下执行。也就是说,节点无法彼此进行通信,通常,信息无法在数据库节点上的查询之间持续,除非其被以表的形式写入到数据库管理系统,且数据库管理系统控制由UDF消耗的资源。在此模型中,可由数据库提供失效修复、复制及对事务的支持。在数据库外模型的情况下,采用网格式计算环境,其中数据驻存于计算节点上的存储器中,且分析代码代替数据库管理系统来控制整个过程。通过将数据预分布到网格节点来共置所述数据,其中分析代码将本地数据加载到存储器中。数据库外模型可为全共享环境,且也可因为不存在到分布式数据库的直接连接而被称为“无数据库”模型。举例来说,数据可能来自数据库,但在分析之前被分布到网格计算节点上,且与其中所述数据可能已始发的分布式数据库的连接被切断。在此环境中,分析代码通过添加消息传递协议而具有对节点对节点通信的完全控制。专利
技术实现思路
根据本文中所提供的教示,提供用于对存储于分布式数据库系统中的数据执行分析计算的网格计算系统的系统及方法。用于共置数据与分析代码的此技术(本文中称为与数据库模型并排)允许分析代码实行对分析过程的完全控制及对数据存取的完全控制,但使用分布式数据库将数据馈送到本地计算节点。其共置数据、分析代码及存储数据并执行分析代码所需的硬件。所述分析代码保持控制且允许节点对节点通信。直接从经共置分布式数据库检索数据以加载到网格节点上的存储器中,此允许如同在数据库外模型中一样执行分析且利用分布式数据库的失效修复、复制及事务安全的能力的灵活性。举例来说,网格化软件组件在控制节点上执行且将命令提供到多个工作者节点网格化软件组件。工作者节点网格化软件组件中的每一者与单独节点相关联且在所述单独节点上执行。所述节点还执行管理可对其进行分析计算或查询或加载活动的数据的数据库管理软件(DBMS)。通过在每一节点上定位DBMS,与之前所述的数据库内及/或数据库外模型相比,可尽可能少地移动数据。通过在数据所驻存的数据库节点上处理所述处理,移动得以最小化。通过将在数据库过程之外的数据发送到DBMS中,可实现更多控制。举例来说,可在需要的情况下与其它节点进行通信。在数据库内部处理数据不会给出在工作单元(在DBMS节点上运行的UDF)之间通信的此机会。借助以此方式通信的能力,可执行难以或不可能在数据库内模型中执行的复杂得多的分析任务。使数据从DBMS移动到经共置过程中的另一优点为可高速缓存数据;必须多次通过数据的算法现在可利用数据的存储器内表示,而非从磁盘重新读取。控制节点处的网格化软件组件经配置以:调用所述控制节点处的DBMS以致使多个工作者节点处的DBMS使数据的一部分可用于在其节点本地的网格化软件组件;指示所述多个工作者节点处的所述网格化软件组件对所接收的数据执行分析计算且将所述数据分析的结果发送到所述控制节点处的所述网格化软件组件;及汇编由所述多个工作者节点处的所述网格化软件组件执行的所述数据分析的结果。本专利技术尤其是针对一种用于对存储于分布式数据库系统中的数据执行分析计算的网格计算系统,所述网格计算系统包括:多个网格计算节点,其包含一控制节点及多个工作者节点,每一节点包括:处理器,其用于执行数据库管理软件(DBMS)且用于执行网格化软件组件,本地缓冲存储器,其可由所述网格化软件组件存取,及本地存储媒体,其可由所述DBMS存取以存储数据;其中所述网格化软件组件经配置以对由数据库管理系统存储的所述数据的一部分执行所述分析计算;所述控制节点处的所述网格化软件组件经配置以:调用所述控制节点处的所述DBMS以致使多个所述工作者节点处的所述DBMS使所述数据的一部分可用于在其节点本地的所述网格化软件组件;指示所述多个工作者节点处的所述网格化软件组件对所接收的数据执行分析计算且将所述数据分析的结果发送到所述控制节点处的所述网格化软件组件;及汇编由所述多个工作者节点处的所述网格化软件组件执行的所述数据分析的所述结果。特别优选地,多个工作者节点处的所述DBMS经配置以通过将所述数据保存到可由所述DBMS及所述多个工作者节点的本地网格化软件组件两者在本地存取的共享存储器来使所述数据可用于所述网格化软件组件。此外,本专利技术提出多个工作者节点处的所述DBMS经配置以通过经由套接字连接通信来使所述数据可用于其本地网格化软件组件。在之前所述的实施例中,尤其优选地,所述多个工作者节点的所述网格化软件组件经配置以使用共用端口地址打开套接字连接。此外,本专利技术针对之前所提及的实施例提出所述控制节点处的所述网格化软件组件经配置以将所述共用端口地址提供到在其节点本地的所述DBMS,且所述控制节点处的所述DBMS经配置以将所述共用端口地址提供到所述多个工作者节点处的所述DBMS。专利技术性系统的特征可进一步在于所述多个工作者节点处的所述网格化软件组件经配置以存储所接收的数据且使用其本地缓冲存储器执行所述数据分析。还提出所述多个工作者节点经配置以将来自所述数据分析的所述结果传输到其本地DBMS以供存储于分布式数据库中。所述系统的特征可进一步在于从所述多个工作者节点网格化软件组件接收的所述分析的所述结果是经由网络接收。在有利实施例中,优选地,多个所述工作者节点网格化软件组件经由所述网络使用MPI来传输其结果。此外,本专利技术提出由所述控制节点网格化软件组件汇编的所述结果存储于所述分布式数据库系统中。还优选地,由所述控制节点网格化软件组件汇编的所述结果被传输到客户端节点处的网格化软件组件。根据本专利技术的系统的特征可进一步在于在检测到所述工作者节点中的一者处的失效之后,即刻:所述控制节点处的所述DBMS经配置以致使其余工作者节点中的一者处的所述DBMS将所述数据的先前分布到所述失效节点处的所述网格化软件组件的所述部分重新分布到在所述节点本地的所述网格化软件组件;接收所述经重新分布数据的所述网格化软件组件经配置以对所述经重新分布数据执行分析计算且将结果提供到所述控制节点处的所述网格化软件组件;且所述控制节点处的所述网格化软件组件经配置以汇编从所述其余工作者节点处的所述网格化软件组件接收到的所述结果。此外,所述系统可包括客户端节点处的网格化软件组件:所述客户端节点处的所述网格化软件组件以第一执行模式及第二执行模式进行配置;在所述第一执行模式中的所述客户端节点网格化软件组件经配置以执行本地数据分析以将结果提供到客户端软件;在所述第二执行模式中的所述客户端节点网格化软件组件经配置以调用所述控制节点处的所述网格化软件组件以在基于网格的计本文档来自技高网
...
与分布式数据库架构并靠的网格计算系统

【技术保护点】

【技术特征摘要】
【国外来华专利技术】2010.11.15 US 12/946,0791.一种用于对存储于分布式数据库系统中的数据执行分析计算的网格计算系统,其中所述网格计算系统与所述分布式数据库系统共置数据、分析代码及存储数据并执行分析代码所需的硬件,所述网格计算系统包括:多个网格计算节点,多个网格计算节点包含一控制节点及多个工作者节点,其中所述控制节点的硬件配置与所述工作者节点相同,所述多个工作者节点中的每一节点以及所述控制节点包括:处理器,其用于执行数据库管理软件DBMS且用于执行网格化软件组件,本地缓冲存储器,其可由所述网格化软件组件存取,以及本地存储媒体,其可由所述DBMS存取以存储数据;其中所述网格化软件组件经配置以对由数据库管理系统存储的所述数据的一部分执行所述分析计算;所述控制节点处的所述网格化软件组件经配置以:调用所述控制节点处的所述DBMS以致使多个所述工作者节点处的所述DBMS使所述数据的一部分可用于在其节点本地的所述网格化软件组件;指示所述多个工作者节点处的所述网格化软件组件对所接收的数据执行分析计算且将所述数据分析的结果发送到所述控制节点处的所述网格化软件组件;以及汇编由所述多个工作者节点处的所述网格化软件组件执行的所述数据分析的所述结果;所述网格计算系统进一步包括客户端节点处的网格化软件组件:所述客户端节点处的所述网格化软件组件以第一执行模式及第二执行模式进行配置;在所述第一执行模式中的所述客户端节点网格化软件组件经配置以执行本地数据分析以将结果提供到客户端软件;在所述第二执行模式中的所述客户端节点网格化软件组件经配置以调用所述控制节点处的所述网格化软件组件以在基于网格的计算环境中执行所述数据分析;且所述客户端节点处的所述网格化软件组件经配置以基于由所述客户端软件提供的指示而在所述第一模式或所述第二模式中操作。2.根据权利要求1所述的系统,其中多个工作者节点处的所述DBMS经配置以通过将所述数据保存到可由所述DBMS及所述多个工作者节点的本地网格化软件组件两者在本地存取的共享存储器来使所述数据可用于所述网格化软件组件。3.根据权利要求1所述的系统,其中所述多个工作者节点处的所述DBMS经配置以通过经由套接字连接通信来使所述数据可用于所述多个工作者节点的本地网格化软件组件。4.根据权利要求3所述的系统,其中所述多个工作者节点处的所述网格化软件组件经配置以使用共用端口地址打开套接字连接。5.根据权利要求4所述的系统,其中所述控制节点处的所述网格化软件组件经配置以将所述共用端口地址提供到在其节点本地的所述DBMS,且所述控制节点处的所述DBMS经配置以将所述共用端口地址提供到所述多个工作者节点处的所述DBMS。6.根据权利要求1所述的系统,其中所述多个工作者节点处的所述网格化软件组件经配置以存储所述所接收的数据且使用其本地缓冲存储器执行所述数据分析。7.根据权利要求1所述的系统,其中所述多个工作者节点经配置以将来自所述数据分析的所述结果传输到其本地DBMS以供存储于分布式数据库中。8.根据权利要求1所述的系统,其中从所述多个工作者节点网格化软件组件接收的所述分析的所述结果是经由网络接收的。9.根据权利要求8所述的系统,其中多个所述工作者节点网格化软件组件经由所述网络使用MPI来传输其结果。10.根据权利要求1所述的系统,其中由所述控制节点网格化软件组件汇编的所述结果存储于所述分布式数据库系统中。11.根据权利要求1所述的系统,其中由所述控制节点网格化软件组件汇编的所述结果被传输到客户端节点处的网格化软件组件。12.根据权利要求1所述的系统,其中在检测到所述工作者节点中的一者处的失效之后,即刻:所述控制节点处的所述DBMS经配置以致使其余工作者节点中的一者处的所述DBMS将所述数据的先前分布到所述失效节点处的所述网格化软件组件的所述部分重新分布到在所述节点本地的所述网格化软件组件;接收所述经重新分布数据的所述网格化软件组件经配置以对所述经重新分布数据执行分析计算且将结果提供到所述控制节点处的所述网格化软件组件;且所述控制节点处的所述网格化软件组件经配置以汇编从所述其余工作者节点处的所述网格化软件组件接收到的所述结果。13.根据权利要求1所述的系统,其中所述客户端节点网格化软件组件经配置以从客户端应用程序接收特定问题且通过将由所述控制节点网格化软件组件汇编的所述结果提供到所述客户端应用程序来提供对所述特定问题的响应。14.根据权利要求1所述的系统,其进一步包括客户端节点网格化软件组件,所述客户端节点网格化软件组件经配置以从客户端应用程序接收特定问题且通过将由所述控制节点网格化软件组件汇编的所述结果提供到所述客户端应用程序来提供对所述特定问题的响应。15.根据权利要求1所述的系统,其中所述控制节点处的所述网格化软件组件经配置以通过聚合及并置在工作者节点数据处理器处执行的所述分析的所述结果来汇编所述结果。16.根据权利要求1所述的系统,其中多个所述网格计算节点处的所述网格化软件组件在每一节点处在虚拟机器环境中实施。17.根据权利要求1所述...

【专利技术属性】
技术研发人员:奥利弗·沙本伯格史蒂夫·克鲁格
申请(专利权)人:萨思学会有限公司
类型:
国别省市:

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

1