数据集合复用度改变设备、服务器和数据集合复用度改变方法

文档序号:9252390阅读:409来源:国知局
数据集合复用度改变设备、服务器和数据集合复用度改变方法
【技术领域】
[0001]本发明涉及例如在使用信息处理设备(计算机)的分布式并行处理系统中的数据管理技术。更具体地说,本发明涉及数据集合的复用管理中的复用度(multiplicity)改变技术。
【背景技术】
[0002]批处理是用于通过使用诸如服务器的信息处理设备在预定定时开始处理并且对给定的输入数据重复执行相同的处理从而获得处理结果的技术。近年来,在批处理中,处理对象数据量增加,并且需要减少处理时间。使用通过使用多个服务器(节点)实现的分布式并行处理的技术被广泛地用作用于提高批处理的速度的技术。在下文中,将参考图2和图4来对这样的分布式并行批处理系统的示例进行说明。
[0003]图2是示出包括作为现有技术的分布式并行批处理系统的通信环境的示例的配置图。图4是示出作为现有技术的分布式并行批处理系统中的分布式数据存储中的数据布置的示例的图。图2和图4是在根据本发明的第二示例性实施例的说明中使用的附图,但是在该情况下,将使用图2和图4来对作为现有技术的一般分布式并行批处理系统的配置和操作进行说明。
[0004]如图2中所示,分布式并行批处理系统I包括三个节点20至22、分布式并行批处理服务器10、主数据服务器100、客户端500和连接它们的通信网络(在下文中简称为“网络”)1000。
[0005]三个节点20至22可以以并行方式(也可以被表达为“同时方式”,这也适用于下面的说明)在每个节点中执行由分布式并行批处理服务器10分割的批处理。如图4中所示,节点20至22中的每一个包括存储器40至42和磁盘50至52。
[0006]分布式并行批处理服务器10通过控制三个节点20至22来执行这样的批处理。
[0007]客户端500请求分布式并行批处理服务器10来执行批处理。
[0008]主数据服务器100向分布式并行批处理服务器10提供主数据集合120,主数据集合120包括输入数据集合和参考数据集合,输入数据集合包括作为批处理中的处理对象的多个输入数据,参考数据集合包括在处理期间参考的数据组。在数据库110中预先设置主数据集合120。
[0009]分布式并行批处理服务器10、节点20至22、主数据服务器100和客户端500是通过程序控制进行操作的一般计算机。
[0010]在这种情况下,将对该分布式并行批处理系统中的前提(或这也可以被称为假设)进行说明。
[0011]首先,批处理是指连续执行“工作”,工作中的每一个是最小处理单元。然而,为了简化说明,在下面的说明中批处理被认为包括单个工作。
[0012]随后,即使在工作处理完成之后,也在节点20和22的磁盘50至52和存储器40至42中按原样保持诸如先前由节点20至22执行的工作所使用的输入数据集合和参考数据集合的文件,直到需要删除该文件。如果有必要,则可以在后续工作的执行中重新使用这些数据集合组。这是因为,在分布式并行批处理系统中,可以连续执行使用类似数据集合的多个工作。这样的多个工作的示例包括商品的订单接收处理、对订单的订单签发处理、订购商品的装运处理等。
[0013]作为最后的前提,描述应用程序(其为描述工作的处理内容的计算机程序)的文件被预先存储在分布式并行批处理服务器10的磁盘(未示出)中。
[0014]随后,将对根据现有技术的分布式并行批处理系统进行说明。
[0015]在图2中,首先,客户端500请求分布式并行批处理服务器10执行工作。在工作的执行请求中,客户端500指定作为工作的处理程序的应用程序名称以及执行工作所需要的各种定义信息。各种定义信息包括指示工作的处理对象的数据的输入数据集合名称和指示在处理期间参考的数据组的参考数据集合名称。例如,输入数据集合是任何给定商店的交易(订单等)数据的聚合。例如,参考数据集合是诸如包括关于每个商品的信息的数据或定义一周中的每一天的每个商品的折扣率的数据的聚合。
[0016]随后,已经接收到工作的执行请求的分布式并行批处理服务器10将在工作的执行请求中所指定的输入数据集合分割成与节点20至22的数目一样多的三个输入数据集合A至C。然后,分布式并行批处理服务器10将所分割的输入数据集合A至C分别指派给三个节点20至22,作为各个节点的处理对象。通常,当分割输入数据集合时,分布式并行批处理服务器10分割输入数据集合,使得各个分割的输入数据集合A到C的处理时间变得尽可能相等。分布式并行批处理服务器10还基于所读取的数据集合的布置来将所分割的输入数据集合A到C指派给节点20至22的磁盘50至52和存储器40至42 (图4)。在这种情况下,分布式并行批处理服务器10仅选择保持输入数据集合A至C的处理所需的数据集合的节点,并且指派所分割的输入数据集合A至C。
[0017]随后,分布式并行批处理服务器10从分布式并行批处理服务器10的磁盘获得与工作的执行请求中所指定的应用程序名称相关联的文件,并且此后,通过三个节点20至22开始包括在文件中的程序。在节点20至22中执行描述工作的处理的程序的处理实体在下文中将被称为“任务”。更具体地,由节点20至22的任务30至32分别执行的处理(图4)仅在要处理的输入数据集合的内容上有所不同,并且使用相同的处理(程序)。
[0018]随后,当节点20至22的磁盘50至52或存储器40至42中不存在工作处理所需要的数据集合时,每个节点执行以下处理。更具体地,每个节点经由主数据服务器100将丢失的数据集合从主数据集合120复制到节点20至22的磁盘50至52或存储器40至42。在所需要的数据集合的复制完成之后,各个任务30至32在节点20至22中开始处理。
[0019]如上所述,分布式并行批处理服务器10将输入数据集合分割成三个部分,并且此后,所分割的输入数据集合A至C由三个节点20至22的任务以并行方式进行处理,并且因此,可以减少整个工作的处理时间。
[0020]通常,分布式并行批处理系统I进一步执行称为“分布式数据存储”的管理,以合并节点20至22的存储设备,使得提高节点20至22的任务30至32对各种数据集合的存取效率。这里所引用的“数据存储”是指用于保持数据的目的地(存储器或磁盘)的通用术语,可以响应于分别来自节点20至22的任务30至32的请求和来自分布式并行批处理服务器10的请求,来对该数据执行诸如数据文件的产生、读取、更新和删除的操作。
[0021]如图4中所示,在各个节点20至22中,分布式数据存储2包括存储器40至42、磁盘50至52、输入和输出管理单元60至62以及用于管理整个分布式数据存储2的管理单元(未示出)。通常,用于管理整个分布式数据存储2的管理单元被设置在分布式并行批处理服务器10中。
[0022]在分布式数据存储2中,包括相对高速度的存储器40至42的部分被称为存储器上类型数据存储3。另一方面,在分布式数据存储2中,包括相对低速度的磁盘50至52的部分被称为磁盘类型数据存储4。为了简化说明,根据本示例的分布式数据存储2仅包括在节点20至22中本地设置的存储设备,但是还可以包括由可以经由网络1000使用的远程计算机所执行的文件系统和数据库。
[0023]在节点20至22中操作的任务30至32经由设置在节点20至22中的输入和输出管理单元60至62来存取存储在分布式数据存储2中的数据。输入和输出管理单元60至62提供下述功能:该功能允许任务30至32透明地使用分布式数据存储2中的数据,而不论数据的存储目的地是哪个节点的哪个存储设备(磁盘或存储器)。
[0024]例如,假设节点20中的任务30请求读取在节点20的存储器40和磁盘50中都不存在的数据集合X2。节点20的输入和输出管理单元60基于请求经由节点21的输入和输出管理单元61或节点22的输入和输出管理单元62来获得存储在节点21的存储器41或节点22的存储器42中的数据集合X2,并且此后,向任务30提供数据集合X2的数据。更具体地,任务30根据与在将数据集合X2存储在所讨论的节点20中的情况下使用的方法相同的存取方法,来存取节点21或节点22上的数据集合X2。此外,利用该功能,各个节点20至22不需要包括用于处理的所有数据集合。
[0025]通常,任务30存取数据集合的速度在数据集合存在于其他节点21至22的存储器41至42中的情况下比在数据集合存在于所讨论的节点20的磁盘50中的情况下快得多。对分布式数据存储2中的各个保存位置的数据集合的存取速度取决于系统配置,但是通常具有使用不等号的以下关系。
[0026](所讨论的节点的存储器)>(另一节点的存储器上类型数据存储)>>(所讨论的节点的磁盘)> (另一节点的磁盘类型数据存储)
[0027]更具体地,对所讨论的节点的存储器的存取速度是最高速度,并且对另一节点的磁盘类型数据存储的存取速度是最低速度。
[0028]为了在连续执行多个工作时提高存取处理所需要的数据集合组的存取效率,由于上面说明的分布式数据存储2的性质而导致任务尽可能减少磁盘存取是有效的。更具体地,为了提高存取效率,期望将处理所需要的数据集合中的尽可能多的数据集合存储在存储器上类型数据存储3中。
[0029]然而,近年来,在处理中处理的数据量正在增加。为此,包括由半导体存储器设备等实现的存储器40至42的存储器上类型数据存储3不必存储要处理的所有数据集合。另一方面,通常,由硬盘设备等实现的节点的磁盘50至52具有比存储器上类型数据存储3大10到10000倍的存储容量,并且因此,节点的磁盘50至52更有可能能够存储要处理的所有数据。因此,通常,存储器上类型数据存储3始终存储多个工作更有可能常用的一些数据集合。然后,当切换到后续工作时,分布式并行批处理服务器10根据此时存储器上类型数据存储3中的数据集合的布置情况来向节点20至22分配处理。
[0030]此外,在存储器上类型数据存储3中,在多个节点20至22的存储器40至42中保持始终存储的数据集合的副本。在该情况下,将相同内容的数据集合存储在多个节点20至22中主要有两个目的。
[0031]第一个目的是为当例如文件损坏或节点故障的问题发生时无法存取存储在特定节点的存储器中的数据集合的情况做准备,并且提高数据维护的可靠性。更具体地,当上述这样的问题发生时,任务不存取存储在磁盘中的(替代)数据集合,而替代地,允许任务存取存在于另一节点的存储器中的另一数据集合。因此,即使问题发生,任务也不需要存取比对存储器上类型数据存储3的存取的速度低极多的磁盘。因此,当任务存取处理对象数据集合时,防止存取性能极度降低。
[0032]第二目的是,当多个任务需要相同的数据时,每个任务存取以分布式方式布置在多个节点的存储器中的多个数据集合,使得防止由于存取集中而导致的性能降低。换言之,这防止每个任务存取单个数据集合,从而防止存取集中。
[0033]在以下的说明中,用于如上所述以分布式方式将相同内容的数据集合的副本保持到包括在存储器上类型分布式数据存储3中的多个节点20至22的存储器40至42的管理方法将被称为“复用度管理”。在以下的说明中,作为复用度管理的对象的数据集合将被称为“复用度管理对象数据集合”。另外,在以下的说明中,在存储器上类型分布式数据存储3中提供的数据集合的副本的数目由指标“复用度M”来表示。例如,当存储器上类型分布式数据存储3中存在同一数据集合的两个副本时,复用度M是2。
[0034]图4图示了在上述分布式并行批处理服务器10使用节点20至22上的任务30至32开始并行处理时的时间点处分布式数据存储2中的数据集合的布置状态的示例。在图4中,两个数据集合Xl和X2是复用度管理对象数据集合。复用度M是2。在本示例中,将相同的复用度M的值应用于所有的复用度管理对象数据集合,以简化复用度管理。
[0035]当参考图4时,总共两个的数据集合Xl始终被保持在节点20的存储器40和节点21的存储器41中。总共两个的数据集合X2始终被存储在节点21的存储器41和节点22的存储器42中。
[0036]数据集合Yl至Y4,即不是复用度管理对象(在下文中称为“非管理对象”)的数据集合,被分别存储在节点20至22的磁盘50至52中。根据由分布式并行批处理服务器10定义的分配来布置分割成三个部分,即输入数据集合A至C,的输入数据集合。更具体地,输入数据集合A、输入数据集合B和输入数据集合C分别被存储在磁盘50、磁盘51和磁盘52中。在本示例中,输入数据集合A至C是非管理对象。
[0037]操作节点20至22中的每一个的操作系统(OS)控制对存储器的非管理对象的数据集合的读取。更具体地,响应于来自任务30至32的存取请求,OS根据需要将非管理对象的数据集合读取到存储器上类型数据存储3中的空闲存储区域(更具体地,没有被占用以存储复用度管理对象数据集合的存储区域)中。
[0038]应该注意,通过OS对存储器的公知的控制方法包括LRU(最近最少使用)算法。基本上,在LRU中,在当新的数据被读取到小容量的高速存储设备中时空闲容量不足的情况下,扩展空闲容量。在该情况下,在LRU中,将高速存储设备中没有被使用最长时间的数据收回(移动)到大容量低速存储设备,使得空闲容量被扩展。在本例中,“小容量高速存储设备”和“大容量低速存储设备”对应于“存储器上类型数据存储3”和“磁盘类型数据存储4”。因此,当存在任务的处理所需要的非管理对象的许多数据集合时,LRU非常频繁执行到磁盘的数据收回,并且结果,任务的处理性能可能会降低。
[0039]在当执行新的工作时上述问题可能发生的情况下,分布式并行批处理服务器10可以降低(减小、削减)复用度M,由此进行调整以增加存储器上类型数据存储3的空闲区域。相反,当分布式并行批处理服务器10预测存储器上类型数据存储3的空闲区域中有足够的空间时,与当前值相比,分布式并行批处理服务器10可以提高(增加)复用度M,由此执行调整以增加数据维护的可靠性。
[0040]在正常情况下,在执行每个节点上的任务的处理之前,分布式并行批处理服务器10在准备阶段如上所述执行复用度M的改变,并且一旦在开始任务的处理之后,分布式并行批处理服务器10不执行复用度M的改变。
[0041]在本申请之前存在的现有技术的示例包括以下PTL 1
[0042]更具体地,PTL I公开了一种用于针对要复制的文件自动确定从每一个都具有不同的优点和缺点的若干文件复制方法当中选择的适用于每个文件的各种特性(文件的存储位置、文件类型等)的复制方法的机制。
[0043]在PTL 2中,在分布式系统环境中,批工作查询服务器基于请求对象的批工作的资源使用特性(各种资源的使用率)和以定期间隔从每个工作执行服务器获得的资源负载情况来确定被请求以执行批工作的处理的服务器。
[0044]在PTL 3中,当用于管理数据的布置和工作的执行的计算器执行工作时,计算器根据布置在执行工作的每个计算器中的分布式数据的记录的数目的比率来确定到计算器的复制的布置。然后,当任何给定的计算器中的工作的执行中存在故障时,执行管理的计算器请求具有布置在故障发生的计算器中的分布式数据的副本的计算器再次请求工作的执行。
[0045]引文列表
[0046]专利文献
[0047][PTL I]日本国家阶段专利申请公开N0.2009-526312
[0048][PTL 2]日本专利申请公开 Νο.ΗΙΟ-334057
[0049][PTL 3]日本专利申请公开 N0.2012-073975

