掌桥专利:专业的专利平台
掌桥专利
首页

跨域数据分布方法、装置、电子设备及存储介质

文献发布时间:2024-04-18 20:01:30


跨域数据分布方法、装置、电子设备及存储介质

技术领域

本公开涉及数据处理技术领域,尤其涉及一种跨域数据分布方法、装置、电子设备及存储介质。

背景技术

分布式文件系统(Distributed File System,DFS)是指其管理的存储资源不一定是本地直连,通常是通过网络将不同计算机的物理存储资源整合而成一个完整的、有层次的存储池。DFS为分布在网络上任意位置的资源提供一个逻辑上的树形文件系统结构,从而使用户访问分布在网络上的共享文件更加简便。

虽然理论上DFS的存储资源可以位于网络联通的任意区域,但出于技术难度、成本、性能的考虑,实际使用时分布式存储资源池基本都不是跨域的,对于跨域场景,现有技术中缺少相应的解决方案。

发明内容

本公开提供一种跨域数据分布方法、装置、电子设备及存储介质,以解决相关技术中的问题。

本公开的第一方面实施例提出了一种跨域数据分布方法,该方法包括:

为所述至少一个区域中每个区域部署第一哨兵服务;以及,为所述每个区域所包括的至少一个集群中每个集群部署第二哨兵服务;

基于所述第一哨兵服务和所述第二哨兵服务获取所述至少一个区域内所有集群的目标信息;

响应于数据写入请求,基于所述目标信息确定符合指定条件的至少一个目标集群,以从所述至少一个目标集群中选择指定集群对数据进行写入。

在一实施例中,所述的跨域数据分布方法还包括:

从所述每个区域对应的所述第一哨兵服务中确定一个第一领导者,并将剩余的每个第一哨兵服务作为第一从属者;

以及,

从所述每个集群对应的所述第二哨兵服务中确定一个第二领导者,并将剩余的每个第二哨兵服务作为第二从属者。

在一实施例中,所述基于所述第一哨兵服务和所述第二哨兵服务获取所述至少一个区域内所有集群的目标信息,包括:

针对任一区域,通过所述第二领导者和所述第二从属者获取所述每个集群的第一集群信息;以及,通过所述第二领导者收集所述每个集群的第二集群信息;其中,所述第一集群信息用于指示所述集群的硬件状态信息,所述第二集群信息用于指示所述集群的容量信息;

合并所述第一集群信息和所述第二集群信息,得到所述每个集群对应的集群信息向量;

通过所述第一领导者对所述集群信息向量进行计算处理,得到所述每个集群的第一参数矩阵;其中,所述第一参数矩阵包括第一成本相关性参数矩阵、第一性能相关性参数矩阵、第一过滤参数矩阵或第一时延向量中的至少一种;

针对所有区域,合并所有区域中每个集群的第一参数矩阵,得到针对所有区域的第二参数矩阵,其中,所述第二参数矩阵包括第二成本相关性参数矩阵、第二性能相关性参数矩阵、第二过滤参数矩阵或第二时延向量中的至少一种。

在一实施例中,所述合并所述第一集群信息和所述第二集群信息,得到所述每个集群对应的集群信息向量,包括:

针对所述每个集群,对所述集群信息向量进行分类处理,得到成本相关性参数、性能相关性参数、过滤参数;

基于所述成本相关性参数构建成本相关性向量、基于所述性能相关性参数构建性能相关性向量及基于所述过滤参数构建过滤向量。

在一实施例中,所述通过所述第一领导者对所述集群信息向量进行计算处理,得到所述每个集群的第一参数矩阵,包括:

通过所述每个集群对应的所述成本相关性向量构建第一成本相关性参数矩阵、通过所述每个集群对应的所述性能相关性向量构建第一性能相关性参数矩阵及通过所述每个集群对应的所述过滤向量构建第一过滤参数矩阵;

以及,通过当前区域对应的第一领导者与所述当前区域内每个集群对应的第二领导者保持心跳,并和所述当前区域外所有集群对应的第二领导者保持周期性探活,得到各个区域内客户端到各个集群的时延信息;

基于所述时延信息得到所述第一时延向量。

在一实施例中,所述指定条件包括成本优先条件和/或性能优先条件,所述基于所述目标信息确定符合指定条件的至少一个目标集群,包括:

针对所述至少一个区域中的所有集群,通过所述第二过滤参数矩阵过滤不符合目标要求的集群;

当所述指定条件为所述成本优先条件时,通过所述第二成本相关性参数矩阵计算所述所有集群的成本得分,并按所述成本得分由高到低的顺序取预设数量的集群作为所述至少一个目标集群;

当所述指定条件为所述性能优先条件时,通过所述第二性能相关性参数矩阵计算所述所有集群的性能得分,并按所述性能得分由高到低的顺序取所述预设数量的集群作为所述至少一个目标集群;

当所述指定条件为所述成本优先条件和所述性能优先条件时,通过所述第二成本相关性参数矩阵计算所述所有集群的成本得分,通过所述第二性能相关性参数矩阵计算所述所有集群的性能得分,基于所述成本得分和所述性能得分计算所述所有集群的综合得分,并按所述综合得分由高到低的顺序取所述预设数量的集群作为所述至少一个目标集群。

在一实施例中,所述数据写入请求指定了时延上限,所述基于所述目标信息确定符合指定条件的至少一个目标集群,包括:

通过所述第二时延向量对不满足所述时延上限的集群进行过滤;

基于所述目标信息从过滤后集群中确定符合指定条件的至少一个目标集群。

在一实施例中,所述的跨域数据分布方法还包括:

基于所述目标信息确定所述所有集群中每个集群的综合得分,其中,所述综合得分基于集群的成本和性能确定;

获取在预设周期内目标数据的访问频率,并基于所述访问频率调整所述目标数据的温度属性,其中,所述温度属性表征所述目标数据的访问频率,温度越高,所述访问频率越高;

对所述目标数据进行迁移,其中,所述目标数据迁移后所在集群对应的综合得分与所述温度属性相匹配。

在一实施例中,所述目标数据包括容忍度信息,所述容忍度信息表征所述目标数据的最低存储要求,存储要求基于所述目标信息确定,所述方法还包括:

对所述目标数据所在的当前集群进行检测处理,得到所述当前集群的存储信息;

若所述存储信息不满足所述容忍度信息,对所述目标数据进行迁移,以使迁移后所位于的集群满足所述容忍度信息。

本公开的第二方面实施例提出了一种跨域数据分布装置,该装置包括:

部署模块,用于为所述至少一个区域中每个区域部署第一哨兵服务;以及,为所述每个区域所包括的至少一个集群中每个集群部署第二哨兵服务;

获取模块,用于基于所述第一哨兵服务和所述第二哨兵服务获取所述至少一个区域内所有集群的目标信息;

执行模块,用于响应于数据写入请求,基于所述目标信息确定符合指定条件的至少一个目标集群,以从所述至少一个目标集群中选择指定集群对数据进行写入。

本公开的第三方面实施例提出了一种电子设备,包括:

至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开第一方面实施例中描述的方法。

本公开的第四方面实施例提出了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本公开第一方面实施例中描述的方法。

综上,本公开提出了一种跨域数据分布方法、装置、电子设备及存储介质。其中,所述的方法包括:为所述至少一个区域中每个区域部署第一哨兵服务;以及,为所述每个区域所包括的至少一个集群中每个集群部署第二哨兵服务;基于所述第一哨兵服务和所述第二哨兵服务获取所述至少一个区域内所有集群的目标信息;响应于数据写入请求,基于所述目标信息确定符合指定条件的至少一个目标集群,以从所述至少一个目标集群中选择指定集群对数据进行写入。

本公开提供的方案,通过哨兵服务获得所有集群的目标信息,在此基础上,允许客户按照实际业务的需求选择符合指定条件的集群。按照当下各区域内个集群的实际情况,筛选出最符合指定条件的至少一个目标集群供选择,保证了数据写入到最优位置。并且,由于该方法实现了跨域的数据分布,数据不再局限于单一的集群或区域,而是根据各个集群的目标信息进行智能分布,扩大了数据的可迁移范围,为数据在不同区域的跨区域迁移提供了基础。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。

图1是本申请实施例提供的相关技术中的分布式文件系统架构的结构示意图。

图2为本公开实施例提供的跨域数据分布方法的流程示意图;

图3为本申请实施例提供的跨域分布式文件存储架构的结构示意图;

图4为本公开实施例提供的哨兵具体分布的示意图;

图5为本公开实施例提供的获取所述至少一个区域内所有集群的目标信息的方法的流程示意图;

图6为本公开实施例提供的确定符合指定条件的至少一个目标集群的方法的流程示意图;

图7为本公开实施例提供的第一种对所述目标数据进行迁移的方法的流程示意图;

图8为本公开实施例提供的第二种对所述目标数据进行迁移的方法的流程示意图;

图9为本公开实施例提供的跨域数据分布装置的结构示意图;

图10为本公开实施例提供的电子设备的硬件组成结构示意图。

具体实施方式

下面详细描述本公开的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本公开,而不能理解为对本公开的限制。

虽然理论上DFS的存储资源可以位于网络联通的任意区域,但出于技术难度、成本、性能的考虑,实际使用时分布式存储资源池基本都不是跨域的。

请参见图1,图1是本申请实施例提供的相关技术中的分布式文件系统架构的结构示意图。如图1所示,区域1(R1)中的服务器构成:

数据存储资源池,用于存储客户的真实的数据;

元数据存储资源池,用于记录这些数据所在的数据存储池中的位置。

这些服务器可以位于故障域相互隔离的多个不同的可用区中。客户在读写数据时,先访问元数据服务器获得数据所在位置,再根据位置访问对应的数据服务器获得数据。元数据服务器和数据服务器之间有一些交互操作,比如:元数据服务器会探测数据服务器的状态,管理数据的副本关系等,数据的分层也需要通过元数据服务器来实现。

数据分层是指将不同性能的硬件资源池进行整合,通过测算数据温度,实现数据在不同存储池之间自动流转。现在比较通用的温度算法如表1所示:

表1

通常情况下,新写入数据会比很久之前的数据的访问频率高很多,这些访问频率高的数据被认为是热数据。随着时间的推移,有些数据在一周内的访问频次不超过5次,则被认定为温数据,以此类推。对于业务上的热、温、冷、冻结数据,可以分别存储在NVMe SSD、SATA SSD、HDD、SMR叠瓦式磁盘中,结合高比例纠删码、压缩去重等技术,可以在满足业务时延要求的同时压缩成本。

