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

存储系统的配置、调度方法、装置及电子设备

文献发布时间:2023-06-19 11:22:42


存储系统的配置、调度方法、装置及电子设备

技术领域

本发明涉及存储系统领域,尤其涉及一种存储系统的配置方法及装置、存储系统的调度方法及装置、电子设备。

背景技术

用户在客户端发送上传或下载数据请求进行文件存储时,可能面临多个机房接入点,现有存储系统通常将需要接入的机房信息以固化代码的形式保存在项目配置或者其他存储介质中,因此无法实现多维度动态调度。存在多个接入点,则需要将请求分发到真正存储文件的机房,因此在存在机房信息发生变化时,需要重启服务来更新变化,如此会造成用户请求延迟,并对请求成功率造成一定的影响。

因此,现有技术无法实时灵活地选择接入的存储系统的数据中心,并且很难做到无损,对客户请求的延迟和成功率造成一定的无影响。

发明内容

本发明的目的在于提供一种存储系统的配置方法及装置、存储系统的调度方法及装置、存储系统、电子设备及计算机可读存储介质,以实现平滑无损调度,提升用户使用体验。

根据本发明的第一方面,提供了一种存储系统的配置方法,包括:

获取各个运营商信息及其各自对应的机房信息、各个机房各自对应的服务器信息;

将各个运营商信息及其权重、各个机房信息及其权重以及各个服务器信息及其权重作为第一配置信息发送至文件系统中,以使文件系统配置第一配置信息;

监听运营商信息、机房信息和服务器信息的变化,得到监听结果;以及

根据监听结果更新文件系统中对应的第一配置信息。

可选的,所述方法还包括:

获取预设的特定客户的信息,所述信息包括与特定客户对应的预设区域的机房信息及各机房的权重;

将所述与特定客户信息对应的预设区域的机房信息及各机房的权重作为第二配置信息发送至文件系统中,以使文件系统配置第一配置信息。

可选的,所述监听所述运营商信息、所述机房信息和所述服务器信息的变化,得到监听结果,包括:

对各个运营商的带宽、各个机房的剩余容量、各个机房的流量、各个服务器的剩余存储空间、各个服务器的异常次数的进行监听;

当监听到所述各个运营商的带宽、各个机房的剩余容量、各个机房的流量、各个服务器的剩余存储空间、各个服务器的异常次数中的至少一项发生变化时,生成监听结果。

可选的,所述根据所述监听结果更新所述文件系统中对应的所述第一配置信息,包括:

根据所述监听结果更新所述第一配置信息;

将更新后的第一配置信息发送至所述文件系统,以使所述文件系统配置所述更新后的第一配置信息。

根据本发明的第二方面,提供了一种存储系统的调度方法,包括:

接收来自客户端发送的数据的上传请求;

根据客户端IP地址确定该客户端所属运营商的运营商信息;

从文件系统中查找运营商信息对应的运营商及该运营商的权重,以确定目标运营商;

从文件系统中查找目标运营商中的机房信息及每个机房的权重,以确定目标机房;

从文件系统中获取目标机房中的各个服务器信息及其权重,以确定目标服务器;以及

将数据按照目标服务器的权重上传至目标服务器进行存储;

其中,文件系统中配置有多个运营商信息以及每个运营商对应的权重、配置有每个运营商的至少一个机房信息及每个机房对应的权重、配置有每个机房的至少一个服务器信息及每个服务器对应的权重。

可选的,从文件系统中查找运营商信息对应的运营商及该运营商的权重,以确定目标运营商包括:

基于从文件系统中查找到所述运营商信息对应的运营商及其权重,从文件系统中获取其他运营商的运营商信息及每个运营商对应的权重;

根据文件系统中所有运营商的权重,从文件系统所有运营商中确定出目标运营商。

可选的,从文件系统中获取所述目标机房中的各个服务器信息及其权重,以确定目标服务器包括:

根据所述目标机房中的各个服务器的权重从所述目标机房的所有服务器中确定出目标服务器。

可选的,所述方法还包括:

根据客户端的IP地址判断客户端是否属于特定客户;

如果客户端属于特定客户,从所述文件系统中获取预设的特定客户的信息,所述信息包括与所述特定客户对应的预设区域的机房信息及各机房的权重;

根据所述特定客户对应的预设区域的机房信息及其权重确定目标机房;

从所述文件系统中获取所述目标机房中的各个服务器信息及其权重,以确定目标服务器;以及

将所述数据按照所述目标服务器的权重上传至所述目标服务器进行存储。

根据本发明的第三方面,提供了一种存储系统的调度方法,包括:

接收来自客户端发送的数据的下载请求,下载请求中包括有数据对应的元数据;

根据所述客户端的IP地址、所述元数据从文件系统的配置信息中确定出存储所述数据的服务器,以生成数据下载地址;

向所述客户端发送所述数据下载地址;

其中,所述文件系统的配置信息包括多个运营商信息以及每个运营商对应的权重、每个运营商的至少一个机房信息及每个机房对应的权重、每个机房的至少一个服务器信息及每个服务器对应的权重。

可选的,所述根据所述客户端的IP地址、所述元数据从文件系统的配置信息中确定出存储所述数据的服务器,以生成数据下载地址,包括:

根据客户端IP地址确定该客户端所属运营商的运营商信息;

根据元数据确定数据的存储区域;

根据运营商信息及存储区域确定该数据所在的各个机房信息及其权重;

针对每个机房,确定数据所在的各个服务器的服务器信息及其权重;

根据所述各个服务器的服务器信息及其权重生成数据下载地址。

根据本发明的第四方面,提供了一种存储系统的配置装置,包括:

获取模块,用于获取各个运营商ID及其各自对应的机房信息、各个机房各自对应的服务器信息;以及

发送模块,用于将各个运营商ID及其权重、各个机房信息及其权重以及各个服务器信息及其权重作为配置信息发送至文件系统中,以使文件系统根据配置信息进行配置;以及

更新模块,用于监听运营商信息、机房信息和服务器信息的变化得到监听结果,并根据监听结果更新文件系统中对应的配置信息。

根据本发明的第五方面,提供了一种存储系统的调度装置,包括:

接收模块,用于接收来自客户端发送的数据的上传请求;

第一确定模块,根据客户端IP地址确定该客户端所属运营商的运营商信息;以及

第二确定模块,用于从文件系统中查找运营商信息对应的运营商及该运营商的权重,以确定目标运营商;从文件系统中查找目标运营商中的机房信息及每个机房的权重,以确定目标机房;从文件系统中获取目标机房中的各个服务器信息及其权重,以确定目标服务器;

其中,文件系统中配置有多个运营商信息以及每个运营商对应的权重、配置有每个运营商的至少一个机房信息及每个机房对应的权重、配置有每个机房的至少一个服务器信息及每个服务器对应的权重。

可选的,所述调度装置还包括:

第三确定模块,用于根据客户端的IP地址判断客户端是否属于特定客户;以及在客户端属于特定客户时,将特定客户对应预设区域的机房信息及其权重作为配置信息发送至所述文件系统中。

根据本发明的第六方面,提供了一种存储系统的调度装置,包括:

接收模块,用于接收来自客户端发送的数据的下载请求,下载请求中包括有数据对应的元数据;

第一确定模块,根据客户端IP地址确定该客户端所属运营商的运营商信息;

第二确定模块,用于根据元数据确定数据的存储区域;根据运营商信息及存储区域确定该数据所在的各个机房信息及其权重;以后针对每个机房,确定所述数据所在的各个服务器的服务器信息及其权重;以及

响应模块,用于针对各个服务器,根据服务器信息及其权重响应所述数据的下载请求。

根据本发明的第七方面,提供了一种存储系统,包括:

根据本发明第四方面所述的调度配置装置;

根据本发明第五方面所述的调度装置;以及

根据本发明第六方面所述的调度装置;

