数据处理系统、数据处理设备以及存储介质的制作方法

文档序号:6546751阅读:123来源:国知局
数据处理系统、数据处理设备以及存储介质的制作方法
【专利摘要】提供了一种数据处理系统、数据处理设备以及存储介质。数据处理系统包括:节点,各自配置成以用作用户组的一部分的一个或更多个用户为单位保存用于为用户组提供服务的数据;以及路由管理器,配置成响应于来自一个或更多个用户的对数据的访问请求,执行到存储一个或更多个用户的数据的节点的路由。节点包括用于保存一个或更多个用户的主数据的第一节点、用于保存通过复制主数据所获得的从数据的第二节点、以及第三节点。路由管理器还执行数据移动处理,该数据移动处理包含:将在第二节点中所保存的从数据改变成主数据,还复制从数据,以及使得第三节点保存所复制的从数据作为新的从数据。
【专利说明】数据处理系统、数据处理设备以及存储介质
[0001]相关申请的交叉引用
[0002]本申请要求2013年5月23日提交的日本优先权专利申请JP2013-108531的权益,其全部内容通过引用并入本文。

【技术领域】
[0003]本公开涉及一种数据处理系统、数据处理设备以及存储介质。

【背景技术】
[0004]用于提供服务的每个用户的数据通常保存为服务器的节点中的数据库,以及还通常保存在节点中作为用于发生故障情况下的备份数据。备份数据可以用于在节点处发生故障时替代地接受访问、或用于由于故障所丢失的数据的恢复。例如,在JP H5-61756A中描述了数据备份技术的这样的示例。


【发明内容】

[0005]然而,随着为其提供服务的用户数量的增加,以及随着针对每个用户的所存储的数据量的增加,数据库扩展到极大的尺寸。当数据库扩展到极大的尺寸时,与对数据的访问相关联的、施加到节点的负荷增加,而系统的性能会恶化。此外,一旦在节点处发生故障,则该故障的影响涉及很多用户。
[0006]鉴于前述,期望提供一种数据处理系统、数据处理设备以及存储介质,其是新颖的并且改进的,并且其使得可以使用备份更平稳地执行数据处理。
[0007]根据本公开的实施例,提供了一种数据处理系统,该数据处理系统包括:节点,各自配置成以用作用户组的一部分的一个或更多个用户为单位保存用于为用户组提供服务的数据;以及路由管理器,配置成响应于来自一个或更多个用户的对数据的访问请求,执行到存储一个或更多个用户的数据的节点的路由。节点包括用于保存一个或更多个用户的主数据的第一节点、用于保存通过复制主数据所获得的从数据的第二节点、以及第三节点。路由管理器还执行数据移动处理,该数据移动处理包含:将在第二节点中所保存的从数据改变成主数据,还复制从数据,以及使得第三节点保存所复制的从数据作为新的从数据。
[0008]根据本公开的另一实施例,提供了一种数据处理设备,该数据处理设备包括:存储器,配置成保存通过复制用于为一个或更多个用户提供服务的主数据所获得的从数据;以及控制器,配置成当响应于对主数据的访问请求执行路由的路由管理器将从数据改变成主数据时,接受对通过改变所获得的主数据的访问,还复制通过改变所获得的主数据,以及使得外部装置保存所复制的主数据作为新的从数据。
[0009]根据本公开的另一实施例,提供了一种在其中保存有程序的非暂态计算机可读存储介质,该程序使得连接至保存通过复制用于为一个或更多个用户提供服务的主数据所获得的从数据的存储器的计算机实现下述功能,该功能包括:当响应于对主数据的访问请求执行路由的路由管理器将从数据改变成主数据时,接受对通过改变所获得的主数据的访问,还复制通过改变所获得的主数据,以及使得外部装置保存所复制的主数据作为新的从数据。
[0010]用于为用户组提供服务的数据以用户为单位保存在分离的节点中作为主数据和从数据,从而在主数据不可用的情况下,从数据可以被用作备份。在这种情况下,其他用户的主数据可能是持续地可用的。此外,通过使得第三节点保存新的从数据,可以持续地使用备份。
[0011]根据本公开的一个或更多个实施例,可以使用备份更平稳地执行数据处理。

【专利附图】

【附图说明】
[0012]图1是示意性地示出了根据本公开的第一实施例的数据处理系统的配置的图;
[0013]图2是示出了在图1所示的数据处理系统中所执行的数据访问处理的示例的流程图;
[0014]图3是示出了在图1所示的数据处理系统中所执行的复制处理的示例的流程图;
[0015]图4是示出了图1所示的数据处理系统中的用户信息的示例的图;
[0016]图5是示出了图1所示的数据处理系统中的节点信息的示例的图;
[0017]图6是示出了在图1所示的数据处理系统中执行数据访问时的数据移动处理的具体示例的图;
[0018]图7是示出了通过图6所示的数据移动处理所更新的用户信息的图;
[0019]图8是示出了在根据本公开的第二实施例的数据处理系统中所执行的节点监视处理的流程图;
[0020]图9是示出了在图8所示的数据处理系统中所执行的数据移动处理的具体示例的图;
[0021]图10是示出了在根据本公开的第三实施例的数据处理系统中所执行的负荷分配处理的示例的流程图;
[0022]图11是示出了根据本公开的第三实施例的用户信息的示例的图;
[0023]图12是示出了根据本公开的第三实施例的节点信息的示例的图;
[0024]图13是示出了根据本公开的第三实施例的负荷分配处理的具体示例的图;
[0025]图14是示意性地示出了根据本公开的另一实施例的数据处理系统的配置的图;
[0026]图15是示意性示地出了根据本公开的又一实施例的数据处理系统的配置的图;以及
[0027]图16是示出了信息处理设备的硬件配置的框图。

