数据的续传方法和装置的制造方法

文档序号:10660983阅读:573来源:国知局
数据的续传方法和装置的制造方法
【专利摘要】本发明公开了一种数据的续传方法,包括:通过存储集群接收用户发送的文件查询请求,执行查询操作;对查询到的需要上传的文件进行检测,判断是否符合预设要求;若需要上传的文件符合预设要求,则执行上传并计算上传带宽;若需要上传的文件不符合预设要求,则将需要续传的文件的分块大小发送至用户,执行续传操作。上述数据的续传方法可适配用户的网络情况,避免用户反复重传已经传完的部分,节省用户流量。本公开还公开了一种数据的续传装置。
【专利说明】
数据的续传方法和装置
技术领域
[0001]本公开涉及计算机应用技术领域,特别是涉及一种数据的续传方法和装置。【背景技术】
[0002]目前,对象存储在互联网的大潮中受到了广泛关注,并得到了迅速的发展。对象存储与文件存储不同,对象不以目录分层的结构进行组织。每个对象都位于被称为存储池的扁平的空间的相同层级,每一级的每个元素在存储系统中都有唯一的标识,用户通过这个标识来访问容器或者对象。采用扁平的数据组织结构抛弃了嵌套的文件夹,避免维护庞大的目录树。在大数据和互联网时代,存储的文件/对象超过上百万个,单位时间内的访问次数和并发访问量也达到了前所未有的量级,在这种情况下,目录树会给存储系统带来很大的开销和诸多问题,成为系统的瓶颈。另外一个让对象存储焕发生命力的因素是,对象存储不再提供P0SIX兼容的接口(如open,close,read,write等),而是可以非常方便地通过HTTP Restful API接口和对象进行交互:通过PUT和GET进行上传下载,通过DELETE进行删除。
[0003]对象存储广泛用于存储视频、图片和日志都各种不同类型的文件,但是用户上传的网络环境各有不同:1.直接通过局域网上传到服务器的内部应用;2.通过主干网或者专线的跨IDC应用;3.通过小区宽带的公网应用;4.通过移动互联网接入的应用。
[0004]但是,上述提到的四种环境网络带宽有很大不同且每种环境都可能出现网络抖动或者应用本身的bug导致文件上传到对象存储集群中失败的问题。此时,有必要处理用户的断点续传请求,即对于已经保存到存储服务器中的数据,通知用户不需要重新上传,而是从终端处执行续传即可。
[0005]在对象存储中,传统的断点续传方案都是通过规定一个固定的分块大小让用户上传,这种传统的方案不能适应当前复杂多变的网络环境,在用户网络较差的情况下,这种固定的分块策略会导致用户不断重试已经传完的部分,这样会造成对流量的极大浪费,并且严重威胁用户体验。
【发明内容】

[0006]基于此,有必要提供一种节省流量,避免重传的数据的续传方法和装置。
[0007]—种数据的续传方法,该方法包括:
[0008]存储集群接收用户发送的文件查询请求,执行查询操作;[〇〇〇9]对查询到的需要上传的所述文件进行检测,判断是否符合预设要求;
[0010]若需要上传的所述文件符合所述预设要求,则执行上传并计算上传带宽;
[0011]若需要上传的所述文件不符合所述预设要求,则将需要续传的所述文件的分块大小发送至用户,执行续传操作。
[0012]在其中一个实施例中,其中,所述存储集群接收用户发送的文件查询请求,执行查询操作包括:
[0013]若查询到所述文件的上传编号,所述存储集群将所述文件已上传的各个分块的列表发送至用户;
[0014]若没有查询到所述文件的所述上传编号,所述存储集群将具有标识的唯一的所述上传编号发送至用户,并设置所述文件已上传的各个分块的列表为空。
[0015]在其中一个实施例中,其中,所述对查询到的需要上传的所述文件进行检测,判断是否符合预设要求包括:[〇〇16]若上传的所述文件符合所述预设要求,记录与所述文件相关联的多个信息,其中, 所述多个信息包括:用户发送的所述文件的上传请求时间、写入到磁盘的所述文件的大小、 对所述文件写入到所述磁盘的结束时间;[〇〇17]若上传的所述文件不符合所述预设要求,则将需要上传的所述文件的分块大小发送至用户。
[0018]在其中一个实施例中,其中,所述若需要上传的所述文件符合所述预设要求,则执行上传并计算上传带宽包括;
[0019]根据用户发送的所述文件的上传请求时间、写入到磁盘的所述文件的大小、对所述文件写入到所述磁盘的结束时间计算用户上传所述文件的带宽;
[0020]判断用户上传所述文件的所述带宽是否小于预设带宽;
[0021]当用户上传所述文件的所述带宽小于所述预设带宽时,判定为低速网络,当用户上传所述文件的所述带宽大于等于所述预设带宽时,判定为高速网络。
[0022]在其中一个实施例中,其中,所述若需要上传的所述文件不符合所述预设要求,则将需要续传的所述文件的分块大小发送至用户,执行续传操作包括:
[0023]当用户上传所述文件的所述带宽判定为低速网络时,需要续传的所述文件的分块大小为预设值;
[0024]当用户上传所述文件的所述带宽判定为高速网络时,设置需要续传的所述文件的分块大小,并将设置信息发送至用户;
[0025]其中,用户接受所述设置信息,则按照设置的需要续传的所述文件的分块大小执行续传操作;
[0026]用户不接受所述设置信息时,则将预设的所需要续传的所述文件的分块大小发送至所述存储集群。[〇〇27] 一种数据的续传装置,包括:
[0028]查询模块,用于存储集群接收用户发送的文件查询请求,执行查询操作;
[0029]检测模块,用于对查询到的需要上传的所述文件进行检测,判断是否符合预设要求;
[0030]上传计算模块,用于若需要上传的所述文件符合所述预设要求,则执行上传并计算上传带宽;
[0031]续传模块,用于若需要上传的所述文件不符合所述预设要求,则将需要续传的所述文件的分块大小发送至用户,执行续传操作。
[0032]在其中一个实施例中,其中,所述查询模块包括:
[0033]列表发送模块,用于若查询到所述文件的上传编号,所述存储集群将所述文件已上传的各个分块的列表发送至用户;[〇〇34]列表设置模块,用于若没有查询到所述文件的所述上传编号,所述存储集群将具有标识的唯一的所述上传编号发送至用户,并设置所述文件已上传的各个分块的列表为空。
[0035]在其中一个实施例中,其中,所述检测模块包括:[〇〇36]记录模块,用于若上传的所述文件符合所述预设要求,记录与所述文件相关联的多个信息,其中,所述多个信息包括:用户发送的所述文件的上传请求时间、写入到磁盘的所述文件的大小、对所述文件写入到所述磁盘的结束时间;
[0037]分块发送模块,用于若上传的所述文件不符合所述预设要求,则将需要上传的所述文件的分块大小发送至用户。
[0038]在其中一个实施例中,其中,所述上传计算模块包括;
[0039]计算模块,用于根据用户发送的所述文件的上传请求时间、写入到磁盘的所述文件的大小、对所述文件写入到所述磁盘的结束时间计算用户上传所述文件的带宽;[〇〇4〇]判断模块,用于判断用户上传所述文件的所述带宽是否小于预设带宽;[〇〇41]判定模块,用于当用户上传所述文件的所述带宽小于所述预设带宽时,判定为低速网络,当用户上传所述文件的所述带宽大于等于所述预设带宽时,判定为高速网络。
[0042]在其中一个实施例中,其中,所述续传模块包括:[〇〇43]第一续传模块,用于当用户上传所述文件的所述带宽判定为低速网络时,需要续传的所述文件的分块大小为预设值;
[0044]分块设置模块,用于当用户上传所述文件的所述带宽判定为高速网络时,设置需要续传的所述文件的分块大小,并将设置信息发送至用户;
[0045]其中,用户接受所述设置信息,则按照设置的需要续传的所述文件的分块大小执行续传操作;
[0046]用户不接受所述设置信息时,则将预设的所需要续传的所述文件的分块大小发送至所述存储集群。
[0047]上述数据的续传方法和装置,通过存储集群接收用户发送的文件查询请求,执行查询操作;对查询到的需要上传的文件进行检测,判断是否符合预设要求;若需要上传的文件符合预设要求,则执行上传并计算上传带宽;若需要上传的文件不符合预设要求,则将需要续传的文件的分块大小发送至用户,执行续传操作。上述数据的续传方法可适配用户的网络情况,避免用户反复重传已经传完的部分,节省用户流量。【附图说明】
[0048]图1是一个实施例中数据的续传方法的流程示意图;
[0049]图2是一个实施例中数据的续传装置的结构示意图;以及
[0050]图3是另一个实施例中数据的续传装置的结构示意图。【具体实施方式】[0051 ]为使本公开的目的、技术方案和优点更加清楚明了,下面结合【具体实施方式】并参照附图,对本公开进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本公开的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
[0052]参见图1,一个实施例中,提供了一种数据的续传方法,该方法包括以下步骤:[〇〇53]步骤102,存储集群接收用户发送的文件查询请求,执行查询操作。[〇〇54]本实施例中,若查询到文件的上传编号,存储集群将文件已上传的各个分块的列表发送至用户;若没有查询到文件的上传编号,存储集群将具有标识的唯一的上传编号发送至用户,并设置文件已上传的各个分块的列表为空。[〇〇55]需要说明的是,用户以跟文件名为参数,向存储集群发起请求,查询是否有上传编号(上传编号是唯一标识一次上传的符号,同一个上传编号代表的是同一次上传,例如, 某文件之前传了五个分块,在存储集群中会记录该编号已经进行了五个分块的上传,用户变可以继续传第六个分块),存储集群收到请求,查询数据库,可以有两种情况:有上传编号;没有上传编号。对于有上传编号的情况,存储集群返回给用户该文件已经上传的各个分块的列表;对于没有上传编号的情况,存储集群返回给用户一个唯一的上传编号,并且设置已上传的列表为空。
[0056]步骤104,对查询到的需要上传的文件进行检测,判断是否符合预设要求。[〇〇57]本实施例中,若上传的文件符合预设要求,记录与文件相关联的多个信息,其中, 多个信息包括:用户发送的文件的上传请求时间、写入到磁盘的文件的大小、对文件写入到磁盘的结束时间;若上传的文件不符合预设要求,则将需要上传的文件的分块大小发送至用户。[〇〇58]需要说明的是,存储集群收到用户上传的分块之后,首先需要检查用户此次用户上传的分块大小是否符合要求。如果不符合,则返回用户应该上传的分块大小,并返回给用户,要求用户重传;如果用户上传符合要求,记录用户发起请求的时间,并将数据写入到后端磁盘之中,记录写完之后的时间,由此算法可以计算出用户的上传带宽。此时分为两种情况:用户使用的是带宽小于预设带宽的低速网络;用户使用的是带宽高于预设带宽的较高速网络。其中,预设带宽为IMB/s。
[0059]步骤106,若需要上传的所述文件符合所述预设要求,则执行上传并计算上传带宽。
[0060]本实施例中,根据用户发送的文件的上传请求时间、写入到磁盘的文件的大小、对文件写入到磁盘的结束时间计算用户上传文件的带宽;判断用户上传文件的带宽是否小于预设带宽;当用户上传文件的带宽小于预设带宽时,判定为低速网络,当用户上传文件的带宽大于等于预设带宽时,判定为高速网络。其中,预设带宽为IMB/s。
[0061]步骤108,若需要上传的所述文件不符合所述预设要求,则将需要续传的所述文件的分块大小发送至用户,执行续传操作。
[0062]本实施例中,当用户上传文件的带宽判定为低速网络时,需要续传的文件的分块大小为预设值,例如,预设值为1MB;当用户上传文件的带宽判定为高速网络时,设置需要续传的文件的分块大小,并将设置信息发送至用户;其中,用户接受设置信息,则按照设置的需要续传的文件的分块大小执行续传操作;用户不接受设置信息时,则将预设的所需要续传的文件的分块大小发送至存储集群。
[0063]需要说明的是,由于用户的网络状况不佳,给用户返回其上传的分块大小为预设值,例如,预设值为1MB,如果用户网络状况没有好转,则继续使用此分块大小进行上传,并依据上述实施例中提到的带宽测量方法进行测量,提高分块大小,直到文件全部上传成功;用户网络情况良好,则根据用户的带宽情况,设置一个较大的分块大小,并记录到自己的数据库中,并询问用户是否同意此分块大小,用户收到请求之后,可根据此分块大小选择接受或者不接受存储集群的提议,如果接受,则直接按照此分块大小上传分块,否则,将发送一个用户认为合适的分块大小的数据。
[0064]进一步的,存储集群收到数据,检查是否是跟其在上述实施例中设置的分块大小一致,如果一致,则后续上传均按照此分块大小执行,否则,更新存储集群的数据库,并按照新的分块大小执行后续上传,且后续均需要检测上传分块大小是否合规,对于用户后续网速恶化的情况,一旦发现用户的网速低于预设带宽,则如上述实施例提到的,无条件设置分块大小为预设值,例如,预设值为1MB,并要求用户执行。其中,预设带宽为IMB/s。
[0065]上述数据的续传方法,通过存储集群接收用户发送的文件查询请求,执行查询操作;对查询到的需要上传的文件进行检测,判断是否符合预设要求;若需要上传的文件符合预设要求,则执行上传并计算上传带宽;若需要上传的文件不符合预设要求,则将需要续传的文件的分块大小发送至用户,执行续传操作。上述数据的续传方法可适配用户的网络情况,避免用户反复重传已经传完的部分,节省用户流量。
[0066]基于同一发明构思,在一个实施例中,还提出一种数据的续传装置。如图2,该数据的续传装置1 〇包括查询模块200、检测模块400、上传计算模块600和续传模块800。
[0067]其中,查询模块200用于存储集群接收用户发送的文件查询请求,执行查询操作; 检测模块400用于对查询到的需要上传的文件进行检测,判断是否符合预设要求;上传计算模块600用于若需要上传的文件符合预设要求,则执行上传并计算上传带宽;续传模块800 用于若需要上传的文件不符合预设要求,则将需要续传的文件的分块大小发送至用户,执行续传操作。[〇〇68]此外,如图3,在一个实施例中,查询模块200包括:列表发送模块210和列表设置模块220。其中,列表发送模块210用于若查询到文件的上传编号,存储集群将文件已上传的各个分块的列表发送至用户;列表设置模块220用于若没有查询到文件的上传编号,存储集群将具有标识的唯一的上传编号发送至用户,并设置文件已上传的各个分块的列表为空。 [〇〇69]如图3,在一个实施例中,检测模块400包括:记录模块410和分块发送模块420。其中,记录模块410用于若上传的文件符合预设要求,记录与文件相关联的多个信息,其中,多个信息包括:用户发送的文件的上传请求时间、写入到磁盘的文件的大小、对文件写入到磁盘的结束时间;分块发送模块420用于若上传的文件不符合预设要求,则将需要上传的文件的分块大小发送至用户。
[0070]进一步的,如图3,在一个实施例中,上传计算模块600包括;计算模块610、判断模块620和判定模块630。其中,计算模块610用于根据用户发送的文件的上传请求时间、写入到磁盘的文件的大小、对文件写入到磁盘的结束时间计算用户上传文件的带宽;判断模块 620用于判断用户上传文件的带宽是否小于预设带宽;判定模块630用于当用户上传文件的带宽小于预设带宽时,判定为低速网络,当用户上传文件的带宽大于等于预设带宽时,判定为高速网络。其中,预设带宽为IMB/s。[〇〇71]更进一步的,如图3,在一个实施例中,续传模块800包括:第一续传模块810和分块设置模块820。其中,第一续传模块810用于当用户上传文件的带宽判定为低速网络时,需要续传的文件的分块大小为预设值,例如,预设值为1MB;分块设置模块820用于当用户上传文件的带宽判定为高速网络时,设置需要续传的文件的分块大小,并将设置信息发送至用户; 其中,用户接受设置信息,则按照设置的需要续传的文件的分块大小执行续传操作;用户不接受设置信息时,则将预设的所需要续传的文件的分块大小发送至存储集群。
[0072]上述数据的续传装置,通过查询模块200存储集群接收用户发送的文件查询请求, 执行查询操作;再通过检测模块400对查询到的需要上传的文件进行检测,判断是否符合预设要求;上传计算模块600若需要上传的文件符合预设要求,则执行上传并计算上传带宽; 续传模块800若需要上传的文件不符合预设要求,则将需要续传的文件的分块大小发送至用户,执行续传操作。上述数据的续传装置可适配用户的网络情况,避免用户反复重传已经传完的部分,节省用户流量。
[0073]应当理解的是,本公开的上述【具体实施方式】仅仅用于示例性说明或解释本公开的原理,而不构成对本公开的限制。因此,在不偏离本公开的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。此外,本公开所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
【主权项】
1.一种数据的续传方法,该方法包括:存储集群接收用户发送的文件查询请求,执行查询操作;对查询到的需要上传的所述文件进行检测,判断是否符合预设要求;若需要上传的所述文件符合所述预设要求,则执行上传并计算上传带宽;若需要上传的所述文件不符合所述预设要求,则将需要续传的所述文件的分块大小发 送至用户,执行续传操作。2.根据权利要求1所述的方法,其中,所述存储集群接收用户发送的文件查询请求,执 行查询操作包括:若查询到所述文件的上传编号,所述存储集群将所述文件已上传的各个分块的列表发 送至用户;若没有查询到所述文件的所述上传编号,所述存储集群将具有标识的唯一的所述上传 编号发送至用户,并设置所述文件已上传的各个分块的列表为空。3.根据权利要求1所述的方法,其中,所述对查询到的需要上传的所述文件进行检测, 判断是否符合预设要求包括:若上传的所述文件符合所述预设要求,记录与所述文件相关联的多个信息,其中,所述 多个信息包括:用户发送的所述文件的上传请求时间、写入到磁盘的所述文件的大小、对所 述文件写入到所述磁盘的结束时间;若上传的所述文件不符合所述预设要求,则将需要上传的所述文件的分块大小发送至用户。4.根据权利要求1所述的方法,其中,所述若需要上传的所述文件符合所述预设要求, 则执行上传并计算上传带宽包括;根据用户发送的所述文件的上传请求时间、写入到磁盘的所述文件的大小、对所述文 件写入到所述磁盘的结束时间计算用户上传所述文件的带宽;判断用户上传所述文件的所述带宽是否小于预设带宽;当用户上传所述文件的所述带宽小于所述预设带宽时,判定为低速网络,当用户上传 所述文件的所述带宽大于等于所述预设带宽时,判定为高速网络。5.根据权利要求1或4所述的方法,其中,所述若需要上传的所述文件不符合所述预设 要求,则将需要续传的所述文件的分块大小发送至用户,执行续传操作包括:当用户上传所述文件的所述带宽判定为低速网络时,需要续传的所述文件的分块大小 为预设值;当用户上传所述文件的所述带宽判定为高速网络时,设置需要续传的所述文件的分块 大小,并将设置信息发送至用户;其中,用户接受所述设置信息,则按照设置的需要续传的所述文件的分块大小执行续 传操作;用户不接受所述设置信息时,则将预设的所需要续传的所述文件的分块大小发送至所 述存储集群。6.—种数据的断点续传装置,包括:查询模块,用于存储集群接收用户发送的文件查询请求,执行查询操作;检测模块,用于对查询到的需要上传的所述文件进行检测,判断是否符合预设要求;上传计算模块,用于若需要上传的所述文件符合所述预设要求,则执行上传并计算上 传带宽;续传模块,用于若需要上传的所述文件不符合所述预设要求,则将需要续传的所述文 件的分块大小发送至用户,执行续传操作。7.根据权利要求6所述的装置,其中,所述查询模块包括:列表发送模块,用于若查询到所述文件的上传编号,所述存储集群将所述文件已上传 的各个分块的列表发送至用户;列表设置模块,用于若没有查询到所述文件的所述上传编号,所述存储集群将具有标 识的唯一的所述上传编号发送至用户,并设置所述文件已上传的各个分块的列表为空。8.根据权利要求6所述的装置,其中,所述检测模块包括:记录模块,用于若上传的所述文件符合所述预设要求,记录与所述文件相关联的多个 信息,其中,所述多个信息包括:用户发送的所述文件的上传请求时间、写入到磁盘的所述 文件的大小、对所述文件写入到所述磁盘的结束时间;分块发送模块,用于若上传的所述文件不符合所述预设要求,则将需要上传的所述文 件的分块大小发送至用户。9.根据权利要求6所述的装置,其中,所述上传计算模块包括;计算模块,用于根据用户发送的所述文件的上传请求时间、写入到磁盘的所述文件的 大小、对所述文件写入到所述磁盘的结束时间计算用户上传所述文件的带宽;判断模块,用于判断用户上传所述文件的所述带宽是否小于预设带宽;判定模块,用于当用户上传所述文件的所述带宽小于所述预设带宽时,判定为低速网 络,当用户上传所述文件的所述带宽大于等于所述预设带宽时,判定为高速网络。10.根据权利要求6或9所述的装置,其中,所述续传模块包括:第一续传模块,用于当用户上传所述文件的所述带宽判定为低速网络时,需要续传的 所述文件的分块大小为预设值;分块设置模块,用于当用户上传所述文件的所述带宽判定为高速网络时,设置需要续 传的所述文件的分块大小,并将设置信息发送至用户;其中,用户接受所述设置信息,则按照设置的需要续传的所述文件的分块大小执行续 传操作;用户不接受所述设置信息时,则将预设的所需要续传的所述文件的分块大小发送至所 述存储集群。
【文档编号】H04L29/08GK106027651SQ201610342281
【公开日】2016年10月12日
【申请日】2016年5月21日
【发明人】吴兴义
【申请人】乐视控股(北京)有限公司, 乐视云计算有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1