1.一种对象存储方法,其特征在于,所述方法应用于分布式存储系统的网关中,所述分布式存储系统还包括至少一个存储节点,所述方法包括:接收客户端上传的数据上传请求,所述数据上传请求包括对象标识ID和对象大小K;
根据所述对象大小K和所述分布式存储系统中各在线存储节点的剩余存储空间,按照负载均衡方式确定各在线存储节点中用于存储所述对象标识ID对应的对象数据的对象分片大小,其中,所述在线存储节点中的所述对象分片大小之和为所述对象大小K;
控制待存储的所述对象标识ID对应的对象数据按照各在线存储节点的所述对象分片大小存储至各在线存储节点;
针对各个在线存储节点,获取所述在线存储节点存储所述对象分片的目标存储位置;
根据所述目标存储位置生成所述在线存储节点存储的对象分片的索引信息;
将所述索引信息发送至该在线存储节点中,以使得所述在线存储节点根据所述索引信息,在检测到针对存储的对象分片对应的对象数据的数据下载请求时,向所述网关返回该对象分片。
2.根据权利要求1所述的方法,其特征在于,所述根据所述对象大小K和所述分布式存储系统中各在线存储节点的剩余存储空间,按照负载均衡方式确定各在线存储节点中用于存储所述对象标识ID对应的对象数据的对象分片大小,包括:获取所述分布式存储系统中各在线存储节点的剩余存储空间;
针对每个在线存储节点,根据该在线存储节点的剩余存储空间以及所述分布式存储系统的总剩余空间计算该在线存储节点的剩余空间比例,并根据该在线存储节点的剩余空间比例以及所述对象大小K确定该在线存储节点中用于存储所述对象标识ID对应的对象数据的对象分片大小,其中,所述分布式存储系统的总剩余空间为各个在线存储节点的剩余存储空间之和。
3.根据权利要求2所述的方法,其特征在于,所述获取所述分布式存储系统中各在线存储节点的剩余存储空间,包括:获取各存储节点的状态信息,所述状态信息至少包括:在线标识、剩余存储空间,其中,当所述在线标识为第一值时表示所述存储节点在线,当所述在线标识为第二值时表示所述存储节点离线;
将所述状态信息中在线标识为第一值的各存储节点确定为在线存储节点;
从已获取的各在线存储节点的状态信息中获取各在线存储节点的剩余存储空间。
4.根据权利要求3所述的方法,其特征在于,所述获取各存储节点的状态信息,包括:对与所述分布式存储系统连接的Zookeeper集群进行监听,所述Zookeeper集群包括多个顺序节点,所述顺序节点与所述分布式存储系统中的存储节点一一对应,且存储对应的存储节点的状态信息;
当监听到所述顺序节点写入状态信息时,从该顺序节点中读取所述状态信息。
5.根据权利要求1所述的方法,其特征在于,所述数据上传请求还包括所述对象标识ID对应的对象数据,所述控制待存储的所述对象标识ID对应的对象数据按照各在线存储节点的所述对象分片大小存储至各在线存储节点,包括:将所述对象数据按照各在线存储节点的所述对象分片大小进行切分;
针对各在线存储节点,将切分得到的与该在线存储节点的对象分片大小对应的对象分片存储至该在线存储节点中。
6.根据权利要求1所述的方法,其特征在于,所述控制待存储的所述对象标识ID对应的对象数据按照各在线存储节点的所述对象分片大小存储至各在线存储节点,包括:将各在线存储节点对应的对象分片大小发送至客户端,以由所述客户端将所述对象标识ID对应的对象数据按照各在线存储节点的所述对象分片大小进行切分,得到各在线存储节点对应的对象分片;
接收所述客户端上传的各在线存储节点对应的对象分片,并将所述对象分片存储至对应的在线存储节点中。
7.根据权利要求5或6所述的方法,其特征在于,所述在线存储节点存储的对象分片的索引信息包括所述对象标识ID、所述对象大小K,所述在线存储节点存储对象分片的目标存储位置、对象分片大小、切片号、上一切片号对应的在线存储节点的标识以及下一切片号对应的在线存储节点的标识;其中,所述切片号通过所述在线存储节点对应的顺序节点的顺序确定。
8.根据权利要求7所述的方法,其特征在于,还包括:
接收客户端发送的数据下载请求,所述数据下载请求包括待下载的目标对象数据的目标对象标识;
从存储所述目标对象标识对应的对象分片的在线存储节点中下载所述对象分片;
按照所述切片号组合下载的对象分片得到目标对象数据,并将所述目标对象数据返回所述客户端。
9.一种对象存储装置,其特征在于,所述装置应用于分布式存储系统的网关中,所述分布式存储系统还包括至少一个存储节点,所述装置包括:数据上传请求接收模块,用于接收客户端上传的数据上传请求,所述数据上传请求包括对象标识ID和对象大小K;
对象分片大小确定模块,用于根据所述对象大小K和所述分布式存储系统中各在线存储节点的剩余存储空间,按照负载均衡方式确定各在线存储节点中用于存储所述对象标识ID对应的对象数据的对象分片大小,其中,所述在线存储节点中的所述对象分片大小之和为所述对象大小K;
对象存储模块,用于控制待存储的所述对象标识ID对应的对象数据按照各在线存储节点的所述对象分片大小存储至各在线存储节点;
目标存储位置确定模块,用于针对各个在线存储节点,获取所述在线存储节点存储所述对象分片的目标存储位置;
索引信息生成模块,用于根据所述目标存储位置生成所述在线存储节点存储的对象分片的索引信息;
索引信息发送模块,用于将所述索引信息发送至该在线存储节点中,以使得所述在线存储节点根据所述索引信息,在检测到针对存储的对象分片对应的对象数据的数据下载请求时,向所述网关返回该对象分片。
10.根据权利要求9所述的装置,其特征在于,所述对象分片大小确定模块包括:剩余存储空间获取子模块,用于获取所述分布式存储系统中各在线存储节点的剩余存储空间;
剩余空间比例计算子模块,用于针对每个在线存储节点,根据该在线存储节点的剩余存储空间以及所述分布式存储系统的总剩余空间计算该在线存储节点的剩余空间比例;
对象分片大小确定子模块,用于根据该在线存储节点的剩余空间比例以及所述对象大小K确定该在线存储节点中用于存储所述对象标识ID对应的对象数据的对象分片大小,其中,所述分布式存储系统的总剩余空间为各个在线存储节点的剩余存储空间之和。
11.根据权利要求10所述的装置,其特征在于,所述剩余存储空间获取子模块包括:状态信息获取单元,用于获取各存储节点的状态信息,所述状态信息至少包括:在线标识、剩余存储空间,其中,当所述在线标识为第一值时表示所述存储节点在线,当所述在线标识为第二值时表示所述存储节点离线;
在线存储节点确定单元,用于将所述状态信息中在线标识为第一值的各存储节点确定为在线存储节点;
剩余存储空间获取单元,用于从已获取的各在线存储节点的状态信息中获取各在线存储节点的剩余存储空间。
12.根据权利要求11所述的装置,其特征在于,所述状态信息获取单元具体用于:对与所述分布式存储系统连接的Zookeeper集群进行监听,所述Zookeeper集群包括多个顺序节点,所述顺序节点与所述分布式存储系统中的存储节点一一对应,且存储对应的存储节点的状态信息;
当监听到所述顺序节点写入状态信息时,从该顺序节点中读取所述状态信息。
13.根据权利要求9所述的装置,其特征在于,所述数据上传请求还包括所述对象标识ID对应的对象数据,所述对象存储模块具体用于:
将所述对象数据按照各在线存储节点的所述对象分片大小进行切分;
针对各在线存储节点,将切分得到的与该在线存储节点的对象分片大小对应的对象分片存储至该在线存储节点中。
14.根据权利要求9所述的装置,其特征在于,所述对象存储模块具体用于:将各在线存储节点对应的对象分片大小发送至客户端,以由所述客户端将所述对象标识ID对应的对象数据按照各在线存储节点的所述对象分片大小进行切分,得到各在线存储节点对应的对象分片;
接收所述客户端上传的各在线存储节点对应的对象分片,并将所述对象分片存储至对应的在线存储节点中。
15.根据权利要求13或14所述的装置,其特征在于,所述在线存储节点存储的对象分片的索引信息包括所述对象标识ID、所述对象大小K,所述在线存储节点存储对象分片的目标存储位置、对象分片大小、切片号、上一切片号对应的在线存储节点的标识以及下一切片号对应的在线存储节点的标识;其中,所述切片号通过所述在线存储节点对应的顺序节点的顺序确定。
16.根据权利要求15所述的装置,其特征在于,还包括:
下载请求接收模块,用于接收客户端发送的数据下载请求,所述数据下载请求包括待下载的目标对象数据的目标对象标识;
对象分片下载模块,用于从存储所述目标对象标识对应的对象分片的在线存储节点中下载所述对象分片;
对象分片组合模块,用于按照所述切片号组合下载的对象分片得到目标对象数据;
对象数据返回模块,用于将所述目标对象数据返回所述客户端。