本申请涉及通信技术,尤其涉及一种基于对象存储的数据存储方法、装置、设备及存储介质。
背景技术:
1、随着物联网时代的到来,各行业都加快了数字化进程,生活和生产中产生的数据量,以及生产数据的价值,都在日益提升,并且,随着数字化的场景多样化,数据格式、数据也越来越多样化。传统的单机存储方式,受限于单机的硬件配置瓶颈,在存储数据量上升的过程中,会迅速遇到性能瓶颈。
2、在对象存储中,每个对象都位于被称为存储池的扁平的空间的相同层级,采用扁平的数据组织结构抛弃了嵌套的文件夹,不再需要维护庞大的目录树,因此对象存储中存储的对象超过上百万个,所允许的单位时间内的访问次数和并发访问量也达到了前所未有的量级。
3、在实际应用中,现有的基于对象存储的数据存储通常以业务服务模块为主导,对象存储服务模块仅作为一种存储服务的模块,提供基本的读写能力。所有数据的传输都须先与业务服务模块交互,业务服务模块完成权限的认证之后再由业务服务模块与对象存储服务模块交互,导致传输链路变长,增加网络开销,严重的情况下会造成网络阻塞,影响设备正常运行。
技术实现思路
1、本申请提供一种基于对象存储的数据存储方法、装置、设备及存储介质,用以解决数据存储过程中需要通过业务服务认证权限,导致传输链路变长,网络开销大的问题。
2、第一方面,本申请提供一种基于对象存储的数据存储方法,包括:
3、获取客户端的上传请求,所述上传请求包括目标数据及所述目标数据的存储路径;
4、从存储桶库中获取与所述存储路径对应的存储桶,确认所述存储桶为公有桶或私有桶,所述存储桶库包括至少一个客户端预先创建的存储桶;
5、若所述存储桶为公有桶,根据所述上传请求将目标数据存入所述存储桶;
6、若所述存储桶为私有桶,对所述客户端进行身份验证,并在身份验证通过后,根据所述上传请求将目标数据存入所述存储桶。
7、在一种可能的实施方式中,所述对所述客户端进行身份验证,包括
8、获取客户端的身份验证信息;
9、将所述身份验证信息发送至第三方鉴权代理,所述第三方鉴权代理用于根据所述身份验证信息判断所述客户端是否有操作所述私有桶的权限,并返回判断结果;
10、响应于所述判断结果,完成对所属客户端的身份验证。
11、在一种可能的实施方式中,所述存储桶包括至少一个逻辑集群,所述逻辑集群中包括若干个物理集群,根据所述上传请求将目标数据存入所述存储桶,包括
12、根据所述存储路径寻址到对应的目标逻辑集群;
13、通过哈希算法获取所述目标逻辑集群的可写入物理集群;
14、将所述目标数据存入所述可写入物理集群中。
15、在一种可能的实施方式中,获取客户端的上传请求之前,还包括:
16、根据客户端的认证信息识别所述客户端是否为新客户端,所述认证信息包括互联网协议地址和域名;
17、若是,自动创建第一存储桶,并绑定所述新客户端和所述第一存储桶;
18、将所述第一存储桶存入存储桶库中,保存所述新客户端的认证信息。
19、在一种可能的实施方式中,所述目标数据包括数据信息量,在根据所述上传请求将目标数据存入所述存储桶之前,还包括:
20、判断所述存储桶是否需要扩容;
21、若是,将所述目标数据写入扩容后的存储桶。
22、在一种可能的实施方式中,所述判断所述存储桶是否需要扩容,包括:
23、获取所述存储桶的剩余容量,判断所述剩余容量是否大于所述数据信息量;
24、若是,确认所述存储桶不需要扩容;
25、若否,确认所述存储桶需要扩容。
26、在一种可能的实施方式中,将所述目标数据写入扩容后的存储桶,包括:
27、在所述存储桶中添加目标物理集群;
28、将所述目标数据存入目标物理集群中。
29、第二方面,本申请提供一种基于对象存储的数据存储装置,包括:
30、客户端接入模块,用于获取客户端的上传请求,所述上传请求包括目标数据及所述目标数据的存储路径;
31、连接模块,用于从存储桶库中获取与所述存储路径对应的存储桶,确认所述存储桶为公有桶或私有桶,所述存储桶库包括至少一个客户端预先创建的存储桶;
32、存储模块,用于在所述存储桶为公有桶时,根据所述上传请求将目标数据存入所述存储桶,在所述存储桶为私有桶时,对所述客户端进行身份验证,并在身份验证通过后,根据所述上传请求将目标数据存入所述存储桶。
33、第三方面,本申请提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机执行指令,所述处理器执行所述计算机执行指令时实现上述第一方面中任一项所述的基于对象存储的数据存储方法。
34、第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一项所述的基于对象存储的数据存储方法。
35、本申请提供的基于对象存储的数据存储方法、装置、设备及存储介质,该方法通过获取客户端的上传请求,所述上传请求包括目标数据及所述目标数据的存储路径,从存储桶库中获取与所述存储路径对应的存储桶,确认所述存储桶为公有桶或私有桶,若所述存储桶为公有桶,则直接根据所述上传请求将目标数据存入所述存储桶,若所述存储桶为私有桶,则进行数据存储前先对客户端进行鉴权;通过对象存储服务模块直接查询与存储路径对应的存储桶,再判断是否需要鉴权,避免了每一次数据存储都要先经过业务服务模块鉴权,再由业务服务模块和与对象存储服务模块交互,缩短了传输链路。
1.一种基于对象存储的数据存储方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述对所述客户端进行身份验证,包括
3.根据权利要求1所述的方法,其特征在于,所述存储桶包括至少一个逻辑集群,所述逻辑集群中包括若干个物理集群,根据所述上传请求将目标数据存入所述存储桶,包括
4.根据权利要求1所述的方法,其特征在于,获取客户端的上传请求之前,还包括:
5.根据权利要求1所述的方法,其特征在于,所述目标数据包括数据信息量,在根据所述上传请求将目标数据存入所述存储桶之前,还包括:
6.根据权利要求5所述的方法,其特征在于,所述判断所述存储桶是否需要扩容,包括:
7.根据权利要求5所述的方法,其特征在于,将所述目标数据写入扩容后的存储桶,包括:
8.一种基于对象存储的数据存储装置,包括:
9.一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至7任一项所述的基于对象存储的数据存储方法。