CN107911461B - 云存储***中的对象处理方法、存储服务器及云存储*** - Google Patents

云存储***中的对象处理方法、存储服务器及云存储*** Download PDF

Info

Publication number
CN107911461B
CN107911461B CN201711194019.4A CN201711194019A CN107911461B CN 107911461 B CN107911461 B CN 107911461B CN 201711194019 A CN201711194019 A CN 201711194019A CN 107911461 B CN107911461 B CN 107911461B
Authority
CN
China
Prior art keywords
small object
target
storage
storage space
data table
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201711194019.4A
Other languages
English (en)
Other versions
CN107911461A (zh
Inventor
胡遥
于相洋
徐文松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wangsu Science and Technology Co Ltd
Original Assignee
Wangsu Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wangsu Science and Technology Co Ltd filed Critical Wangsu Science and Technology Co Ltd
Priority to CN201711194019.4A priority Critical patent/CN107911461B/zh
Publication of CN107911461A publication Critical patent/CN107911461A/zh
Application granted granted Critical
Publication of CN107911461B publication Critical patent/CN107911461B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种云存储***中的对象处理方法、存储服务器及云存储***,其中,所述方法包括:接收客户端发来的小对象存储请求;基于所述小对象存储请求,确定所述小对象对应的存储空间标识;其中,所述存储空间标识与数据表相关联;将所述小对象写入所述存储空间标识表征的存储空间中,并在所述数据表中更新所述小对象的存储信息。本申请提供的技术方案,能够在不增设缓存区域的情况下,提高小对象的存取效率。

Description

云存储***中的对象处理方法、存储服务器及云存储***
技术领域
本发明涉及云存储技术领域,特别涉及一种云存储***中的对象处理方法、存储服务器及云存储***。
背景技术
随着云存储技术的不断发展,用户越来越习惯于将图片、文档、视频、音频等小对象存储于云服务器中。例如,用户当前可以使用百度云盘、360云盘等进行小对象存储。如果用户想从云服务器中下载某个小对象,云服务器则需要花费较多的时间在众多的小对象中进行搜索,从而导致用户下载小对象时需要等待的时间较长。
目前,为了解决上述问题,通常可以采用如图1所示的云存储***架构。在图1中,云存储***可以由客户端、缓存区域、网关以及存储服务器构成。其中,用户的客户端向存储服务器上传的小对象可以预先存储于缓存区域中,当缓存区域中小对象的数据量达到预设的阈值之后,便可以将缓存区域中的小对象整合为一个大对象,并将该大对象上传至云服务器中。当用户的客户端需要读取某个小对象时,可以先从云服务器中将该小对象所属的大对象全部下载至缓存区域中,然后再从缓存区域中读取相应的小对象。由于在云服务器中是基于大对象进行搜索,因此搜索的次数明显减少,不仅能减少用户等待的时间,还可以减少云服务器的负载。
然而,现有技术中的这种方案会使得云存储***的结构变得复杂,而且非常依赖缓存区域的性能。在实际应用中,往往需要耗费相当大的成本去开设以及维护缓存区域。一旦缓存区域出现异常,会导致整个***陷入瘫痪。
发明内容
本申请的目的在于提供一种云存储***中的对象处理方法、存储服务器及云存储***,能够在不增设缓存区域的情况下,提高小对象的存取效率。
为实现上述目的,本申请一方面提供一种云存储***中的对象处理方法,所述方法包括:接收客户端发来的小对象存储请求;基于所述小对象存储请求,确定所述小对象对应的存储空间标识;其中,所述存储空间标识与数据表相关联;将所述小对象写入所述存储空间标识表征的存储空间中,并在所述数据表中更新所述小对象的存储信息。
为实现上述目的,本申请另一方面还提供一种云存储***中的网关,所述网关包括:存储请求接收单元,用于接收客户端发来的小对象存储请求;存储空间标识确定单元,用于基于所述小对象存储请求,确定所述小对象对应的存储空间标识;其中,所述存储空间标识与数据表相关联;小对象写入单元,用于将所述小对象写入所述存储空间标识表征的存储空间中,并在所述数据表中更新所述小对象的存储信息。
为实现上述目的,本申请另一方面还提供一种云存储***,所述云存储***包括客户端、网关以及存储服务器,所述存储服务器中具备存储空间以及与存储空间相关联的数据表,其中:所述客户端,用于通过所述网关向所述存储服务器发送小对象存储请求;所述网关,用于基于所述小对象存储请求,确定所述小对象对应的存储空间标识,并下发所述存储空间相关联的数据表信息,以及下发所述小对象的信息;所述存储服务器,用于接受所述网关下发的信息,将所述小对象写入所述存储空间中。
由上可见,本申请可以在存储服务器中存储存储空间,该存储空间中可以包括多个小对象。此外,在所述存储服务器中存储的存储空间可以与数据表相关联。所述数据表中可以记录小对象的标识、偏移量以及数据量等存储信息。这样,当存储服务器接收到客户端发来的小对象存储请求时,可以先确定待存储的小对象对应的存储空间标识,然后可以根据存储空间标识读取对应的数据表。根据数据表中记载的存储信息,从而可以在存储空间中确定出用于存储小对象的存储位置。这样,存储服务器便可以将小对象写入相应的存储位置处,同时可以在数据表中更新写入的小对象的存储信息,从而完成小对象存储的过程。后续在读取小对象时,同样可以先根据数据表,确定出对应的存储空间,然后再针对存储空间中的小对象进行相应的读取操作。本申请提供的技术方案,无需增设额外的缓存区域或者其它硬件设备,同时,在对小对象进行存取操作时,能够先针对存储空间进行搜索,减少了存储服务器的搜索次数。这样,本申请提供的技术方案,能够在不增设缓存区域的情况下,提高小对象的存取效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中云存储***的结构示意图;
图2是本发明实施例一中对象处理方法流程图;
图3是本发明实施例一中云存储***的结构示意图;
图4是本发明实施例一中哈希表的示意图;
图5是本发明实施例一中读取小对象的流程示意图;
图6是本发明实施例一中删除小对象的流程示意图;
图7是本发明实施例二中网关的功能模块图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
请参阅图2,本申请提供一种云存储***中的对象处理方法,所述方法包括以下步骤。
S1:接收客户端发来的小对象存储请求。
请一并参阅图3,在本实施方式中,所述云存储***可以包括客户端、网关以及存储服务器。其中,所述客户端可以是用户使用的终端设备。所述终端设备例如可以是台式电脑、笔记本电脑、平板电脑、智能手机、智能可穿戴设备、个人数字助手等电子设备。当然,所述客户端还可以是运行于上述电子设备中的软件。例如,所述客户端可以是云盘APP(Application,应用程序)。所述客户端发出的数据通常可以通过网关进行转发,通过所述网关,所述客户端可以与所述存储服务器进行数据交互。具体地,所述存储服务器可以是独立的服务器,也可以是服务器集群。例如,所述存储服务器可以是由多个服务器构成的分布式服务器集群。在所述存储服务器中,可以存储由客户端上传的小对象。
在本实施方式中,当所述客户端中有小对象需要上传时,所述客户端可以通过所述网关向所述存储服务器发送小对象存储请求。在所述小对象存储请求中,可以包括待上传的小对象的标识。所述小对象的标识可以是所述小对象的名称。此外,在所述小对象存储请求中包括所述小对象的数据量。这样,存储服务器在接收到所述小对象存储请求后,可以将所述小对象存储请求中包含的数据量与本地空闲的存储空间进行对比,当本地空闲的存储空间大于或者等于所述数据量时,存储服务器可以向客户端反馈确认上传的指示。当客户端接收到该指示后,便可以将所述小对象向所述存储服务器发送。
S3:基于所述小对象存储请求,确定所述小对象对应的存储空间标识;其中,所述存储空间标识与数据表相关联。
在本实施方式中,存储服务器中可以存储各个存储空间,所述存储空间中可以包括一个或者多个数据量较小的小对象。每个存储空间可以与数据表相关联。所述数据表中可以记录存储空间中包含的各个小对象的存储信息。
表1存储空间关联的数据示意表
头文件 小对象数量=4;删除小对象数量=2,可写入的偏移信息=400k
小对象1 偏移量=0;数据量=100k;删除标识=0
小对象2 偏移量=100k;数据量=100k;删除标识=1
小对象3 偏移量=200k;数据量=100k;删除标识=0
小对象4 偏移量=300k;数据量=100k;删除标识=1
请参阅表1,在所述数据表中,每个小对象的存储信息可以包括小对象名。所述小对象名例如可以是表1中的小对象1、小对象2、小对象3以及小对象4。其中,所述小对象名可以与偏移量、数据量、删除标识以及可写入的偏移信息相关联。其中,所述偏移量可以表征小对象在存储空间中所处的起始位置,所述数据量可以指小对象的数据量,所述删除标识可以用于表征所述小对象是否被删除,所述可写入的偏移信息可以表示下一个小对象在写入时对应的起始偏移量。其中,删除标识为1可以表明该小对象已经被删除,删除标识为0则表示该小对象未被删除。
此外,在所述数据表中还可以具备头文件,该头文件可以注明所述数据表中小对象的汇总信息。所述头文件可以具备小对象数量和删除小对象数量这两个方面。其中,所述小对象数量可以表示当前仍存在于所述数据表中的小对象的数量(无论该小对象的状态是否删除),所述删除小对象数量可以表示当前仍存在于所述数据表中状态为已被删除的小对象的数量。
在本实施方式中,存储空间的数据表可以与存储空间标识关联存储,这样,通过存储空间标识便可以快速查询到相关联的数据表。
请参阅图4,在本实施方式中,存储服务器中存储的存储空间的标识可以通过一致性哈希算法散列于哈希表中。这样,在所述哈希表中可以包括指定数量个存储空间标识。所述存储空间标识可以是存储空间的名称,也可以是用于表征存储空间名称的代码。例如,所述哈希表中可以包括232个存储空间标识。其中,每个存储空间标识可以与一定数量的小对象的标识相对应。具体地,存储服务器在接收到所述小对象存储请求后,可以从所述小对象存储请求中提取出待存储的小对象的标识。然后,可以通过一致性哈希算法将所述小对象的标识映射至哈希表中。这样,可以将所述小对象的标识在所述哈希表中映射得到的存储空间标识作为所述小对象对应的存储空间标识。例如,在图4中,file1这样的小对象标识在通过一致性哈希算法计算之后,可以对应于哈希表中的第232-1个存储空间标识。这样,第232-1个存储空间标识便可以是小对象名为file1的小对象对应的存储空间标识。也就是说,通过一致性哈希算法,可以将各个小对象归类于有限的存储空间中,从而可以对小对象进行合并处理。
S5:将所述小对象写入所述存储空间标识表征的存储空间中,并在所述数据表中更新所述小对象的存储信息。
在本实施方式中,在确定出待存储的小对象对应的存储空间标识之后,便可以基于所述存储空间标识关联的数据表,将所述待存储的小对象写入所述存储空间标识表征的存储空间中。具体地,所述数据表中可以包括所述存储空间的存储路径,在将所述待存储的小对象写入所述存储路径下时,可以读取所述存储空间标识关联的数据表中最后一个小对象的存储信息,并从所述最后一个小对象的存储信息中提取所述最后一个小对象对应的偏移量和数据量。以表1为例,在准备写入小对象时,可以读取当前最后一个小对象:小对象4,小对象4对应的偏移量为300k,数据量为100k。那么基于提取的所述偏移量和所述数据量,可以确定当前待写入的所述小对象对应的目标偏移量。例如,上述的偏移量300k表示小对象4的起始位置为300k,而小对象4的数据量为100k,那么下一个写入的小对象就应该从偏移量为400k的位置开始写入。这样,在确定出所述目标偏移量之后,可以在所述存储空间内,从所述目标偏移量开始,写入所述小对象。
此外,在本实施方式中,还可以从所述存储空间标识关联的数据表中读取头文件信息,以从所述头文件信息中获取所述小对象对应的偏移地址信息。然后,可以在所述存储空间内,从所述偏移地址信息对应的目标偏移量开始,写入所述小对象。
在本实施方式中,在将所述小对象写入所述存储空间标识表征的存储空间后,可以在所述数据表中更新所述小对象的存储信息。具体地,可以在所述数据表中记录所述小对象的标识,并将所述小对象对应的目标偏移量以及所述小对象的数据量与所述小对象的标识进行关联存储。例如,可以在表1中小对象4之后添加刚刚写入的小对象的标识,并将该小对象的目标偏移量400k以及数据量200k与该小对象的标识关联存储。当然,在实际应用中,还可以添加该小对象的删除标识为0,表示该小对象处于未删除状态。
在一个实施方式中,还可以提供从存储服务器中读取小对象的方法。具体地,请参阅图5,存储服务器可以接收所述客户端发来的小对象读取请求,所述小对象读取请求中可以包括目标小对象的标识。所述目标小对象便可以是待读取的小对象。这样,存储服务器在接收到该小对象读取请求后,可以确定所述目标小对象的标识对应的目标存储空间标识,并在所述目标存储空间内确定所述目标小对象对应的存储位置。在确定所述目标小对象的标识对应的目标存储空间标识时,同样可以采用一致性哈希算法,将所述目标小对象的标识映射至所述哈希表中,并将所述目标小对象的标识在所述哈希表中映射得到的存储空间标识作为所述目标存储空间标识。在确定出所述目标存储空间标识后,便可以读取所述目标存储空间标识关联的目标数据表,从而可以进一步地在所述目标数据表中确定与所述目标小对象的标识相关联的目标偏移量和目标数据量。例如,所述目标小对象对应的目标偏移量为400k,目标数据量为200k,那么所述目标偏移量便可以作为所述目标小对象在所述目标存储空间内所处的起始位置,而所述目标数据量则可以表示从该起始位置开始,连续200k的存储空间中均为所述目标小对象的数据。这样,在确定了所述目标小对象对应的存储位置后,便可以从所述存储位置处读取所述目标小对象。具体地,可以在所述目标存储空间内,从所述目标偏移量开始读取小对象,直至读取的小对象的数据量与所述目标数据量相同为止。
在一个实施方式中,还可以对存储服务器中的小对象进行删除操作。具体地,请参阅图6,存储服务器可以接收所述客户端发来的小对象删除请求,所述小对象删除请求中包括目标小对象的标识。所述目标小对象可以是待删除的小对象。同样地,根据所述目标的标识,可以通过一致性哈希算法确定所述目标小对象的标识对应的目标存储空间标识,并读取所述目标存储空间标识关联的目标数据表。在所述目标数据表中可以查询与所述目标小对象的标识相关联的状态标识,并将所述状态标识设置为删除状态。所述状态标识便可以是上述实施方式中的删除标识。当所述状态标识为0时,可以表示未删除状态;当所述状态标识为1时,可以表示删除状态。此外,在设置了小对象的状态标识后,需要更新数据表的头文件信息。具体地,可以在头文件信息中记录待删除的小对象的总数量。
在本实施方式中,为了避免频繁地对存储服务器执行删除小对象的操作,可以一次性地对多个需要删除的小对象执行删除操作。具体地,存储服务器可以检测所述目标数据表中状态标识为删除状态的小对象,并可以从目标数据表的头文件中读取待删除的小对象的数据量之和。当所述数据量之和大于或者等于指定阈值时,可以从所述目标存储空间中将检测到的所述小对象删除。在从存储空间中批量删除小对象后,可以同步地对存储空间的数据表进行更新。具体地,可以在所述目标数据表中将检测到的所述小对象的存储信息删除,并为所述目标数据表中剩余的存储信息重新设置偏移量。当然,在另一个实施方式中,可以读取所述目标数据表的头文件信息中状态标识为删除状态的小对象的个数,当所述个数大于或者等于指定阈值时,可以从所述目标存储空间中将检测到的所述小对象删除。然后,可以在所述目标数据表中将检测到的所述小对象的存储数据删除,并为所述目标数据表中剩余的存储数据重新设置偏移量,重新设置的所述偏移量用于指示所述目标数据表中小对象可写入的偏移地址信息。请参阅表2,表2可以是表1中删除存储信息之后的示意表。
表2删除存储信息后的示意表
头文件 小对象数量=2;删除小对象数量=0;可写入数据的偏移量=200K
小对象1 偏移量=0;数据量=100k;删除标识=0
小对象3 偏移量=100k;数据量=100k;删除标识=0
从表2中可以看出,删除标识为1的小对象2和小对象4的存储信息被删除,在删除之后,可以将小对象3的偏移量从200k调整为100k。
实施例二
请参阅图7,本申请还提供一种云存储***中的网关,所述网关包括:
存储请求接收单元100,用于接收客户端发来的小对象存储请求;
存储空间标识确定单元200,用于基于所述小对象存储请求,确定所述小对象对应的存储空间标识;其中,所述存储空间标识与数据表相关联;
小对象写入单元300,用于将所述小对象写入所述存储空间标识表征的存储空间中,并在所述数据表中更新所述小对象的存储信息。
在本实施方式中,所述网关还包括:
读取请求接收单元,用于接收所述客户端发来的小对象读取请求,所述小对象读取请求中包括目标小对象的标识;
存储位置确定单元,用于确定所述目标小对象的标识对应的目标存储空间标识,并在所述目标存储空间内确定所述目标小对象对应的存储位置;
读取单元,用于从所述存储位置处读取所述目标小对象。
在本实施方式中,所述存储位置确定单元包括:
目标数据表读取模块,用于读取所述目标存储空间标识关联的目标数据表;
存储信息确定模块,用于在所述目标数据表中确定与所述目标小对象的标识相关联的目标偏移量和目标数据量;
相应地,所述读取单元包括:
数据读取模块,用于在所述目标存储空间内,从所述目标偏移量开始读取小对象,直至读取的小对象的数据量与所述目标数据量相同为止。
在本实施方式中,所述网关还包括:
删除请求接收单元,用于接收所述客户端发来的小对象删除请求,所述小对象删除请求中包括目标小对象的标识;
目标数据表读取单元,用于确定所述目标小对象的标识对应的目标存储空间标识,并读取所述目标存储空间标识关联的目标数据表;
状态设置单元,用于在所述目标数据表中查询与所述目标小对象的标识相关联的状态标识,并将所述状态标识设置为删除状态。
在本实施方式中,所述网关还包括:
小对象删除单元,用于从目标数据表的头文件信息中读取待删除的小文件的数据量之和,当所述数据量之和大于或者等于指定阈值时,从所述目标存储空间中将待删除的小对象删除;
存储信息更新单元,用于在所述目标数据表中将待删除的小对象的存储信息删除,并为所述目标数据表中剩余的存储信息重新设置偏移量,重新设置的所述偏移量用于指示所述目标数据表中小对象可写入的偏移地址信息。
实施例三
请参阅图3,本申请还提供一种云存储***,所述云存储***包括客户端、网关以及存储服务器,所述存储服务器中具备存储空间以及与存储空间相关联的数据表,其中:
所述客户端,用于通过所述网关向所述存储服务器发送小对象存储请求;
所述网关,用于基于所述小对象存储请求,确定所述小对象对应的存储空间标识,并下发所述存储空间相关联的数据表信息,以及下发所述小对象的信息;
所述存储服务器,用于接受所述网关下发的信息,将所述小对象写入所述存储空间中。
本说明书中的各个实施方式均采用递进的方式描述,各个实施方式之间相同相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。尤其,针对网关和云存储***的实施方式来说,均可以参照前述方法的实施方式的介绍对照解释。
由上可见,本申请可以在存储服务器中存储存储空间,该存储空间中可以包括多个小对象。此外,在所述存储服务器中存储的存储空间可以与数据表相关联。所述数据表中可以记录小对象的标识、偏移量以及数据量等存储信息。这样,当存储服务器接收到客户端发来的小对象存储请求时,可以先确定待存储的小对象对应的存储空间标识,然后可以根据存储空间标识读取对应的数据表。根据数据表中记载的存储信息,从而可以在存储空间中确定出用于存储小对象的存储位置。这样,存储服务器便可以将小对象写入相应的存储位置处,同时可以在数据表中更新写入的小对象的存储信息,从而完成小对象存储的过程。后续在读取小对象时,同样可以先根据数据表,确定出对应的存储空间,然后再针对存储空间中的小对象进行相应的读取操作。本申请提供的技术方案,无需增设额外的缓存区域或者其它硬件设备,同时,在对小对象进行存取操作时,能够先针对存储空间进行搜索,减少了存储服务器的搜索次数。这样,本申请提供的技术方案,能够在不增设缓存区域的情况下,提高小对象的存取效率。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (15)

1.一种云存储***中的对象处理方法,其特征在于,所述方法应用于网关中,所述方法包括:
接收客户端发来的小对象存储请求;
基于所述小对象存储请求,确定所述小对象对应的存储空间标识;其中,所述存储空间标识与数据表相关联;
将所述小对象写入所述存储空间标识表征的存储空间中,并在所述数据表中更新所述小对象的存储信息;所述方法还包括:
接收所述客户端发来的小对象删除请求,所述小对象删除请求中包括目标小对象的标识;
确定所述目标小对象的标识对应的目标存储空间标识,并读取所述目标存储空间标识关联的目标数据表;
在所述目标数据表中查询与所述目标小对象的标识相关联的状态标识,并将所述状态标识设置为删除状态,并在所述数据表的头文件信息记录删除的小对象的个数。
2.根据权利要求1所述的方法,其特征在于,所述小对象存储请求中包括所述小对象的标识;
相应地,确定所述小对象对应的存储空间标识包括:
从所述小对象存储请求中提取所述小对象的标识,并将所述小对象的标识映射至哈希表中,所述哈希表中包括指定数量个存储空间标识;
将所述小对象的标识在所述哈希表中映射得到的存储空间标识作为所述小对象对应的存储空间标识。
3.根据权利要求1所述的方法,其特征在于,将所述小对象写入所述存储空间标识表征的存储空间中包括:
读取所述存储空间标识关联的数据表中最后一个小对象的存储信息,并从所述最后一个小对象的存储信息中提取所述最后一个小对象对应的偏移量和数据量;
基于提取的所述偏移量和所述数据量,确定当前待写入的所述小对象对应的目标偏移量;
在所述存储空间内,从所述目标偏移量开始,写入所述小对象。
4.根据权利要求1所述的方法,其特征在于,将所述小对象写入所述存储空间标识表征的存储空间中包括:
从所述存储空间标识关联的数据表中读取头文件信息,以从所述头文件信息中获取所述小对象对应的偏移地址信息;
在所述存储空间内,从所述偏移地址信息对应的目标偏移量开始,写入所述小对象。
5.根据权利要求3或4所述的方法,其特征在于,在所述数据表中更新所述小对象的存储信息包括:
在所述数据表中记录所述小对象的标识,并将所述小对象对应的目标偏移量以及所述小对象的数据量与所述小对象的标识进行关联存储,并更改所述数据表中小对象可写入的偏移地址信息。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述客户端发来的小对象读取请求,所述小对象读取请求中包括目标小对象的标识;
确定所述目标小对象的标识对应的目标存储空间标识,并在所述目标存储空间内确定所述目标小对象对应的存储位置;
从所述存储位置处读取所述目标小对象。
7.根据权利要求6所述的方法,其特征在于,在所述目标存储空间内确定所述目标小对象对应的存储位置包括:
读取所述目标存储空间标识关联的目标数据表;
在所述目标数据表中确定与所述目标小对象的标识相关联的目标偏移量和目标数据量;
相应地,从所述存储位置处读取所述目标小对象包括:
在所述目标存储空间内,从所述目标偏移量开始读取小对象,直至读取的小对象的数据量与所述目标数据量相同为止。
8.根据权利要求6所述的方法,其特征在于,确定所述目标小对象的标识对应的目标存储空间标识包括:
将所述目标小对象的标识映射至哈希表中;
将所述目标小对象的标识在所述哈希表中映射得到的存储空间标识作为所述目标存储空间标识。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
从目标数据表的头文件信息中读取待删除的小文件的数据量之和,当所述数据量之和大于或者等于指定阈值时,从所述目标存储空间中将待删除的小对象删除;
在所述目标数据表中将待删除的小对象的存储信息删除,并为所述目标数据表中剩余的存储信息重新设置偏移量,重新设置的所述偏移量用于指示所述目标数据表中小对象可写入的偏移地址信息。
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
读取所述目标数据表的头文件信息中状态标识为删除状态的小对象的个数;
当所述个数大于或者等于指定阈值时,从所述目标存储空间中将检测到的所述小对象删除;
在所述目标数据表中将检测到的所述小对象的存储数据删除,并为所述目标数据表中剩余的存储数据重新设置偏移量,重新设置的所述偏移量用于指示所述目标数据表中小对象可写入的偏移地址信息。
11.一种云存储***中的网关,其特征在于,所述网关包括:
存储请求接收单元,用于接收客户端发来的小对象存储请求;
存储空间标识确定单元,用于基于所述小对象存储请求,确定所述小对象对应的存储空间标识;其中,所述存储空间标识与数据表相关联;
小对象写入单元,用于将所述小对象写入所述存储空间标识表征的存储空间中,并在所述数据表中更新所述小对象的存储信息;
所述网关还包括:
删除请求接收单元,用于接收所述客户端发来的小对象删除请求,所述小对象删除请求中包括目标小对象的标识;
目标数据表读取单元,用于确定所述目标小对象的标识对应的目标存储空间标识,并读取所述目标存储空间标识关联的目标数据表;
状态设置单元,用于在所述目标数据表中查询与所述目标小对象的标识相关联的状态标识,并将所述状态标识设置为删除状态。
12.根据权利要求11所述的网关,其特征在于,所述网关还包括:
读取请求接收单元,用于接收所述客户端发来的小对象读取请求,所述小对象读取请求中包括目标小对象的标识;
存储位置确定单元,用于确定所述目标小对象的标识对应的目标存储空间标识,并在所述目标存储空间内确定所述目标小对象对应的存储位置;
读取单元,用于从所述存储位置处读取所述目标小对象。
13.根据权利要求12所述的网关,其特征在于,所述存储位置确定单元包括:
目标数据表读取模块,用于读取所述目标存储空间标识关联的目标数据表;
存储信息确定模块,用于在所述目标数据表中确定与所述目标小对象的标识相关联的目标偏移量和目标数据量;
相应地,所述读取单元包括:
数据读取模块,用于在所述目标存储空间内,从所述目标偏移量开始读取小对象,直至读取的小对象的数据量与所述目标数据量相同为止。
14.根据权利要求11所述的网关,其特征在于,所述网关还包括:
小对象删除单元,用于从目标数据表的头文件信息中读取待删除的小文件的数据量之和,当所述数据量之和大于或者等于指定阈值时,从所述目标存储空间中将待删除的小对象删除;
存储信息更新单元,用于在所述目标数据表中将待删除的小对象的存储信息删除,并为所述目标数据表中剩余的存储信息重新设置偏移量,重新设置的所述偏移量用于指示所述目标数据表中小对象可写入的偏移地址信息。
15.一种云存储***,其特征在于,所述云存储***包括客户端、网关以及存储服务器,所述存储服务器中具备存储空间以及与存储空间相关联的数据表,其中:
所述客户端,用于通过所述网关向所述存储服务器发送小对象存储请求;
所述网关,用于基于所述小对象存储请求,确定所述小对象对应的存储空间标识,并下发所述存储空间相关联的数据表信息,以及下发所述小对象的信息;
所述存储服务器,用于接收 所述网关下发的信息,将所述小对象写入所述存储空间中;
所述网关还用于:
接收所述客户端发来的小对象删除请求,所述小对象删除请求中包括目标小对象的标识;
确定所述目标小对象的标识对应的目标存储空间标识,并读取所述目标存储空间标识关联的目标数据表;
在所述目标数据表中查询与所述目标小对象的标识相关联的状态标识,并将所述状态标识设置为删除状态,并在所述数据表的头文件信息记录删除的小对象的个数。
CN201711194019.4A 2017-11-24 2017-11-24 云存储***中的对象处理方法、存储服务器及云存储*** Active CN107911461B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711194019.4A CN107911461B (zh) 2017-11-24 2017-11-24 云存储***中的对象处理方法、存储服务器及云存储***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711194019.4A CN107911461B (zh) 2017-11-24 2017-11-24 云存储***中的对象处理方法、存储服务器及云存储***

Publications (2)

Publication Number Publication Date
CN107911461A CN107911461A (zh) 2018-04-13
CN107911461B true CN107911461B (zh) 2021-05-07

Family

ID=61848233

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711194019.4A Active CN107911461B (zh) 2017-11-24 2017-11-24 云存储***中的对象处理方法、存储服务器及云存储***

Country Status (1)

Country Link
CN (1) CN107911461B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110392015B (zh) * 2018-04-17 2022-01-21 网宿科技股份有限公司 一种处理业务请求的方法和***
CN108769123B (zh) * 2018-04-27 2021-07-13 国信优易数据股份有限公司 一种数据***及数据处理方法
CN108733788B (zh) * 2018-05-11 2021-06-04 北京奇虎科技有限公司 一种闲置存储空间确认方法、装置及计算机存储介质
CN109067733B (zh) * 2018-07-27 2021-01-05 成都华为技术有限公司 发送数据的方法和装置,以及接收数据的方法和装置
CN108920725B (zh) * 2018-08-02 2020-08-04 网宿科技股份有限公司 一种对象存储的方法及对象存储网关
CN111339046B (zh) * 2020-02-26 2023-09-19 中国工商银行股份有限公司 针对文件的数据写入、读取和删除方法及装置
CN112637616B (zh) * 2020-12-08 2024-02-23 网宿科技股份有限公司 一种对象存储方法、***及服务器
CN113190175A (zh) * 2021-04-28 2021-07-30 杭州海康威视***技术有限公司 对象数据的处理方法、装置及设备
CN114063931B (zh) * 2021-11-26 2023-04-25 重庆科创职业学院 一种基于大数据的数据存储方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101038590A (zh) * 2007-04-13 2007-09-19 武汉大学 一种空间数据集群存储***及其数据查询方法
CN102281320A (zh) * 2011-04-25 2011-12-14 程旭 控制云存储中数据冗余的方法及装置
JP2014179748A (ja) * 2013-03-14 2014-09-25 Nec Corp データ転送システムおよびネットワーク負荷軽減方法
CN104615691A (zh) * 2015-01-24 2015-05-13 刘勇 一种移动终端及数据存储的方法
CN107066588A (zh) * 2017-04-17 2017-08-18 星环信息科技(上海)有限公司 一种数据库及相应的方法与设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140082125A1 (en) * 2012-04-25 2014-03-20 Bart P.E. van Coppenolle Method and system having collaborative network media appliances utilizing prioritized local storage of recommended content
CN103605778B (zh) * 2013-11-28 2017-02-15 中安消技术有限公司 一种视频文件的定位方法、装置及***
CN104754001A (zh) * 2013-12-30 2015-07-01 方正宽带网络服务股份有限公司 云存储***和数据存储方法
CN105100149A (zh) * 2014-05-13 2015-11-25 中国电信股份有限公司 用于管理文件的方法和***
CN106027615A (zh) * 2016-05-10 2016-10-12 乐视控股(北京)有限公司 对象存储方法和***

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101038590A (zh) * 2007-04-13 2007-09-19 武汉大学 一种空间数据集群存储***及其数据查询方法
CN102281320A (zh) * 2011-04-25 2011-12-14 程旭 控制云存储中数据冗余的方法及装置
JP2014179748A (ja) * 2013-03-14 2014-09-25 Nec Corp データ転送システムおよびネットワーク負荷軽減方法
CN104615691A (zh) * 2015-01-24 2015-05-13 刘勇 一种移动终端及数据存储的方法
CN107066588A (zh) * 2017-04-17 2017-08-18 星环信息科技(上海)有限公司 一种数据库及相应的方法与设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《数据存储管理技术研究与应用》;张秋菊;《信息技术与标准化》;20150610;70-73 *

Also Published As

Publication number Publication date
CN107911461A (zh) 2018-04-13

Similar Documents

Publication Publication Date Title
CN107911461B (zh) 云存储***中的对象处理方法、存储服务器及云存储***
US8886598B1 (en) Tag-based synchronization
US20140164487A1 (en) File saving system and method
WO2018121430A1 (zh) 文件存储和索引方法、装置、介质、设备及读取文件的方法
JP2017529625A (ja) 共有フォルダ及び共有ファイルの同期
US20130219050A1 (en) Cloud service access apparatus, cloud service access method, and cloud service access system
CN111198856B (zh) 文件管理方法、装置、计算机设备和存储介质
CN112714359B (zh) 视频推荐方法、装置、计算机设备及存储介质
JP2012089094A5 (zh)
CN105095300A (zh) 一种数据库备份方法及***
CN108255915B (zh) 一种文件管理方法、装置及机器可读存储介质
CN111400334B (zh) 数据处理方法、装置、存储介质及电子装置
CN104657401A (zh) 一种web缓存的更新方法
CN109885577B (zh) 数据处理方法、装置、终端及存储介质
WO2019062572A1 (zh) 一种数据处理方法、装置及***
CN107918527B (zh) 存储空间分配方法及装置以及文件存储方法及装置
CN105900093A (zh) 一种KeyValue数据库的数据表的更新方法与表数据更新装置
CN104035943B (zh) 存储数据的方法及相应服务器
CN109697019B (zh) 基于fat文件***的数据写入的方法和***
CN115840731A (zh) 文件处理方法、计算设备及计算机存储介质
CN116578746A (zh) 对象去重方法及装置
CN112463026A (zh) 分布式对象存储***中追加数据的重复删除的方法和设备
JP6788002B2 (ja) モバイル端末のためのデータ記憶方法及び装置
CN112286457B (zh) 对象重删方法、装置、电子设备及机器可读存储介质
CN107844483B (zh) 文件管理方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant