CN110809030B - 网络流量控制方法、装置、编解码器及存储装置 - Google Patents

网络流量控制方法、装置、编解码器及存储装置 Download PDF

Info

Publication number
CN110809030B
CN110809030B CN201910990291.6A CN201910990291A CN110809030B CN 110809030 B CN110809030 B CN 110809030B CN 201910990291 A CN201910990291 A CN 201910990291A CN 110809030 B CN110809030 B CN 110809030B
Authority
CN
China
Prior art keywords
storage
rack
logical
weight value
selecting
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
CN201910990291.6A
Other languages
English (en)
Other versions
CN110809030A (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.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua Technology 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 Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN201910990291.6A priority Critical patent/CN110809030B/zh
Publication of CN110809030A publication Critical patent/CN110809030A/zh
Application granted granted Critical
Publication of CN110809030B publication Critical patent/CN110809030B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1021Server selection for load balancing based on client or server locations
    • 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/5011Allocation 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/5016Allocation 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
    • 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/5083Techniques for rebalancing the load in a distributed system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

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

Abstract

本发明公开了一种网络流量控制方法、装置、编解码器及存储装置。该网络流量控制方法包括:获取预配置的存储池、机架以及对象存储设备之间的逻辑拓扑结构;获取预配置的用户与逻辑拓扑结构中存储池、机架或对象存储设备之间存在的逻辑位置绑定关系,根据逻辑位置绑定关系确定用户的逻辑绑定位置;计算逻辑绑定位置上的存储权重值,选择存储权重值最高的存储池、机架或对象存储设备存储对象,用户对逻辑绑定位置上的所有对象存储设备有操作权限。本发明从申请空间源头上限制对象存储的位置,实现数据完全隔离,同时在逻辑绑定位置下,根据存储池、机架和对象存储设备的实时负载情况,逐层进行空间选择,以达到各个层级的负载均衡和流量控制的目的。

Description

网络流量控制方法、装置、编解码器及存储装置
技术领域
本申请涉及存储领域,特别是涉及一种网络流量控制方法、装置、编解码器及存储装置。
背景技术
在目前的对象存储领域中,对象存储系统根据系统中所有的存储节点进行负载均衡,对全局进行存储空间申请,无法实现真正的数据隔离。
现有的分布式存储在选择block的存储节点时,以三个副本为例,选择一个存储节点存储一个block的副本,在正在写的存储节点所属机架的另一个存储节点存储一个block的副本,随机选择剩下的存储节点存储最后一个block的副本。该方案存储block数据只能做到存储节点层面的负载均衡,并不能实现机架层面的负载均衡和流量控制,对于某些要求配置机架冗余的场景,难以实现对机架层面的负载和业务流量控制,当某个机架整体发生故障之后,无法保障数据不丢失。
发明内容
本申请提供一种网络流量控制方法、装置、编解码器及存储装置,能够从申请空间源头上限制对象存储的位置,实现各个对象存储设备之间的数据完全隔离,不混淆,同时根据用户预配置的逻辑位置绑定关系,在逻辑绑定位置下,根据存储池、机架和对象存储设备的实时负载情况,逐层进行空间选择,以达到各个层级的负载均衡和流量控制的目的。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种网络流量控制方法,用于对象存储,其包括:
获取预配置的存储池、机架以及对象存储设备之间的逻辑拓扑结构;
获取预配置的用户与所述逻辑拓扑结构中所述存储池、机架或对象存储设备之间存在的逻辑位置绑定关系,根据所述逻辑位置绑定关系确定用户的逻辑绑定位置;
计算所述逻辑绑定位置上的存储权重值,选择存储权重值最高的存储池、机架或对象存储设备存储对象,用户对逻辑绑定位置上的所有对象存储设备有操作权限。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种网络流量控制装置,用于对象存储,其包括:
第一获取模块,用于获取预配置的存储池、机架以及存储设备之间的逻辑拓扑结构;
第二获取模块,与所述第一获取模块耦接,用于获取预配置的用户与所述逻辑拓扑结构中所述存储池、机架或存储设备之间存在的逻辑位置绑定关系,根据所述逻辑位置绑定关系确定用户的逻辑绑定位置;
计算及选择模块,与所述第二获取模块耦接,用于计算所述逻辑绑定位置上的存储权重值,选择存储权重值最高的存储池、机架或存储设备存储对象,用户对逻辑绑定位置上的所有对象存储设备有操作权限。
为解决上述技术问题,本申请采用的再一个技术方案是:提供一种编解码器,该编解码器包括处理器、与处理器耦接的存储器,其中,存储器存储有用于实现上述网络流量控制方法的程序指令;处理器用于执行存储器存储的程序指令以控制网络流量。
为解决上述技术问题,本申请采用的再一个技术方案是:提供一种存储装置,存储有能够实现上述网络流量控制方法的程序文件。
本申请的有益效果是:本发明的网络流量控制方法及装置通过获取预配置的用户与逻辑拓扑结构中所述存储池、机架或对象存储设备之间的逻辑位置绑定关系,根据所述逻辑位置绑定关系确定用户的逻辑绑定位置,只在用户的逻辑绑定位置上用户有操作权限的对象存储设备上分配存储空间,从申请空间源头上限制对象存储的位置,实现各个对象存储设备之间的数据完全隔离,不混淆,同时根据用户预配置的逻辑位置绑定关系,在逻辑绑定位置下,根据存储池、机架和对象存储设备的实时负载情况,逐层进行空间选择,以达到各个层级的负载均衡和流量控制的目的。
附图说明
图1是本发明第一实施例的网络流量控制方法的流程示意图;
图2是本发明实施例的存储池、机架以及对象存储设备之间的逻辑拓扑结构示意图;
图3是本发明第二实施例的网络流量控制方法的流程示意图;
图4是本发明第三实施例的网络流量控制方法的流程示意图;
图5是本发明第一实施例的网络流量控制装置的结构示意图;
图6是本发明第二实施例的网络流量控制装置的结构示意图;
图7是本发明第三实施例的网络流量控制装置的结构示意图;
图8是本发明实施例的编解码器的结构示意图;
图9是本发明实施例的存储装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请中的术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括至少一个该特征。本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。本申请实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
图1是本发明第一实施例的网络流量控制方法的流程示意图。需注意的是,若有实质上相同的结果,本发明的方法并不以图1所示的流程顺序为限。如图1所示,该网络流量控制方法包括步骤:
步骤S101:获取预配置的存储池、机架以及对象存储设备之间的逻辑拓扑结构。
在步骤S101中,在服务启动之前需要通过系统提供的配置入口,配置系统所有的对象存储设备维持一个树状的逻辑拓扑结构。该系统支持多层级配置,默认绑定层级动态可配置。以三层逻辑拓扑结构为例,存储池处于第一层级,机架处于第二层级,对象存储设备处于第三层级,其中,对象存储设备支持绑定到机架,此处的机架不局限于物理机架的概念,还支持用户自由指定逻辑机架,即支持用户指定某几个对象存储设备绑定到一个机架下。本实施例中,存储池和机架之间是一对多的对应关系,但是一个机架只能属于一个存储池,机架和对象存储设备之间也是一对多的对应关系,但是一个对象存储设备只能属于一个机架,请参见图2,本实施例的逻辑拓扑结构为:根路径下包括一个或多个存储池,存储池包括一个或多个机架,机架包括一个或多个对象存储设备。
假如,不配置存储池、机架以及对象存储设备之间的逻辑拓扑结构,所有的对象存储设备默认绑定在默认存储池下的默认机架下。所有的对象存储设备只能基于对象存储设备层级进行统一的负载均衡和流量控制。
步骤S102:获取预配置的用户与逻辑拓扑结构中存储池、机架或对象存储设备之间存在的逻辑位置绑定关系,根据逻辑位置绑定关系确定用户的逻辑绑定位置。
在步骤S102中,用户可以绑定到存储池、机架和对象存储设备中的任意逻辑层级,用户只对所绑定的逻辑层级上的所有对象存储设备有操作权限。不同的用户支持绑定到不同的逻辑层级,但是同一个用户只能绑定到固定的逻辑层级,即支持用户绑定到存储池(第一层级)或机架(第二层级)或对象存储设备(第三层级),例如,用户A绑定到存储池1,用户A对存储池1下的所有机架下的对象存储设备具有操作权限,用户B绑定到存储池1下的机架1,用户B对存储池1下的机架1下的所有对象存储设备具有操作权限。默认配置为用户绑定到根路径,此时,用户具有最高权限,即该用户对该系统中的所有对象存储设备均具有操作权限。
步骤S103:计算逻辑绑定位置上的存储权重值,选择存储权重值最高的存储池、机架或对象存储设备存储对象,用户对逻辑绑定位置上的所有对象存储设备有操作权限。
在步骤S103中,可选地,当逻辑绑定位置为对象存储设备时,计算各个对象存储设备存储权重值,选择存储权重值最高的对象存储设备存储对象,可实现对象存储设备层级的负载均衡和流量控制;可选地,当逻辑绑定位置为机架时,计算各个机架的存储权重值,选择权重值最高的机架为目标机架,计算目标机架下的所有对象存储设备的存储权重值,选择存储权重值最高的对象存储设备存储对象,可实现机架层级和对象存储设备层级的负载均衡和流量控制;可选地,当逻辑绑定位置为存储池时,计算各个存储池的存储权重值,选择存储权重值最高的存储池为目标存储池,计算目标存储池下的各个机架的存储权重值,选择存储权重值最高的机架为目标机架,计算目标机架下各个对象存储设备的存储权重值,选择存储权重值最高的对象存储设备存储对象,可实现存储池层级、机架层级以及对象存储设备层级的负载均衡和流量控制。
进一步地,对象存储设备的存储权重值根据配置定期动态实时刷新,对象存储设备的存储权重值根据当前对象存储设备的CPU使用率、网络带宽剩余比例、磁盘使用率和对象存储设备的剩余空间进行计算;机架的存储权重值为所包含的所有对象存储设备的存储权重值之和;存储池的存储权重值为所包含的所有机架的存储权重值之和。
本发明第一实施例的网络流量控制方法通过获取预配置的用户与逻辑拓扑结构中存储池、机架或对象存储设备之间存在的逻辑位置绑定关系,根据逻辑位置绑定关系确定用户的逻辑绑定位置,只在用户的逻辑绑定位置上用户有操作权限的存储设备上分配存储空间,从申请空间源头上限制对象存储的位置,实现各个对象存储设备之间的数据完全隔离,不混淆,同时根据用户预配置的逻辑位置绑定关系,在逻辑绑定位置下,根据存储池、机架和对象存储设备的实时负载情况,逐层进行空间选择存储对象,以达到各个层级的负载均衡和流量控制的目的。
图3是本发明第二实施例的网络流量控制方法的流程示意图。需注意的是,若有实质上相同的结果,本发明的方法并不以图3所示的流程顺序为限。如图3所示,该方法包括步骤:
步骤S201:获取预配置的存储池、机架以及对象存储设备之间的逻辑拓扑结构。
在本实施例中,图3中的步骤S201和图1中的步骤S101类似,为简约起见,在此不再赘述。
步骤S202:获取预配置的用户与逻辑拓扑结构中存储池、机架或对象存储设备之间存在的逻辑位置绑定关系,根据逻辑位置绑定关系确定用户的逻辑绑定位置。
在本实施例中,图3中的步骤S202和图1中的步骤S102类似,为简约起见,在此不再赘述。
步骤S203:获取用户预设置的文件隔离域层级,文件隔离域层级为存储池、机架或对象存储设备。
在步骤S203中,系统支持随机设定文件隔离域层级,该配置支持动态修改,文件隔离域层级可以为第一层级(存储池)、第二层级(机架)或第三层级(对象存储设备),系统默认设置文件隔离域层级为第一层级,默认文件的存储块分布不跨存储池。本实施例中根据用户动态设置的文件隔离域层级可实现不同类型数据不跨存储池存储,从而在业务上实现数据隔离。
步骤S204:根据逻辑绑定位置和文件隔离层级确定文件隔离域,用户对文件隔离域中的所有对象存储设备有操作权限。
在步骤S204中,一实施例中,当逻辑绑定位置为存储池,文件隔离层级为第二层级(机架),则文件隔离域为用户所绑定的存储池下的所有机架,数据在机架之间实现隔离,用户对机架下的所有对象存储设备具有操作权限;另一实施例中,当逻辑绑定位置为机架,文件隔离域为第一层级(存储池),则文件隔离域为存储池下用户所绑定的机架,数据在存储池之间实现隔离,用户对该机架下的所有对象存储设备具有操作权限。
步骤S205:选择文件隔离域进行存储对象。
在本实施例中,文件隔离域可以为一个或多个,当文件隔离域为多个时,计算每一个文件隔离域的存储权重值,选择存储权重值最高的文件隔离域存储对象,以保证多个文件隔离域的负载均衡,达到流量均匀分布的目的。
本发明第二实施例的网络流量控制方法在第一实施例的基础上,通过根据用户动态设置的文件隔离域层级,实现跨存储池的机架冗余,即可以根据用户配置在用户所属的所有存储池的机架之间,实现机架冗余,一方面保证数据隔离,另一方面保证数据不丢失。在多个文件隔离域内,选择存储权重值最高的文件隔离域存储对象,以保证多个文件隔离域的负载均衡,达到流量均匀分布的目的。
图4是本发明第三实施例的网络流量控制方法的流程示意图。需注意的是,若有实质上相同的结果,本发明的方法并不以图4所示的流程顺序为限。如图4所示,该方法包括步骤:
步骤S301:获取预配置的存储池、机架以及对象存储设备之间的逻辑拓扑结构。
在本实施例中,图4中的步骤S301和图3中的步骤S201类似,为简约起见,在此不再赘述。
步骤S302:获取预配置的用户与逻辑拓扑结构中存储池、机架或对象存储设备之间存在的逻辑位置绑定关系,根据逻辑位置绑定关系确定用户的逻辑绑定位置。
在本实施例中,图4中的步骤S302和图3中的步骤S202类似,为简约起见,在此不再赘述。
步骤S303:获取用户预设置的文件隔离域层级,文件隔离域层级为存储池、机架或对象存储设备。
在本实施例中,图4中的步骤S303和图3中的步骤S203类似,为简约起见,在此不再赘述。
步骤S304:根据逻辑绑定位置和文件隔离层级确定文件隔离域,用户对文件隔离域中的所有对象存储设备有操作权限。
在本实施例中,图4中的步骤S304和图3中的步骤S204类似,为简约起见,在此不再赘述。
步骤S305:接收用户请求,获取请求存储对象数量和存储空间需求,判断文件隔离域的剩余空间是否小于本次存储空间需求。
若是,本次请求失败,若否,执行步骤S306。
步骤S306:判断文件隔离域中是否配置机架冗余。
若是,执行步骤S307,若否,执行步骤S308。
步骤S307:根据存储对象数量和机架数量判断文件隔离域是否满足设置机架冗余条件。
若是,执行步骤S309,若否,本次请求失败。
在步骤S307中,当机架数量大于或等于存储对象数量时,满足设置机架冗余条件,执行用户请求,执行步骤S309;当机架数量小于存储对象数量时,不满足设置机架冗余条件,本次请求失败,结束流程。
步骤S308:计算文件隔离域中所有存储设备的存储权重值,选择存储权重值最高的对象存储设备存储对象。
在本实施例中,没有设置机架冗余,当机架的数量小于存储对象的数量时,允许根据对象存储设备上可用磁盘数等限制,每个对象存储设备能够被选择多次存储对象。
步骤S309:计算所有机架的存储权重值,选择存储权重值最高的机架为目标机架,目标机架的数量与存储对象的数量一致,计算每个目标机架下的所有对象存储设备的存储权重值,在每一个目标机架下选择一个存储权重值最高的对象存储设备存储对象。
本发明第三实施例的网络流量控制方法在第二实施例的基础上,适用于机架冗余场景和数据隔离场景,结合用户的逻辑位置关系和文件隔离域层级,使不同类型的对象存储在特定的对象存储设备上,实现真正的数据隔离。在用户申请存储空间时,优选根据机架冗余的规则,选择可用的对象存储设备,解决当前的分布式对象存储无法实现机架冗余的问题。设置文件隔离域能够使对象写入特定的对象存储设备,其他不在文件隔离域内的对象存储设备的业务流量为零;同时在多个文件隔离域内,选择存储权重值最高的文件隔离域存储对象,以保证多个文件隔离域的负载均衡,达到流量均匀分布的目的。
图5是本发明实施例的网络流量控制装置的结构示意图。如图5所示,该装置50包括第一获取模块51、第二获取模块52和计算及选择模块53。
第一获取模块51用于获取预配置的存储池、机架以及对象存储设备之间的逻辑拓扑结构。
在服务启动之前需要通过系统提供的配置入口,配置系统所有的对象存储设备维持一个树状的逻辑拓扑结构。该系统支持多层级配置,默认绑定层级动态可配置。以三层逻辑拓扑结构为例,存储池处于第一层级,机架处于第二层级,对象存储设备处于第三层级,其中对象存储设备支持绑定到机架,此处的机架不局限于物理机架的概念,还支持用户自由指定逻辑机架,即支持用户指定某几个对象存储设备绑定到一个机架下。本实施例中,存储池和机架之间是一对多的对应关系,但是一个机架只能属于一个存储池,机架和对象存储设备之间也是一对多的对应关系,但是一个对象存储设备只能属于一个机架,本实施例的逻辑拓扑结构为:根路径下包括一个或多个存储池,存储池包括一个或多个机架,机架包括一个或多个对象存储设备。
第二获取模块52与第一获取模块51耦接,用于获取预配置的用户与逻辑拓扑结构中存储池、机架或对象存储设备之间存在的逻辑位置绑定关系,根据逻辑位置绑定关系确定用户的逻辑绑定位置。
用户可以绑定到存储池、机架和对象存储设备中的任意逻辑层级,用户只对所绑定的逻辑层级上的所有存储设备有操作权限。不同的用户支持绑定到不同的逻辑层级,但是同一个用户只能绑定到固定的逻辑层级,即支持用户绑定到存储池(第一层级)或机架(第二层级)或对象存储设备(第三层级),例如,用户A绑定到存储池1,用户A对存储池1下的所有机架下的对象存储设备具有操作权限,用户B绑定到存储池1下的机架1,用户B对存储池1下的机架1下的所有对象存储设备具有操作权限。默认配置为用户绑定到根目录,此时,用户具有最高权限,即该用户对该系统中的所有对象存储设备均具有操作权限。
计算及选择模块53与第二获取模块52耦接,用于计算逻辑绑定位置上的存储权重值,选择存储权重值最高的存储池、机架或对象存储设备存储对象,用户对逻辑绑定位置上的所有对象存储设备有操作权限。
可选地,当逻辑绑定位置为对象存储设备时,计算各个对象存储设备存储权重值,选择存储权重值最高的对象存储设备存储对象,可实现对象存储设备层级的负载均衡和流量控制。
可选地,当逻辑绑定位置为机架时,计算各个机架的存储权重值,选择权重值最高的机架为目标机架,计算目标机架下的所有对象存储设备的存储权重值,选择存储权重值最高的对象存储设备存储对象,可实现机架层级和对象存储设备层级的负载均衡和流量控制。
可选地,当逻辑绑定位置为存储池时,计算各个存储池的存储权重值,选择存储权重值最高的存储池为目标存储池,计算目标存储池下的各个机架的存储权重值,选择存储权重值最高的机架为目标机架,计算目标机架下各个对象存储设备的存储权重值,选择存储权重值最高的对象存储设备存储对象,可实现存储池层级、机架层级以及对象存储设备层级的负载均衡和流量控制。
进一步地,对象存储设备的存储权重值根据配置定期动态实时刷新,对象存储设备的存储权重值根据当前对象存储设备的CPU使用率、网络带宽剩余比例、磁盘使用率和对象存储设备的剩余空间进行计算;机架的存储权重值为所包含的所有对象存储设备的存储权重值之和;存储池的存储权重值为所包含的所有机架的存储权重值之和。
图6是本发明实施例的网络流量控制装置的结构示意图。如图6所示,该装置60包括第一获取模块61、第二获取模块62、第三获取模块63、选择模块64和存储模块65。
第一获取模块61获取预配置的存储池、机架以及对象存储设备之间的逻辑拓扑结构。
在本实施例中,图6中的第一获取模块61和图5中的第一获取模块51类似,为简约起见,在此不再赘述。
第二获取模块62与第一获取模块61耦接,用于获取预配置的用户与逻辑拓扑结构中存储池、机架或对象存储设备之间存在的逻辑位置绑定关系,根据逻辑位置绑定关系确定用户的逻辑绑定位置。
在本实施例中,图6中的第二获取模块62和图5中的第二获取模块52类似,为简约起见,在此不再赘述。
第三获取模块63与第二获取模块62耦接,用于获取用户预设置的文件隔离域层级,文件隔离域层级为存储池、机架或对象存储设备。
系统支持随机设定文件隔离域层级,该配置支持动态修改,文件隔离域层级可以为第一层级(存储池)、第二层级(机架)或第三层级(对象存储设备),系统默认设置文件隔离域层级为第一层级,默认文件的存储块分布不跨存储池。本实施例中根据用户动态设置的文件隔离域层级可实现不同类型数据不跨存储池存储,从而在业务上实现数据隔离。
选择模块64分别与第二获取模块62和第三获取模块63耦接,用于根据逻辑绑定位置和文件隔离层级确定文件隔离域,用户对文件隔离域中的所有对象存储设备有操作权限。
一实施例中,当第二获取模块62获取的逻辑绑定位置为存储池,第三获取模块63获取的文件隔离层级为第二层级(机架),则文件隔离域为用户所绑定的存储池下的所有机架,数据在机架之间实现隔离,用户对机架下的所有对象存储设备具有操作权限;另一实施例中,当第二获取模块62获取的逻辑绑定位置为机架,第三获取模块63获取的文件隔离域为第一层级(存储池),则文件隔离域为存储池下用户所绑定的机架,数据在存储池之间实现隔离,用户对该机架下的所有对象存储设备具有操作权限。
存储模块65与选择模块64耦接用于选择文件隔离域进行存储对象。
在本实施例中,文件隔离域可以为一个或多个,当文件隔离域为多个时,计算每一个文件隔离域的存储权重值,选择存储权重值最高的文件隔离域存储对象,以保证多个文件隔离域的负载均衡,达到流量均匀分布的目的。
图7是本发明实施例的网络流量控制装置的结构示意图。如图7所示,该装置70包括第一获取模块71、第二获取模块72、第三获取模块73、选择模块74、用户请求及判断模块75,第一判断模块76、第二判断模块77、第一计算模块78和第二计算模块79。
第一获取模块71获取预配置的存储池、机架以及对象存储设备之间的逻辑拓扑结构。
在本实施例中,图7中的第一获取模块71和图6中的第一获取模块61类似,为简约起见,在此不再赘述。
第二获取模块72与第一获取模块71耦接,用于获取预配置的用户与逻辑拓扑结构中存储池、机架或对象存储设备之间存在的逻辑位置绑定关系,根据逻辑位置绑定关系确定用户的逻辑绑定位置。
在本实施例中,图7中的第二获取模块72和图6中的第二获取模块62类似,为简约起见,在此不再赘述。
第三获取模块73与第二获取模块72耦接,用于获取用户预设置的文件隔离域层级,文件隔离域层级为存储池、机架或对象存储设备。
在本实施例中,图7中的第三获取模块73和图6中的第三获取模块63类似,为简约起见,在此不再赘述。
选择模块74分别与第二获取模块72和第三获取模块73耦接,用于根据逻辑绑定位置和文件隔离层级确定文件隔离域,用户对文件隔离域中的所有对象存储设备有操作权限。
在本实施例中,图7中的选择模块74和图6中的选择模块64类似,为简约起见,在此不再赘述。
用户请求及判断模块75与选择模块74耦接,用于接收用户请求,获取请求存储对象数量和存储空间需求,判断文件隔离域的剩余空间是否小于本次存储空间需求。
本实施例中,用户请求及判断模块75执行图4的网络流量控制方法的步骤S305。
第一判断模块76与用户请求及判断模块75耦接,用于判断文件隔离域中是否配置机架冗余。
本实施例中,第一判断模块76执行图4的网络流量控制方法的步骤S306。
第二判断模块77与第一判断模块76耦接,用于根据存储对象数量和机架数量判断文件隔离域是否满足设置机架冗余条件。
本实施例中,第二判断模块77执行图4的网络流量控制方法的步骤S307。
第一计算模块78与第一判断模块76耦接,用于计算文件隔离域中所有存储设备的存储权重值,选择存储权重值最高的对象存储设备存储对象。
第二计算模块79与第二判断模块77耦接,用于计算所有机架的存储权重值,选择存储权重值最高的机架为目标机架,目标机架的数量与存储对象的数量一致,计算每个目标机架下的所有对象存储设备的存储权重值,在每一个目标机架下选择一个存储权重值最高的对象存储设备存储对象。
请参阅图8,图8为本发明实施例的编解码器的结构示意图。如图8所示,该编解码器80包括处理器81及和处理器81耦接的存储器82。
存储器82存储有用于实现上述任一实施例所述的网络流量控制方法的程序指令。
处理器81用于执行存储器82存储的程序指令以控制网络流量。
其中,处理器81还可以称为CPU(Central Processing Unit,中央处理单元)。处理器81可能是一种集成电路芯片,具有信号的处理能力。处理器81还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
参阅图9,图9为本发明实施例的存储装置的结构示意图。本发明实施例的存储装置存储有能够实现上述所有方法的程序文件91,其中,该程序文件91可以以软件产品的形式存储在上述存储装置中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储装置包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。以上仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (11)

1.一种网络流量控制方法,用于对象存储,其特征在于,其包括:
获取预配置的存储池、机架以及对象存储设备之间的逻辑拓扑结构;
获取预配置的用户与所述逻辑拓扑结构中所述存储池、机架或对象存储设备之间存在的逻辑位置绑定关系,根据所述逻辑位置绑定关系确定用户的逻辑绑定位置;
计算所述逻辑绑定位置上的存储权重值,选择存储权重值最高的存储池、机架或对象存储设备存储对象,用户对所述逻辑绑定位置上的所有对象存储设备有操作权限。
2.根据权利要求1所述的网络流量控制方法,其特征在于,
所述逻辑拓扑结构为:根路径下包括一个或多个存储池,存储池包括一个或多个机架,机架包括一个或多个对象存储设备。
3.根据权利要求2所述的网络流量控制方法,其特征在于,计算所述逻辑绑定位置上的存储权重值,选择存储权重值最高的存储池、机架或对象存储设备存储对象包括:
当所述逻辑绑定位置为对象存储设备时,计算各个对象存储设备存储权重值,选择存储权重值最高的对象存储设备存储对象;
当所述逻辑绑定位置为机架时,计算各个机架的存储权重值,选择权重值最高的机架为目标机架,计算所述目标机架下的所有对象存储设备的存储权重值,选择存储权重值最高的对象存储设备存储对象;
当所述逻辑绑定位置为存储池时,计算各个存储池的存储权重值,选择存储权重值最高的存储池为目标存储池,计算所述目标存储池下的各个机架的存储权重值,选择存储权重值最高的机架为目标机架,计算所述目标机架下各个对象存储设备的存储权重值,选择存储权重值最高的对象存储设备存储对象。
4.根据权利要求3所述的网络流量控制方法,其特征在于,
所述对象存储设备的存储权重值根据当前对象存储设备的CPU使用率、网络带宽剩余比例、磁盘使用率和对象存储设备的剩余空间进行计算;
所述机架的存储权重值为所包含的所有对象存储设备的存储权重值之和;
所述存储池的存储权重值为所包含的所有机架的存储权重值之和。
5.根据权利要求1所述的网络流量控制方法,其特征在于,所述网络流量控制方法还包括:
获取用户预设置的文件隔离域层级,所述文件隔离域层级为存储池、机架或对象存储设备;
根据所述逻辑绑定位置和所述文件隔离层级确定文件隔离域,用户对所述文件隔离域中的所有对象存储设备有操作权限;
选择所述文件隔离域进行存储对象。
6.根据权利要求5所述的网络流量控制方法,其特征在于,选择所述文件隔离域进行存储对象包括:
当所述文件隔离域具有多个时,计算每一个文件隔离域的存储权重值,选择存储权重值最高的文件隔离域存储对象。
7.根据权利要求5所述的网络流量控制方法,其特征在于,在所述根据所述逻辑绑定位置和所述文件隔离层级确定文件隔离域之后还包括:
接收用户请求,获取请求存储对象数量和存储空间需求,判断文件隔离域的剩余空间是否小于本次存储空间需求;
若文件隔离域的剩余空间小于本次存储空间需求,本次请求失败;若文件隔离域的剩余空间大于或等于本次存储空间需求,判断所述文件隔离域中是否配置机架冗余;
当所述文件隔离域中配置机架冗余时,所述选择所述文件隔离域进行存储对象的步骤为:计算所有机架的存储权重值,选择存储权重值最高的机架为目标机架,所述目标机架的数量与所述存储对象的数量一致,计算每个目标机架下的所有对象存储设备的存储权重值,在每一个目标机架下选择一个存储权重值最高的对象存储设备存储对象;
当所述文件隔离域中未配置机架冗余时,所述选择所述文件隔离域进行存储对象的步骤为:计算所述文件隔离域中所有对象存储设备的存储权重值,选择存储权重值最高的对象存储设备存储对象。
8.根据权利要求7所述的网络流量控制方法,其特征在于,在所述判断所述文件隔离域中是否配置机架冗余之后还包括:
根据存储对象数量和机架数量判断所述文件隔离域是否满足设置机架冗余条件;
当机架数量大于或等于存储对象数量时,满足设置机架冗余条件,接受所述用户请求;
当机架数量小于存储对象数量时,不满足设置机架冗余条件,本次请求失败。
9.一种网络流量控制装置,用于对象存储,其特征在于,其包括:
第一获取模块,用于获取预配置的存储池、机架以及存储设备之间的逻辑拓扑结构;
第二获取模块,与所述第一获取模块耦接,用于获取预配置的用户与所述逻辑拓扑结构中所述存储池、机架或存储设备之间存在的逻辑位置绑定关系,根据所述逻辑位置绑定关系确定用户的逻辑绑定位置;
计算及选择模块,与所述第二获取模块耦接,用于计算所述逻辑绑定位置上的存储权重值,选择存储权重值最高的存储池、机架或存储设备存储对象,用户对所述逻辑绑定位置上的所有对象存储设备有操作权限。
10.一种编解码器,其特征在于,所述编解码器包括处理器、与所述处理器耦接的存储器,其中,
所述存储器存储有用于实现如权利要求1-8中任一项所述的网络流量控制方法的程序指令;
所述处理器用于执行所述存储器存储的所述程序指令以控制网络流量。
11.一种存储装置,其特征在于,存储有能够实现如权利要求1-8中任一项所述的网络流量控制方法的程序文件。
CN201910990291.6A 2019-10-17 2019-10-17 网络流量控制方法、装置、编解码器及存储装置 Active CN110809030B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910990291.6A CN110809030B (zh) 2019-10-17 2019-10-17 网络流量控制方法、装置、编解码器及存储装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910990291.6A CN110809030B (zh) 2019-10-17 2019-10-17 网络流量控制方法、装置、编解码器及存储装置

Publications (2)

Publication Number Publication Date
CN110809030A CN110809030A (zh) 2020-02-18
CN110809030B true CN110809030B (zh) 2022-08-09

Family

ID=69488620

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910990291.6A Active CN110809030B (zh) 2019-10-17 2019-10-17 网络流量控制方法、装置、编解码器及存储装置

Country Status (1)

Country Link
CN (1) CN110809030B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111831232A (zh) * 2020-07-22 2020-10-27 浙江大华技术股份有限公司 数据的存储方法及装置、存储介质和电子装置
CN112632621A (zh) * 2020-12-30 2021-04-09 中国移动通信集团江苏有限公司 数据存取方法、装置、设备及计算机存储介质
CN116437158B (zh) * 2023-06-13 2023-09-01 浙江大华技术股份有限公司 视频传输方法、视频传输装置以及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7827201B1 (en) * 2007-04-27 2010-11-02 Network Appliance, Inc. Merging containers in a multi-container system
CN102546782A (zh) * 2011-12-28 2012-07-04 北京奇虎科技有限公司 一种分布式系统及其数据操作方法
WO2013135969A1 (en) * 2012-03-14 2013-09-19 Mirasys Oy Method, arrangement, and computer program product for analysing regularities in the behaviour of moving objects
CN107908372A (zh) * 2017-12-14 2018-04-13 南京云创大数据科技股份有限公司 一种异地异构的多融合存储方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7363454B2 (en) * 2004-12-10 2008-04-22 International Business Machines Corporation Storage pool space allocation across multiple locations
US8538926B2 (en) * 2011-03-08 2013-09-17 Rackspace Us, Inc. Massively scalable object storage system for storing object replicas
US10223506B2 (en) * 2012-04-04 2019-03-05 Rackspace Us, Inc. Self-destructing files in an object storage system
CN106339181B (zh) * 2016-08-19 2019-05-24 华为技术有限公司 存储系统中数据处理方法和装置
CN107807794B (zh) * 2017-10-31 2021-02-26 新华三技术有限公司 一种数据存储方法和装置
CN109992204A (zh) * 2019-03-19 2019-07-09 新华三技术有限公司成都分公司 数据存储方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7827201B1 (en) * 2007-04-27 2010-11-02 Network Appliance, Inc. Merging containers in a multi-container system
CN102546782A (zh) * 2011-12-28 2012-07-04 北京奇虎科技有限公司 一种分布式系统及其数据操作方法
WO2013135969A1 (en) * 2012-03-14 2013-09-19 Mirasys Oy Method, arrangement, and computer program product for analysing regularities in the behaviour of moving objects
CN107908372A (zh) * 2017-12-14 2018-04-13 南京云创大数据科技股份有限公司 一种异地异构的多融合存储方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
高性能计算技术与大容量存储技术概述;徐海琛等;《国土资源信息化》;20040830(第04期);全文 *

Also Published As

Publication number Publication date
CN110809030A (zh) 2020-02-18

Similar Documents

Publication Publication Date Title
CN110809030B (zh) 网络流量控制方法、装置、编解码器及存储装置
EP3419247B1 (en) Method and device for storage resource allocation for video cloud storage
CN102137014B (zh) 资源管理方法、系统和资源管理器
US9952788B2 (en) Method and apparatus for providing a shared nonvolatile memory system using a distributed FTL scheme
US10235047B2 (en) Memory management method, apparatus, and system
CN109525605A (zh) 一种账号管理方法、装置、系统及计算机可读存储介质
CN110908609B (zh) 一种磁盘处理的方法、系统、设备及可读存储介质
JP2013513174A (ja) 仮想マシンのストレージスペースおよび物理ホストを管理するための方法およびシステム
CN109873839B (zh) 数据访问的方法、服务器与分布式系统
US10616134B1 (en) Prioritizing resource hosts for resource placement
EP3293969A1 (en) Method of terminal-based conference load-balancing, and device and system utilizing same
CN104461698A (zh) 虚拟磁盘动态挂载的方法、管理装置及分布式存储系统
CN110740162A (zh) 通信链路建立方法、装置、电子设备及介质
CN112527492A (zh) 一种分布式存储系统中的数据存储方法及装置
CN107025223B (zh) 一种面向多租户的缓冲区管理方法及服务器
CN113037795B (zh) 瘦终端系统及其处理方法
US20160014203A1 (en) Storage fabric address based data block retrieval
CN114489508B (zh) 数据管理方法、装置、设备及介质
US7441009B2 (en) Computer system and storage virtualizer
CN110515728B (zh) 服务器调度方法、装置、电子设备及机器可读存储介质
CN111625356A (zh) 一种PCIe设备的资源池化方法、装置、设备及介质
CN104917781A (zh) 一种云教室的实现系统、方法及服务器
WO2017133421A1 (zh) 一种多租户资源共享的方法及装置
CN114860166A (zh) 一种卷的本地化方法、装置以及介质
KR101754713B1 (ko) 비대칭 분산 파일 시스템, 연산 분배 장치 및 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant