融合存储上传对象的方法、装置、计算机设备及存储介质与流程

文档序号:37157880发布日期:2024-02-26 17:22阅读:15来源:国知局
融合存储上传对象的方法、装置、计算机设备及存储介质与流程

本发明涉及融合存储,具体涉及一种融合存储上传对象的方法、装置、计算机设备及存储介质。


背景技术:

1、传统的融合场景存储集群在通过s3(simple storage service,简单存储服务)协议上传对象时,不论对象的大小上传方式,上传步骤都是先将对象中的数据写入目的路径下的临时文件,对象的所有数据写入成功后,再将目的路径下的临时文件重命名为目的文件,然而,上传对象的过程往往会跨元数据服务器(metadata server,mds),跨元数据服务器进行重命名会耗费很长时间,大量的对临时文件的重命名请求会导致融合场景存储集群的性能很差,无法满足用户对于融合存储s3协议上传对象的性能要求。

2、另外,上述上传步骤不论对象的大小上传方式,都会生成临时文件,然而,部分上传方式在对象上传失败后,临时文件对用户来说就是垃圾数据。但是用户在进行对象查询时,这些垃圾数据都会作为查询结果被列举到,给用户带来不必要的困扰,用户需要进行手工删除操作。

3、因此,相关技术存在上传对象时,未考虑对象的大小和上传方式,采用的上传步骤单一的问题。


技术实现思路

1、有鉴于此,本发明提供了一种融合存储上传对象的方法、装置、计算机设备及存储介质,以解决上传对象时,未考虑对象的大小和上传方式,采用的上传步骤单一的问题。

2、第一方面,本发明提供了一种融合存储上传对象的方法,该方法包括:

3、获取待上传对象、待上传对象的上传方式以及目的路径;

4、在上传方式不是第一上传类型且不是第二上传类型的情况下,根据待上传对象的大小与预设阈值的比较情况,将待上传对象的数据写入第一写入对象,其中,第一写入对象是根据目的路径得到的;

5、在上传方式是第二上传类型的情况下,将待上传对象的数据追加写入目的路径下的已有文件;

6、在上传方式是第一上传类型的情况下,将待上传对象的数据写入目的路径下的第二写入对象。

7、本实施例提供的融合存储上传对象的方法,第二上传类型将待上传对象的数据追加写入目的路径下的已有文件,第一上传类型将待上传对象的数据写入目的路径下的第二写入对象,其他上传类型根据上传对象的大小与预设阈值的比较情况,将待上传对象的数据写入第一写入对象。在融合存储通过s3协议上传对象时,增加区分上传方式和对象大小的环节,保障融合存储s3协议上传对象的稳定性,避免垃圾数据产生。解决了相关技术存在上传对象时,未考虑对象的大小和上传方式,采用的上传步骤单一的问题。

8、在一种可选的实施方式中,根据待上传对象的大小与预设阈值的比较情况,将待上传对象的数据写入第一写入对象,包括:

9、如果待上传对象的大小确定小于或等于预设阈值,将待上传对象的数据写入目的路径下的目的文件,其中,目的文件是根据目的路径得到的,第一写入对象包含目的文件和第一临时文件;

10、如果待上传对象的大小确定大于预设阈值,在将待上传对象的数据写入目的路径下的第一临时文件后,获取目的文件名,并根据目的文件名调整第一临时文件。

11、在本实施方式中,在上传方式不是第一上传类型且不是第二上传类型的情况下,增加区分对象数据大小的环节,丰富了上传步骤,保障融合存储s3协议上传对象的稳定性,避免垃圾数据产生。

12、在一种可选的实施方式中,如果待上传对象的大小确定大于预设阈值,在将待上传对象的数据写入目的路径下的第一临时文件后,获取目的文件名,并根据目的文件名调整第一临时文件,包括:

13、如果待上传对象的大小确定大于预设阈值,根据目的路径和第一前缀,生成第一临时文件,并获取目的文件名,其中,第一前缀用于确定上传方式;

14、将待上传对象的数据写入目的路径下的第一临时文件,并判断待上传对象的所有数据是否成功写入第一临时文件;

15、如果待上传对象的所有数据成功写入第一临时文件,则将第一临时文件重命名为目的文件名,获取写入信息,并根据写入信息设置第一临时文件中待上传对象的第一元数据属性信息;

16、如果待上传对象的所有数据未成功写入第一临时文件,则删除第一临时文件。

17、在本实施方式中,在上传方式不是第一上传类型且不是第二上传类型的情况下,如果待上传对象的大小确定大于预设阈值,根据目的路径和第一前缀,生成第一临时文件,将待上传对象的数据写入目的路径下的第一临时文件,如果上传失败,则删除第一临时文件。既使本发明能够满足多种上传方式,又能自动删除因上传失败导致的垃圾数据,及时释放存储空间,减少对用户的信息干扰。

18、在一种可选的实施方式中,在上传方式是第二上传类型的情况下,将待上传对象的数据追加写入目的路径下的已有文件,包括:

19、在上传方式是第二上传类型的情况下,根据目的路径和目的文件名,确定目的路径下的已有文件;

20、将待上传对象的数据在已有文件尾进行追加写,并判断待上传对象的数据是否全部追加写成功;

21、在待上传对象的数据全部追加写成功的情况下,设置已有文件中待上传对象的第二元数据属性信息。

22、在本实施方式中,增加了区分上传方式的处理机制,在上传方式是第二上传类型的情况下,将待上传对象的数据在已有文件尾进行追加写,设置已有文件的第二元数据属性信息,实现了通过第二上传类型上传对象,提高s3协议对象写性能的稳定性。

23、在一种可选的实施方式中,在判断待上传对象的数据是否全部追加写成功之后,方法还包括:

24、在待上传对象的数据未全部追加写成功的情况下,确定当前追加写成功的第一数据,并保存第一数据;

25、设置已有文件中第一数据的第二元数据属性信息。

26、在本实施方式中,在待上传对象的数据未全部追加写成功的情况下,保存第一数据,设置已有文件中第一数据的第二元数据属性信息。使得用户能够确定哪些数据上传成功,减少对用户的信息干扰。

27、在一种可选的实施方式中,在上传方式是第一上传类型的情况下,将待上传对象的数据写入目的路径下的第二写入对象,包括:

28、根据目的路径和第二前缀,生成第二写入对象,并获取目的文件名,其中,第二前缀用于确定上传方式;

29、将待上传对象的数据按照预设大小,划分为第一数量个条带;

30、将条带写入目的路径下的第二写入对象,并判断条带是否全部成功写入第二写入对象;

31、如果条带全部成功写入第二写入对象,则将第二写入对象重命名为目的文件名,并设置第二写入对象中待上传对象的第三元数据属性信息;

32、如果条带未全部成功写入第二写入对象,将第二写入对象作为需保留临时文件,并保存需保留临时文件,其中,需保留临时文件用于断点续传。

33、在本实施方式中,增加了区分上传方式的处理机制,实现了通过第一上传类型上传对象,提高s3协议对象写性能的稳定性。如果条带未全部成功写入第二写入对象,将第二写入对象作为需保留临时文件,并保存需保留临时文件,便于后续断点续传。

34、在一种可选的实施方式中,如果待上传对象的大小确定小于或等于预设阈值,将待上传对象的数据写入目的路径下的目的文件,包括:

35、如果待上传对象的大小确定小于或等于预设阈值,根据目的路径,确定目的路径下的目的文件;

36、将待上传对象的数据直接写入目的文件,并判断待上传对象的数据是否全部成功写入目的文件;

37、如果待上传对象的数据全部成功写入目的文件,则设置目的文件中待上传对象的第一元数据属性信息。

38、在本实施方式中,在上传方式不是第一上传类型且不是第二上传类型的情况下,如果待上传对象的大小确定小于或等于预设阈值,将待上传对象的数据直接写入目的文件。完善了本发明区分对象数据大小的机制。

39、在一种可选的实施方式中,在判断待上传对象的数据是否全部成功写入目的文件之后,方法还包括:

40、如果待上传对象的数据未全部成功写入目的文件,确定当前成功写入目的文件的第二数据,并保存第二数据;

41、设置目的文件中第二数据的第一元数据属性信息。

42、在本实施方式中,待上传对象的数据未全部成功写入目的文件,保存第二数据,设置目的文件中第二数据的第一元数据属性信息。使得用户能够确定哪些数据上传成功,减少对用户的信息干扰。

43、第二方面,本发明提供了一种融合存储上传对象的装置,该装置包括:

44、获取模块,用于获取待上传对象、待上传对象的上传方式以及目的路径;

45、第一写入模块,用于在上传方式不是第一上传类型且不是第二上传类型的情况下,根据待上传对象的大小与预设阈值的比较情况,将待上传对象的数据写入第一写入对象,其中,第一写入对象是根据目的路径得到的;

46、第二写入模块,用于在上传方式是第二上传类型的情况下,将待上传对象的数据追加写入目的路径下的已有文件;

47、第三写入模块,用于在上传方式是第一上传类型的情况下,将待上传对象的数据写入目的路径下的第二写入对象。

48、第三方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的融合存储上传对象的方法。

49、第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的融合存储上传对象的方法。

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