对象布置设备及其方法,计算机程序.pdf

上传人:111****112 文档编号:4759109 上传时间:2018-11-07 格式:PDF 页数:47 大小:3.02MB
返回 下载 相关 举报
摘要
申请专利号:

CN201180040165.6

申请日:

2011.07.15

公开号:

CN103069396A

公开日:

2013.04.24

当前法律状态:

撤回

有效性:

无权

法律详情:

发明专利申请公布后的视为撤回IPC(主分类):G06F 12/00申请公布日:20130424|||实质审查的生效IPC(主分类):G06F 12/00申请日:20110715|||公开

IPC分类号:

G06F12/00

主分类号:

G06F12/00

申请人:

日本电气株式会社

发明人:

石川健一郎

地址:

日本东京都

优先权:

2010.08.19 JP 2010-184109

专利代理机构:

中科专利商标代理有限责任公司 11021

代理人:

王波波

PDF下载: PDF下载
内容摘要

公开了一种对象布置设备,通过相当容易的处理配置将多个对象几乎均匀地布置到多个布置目的地。该对象布置设备包括布置目的地确定装置。布置目的地确定装置参照基于对象的独有信息产生的序列信息,并且参照对对象的布置目的地加以标识的布置目的地标识符和与布置目的地标识符相关联的第二数之间的对应信息。布置目的地确定装置使用序列信息产生第一数,当利用不同的序列信息产生第一数时,第一数之间不具有相关性,并且布置目的地确定装置重复产生新的第一数,直到第一数与对应信息中包含的第二数相匹配为止。布置目的地确定装置在第一数与第二数中的任一个相匹配时确定将对象布置到与所匹配的第二数相关的布置目的地标识符所对应的布置目的地。

权利要求书

权利要求书一种对象布置设备,所述对象布置设备包括布置目的地确定装置,其中
所述布置目的地确定装置参照基于对象的独有信息而产生的序列信息,并且参照在标识了所述对象的布置目的地的布置目的地标识符和与所述布置目的地标识符相关联的第二数之间的对应信息,
所述布置目的地确定装置使用所述序列信息产生第一数,当利用不同的序列信息产生所述第一数时,所述第一数相互之间不具有相关性,并且所述布置目的地确定装置重复产生新的第一数,直到所述第一数与所述对应信息中包含的所述第二数相匹配为止,以及
所述布置目的地确定装置在所述第一数与所述第二数中的任一个相匹配时确定将所述对象布置到与所匹配的所述第二数有关的所述布置目的地标识符所对应的布置目的地。
根据权利要求1所述的对象布置设备,其中,所述布置目的地确定装置包括:
数创建装置,所述数创建装置能够重复地产生所述第一数;以及
判定装置,所述判定装置参照所述对应信息将所述第二数与所述第一数相比较,并且响应于这些数的一致性,将与所述第二数相关联的所述布置目的地标识符所对应的布置目的地确定为所述对象的布置目的地。
根据权利要求2所述的对象布置设备,其中
所述数创建装置包括具有相互不同的数范围的多个数创建装置,所述数能够产生作为所述第一数,并且所述多个数创建装置具有以下关系:所述数创建装置中具有范围编号n(n:自然数)的一个数创建装置的所述数范围包括在所述数创建装置中具有范围编号(n+1)的另一数创建装置的数范围中,并且
通过所述判定装置:
(I)将最大范围编号设置为p,并且将次最大范围编号设置为q,
(II)当具有范围编号p的所述数创建装置产生的所述第一数超过具有范围编号q的所述数创建装置的范围时,将所述第一数与所述第二数相比较,当所述第一数和所述第二数相同时,将与所述第二数有关的所述布置目的地标识符所对应的布置目的地确定为所述对象的布置目的地,并且当所述第一数和所述第二数不相同时,产生所述新的第一数,重复(I)和(II),并且
(III)当具有范围编号p的所述数创建装置产生的所述第一数在具有范围编号q的所述数创建装置的所述范围内时,从p和q中分别减去1,并且作为所述减法的结果,当q不为0时重复(II),并且当q为0时将具有范围编号1的所述数创建装置产生的所述第一数与所述第二数相比较,并且当所述第一数和所述第二数相同时,将与所述第二数有关的所述布置目的地标识符所对应的所述布置目的地确定为所述对象的布置目的地,并且当所述第一数和所述第二数不相同时,产生所述第一数并且从(I)开始重新执行所述处理。
根据权利要求3所述的对象布置设备,其中,所述数创建装置同时执行多个所述数创建装置。
根据权利要求1至3中任一项所述的对象布置设备,其中,
所述布置目的地确定装置包括在重复产生所述新的第一数时以外部指定数量产生与所述第二数相同的第一数的功能,通过参照所述对应信息获得与符合每个产生的第一数的所述第二数有关的布置目的地标识符,并且确定在与获得的所述第二数相对应的布置目的地处布置相同对象。
根据权利要求1至5中任一项所述的对象布置设备,其中,所述布置目的地确定装置能够参照作为所述对应信息的多个对应信息,并且基于所述对象的信息,通过参照所述多个对应信息之中与所述对象的信息相对应的对应信息来确定所述对象的布置目的地。
根据权利要求6所述的对象布置设备,其中,所述布置目的地确定装置根据为所述对象请求的保护等级,在所述多个对应信息之中选择任一对应信息作为参照目标。
根据权利要求1至7中任一项所述的对象布置设备,还包括序列信息产生装置,所述序列信息产生装置用于产生所述序列信息。
根据权利要求8所述的对象布置设备,其中,所述布置目的地确定装置通过限制所述第二数的组合,确定向不同的存储位置分布和布置有关的所述多个对象。
根据权利要求9所述的对象布置设备,其中,
在所述对象由多个部分对象构成并且具有所述独有信息之一的情况下,所述序列信息产生装置包括用于基于所述独有信息之一产生针对每个所述部分对象的特定子信息并且基于所述子信息产生针对每个所述部分对象的序列信息的装置,并且
所述布置目的地确定装置通过使用针对每个所述部分对象产生的所述序列信息来产生所述第一数,参照所述对应信息将所述第二数与所述第一数相比较,并且根据所述第二数与所述第一数相同,将与所述第二数相关联的布置目的地标识符所对应的布置目的地确定为所述部分对象的布置目的地。
根据权利要求1至3中任一项所述的对象布置设备,其中,所述数创建装置是伪随机数计算装置,所述伪随机数计算装置通过执行指定计算来产生具有可再现性的伪随机数。
根据权利要求11所述的对象布置设备,还包括散列运算装置,所述散列运算装置用于基于作为所述序列信息的所述独有信息来执行散列运算,
其中,所述伪随机数计算装置通过使用所述散列运算装置计算的散列值作为初始值来产生所述伪随机数。
根据权利要求1至12中任一项所述的对象布置设备,其中,
所述对象是处理,并且
所述布置目的地确定装置确定执行所述处理所在的布置目的地。
根据权利要求1至12中任一项所述的对象布置设备,其中,
所述布置目的地是存储装置,并且
所述对象是对象数据,所述对象数据至少构成所述存储装置中存储的数字数据和描述指定处理的软件程序中的任一个。
根据权利要求1至12中任一项所述的对象布置设备,其中,
所述对象是物品,并且
确定将所述物品分布到所述布置目的地确定装置确定的布置目的地。
一种对象布置方法,包括:
参照基于对象的独有信息而产生的序列信息,并且参照在标识了所述对象的布置目的地的布置目的地标识符和与所述布置目的地标识符相关联的第二数之间的对应信息,
使用所述序列信息产生第一数,当利用不同的序列信息产生所述第一数时,所述第一数之间不具有相关性;
重复产生新的第一数,直到所述第一数与所述对应信息中包含的所述第二数相匹配为止,以及
当所述第一数与所述第二数中的任一个相匹配时,确定将所述对象布置到与所匹配的所述第二数有关的所述布置目的地标识符所对应的布置目的地。
根据权利要求16所述的方法,其中,
使用产生所述第一数的多个数创建装置,所述多个数创建装置具有相互不同的数范围,所述数能够产生作为所述第一数,并且所述多个数创建装置具有以下关系:所述数创建装置中具有范围编号n(n:自然数)的一个数创建装置的所述数范围包括在所述数创建装置中具有范围编号(n+1)的另一数创建装置的数范围中;
其中,(I)将最大范围编号设置为p,并且将次最大范围编号设置为q,
(II)当具有范围编号p的所述数创建装置产生的所述第一数超过具有范围编号q的所述数创建装置的所述范围时,将所述第一数与所述第二数相比较,当所述第一数和所述第二数相同时,将与所述第二数有关的所述布置目的地标识符所对应的布置目的地确定为所述对象的布置目的地,并且当所述第一数和所述第二数不相同时,产生所述新的第一数,重复(I)和(II),并且
(III)当具有范围编号p的所述数创建装置产生的所述第一数在具有范围编号q的所述数创建装置的所述范围内时,从p和q中分别减去1,并且作为所述减法的结果,当q不为0时重复(II),并且当q为0时将具有范围编号1的所述数创建装置产生的所述第一数与所述第二数相比较,并且当所述第一数和所述第二数相同时,将与所述第二数有关的所述布置目的地标识符所对应的布置目的地确定为所述对象的布置目的地,并且当所述第一数和所述第二数不相同时,产生所述第一数并且从(I)开始重新执行处理。
一种使计算机执行布置目的地判定功能,其中
所述布置目的地判定功能使用序列信息来产生第一数,当利用不同的序列信息产生所述第一数时,所述第一数之间不具有相关性,并且所述布置目的地判定功能重复产生新的第一数,直到所述第一数与所述对应信息中包含的所述第二数相匹配为止,以及
所述布置目的地判定功能在所述第一数与所述第二数中的任一个相匹配时确定将所述对象布置到与所匹配的所述第二数有关的所述布置目的地标识符所对应的布置目的地。
根据权利要求18所述的计算机程序,其中,所述布置目的地判定功能包括:
数创建功能,所述数创建功能能够重复地产生所述第一数;以及
判定功能,所述判定功能用于参照所述对应信息将所述第二数与所述第一数相比较,并且响应于这些数的一致性,将与所述第二数相关联的所述布置目的地标识符所对应的布置目的地确定为所述对象的布置目的地。
根据权利要求19所述的计算机程序,其中
所述数创建功能包括具有相互不同的数范围的多个数创建功能,所述数能够产生作为所述第一数,并且所述多个数创建功能具有以下关系:所述数创建功能中具有范围编号n(n:自然数)的一个数创建功能的所述数范围包括在所述数创建功能中具有范围编号(n+1)的另一数创建功能的数范围中,并且
通过所述判定功能:
(I)将最大范围编号设置为p,并且将次最大范围编号设置为q,
(II)当具有范围编号p的所述数创建功能产生的所述第一数超过具有范围编号q的所述数创建功能的所述范围时,将所述第一数与所述第二数相比较,当所述第一数和所述第二数相同时,将与所述第二数有关的所述布置目的地标识符所对应的布置目的地确定为所述对象的布置目的地,并且当所述第一数和所述第二数不相同时,产生所述新的第一数,重复(I)和(II),并且
(III)当具有范围编号p的所述数创建功能产生的所述第一数在具有范围编号q的所述数创建功能的所述范围内时,从p和q中分别减去1,并且作为所述减法的结果,当q不为0时重复(II),并且当q为0时将具有范围编号1的所述数创建功能产生的所述第一数与所述第二数相比较,并且当所述第一数和所述第二数相同时,将与所述第二数有关的所述布置目的地标识符所对应的所述布置目的地确定为所述对象的布置目的地,并且当所述第一数和所述第二数不相同时,产生所述第一数并且从(I)开始重新执行处理。