其中,本发明第五方面所述的调度装置根据所述调度配置装置中的配置信息进行数据上传调度,本发明第六方面所述的调度装置根据调度配置装置中的配置信息进行数据下载调度。

根据本发明的第八方面,提供了一种电子设备,包括:

根据本发明第四方面、第五方面或第六方面所述的调度装置;或者,

处理器和存储器,存储器用于存储可执行的指令,所述指令用于控制处理器执行根据本发明第一方面、第二方面或第三方面所述的调度方法。

根据本发明的第九方面,提供了一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序在被处理器执行时实现根据本发明第一方面、第二方面或第三方面所述的调度方法。

本发明在具有动态监控特性的文件系统中配置各运营商权重、运营商对应机房的权重以及机房对应服务器的权重,并根据运营商的当前状态(例如,负载情况)、机房状态、服务器状态动态调节对应的权重信息,进而控制负载的分配,对客户端做到无损负载均衡。而对服务端,接收到客户端用户的数据上传或下载请求时,依据各运营商权重、运营商对应机房的权重以及机房对应服务器的权重实时监控并动态自动调度到合适的机房及服务器,提高对客户端的数据请求(上传、下载)响应效率。而在某些运营商进行业务割接时,利用本发明技术方案可实现平滑动态地将流量调度到其他运营商所属机房,此过程对客户端透明无损。

本发明可以实时灵活地根据运营商、机房流量以及机房容量大小等多因素来选择接入的存储系统数据中心,并实现调度无损,提升用户使用体验。

通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。

附图说明

被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。

图1为可用于实现本发明实施例的电子设备的硬件配置结构方框图。

图2为本发明实施例的存储系统的配置方法步骤流程图。

图3为本发明第一实施例的存储系统的调度方法步骤流程图。

图4为本发明第二实施例的存储系统的调度方法步骤流程图。

图5为本发明第一实施例的存储系统的调度方法步骤流程图。

图6为本发明第二实施例的存储系统的调度方法步骤流程图。

图7为本发明实施例的存储系统的配置装置的结构方框图。

图8为本发明实施例的存储系统的调度装置的结构方框图。

图9为本发明实施例的存储系统的调度装置的结构方框图。

图10为本发明实施例的存储系统的结构方框图。

图11为本发明实施例的电子设备的结构方框图。

具体实施方式

现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。

对于相关领域普通技术人物已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

图1是示出可以实现本发明的实施例的电子设备1000的硬件配置的结构方框图。

电子设备1000可以是便携式电脑、台式计算机、手机、平板电脑等。

如图1所示,电子设备1000可以包括处理器1100、存储器1200、接口装置1300、通信装置1400、显示装置1500、输入装置1600、扬声器1700、麦克风1800等等。其中,处理器1100可以是中央处理器CPU、微处理器MCU等。存储器1200例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1300例如包括USB接口、耳机接口等。通信装置1400例如能够进行有线或无线通信,具体地可以包括WiFi通信、蓝牙通信、2G/3G/4G/5G通信等。显示装置1500例如是液晶显示屏、触摸显示屏等。输入装置1600例如可以包括触摸屏、键盘、体感输入等。还可以包括扬声器1700和麦克风1800。

图1所示的电子设备仅仅是说明性的并且决不意味着对本发明、其应用或使用的任何限制。应用于本发明的实施例中,电子设备1000的所述存储器1200用于存储指令,所述指令用于控制所述处理器1100进行操作以执行本发明实施例提供的任意一项存储系统的配置方法、调度方法。本领域技术人员应当理解,尽管在图1中对电子设备1000示出了多个装置,但是,本发明可以仅涉及其中的部分装置,例如电子设备1000可以只涉及处理器1100和存储装置1200。技术人员可以根据本发明所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。

在本发明一个实施例中,提供一种存储系统的配置方法。

请参考图2,该图为本发明实施例的存储系统的配置方法步骤流程图,存储系统的配置方法可以是由电子设备实施,该电子设备例如可以是如图1所示的电子设备1000。

