专利名称:实现负载均衡的云存储系统的利记博彩app
技术领域:
本发明涉及计算机技术领域,更具体地,涉及实现负载均衡的云存储系统以及用于云存储系统的负载均衡方法。
背景技术:
云存储系统面对的是海量用户操作海量数据的应用场景,在生产环境中,可能会出现各个层级上的性能瓶颈。这些性能瓶颈可包括例如站点级别的性能瓶颈、站点内部元数据访问瓶颈、站点内部负载数据访问瓶颈以及站点内部数据存储不均衡。例如,云存储站点通常部署在某个区域,通过互联网对外提供云存储服务。在云存储站点提供云存储服务过程中,可能出现该地区的利记体育超过该站点服务能力的现象或者其他原因导致网络拥堵,因而影响业务响应。然而,现有存在的云存储产品或解决方案中,只是对各个层级上的某一层级的不均衡情况或者部分不均衡情况进行了处理。由于性能瓶颈可能发生在各个层级上,对某一个层级的不均衡情况进行处理只能部分地改善云存储系统的性能,不能够从整体上改善云存储系统的性能。
发明内容
为解决现有技术存在的问题,本发明提供了一种实现负载均衡的云存储系统以及用于云存储系统的负载均衡方法,使得能够较好地改善云存储的系统的性能。根据本发明的一个方面,提供了一种实现负载均衡的云存储系统,包括负载监控服务单元、多个云存储站点,所述多个云存储站点包括第一云存储站点和第二云存储站点,其中所述负载监控服务单元用于在检测出所述第一云存储站点的负载超过负载阈值时,将应用请求转发给所述第二云存储站点;所述第二云存储站点包括多个服务接入点、多个元数据位置管理服务单元、至少一个元数据服务器和数据文件管理子系统,其中从多个服务接入点中选择的一个服务接入点用于将接收到的所述应用请求发送给所述多个元数据位置管理服务单元中负载较轻的元数据位置管理服务单元;所述负载较轻的元数据位置管理服务单元用于根据所述应用请求确定出与应用相对应的元数据位置信息,以及根据所确定出的元数据位置信息从相应的元数据服务器获取相应的元数据;所选择的服务接入点用于将所获取的元数据以及所述应用请求发送给所述数据文件管理子系统以便所述数据文件管理子系统根据所述应用请求执行相应的操作。在可选实施例中,所述应用请求包括应用的读请求或者写请求,所述数据文件管理子系统,包括多个存储服务器,用于存储数据文件,其中数据文件以对象存储的方式管理并且一份数据文件具有至少一个对象;负载均衡管理单元,用于监测所述多个存储服务器中每一个的负载情况,以及在监测到多个存储服务器中的第一存储服务器的写负载较重时,发送对象迁移指示,或者,在监测到所述第一存储服务器的读负载较重时,发送副本建立指示;以及,数据迁移单元,用于根据所述对象迁移指示将第一存储服务器中的数据文件的部分对象迁移到负载较轻的存储服务器中;或者,根据所述副本建立指示为所述第一存储服务器中读访问频繁的数据文件在负载较轻的存储服务器中建立多个只读副本。在可选实施例中,所述数据文件管理子系统还包括存储均衡管理单元,用于监测所述多个存储服务器中每一个的空间使用率,当监测到第二存储服务器的空间使用率超过空间使用率阈值时,选择所述第二存储服务器服务负载较轻的时间段,指示所述数据迁移单元将所述二存储服务器的数据文件的部分对象迁移到空间使用率较小的存储服务器。在可选实施例中,所述数据文件管理子系统的存储服务器包括缓存单元、SSD/SAS磁盘和SATA磁盘,其中高热点数据文件存储在所述缓存单元中;以及普通热点数据文件存储在所述SSD或SAS磁盘中;以及非热点数据文件存储在所述SATA磁盘中。根据本发明的另一个方面,还提供了一种用于云存储系统的负载均衡方法,所述云存储系统包括负载监控服务单元和多个云存储站点,其中,所述多个云存储站点包括第一云存储站点和第二云存储站点,所述第二云存储站点包括多个服务接入点、多个元数据位置管理服务单元、至少一个元数据服务器和数据文件管理子系统,所述负载均衡方法包括所述负载监控服务单元在检测出所述第一云存储站点的负载超过负载阈值时,将应用请求转发给所述第二云存储站点;所述第二云存储站点从多个服务接入点中选择一个服务接入点,并将接收到的所述应用请求发送给所选择的服务接入点;所选择的服务接入点将应用请求发送给多个元数据位置管理服务单元中负载较轻的元数据位置管理服务单元;所述负载较轻的元数据位置管理服务单元根据所述应用请求确定出与应用相对应的元数据位置信息,然后根据所确定出的元数据位置信息从相应的元数据服务器获取相应的元数据;所选择的服务接入点将所获取的元数据以及所述应用请求发送给所述数据文件管理子系统以便所述数据文件管理子系统根据所述应用请求执行相应的操作。在可选实施例中,所述应用请求包括应用的读请求或者写请求,所述数据文件管理子系统包括多个存储有数据文件的存储服务器,其中数据文件以对象存储的方式管理并且一份数据文件具有至少一个对象。所述负载均衡方法还包括所述数据文件管理子系统监测所述多个存储服务器中每一个的负载情况,当监测到第一存储服务器的写负载较重时,将所述第一存储服务器中的部分数据文件的部分对象迁移到负载较轻的存储服务器中;和/或,当监测到所述第一存储服务器的读负载较重时,为所述第一存储服务器中读访问频繁的数据文件在负载较轻的存储服务器中建立多个只读副本以响应应用的读请求。在可选实施例中,所述负载均衡方法还包括所述数据文件管理子系统监测到所述多个存储服务器中每一个的空间使用率,当监测到第二存储服务器的空间使用率超过空间使用率阈值时,选择所述第二存储服务器服务负载较轻的时间段,将所述第二存储器的部分数据文件的部分对象迁移到空间使用率较小的存储服务器。在可选实施例中,所述云存储系统对数据文件采取全局命名空间管理,所述元数据存储位置管理服务单元在每个文件创建时,为每个数据文件分配一个全局空间命名标识ID0在可选实施例中,所述第二云存储站点是所述多个云存储站点中负载较轻的云存储站点。在可选实施例中,所述数据文件管理子系统将高热点数据文件存储在存储服务器的缓存单元中;将普通热点数据文件存储在存储服务器的SSD或SAS磁盘中;以及将非热点数据文件存储在存储服务器的SATA磁盘中。本发明通过在至少两个层级上对云存储系统的负载进行均衡处理,使得可以较好地改善云存储系统的性能。
·
图1是根据本发明一实施例的实现负载均衡的云存储系统的结构示意图。图2是图1示出的云存储系统中的云存储站点的结构示意图。图3是图2示出的云存储站点的数据文件管理子系统的结构示意图。图4是根据本发明一实施例的用于云存储系统的负载均衡方法的流程示意图。
具体实施例方式下面结合附图对本发明进行进一步地详细说明。图1是根据本发明一实施例的实现负载均衡的云存储系统的结构示意图。如图1所示,本发明实施例的实现负载均衡的云存储系统,包括负载监控服务单元10和多个云存储站点。为了本发明描述清楚的目的,图1中示意性地示出了第一云存储站点22和第二云存储站点24以及其他的云存储站点。负载监控服务单元10用于在检测出所述第一云存储站点22的负载超过负载阈值时,将应用请求转发给所述第二云存储站点24。需要说明的是,在本发明实施例中,多个云存储站点中的任意的云存储站点可以是第一云存储站点和第二云存储站点。在可选实施例中,第二云存储站点可以是多个云存储站点中负载较轻的云存储站点,例如负载最轻的云存储站点。在可选实施例中,负载监控服务单元10可以是云存储系统中的独立的负载监控服务器,或者,可以是设置在云存储站点22中的一个单元。第二云存储站点在收到应用请求后,通过本地的数据文件副本对用户的应用请求提供服务;或者,通过专有网络将数据文件从第一云存储站点复制到第二云存储站点后提供服务。在本发明可选实施例中,云存储系统可以采用对数据文件进行全局命名空间的方式进行管理,这样多个云存储站点可以方便地识别出同一个数据文件。例如,云存储站点在每个数据文件创建时,为每个数据文件分配一个全局空间命名标识ID,通常由云存储站点中的元数据存储位置管理服务单元来执行。图2是图1示出的云存储系统中的云存储站点的结构示意图。图2示出的云存储站点的实施例可以是多个云存储站点中的任意的云存储站点。为了便于说明,以第二云存储站点为例进行描述。如图2所示,第二云存储站点配置有多个服务接入点241。在可选实施例中,云存储站点可以是根据应用服务的类型来配置不同的服务接入点。第二云存储站点24还包括多个元数据位置管理服务单元243、至少一个元数据服务器245和数据文件管理子系统247。第二云存储站点在接收到应用请求后从多个服务接入点241 (如241A和241B)中选择出一个服务接入点,例如服务接入点241A。然后,服务接入点A用于将接收到的应用请求发送给多个元数据位置管理服务单元243 (如243A、243B、. . . 243N)中负载较轻的元数据位置管理服务单元,例如元数据位置管理服务单元243A。在可选实施例中,服务接入点241A可以是通过负载均衡模块选择负载较轻的元数据位置管理服务单元。负载较轻的元数据位置管理服务单元243A用于根据所述应用请求确定出与应用相对应的元数据位置信息,以及根据所确定出的元数据位置信息从相应的元数据服务器获取相应的元数据。本发明实施例的第二云存储站点通过多个服务接入点来访问与应用请求对应的元数据,可以使得对元数据的访问分散在不同的接入点,从而可以提高整体元数据的服务能力。然后,选择负载较轻的元数据位置管理服务单元来得到与应用相对应的元数据位置信息,这样进一步提高了云存储站点的元数据访问能力。通过元数据位置管理服务单元和元数据服务器二级方式,可以处理亿级别元数据的请求。然后,所选择的`服务接入点用于将所获取的元数据以及所述应用请求发送给所述数据文件管理子系统以便所述数据文件管理子系统根据所述应用请求执行相应的操作。例如,服务接入点在接收到应用请求后,会根据应用请求的类型,将应用请求转发给相应的元数据或数据管理单元,由元数据或数据处理单元执行相应的操作,完成后返回给发送应用请求的装置。在本发明可选实施例中,应用请求可以包括应用的读请求或者写请求。图3是图2示出的云存储站点中的数据文件管理子系统的结构示意图。如图3所
示,数据文件管理子系统包括多个存储服务器302 (如302A、302B.....302N),用于存储数
据文件,其中数据文件以对象存储的方式管理并且一份数据文件具有至少一个对象。在一实施例中,对象在数据文件创建或写操作时生成,大小古董。对于单个数据文件,可能有多个对象组成。在可选实施例中,组成该数据文件的所有对象可以集中分布在由多个存储服务器构成的存储集群的某个存储分区中如图3所示,数据文件管理子系统还包括负载均衡管理单元304,用于监测所述多个存储服务器中每一个的负载情况。负载均衡管理单元304进一步用于例如在监测到多个存储服务器中的第一存储服务器302A的写负载较重时,发送对象迁移指示。负载均衡管理单元304还用于例如在监测到所述第一存储服务器302A的读负载较重时,发送副本建立指示。数据文件管理子系统还包括数据迁移单元306,用于根据对象迁移指示将第一存储服务器302A中的数据文件的部分对象迁移到负载较轻的存储服务器中;或者,根据所述副本建立指示为第一存储服务器302A中读访问频繁的数据文件在负载较轻的存储服务器中建立多个只读副本,以便于响应应用的读请求。在本发明进一步的可选实施例中,所述数据文件管理子系统可以采用分级存储的方式来提高对数据文件的调用。例如,存储服务器可以采用系统缓存——SSD磁盘(Solid
State Disk,固态硬盘)/SAS 磁盘(Serial AttachedSCSI Disk,串行连接 SCSI 磁盘)-
SATA磁盘(Serial ATA Disk,串口 ATA磁盘)三级混合存储的方式来提高数据文件管理子系统的性能。例如,主要存储容量由SATA磁盘提供,并且每个存储服务器配置少量的SSD磁盘或SAS磁盘,以及极少量的系统缓存。存储时,高热点数据文件可以存储在系统缓存(即存储服务器中的缓存单元);普通热点数据文件可以存储在所述SSD或SAS磁盘中;以及非热点数据文件可以存储在所述SATA磁盘中。高热点数据文件、普通热点数据文件和非热点数据文件可以根据预设定的热点判断规则(例如用户的利记体育阈值)而确定。数据文件管理子系统可以根据数据文件的热点统计随时调整数据文件的存储位置。在本发明实施例中,系统缓存可以作为磁盘系统的缓存使用。在本发明的可选实施例中,所述数据文件管理子系统还可以包括存储均衡管理单元。由于应用产生的文件大小不均匀,因此各存储服务器的空间使用率可能存在较大差异,为了解决这种存储空间利用率上的差异,存储均衡管理单元可以定期监测各个存储服务器的空间使用率。存储均衡管理单元308,用于监测所述多个存储服务器中每一个的空间使用率。例如,当监测到第二存储服务器302B的空间使用率超过空间使用率阈值时,选择第二存储服务器302B服务负载较轻的时间段, 指示数据迁移单元将第二存储服务器302B的数据文件的部分对象迁移到空间使用率较小的存储服务器。本发明实施例的云存储系统通过多级均衡技术相结合的方案,在站点之间、服务接入节点、元数据服务和存储、数据文件服务和存储等方面的均衡设计,使得不仅可以处理单个区域的站点内部的各种访问负载和存储负载的不均衡,而且还可以进行跨地域的访问负载均衡。通过本发明实施例的实现负载均衡的云存储系统,可以使得整个云存储系统中分布在各个地域站点的资源能够被合理利用。图4是根据本发明一实施例的用于云存储系统的负载均衡方法的流程示意图。根据本发明实施例的云存储系统包括负载监控服务单元和多个云存储站点。所述多个云存储站点包括第一云存储站点和第二云存储站点,所述第二云存储站点包括多个服务接入点、多个元数据位置管理服务单元、至少一个元数据服务器和数据文件管理子系统。如图4所示,本发明实施例的负载均衡方法包括S401,负载监控服务单元在检测出第一云存储站点的负载超过负载阈值时,将应用请求转发给第二云存储站点;S402,第二云存储站点从多个服务接入点中选择一个服务接入点,并将接收到的应用请求发送给所选择的服务接入点;S403,所选择的服务接入点将应用请求发送给多个元数据位置管理服务单元中负载较轻的元数据位置管理服务单元;S404,所述负载较轻的元数据位置管理服务单元根据应用请求确定出与应用相对应的元数据位置信息,然后根据所确定出的元数据位置信息从相应的元数据服务器获取相应的元数据;S405,所选择的服务接入点将所获取的元数据以及所述应用请求发送给所述数据文件管理子系统以便所述数据文件管理子系统根据所述应用请求执行相应的操作。
在可选实施例中,所述应用请求包括应用的读请求或者写请求。在可选实施例中,云存储系统对数据文件采取全局命名空间管理,所述元数据存储位置管理服务单元在数据文件创建时,为每个数据文件分配一个全局空间命名标识ID。在可选实施例中,所述第二云存储站点是所述多个云存储站点中负载较轻的云存储站点。在可选实施例中,所述文件管理子系统包括多个存储有数据文件的存储服务器,其中数据文件以对象存储的方式管理并且一份数据文件具有至少一个对象。所述负载均衡方法还可以包括所述数据文件管理子系统监测所述多个存储服务器中每一个的负载情况,当监测到第一存储服务器的写负载较重时,将所述第一存储服务器中的部分数据文件的部分对象迁移到负载较轻的存储服务器中;和/或,当监测到所述第一存储服务器的读负载较重时,为所述第一存储服务器中读访问频繁的数据文件在负载较轻的存储服务器中建立多个只读副本以响应应用的读请求。 在可选实施例中,所述负载均衡方法还可以包括所述数据文件管理子系统监测到所述多个存储服务器中每一个的空间使用率,当监测到第二存储服务器的空间使用率超过空间使用率阈值时,选择所述第二存储服务器服务负载较轻的时间段,将所述第二存储器的部分数据文件的部分对象迁移到空间使用率较小的存储服务器。在可选实施例中,所述数据文件管理子系统将高热点数据文件存储在存储服务器的缓存单元中;将普通热点数据文件存储在存储服务器的SSD或SAS磁盘中;以及将非热点数据文件存储在存储服务器的SATA磁盘中。关于用于云存储系统的负载均衡方法的具体描述可进一步参见本发明实施例的实现负载均衡的云存储系统的部分描述,在此不再赘述。在此提供的算法和实现不限于任何特定的计算机、虚拟系统或者其它设备。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或部件,以及此外可以把它们分成多个子模块或子单元或子部件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。此外,本申请的说明书中虽然描述了本发明实施例的大量具体细节,然而,能够理解,本发明实施例并不是必须在所有的具体细节情况下才能实施。在一些实例中,并未详细示出公知的方法、结构和技术,以便于清楚地理解本发明的发明主旨。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种实现负载均衡的云存储系统,包括负载监控服务单元、多个云存储站点,所述多个云存储站点包括第一云存储站点和第二云存储站点,其中 所述负载监控服务单元用于在检测出所述第一云存储站点的负载超过负载阈值时,将应用请求转发给所述第二云存储站点; 所述第二云存储站点包括多个服务接入点、多个元数据位置管理服务单元、至少一个元数据服务器和数据文件管理子系统,其中 从多个服务接入点中选择的一个服务接入点用于将接收到的所述应用请求发送给所述多个元数据位置管理服务单元中负载较轻的元数据位置管理服务单元; 所述负载较轻的元数据位置管理服务单元用于根据所述应用请求确定出与应用相对应的元数据位置信息,以及根据所确定出的元数据位置信息从相应的元数据服务器获取相应的元数据; 所选择的服务接入点还用于将所获取的元数据以及所述应用请求发送给所述数据文件管理子系统以便所述数据文件管理子系统根据所述应用请求执行相应的操作。
2.根据权利要求1的云存储系统,其特征在于,所述应用请求包括应用的读请求或者写请求,所述数据文件管理子系统,包括 多个存储服务器,用于存储数据文件,其中数据文件以对象存储的方式管理并且一份数据文件具有至少一个对象; 负载均衡管理单元,用于监测所述多个存储服务器中每一个的负载情况,以及在监测到多个存储服务器中的第一存储服务器的写负载较重时,发送对象迁移指示,或者,在监测到所述第一存储服务器的读负载较重时,发送副本建立指示; 数据迁移单元,用于根据所述对象迁移指示将第一存储服务器中的数据文件的部分对象迁移到负载较轻的存储服务器中;或者, 根据所述副本建立指示为所述第一存储服务器中读访问频繁的数据文件在负载较轻的存储服务器中建立多个只读副本。
3.根据权利要求2所述的云存储系统,其特征在于,所述数据文件管理子系统还包括 存储均衡管理单元,用于监测所述多个存储服务器中每一个的空间使用率,当监测到第二存储服务器的空间使用率超过空间使用率阈值时,选择所述第二存储服务器服务负载较轻的时间段,指示所述数据迁移单元将所述第二存储服务器的数据文件的部分对象迁移到空间使用率较小的存储服务器。
4.根据权利要求2所述的云存储系统,其特征在于,所述数据文件管理子系统的存储服务器包括缓存单元、SSD/SAS磁盘和SATA磁盘,其中高热点数据文件存储在所述缓存单元中;以及普通热点数据文件存储在所述SSD或SAS磁盘中;以及非热点数据文件存储在所述SATA磁盘中。
5.根据权利要求1所述的云存储系统,其特征在于 所述云存储系统对数据文件采取全局命名空间管理,所述元数据存储位置管理服务单元在每个文件创建时,为每个数据文件分配一个全局空间命名标识ID ;或者, 所述第二云存储站点是所述多个云存储站点中负载较轻的云存储站点。
6.一种用于云存储系统的负载均衡方法,所述云存储系统包括负载监控服务单兀和多个云存储站点,其中,所述多个云存储站点包括第一云存储站点和第二云存储站点,所述第二云存储站点包括多个服务接入点、多个元数据位置管理服务单元、至少一个元数据服务器和数据文件管理子系统,所述负载均衡方法包括 所述负载监控服务单元在检测出所述第一云存储站点的负载超过负载阈值时,将应用请求转发给所述第二云存储站点; 所述第二云存储站点从多个服务接入点中选择一个服务接入点,并将接收到的所述应用请求发送给所选择的服务接入点; 所选择的服务接入点将所述应用请求发送给多个元数据位置管理服务单元中负载较轻的元数据位置管理服务单元; 所述负载较轻的元数据位置管理服务单元根据所述应用请求确定出与应用相对应的元数据位置信息,然后根据所确定出的元数据位置信息从相应的元数据服务器获取相应的元数据; 所选择的服务接入点将所获取的元数据以及所述应用请求发送给所述数据文件管理子系统以便所述数据文件管理子系统根据所述应用请求执行相应的操作。
7.根据权利要求6的负载均衡方法,其特征在于,所述应用请求包括应用的读请求或者写请求,所述数据文件管理子系统包括多个存储有数据文件的存储服务器,其中数据文件以对象存储的方式管理并且一份数据文件具有至少一个对象,所述负载均衡方法还包括 所述数据文件管理子系统监测所述多个存储服务器中每一个的负载情况, 当监测到第一存储服务器的写负载较重时,将所述第一存储服务器中的部分数据文件的部分对象迁移到负载较轻的存储服务器中;和/或, 当监测到所述第一存储服务器的读负载较重时,为所述第一存储服务器中读访问频繁的数据文件在负载较轻的存储服务器中建立多个只读副本以响应应用的读请求。
8.根据权利要求7的负载均衡方法,其特征在于,所述负载均衡方法还包括 所述数据文件管理子系统监测到所述多个存储服务器中每一个的空间使用率, 当监测到第二存储服务器的空间使用率超过空间使用率阈值时,选择所述第二存储服务器服务负载较轻的时间段,将所述第二存储器的部分数据文件的部分对象迁移到空间使用率较小的存储服务器。
9.根据权利要求6所述的负载均衡方法,其特征在于 所述云存储系统对数据文件采取全局命名空间管理,所述元数据存储位置管理服务单元在每个文件创建时,为每个数据文件分配一个全局空间命名标识ID ;或者, 所述第二云存储站点是所述多个云存储站点中负载较轻的云存储站点。
10.根据权利要求7所述的负载均衡方法,其特征在于所述数据文件管理子系统将高热点数据文件存储在存储服务器的缓存单元中;将普通热点数据文件存储在存储服务器的SSD或SAS磁盘中;以及将非热点数据文件存储在存储服务器的SATA磁盘中。
全文摘要
本发明公开了一种实现负载均衡的云存储系统,包括负载监控服务单元用于在检测出第一云存储站点的负载超过负载阈值时,将应用请求转发给第二云存储站点;第二云存储站点的多个服务接入点中的一个用于将应用请求发送给多个元数据位置管理服务单元中负载较轻的元数据位置管理服务单元;该元数据位置管理服务单元用于根据应用请求确定出与应用相对应的元数据位置信息,以及根据所确定出的元数据位置信息从相应的元数据服务器获取相应的元数据;服务接入点还用于将所获取的元数据以及应用请求发送给数据文件管理子系统以便数据文件管理子系统根据应用请求执行相应的操作。本发明还公开了用于云存储系统的负载均衡方法。本发明可改善云存储系统的性能。
文档编号H04L29/08GK103036994SQ20121055373
公开日2013年4月10日 申请日期2012年12月18日 优先权日2012年12月18日
发明者杨浩, 马照云, 马振杰, 苗艳超, 刘新春, 邵宗有 申请人:曙光信息产业(北京)有限公司