CN110134738A - 分布式存储***资源预估方法、装置 - Google Patents
分布式存储***资源预估方法、装置 Download PDFInfo
- Publication number
- CN110134738A CN110134738A CN201910425874.4A CN201910425874A CN110134738A CN 110134738 A CN110134738 A CN 110134738A CN 201910425874 A CN201910425874 A CN 201910425874A CN 110134738 A CN110134738 A CN 110134738A
- Authority
- CN
- China
- Prior art keywords
- cluster
- resource
- data
- memory system
- distributed memory
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种分布式存储***资源预估方法及装置,该方法包括:接收针对分布式存储***中各个集群的资源占用查询请求;根据资源占用查询请求,获取分布式存储***中各个集群的元数据;根据各个集群的元数据获取各个集群当前已占用的资源参数,当前已占用的资源参数包括数据文件数量、数据量、数据块大小、数据块数量和处理各任务需要的内存;根据各个集群当前已占用的资源参数计算分布式存储***的存储资源占用参数。通过提取分布式存储***中各个集群的元数据,并根据各个集群的元数据,找出处理的各个集群当前已占用的资源参数,根据各个集群当前已占用的资源参数从而完成对分布式存储***的资源预估。
Description
技术领域
本申请属于数据处理领域,具体涉及分布式存储***资源预估方法、装置。
背景技术
在大数据时代,企业中产生的数据越来越多,大数据集群规模越来越大,企业成本急剧上升,在大规模作业提交的情况下如果能提前预估占用资源,可以对优化作业提供很大帮助,从而降低集群资源消耗,保证集群稳定性,降低企业成本。
目前利用搭建测试环境进行测试或直接在线上试运行来预估占用资源,这种方法增加了企业成本,对线上集群产生不良影响。
发明内容
本申请针对目前利用搭建测试环境进行测试或直接在线上试运行来预估占用资源,这种方法增加了企业成本,对线上集群产生不良影响的问题,提供一种分布式存储***资源预估方法、装置。
本申请提供一种分布式存储***资源预估方法,包括:
接收针对分布式存储***中各个集群的资源占用查询请求;
根据所述资源占用查询请求,获取分布式存储***中各个集群的元数据;
根据所述各个集群的元数据获取所述各个集群当前已占用的资源参数,所述当前已占用的资源参数包括数据文件数量、数据量、数据块大小、数据块数量和处理各任务需要的内存;
根据所述各个集群当前已占用的资源参数计算所述分布式存储***的存储资源占用参数。
可选的,所述根据所述资源占用查询请求,获取分布式存储***中各个集群的元数据步骤,包括:
以预设周期采集所述分布式存储***中保存的二进制格式的元数据文件,并将所述元数据文件转换为文本格式;
从所述文本格式的元数据文件中提取出元数据,所述元数据包括以下至少一项或任意组合:文件***目录名、文件***目录、访问用户、用户组、权限、文件路径、文件修改时间、文件访问时间。
可选的,所述根据所述各个集群的元数据获取所述各个集群当前已占用的资源参数步骤,包括:
从所述资源占用查询请求中解析出待查询数据的标识,并根据所述待查询数据的标识获取所述待查询数据的元数据;
根据所述待查询数据的元数据,确定所述待查询数据所归属的目标集群;
将所述资源占用查询请求发送至所述目标集群;
接收所述目标集群发送的当前已占用的资源参数。
可选的,所述根据所述待查询数据的元数据,确定所述待查询数据所归属的目标集群步骤之后,所述将所述资源占用查询请求发送至所述目标集群步骤之前,还包括:
判断所述目标集群是否为异构集群,若是,则对所述资源占用查询请求进行改写;
所述将所述资源占用查询请求发送至所述目标集群,包括:将改写后的资源占用查询请求发送至所述目标集群。
可选的,所述存储资源占用参数包括任务数量和内存占用量,所述根据所述各个集群当前已占用的资源参数计算所述分布式存储***的存储资源占用参数的步骤,包括:
针对各个集群,确定数据文件数量和数据块数量中的最大值,计算所述最大值和数据量的和,并计算所述最大值和数据量的和与数据块大小的比值,得到该集群的任务数量;
根据各个集群的任务数量确定所述分布式存储***的任务数量;
针对各个集群,计算任务数量与处理各任务需要的内存的乘积,得到该集群的内存占用量;
根据各个集群的内存占用量,确定所述分布式存储***的内存占用量。
本申请还提供一种分布式存储***资源预估装置,包括:
接收模块,用于接收针对分布式存储***中各个集群的资源占用查询请求;
第一获取模块,用于根据所述资源占用查询请求,获取分布式存储***中各个集群的元数据;
第二获取模块,用于根据所述各个集群的元数据获取所述各个集群当前已占用的资源参数,所述当前已占用的资源参数包括数据文件数量、数据量、数据块大小、数据块数量和处理各任务需要的内存;
计算模块,用于根据所述各个集群当前已占用的资源参数计算所述分布式存储***的存储资源占用参数。
可选的,所述第一获取模块,包括:
采集子模块,用于以预设周期采集所述分布式存储***中保存的二进制格式的元数据文件,并将所述元数据文件转换为文本格式;
提取子模块,用于从所述文本格式的元数据文件中提取出元数据,所述元数据包括以下至少一项或任意组合:文件***目录名、文件***目录、访问用户、用户组、权限、文件路径、文件修改时间、文件访问时间。
可选的,所述第二获取模块,包括:
获取子模块,用于从所述资源占用查询请求中解析出待查询数据的标识,并根据所述待查询数据的标识获取所述待查询数据的元数据;
确定子模块,用于根据所述待查询数据的元数据,确定所述待查询数据所归属的目标集群;
发送子模块,用于将所述资源占用查询请求发送至所述目标集群;
接收子模块,用于接收所述目标集群发送的当前已占用的资源参数。
可选的,所述第二获取模块,还包括:
判断模块,用于判断所述目标集群是否为异构集群,若是,则对所述资源占用查询请求进行改写;
所述发送子模块,具体用于:将改写后的资源占用查询请求发送至所述目标集群。
可选的,所述计算模块,包括:
第一计算子模块,用于针对各个集群,确定数据文件数量和数据块数量中的最大值,计算所述最大值和数据量的和,并计算所述最大值和数据量的和与数据块大小的比值,得到该集群的任务数量;
第二计算子模块,用于根据各个集群的任务数量确定所述分布式存储***的任务数量;
第三计算子模块,用于针对各个集群,计算任务数量与处理各任务需要的内存的乘积,得到该集群的内存占用量;
第四计算子模块,用于根据各个集群的内存占用量,确定所述分布式存储***的内存占用量。
本申请提供的分布式存储***资源预估方法,通过对分布式存储***做全维画像,提取分布式存储***中各个集群的元数据,并对提交的资源占用查询请求做解析,根据元数据找出各个集群当前已占用的资源参数,根据各个集群当前已占用的资源参数结合计算流程从而估算运行的总task数、总内存占用量,以完成对分布式存储***的资源预估。
附图说明
图1为本申请第一实施例提供的一种分布式存储***资源预估方法的流程图;
图2为本申请第一实施例提供的图1中步骤S2的一种可选实施方式;
图3为本申请第一实施例提供的图1中步骤S3的一种可选实施方式;
图4为本申请第一实施例提供的图1中步骤S4的另一种可选实施方式;
图5为本申请第二实施例提供的一种分布式存储***资源预估方法的结构示意图;
图6为本申请第二实施例提供的一种分布式存储***资源预估方法的另一结构示意图;
图7为本申请第二实施例提供的一种分布式存储***资源预估方法的另一结构示意图;
图8为本申请第二实施例提供的一种分布式存储***资源预估方法的另一结构示意图.
具体实施方式
为使本领域技术人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明作进一步详细描述。
本申请提供一种分布式存储***资源预估方法、装置。以下分别结合本申请提供的实施例的附图逐一进行详细说明。
本申请第一实施例提供的一种分布式存储***资源预估方法如下:
如图1所示,其示出了本申请实施例提供的一种分布式存储***资源预估方法,包括以下步骤。
步骤S1,接收针对分布式存储***中各个集群的资源占用查询请求。
在该步骤中,在该步骤中,接收针对分布式存储***中各个集群的资源占用查询请求,即SQL查询请求。SQL语言,是结构化查询语言(Structured Query Language)的简称。SQL语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库***;同时也是数据库脚本文件的扩展名。
步骤S2,根据所述资源占用查询请求,获取分布式存储***中各个集群的元数据。
元数据(Metadata),又称中介数据、中继数据,为描述数据的数据(data aboutdata),主要是描述数据属性(property)的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。元数据算是一种电子式目录,为了达到编制目录的目的,必须在描述并收藏数据的内容或特色,进而达成协助数据检索的目的。元数据是关于数据的组织、数据域及其关系的信息,简言之,元数据就是关于数据的数据。
优选地,如图2所示,所述步骤S2,根据所述资源占用查询请求,获取分布式存储***中各个集群的元数据,包括:
步骤S201,以预设周期采集所述分布式存储***中保存的二进制格式的元数据文件,并将所述元数据文件转换为文本格式。
分布式存储***会将整个***的目录、文件的详细信息保存在内存中,为了防止宕机后内存数据丢失,存储***会每隔一段时间将内存中数据以二进制的形式序列化到磁盘。
在该步骤中,定期采集分布式存储***中的二进制文件,并将二进制文件反序列化为文本格式,以用于提取元数据。预设周期为预先设定的值,具体可以按照需要进行设定,此处不作限定。
步骤S202,从所述文本格式的元数据文件中提取出元数据。
在该步骤中,通过分布式计算提取各个集群的元数据。提取步骤包含自定义KV、二次排序、自定义分区、自定义合并、自定义分组等步骤,提取的元数据包括以下至少一项或任意组合:文件***目录名、文件***目录、访问用户(文件夹所属用户)、用户组、权限、文件路径、文件修改时间、文件访问时间。还有可能包含其它数据,例如目录容量(文件夹的容量)、目录文件数(文件夹下的文件数)、最大最小平均文件大小、文件格式等。
具体的,在企业中往往不止一个大数据集群,可能多个集群甚至不同类型的异构集群,当我们提交一个SQL查询时可能需要联合多个集群一起计算,不管是对单个集群还是多个异构集群都需要消耗资源,都需要做资源占用预估,所以***需要对各个集群的元数据进行收集。各个异构集群提供一个http接口暴露自己的元数据信息,元数据获取方在程序中调用此http接口获取各个异构集群的元数据。也就是说,针对每个集群都要执行上述步骤。
步骤S3,根据所述各个集群的元数据获取所述各个集群当前已占用的资源参数。
在该步骤中,根据各个集群的元数据获取各个集群进行资源评估需要的数据,即各个集群当前已占用的资源参数,包括数据文件数量、数据量、数据块大小、数据块数量和处理各任务需要的内存。此处需要说明的是,当前已占用的资源参数为数据处理时产生的动态数据。
优选地,如图3所示,所述步骤S3,根据所述各个集群的元数据获取所述各个集群当前已占用的资源参数,包括:
步骤S301,从所述资源占用查询请求中解析出待查询数据的标识,并根据所述待查询数据的标识获取所述待查询数据的元数据。
在该步骤中,当提交SQL作业时,解析出SQL的逻辑执行计划和物理执行计划。根据解析出的逻辑执行计划和物理执行计划获取待查询的数据的标识,并根据待查询的数据的标识获取与该待查询数据对应的元数据。此处待查询数据还没有解析出来,只是解析出要查询什么数据的标识。
步骤S302,根据所述待查询数据的元数据,确定所述待查询数据所归属的目标集群。
在该步骤中,根据上一步骤获取的元数据,根据元数据中的***目录名、文件***目录和文件路径,确定该文件路径对应的是哪个集群。
步骤S303,将所述资源占用查询请求发送至所述目标集群。
在该步骤中,根据上一步骤元数据判断出的待查询数据属于哪个集群,然后将资源占用查询请求路由到此目标集群。
优选地,所述步骤S302之后,所述步骤S303之前,还包括:判断所述目标集群是否为异构集群,若是,则对所述资源占用查询请求进行改写。所述步骤S303,将所述资源占用查询请求发送至所述目标集群,包括:将改写后的资源占用查询请求发送至所述目标集群。
在该步骤中,分布式存储***中有可能有异构集群,所以在路由过程中需要对SQL进行一定程度的改写,此处的改写是针对每一个异构集群都要改写为适应对应异构集群的语句,具体的改写语句按照需要自行设定,此处不作限定。获取到待查询数据对应的目标异构集群后,将针对异构集群的SQL语句进行改写,并将该改写后的SQL语句路由到对应的目标异构集群。
以实际大数据***为例:hive、ES、HBase集群支持的SQL语法会有一定程度差异,根据元数据可以获取到集群类型,根据此集群类型特有的差异来适配执行语法,比如HBase本身不支持SQL,需要将SQL语句改为HBase的内置API进行计算。API是操作***留给应用程序的一个调用接口,应用程序通过调用操作***的API而使操作***去执行应用程序的命令。
步骤S304,接收所述目标集群发送的当前已占用的资源参数。
在该步骤中,根据元数据从各个目标集群中查询出各个目标集群的数据文件数量、数据量、数据块大小、数据块数量和处理各任务需要的内存。提取的元数据主要包括以下至少一项或任意组合:文件***目录名、文件***目录、访问用户、用户组、权限、文件路径、文件修改时间、文件访问时间。根据文件***目录名、文件***目录、文件路径能获得元数据对应的是哪个集群,根据访问用户、用户组、权限、文件修改时间、文件访问时间能获得各个目标集群的数据文件数量、数据量、数据块大小、数据块数量和处理各任务需要的内存。
需要说明的是,SQL改写后,需要根据改写后的SQL再次解析出扫描的待查询数据,根据待查询数据对应的元数据,从各个目标异构集群中查询出各个目标异构集群的数据文件数量、数据量、数据块大小、数据块数量和处理各任务需要的内存。
步骤S4,根据所述各个集群当前已占用的资源参数计算所述分布式存储***的存储资源占用参数。
在该步骤中,根据步骤S3获得的对分布式存储***进行资源评估需要的数据,即当前已占用的资源参数,进行计算,获取最终分布式存储***的存储资源占用参数,包括总任务数和总内存占用量,以完成资源评估。
优选地,如图4所示,所述存储资源占用参数包括任务数量和内存占用量,所述步骤S4,所述根据所述各个集群当前已占用的资源参数计算所述分布式存储***的存储资源占用参数,包括:
步骤S401,针对各个集群,确定数据文件数量和数据块数量中的最大值,计算所述最大值和数据量的和,并计算所述最大值和数据量的和与数据块大小的比值,得到该集群的任务数量。同时,每个任务对应一个CPU核数,CPU核数=task数。
在该步骤中,针对一个集群,计算一个集群的任务数,task数=max(数据文件数,数据块数)+数据量/数据块大小。可以看出task数的多少主要体现是文件数的多少和数据量的大小。
在一种优选的实施方案中,如果平均文件大小小于***设置的数据块大小则推荐处理时进行合并,主要调整方向为最小分片数大于或等于数据块数,具体根据资源评估进行调优。例如,平均文件大小为1M,一个数据块大小为10M,总共有100个文件需要处理,平均文件大小小于数据块大小,则处理时最小分片数为大于或等于100/10=10个。
步骤S402,根据各个集群的任务数量确定所述分布式存储***的任务数量。
对分布式存储***中每个集群的资源评估结果进行归并,计算出总任务数和总CPU核数,计算公式如下:
总任务数(total_task)=集群task+集群task+集群task...;
总CPU核数=总task数。
步骤S403,针对各个集群,计算任务数量与处理各任务需要的内存的乘积,得到该集群的内存占用量。
在该步骤中,针对一个集群,计算一个集群的内存占用量,memory=task数*处理各任务需要的内存。
步骤S404,根据各个集群的内存占用量,确定所述分布式存储***的内存占用量。
在该步骤中,对分布式存储***中每个集群的资源评估结果进行归并,然后计算出总内存占用量,计算公式如下:
总内存占用量(total_memory)=集群memory+集群memory+集群memory...
在一种优选的实施方案中,本申请实施例还计算分布式存储***中各个集群的瓶颈,瓶颈=所需资源/总资源。所需资源即一个集群的内存占用量,总资源为该集群的总内存。
本申请提供的分布式存储***资源预估方法,通过对分布式存储***做全维画像,提取分布式存储***中各个集群的元数据,并对提交的SQL做解析,根据生成的逻辑计划、物理计划和元数据找出各个集群当前已占用的资源参数,根据当前已占用的资源参数结合计算流程从而估算运行的总task数、总内存占用量,以完成对分布式存储***的资源预估。
本申请第二实施例提供的一种分布式存储***资源预估装置如下:
如图5所示,其示出了本申请实施例提供的一种分布式存储***资源预估方法的结构示意图,包括以下模块。
接收模块11,用于接收针对分布式存储***中各个集群的资源占用查询请求;
第一获取模块12,用于根据所述资源占用查询请求,获取分布式存储***中各个集群的元数据;
第二获取模块13,用于根据所述各个集群的元数据获取所述各个集群当前已占用的资源参数,所述当前已占用的资源参数包括数据文件数量、数据量、数据块大小、数据块数量和处理各任务需要的内存;
计算模块14,用于根据所述各个集群当前已占用的资源参数计算所述分布式存储***的存储资源占用参数。
可选的,如图6所示,所述第一获取模块12,包括:
采集子模块121,用于以预设周期采集所述分布式存储***中保存的二进制格式的元数据文件,并将所述元数据文件转换为文本格式;
提取子模块122,用于从所述文本格式的元数据文件中提取出元数据,所述元数据包括以下至少一项或任意组合:文件***目录名、文件***目录、访问用户、用户组、权限、文件路径、文件修改时间、文件访问时间。
可选的,如图7所示,所述第二获取模块13,包括:
获取子模块131,用于从所述资源占用查询请求中解析出待查询数据的标识,并根据所述待查询数据的标识获取所述待查询数据的元数据;
确定子模块132,用于根据所述待查询数据的元数据,确定所述待查询数据所归属的目标集群;
发送子模块133,用于将所述资源占用查询请求发送至所述目标集群;
接收子模块134,用于接收所述目标集群发送的当前已占用的资源参数。
可选的,所述第二获取模块13(图中未画出),还包括:
判断模块,用于判断所述目标集群是否为异构集群,若是,则对所述资源占用查询请求进行改写;
所述发送子模块,具体用于:将改写后的资源占用查询请求发送至所述目标集群。
可选的,如图8所示,所述计算模块14,包括:
第一计算子模块141,用于针对各个集群,确定数据文件数量和数据块数量中的最大值,计算所述最大值和数据量的和,并计算所述最大值和数据量的和与数据块大小的比值,得到该集群的任务数量;
第二计算子模块142,用于根据各个集群的任务数量确定所述分布式存储***的任务数量;
第三计算子模块143,用于针对各个集群,计算任务数量与处理各任务需要的内存的乘积,得到该集群的内存占用量;
第四计算子模块144,用于根据各个集群的内存占用量,确定所述分布式存储***的内存占用量。
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。
Claims (10)
1.一种分布式存储***资源预估方法,其特征在于,包括:
接收针对分布式存储***中各个集群的资源占用查询请求;
根据所述资源占用查询请求,获取分布式存储***中各个集群的元数据;
根据所述各个集群的元数据获取所述各个集群当前已占用的资源参数,所述当前已占用的资源参数包括数据文件数量、数据量、数据块大小、数据块数量和处理各任务需要的内存;
根据所述各个集群当前已占用的资源参数计算所述分布式存储***的存储资源占用参数。
2.根据权利要求1所述的分布式存储***资源预估方法,其特征在于,所述根据所述资源占用查询请求,获取分布式存储***中各个集群的元数据步骤,包括:
以预设周期采集所述分布式存储***中保存的二进制格式的元数据文件,并将所述元数据文件转换为文本格式;
从所述文本格式的元数据文件中提取出元数据,所述元数据包括以下至少一项或任意组合:文件***目录名、文件***目录、访问用户、用户组、权限、文件路径、文件修改时间、文件访问时间。
3.根据权利要求1所述的分布式存储***资源预估方法,其特征在于,所述根据所述各个集群的元数据获取所述各个集群当前已占用的资源参数步骤,包括:
从所述资源占用查询请求中解析出待查询数据的标识,并根据所述待查询数据的标识获取所述待查询数据的元数据;
根据所述待查询数据的元数据,确定所述待查询数据所归属的目标集群;
将所述资源占用查询请求发送至所述目标集群;
接收所述目标集群发送的当前已占用的资源参数。
4.根据权利要求3所述的分布式存储***资源预估方法,其特征在于,所述根据所述待查询数据的元数据,确定所述待查询数据所归属的目标集群步骤之后,所述将所述资源占用查询请求发送至所述目标集群步骤之前,还包括:
判断所述目标集群是否为异构集群,若是,则对所述资源占用查询请求进行改写;
所述将所述资源占用查询请求发送至所述目标集群,包括:将改写后的资源占用查询请求发送至所述目标集群。
5.根据权利要求1所述的分布式存储***资源预估方法,其特征在于,所述存储资源占用参数包括任务数量和内存占用量,所述根据所述各个集群当前已占用的资源参数计算所述分布式存储***的存储资源占用参数的步骤,包括:
针对各个集群,确定数据文件数量和数据块数量中的最大值,计算所述最大值和数据量的和,并计算所述最大值和数据量的和与数据块大小的比值,得到该集群的任务数量;
根据各个集群的任务数量确定所述分布式存储***的任务数量;
针对各个集群,计算任务数量与处理各任务需要的内存的乘积,得到该集群的内存占用量;
根据各个集群的内存占用量,确定所述分布式存储***的内存占用量。
6.一种分布式存储***资源预估装置,其特征在于,包括:
接收模块,用于接收针对分布式存储***中各个集群的资源占用查询请求;
第一获取模块,用于根据所述资源占用查询请求,获取分布式存储***中各个集群的元数据;
第二获取模块,用于根据所述各个集群的元数据获取所述各个集群当前已占用的资源参数,所述当前已占用的资源参数包括数据文件数量、数据量、数据块大小、数据块数量和处理各任务需要的内存;
计算模块,用于根据所述各个集群当前已占用的资源参数计算所述分布式存储***的存储资源占用参数。
7.根据权利要求6所述的分布式存储***资源预估装置,其特征在于,所述第一获取模块,包括:
采集子模块,用于以预设周期采集所述分布式存储***中保存的二进制格式的元数据文件,并将所述元数据文件转换为文本格式;
提取子模块,用于从所述文本格式的元数据文件中提取出元数据,所述元数据包括以下至少一项或任意组合:文件***目录名、文件***目录、访问用户、用户组、权限、文件路径、文件修改时间、文件访问时间。
8.根据权利要求6所述的分布式存储***资源预估装置,其特征在于,所述第二获取模块,包括:
获取子模块,用于从所述资源占用查询请求中解析出待查询数据的标识,并根据所述待查询数据的标识获取所述待查询数据的元数据;
确定子模块,用于根据所述待查询数据的元数据,确定所述待查询数据所归属的目标集群;
发送子模块,用于将所述资源占用查询请求发送至所述目标集群;
接收子模块,用于接收所述目标集群发送的当前已占用的资源参数。
9.根据权利要求8所述的分布式存储***资源预估装置,其特征在于,所述第二获取模块,还包括:
判断模块,用于判断所述目标集群是否为异构集群,若是,则对所述资源占用查询请求进行改写;
所述发送子模块,具体用于:将改写后的资源占用查询请求发送至所述目标集群。
10.根据权利要求6所述的分布式存储***资源预估装置,其特征在于,所述计算模块,包括:
第一计算子模块,用于针对各个集群,确定数据文件数量和数据块数量中的最大值,计算所述最大值和数据量的和,并计算所述最大值和数据量的和与数据块大小的比值,得到该集群的任务数量;
第二计算子模块,用于根据各个集群的任务数量确定所述分布式存储***的任务数量;
第三计算子模块,用于针对各个集群,计算任务数量与处理各任务需要的内存的乘积,得到该集群的内存占用量;
第四计算子模块,用于根据各个集群的内存占用量,确定所述分布式存储***的内存占用量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910425874.4A CN110134738B (zh) | 2019-05-21 | 2019-05-21 | 分布式存储***资源预估方法、装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910425874.4A CN110134738B (zh) | 2019-05-21 | 2019-05-21 | 分布式存储***资源预估方法、装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110134738A true CN110134738A (zh) | 2019-08-16 |
CN110134738B CN110134738B (zh) | 2021-09-10 |
Family
ID=67572348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910425874.4A Active CN110134738B (zh) | 2019-05-21 | 2019-05-21 | 分布式存储***资源预估方法、装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110134738B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110569317A (zh) * | 2019-09-12 | 2019-12-13 | 北京明略软件***有限公司 | 数据源的元数据采集方法及装置 |
CN111680799A (zh) * | 2020-04-08 | 2020-09-18 | 北京字节跳动网络技术有限公司 | 用于处理模型参数的方法和装置 |
CN113111038A (zh) * | 2021-03-31 | 2021-07-13 | 北京达佳互联信息技术有限公司 | 文件存储方法、装置、服务器及存储介质 |
CN113553166A (zh) * | 2020-04-26 | 2021-10-26 | 广州汽车集团股份有限公司 | 一种跨平台高性能计算集成方法及*** |
WO2023051270A1 (zh) * | 2021-09-30 | 2023-04-06 | 中兴通讯股份有限公司 | 内存占用量预估方法、装置及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102542040A (zh) * | 2011-12-27 | 2012-07-04 | 北京奇虎科技有限公司 | 一种容量获取方法及*** |
CN103678563A (zh) * | 2011-12-27 | 2014-03-26 | 北京奇虎科技有限公司 | 一种容量获取方法及*** |
US20140372250A1 (en) * | 2011-03-04 | 2014-12-18 | Forbes Media Llc | System and method for providing recommended content |
CN104657260A (zh) * | 2013-11-25 | 2015-05-27 | 航天信息股份有限公司 | 控制分布式节点间访问共享资源的分布式锁的实现方法 |
CN108694071A (zh) * | 2017-03-29 | 2018-10-23 | 瞻博网络公司 | 用于分布式虚拟化基础设施元件监视和策略控制的多集群面板 |
US20190051210A1 (en) * | 2017-08-09 | 2019-02-14 | Inchstones, LLC | Distributed architecture for data synchronization |
-
2019
- 2019-05-21 CN CN201910425874.4A patent/CN110134738B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140372250A1 (en) * | 2011-03-04 | 2014-12-18 | Forbes Media Llc | System and method for providing recommended content |
CN102542040A (zh) * | 2011-12-27 | 2012-07-04 | 北京奇虎科技有限公司 | 一种容量获取方法及*** |
CN103678563A (zh) * | 2011-12-27 | 2014-03-26 | 北京奇虎科技有限公司 | 一种容量获取方法及*** |
CN104657260A (zh) * | 2013-11-25 | 2015-05-27 | 航天信息股份有限公司 | 控制分布式节点间访问共享资源的分布式锁的实现方法 |
CN108694071A (zh) * | 2017-03-29 | 2018-10-23 | 瞻博网络公司 | 用于分布式虚拟化基础设施元件监视和策略控制的多集群面板 |
US20190051210A1 (en) * | 2017-08-09 | 2019-02-14 | Inchstones, LLC | Distributed architecture for data synchronization |
Non-Patent Citations (1)
Title |
---|
蔡涛等: ""NVMMDS-一种面向非易失存储器的元数据管理方法"", 《计算机研究与发展》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110569317A (zh) * | 2019-09-12 | 2019-12-13 | 北京明略软件***有限公司 | 数据源的元数据采集方法及装置 |
CN111680799A (zh) * | 2020-04-08 | 2020-09-18 | 北京字节跳动网络技术有限公司 | 用于处理模型参数的方法和装置 |
CN111680799B (zh) * | 2020-04-08 | 2024-02-20 | 北京字节跳动网络技术有限公司 | 用于处理模型参数的方法和装置 |
CN113553166A (zh) * | 2020-04-26 | 2021-10-26 | 广州汽车集团股份有限公司 | 一种跨平台高性能计算集成方法及*** |
CN113111038A (zh) * | 2021-03-31 | 2021-07-13 | 北京达佳互联信息技术有限公司 | 文件存储方法、装置、服务器及存储介质 |
CN113111038B (zh) * | 2021-03-31 | 2024-01-19 | 北京达佳互联信息技术有限公司 | 文件存储方法、装置、服务器及存储介质 |
WO2023051270A1 (zh) * | 2021-09-30 | 2023-04-06 | 中兴通讯股份有限公司 | 内存占用量预估方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110134738B (zh) | 2021-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110134738A (zh) | 分布式存储***资源预估方法、装置 | |
US10831562B2 (en) | Method and system for operating a data center by reducing an amount of data to be processed | |
CN105138592B (zh) | 一种基于分布式架构的日志数据存储和检索方法 | |
CN102164186B (zh) | 一种实现云搜索服务的方法及*** | |
CN110457281A (zh) | 数据处理方法、装置、设备及介质 | |
CN108241539B (zh) | 基于分布式***的交互式大数据查询方法、装置、存储介质和终端设备 | |
CN106503008B (zh) | 文件存储方法和装置及文件查询方法和装置 | |
CN111797091A (zh) | 数据库中数据查询的方法、装置、电子设备和存储介质 | |
CN110147470B (zh) | 一种跨机房数据比对***及方法 | |
CN111224831B (zh) | 用于生成话单的方法和*** | |
CN104423982A (zh) | 请求的处理方法和处理设备 | |
CN108154024B (zh) | 一种数据检索方法、装置及电子设备 | |
CN111488377A (zh) | 数据查询方法、装置、电子设备及存储介质 | |
CN110222046B (zh) | 列表数据的处理方法、装置、服务器和存储介质 | |
CN113900907B (zh) | 一种映射构建方法和*** | |
CN111752945A (zh) | 一种基于容器和层次模型的时序数据库数据交互方法和*** | |
CN109586970B (zh) | 资源分配方法、装置及*** | |
CN109213950B (zh) | Iptv智能机顶盒浏览器应用的数据处理方法及装置 | |
CN110781430B (zh) | 互联网新型虚拟数据中心***及其构造方法 | |
CN112887113A (zh) | 处理数据的方法、装置及*** | |
CN116185578A (zh) | 计算任务的调度方法和计算任务的执行方法 | |
CN105490956A (zh) | 一种网络请求处理方法及装置 | |
CN115455042A (zh) | 数据处理方法、设备以及计算机可读存储介质 | |
CN108959952A (zh) | 数据平台权限控制方法、装置和设备 | |
CN103902554A (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 |