CN115016724A - 数据处理方法、装置、数据处理设备及存储介质 - Google Patents
数据处理方法、装置、数据处理设备及存储介质 Download PDFInfo
- Publication number
- CN115016724A CN115016724A CN202110244108.5A CN202110244108A CN115016724A CN 115016724 A CN115016724 A CN 115016724A CN 202110244108 A CN202110244108 A CN 202110244108A CN 115016724 A CN115016724 A CN 115016724A
- Authority
- CN
- China
- Prior art keywords
- data
- storage system
- candidate
- target
- replica
- 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.)
- Pending
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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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/0643—Management of files
-
- 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]
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据处理方法、装置、数据处理设备及存储介质,其中方法包括:响应于对目标数据的副本数据的读取事件,从所述目标数据对应的多个副本数据中确定候选副本数据集合;若所述候选副本数据集合中多个候选副本数据所在存储系统为预设类型的存储系统,则计算各个候选副本数据所在存储系统的输入/输出负载量;基于所述各个候选副本数据所在存储系统的输入/输出负载量确定目标副本数据,并输出所述目标副本数据。可以均衡调度目标数据的多个副本数据,提高每个存储系统的资源利用率,从而提升整体的系统性能。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据处理方法、一种数据处理装置、一种数据处理设备及一种计算机存储介质。
背景技术
Impala是Cloudera公司主导开发的一种开源查询系统,可以提供结构化查询语言(Structured Query Language,SQL),能够查询存储在分布式文件系统(HadoopDistributed File System,HDFS)中的数据。
HDFS中的数据是以数据块的形式存储的,并且,HDFS采用副本机制保证数据块的高可用性,也就是说,一个HDFS文件可以由多个数据块组成,其中,每个数据块可以对应有多个副本数据。Impala在调度选择数据块的多个副本数据时,可能存在资源调度不平衡,资源利用率低等问题。因此,如何调度选择数据块的副本数据是一个亟需解决的问题。
发明内容
本发明实施例提供了一种数据处理方法、装置、数据处理设备及存储介质,可以均衡调度目标数据的多个副本数据,提高每个存储系统的资源利用率,从而提升整体的系统性能。
一方面,本发明实施例提供了一种数据处理方法,该数据处理方法包括:
响应于对目标数据的副本数据的读取事件,从所述目标数据对应的多个副本数据中确定候选副本数据集合;
若所述候选副本数据集合中多个候选副本数据所在存储系统为预设类型的存储系统,则计算各个候选副本数据所在存储系统的输入/输出负载量;
基于所述各个候选副本数据所在存储系统的输入/输出负载量确定目标副本数据,并输出所述目标副本数据。
另一方面,本发明实施例提供了一种数据处理装置,该数据处理装置包括:
确定单元,用于响应于对目标数据的副本数据的读取事件,从所述目标数据对应的多个副本数据中确定候选副本数据集合;
计算单元,用于若所述候选副本数据集合中多个候选副本数据所在存储系统为预设类型的存储系统,则计算所述各个候选副本数据所在存储系统的输入/输出负载量;
输出单元,用于基于所述各个候选副本数据所在存储系统的输入/输出负载量确定目标副本数据,并输出所述目标副本数据。
再一方面,本发明实施例提供了一种数据处理设备,该数据处理设备包括:
处理器,适于实现一条或多条指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行如下步骤:
响应于对目标数据的副本数据的读取事件,从所述目标数据对应的多个副本数据中确定候选副本数据集合;
若所述候选副本数据集合中多个候选副本数据所在存储系统为预设类型的存储系统,则计算各个候选副本数据所在存储系统的输入/输出负载量;
基于所述各个候选副本数据所在存储系统的输入/输出负载量确定目标副本数据,并输出所述目标副本数据。
再一方面,本发明实施例提供了一种计算机存储介质,所述计算机存储介质中存储有计算机程序指令,所述计算机程序指令由处理器加载并执行如下步骤:
响应于对目标数据的副本数据的读取事件,从所述目标数据对应的多个副本数据中确定候选副本数据集合;
若所述候选副本数据集合中多个候选副本数据所在存储系统为预设类型的存储系统,则计算各个候选副本数据所在存储系统的输入/输出负载量;
基于所述各个候选副本数据所在存储系统的输入/输出负载量确定目标副本数据,并输出所述目标副本数据。
在本发明实施例中,数据处理设备响应于对目标数据的副本数据的读取事件,从目标数据对应的多个副本数据中确定候选副本数据集合;若候选副本数据集合中多个候选副本数据所在存储系统为预设类型的存储系统,则计算各个候选副本数据所在存储系统的输入/输出负载量,并基于各个候选副本数据所在存储系统的输入/输出负载量确定目标副本数据;若候选副本数据集合中多个候选副本数据所在存储系统为除预设类型的存储系统外的其他存储系统,则根据各个候选副本数据所在存储系统的数据读取信息确定目标副本数据。由于本发明实施例引入了候选副本数据所在存储系统的输入/输出负载量,不仅通过候选副本数据所在存储系统的数据读取信息确定目标数据的副本数据的选择权重,还通过候选副本数据所在存储系统的输入/输出负载量确定目标数据的副本数据的选择权重。相比于仅通过候选副本数据所在存储系统的数据读取信息确定目标数据的副本数据的选择权重的方式而言,本发明实施例中结合候选副本数据所在存储系统的数据读取信息和候选副本数据所在存储系统的数据读取信息确定目标数据的副本数据的选择权重,可以考虑到本地存储系统的输入/输出性能,可以均衡调度目标数据的多个副本数据,提高每个存储系统的资源利用率,从而提升整体的系统性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据处理系统的结构示意图;
图2是本发明实施例提供的一种数据处理方法的流程示意图;
图3是本发明实施例提供的一种数据处理方法的另一种流程示意图;
图4是本发明实施例提供的另一种数据处理方法的流程示意图;
图5是本发明实施例提供的另一种数据处理方法的另一种流程示意图;
图6是本发明实施例提供的一种数据处理装置的结构示意图;
图7是本发明实施例提供的一种数据处理设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
随着大数据时代的到来,在电子商务、社交网站、科研计算等领域中,每天都会有大量的数据产生,传统的单机系统无法解决存储和数据分析等问题,为了提高大量的数据的存储效率,通常采用分布式存储体系对数据进行分布式存储。在当前的分布式存储体系中,一般采用开源的分布式系统基础架构Hadoop存储技术。基于Hadoop存储技术的分布式文件系统HDFS比较适合存储数据量较大的文件,例如可存储数据量达到百兆字节、吉字节甚至太字节的文件。为了存储数据量较大的文件,HDFS将文件划分为数据块进行存储。并且,为了提高HDFS的可靠性,可以基于副本机制使得HDFS中的每个数据块对应多个副本数据。HDFS中包括名称节点和多个数据节点。在存储一个文件时,名称节点会将这一个文件划分为多个数据块。数据节点可以利用副本机制针对每个数据块对应生成副本数据,将数据块的副本数据存储在数据节点中。后续读取HDFS中的数据时,可以对目标数据对应的多个副本数据进行调度选择,从而确定出目标数据的目标副本数据。
为了提高对副本数据的读取效率,本发明实施例提供了一种数据处理方法,在该数据处理方法中,当数据处理设备需要对目标数据对应的多个副本数据进行调度选择时,数据处理设备可以从目标数据对应的多个副本数据中确定候选副本数据集合,然后根据候选副本数据集合中多个候选副本数据所在存储系统的类型执行调度策略,从而确定目标数据的目标副本数据。可以均衡调度目标数据的多个副本数据,提高每个候选副本数据所在存储系统的的资源利用率,从而提升HDFS整体的系统性能。
在一个实施例中,本发明实施例的数据处理方法可用于调度选择HDFS文件系统中目标数据(即数据块)的多个副本数据,从而确定出目标数据对应的目标数据副本。在该数据处理方法用于调度选择目标数据的多个副本数据时,该数据处理方法可应用在如图1所示的数据处理系统中,如图1所示,该数据处理系统可至少包括:数据处理设备11、名称节点12和数据节点13。其中,数据处理设备11可以是终端设备或者服务器。其中,终端设备包括但不限于智能手机、平板电脑、膝上计算机、可穿戴设备、台式计算机,等等。其中,服务器可以是独立的物理服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、内容分发网络(Content Delivery Network,CDN)、中间件服务、域名服务、安全服务以及大数据和人工智能平台等基础云计算服务的云服务器,等等。其中,名称节点12可以是终端设备或者服务器,用于管理HDFS中的元数据(即数据块),本发明对此不做限定。数据节点13可以包括是一个或多个服务器,可以是如图1所示的服务器13a,服务器13b或者服务器13c等服务器中一个服务器或者多个服务器的组合,用于管理HDFS中的副本数据。
可以理解的是,数据处理设备11可以是HDFS中的名称节点12或者数据节点13,也可以独立于HDFS之外的设备,如图1所示。本发明实施例对此不做限定。
其中,该数据处理方法可以应用到Impala查询系统中,用于查询HDFS中各个数据块的副本数据。但是,可以理解的是,随着新业务场景的出现,本发明实施例提供的数据处理方法还可以应用于其他场景中,例如使用了类似副本数据的调度选择的调度器,本发明实施例对此不做限定。
请参见图2,是本发明实施例提出的一种数据处理方法的流程示意图。如图2所示,该数据处理方法包括步骤S201-S203:
S201,响应于对目标数据的副本数据的读取事件,从目标数据对应的多个副本数据中确定候选副本数据集合。
其中,目标数据可以是指前文所提及的数据块中的任意一个数据块。由于HDFS采用了副本机制,所以每个目标数据对应有多个副本数据。例如,目标数据可以对应有3个副本数据,又例如目标数据可以对应有5个副本数据等等。
其中,由于每个数据节点中可以包括一个或多个存储系统,该目标数据对应的多个副本数据可以位于一个数据节点或多个数据节点。具体的,当一个数据节点内的存储系统的数量大于或等于目标数据对应的副本数据的数量时,该目标数据对应的多个副本数据可以位于一个数据节点。例如,假设一个目标数据对应有3个副本数据,当数据节点A包含3个存储系统时,该目标数据对应的3个副本数据可以均存储于数据节点A。当一个数据节点内的存储系统的数量小于目标数据对应的副本数据的数量时,该目标数据对应的多个副本数据可以位于多个数据节点。例如,假设一个目标数据对应有3个副本数据,当数据节点A包含1个存储系统,数据节点B包含1个存储系统以及数据节点C包含1个存储系统时,该目标数据对应的3个副本数据可以分别存储于数据节点A、数据节点B和数据节点C。又例如,当数据节点A包含1个存储系统,数据节点B包含2个存储系统时,该目标数据对应的3个副本数据可以存储于数据节点A和数据节点B。
其中,对目标数据的副本数据的读取事件可以有多种表现方式。在一个实施例中,在数据处理设备中,该目标数据可以关联有相应的目标页面,当数据处理设备接收到用户在目标页面中的用户操作时确定检测到对目标数据的副本数据的读取事件,从而可以响应于对目标数据的副本数据的读取事件,从数据节点中查找到该目标数据对应的多个副本数据,并从目标数据对应的多个副本数据中确定候选副本数据集合。其中,目标页面包括多种类型,比如目标页面可以是应用程序内的用户页面;再如,目标页面也可以是内嵌的h5页面,等等。用户操作可以包括点击、滑动、长按、双击等操作中的一种或多种。
在另一个实施方式中,对目标数据的副本数据的读取事件可以是数据处理设备接收到数据读取请求,该数据读取请求携带有目标数据的标识信息。具体的,数据处理设备可在接收到上述携带目标数据的标识信息的数据读取请求时,确定检测到对目标数据的副本数据的读取事件,从而可以响应于对目标数据的副本数据的读取事件,根据目标数据的标识信息从数据节点中查找到该目标数据对应的多个副本数据,并从目标数据对应的多个副本数据中确定候选副本数据集合。可选的,目标数据的标识信息可以是目标数据的唯一标识信息,用于唯一确定目标数据。例如,目标数据的标识信息可以是目标数据的名称信息,也可以是对目标数据的名称信息进行哈希运算后获得的哈希值。当目标数据的标识信息是唯一标识信息时,可以精确读取目标数据的副本数据。可选的,目标数据的标识信息也可以是区别于唯一标识信息的其他信息,例如可以是日期、类别等信息等等。
S202,若候选副本数据集合中多个候选副本数据所在存储系统为预设类型的存储系统,则计算各个候选副本数据所在存储系统的输入/输出负载量。
由于不同的存储系统的负载不同,因此,数据处理设备确定出候选副本数据后,需要根据候选副本数据所在存储系统的负载从多个候选副本数据中选取负载最小的存储系统内的目标副本数据,以便达到系统的负载均衡,提升系统的整体性能。
具体实现中,如果候选副本数据集合中多个候选副本数据所在存储系统为预设类型的存储系统,候选副本数据所在存储系统的负载与输入/输出负载量相关,则可以通过步骤S202和步骤S203确定目标副本数据;如果候选副本数据集合中多个候选副本数据所在存储系统为除预设类型的存储系统外的其他存储系统,则可以直接根据候选副本数据所在存储系统的数据读取信息从候选副本数据集合中确定目标副本数据。具体的,若候选副本数据集合中多个候选副本数据所在存储系统为除预设类型的存储系统外的其他存储系统,则可以将数据读取信息最小的存储系统内的候选副本数据作为目标副本数据。其中,预设类型的存储系统可以包括但不限于本地存储系统。
由于本地存储系统的负载不仅与存储系统的数据读取信息相关,还与存储系统的吞吐量信息相关。当本地存储系统的数据读取信息和/或吞吐量信息不同时,本地存储系统的负载不同,因此,当候选副本数据集合中的候选副本数据所在存储系统为本地存储系统时,数据处理设备可以根据数据读取信息和吞吐量信息从候选副本数据集合中的多个候选副本数据中确定目标副本数据。具体的,若候选副本数据集合中多个候选副本数据所在存储系统为预设类型的存储系统,则获取任一候选副本数据所在存储系统的数据读取信息以及吞吐量信息,然后根据数据读取信息与吞吐量信息计算任一候选副本数据所在存储系统的输入/输出负载量,以便基于各个候选副本数据所在存储系统的输入/输出负载量从候选副本数据集合中确定目标副本数据。
其中,任一存储系统的数据读取信息用于指示任一存储系统中已被读取数据的第一数量与已存储的数据总量之间的比值。可选的,当每个存储系统中已存储的数据总量相同时,存储系统的数据读取信息中可以包括存储系统中已被读取数据的第一数量,直接用存储系统中已被读取数据的第一数量指示存储系统中已被读取数据的第一数量与已存储的数据总量之间的比值。可选的,当每个存储系统中已存储的数据总量不同时,存储系统的数据读取信息中可以包括存储系统中已被读取数据的第一数量以及存储系统中已存储的数据总量,可以根据数据读取信息中已被读取数据的第一数量以及存储系统中已存储的数据总量计算得到已被读取数据的第一数量与已存储的数据总量之间的比值。其中,存储系统中已存储的数据总量可以为任意单位的数量级,例如存储系统中已存储的数据总量为千字节(KB)、兆字节(MB)、吉字节(GB)或者太字节(TB)等等。存储系统中已被读取数据的第一数量与存储系统中已存储的数据总量类似,存储系统中已被读取数据的第一数量也可以为任意单位的数量级。
其中,每个存储系统的吞吐量信息与该存储系统的类别相关。针对同一类型的存储系统,不同类别的存储系统可能具有不同的吞吐量信息。例如本地存储系统可能包括本地固态硬盘(Solid State Disk,SSD)、本地硬盘驱动器(Hard Disk Drive,HDD)和云硬盘(Cloud Block Storag,CBS)。其中,本地SSD的吞吐量信息优于CBS的吞吐量信息,CBS的吞吐量信息优于本地HDD。其中,吞吐量信息可以是指每个类别的存储系统的最大吞吐量,也可以是指每个类别的存储系统的平均吞吐量。
其中,各个类别的存储系统的吞吐量信息可以是根据经验或者业务需求设置的,例如,本地SSD的吞吐量信息可以配置为500兆字节、CBS的吞吐量信息可以配置为350兆字节以及本地HDD的吞吐量信息可以配置为200兆字节。其中,数据处理设备可以从每个存储系统的配置信息中直接获取每个存储系统的吞吐量信息,也可以是通过第三方测试软件对每个存储系统进行测试获得的吞吐量信息。
在一个实施例中,数据处理设备可以通过以下方式计算候选副本数据集合中多个候选副本数据中任一候选副本数据所在存储系统的输入/输出负载量。获取任一候选副本数据所在存储系统的数据读取信息与吞吐量信息,然后计算候选数据读取信息与吞吐量信息的比值;获取常量因子,并将常量因子与比值进行相乘运算得到任一候选副本数据所在存储系统的输入/输出负载量。可以通过以下表达式计算任一候选副本数据所在存储系统的输入/输出负载量:
输入/输出负载量=(数据读取信息*K)/T
其中,K用于表示常量因子,用于调节输入/输出负载量;T用于表示每个类别的存储系统的吞吐量信息。
数据处理设备在计算得到候选副本数据集合中的各个候选副本数据所在存储系统的输入/输出负载量之后,可基于各个候选副本数据所在存储系统的输入/输出负载量确定目标副本数据,即转而执行步骤S203。
S203:基于各个候选副本数据所在存储系统的输入/输出负载量确定目标副本数据,并输出该目标副本数据。
具体的,比较各个候选副本数据所在存储系统的输入/输出负载量,将输入/输出负载量最小的存储系统内的候选副本数据作为目标副本数据。
为了更好的描述本发明实施例,现在结合图3对本发明的数据处理方法进一步阐述。如图3所示,数据处理设备接收到对目标数据的副本数据的读取事件,并响应于对目标数据的副本数据的读取事件从目标数据对应的多个副本数据中确定候选副本数据集合。然后判断候选副本数据集合中多个候选副本数据的预设类型,若候选副本数据集合中多个候选副本数据所在存储系统为预设类型的存储系统,则根据各个候选副本数据所在存储系统的输入/输出负载量确定目标副本数据;若候选副本数据集合中多个候选副本数据所在存储系统为除预设类型的存储系统外的其他存储系统,则根据各个候选副本数据所在存储系统的数据读取信息从候选副本数据集合中确定目标副本数据。最后,数据处理设备输出目标副本数据。
在本发明实施例中,数据处理设备响应于对目标数据的副本数据的读取事件,从目标数据对应的多个副本数据中确定候选副本数据集合;若候选副本数据集合中多个候选副本数据所在存储系统为预设类型的存储系统,则计算各个候选副本数据所在存储系统的输入/输出负载量,并基于各个候选副本数据所在存储系统的输入/输出负载量确定目标副本数据;若候选副本数据集合中多个候选副本数据所在存储系统为除预设类型的存储系统外的其他存储系统,则根据各个候选副本数据所在存储系统的数据读取信息确定目标副本数据。由于本发明实施例引入了候选副本数据所在存储系统的输入/输出负载量,不仅通过候选副本数据所在存储系统的数据读取信息确定目标数据的副本数据的选择权重,还通过候选副本数据所在存储系统的输入/输出负载量确定目标数据的副本数据的选择权重。相比于仅通过候选副本数据所在存储系统的数据读取信息确定目标数据的副本数据的选择权重的方式而言,本发明实施例中结合候选副本数据所在存储系统的数据读取信息和候选副本数据所在存储系统的数据读取信息确定目标数据的副本数据的选择权重,可以考虑到本地存储系统的输入/输出性能,可以均衡调度目标数据的多个副本数据,提高每个存储系统的资源利用率,从而提升整体的系统性能。
参见上述图2所示的方法实施例的相关描述可知,图2所示的数据处理方法可以实现对目标数据的多个副本数据进行调度选择。然而,为了进一步保证数据处理设备读取目标副本数据的速度,数据处理设备还可以先根据副本数据所在存储系统的读取速度确定候选副本数据集合,然后再根据候选副本数据集合中的候选副本数据所在存储系统的负载确定目标副本数据。基于此,本发明实施例还提供了另一种数据处理方法,请参见图4,该数据处理方法包括S401-S405:
S401,响应于对目标数据的副本数据的读取事件,获取目标数据对应的多个副本数据。
在一个实施例中,步骤S401中包括的一些可行的实施方式可参见图2实施例中相关步骤的描述,在此不做赘述。
S402,根据目标数据对应的多个副本数据中的各个副本数据所在存储系统的读取速度确定候选副本数据集合。
由于数据处理设备读取目标数据对应的任意一个副本数据的速度与该任意一个副本数据所在存储系统的读取速度相关,所以为了保障数据处理设备读取目标副本数据的速度够快。在一个实施例中,数据处理设备在获取目标数据对应的多个副本数据后,需要对目标数据对应的多个副本数据中各个副本数据所在存储系统的读取速度进行比较,将读取速度最快的存储系统内的副本数据添加至候选副本数据集合,以便后续从候选副本数据集合中确定的目标副本数据的速度较快。例如,目标数据对应的多个副本数据分别为副本数据A、副本数据B、副本数据C、副本数据D和副本数据E。副本数据A所在存储系统、副本数据B所在存储系统和副本数据C所在存储系统均为高速存储系统(cache),副本数据D所在存储系统为本地存储系统(local),副本数据E所在存储系统为远程存储系统(remote),cache、local和remote按照读取速度由快到慢的关系为:cache>local>remote;那么可以将副本数据A、副本数据B和副本数据C添加至候选副本数据集合。需要明白,上述目标数据对应的多个副本数据所在存储系统,以及各个副本数据所在存储系统的读取速度的快慢关系仅仅为示例性说明,在其他的实施方式中,目标数据对应的多个副本数据所在存储系统还可能为其他情况。例如副本数据A和副本数据B所在存储系统为cache1、副本数据C所在存储系统为cache2,副本数据D所在存储系统为local,副本数据E所在存储系统为远程存储系统remote。cache1、cache2、local和remote按照读取速度由快到慢的关系为:cache1>cache2>local>remote;那么可以将副本数据A和副本数据B添加至候选副本数据集合。
在另一个实施例中,数据处理设备在获取目标数据对应的多个副本数据后,对目标数据对应的多个副本数据中各个副本数据所在存储系统的读取速度与第一阈值比较,将读取速度大于第一阈值的存储系统内的副本数据添加至候选副本数据集合,以便后续从候选副本数据集合中确定的目标副本数据的速度较快。
在一个实施例中,数据处理设备从目标数据对应的多个副本数据中确定的候选副本数据集合中可以包括一个或多个候选副本数据。当候选副本数据集合包括一个候选副本数据时,可以直接将该候选副本数据作为目标副本数据;当候选副本数据集合包括多个候选副本数据时,执行步骤S403。
S403,若候选副本数据集合中多个候选副本数据所在存储系统为预设类型的存储系统,则获取各个候选副本数据所在存储系统的数据读取信息和吞吐量信息。
S404,根据各个候选副本数据所在存储系统的数据读取信息和吞吐量信息计算各个候选副本数据所在存储系统的输入/输出负载量。
在一个实施例中,步骤S403和步骤S404中包括的一些可行的实施方式可参见图2实施例中相关步骤的描述,在此不做赘述。
S405,基于各个候选副本数据所在存储系统的输入/输出负载量确定目标副本数据。
数据处理设备可以将输入/输出负载量最小的存储系统的候选副本数据确定为目标副本数据。在一个实施例中,若输入/输出负载量最小的存储系统只有一个,那么就将该输入/输出负载量最小的存储系统内的候选副本数据作为目标副本数据。例如,候选副本数据集合中包括3个候选副本数据,分别为候选副本数据A、候选副本数据B和候选副本数据C,且候选副本数据A所在的存储系统为存储系统A,候选副本数据B所在的存储系统为存储系统B,候选副本数据C所在的存储系统为存储系C。根据数据读取信息和吞吐量信息计算得到:存储系统A的输入/输出负载量大于存储系统B的输入/输出负载量和存储系统C的输入/输出负载量,且存储系统C的输入/输出负载量大于存储系统B的输入/输出负载量,那么可以确定存储系统B为输入/输出负载量最小的存储系统,因此,可以将候选副本数据B确定为目标副本数据。在另一个实施例中,若输入/输出负载量最小的存储系统包括多个,那么可以采用轮询策略从多个输入/输出负载量最小的存储系统中选取任意一个输入/输出负载量最小的存储系统,并将该任意一个输入/输出负载量最小的存储系统内的候选副本数据作为目标副本数据,也就是说采用轮询策略从多个目标副本数据中选取任一目标数据副本,输出选取的所述任一目标数据副本。仍承接上述例子,若存储系统A的输入/输出负载量大于存储系统B的输入/输出负载量和存储系统C的输入/输出负载量,且存储系统B的输入/输出负载量与存储系统C的输入/输出负载量相等,那么可以采用轮询策略输出存储系统B内的候选副本数据B或者存储系统C内的候选副本数据C。
为了更好的描述本发明实施例,现在结合图5对本发明的数据处理方法进一步阐述。如图5所示,数据处理设备接收到对目标数据的副本数据的读取事件,数据处理设备响应于对目标数据的副本数据的读取事件获取目标数据对应的多个副本数据。然后根据目标数据对应的多个副本数据中各个副本数据所在存储系统的读取速度确定候选副本数据集合。接着判断候选副本数据集合中多个候选副本数据的类型,若候选副本数据集合中多个候选副本数据所在存储系统为预设类型的存储系统(例如为本地存储系统),则根据各个候选副本数据所在存储系统的输入/输出负载量确定目标副本数据;若候选副本数据集合中多个候选副本数据所在存储系统为除预设类型的存储系统外的其他存储系统,则根据各个候选副本数据所在存储系统的数据读取信息从候选副本数据集合中确定目标副本数据。最后,数据处理设备根据轮询策略输出目标副本数据。
在本发明实施例中,数据处理设备响应于对目标数据的副本数据的读取事件获取目标数据对应的多个副本数据,并根据目标数据对应的多个副本数据中各个副本数据所在存储系统的读取速度确定候选副本数据集合;然后再根据候选副本数据集合中各个副本数据所在存储系统的类型执行不同的策略确定目标副本数据。由于本发明实施例在对目标数据的多个副本数据进行调度选择时考虑了目标数据的多个副本数据所在存储系统的读取速度,可以调度选择读取速度较快的副本数据,保障用户体验。除此之外,本发明实施例还结合候选副本数据所在存储系统的数据读取信息和候选副本数据所在存储系统的数据读取信息确定目标数据的副本数据的选择权重,可以均衡调度目标数据的多个副本数据,提高每个存储系统的资源利用率,提升整体的系统性能。
基于上述数据处理方法实施例的描述,本发明实施例还公开了一种数据处理装置,所述数据处理装置可以是运行于上述所提及的数据处理设备中的一个计算机程序(包括程序代码)。该数据处理装置可以执行图2或图4所示的方法。请参见图6,所述数据处理装置可以运行如下单元:
确定单元601,用于响应于对目标数据的副本数据的读取事件,从所述目标数据对应的多个副本数据中确定候选副本数据集合;
计算单元602,用于若所述候选副本数据集合中多个候选副本数据所在存储系统为预设类型的存储系统,则计算所述各个候选副本数据所在存储系统的输入/输出负载量;
输出单元603,用于基于所述各个候选副本数据所在存储系统的输入/输出负载量确定目标副本数据,并输出所述目标副本数据。
在一种实施方式中,确定单元601从所述目标数据对应的多个副本数据中确定候选副本数据集合,包括:
获取所述目标数据对应的多个副本数据中各个副本数据所在存储系统的读取速度;
将读取速度最快的存储系统内的副本数据添加至所述候选副本数据集合。
再一种实施方式中,计算单元602还用于若所述候选副本数据集合中多个候选副本数据所在存储系统为除所述预设类型的存储系统外的其他存储系统,则根据所述各个候选副本数据所在存储系统的数据读取信息从所述候选副本数据集合中确定目标副本数据;任一存储系统的数据读取信息用于指示所述任一存储系统中已被读取数据的第一数量与已存储的数据总量之间的比值。
再一种实施方式中,计算单元602用于计算各个候选副本数据所在存储系统的输入/输出负载量,包括:
获取任一候选副本数据所在存储系统的数据读取信息以及吞吐量信息;
根据所述数据读取信息与所述吞吐量信息计算所述任一候选副本数据所在存储系统的输入/输出负载量。
再一种实施方式中,计算单元602用于根据所述数据读取信息与所述吞吐量信息计算所述任一候选副本数据所在存储系统的输入/输出负载量,包括:
计算所述数据读取信息与所述吞吐量信息的比值;
获取常量因子,并将所述常量因子与所述比值进行相乘运算得到所述任一候选副本数据所在存储系统的输入/输出负载量。
再一种实施方式中,输出单元603用于基于所述各个候选副本数据所在存储系统的输入/输出负载量确定目标副本数据,包括:
比较所述各个候选副本数据所在存储系统的输入/输出负载量;
将输入/输出负载量最小的存储系统内的候选副本数据作为所述目标副本数据。
再一种实施方式中,所述目标副本数据的数量包括多个,输出单元603用于输出所述目标副本数据包括:
采用轮询策略从多个目标副本数据中选取任一目标数据副本;
输出选取的所述任一目标数据副本。
根据本发明的一个实施例,图2或图4所示的方法所涉及的各个步骤均可以是由图6所示的数据处理装置中的各个单元执行的。例如,图2所示的步骤S201由图6中所示的确定单元601来执行,步骤S202由图6中所示的计算单元602来执行,步骤S203由图6中所示的输出单元603来执行。又例如,图4所示的步骤S401和步骤S402由图6中所示的确定单元601来执行,步骤S403和步骤S404由图6中所示的计算单元602来执行,步骤S405由图6中所示的输出单元603来执行。
本发明实施例中,数据处理装置响应于对目标数据的副本数据的读取事件,从目标数据对应的多个副本数据中确定候选副本数据集合;若候选副本数据集合中多个候选副本数据所在存储系统为预设类型的存储系统,则计算各个候选副本数据所在存储系统的输入/输出负载量,并基于各个候选副本数据所在存储系统的输入/输出负载量确定目标副本数据;若候选副本数据集合中多个候选副本数据所在存储系统为除预设类型的存储系统外的其他存储系统,则根据各个候选副本数据所在存储系统的数据读取信息确定目标副本数据。由于本发明实施例引入了候选副本数据所在存储系统的输入/输出负载量,不仅通过候选副本数据所在存储系统的数据读取信息确定目标数据的副本数据的选择权重,还通过候选副本数据所在存储系统的输入/输出负载量确定目标数据的副本数据的选择权重。相比于仅通过候选副本数据所在存储系统的数据读取信息确定目标数据的副本数据的选择权重的方式而言,本发明实施例中结合候选副本数据所在存储系统的数据读取信息和候选副本数据所在存储系统的数据读取信息确定目标数据的副本数据的选择权重,可以考虑到本地存储系统的输入/输出性能,可以均衡调度目标数据的多个副本数据,提高每个存储系统的资源利用率,从而提升整体的系统性能。
基于上述数据处理方法实施例的描述,本发明实施例还公开了一种数据处理设备。请参见图7,该数据处理设备至少包括处理器701、输入接口702、输出接口703以及计算机存储介质704可通过总线或其他方式连接。
所述计算机存储介质704是数据处理设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质704既可以包括数据处理设备的内置存储介质,当然也可以包括数据处理设备支持的扩展存储介质。计算机存储介质704提供存储空间,该存储空间存储了数据处理设备的操作系统。并且,在该存储空间中还存放了适于被处理器701加载并执行的一条或多条指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机存储介质可以是高速RAM存储器;可选的,还可以是至少一个远离前述处理器的计算机存储介质、所述处理器可以称为中央处理单元(CentralProcessing Unit,CPU),是数据处理设备的核心以及控制中心,适于被实现一条或多条指令,具体加载并执行一条或多条指令从而实现相应的方法流程或功能。
在一个实施例中,可由处理器701加载并执行计算机存储介质704中存放的一条或多条指令,以实现执行图2或图4中所示的相应方法所涉及的各步骤,具体实现中,计算机存储介质704中的一条或多条指令由处理器701加载并执行以下步骤:
响应于对目标数据的副本数据的读取事件,从所述目标数据对应的多个副本数据中确定候选副本数据集合;
若所述候选副本数据集合中多个候选副本数据所在存储系统为预设类型的存储系统,则计算所述各个候选副本数据所在存储系统的输入/输出负载量;
基于所述各个候选副本数据所在存储系统的输入/输出负载量确定目标副本数据,并输出所述目标副本数据。
在一种实施方式中,处理器701从所述目标数据对应的多个副本数据中确定候选副本数据集合,包括:
获取所述目标数据对应的多个副本数据中各个副本数据所在存储系统的读取速度;
将读取速度最快的存储系统内的副本数据添加至所述候选副本数据集合。
再一种实施方式中,处理器701还用于若所述候选副本数据集合中多个候选副本数据所在存储系统为除所述预设类型的存储系统外的其他存储系统,则根据所述各个候选副本数据所在存储系统的数据读取信息从所述候选副本数据集合中确定目标副本数据;任一存储系统的数据读取信息用于指示所述任一存储系统中已被读取数据的第一数量与已存储的数据总量之间的比值。
再一种实施方式中,处理器701用于计算各个候选副本数据所在存储系统的输入/输出负载量,包括:
获取任一候选副本数据所在存储系统的数据读取信息以及吞吐量信息;
根据所述数据读取信息与所述吞吐量信息计算所述任一候选副本数据所在存储系统的输入/输出负载量。
再一种实施方式中,处理器701根据所述数据读取信息与所述吞吐量信息计算所述任一候选副本数据所在存储系统的输入/输出负载量,包括:
计算所述数据读取信息与所述吞吐量信息的比值;
获取常量因子,并将所述常量因子与所述比值进行相乘运算得到所述任一候选副本数据所在存储系统的输入/输出负载量。
再一种实施方式中,处理器701基于所述各个候选副本数据所在存储系统的输入/输出负载量确定目标副本数据,包括:
比较所述各个候选副本数据所在存储系统的输入/输出负载量;
将输入/输出负载量最小的存储系统内的候选副本数据作为所述目标副本数据。
再一种实施方式中,所述目标副本数据的数量包括多个,处理器701用于输出所述目标副本数据包括:
采用轮询策略从多个目标副本数据中选取任一目标数据副本;
输出选取的所述任一目标数据副本。
在本发明实施例中,数据处理设备响应于对目标数据的副本数据的读取事件,从目标数据对应的多个副本数据中确定候选副本数据集合;若候选副本数据集合中多个候选副本数据所在存储系统为预设类型的存储系统,则计算各个候选副本数据所在存储系统的输入/输出负载量,并基于各个候选副本数据所在存储系统的输入/输出负载量确定目标副本数据;若候选副本数据集合中多个候选副本数据所在存储系统为除预设类型的存储系统外的其他存储系统,则根据各个候选副本数据所在存储系统的数据读取信息确定目标副本数据。由于本发明实施例引入了候选副本数据所在存储系统的输入/输出负载量,不仅通过候选副本数据所在存储系统的数据读取信息确定目标数据的副本数据的选择权重,还通过候选副本数据所在存储系统的输入/输出负载量确定目标数据的副本数据的选择权重。相比于仅通过候选副本数据所在存储系统的数据读取信息确定目标数据的副本数据的选择权重的方式而言,本发明实施例中结合候选副本数据所在存储系统的数据读取信息和候选副本数据所在存储系统的数据读取信息确定目标数据的副本数据的选择权重,可以考虑到本地存储系统的输入/输出性能,可以均衡调度目标数据的多个副本数据,提高每个存储系统的资源利用率,从而提升整体的系统性能。
需要说明的是,本发明实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机程序指令,该计算机程序指令存储在计算机可读存储介质中。计算机存储介质中存储有计算机程序指令,数据处理设备的处理器从计算机可读存储介质读取该计算机程序指令,处理器执行该计算机程序指令,使得该数据处理设备执行上述数据处理方法实施例图2或图4中所执行的步骤。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
响应于对目标数据的副本数据的读取事件,从所述目标数据对应的多个副本数据中确定候选副本数据集合;
若所述候选副本数据集合中多个候选副本数据所在存储系统为预设类型的存储系统,则计算各个候选副本数据所在存储系统的输入/输出负载量;
基于所述各个候选副本数据所在存储系统的输入/输出负载量确定目标副本数据,并输出所述目标副本数据。
2.如权利要求1所述的方法,其特征在于,所述从所述目标数据对应的多个副本数据中确定候选副本数据集合,包括:
获取所述目标数据对应的多个副本数据中各个副本数据所在存储系统的读取速度;
将读取速度最快的存储系统内的副本数据添加至所述候选副本数据集合。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
若所述候选副本数据集合中多个候选副本数据所在存储系统为除所述预设类型的存储系统外的其他存储系统,则根据所述各个候选副本数据所在存储系统的数据读取信息从所述候选副本数据集合中确定目标副本数据;任一存储系统的数据读取信息用于指示所述任一存储系统中已被读取数据的第一数量与已存储的数据总量之间的比值。
4.如权利要求1所述的方法,其特征在于,所述计算各个候选副本数据所在存储系统的输入/输出负载量,包括:
获取任一候选副本数据所在存储系统的数据读取信息以及吞吐量信息;
根据所述数据读取信息与所述吞吐量信息计算所述任一候选副本数据所在存储系统的输入/输出负载量。
5.如权利要求4所述的方法,其特征在于,所述根据所述数据读取信息与所述吞吐量信息计算所述任一候选副本数据所在存储系统的输入/输出负载量,包括:
计算所述数据读取信息与所述吞吐量信息的比值;
获取常量因子,并将所述常量因子与所述比值进行相乘运算得到所述任一候选副本数据所在存储系统的输入/输出负载量。
6.如权利要求1所述的方法,其特征在于,所述基于所述各个候选副本数据所在存储系统的输入/输出负载量确定目标副本数据,包括:
比较所述各个候选副本数据所在存储系统的输入/输出负载量;
将输入/输出负载量最小的存储系统内的候选副本数据作为所述目标副本数据。
7.如权利要求2-6任一项所述的方法,其特征在于,所述目标副本数据的数量包括多个,所述输出所述目标副本数据包括:
采用轮询策略从多个目标副本数据中选取任一目标数据副本;
输出选取的所述任一目标数据副本。
8.一种数据处理装置,其特征在于,包括:
确定单元,用于响应于对目标数据的副本数据的读取事件,从所述目标数据对应的多个副本数据中确定候选副本数据集合;
计算单元,用于若所述候选副本数据集合中多个候选副本数据所在存储系统为预设类型的存储系统,则计算所述各个候选副本数据所在存储系统的输入/输出负载量;
输出单元,用于基于所述各个候选副本数据所在存储系统的输入/输出负载量确定目标副本数据,并输出所述目标副本数据。
9.一种数据处理设备,包括输入接口、输出接口,其特征在于,还包括:
处理器,适于实现一条或多条指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行如权利要求1-7任意一项所述的数据处理方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由处理器加载并执行如权利要求1-7任意一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110244108.5A CN115016724A (zh) | 2021-03-05 | 2021-03-05 | 数据处理方法、装置、数据处理设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110244108.5A CN115016724A (zh) | 2021-03-05 | 2021-03-05 | 数据处理方法、装置、数据处理设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115016724A true CN115016724A (zh) | 2022-09-06 |
Family
ID=83064487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110244108.5A Pending CN115016724A (zh) | 2021-03-05 | 2021-03-05 | 数据处理方法、装置、数据处理设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115016724A (zh) |
-
2021
- 2021-03-05 CN CN202110244108.5A patent/CN115016724A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10560465B2 (en) | Real time anomaly detection for data streams | |
US9348840B2 (en) | Adaptive data striping and replication across multiple storage clouds for high availability and performance | |
US10127086B2 (en) | Dynamic management of data stream processing | |
US9912752B1 (en) | Retention-based data management in a network-based data store | |
CN107832153B (zh) | 一种Hadoop集群资源自适应分配方法 | |
US10715460B2 (en) | Opportunistic resource migration to optimize resource placement | |
US8112546B2 (en) | Routing users to receive online services based on online behavior | |
US8504556B1 (en) | System and method for diminishing workload imbalance across multiple database systems | |
US9116936B2 (en) | Inline learning-based selective deduplication for primary storage systems | |
US8442955B2 (en) | Virtual machine image co-migration | |
JP2017130211A (ja) | 記憶階層の動的選択 | |
US9652368B2 (en) | Using linked data to determine package quality | |
US20130254320A1 (en) | Determining priorities for cached objects to order the transfer of modifications of cached objects based on measured network bandwidth | |
CN110740164B (zh) | 服务器确定方法、调控方法、装置、设备及存储介质 | |
US10616134B1 (en) | Prioritizing resource hosts for resource placement | |
US10169085B2 (en) | Distributed computing of a task utilizing a copy of an original file stored on a recovery site and based on file modification times | |
US20230229580A1 (en) | Dynamic index management for computing storage resources | |
Abad et al. | Generating request streams on Big Data using clustered renewal processes | |
US11625192B2 (en) | Peer storage compute sharing using memory buffer | |
US10594620B1 (en) | Bit vector analysis for resource placement in a distributed system | |
CN111444148A (zh) | 基于MapReduce的数据传输方法和装置 | |
CN116842012A (zh) | 一种Redis集群的分片存储方法、装置、设备及存储介质 | |
US10705752B2 (en) | Efficient data migration in hierarchical storage management system | |
US11977513B2 (en) | Data flow control in distributed computing systems | |
CN115016724A (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 |