CN114465957A - 一种数据写入方法及装置 - Google Patents
一种数据写入方法及装置 Download PDFInfo
- Publication number
- CN114465957A CN114465957A CN202111643723.XA CN202111643723A CN114465957A CN 114465957 A CN114465957 A CN 114465957A CN 202111643723 A CN202111643723 A CN 202111643723A CN 114465957 A CN114465957 A CN 114465957A
- Authority
- CN
- China
- Prior art keywords
- data
- pool
- time period
- pools
- writing
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000003860 storage Methods 0.000 claims abstract description 54
- 238000013500 data storage Methods 0.000 claims description 39
- 238000012545 processing Methods 0.000 claims description 38
- 238000012544 monitoring process Methods 0.000 claims description 5
- 230000009467 reduction Effects 0.000 abstract description 4
- 230000000875 corresponding effect Effects 0.000 description 67
- 238000010586 diagram Methods 0.000 description 14
- 230000003044 adaptive effect Effects 0.000 description 11
- 238000004590 computer program Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000004140 cleaning Methods 0.000 description 6
- WGZDBVOTUVNQFP-UHFFFAOYSA-N N-(1-phthalazinylamino)carbamic acid ethyl ester Chemical compound C1=CC=C2C(NNC(=O)OCC)=NN=CC2=C1 WGZDBVOTUVNQFP-UHFFFAOYSA-N 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000003399 chemotactic effect Effects 0.000 description 1
- 230000035605 chemotaxis Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000003862 health status Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- YHXISWVBGDMDLQ-UHFFFAOYSA-N moclobemide Chemical compound C1=CC(Cl)=CC=C1C(=O)NCCN1CCOCC1 YHXISWVBGDMDLQ-UHFFFAOYSA-N 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/21—Flow control; Congestion control using leaky-bucket
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据写入方法及装置,用以解决单一数据池容量小导致的性能减低、可扩展性弱的问题。本申请提供的方法包括:获取待写入存储桶的待写入数据,其中,所述存储桶包括元数据池和多个数据池;从调度信息获取待写入数据的时间所处的第一时间段,并获取在所述第一时间段所述多个数据池分别对应写入权重;根据所述多个数据池分别对应的写入权重将所述待写入数据写入所述存储桶中的至少一个数据池,以及将所述待写入数据的元数据写入所述元数据池,所述元数据为描述存储对象数据属性的信息。
Description
技术领域
本申请涉及分布式存储领域,尤其涉及一种数据写入方法及装置。
背景技术
随着大数据时代的快速发展,存储数据量呈现爆炸式增长。面对海量的数据存储、处理需求,对存储海量对象数据的存储设备、系统和方法提出了更高的要求与挑战。目前CEPH的对象存储桶和数据池是一一对应的,对象的读写只能在一个数据池中,即存储对象的数据部分和元数据都存储在数据池中。而单一数据池存在集群节点少,容量小等问题,当该数据池中的存储桶写满后,在进行扩容时,需要加机架进行扩容,出现可扩展性弱的问题。此外,对单一数据池进行扩容时,也会出现性能降低和可靠性降低的问题,无法平滑扩容。
发明内容
本申请实施例提供了一种数据写入方法及装置,用以解决单一数据池容量小导致的性能减低、可扩展性弱的问题。
第一方面,本申请实施例提供了一种数据写入方法,包括:
获取待写入存储桶的待写入数据,其中,所述存储桶包括元数据池和多个数据池;
从调度信息获取待写入数据的时间所处的第一时间段,并获取在所述第一时间段所述多个数据池分别对应写入权重;
其中,所述调度信息中包括多个时间段中每个时间段内,所述多个数据池分别对应的写入权重,所述多个时间段包括所述第一时间段,所述第一时间段内所述多个数据池分别对应的写入权重是根据历史设定时长内的第一时间段统计的每个数据池的数据存储情况参数来确定的;
根据所述多个数据池分别对应的写入权重将所述待写入数据写入所述存储桶中的至少一个数据池,以及将所述待写入数据的元数据写入所述元数据池,所述元数据为描述存储对象数据属性的信息。
基于上述方案,本申请建立单独的元数据池用于存储元数据,改变当前同一存储桶和数据池的一一对应关系,支持同一存储桶配置多个数据池,以提升存储桶的可扩展性,在不降低性能的情况下使容量平滑扩展。根据多个数据池分别对应的写入权重,将业务调度到低负载的存储池,提升系统性能,同时解决存储桶扩容时可靠性不足的问题。
在一些实施例中,所述数据存储情况参数包括如下至少一项:数据池的剩余容量、数据池对应的内存负载量、数据池的写入数据量、数据池对应的网络状态参数。
基于上述方案,获取各个数据池的数据存储情况参数,以便于根据存储情况参数确定多个数据池的业务负载。针对这些参数进行自适应学习,预测性能趋势,根据这些预测进行流量调度,从而达到更好的性能和更高的稳定性。
一种可能的实现方式中,所述方法还包括:周期性的监测所述多个数据池中每个数据池在所述多个时间段分别对应的数据存储情况参数;根据所述多个时间段中第一时间段监测的所述多个数据池的数据存储情况参数更新所述调度信息中所述第一时间段的写入权重。
基于上述方案,可以根据各个时间段的数据池的负载以及数据池的写入权重,调度待写入数据,提升业务的服务质量。
一些实施例中,根据所述多个时间段中第一时间段监测的所述多个数据池的数据存储情况参数更新所述调度信息中所述第一时间段的写入权重,包括:
根据第i个数据池对应的内存负载量、第i个数据池的输入输出IO数据量或者第i个数据池对应的网络状态参数中的至少一项确定所述第i个数据池的负载参数值;i大于0且小于或者等于所述多个数据池的数量;
确定第i个数据池的剩余容量占所述存储桶的总剩余容量的剩余容量比;
根据所述多个数据池分别对应的负载参数值以及剩余容量比进行拟合处理得到每个数据池的写入权重。
基于上述方案,根据数据池的负载参数值以及剩余容量比进行拟合得到数据池的写入权重,多数据池读写可以根据自适应负载进行均衡调度,将待写入数据根据写入权重写入数据池中,从而提升数据池的系统性能,同时解决存储桶扩容时可靠性不足的问题。
第二方面,本申请实施例提供了一种数据写入装置,包括获取单元和处理单元;
所述获取单元,用于获取待写入存储桶的待写入数据,其中,所述存储桶包括元数据池和多个数据池;
所述处理单元,用于从调度信息获取待写入数据的时间所处的第一时间段,并获取在所述第一时间段所述多个数据池分别对应写入权重;
其中,所述调度信息中包括多个时间段中每个时间段内,所述多个数据池分别对应的写入权重,所述多个时间段包括所述第一时间段,所述第一时间段内所述多个数据池分别对应的写入权重是根据历史设定时长内的第一时间段统计的每个数据池的数据存储情况参数来确定的;
所述处理单元,还用于根据所述多个数据池分别对应的写入权重将所述待写入数据写入所述存储桶中的至少一个数据池,以及将所述待写入数据的元数据写入所述元数据池,所述元数据为描述存储对象数据属性的信息。
一些实施例中,所述数据存储情况参数包括如下至少一项:数据池的剩余容量、数据池对应的内存负载量、数据池的写入数据量、数据池对应的网络状态参数。
一些实施例中,所述处理单元,还用于:周期性的监测所述多个数据池中每个数据池在所述多个时间段分别对应的数据存储情况参数;根据所述多个时间段中第一时间段监测的所述多个数据池的数据存储情况参数更新所述调度信息中所述第一时间段的写入权重。
一些实施例中,所述处理单元,在根据所述多个时间段中第一时间段监测的所述多个数据池的数据存储情况参数更新所述调度信息中所述第一时间段的写入权重时,具体用于:
根据第i个数据池对应的内存负载量、第i个数据池的输入输出IO数据量或者第i个数据池对应的网络状态参数中的至少一项确定所述第i个数据池的负载参数值;i大于0且小于或者等于所述多个数据池的数量;
确定第i个数据池的剩余容量占所述存储桶的总剩余容量的剩余容量比;
根据所述多个数据池分别对应的负载参数值以及剩余容量比进行拟合处理得到每个数据池的写入权重。
第三方面,本申请实施例提供了一种数据写入装置,包括存储器以及处理器;
所述存储器,用于存储程序指令;
所述处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行第一方面以及第一方面不同实现方式所述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行第一方面以及第一方面不同实现方式所述的方法。
另外,第二方面和第三方面中任一种实现方式所带来的技术效果可参见第一方面不同实现方式所带来的技术效果,此处不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种数据写入的业务系统的架构示意图;
图2为本申请实施例提供的一种元数据和数据处理系统的示意图;
图3为本申请实施例提供的一种自适应IO调度系统的示意图;
图4为本申请实施例提供的一种数据写入方法的流程示意图;
图5为本申请实施例提供的一种数据写入装置示意图;
图6为本申请实施例提供的另一种数据写入装置示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了便于理解本申请实施例提出的方案,首先对本申请涉及的技术用语进行介绍:
存储对象:包括对象数据部分和元数据部分,其中,元数据为描述数据属性的信息,存储对象的数据存储到数据池中。
存储桶(Bucket),是对象的载体,可理解为存放存储对象的容器,存储桶可以存储任意数量的存储对象。对象以扁平化结构存放在存储桶中,存储对象可以存放到单个或多个存储桶中。
数据池:用于存放存储对象的数据部分。
元数据池:用于存放存储对象的元数据部分,根据存储对象的元数据从数据池中的相应位置获取存储对象的数据部分。
为解决目前存储桶的可扩展性弱的问题,本申请实施例提供了一种数据写入的方法及装置,建立单独的元数据池用于存储元数据,改变当前同一存储桶和数据池的一一对应关系,支持同一存储桶配置多个数据池,以提升存储桶的可扩展性。根据存储桶的流量以及多个数据池的负载情况,确定各个时间段的业务负载以及各个数据池的权重比。根据权重比确定存储对象的数据部分写入的数据池,并将存储对象的元数据写入元数据池。
图1示出了本申请实施例提供的一种数据写入的业务系统的架构示意图,应理解,本申请实施例并不限于图1所示的系统中,此外,图1中的装置可以是硬件,也可以是从功能上划分的软件或者以上二者结合后的结构。如图1所示,本申请提供的业务系统中包括元数据和数据处理系统110以及自适应IO调度系统120。元数据和数据处理系统110可以是CEPH分布式文件系统,目前CEPH分布式文件系统中,存储桶与数据池是一一对应的。存储桶接收到存储对象后,将存储对象存储到数据池中。本申请实施例中,存储桶中可以包括一个元数据池和多个数据池,图1中以一个存储桶包括一个元数据池和三个数据池为例。元数据和数据处理系统110是将CEPH中对象存储的IO模式改进为元数据在单独的元数据池进行读写,同一存储桶支持与多个数据池读写。对象的数据部分根据对应的多数据池的权重选择数据池进行写入。在原有CEPH系统的IO流程基础上增加工具设置同一存储桶的各数据池以及对应的写入权重,然后另一个线程根据自适应IO调度系统120得出的预测各数据池的写入权重来更新各数据池原来的写入权重。当有对象写入集群时,根据这些数据池的写入权重去确定该对象数据部分写入的数据池,最后再将元数据写入元数据池,如图2所示。需要说明的是,元数据和数据处理系统110中存储桶的数量本申请实施例不作具体限定。自适应IO调度系统120的功能可以包括获取监测的数据、预处理数据以及回归训练得出预测结果。获取监测的数据,包括数据池的IO性能、数据池的健康状况、数据池的容量、业务负载情况等数据。预处理数据主要包括对获取的数据进行数据清洗,数据同趋化,达到回归训练的标准。回归训练得出预测结果包括选取对应的模型,多参数拟合,自适应配置等得到某时间段的各个数据池的写入权重,从而来提高业务负载的服务质量(Quality of Service,QoS),如图3所示。
本申请实施例提供了一种数据写入方法,图4示例性的示出了数据写入方法的流程,该流程可以由服务器来执行。数据写入方法流程包括:
401,获取待写入存储桶的待写入数据。
一些场景中,存储桶可以包括一个元数据池和多个数据池。数据池可以用pool表示,若存储桶中包括n个数据池,则n个数据池可以分别用pool0,pool1,pool2,...,pooln-1表示,其中n为正整数。数据池用于存储待写入数据,元数据池用于存储待写入数据的属性信息。
402,从调度信息获取待写入数据的时间所处的第一时间段,并获取在第一时间段多个数据池分别对应的写入权重。
一些实施例中,调度信息中包括多个时间段中每个时间段内,多个数据池分别对应的写入权重,所述多个时间段包括所述第一时间段,所述第一时间段内所述多个数据池分别对应的写入权重是根据历史设定时长内的第一时间段统计的每个数据池的数据存储情况参数来确定的。一些场景中,数据池的数据存储情况参数包括数据池的剩余容量、数据池对应的内存负载量、数据池的写入数据量、数据池对应的网络状态参数。例如,数据池对应的内存负载量可以包括业务负载情况,数据池的写入量可以包括数据池的IO性能参数。数据池对应的网络状态参数可以包括数据池的健康状态,例如网络的传输速度或者数据池对应的硬盘是否损坏进而影响数据池的性能。
一些实施例中,自适应IO调度系统周期性的监测多个数据池中每个数据池在多个时间段分别对应的数据存储情况参数,根据多个时间段中第一时间段监测的多个数据池的数据存储情况参数更新调度信息中所述第一时间段的写入权重。需要说明的是,这里是以第一时间段为例,自适应IO调度系统可以周期性的更新各个时间段对应的写入权重。具体地,当存储桶中包括n个数据池时,自适应IO调度系统可以按照设定周期监测n个数据池在多个时间段分别对应的数据存储情况参数,比如说数据池的剩余容量、数据池对应的业务负载、数据池的IO流量、数据池对应的网络状态参数。所述设定周期可以是1天、一周或者一个月、3个月等,本申请对此不作具体限定。例如,设定周期可以是1个月,可以将一天划分为多个时间段,针对30天内统计每天同一时间段的各个数据池的数据存储情况参数,然后根据这个参数计算各个数据池的写入权重。
以第i个数据池为例,根据第i个数据池对应的内存负载量、第i个数据池的输入输出IO数据量或者第i个数据池对应的网络状态参数中的至少一项确定所述第i个数据池的负载参数值;i大于0且小于或者等于n。
一些实施例中,第i个数据池的剩余容量可以用Ri-1表示,则n个数据池的剩余容量可以分别表示为R0,R1,…,Rn-1。根据n个数据池的剩余容量可以确定每个数据池剩余容量占存储桶中全部数据池剩余容量的百分比,以第i个数据池为例,则第i个数据池的剩余容量比满足如下公式所示的条件:
其中,Ai为第i个数据池的剩余容量比,Ri为第i个数据池的剩余容量,i大于0且小于或者等于n。
一些实施例中,当获取到每个数据池在多个时间段分别对应的数据存储情况参数后,可以对获取到的数据进行数据清洗和数据同趋化等数据处理,以获得准确的数据存储情况参数。其中,数据清洗利用数理统计、数据挖掘或预定义的清理规则等有关技术将数据转化为满足数据质量要求的数据,可以包括检查数据一致性、处理无效值和缺失值等。数据同趋化处理主要解决不同性质指标直接加总不能正确反应不同作用力的综合结果,因此先改变逆指标数据性质,使所有指标对目标的作用力同趋化,进而能够计算出正确结果。例如,当获取到n个数据池在多个时间段分别对应的数据存储情况参数,比如说数据池的剩余容量、数据池对应的业务负载、数据池的IO流量、数据池对应的网络状态参数后,对获得的数据进行数据处理。具体地,对获得的数据参数进行数据清洗,以第一时间段为例,通过清理获得第一时间段的每个数据池的数据存储情况参数,然后对获得的数据进行数据一致性检查、处理无效值和缺失值等,并对处理后的数据进行数据同趋化。以第i个数据池为例,在进行数据清洗和数据处理后,获得第i个数据池的数据存储情况参数。根据第i个数据池对应的内存负载量、第i个数据池的输入输出IO数据量或者第i个数据池对应的网络状态参数中的至少一项确定所述第i个数据池的负载参数值。例如,第i个数据池的内存负载量可以用MEMi表示,第i个数据池的输入输出IO数据量可以用IOi表示,第i个数据池的网络状态参数可以用Ni表示,则第i个数据池的负载参数值满足如下公式所示的条件:
LOADi=ω1×MEMi+ω2×IOi+ω3×Ni;
其中,LOADi表示第i个数据池的负载参数值,ω1,ω2,ω3为参数值,可以根据不同情况灵活配置,比如ω1=0.5,ω2=0.3,ω3=0.2。
一些实施例中,可以通过两种时间序列模型(ARIMA)对总的业务流量序列和残差进行数学建模并做出相关预测,得到各时间段的流量预测,以历史设定时长内第一时间段为例,则第一时间段的总流量可以表示为:
其中,Total_Io为第一时间段的总流量,IOi为第一时间段内n个数据池中第i个数据池的输入输出IO数据量。
一些实施例中,在计算每个数据池分别对应的写入权重时,可以选取相应的模型对多个数据池分别对应的负载参数值、剩余容量比以及剩余容量比进行拟合,获得第一时间段每个数据池的写入权重。示例性地,数据池的写入权重满足如下公式所示的条件:
其中,W0,W1,…,Wn-1分别表示n个数据池的写入权重,LOADi表示n个数据池中第i个数据池的负载,MAXi表示第i个数据池的最大负载,Ai表示第i个数据池的剩余容量比。通过上式(1)获得(W0,W1,…,Wn-1)的组合使得TotalA最大化。
在一些实施例中,可以调大剩余容量较大的数据池的写入权重。例如,当存储桶中包括3个数据池时,3个数据池的剩余容量比分别为0.6、0.3和0.1。在计算数据池的写入权重时,可以将剩余容量比为0.6的数据池1的写入权重设置为较大的值。但是调整数据池1的写入权重时,也要考虑数据池1在根据写入权重分配IO流量时,数据池1的负载不能超过数据池1的最大负载。根据上式(1)进行拟合计算,获得3个数据池的最佳写入权重组合(W0,W1,W2),使得TotalA最大化。
一些实施例中,在计算每个数据池对应的写入权重时,可以通过自适应配置得到第一时间段内各个数据池的写入权重。例如,当某个数据池的剩余容量比较大时,可以调大该数据池的写入权重,使该数据池能够写入更多的数据。
403,根据多个数据池分别对应的写入权重将待写入数据写入存储桶中的至少一个数据池,以及将待写入数据的元数据写入元数据池。
一些实施例中,当确定第一时间段内多个数据池分别对应的写入权重后,可以按照各个数据池对应的写入权重将待写入数据写入数据池中,并将待写入数据的元数据写入元数据池中。其中,元数据为描述数据的数据,主要是描述数据属性的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。
在一些实施例中,在确定n个数据池的写入权重后,可以更新调度信息中n个数据池的写入权重,根据待写入数据的数据量以及各个数据池的写入权重,可以确定每个数据池的数据输出IO流量。以第i个数据池为例,则第i个数据池的输入输出IO流量满足如下公式所示的条件:
I_Oi=TotalIo×Wi;
其中,I_Oi表示确定的第i个数据池的输入输出IO流量,TotalIo为待写入数据的数据量,Wi为第i个数据池的写入权重,i大于0且小于或者等于n。
作为一种举例,存储桶中共包括3个数据池以及一个元数据池,根据3个数据池的数据存储情况参数确定第一时间段内3个数据池分别对应的写入权重为0.2、0.5和0.3,当预测存储桶对应的接口的总流量为10GB/s时,则3个数据池分担的IO流量分别为2GB/s、5GB/s以及3GB/s。将待写入数据写入数据池后,并将待写入数据的元数据分别写入元数据池中。
一些场景中,当待写入数据的数据量大于第一设定阈值时,可以将待写入数据按照各个数据池的写入权重分别写入对应的数据池中,并分别将写入数据池中的数据的元数据写入元数据池中。另一些场景中,当待写入数据的数据量小于第二设定阈值时,可以将待写入数据写入容量剩余比以及负载最低的数据池中。
在一些实施例中,当创建新的存储桶后,可以根据自适应IO调度系统计算存储桶中各个数据池在各个时间段的权重,并根据设定周期修改同一存储桶中各个数据池对应的写入权重。当接收到待写入数据后,可以根据各个数据池的写入权重计算待写入的数据池,将待写入数据按照写入权重写入各个数据池中,将待写入数据的元数据写入元数据池中。
在另一些实施例中,当创建新的存储桶后,可以将存储桶中各个数据池的原始容量比作为写入权重,当接收到待写入数据时,可以按照各个数据池的原始容量比写入待写入数据。一种场景中,当存储桶中包括3个数据池时,3个数据池的原始容量比为3:1:2时,可以按照3:1:2的写入权重将待写入数据写入存储桶的各个数据池中。
本申请增加单独的元数据池用于存储元数据,同一存储桶适配自定义的多数据池,从而提升元数据的读写性能,同时平滑扩展同一存储桶的存储容量。同时根据业务负载,多个数据池的性能数据,进行自适应的学习,预测各个时间段的业务负载以及最佳的数据池的写入权重组合,调度业务负载,提升业务的服务质量。
基于相同的技术构思,图5示例性的示出了本申请实施例提供的一种数据写入装置500,该装置500可以执行上述数据写入方法中得各个步骤,为了避免重复,此处不再详述。该装置500包括获取单元501和处理单元502。
获取单元501,用于获取待写入存储桶的待写入数据,其中,所述存储桶包括元数据池和多个数据池;
处理单元502,用于从调度信息获取待写入数据的时间所处的第一时间段,并获取在所述第一时间段所述多个数据池分别对应写入权重;
其中,所述调度信息中包括多个时间段中每个时间段内,所述多个数据池分别对应的写入权重,所述多个时间段包括所述第一时间段,所述第一时间段内所述多个数据池分别对应的写入权重是根据历史设定时长内的第一时间段统计的每个数据池的数据存储情况参数来确定的;
所述处理单元502,还用于根据所述多个数据池分别对应的写入权重将所述待写入数据写入所述存储桶中的至少一个数据池,以及将所述待写入数据的元数据写入所述元数据池,所述元数据为描述存储对象数据属性的信息。
一些实施例中,所述数据存储情况参数包括如下至少一项:数据池的剩余容量、数据池对应的内存负载量、数据池的写入数据量、数据池对应的网络状态参数。
一些实施例中,所述处理单元502,还用于:周期性的监测所述多个数据池中每个数据池在所述多个时间段分别对应的数据存储情况参数;
根据所述多个时间段中第一时间段监测的所述多个数据池的数据存储情况参数更新所述调度信息中所述第一时间段的写入权重。
一些实施例中,所述处理单元502,在根据所述多个时间段中第一时间段监测的所述多个数据池的数据存储情况参数更新所述调度信息中所述第一时间段的写入权重时,具体用于:
根据第i个数据池对应的内存负载量、第i个数据池的输入输出IO数据量或者第i个数据池对应的网络状态参数中的至少一项确定所述第i个数据池的负载参数值;i大于0且小于或者等于所述多个数据池的数量;
确定第i个数据池的剩余容量占所述存储桶的总剩余容量的剩余容量比;
根据所述多个数据池分别对应的负载参数值以及剩余容量比进行拟合处理得到每个数据池的写入权重。
基于相同的技术构思,图6示例性的示出了本申请实施例提供的一种数据写入装置600,该装置600可以执行上述数据写入方法中得各个步骤,为了避免重复,此处不再详述。该装置600包括存储器601和处理器602。
存储器601,用于存储程序指令;
处理器602,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述数据写入方法。
在本申请实施例中,处理器602可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器601作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器601可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器601是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器601还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种数据写入方法,其特征在于,包括:
获取待写入存储桶的待写入数据,其中,所述存储桶包括元数据池和多个数据池;
从调度信息获取待写入数据的时间所处的第一时间段,并获取在所述第一时间段所述多个数据池分别对应写入权重;
其中,所述调度信息中包括多个时间段中每个时间段内,所述多个数据池分别对应的写入权重,所述多个时间段包括所述第一时间段,所述第一时间段内所述多个数据池分别对应的写入权重是根据历史设定时长内的第一时间段统计的每个数据池的数据存储情况参数来确定的;
根据所述多个数据池分别对应的写入权重将所述待写入数据写入所述存储桶中的至少一个数据池,以及将所述待写入数据的元数据写入所述元数据池,所述元数据为描述存储对象数据属性的信息。
2.如权利要求1所述的方法,其特征在于,所述数据存储情况参数包括如下至少一项:
数据池的剩余容量、数据池对应的内存负载量、数据池的写入数据量、数据池对应的网络状态参数。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
周期性的监测所述多个数据池中每个数据池在所述多个时间段分别对应的数据存储情况参数;
根据所述多个时间段中第一时间段监测的所述多个数据池的数据存储情况参数更新所述调度信息中所述第一时间段的写入权重。
4.如权利要求3所述的方法,其特征在于,根据所述多个时间段中第一时间段监测的所述多个数据池的数据存储情况参数更新所述调度信息中所述第一时间段的写入权重,包括:
根据第i个数据池对应的内存负载量、第i个数据池的输入输出IO数据量或者第i个数据池对应的网络状态参数中的至少一项确定所述第i个数据池的负载参数值;i大于0且小于或者等于所述多个数据池的数量;
确定第i个数据池的剩余容量占所述存储桶的总剩余容量的剩余容量比;
根据所述多个数据池分别对应的负载参数值以及剩余容量比进行拟合处理得到每个数据池的写入权重。
5.一种数据写入装置,其特征在于,包括获取单元和处理单元;
获取单元,用于获取待写入存储桶的待写入数据,其中,所述存储桶包括元数据池和多个数据池;
所述处理单元,用于从调度信息获取待写入数据的时间所处的第一时间段,并获取在所述第一时间段所述多个数据池分别对应写入权重;
其中,所述调度信息中包括多个时间段中每个时间段内,所述多个数据池分别对应的写入权重,所述多个时间段包括所述第一时间段,所述第一时间段内所述多个数据池分别对应的写入权重是根据历史设定时长内的第一时间段统计的每个数据池的数据存储情况参数来确定的;
所述处理单元,还用于根据所述多个数据池分别对应的写入权重将所述待写入数据写入所述存储桶中的至少一个数据池,以及将所述待写入数据的元数据写入所述元数据池,所述元数据为描述存储对象数据属性的信息。
6.如权利要求5所述的装置,其特征在于,所述数据存储情况参数包括如下至少一项:
数据池的剩余容量、数据池对应的内存负载量、数据池的写入数据量、数据池对应的网络状态参数。
7.如权利要求6所述的装置,其特征在于,所述处理单元,还用于:
周期性的监测所述多个数据池中每个数据池在所述多个时间段分别对应的数据存储情况参数;
根据所述多个时间段中第一时间段监测的所述多个数据池的数据存储情况参数更新所述调度信息中所述第一时间段的写入权重。
8.如权利要求7所述的装置,其特征在于,所述处理单元,在根据所述多个时间段中第一时间段监测的所述多个数据池的数据存储情况参数更新所述调度信息中所述第一时间段的写入权重时,具体用于:
根据第i个数据池对应的内存负载量、第i个数据池的输入输出IO数据量或者第i个数据池对应的网络状态参数中的至少一项确定所述第i个数据池的负载参数值;i大于0且小于或者等于所述多个数据池的数量;
确定第i个数据池的剩余容量占所述存储桶的总剩余容量的剩余容量比;
根据所述多个数据池分别对应的负载参数值以及剩余容量比进行拟合处理得到每个数据池的写入权重。
9.一种数据写入装置,其特征在于,包括存储器以及处理器;
所述存储器,用于存储程序指令;
所述处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行权利要求1~4中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行权利要求1~4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111643723.XA CN114465957B (zh) | 2021-12-29 | 2021-12-29 | 一种数据写入方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111643723.XA CN114465957B (zh) | 2021-12-29 | 2021-12-29 | 一种数据写入方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114465957A true CN114465957A (zh) | 2022-05-10 |
CN114465957B CN114465957B (zh) | 2024-03-08 |
Family
ID=81407956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111643723.XA Active CN114465957B (zh) | 2021-12-29 | 2021-12-29 | 一种数据写入方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114465957B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106649401A (zh) * | 2015-11-03 | 2017-05-10 | 阿里巴巴集团控股有限公司 | 分布式文件系统中的数据写入方法和装置 |
US20180121109A1 (en) * | 2016-10-31 | 2018-05-03 | Alibaba Group Holding Limited | Flash storage failure rate reduction and hyperscale infrastructure robustness enhancement through the mram-nor flash based cache architecture |
CN110149360A (zh) * | 2019-03-29 | 2019-08-20 | 新智云数据服务有限公司 | 调度方法、调度系统、存储介质和计算机设备 |
CN110531934A (zh) * | 2019-08-23 | 2019-12-03 | 北京浪潮数据技术有限公司 | 基于分布式系统的数据存储方法和装置 |
CN110703986A (zh) * | 2019-08-29 | 2020-01-17 | 华云数据(厦门)网络有限公司 | 云硬盘创建方法、装置、设备及存储介质 |
CN111125425A (zh) * | 2019-12-13 | 2020-05-08 | 浪潮电子信息产业股份有限公司 | 一种视频数据的读写方法、系统、装置及可读存储介质 |
CN111831232A (zh) * | 2020-07-22 | 2020-10-27 | 浙江大华技术股份有限公司 | 数据的存储方法及装置、存储介质和电子装置 |
CN111857592A (zh) * | 2020-07-21 | 2020-10-30 | 星辰天合(北京)数据科技有限公司 | 基于对象存储系统的数据存储方法及装置、电子设备 |
CN112306986A (zh) * | 2020-11-12 | 2021-02-02 | 苏州浪潮智能科技有限公司 | 分布式文件系统的存储方法、装置、设备及存储介质 |
CN112468601A (zh) * | 2021-02-03 | 2021-03-09 | 柏科数据技术(深圳)股份有限公司 | 一种分布式存储系统的数据同步方法、访问方法及系统 |
CN113722072A (zh) * | 2021-09-14 | 2021-11-30 | 华瑞指数云(河南)科技有限公司 | 一种基于智能分流的存储系统文件合并方法及装置 |
-
2021
- 2021-12-29 CN CN202111643723.XA patent/CN114465957B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106649401A (zh) * | 2015-11-03 | 2017-05-10 | 阿里巴巴集团控股有限公司 | 分布式文件系统中的数据写入方法和装置 |
US20180121109A1 (en) * | 2016-10-31 | 2018-05-03 | Alibaba Group Holding Limited | Flash storage failure rate reduction and hyperscale infrastructure robustness enhancement through the mram-nor flash based cache architecture |
CN110149360A (zh) * | 2019-03-29 | 2019-08-20 | 新智云数据服务有限公司 | 调度方法、调度系统、存储介质和计算机设备 |
CN110531934A (zh) * | 2019-08-23 | 2019-12-03 | 北京浪潮数据技术有限公司 | 基于分布式系统的数据存储方法和装置 |
CN110703986A (zh) * | 2019-08-29 | 2020-01-17 | 华云数据(厦门)网络有限公司 | 云硬盘创建方法、装置、设备及存储介质 |
CN111125425A (zh) * | 2019-12-13 | 2020-05-08 | 浪潮电子信息产业股份有限公司 | 一种视频数据的读写方法、系统、装置及可读存储介质 |
CN111857592A (zh) * | 2020-07-21 | 2020-10-30 | 星辰天合(北京)数据科技有限公司 | 基于对象存储系统的数据存储方法及装置、电子设备 |
CN111831232A (zh) * | 2020-07-22 | 2020-10-27 | 浙江大华技术股份有限公司 | 数据的存储方法及装置、存储介质和电子装置 |
CN112306986A (zh) * | 2020-11-12 | 2021-02-02 | 苏州浪潮智能科技有限公司 | 分布式文件系统的存储方法、装置、设备及存储介质 |
CN112468601A (zh) * | 2021-02-03 | 2021-03-09 | 柏科数据技术(深圳)股份有限公司 | 一种分布式存储系统的数据同步方法、访问方法及系统 |
CN113722072A (zh) * | 2021-09-14 | 2021-11-30 | 华瑞指数云(河南)科技有限公司 | 一种基于智能分流的存储系统文件合并方法及装置 |
Non-Patent Citations (2)
Title |
---|
JIANG ZHOU等: "A Highly Reliable Metadata Service for Large-Scale Distributed File Systems", IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS * |
荆文军: "虚拟容器架构在Ceph中应用", 现代信息科技 * |
Also Published As
Publication number | Publication date |
---|---|
CN114465957B (zh) | 2024-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11182213B2 (en) | Application program management method and device | |
CN109144699A (zh) | 分布式任务调度方法、装置及系统 | |
CN106164864A (zh) | 服务的预测负载伸缩 | |
CN109445947B (zh) | 资源的分配处理方法、装置、设备及存储介质 | |
JP6902487B2 (ja) | 機械学習システム | |
US10313457B2 (en) | Collaborative filtering in directed graph | |
CN111241052B (zh) | 一种基于凸优化方法的分布式文件系统数据放置方法 | |
CN114465957B (zh) | 一种数据写入方法及装置 | |
CN112416596A (zh) | 一种节点调度方法、装置及设备 | |
CN106933882B (zh) | 一种大数据增量计算方法和装置 | |
CN106133709A (zh) | 用于防止存储器中的存储体冲突的方法和装置 | |
CN112416568A (zh) | 音视频转码任务的时长预估方法和时长预估装置 | |
CN116483546A (zh) | 分布式训练任务调度方法、装置、设备及存储介质 | |
CN111783487B (zh) | 一种读卡器设备的故障预警方法及装置 | |
CN111598390B (zh) | 服务器高可用性评估方法、装置、设备和可读存储介质 | |
CN114697213A (zh) | 一种升级方法及装置 | |
CN110021166B (zh) | 用于处理用户出行数据的方法、装置和计算设备 | |
CN113468398A (zh) | 书籍级别的确定方法、计算设备及计算机存储介质 | |
CN111158886A (zh) | 用于优化操作系统任务调度的方法、装置和智能设备 | |
CN113741810B (zh) | 一种数据迁移方法及装置 | |
CN106802771B (zh) | 电子设备和存储装置使用管理方法 | |
CN117573382B (zh) | 一种数据采集任务编排方法、装置 | |
CN116755866B (zh) | 一种资源调度方法、装置、电子设备及可读存储介质 | |
CN116015936B (zh) | 一种安全能力编排方法、装置及计算机可读存储介质 | |
CN117634855B (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 |