一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种大数据集群的存储优化方法及系统与流程

2022-03-16 16:15:23 来源:中国专利 TAG:


1.本发明涉及但不限于互联网技术领域,具体涉及一种大数据集群的存储优化方法及系统。
2.本发明应用于集群网络存储系统的实际部署中。集群大数据存储系统中,针对某些高性能数据处理领域,需要经常存储、海量而种类多样的数据文件,不同来源的用户数据、流媒体文件的存储与访问等。大数据网络存储系统的特点是存储设备节点多、网络数据上传量大,目前部署大数据网络存储系统时,需综合考虑系统的需求、性能、服务可用性,服务响应性参数。同时,测试过程中,合理分配节点数量、合理提高单节点的利用率是降低大数据网络存储系统成本的大方向。


背景技术:

3.随着互联网行业的高速发展,网站数据存储已经成为评价服务质量的一个关键性评价指标,但网站数据存储来源多样,针对不同来源的存储需求需要不同调度优化策略,是本领域的技术优化问题,对于提高服务质量起到关键作用。


技术实现要素:

4.本发明的目的在于提出一种大数据集群的存储优化方法,以解决现有技术中所存在的一个或多个技术问题,至少提供一种有益的选择或创造条件。
5.为实现上述技术目的,本发明技术方案如下:
6.一种大数据集群的存储优化方法,所述方法包括以下步骤:
7.步骤1,获取存储需求;
8.步骤2,获得大数据集群内存储单元的属性;
9.步骤3,根据存储需求和存储属性获得任务对集合;
10.步骤4,根据任务对集合对大数据集群的存储需求进行存储优化。
11.进一步地,步骤1中,获取存储需求的子步骤为:
12.获得存储需求,构建存储需求集合sr={sr1,sr2,sr3,
……
,srm},srk表示第k个存储需求,存储需求集合sr的大小为m,k∈[1,m]。
[0013]
进一步地,大数据集群内包括多个存储单元,所有存储单元由存储任务分配模块分配存储任务,存储需求为存储任务的大小,指需要占用存储单元的大小。
[0014]
进一步地,步骤2中,获得大数据集群内存储单元的属性的子步骤为:
[0015]
存储单元的属性为网络延时,网络延时为大数据集群到不同用户端的延迟,所述用户端指存储需求的来源,每个存储需求来自一个用户端;存储需求集合sr中每个存储需求记录了延迟参数和,lat(srk)为取第k个存储需求的网络延迟,指srk到存储服务器的网络延迟或者指rtt(round trip time),dmd(srk)为取第k个存储需求得存储空间大小;
[0016]
存储单元的属性还包括大数据集群内每个存储单元的剩余空间,剩余空间指存储单元内永久存储介质的剩余可用空间,不包括临时存储空间,临时存储空间包括存储单元
的缓存,内存,高速ssd,intel傲腾内存中的一种或多种,临时存储空间只用于数据临时存放,不用于永久存储数据,记为剩余空间集合cpy={cpy1,cpy2,cpy3,
……
,cpyn},cpyn表示第n个存储单元的剩余可用空间,n∈[1,n]。
[0017]
优选地,存储单元的属性还包括单个存储单元的存储总空间cpy0,存储单元的数量为n,第k个存储单元的存储剩余空间记为存储剩余空间集合vs={vsk},第j个存储单元缓冲区的占用大小bufk,ytk为缓冲区上次刷新时间距离当前时刻的间隔。
[0018]
进一步地,步骤3中,根据存储需求和存储属性获得任务对集合的子步骤为:初始化空集合task9,初始化数值i的值为0,j的值为0,i的取值范围[1,n],j的取值范围[1,m];
[0019]
对剩余空间集合cpy进行降序排序,对存储需求集合sr进行降序排序;
[0020]
步骤3.1,如果dmd(srj)>cpyn,i的值小于n增加1重新执行步骤3.1,srj加入集合task9,如果dmd(srj)≤cpyi,跳转步骤3.2,如果i的值大于n则跳转步骤3.3;
[0021]
步骤3.2,构建任务对[srj,cpyi],i的值和j的值增加1,重新执行步骤3.1,直到i或j其中一个到达对应的取值范围,跳转步骤3.3;
[0022]
步骤3.3,所有任务对构成任务对集合task2,输出任务对集合task2。优选地,存储需求和存储属性进行处理获得任务对集合的步骤还可以为:
[0023]
计算存储分配系数ex为:
[0024][0025]
式中,ex为存储分配系数,cpyi为第i个存储服务器的存储剩余空间,vcsi为第i个存储服务器的存储剩余系数,vcsi=(vsi
×
vst)/∑(vs1,vsn),vst为单个存储服务器的存储总空间,所有存储服务器的存储总空间vst一样,
[0026]
∑(vs1,vsn)为求所有存储服务器当前时刻的总存储剩余空间,yti为缓冲区上次刷新时间距离当前时刻的间隔,wi为缓冲区参数,取值为:
[0027][0028]
式中,bufi为第i个存储单元的缓冲区占用大小,bufs为从缓冲区写入到硬盘的速度;yti为缓冲区上次刷新时间距离当前时刻的间隔,buf为单个存储单元的缓冲区总大小;
[0029]
求得所有存储单元的存储分配系数,记为存储分配系数集合ex={ex1,ex2,ex3,
……
,exn},存储分配系数集合大小为n,对存储分配系数集合进行升序排序。
[0030]
进一步地,步骤4中,根据任务对集合对大数据集群的存储需求进行存储优化的子步骤为:
[0031]
步骤4.1,如果n≥m,根据大数据集群根据任务对集合task2进行存储优化;如果n<m,则根据大数据集群根据任务对集合task2进行存储优化,单个存储单元完成任务后从存储需求集合sr获取为被执行的存储需求执行,如果task9不为空,完成存储需求集合sr的所有存储需求后输出存储容量不足警告。
[0032]
优选地,根据任务对集合对大数据集群的存储需求进行存储优化的子步骤还可以为:
[0033]
初始化空集合dem’;
[0034]
初始化i的值为1,j的值为1,空存储需求集合dem2,空存储需求集合dem3;
[0035]
步骤4.1,如果存储需求demj的存储需求大于缓冲区大小buf,j的值增加1,存储需求demj加入存储需求集合dem2,如果存储需求demj的存储需求小于等于buf,存储需求demj加入存储需求集合dem3;
[0036]
如果j<m令j的值增加1,重新开始步骤4.1,否则对存储需求集合dem2的元素根据存储需求进行升序排序并跳转步骤4.2;
[0037]
步骤4.2,构建存储需求匹配组合集合:
[0038]
dem'={dem3i:exi};
[0039]
式中,dem3i:exi为一个存储需求匹配组合,i的取值范围为[1,low(sizeof(dem3),n)],遍历存储需求匹配组合集合dem’,存储需求匹配组合集合dem’中一个元素dem3i:exi指一个存储需求匹配组合,由一个存储需求dem3i和一个存储分配系数exi组成;如果存储需求dem3i的存储需求大于exi所属服务器的存储剩余空间则从存储需求集合dem2中选取一个元素,选取的元素小于exi所属服务器的存储剩余空间,把当前存储需求dem3i加入存储需求集合dem2,把从存储需求集合dem2选取出的元素替换dem3i;low(sizeof(dem3),n)指取sizeof(dem3)或n的较小值,sizeof(dem3)指存储需求集合dem3的大小;
[0040]
如果无法从存储需求集合dem2中选取一个小于存储分配系数exi所属服务器的存储剩余空间的元素,即存储需求集合dem2中所有元素的存储需求都大于exi所属服务器的存储剩余空间,把此存储需求匹配组合dem3i:exi从存储需求匹配组合集合中移除,把存储需求dem3i加入存储需求集合dem2,exi所属服务器标记为存储满服务器;
[0041]
步骤4.3,根据存储需求匹配组合集合dem'进行负载调度,标记为存储满服务器的服务器不参与负载调度,如果存储需求匹配组合集合dem'的大小小于n,n-low(sizeof(dem3),n)个未在存储需求匹配组合集合dem'分配的服务器执行存储需求集合dem2,存储需求匹配组合集合dem'分配的服务器在服务器执行完对应的存储需求后开始依次执行存储需求集合dem2中的存储需求直到存储需求集合dem2和存储需求集合dem3的所有存储需求被执行完毕;
[0042]
如果存储需求匹配组合集合dem'的大小为n,根据存储需求匹配组合集合dem'进行负载调度,每个服务器完成存储需求匹配组合集合dem'中的存储需求后开始依次选取并执行存储需求集合dem3中未被存储需求匹配组合集合dem'分配的存储需求,被服务器选取的存储需求从所述存储需求集合中移除,存储需求集合dem3的存储需求被执行完毕后执行存储需求集合dem2的存储需求。
[0043]
一种大数据集群的存储优化系统,所述系统包括:
[0044]
存储信息获取模块:包括一个运行在每个大数据集群内每个存储单元的背景程序,所述背景程序能获取当前存储单元的存储属性;
[0045]
存储需求接收模块:用于获取存储需求;
[0046]
数据处理模块:用于对存储单元的存储需求进行处理,计算存储单元的存储系数,根据存储需求并构建任务对获得任务对集合,输出任务匹配对集合;
[0047]
存储任务分配模块:用于根据任务对集合进行存储优化。
[0048]
第三方面,本公开提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开第一方面提供的所述方法的步骤。
[0049]
第四方面,本公开提供一种电子设备,包括:存储器,其上存储有计算机程序;处理器,用于执行所述存储器中的所述计算机程序,以实现本公开提供的所述方法的步骤。
[0050]
与现有技术相比,本发明具有以下有益的技术效果:更有效地分配大数据集群的存储任务。
附图说明
[0051]
为了使本领域的技术人员更好地理解本发明的技术方案,下面通过对结合附图所示出的实施方式进行详细说明,本发明的上述以及其他特征将更加明显,本发明附图中相同的参考标号表示相同或相似的元素,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,在附图中:
[0052]
图1为本发明提供的一种大数据集群的存储优化方法的流程图;
[0053]
图2为本发明一个实施例的一种大数据集群的存储优化系统结构示意框图。
具体实施方式
[0054]
为了使本发明的目的、技术方案及优点更加清晰,以下结合附图及实施例,对本发明进行进一步详尽说明。此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0055]
同样应理解,以下实施例只用于对本发明进行进一步说明,不能理解为对本发明保护范围的限制,本领域的技术人员根据本发明上述内容做出的一些非本质的改进和调整均属于本发明的保护范围。下述示例具体的工艺参数等也仅是合适范围内的一个示例,即本领域技术人员可以通过本文的说明做合适的范围内选择,而并非要限定于下文示例的具体数值。
[0056]
以下示例性地说明本发明提供的一种大数据集群的存储优化方法。
[0057]
如图1所示为一种大数据集群的存储优化方法的流程图,下面结合图1来阐述根据本发明的实施方式的一种大数据集群的存储优化方法,所述方法包括以下步骤:
[0058]
步骤1,获取存储需求;
[0059]
步骤2,获得大数据集群内存储单元的属性;
[0060]
步骤3,根据存储需求和存储属性获得任务对集合;
[0061]
步骤4,根据任务对集合对大数据集群的存储需求进行存储优化。
[0062]
进一步地,步骤1中,获取存储需求的子步骤为:
[0063]
获得存储需求,构建存储需求集合sr={sr1,sr2,sr3,
……
,srm},srk表示第k个存储需求,存储需求集合sr的大小为m,k∈[1,m]。
[0064]
进一步地,大数据集群内包括多个存储单元,所有存储单元由存储任务分配模块分配存储任务。
[0065]
进一步地,步骤2中,获得大数据集群内存储单元的属性的子步骤为:
[0066]
存储单元的属性为网络延时,网络延时为大数据集群到不同用户端的延迟,所述用户端指存储需求的来源,每个存储需求来自一个用户端;存储需求集合sr中每个存储需求记录了延迟参数和,lat(srk)为取第k个存储需求的网络延迟,指srk到存储服务器的网
络延迟或者指rtt(round trip time),dmd(srk)为取第k个存储需求的存储空间大小;
[0067]
存储单元的属性还包括大数据集群内每个存储单元的剩余空间,剩余空间指存储单元内永久存储介质的剩余可用空间,不包括临时存储空间,临时存储空间包括缓存,内存,高速ssd,intel傲腾内存中的一种或多种,临时存储空间只用于数据临时存放,不用于永久存储数据,记为剩余空间集合cpy={cpy1,cpy2,cpy3,
……
,cpyn},cpyn表示第n个存储单元的剩余可用空间,n∈[1,n]。优选地,存储单元的属性还包括单个存储单元的存储总空间cpy0,存储单元的数量为n,第k个存储单元的存储剩余空间记为存储剩余空间集合vs={vsk},第j个存储单元缓冲区的占用大小bufk,ytk为缓冲区上次刷新时间距离当前时刻的间隔。
[0068]
进一步地,步骤3中,根据存储需求和存储属性获得任务对集合的子步骤为:初始化空集合task9,初始化数值i的值为0,j的值为0,i的取值范围[1,n],j的取值范围[1,m];
[0069]
对剩余空间集合cpy进行降序排序,对存储需求集合sr进行降序排序;
[0070]
步骤3.1,如果srj>cpyi则i的值小于n增加1重新执行步骤3.1,srj加入集合task9,如果srj≤cpyi,跳转步骤3.2,如果i的值大于n则跳转步骤3.3;
[0071]
步骤3.2,构建任务对[srj,cpyi],i的值和j的值增加1,重新执行步骤3.1,直到i或j其中一个到达对应的取值范围,跳转步骤3.3;
[0072]
步骤3.3,所有任务对构成任务对集合task2,输出任务对集合task2。
[0073]
优选地,存储需求和存储属性进行处理获得任务对集合的步骤还可以为:
[0074]
获得存储分配系数ex为:
[0075][0076]
式中,ex为存储分配系数,cpyi为第i个存储单元的存储剩余空间,vst为单个存储单元的存储总空间,yti为缓冲区上次刷新时间距离当前时刻的间隔,wi为缓冲区参数,取值为:
[0077][0078]
式中,bufi为第i个存储单元的缓冲区占用大小,bufs为从缓冲区写入到硬盘的速度;yti为缓冲区上次刷新时间距离当前时刻的间隔,buf为单个存储单元的缓冲区总大小;
[0079]
求得所有存储单元的存储分配系数,记为存储分配系数集合ex={ex1,ex2,ex3,
……
,exn},存储分配系数集合大小为n,对存储分配系数集合进行升序排序。
[0080]
进一步地,步骤4中,根据任务对集合对大数据集群的存储需求进行存储优化的子步骤为:
[0081]
步骤4.1,如果n≥m,根据大数据集群根据任务对集合task2进行存储优化;如果n<m,则根据大数据集群根据任务对集合task2进行存储优化,单个存储单元完成任务后从存储需求集合sr获取为被执行的存储需求执行,如果task9不为空,完成存储需求集合sr的所有存储需求后输出存储容量不足警告。
[0082]
优选地,根据任务对集合对大数据集群的存储需求进行存储优化的子步骤还可以为:
[0083]
初始化空集合dem’;
[0084]
初始化i的值为1,j的值为1,空存储需求集合dem2,空存储需求集合dem3;
[0085]
步骤4.1,如果存储需求demj的存储需求大于缓冲区大小buf,j的值增加1,存储需求demj加入存储需求集合dem2,如果存储需求demj的存储需求小于等于buf,存储需求demj加入存储需求集合dem3;
[0086]
如果j<m令j的值增加1,重新开始步骤4.1,否则对存储需求集合dem2的元素根据存储需求进行升序排序并跳转步骤4.2;
[0087]
步骤4.2,构建存储需求匹配组合集合:
[0088]
dem'={dem3i:exi};
[0089]
式中,dem3i:exi为一个存储需求匹配组合,i的取值范围为[1,low(sizeof(dem3),n)],遍历存储需求匹配组合集合dem’,存储需求匹配组合集合dem’中一个元素dem3i:exi指一个存储需求匹配组合,由一个存储需求dem3i和一个存储分配系数exi组成;如果存储需求dem3i的存储需求大于exi所属服务器的存储剩余空间则从存储需求集合dem2中选取一个元素,选取的元素小于exi所属服务器的存储剩余空间,把当前存储需求dem3i加入存储需求集合dem2,把从存储需求集合dem2选取出的元素替换dem3i;low(sizeof(dem3),n)指取sizeof(dem3)或n的较小值,sizeof(dem3)指存储需求集合dem3的大小;
[0090]
如果无法从存储需求集合dem2中选取一个小于存储分配系数exi所属服务器的存储剩余空间的元素,即存储需求集合dem2中所有元素的存储需求都大于exi所属服务器的存储剩余空间,把此存储需求匹配组合dem3i:exi从存储需求匹配组合集合中移除,把存储需求dem3i加入存储需求集合dem2,exi所属服务器标记为存储满服务器;
[0091]
步骤4.3,根据存储需求匹配组合集合dem'进行负载调度,标记为存储满服务器的服务器不参与负载调度,如果存储需求匹配组合集合dem'的大小小于n,n-low(sizeof(dem3),n)个未在存储需求匹配组合集合dem'分配的服务器执行存储需求集合dem2,存储需求匹配组合集合dem'分配的服务器在服务器执行完对应的存储需求后开始依次执行存储需求集合dem2中的存储需求直到存储需求集合dem2和存储需求集合dem3的所有存储需求被执行完毕;
[0092]
如果存储需求匹配组合集合dem'的大小为n,根据存储需求匹配组合集合dem'进行负载调度,每个服务器完成存储需求匹配组合集合dem'中的存储需求后开始依次选取并执行存储需求集合dem3中未被存储需求匹配组合集合dem'分配的存储需求,被服务器选取的存储需求从所述存储需求集合中移除,存储需求集合dem3的存储需求被执行完毕后执行存储需求集合dem2的存储需求。
[0093]
如图2所示是本发明一个实施例的一种大数据集群的存储优化系统结构示意框图。
[0094]
一种大数据集群的存储优化系统,所述系统包括:
[0095]
存储信息获取模块:包括一个运行在每个大数据集群内每个存储单元的背景程序,所述背景程序能获取当前存储单元的存储属性;
[0096]
存储需求接收模块:用于获取存储需求;
[0097]
数据处理模块:用于对存储单元的存储需求进行处理,计算存储单元的存储系数,根据存储需求并构建任务对获得任务对集合,输出任务匹配对集合;
[0098]
存储任务分配模块:用于根据任务对集合进行存储优化。
[0099]
所述基于一种大数据集群的存储优化系统可以运行于桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备中。所述一种大数据集群的存储优化系统,可运行的系统可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述例子仅仅是一种大数据集群的存储优化系统的示例,并不构成对一种大数据集群的存储优化系统的限定,可以包括比例子更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述一种大数据集群的存储优化系统还可以包括输入输出设备、网络接入设备、总线等。
[0100]
所称处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dex)、专用集成电路(application execific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述一种大数据集群的存储优化系统运行系统的控制中心,利用各种接口和线路连接整个一种大数据集群的存储优化系统可运行系统的各个部分。
[0101]
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述一种大数据集群的存储优化系统的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smayt media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0102]
尽管本发明的描述已经相当详尽且特别对几个所述实施例进行了描述,但其并非旨在局限于任何这些细节或实施例或任何特殊实施例,从而有效地涵盖本发明的预定范围。此外,上文以发明人可预见的实施例对本发明进行描述,其目的是为了提供有用的描述,而那些目前尚未预见的对本发明的非实质性改动仍可代表本发明的等效改动。
[0103]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0104]
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献