CN114201113B - 多对象存储桶的选择方法、装置及处理器 - Google Patents
多对象存储桶的选择方法、装置及处理器 Download PDFInfo
- Publication number
- CN114201113B CN114201113B CN202111523293.8A CN202111523293A CN114201113B CN 114201113 B CN114201113 B CN 114201113B CN 202111523293 A CN202111523293 A CN 202111523293A CN 114201113 B CN114201113 B CN 114201113B
- Authority
- CN
- China
- Prior art keywords
- object storage
- delay
- storage bucket
- bucket
- uploading
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供一种多对象存储桶的选择方法、装置、处理器及存储介质。方法包括:获取在设置的周期内,从用户端上传测试文件到各个对象存储桶的写入延迟时间;根据所述写入延迟时间,计算各个对象存储桶的上传延迟权重;根据所述上传延迟权重,利用权重随机算法,选择对应的对象存储桶,执行写入新文件操作。通过本申请的技术方案,通过比较各个对象存储桶的最近一段时间上传的平均延迟,调整每个对象存储桶所占的权重,再根据权重来选择本次写入的对象存储桶,尽可能的选中当前压力最小,延迟最低的对象存储桶,来实现整体的延迟和吞吐的提升。
Description
技术领域
本申请涉及数据存储技术领域,具体涉及一种多对象存储桶的选择方法、装置、处理器及机器可读存储介质。
背景技术
当前云原生文件系统已成为数据湖(Data Lake)方案中的一个热点,其基本形态就是该文件系统会有一个集中的元数据服务器用于存储文件的元数据,其数据会存放在一个或者多个对象存储的桶里,用来突破云服务厂商对于单个对象存储桶的iops或者带宽限制,来提升文件系统整体的性能。
现有的技术在写新文件的时候,需要先选定一个对象存储桶用于写入,如果配置了多个对象存储桶的话,一般都是采取轮询的策略,实现比较简单,但是没有考虑到不同的桶之间是有可能出现性能差异的,因为不同的桶可能存储在不同的云服务器机架,不同的机房,甚至不同的地域,会导致客户端到对象存储桶的写入延迟本来就不一致,而且在写入压力比较大时,会遇到请求被限流的情景,所以写入操作的延迟会出现比较大的抖动,整体的迟延和吞吐没有达到最优,甚至有可能出现桶临时故障,造成写入失败。
发明内容
本申请实施例的目的是提供一种多对象存储桶的选择方法、装置、存储介质及处理器。
为了实现上述目的,本申请第一方面提供一种多对象存储桶的选择方法,包括:获取在设置的周期内,从用户端上传测试文件到各个对象存储桶的写入延迟时间;根据所述写入延迟时间,计算各个对象存储桶的上传延迟权重;根据所述上传延迟权重,利用权重随机算法,选择对应的对象存储桶,执行写入新文件操作。
在本申请实施例中,根据所述写入延迟时间,计算各个对象存储桶的上传延迟权重包括:利用公式W=C*(1/t)计算各个对象存储桶的上传延迟权重,其中C为可变缩放系数,W为对象存储桶的上传延迟权重,t为写入延迟时间。
进一步地,如果写入延迟时间超过预设超时阈值时,设置所述对象存储桶的上传延迟权重为0。
进一步地,当设置所述对象存储桶的上传延迟权重为0时,判断该对象存储桶为故障对象存储桶,剔除写入列表。
进一步地,利用权重随机算法,选择对应的对象存储桶包括:根据各个对象存储桶的上传延迟权重,计算全部对象存储桶的上传延迟权重总和;计算各个对象存储桶的上传延迟权重比例,其中各个对象存储桶的上传延迟权重比例=各个对象存储桶的上传延迟权重/全部对象存储桶的上传延迟权重总和;根据所述各个对象存储桶的上传延迟权重比例,计算出各个对象存储桶覆盖区域;根据所述各个对象存储桶覆盖区域,划分出各个对象存储桶的范围;利用随机数生成器生成在零至全部对象存储桶的上传延迟权重总和之间的整数;选择所述整数落在所述范围的对象存储桶作为所述对应的对象存储桶。
本申请第二方面提供一种多对象存储桶的选择装置,包括:统计模块,用于获取在设置的周期内,从用户端上传文件到各个对象存储桶的写入延迟时间;计算模块,用于根据所述写入延迟时间,计算各个对象存储桶的上传延迟权重;选择模块,根据所述上传延迟权重,利用权重随机算法,选择对应的对象存储桶,执行写入新文件操作。
在本申请实施例中,所述计算模块被配置为:利用公式W=C*(1/t)计算各个对象存储桶的上传延迟权重,其中C为可变缩放系数,W为对象存储桶的上传延迟权重,t为写入延迟时间;如果写入延迟时间超过预设超时阈值时,设置所述对象存储桶的上传延迟权重为0,判断该对象存储桶为故障对象存储桶,剔除写入列表。
进一步地,所述选择模块被配置为:根据各个对象存储桶的上传延迟权重,计算全部对象存储桶的上传延迟权重总和;计算各个对象存储桶的上传延迟权重比例,其中各个对象存储桶的上传延迟权重比例=各个对象存储桶的上传延迟权重/全部对象存储桶的上传延迟权重总和;根据所述各个对象存储桶的上传延迟权重比例,计算出各个对象存储桶覆盖区域;根据所述各个对象存储桶覆盖区域,划分出各个对象存储桶的范围;利用随机数生成器生成在零至全部对象存储桶的上传延迟权重总和之间的整数;选择所述整数落在所述范围的对象存储桶作为所述对应的对象存储桶。
本申请第三方面提供一种处理器,被配置成执行上述的多对象存储桶的选择方法。
本申请第四方面提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令在被处理器执行时使得所述处理器被配置成执行上述的多对象存储桶的选择方法。
本申请第五方面提供一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现上述多对象存储桶的选择方法。
通过上述技术方案,在多个对象存储桶已经确定的前提下,在写入新文件的时候,通过比较各个对象存储桶的最近一段时间上传的平均延迟,调整每个对象存储桶所占的权重,再根据权重来选择本次写入的对象存储桶,尽可能的选中当前压力最小,延迟最低的对象存储桶,来实现整体的延迟和吞吐的提升。
本申请实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本申请实施例,但并不构成对本申请实施例的限制。在附图中:
图1示意性示出了根据本申请实施例的多对象存储桶的选择方法流程图;
图2示意性示出了根据本申请实施例的统计各个对象存储桶写入延迟示意图;
图3示意性示出了根据本申请实施例的计算上传权重的流程图;
图4示意性示出了根据本申请实施例的选择对象存储桶的示意图;
图5示意性示出了根据本申请实施例的多对象存储桶的选择装置的结构框图;
图6示意性示出了根据本申请实施例的计算机设备的内部结构图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解的是,此处所描述的具体实施方式仅用于说明和解释本申请实施例,并不用于限制本申请实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明,若本申请实施例中有涉及方向性指示(诸如上、下、左、右、前、后……),则该方向性指示仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
另外,若本申请实施例中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
本申请提供的多对象存储桶的选择方法的应用环境中,包括终端通过网络与服务器进行通信。其中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
图1示意性示出了根据本申请实施例的多对象存储桶的选择方法的流程示意图。
应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
如图1所示,在本申请一实施例中,提供了一种多对象存储桶的选择方法,本实施例主要以该方法应用于上述的终端(或服务器)来举例说明,包括以下步骤:
在S102,获取在设置的周期内,从用户端上传测试文件到各个对象存储桶的写入延迟时间。
根据实施例,在云原生文件系统的环境下,文件系统的元数据、数据都存储在公有云或私有云上的一种文件系统,用户只需要在本地执行挂载操作,即可提供本地的文件服务。其中,文件系统在启动前会提前准备好N个对象存储桶,这些对象存储桶都可以用于写入,所以在写入到来前需要指明写到哪个具体对象存储桶,每个对象存储桶都有全局唯一的一个名字。
在S104,根据所述写入延迟时间,计算各个对象存储桶的上传延迟权重。根据实施例,写延迟包括写入特定大小的数据到对象存储服务的耗时。写入延迟时间是指从用户端上传测试文件到各个对象存储桶的时间。公有云厂商为限制用户对于公共资源的挤占,通常会限制某个桶,或者用户的每秒最大请求次数(iops),每秒最大请求带宽(bw),如果用户写入的请求大到一定程度,就会满足该限速条件,从而显著的增加请求延迟。这就需要计算各个对象存储桶的上传延迟权重,具体实施例在图3中详细说明。
在S106,根据所述上传延迟权重,利用权重随机算法,选择对应的对象存储桶,执行写入新文件操作。
根据实施例,利用权重随机算法将在图4中详细说明,通过上述的计算方式选择出对应的对象存储桶的过程,可以及时探测出上传延迟时间大的写入对象存储桶,降低选择到上传延迟时间大的对象存储桶的概率,提升整体的性能。
图2示意性示出了根据本申请实施例的统计各个对象存储桶写入延迟示意图。
参见图2,当用户端需要向对象存储桶写入新的文件时,用户端在周期T内,该周期可以根据需要进行设置,可以是手动也可以根据算法自动设置调整周期T,同时上传一个样例小文件到各个对象存储桶(提前准备好N个对象存储桶)并统计上传时间t1到tN,N个时间数据用于后续处理。其中,小文件可以是例如4KB大小。
图3示意性示出了根据本申请实施例的计算上传权重的流程图。
参见图3,在S301,初始化对象存储桶列表L。可选地,通过API或者SDK来初始化,包括请求消息参数、请求消息元素和请求消息头。对象存储桶列表L包括提前准备好N个对象存储桶。
在S303,准备写入的样例小文件。参考图2所述的样例小文件,在此不赘述。
在S305,当S301和S303准备好开始进入无限循环。
在S307,通过多线程同时上传样例小文件(file)到对象存储桶列表L中的每个对象存储桶。
在S309,等待全部上传请求完成。
在S311,统计每个线程的执行时间(t1到tN)。
在S313,如果存在线程的执行时间(t1到tN),即写入延迟时间超过预设超时阈值时,则进入S314设置所述对象存储桶的上传延迟权重为0。其中,预设超时阈值根据实际情况调整,一般而言,合理设置为10秒。当设置所述对象存储桶的上传延迟权重为0时,判断该对象存储桶为故障对象存储桶,剔除写入列表,即对象存储桶列表L,避免反复向超时的对象存储桶写入。
当写入延迟时间没超过预设超时阈值时,则进入S315,计算各个对象存储桶的上传延迟权重(W1到WN),包括:利用公式W=C*(1/t)计算各个对象存储桶的上传延迟权重,其中C为可变缩放系数,W为对象存储桶的上传延迟权重,t为写入延迟时间。需要说明的是,合理范围而言,延迟时间t在50ms,那么1/t是一个理论上大于1的数值,C是可以根据情况改变,在动态刷新写入需求后,调整C的大小,理论上W权重是一个大于等于1的数,那么C的范围设定也是大于1的数值。这样,在S317就得到N个W的值,即权重W1到WN。
在S319,在计算结束后,进入休眠,休眠时间可根据实际情况设置。
在S320,退出无限循环,多对象存储桶的选择结束。当用户端之后有新的数据写入时,重复上述过程,动态的刷新对象存储桶的权重。
图4示意性示出了根据本申请实施例的选择对象存储桶的示意图。
参见图4,利用权重随机算法,选择对应的对象存储桶包括一下步骤:
步骤1,根据各个对象存储桶的上传延迟权重,计算全部对象存储桶的上传延迟权重总和Wsum。例如有5个对象存储桶的权重分别为W1等于2、W2等于4、W3等于8、W4等于2和W5等于4,总和Wsum为20。
步骤2,计算各个对象存储桶的上传延迟权重比例,其中各个对象存储桶的上传延迟权重比例=各个对象存储桶的上传延迟权重/全部对象存储桶的上传延迟权重总和。举例而言,在N个桶都没有被超延时剔除的情况下,那么各个对象存储桶的上传延迟权重比例为A1=W1/Wsum=2/20、A2为4/20、A3为8/20、A4为2/20,A5为4/20。
步骤3:根据所述各个对象存储桶的上传延迟权重比例,计算出各个对象存储桶覆盖区域。举例而言,对于对象存储桶1-5,对应覆盖区域为A1=0.1、A2=0.2、A3=0.4、A4=0.1、A5=0.2。
步骤4:根据所述各个对象存储桶覆盖区域,划分出各个对象存储桶的范围。可理解为A1在(0,2]、A2在(2,6]、A3在(6,14]、A4在(14,16]、A3在(16,20]。
步骤5:利用随机数生成器生成在零至全部对象存储桶的上传延迟权重总和之间的整数。理解为(0,20]中的一个随机整数。
步骤6:选择所述整数落在所述范围的对象存储桶作为所述对应的对象存储桶。例如,随机数为8时,则,落在A3在(6,14],选择A3对应的对象存储桶3。具体而言,可使用ThreadLocalRandom或者Random获取[0,20)内的随机数。然后使用二分查找法快速定位随机数处于哪个区间。
根据实施例,上述方法开销低,写入测试文件的带宽和io开销可以忽略不计。通过上传测试小文件获取对象存储桶的延迟,用于更新对象存桶的权重,并根据权重计算各上传对象存储桶的被选择的概率高的,使得选择的对象存储桶尽量是延迟最低的。并且对于上传超时的对象存储桶,可以设置上传权重为0,避免反复向超时的对象存储桶写入。
在一个实施例中,如图5所示,提供了一种多对象存储桶选择的装置500,包括统计模块501、计算模块503以及选择模块505,其中:
统计模块501,用于获取在设置的周期内,从用户端上传文件到各个对象存储桶的写入延迟时间。
计算模块503,用于根据写入延迟时间,计算各个对象存储桶的上传延迟权重。
选择模块505,用于根据上传延迟权重,利用权重随机算法,选择对应的对象存储桶,执行写入新文件操作。
根据实施例,计算模块503被配置为:利用公式W=C*(1/t)计算各个对象存储桶的上传延迟权重,其中C为可变缩放系数,W为对象存储桶的上传延迟权重,t为写入延迟时间。如果写入延迟时间超过预设超时阈值时,设置对象存储桶的上传延迟权重为0,判断该对象存储桶为故障对象存储桶,剔除写入列表。
根据实施例,选择模块505被配置为:
根据各个对象存储桶的上传延迟权重,计算全部对象存储桶的上传延迟权重总和;计算各个对象存储桶的上传延迟权重比例,其中各个对象存储桶的上传延迟权重比例=各个对象存储桶的上传延迟权重/全部对象存储桶的上传延迟权重总和;根据各个对象存储桶的上传延迟权重比例,计算出各个对象存储桶覆盖区域;根据各个对象存储桶覆盖区域,划分出各个对象存储桶的范围;利用随机数生成器生成在零至全部对象存储桶的上传延迟权重总和之间的整数;选择整数落在范围的对象存储桶作为对应的对象存储桶。
多对象存储桶选择的装置所能够达到的技术效果同上述多对象存储桶选择的方法,在此不赘述。
所述多对象存储桶选择装置包括处理器和存储器,上述统计模块501、计算模块503、选择模块505均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序模块中实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现对多对象存储桶的选择方法。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现上述多对象存储桶的选择方法。
本申请实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述多对象存储桶的选择方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器A01、网络接口A02、存储器(图中未示出)和数据库(图中未示出)。其中,该计算机设备的处理器A01用于提供计算和控制能力。该计算机设备的存储器包括内存储器A03和非易失性存储介质A04。该非易失性存储介质A04存储有操作系统B01、计算机程序B02和数据库(图中未示出)。该内存储器A03为非易失性存储介质A04中的操作系统B01和计算机程序B02的运行提供环境。该计算机设备的数据库用于存储多对象存储桶的选择数据。该计算机设备的网络接口A02用于与外部的终端通过网络连接通信。该计算机程序B02被处理器A01执行时以实现一种多对象存储桶的选择方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的多对象存储桶的选择装置可以实现为一种计算机程序的形式,计算机程序可在如图6所示的计算机设备上运行。计算机设备的存储器中可存储组成该多对象存储桶的选择装置的各个程序模块,比如,图5所示的统计模块501、计算模块503和选择模块505。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的多对象存储桶的选择方法中的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (8)
1.一种多对象存储桶的选择方法,其特征在于,所述方法包括:
获取在设置的周期内,从用户端上传测试文件到各个对象存储桶的写入延迟时间;
根据所述写入延迟时间,计算各个对象存储桶的上传延迟权重;
根据所述上传延迟权重,利用权重随机算法,选择对应的对象存储桶,执行写入新文件操作,
所述选择对应的对象存储桶包括:
根据各个对象存储桶的上传延迟权重,计算全部对象存储桶的上传延迟权重总和;
计算各个对象存储桶的上传延迟权重比例,其中各个对象存储桶的上传延迟权重比例=各个对象存储桶的上传延迟权重/全部对象存储桶的上传延迟权重总和;
根据所述各个对象存储桶的上传延迟权重比例,计算出各个对象存储桶覆盖区域;
根据所述各个对象存储桶覆盖区域,划分出各个对象存储桶的范围;
利用随机数生成器生成在零至全部对象存储桶的上传延迟权重总和之间的整数;
选择所述整数落在所述范围的对象存储桶作为所述对应的对象存储桶。
2.根据权利要求1所述的方法,其特征在于,根据所述写入延迟时间,计算各个对象存储桶的上传延迟权重包括:
利用公式W=C*(1/t)计算各个对象存储桶的上传延迟权重,其中
C为可变缩放系数,W为对象存储桶的上传延迟权重,t为写入延迟时间。
3.根据权利要求2所述的方法,其特征在于,
如果写入延迟时间超过预设超时阈值时,设置所述对象存储桶的上传延迟权重为0;
当设置所述对象存储桶的上传延迟权重为0时,判断该对象存储桶为故障对象存储桶,剔除写入列表。
4.一种多对象存储桶的选择装置,其特征在于,所述装置包括:
统计模块,用于获取在设置的周期内,从用户端上传文件到各个对象存储桶的写入延迟时间;
计算模块,用于根据所述写入延迟时间,计算各个对象存储桶的上传延迟权重;
选择模块,根据所述上传延迟权重,利用权重随机算法,选择对应的对象存储桶,执行写入新文件操作,
所述选择模块被配置为:
根据各个对象存储桶的上传延迟权重,计算全部对象存储桶的上传延迟权重总和;
计算各个对象存储桶的上传延迟权重比例,其中各个对象存储桶的上传延迟权重比例=各个对象存储桶的上传延迟权重/全部对象存储桶的上传延迟权重总和;
根据所述各个对象存储桶的上传延迟权重比例,计算出各个对象存储桶覆盖区域;
根据所述各个对象存储桶覆盖区域,划分出各个对象存储桶的范围;
利用随机数生成器生成在零至全部对象存储桶的上传延迟权重总和之间的整数;
选择所述整数落在所述范围的对象存储桶作为所述对应的对象存储桶。
5.根据权利要求4所述的装置,其特征在于,所述计算模块被配置为:
利用公式W=C*(1/t)计算各个对象存储桶的上传延迟权重,其中
C为可变缩放系数,W为对象存储桶的上传延迟权重,t为写入延迟时间。
6.根据权利要求5所述的装置,其特征在于,所述计算模块还被配置为:
如果写入延迟时间超过预设超时阈值时,设置所述对象存储桶的上传延迟权重为0;
当设置所述对象存储桶的上传延迟权重为0时,判断该对象存储桶为故障对象存储桶,剔除写入列表。
7.一种用于多对象存储桶选择的设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序,以实现根据权利要求1-3中任意一项所述的多对象存储桶的选择方法。
8.一种机器可读存储介质,该机器可读存储介质上存储有指令,其特征在于,该指令在被处理器执行时使得所述处理器被配置成执行根据权利要求1至3中任一项所述的多对象存储桶的选择方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111523293.8A CN114201113B (zh) | 2021-12-13 | 2021-12-13 | 多对象存储桶的选择方法、装置及处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111523293.8A CN114201113B (zh) | 2021-12-13 | 2021-12-13 | 多对象存储桶的选择方法、装置及处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114201113A CN114201113A (zh) | 2022-03-18 |
CN114201113B true CN114201113B (zh) | 2023-06-02 |
Family
ID=80653417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111523293.8A Active CN114201113B (zh) | 2021-12-13 | 2021-12-13 | 多对象存储桶的选择方法、装置及处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114201113B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112148209A (zh) * | 2019-06-28 | 2020-12-29 | 爱思开海力士有限公司 | 存储器系统、存储器控制器及其操作方法 |
CN112181283A (zh) * | 2019-07-05 | 2021-01-05 | 爱思开海力士有限公司 | 存储器系统、存储器控制器及操作方法 |
CN112698784A (zh) * | 2019-10-23 | 2021-04-23 | 爱思开海力士有限公司 | 存储器系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11188264B2 (en) * | 2020-02-03 | 2021-11-30 | Intel Corporation | Configurable write command delay in nonvolatile memory |
-
2021
- 2021-12-13 CN CN202111523293.8A patent/CN114201113B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112148209A (zh) * | 2019-06-28 | 2020-12-29 | 爱思开海力士有限公司 | 存储器系统、存储器控制器及其操作方法 |
CN112181283A (zh) * | 2019-07-05 | 2021-01-05 | 爱思开海力士有限公司 | 存储器系统、存储器控制器及操作方法 |
CN112698784A (zh) * | 2019-10-23 | 2021-04-23 | 爱思开海力士有限公司 | 存储器系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114201113A (zh) | 2022-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11729073B2 (en) | Dynamic scaling of storage volumes for storage client file systems | |
US10439937B2 (en) | Service addressing in distributed environment | |
CN109218355B (zh) | 负载均衡引擎,客户端,分布式计算系统以及负载均衡方法 | |
US11010188B1 (en) | Simulated data object storage using on-demand computation of data objects | |
US20200110707A1 (en) | Page cache write logging at block-based storage | |
US20160259802A1 (en) | Adaptive data striping and replication across multiple storage clouds for high availability and performance | |
US20150261673A1 (en) | Dynamically modifying durability properties for individual data volumes | |
US8667089B2 (en) | Apparatus and method for executing an application | |
US10356150B1 (en) | Automated repartitioning of streaming data | |
JP5934445B2 (ja) | 適応可能なサービスタイムアウト | |
CN109032803B (zh) | 数据处理方法和装置、客户端 | |
US20170153909A1 (en) | Methods and Devices for Acquiring Data Using Virtual Machine and Host Machine | |
CN109145053B (zh) | 数据处理方法和装置、客户端、服务器 | |
CN106657182B (zh) | 云端文件处理方法和装置 | |
CN114201113B (zh) | 多对象存储桶的选择方法、装置及处理器 | |
US10812408B1 (en) | Preventing concentrated selection of resource hosts for placing resources | |
CN108628551B (zh) | 一种数据处理方法及装置 | |
CN112910988A (zh) | 一种资源获取方法及资源调度装置 | |
US11010349B2 (en) | File system with distributed entity state | |
CN111427851A (zh) | 一种hdfs跨外部存储系统多层级存储效率优化的方法和设备 | |
US11029864B2 (en) | Method and system for dynamic backup policy handshaking | |
US10761891B2 (en) | Workload management with data access awareness by aggregating file locality information in a computing cluster | |
Shan et al. | Heterogeneous MacroTasking (HeMT) for Parallel Processing in the Public Cloud | |
CN115033447A (zh) | 一种Kubernetes容器水平弹性伸缩能力提升方法和装置 | |
CN113742383A (zh) | 数据存储方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |