云存储方法、云平台及计算机可读存储介质与流程

文档序号:15751992发布日期:2018-10-26 17:56阅读:234来源:国知局
云存储方法、云平台及计算机可读存储介质与流程

本发明涉及云存储技术领域,尤其涉及一种云存储方法、云平台及计算机可读存储介质。



背景技术:

云存储(onlinestorage)是一种网络在线存储模式,即把数据存放在云平台上,而云平台部署在大规模服务器集群上,云平台中负责数据存储的集群节点称为存储节点。常用的云存储方法是依次在各个存储节点中进行存储,当前一个存储节点无法存储数据时,再在后一个存储节点中继续存储,这一方式,可能会造成部分存储节点负载过重,进而影响云平台的性能。



技术实现要素:

本发明的主要目的在于提供一种云存储方法、云平台及计算机可读存储介质,旨在保证云平台存储节点的负载均衡,从而提升云平台的性能,提升用户体验。

为实现上述目的,本发明提供一种云存储方法,所述方法包括:

在接收到数据存储请求时,计算当前周期内云平台各个存储节点存储待存储数据所需的最晚完成时长;

分别将各个存储节点的所述最晚完成时长与所述数据存储请求的预设截止时长进行比较,得到比对结果;

根据所述比较结果确定存储所述待存储数据的目标存储节点。

可选地,所述计算当前周期内云平台各个存储节点存储待存储数据所需的最晚完成时长的步骤包括:

根据各个存储节点在当前周期内的可用资源和待存储数据的大小信息,计算各个存储节点存储所述待存储数据所需的存储时长;

根据各个存储节点在当前周期内等待被存储的任务数,计算各个存储节点的预等待时长;

根据各个存储节点的所述存储时长和预等待时长,计算各个存储节点存储待存储数据所需的最晚完成时长。

可选地,所述根据各个存储节点在当前周期内等待被存储的任务数,计算各个存储节点的预等待时长的步骤包括:

确定云平台存储节点集群存储单个存储任务的平均时长;

根据所述存储单个存储任务的平均时长和各个存储节点在当前周期内等待被存储的任务数,计算各个存储节点的预等待时长。

可选地,所述确定云平台存储节点集群存储单个存储任务的平均时长的步骤包括:

确定当前周期之前待计算的各个周期;

获取云平台存储节点集群在所述待计算的各个周期内完成的存储任务总数;

计算云平台存储节点集群在所述待计算的各个周期内的单个存储任务完成时长;

计算所述单个存储任务完成时长的平均值,作为云平台存储节点集群存储单个存储任务的平均时长。

可选地,所述根据所述比较结果确定存储所述待存储数据的目标存储节点的步骤包括:

将所述最晚完成时长小于所述预设截止时长的各个存储节点确定为待选存储节点集合,并从所述待选任务节点集合中选取存储节点,作为存储所述待存储数据的目标存储节点。

可选地,所述计算当前周期内云平台各个存储节点存储待存储数据所需的最晚完成时长的步骤之前,所述云存储方法还包括:

在接收到数据存储请求时,判断待存储数据是否存在关联待存储数据;

若所述待存储数据不存在关联待存储数据,则执行所述计算当前周期内云平台各个存储节点存储待存储数据所需的最晚完成时长的步骤。

可选地,所述在接收到数据存储请求时,判断待存储数据是否存在关联待存储数据的步骤之后,还包括:

若所述待存储数据存在关联待存储数据,则将所述待存储数据和关联待存储数据作为待存储数据组;

分别计算各个存储节点存储所述待存储数据所需的第一最晚完成时长以及存储所述关联待存储数据所需的第二最晚完成时长;

分别将各个存储节点的所述第一最晚完成时长与对应数据存储请求的第一预设截止时长进行比较,并将所述第一最晚完成时长小于所述第一预设截止时长的存储节点确定为第一存储节点集合;

分别将各个存储节点的所述第二最晚完成时长与对应数据存储请求的第二预设截止时长进行比较,并将所述第二最晚完成时长小于所述第二预设截止时长的存储节点确定为第二存储节点集合;

根据所述第一存储节点集合和第二存储节点集合,确定存储所述待存储数据组的目标存储节点。

可选地,所述根据所述第一存储节点集合和第二存储节点集合,确定存储所述待存储数据组的目标存储节点的步骤包括:

将所述第一存储节点集合与第二存储节点集合的交集确定为待选存储节点集合,并从所述待选任务节点集合中选取存储节点,作为存储所述待存储数据组的目标存储节点。

此外,为实现上述目的,本发明还提供一种云平台,所述云平台包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的云存储程序,所述云存储程序被所述处理器执行时实现如下步骤:

在接收到数据存储请求时,计算当前周期内云平台各个存储节点存储待存储数据所需的最晚完成时长;

分别将各个存储节点的所述最晚完成时长与所述数据存储请求的预设截止时长进行比较,得到比对结果;

根据所述比较结果确定存储所述待存储数据的目标存储节点。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有云存储程序,所述云存储程序被处理器执行时实现如下步骤:

在接收到数据存储请求时,计算当前周期内云平台各个存储节点存储待存储数据所需的最晚完成时长;

分别将各个存储节点的所述最晚完成时长与所述数据存储请求的预设截止时长进行比较,得到比对结果;

根据所述比较结果确定存储所述待存储数据的目标存储节点。

本发明在接收到数据存储请求时,计算当前周期内云平台各个存储节点存储待存储数据所需的最晚完成时长,然后分别将各个存储节点存储待存储数据所需的最晚完成时长与该数据存储请求的预设截止时长进行比较,得到比对结果,进而根据该比较结果确定存储该待存储数据的目标存储节点,通过上述方式,本发明依据预先设置的数据存储请求的截止时长,以及各个存储节点存储待存储数据所需的完成时长,确定存储待存储数据的存储节点,能够合理利用云平台存储节点的资源,从而保证云平台存储节点的负载均衡,提升云平台的性能,进而提高数据存储的速度,提升了用户体验。

附图说明

图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图;

图2为本发明云存储方法方法第一实施例的流程示意图;

图3为本发明云存储方法方法第一实施例的细化流程示意图;

图4为本发明云存储方法方法第二实施例的流程示意图;

图5为本发明云存储方法方法第三实施例的流程示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例的主要解决方案是:在接收到数据存储请求时,计算当前周期内云平台各个存储节点存储待存储数据所需的最晚完成时长;分别将各个存储节点的所述最晚完成时长与所述数据存储请求的预设截止时长进行比较,得到比对结果;根据所述比较结果确定存储所述待存储数据的目标存储节点。

如图1所示,图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图。

本发明实施例终端是云平台。

如图1所示,该终端可以包括:处理器1001,例如cpu,通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选的用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及云存储程序。

在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的云存储程序,并执行以下操作:

在接收到数据存储请求时,计算当前周期内云平台各个存储节点存储待存储数据所需的最晚完成时长;

分别将各个存储节点的所述最晚完成时长与所述数据存储请求的预设截止时长进行比较,得到比对结果;

根据所述比较结果确定存储所述待存储数据的目标存储节点。

进一步地,处理器1001可以调用存储器1005中存储的云存储程序,还执行以下操作:

根据各个存储节点在当前周期内的可用资源和待存储数据的大小信息,计算各个存储节点存储所述待存储数据所需的存储时长;

根据各个存储节点在当前周期内等待被存储的任务数,计算各个存储节点的预等待时长;

根据各个存储节点的所述存储时长和预等待时长,计算各个存储节点存储待存储数据所需的最晚完成时长。

进一步地,处理器1001可以调用存储器1005中存储的云存储程序,还执行以下操作:

确定云平台存储节点集群存储单个存储任务的平均时长;

根据所述存储单个存储任务的平均时长和各个存储节点在当前周期内等待被存储的任务数,计算各个存储节点的预等待时长。

进一步地,处理器1001可以调用存储器1005中存储的云存储程序,还执行以下操作:

确定当前周期之前待计算的各个周期;

获取云平台存储节点集群在所述待计算的各个周期内完成的存储任务总数;

计算云平台存储节点集群在所述待计算的各个周期内的单个存储任务完成时长;

计算所述单个存储任务完成时长的平均值,作为云平台存储节点集群存储单个存储任务的平均时长。

进一步地,处理器1001可以调用存储器1005中存储的云存储程序,还执行以下操作:

将所述最晚完成时长小于所述预设截止时长的各个存储节点确定为待选存储节点集合,并从所述待选任务节点集合中选取存储节点,作为存储所述待存储数据的目标存储节点。

进一步地,处理器1001可以调用存储器1005中存储的云存储程序,还执行以下操作:

在接收到数据存储请求时,判断待存储数据是否存在关联待存储数据;

若所述待存储数据不存在关联待存储数据,则执行所述计算当前周期内云平台各个存储节点存储待存储数据所需的最晚完成时长的步骤。

进一步地,处理器1001可以调用存储器1005中存储的云存储程序,还执行以下操作:

若所述待存储数据存在关联待存储数据,则将所述待存储数据和关联待存储数据作为待存储数据组;

分别计算各个存储节点存储所述待存储数据所需的第一最晚完成时长以及存储所述关联待存储数据所需的第二最晚完成时长;

分别将各个存储节点的所述第一最晚完成时长与对应数据存储请求的第一预设截止时长进行比较,并将所述第一最晚完成时长小于所述第一预设截止时长的存储节点确定为第一存储节点集合;

分别将各个存储节点的所述第二最晚完成时长与对应数据存储请求的第二预设截止时长进行比较,并将所述第二最晚完成时长小于所述第二预设截止时长的存储节点确定为第二存储节点集合;

根据所述第一存储节点集合和第二存储节点集合,确定存储所述待存储数据组的目标存储节点。

进一步地,处理器1001可以调用存储器1005中存储的云存储程序,还执行以下操作:

将所述第一存储节点集合与第二存储节点集合的交集确定为待选存储节点集合,并从所述待选任务节点集合中选取存储节点,作为存储所述待存储数据组的目标存储节点。

基于上述终端的硬件结构,提出本发明云存储方法的各个实施例。

参照图2,本发明云存储方法第一实施例提供一种云存储方法,所述方法包括:

步骤s10,在接收到数据存储请求时,计算当前周期内云平台各个存储节点存储待存储数据所需的最晚完成时长;

在本实施例中,该云存储方法应用于云平台,云平台可以接收用户发送的数据存储请求,用户发送的数据存储请求携带有待存储数据。此外,云平台每间隔时间t,可以从各个存储节点获取各个存储节点在该周期t内的cpu占用率、内存使用率和网络资源使用率,以及等待被存储的任务数。

云平台在接收到数据存储请求时,首先计算当前周期内云平台各个存储节点存储待存储数据所需的最晚完成时长。

具体地,参照图3,步骤s10包括:

步骤s11,根据各个存储节点在当前周期内的可用资源和待存储数据的大小信息,计算各个存储节点存储所述待存储数据所需的存储时长;

云平台在接收到数据存储请求时,分别获取各个存储节点在当前周期内的cpu占用率、内存使用率和网络资源使用率,并获取待存储数据的大小信息。云平台可以根据该cpu占用率、内存使用率和网络资源使用率确定各个存储节点的可用资源,之后,根据各个存储节点的可用资源和待存储数据的大小信息计算各个存储节点存储待存储数据所需的存储时长。

步骤s12,根据各个存储节点在当前周期内等待被存储的任务数,计算各个存储节点的预等待时长;

其中,步骤s12可以包括:

步骤s120,确定云平台存储节点集群存储单个存储任务的平均时长;

步骤s121,根据所述存储单个存储任务的平均时长和各个存储节点在当前周期内等待被存储的任务数,计算各个存储节点的预等待时长。

云平台在接收到数据存储请求时,分别获取各个存储节点在当前周期内等待被存储的任务数。在本实施例中,云平台每间隔时间t,还可以接收到各个存储节点发送的已完成存储任务总数。云平台可以根据存储节点集群在当前周期之前各个周期内完成的存储任务总数,确定云平台存储节点集群存储单个存储任务的平均时长。基于云平台存储节点集群存储单个存储任务的平均时长和任意一个存储节点在当前周期内等待被存储的任务数,即可计算任意一个存储节点若存储当前待存储数据所需等待的时长,定义任意一个存储节点若存储当前待存储数据所需等待的时长为预等待时长,计算预等待时长的计算公式如下:

tw=mt

其中,tw表示预等待时长;

m表示任意一个存储节点的等待被存储的任务数;

t表示云平台存储节点集群存储单个存储任务的平均时长。

由此,针对每一个存储节点,基于云平台存储节点集群存储单个存储任务的平均时长和等待被存储的任务数,以及上述预等待时长的计算公式,可计算得到该存储节点的预等待时长,如此,即可得到各个存储节点对应的预等待时长。

步骤s13,根据各个存储节点的所述存储时长和预等待时长,计算各个存储节点存储待存储数据所需的最晚完成时长。

云平台在计算得到各个存储节点存储待存储数据所需的存储时长和预等待时长后,可以根据该存储时长和预等待时长,计算各个存储节点存储待存储数据所需的最晚完成时长。具体实施时,针对每一个存储节点,将其对应的存储时长和预等待时长进行加和计算,即可得到该存储节点存储待存储数据所需的最晚完成时长,由此,可得到各个存储节点存储待存储数据所需的最晚完成时长。

步骤s20,分别将各个存储节点的所述最晚完成时长与所述数据存储请求的预设截止时长进行比较,得到比对结果;

云平台在计算得到各个存储节点存储待存储数据所需的最晚完成时长之后,分别将各个存储节点存储待存储数据所需的最晚完成时长与数据存储请求的预设截止时长进行比较,得到比较结果。其中,数据存储请求的预设截止时长是由用户、用户终端系统或云平台预先设置的时间值,可以是数据存储请求的标准处理时长,该预设截止时长可以根据实际处理情况进行设置,当然,在实际设置过程中,不同类型的数据存储请求可对应设置不同的预设截止时长。

步骤s30,根据所述比较结果确定存储所述待存储数据的目标存储节点。

其中,继续参照图3,步骤s30,可以包括:

步骤s31,将所述最晚完成时长小于所述预设截止时长的各个存储节点确定为待选存储节点集合,并从所述待选任务节点集合中选取存储节点,作为存储所述待存储数据的目标存储节点。

云平台在得到比较结果后,将存储待存储数据所需的最晚完成时长小于数据存储请求的预设截止时长的各个存储节点,确定为待选存储节点集合,之后,从该待选任务节点集合中随机选择一个存储节点,作为存储待存储数据的目标存储节点。如此,实现对云平台存储节点资源的合理有效利用,能够保证云平台存储节点的负载均衡,提升云平台的性能,从而提高数据存储的速度,提升了用户体验。

本实施例在接收到数据存储请求时,计算当前周期内云平台各个存储节点存储待存储数据所需的最晚完成时长,然后分别将各个存储节点存储待存储数据所需的最晚完成时长与该数据存储请求的预设截止时长进行比较,得到比对结果,进而根据该比较结果确定存储该待存储数据的目标存储节点,通过上述方式,本方案依据预先设置的数据存储请求的截止时长,以及各个存储节点存储待存储数据所需的完成时长,确定存储待存储数据存储节点,能够合理利用云平台存储节点的资源,从而保证云平台存储节点的负载均衡,提升云平台的性能,进而提高数据存储的速度,提升了用户体验。

进一步地,参照图4,本发明云存储方法第二实施例提供一种云存储方法,基于上述图2和图3所示的实施例,步骤s120,可以包括:

步骤s1200,确定当前周期之前待计算的各个周期;

步骤s1201,获取云平台存储节点集群在所述待计算的各个周期内完成的存储任务总数;

步骤s1202,计算云平台存储节点集群在所述待计算的各个周期内的单个存储任务完成时长;

步骤s1203,计算所述单个存储任务完成时长的平均值,作为云平台存储节点集群存储单个存储任务的平均时长。

在本发明实施例中,为了计算各个存储节点的预等待时长,需确定云平台存储节点集群存储单个存储任务的平均时长。具体地,云平台每间隔时间t,可以接收到各个存储节点发送的已完成的存储任务总数。为了减少计算量,不影响云平台的性能,不必基于当前周期之前的所有周期,来确定云平台存储节点集群存储单个存储任务的平均时长,本发明实施例选取当前周期之前任意n个周期作为待计算的周期,且n≥2。针对待计算的周期中的任意一个周期ti,首先基于云平台存储节点集群在ti内完成的任务总数m,计算ti与m的比值,即得到云平台存储节点集群在ti内的单个存储任务完成时长ti,由此,可得到云平台存储节点集群在待计算的各个周期内的单个存储任务完成时长,然后计算待计算的各个周期内的单个存储任务完成时长的平均值,作为云平台存储节点集群存储单个存储任务的平均时长。