如图2所示,本发明实施例的存储系统的配置方法包括以下步骤:

步骤102,获取各个运营商信息及其各自对应的机房信息、各个机房各自对应的服务器信息;

步骤104,将各个运营商信息及其权重、各个机房信息及其权重以及各个服务器信息及其权重作为第一配置信息发送至文件系统中,以使文件系统配置第一配置信息;

步骤106,监听运营商信息、机房信息和服务器信息的变化,得到监听结果;以及

步骤108,根据监听结果更新文件系统中对应的第一配置信息。

在步骤106中,监听所述运营商信息、所述机房信息和所述服务器信息的变化,得到监听结果,具体来说,可以对各个运营商的带宽、各个机房的剩余容量、各个机房的流量、各个服务器的剩余存储空间、各个服务器的异常次数的进行监听,当监听到所述各个运营商的带宽、各个机房的剩余容量、各个机房的流量、各个服务器的剩余存储空间、各个服务器的异常次数中的至少一项发生变化时,生成监听结果。

在步骤108中,根据所述监听结果更新所述文件系统中对应的所述第一配置信息时,根据所述监听结果更新所述第一配置信息,并将更新后的第一配置信息发送至所述文件系统,以使所述文件系统配置所述更新后的第一配置信息。

本发明将各运营商及对应机房及其权重、以及机房对应服务器及其权重配置在诸如zookeeper(zookeeper是一个分布式的、开放源码的分布式应用程序协调服务)这种具有动态监听特性的文件系统中,利用文件系统动态监听的特性,在文件系统定时读取到数值存在变化或改变时,及时动态调整对应的配置信息,并将配置信息的更新进一步通知到对应的调度系统中,如此可以实现无需重启服务就可以实时动态更新存储调度时对应机房信息的功能。

在一个示例中,存储系统的配置方法还可以进一步获取预设的特定客户的信息,所述信息包括与所述特定客户对应的预设区域的机房信息及各机房的权重。然后,将所述与所述特定客户信息对应的预设区域的机房信息及各机房的权重作为第二配置信息发送至所述文件系统中,以使所述文件系统配置所述第一配置信息。

例如,对于一些特定客户,小米、迅雷、小明相册等有自己的特殊要求,例如根据业务的不同,分别将不同的业务存储到不同的预设区域(Region)中,例如分别存储到扬州区域、杭州区域等等。

此时,则需要将对应预设区域的机房信息及其权重配置到文件系统中,以方便后续调度使用。

关于根据监听结果更新第一配置信息,例如对于配置信息的权重的配置,运营商权重可以根据各个运营商对应的带宽大小及/或风险调整。例如运营商包括联通、移动、电信,根据购置的运营商的带宽大小设置权重,带宽大的设置权重值较高,反正带宽小的设置权重值较低。另外,若某个运营商存在风险,则权重值设置较低。

调整机房权重可以根据各个机房对应的剩余容量大小及/或流量大小,例如,某机房剩余容量偏小,可动态调整写入此机房权重值降低,减小写入比例。例如,某机房流量偏大,可动态调整此机房权重值降低,减小访问频率。

在一个示例中,可以根据各个服务器的磁盘空间大小、异常情况及/或内存大小调整服务器权重。

服务器磁盘空间越小,动态调整写入或读取该服务器的权重值越低;反之,设置写入或读取该服务器的权重值越高。

对于存在异常情况的服务器,设置权重值较低。

另外,对于内存较小的,动态调整设置该服务器的权重值越低;反之,设置写入或读取该服务器的权重值越高。

根据本发明的另一个实施例,还提供了一种存储系统的调度方法,该调度方法适用于向存储系统上传数据的场景。

请参考图3,该图为本发明第一实施例的存储系统的调度方法步骤流程图,该调度方法可以是由电子设备实施,该电子设备例如可以是如图1所示的电子设备1000。

如图3所示,本发明实施例的存储系统的调度方法包括以下步骤:

步骤202,接收来自客户端发送的数据的上传请求;

步骤204,根据客户端IP地址确定该客户端所属运营商的运营商信息;

步骤206,从文件系统中查找运营商信息对应的运营商及该运营商的权重,以确定目标运营商;

步骤208,从文件系统中查找目标运营商中的机房信息及每个机房的权重,以确定目标机房;

步骤210,从文件系统中获取目标机房中的各个服务器信息及其权重,以确定目标服务器;以及

步骤212,将所述数据按照目标服务器的权重上传至目标服务器进行存储。

在文件系统中,配置有多个运营商信息以及每个运营商对应的权重、配置有每个运营商的至少一个机房信息及每个机房对应的权重、配置有每个机房的至少一个服务器信息及每个服务器对应的权重。

在步骤204中,通过用户请求上传数据的客户端IP地址可以获得该客户端所属的地域,从而确定运营商ID,即ispID。例如,客户端IP地址对应的是移动运营商。

在一个示例中,可以根据运营商ID及各个运营商信息及其权重选择运营商是综合考虑客户端对应的运营商和其他运营商及其权重情况选择目标运营商。

具体地,在步骤206中,首先基于从文件系统中查找到所述运营商信息(例如移动运营商)对应的运营商及其权重,从文件系统中获取其他运营商(例如联通运营商、电信运营商)的运营商信息及每个运营商对应的权重,最后根据文件系统中所有运营商的权重从文件系统所有运营商中确定出目标运营商(例如选择的目标运营商为联通运营商)。

通常为客户端计算的运营商ID对应运营商设置较高权重,以上述运营商计算是移动为例,即表示调整移动具有较高的权重,而其他联通或电信运营商,则可以进一步根据其各自对应的带宽大小及/或风险调整权重,调度时并非仅仅考虑客户端所属的移动运营商。

具体地,在步骤208中,首先从文件系统中查找到目标运营商中的机房信息对应的各个机房及其权重,然后从文件系统中获取其他机房的机房信息及每个机房对应的权重。最后,根据每个机房的权重从文件系统所有机房中确定出目标机房。

在一个示例中,可以根据各个机房对应的剩余容量大小及/或流量大小调整机房权重。

在步骤210中,根据目标机房中的各个服务器的权重从目标机房的所有服务器中确定出目标服务器。

在一个示例中,可以根据各个服务器的磁盘空间大小、异常情况及/或内存大小调整服务器权重以动态调整数据上传的服务器。

上述权重的具体调整设置可以参考存储系统的配置方法中提及的方式,这里不在赘述。

运营商ID及其权重、机房信息及其权重以及服务器信息及其权重配置在具有动态监听特性的文件系统中。例如zookeeper中。

如上文所述,本发明可以将特定客户与对应预设区域的机房信息及其权重配置到文件系统中,以便后续调度使用。

因此在一个优选实施例中,本发明的存储系统的调度方法还可以根据特定客户的定制需要进行调度。

在一个示例中,可以根据客户端的IP地址判断客户端是否属于特定客户,如果客户端属于特定客户,从所述文件系统中获取预设的特定客户的信息,所述信息包括与所述特定客户对应的预设区域的机房信息及各机房的权重。然后根据所述特定客户对应的预设区域的机房信息及其权重确定目标机房,并从所述文件系统中获取所述目标机房中的各个服务器信息及其权重,以确定目标服务器。接着,将所述数据按照所述目标服务器的权重上传至所述目标服务器进行存储。

下面,将结合图4进行详细说明,图4为本发明第二实施例的存储系统的调度方法步骤流程图,该调度方法适用于向存储系统上传数据的场景。该调度方法可以是由电子设备实施,该电子设备例如可以是如图1所示的电子设备1000。

如图4所示,本发明实施例的存储系统的调度方法包括以下步骤:

步骤1-1,通过客户端IP地址(clientIp)计算该客户端所属的运营商编号/ID,即ispId;

步骤1-2.1,serviceInvoker服务存储了特定客户ID与客户信息的对应关系,例如特定客户对应预设区域的机房信息及其权重作为配置信息发送至erviceInvoker服务的文件系统中并进行存储。客户端传入客户ID,此服务可获取客户主要信息(包括客户名称、简称,例如小米、MTS、迅雷),获取这些信息主要是为了后续查询配置使用;根据获取的客户信息判断客户端传入的客户ID是否属于特定客户;

步骤1-2.2,根据获取的运营商ID和客户信息,到配置中心获取当前用户对应的当前运营商的数据中心ID,即idcId。(配置中心是指在zookeeper上配置了各个客户各个运营商的idcId列表及其权重,包括各运营商对应的机房列表及其权重、各机房对应的服务器列表及其权重);根据获取的idcId列表及权重,获取该运营商对应的各个机房信息及其权重;

步骤1-3(包括1-3.1和1-3.2),根据获取的idcId列表及权重以及客户信息,选择合适的接入机房和服务器,并随机选择一个数据流地址,即nodeUrl。配置中心配置了各个idcId对应的nodeUrl列表及其权重,数据流地址是指负责真正进行文件上传下载的服务地址,并进行数据的下载;

如果当前客户端IP是海外IP,在一个优选实施例中本发明的存储系统的调度方法还可以包括以下步骤:

步骤1-4(包括1-4.1、1-4.2和1-4.3),则将步骤1-3中选择的数据流地址替换为代理地址,获取代理nodeUrl,代理地址为node部署在海外的服务节点地址;

步骤1-5(包括1-5.1和1-5.2),根据获取的代理nodeUrl,处理海外地址并获取nodeUrl进行数据上传。

通过上述方式,可以实现特定客户的定制化需要进行存储和调度,满足不同客户的需求,具有更好的调度灵活性。并且,对于海外客户端的客户需求仍可以做到平滑无损调度。

根据本发明的另一个实施例,还提供了一种存储系统的调度方法,该调度方法适用于向存储系统下载数据的场景。

下面将参考图5和图6,对本发明实施例的调度方法进行详细说明。这些实施例的调度方法可以是由电子设备实施,该电子设备例如可以是如图1所示的电子设备1000。

参考图5,该图为本发明第一实施例的适用于向存储系统下载数据的存储系统的调度方法步骤流程图。

步骤302,接收来自客户端发送的数据的下载请求,下载请求中包括有所述数据对应的元数据;

步骤304,根据所述客户端的IP地址、所述元数据从文件系统的配置信息中确定出存储所述数据的服务器,以生成数据下载地址;

步骤306,向所述客户端发送所述数据下载地址;

其中,所述文件系统的配置信息包括多个运营商信息以及每个运营商对应的权重、每个运营商的至少一个机房信息及每个机房对应的权重、每个机房的至少一个服务器信息及每个服务器对应的权重。

在一个示例中,根据所述客户端的IP地址、所述元数据从文件系统的配置信息中确定出存储所述数据的服务器,以生成数据下载地址,包括根据客户端IP地址确定该客户端所属运营商的运营商信息,根据元数据确定所述数据的存储区域,然后根据运营商信息及存储区域确定该数据所在的各个机房信息及其权重。针对每个机房,确定所述数据所在的各个服务器的服务器信息及其权重,并且针对各个服务器,根据服务器信息及其权重响应所述数据的下载请求。

上述运营商、机房和服务器的权重的具体调整设置可以参考存储系统的配置方法中提及的方式,这里不在赘述。

下面参考图6,该图为本发明第二实施例的适用于向存储系统下载数据的存储系统的调度方法步骤流程图。

如图6所示,本发明实施例的存储系统的调度方法包括以下步骤:

步骤2-1,通过客户端IP地址(clientIp)计算该客户端所属的运营商编号/ID,即ispId;

步骤2-2,通过sectorId获取要请求下载的数据的所属区域(Region),sectorId是在数据上传时写入到元数据系统中,作用是为了记录这条数据在存储系统的哪个区域中(例如数据存储在杭州区域还是扬州区域等);

