一种分布式存储集群日志存储优化方法、系统及终端转让专利

申请号 : CN202110679915.X

文献号 : CN113392079B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张精亮贺计文

申请人 : 苏州浪潮智能科技有限公司

摘要 :

本申请公开了一种分布式存储集群日志存储优化方法、系统及终端,该方法包括:实时监听分布式存储集群的日志读写任务,且当获取到日志读写任务时,对其分配唯一的缓存编号,出现集群故障时对日志内容开启重试机制;日志完整性检测;日志完整性检测合格后,对日志内容进行分类;根据日志参数对日志内容进行统计;存储日志内容;对分布式存储集群的日志数据进行访问,并将访问结果反馈至集群节点。该系统包括:日志缓存代理模块、日志重试模块、完整性检测模块、日志解析模块、日志管理模块、日志存储模块和日志存储模块。该终端包括:处理器以及存储器。通过本申请,能够提高日志完整性,提高分布式存储集群的日志存储优化功能。

权利要求 :

1.一种分布式存储集群日志存储优化方法,其特征在于,所述方法包括:通过与分布式存储集群中各节点进行通信,实时监听所述分布式存储集群的日志读写任务,且当获取到日志读写任务时,对所述日志读写任务分配唯一的缓存编号,所述缓存编号用于根据所述日志读写任务从分布式存储集群中拉取日志内容;

在日志读写过程中出现集群故障时,对所述日志内容开启重试机制,所述集群故障包括:抖动网络不佳故障、时延故障以及日志信息丢失故障中的至少一种;

对所述日志内容进行日志完整性检测;

日志完整性检测合格后,根据日志配置库中的日志配置信息,对日志内容进行分类;

根据日志参数对日志内容进行统计,所述日志参数包括:日志的大小、节点、类别和加密信息;

存储所述日志内容;

根据所获取的访问命令,对分布式存储集群的日志数据进行访问,并将访问结果反馈至所述分布式存储集群节点。

2.根据权利要求1所述的一种分布式存储集群日志存储优化方法,其特征在于,在日志读写过程中出现集群故障时,对所述日志内容开启重试机制的方法,包括:在日志读写过程中出现集群故障时,重新对所拉取的日志内容进行缓存;

判断重新执行的缓存次数是否超过设定的重试阈值;

如果是,停止对所述日志读写任务进行缓存操作;

如果否,继续对所述拉取的日志内容进行缓存直到集群故障消失。

3.根据权利要求1所述的一种分布式存储集群日志存储优化方法,其特征在于,对所述日志内容进行日志完整性检测的方法,包括:对所述日志内容进行第一次日志完整性检测;

当第一次日志完整性检测结果不合格时,删除所述日志内容,并通过发送日志读写监听请求,再次获取日志内容;

重新对再次获取的日志内容进行完整性检测,直到日志完整性检测结果合格。

4.根据权利要求1所述的一种分布式存储集群日志存储优化方法,其特征在于,根据所述日志参数,对所述日志内容进行存储的方法,具体为:根据所述日志参数,将所述日志内容存储至mongodb数据集群中。

5.根据权利要求1所述的一种分布式存储集群日志存储优化方法,其特征在于,所述日志配置信息包括:告警、事件、操作和级别。

6.根据权利要求1所述的一种分布式存储集群日志存储优化方法,其特征在于,根据日志配置库中的日志配置信息,对日志内容进行分类之后,所述方法还包括:根据所获取的加密命令,对日志内容进行加密。

7.根据权利要求6所述的一种分布式存储集群日志存储优化方法,其特征在于,根据所获取的访问命令,对分布式存储集群的日志数据进行访问,并将访问结果反馈至所述分布式存储集群节点,包括:根据所获取的访问命令,对分布式存储集群的日志数据进行访问;

对加密后的日志内容进行反向解析;

将访问结果和反向解析结果反馈至所述分布式存储集群节点。

