CN107301090B - 在存储服务器中为应用设置数据处理路径的方法及装置 - Google Patents

在存储服务器中为应用设置数据处理路径的方法及装置 Download PDF

Info

Publication number
CN107301090B
CN107301090B CN201610232333.6A CN201610232333A CN107301090B CN 107301090 B CN107301090 B CN 107301090B CN 201610232333 A CN201610232333 A CN 201610232333A CN 107301090 B CN107301090 B CN 107301090B
Authority
CN
China
Prior art keywords
data processing
parameter value
processing path
application
target
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
Application number
CN201610232333.6A
Other languages
English (en)
Other versions
CN107301090A (zh
Inventor
李夫路
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201610232333.6A priority Critical patent/CN107301090B/zh
Priority to PCT/CN2017/080480 priority patent/WO2017177953A1/zh
Publication of CN107301090A publication Critical patent/CN107301090A/zh
Application granted granted Critical
Publication of CN107301090B publication Critical patent/CN107301090B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种在存储服务器中为应用设置数据处理路径的方法及装置,属于数据存储领域。方法包括:接收应用服务器发送的为应用设置的目标数据处理路径的目标参数值;确定存储服务器中每条数据处理路径与所述目标参数值对应的参数值;将所确定的与所述目标参数值最接近的参数值对应的数据处理路径设置为所述应用的目标数据处理路径。通过获取体现应用的性能、成本等要求的目标参数值,并将与目标参数值最接近的参数值对应的数据处理路径设置为应用的目标数据处理路径,使得目标数据处理路径能够满足应用的性能、成本等要求,提高了应用的数据I/O性能。

Description

在存储服务器中为应用设置数据处理路径的方法及装置
技术领域
本发明涉及数据存储领域,特别涉及一种在存储服务器中为应用设置数据处理路径的方法及装置。
背景技术
随着互联网的普及和社会信息化的发展,人们的生活和工作已经离不开各式各样的应用,比如,数据库应用、多媒体应用、虚拟桌面应用等。存储***可以为多个应用提供数据存储服务,该存储***中包含存储服务器,该存储服务器可以基于存储***中包含的各种软硬件资源,为应用设置相应的数据处理路径,使得应用在数据I/O(Input Output,输入输出)时,可以按照设置的数据处理路径进行。
现有技术中,存储服务器可以基于已有的软硬件资源为应用随机设置数据处理路径。然而,现有的随机分配机制,虽然能够为应用设置数据处理路径,使得应用能够完成基本的数据处理,但是由于不同应用对数据处理的性能、成本等要求不同,比如,虚拟桌面应用对数据处理的时延要求较高,多媒体应用对时延要求较低而对成本要求较高等。基于上述随机分配机制所设置的数据处理路径,不能满足应用的性能、成本等要求,导致应用的数据I/O性能受到影响。
发明内容
为了解决现有技术的问题,本申请提供了一种在存储服务器中为应用设置数据处理路径的方法及装置。所述技术方案如下:
第一方面,提供了一种在存储服务器中为应用设置数据处理路径的方法,所述存储服务器中设置有多条数据处理路径,所述数据处理路径为存储服务器完成所述应用的数据I/O所需要执行的多个任务;所述方法包括:
接收应用服务器发送的为应用设置的目标数据处理路径的目标参数值;确定存储服务器中每条数据处理路径与所述目标参数值对应的参数值;将所确定的与所述目标参数值最接近的参数值对应的数据处理路径设置为所述应用的目标数据处理路径。通过获取体现应用的性能、成本等要求的目标参数值,并将与目标参数值最接近的参数值对应的数据处理路径设置为应用的目标数据处理路径,使得目标数据处理路径能够满足应用的性能、成本等要求,提高了应用的数据I/O性能。
结合第一方面,在第一方面的第一种可能的实现方式中,所述存储服务器中的每个任务包括至少一种处理方式,从每个任务的至少一种处理方式中选择一种处理方式形成所述多条数据处理路径。通过为每个任务提供多种处理方式,增加了数据处理路径选择的多样性,使得存储服务器能够更好地为应用设置满足需求的数据处理路径。
结合第一方面,在第一方面的第二种可能的实现方式中,所述确定存储服务器中每条数据处理路径与所述目标参数对应的参数值包括:获取所述每条数据处理路径对应的多个任务以及每个任务的至少一种处理方式;根据所述多个任务以及每个任务的至少一种处理方式,计算所述每条数据处理路径与所述目标参数值对应的参数值。通过计算每条数据处理路径与目标参数值对应的参数值,可以更加精确地为应用设置满足需求的数据处理路径。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述根据所述多个任务以及每个任务的至少一种处理方式,计算所述每条数据处理路径与所述目标参数值对应的参数值包括:根据所述多个任务以及每个任务的至少一种处理方式,生成有向无环图DAG,所述DAG用于指示所述应用的多条数据处理路径;根据所述DAG计算所述每条数据处理路径与所述目标参数值对应的参数值。通过将最优数据处理路径的获取问题,转化成DAG模型中获取最短路径的问题,大大简化了数据处理的计算量,使得最优数据处理路径的获取过程更加简便快捷。
结合第一方面,在第一方面的第四种可能的实现方式中,所述将所确定的与所述目标参数值最接近的参数值对应的数据处理路径设置为所述应用的目标数据处理路径包括:判断所述每条数据处理路径与所述目标参数值对应的参数值是否不大于所述目标参数值;若存在一条数据处理路径与所述目标参数值对应的参数值不大于所述目标参数值,则将所述一条数据处理路径设置为所述应用的目标数据处理路径;若存在至少两条数据处理路径与所述目标参数值对应的参数值不大于所述目标参数值,则在所述至少两条数据处理路径中,获取参数值最小的第一数据数据处理路径,并将所述第一数据数据处理路径设置为所述应用的目标数据处理路径。通过将最优数据处理路径的获取问题,转化成DAG模型中获取最短路径的问题,大大简化了数据处理的计算量,使得最优数据处理路径的获取过程更加简便快捷。
结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述判断所述每条数据处理路径与所述目标参数值对应的参数值是否不大于所述目标参数值之后,所述方法还包括:若所述每条数据处理路径与所述目标参数值对应的参数值均大于所述目标参数值,则在所述应用的多条数据处理路径中,获取参数值最小的第二数据处理路径;将所述第二数据处理路径设置为所述应用的目标数据处理路径。通过将最优数据处理路径的获取问题,转化成DAG模型中获取最短路径的问题,大大简化了数据处理的计算量,使得最优数据处理路径的获取过程更加简便快捷。
结合第一方面,在第一方面的第六种可能的实现方式中,所述将所确定的与所述目标参数值最接近的参数值对应的数据处理路径设置为所述应用的目标数据处理路径之后,所述方法还包括:当接收到所述应用的数据写入请求时,根据所述目标数据处理路径对所述应用的数据进行存储。通过根据满足应用性能、成本等需求的目标数据处理路径对应用的数据进行存储,提高了应用的数据I/O性能。
第二方面,提供了一种在存储服务器中为应用设置数据处理路径的装置,所述装置包括多个功能模块用于执行上述第一方面所述的方法。在一种可能的实现方式中,所述装置还包括其他功能模块用于执行上述第一方面中多种可能的实现方式所述的方法。通过获取体现应用的性能、成本等要求的目标参数值,并将与目标参数值最接近的参数值对应的数据处理路径设置为应用的目标数据处理路径,使得目标数据处理路径能够满足应用的性能、成本等要求,提高了应用的数据I/O性能。
第三方面,提供了一种服务器,包括处理器,用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:
接收应用服务器发送的为应用设置的目标数据处理路径的目标参数值;确定存储服务器中每条数据处理路径与所述目标参数值对应的参数值;将所确定的与所述目标参数值最接近的参数值对应的数据处理路径设置为所述应用的目标数据处理路径。通过获取体现应用的性能、成本等要求的目标参数值,并将与目标参数值最接近的参数值对应的数据处理路径设置为应用的目标数据处理路径,使得目标数据处理路径能够满足应用的性能、成本等要求,提高了应用的数据I/O性能。
结合第三方面,在第三方面的第一种可能的实现方式中,所述存储服务器中的每个任务包括至少一种处理方式,从每个任务的至少一种处理方式中选择一种处理方式形成所述多条数据处理路径。通过为每个任务提供多种处理方式,增加了数据处理路径选择的多样性,使得存储服务器能够更好地为应用设置满足需求的数据处理路径。
结合第三方面,在第三方面的第二种可能的实现方式中,所述确定存储服务器中每条数据处理路径与所述目标参数对应的参数值包括:获取所述每条数据处理路径对应的多个任务以及每个任务的至少一种处理方式;根据所述多个任务以及每个任务的至少一种处理方式,计算所述每条数据处理路径与所述目标参数值对应的参数值。通过计算每条数据处理路径与目标参数值对应的参数值,可以更加精确地为应用设置满足需求的数据处理路径。
结合第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,所述处理器被配置为:根据所述多个任务以及每个任务的至少一种处理方式,生成有向无环图DAG,所述DAG用于指示所述应用的多条数据处理路径;根据所述DAG计算所述每条数据处理路径与所述目标参数值对应的参数值。通过将最优数据处理路径的获取问题,转化成DAG模型中获取最短路径的问题,大大简化了数据处理的计算量,使得最优数据处理路径的获取过程更加简便快捷。
结合第三方面,在第三方面的第四种可能的实现方式中,所述处理器被配置为:判断所述每条数据处理路径与所述目标参数值对应的参数值是否不大于所述目标参数值;若存在一条数据处理路径与所述目标参数值对应的参数值不大于所述目标参数值,则将所述一条数据处理路径设置为所述应用的目标数据处理路径;若存在至少两条数据处理路径与所述目标参数值对应的参数值不大于所述目标参数值,则在所述至少两条数据处理路径中,获取参数值最小的第一数据数据处理路径,并将所述第一数据数据处理路径设置为所述应用的目标数据处理路径。通过将最优数据处理路径的获取问题,转化成DAG模型中获取最短路径的问题,大大简化了数据处理的计算量,使得最优数据处理路径的获取过程更加简便快捷。
结合第三方面的第四种可能的实现方式,在第三方面的第五种可能的实现方式中,所述处理器被配置为:若所述每条数据处理路径与所述目标参数值对应的参数值均大于所述目标参数值,则在所述应用的多条数据处理路径中,获取参数值最小的第二数据处理路径;将所述第二数据处理路径设置为所述应用的目标数据处理路径。通过将最优数据处理路径的获取问题,转化成DAG模型中获取最短路径的问题,大大简化了数据处理的计算量,使得最优数据处理路径的获取过程更加简便快捷。
结合第三方面,在第三方面的第六种可能的实现方式中,所述处理器被配置为:当接收到所述应用的数据写入请求时,根据所述目标数据处理路径对所述应用的数据进行存储。通过根据满足应用性能、成本等需求的目标数据处理路径对应用的数据进行存储,提高了应用的数据I/O性能。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种存储***的结构示意图;
图2是本发明实施例提供的一种在存储服务器中为应用设置数据处理路径的方法的流程图;
图3是本发明实施例提供的一种数据处理路径的DAG图;
图4是本发明实施例提供的一种在存储服务器中为应用设置数据处理路径的装置的框图;
图5是本发明实施例提供的一种在存储服务器中为应用设置数据处理路径的装置的框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明实施例提供的一种存储***的结构示意图。参见图1,包括应存储服务器和存储介质。此外,该存储***还通过网络连接至至少一个应用服务器,图1中仅示出了一个应用服务器,本发明实施例对应用服务器的个数不做具体限定。
其中,至少一个应用服务器中的每个应用服务器包括中央处理器(CentralProcessing Unit,CPU)、内存、缓存等硬件资源以及应用和操作***等软件模块,用于获取应用的目标数据处理路径的目标参数值,并将该目标参数值通过指定接口发送至存储服务器,使得存储服务器能够根据应用的目标参数值,在应用的多条数据处理路径中为应用设置满足目标参数值的数据处理路径。一个应用服务器可以为一个或多个应用提供服务,其中,应用包括数据库应用、虚拟桌面架构(Virtual Desktop Infrastructure,VDI)应用、多媒体应用等;操作***包括文件***、卷管理、多路径软件等。数据库应用可包括联机事务处理(Online Transaction Processing,OLTP)类型的数据库应用、联机分析处理(OnlineAnalytical Processing,OLAP)类型的数据库应用。
其中,存储介质包括固态硬盘(Solid State Drives,SSD)和硬盘(Hard DiskDrive,HDD),用于存储应用的数据。存储服务器包括中央处理器(Central ProcessingUnit,CPU)、内存、缓存等硬件资源。存储服务器用于向应用服务器中的应用提供数据存储服务。存储服务器中设置有多条数据处理路径,数据处理路径为存储服务器完成应用的数据I/O所需要执行的多个任务,比如,存储介质类型选取任务、数据缓存任务、数据重删任务、数据压缩任务、数据编码任务、数据冗余任务、数据寻址任务等。存储服务器用于接收应用服务器发送的应用的目标参数值,并在应用的多条数据处理路径中选取满足目标参数值的数据处理路径设置为应用的数据处理路径,以供应用通过所设置的数据处理路径对存储服务器中的数据进行访问,如进行数据读取、写入、删除等操作。
图2是本发明实施例提供的一种在存储服务器中为应用设置数据处理路径的方法的流程图,参见图2,包括以下步骤:
201、存储服务器接收应用服务器发送的为应用设置的目标数据处理路径的目标参数值。
需要说明的是,应用在进行数据I/O时,应用服务器通常需要执行多个任务,比如,存储介质类型选取任务、数据缓存任务、数据重删任务、数据压缩任务、数据编码任务、数据冗余任务、数据寻址任务等。存储***的物理环境在一定时间内是固定不变的,其中物理环境包括存储空间、存储介质的类型和大小等。存储服务器中设置有多条数据处理路径,数据处理路径为存储服务器完成应用的数据I/O所需要执行的多个任务。
其中,对于多个任务来说,存储服务器为每个任务提供了至少一种处理方式,也即是,每个任务包括至少一种处理方式,例如对于数据压缩任务来说,存储服务器为该数据压缩任务提供了两种数据压缩方式:数据压缩方式1和数据压缩方式2。从每个任务的至少一种处理方式中选择一种处理方式形成多条数据处理路径。
其中,在进行数据I/O的过程中,每种处理方式对应多项处理消耗,比如,成本消耗、时延消耗,数据可靠性消耗等。本发明实施例将每种处理方式对应的多项处理消耗称为每种处理方式对应的参数值,该参数值可以包括多项参数值,比如,成本参数值、时延参数值以及数据可靠性参数值等。相应地,每种处理方式的参数值用于指示每种处理方式对应的多项处理消耗,比如,成本参数值对应成本消耗、时延参数值对应时延消耗,数据可靠性参数值对应数据可靠性消耗等多项处理消耗。
需要说明的是,每条数据处理路径由在每个任务的至少一个处理方式中选取一种处理方式形成,也即是,每条数据处理路径中包括多个处理方式。相应的,每条数据处理路径对应数据I/O的参数值是指,每条数据处理路径中多个数据处理方式对应的每项参数值的总和。
其中,目标数据处理路径是指存储服务器为应用设置的数据处理路径,使得应用在进行数据存储时,按照目标数据处理路径中包括的处理方式对数据进行处理。
本发明实施例中,应用管理员可以通过应用服务器为应用预先设置目标数据处理路径的目标参数值,该目标参数值用于指示应用在进行数据I/O时期望的各项处理消耗。
具体地,应用服务器可以将目标参数值通过指定接口发送至存储服务器,由存储服务器根据目标参数值在多个数据处理路径中,选取满足目标参数值的数据处理路径作为目标数据处理路径。其中,目标参数值包括目标成本、目标时延和目标数据可靠性。其中,目标成本用于指示数据处理路径的成本消耗,可包括应用数据的目标存储成本,比如存储应用数据的存储介质、存储空间等;目标时延用于指示数据处理路径的时延消耗,是指应用向存储设备发出数据I/O请求时至接收到数据I/O响应的目标时间间隔;目标数据可靠性用于指示数据处理路径的数据可靠性消耗,也即是应用对数据I/O请求所请求数据的完整性或一致性的要求,比如,对数据I/O请求所请求数据的完整性要求为95%,也即是,该数据I/O请求最大容忍5%数据丢失,则目标数据可靠性消耗可为5%。
需要说明的是,由于应用的目标参数值可以包括多项目标参数的参数值,应用在设定目标参数值时,可设定其中的一种或几种,本发明实施例对此不做具体限定。该用户可以是指应用开发商或是应用管理员等。
在本发明实施例中,应用服务器可为用户提供应用的目标参数值的配置界面,在该目标参数值的配置界面中,用户可对应用的目标成本、目标时延和目标数据可靠性进行设定。该目标参数值的配置界面可在用户安装该应用的过程中显示,或在用户触发该应用的配置操作后显示,或嵌入在专门用于配置应用的处理消耗目标的软件中,本发明实施例对此不做具体限定。
202、存储服务器确定存储服务器中每条数据处理路径与目标参数值对应的参数值。
在本发明实施例中,在确定应用的目标数据处理路径的目标参数值后,可以根据目标参数值对应的多项目标参数,对应获取每条数据处理路径与目标参数值对应的参数值,也即是,获取每条数据处理路径中多项目标参数对应的参数值。由于应用的每个任务对应多种处理方式,采用不同处理方式,应用的参数值不同,使得不同数据处理路径对应的参数值不同。
其中,确定存储服务器中每条数据处理路径与目标参数值对应的参数值的过程可以为:获取每条数据处理路径对应的多个任务以及每个任务的至少一种处理方式;根据多个任务以及每个任务的至少一种处理方式,计算每条数据处理路径与目标参数值对应的参数值。
需要说明的是,在进行数据I/O时,应用的多个任务对应的执行顺序不同,使得每个任务对应的优先级不同,比如,压缩任务要优先于缓存任务执行,则压缩任务的优先级要高于缓存任务。在每个任务的至少一种处理方式中选取一种处理方式之后,可以认为该任务对应的优先级即为选取的处理方式的优先级。
具体地,为了能够更简便快捷的计算每个数据处理路径的参数值,本发明实施例中存储服务器可根据对该应用的多个数据处理路径进行DAG(Directed Acyclic Graph,有向无环图)建模,使得DAG中的每条路径指示一个数据处理路径。之后,根据建立的模型计算应用的每个数据处理路径的与目标参数值对应的参数值,过程可以为:根据多个任务以及每个任务的至少一种处理方式,生成有向无环图DAG,DAG用于指示应用的多条数据处理路径;根据DAG计算每条数据处理路径与目标参数值对应的参数值。
具体地,上述DAG的生成过程可以为:获取每个任务的优先级,并将每个任务对应的每个处理方式确定为该DAG的节点;根据每个任务的优先级,确定每个任务对应的每个处理方式对应节点在该DAG中的层级,其中,任务的优先级越高其包含处理方式对应的节点的层级越高;确定该DAG的初始节点和结束节点,该初始节点为每个数据处理路径的起点且在该DAG中层级最高,该结束节点为每个数据处理路径的终点且在该DAG中层级最低;在相邻层级的节点之间添加有向边,该有向边指向相邻层级中层级较低的节点,也即是,每条有向边连接两个不同优先级的处理方式;有向边的权值可以设定为该有向边指向的处理方式的处理消耗,最终形成一个以处理方式为节点、处理方式的参数值为有向边权值的有向无环图。其中,处理方式的参数值与目标参数值对应,当目标参数值包含多项参数对应的参数值时,处理方式的参数值也包含多项参数对应的参数值。相应的,DAG中每条有向边权值为处理方式的多项参数对应的参数值。
需要说明的是,该DAG的初始节点对应该应用在进行数据存储时,数据I/O的起始点,比如数据I/O从应用层进入到存储***的时刻(即存储***接收到应用的数据I/O的时刻);该DAG的结束节点对应该应用在进行数据存储时,数据I/O的结束点,比如数据I/O从存储***返回到应用层(即应用接收到存储***返回的数据I/O的时刻)。
下面结合上述DAG的生成方法,对DAG的生成过程进行举例说明。例如,应用包括4个任务,该4个任务对应4个优先级,第一优先级的任务为数据压缩任务,该数据压缩任务对应的处理方式包括:压缩算法A、压缩算法B、不压缩、重删算法A、重删算法B、不重删;第二优先级的任务为数据缓存任务,该数据缓存任务对应的处理方式包括:SSD缓存、NVRAM(Non-Volatile Random Access Memory,非易失性随机访问存储器)缓存、内存缓存、不缓存;第三优先级的任务为数据冗余任务,该数据冗余任务对应的处理方式包括:DHT(DistributedHash Table,分布式哈希表)、EC(Erasure Code,数据冗余编码)、三副本、无冗余;第四优先级的任务为数据备份任务,该数据备份任务对应的处理方式包括:双活、全局备份、块服务、文件服务、对象服务。
假如,DAG的初始节点为P0,结束节点为Pe。在DAG中P0的层级最高,Pe的层级最低。在具体实施时,可默认设置初始节点的层级为0。根据上述任务的不同优先级可得到第一优先级对应DAG中第一层级,第二优先级对应DAG中第二层级,第三优先级对应DAG中第三层级,第四优先级对应DAG中第四层级,结束节点的层级为5。为了便于描述,将上述4个优先级的任务对应的多种处理方式在DAG中对应的节点进行编号,具体对应关系如下:压缩算法A(P11),压缩算法B(P12),不压缩C(P13),重删算法A(P14),重删算法B(P15),不重删(P16);SSD缓存(P21),NVRAM缓存(P22),内存缓存(P23),不缓存(P24);DHT(P31),EC(P32),三副本(P33),无冗余(P34),双活(P41),全局备份(P42),块服务(P43),文件服务(P44),对象服务(P45)。其中,“()”里的内容为处理方式对应的节点编号。
根据上述处理方式在DAG中的层级,在相邻的两个层级的节点之间添加指向较低层级节点的有向边,可以得到构建如图3所示的一种处理方式的DAG图。在图3中,该DAG示出了该应用的多个数据处理路径,其中,DAG中包含的每条路径,对应该应用的每个数据处理路径。
需要说明的是,上述不同任务的优先级仅作举例说明,本发明实施例对此不做具体限定。
在本发明实施例中,由于不同的应用包含的任务不同,不同任务对应的处理方式不同,因此,可根据不同应用的处理消耗目标,生成针对不同应用的DAG。当存储服务器中处理方式发生变化时,比如该应用包含的任务中增加了新的处理方式,则可自动根据变化后的处理方式以及变化后每个处理方式的参数值重新生成该应用的DAG,并重新获取满足该应用的目标参数值的数据处理路径。或者,在增加了新的处理方式后,提示用户是否重新对应用的目标参数值进行重新设定,也即是对目标成本、目标时延和目标数据可靠性进行重新设定;若用户重新设定了应用的目标参数值,则基于用户重新设定的目标参数值,根据变化后的处理方式以及变化后每个处理方式的参数值重新生成该应用的DAG,并重新获取满足该新目标参数值的数据处理路径。通过自动根据变化后的处理方式重新生成该应用的DAG,并重新获取满足目标参数值的数据处理路径,增加了数据处理路径设置的灵活性,提高了数据处理路径设置的效率。
在本发明实施例中,在生成DAG后,可计算该每条数据处理路径的参数值,计算过程如下:
获取从初始节点至结束节点之间的所有路径,对每个路径包含的有向边的权值进行求和,得到每条数据处理路径的参数值。
203、存储服务器将所确定的与目标参数值最接近的参数值对应的数据处理路径设置为应用的目标数据处理路径。
在本发明实施例中,在多个数据处理路径将与目标参数值最接近的参数值对应的数据处理路径设置为应用的目标数据处理路径的过程可以为:首先,判断每条数据处理路径与目标参数值对应的参数值是否不大于目标参数值。其次,根据判断结果的不同有如下三种可能的情况:
第一种,若存在一条数据处理路径与目标参数值对应的参数值不大于目标参数值,则将一条数据处理路径设置为应用的目标数据处理路径。
第二种,若存在至少两条数据处理路径与目标参数值对应的参数值不大于目标参数值,则在至少两条数据处理路径中,获取参数值最小的第一数据数据处理路径,并将第一数据数据处理路径设置为应用的目标数据处理路径。
第三种,若每条数据处理路径与目标参数值对应的参数值均大于目标参数值,则在应用的多条数据处理路径中,获取参数值最小的第二数据处理路径;将第二数据处理路径设置为应用的目标数据处理路径。
需要说明的是,在上述第三种情况中,可设置一个最小参数值阈值,若计算得到的第二数据处理路径的参数值仍然大于该最小参数值阈值,则当前存储***不能满足用户设定的目标参数值,可向用户显示进行目标参数值重新设定的提示信息。
在本发明实施例中,通过DAG模型获取与目标参数值最接近的参数值对应的数据处理路径的问题,便转化成了在DAG中获取最短路径的问题。
其中,在DAG中计算最短路径的基本原理是采用动态编程的方法:V表示所构建的DAG中所有的节点的集合,S表示已求出最短路径的节点的集合,V-S=T表示尚未确定最短路径的节点集合。初始时,S={V0},V0是起始点,T={其余节点},对于任意Vi(Vi属于T),若存在V0到Vi的直接连接<V0,Vi>,<V0,Vi>为弧上的权值,若不存在,<V0,Vi>设为无穷大。从T中选取一个其距离V0的值为最小的节点W,加入S,对T中其他节点的距离值进行修改:若加进W作中间节点,从V0到Vi的距离值比不加W的路径要短,则修改此距离值。重复上述步骤,直到S中包含所有节点,即S=V为止。
204、存储服务器当接收到应用的数据写入请求时,根据目标数据处理路径对应用的数据进行存储。
在本发明实施例中,在确定应用的目标数据处理路径后,可输出该目标数据处理路径对应的多个任务、每个任务的处理方式以及该目标数据处理路径的参数值,使得用户可以明确获知该应用的数据处理路径,以及采用该数据处理路径的参数值,也即是,该数据处理路径对应的成本消耗、时延消耗,数据可靠性消耗等多项处理消耗。若用户确定将输出的目标数据处理路径作为该应用的最终数据处理路径,则当存储服务器接收到该应用的数据写入请求时,根据确定的该目标数据处理路径对应用的数据进行存储。
需要说明的是,该应用与存储***进行交互时,不仅包括上述写入操作,还包括读取、删除等操作,本发明实施例对此不做具体限定。针对应用不同数据I/O对应的不同操作,存储服务器会接收到应用的相应的操作请求,并根据相应的操作请求通过存储设备执行数据读取、删除等操作,并向应用返回处理结果。
需要说明的是,本发明实施例提供的方法,可应用在高端存储阵列、海量存储云存储***、Doradoa V5全闪存阵列存储***等,本发明实施例对此不做具体限定。
本发明实施例提供的方法,通过获取目标数据处理路径的目标参数值,并在应用的多条数据处理路径中,将与目标参数值最接近的参数值对应的数据处理路径设置为应用的目标数据处理路径,实现了在资源、性能、成本等制约因素下采用最优的处理方式对应用的数据进行处理。进一步地,将最优数据处理路径的获取问题,转化成DAG模型中获取最短路径的问题,大大简化了数据处理的计算量,使得最优数据处理路径的获取过程更加简便快捷。
图4是本发明示例提供的一种在存储服务器中为应用设置数据处理路径的装置的框图,包括:接收模块401、获取模块402、设置模块403。
其中,接收模块401,用于接收应用服务器发送的为应用设置的目标数据处理路径的目标参数值;
获取模块402,用于确定存储服务器中每条数据处理路径与目标参数值对应的参数值;
设置模块403,用于将所确定的与目标参数值最接近的参数值对应的数据处理路径设置为应用的目标数据处理路径。
可选地,存储服务器中的每个任务包括至少一种处理方式,从每个任务的至少一种处理方式中选择一种处理方式形成多条数据处理路径。通过为每个任务提供多种处理方式,增加了数据处理路径选择的多样性,使得存储服务器能够更好地为应用设置满足需求的数据处理路径。
可选地,获取模块用于获取每条数据处理路径对应的多个任务以及每个任务的至少一种处理方式;根据多个任务以及每个任务的至少一种处理方式,计算每条数据处理路径与目标参数值对应的参数值。通过计算每条数据处理路径与目标参数值对应的参数值,可以更加精确地为应用设置满足需求的数据处理路径。
可选地,获取模块用于根据多个任务以及每个任务的至少一种处理方式,生成有向无环图DAG,DAG用于指示应用的多条数据处理路径;根据DAG计算每条数据处理路径与目标参数值对应的参数值。通过将最优数据处理路径的获取问题,转化成DAG模型中获取最短路径的问题,大大简化了数据处理的计算量,使得最优数据处理路径的获取过程更加简便快捷。
可选地,设置模块用于判断每条数据处理路径与目标参数值对应的参数值是否不大于目标参数值;若存在一条数据处理路径与目标参数值对应的参数值不大于目标参数值,则将一条数据处理路径设置为应用的目标数据处理路径;若存在至少两条数据处理路径与目标参数值对应的参数值不大于目标参数值,则在至少两条数据处理路径中,获取参数值最小的第一数据数据处理路径,并将第一数据数据处理路径设置为应用的目标数据处理路径。通过将最优数据处理路径的获取问题,转化成DAG模型中获取最短路径的问题,大大简化了数据处理的计算量,使得最优数据处理路径的获取过程更加简便快捷。
可选地,设置模块用于若每条数据处理路径与目标参数值对应的参数值均大于目标参数值,则在应用的多条数据处理路径中,获取参数值最小的第二数据处理路径;将第二数据处理路径设置为应用的目标数据处理路径。通过将最优数据处理路径的获取问题,转化成DAG模型中获取最短路径的问题,大大简化了数据处理的计算量,使得最优数据处理路径的获取过程更加简便快捷。
可选地,该装置还包括:
存储模块,用于当接收到应用的数据写入请求时,根据目标数据处理路径对应用的数据进行存储。通过根据满足应用性能、成本等需求的目标数据处理路径对应用的数据进行存储,提高了应用的数据I/O性能。
本发明实施例提供的装置,通过获取体现应用的性能、成本等要求的目标参数值,并将与目标参数值最接近的参数值对应的数据处理路径设置为应用的目标数据处理路径,使得目标数据处理路径能够满足应用的性能、成本等要求,提高了应用的数据I/O性能。
需要说明的是:上述实施例提供的存储***中数据处理路径获取装置,在获取数据处理路径时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能设置由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的容错处理装置与容错处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图5是本发明实施例提供的一种在存储服务器中为应用设置数据处理路径的装置的框图,例如,装置500可以被提供为一服务器。参照图5,装置500包括处理组件522,其进一步包括一个或多个处理器,以及由存储器532所代表的存储器资源,用于存储可由处理组件522的执行的指令,例如应用程序。存储器532中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件522被配置为执行指令,以执行上述存储***中数据处理路径获取方法。
装置500还可以包括一个电源组件526被配置为执行装置500的电源管理,一个有线或无线网络接口550被配置为将装置500连接到网络,和一个输入输出(I/O)接口558。装置500可以操作基于存储在存储器532的操作***,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
其中,处理组件522被配置为执行指令,以执行上述存储***中数据处理路径获取方法,包括以下步骤:
接收应用服务器发送的为应用设置的目标数据处理路径的目标参数值;确定存储服务器中每条数据处理路径与所述目标参数值对应的参数值;将所确定的与所述目标参数值最接近的参数值对应的数据处理路径设置为所述应用的目标数据处理路径。通过获取体现应用的性能、成本等要求的目标参数值,并将与目标参数值最接近的参数值对应的数据处理路径设置为应用的目标数据处理路径,使得目标数据处理路径能够满足应用的性能、成本等要求,提高了应用的数据I/O性能。
可选地,所述存储服务器中的每个任务包括至少一种处理方式,从每个任务的至少一种处理方式中选择一种处理方式形成所述多条数据处理路径。通过为每个任务提供多种处理方式,增加了数据处理路径选择的多样性,使得存储服务器能够更好地为应用设置满足需求的数据处理路径。
可选地,所述确定存储服务器中每条数据处理路径与所述目标参数对应的参数值包括:获取所述每条数据处理路径对应的多个任务以及每个任务的至少一种处理方式;根据所述多个任务以及每个任务的至少一种处理方式,计算所述每条数据处理路径与所述目标参数值对应的参数值。通过计算每条数据处理路径与目标参数值对应的参数值,可以更加精确地为应用设置满足需求的数据处理路径。
可选地,所述根据所述多个任务以及每个任务的至少一种处理方式,计算所述每条数据处理路径与所述目标参数值对应的参数值包括:根据所述多个任务以及每个任务的至少一种处理方式,生成有向无环图DAG,所述DAG用于指示所述应用的多条数据处理路径;根据所述DAG计算所述每条数据处理路径与所述目标参数值对应的参数值。通过将最优数据处理路径的获取问题,转化成DAG模型中获取最短路径的问题,大大简化了数据处理的计算量,使得最优数据处理路径的获取过程更加简便快捷。
可选地,所述将所确定的与所述目标参数值最接近的参数值对应的数据处理路径设置为所述应用的目标数据处理路径包括:判断所述每条数据处理路径与所述目标参数值对应的参数值是否不大于所述目标参数值;若存在一条数据处理路径与所述目标参数值对应的参数值不大于所述目标参数值,则将所述一条数据处理路径设置为所述应用的目标数据处理路径;若存在至少两条数据处理路径与所述目标参数值对应的参数值不大于所述目标参数值,则在所述至少两条数据处理路径中,获取参数值最小的第一数据数据处理路径,并将所述第一数据数据处理路径设置为所述应用的目标数据处理路径。通过将最优数据处理路径的获取问题,转化成DAG模型中获取最短路径的问题,大大简化了数据处理的计算量,使得最优数据处理路径的获取过程更加简便快捷。
可选地,所述判断所述每条数据处理路径与所述目标参数值对应的参数值是否不大于所述目标参数值之后,所述方法还包括:若所述每条数据处理路径与所述目标参数值对应的参数值均大于所述目标参数值,则在所述应用的多条数据处理路径中,获取参数值最小的第二数据处理路径;将所述第二数据处理路径设置为所述应用的目标数据处理路径。通过将最优数据处理路径的获取问题,转化成DAG模型中获取最短路径的问题,大大简化了数据处理的计算量,使得最优数据处理路径的获取过程更加简便快捷。
可选地,所述将所确定的与所述目标参数值最接近的参数值对应的数据处理路径设置为所述应用的目标数据处理路径之后,所述方法还包括:当接收到所述应用的数据写入请求时,根据所述目标数据处理路径对所述应用的数据进行存储。通过根据满足应用性能、成本等需求的目标数据处理路径对应用的数据进行存储,提高了应用的数据I/O性能。
本发明实施例提供的装置,通过获取体现应用的性能、成本等要求的目标参数值,并将与目标参数值最接近的参数值对应的数据处理路径设置为应用的目标数据处理路径,使得目标数据处理路径能够满足应用的性能、成本等要求,提高了应用的数据I/O性能。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (14)

1.一种在存储服务器中为应用设置数据处理路径的方法,所述存储服务器中为应用设置有多条数据处理路径,所述数据处理路径为存储服务器完成所述应用的数据I/O所需要执行的多个任务;
其特征在于,所述方法包括:
接收应用服务器发送的为应用设置的目标数据处理路径的目标参数值;
确定存储服务器中每条数据处理路径与所述目标参数值对应的参数值;
将所确定的与所述目标参数值最接近的参数值对应的数据处理路径设置为所述应用的目标数据处理路径。
2.根据权利要求1所述的方法,其特征在于,所述存储服务器中的每个任务包括至少一种处理方式,从每个任务的至少一种处理方式中选择一种处理方式形成所述多条数据处理路径。
3.根据权利要求1所述的方法,其特征在于,所述确定存储服务器中每条数据处理路径与所述目标参数对应的参数值包括:
获取所述每条数据处理路径对应的多个任务以及每个任务的至少一种处理方式;
根据所述多个任务以及每个任务的至少一种处理方式,计算所述每条数据处理路径与所述目标参数值对应的参数值。
4.根据权利要求3所述的方法,其特征在于,所述根据所述多个任务以及每个任务的至少一种处理方式,计算所述每条数据处理路径与所述目标参数值对应的参数值包括:
根据所述多个任务以及每个任务的至少一种处理方式,生成有向无环图DAG,所述DAG用于指示所述应用的多条数据处理路径;
根据所述DAG计算所述每条数据处理路径与所述目标参数值对应的参数值。
5.根据权利要求1所述的方法,其特征在于,所述将所确定的与所述目标参数值最接近的参数值对应的数据处理路径设置为所述应用的目标数据处理路径包括:
判断所述每条数据处理路径与所述目标参数值对应的参数值是否不大于所述目标参数值;
若存在一条数据处理路径与所述目标参数值对应的参数值不大于所述目标参数值,则将所述一条数据处理路径设置为所述应用的目标数据处理路径;
若存在至少两条数据处理路径与所述目标参数值对应的参数值不大于所述目标参数值,则在所述至少两条数据处理路径中,获取参数值最小的第一数据数据处理路径,并将所述第一数据数据处理路径设置为所述应用的目标数据处理路径。
6.根据权利要求5所述的方法,其特征在于,所述判断所述每条数据处理路径与所述目标参数值对应的参数值是否不大于所述目标参数值之后,所述方法还包括:
若所述每条数据处理路径与所述目标参数值对应的参数值均大于所述目标参数值,则在所述应用的多条数据处理路径中,获取参数值最小的第二数据处理路径;
将所述第二数据处理路径设置为所述应用的目标数据处理路径。
7.根据权利要求1所述的方法,其特征在于,所述将所确定的与所述目标参数值最接近的参数值对应的数据处理路径设置为所述应用的目标数据处理路径之后,所述方法还包括:
当接收到所述应用的数据写入请求时,根据所述目标数据处理路径对所述应用的数据进行存储。
8.一种在存储服务器中为应用设置数据处理路径的装置,所述存储服务器中为应用设置有多条数据处理路径,所述数据处理路径为存储服务器完成所述应用的数据I/O所需要执行的多个任务;
其特征在于,所述装置包括:
接收模块,用于接收应用服务器发送的为应用设置的目标数据处理路径的目标参数值;
获取模块,用于确定存储服务器中每条数据处理路径与所述目标参数值对应的参数值;
设置模块,用于将所确定的与所述目标参数值最接近的参数值对应的数据处理路径设置为所述应用的目标数据处理路径。
9.根据权利要求8所述的装置,其特征在于,所述存储服务器中的每个任务包括至少一种处理方式,从每个任务的至少一种处理方式中选择一种处理方式形成所述多条数据处理路径。
10.根据权利要求8所述的装置,其特征在于,所述获取模块用于获取所述每条数据处理路径对应的多个任务以及每个任务的至少一种处理方式;根据所述多个任务以及每个任务的至少一种处理方式,计算所述每条数据处理路径与所述目标参数值对应的参数值。
11.根据权利要求10所述的装置,其特征在于,所述获取模块用于根据所述多个任务以及每个任务的至少一种处理方式,生成有向无环图DAG,所述DAG用于指示所述应用的多条数据处理路径;根据所述DAG计算所述每条数据处理路径与所述目标参数值对应的参数值。
12.根据权利要求8所述的装置,其特征在于,所述设置模块用于判断所述每条数据处理路径与所述目标参数值对应的参数值是否不大于所述目标参数值;若存在一条数据处理路径与所述目标参数值对应的参数值不大于所述目标参数值,则将所述一条数据处理路径设置为所述应用的目标数据处理路径;若存在至少两条数据处理路径与所述目标参数值对应的参数值不大于所述目标参数值,则在所述至少两条数据处理路径中,获取参数值最小的第一数据数据处理路径,并将所述第一数据数据处理路径设置为所述应用的目标数据处理路径。
13.根据权利要求12所述的装置,其特征在于,所述设置模块用于若所述每条数据处理路径与所述目标参数值对应的参数值均大于所述目标参数值,则在所述应用的多条数据处理路径中,获取参数值最小的第二数据处理路径;将所述第二数据处理路径设置为所述应用的目标数据处理路径。
14.根据权利要求8所述的装置,其特征在于,所述装置还包括:
存储模块,用于当接收到所述应用的数据写入请求时,根据所述目标数据处理路径对所述应用的数据进行存储。
CN201610232333.6A 2016-04-14 2016-04-14 在存储服务器中为应用设置数据处理路径的方法及装置 Active CN107301090B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610232333.6A CN107301090B (zh) 2016-04-14 2016-04-14 在存储服务器中为应用设置数据处理路径的方法及装置
PCT/CN2017/080480 WO2017177953A1 (zh) 2016-04-14 2017-04-13 在存储服务器中为应用设置数据处理路径的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610232333.6A CN107301090B (zh) 2016-04-14 2016-04-14 在存储服务器中为应用设置数据处理路径的方法及装置

Publications (2)

Publication Number Publication Date
CN107301090A CN107301090A (zh) 2017-10-27
CN107301090B true CN107301090B (zh) 2020-11-03

Family

ID=60042364

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610232333.6A Active CN107301090B (zh) 2016-04-14 2016-04-14 在存储服务器中为应用设置数据处理路径的方法及装置

Country Status (2)

Country Link
CN (1) CN107301090B (zh)
WO (1) WO2017177953A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110826057B (zh) * 2018-08-09 2023-06-02 阿里巴巴集团控股有限公司 数据处理路径的分析方法、计算机设备、存储介质
CN111399753B (zh) * 2019-08-23 2022-08-05 杭州海康威视***技术有限公司 写入图片的方法和装置
CN111061711B (zh) * 2019-11-28 2023-09-01 同济大学 一种基于数据处理行为的大数据流卸载方法和装置
CN111428910B (zh) * 2020-02-28 2023-12-05 西安电子科技大学 基于时延Petri网的车辆最短时间交通路径处理方法
CN116225346B (zh) * 2023-05-09 2023-07-25 此芯科技(上海)有限公司 一种内存数据访问方法及电子设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200529623A (en) * 2004-01-14 2005-09-01 Nec Corp Communication encryption method, communication encryption system, terminal device, DNS server and program
CN101706805B (zh) * 2009-10-30 2011-11-09 中国科学院计算技术研究所 对象存储方法及其***
CN101714064B (zh) * 2009-12-29 2012-01-04 成都市华为赛门铁克科技有限公司 数据存取方法及服务器
CN103236985A (zh) * 2013-04-02 2013-08-07 浪潮电子信息产业股份有限公司 一种访问存储的多路径负载均衡***
CN103324444B (zh) * 2013-05-24 2017-09-22 浪潮电子信息产业股份有限公司 一种主机端与存储端协同的多控io调度方法
CN104424251B (zh) * 2013-08-28 2019-03-15 腾讯科技(深圳)有限公司 一种多维度拆分的计算方法以及***

Also Published As

Publication number Publication date
WO2017177953A1 (zh) 2017-10-19
CN107301090A (zh) 2017-10-27

Similar Documents

Publication Publication Date Title
JP7138126B2 (ja) リソース配置を最適化するための適時性リソース移行
US11188469B2 (en) Page cache write logging at block-based storage
CN107301090B (zh) 在存储服务器中为应用设置数据处理路径的方法及装置
US10896102B2 (en) Implementing secure communication in a distributed computing system
JP2020024733A (ja) データボリュームの動的な構成
JP6381801B2 (ja) 格納クライアントファイルシステム用格納ボリュームの動的スケーリング
US8458287B2 (en) Erasure coded storage aggregation in data centers
US9342457B2 (en) Dynamically modifying durability properties for individual data volumes
WO2018059222A1 (zh) 一种文件切片上传方法、装置及云存储***
US10505862B1 (en) Optimizing for infrastructure diversity constraints in resource placement
US10616134B1 (en) Prioritizing resource hosts for resource placement
CN110134338B (zh) 一种分布式存储***及其数据冗余保护方法和相关设备
CN107423301B (zh) 一种数据处理的方法、相关设备及存储***
CN112948279A (zh) 管理存储***中的访问请求的方法、设备和程序产品
Hsieh et al. The incremental load balance cloud algorithm by using dynamic data deployment
US10812408B1 (en) Preventing concentrated selection of resource hosts for placing resources
US20070233449A1 (en) Simulation of hierarchical storage systems
US10594620B1 (en) Bit vector analysis for resource placement in a distributed system
CN112631994A (zh) 数据迁移方法及***
US11336519B1 (en) Evaluating placement configurations for distributed resource placement
CN114116655A (zh) 基于虚拟机的并行文件存储方法、装置、设备及存储介质
US11061835B1 (en) Sensitivity matrix for system load indication and overload prevention
WO2017122263A1 (ja) 管理計算機及び管理方法
CN108769123B (zh) 一种数据***及数据处理方法
US11121981B1 (en) Optimistically granting permission to host computing resources

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