上述方案中的数据分布策略是客户随机指定资源池写入数据,而后根据上述数据温度算法实现区域内的数据流动,进而实现更合理的数据分布。但随着数字经济的不断发展,上述方法由于还存在以下缺陷,因此并不能胜任数据跨域分布和跨域流动场景。

首先,客户选择资源池充满随机性;由于客户对全局的资源池情况并不了解,在这种随机选择的情况下,难以选择最符合自己需求的资源池。

其次,没有数据跨区域流动的评判指标;由于数据迁移范围局限在单个区域内,导致数据流动方案中仅考虑数据温度,而不考虑实际客户端离存储资源池的距离。

再次,默认刚写入的数据是热数据,没有考虑实际业务属性;上述温度算法中数据的存储时间是重要评判指标,但是对于相当一部分业务来说(比如照片备份、监控视频等),数据自写入起就可以被判定为温冷数据,这部分数据如果当热数据处理,则会在短期内占用本该属于热数据的存储空间。

为了解决相关技术中的缺陷,本公开实施例提供了一种跨域数据分布方法、装置、电子设备及存储介质。

下面结合附图及具体实施例对本公开作进一步详细的说明。

如图2所示,图2为本公开实施例提供的跨域数据分布方法的流程示意图。本公开实施例提供的跨域数据分布方法,包括以下步骤:

步骤201,为所述至少一个区域中每个区域部署第一哨兵服务;以及,为所述每个区域所包括的至少一个集群中每个集群部署第二哨兵服务;

在一实施例中,建立起一个完善的监控和管理体系。

在一实施例中,第一哨兵服务负责监控和管理区域级别的信息。

在一实施例中,第二哨兵服务则负责更细粒度的集群级别的信息。

在一实施例中,区域级别和集群级别分别对应的的第一哨兵服务和第二哨兵服务相互协作,共同构成了一个全面的数据分布管理框架。

在一实施例中,如图3所示,图3为本申请实施例提供的跨域分布式文件存储架构的结构示意图。为了实现数据的跨域智能流动,在跨域存储池的每个区域中新增了哨兵(服务),并且引入了跨域元数据管理模块。哨兵服务的主要功能是收集信息,为了保证高可用,哨兵也是分布式部署的,为了保证信息处理效率,哨兵之间采用多级上报的模式。

步骤202,基于所述第一哨兵服务和所述第二哨兵服务获取所述至少一个区域内所有集群的目标信息;

在一实施例中,步骤202之前,本公开实施例提供的跨域数据分布方法还包括:

从所述每个区域对应的所述第一哨兵服务中确定一个第一领导者,并将剩余的每个第一哨兵服务作为第一从属者;

以及,

从所述每个集群对应的所述第二哨兵服务中确定一个第二领导者,并将剩余的每个第二哨兵服务作为第二从属者。

在一实施例中,通过选举的方式从所述每个区域对应的所述第一哨兵服务中确定一个第一领导者,以及,从所述每个集群对应的所述第二哨兵服务中确定一个第二领导者。

在一实施例中,在每个区域内,可能会存在多个第一哨兵服务。为了确保管理和决策的统一性和高效性,通过选举的方式从这些第一哨兵服务中确定一个领导者,即第一领导者。

在一实施例中,第一领导者负责统筹对应区域内的数据分布决策和集群管理任务。

在一实施例中,第一从属者,辅助第一领导者完成工作,例如提供集群的状态信息、执行领导者的决策等。

在一实施例中,上述选举机制可以确保即使某个哨兵服务发生故障,其他哨兵服务也可以迅速替补,保证系统的连续性和稳定性。

在一实施例中,与区域级别相似,每个集群中的多个第二哨兵服务也会通过选举机制确定一个领导者,即第二领导者。第二领导者更细致地管理其对应的集群,例如监控节点状态、管理数据写入等。而其他的第二哨兵服务则作为第二从属者,配合第二领导者完成各种任务。

在一实施例中,集群内部的领导者选举机制,可以确保集群内部的管理和决策更为集中和高效。

在一实施例中,如图4所示,图4为本公开实施例提供的哨兵具体分布的示意图。图4中区域1包括三个区域级哨兵,三个区域级哨兵通过选举的方式选举出Leader(第一领导者),剩余的区域级哨兵为Follower(第一从属者);区域1中存在多个可用区,例如可用区1~可用区N,每个可用区中包括N个集群,对于每一集群,同样包括三个节点级哨兵,三个节点级哨兵通过选举的方式选举出Leader(第二领导者),剩余的节点级哨兵为Follower(第二从属者)。上述方式实现了对跨域数据分布的更为精细化和高效化的管理。领导者与从属者的配合,确保了系统即使在面对故障和挑战时,仍能稳定、高效地工作。

步骤203,响应于数据写入请求,基于所述目标信息确定符合指定条件的至少一个目标集群,以从所述至少一个目标集群中选择指定集群对数据进行写入。

在一实施例中,在接收到数据写入请求后,利用收集到的目标信息,筛选出符合指定条件(如成本优先和性能优先)的目标集群。然后,从筛选出的目标集群中选择一个或多个指定集群进行数据写入。

综上,步骤201至步骤203实现了自动化的、智能的跨域数据分布机制。它能够根据实时的集群状态信息,动态地调整数据写入的目标,从而在保证数据安全和可靠的同时,提高了系统的整体性能。