步骤2-3(包括2-3.1和2-3.2),通过运营商ID与区域(Region),到配置中心查询获取这条数据所在的数据中心ID,即idcId(配置中心在zookeeper上记录了各个Region各个运营商对应的数据中心ID,即idcId列表及其权重,包括各个区域下各运营商对应的机房列表及其权重、各机房对应的服务器列表及其权重);

步骤2-4,通过idcId列表及其权重,选择合适的接入机房和服务器,并到配置中心获取数据流地址nodeUrl,(配置中心配置了各个idcId对应的nodeUrl列表及其权重,nodeUrl为负责数据正常上传下载服务的地址),并进行数据的下载;

如果当前客户端IP是海外IP,在一个优选实施例中本发明的存储系统的调度方法还可以包括以下步骤:

步骤2-5(包括2-5.1和2-5.2),将步骤2-4中选择的数据流地址替换为代理地址,获取代理nodeUrl,代理地址为node部署在海外的服务节点地址;

步骤2-6(包括2-6.1和2-6.2),根据获取的代理nodeUrl,处理海外地址并获取nodeUrl进行数据下载。

本发明在zookeeper中配置各运营商对应的机房以及权重,在存储程序中实现了根据客户端IP获取对应运营商的功能。并且在客户端访问的存储系统时,需要传入对应的客户端IP,服务端接收到客户端IP进行判断后自动调度到合适的机房及服务器,判断依据主要依赖于存储服务后端容量与流量的实时监控。

因此,本发明可以实时灵活地根据运营商、机房流量以及机房容量大小等多因素来选择接入的存储系统数据中心,并实现调度无损,即调度调整对客户请求的延迟和成功率完全无影响。

在本发明另一个实施例中,还提供了一种存储系统的配置装置,如图7所示,配置装置2000包括:获取模块2200、发送模块2400以及更新模块2600。

获取模块2200,用于获取各个运营商ID及其各自对应的机房信息、各个机房各自对应的服务器信息;

发送模块2400,用于将各个运营商ID及其权重、各个机房信息及其权重以及各个服务器信息及其权重作为第一配置信息发送至文件系统中,以使文件系统配置第一配置信息;以及

更新模块2600,用于监听运营商信息、机房信息和服务器信息的变化得到监听结果,并根据监听结果更新文件系统中对应的第一配置信息。

根据本发明的又一个实施例,提供了一种适用于向存储系统上传数据的存储系统的调度装置,如图8所示,调度装置3000包括:接收模块3200、第一确定模块3400和第二确定模块3600,可选的,还可以包括第三确定模块3800。

接收模块3200用于接收来自客户端发送的数据的上传请求,第一确定模块3400根据客户端IP地址确定该客户端所属运营商的运营商信息。

第二确定模块3600用于从文件系统中查找运营商信息对应的运营商及该运营商的权重,以确定目标运营商;从文件系统中查找目标运营商中的机房信息及每个机房的权重,以确定目标机房;以及从文件系统中获取目标机房中的各个服务器信息及其权重,以确定目标服务器。

其中,文件系统中配置有多个运营商信息以及每个运营商对应的权重、配置有每个运营商的至少一个机房信息及每个机房对应的权重、配置有每个机房的至少一个服务器信息及每个服务器对应的权重。

在一个示例中,第二确定模块3600通过以下方式确定目标运营商:

从文件系统中查找到所述运营商信息对应的运营商及其权重,以及,从文件系统中获取其他运营商的运营商信息及每个运营商对应的权重;根据每个运营商的权重从文件系统所有运营商中确定出目标运营商。

在一个示例中,第二确定模块3600通过以下方式确定目标机房:

从文件系统中查找到所述机房信息对应的机房及其权重,以及,从文件系统中获取其他机房的机房信息及每个机房对应的权重;根据每个机房的权重从文件系统所有机房中确定出目标机房。

在一个示例中,第二确定模块3600通过以下方式确定目标服务器:

