CN116248699A - 多副本场景下的数据读取方法、装置、设备及存储介质 - Google Patents
多副本场景下的数据读取方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116248699A CN116248699A CN202310246318.7A CN202310246318A CN116248699A CN 116248699 A CN116248699 A CN 116248699A CN 202310246318 A CN202310246318 A CN 202310246318A CN 116248699 A CN116248699 A CN 116248699A
- Authority
- CN
- China
- Prior art keywords
- target application
- data
- application
- storage
- concurrency
- 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 57
- 238000005457 optimization Methods 0.000 claims description 4
- 230000000977 initiatory effect Effects 0.000 abstract description 3
- 238000012545 processing Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 230000004044 response Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- 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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请是关于一种多副本场景下的数据读取方法、装置、设备及存储介质,具体涉及云计算技术领域。该方法包括:接收目标应用对应的读取请求;确定所述目标应用对应的并发场景类型,所述并发场景类型包括:高并发型场景、低并发型场景以及自动选择模式;基于所述并发场景类型,为所述目标应用匹配存储策略;基于所述存储策略,在多个数据副本中为所述读取请求选择提供服务的数据副本。基于上述技术方案,可以使得多副本场景下的数据副本选择,能够符合发起读取请求的应用在相应并发场景类型下的性能的需求。
Description
技术领域
本申请涉及云计算技术领域,具体涉及一种多副本场景下的数据读取方法、装置、设备及存储介质。
背景技术
在云计算技术领域中,为了提高存储可靠性和安全性,可以采用分布式存储系统。
在分布式存储系统中,提供有数据的多个数据副本。在处理一个应用的读取请求时,一般从各个数据副本的性能出发,在多个数据副本中选择出提供读取服务的一个数据副本。
基于上述技术方案,选择出的提供服务的一个数据副本可能在响应延时性能上是优异的,但是并不符合发起读取请求的应用的需求。
发明内容
本申请提供了多副本场景下的数据读取方法、装置、设备及存储介质。该技术方案如下。
一方面,提供了一种多副本场景下的数据读取方法,所述方法包括:
接收目标应用对应的读取请求;
确定所述目标应用对应的并发场景类型,所述并发场景类型包括:高并发型场景、低并发型场景以及自动选择模式;
基于所述并发场景类型,为所述目标应用匹配存储策略;
基于所述存储策略,在多个数据副本中为所述读取请求选择提供服务的数据副本。
再一方面,提供了一种多副本场景下的数据读取装置,所述装置包括:
读取请求接收模块,用于接收目标应用对应的读取请求;
并发场景类型确定模块,用于确定所述目标应用对应的并发场景类型,所述并发场景类型包括:高并发型场景、低并发型场景以及自动选择模式;
存储策略匹配模块,用于为所述并发场景类型匹配存储策略;
数据副本选择模块,用于基于所述存储策略,在多个数据副本中为所述读取请求选择提供服务的数据副本。
再一方面,提供了一种计算机设备,所述计算机设备中包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述多副本场景下的数据读取方法。
再一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述的多副本场景下的数据读取方法。
再一方面,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的多副本场景下的数据读取方法。
本申请提供的技术方案可以包括以下有益效果:
在处理目标应用对应的读取请求时,通过感知目标应用的并发场景类型,基于目标应用的并发场景类型为该目标应用匹配存储策略,并基于存储策略为读取请求选择提供服务的数据副本,可以使得多副本场景下的数据副本选择,能够符合发起读取请求的应用在相应并发场景类型下的性能的需求。
附图说明
为了更清楚地说明本申请具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的多数据副本场景下的数据读取方法的方法流程图。
图2是根据一示例性实施例示出的多数据副本场景下的数据读取方法的方法流程图。
图3是根据一示例性实施例示出的多数据副本场景下的数据读取方法的方法流程图。
图4是根据一示例性实施例示出的多数据副本场景下的数据读取方法的方法流程图。
图5是根据一示例性实施例示出的一种多数据副本场景下的数据读取装置的结构方框图。
图6是根据一示例性实施例提供的一种计算机设备的示意图。
具体实施方式
下面将结合附图对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应理解,在本申请的实施例中提到的“指示”可以是直接指示,也可以是间接指示,还可以是表示具有关联关系。举例说明,A指示B,可以表示A直接指示B,例如B可以通过A获取;也可以表示A间接指示B,例如A指示C,B可以通过C获取;还可以表示A和B之间具有关联关系。
在本申请实施例的描述中,术语“对应”可表示两者之间具有直接对应或间接对应的关系,也可以表示两者之间具有关联关系,也可以是指示与被指示、配置与被配置等关系。
本申请实施例中,“预定义”可以通过在设备(例如,包括终端设备和网络设备)中预先保存相应的代码、表格或其他可用于指示相关信息的方式来实现,本申请对于其具体的实现方式不做限定。
相关技术仅仅考虑了数据副本的响应延时性能,选择响应延时性能更好的数据副本提供读取服务。该策略存在以下缺点:
(1)没有感知应用的需求,即应用是倾向于高并发性能(如并发带宽和并发IOPS(Input/Output Operations Per Second,每秒的读写次数)),还是低并发性能(如低响应延时),简单地选择响应延时性能更好的读数据副本仅仅能提供更优的IO响应延时(适用于低并发场景),不一定能提供更优的并发带宽和并发IOPS性能,不适用于高并发的应用场景。特别是在两个数据副本所在的存储介质都比较空闲的情况下,同时对两个数据副本请求不同的数据块,最大可以获得2倍读性能,其原理类似RAID1(Redundant Arrays ofIndependent Disks 1,独立磁盘冗余阵列1)的读取。此外,简单地选择多个数据副本提供读请求服务,会导致部分读取请求转发到性能较差的数据副本上,影响低并发场景下的读延时,而且转发读取请求到更多的数据副本还会对其他应用的读请求产生更多的干扰(当其他应用的数据副本也在同一个存储介质中时)。
(2)没有感知应用的性能QoS(Quality of Service,服务质量),数据副本的选择仅仅考虑了数据副本能提供的读取性能,没有考虑不同应用对于读取性能有不同的要求,在不同应用互相之间可能存在性能干扰的情况下,没有区分QoS高的应用和QoS低的应用,导致QoS低的应用也可能分配到性能更好的数据副本提供读取服务,而QoS高的应用可能分配到性能较差的数据副本提供读取服务。即有限的系统资源与应用需求之间产生错配,导致系统资源得不到充分利用,而应用的性能需求得不到满足。
在本申请实施例中,提出一种应用感知的多副本场景下的数据读取方法,可以感知应用的并发场景类型以及感知应用的QoS。可以理解的是,本申请实施例中对于数据副本的选取策略,除了存储系统的数据读取这一应用场景之外,还可以应用在其他场景,包括但不限于:存储系统的数据写入、数据查询等,本申请对此不加以限制。
下面,结合如下实施例,对本申请提供的技术方案进行进一步说明。
图1是根据一示例性实施例示出的多副本场景下的数据读取方法的方法流程图。该方法可以由计算机设备执行,如图1所示,该多副本场景下的数据读取方法可以包括如下步骤:
步骤110,接收目标应用对应的读取请求。
在本实施例中,接收目标应用对应的读取请求,读取请求用于请求为该目标应用提供读取服务。
步骤120,确定目标应用对应的并发场景类型,并发场景类型包括:高并发型场景、低并发型场景以及自动选择模式。
在本实施例中,预先设定有3种不同的应用的并发场景类型,每个应用对应的并发场景类型是预先配置好的,在接收目标应用对应的读取请求之后,需要确定该目标应用对应的并发场景类型。
下面,对各个并发场景类型进行简单介绍:
高并发型场景指的是一个应用倾向于高并发性能,比如:并发带宽和并发IOPS。低并发型场景指的是一个应用倾向于低并发性能,比如:响应延时。自动选择模式指的是一个应用的倾向未固定,其可能倾向于高并发性能,也可能倾向于低并发性能,需要实时地在两种性能需求之间选择判断。
步骤130,基于并发场景类型,为目标应用匹配存储策略。
在本实施例中,每种并发场景类型均配置有相应的存储策略,在确定目标应用的并发场景类型之后,为该目标应用匹配并发场景类型相应的存储策略。
可以理解是,不同并发场景类型所对应的存储策略是不同的,存储策略的具体内容是按照并发场景类型所表征的性能需求所设置的。
步骤140,基于存储策略,在多个数据副本中为读取请求选择提供服务的数据副本。
在本实施例中,基于目标应用所匹配的存储策略,为读取请求选择提供服务的数据副本。其中,提供服务器的数据副本的数量可以是一个或多个。
综上所述,本实施例提供的多副本场景下的数据读取方法,在处理目标应用对应的读取请求时,通过感知目标应用的并发场景类型,基于目标应用的并发场景类型为该目标应用匹配存储策略,并基于存储策略为读取请求选择提供服务的数据副本,可以使得多副本场景下的数据副本选择,能够符合发起读取请求的应用在相应并发场景类型下的性能的需求。
在示意性实施例中,存储策略包括:高并发型存储策略,低并发型存储策略。
图2是根据一示例性实施例示出的多副本场景下的数据读取方法的方法流程图。该方法可以由计算机设备执行,如图2所示,上述步骤130可以替换实现为如下步骤:
步骤210,基于高并发型场景,为目标应用匹配高并发型存储策略。
其中,高并发型存储策略是一种按照高并发型场景的性能需求所设置的数据副本读取策略。
步骤220,基于低并发型场景,为目标应用匹配低并发型存储策略。
其中,低并发型存储策略是一种按照低并发型场景的性能需求所设置的数据副本读取策略。
步骤230,基于自动选择模式,根据目标应用下发到存储系统的IO队列的读取请求数量,为目标应用匹配高并发型存储策略或低并发型存储策略。
在本实施例中,设置有高并发型存储策略、低并发型存储策略,且高并发型场景的应用匹配的是高并发型存储策略,低并发型场景的应用匹配的是低并发型存储策略,自动选择模式的应用需要根据下发到存储系统的IO队列的读取请求数量,匹配高并发型存储策略或低并发型存储策略。
在一种可能的实现方式中,步骤230替换实现为:周期性地基于各个读取请求的线程号的扩展字段,统计存储系统的IO队列中归属于目标应用的读取请求数量;在目标应用的读取请求数量的平均大小大于数量阈值的情况下,为目标应用匹配高并发型存储策略;在目标应用的读取请求数量的平均大小不大于数量阈值的情况下,为目标应用匹配低并发型存储策略。
在本实现方式中,对于IO队列中各个应用的读取请求数量进行统计,可通过给读取请求加上线程号的扩展字段,从而判断各个读取请求归属的应用。当进程对应的应用发生变化时(例如应用重启),存储系统周期性地统计IO队列中归属于特定线程号的读取请求数量的平均大小,如果读取请求数量的平均大小于8的大小比较发生变化,则存储系统自动切换相应的存储策略。可以理解的是,手动配置高并发型或者低并发型存储策略适用于对自身业务有一定了解的用户,可以通过可观测性工具来观察应用在运行时的IO队列深度,从而给应用使用的相应存储资源配置策略;而自动选择模式适用于对自身应用不太了解的用户,让存储系统自动感知应用的并发场景类型,从而进行调度,该方式使用门槛较低。
示例性的,可配置存储系统IO队列中读取请求数量小于8(可配置)匹配低并发型存储策略,大于8匹配高并发型存储策略。
在一种可能的实现方式中,高并发型存储策略,包括:为读取请求选择至少两个数据副本来提供服务。
在本实现方式中,对于匹配高并发型存储策略的应用,优先选择多个数据副本同时提供读取服务。
在一种可能的实现方式中,低并发型存储策略,包括:计算所有数据副本所在的存储介质当前的负载压力;为读取请求选择负载压力最小的存储介质中的一个数据副本来提供服务。
在本实现方式中,对于匹配低并发型存储策略的应用,优先选择负载压力较小的存储介质中的一个数据副本提供读取服务。
示例性的,对于数据库的OLTP(On-Line Transaction Processing,在线事务处理)类应用,其读取为低并发型场景的请求,读取的数据如果没有返回,数据库的事务会被阻塞,影响数据库的TPS(Transaction Processing Systems,事务处理系统)性能,因此读取请求的IO延时对数据库OLTP的性能影响较大。这种应用应该配置数据库的数据文件使用存储策略为低并发型存储策略,或者并发场景类型配置为自动选择模式,存储系统会依据数据库事务处理线程下发到存储系统IO队列中的读取请求的数量,判断该应用匹配低并发型存储策略。之后,存储系统会将该应用的读取请求下发到所在存储介质负载压力较小的单个数据副本,使用该数据副本提供低延时的读取服务。
示例性的,对于大数据类应用(hadoop等)、AI(Artificial Intelligence人工智能)训练(tensorflow等)、数据库的在线分析处理(On-Line Analytical Processing,OLAP)等,其处理分析、训练等过程一般都是对数据的批量处理,此时单个读取请求的响应延时对应用的性能影响较小,而多个IO的并发性能(并发IOPS和并发带宽)对于应用的性能影响较大。这种应用应该配置存储策略为高并发型存储策略,或者并发场景类型配置为自动选择模式,存储系统会依据hadoop等处理分析线程下发到存储系统IO队列中读取请求的数量,判断该应用匹配高并发型存储策略。之后,存储系统会将该应用的读取请求下发到所在多个数据副本,从而提供高并发的读取服务,充分利用多个数据副本的读取性能。
综上所述,本实施例提供的多副本场景下的数据读取方法,通过提供高并发型存储策略、低并发型存储策略和自动选择模式三种存储策略,存储系统可以感知应用的并发场景类型,自动地实现读取数据副本的选择,将高并发型应用的读取请求发给多个数据副本,以提供更高的并发IOPS和并发带宽,将低并发型的应用的读取请求转发给单个数据副本,以提供低延时的读请求,同时避免占用过多的系统资源对其他应用产生干扰。
在示意性实施例中,动态地优化应用对应的存储策略的内容,调度提供读取服务的数据副本,以满足应用的QoS和充分利用系统资源。
图3是根据一示例性实施例示出的多副本场景下的数据读取方法的方法流程图。该方法可以由计算机设备执行,如图3所示,还可以包括步骤:
步骤310,检查目标应用对应的读取性能。
在本实施例中,实时监控目标应用对应的读取性能。
示例性的,统计一段时间的IO服务的表现(例如IO延时、每秒钟完成的IO请求数量、每秒钟完成的IO数据量等),从而检查得到目标应用对应的读取性能。
步骤320,在读取性能无法满足目标应用的QoS的情况下,优化存储策略的内容。
在本实施例中,当目标应用对应的读取性能无法满足该应用的QoS时,对该应用的存储策略进行优化,优化后的存储策略用于保障目标应用对应的读取性能满足该应用的QoS。
在一种可能的实现方式中,优化后的高并发型存储策略,包括:
(1)扩展提供服务的数据副本数量,为接收到的目标应用对应的读取请求选择扩展后数量个数据副本来提供服务。
(2)在上一步骤的执行无法满足目标应用的QoS的情况下,全部或者部分切换提供服务的数据副本,为接收到的目标应用对应的读取请求选择切换后的数据副本来提供服务。
(3)在上一步骤的执行无法满足目标应用的QoS的情况下,缩小为其他应用提供服务的数据副本数量,其他应用是数据副本原来与目标应用的数据副本在同一存储介质中的应用。
(4)在上一步骤的执行无法满足目标应用的QoS的情况下,迁移低QoS应用的数据副本到负载压力低于负载压力阈值的存储介质中,低QoS应用是数据副本原来与目标应用的数据副本在同一存储介质中,且在存储介质中QoS属于后n位的应用,n为正整数。
可以理解的是,低QoS应用可以理解为是在存储介质中,QoS相对较低的应用。
在一种可能的实现方式中,优化后的低并发型存储策略,包括:
(1)全部切换提供服务的数据副本,为接收到的目标应用对应的读取请求选择切换后的数据副本来提供服务。
(2)在上一步骤的执行无法满足目标应用的QoS的情况下,缩小为其他应用提供服务的数据副本数量,其他应用是数据副本原来与目标应用的数据副本在同一存储介质中的应用。
(3)在上一步骤的执行无法满足目标应用的QoS的情况下,迁移低QoS应用的数据副本到负载压力低于负载压力阈值的存储介质中,低QoS应用是数据副本原来与目标应用的数据副本在同一存储介质中,且在存储介质中QoS属于后n位的应用,n为正整数。
可以理解的是,低QoS应用可以理解为是在存储介质中,QoS相对较低的应用。
示例性的,提供存储策略给应用选择性能QoS,当读取性能不能满足应用的QoS时,可以采取的调度策略有:(a)扩展读数据副本数量,适用于高并发场景,例如需要保障用户的最高读带宽或者读IOPS要达到一定范围;(b)缩小读数据副本数量,例如当线程号对应的应用的并发场景类型发生变化时(从高并发变为低并发),则需要缩小读数据副本数量为1,此外,当该应用占用较多数据副本,导致其他应用的QoS得不到满足时,应减少为当前应用提供读取服务的数据副本数量,并且减少提供服务的数据副本数量不能导致当前应用的QoS得不到满足;(c)全部或部分切换数据副本,如果归属于多个不同应用的数据副本在同一存储介质中,且存在QoS得不到满足的应用对应的数据副本,应将全部或者部分的读取请求进行数据副本的切换,切换到其他存储介质中与之相同的数据副本以提供读取服务,避免资源争用;(d)迁移低QoS应用对应的数据副本,迁移低QoS应用对应的数据副本到负载压力较低的存储介质中。
结合参考图4,以上调度策略的执行逻辑为:当应用的QoS得不到满足时,对于高并发型应用,在不导致新的QoS不满足的情况下,先扩展提供服务的数据副本数量(即策略a),如果无法通过扩展数据副本数量来满足需求,则采取全部或者部分切换数据副本的机制(即策略c),如果无法通过切换数据副本来满足需求,则采用缩小为其他应用提供服务的数据副本数(即策略b),其他应用是与当前应用产生了系统资源争用的应用,如果无法通过缩小为其他应用提供服务的数据副本数来满足需求,则通过迁移低QoS应用对应的数据副本到负载压力较小的存储介质中(即策略d);对于低并发型应用,在不导致新的QoS不满足的情况下,先通过切换全部数据副本来满足需求(即策略c),如果无法通过切换数据副本满足需求,则采用缩小为其他应用提供服务的数据副本数(即策略b),其他应用是与当前应用产生了系统资源争用的应用,如果无法通过缩小为其他应用提供服务的数据副本数来满足需求,则通过迁移低QoS应用对应的数据副本到负载压力较小的存储介质中(即策略d)。
步骤330,基于优化后的存储策略,在多个数据副本中为接收到的目标应用对应的读取请求选择提供服务的数据副本。
在本实施例中,基于目标应用所优化后的存储策略,为读取请求选择提供服务的数据副本。其中,提供服务器的数据副本的数量可以是一个或多个。
示例性的,在企业应用中,数据库、ERP(Enterprise Resource Planning,企业资源计划)等应用为关键应用,其QoS较高,而OA(Office Automation,办公自动化)、门户、邮件等应用为稳态应用,其性能要求较低,QoS较低。当存储系统为多种应用同时提供存储服务时,必然存在性能干扰,此时在有限资源的情况下需要提供调度策略以优化存储策略,来满足各种应用的QoS要求,避免QoS较低的应用占用过多的资源导致高QoS应用的需求得不到满足,同时也避免高QoS应用过多地占用资源,导致低QoS应用的需求得不到满足。
综上所述,本实施例提供的多副本场景下的数据读取方法,基于应用的QoS配置,存储系统可以感知应用的性能优先级,并在应用的性能QoS不能满足需求时,自动优化存储策略,避免有限的系统资源与应用需求之间产生错配,充分利用系统的资源和保障应用的QoS。
需要说明的是,上述方法实施例可以单独实施例,也可以组合实施,本申请对此不加以限制。
图5是根据一示例性实施例示出的一种多副本场景下的数据读取装置的结构方框图。所述装置包括:
读取请求接收模块501,用于接收目标应用对应的读取请求;
并发场景类型确定模块502,用于确定所述目标应用对应的并发场景类型,所述并发场景类型包括:高并发型场景、低并发型场景以及自动选择模式;
存储策略匹配模块503,用于基于所述并发场景类型,为所述目标应用匹配存储策略;
数据副本选择模块504,用于基于所述存储策略,在多个数据副本中为所述读取请求选择提供服务的数据副本。
在一种可能的实现方式中,所述存储策略包括:高并发型存储策略,低并发型存储策略;
所述存储策略匹配模块503,用于:
基于所述高并发型场景,为所述目标应用匹配所述高并发型存储策略;
基于所述低并发型场景,为所述目标应用匹配所述低并发型存储策略;
基于所述自动选择模式,根据所述目标应用下发到存储系统的IO队列的读取请求数量,为所述目标应用匹配所述高并发型存储策略或所述低并发型存储策略。
在一种可能的实现方式中,所述存储策略匹配模块503,用于:
周期性地基于各个读取请求的线程号的扩展字段,统计所述存储系统的IO队列中归属于所述目标应用的读取请求数量;
在所述目标应用的读取请求数量的平均大小大于数量阈值的情况下,为所述目标应用匹配所述高并发型存储策略;
在所述目标应用的读取请求数量的平均大小不大于所述数量阈值的情况下,为所述目标应用匹配所述低并发型存储策略。
在一种可能的实现方式中,所述高并发型存储策略,包括:
为所述读取请求选择至少两个数据副本来提供服务。
在一种可能的实现方式中,所述低并发型存储策略,包括:
计算所有数据副本所在的存储介质当前的负载压力;
为所述读取请求选择负载压力最小的存储介质中的一个数据副本来提供服务。
在一种可能的实现方式中,所述装置还包括:存储策略优化模块;
所述存储策略优化模块,用于检查所述目标应用对应的读取性能;在所述读取性能无法满足所述目标应用的服务质量QoS的情况下,优化所述存储策略的内容;
所述数据副本选择模块504,用于基于优化后的存储策略,在多个数据副本中为接收到的所述目标应用对应的读取请求选择提供服务的数据副本。
在一种可能的实现方式中,优化后的高并发型存储策略,包括:
扩展提供服务的数据副本数量,为接收到的所述目标应用对应的读取请求选择扩展后数量个数据副本来提供服务;
在上一步骤的执行无法满足所述目标应用的QoS的情况下,全部或者部分切换提供服务的数据副本,为接收到的所述目标应用对应的读取请求选择切换后的数据副本来提供服务;
在上一步骤的执行无法满足所述目标应用的QoS的情况下,缩小为其他应用提供服务的数据副本数量,所述其他应用是数据副本原来与所述目标应用的数据副本在同一存储介质中的应用;
在上一步骤的执行无法满足所述目标应用的QoS的情况下,迁移低QoS应用的数据副本到负载压力低于负载压力阈值的存储介质中,所述低QoS应用是数据副本原来与所述目标应用的数据副本在同一存储介质中,且在所述存储介质中QoS属于后n位的应用,n为正整数。
在一种可能的实现方式中,优化后的所述低并发型存储策略,包括:
全部切换提供服务的数据副本,为接收到的所述目标应用对应的读取请求选择切换后的数据副本来提供服务;
在上一步骤的执行无法满足所述目标应用的QoS的情况下,缩小为其他应用提供服务的数据副本数量,所述其他应用是数据副本原来与所述目标应用的数据副本在同一存储介质中的应用;
在上一步骤的执行无法满足所述目标应用的QoS的情况下,迁移低QoS应用的数据副本到负载压力低于负载压力阈值的存储介质中,所述低QoS应用是数据副本原来与所述目标应用的数据副本在同一存储介质中,且在所述存储介质中QoS属于后n位的应用,n为正整数。
需要说明的是:上述实施例提供的多副本场景下的数据读取装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参阅图6,其是根据本申请一示例性实施例提供的一种计算机设备的示意图,所述计算机设备包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的多副本场景下的数据读取方法。
其中,处理器可以为中央处理器(Central Processing Unit,CPU)。处理器还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本申请实施方式中的方法对应的程序指令/模块。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施方式中的方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
在一示例性实施例中,还提供了一种计算机可读存储介质,用于存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行以实现上述方法中的全部或部分步骤。例如,该计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (11)
1.一种多副本场景下的数据读取方法,其特征在于,所述方法包括:
接收目标应用对应的读取请求;
确定所述目标应用对应的并发场景类型,所述并发场景类型包括:高并发型场景、低并发型场景以及自动选择模式;
基于所述并发场景类型,为所述目标应用匹配存储策略;
基于所述存储策略,在多个数据副本中为所述读取请求选择提供服务的数据副本。
2.根据权利要求1所述的方法,其特征在于,所述存储策略包括:高并发型存储策略,低并发型存储策略;
所述基于所述并发场景类型,为所述目标应用匹配存储策略,包括:
基于所述高并发型场景,为所述目标应用匹配所述高并发型存储策略;
基于所述低并发型场景,为所述目标应用匹配所述低并发型存储策略;
基于所述自动选择模式,根据所述目标应用下发到存储系统的IO队列的读取请求数量,为所述目标应用匹配所述高并发型存储策略或所述低并发型存储策略。
3.根据权利要求2所述的方法,其特征在于,所述根据所述目标应用下发到存储系统的IO队列的读取请求数量,为所述目标应用匹配所述高并发型存储策略或所述低并发型存储策略,包括:
周期性地基于各个读取请求的线程号的扩展字段,统计所述存储系统的IO队列中归属于所述目标应用的读取请求数量;
在所述目标应用的读取请求数量的平均大小大于数量阈值的情况下,为所述目标应用匹配所述高并发型存储策略;
在所述目标应用的读取请求数量的平均大小不大于所述数量阈值的情况下,为所述目标应用匹配所述低并发型存储策略。
4.根据权利要求2所述的方法,其特征在于,所述高并发型存储策略,包括:
为所述读取请求选择至少两个数据副本来提供服务。
5.根据权利要求2所述的方法,其特征在于,所述低并发型存储策略,包括:
计算所有数据副本所在的存储介质当前的负载压力;
为所述读取请求选择负载压力最小的存储介质中的一个数据副本来提供服务。
6.根据权利要求2所述的方法,其特征在于,所述方法还包括:
检查所述目标应用对应的读取性能;
在所述读取性能无法满足所述目标应用的服务质量QoS的情况下,优化所述存储策略的内容;
基于优化后的存储策略,在多个数据副本中为接收到的所述目标应用对应的读取请求选择提供服务的数据副本。
7.根据权利要求6所述的方法,其特征在于,优化后的高并发型存储策略,包括:
扩展提供服务的数据副本数量,为接收到的所述目标应用对应的读取请求选择扩展后数量个数据副本来提供服务;
在上一步骤的执行无法满足所述目标应用的QoS的情况下,全部或者部分切换提供服务的数据副本,为接收到的所述目标应用对应的读取请求选择切换后的数据副本来提供服务;
在上一步骤的执行无法满足所述目标应用的QoS的情况下,缩小为其他应用提供服务的数据副本数量,所述其他应用是数据副本原来与所述目标应用的数据副本在同一存储介质中的应用;
在上一步骤的执行无法满足所述目标应用的QoS的情况下,迁移低QoS应用的数据副本到负载压力低于负载压力阈值的存储介质中,所述低QoS应用是数据副本原来与所述目标应用的数据副本在同一存储介质中,且在所述存储介质中QoS属于后n位的应用,n为正整数。
8.根据权利要求6所述的方法,其特征在于,优化后的所述低并发型存储策略,包括:
全部切换提供服务的数据副本,为接收到的所述目标应用对应的读取请求选择切换后的数据副本来提供服务;
在上一步骤的执行无法满足所述目标应用的QoS的情况下,缩小为其他应用提供服务的数据副本数量,所述其他应用是数据副本原与所述目标应用的数据副本在同一存储介质中的应用;
在上一步骤的执行无法满足所述目标应用的QoS的情况下,迁移低QoS应用的数据副本到负载压力低于负载压力阈值的存储介质中,所述低QoS应用是数据副本原来与所述目标应用的数据副本在同一存储介质中,且在所述存储介质中QoS属于后n位的应用,n为正整数。
9.一种多副本场景下的数据读取装置,其特征在于,所述装置包括:
读取请求接收模块,用于接收目标应用对应的读取请求;
并发场景类型确定模块,用于确定所述目标应用对应的并发场景类型,所述并发场景类型包括:高并发型场景、低并发型场景以及自动选择模式;
存储策略匹配模块,用于基于所述并发场景类型,为所述目标应用匹配存储策略;
数据副本选择模块,用于基于所述存储策略,在多个数据副本中为所述读取请求选择提供服务的数据副本。
10.一种计算机设备,其特征在于,所述计算机设备中包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由所述处理器加载并执行以实现如权利要求1至8任一所述的多副本场景下的数据读取方法。
11.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现如权利要求1至8任一所述的多副本场景下的数据读取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310246318.7A CN116248699B (zh) | 2023-03-14 | 2023-03-14 | 多副本场景下的数据读取方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310246318.7A CN116248699B (zh) | 2023-03-14 | 2023-03-14 | 多副本场景下的数据读取方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116248699A true CN116248699A (zh) | 2023-06-09 |
CN116248699B CN116248699B (zh) | 2024-01-02 |
Family
ID=86625983
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310246318.7A Active CN116248699B (zh) | 2023-03-14 | 2023-03-14 | 多副本场景下的数据读取方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116248699B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116954942A (zh) * | 2023-06-29 | 2023-10-27 | 广州汽车集团股份有限公司 | 接口调用方法、装置、车辆及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100077107A1 (en) * | 2008-09-19 | 2010-03-25 | Oracle International Corporation | Storage-side storage request management |
US11086553B1 (en) * | 2019-08-28 | 2021-08-10 | Pure Storage, Inc. | Tiering duplicated objects in a cloud-based object store |
US20220138223A1 (en) * | 2019-09-13 | 2022-05-05 | Pure Storage, Inc. | Providing Quality Of Service (QoS) For Replicating Datasets |
WO2022105492A1 (zh) * | 2020-11-19 | 2022-05-27 | 华为技术有限公司 | 修复弱内存序问题的方法及装置 |
CN115048254A (zh) * | 2022-07-11 | 2022-09-13 | 北京志凌海纳科技有限公司 | 数据分配策略的仿真测试方法、系统、设备和可读介质 |
CN115167782A (zh) * | 2022-07-28 | 2022-10-11 | 北京志凌海纳科技有限公司 | 临时存储副本管理方法、系统、设备和存储介质 |
-
2023
- 2023-03-14 CN CN202310246318.7A patent/CN116248699B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100077107A1 (en) * | 2008-09-19 | 2010-03-25 | Oracle International Corporation | Storage-side storage request management |
US11086553B1 (en) * | 2019-08-28 | 2021-08-10 | Pure Storage, Inc. | Tiering duplicated objects in a cloud-based object store |
US20220138223A1 (en) * | 2019-09-13 | 2022-05-05 | Pure Storage, Inc. | Providing Quality Of Service (QoS) For Replicating Datasets |
WO2022105492A1 (zh) * | 2020-11-19 | 2022-05-27 | 华为技术有限公司 | 修复弱内存序问题的方法及装置 |
CN115048254A (zh) * | 2022-07-11 | 2022-09-13 | 北京志凌海纳科技有限公司 | 数据分配策略的仿真测试方法、系统、设备和可读介质 |
CN115167782A (zh) * | 2022-07-28 | 2022-10-11 | 北京志凌海纳科技有限公司 | 临时存储副本管理方法、系统、设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
林荔等: "浅析大数据的存储", 福建电脑, vol. 2018, no. 11, pages 103 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116954942A (zh) * | 2023-06-29 | 2023-10-27 | 广州汽车集团股份有限公司 | 接口调用方法、装置、车辆及存储介质 |
CN116954942B (zh) * | 2023-06-29 | 2024-06-11 | 广州汽车集团股份有限公司 | 接口调用方法、装置、车辆及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116248699B (zh) | 2024-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190324819A1 (en) | Distributed-system task assignment method and apparatus | |
US8145806B2 (en) | Storage-side storage request management | |
CN106598705B (zh) | 一种异步任务的调度方法、装置、系统以及电子设备 | |
CN111522636B (zh) | 应用容器的调整方法、调整系统、计算机可读介质及终端设备 | |
US7712103B2 (en) | Method and system for managing load balancing in data processing system | |
JP2021511588A (ja) | データクエリ方法、装置およびデバイス | |
US8601213B2 (en) | System, method, and computer-readable medium for spool cache management | |
US20120221730A1 (en) | Resource control system and resource control method | |
US9772798B2 (en) | Method and system for implementing workload management by monitoring disk utilizations | |
CN107070709B (zh) | 一种基于底层numa感知的nfv实现方法 | |
US20190332328A1 (en) | Storage Controller and IO Request Processing Method | |
CN109857545B (zh) | 一种数据传输方法及装置 | |
CN108874324B (zh) | 一种访问请求处理方法、装置、设备及可读存储介质 | |
CN116248699B (zh) | 多副本场景下的数据读取方法、装置、设备及存储介质 | |
US9817698B2 (en) | Scheduling execution requests to allow partial results | |
CN114595043A (zh) | 一种io调度方法和装置 | |
CN111831408A (zh) | 异步任务处理方法、装置、电子设备及介质 | |
CN117251275B (zh) | 多应用异步i/o请求的调度方法及系统、设备及介质 | |
EP3407196B1 (en) | Preventing reader starvation during order preserving data stream consumption | |
US11709626B2 (en) | Scheduling storage system tasks to promote low latency and sustainability | |
CN116414534A (zh) | 任务调度方法、装置、集成电路、网络设备及存储介质 | |
US20210263668A1 (en) | Information processing device and computer-readable recording medium recording storage control program | |
US20200301732A1 (en) | Information processing system and non-transitory computer readable medium storing program | |
CN113111083B (zh) | 数据查询的方法、装置、设备、存储介质和程序产品 | |
US20170269864A1 (en) | Storage Array Operation Method and Apparatus |
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 |