本公开提出了一种跨域数据分布方法,包括:为所述至少一个区域中每个区域部署第一哨兵服务;以及,为所述每个区域所包括的至少一个集群中每个集群部署第二哨兵服务;基于所述第一哨兵服务和所述第二哨兵服务获取所述至少一个区域内所有集群的目标信息;响应于数据写入请求,基于所述目标信息确定符合指定条件的至少一个目标集群,以从所述至少一个目标集群中选择指定集群对数据进行写入。

本公开提供的方案,通过哨兵服务获得所有集群的目标信息,在此基础上,允许客户按照实际业务的需求选择符合指定条件的集群。按照当下各区域内个集群的实际情况,筛选出最符合指定条件的至少一个目标集群供选择,保证了数据写入到最优位置。并且,由于该方法实现了跨域的数据分布,数据不再局限于单一的集群或区域,而是根据各个集群的目标信息进行智能分布,扩大了数据的可迁移范围,为数据在不同区域的跨区域迁移提供了基础。

在一实施例中,如图5所示,所述步骤202,包括:

步骤501,针对任一区域,通过所述第二领导者和所述第二从属者获取所述每个集群的第一集群信息;以及,通过所述第二领导者收集所述每个集群的第二集群信息;其中,所述第一集群信息用于指示所述集群的硬件状态信息,所述第二集群信息用于指示所述集群的容量信息;

在一实施例中,所述集群的硬件状态信息包括以下信息中的至少一种:

磁盘类型、磁盘状态、CPU使用率、内存使用率、网络带宽使用率或系统负载。

在一实施例中,所述集群的容量信息包括以下信息中的至少一种:

已用容量比例、容量日增率、容量周增率、容量月增率、传输类型、集群成本、每秒读写次数。

在一实施例中,为了全面获取每个集群的状态和性能信息,该方法利用了第二领导者和第二从属者的协同工作。第二领导者和第二从属者负责直接与各自的集群交互,收集集群的详细信息。

在一实施例中,一个区域中通常会划分多个故障域相互隔离的可用区,同样,每个可用区中可以再划分多个故障域互相隔离的存储集群。这些集群之间可以是异构的,即磁盘类型或者规格可以不一致。一个存储集群是由多个数据服务器构成的,每个服务器上都会部署哨兵服务用于收集本节点的信息,包括磁盘类型(HDD/SSD/NVMe)、磁盘状态、CPU使用率、内存使用率、网络带宽使用率、系统负载。

集群内的哨兵服务通过raft算法(一种分布式一致性算法)选举出一个领导者(Leader),Leader除了需要搜集上述节点的信息外,还需要搜集集群的信息,包括已用容量比例(used_percentage)、容量日增率(day_rate)、容量周增率(week_rate)、容量月增率(month_rate)、传输类型(trans_type[TCP/RDMA])、集群成本(cost)、每秒读写次数(IOPS),其中容量增率在新增数据量少于删除数据量时可能为负数,为了方便后续归一化处理,负数情况下默认取0。Leader会和其他哨兵服从者(Follower)维持心跳,心跳有以下两个作用:

第一,维持自己的领导者地位,因为如果Follower超时无法获取Leader的心跳请求会认为Leader故障,从而触发新一轮选举;

第二,探测各节点的健康状态,必要时给出告警,同时搜集各节点的信息,汇总处理形成集群对外的信息。

步骤502,合并所述第一集群信息和所述第二集群信息,得到所述每个集群对应的集群信息向量;

在一实施例中,对于每一个集群,将第一集群信息和第二集群信息进行合并,得到一个集群信息向量。

在一实施例中,集群信息包含了该集群的全面信息。集群信息向量随后被发送至对应区域的第一领导者。

在一实施例中,第一领导者接收到集群信息向量后,会进行计算处理,得到每个集群的第一参数矩阵。这个矩阵包含了四个子矩阵或向量,它们分别从成本、性能、过滤和时延四个方面对集群进行了评估。

基于此,在一实施例中,步骤所述502,包括:

针对所述每个集群,对所述集群信息向量进行分类处理,得到成本相关性参数、性能相关性参数、过滤参数;

在一实施例中,所述成本相关性参数包括所述已用容量比例、所述容量日增率、所述容量周增率、所述容量月增率和所述集群成本;

在一实施例中,所述性能相关性参数包括所述每秒读写次数、所述磁盘类型、所述CPU使用率、所述内存使用率和所述网络带宽负载;

在一实施例中,所述过滤参数包括所述磁盘状态、所述系统负载和所述传输类型。

基于所述成本相关性参数构建成本相关性向量、基于所述性能相关性参数构建性能相关性向量及基于所述过滤参数构建过滤向量。

步骤503,通过所述第一领导者对所述集群信息向量进行计算处理,得到所述每个集群的第一参数矩阵;其中,所述第一参数矩阵包括第一成本相关性参数矩阵、第一性能相关性参数矩阵、第一过滤参数矩阵或第一时延向量中的至少一种;

在一实施例中,步骤所述503,包括:

通过所述每个集群对应的所述成本相关性向量构建第一成本相关性参数矩阵、通过所述每个集群对应的所述性能相关性向量构建第一性能相关性参数矩阵及通过所述每个集群对应的所述过滤向量构建第一过滤参数矩阵;

以及,通过当前区域对应的第一领导者与所述当前区域内每个集群对应的第二领导者保持心跳,并和所述当前区域外所有集群对应的第二领导者保持周期性探活,得到各个区域内客户端到各个集群的时延信息;

基于所述时延信息得到所述第一时延向量。

在一实施例中,区域级的哨兵同样需要采用分布式部署的方式来保证高可用,彼此之间也是依靠raft算法选主。区域级Leader哨兵需要对收集的信息进行分类,目前我们将参数分为:成本相关性参数、性能相关性参数、过滤参数,其中成本相关性参数构成成本相关性向量C’=[used_percentage day_rate week_rate month_rate cost],性能相关性参数构成性能相关性向量T’=[IOPS clu_type clu_cpu_usage clu_mem_usage clu_bw_usage],剩余参数构成过滤向量F=[clu_health clu_sys_load trans_type]。由于C’中day_rate、week_rate、month_rate具有一定相关性,采用加权平均的方式合并成1个参数increase_rate:

其中,α1,α2,α3是权重系数,可以根据实际需要设置,默认是[0.5 0.3 0.2]。

同样的,T’中clu_cpu_usage、clu_mem_usage、clu_bw_usage之间也存在相关性,同样可以采用加权平均的方式合并成参数clu_sys_uasge:

其中,β1,β2,β3是权重系数,可以根据实际需要设置情况,默认是[1 1 1]。

此外,IOPS和clu_type也有强相关性,假设某公司建设的capacity集群的IOPS上限100000,performance集群的IOPS上限为350000。那么哨兵当前获取到的IOPS值是90000时,如果clu_type=capacity,则其使用了90%的集群能力,如果clu_type=performance,则其仅使用了25.7%的集群能力。故而结合IOPS和clu_type,我们可以得到参数IOPS_usage:

其中,max需要资源建设厂商按集群类型评估。

最终得到的成本相关性参数向量是:C=[used_percentage increase_ratecost],性能相关性参数向量是:T=[IOPS_usage clu_sys_usage]。

需要说明的是:区域级Leader哨兵除了需要和区域内各个集群的Leader哨兵保持心跳以获得集群信息和状态外,还需要和区域外所有集群的Leader哨兵保持周期性的探活。通过探活,可以粗略获得各区域内的客户端到各个集群的时延信息(latency,单位:ms)。

区域级哨兵Leader可以获取区域成本相关性参数矩阵R

其中,x表示区域内集群的总数。

L=[lat

其中,z表示所有区域内集群的总数。

步骤504,针对所有区域,合并所有区域中每个集群的第一参数矩阵,得到针对所有区域的第二参数矩阵,其中,所述第二参数矩阵包括第二成本相关性参数矩阵、第二性能相关性参数矩阵、第二过滤参数矩阵或第二时延向量中的至少一种。

在一实施例中,对于所有的区域,每个区域中的集群都会有一个与之对应的第一参数矩阵。将这些第一参数矩阵进行合并处理,得到针对所有区域的第二参数矩阵。与第一参数矩阵类似,第二参数矩阵也从成本、性能、过滤和时延四个方面进行了评估,但其范围是针对所有的区域。

区域级哨兵Leader会将这它们向上汇报给跨域元数据管理模块,管理模块对收集的信息按:合并、归一、加权、排序的方式处理。

区域级哨兵收集到所有区域上报的参数矩阵后,合并成以下形式:

其中,z表示所有区域内集群的总数,

在一实施例中,所述步骤203中所述指定条件包括成本优先条件和/或性能优先条件。对应的,所述步骤203,包括:

针对所述至少一个区域中的所有集群,通过所述第二过滤参数矩阵过滤不符合目标要求的集群;

当所述指定条件为所述成本优先条件时,通过所述第二成本相关性参数矩阵计算所述所有集群的成本得分,并按所述成本得分由高到低的顺序取预设数量的集群作为所述至少一个目标集群;

当所述指定条件为所述性能优先条件时,通过所述第二性能相关性参数矩阵计算所述所有集群的性能得分,并按所述性能得分由高到低的顺序取所述预设数量的集群作为所述至少一个目标集群;

当所述指定条件为所述成本优先条件和所述性能优先条件时,通过所述第二成本相关性参数矩阵计算所述所有集群的成本得分,通过所述第二性能相关性参数矩阵计算所述所有集群的性能得分,基于所述成本得分和所述性能得分计算所述所有集群的综合得分,并按所述综合得分由高到低的顺序取所述预设数量的集群作为所述至少一个目标集群。

对至少一个区域中的所有集群进行过滤操作,通过第二过滤参数矩阵来排除那些不符合基本目标要求的集群。这样可以确保后续的筛选过程仅针对符合条件的集群进行,提高了筛选效率。

在一实施例中,过滤参数矩阵的作用主要用于排除不符合基本要求的集群。

在一实施例中,过滤参数矩阵F=[clu_health clu_sys_load trans_type]包含集群健康状态、集群负载状态和集群传输类型。在实际使用时如果集群健康分在设定的阈值下(默认为85),或者系统负载在设定的阈值上(默认为1),或者集群的传输类型和客户指定的类型不匹配,那么该集群将直接被排除,即客户的数据暂不会落入该集群。

在一实施例中,根据指定的条件不同,筛选过程会有所区别:

在一实施例中,当指定条件为成本优先时,筛选过程会利用第二成本相关性参数矩阵来计算所有集群的成本得分。

在一实施例中,成本得分反映了集群在成本方面的优势,得分越高,表示该集群在成本上越具有竞争力。之后,按照成本得分由高到低的顺序,选取预设数量的集群作为目标集群。

在一实施例中,当指定条件为性能优先时,使用第二性能相关性参数矩阵来计算所有集群的性能得分。

在一实施例中,性能得分体现了集群在性能上的表现,得分越高,性能越好。同样地,按照性能得分由高到低的顺序,选取预设数量的集群作为目标集群。

在一实施例中,当既要考虑成本又要考虑性能时,需要分别计算所有集群的成本得分和性能得分。在得到这两个得分后,综合得分会被计算出来。综合得分是一个综合考虑了成本和性能的指标。最后,按照综合得分由高到低的顺序,选取预设数量的集群作为目标集群。

在一实施例中,先对R

标准化后每个特征值位于[0,1]之间得到R′

每一行是一个特征向量,以第一行为例,表示集群1已用80%的容量,且里面的数据呈增长态势,涨幅为20%,集群1的建设成本约为3.4元/GB,则该参数矩阵最后得分为:

用同样的方法计算性能参数矩阵:

最终可以计算获得所有集群每一项的得分,经过加权可以得到集群的最终得分,最终得分同样分为成本得分和性能得分:

SCORE

其中z表示集群总数,n表示特征数,α是权重矩阵,权重矩阵中元素均处于(0,1)区间,且和为1。继续以(2)中的公司为例,假设权重矩阵分别为:

和/>

那么三个集群的成本得分分别是:59.5,20,65;集群的性能得分分别是:100,0,15.5。

上述的方式,可以根据实际需求来设定筛选条件。无论是优先考虑成本、性能,还是两者综合考虑,都能够确保选出的目标集群是最符合业务需求的。同时,通过预设数量的方式,还可以控制选出的目标集群的数量,进一步满足业务的实际需求。

在一实施例中,所述数据写入请求指定了时延上限;

相应的,在一实施例中,如图6所示,所述基于所述目标信息确定符合指定条件的至少一个目标集群,包括:

步骤601,通过所述第二时延向量对不满足所述时延上限的集群进行过滤;

在一实施例中,第二时延向量包含了每个集群的时延数据。

在一实施例中,在分布式系统和网络中,时延是一个关键指标,它影响着数据的传输速度和系统的响应时间。因此,在选择目标集群时,需要确保它们的时延满足要求。这一步中,系统会对比第二时延向量中的数值和预设的时延上限,将那些超过时延上限的集群过滤掉。

步骤602,基于所述目标信息从过滤后集群中确定符合指定条件的至少一个目标集群。

在一实施例中,基于目标信息从剩余集群中确定符合指定条件的至少一个目标集群。在经过时延过滤后,剩下的集群都是满足时延要求的。

在一实施例中,系统会再次参考其他的目标信息,如成本、性能等,从剩余的集群中挑选出符合指定条件的目标集群。这个过程可能会使用到前面提到的成本优先、性能优先等策略,确保选出的集群是最优的。

在一实施例中,结合步骤601至步骤602可知,在筛选目标集群的过程中,除了考虑成本和性能因素外,还需要考虑集群的时延表现。

在一实施例中,确保了选出的目标集群不仅在成本和性能上满足要求,同时也确保了它们在时延方面的表现也是合格的。这样的筛选机制确保了系统的高效性和稳定性,为用户或业务提供了更好的体验。

在一实施例中,如图7所示,本公开提供的跨域数据分布方法还包括:

步骤701,基于所述目标信息确定所述所有集群中每个集群的综合得分,其中,所述综合得分基于集群的成本和性能确定;

在一实施例中,基于前述的成本和性能评估,每个集群都会得到一个综合得分。

在一实施例中,考虑了集群的成本和性能后的综合评价,得分越高,表示该集群在整体表现上越好。这种综合评估的方式可以确保更全面地评价集群的优劣,避免单一指标的片面性。

步骤702,获取在预设周期内目标数据的访问频率,并基于所述访问频率调整所述目标数据的温度属性,其中,所述温度属性表征所述目标数据的访问频率,温度越高,所述访问频率越高;

在一实施例中,系统还会获取在预设周期内目标数据的访问频率。

在一实施例中,访问频率体现了数据的热度,即数据被访问的频繁程度。

在一实施例中,基于这个访问频率,系统会调整目标数据的温度属性。这里的温度属性实际上是对数据访问频率的一种表征,温度越高,表示该数据的访问频率越高,也就是说数据越“热”。

步骤703,对所述目标数据进行迁移,其中,所述目标数据迁移后所在集群对应的综合得分与所述温度属性相匹配。

在一实施例中,在确定了集群的综合得分和数据的温度属性后,系统会对目标数据进行迁移。

在一实施例中,迁移的目标是根据数据的温度属性来选择与之匹配的集群。

在一实施例中,对于那些温度较高的数据(即访问频率高的数据),它们应该被迁移到综合得分高、性能好的集群中,以确保这些数据能够快速被访问和处理。而那些温度较低的数据(访问频率低的数据)可能会被迁移到成本更低、但性能相对较差的集群中,以优化存储成本。

在一实施例中,访问频率可由各区域客户端周期内访问频次或文件上次被访问的时间表征。

在一实施例中,访问频率由各区域客户端周期内访问频次表征的方式为:

元数据存储池中为每一个文件维护了一维数组,数组长度为区域个数。由于客户端访问数据时需要先访问元数据存储池以获得数据所在的位置信息,此时元数据存储池可以捕获到该数据是被哪一个区域的客户端访问,对应将该区域访问该数据的次数加一。该数组自文件被创建起创建,每隔一个周期重置一次,该周期可以人为设定,默认为一个月,即统计到的是过去一个月内数据被各区域访问的情况。如果在一个周期内数据各区域访问次数的总和低于指定次数,该数据则被认为是冷数据。

在一实施例中,访问频率由文件上次被访问的时间表征的方式为:

如果数据在过去一个时间段内从未被访问,说明它可以被认为是冷数据,即可迁移到更加实惠的资源池,同样时间段长度也可调节。

在一实施例中,所述目标数据包括容忍度信息,所述容忍度信息表征所述目标数据的最低存储要求,存储要求基于所述目标信息确定;

相应的,在一实施例中,如图8所示,本公开实施例提供的跨域数据分布方法还包括:

步骤801,对所述目标数据所在的当前集群进行检测处理,得到所述当前集群的存储信息;

步骤802,若所述存储信息不满足所述容忍度信息,对所述目标数据进行迁移,以使迁移后所位于的集群满足所述容忍度信息。

在一实施例中,容忍度信息是目标数据的一个属性,它表征了目标数据的最低存储要求。这种最低存储要求可能是基于数据的大小、访问频率、重要性等因素确定的。对于某些关键数据,可能要求其存储在性能较高、稳定性较好的集群中,而对于一些非关键数据,可能只需要满足基本的存储要求即可。

在一实施例中,为了确保目标数据得到妥善的处理和存储,该方法还包括对目标数据所在的当前集群进行检测处理。这种检测可以获取当前集群的各种存储信息,如剩余存储空间、存储性能、存储稳定性等。

在一实施例中,若检测发现当前集群的存储信息不满足目标数据的容忍度信息,这意味着当前集群不能满足目标数据的最低存储要求。为了确保数据的完整性和安全性,该方法会对目标数据进行迁移,将其从一个集群迁移到另一个集群,以确保迁移后的集群能够满足该目标数据的容忍度信息。

在一实施例中,上述的方式确保了每一个目标数据都能够得到与其重要性匹配的存储处理,保证了数据的安全和高效访问,同时也最大化地利用了集群资源。

在一实施例中,作为容忍度信息为时延的示例,时延矩阵还可以用于过滤出满足客户时延要求的集群,使用场景可以是跨域数据迁移。比如:

第一,客户指定了时延上限,但在客户端实际访问过程中发现时延超过时延上限,那么数据需要迁移到满足时延要求的存储集群内;

第二,冷数据长期没有被访问,需要迁移至成本更低存储资源池,但是客户指定了时延上限,也就是说新的资源池需要排除那些时延不满足上限要求的资源池。

为了实现本公开实施例提供的跨域数据分布方法,本公开实施例还提供一种跨域数据分布装置,如图9所示。图9为本公开实施例提供的跨域数据分布装置的结构示意图,所述跨域数据分布装置900,包括:

部署模块901,用于为所述至少一个区域中每个区域部署第一哨兵服务;以及,为所述每个区域所包括的至少一个集群中每个集群部署第二哨兵服务;

获取模块902,用于基于所述第一哨兵服务和所述第二哨兵服务获取所述至少一个区域内所有集群的目标信息;

执行模块902,用于响应于数据写入请求,基于所述目标信息确定符合指定条件的至少一个目标集群,以从所述至少一个目标集群中选择指定集群对数据进行写入。

在一实施例中,所述跨域数据分布装置900还包括第一确定模块,第一确定模块用于:

从所述每个区域对应的所述第一哨兵服务中确定一个第一领导者,并将剩余的每个第一哨兵服务作为第一从属者;以及,从所述每个集群对应的所述第二哨兵服务中确定一个第二领导者,并将剩余的每个第二哨兵服务作为第二从属者。

在一实施例中,所述获取模块902,具体用于:

针对任一区域,通过所述第二领导者和所述第二从属者获取所述每个集群的第一集群信息;以及,通过所述第二领导者收集所述每个集群的第二集群信息;其中,所述第一集群信息用于指示所述集群的硬件状态信息,所述第二集群信息用于指示所述集群的容量信息;

合并所述第一集群信息和所述第二集群信息,得到所述每个集群对应的集群信息向量;

通过所述第一领导者对所述集群信息向量进行计算处理,得到所述每个集群的第一参数矩阵;其中,所述第一参数矩阵包括第一成本相关性参数矩阵、第一性能相关性参数矩阵、第一过滤参数矩阵或第一时延向量中的至少一种;

针对所有区域,合并所有区域中每个集群的第一参数矩阵,得到针对所有区域的第二参数矩阵,其中,所述第二参数矩阵包括第二成本相关性参数矩阵、第二性能相关性参数矩阵、第二过滤参数矩阵或第二时延向量中的至少一种。

在一实施例中,所述获取模块902,具体用于:

针对所述每个集群,对所述集群信息向量进行分类处理,得到成本相关性参数、性能相关性参数、过滤参数;

基于所述成本相关性参数构建成本相关性向量、基于所述性能相关性参数构建性能相关性向量及基于所述过滤参数构建过滤向量。

在一实施例中,所述获取模块902,具体用于:

通过所述每个集群对应的所述成本相关性向量构建第一成本相关性参数矩阵、通过所述每个集群对应的所述性能相关性向量构建第一性能相关性参数矩阵及通过所述每个集群对应的所述过滤向量构建第一过滤参数矩阵;

以及,通过当前区域对应的第一领导者与所述当前区域内每个集群对应的第二领导者保持心跳,并和所述当前区域外所有集群对应的第二领导者保持周期性探活,得到各个区域内客户端到各个集群的时延信息;

基于所述时延信息得到所述第一时延向量。

在一实施例中,所述指定条件包括成本优先条件和/或性能优先条件。

在一实施例中,所述执行模块902,具体用于:

针对所述至少一个区域中的所有集群,通过所述第二过滤参数矩阵过滤不符合目标要求的集群;

当所述指定条件为所述成本优先条件时,通过所述第二成本相关性参数矩阵计算所述所有集群的成本得分,并按所述成本得分由高到低的顺序取预设数量的集群作为所述至少一个目标集群;

当所述指定条件为所述性能优先条件时,通过所述第二性能相关性参数矩阵计算所述所有集群的性能得分,并按所述性能得分由高到低的顺序取所述预设数量的集群作为所述至少一个目标集群;

当所述指定条件为所述成本优先条件和所述性能优先条件时,通过所述第二成本相关性参数矩阵计算所述所有集群的成本得分,通过所述第二性能相关性参数矩阵计算所述所有集群的性能得分,基于所述成本得分和所述性能得分计算所述所有集群的综合得分,并按所述综合得分由高到低的顺序取所述预设数量的集群作为所述至少一个目标集群。

在一实施例中,述数据写入请求指定了时延上限。

在一实施例中,所述执行模块902,具体用于:

通过所述第二时延向量对不满足所述时延上限的集群进行过滤;

基于所述目标信息从过滤后集群中确定符合指定条件的至少一个目标集群。

在一实施例中,所述跨域数据分布装置900还包括第一迁移模块,第一迁移模块用于:

基于所述目标信息确定所述所有集群中每个集群的综合得分,其中,所述综合得分基于集群的成本和性能确定;

获取在预设周期内目标数据的访问频率,并基于所述访问频率调整所述目标数据的温度属性,其中,所述温度属性表征所述目标数据的访问频率,温度越高,所述访问频率越高;

对所述目标数据进行迁移,其中,所述目标数据迁移后所在集群对应的综合得分与所述温度属性相匹配。

在一实施例中,所述目标数据包括容忍度信息,所述容忍度信息表征所述目标数据的最低存储要求,存储要求基于所述目标信息确定。

在一实施例中,所述跨域数据分布装置900还包括第二迁移模块,第二迁移模块用于:

对所述目标数据所在的当前集群进行检测处理,得到所述当前集群的存储信息;

若所述存储信息不满足所述容忍度信息,对所述目标数据进行迁移,以使迁移后所位于的集群满足所述容忍度信息。

需要说明的是:上述实施例提供的跨域数据分布装置在进行跨域数据分布时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将跨域数据分布装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的跨域数据分布装置与本公开实施例提供跨域数据分布方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图10为本公开实施例提供的电子设备的硬件组成结构示意图,如图10所示,所述电子设备1000包括至少一个处理器1002;以及与所述至少一个处理器1002通信连接的存储器1001;其中,所述存储器1001存储有可被所述至少一个处理器1002执行的指令,所述指令被所述至少一个处理器1002执行,以实现本公开实施例所述的跨域数据分布方法的步骤。

可选地,该电子设备具体可为本申请实施例的跨域数据分布装置,并且该电子设备可以实现本申请实施例的各个方法中由跨域数据分布装置实现的相应流程,为了简洁,在此不再赘述。

可理解,电子设备中还包括通信接口1003。电子设备中的各个组件通过总线系统1004耦合在一起。可理解,总线系统1004用于实现这些组件之间的连接通信。总线系统1004除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图10中将各种总线都标为总线系统1004。

可以理解,存储器1001可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read OnlyMemory)、可编程只读存储器(PROM,Programmable Read1Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read1Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD ROM,Compact Disc Read Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本发明实施例描述的存储器1001旨在包括但不限于这些和任意其它适合类型的存储器。

上述本公开实施例揭示的方法可以应用于处理器1002中,或者由处理器1002实现。处理器1002可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1002中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1002可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器1002可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器1001,处理器1002读取存储器1001中的信息,结合其硬件完成前述方法的步骤。

在示例性实施例中,电子设备可以被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,ProgrammableLogic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、FPGA、通用处理器、控制器、MCU、微处理器(Microprocessor)、或其他电子元件实现,用于执行前述方法。

本公开实施例还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行时实现本发明实施例所述的跨域数据分布方法的步骤。

可选的,该计算机可读存储介质可应用于本申请实施例中的跨域数据分布装置,并且该计算机指令使得计算机执行本申请实施例的各个方法中由跨域数据分布装置实现的相应流程,为了简洁,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

相关技术
  • 一种基于数字孪生的船用柴油机关重件制造过程管控方法
  • 一种基于数字孪生的低碳能源管控通信网业务管理方法
  • 一种基于数字孪生综合能源系统的调度管理方法
技术分类

06120116561201