从文件系统中查找到服务器信息对应的服务器及其权重;根据每个服务器的权重从目标机房的所有服务器中确定出目标服务器。在存在特定客户需求的情况下,第三选择模块3800用于根据客户端的IP地址判断客户端是否属于特定客户;以及在客户端属于特定客户时,将特定客户对应预设区域的机房信息及其权重作为配置信息发送至文件系统中。

如此,可以实现特定客户的定制化需要进行存储和调度,满足不同客户的需求,具有更好的调度灵活性。

在本发明再一个实施例中,还提供了一种适用于向存储系统下载数据的存储系统的调度装置,如图9所示,调度装置4000包括:接收模块4200、生成模块4400和发送模块4600。

接收模块4200用于接收来自客户端发送的数据的下载请求,下载请求中包括有所述数据对应的元数据。

生成模块4400,根据所述客户端IP地址、所述元数据从文件系统的配置信息中确定出存储所述数据的服务器,以生成数据下载地址。

发送模块4600用于向所述客户端发送所述数据下载地址。

此外,根据本发明实施例,还提供了一种存储系统,如图10所示,存储系统5000包括配置装置2000、适用于向存储系统上传数据的调度装置3000以及适用于向存储系统下载数据的调度装置4000。

其中,调度装置3000或调度装置4000根据配置装置2000中的配置信息对应进行数据上传或下载的调度。

具体来说,配置装置2000将各个运营商信息及其权重、各个机房信息及其权重以及各个服务器信息及其权重配置到文件系统,例如zookeeper中。同时,动态监听获取信息的变化,并实时动态调整对应权重及更新文件系统中对应的配置信息。

调度装置3000以及调度装置4000则根据配置装置2000中的配置信息更新,实时动态调整调度策略。

如图10所示,例如根据配置信息的权重,调度装置3000首先根据运营商权重,从多个运营商1,2,..,n中选择运营商1作为当前用户请求数据的上传接入点。后面会根据机房权重,从属于运营商1下面对应的机房1,2,…n中选择合适的接入机房,例如机房2。然后,会进一步根据服务器权重,从该机房2下的服务器1,2,…n中选择服务器3作为数据上传的服务器。

本发明实现了根据客户端所属运营商带宽、存储系统各机房流量、各机房容量大小、各服务器磁盘空间或内存大小等多因素动态调度接入机房,并且调度过程平滑无损,客户无感知。例如,某运营商需要割接,可实现平滑动态地将流量调度到其他运营商所属机房,此过程对客户透明无损。

本发明可以根据运营商、机房、服务器多维度调度,并且在更改调度权重时对服务无损,为客户提供了高效稳定的存储服务,客户体验更好。

根据本发明的再一个实施例,提供了一种电子设备,该电子设备6000可以是图1所示的电子设备1000。图11为本发明实施例的电子设备的结构方框图。

一方面,该电子设备6000可以包括前述配置装置2000,用于实施本发明任意实施例的配置方法。或者,该电子设备6000可以包括前述调度装置3000,用于实施本发明任意实施例的适用于向存储系统上传数据的调度方法。或者,该电子设备6000可以包括前述调度装置4000,用于实施本发明任意实施例的适用于向存储系统下载数据的调度方法。

另一方面,如图11所示,电子设备6000可以包括存储器6200和处理器6400,存储器6200用于存储可执行的指令;该指令用于控制处理器6400执行前述的配置方法、适用于向存储系统上传数据的调度方法或者适用于向存储系统下载数据的调度方法。

在本实施例中,电子设备6000可以是手机、平板电脑、掌上电脑、台式机、笔记本电脑、工作站、游戏机等任意具有存储器6200以及处理器6400的电子产品。

最后,根据本发明的又一个实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序在被处理器执行时实现根据本发明任意实施例所述的存储系统的配置方法、适用于向存储系统上传数据的调度方法或适用于向存储系统下载数据的调度方法。

本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。

这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人物来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人物来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人物能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。

相关技术
  • 存储系统的配置、调度方法、装置及电子设备
  • 一种任务调度系统、任务调度和调度任务配置方法及装置
技术分类

06120112901771