在本实施例中,基于当前周期之前各个周期内的完成的存储任务的总数,确定云平台存储节点集群存储单个存储任务的平均时长,由此可以计算各个存储节点的预等待时长。

进一步地,参照图5,本发明云存储方法第三实施例提供一种云存储方法,基于上述图2所示的实施例,步骤10之前,该云存储方法可以包括:

步骤s40,在接收到数据存储请求时,判断待存储数据是否存在关联待存储数据;

若待存储数据不存在关联待存储数据,则执行步骤s10,即计算当前周期内云平台各个存储节点存储待存储数据所需的最晚完成时长;

云平台在接收到数据存储请求时,可以基于发送数据存储请求的应用程序标识,判断该数据存储请求携带的待存储数据是否存在关联待存储数据。相同应用程序标识对应的数据存储请求所携带的待存储数据即为关联待存储数据。如果数据存储请求携带的待存储数据不存在关联待存储数据,则计算当前周期内云平台各个存储节点存储待存储数据所需的最晚完成时长,然后分别将各个存储节点存储待存储数据所需的最晚完成时长与该数据存储请求的预设截止时长进行比较,得到比对结果,进而根据该比较结果确定存储该待存储数据的目标存储节点。

步骤s50,若所述待存储数据存在关联待存储数据,则将所述待存储数据和关联待存储数据作为待存储数据组;

如果云平台判断待存储数据存在关联待存储数据,则将待存储数据与关联待存储数据作为待存储数据组。

步骤s60,分别计算各个存储节点存储所述待存储数据所需的第一最晚完成时长以及存储所述关联待存储数据所需的第二最晚完成时长;

之后,云平台分别计算各个存储节点存储所述待存储数据以及关联待存储数据所需的最晚完成时长,本实施例将各个存储节点存储待存储数据所需的最晚完成时长定义为第一最晚完成时长、将存储关联待存储数据所需的最晚完成时长定义为第二最晚完成时长。

步骤s70,分别将各个存储节点的所述第一最晚完成时长与对应数据存储请求的第一预设截止时长进行比较,并将所述第一最晚完成时长小于所述第一预设截止时长的存储节点确定为第一存储节点集合;

步骤s80,分别将各个存储节点的所述第二最晚完成时长与对应数据存储请求的第二预设截止时长进行比较,并将所述第二最晚完成时长小于所述第二预设截止时长的存储节点确定为第二存储节点集合;

进一步地,云平台分别将各个存储节点的第一最晚完成时长与对应数据存储请求的预设截止时长(定义为第一预设截止时长)进行比较,将第一最晚完成时长小于第一预设截止时长的存储节点确定为第一存储节点集合;云平台还分别将各个存储节点的第二最晚完成时长与对应数据存储请求的预设截止时长(定义为第二预设截止时长)进行比较,并将第二最晚完成时长小于第二预设截止时长的存储节点确定为第二存储节点集合。

步骤s90,根据所述第一存储节点集合和第二存储节点集合,确定存储所述待存储数据组的目标存储节点。其中,步骤s90,可以包括:步骤s91,将所述第一存储节点集合与第二存储节点集合的交集确定为待选存储节点集合,并从所述待选任务节点集合中选取存储节点,作为存储所述待存储数据组的目标存储节点。

云平台在确定基于待存储数据的第一存储节点集合和基于关联待存储数据的第二存储节点集合后,确定第一存储节点集合与第二存储节点集合的交集,作为待选存储节点集合,然后从待选存储节点集合中随机选择一个存储节点,作为存储所述待存储数据组的目标存储节点。

在本实施例中,将相同应用程序标识所发送的各个数据存储请求携带的待存储数据,作为一个待存储数据组存储至同一个存储节点,能够进一步提高数据存储的速度。

此外,本发明实施例还提出一种计算机可读存储介质,

本发明计算机可读存储介质上存储有云存储程序,所述云存储程序被处理器执行时实现如下操作:

在接收到数据存储请求时,计算当前周期内云平台各个存储节点存储待存储数据所需的最晚完成时长;

分别将各个存储节点的所述最晚完成时长与所述数据存储请求的预设截止时长进行比较,得到比对结果;

根据所述比较结果确定存储所述待存储数据的目标存储节点。

本发明计算机可读存储介质的具体实施例与上述云存储方法各实施例基本相同,在此不作赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1