说明书

说明书对象布置设备及其方法,计算机程序
技术领域
本发明涉及将诸如数据和物品等对象最优地布置到期望的布置目的地(位置目的地)的技术领域。
背景技术
已经提出了一种技术,当在多个存储装置中记录(存储)作为存储对象的数据(下文中,被称作“对象数据”)时,在对象数据几乎平均(均匀)分布的情况下在每个存储装置中存储对象数据。根据这样的技术,通过对多个存储装置执行同时访问,提高针对对象数据的访问性能。然而,当访问多个存储装置中分布和记录的对象数据时,检查记录了对象数据的存储装置的方法存在问题。
作为检查记录了对象数据的存储装置的方法,考虑以下两种方法。
第一种方法是一种通过在表中保持对象数据与存储装置之间对应关系并且在对象访问期间参考该表来检查存储了对象数据的装置的方法。
在第二种方法中,首先使用基于对象数据特定信息(下文中,被称作“元数据”)的指定算法来确定对象数据与存储装置之间的对应关系。并且在第二方法中,在数据访问期间,通过向算法输入元数据,来检查记录了目标对象数据的存储装置。
在上述第一方法(使用表参考的方法)中,可能被检查对象数据与存储装置之间对应关系的所有设备必须存储有保持对象数据与存储装置之间对应关系的表。
另一方面,为了通过算法确定应当了记录对象数据的存储装置,上述第二方法(使用算法的方法)不需要存储保持对象数据与存储装置之间对应关系的表。然而,在第二方法中,在对象数据充分分布的状态下需要用于在每个存储装置中记录对象数据的算法,使得在数据访问期间可以充分体现同时访问多个存储装置的性能提高。在第二方法中,存储装置个数可能发生波动,需要对应于存储装置个数波动来计算对象数据与存储装置的对应关系的算法。作为公开了第二方法的现有技术,存在专利文献1(日本专利申请特开No.2003‑216474)和专利文献2(日本专利申请特开No.2008‑181358)。
图18是说明在本申请递交之前存在的现有技术的图。作为基于元数据确定已知数据与存储装置之间对应关系的系统的示例,在图18中示出了系统600。系统600使用元数据确定记录对象数据的存储装置。
即,在系统600中,通过基于对象数据和元数据(610)之中的元数据611执行散列运算,散列运算功能601获得散列612。元数据611是用于指定对象数据的标识符,并且是诸如地址、对象名称、目录名称或文件名称等信息。
接着,通过基于散列和连接存储装置信息613来执行模运算,模运算功能602获得模运算的结果614。这里,连接存储装置信息613是存储装置的网络地址数据存储在存储装置中时需要的信息。模运算功能602从连接存储装置信息612中获得存储装置的个数,并且以存储装置的个数为模对散列612执行模运算。因此,模运算功能602获得模运算结果614。并且数‑存储装置对应关系确定功能603基于模运算结果614确定记录对象数据610的存储装置620,并且输出与确定的存储装置620有关的存储装置信息615。
如上所述,当在多个存储装置中布置对象数据时,可以应用专利文献1中公开的存储装置确定方法。根据该方法,可以通过计算来确定存储装置。即,根据该方法,可以将对象数据分布并记录到多个存储装置,而无需使用保持对象数据与存储装置之间对应关系的表。根据该方法,通过改变模运算中的除数,能够对应于存储装置个数的改变。
作为在递交本申请之前存在的现有技术,例如,存在非专利文献1。当存储装置从以分布式方式将对象数据布置到多个存储装置的状态出现变动时,提出了将每个对象数据的移动抑制到最小的技术。
[现有技术文献]
[专利文献]
[专利文献1]日本专利申请特开No.2003‑216474
[专利文献2]日本专利申请特开No.2008‑181358
[非专利文献]
[非专利文献1]“Consistnet hashing and radom trees:distributed caching protocols for relieving hot spots on the World Wide Web”,David Karger,Eric Lehman,Tom Leighton,Matthew Levine,Daniel Lewin,Rina Panigraphy,1997
发明内容
[技术问题]。
当在专利文献1所示意的方法中存储装置出现变动时,模运算中的除数改变。根据上述,在专利文献1描述的方法中,由于多个对象数据的模运算的结果改变,因此应当记录这些对象数据的存储装置改变。为此,在专利文献1中描述的方法中,当存储装置出现变动时,需要移动大量对象数据。
相反,根据非专利文献1中描述的方法,当存储装置出现变动时,获得将每个对象数据的移动抑制到最小的效果。然而,在非专利文献1中提出的技术的情况下,为了享有该效果,在多个存储装置中几乎平均(均匀)地布置对象数据,处理所需的存储器资源(硬件资源)会是大容量的,使得目标存储装置增加。因此,当假定期望对例如大规模数据中心等庞大存储装置进行处理的系统时,例如,处理所需的存储器资源的增加以及处理时间的增加对于根据非专利文献1的技术而言都是问题。
因此,本发明主要目的是提供一种对象布置设备及其方法、一种计算机程序,通过比较容易地处理配置向多个布置目的地几乎均匀地布置多个对象。
[问题的解决方案]
为了实现上述目的,根据本发明的对象布置设备的特征在于,包括以下配置。
即,根据本发明的对象布置设备的特征在于包括布置目的地确定装置,其中
所述布置目的地确定装置参照基于对象的独有信息而产生的序列信息,并且参照在标识了所述对象的布置目的地的布置目的地标识符与所述布置目的地标识符相关联的第二数之间的对应信息,
所述布置目的地确定装置使用所述序列信息产生第一数,当利用不同的序列信息产生所述第一数时,所述第一数相互之间不具有相关性,并且所述布置目的地确定装置重复产生新的第一数,直到所述第一数与所述对应信息中包含的所述第二数相匹配为止,以及
所述布置目的地确定装置在所述第一数与所述第二数中的任一个相匹配时确定将所述对象布置到与所匹配的第二数有关的所述布置目的地标识符所对应的布置目的地。
并且,例如,布置目的地确定装置可以包括:
数创建装置,所述数创建装置能够重复地产生所述第一数;以及
判定装置,所述判定装置参照所述对应信息将所述第二数与所述第一数相比较,并且响应于这些数的一致性,将与所述第二数相关联的所述布置目的地标识符所对应的布置目的地确定为所述对象的布置目的地。
在上述情况下,数创建装置可以包括具有相互不同的数范围的多个数创建装置,所述数能够产生作为所述第一数,并且所述多个数创建装置具有以下关系:所述数创建装置中具有范围编号n(n:自然数)的一个数创建装置的所述数范围包括在所述数创建装置中具有范围编号(n+1)的另一数创建装置的数范围中,并且
通过所述判定装置:
(I)将最大范围编号设置为p,并且将次最大范围编号设置为q,
(II)当具有范围编号p的所述数创建装置产生的所述第一数超过具有范围编号q的所述数创建装置的范围时,将所述第一数与所述第二数相比较,当所述第一数与所述第二数相同时,将与所述第二数有关的所述布置目的地标识符所对应的布置目的地确定为所述对象的布置目的地,并且当所述第一数和所述第二数不相同时,产生所述新的第一数,重复(I)和(II),并且
(III)当具有范围编号p的所述数创建装置产生的所述第一数在具有范围编号q的所述数创建装置的所述范围内时,从p和q中分别减去1,并且作为所述减法的结果,当q不为0时重复(II),并且当q为0时将具有范围编号1的所述数创建装置产生的所述第一数与所述第二数相比较,并且当所述第一数和所述第二数相同时,将与所述第二数有关的所述布置目的地标识符所对应的所述布置目的地确定为所述对象的布置目的地,并且当所述第一数和所述第二数不相同时,产生所述第一数并且从(I)开始重新执行所述处理。
为了实现上述目的,根据本发明的对象布置方法的特征在于包括以下配置。
即,根据本发明的对象布置方法的特征在于,包括:
参照基于对象的独有信息而产生的序列信息,并且参照在标识了所述对象的布置目的地的布置目的地标识符与所述布置目的地标识符相关联的第二数之间的对应信息,
使用所述序列信息产生第一数,当利用不同的序列信息产生所述第一数时,所述第一数之间不具有相关性;
重复产生新的第一数,直到所述第一数与所述对应信息中包含的所述第二数相匹配为止,以及
当所述第一数与所述第二数中的任一个相匹配时,确定将所述对象布置到与所匹配的第二数有关的所述布置目的地标识符所对应的布置目的地。
在上述情况下,对象布置方法可以包括:
使用产生所述第一数的多个数创建装置,所述多个数创建装置具有相互不同的数范围,所述数能够产生作为所述第一数,并且所述多个数创建装置具有以下关系:所述数创建装置中具有范围编号n(n:自然数)的一个数创建装置的数范围包括在所述数创建装置中具有范围编号(n+1)的另一数创建装置的数范围中;
其中,(I)将最大范围编号设置为p,并且将次最大范围编号设置为q,
(II)当具有范围编号p的所述数创建装置产生的所述第一数超过具有范围编号q的所述数创建装置的所述范围时,将所述第一数与所述第二数相比较,当所述第一数和所述第二数相同时,将与所述第二数有关的所述布置目的地标识符所对应的布置目的地确定为所述对象的布置目的地,并且当所述第一数和所述第二数不相同时,产生所述新的第一数,重复(I)和(II),并且
(III)当具有范围编号p的所述数创建装置产生的所述第一数在具有范围编号q的所述数创建装置的所述范围内时,从p和q中分别减去1,并且作为所述减法的结果,当q不为0时重复(II),并且当q为0时将具有范围编号1的所述数创建装置产生的所述第一数与所述第二数相比较,并且当所述第一数和所述第二数相同时,将与所述第二数有关的所述布置目的地标识符所对应的布置目的地确定为所述对象的布置目的地,并且当所述第一数和所述第二数不相同时,产生所述第一数并且从(I)开始重新执行处理。
此外,上述目的还通过计算机程序以及非暂时性计算机可读存储介质来实现,非暂时性计算机存储介质存储实现了具有上述配置的对象布置设备的计算机程序。
[本发明的有利效果]
根据本发明,提供一种对象布置设备及其方法和计算机程序,通过相对容易的处理配置向多个布置目的地几乎均匀地布置多个对象。
附图说明
图1是示出了根据本发明示例性实施例的对象布置设备的配置的框图。
图2是示出了本发明第一示例性实施例中对象数据布置设备的配置的框图。
图3是示出了根据本发明第一示例性实施例的对象数据布置设备执行的对象数据布置处理的流程图。
图4是示出了根据本发明第二示例性实施例中对象数据布置设备的配置的框图。
图5是示出了根据本发明第二示例性实施例的对象数据布置设备执行的对象数据布置处理的流程图。
图6是说明根据本发明第一示例性实施例的对象数据布置设备的对象数据布置操作的图。
图7是说明当从图6中示出的布置状态添加存储装置时根据本发明第一示例性实施例的对象数据布置设备的操作的图。
图8是概念性说明伴随着增加存储装置根据本发明第一示例性实施例的对象数据布置设备的操作的图。
图9是说明当从图6中示出的布置状态中减少存储装置时根据本发明第一示例性实施例的对象数据布置设备的操作的图。
图10A是概念性示出了根据本发明第一示例性实施例的对象数据布置设备所参考的数‑存储装置转换表的图。
图10B是概念性示出了根据本发明第一示例性实施例的对象数据布置设备所参考的数‑存储装置转换表的图。
图11是说明根据修改的第二示例性实施例的三个伪随机数产生功能的操作的图。
图12是说明根据本发明第一示例性实施例的修改的图。
图13是示出了根据本发明第三示例性实施例的对象目的地判定设备的配置的框图。
图14是示出了根据本发明第三示例性实施例的对象目的地判定设备执行的对象目的地判定处理的流程图。
图15是示出了根据本发明第三示例性实施例的库存品的存储目的地判定系统的配置的框图。
图16A是示例性示出了根据本发明第三示例性实施例的系统环境变化的图。
图16B是示例性示出了根据本发明第四示例性实施例的系统环境变化的图。
图17是示例性示出了根据本发明第四示例性实施例的客户端或存储装置的硬件配置的图。
图18是示出了递交本申请之前存在的现有技术的图。
具体实施方式
接着,参照附图详细说明本发明的示例性实施例。以下描述的示例性实施例不限于与权利要求范围相关的本发明。并且以下示例性实施例中描述的配置的所有组合在本发明的配置中不必是必不可少的。
图1是示出了根据本发明示例性实施例的对象布置设备的配置的框图,并且示出了对于以下说明的每个实施例及其修改而言共同的概念。
在图1中,对象布置设备10具备布置目的地确定功能13。布置目的地确定功能13是确定向多个布置目的地(A、B、...、n)14几乎均匀地布置多个对象(未示出)的设备。布置目的地确定功能13能够参考序列信息11和对应信息12。
序列信息11是基于每个对象的特定信息产生的。布置目的地确定定功能13通过使用序列信息11产生第一数。第一数在从相互不同的序列信息中产生时不具有相关性。这里,补充了在第一数中“在从相互不同的序列信息中产生时不具有相关性”这一关系。假定在基于序列信息l连续地产生第一数L的同时,当基于序列信息K连续地产生第一数K时,该关系意味着产生的第一数K的组和第一数L的组几乎不具有相互关系(相关性)。
对应信息12是用于将布置目的地标识符与第二数预先关联的信息,布置目的地标识符能够区分(指定)布置目的地14。布置目的地确定功能13通过参考对应信息12来重复产生新的第一数,直到对应信息中包括的第二数与产生的第一数相匹配为止。并且,当第二数之一和产生的第一数相同时,在新的第一数据的产生过程中,布置目的地确定功能13确定向与第二数关联的布置目的地标识符所对应的布置目的地布置作为判定目标的对象。
根据具有这种配置的对象布置设备10,通过相对容易的处理配置,能够大致均匀地向多个布置目的地布置对象。
可以从外部设定序列信息11和对应信息12,或者对象布置设备10自身可以产生序列信息11和对应信息12。
<第一示例性实施例>
图2是示出了根据本发明第一示例性实施例的对象数据布置设备的配置的框图。
对象数据布置设备1000是将作为对象的数据(对象数据)的布置目的地(布置目标)确定为作为布置目的地的存储装置116。在该实施例中,对象数据包括存储装置16中存储的数字数据和描述指定处理(过程、函数和算法)的软件程序(计算机程序)中的至少任一个。
在该实施例中,存储装置116包括多个存储装置。存储装置116包括物理上存在的多个存储装置通过通信线路连接的情况、在物理上存在的存储装置中构造有多个虚拟存储装置的情况、或者其组合的情况(如在以下描述的每个实施例所述)。
与以上参照图18描述的系统600相同,对象数据布置设备1000通过指定的计算,基于对象数据的特定信息(例如,地址、对象名称、目录名称、文件名称等),从多个存储装置中确定应当记录(存储)目标对象数据的存储装置。然而,无需执行模运算,根据本实施例的对象数据布置设备1000通过使用散列作为种子(初始值)重复产生随机数(伪随机数)。即,在该实施例中,重复产生随机数,直到输出与多个存储装置中指定的存储装置相对应的随机数为止。这一点与对散列值执行模运算作为计算方法的系统600不同。
根据以下在本实施例中详细描述的方法,当改变存储装置的个数时,可以最小地抑制记录了对象数据的存储装置的改变。例如,当物理上存在多个存储装置时,存储装置个数表示这些存储装置的个数。并且,在虚拟存储装置的情况下,存储装置个数表示物理存储装置的虚拟分区。
在广义上,对象数据布置设备1000包括散列运算功能101和存储装置确定功能102,并且能够参考数‑存储装置转换表105。并且存储装置确定功能102包括伪随机数计算功能103和判定功能(判断功能)104。
在本实施例中,在对象数据布置设备1000的外部成组(成对)地处理对象数据的元数据110和对象数据。例如,响应于在外部设备中发出针对存储装置116的写指令,向对象数据布置设备1000输入元数据110。
通过基于元数据110执行散列运算,散列运算功能101输出散列111。散列运算可以应用按照原样输出元数据的运算,或者输出处理之后的元数据的操作。散列111是基于对象数据的特定信息(元数据110)而产生的序列信息的示例。
作为布置目的地确定功能的存储装置确定功能102通过基于散列111、以及参考数‑存储装置转换表105获得的信息114(第二数)来执行以下处理过程,来输出存储装置信息115。
如图10A和10B概念上所示,在数‑存储装置转换表105中将作为信息114的数(第二数)和作为存储装置信息115(布置目的地标识符)的存储装置标识信息(存储装置标识符和存储装置ID)相关联,作为对应信息。在图10A中示出的示例中,存储装置标识信息一对一地对应于数。
然而,存储装置标识信息不必1对1地对应于数。即,在作为存储装置标识信息的图10B中示出的示例中,相同的存储装置ID(=5)与数(第二数)3和4相关。存储装置信息115(存储装置标识信息)可以指示相同存储装置中的多个区域。更具体地,当存储装置ID=5的存储装置具有与其他存储装置相比更大存储容量时,存储装置确定功能102判定记录与对应于存储装置ID=5的存储装置相关联的数(第二数)一样多的多个对象数据(在图10B中是两个)。根据这样的数‑存储装置转换表105,甚至当作为布置目的地的多个存储装置的记录(存储)容量彼此不同时,对象数据布置设备1000也能够考虑每个存储装置的存储容量来执行最适合的布置。此外,存储装置信息115可以指示与上述图10B中示出的示例相反的多个存储装置的区域。
在适当时间,从对象数据布置设备1000的外部设定(对象数据布置设备1000可以自身产生)数‑存储装置转换表105。
在存储装置确定功能102中,伪随机数计算功能103采用散列111作为种子(初始值),并且产生随机数112作为第一数。伪随机数计算功能103产生可再现序列,在该可再现序列中,产生的数是随机的,并且出现概率几乎相同。
如果任意算法用相同种子产生相同的随机数序列,则可以应用该算法作为要应用到伪随机数计算功能103的算法。然而,优选地可以采用一种产生针对伪随机数计算功能103的均匀随机数的算法(如以下描述的每个实施例中所述)。采用均匀随机数的原因在于,如果输出的随机数值不是均匀的,则每个存储装置中的对象数据的个数会出现偏差。输出的随机数值越均匀,对象数据在每个存储装置中的分布也越均匀。
在存储装置确定功能102中,判定功能104基于信息114判定数‑存储装置转换表105中是否存在与随机数112相同的数。作为判定的结果,当在数‑存储装置转换表105中存在与随机数112相同的数时,判定功能104输出存储装置信息115。从而,确定在具有与存储装置信息115相对应的存储装置ID的存储装置中布置目标对象数据。
另一方面,作为判定结果,当数‑存储装置转换表105中不存在与随机数112相同的数时,通过向伪随机数计算功能103发送重新计算指令113,判定功能104命令伪随机数计算功能103产生下个随机数112。
接着,参照图3和图6至图9,更具体地描述具有上述配置的对象数据布置设备1000的操作。
图6是说明根据本发明第一示例性实施例的对象数据布置设备的对象数据布置操作的图。图6中示出的示例指示对象数据布置设备1000将17个对象数据(DATA0‑DATA16)大致均匀地布置到十五个空存储装置(存储装置ID=0‑14)中作为初始状态的情况。
即,在图6中示出的示例中,伪随机数计算功能103随机地输出从0到31的数(随机数)作为示例。当输出的随机数是从0到14(15个)的数之一时,判定功能104通过参考数‑存储装置转换表105确定存在对应的存储装置。即,在图6中,描述“第一次”、“第二次”和“第三次”表示伪随机数计算功能103重复地产生随机数,直到找到布置目的地的存储装置为止。并且在表示各次的列中,随机数输出值是伪随机数计算功能103在该次产生的随机数的输出(112)。
“判定结果”表示判定功能104的判定结果。更具体地,在图6中,当判定存在对应的存储装置时,描述为“OK”,并且当判定不存在对应的存储装置时,描述为“NG”,并且当不使用时,描述为“NOP”。
并且图6中最右列是存储装置确定功能102(对象数据布置设备1000)的输出(115),并且每个数表示15个存储装置的存储装置ID。例如,参考DATA0,第一随机数输出值是0(<15),并且判定结果是OK。因此,DATA0的布置目的地是与存储装置“ID=0”相对应的存储装置。参考DATA6,第一随机数输出值是19(>15),并且判定结果是NG,并且第二随机数输出值是5(<15),并且判定结果是OK。因此,DATA6的布置目的地是与存储装置“ID=5”相对应的存储装置。并且,通过类似的处理配置,在DATA8和13的情况下,直到第二次的随机数输出值是NG,最后确定第三随机数输出值OK。因此,在DATA8和13的情况下,如图6所示,相应地,将与存储装置“ID=13和19”相对应的存储装置确定为布置目的地。
接着,参照图7和图8描述存储装置从m增加到n(m<n,m,n:自然数)的情况。例如,考虑通过使用十一个存储装置均匀地存储一百三十二个对象数据的情况。在这样的情况下,每个存储装置保持十二个对象数据。并且考虑以下情况:从上述状态新增加要使用的一个存储装置,并且使用总共十二个存储装置。在这种情况下,为了分布式地并均匀地将一百三十二个对象数据布置到十二个存储装置中,每个存储装置必须保持十一个对象数据。因此,一百三十二个对象数据之中至少十一个对象数据成为移至(重新定位到)新存储装置的目标。通常,当存储装置从m增加到n(m<n,m,n:自然数)时,除非至少移动对应于比例(n‑m)/m的对象数据,否则不能几乎均匀地分布式布置对象数据。即,132×(n‑m)/n=132×(12‑11)/12=11(“/”在本申请中表示除法,并且如在下文中的每个实施例中所述)。图8是概念上说明伴随着存储装置的增多根据本发明第一示例性实施例的对象数据布置设备的操作的图。图8示出了在上述说明中示出了对象数据的个数是十二个并且存储装置从三个增加到四个的情况。
根据本实施例的对象数据布置设备1000,在存储装置是m个时已经存在的随机数(第一数)之中,由存储装置确定功能102确定存在与之相对应的第二数的那些随机数,在存储装置从m个增加到n个之后,与存储装置是m个时存储装置确定功能102确定存在与之相对应的对应第二数的那些随机数相同。另一方面,仅仅是存储装置是m个时不存在的、与增加的存储装置相对应的随机数改变为与存储装置是m个时存储装置确定功能102输出的随机数不同的值。
即,当存储装置从m个增加到n个时,与之对应的存储装置存在的数(第二数)增加了(n‑m),而存储装置确定功能102确定对应第二数存在的随机数(第一数)大致均匀分布。当存储装置是m个时存储装置确定功能102确定对应第二数已经存在的那些随机数不变。因此,存储装置确定功能102确定的对应第二数存在的那些随机数将为不同值的概率是(n‑m)/n。这意味着记录了对象数据的存储装置改变的概率是(n‑m)/n。换言之,在本实施例中,当存储装置从m个增加到n个时,为了分布式地将在m个存储装置中几乎均匀布置的多个对象数据几乎均匀地布置到n个存储装置,在这些对象数据之中以比率(概率)(n‑m)/n进行对象数据的移动。相反,这意味着即使存储装置增加到n个,m个存储装置中已经存储的多个对象数据之中的对象数据也不以概率1‑((n‑m)/n)移动。
在上述方法中,与用于将m个存储装置中已经存储的所有对象数据重新分配到n个存储装置的方法相比,数据移动量(对象数据的移动个数)明显较小。并且根据本实施例,存储了对象数据的存储装置的变化仅以比率(n‑m)/n发生。因此,可以实现对象数据的理想移动。根据本实施例,移动之后的对象数据分布式地几乎均匀地存储在n个存储装置中。
图7是说明当从图6中示出的布置状态添加存储装置时根据本发明第一示例性实施例的对象数据布置设备的操作的图。即,图7中示出的示例表示当确定向数‑存储装置转换表105添加了与新存储装置相对应的数(第二数)时,用于添加第16个新存储装置(存储装置ID=15)的对象数据布置设备1000的操作。
图7的基本点类似于上述图6的情况。并且,在图7中,用箭头表示从图6中示出的状态变化的部分,该箭头将改变之前与改变之后相联系。DATA8和DATA13移至新分配的存储装置(存储装置ID=15,对应于数15)。
因此,当利用与上次参照不同的内容更新数‑存储装置转换表105的内容时,对象数据布置设备1000可以识别上次参照时不存在的新存储装置信息(存储装置标识符)115,向更新之后的数‑存储装置转换表105添加该新存储装置信息。在这种情况下,对象数据布置设备1000将更新之后的数‑存储装置转换表105中包括的数(第二数)与伪随机数计算功能103产生的随机数(第一数)相比较。并且根据第二数与第一数相同,对象数据布置设备1000确定与第二数相关联的存储装置标识符所对应的存储装置,作为已经确定了布置目的地的对象数据的新布置目的地。
接着,参照图9描述存储装置从a个减少到b个的情况(a>b,a、b:自然数)。在这种情况下,存储装置确定功能102确定对于对应存储装置不存在的指定随机数,在减少存储装置之前,与指定随机数相对应的第二数存在的概率为(a‑b)/a,这是由于对应存储装置不存在的随机数以(a‑b)存在。除了这些随机数之外其他值不改变。换言之,存储装置确定功能102确定对应第二数存在的随机数为不同值的比率(概率)是(a‑b)/a。这意味着需要按照概率(a‑b)/a改变记录了对象数据的存储装置。即,当存储装置从a个减少到b个时,为了分布式地将a个存储装置中几乎均匀布置的对象数据几乎均匀地布置到b个存储装置,需要按照比率(概率)(a‑b)/b移动对象数据。该实施例是理想的,因为当存储装置减少时仅需要按照比率(a‑b)/a改变应当记录对象数据的存储装置。移动之后的对象数据分布式地几乎均匀地存储在b个存储装置中。
图9是说明当从图6中示出的布置状态减少存储装置时根据本发明第一示例性实施例的对象数据布置设备的操作的图。即,在图9的示例中示出了当确定从数‑存储装置转换表105中删除了与存储装置相对应的数(第二数)以便减少与存储装置ID=12相对应的存储装置时对象数据布置设备1000的操作。
图9的基本点与上述图6的情况相同。然而,在该情况下,首先从十五个存储装置中删除一个存储装置,变成十四个存储装置。在图9中,用箭头表示从图6中示出状态改变的部分,箭头联系改变之前和改变之后。并且图9指示改变作为删除目标的、存储装置(存储装置ID=12)中存储的两个对象数据(DATA1和DATA7),以记录在其他存储装置中。
因此,对象数据布置设备1000可以对于已经确定了布置目的地(用于记录的存储装置)的对象数据,识别更新之后数‑存储装置转换表105中没有包括的、与记录了对象数据的存储装置相对应的存储装置信息(存储装置标识符)115。在这种情况下,对象数据布置设备1000将数‑存储装置转换表105中包括的数(第二数)与伪随机数计算功能103参照更新之后的数‑存储装置转换表105而产生的随机数(第一数)相比较。并且根据第二数与第一数相同,对象数据布置设备1000确定与第二数相关联的存储装置标识符所对应的的存储装置,作为已经确定了布置目的地的对象数据的新布置目的地。
接着,为了实现根据上述示例性实施例的一系列操作,参照图3描述对象数据布置设备1000执行的布置处理。
图3是示出了根据本发明第一示例性实施例的对象数据布置设备执行的对象数据布置处理的流程图。这里,当对象数据布置设备1000由计算机实现时,计算机的CPU(中央处理单元)执行下述每个步骤的处理(稍后参照图16和17进行详细描述)。
步骤S201:散列运算功能101通过基于目标对象数据的元数据110执行散列运算,来获得散列111。并且散列运算功能101向伪随机数计算功能103提供散列111。这里,目标对象数据是应当被确定存储装置要存储的对象数据(如在下文中每个实施例中所述)。
步骤S202:伪随机数计算功能103将获取的散列111设置为种子(初始值),并且通过使用该种子来产生随机数112。并且伪随机数计算功能103向判定功能104提供产生的随机数112(第一数)。
步骤S203:判定功能104通过参考从数‑存储装置转换表105发送的信息114,确定在数‑存储装置转换表105中是否存在与随机数112相对应的数(第二数)。
当在数‑存储装置转换表105中不存在步骤S202处产生的随机数112时(步骤S203中的否),处理返回至步骤S202。并且伪随机数计算功能103产生下个随机数。
另一方面,当在数‑存储装置转换表105中存在步骤S202处产生的随机数112时(步骤S203处的是),判定功能104输出与随机数112相同的数所关联的存储装置标识信息(存储装置ID)作为信息115。即,信息115是对应当记录目标对象数据的存储装置加以指定的信息。
根据上述该实施例的对象数据布置设备1000,通过相对容易的处理配置,能够几乎均匀地将对象数据布置到多个存储装置(布置目的地)。
即,在对象数据布置设备1000的存储装置确定功能102中,伪随机数计算功能103能够重复产生伪随机数(第一数)。判定功能104参考数‑存储装置转换表105将产生的第一数与数‑存储装置转换表105中包括的第二数相比较。并且判定功能104响应于检测到第二数与第一数相同,确定与第二数相关联的存储装置ID所对应的存储装置为对象数据的布置目的地。
根据本实施例,即使记录对象数据的存储装置发生变动,也能够实现利用对象数据最小移动的小运算量来有效地在每个存储装置中几乎均匀(平均)地布置对象数据。相应地,与使用非专利文献1中描述的相关技术所说明的模运算的技术相比,通过根据本实施例的方法,即使当存储装置发生变动时,也能够利用最小移动以及处理所需的较少存储器资源来保持对象数据的布置几乎均匀。因此,根据本实施例的方法,甚至在针对大型存储装置(例如,大规模数据中心)的系统中,也能够通过相对容易的处理配置向多个存储装置几乎均匀地布置对象数据,而不会中断所提供的服务。
(第一实施例的修改)
在上述第一实施例中,尽管使用单个数‑存储装置转换表,但是不限于此。即,可以适当地根据条件设想使用多个数‑存储装置转换表的对象数据布置设备。更具体地,例如,存在根据地址改变对象数据的存储目的地的情况。即,通过使用地址在地址空间中形成分区,并且针对每个分区设想对用于记录的存储装置组进行改变的系统,如图12所示。在这样的情况下,根据地址,在多个数‑存储装置转换表中使用改变数‑存储装置转换表的模式。备选地,在键值存储中,当针对每个键值范围改变用于记录的存储装置组时,还针对与每个键值相关的每个范围采用改变数‑存储装置转换表的模式。即,在这种情况下,存储装置确定功能102可以参考多个数‑存储装置转换表,并且通过参考这些数‑存储装置转换表之中与对象数据信息相对应的数‑存储装置转换表,基于对象数据信息来确定应当布置对象数据的存储装置。
作为适当地使用多个数‑存储装置转换表的示例,以下描述考虑对象数据的保护等级的示例。
根据对象数据,需要的保护等级可以是不同的。在这样的情况下,可以设置根据存储装置而不同的RAID(廉价磁盘冗余阵列)等级方法。并且应当将需要高保护等级的对象数据存储在建立高复用度RAID方法的存储装置中。另一方面,应当将需要低保护等级的对象数据存储在建立低复用度RAID方法的存储装置中。在这种情况下,例如,准备两种数‑存储装置转换表(105A和105B,均未示出),而不是图1中示出的数‑存储装置转换表105。
即,在数‑存储装置转换表105A中将建立高复用度RAID方法的存储装置(存储装置标识信息)与数(第二数)相关。另一方面,在数‑存储装置转换表105B中将建立低复用度RAID方法的存储装置(存储装置标识信息)与数(第二数)相关。根据适当地使用这种多个数‑存储装置转换表的模式,实现满足对象数据所需的保护等级的布置处理。
在下文中参照图3中示出的流程图描述考虑对象数据保护等级的对象数据布置设备的操作。
首先,散列运算功能101通过基于目标对象数据的元数据110执行散列运算,来获得散列111(布置S201)。在该修改中,元数据110包括与对象数据相对应的保护等级。伪随机数计算功能103将获取的散列111设置为种子(初始值),并且通过使用该种子来产生随机数112(布置S202)。
并且判定功能104基于元数据110在数‑存储装置转换表105A和数‑存储装置转换表105B之中选择与元数据110相对应的数‑存储装置转换表。并且通过参考从选定的数‑存储装置转换表中获得的信息114,判定功能104确定与伪随机数计算功能103获得的随机数112相对应的数(第二数)是否存在于数‑存储装置转换表105中(步骤S203)。
当在步骤S203处选定的数‑存储装置转换表中不存在步骤S202处产生的随机数112时(步骤S203中的否),处理返回至步骤S202。并且伪随机数计算功能103产生下个随机数。
另一方面,当在步骤S203处选定的数‑存储装置转换表中存在步骤S202处产生的随机数112时(步骤S203中的是),判定功能104输出与随机数112相同的数所关联的存储装置标识信息(存储装置ID)作为信息115。因此,确定用于记录目标对象数据的存储装置。
在本实施例中,尽管如上所述使用随机数(伪随机数),但是本发明不限于该配置。即,如果数产生功能针对一个数据始终产生相同的数组,并且产生的数组相互不相关(相关性较弱),则可以采用该数产生功能来代替上述伪随机数计算功能103。例如,当连续产生的数之中仅一个数不是伪随机数时,可以使用通过混合用元数据110除以指定值时元数据110的余数而形成的值。在这种情况下,由于其计算成本低于随机数的产生,因此能够实现更高速计算。
在该实施例中,尽管如上所述使用散列作为种子,但是本发明不限于该配置。例如,在按照地址管理存储装置的情况下可以使用地址作为种子。
<第二示例性实施例>
接着,描述基于根据本发明第一示例性实施例的对象数据布置设备1000的第二实施例。在本实施例中,以下描述集中在其特征部分,并且省略与上述第一示例性实施例相同的配置的重复描述。
上述第一实施例假定数‑存储装置转换表105中登记的数(第二数)是伪随机数计算功能103产生的随机数的范围中的值。相反,在本实施例中,描述不限于这种假定的方法。
图4是示出了根据本发明第二示例性实施例的对象数据布置设备的配置的框图。
对象数据布置设备2000是将作为对象(布置目标)的数据(对象数据)的布置目的地确定为作为布置目的地的存储装置330的设备。在本示例性实施例中,对象数据包括以下中的至少任一个:存储装置330中存储的数字数据、以及描述指定处理(过程、函数和算法)的软件程序。
在广义上,对象数据布置设备2000包括散列运算功能301和存储装置确定功能320,并且能够参考数‑存储装置转换表305。并且存储装置确定功能320包括作为第一伪随机数计算功能的伪随机数计算功能(A)302、作为第二伪随机数计算功能的伪随机数计算功能(B)306以及判定功能(判断功能)309。即,对象数据布置设备2000具有在存储装置确定功能320内部的多个伪随机数计算功能。
在本示例性实施例中,在对象数据布置设备2000的外部成组(成对)地处理对象数据及其元数据310。例如,响应于在外部设备中发出针对存储装置330的写指令,向对象数据布置设备2000输入元数据310。
通过基于元数据310执行散列运算,散列运算功能301输出散列311。散列运算能够应用按照原样输出元数据的运算,或者在输出处理后结果的运算。散列311是基于对象数据的特定信息(元数据310)而产生的序列信息的示例。作为元数据311,例如,采用地址、对象名称、目录名称或文件名称。
伪随机数计算功能(A)302采用散列311作为种子(初始值)并且产生随机数(A)312。另一方面,伪随机数计算功能(B)306采用散列311作为种子,并且产生随机数(B)315。然而,伪随机数计算功能(B)306的上限值大于伪随机数计算功能(A)302产生随机数的上限值。
并且根据本实施例的对象数据布置设备2000不考虑伪随机数计算功能(B)306产生的随机数的上限值小于数‑存储装置转换表305中登记的最大数(第二数)的情况。稍后参照图11进行考虑这一点的配置的描述。
数‑存储装置转换表305具有与上述第一实施例中的数‑存储装置转换表105相同的配置。因此,如上在第一实施例中所述,数‑存储装置转换表305中登记的存储装置信息不需要与存储装置一一对应。
当数‑存储装置转换表305中登记的最大数不大于伪随机数计算功能(A)302产生的随机数的上限值时,存储装置确定功能320确定是否存在与随机数(A)312相对应的存储装置。
这里,定义了在以下说明中应用的表述“确定(判定)是否存在与随机数X相对应的存储装置”。该表述表示以下处理:确定在与要参考的数‑存储装置转换表相关联的数(第二数)中是否存在与随机数X相匹配的数,以及在确定存在与随机数X相匹配的数的情况下确定存在与该数相关联的存储装置(如以下每个实施例中所述)。
并且当确定不存在时,存储装置确定功能320重新执行通过伪随机数计算功能(A)302产生随机数A312。另一方面,当确定存在时,存储装置确定功能320输出存储装置信息319作为能够区分与随机数(A)312相对应的存储装置的信息。
另一方面,当数‑存储装置转换表305中登记的最大数大于伪随机数计算功能(A)302产生的随机数的上限值时,存储装置确定功能320将随机数的上限值与伪随机数计算功能(B)306产生的随机数(B)315相比较。作为比较的结果,当随机数B315大于所关注的随机数的上限值时,存储装置确定功能320确定是否存在与随机数(B)315相对应的存储装置。并且当确定不存在时,存储装置确定功能320重新执行(重复)通过伪随机数计算功能(A)302产生随机数(A)312。另一方面,当确定存在时,存储装置确定功能320输出存储装置信息319作为能够区分与随机数(B)315相对应的存储装置的信息。
作为剩下的情况,当伪随机数计算功能(A)302产生随机数的上限值与伪随机数计算功能(B)306产生的随机数(B)315相比较时,随机数(B)315与所关注的随机数的上限值相同,或者所关注的随机数的上限值小于随机数(B)315。在这种情况下,存储装置确定功能320确定是否存在与随机数(A)312相对应的存储装置。并且当确定不存在时,存储装置确定功能320重新执行通过伪随机数计算功能(A)302产生随机数(A)312。另一方面当确定存在时,存储装置确定功能320输出存储装置信息319作为能够区分与随机数(A)312相对应的存储装置的信息。
接着,为了实现根据上述实施例的一系列操作,参照图5描述对象数据布置设备2000执行的对象数据的布置处理。在下述处理中,基于以下假定:数‑存储装置转换表305中登记的作为第二数的最大数大于伪随机数计算功能(A)302产生的随机数的上限值,并且不大于伪随机数计算功能(B)306产生的随机数的上限值。
图5是示出了根据本发明第二示例性实施例的对象数据布置设备执行的对象数据布置处理的流程图。这里,当对象数据布置设备2000由计算机实现时,计算机的CPU(中央处理单元)执行下述每个步骤的处理(稍后参照图16和17进行详细描述)。
步骤S401:散列运算功能301通过基于目标对象数据的元数据310执行散列运算,来获得散列311。并且散列运算功能101向伪随机数计算功能(A)302和伪随机数计算功能(B)306提供散列311。
步骤S402:伪随机数计算功能(A)302将获取的散列311设置为种子(初始值),并且通过使用该种子来产生随机数(A)312。并且伪随机数计算功能(A)302向判定功能309提供产生的随机数(A)312。
步骤S403:在完成上述步骤S402的处理之后,或者与S402的处理并行地,伪随机数计算功能(B)306将获取的散列311设置为种子(初始值),并且通过使用该种子产生随机数(B)315。即,在图5中示出的流程图中,描述伪随机数计算功能(A)302的处理和伪随机数计算功能(B)306的处理,使得他们可以轮流执行。然而,对象数据布置设备2000可以同时执行这些多个伪随机数计算功能,以便在短时间内获得最终判定结果。并且伪随机数计算功能(B)306向判定功能309提供产生的随机数(B)315。
此外,伪随机数计算功能(A)302使用的散列值以及伪随机数计算功能(B)306使用的散列值可以不相同。即,当这些散列值是基于元数据310获得的散列值时,可以通过相互不同的散列运算来获得这些散列值。
步骤S404:判定功能309将随机数(B)315与伪随机数计算功能(A)302产生的随机数的上限值相比较。作为该比较的结果,当随机数(B)315不大于伪随机数计算功能(A)302产生的随机数的上限值时(步骤S404中的是),处理前进至步骤S406。另一方面,当随机数(B)315大于伪随机数计算功能(A)302产生的随机数的上限值时(步骤S404中的否),则处理前进至步骤S405。
步骤S405:判定功能309确定是否存在与随机数(B)315相对应的存储装置。作为该确定的结果,当存在与随机数(B)315相对应的存储装置时(步骤S405中的是),处理前进至步骤S407。另一方面,当不存在时,处理返回到步骤S402。
步骤S406:判定功能309确定是否存在与随机数(A)312相对应的存储装置。作为该确定的结果,当存在与随机数(A)312相对应的存储装置时(步骤S406中的是),处理前进至步骤S408。另一方面当不存在时,处理返回到步骤S402。
步骤S407:判定功能309输出存储装置信息319,作为能够区分与随机数(B)315相对应的存储装置的信息。
步骤S408:判定功能309输出存储装置信息319,作为能够区分与随机数(A)312相对应的存储装置的信息。
顺便提及,在参照图4和图5说明的对象数据的布置处理中,基于以下假定:数‑存储装置转换表305中登记的作为第二数的最大数大于伪随机数计算功能(A)302产生的随机数的上限值,并且不大于伪随机数计算功能(B)306产生的随机数的上限值。相应地,在下述修改中,参照图11描述不受这种假定(先决条件)约束的设备配置(处理配置)。
即,在该修改中,当数‑存储装置转换表305中登记的最大数变得大于伪随机数计算功能(B)306产生的随机数的上限值时,还向对象数据布置设备2000(存储装置确定功能320)添加第三伪随机数计算功能(伪随机数计算功能C)。伪随机数计算功能C产生的随机数的上限值大于数‑存储装置转换表305中登记的最大数。这里,描述根据本修改的数‑存储装置转换表(未示出)中登记的数(第二数)的数值范围。该数值范围中的最小值不小于伪随机数产生功能A产生的数的最小值。并且该数值范围中的最大值大于伪随机数产生功能B产生的数的最大值,并且不大于伪随机数产生功能C产生的数的最大值。
图11是说明根据第二实施例的修改的三个伪随机数产生功能的操作的图。图11中示出的水平轴用数线示出了三个伪随机数产生功能(A、B、C)产生的随机数。在每个水平轴上指示的带状范围表示每个伪随机数产生功能能够产生的随机数的范围。这里,范围是从某一值到另一值的值范围。并且每个带状范围之中带有斜线的范围表示在确定存储装置时采用的对应伪随机数产生功能产生的随机数的范围。
根据本修改的对象数据布置设备具备如图11所示具有随机数产生范围的三个伪随机数产生功能。并且其操作如下。
(1)当伪随机数产生功能C产生的随机数值超过伪随机数产生功能B能够产生的随机数值的范围时,通过使用伪随机数产生功能C产生的随机数确定是否存在对应的存储装置。
(2)当伪随机数产生功能C产生的随机数值在伪随机数产生功能B能够产生的随机数值的范围内时,通过伪随机数产生功能B产生随机数。
(3)当伪随机数产生功能B产生的随机数值超过伪随机数产生功能A产生的随机数值时,通过使用伪随机数产生功能B产生的随机数确定是否存在对应的存储装置。
(4)当伪随机数产生功能B产生的随机数值在伪随机数产生功能A能够产生的随机数值的范围内时,通过伪随机数产生功能A产生随机数。通过使用伪随机数产生功能A产生的随机数确定是否存在对应的存储装置。
接着,与图5中示出的流程图相比,描述使用上述三个伪随机数计算功能的情况下对象数据的布置处理。
通过伪随机数计算功能(A)302执行与步骤S402相同的处理,或者通过伪随机数计算功能(B)305执行与布置S403相同的处理,伪随机数计算功能C输出随机数C。
当随机数C大于伪随机数计算功能(B)306产生的随机数的上限值时,存储装置确定功能320(判定功能309)在确定存储装置时确定是否存在与随机数C相对应的存储装置。当通过该确定确定不存在对应的存储装置时,处理返回到步骤S402。另一方面,当通过该确定确定存在对应的存储装置时,存储装置确定功能302输出与随机数C相对应的存储装置信息(存储装置ID)。
当随机数C等于或小于伪随机数计算功能(B)307产生的随机数的上限值时,存储装置确定功能320将随机数(B)315与伪随机数计算功能(A)303产生的随机数的上限值相比较。作为该比较的结果,当随机数(B)315大于伪随机数计算功能(A)303产生的随机数的上限值时,存储装置确定功能320确定是否存在与随机数(B)315相对应的存储装置。当通过该确定确定不存在对应的存储装置时,处理返回到步骤S402。另一方面,当通过该确定确定存在对应的存储装置时,存储装置确定功能320输出与随机数(B)315相对应的存储装置信息。
当随机数(B)315不大于伪随机数计算功能(A)303产生的随机数的上限值时,存储装置确定功能320确定是否存在与随机数(A)312相对应的存储装置。当通过该确定确定不存在对应的存储装置时,处理返回到步骤S402。另一方面,当通过该确定确定存在对应的存储装置时,存储装置确定功能320输出与随机数(A)312相对应的存储装置信息。
根据上述三个伪随机数计算功能本身产生随机数是可以同时执行的,以便在短时间内获得最终确定结果。
这里,概括和描述根据本修改的处理配置。在这种情况下,对象数据布置设备包括能够产生随机数范围相互不同的、作为第一数的随机数的多个伪随机数计算功能。在多个伪随机数计算功能中,具有以下关系,具有范围编号n(这里,n是自然数)的伪随机数计算功能产生的随机数的范围包括在具有范围编号(n+1)的伪随机数计算功能产生的随机数的范围中。
并且在上述设备配置的情况下,判定功能(309)执行:
(I)将最大范围编号设置为p,并且将次最大范围编号设置为q;
(II)当具有范围编号p的伪随机数计算功能产生的随机数(第一数)超过根据具有范围编号q的伪随机数计算功能的随机数的范围时,将该随机数与第二数(数‑存储装置转换表(305)中登记的数)相比较,并且当这些数相同时将与第二数相关联的存储装置标识信息(存储装置ID)所对应的存储装置确定为目标对象数据的布置目的地,并且当不相同时,产生随机数(第一数)并且从(I)开始重新进行。
(III)当具有范围编号p的伪随机数计算功能产生的随机数在根据具有范围编号q的伪随机数计算功能的随机数的范围界限内时,从p中减去1,并且从q中减去1,并且作为减法的结果,当q不为0时重复(II),当q为0时,将第二数与具有范围编号1的伪随机数计算功能产生的随机数相比较,并且当这些数相同时,确定与第二数相关的存储装置标识信息(存储装置ID)所对应的存储装置为目标对象数据的布置目的地,并且当不相同时,产生随机数(第一数)并且从(I)开始重新进行。
当数‑存储装置转换表305中登记的数之中最大数大于当前提供的多个伪随机数计算功能产生的随机数的上限值之中的最大上限值时,可以提供类似上述配置的新伪随机数计算功能。
即使在记录对象数据的存储装置如上述第一实施例出现变动时,根据第二实施例及其修改,实现了利用较小运算量以及对象数据的最小移动,有效地几乎均匀(平均)地布置每个存储装置。
此外,根据本实施例及其修改,能够实现理想且有效的对象数据布置设备,而不受第一实施例(即,数‑存储装置转换表3(105)中登记的数(第二数)是伪随机数计算功能(103)产生的随机数的范围内的值)中假定的条件的制约。
即,在第一实施例中,当将伪随机数计算功能103的上限值设置为远大于数‑存储装置转换表105中使用的最大数时,判定功能104确定对应存储装置不存在的概率变得较高。在这种情况下,由于计算时间变长,对于使用单个伪随机数计算功能,不希望上限值设置为太高的设备配置。相反,根据第二实施例及其上述修改,通过使用具有不同随机数的上限值的多个伪随机数计算功能,即使当数‑存储装置转换表中使用的数(第二数)的上限值较高时,也能够实现计算时间的缩短。
在上述每个实施例和修改中,尽管期望均匀地布置对象数据(作为一个数据对待的对象数据的大小是均匀的),但不限于此。
在上述每个实施例和修改中,尽管期望作为一个存储装置对待的存储装置的尺寸是均匀的,但不限于此。
此外,当按照处理单位拆开对象数据时,对元数据进行散列,并且基于散列的结果针对对象数据的每个处理单位来产生针对伪随机数计算功能的种子。
在上述每个实施例及其修改中,假定以下模式:存储装置确定功能(102、320)具备仅以外部指定数量产生与第二数相同的第一数的功能,在重复产生新的第一数的过程中,通过使用存储装置确定功能,参考数‑存储装置转换表(105、305),获得关于与每个产生的第一数相同的第二数有关的存储装置标识信息,并且将相同的对象布置到与第二数相对应的获得的多个存储装置中。
在上述每个实施例及其上述修改中,伪随机数计算功能重复产生随机数,直到获得与作为布置目的地的存储装置相对应的数(第一数)为止。因此,在一些情况下,有可能要花时间来确定应当布置对象数据的存储装置。相应地,当即使仅以指定次数产生随机数也不能获得与存储装置相对应的数时,假定以下模式:使用随机数从与存储装置相对应的数中选择某个数来避免这样的情况。
作为附加修改,当确定存储装置时,假定使用将元数据与存储装置相关联的表的模式。在这种情况下,首先,当通过参考该表确定存储装置时,确定适合的存储装置。并且当通过参考该表不能确定存储装置时,应当通过根据上述每个实施例的布置处理来确定存储装置。根据这样的模式,能够实现以下实施例:将要高速访问的对象数据布置到尤其以高速操作的存储装置,并且对其他对象数据应用根据上述每个实施例的布置处理。
作为另一附加修改,当在存储装置中记录对象数据时,考虑以下模式:在将对象数据划分成多个部分(部分对象数据)的状态下记录对象数据。在这种情况下,每个部分对象数据本身不具有特定标识符。相应地,在这种模式的情况下,可以添加以下处理。即,在该修改中,考虑以下配置:通过散列计算功能计算对象数据所具有的标识符,来向每个部分对象数据分别给出唯一地确定的标识符。例如,考虑以下情况:在将具有标识符A的对象数据B划分成三个部分对象数据(B1、B2、B3)之后在存储装置中存储。在这种情况下,简单地,可以如下给出三个部分对象数据的特定标识符(子信息),并且在上述每个实施例中,可以采用它们的特定标识符作为元数据。
部分文件B1:向标识符A添加了0的信息,
部分文件B2:向标识符A添加了1的信息;以及
部分文件B3:向标识符A添加了2的信息。
即,在该修改中,散列运算功能(101、301)基于对象数据B中提供的特定信息之一(标识符A)针对每个部分对象产生特定子信息,并且基于子信息针对每个部分对象产生序列信息(散列)。存储装置确定功能(102、320)通过使用针对每个部分对象产生的序列信息(散列)产生第一数,并且参照数‑存储装置转换表(105、305)将第二数与第一数相比较。并且响应于这些数的一致性,存储装置确定功能(102、320)确定与第二数相关联的存储装置标识信息所对应的存储装置,作为部分对象的布置目的地。
作为又一附加修改,存在一种情况:希望将一个对象数据进行复用并记录。在这样的情况下,在多个存储装置中存储该对象数据。相应地,在该修改中,通过存储装置确定功能(102、320)产生多个数(第一数),能够确定应当存储对象数据的多个存储装置。在这种情况下,由于为了表示每个存储装置的存储器容量的差异,数‑存储装置转换表(105、305)中可能存在多个数(第二数)对应于一个存储装置。因此,当需要利用不同存储装置进行存储时,使用用于确定与单个存储装置相对应的不同数的表或算法,可以检查多个数(第一数)是与不同存储装置相对应的数。
作为另一修改,例如存在根据RAID5在不同存储装置之间执行数据保护的情况。相应地,在该修改中,如下确定存储装置:产生数,直到存储装置确定功能(102、320)产生的数(第一数)相互不同,使得将多个相关的对象数据存储在相互不同的存储装置中。在这种情况下,存在以下可能性:由于为了表示存储装置的存储容量的差异,数‑存储装置转换表(105、305)中多个数(第二数)可能对应于一个存储装置。因此,当需要将它们存储在不同存储装置中时,使用用于确定与单个存储装置相对应的不同数的表或算法,可以检查存储装置确定功能(102、320)产生的数(第一数)是与针对相关的对象数据的不同存储装置相对应的数。根据这样的模式,通过约束存储装置确定功能(102、320)产生的数(第一数)的组合,能够在不同存储装置中分布和布置相关的多个对象数据。
顺便提及,在上述每个实施例及其修改中,将记录数据的存储装置认为是对象数据的布置目的地。并且认为对象数据构成数字数据和用于描述指定处理(过程、函数、算法)的软件程序中的至少一个。然而,作为关于每个实施例及其修改的示例说明的本发明的范围不限于每个实施例及其修改。具体地,例如,假定对象是处理(例如,命令、过程、函数、程序代码和算法)。在这样的情况下,对象的布置目的地是执行该处理所在的处理器和IP核(知识产权核)等操作执行环境(处理执行环境)。例如,在对作为布置目的地的操作执行环境应用本发明的实施例的情况下,可以提高多个服务器之间的诸如负载共享(负载平衡)等处理效率。
<第三示例性实施例>
在下文中,参照图13至15描述本发明的第三示例性实施例。
图13是示出了根据本发明第三示例性实施例的对象目的地确定设备的配置的框图。
在本实施例中,对象目的地确定设备900(下文中,简要称作“设备900”)根据所输入的确定了目的地(地址)的对象标识符(诸如行李等物品)来确定对象的目的地。
设备900在登记相同目的地的状态下向相同标识符输出相同目的地。设备900以几乎相同的概率向对象的标识符输出所有目的地。当添加目的地时,或者当去除目的地时,设备900保持以几乎相同的概率向对象的标识符输出所有目的地的特性。根据这样的设备900,即使在目的地根据目的地添加或去除而必须改变时,也能够最少化应当改变目的地的对象。
在下文中,详细描述对象目的地确定设备900。广义上,设备900包括标识符输入功能901、散列运算功能902、目的地确定功能903、目的地输入功能906、数‑目的地转换表907和目的地输出功能908。目的地确定功能903包括伪随机数计算功能904和判定功能905。
标识符输入功能901能够从外部获得用于标识对象的标识符。标识符输入功能901向散列运算功能902提供获取的标识符作为标识符910。这里,标识符910是对象独有信息。作为标识符输入功能901,采用诸如键盘和鼠标等用户接口(人机接口)、或对表示诸如条形码、邮政编码或批号的输入图像加以分析的图像处理设备。并且标识符输入功能901可以是经由信号线从外部设备获取标识符的通信接口。
设备900向相同标识符输出相同目的地。因此,当需要获得不同目的地时,需要向设备900设置不同标识符。
散列运算功能902基于标识符910通过执行散列运算来输出散列911,针对散列运算,可采用按照原样输出标识符910的运算,或者在处理之后输出的运算。散列911是基于对象数据的特定信息(标识符910)而产生的序列信息的示例。
作为布置目的地确定功能的目的地确定功能903基于从散列运算功能902获得的散列911以及从数‑存储装置转换表907获得的信息916,来输出对象的目的地信息917。
伪随机数计算功能904使用散列911作为种子(初始值)产生随机数(第一数)。伪随机数计算功能904向判定功能905发送产生的随机数作为随机数912。作为在种子相同时伪随机数计算功能904产生伪随机数而应当采用的算法,如果任意算法针对不同种子的序列产生具有低相关性的相同序列,则可以采用该算法。然而,如上在第一实施例中所述,希望产生均匀随机数的算法。
判定功能905基于从伪随机数计算功能904获得的随机数912和数‑存储装置转换表907中的信息916,判定数‑存储装置转换表907中是否存在与随机数912相同的数(第二数)。作为该确定的结果,当存在与随机数912相同的数时,判定功能905输出该数作为表示所标注的对象的目的地的目的地信息917。另一方面,当不存在与随机数912相同的数时,判定功能905通过向伪随机数计算功能904发出重新计算命令913来命令产生下个随机数912。
根据获取的目的地信息,来自外部的目的地添加指令和目的地删除指令,目的地输入功能906向数‑存储装置转换表907发送这些信息和指令作为目的地改变指令915。作为目的地输入功能906,例如,采用诸如键盘和鼠标等用户接口(人机接口),以及经由信号线从外部设备获取信息和命令的通信接口。
将数(第二数)和目的地信息(目的地标识符)相关联并且登记在数‑存储装置转换表907中。可以应用与第一示例性实施例中的数‑存储装置转换表(图10A和图10B)相同的数据结构作为数‑存储装置转换表907。
在适合的时机从设备900的外部建立或更新数‑存储装置转换表907(设备900可以自身产生)。
即,通过目的地改变指令915,可以从目的地输入功能906发送目的地添加命令。在这种情况下,表示待添加目的地的目的地信息包括在目的地改变指令915中。向数‑存储装置转换表907新分配对应的数(第二数),并且将该数与目的地改变指令915中包括的目的地信息相关联并且登记在数‑存储装置转换表中。
或者,通过目的地改变指令915,可以从目的地输入功能906发送目的地删除指令。在这种情况下,将表示应当去除的目的地的目的地信息包括在目的地改变指令915中。并且从数‑存储装置转换表907中删除与删除命令中包括的目的地信息相同的目的地信息以及与其相对应的数(第二数)。此外,当新发送针对目的地的添加指令时,可以重新使用与目的地的对应关系已删除的数,作为与添加指令中包括的目的地相对应的数。
或者,通过目的地改变指令915,可以从目的地输入功能906发送针对目的地的改变指令。在这种情况下,将表示改变之前目的地的目的地信息以及表示改变之后目的地的目的地信息包括在目的地改变指令915中。并且使用目的改变指令中包括的改变之前和之后的目的地信息,来改变数‑存储装置转换表907中登记的目的地。此外,目的地信息不需要与目的地一一对应。即,数‑存储装置转换表907中相同的目的地信息可以与多个数(第二数)相关联。或者,相同数(第二数)可以指示成组的多个目的地。
目的地输出功能908向使用设备900的目标输出对象的目的地。目的地输出功能908的模式依赖于使用设备900的目标。
接着,描述根据本示例性实施例的对象目的地确定设备900的处理。
图14是示出了根据本发明第三示例性实施例的对象目的地确定设备执行的对象的目的地判定处理的流程图。这里,当设备900由计算机实现时,计算机的CPU(中央处理单元)执行下述每个步骤的处理(稍后参照图16和17进行详细描述)。
步骤S1001:首先,作为初步准备,目的地输入功能906接收关于目的地的信息,并且向数‑存储装置转换表907发送该信息作为目的地改变指令915。在数‑存储装置转换表907中,给出与每个目的地相对应的数,并且记录数与目的地信息之间的对应关系。关于待记录目的地的信息需要是接收设备900的输出的目标能够确定对象的目的地的信息。
步骤S1002:响应于开始目的地的确定处理,标识符输入功能901获得对象的应当确定了目的地的标识符,并且向散列运算功能902发送获取的标识符作为标识符910。
步骤S1003:散列运算功能902基于标识符910通过散列计算获得散列911。作为散列运算功能902的操作,可以考虑诸如按照原样输出标识符910或者利用散列功能的计算等各种操作。可以将散列911发送到伪随机数计算功能904,并且成为随机数的种子(初始值)。
步骤S1004:伪随机数计算功能904使用作为种子的散列911产生随机数912。
判定功能905通过参考数‑存储装置转换表907,确定是否存在与随机数912相同的数所关联的目的地信息。当不存在与随机数912相同的数时,处理返回到步骤S1004。在这种情况下,伪随机数计算功能904产生下个随机数(912)。
步骤S1006:当存在与随机数912相同的数时,判定功能905向目的地输出功能908发送通过参考数‑存储装置转换表907而获取的目的地信息作为目的地信息917。目的地输出功能908向使用设备900的目标输出对象的目的地。目的地输出功能908依赖于使用设备900的目标。
接着,描述使用上述对象目的地确定设备900的库存品(行李)的存储目的地确定系统。
图15是示出了根据本发明第三示例性实施例的库存品的存储目的地确定系统的配置的框图。库存的存储目的地确定系统3000包括输送带中的库存品、库存品标识符读取器1102、存储目的地信息数据库1103、用于库存品的存储目的地标签打印机1104、以及对象目的地确定设备900。
库存品标识符读取器1102是通过光学扫描和图像处理读取特定标识符(条形码、邮政编码或批号)的设备,其中向传送带中流转的的库存品(行李)1101给出了特定标识符。库存品标识符读取器1102向设备900(标识符输入功能901)设置读取标识符。在以下描述中,变成处理对象的库存品1101被称作已标注库存品。
在存储目的地信息数据库1103中预先存储对可能存储存储目的地确定系统3000所处理的库存品(行李)的多个存储目的地加以表示的信息(存储目的地信息)。通过参考存储目的地信息数据库1103,设备900(目的地输入功能906)获取与标识符相对应的存储目的地信息(目的地)。
通过参照图14的上述过程,对象目的地确定设备900(目的地确定功能903)基于已标注库存品的标识符以及从数‑存储装置转换表907获得的信息916,确定已标注库存品的存储目的地(目的地)。这里,目标库存品的标识符是从库存品标识符读取器1102获得的信息。从数‑存储装置转换表907获得的信息916是从通过来自存储目的地信息数据库1103的存储目的地信息而适当更新的数‑存储装置转换表907获得的信息。
根据从设备900(目的地输出功能908)获得的目的地信息(存储目的地信息),存储目的地标签打印机1104是向作为在传送带中流转的库存品1101的已标注库存品打印存储目的地的设备。
通过上述系统配置,根据存储目的地确定系统300,能够基于在传送带中流转的库存品(目标库存品)的标识符来确定库存品的存储目的地(目的地),并且打印对库存品的确定的存储目的地加以表示的标签。
<第四示例性实施例>
接着,参照图16A和图16B描述执行第一至第三实施例中上述对象布置设备(对象目的地确定设备)的系统环境(硬件环境)。
如上所述,每个实施例中的设备可以通过计算机来实现。在这种情况下,设备的功能由执行软件程序的计算机的CPU来实现。然而,在使用多个存储装置(存储装置组)的系统环境中,在建立设备的功能的地方处可以采用多种变型。
图16A和16B是示例性示出了根据本发明第四示例性实施例的系统环境的变型的图。
在图16A示出的示例中,包括多个客户端的客户端组500和包括多个存储装置的存储装置组510经由集线器(HUB)520通过通信线路530连接。并且在该示例中,在客户端组500中建立对象布置设备(对象目的地确定设备)的功能,如图16A中通过斜线所示。
另一方面,在图16B示出的示例中,包括多个客户端的客户端组550和包括多个存储装置的存储装置组560经由集线器(HUB)507通过通信线路580连接。并且在该示例中,在存储装置组560中建立对象布置设备(对象目的地确定设备)的功能,如图16B中通过斜线所示。
可以通过物理上的多个存储装置、单个存储装置中提供的多个虚拟存储装置或其组合来构成存储装置组510和560。
因此,当实现第一至第三实施例中描述的对象布置设备(对象目的地确定设备)时,能够灵活地选择执行的环境。
并且能够将上述每个实施例中附图中示出的每个功能认为是软件程序的功能单元(软件模块)。参照图17描述这种情况的硬件环境的示例。
图17是示例性示出了根据本发明第四示例性实施例的客户端或存储装置的硬件配置的图。即,图17是能够实现图16中示出的存储装置或客户端的计算机的配置,并且表示能够实现上述每个实施例中每个功能的硬件环境。
图17中示出的硬件包括CPU21、ROM(只读存储器)22、RAM(随机存取存储器)23和硬盘(存储设备)24,并且这些配置是经由总线(通信线路)25连接的通用计算机。假定当硬件是存储装置时硬盘24本身用作上述示例性实施例中的存储装置的情况。
并且上述每个实施例中作为示例性示例说明的本发明可以通过向相关硬件的CPU21读取计算机程序,并且在向图17中示出的硬件供应该计算机程序之后通过执行该计算机程序来实现,图17中示出的硬件能够实现每个实施例的说明所参照的配置框图(图2、图4、图13)或流程图(图3、图5、图14)的功能。设备中供应的计算机程序可以存储在诸如能够读取和写入的存储器(22)或硬盘设备(24)等存储设备中。
在上述情况中,作为在硬件中供应计算机程序的方法,可采用一般过程,例如,经由诸如CD‑ROM等各种记录介质在设备中安装的方法、经由诸如互联网等通信线路从外部下载的方法等。并且在这种情况下,本发明可以通过表示计算机程序的代码和存储计算机程序的存储介质来配置。
然而,第一至第三实施例中的上述对象布置设备(对象目的地确定设备)可以通过专有硬件来实现。
已经将本发明描述为上述示例性实施例以及应用于上述示例性实施例的修改的示例。然而,本发明的技术范围不限于上述每个实施例中指示的范围。对于本领域技术人员而言显而易见的是能够向实施例添加各种改变或改进。在这样的情况下,添加了改变或改进的新实施例也能够包括在本发明的技术范围中。并且根据权利要求中描述的事物上述是显而易见的。即,在本发明的范围中,本发明能够应用本领域技术人员能够理解的各种模式。
本申请基于并要求2010年8月19日递交的日本专利申请No.2010‑184109的优先权权益,其全部公开内容通过引用合并于此。
附图标记说明
10 对象布置设备
11 基于对象的特定信息的序列信息
12 对应信息
13 布置目的地确定功能
14 布置目的地
21 CPU
22 ROM
23 RAM
24 硬盘(存储设备)
25 总线(通信线路)
101、301、902 散列运算功能
102、320 存储装置确定功能
103、904 伪随机数计算功能
104、309、905 判定功能
105、305 数‑存储装置转换表
110、310 元数据
111、311、612、911 散列
112 随机数(伪随机数)
113、913 重新计算信号(重新计算指令)
114 从数‑存储装置转换表获得的信息
115、319 存储装置信息
116、330 存储装置
302 第一伪随机数计算功能(A)
306 第二伪随机数计算功能(B)
312 随机数A
315 随机数B
600 基于元数据确定已知数据和存储装置的对应关系的系统
601 散列运算功能
602 模运算功能
603 数‑存储装置对应关系确定功能
610 对象数据及其元数据
611 元数据
613 连接存储装置信息
614 模运算结果
620 存储装置
900 对象目的地确定设备
901 标识符输入功能
903 目的地确定功能
907 数‑存储装置转换表
908 目的地输出功能
910 标识符
915 目的地改变指令
916 从数‑存储装置转换表907获得的信息
917 目的地信息
1000、2000 对象数据布置设备
1101 传送带中的库存品
1102 库存品标识符读取器
1103 存储目的地信息数据库(DB)
1104 库存品的存储目的地标签打印机
3000 库存品的存储目的地确定系统

对象布置设备及其方法,计算机程序.pdf_第1页
第1页 / 共47页
对象布置设备及其方法,计算机程序.pdf_第2页
第2页 / 共47页
对象布置设备及其方法,计算机程序.pdf_第3页
第3页 / 共47页
点击查看更多>>
资源描述

《对象布置设备及其方法,计算机程序.pdf》由会员分享,可在线阅读,更多相关《对象布置设备及其方法,计算机程序.pdf(47页珍藏版)》请在专利查询网上搜索。

公开了一种对象布置设备,通过相当容易的处理配置将多个对象几乎均匀地布置到多个布置目的地。该对象布置设备包括布置目的地确定装置。布置目的地确定装置参照基于对象的独有信息产生的序列信息,并且参照对对象的布置目的地加以标识的布置目的地标识符和与布置目的地标识符相关联的第二数之间的对应信息。布置目的地确定装置使用序列信息产生第一数,当利用不同的序列信息产生第一数时,第一数之间不具有相关性,并且布置目的地确。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1