背景技术:
1、云计算系统有时包括分布式数据分析引擎,该引擎在全局分布的多个数据中心中操作。每个数据中心包含一个或多个服务器。此类云计算系统的用户可以创建组织和项目。在项目内,分布式数据分析引擎允许用户创建数据集和表。在内部,表被分区为数据复制的单元,称为存储集。每个存储集与存储在服务器上的一个或多个文件相对应。虽然用户通常查询他们自己的数据集,但一个用户与另一个用户共享数据集或使数据集对许多用户公开可用也是可能的。在查询时间处多个数据集可联接在一起,这潜在地要求系统从可能属于任意用户的大量相异的数据集读取数据。
2、数据集可以策略性地跨分布式计算系统存储。通常,策略数据存储的技术涉及标识具有共享数据集的项目以及将具有最频繁共享的数据集的项目存储在分布式计算系统内的同一计算装置上。在每个计算装置处,可以预留增长缓冲区,以便允许存储在计算装置处的项目增长而不会达到计算装置的存储的物理限制。
3、一方面,维持大的增长缓冲区是高成本的,因为它们导致计算系统内的大量空闲存储。另一方面,维持太小的增长缓冲区也是有害的,因为随着存储在计算装置处的项目随时间增长,它可能导致存储错误。
技术实现思路
1、本公开利用一个或多个软缓冲区以便控制计算系统的计算装置当中的数据存储的平衡。指派求解器可以基于软缓冲区来分析存储成本以及其他因素。最小化存储成本的项目指派的集可能是经优化的存储解决方案。
2、本公开的一个方面涉及一种在多组计算装置当中平衡数据存储的方法,每组包括一个或多个相应的计算装置,每组具有可用存储容量。该方法可以包括:对于每组计算装置:由一个或多个处理器确定该组计算装置处的超过预定义第一阈值的已使用存储量,该第一阈值小于可用存储容量;由一个或多个处理器基于所确定的超过所述预定义第一阈值的已使用存储量来计算存储成本;由一个或多个处理器基于计算出的存储成本的总和来确定多组计算装置的总存储成本;由一个或多个处理器确定一个或多个项目在多组计算装置之间的降低总存储成本的转移;以及由一个或多个处理器指导多组计算装置执行所确定的转移。
3、在一些示例中,每组计算装置的可用存储容量还包括硬缓冲区,该组计算装置处的新项目的存储受限于硬缓冲区,其中,第一阈值大于可用存储容量与硬缓冲区的大小之间的差值。
4、在一些示例中,计算存储成本可以包括将所确定的超过预定义第一阈值的已使用存储乘以预定义第一常数值。
5、在一些示例中,该方法还可以包括:对于每组计算装置,由一个或多个处理器确定该组计算装置处的超过预定义第二阈值的已使用存储量,该第二阈值小于可用存储容量,第二阈值大于第一阈值。计算存储成本可以涉及将所确定的超过所述预定义第二阈值的已使用存储量乘以预定义第二常数值。在一些示例中,预定义第二常数值可以大于或等于预定义第一常数值。
6、在一些示例中,该方法还可以包括:对于每组计算装置,由一个或多个处理器确定该组计算装置处的超过n个预定义阈值的已使用存储量,每个预定义阈值小于可用存储容量,其中,n是等于或大于二的整数。计算存储成本可以涉及依据该组计算装置处的已使用存储量超过n个预定义阈值中的多少个,将所确定的已使用存储量乘以n个预定义常数值中的一个。
7、在一些示例中,计算存储成本可以包括将所确定的超过所述预定义第一阈值的已使用存储量输入到非线性函数。
8、在一些示例中,该方法还可以包括:由一个或多个处理器确定与在多组计算装置之间转移一个或多个项目相关联的一个或多个次级成本因子;由一个或多个处理器为计算出的总存储成本指派第一权重值,并为一个或多个次级因子中的每一个指派相应的权重值;以及由一个或多个处理器计算加权的计算出的总存储成本与加权的次级成本因子的总和。所确定的一个或多个项目在多组计算装置之间的转移减少所计算出的总和。
9、在一些示例中,一个或多个次级成本因子可以包括在所述多组计算装置之间转移一个或多个项目的网络带宽成本。附加地或替代地,一个或多个次级成本因子可以包括在所述多组计算装置之间传送数据的网络通信成本。
10、本公开的另一个方面涉及一种在多组计算装置当中平衡数据存储的系统,每组包括一个或多个相应的计算装置,每组具有可用存储容量。该系统可以包括一个或多个存储器和一个或多个处理器,所述一个或多个处理器与所述一个或多个存储器通信;一个或多个处理器可以被配置为:对于每组计算装置:确定该组计算装置处的超过预定义第一阈值的已使用存储量,该第一阈值小于可用存储容量;并且基于所确定的超过预定义第一阈值的已使用存储量来计算存储成本;基于计算的存储成本的总和来确定多组计算装置的总存储成本;确定一个或多个项目在所述多组计算装置之间的降低总存储成本的转移;并且指导多组计算装置执行所确定的转移。
11、在一些示例中,每组计算装置的可用存储容量还可以包括硬缓冲区,该组计算装置处的新项目的存储受限于硬缓冲区。第一阈值可以大于可用存储容量和硬缓冲区的大小之间的差值。
12、在一些示例中,一个或多个处理器可以被配置为通过将所确定的超过所述预定义第一阈值的已使用存储量乘以预定义第一常数值来计算存储成本。
13、在一些示例中,一个或多个处理器可以被配置为:对于每组计算装置,确定该组计算装置处的超过预定义第二阈值的已使用存储量,该第二阈值小于可用存储容量,第二阈值大于第一阈值。在一些示例中,一个或多个处理器可以被配置为通过将所确定的超过预定义第二阈值的已使用存储量乘以预定义第二常数值来计算存储成本。
14、在一些示例中,预定义第二常数值可以大于或等于预定义第一常数值。
15、在一些示例中,一个或多个处理器可以被配置为:对于每组计算装置,确定该组计算装置处的超过n个预定义阈值的已使用存储量,每个预定义阈值小于可用存储容量,其中,n是等于或大于二的整数。一个或多个处理器可以被配置为通过依据该组计算装置处的已使用存储量超过n个预定义阈值中的多少个、将所确定的已使用存储量乘以n个预定义常数值中的一个,来计算存储成本。
16、在一些示例中,一个或多个处理器可以被配置为通过将所确定的超过预定义第一阈值的已使用存储量输入到非线性函数来计算存储成本。
17、在一些示例中,一个或多个处理器可以被配置为:确定与在多组计算装置之间转移一个或多个项目相关联的一个或多个次级成本因子;为计算出的总存储成本指派第一权重值,并为一个或多个次级因子中的每一个指派相应的权重值;并且计算加权的计算出的总存储成本与加权的次级成本因子的总和。所确定的一个或多个项目在多组计算装置之间的转移减少所计算出的总和。
18、在一些示例中,一个或多个次级成本因子可以包括在所述多组计算装置之间转移一个或多个项目的网络带宽成本。附加地或替代地,一个或多个次级成本因子可以包括在所述多组计算装置之间传送数据的网络通信成本。
1.一种在多组计算装置当中平衡数据存储的方法,其特征在于,每组包括一个或多个相应的计算装置,每组具有可用存储容量,所述方法包括:
2.如权利要求1所述的方法,其特征在于,每组计算装置的所述可用存储容量还包括硬缓冲区,所述组计算装置处的新项目的存储受限于所述硬缓冲区,其中,所述第一阈值大于所述可用存储容量与所述硬缓冲区的大小之间的差值。
3.如权利要求1所述的方法,其特征在于,计算所述存储成本包括将所确定的超过所述预定义第一阈值的已使用存储量乘以预定义第一常数值。
4.如权利要求3所述的方法,其特征在于,还包括:对于每组计算装置,由所述一个或多个处理器确定所述组计算装置处的超过预定义第二阈值的已使用存储量,所述预定义第二阈值小于所述可用存储容量,所述第二阈值大于所述第一阈值,其中,计算所述存储成本包括将所确定的超过所述预定义第二阈值的已使用存储量乘以预定义第二常数值。
5.如权利要求4所述的方法,其特征在于,所述预定义第二常数值大于或等于所述预定义第一常数值。
6.如权利要求3所述的方法,其特征在于,还包括:对于每组计算装置,由所述一个或多个处理器确定所述组计算装置处的超过n个预定义阈值的已使用存储量,每个预定义阈值小于所述可用存储容量,其中,n是等于或大于二的整数,并且其中,计算所述存储成本包括:依据所述组计算装置处的所述已使用存储量超过所述n个预定义阈值中的多少个,将所确定的所述已使用存储量乘以n个预定义常数值中的一个。
7.如权利要求1所述的方法,其特征在于,计算所述存储成本包括将所确定的超过所述预定义第一阈值的已使用存储量输入到非线性函数。
8.如权利要求1所述的方法,其特征在于,还包括:
9.如权利要求8所述的方法,其特征在于,所述一个或多个次级成本因子包括在所述多组计算装置之间转移所述一个或多个项目的网络带宽成本。
10.如权利要求8所述的方法,其特征在于,所述一个或多个次级成本因子包括在所述多组计算装置之间传送数据的网络通信成本。
11.一种在多组计算装置当中平衡数据存储的系统,其特征在于,每组包括一个或多个相应的计算装置,每组具有可用存储容量,所述系统包括:
12.如权利要求11所述的系统,其特征在于,每组计算装置的所述可用存储容量还包括硬缓冲区,所述组计算装置处的新项目的存储受限于所述硬缓冲区,其中,所述第一阈值大于所述可用存储容量与所述硬缓冲区的大小之间的差值。
13.如权利要求11所述的系统,其特征在于,所述一个或多个处理器被配置为通过将所确定的超过所述预定义第一阈值的已使用存储量乘以预定义第一常数值来计算所述存储成本。
14.如权利要求13所述的系统,其特征在于,所述一个或多个处理器被配置为:对于每组计算装置,确定所述组计算装置处的超过预定义第二阈值的已使用存储量,所述预定义第二阈值小于所述可用存储容量,所述第二阈值大于所述第一阈值,其中,所述一个或多个处理器被配置为通过将所确定的超过所述预定义第二阈值的已使用存储量乘以预定义第二常数值来计算所述存储成本。
15.如权利要求14所述的系统,其特征在于,所述预定义第二常数值大于或等于所述预定义第一常数值。
16.如权利要求13所述的系统,其特征在于,所述一个或多个处理器被配置为:对于每组计算装置,确定所述组计算装置处的超过n个预定义阈值的已使用存储量,每个预定义阈值小于所述可用存储容量,其中,n是等于或大于二的整数,并且其中,所述一个或多个处理器被配置为通过依据所述组计算装置处的所述已使用存储量超过所述n个预定义阈值中的多少个、将所确定的所述已使用存储量乘以n个预定义常数值中的一个,来计算所述存储成本。
17.如权利要求11所述的系统,其特征在于,所述一个或多个处理器被配置为通过将所确定的超过所述预定义第一阈值的已使用存储量输入到非线性函数来计算所述存储成本。
18.如权利要求11所述的系统,其特征在于,所述一个或多个处理器被配置为:
19.如权利要求18所述的系统,其特征在于,所述一个或多个次级成本因子包括在所述多组计算装置之间转移所述一个或多个项目的网络带宽成本。
20.如权利要求18所述的系统,其特征在于,所述一个或多个次级成本因子包括在所述多组计算装置之间传送数据的网络通信成本。