8.一种分布式存储集群日志存储优化系统,其特征在于,所述系统包括:日志缓存代理模块,用于通过与分布式存储集群中各节点进行通信,实时监听所述分布式存储集群的日志读写任务,且当获取到日志读写任务时,对所述日志读写任务分配唯一的缓存编号,所述缓存编号用于根据所述日志读写任务从分布式存储集群中拉取日志内容;

日志重试模块,用于在日志读写过程中出现集群故障时,对所述日志内容开启重试机制,所述集群故障包括:抖动网络不佳故障、时延故障以及日志信息丢失故障中的至少一种;

完整性检测模块,用于对所述日志内容进行日志完整性检测;

日志解析模块,用于日志完整性检测合格后,根据日志配置库中的日志配置信息,对日志内容进行分类;

日志管理模块,用于根据日志参数对日志内容进行统计,所述日志参数包括:日志的大小、节点、类别和加密信息;

日志存储模块,用于存储所述日志内容;

日志访问模块,用于根据所获取的访问命令,对分布式存储集群的日志数据进行访问,并将访问结果反馈至所述分布式存储集群节点。

9.根据权利要求8所述的一种分布式存储集群日志存储优化系统,其特征在于,所述日志重试模块包括:缓存单元,用于在日志读写过程中出现集群故障时,重新对所拉取的日志内容进行缓存;

判断单元,用于判断重新执行的缓存次数是否超过设定的重试阈值;

控制单元,用于重新执行的缓存次数超过设定的重试阈值时,停止对所述日志读写任务进行缓存操作,否则,继续对所述拉取的日志内容进行缓存直到集群故障消失。

10.一种终端,其特征在于,所述终端包括:处理器以及与所述处理器通信连接的存储器,其中,所述存储器中存储有可被所述处理器执行的指令,所述指令被所述处理器执行,以使所述处理器能够执行权利要求1至7中任意一项所述的分布式存储集群日志存储优化方法。

说明书 :

一种分布式存储集群日志存储优化方法、系统及终端

技术领域

[0001] 本申请涉及分布式存储系统日志管理技术领域,特别是涉及一种分布式存储集群日志存储优化方法、系统及终端。

背景技术

[0002] 在当前大规模分布式集群中,日志包括了各种业务操作记录,用于存储集群历史运行状态分析以及故障的问题定位分析,是存储集群的重要信息之一。所以,通过一定的方法保护集群日志的完整性,从而对分布式存储集群日志进行存储优化,是非常有必要的。
[0003] 目前对分布式存储集群日志进行存储优化的方法,通常是:在集中日志服务器中运行日志收集系统,该日志收集系统包括:rsysloy(一个帮主机记录日志信息的程序)程序,利用scribe(一种开源的日志收集系统)系统和fluentd(一种开源的日志收集系统工具)工具三部分。
[0004] 然而,目前对分布式存储集群日志进行存储优化的方法中,由于rsysloy程序、scribe系统和fluentd工具自身的缺陷,当网络出现抖动或者存储集群故障时,会产生日志丢失和日志不完整问题,从而导致分布式存储集群日志的存储优化功能较差,对存储集群的稳定性和可靠性造成严重影响。

发明内容

[0005] 本申请提供了一种分布式存储集群日志存储优化方法、系统及终端,以解决现有技术中对分布式存储集群日志进行存储优化的方法导致日志不完整,导致分布式存储集群日志的存储优化功能较差的问题。
[0006] 为了解决上述技术问题,本申请实施例公开了如下技术方案:
[0007] 一种分布式存储集群日志存储优化方法,所述方法包括:
[0008] 通过与分布式存储集群中各节点进行通信,实时监听所述分布式存储集群的日志读写任务,且当获取到日志读写任务时,对所述日志读写任务分配唯一的缓存编号,所述缓存编号用于根据所述日志读写任务从分布式存储集群中拉取日志内容;
[0009] 在日志读写过程中出现集群故障时,对所述日志内容开启重试机制,所述集群故障包括:抖动网络不佳故障、时延故障以及日志信息丢失故障中的至少一种;
[0010] 对所述日志内容进行日志完整性检测;
[0011] 日志完整性检测合格后,根据日志配置库中的日志配置信息,对日志内容进行分类;
[0012] 根据日志参数对日志内容进行统计,所述日志参数包括:日志的大小、节点、类别和加密信息;
[0013] 存储所述日志内容;
[0014] 根据所获取的访问命令,对分布式存储集群的日志数据进行访问,并将访问结果反馈至所述分布式存储集群节点。
[0015] 可选地,在日志读写过程中出现集群故障时,对所述日志内容开启重试机制的方法,包括:
[0016] 在日志读写过程中出现集群故障时,重新对所拉取的日志内容进行缓存;
[0017] 判断重新执行的缓存次数是否超过设定的重试阈值;
[0018] 如果是,停止对所述日志读写任务进行缓存操作;
[0019] 如果否,继续对所述拉取的日志内容进行缓存直到集群故障消失。
[0020] 可选地,对所述日志内容进行日志完整性检测的方法,包括:
[0021] 对所述日志内容进行第一次日志完整性检测;
[0022] 当第一次日志完整性检测结果不合格时,删除所述日志内容,并通过发送日志读写监听请求,再次获取日志内容;
[0023] 重新对再次获取的日志内容进行完整性检测,直到日志完整性检测结果合格。
[0024] 可选地,根据所述日志参数,对所述日志内容进行存储的方法,具体为:
[0025] 根据所述日志参数,将所述日志内容存储至mongodb数据集群中。
[0026] 可选地,所述日志配置信息包括:告警、事件、操作和级别。
[0027] 可选地,根据日志配置库中的日志配置信息,对日志内容进行分类之后,所述方法还包括:
[0028] 根据所获取的加密命令,对日志内容进行加密。
[0029] 可选地,根据所获取的访问命令,对分布式存储集群的日志数据进行访问,并将访问结果反馈至所述分布式存储集群节点,包括:
[0030] 根据所获取的访问命令,对分布式存储集群的日志数据进行访问;
[0031] 对加密后的日志内容进行反向解析;
[0032] 将访问结果和反向解析结果反馈至所述分布式存储集群节点。
[0033] 一种分布式存储集群日志存储优化系统,所述系统包括:
[0034] 日志缓存代理模块,用于通过与分布式存储集群中各节点进行通信,实时监听所述分布式存储集群的日志读写任务,且当获取到日志读写任务时,对所述日志读写任务分配唯一的缓存编号,所述缓存编号用于根据所述日志读写任务从分布式存储集群中拉取日志内容;
[0035] 日志重试模块,用于在日志读写过程中出现集群故障时,对所述日志内容开启重试机制,所述集群故障包括:抖动网络不佳故障、时延故障以及日志信息丢失故障中的至少一种;
[0036] 完整性检测模块,用于对所述日志内容进行日志完整性检测;
[0037] 日志解析模块,用于日志完整性检测合格后,根据日志配置库中的日志配置信息,对日志内容进行分类;
[0038] 日志管理模块,用于根据日志参数对日志内容进行统计,所述日志参数包括:日志的大小、节点、类别和加密信息;
[0039] 日志存储模块,用于存储所述日志内容;
[0040] 日志访问模块,用于根据所获取的访问命令,对分布式存储集群的日志数据进行访问,并将访问结果反馈至所述分布式存储集群节点。
[0041] 可选地,所述日志重试模块包括:
[0042] 缓存单元,用于在日志读写过程中出现集群故障时,重新对所拉取的日志内容进行缓存;
[0043] 判断单元,用于判断重新执行的缓存次数是否超过设定的重试阈值;
[0044] 控制单元,用于重新执行的缓存次数超过设定的重试阈值时,停止对所述日志读写任务进行缓存操作,否则,继续对所述拉取的日志内容进行缓存直到集群故障消失。
[0045] 一种终端,所述终端包括:处理器以及与所述处理器通信连接的存储器,其中,[0046] 所述存储器中存储有可被所述处理器执行的指令,所述指令被所述处理器执行,以使所述处理器能够执行如上任意一项所述的分布式存储集群日志存储优化方法。
[0047] 本申请的实施例提供的技术方案可以包括以下有益效果:
[0048] 本申请提供一种分布式存储集群日志存储优化方法,该方法通过与分布式存储集群中各节点进行通信,实时监听分布式存储集群的日志读写任务,且当获取到日志读写任务时,对日志读写任务分配唯一的缓存编号,从而利用该编号从分布式存储集群中拉取相应的日志内容,有利于提高数据提取的准确性和效率。然后,在日志读写过程中出现集群故障时对日志内容开启重试机制,并对日志进行完整性检测,当完整性检测合格后根据日志配置库中的日志配置信息,对日志内容进行分类,根据日志参数对日志内容进行统计,并存储日志内容,最后,根据所获取的访问命令,对分布式存储集群的日志数据进行访问,并将访问结果反馈至分布式存储集群节点。
[0049] 该实施例通过对日志内容采用重试机制和完整性检测,能够最大限度地保证节点日志数据的完整性和准确性,从而实现对分布式存储集群日志进行存储优化,提高存储集群的稳定性和可靠性。对日志内容进行存储时,根据日志参数,将日志内容存储至mongodb数据集群中,相比于现有技术中利用分布式存储集群自身的数据库进行数据存储,利用mongodb存储数据能够有效提高日志数据的存储效率,也能够进一步实现对分布式存储集群日志进行存储优化。本实施例对日志内容分类后还对日志内容进行加密,有利于提高日志数据的安全性,也有利于实现对分布式存储集群日志进行存储优化。
[0050] 本申请还提供一种分布式存储集群日志存储优化系统,该系统主要包括:日志缓存代理模块、日志重试模块、完整性检测模块、日志解析模块、日志管理模块、日志存储模块和日志存储模块。通过日志缓存代理模块能够实时监听分布式存储集群的日志读写任务,且当获取到日志读写任务时,对日志读写任务分配唯一的缓存编号,利用该编号从分布式存储集群中拉取日志内容。通过日志重试模块,能够在设定的重试阈值范围内,通过重新对所拉取的日志内容进行缓存的方法解决集群故障,通过完整性检测模块能够多次请求日志内容,筛选出完整性检测合格的日志内容。因此,日志重试模块和完整性检测模块能够最大限度地保证节点日志数据的完整性和准确性。通过日志解析模块根据日志配置信息对日志内容进行分类,并将日志内容发送至日志管理模块,通过日志管理模块能够对日志内容按照日志的大小、节点、类别和加密信息等参数进行统计,通过日志访问模块能够访问日志数据并将访问结果反馈至分布式存储集群的节点。通过该系统,能够最大限度保证日志信息采集的完整性、准确性,提高日志存储效率,从而实现对分布式存储集群日志进行存储优化的功能。
[0051] 本申请还提供一种终端,该终端也具有如上分布式存储集群日志存储优化方法和系统相应的技术效果,在此不再赘述。
[0052] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