【发明内容】

[0050]技术问题
[0051]然而,在分布式并行批处理系统的操作中,改变复用度管理对象数据集合的复用度M的请求可以在工作的执行中间发生。
[0052]例如,在开始工作之后,处理速度降低,并且因此,可以预期工作在用户预期的预期结束时间没有完成。通常,如上所述,分布式并行批处理系统中的批处理(工作)被操作为在任何预定的定时开始处理。更具体地,预期工作在预期时间之前完成,使得可以按期开始后续处理。当工作被延迟时,原因可能是任务的处理所需要的非管理对象的数据集合的大小和数目超过先前预期的原因。在该情况下,在发现延迟之后执行的对策中,增加存储器上数据存储3的空闲区域是有效的。更具体地,分布式并行批处理系统在工作的中间减小复用度管理对象数据集合的复用度Μ。因此,如果后续工作的处理速度可以增加,则工作可以早于初始预期而完成。
[0053]另一方面,在开始工作之后,可以预期工作的处理比预期早很多完成。在该情况下,在确定工作将更早地完成之后,增加复用度管理对象数据集合的复用度Μ,以提高数据维护的可靠性,并且在该情况下,后续工作的执行变得更加可靠。
[0054]在其他情况下,不论工作本身的进度如何,用户可能突然想要减少存储器的使用量,以使正在执行工作的节点执行另
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1