CN109067733A - 发送数据的方法和装置,以及接收数据的方法和装置 - Google Patents
发送数据的方法和装置,以及接收数据的方法和装置 Download PDFInfo
- Publication number
- CN109067733A CN109067733A CN201810844624.XA CN201810844624A CN109067733A CN 109067733 A CN109067733 A CN 109067733A CN 201810844624 A CN201810844624 A CN 201810844624A CN 109067733 A CN109067733 A CN 109067733A
- Authority
- CN
- China
- Prior art keywords
- small object
- blob
- multiple small
- data
- server
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 98
- 238000012545 processing Methods 0.000 claims abstract description 41
- 238000005538 encapsulation Methods 0.000 claims description 27
- 230000005540 biological transmission Effects 0.000 claims description 25
- 238000004891 communication Methods 0.000 claims description 22
- 230000004044 response Effects 0.000 claims description 22
- 230000002085 persistent effect Effects 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 13
- 238000012546 transfer Methods 0.000 claims description 9
- 230000005055 memory storage Effects 0.000 claims 4
- 230000008569 process Effects 0.000 abstract description 27
- 230000006870 function Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 14
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000002688 persistence Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 241000406668 Loxodonta cyclotis Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种发送数据的方法和装置,以及一种接收数据的方法和装置。首先将待上传的多个数据量较小的对象进行封装处理,生成一个数据量较大的对象,即,大对象,随后通过客户端与S3服务器之间的连接向S3服务器发送该大对象,由于多个小对象作为一个整体(即,大对象)上传,因此,在上传该多个小对象的过程从无需再重复发送S3请求,从而提高了S3统系中上传数据的效率。
Description
技术领域
本申请涉及存储领域,尤其涉及一种发送数据的方法和装置,以及一种接收数据的方法和装置。
背景技术
简单存储服务(simple storage service,S3)是亚马逊提供的在线存储服务系统,解决了用户自己建存储系统面临的建设和维护成本高、存储可靠性低等问题,用户通过亚马逊提供的服务接口就可以将任意类型的文件临时或永久地保存在S3服务器上。
S3系统涉及三个基本概念:桶(bucket)、对象(object)和键(key)。桶的作用类似于文件夹,用于存储对象。对象是S3系统的基本存储单元,包含数据和元数据(metadata),其中,元数据是一种特殊的数据,用来描述上述对象中包含的数据,为了便于理解,以下,若无特别声明,本申请所述的“数据”均不包含对象中的元数据。元数据存储的是数据的附加描述信息,这些信息可以是系统默认定义的系统元数据(system metadata),也可以是自动以的用户元数据(user metadata),元数据通常与它所关联的数据同时存在,不会单独存在。键是对象的标识(identifier,ID),每个对象仅有一个键,桶、键和版本ID能够唯一确定一个对象。
目前,用户将数据上传至S3服务器的流程如下:
客户端与S3服务器建立连接,即S3连接;
客户端读取本地存储的对象;
构建S3请求,通过超文本传输协议(hyper text transfer protocol,HTTP)将对象传输至S3服务器。
由于客户端与S3服务器之间的连接只能串行处理文件,因此,该连接大多数时间都处于空间状态,如何提高S3系统中上传数据的效率是当前亟需解决的问题。
发明内容
本申请提供一种发送数据的方法和装置,首先将待上传的多个数据量较小的对象进行封装处理,生成一个数据量较大的对象,即,大对象,随后通过客户端与S3服务器之间的连接向S3服务器发送该大对象,由于多个小对象作为一个整体(即,大对象)上传,因此,在上传该多个小对象的过程从无需再重复发送S3请求,从而提高了S3统系中上传数据的效率。
第一方面,提供了一种发送数据的方法,其特征在于,应用于对象存储系统,包括:获取待上传的多个小对象,该小对象为数据量小于或等于第一数据量阈值的对象;对多个小对象执行封装处理生成大对象,大对象包括多个小对象;向服务器发送S3请求,S3请求用于请求上传大对象;从服务器接收S3请求的响应消息,响应消息用于指示开始上传大对象;向所述服务器发送所述大对象。
上述实施例可以由客户端执行,由于多个小对象作为一个整体(即,大对象)上传,因此,客户端在上传该多个小对象的过程从无需再重复发送S3请求,从而提高了S3统系中上传数据的效率。此外,由于客户端通过封装处理将多个小对象聚合在一起,并未对小对象中的数据做进一步处理(例如,将多个小对象中的数据提取出来做融合处理),因此,上述实施例进一步提高了上传效率。
可选地,对多个小对象执行封装处理生成大对象,包括:当多个小对象的生成时间属于预设的时间区间时,对多个小对象执行封装处理生成所述大对象。
预设的时间区间例如是一个自然日对应的24小时,把在预设的时间区间内生成的多个小对象封装在一起发送至服务器,有利于服务器对该多个小对象进行管理,提高服务器的效率。
可选地,对多个小对象执行封装处理生成大对象,包括:当多个小对象封装后的数据总量小于或等于第二数据量阈值时,对多个小对象执行封装处理生成大对象。
上述实施例可以避免因大对象的数据量过大导致上传失败的情况。
可选地,所述大对象还包括对象头,对象头包括多个小对象中每个小对象的对象名、生成时间、消息摘要算法5的值、长度以及在大对象中的偏移量中的至少一个信息。
上述信息有利于服务器对多个小对象进行分类管理,提高服务器的效率。
可选地,向服务器发送S3请求之前,所述方法还包括:建立与服务器之间的HTTP连接,该HTTP连接用于传输大对象,该HTTP连接为长连接。
长连接即对象上传之后不会立即断开的连接,当上述大对象上传完成后,若后续还有待上传的对象,则客户端可以直接发送S3请求,无需再重新建立HTTP连接,从而减少了上传数据的开销,并且,提高了上传数据的效率。
第二方面,提供了一种接收数据的方法,应用于对象存储系统,包括:从客户端接收S3请求,S3请求用于请求上传大对象,该大对象封装有多个小对象,小对象为数据量小于或等于数据量阈值的对象;向客户端发送S3请求的响应消息,响应消息用于指示开始上传大对象;从客户端接收大对象。
上述实施例可以由服务器执行,由于多个小对象作为一个整体(即,大对象)上传,因此,服务器在接收该多个小对象的过程从无需再重复发送S3请求的响应消息,从而提高了S3统系中上传数据的效率。此外,由于客户端通过封装处理将多个小对象聚合在一起,并未对小对象中的数据做进一步处理(例如,将多个小对象中的数据提取出来做融合处理),因此,上述实施例进一步提高了上传效率。
可选地,所述方法还包括:将多个小对象存储至对象存储系统的持久层,并且,多个小对象的存储空间为连续的存储空间;将多个小对象中每个小对象对应的元数据存储至对象存储系统的索引层。
服务器接收到多个小对象后,将该多个小对象存储至连续的存储空间,有利于管理该多个小对象。
可选地,将多个小对象存储至对象存储系统的持久层,包括:将多个小对象中生成时间或上传时间属于预设的时间区间的小对象存储至持久层中连续的存储空间。
预设的时间区间例如是一个自然日对应的24小时,把在预设的时间区间内生成的多个小对象存储在连续的存储空间,有利于服务器对该多个小对象进行管理,提高服务器的效率。
可选地,元数据用于指示小对象的生成时间或上传时间,所述方法还包括:扫描多个小对象的元数据,确定多个小对象的生成时间或上传时间;当多个小对象中的第一小对象的生成时间或上传时间属于过期时间区间时,删除第一小对象。
第一小对象为上述多个小对象中任意一个过期的小对象,服务器可以通过扫描小对象的元数据确定小对象的生成时间或上传时间,当其中的一些小对象属于过期对象时,删除过期对象,从而可以提高服务器的存储空间的利用率。
可选地,所述当多个小对象中的第一小对象的生成时间属于过期时间区间时,删除第一小对象,包括:当持久层的空间利用率小于或等于空间利用率阈值时,并且,当多个小对象中的第一小对象的生成时间属于过期时间区间时,删除第一小对象。
服务器可以先将过期的的小对象打上过期标签,当持久层的存储空间利用率小于或等于空间利用率阈值时,再删除过期的小对象,可以在提高服务器的存储空间的利用率的同时为用户提供更好的服务。
可选地,所述大对象还包括对象头,对象头包括多个小对象中每个小对象的对象名、生成时间、消息摘要算法5的值、长度以及在大对象中的偏移量中的至少一个信息。
服务器可以根据上述信息对多个小对象进行分类管理,提高服务器的效率。
可选地,从客户端接收S3请求之前,所述方法还包括:建立与服务器之间的HTTP连接,该HTTP连接用于传输所述大对象,该HTTP连接为长连接。
长连接即对象上传之后不会立即断开的连接,当上述大对象上传完成后,若后续还有待上传的对象,则客户端可以直接发送S3请求,无需再重新建立HTTP连接,从而减少了上传数据的开销,并且,提高了上传数据的效率。
第三方面,提供了一种发送数据的装置,该装置可以实现上述第一方面所涉及的方法中各个步骤所对应的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的单元或模块。
在一种可能的设计中,该装置包括处理器,该处理器被配置为支持该装置执行上述第一方面所涉及的方法中相应的功能。该装置还可以包括存储器,该存储器用于与处理器耦合,其保存该装置必要的程序指令和数据。该装置还包括通信接口,该通信接口用于支持该装置与其它网元之间的通信。
第四方面,提供了一种接收数据的装置,该装置可以实现上述第二方面所涉及的方法中各个步骤所对应的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的单元或模块。
在一种可能的设计中,该装置包括处理器,该处理器被配置为支持该装置执行上述第二方面所涉及的方法中相应的功能。该装置还可以包括存储器,该存储器用于与处理器耦合,其保存该装置必要的程序指令和数据。该装置还包括通信接口,该通信接口用于支持该装置与其它网元之间的通信。
第五方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储了计算机程序代码,该计算机程序代码被处理单元或处理器执行时,使得发送数据的装置执行第一方面所述的方法。
第六方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储了计算机程序代码,该计算机程序代码被处理单元或处理器执行时,使得接收数据的装置执行第二方面所述的方法。
第七方面,提供了一种芯片,其中存储有指令,当其在发送数据的装置上运行时,使得该芯片执行上述第一方面的方法。
第八方面,提供了一种芯片,其中存储有指令,当其在接收数据的装置上运行时,使得该芯片执行上述第二方面的方法。
第九方面,提供了一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码被上传数据的装置的处理单元或处理器运行时,使得发送数据的装置执行上述第一方面的方法。
第十方面,提供了一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码被上传数据的装置的处理单元或处理器运行时,使得接收数据的装置执行上述第二方面的方法。
附图说明
图1是一种适用于本申请的对象存储系统的示意图;
图2是本申请提供的一种基于对象存储系统的上传数据的方法的示意性流程图;
图3是本申请提供的一种大对象结构的示意图;
图4是本申请提供的一种元数据结构的示意图;
图5是本申请提供的一种基于对象存储系统的下载数据的方法的示意性流程图;
图6是本申请提供的一种发送数据的装置的示意性结构图;
图7是本申请提供的另一种发送数据的装置的示意性结构图;
图8是本申请提供的一种接收数据的装置的示意性结构图;
图9是本申请提供的另一种接收数据的装置的示意性结构图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
图1示出了适用于本申请的对象存储系统(object storage system)的示意图。
该对象存储系统包括客户端(client)110以及服务器端,其中,服务器端包括负载均衡层(load balance layer)120、对象服务层(object service layer)130、持久层(persistence layer)140和索引层(index layer)150。上述每个层由一个或多个服务器组成,例如,负载均衡层120包括负载均衡服务器(load balance server)121,对象服务层包括对象服务服务器(object service server)131、对象服务服务器132和对象服务服务器133。
其中,持久层140是由多个服务器组成的集群存储池,每个服务器配置多块硬盘,提供数据持久化和冗余保护能力。持久层140中不同服务器上的硬盘被组合为一个逻辑连续的资源池(plog),对象服务层130和索引层150均可以读写这个plog。
索引层150用于存储元数据,提供索引能力。
当客户端110需要上传数据时,客户端110通过内网或者公网向负载均衡服务器121发送S3请求,该S3请求指示客户端110需要写入对象(即,需要上传对象),或者,该S3请求指示客户端110需要读取对象。
负载均衡服务器121可以根据对象服务层130中各服务器的负载情况将该S3请求分配给一个或多个服务器,例如,当前对象服务器131负载较小,负载均衡服务器121将该S3请求分配给对象服务器131,
若该S3请求指示客户端110需要写入对象,则对象服务器131收到该对象后,将该对象的数据部分存储至持久层140,随后将该对象的元数据存储至索引层150。
若该S3请求指示客户端110需要读取对象,则对象服务器131首先根据从索引层150中查找该S3请求所指示的元数据,随后根据该元数据中记录的数据布局,从持久层140中读取该元数据对应的对象数据。
下面,将详细描述本申请提供的基于上述对象存储系统的发送数据的方法和接收数据的方法。
如图2所示,客户端110所执行的流程如下:
C1:建立与图1所示的服务器端之间的HTTP连接,该HTTP连接用于上传对象,可选地,为了减少建立连接的开销,该HTTP连接为长连接,即,当一个对象上传完成后,客户端110不断开该HTTP连接,继续利用该HTTP连接发送S3请求,请求上传另一个对象。
C2:读取多个小对象。
在本申请中,小对象指的是数据量小于或等于第一数据量阈值的对象,第一数据量阈值例如是128KB,若客户端110获取的对象小于128KB,则确定该对象为小对象,执行步骤C4,将多个小对象封装为大对象之后发送S3请求;将若客户端110获得的对象大于128KB,则可以直接发送S3请求,请求上传该对象。
C3:计算每个小对象的消息摘要算法(message digest algorithm,MD)5的值,MD5值用于服务器端校验接收到的小对象所包含的信息是否完整。
C4:在内存中将上述多个小对象封装为大对象。可选地,该大对象包括对象头(head),对象头中记录了每个小对象的对象名、产生时间、MD5值,以及每个小对象在大对象中的位移(offset)和长度(length)。
作为一个可选的示例,客户端110在对N(N为大于1的正整数)个小对象执行封装处理前,首先计算封装后的大对象的数据量,若封装后的大对象的数据量超过了第二数据量阈值,则客户端110可以减小N的值,若封装后的大对象的数据量未超过第二数据量阈值,则客户端110可以继续对该N个小对象执行封装处理。第二数据量阈值可以是根据连接承载能力设定的值。
图3示出了本申请提供的一种客户端生成的大对象的结构示意图。
客户端110获取三个小对象,分别为obj1、obj2和obj3,将该三个小对象封装为一个大对象,该大对象的封装格式符合HTTP连接的传输要求,其中,大对象除了包含obj1、obj2和obj3外,还包含对象头,对象头中包含每个小对象的描述信息,即,obj1.desc、obj2.desc和obj3.desc,例如,obj1的描述信息中包含obj1的路径名称(obj1.name)、obj1的MD5值(obj1.md5)、obj1的生成日期(obj1.date)、obj1在大对象中相对于对象头的偏移量(obj1.offset)以及obj1的长度(obj1.length)。
上述大对象的结构示意图仅是举例说明,大对象的封装格式还可以是其它满足客户端110与服务器端的连接的传输需求的格式,对象头还可以包含更多类型的信息或者更少类型的信息。
在本申请中,客户端110通过在内存中对多个小对象执行封装处理,不改变多个小对象的数据结构,也不会对多个小对象进行加密处理或者其它处理,仅仅将多个小对象封装为满足客户端110与服务器端的连接的传输需求的数据包,这样不仅提高了客户端110的上传效率,还便于服务器端从大对象中获取多个小对象。
C5:向服务器端发送S3请求,请求上传大对象。
C6:从服务器端接收该S3请求的响应消息,该响应消息指示客户端110开始上传大对象。
C7:根据响应消息向服务器端发送大对象。
C8:该大对象上传完成后,若客户端110还有待上传的对象,则客户端110继续执行步骤C2;若客户端110没有需要上传的对象,则执行步骤C9。
C9:断开HTTP连接,结束。
由上述流程可知,客户端110通过将多个小对象聚合为一个大对象,再将该大对象发送至服务器端,仅需发送一次S3请求即可将多个小对象上传至服务器端,相比于现有技术中客户端每发送一个小对象均需发送一次S3请求的方法,本申请提供的上述流程减小了信息开销,提高了对象存储系统中上传数据的效率。
服务器端所执行的流程如下:
S1:建立与客户端110之间的HTTP连接。该HTTP连接用于上传对象,可选地,为了减少建立连接的开销,该HTTP连接为长连接,即,当一个对象上传完成后,服务器端不断开该HTTP连接,继续利用该HTTP连接接收S3请求,以及接收客户端110上传另一个对象。
S2:接收S3请求,该S3请求用于请求上传大对象。
S3:向客户端110发送响应消息,该响应消息指示客户端110开始上传大对象。
S4:从客户端110接收大对象。
S5:校验小对象的数据完整性。例如,根据对象头中的描述信息确定每个小对象在大对象中的位置,计算每个小对象的MD5值,若MD5值校验通过,则说明小对象的数据是完整的,若MD5至校验未通过,则说明小对象的数据是不完整的。
S6:将多个小对象写入持久层,可选地,将该多个小对象写入持久层140的plog,即,将多个小数据写入连续的存储空间。
属于一个大对象的多个小对象通常具有一定的关联性,例如,具有相同的生成时间,将属于一个大对象的多个小对象写入连续的存储空间有利于服务器端的管理工作。
可选地,服务器端读取每个小对象的元数据,确定每个小对象的生成时间或上传时间,将生成时间或上传时间属于同一个时间区间的小对象存储至连续的存储空间,该时间区间可以是预先设定的区间。
上述示例仅是举例说明,服务器端还可以依据其它方式将接收到的多个小对象进行分类,并将同类型的小对象存储至连续的存储空间。
S7:从大对象的对象头解析出小对象的元数据,并将该元数据存储至索引层150。
图4示出了本申请提供的一种服务器端存储的元数据的结构示意图。
以obj1为例,服务器端从接收到的大对象中解析出obj1的元数据后,将obj1在服务器端的布局信息(obj1.layout)写入元数据,并删除一些无用的信息,例如,obj1.offset和obj1.len。
obj1.layout包括存储obj1的plog的标识(plogid)、obj1相对于该plog的起始位置的偏移量(offset)以及obj1的数据长度(length),obj1的数据长度用于指示obj1所占据的比特数。
图4所示的元数据的结构示意图仅是举例说明,服务器端还可以在小对象的元数据中添加更多的描述信息。
S8:上述大对象上传完成后,若客户端110还有待上传的对象,则服务器端继续执行步骤S2;若客户端110没有需要上传的对象,则执行步骤S9。
S9:断开HTTP连接,结束。
由上述流程可知,服务器端通过接收包含多个小对象的大对象,仅需接收一次S3请求即可接收多个小对象,相比于现有技术中服务器端每接收一个小对象均需接收一次S3请求的方法,本申请提供的上述流程减小了信息开销,提高了对象存储系统中上传数据的效率。
基于提高输入输出(input/output,I/O)性能的需求,服务器端在存储数据时需要对数据执行对齐处理,例如,服务器端的最小存储单元为128KB,若服务器端仅接收到一个80K的小对象,则该小对象将占据128KB的存储空间,从而造成了存储资源的浪费。此外,基于提高可靠性的需求,服务器端往往需要对一个数据做多个备份存储至不同的磁盘上,例如,对一个80K的小对象做3个备份,则上述存储资源的浪费情况将被放大3倍。
根据图2所示的方法,服务器端接收到的大对象为多个小对象的集合,例如,服务器接收到3个80KB的小对象,则该3个80KB的小对象仅需两个128KB的存储空间,而现有技术需要3个128KB的存储空间才能够存储3个80KB的小对象,因此,本申请提供的上传数据的方法能够提高服务器端的存储资源的利用率。
服务器端在存储小对象的过程中,可以定期或者不定期地扫描小对象的元数据,获取小对象的生成时间或者上传时间,若小对象的生成时间或者上传时间属于过期时间区间,则服务器端可以直接删除过期的小对象,以提高plog的空间利用率,也可以在过期的小对象的元数据中添加过期标签,当plog的空间利用率低于预设的利用率阈值时,再启动空间回收流程,即,删除携带过期标签的元数据对应的小对象,从而可以在提高空间利用率的同时为用户提供更优质的服务。
由于服务器端根据图2所示的方法将生成时间或上传时间属于相同时间区间的小对象存储在连续的存储空间,因此,当一个时间区间成为过期时间区间时,服务器端可以删除该时间区间对应的全部小对象,并获得连续的存储空间,从而避免了空间碎片的产生,提高了服务器端的存储资源的利用率,降低了小对象的生命周期的管理开销。
本申请还提供了一种下载数据的方法。如图5所示,该方法包括:
S501,当客户端110需要下载小对象时,建立与服务器端的HTTP连接。
S502,客户端110向服务器端发送S3请求,该S3请求用于请求获取小对象,该小对象例如是obj1。
S503,服务器端接收到该S3请求后,根据该S3请求所携带的信息(例如,桶的名字、obj1的名字和obj1的路径信息)读取obj1的元数据,获取obj1的布局信息(obj1.layout),从而获得obj1的存储位置。
S504,服务器端根据obj1.layout指示的存储位置从obj1对应的plog中读取obj1。
S505,服务器端向客户端110发送obj1,从而完成了下载数据的流程。
上文详细描述了本申请提供的发送数据的方法的示例和接收数据的方法示例。可以理解的是,发送数据的装置和接收数据的装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请可以根据上述方法示例对发送数据的装置和接收数据的装置进行功能单元的划分,例如,可以将各个功能划分为各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用集成的单元的情况下,图6示出了本申请提供的发送数据的装置的一种可能的结构示意图。装置600包括:处理单元601、发送单元602和接收单元603。处理单元601用于控制装置600执行图2所示的客户端的步骤。处理单元601还可以用于执行本文所描述的技术的其它过程。装置600还可以包括存储单元604,用于存储装置600的程序代码和数据。
例如,处理单元601用于执行:获取待上传的多个小对象,所述小对象为数据量小于或等于第一数据量阈值的对象;对多个小对象执行封装处理生成大对象,所述大对象包括所述多个小对象。
发送单元602用于:向服务器发送S3请求,所述S3请求用于请求上传所述大对象;
接收单元603用于:从所述服务器接收S3请求的响应消息,所述响应消息用于指示开始上传所述大对象;
发送单元602还用于:向所述服务器发送所述大对象。
处理单元601可以是处理器或控制器,例如可以是中央处理器(centralprocessing unit,CPU),通用处理器,数字信号处理器(digital signal processor,DSP),专用集成电路(application-specific integrated circuit,ASIC),现场可编程门阵列(field programmable gate array,FPGA)或者其它可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。发送单元602和接收单元603可以是通信接口。存储单元604可以是存储器。
当处理单元601为处理器,发送单元602和接收单元603为通信接口,存储单元604为存储器时,本申请所涉及的发送数据的装置可以为图7所示的装置。
参阅图7所示,该装置700包括:处理器701、通信接口702和存储器703。其中,处理器701、通信接口702和存储器703可以通过内部连接通路相互通信,传递控制和/或数据信号。
本领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请提供的发送数据的装置,首先将待上传的多个数据量较小的对象进行封装处理,生成一个数据量较大的对象,即,大对象,随后通过客户端与S3服务器之间的连接向S3服务器发送该大对象,由于多个小对象作为一个整体(即,大对象)上传,因此,在上传该多个小对象的过程从无需再重复发送S3请求,从而提高了S3统系中上传数据的效率。
在采用集成的单元的情况下,图8示出了本申请提供的接收数据的装置的一种可能的结构示意图。装置800包括:处理单元801、发送单元802和接收单元803。处理单元801用于控制装置800执行图2所示的服务器端的步骤。处理单元801还可以用于执行本文所描述的技术的其它过程。装置800还可以包括存储单元804,用于存储装置800的程序代码和数据。
例如,处理单元801用于控制接收单元803执行:从客户端接收S3请求,所述S3请求用于请求上传大对象,所述大对象包括多个小对象,所述小对象为数据量小于或等于数据量阈值的对象。
处理单元801用于控制发送单元802执行:向所述客户端发送所述S3请求的响应消息,所述响应消息用于指示开始上传所述大对象。
处理单元801还用于控制接收单元803执行:从所述客户端接收所述大对象。
处理单元801可以是处理器或控制器,例如可以是CPU,通用处理器,DSP,ASIC,FPGA或者其它可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。发送单元802和接收单元803可以是通信接口。存储单元804可以是存储器。
当处理单元801为处理器,发送单元802和接收单元803为通信接口,存储单元804为存储器时,本申请所涉及的接收数据的装置可以为图9所示的装置。
参阅图9所示,该装置900包括:处理器901、通信接口902和存储器903。其中,处理器901、通信接口902和存储器903可以通过内部连接通路相互通信,传递控制和/或数据信号。
本领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请提供的接收数据的装置,通过接收包含多个小对象的大对象,仅需接收一次S3请求即可接收多个小对象,相比于现有技术中服务器端每接收一个小对象均需接收一次S3请求的方法,本申请提供的上述流程减小了信息开销,提高了对象存储系统中上传数据的效率。
装置实施例和方法实施例中完全对应,由相应的模块执行相应的步骤,例如发送单元执行方法实施例中的发送步骤,接收单元执行方法实施例中的接收步骤,除发送步骤和接收步骤以外的其它步骤可以由处理单元或处理器执行。具体单元的功能可以参考相应的方法实施例,不再详述。
在本申请各个实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请的实施过程构成任何限定。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
结合本申请公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,RAM)、闪存、只读存储器(readonly memory,ROM)、可擦除可编程只读存储器(erasable programmable ROM,EPROM)、电可擦可编程只读存储器(electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字通用光盘(digital versatile disc,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施方式而已,并不用于限定本申请的保护范围,凡在本申请的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本申请的保护范围之内。
Claims (28)
1.一种发送数据的方法,其特征在于,应用于对象存储系统,包括:
获取待上传的多个小对象,所述小对象为数据量小于或等于第一数据量阈值的对象;
对所述多个小对象执行封装处理生成大对象,所述大对象包括所述多个小对象;
向所述服务器发送简单存储服务S3请求,所述S3请求用于请求上传所述大对象;
从所述服务器接收所述S3请求的响应消息,所述响应消息用于指示开始上传所述大对象;
向所述服务器发送所述大对象。
2.根据权利要求1所述的方法,其特征在于,所述对所述多个小对象执行封装处理生成大对象,包括:
当所述多个小对象的生成时间属于预设的时间区间时,对所述多个小对象执行封装处理生成所述大对象。
3.根据权利要求1或2所述的方法,其特征在于,所述对所述多个小对象执行封装处理生成大对象,包括:
当所述多个小对象封装后的数据总量小于或等于第二数据量阈值时,对所述多个小对象执行封装处理生成所述大对象。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述大对象还包括对象头,所述对象头包括所述多个小对象中每个小对象的对象名、生成时间、消息摘要算法5的值、长度以及在所述大对象中的偏移量中的至少一个信息。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述向所述服务器发送简单存储服务S3请求之前,所述方法还包括:
建立与所述服务器之间的超文本传输协议HTTP连接,所述HTTP连接用于传输所述大对象,所述HTTP连接为长连接。
6.一种接收数据的方法,其特征在于,应用于对象存储系统,包括:
从客户端接收简单存储服务S3请求,所述S3请求用于请求上传大对象,所述大对象包括多个小对象,所述小对象为数据量小于或等于数据量阈值的对象;
向所述客户端发送所述S3请求的响应消息,所述响应消息用于指示开始上传所述大对象;
从所述客户端接收所述大对象。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
将所述多个小对象存储至对象存储系统的持久层,并且,所述多个小对象的存储空间为连续的存储空间;
将所述多个小对象中每个小对象对应的元数据存储至所述对象存储系统的索引层。
8.根据权利要求7所述的方法,其特征在于,所述将所述多个小对象存储至对象存储系统的持久层,包括:
将所述多个小对象中生成时间或上传时间属于预设的时间区间的小对象存储至所述持久层中连续的存储空间。
9.根据权利要求7或8所述的方法,其特征在于,所述元数据用于指示所述小对象的生成时间或上传时间,
所述方法还包括:
扫描所述多个小对象的元数据,确定所述多个小对象的生成时间或上传时间;
当所述多个小对象中的第一小对象的生成时间或上传时间属于过期时间区间时,删除所述第一小对象。
10.根据权利要求9所述的方法,其特征在于,所述当所述多个小对象中的第一小对象的生成时间或上传时间属于过期时间区间时,删除所述第一小对象,包括:
当所述持久层的空间利用率小于或等于空间利用率阈值时,并且,当所述多个小对象中的第一小对象的生成时间或上传时间属于过期时间区间时,删除所述第一小对象。
11.根据权利要求6至10中任一项所述的方法,其特征在于,所述大对象还包括对象头,所述对象头包括所述多个小对象中每个小对象的对象名、生成时间、消息摘要算法5的值、长度以及在所述大对象中的偏移量中的至少一个信息。
12.根据权利要求6至11中任一项所述的方法,其特征在于,所述从客户端接收简单存储服务S3请求之前,所述方法还包括:
建立与所述服务器之间的超文本传输协议HTTP连接,所述HTTP连接用于传输所述大对象,所述HTTP连接为长连接。
13.一种发送数据的装置,其特征在于,应用于对象存储系统,包括处理单元、发送单元和接收单元,
所述处理单元用于:获取待上传的多个小对象,所述小对象为数据量小于或等于第一数据量阈值的对象;
所述处理单元还用于:对所述多个小对象执行封装处理生成大对象,所述大对象包括所述多个小对象;
所述发送单元用于:向所述服务器发送简单存储服务S3请求,所述S3请求用于请求上传所述大对象;
所述接收单元用于:从所述服务器接收所述S3请求的响应消息,所述响应消息用于指示开始上传所述大对象;
所述发送单元还用于:向所述服务器发送所述大对象。
14.根据权利要求13所述的装置,其特征在于,所述处理单元具体用于:
当所述多个小对象的生成时间属于预设的时间区间时,对所述多个小对象执行封装处理生成所述大对象。
15.根据权利要求13或14所述的装置,其特征在于,所述处理单元具体用于:
当所述多个小对象封装后的数据总量小于或等于第二数据量阈值时,对所述多个小对象执行封装处理生成所述大对象。
16.根据权利要求13至15中任一项所述的装置,其特征在于,所述大对象还包括对象头,所述对象头包括所述多个小对象中每个小对象的对象名、生成时间、消息摘要算法5的值、长度以及在所述大对象中的偏移量中的至少一个信息。
17.根据权利要求13至16中任一项所述的装置,其特征在于,所述处理单元还用于:
建立与所述服务器之间的超文本传输协议HTTP连接,所述HTTP连接用于传输所述大对象,所述HTTP连接为长连接。
18.一种接收数据的装置,其特征在于,应用于对象存储系统,包括接收单元和发送单元,
所述接收单元用于:从客户端接收简单存储服务S3请求,所述S3请求用于请求上传大对象,所述大对象包括多个小对象,所述小对象为数据量小于或等于数据量阈值的对象;
所述发送单元用于:向所述客户端发送所述S3请求的响应消息,所述响应消息用于指示开始上传所述大对象;
所述接收单元还用于:从所述客户端接收所述大对象。
19.根据权利要求18所述的装置,其特征在于,所述装置还包括处理单元,用于:
将所述多个小对象存储至对象存储系统的持久层,并且,所述多个小对象的存储空间为连续的存储空间;
将所述多个小对象中每个小对象对应的元数据存储至所述对象存储系统的索引层。
20.根据权利要求19所述的装置,其特征在于,所述处理单元具体用于:
将所述多个小对象中生成时间或上传时间属于预设的时间区间的小对象存储至所述持久层中连续的存储空间。
21.根据权利要求19或20所述的装置,其特征在于,所述元数据用于指示所述小对象的生成时间或上传时间,
所述处理单元还用于:
扫描所述多个小对象的元数据,确定所述多个小对象的生成时间或上传时间;
当所述多个小对象中的第一小对象的生成时间或上传时间属于过期时间区间时,删除所述第一小对象。
22.根据权利要求21所述的装置,其特征在于,所述处理单元具体用于:
当所述持久层的空间利用率小于或等于空间利用率阈值时,并且,当所述多个小对象中的第一小对象的生成时间或上传时间属于过期时间区间时,删除所述第一小对象。
23.根据权利要求18至22中任一项所述的装置,其特征在于,所述大对象还包括对象头,所述对象头包括所述多个小对象中每个小对象的对象名、生成时间、消息摘要算法5的值、长度以及在所述大对象中的偏移量中的至少一个信息。
24.根据权利要求18至23中任一项所述的装置,其特征在于,所述处理单元还用于:
建立与所述服务器之间的超文本传输协议HTTP连接,所述HTTP连接用于传输所述大对象,所述HTTP连接为长连接。
25.一种发送数据的装置,其特征在于,包括:
存储器,用于存储指令,
通信接口,用于接收或者发送数据,
处理器,与所述存储器和所述通信接口耦合,用于调用所述存储器存储的指令执行权利要求1至权利要求5中任一项所述的方法的步骤,以及,用于调用所述存储器存储的指令控制所述通信接口执行权利要求1至权利要求5中任一项所述的方法的步骤。
26.一种发送数据的装置,其特征在于,包括:
存储器,用于存储指令,
通信接口,用于接收或者发送数据,
处理器,与所述存储器和所述通信接口耦合,用于调用所述存储器存储的指令执行权利要求6至权利要求12中任一项所述的方法的步骤,以及,用于调用所述存储器存储的指令控制所述通信接口执行权利要求6至权利要求12中任一项所述的方法的步骤。
27.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储了计算机程序代码,当所述计算机程序代码被处理单元或处理器执行时,发送数据的装置执行权利要求1至权利要求5中任一项所述的方法的步骤。
28.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储了计算机程序代码,当所述计算机程序代码被处理单元或处理器执行时,接收数据的装置执行权利要求6至权利要求12中任一项所述的方法的步骤。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810844624.XA CN109067733B (zh) | 2018-07-27 | 2018-07-27 | 发送数据的方法和装置,以及接收数据的方法和装置 |
EP19841345.2A EP3820107B1 (en) | 2018-07-27 | 2019-07-01 | Method and device for transmitting data, and method and apparatus for receiving data |
PCT/CN2019/094112 WO2020019943A1 (zh) | 2018-07-27 | 2019-07-01 | 发送数据的方法和装置,以及接收数据的方法和装置 |
US17/158,815 US11405458B2 (en) | 2018-07-27 | 2021-01-26 | Sending and receiving data using multiple objects with a single storage request |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810844624.XA CN109067733B (zh) | 2018-07-27 | 2018-07-27 | 发送数据的方法和装置,以及接收数据的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109067733A true CN109067733A (zh) | 2018-12-21 |
CN109067733B CN109067733B (zh) | 2021-01-05 |
Family
ID=64836776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810844624.XA Active CN109067733B (zh) | 2018-07-27 | 2018-07-27 | 发送数据的方法和装置,以及接收数据的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11405458B2 (zh) |
EP (1) | EP3820107B1 (zh) |
CN (1) | CN109067733B (zh) |
WO (1) | WO2020019943A1 (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109828828A (zh) * | 2019-01-23 | 2019-05-31 | 杭州宏杉科技股份有限公司 | 对象上传方法、装置、电子设备及机器可读存储介质 |
WO2020019943A1 (zh) * | 2018-07-27 | 2020-01-30 | 华为技术有限公司 | 发送数据的方法和装置,以及接收数据的方法和装置 |
CN111240855A (zh) * | 2019-12-31 | 2020-06-05 | 中国建设银行股份有限公司 | Api调试系统、方法、存储介质和计算机设备 |
CN111367865A (zh) * | 2020-03-10 | 2020-07-03 | 山东汇贸电子口岸有限公司 | 一种基于aws s3的文件分片上传的实现方法 |
CN111581016A (zh) * | 2020-04-14 | 2020-08-25 | 上海爱数信息技术股份有限公司 | 一种现代应用的副本数据管理系统及方法 |
CN111581015A (zh) * | 2020-04-14 | 2020-08-25 | 上海爱数信息技术股份有限公司 | 一种现代应用的持续数据保护系统及方法 |
CN112579006A (zh) * | 2020-12-25 | 2021-03-30 | 华录光存储研究院(大连)有限公司 | 一种数据存储生命周期管理方法及系统 |
CN112768038A (zh) * | 2019-11-01 | 2021-05-07 | 科美诊断技术股份有限公司 | 一种耗材数据的上传方法及装置 |
CN114697376A (zh) * | 2022-03-16 | 2022-07-01 | 浪潮云信息技术股份公司 | 一种超大消息传输方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101106550A (zh) * | 2007-08-31 | 2008-01-16 | 金蝶软件(中国)有限公司 | 大尺寸消息的发送方法、接收方法及传输系统 |
CN102262539A (zh) * | 2011-07-29 | 2011-11-30 | 深圳市科陆电子科技股份有限公司 | 一种基于struts2技术自定义的分页dataTable控件的实现方法 |
US20150063699A1 (en) * | 2013-08-30 | 2015-03-05 | Konica Minolta Laboratory U.S.A., Inc. | Line segmentation method applicable to document images containing handwriting and printed text characters or skewed text lines |
CN105653209A (zh) * | 2015-12-31 | 2016-06-08 | 浪潮(北京)电子信息产业有限公司 | 一种对象存储数据传输方法及装置 |
CN106686148A (zh) * | 2017-03-20 | 2017-05-17 | 郑州云海信息技术有限公司 | 一种用于提高对象存储系统中对象上传速度的方法和系统 |
CN107911461A (zh) * | 2017-11-24 | 2018-04-13 | 网宿科技股份有限公司 | 云存储系统中的对象处理方法、存储服务器及云存储系统 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8914330B2 (en) * | 2004-09-17 | 2014-12-16 | International Business Machines Corporation | Bulk deletion through segmented files |
US9305069B2 (en) * | 2010-02-09 | 2016-04-05 | Google Inc. | Method and system for uploading data into a distributed storage system |
US9058338B2 (en) * | 2011-10-26 | 2015-06-16 | International Business Machines Corporation | Storing a small file with a reduced storage and memory footprint |
US9117027B2 (en) * | 2012-09-03 | 2015-08-25 | Tata Consultancy Services Limited | Method and system for compliance testing in a cloud storage environment |
EP2958298B1 (en) * | 2013-04-02 | 2020-09-23 | Huawei Technologies Co., Ltd. | File uploading method in cloud storage, client, application server, and cloud storage system |
US10261725B2 (en) * | 2015-04-10 | 2019-04-16 | Toshiba Memory Corporation | Storage system capable of invalidating data stored in a storage device thereof |
US9912752B1 (en) * | 2015-06-29 | 2018-03-06 | Amazon Technologies, Inc. | Retention-based data management in a network-based data store |
CN107040474A (zh) * | 2016-02-03 | 2017-08-11 | 中兴通讯股份有限公司 | 数据包发送方法、接收方法、发送装置及接收装置 |
EP3430515B1 (en) * | 2016-03-15 | 2021-09-22 | Datomia Research Labs Ou | Distributed storage system data management and security |
US10810157B1 (en) * | 2016-09-28 | 2020-10-20 | Amazon Technologies, Inc. | Command aggregation for data storage operations |
CN107566463B (zh) * | 2017-08-21 | 2020-08-11 | 北京航空航天大学 | 一种提高存储可用性的多云存储管理系统 |
CN109067733B (zh) * | 2018-07-27 | 2021-01-05 | 成都华为技术有限公司 | 发送数据的方法和装置,以及接收数据的方法和装置 |
-
2018
- 2018-07-27 CN CN201810844624.XA patent/CN109067733B/zh active Active
-
2019
- 2019-07-01 WO PCT/CN2019/094112 patent/WO2020019943A1/zh unknown
- 2019-07-01 EP EP19841345.2A patent/EP3820107B1/en active Active
-
2021
- 2021-01-26 US US17/158,815 patent/US11405458B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101106550A (zh) * | 2007-08-31 | 2008-01-16 | 金蝶软件(中国)有限公司 | 大尺寸消息的发送方法、接收方法及传输系统 |
CN102262539A (zh) * | 2011-07-29 | 2011-11-30 | 深圳市科陆电子科技股份有限公司 | 一种基于struts2技术自定义的分页dataTable控件的实现方法 |
US20150063699A1 (en) * | 2013-08-30 | 2015-03-05 | Konica Minolta Laboratory U.S.A., Inc. | Line segmentation method applicable to document images containing handwriting and printed text characters or skewed text lines |
CN105653209A (zh) * | 2015-12-31 | 2016-06-08 | 浪潮(北京)电子信息产业有限公司 | 一种对象存储数据传输方法及装置 |
CN106686148A (zh) * | 2017-03-20 | 2017-05-17 | 郑州云海信息技术有限公司 | 一种用于提高对象存储系统中对象上传速度的方法和系统 |
CN107911461A (zh) * | 2017-11-24 | 2018-04-13 | 网宿科技股份有限公司 | 云存储系统中的对象处理方法、存储服务器及云存储系统 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020019943A1 (zh) * | 2018-07-27 | 2020-01-30 | 华为技术有限公司 | 发送数据的方法和装置,以及接收数据的方法和装置 |
US11405458B2 (en) | 2018-07-27 | 2022-08-02 | Huawei Cloud Computing Technologies Co., Ltd. | Sending and receiving data using multiple objects with a single storage request |
CN109828828A (zh) * | 2019-01-23 | 2019-05-31 | 杭州宏杉科技股份有限公司 | 对象上传方法、装置、电子设备及机器可读存储介质 |
CN112768038A (zh) * | 2019-11-01 | 2021-05-07 | 科美诊断技术股份有限公司 | 一种耗材数据的上传方法及装置 |
CN111240855A (zh) * | 2019-12-31 | 2020-06-05 | 中国建设银行股份有限公司 | Api调试系统、方法、存储介质和计算机设备 |
CN111367865A (zh) * | 2020-03-10 | 2020-07-03 | 山东汇贸电子口岸有限公司 | 一种基于aws s3的文件分片上传的实现方法 |
CN111581015B (zh) * | 2020-04-14 | 2021-06-29 | 上海爱数信息技术股份有限公司 | 一种现代应用的持续数据保护系统及方法 |
CN111581016B (zh) * | 2020-04-14 | 2021-05-18 | 上海爱数信息技术股份有限公司 | 一种现代应用的副本数据管理系统及方法 |
CN111581015A (zh) * | 2020-04-14 | 2020-08-25 | 上海爱数信息技术股份有限公司 | 一种现代应用的持续数据保护系统及方法 |
CN111581016A (zh) * | 2020-04-14 | 2020-08-25 | 上海爱数信息技术股份有限公司 | 一种现代应用的副本数据管理系统及方法 |
US12045134B2 (en) | 2020-04-14 | 2024-07-23 | Aishu Technology Corp. | Copy data management system and method for modern application |
CN112579006A (zh) * | 2020-12-25 | 2021-03-30 | 华录光存储研究院(大连)有限公司 | 一种数据存储生命周期管理方法及系统 |
CN114697376A (zh) * | 2022-03-16 | 2022-07-01 | 浪潮云信息技术股份公司 | 一种超大消息传输方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US11405458B2 (en) | 2022-08-02 |
EP3820107B1 (en) | 2024-09-11 |
CN109067733B (zh) | 2021-01-05 |
US20210160319A1 (en) | 2021-05-27 |
EP3820107A1 (en) | 2021-05-12 |
EP3820107A4 (en) | 2021-07-07 |
WO2020019943A1 (zh) | 2020-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109067733A (zh) | 发送数据的方法和装置,以及接收数据的方法和装置 | |
CN107193490B (zh) | 一种基于区块链的分布式数据存储系统及方法 | |
CN105812351B (zh) | 实现会话共享的方法和系统 | |
CN104539659B (zh) | 基于nas存储的多用户文件交换共享方法和装置 | |
KR100949249B1 (ko) | 양방향 의료정보 공유 시스템 및 방법 | |
CN107179879A (zh) | 用于存储设备的数据迁移的方法和装置 | |
CN109688207A (zh) | 日志传输方法、装置及服务器 | |
CN106484322A (zh) | 一种挂载文件系统的方法、装置及设备 | |
CN103297447B (zh) | 一种资源共享方法及其设备 | |
CN110134528A (zh) | 微服务框架的接口信息存储调用方法、装置和终端设备 | |
KR20190076197A (ko) | 블록체인 기반의 데이터 저장 장치 및 방법 | |
CN110109766B (zh) | 基于跨部门跨平台数据共享交换的数据交互方法及装置 | |
US20140337471A1 (en) | Migration assist system and migration assist method | |
CN105791399B (zh) | 多中继互联网大数据推送方法和系统 | |
CN103765858A (zh) | 用于在用户在通信网络内的浏览期间监视用户的方法和服务器 | |
CN112765663B (zh) | 文件访问控制方法、装置、设备、服务器及存储介质 | |
CN110086836A (zh) | 获取元数据的方法和装置 | |
CN106027620A (zh) | 一种基于云计算的数据迁移系统 | |
JP6200376B2 (ja) | 車載情報システム及びその情報処理方法 | |
CN107633053A (zh) | 一种文件管理方法、装置及系统 | |
KR20200063959A (ko) | IoT 플랫폼과 블록체인 플랫폼 사이의 데이터 통신을 제공하는 방법 및 시스템 | |
CN115469813A (zh) | 数据处理方法及装置、存储介质、电子装置 | |
CN111353136A (zh) | 一种操作请求的处理方法和装置 | |
CN106941522A (zh) | 轻量级分布式计算平台及其数据处理方法 | |
CN105573801A (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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220215 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Patentee after: Huawei Cloud Computing Technologies Co.,Ltd. Address before: No. 1899 Xiyuan Avenue, high tech Zone (West District), Chengdu, Sichuan 610041 Patentee before: Chengdu Huawei Technologies Co.,Ltd. |