[0053] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
[0054] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0055] 图1为本申请实施例所提供的一种分布式存储集群日志存储优化方法的流程示意图;
[0056] 图2为本申请实施例所提供的一种分布式存储集群日志存储优化系统的结构示意图;
[0057] 图3为本申请实施例中分布式存储集群日志存储优化系统的工作原理示意图。

具体实施方式

[0058] 为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
[0059] 为了更好地理解本申请,下面结合附图来详细解释本申请的实施方式。
[0060] 实施例一
[0061] 参见图1,图1为本申请实施例所提供的一种分布式存储集群日志存储优化方法的流程示意图。由图1可知,本实施例中分布式存储集群日志存储优化方法,主要包括如下步骤:
[0062] S1:通过与分布式存储集群中各节点进行通信,实时监听分布式存储集群的日志读写任务,且当获取到日志读写任务时,对日志读写任务分配唯一的缓存编号。
[0063] 其中,该缓存编号用于根据日志读写任务从分布式存储集群中拉取日志内容。本实施例中每个日志读写任务与一个缓存编号相匹配,两者之间是一一对应关系。
[0064] S2:在日志读写过程中出现集群故障时,对日志内容开启重试机制。
[0065] 其中,集群故障包括:抖动网络不佳故障、时延故障以及日志信息丢失故障中的至少一种。时延故障即:时延超过设定的时延阈值。
[0066] 具体地,步骤S2包括如下过程:
[0067] S21:在日志读写过程中出现集群故障时,重新对所拉取的日志内容进行缓存。
[0068] S22:判断重新执行的缓存次数是否超过设定的重试阈值。
[0069] 如果重新执行的缓存次数超过设定的重试阈值,执行步骤S23:停止对日志读写任务进行缓存操作。也就是放弃当前这一条日志读写任务,返回步骤S1继续实时监听。
[0070] 如果重新执行的缓存次数没有超过设定的重试阈值,执行步骤S24:继续对拉取的日志内容进行缓存直到集群故障消失。
[0071] 通过重试机制,能够在短时间内无需启动后续流程,直接通过重试有效解决一部分集群故障,如:抖动网络不佳故障、时延故障以及日志信息丢失故障中,这种分布式存储集群日志存储优化方法,能够有效节省优化时间、节约资源,提高优化效率。
[0072] 继续参见图1可知,对日志内容开启重试机制之后,执行步骤S3:对日志内容进行日志完整性检测。
[0073] 具体地,步骤S3包括如下过程:
[0074] S31:对日志内容进行第一次日志完整性检测。
[0075] S32:当第一次日志完整性检测结果不合格时,删除日志内容,并通过发送日志读写监听请求,再次获取日志内容。
[0076] S33:重新对再次获取的日志内容进行完整性检测,直到日志完整性检测结果合格。通过以上步骤S31‑S33,能够将完整性检测不合格的日志及时删除,直到筛选出完整性检测合格的日志,这种方法,能够最大限度保证日志采集的完整性和准确性,从而实现分布式存储集群日志存储优化。
[0077] 继续参见图1可知,日志完整性检测合格后,执行步骤S4:根据日志配置库中的日志配置信息,对日志内容进行分类。
[0078] 本实施例中的日志配置信息包括:告警、事件、操作和级别。
[0079] 进一步地,步骤S4之后,该日志存储优化方法还包括步骤S5:根据所获取的加密命令,对日志内容进行加密。
[0080] 通过对日志数据进行加密,尤其是一些敏感数据,如:用户登录信息和口令等,能够进一步提高分布式集群日志数据的安全性。本实施例中对日志内容进行加密的方法,采用现有技术中的方法,在此不再赘述。
[0081] S6:根据日志参数对日志内容进行统计。
[0082] 其中,日志参数包括:日志的大小、节点、类别和加密信息。根据日志参数对日志Ne内容进行统计,有利于对日志内容进行分门别类,便于后续的日志存储,以及随时根据某种日志参数进行日志调取,提高分布式存储集群日志存储和管理效率。
[0083] S7:存储日志内容。
[0084] 具体地,根据日志参数,将日志内容存储至mongodb数据集群中。本实施例采用mongodb数据集群存储日志内容,相比于现有技术中利用分布式存储集群自身的数据库进行日志存储,能够对日志大块数据进行快速存储,有利于大大提高分布式集群日志数据的存储效率。
[0085] S8:根据所获取的访问命令,对分布式存储集群的日志数据进行访问,并将访问结果反馈至分布式存储集群节点。
[0086] 具体地,步骤S8包括如下过程:
[0087] S81:根据所获取的访问命令,对分布式存储集群的日志数据进行访问;
[0088] S82:对加密后的日志内容进行反向解析。
[0089] 针对步骤S5,通过对日志内容进行反向解析,能够将加密后的日志内容存储为格式化的有效数据,便于用户使用。
[0090] S83:将访问结果和反向解析结果反馈至分布式存储集群节点。
[0091] 实施例二
[0092] 在图1所示实施例的基础上参见图2,图2为本申请实施例所提供的一种分布式存储集群日志存储优化系统的结构示意图。由图2可知,本实施例中的分布式存储集群日志存储优化系统,主要包括:日志缓存代理模块、日志重试模块、完整性检测模块、日志解析模块、日志管理模块、日志存储模块和日志存储模块。
[0093] 其中,日志缓存代理模块,用于通过与分布式存储集群中各节点进行通信,实时监听分布式存储集群的日志读写任务,且当获取到日志读写任务时,对日志读写任务分配唯一的缓存编号,缓存编号用于根据日志读写任务从分布式存储集群中拉取日志内容;日志重试模块,用于在日志读写过程中出现集群故障时,对日志内容开启重试机制,集群故障包括:抖动网络不佳故障、时延故障以及日志信息丢失故障中的至少一种;完整性检测模块,用于对日志内容进行日志完整性检测;日志解析模块,用于日志完整性检测合格后,根据日志配置库中的日志配置信息,对日志内容进行分类;日志管理模块,用于根据日志参数对日志内容进行统计,日志参数包括:日志的大小、节点、类别和加密信息;日志存储模块,用于存储日志内容;日志访问模块,用于根据所获取的访问命令,对分布式存储集群的日志数据进行访问,并将访问结果反馈至分布式存储集群节点。
[0094] 进一步地,日志重试模块包括:缓存单元、判断单元和控制单元。其中,缓存单元,用于在日志读写过程中出现集群故障时,重新对所拉取的日志内容进行缓存;判断单元,用于判断重新执行的缓存次数是否超过设定的重试阈值;控制单元,用于重新执行的缓存次数超过设定的重试阈值时,停止对日志读写任务进行缓存操作,否则,继续对拉取的日志内容进行缓存直到集群故障消失。
[0095] 完整性检测模块包括:第一完整性检测单元、删除单元和第二完整性检测单元。其中,第一完整性检测单元,用于对日志内容进行第一次日志完整性检测;删除单元,用于当第一次日志完整性检测结果不合格时,删除日志内容,并通过发送日志读写监听请求,再次获取日志内容;第二完整性检测单元,用于重新对再次获取的日志内容进行完整性检测,直到日志完整性检测结果合格。
[0096] 日志存储模块,用于根据日志参数,将日志内容存储至mongodb数据集群中。
[0097] 进一步地,本实施例的分布式存储集群日志存储优化系统还包括:加密模块,用于根据所获取的加密命令,对日志内容进行加密。
[0098] 日志访问模块包括:访问单元、反向解析单元和输出单元。其中,访问单元,用于根据所获取的访问命令,对分布式存储集群的日志数据进行访问;反向解析单元,用于对加密后的日志内容进行反向解析;输出单元,用于将访问结果和反向解析结果反馈至分布式存储集群节点。
[0099] 本实施例中分布式存储集群日志存储优化系统的工作原理示意图,可以参见图3所示。该实施例中未详细描述的部分可以参见图1所示的实施例一,两个实施例之间可以互相参照,在此不再赘述。
[0100] 实施例三
[0101] 本申请还提供一种终端,该终端包括:处理器以及与处理器通信连接的存储器,其中,存储器中存储有可被处理器执行的指令,指令被处理器执行,以使处理器能够执行如上分布式存储集群日志存储优化方法。
[0102] 处理器所执行的分布式存储集群日志存储优化方法如下:
[0103] S1:通过与分布式存储集群中各节点进行通信,实时监听分布式存储集群的日志读写任务,且当获取到日志读写任务时,对日志读写任务分配唯一的缓存编号,缓存编号用于根据日志读写任务从分布式存储集群中拉取日志内容;
[0104] S2:在日志读写过程中出现集群故障时,对日志内容开启重试机制,集群故障包括:抖动网络不佳故障、时延故障以及日志信息丢失故障中的至少一种;
[0105] S3:对日志内容进行日志完整性检测;
[0106] S4:日志完整性检测合格后,根据日志配置库中的日志配置信息,对日志内容进行分类;
[0107] S6:根据日志参数对日志内容进行统计,日志参数包括:日志的大小、节点、类别和加密信息;
[0108] S7:存储日志内容;
[0109] S8:根据所获取的访问命令,对分布式存储集群的日志数据进行访问,并将访问结果反馈至分布式存储集群节点。
[0110] 以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。