【具体实施方式】
[0028]在下文中,将参照附图详细地描述本公开的优选实施例。注意,在本说明书和附图中,采用相同的附图标记表示基本上具有相同的功能和结构的结构性元件,并且省略了对这些结构性元件的重复说明。
[0029]注意,将按照下面的顺序给出描述。
[0030]1.第一实施例
[0031]1-1.系统配置
[0032]1-2.处理流程
[0033]1-3.管理信息的示例
[0034]1-4.数据移动处理的示例
[0035]2.第二实施例
[0036]3.第三实施例
[0037]4.其他变型例
[0038]5.硬件配置
[0039]6.补充
[0040](1.第一实施例)
[0041](1-1.系统配置)
[0042]图1是示意性地示出了根据本公开的第一实施例的数据处理系统的配置的图。参照图1,系统10包括路由管理器100和节点200。
[0043]例如,可以采用稍后描述的信息处理设备的硬件配置来实现路由管理器100。例如,路由管理器100代表用作网络中的服务器的一个或更多个信息处理设备,并且路由管理器100响应于来自为其提供服务的用户的对数据的访问请求,执行到节点200的路由。如下所述,在本实施例中,用于为用户提供服务的数据以用户为单位保存在节点200中,用户的数量为一个或更多个(在下文中,简单地缩写为“用户”可以意味着用户的数量为一个或更多个)。相应地,路由管理器100具有在存储装置等中所存储的用户信息110,并且路由管理器100参照用户信息110,指定哪个节点200存储已经发送了访问请求的用户的数据。此外,路由管理器100定期地或在数据访问时监视节点200的状态,并且将信息存储在存储装置等中作为节点信息120。
[0044]例如,还可以采用稍后描述的信息处理设备的硬件配置来实现节点200。例如,节点200是经由网络连接至路由管理器100的信息处理设备,并且节点200保存用于为用户提供服务的数据。尽管图示出了节点200a至200e,但是系统10可以包括更多个节点200。每个节点200可以存储主数据210和从数据220。主数据210是当为用户提供服务时要被访问的数据。从数据220是通过复制主数据210所获得的数据,并且从数据220被用作主数据210的备份。如上所述,在本实施例中,数据以用户为单位保存在节点200中。因此,各个用户的主数据210可以保存在不同的节点200中。此外,在本实施例中,主数据210和从数据220保存在不同的节点200中。另外,可以存在如图所示的节点200e的备用节点,其在特地的时间点不保存主数据210和从数据220。
[0045](1-2.处理流程)
[0046]图2是示出了在图1所示的数据处理系统中所执行的数据访问处理的示例的流程图。参照图2,首先,已经接收到用于数据访问的请求的路由管理器100指定用户的主节点和从节点(步骤S101)。在此,主节点代表保存用户的主数据的节点,而从节点代表保存用户的从数据的节点。路由管理器100通过参照用户信息110指定主节点和从节点。注意,稍后将描述用户信息110的具体示例。此外,具体地,在本说明书中所描述的由路由管理器100所执行的处理可以是由实现路由管理器100的信息处理设备的处理器所执行的。
[0047]接下来,路由管理器100确定用户的主节点是否可用(步骤S103)。在此,路由管理器100可以参照例如节点信息120,并且可以通过获取指示主节点的状态的信息来执行确定。替选地,路由管理器100可以执行对主节点的访问,并且可以基于访问是否成功来执行确定。
[0048]在步骤S103中,在主节点不可用的情况下(否),路由管理器100在进行路由之前执行改变主节点的处理。在此,首先,路由管理器100以与步骤S103中主节点的情况相同的方式确定用户的从节点是否可用(步骤S105)。在此,在从节点也不可用的情况下(否),意味着暂时不存在可用数据,从而因错误而终止处理(步骤S107)。
[0049]另一方面,在以上提及的步骤S105中,在从节点可用的情况下(是),路由管理器100在用户信息110中将节点由从节点改变成主节点(步骤S109)。因此,保存有用户的从数据220的节点200 (从节点)新近地被登记为保存用户的主数据210的节点200 (主节点),从而直到这时,从数据200新近地被称为主数据210。
[0050]在通过步骤S105至S109的处理设置新的主节点之后,并且当在步骤S103中主节点可用的情况下(是),路由管理器100执行到主节点的路由。更具体地,路由管理器100访问在用户信息110中已经被限定为主节点的节点200,并且获取主数据210的更新后的编号(步骤S111)。随后,执行由已经发送了对主数据的访问请求的用户进行的访问(步骤S113)。注意,对主数据的访问可以包括数据的添加、更新、复制或删除。
[0051]当终止对主数据的访问(步骤S113)时,路由管理器100以与步骤S103中的主节点的情况相同的方式确定用户的从节点是否可用(步骤SI 15)。在此,在从节点不可用的情况下(否),路由管理器100设置新的从节点(步骤S117)。例如,从除了主节点之外的节点200中选择从节点。所选择的从节点被登记在用户信息110中。
[0052]注意,存在在其中在步骤S117中设置新的从节点的下面的两种情况。一种情况是下述情况:因为主节点可用(在步骤S103中为是),所以执行对主数据的访问,但是另一方面,从节点不可用。另一情况是下述情况:因为主节点不可用(在步骤S103中为否),所以在步骤S109中将从节点改变成主节点,因此不存在从节点。通过在步骤S115中所执行的确定以及在步骤S117中所执行的处理,新近地设置了对于两种情况均可用的从节点。
[0053]接下来,路由管理器100执行主数据的复制以获得从数据(步骤S150)。以这种方式,步骤S113中的数据访问的结果被反映在从数据中,并且获得主数据与从数据同步的状态。
[0054]图3是示出了在图1所示的数据处理系统中所执行的复制处理的示例的流程图。注意,在此所描述的复制处理对应于图2所示的步骤S150的处理。参照图3,执行复制的路由管理器100确定主数据的更新后的编号与从数据的更新后的编号是否匹配(步骤S151)。在此,如果主数据的更新后的编号与从数据的更新后的编号相匹配(是),则路由管理器100将主数据与从数据之间的差异反映在从数据中(步骤S153),并且对从数据的更新后的编号进行更新(步骤S155)。另一方面,如果在步骤S151中主数据的更新后的编号与从数据的更新后的编号不匹配(否),则路由管理器100拷贝主数据覆盖从数据(步骤S157)。
[0055](1-3.管理信息的示例)
[0056]图4是示出了图1所示的数据处理系统中的用户信息的示例的图。参照图4,用户信息110包括项目“用户”、“主节点”以及“从节点”。“用户”是用于识别要成为由路由管理器100所执行的路由的目标的用户的信息。“主节点”和“从节点”是分别地代表保存被指定为“用户”的用户的主数据和从数据的节点200的信息。尽管在图中所示的示例中记录了节点的名称(节点A、节点B、……),但是也可以记录用于识别网络中的各个节点200的地址来代替名称。
[0057]注意,用户信息110中的“用户”意味着一个或更多个用户,每个用户用作节点200中的数据保存的单位,并且用户信息110中的“用户”不必定地对应于用于使用服务的各个用户账号。例如,被写入项目“用户”中的ID “用户_001”可以对应多个用户账号。在这种情况下,用户信息110限定了:多个用户账号的主数据保存在用作“主节点”的节点A(节点200a)中,而多个用户账号的从数据保存在用作“从节点”的节点B(节点200b)中。在存在来自用户账号的数据访问请求的情况下,路由管理器100执行到节点A的路由。例如,依赖于在访问请求中所包括的查询,在节点A中可以确定要访问在节点A中所存储的主数据之中的哪个记录。
[0058]图5是示出了图1所示的数据处理系统中的节点信息的示例的图。参照图5,节点信息120包括项目“节点”和“状态”。“节点”是用于相互识别要成为由路由管理器100所执行的路由的目标的节点200的信息。如已经对于用户信息110所描述地,可以不以节点的名称来记录每个节点200,而可以以地址来记录每个节点200。“状态”是指示每个节点是否可用的信息。在图中所示的示例中,示出了节点B(节点200b)不可用。例如,可以通过路由管理器100定期地监视节点200的状态对“状态”的信息进行更新,或可以基于在如图2所示地执行数据访问时访问的成功或失败对“状态”的信息进行更新。
[0059](1-4.数据移动处理的示例)
[0060]图6是示出了在图1所示的数据处理系统中执行数据访问时的数据移动处理的具体示例的图。图6示出了在由于装置故障、通信错误等节点200b (节点B)不可用的情况下的数据移动处理。在此,节点200b保存用户_003的主数据210、用户_001的从数据220以及用户_006的从数据220。
[0061]例如,已经接收到来自用户_003( S卩,被识别为用户_003的一个或更多个用户账号中的任一个)的数据访问请求的路由管理器100依照如图4所示的用户信息110尝试访问用作主节点的节点200b,但是如图5所示的节点信息120所示地,节点200b不可用。
[0062]因此,路由管理器100还参照用户信息110,并且还将在用作从节点的节点200d(节点D)中所保存的用户_003的从数据220(在图中采用白星示出)改变成主数据210d。路由管理器100响应于来自用户_003的访问请求执行到保存新的主数据210d的节点200d的路由,从而执行对主数据21d的访问。
[0063]此时,关于用户_003,因为原始的从数据220已经被改变成主数据210d,所以不存在从数据。因此,路由管理器100复制节点200d的主数据210d,并且使得节点200a保存所复制的主数据210d作为新的从数据220a。注意,可以从除了已经保存主数据210d的节点200d以外的可用节点200(图中所示的示例中的节点200a和200c)中选择用于保存新的从数据220的节点200。此时,如果恢复节点200b,则可以将节点200b添加至从其中选择用于保存从数据220的节点的节点组,或还可以优选地选择节点200b作为用于保存从数据220的节点。
[0064]另一方面,关于用户_001和用户_006中的每个,因为其为在节点200b中所保存的从数据220,所以用户_001和用户_006中的每个能够访问在其他节点200 (对于用户_001为节点200a,而对于用户_006为节点200c)中所保存的主数据210。然而,例如,在其他节点发生装置故障、通信错误等的情况下,变得难以访问数据。因此,例如,如图2的步骤S115所示,确定保存从数据220的节点200在访问主数据210时是否可用,而如果节点200不可用,则在其他节点中建立新的从数据220。
[0065]在图中所示的示例中,在用于用户_001的节点200c(节点C)和用于用户_006的节点200d(节点D)中的每个中建立新的从数据220(图中采用黑星示出)。通过复制在其他节点中所保存的主数据210生成这些从数据220。注意,例如可以从除了已经保存主数据210的节点200以外的可用节点200中选择保存新的从数据220的新节点200。因此,关于用户_001,节点200c和200d是用于新的从节点的选项,而关于用户_006,节点200a和200d是用于新的从节点的选项。以与用户_003的情况相同的方式,如果节点200b已经恢复,则可以将节点200b添加至选项。
[0066]图7是示出了通过图6所示的数据移动处理所更新的用户信息的图。在图7中,为了方便描述,将标记“(*)”附至更新后的项目。在图中所示的用户信息110’中,关于用户_001和用户_006,仅改变从节点。此外,关于用户_003,改变主节点和从节点两者。因此,不可用节点B(节点200b)未被用作任何用户的主节点和从节点。
[0067]在此之前,已经描述了本公开的第一实施例。在本实施例中,当将用于为用户提供服务的数据以一个或更多个用户为单位分散地保存在节点中,并且响应于来自用户的对数据的访问请求执行路由时,当在要经历路由的主节点中发现故障的情况下,执行到保存有所复制的数据的从节点的替选路由。以这种方式,即使在主节点中存在故障,也可以持续地为用户提供服务。
[0068]此外,在本实施例中,因为将数据以用户为单位分散地保存在节点中,所以可以将要经历替选路由的目标限制为各自具有作为主节点或从节点的节点的用户。在整体地保存用于所有用户的所有数据的情况下,由从节点到主节点的切换或新的从节点的设置影响所有用户,但是在本实施例中,影响可以被限制到较小范围中的用户。此外,例如,如以上所述的示例一样地,当在数据访问时发生故障的情况下,通过执行数据移动处理,在故障期间未发送数据访问请求的用户可以在故障恢复之后能够执行与以前相同的路由。
[0069](2.第二实施例)
[0070]图8是示出了在根据本公开的第二实施例的数据处理系统中所执行的节点监视处理的流程图。在本实施例中,在与第一实施例的数据处理系统类似的数据处理系统中,还在除了数据访问时以外或与数据访问时分离地执行定期的节点状态监视,而在发现不可用节点的情况下,执行数据移动处理。注意,关于以下要描述的部分以外的部分,本实施例的配置可以与第一实施例的配置相同。
[0071]参照图8,首先,执行节点监视的路由管理器100确定节点对于每个节点200是否可用(步骤S201)。在此,在节点200可用的情况下(是),终止关于节点200的处理。另一方面,在节点200不可用的情况下(否),路由管理器100卸载不可用节点200中存储数据的卷(步骤S203)。另外,路由管理器100将在步骤S203中所写在的卷挂载在其他可用节点200上,例如挂载在备用节点上(步骤S205)。然后,路由管理器100采用在其上新近地挂载了卷的节点200的信息对用户信息110进行更新(步骤S207)。
[0072]图9是示出了在图8所示的数据处理系统中所执行的数据移动处理的具体示例的图。图9示出了,在用于第一实施例的描述的图1所示的系统10中,在由于装置故障、通信错误等节点200b (节点B)变为不可用的情况下的数据移动处理。在此,节点200b保存用户_003的主数据210、用户_001的从数据220以及用户_006的从数据220。
[0073]当执行节点监视的路由管理器100发现节点200b不可用时,路由管理器100卸载节点200b中存储数据的卷,并且将该卷挂载在备用节点200e (节点E)上。因此,节点200e新近地保存用户_003的主数据210、用户_001的从数据220以及用户_006的从数据220。在这种情况下,可以通过复制在节点200d中所存储的从数据220生成用户_003的主数据210。此外,可以通过分别地复制在节点200a和200c中所存储的主数据210生成用户_001的从数据220和用户_006的从数据220。
[0074]在这种情况下,为了防止发生在数据移动处理期间不存在用户_003的主数据210的状态,首先可以将在节点200d中所存储的从数据220改变成主数据210,然后可以在节点200e中建立用户_003的从数据220。注意,例如,从负荷分配的观点来看,在期望分散主数据的情况下,可以将节点200e中的用户_003的从数据220改变成主数据210,并且可以在完成数据复制之后将节点200d中的用户_003的主数据210转回从数据220。
[0075]在此之前,已经描述了本公开的第二实施例。在本实施例中,在通过即使不存在数据访问请求也定期地监视节点而在节点中发现故障的情况下,将在节点中所保存的主数据和从数据移动到诸如备用节点的其他节点。因为以用户为单位保存数据,所以即使在数据移动处理期间也可以持续地为其主数据保存在上述节点以外的节点中的用户提供服务。因此,在存在数据访问请求的情况下,较高可能性的是,变为可以执行到可用主节点的路由。
[0076](3.第三实施例)
[0077]图10是示出了在根据本公开的第三实施例的数据处理系统中所执行的负荷分配处理的示例的流程图。在本实施例中,在与第一实施例和第二实施例的数据处理系统类似的数据处理系统中,还在除了数据访问时和/或节点监视时以外,或与这些分离地执行用于负荷分配的数据移动处理。注意,关于以下要描述的部分以外的部分,本实施例的配置可以与第一实施例或第二实施例的配置相同。
[0078]参照图10,路由管理器100参照稍后描述的节点信息122,并且确定每个节点200的负荷是否超过给定阈值(步骤S301)。在此,在不存在具有超过阈值的负荷的节点200的情况下(否),终止负荷分配处理。另一方面,在存在具有超过阈值的负荷的节点200的情况下(是),路由管理器100确定是否存在具有低于阈值的负荷的其他节点200 (步骤S303)。注意,例如,在步骤S303中所使用的阈值可以是与在步骤S301中所使用的阈值相同的值,或可以是小于在步骤S301中所使用的阈值的值。在不存在具有低于步骤S303中的阈值的负荷的节点的情况下(否),即,在所有节点均处于高负荷状态的情况下,因为不存在分配目的地所以终止负荷分配处理。替选地,可以设置具有较高的值的阈值,并且可以重复步骤S301和S303的确定。
[0079]在存在具有低于步骤S303中的阈值的负荷的其他节点200的情况下(即,一个节点200具有超过阈值的负荷而其他节点200具有低于阈值的负荷),路由管理器100执行数据移动处理。具体地,路由管理器100将在其主数据保存在具有超过阈值的负荷的节点200(在下文中,也称为高负荷节点)中的用户之中、具有以给定程度或以高于给定程度更高的负荷的用户的主数据移动至具有低于阈值的负荷的节点200(在下文中,也称为低负荷阈值)(步骤S305)。在此,例如,低负荷节点可以是在各自具有低于阈值的负荷的节点200之中、具有最低负荷的节点。此外,可以从在各自具有低于阈值的负荷的节点200之中、不保存移动目标的用户的从数据的节点中选择低负荷节点。
[0080]在此,移动目标用户可以是例如其对主数据的访问频率较高并且对节点施加较大的负荷的用户。此外,要成为移动目标的用户可以是在其主数据保存在高负荷节点的用户之中、具有最大负荷的用户。然而,例如,在高负荷节点的负荷的大部分是由用户所生成的,从而如果移动用户的主数据,则预测到移动目的地的低负荷节点的负荷超过阈值的情况下,可以移动具有其大小为第二大的负荷的用户的主数据,或可以中止主数据本身的移动。注意,移动目的地的节点可以是以上提及的备用节点。
[0081]此外,当目标用户的从数据已经保存在移动目的地的低负荷节点中时,例如,可以通过将从数据改变成主数据来执行步骤S305中的数据移动。另一方面,在移动目的地的低负荷节点与保存目标用户的从数据的节点不同的情况下,可以通过复制在高负荷节点中所保存的主数据来在低负荷节点中建立新的主数据。在这种情况下,因为从数据已经保存在其他节点中,所以可以删除在高负荷节点中所保存的原始的主数据,或可以将在高负荷节点中所保存的原始的主数据改变成从数据并且可以删除在其他节点中所保存的从数据。
[0082]接下来,路由管理器100确定是否存在其主数据已经被移动的用户的从数据(步骤S307)。在此,例如被确定为不存在从数据的情况(否)代表下述情况:在该情况下,步骤S305中的移动目的地的低负荷节点已经保存了目标用户的从数据,并且通过将从数据改变成主数据来执行数据移动。在这样的情况下,路由管理器100新近地建立从数据(步骤S309)。例如,可以通过将在移动源的高负荷节点中所保存的原始的主数据改变成从数据来执行该处理。替选地,可以通过复制与移动源的高负荷节点不同并且与移动目的地的低负荷节点不同的其他节点中的主数据来建立新的从数据。
[0083]注意,步骤S309中所建立的从数据是具有高负荷并且因此变成移动目标的用户的数据。如上所述,因为可以通过使其改变成主数据来使用从数据,所以在创建从数据中可以选择此时具有较低的负荷的节点。
[0084]当从数据已经存在(在步骤S307中为是)或新近地被建立(步骤S309)时,路由管理器100将新的主节点和新的从节点的信息登记在稍后描述的用户信息112中(步骤S311)。
[0085]图11是示出了根据本公开的第三实施例的用户信息的示例的图。参照图11,除了参照图4所描述的用户信息110的项目以外,用户信息112还包括项目“访问频率”。“访问频率”是指示用户多经常访问主数据的信息。随着访问频率的增加,假定用户将较大的负荷施加在保存主数据的节点200上。在参照图10所描述的负荷分配处理中,路由管理器100可以参照项目“访问频率”并且可以在其主数据保存在高负荷节点中的用户之中指定具有以给定程度或以高于给定程度更高的负荷的用户。注意,如图所示,例如,可以以诸如“很高”、“高”以及“低”的等级记录“访问频率”,或可以以诸如每天访问次数的数值记录“访问频率”。
[0086]图12是示出了根据本公开的第三实施例的节点信息的示例的图。参照图12,除了参照图5所描述的节点信息120的项目以外,节点信息122还包括项目“负荷”。“负荷”是指示将多大负荷施加到节点的信息。在参照图10所描述的负荷分配处理中,路由管理器100可以参照项目“负荷”,并且可以确定施加到节点200的负荷是否超过阈值。注意,如图中所示,例如,可以以诸如“很高”、“高”以及“低”的等级记录“负荷”,或可以以包括处理器或存储器使用率以及负荷平均值的指标值记录“负荷”。
[0087]图13是示出了根据本公开的第三实施例的负荷分配处理的具体示例的图。图13示出了当在第一实施例中所描述的图1所示的系统10中发生如图11和图12所示的每个用户的访问频率和每个节点200的负荷的情况下的负荷分配处理。
[0088]在图中所示的示例中,如在图12所示的节点信息122中一样,节点200a(节点A)具有最高的负荷。在这种情况下,如果节点200a的负荷超过给定阈值,则路由管理器100执行将数据从节点200a移动至其他节点的数据移动处理。另一方面,根据节点信息122,节点200b (节点B)具有最低的负荷。所以,路由管理器100决定节点200b要成为数据移动目的地。因此,在以上的示例中,将节点200a处理为高负荷节点,而将节点200b处理为低负荷节点。
[0089]在此,如在图11中所示的用户信息112中一样,在其主数据210保存在节点200a中的用户之中,用户_001的访问频率为“很高”,而用户_004的访问频率为“高”。在此,路由管理器100决定具有较高的访问频率的用户_001要成为移动目标的用户,并且执行数据移动处理。在此,因为节点200b已经保持了用户_001的从数据220,所以路由管理器100将从数据220 (在图中采用白星示出)改变成主数据210。
[0090]另外,因为用户_001的从数据通过以上的处理而消失,所以路由管理器100在节点200c中新近地建立用户_001的从数据220。例如,从数据220可以是从图中所示的节点200b中的新的主数据210所复制的,或可以是从在节点200a中所保存的原始的主数据210所复制的。注意,在图中所示的示例的情况下,可以在数据移动处理终止之后删除在节点200a中所保存的原始的主数据210。
[0091]在此之前,已经描述了本公开的第三实施例。在本实施例中,尽管在节点中未发生故障,但是为了分散负荷,当节点的负荷高时也执行数据移动。因为将数据以用户为单位分散地存储在每个节点中,所以可以执行这样的处理。可以持续地对除了移动目标用户以外的用户提供服务,并且另外对于移动目标用户,例如,可以通过使用从数据执行数据移动处理将服务中断历时最小化。以这种方式,可以减小集中在部分节点上的负荷,因此可以防止由于节点的过负荷所导致的故障以及服务质量的劣化的发生。
[0092](4.其他变型例)
[0093]图14是示意性地示出了根据本公开的另一实施例的数据处理系统的配置的图。参照图14,系统20包括路由管理器100和节点200。在此,路由管理器100和节点200与在第一实施例中所描述的图1中所示的系统10所包括的路由管理器100和节点200相同。系统20是采用最小数量的节点200实现根据本公开的实施例的数据处理系统的示例中的一个。
[0094]系统20包括三个节点,即节点200a、节点200b以及节点200c。系统20保存三个用户组(针对保存数据所组织的一个或更多个用户)的数据,即用户_001、用户_002以及用户_003。关于用户_001,节点200a保存主数据210,而节点200b保存从数据220。此时,节点200c不具有用户_001的数据,并且用作备用节点。如图中所示,节点200c可以保持用于用户_001的主数据或从数据的复制的数据保存区域230。
[0095]以相同的方式,关于用户_002,节点200b保存主数据210,节点200c保存从数据220,以及节点200a用作备用节点。此外,关于用户_003,节点200c保存主数据210,节点200a保存从数据220以及节点200b用作备用节点。以这种方式,当存在三个节点200时,使得它们中的一个用作主节点,另一个用作从节点以及剩余的一个用作备用节点,从而可以执行以上所述的数据移动处理。此外,在这种情况下,当将用户划分成三组(以上示例中的用户_001、用户_002以及用户_003)并且将各个主数据分散地保存在不同的节点200中时,可以分散通过访问主数据所生成的负荷。
[0096]当然,如在第一实施例中所描述地,对于系统还可以包括更多个节点200或对于节点200可以包括各自用作用于任何用户的备用节点的节点(多个节点),从而可以构建具有更多冗余的系统。
[0097]图15是示意性地示出了根据本公开的又一实施例的数据处理系统的配置的图。参照图15,在系统30中,由三个或更多个节点200形成节点组31,以及路由管理器100选择多个节点组31中的一个并且执行路由。节点组31可以用于保存其类型彼此不同的数据。例如,一个节点组31可以保存每个用户的配置文件信息的数据,以及其他节点组31可以保存每个用户的活动日志的数据。依照访问请求是针对哪种类型的数据,路由管理器100执行到在适当的节点组31中所包括的节点200的路由。
[0098]此外,如图中所示,节点200可以包括服务器装置200s,并且可以包括客户端装置200t。在此,服务器装置200s是存在于网络上的信息处理设备,并且仅用于为其他装置提供服务。另一方面,客户端200t是例如由用户所持有的终端装置。客户端装置200t用作用于用户使用由服务器装置200s所提供的服务的接口,以及另外还是可以用于为用户他自己/她自己或其他装置提供服务的装置。根据本实施例的节点200可以是服务器装置200s和客户端装置200t中的任一个。这意味着用户的数据可以分散地存储在服务器装置200s和客户端装置200t中。
[0099](5.硬件配置)
[0100]接下来,参照图16,将描述根据本公开的实施例的信息处理设备的硬件配置。图16是示出了信息处理设备的硬件配置的框图。信息处理设备900可以实现例如以上所述的实施例的路由管理器和节点。
[0101]信息处理设备900包括中央处理单元(CPU)901、只读存储器(ROM)903以及随机存取存储器(RAM)905。此外,信息处理设备900还可以包括主机总线907、桥909、外部总线911、接口 913、输入装置915、输出装置917、存储装置919、驱动器921、连接端口 923以及通信装置925。信息处理设备900还可以包括诸如数字信号处理器(DSP)或特定用途集成电路(ASIC)的处理电路,以代替CPU901或连同CPU901 —起使用。
[0102]CPU901用作算术处理单元和控制单元,并且根据在R0M903、RAM905、存储装置919或可移动记录介质927中所记录的各种程序来控制信息处理设备900的整个操作或部分操作。R0M903存储由CPU901所使用的程序和算术参数。RAM905主要存储在CPU901的执行中所使用的程序以及在执行期间适当地变化的参数等。CPU901、R0M903以及RAM905经由从诸如CPU总线等的内部总线所构成的主机总线907彼此连接。另外,主机总线907经由桥909连接至外部总线911,诸如外围组件互连/接口(PCI)总线。
[0103]输入装置915是由用户所操作的装置,诸如鼠标、键盘、触摸板、按钮、开关以及操纵杆。另外,输入装置915可以是使用例如红外光或其他无线电波的远程控制装置,或可以是与信息处理设备900的操作兼容的外部连接装置929,诸如移动电话。输入装置915包括输入控制电路,该输入控制电路基于由用户所输入的信息生成输入信号并且将输入信号输出至CPU901。用户通过对输入装置915进行操作来对信息处理设备900输入各种数据,并且指示信息处理设备900执行处理操作。
[0104]输出装置917由能够视觉上或听觉上将所获取的信息通知给用户的装置构成。例如,输出装置917可以是:显示装置,诸如液晶显示器(LCD)、等离子显示面板(TOP)或有机电致发光(EL)显示器;音频输出装置,诸如扬声器和耳机;或打印机。输出装置917将通过由信息处理设备900所执行的处理所获得的结果输出为文本或图像形式的视频或输出为音频或声音形式的音频。
[0105]存储装置919是配置为信息处理设备900的存储器的示例的、用于存储数据的装置。存储装置919由例如磁存储装置(诸如硬盘驱动器(HDD))、半导体存储装置、光存储装置或磁光存储装置构成。存储装置919存储要由CPU901所执行的程序、各种数据以及从外部所获得的各种数据。
[0106]驱动器921是用于可移动记录介质927 (诸如磁盘、光盘、磁光盘或半导体存储器)的读取器/写入器,并且内置在信息处理设备900中或外部地附接至信息处理设备900。驱动器921读取在所附接的可移动记录介质927上所记录的信息,并且将该信息输出至RAM905。此外,驱动器921将该记录写入到所附接的可移动记录介质927上。
[0107]连接端口 923是使得装置能够直接地连接至信息处理设备900的端口。连接端口923的示例包括通用串行总线(USB)端口、IEEE1394端口以及小型计算机系统接口(SCSI)端口。连接端口 923的其他示例可以包括RS-232C端口、光学音频端子以及高清晰度多媒体接口(HDMI (注册商标))端口。外部连接装置929到连接端口 923的连接可以使得能够在信息处理设备900与外部连接装置929之间进行各种数据交换。
[0108]通信装置925是由例如用于建立到通信网络931的连接的通信装置所构成的通信接口。例如,通信装置925是有线或无线局域网(LAN)、蓝牙(注册商标)、用于无线USB(WUSB)的通信卡等。替选地,通信装置925可以是用于光通信的路由器、用于非对称数字用户线路(ADSL)的路由器、用于各种通信的调制解调器等。例如,通信装置925可以使用给定的协议(诸如TCP/IP)与在因特网上的其他通信装置发送并且接收信号等。连接至通信装置925的通信网络931由网络等构成,该网络经由线缆所连接或无线地连接,并且是例如因特网、家用LAN、红外线通信、无线电波通信以及卫星通信。
[0109]在此之前,已经示出了信息处理设备900的硬件配置的示例。以上所述的结构性元件中的每个可以使用通用材料构成,或可以由每个结构性元件的功能专用的硬件构成。可以根据执行实施例时的技术水平适当地改变配置。
[0110](6.补充)
[0111]例如,本公开的实施例可以包括以上所述的信息处理设备(路由管理器或节点)、系统、在信息处理设备或系统中所执行的信息处理方法、用于使得信息处理设备起作用的程序、以及在其上记录有程序的非暂态有形介质。
[0112]本【技术领域】的技术人员应当理解的是,依赖于设计要求和其他因素,可以发生各种修改、组合、子组合以及替换,只要其落在所附的权利要求或其等同的范围内即可。
[0113]另外,本技术还可以如下配置。
[0114](I) 一种数据处理系统,包括:
[0115]节点,各自配置成以用作用户组的一部分的一个或更多个用户为单位保存用于为所述用户组提供服务的数据;以及
[0116]路由管理器,配置成响应于来自所述一个或更多个用户的对所述数据的访问请求,执行到存储所述一个或更多个用户的数据的节点的路由,
[0117]其中,所述节点包括用于保存所述一个或更多个用户的主数据的第一节点、用于保存通过复制所述主数据所获得的从数据的第二节点、和第三节点,以及
[0118]其中,所述路由管理器还执行数据移动处理,所述数据移动处理包含:将在所述第二节点中所保存的从数据改变成主数据,还复制所述从数据,以及使得所述第三节点保存所复制的从数据作为新的从数据。
[0119](2)根据⑴所述的数据处理系统,
[0120]其中,在所述第一节点不可用的情况下,所述路由管理器执行所述数据移动处理。
[0121](3)根据⑵所述的数据处理系统,
[0122]其中,在未响应于来自所述一个或更多个用户的访问请求执行到所述第一节点的路由的情况下,所述路由管理器执行到所述第二节点的替选路由,并且还执行所述数据移动处理。
[0123](4)根据(3)所述的数据处理系统,
[0124]其中,在响应于来自所述一个或更多个用户的访问请求执行到所述第一节点的所述路由的情况下,所述路由管理器检查所述第二节点,并且在通过所述检查发现所述第二节点不可用的情况下,所述路由管理器执行下述处理,所述处理包含:复制在所述第一节点中所保存的主数据,以及使得所述第三节点保存所复制的主数据作为新的从数据。
[0125](5)根据⑵至(4)中任一项所述的数据处理系统,
[0126]其中,所述路由管理器通过定期地检查所述节点发现所述第一节点不可用。
[0127](6)根据⑴至(5)中任一项所述的数据处理系统,
[0128]其中,所述路由管理器依照所述一个或更多个用户施加到所述节点的负荷执行所述数据移动处理。
[0129](7)根据(6)所述的数据处理系统,
[0130]其中,在施加到所述第一节点的负荷高于施加到所述第二节点的负荷的情况下,所述路由管理器执行所述数据移动处理。
[0131](8)根据⑴至(7)中任一项所述的数据处理系统,
[0132]其中,对于与所述一个或更多个用户不同的另外的一个或更多个用户,所述第一节点保存所述从数据。
[0133](9)根据⑴至⑶中任一项所述的数据处理系统,
[0134]其中,对于与所述一个或更多个用户不同的另外的一个或更多个用户,所述第二节点保存所述主数据。
[0135](10)根据⑴至(9)中任一项所述的数据处理系统,
[0136]其中,对于与所述一个或更多个用户不同的另外的一个或更多个用户,所述第三节点保存所述主数据或所述从数据。
[0137](11)根据⑴至(10)中任一项所述的数据处理系统,
[0138]其中,在所述数据移动处理期间,从所述节点中选择所述第三节点。(12)根据(I)至(11)中任一项所述的数据处理系统,
[0139]其中,所述第一节点、所述第二节点以及所述第三节点形成节点组,
[0140]其中,所述数据处理系统包括用于保存多种类型的数据的多个节点组,以及
[0141]其中,所述路由管理器通过依照数据的类型选择所述多个节点组中的任一个节点组执行路由。
[0142](13)根据(I)至(12)中任一项所述的数据处理系统,
[0143]其中,所述节点包括服务器装置。
[0144](14)根据⑴至(13)中任一项所述的数据处理系统,
[0145]其中,所述节点包括客户端装置。
[0146](15) 一种数据处理设备,包括:
[0147]存储器,配置成保存通过复制用于为一个或更多个用户提供服务的主数据所获得的从数据;以及
[0148]控制器,配置成当响应于对所述主数据的访问请求执行路由的路由管理器将所述从数据改变成主数据时,接受对通过改变所获得的所述主数据的访问,还复制通过所述改变所获得的所述主数据,以及使得外部装置保存所复制的主数据作为新的从数据。
[0149](16)根据(15)所述的数据处理设备,
[0150]其中,对于与所述一个或更多个用户不同的另外的一个或更多个用户,所述存储器保存所述主数据。
[0151](17)根据(15)所述的数据处理设备,
[0152]其中,对于与所述一个或更多个用户不同的另外的一个或更多个用户,所述存储器不保存所述主数据并且不保存所述从数据。
[0153](18)根据(15)至(17)中任一项所述的数据处理设备,
[0154]其中,所述数据处理设备是服务器装置。
[0155](19)根据(15)至(17)中任一项所述的数据处理设备,
[0156]其中,所述数据处理设备是客户端装置。
[0157](20) 一种在其中保存有程序的非暂态计算机可读存储介质,所述程序使得计算机实现下述功能,所述计算机连接至保存通过复制用于为一个或更多个用户提供服务的主数据所获得的从数据的存储器,
[0158]所述功能包括:当响应于对所述主数据的访问请求执行路由的路由管理器将所述从数据改变成主数据时,接受对通过改变所获得的所述主数据的访问,还复制通过所述改变所获得的所述主数据,以及使得外部装置保存所复制的主数据作为新的从数据。
【权利要求】
1.一种数据处理系统,包括: 节点,各自配置成以用作用户组的一部分的一个或更多个用户为单位保存用于为所述用户组提供服务的数据;以及 路由管理器,配置成响应于来自所述一个或更多个用户的对所述数据的访问请求,执行到存储所述一个或更多个用户的数据的节点的路由, 其中,所述节点包括用于保存所述一个或更多个用户的主数据的第一节点、用于保存通过复制所述主数据所获得的从数据的第二节点、和第三节点,以及 其中,所述路由管理器还执行数据移动处理,所述数据移动处理包含:将在所述第二节点中所保存的从数据改变成主数据,还复制所述从数据,以及使得所述第三节点保存所复制的从数据作为新的从数据。
2.根据权利要求1所述的数据处理系统, 其中,在所述第一节点不可用的情况下,所述路由管理器执行所述数据移动处理。
3.根据权利要求2所述的数据处理系统, 其中,在未响应于来自所述一个或更多个用户的访问请求执行到所述第一节点的路由的情况下,所述路由管理器执行到所述第二节点的替选路由,并且还执行所述数据移动处理。
4.根据权利要求3所述的数据处理系统, 其中,在响应于来自所述一个或更多个用户的访问请求执行到所述第一节点的所述路由的情况下,所述路由管理器检查所述第二节点,并且在通过所述检查发现所述第二节点不可用的情况下,所述路由管理器执行下述处理,所述处理包含:复制在所述第一节点中所保存的主数据,以及使得所述第三节点保存所复制的主数据作为新的从数据。
5.根据权利要求2所述的数据处理系统, 其中,所述路由管理器通过定期地检查所述节点发现所述第一节点不可用。
6.根据权利要求1所述的数据处理系统, 其中,所述路由管理器依照所述一个或更多个用户施加到所述节点的负荷执行所述数据移动处理。
7.根据权利要求6所述的数据处理系统, 其中,在施加到所述第一节点的负荷高于施加到所述第二节点的负荷的情况下,所述路由管理器执行所述数据移动处理。
8.根据权利要求1所述的数据处理系统, 其中,对于与所述一个或更多个用户不同的另外的一个或更多个用户,所述第一节点保存所述从数据。
9.根据权利要求1所述的数据处理系统, 其中,对于与所述一个或更多个用户不同的另外的一个或更多个用户,所述第二节点保存所述主数据。
10.根据权利要求1所述的数据处理系统, 其中,对于与所述一个或更多个用户不同的另外的一个或更多个用户,所述第三节点保存所述主数据或所述从数据。
11.根据权利要求1所述的数据处理系统, 其中,在所述数据移动处理期间,从所述节点中选择所述第三节点。
12.根据权利要求1所述的数据处理系统, 其中,所述第一节点、所述第二节点以及所述第三节点形成节点组, 其中,所述数据处理系统包括用于保存多种类型的数据的多个节点组,以及 其中,所述路由管理器通过依照数据的类型选择所述多个节点组中的任一个节点组执行路由。
13.根据权利要求1所述的数据处理系统, 其中,所述节点包括服务器装置。
14.根据权利要求1所述的数据处理系统, 其中,所述节点包括客户端装置。
15.一种数据处理设备,包括: 存储器,配置成保存通过复制用于为一个或更多个用户提供服务的主数据所获得的从数据;以及 控制器,配置成当响应于对所述主数据的访问请求执行路由的路由管理器将所述从数据改变成主数据时,接受对通过改变所获得的所述主数据的访问,还复制通过所述改变所获得的所述主数据,以及使得外部装置保存所复制的主数据作为新的从数据。
16.根据权利要求15所述的数据处理设备, 其中,对于与所述一个或更多个用户不同的另外的一个或更多个用户,所述存储器保存所述主数据。
17.根据权利要求15所述的数据处理设备, 其中,对于与所述一个或更多个用户不同的另外的一个或更多个用户,所述存储器不保存所述主数据并且不保存所述从数据。
18.根据权利要求15所述的数据处理设备, 其中,所述数据处理设备是服务器装置。
19.根据权利要求15所述的数据处理设备, 其中,所述数据处理设备是客户端装置。
20.一种在其中保存有程序的非暂态计算机可读存储介质,所述程序使得计算机实现下述功能,所述计算机连接至保存通过复制用于为一个或更多个用户提供服务的主数据所获得的从数据的存储器, 所述功能包括:当响应于对所述主数据的访问请求执行路由的路由管理器将所述从数据改变成主数据时,接受对通过改变所获得的所述主数据的访问,还复制通过所述改变所获得的所述主数据,以及使得外部装置保存所复制的主数据作为新的从数据。
【文档编号】G06F11/14GK104182296SQ201410208814
【公开日】2014年12月3日 申请日期:2014年5月16日 优先权日:2013年5月23日
【发明者】河内勉 申请人:索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1