CN110535890A - 文件上传的方法和装置 - Google Patents
文件上传的方法和装置 Download PDFInfo
- Publication number
- CN110535890A CN110535890A CN201810502991.1A CN201810502991A CN110535890A CN 110535890 A CN110535890 A CN 110535890A CN 201810502991 A CN201810502991 A CN 201810502991A CN 110535890 A CN110535890 A CN 110535890A
- Authority
- CN
- China
- Prior art keywords
- file
- data volume
- uploaded
- storage server
- terminal
- 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
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/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/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
-
- 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
- H04L67/108—Resource delivery mechanisms characterised by resources being split in blocks or fragments
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种文件上传的方法和装置,属于计算机技术领域。所述方法包括:向管理服务器发送文件上传请求;当接收到所述管理服务器发送的携带有第一文件单元数据量和第一存储服务器列表的第一反馈消息时,如果所述反馈消息中还携带有分块指示信息,则基于所述第一存储服务器列表中存储服务器的数目,将所述待上传文件切分为所述数目的文件分块,基于所述第一文件单元数据量,分别将每个文件分块切分为多个文件单元;基于所述第一存储服务器列表,分别将不同文件分块中的文件单元上传至各存储服务器。采用本发明,可以减少浪费网络资源。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种文件上传的方法和装置。
背景技术
随着移动互联网的不断发展,云存储系统已成为一种较为普遍的文件存储设备。客户端将文件上传至云存储系统进行存储,云存储系统可以包括管理服务器和存储服务器,管理服务器用于对客户端的上传请求进行鉴权、对待上传文件分配存储服务器等操作,存储服务器可以有多个,用于存储客户端上传的文件。
在进行文件上传时,用户可以操作客户端对文件进行上传,客户端根据存储服务器的个数,将用户想要上传的文件切分成多个文件分块,然后将各个文件分块分别上传到各存储服务器中进行存储。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
当网络传输状态不稳定时,可能导致某个文件分块上传失败,这时需要重新上传整个文件分块,导致浪费了大量网络资源。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种文件上传的方法和装置。所述技术方案如下:
第一方面,提供了一种文件上传的方法,所述方法包括:
向管理服务器发送文件上传请求,其中,所述文件上传请求中携带有待上传文件的属性信息,所述属性信息包括所述待上传文件的数据量;
当接收到所述管理服务器发送的携带有第一文件单元数据量和第一存储服务器列表的第一反馈消息时,如果所述第一反馈消息中还携带有分块指示信息,则基于所述第一存储服务器列表中存储服务器的数目,将所述待上传文件切分为所述数目的文件分块,基于所述第一文件单元数据量,分别将每个文件分块切分为多个文件单元;
基于所述第一存储服务器列表,分别将不同文件分块中的文件单元上传至各存储服务器。
可选地,所述待上传文件是初始文件经过压缩处理得到的文件;
所述向管理服务器发送文件上传请求之前,还包括:
当检测到文件上传指令时,获取所述初始文件的数据量;
根据所述数据量,对所述初始文件进行压缩处理,得到所述待上传文件;
确定所述待上传文件的数据量。
可选地,所述属性信息还包括所述待上传文件的文件类型。
可选地,所述方法还包括:
当接收到所述管理服务器发送的携带有第二文件单元数据量和第二存储服务器列表的第二反馈消息时,如果所述第二反馈信息中还携带有不分块指示信息,则基于所述第二文件单元数据量,将所述待上传文件切分为多个文件单元;
基于所述第二存储服务器列表,分别将不同文件单元上传至各存储服务器。
第二方面,提供了一种文件上传的方法,所述方法包括:
接收终端发送的文件上传请求,其中,所述文件上传请求携带有待上传文件的属性信息,所述属性信息包括所述待上传文件的数据量;
获取第一存储服务器列表,如果所述数据量与所述第一存储服务器列表中存储服务器的数目的商大于预设的第二文件单元数据量,则根据文件的数据量范围和文件单元数据量的对应关系,确定所述待上传文件的数据量所属的数据量范围对应的第一文件单元数据量;
向所述终端发送第一反馈消息,其中,所述第一反馈消息中携带有所述第一文件单元数据量、所述第一存储服务器列表以及分块指示信息。
可选地,所述属性信息还包括所述待上传文件的文件类型;
所述根据文件的数据量范围和文件单元数据量的对应关系,确定所述待上传文件的数据量所属的数据量范围对应的第一文件单元数据量,包括:
根据文件的数据量范围、文件类型以及文件单元数据量三者之间的对应关系,以及所述待上传文件的数据量所属的数据量范围和所述待上传文件的文件类型,确定对应的第一文件单元数据量。
可选地,所述方法还包括:
如果所述数据量与所述第一存储服务器列表中存储服务器的数目的商不大于所述第二文件单元数据量,则根据所述数据量与所述第二文件单元数据量的比值,在所述第一存储服务器列表中选取存储服务器,得到第二存储服务器列表;
向所述终端发送第二反馈消息,其中,所述第二反馈消息中携带有所述第二文件单元数据量、所述第二存储服务器列表以及不分块指示信息。
第三方面,提供了一种文件上传的装置,所述装置包括:
发送模块,用于向管理服务器发送文件上传请求,其中,所述文件上传请求中携带有待上传文件的属性信息,所述属性信息包括所述待上传文件的数据量;
第一切分模块,用于当接收到所述管理服务器发送的携带有第一文件单元数据量和第一存储服务器列表的第一反馈消息时,如果所述第一反馈消息中还携带有分块指示信息,则基于所述第一存储服务器列表中存储服务器的数目,将所述待上传文件切分为所述数目的文件分块,基于所述第一文件单元数据量,分别将每个文件分块切分为多个文件单元;
第一上传模块,用于基于所述第一存储服务器列表,分别将不同文件分块中的文件单元上传至各存储服务器。
可选地,所述待上传文件是初始文件经过压缩处理得到的文件;
所述装置还包括:
获取模块,用于向管理服务器发送文件上传请求之前,当检测到文件上传指令时,获取所述初始文件的数据量;
压缩模块,用于根据所述数据量,对所述初始文件进行压缩处理,得到所述待上传文件;
确定模块,用于确定所述待上传文件的数据量。
可选地,所述属性信息还包括所述待上传文件的文件类型。
可选地,所述终端还包括:
第二切分模块,用于当接收到所述管理服务器发送的携带有第二文件单元数据量和第二存储服务器列表的第二反馈消息时,如果所述第二反馈信息中还携带有不分块指示信息,则基于所述第二文件单元数据量,将所述待上传文件切分为多个文件单元;
第二上传模块,用于基于所述第二存储服务器列表,分别将不同文件单元上传至各存储服务器。
第四方面,提供了一种文件上传的装置,所述装置包括:
接收模块,用于接收终端发送的文件上传请求,其中,所述文件上传请求携带有待上传文件的属性信息,所述属性信息包括所述待上传文件的数据量;
确定模块,用于获取第一存储服务器列表,如果所述数据量与所述第一存储服务器列表中存储服务器的数目的商大于预设的第二文件单元数据量,则根据文件的数据量范围和文件单元数据量的对应关系,确定所述待上传文件的数据量所属的数据量范围对应的第一文件单元数据量;
第一发送模块,用于向所述终端发送第一反馈消息,其中,所述第一反馈消息中携带有所述第一文件单元数据量、所述第一存储服务器列表以及分块指示信息。
可选地,所述属性信息还包括所述待上传文件的文件类型;
所述确定模块,用于:
根据文件的数据量范围、文件类型以及文件单元数据量三者之间的对应关系,以及所述待上传文件的数据量所属的数据量范围和所述待上传文件的文件类型,确定对应的第一文件单元数据量。
可选地,所述装置还包括:
选取模块,用于如果所述数据量与所述第一存储服务器列表中存储服务器的数目的商不大于所述第二文件单元数据量,则根据所述数据量与所述第二文件单元数据量的比值,在所述第一存储服务器列表中选取存储服务器,得到第二存储服务器列表;
第二发送模块,用于向所述终端发送第二反馈消息,其中,所述第二反馈消息中携带有所述第二文件单元数据量、所述第二存储服务器列表以及不分块指示信息。
第五方面,提供了一种终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述第一方面所述的文件上传的方法。
第六方面,提供了一种服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述第二方面所述的文件上传的方法。
第七方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述第一方面或第二方面所述的文件上传的方法。
本发明实施例提供的技术方案带来的有益效果至少包括:
本发明实施例中,将待上传文件切分为文件分块,再将每个文件分块切分为数据量更小的文件单元,将每个文件分块中的文件单元上传至对应的存储服务器,如果出现网络传输状态不稳定,会导致某个文件单元上传失败,这时只需要将该文件单元重新上传,由于文件单元的数据量较小,可以减少重新上传导致的网络资源浪费。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种文件上传的方法的流程图;
图2是本发明实施例提供的一种文件上传的方法的流程图;
图3是本发明实施例提供的一种文件上传的方法的流程图;
图4是本发明实施例提供的一种文件上传的方法的示意图;
图5是本发明实施例提供的一种文件上传的方法的示意图;
图6是本发明实施例提供的一种文件上传的装置的结构示意图;
图7是本发明实施例提供的一种文件上传的装置的结构示意图;
图8是本发明实施例提供的一种文件上传的装置的结构示意图;
图9是本发明实施例提供的一种文件上传的装置的结构示意图;
图10是本发明实施例提供的一种文件上传的装置的结构示意图;
图11是本发明实施例提供的一种终端结构示意图;
图12是本发明实施例提供的一种服务器结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供了一种文件上传的方法,该方法可以由终端和服务器共同实现。
服务器可以包括处理器、存储器、收发器等部件。处理器,可以为CPU(CentralProcessing Unit,中央处理单元)等,可以用于获取存储服务器列表、确定文件单元数据量等处理。存储器,可以为RAM(Random Access Memory,随机存取存储器),Flash(闪存)等,可以用于存储接收到的数据、处理过程所需的数据、处理过程中生成的数据等,如文件上传请求、存储服务器列表、文件的数据量范围和文件单元数据量的对应关系、文件单元数据量、分块指示信息等。收发器,可以用于与终端或其它服务器(如定位服务器)进行数据传输,例如,向终端发送反馈消息,收发器可以包括天线、匹配电路、调制解调器等。
终端可以包括处理器、存储器、屏幕等部件。处理器,可以为CPU(CentralProcessing Unit,中央处理单元)等,可以用于发送文件上传请求、将待上传文件切分为文件分块、将文件分块切分为文件单元等处理。存储器,可以为RAM(Random Access Memory,随机存取存储器),Flash(闪存)等,可以用于存储接收到的数据、处理过程所需的数据、处理过程中生成的数据等,如文件上传请求、存储服务器列表、文件的数据量范围和文件单元数据量的对应关系、文件单元数据量、分块指示信息等。屏幕可以用于显示上传界面等。终端还可以包括收发器、图像检测部件、音频输出部件和音频输入部件等。收发器,可以用于与其它设备进行数据传输,例如,接收服务器发送的反馈消息,可以包括天线、匹配电路、调制解调器等。图像检测部件可以是摄像头等。音频输出部件可以是音箱、耳机等。音频输入部件可以是麦克风等。
如图1所示,该方法的处理流程可以包括如下的步骤:
在步骤101中,向管理服务器发送文件上传请求。
其中,文件上传请求中携带有待上传文件的属性信息,属性信息包括待上传文件的数据量。
在步骤102中,当接收到管理服务器发送的携带有第一文件单元数据量和第一存储服务器列表的第一反馈消息时,如果第一反馈消息中还携带有分块指示信息,则基于第一存储服务器列表中存储服务器的数目,将待上传文件切分为数目的文件分块,基于第一文件单元数据量,分别将每个文件分块切分为多个文件单元。
在步骤103中,基于第一存储服务器列表,分别将不同文件分块中的文件单元上传至各存储服务器。
本发明实施例中,将待上传文件切分为文件分块,再将每个文件分块切分为数据量更小的文件单元,将每个文件分块中的文件单元上传至对应的存储服务器,如果出现网络传输状态不稳定导致某个文件单元上传失败的情况,只需要将该文件单元重新上传,由于文件单元的数据量较小,可以减少重新上传导致的网络资源浪费。
如图2所示,该方法的处理流程可以包括如下的步骤:
在步骤201中,接收终端发送的文件上传请求。
其中,文件上传请求携带有待上传文件的属性信息,属性信息包括待上传文件的数据量。
在步骤202中,获取第一存储服务器列表,如果数据量与第一存储服务器列表中存储服务器的数目的商大于预设的第二文件单元数据量,则根据文件的数据量范围和文件单元数据量的对应关系,确定待上传文件的数据量所属的数据量范围对应的第一文件单元数据量。
在步骤203中,向终端发送第一反馈消息,其中,第一反馈消息中携带有第一文件单元数据量、第一存储服务器列表以及分块指示信息。
本发明实施例中,将待上传文件切分为文件分块,再将每个文件分块切分为数据量更小的文件单元,将每个文件分块中的文件单元上传至对应的存储服务器,如果出现网络传输状态不稳定导致某个文件单元上传失败的情况,只需要将该文件单元重新上传,由于文件单元的数据量较小,可以减少重新上传导致的网络资源浪费。
如图3所示,该方法的处理流程可以包括如下的步骤:
在步骤301中,终端向管理服务器发送文件上传请求。
其中,文件上传请求中携带有待上传文件的属性信息,属性信息包括待上传文件的数据量。
一个可能的实施例中,当用户想要通过操作终端上安装的客户端,上传文件到云存储系统时,用户可以在客户端界面中,选择想要上传的文件,然后点击上传选项,触发终端向管理服务器发送文件上传请求,该文件上传请求中携带有待上传文件的属性信息,属性信息可以包括待上传文件的数据量,即待上传文件的文件大小。
可选地,上述待上传文件可以是用户想要上传的初始文件经过压缩处理得到的文件,初始文件的压缩过程可以如下:当检测到文件上传指令时,终端获取初始文件的数据量;根据数据量,终端对初始文件进行压缩处理,得到待上传文件;确定待上传文件的数据量。
一个可能的实施例中,用户在客户端界面中,选择想要上传的文件(即初始文件),点击上传选项后,终端获取初始文件的数据量,并获取预设的数据量阈值,将初始文件的数据量与数据量阈值进行比较。
如果数据量大于数据量阈值,说明该初始文件的数据量较大,这种情况下,压缩率和压缩时长这两个因素中,压缩率对整体压缩效率的影响更大,因此,终端设定当数据量大于数据量阈值时,采用压缩率更高的RAR(Roshal Archive,一种压缩算法)压缩算法,对初始文件进行压缩,得到压缩后的文件,即为待上传文件,并确定待上传文件的数据量。
如果数据量不大于数据量阈值,说明该初始文件的数据量较小,这种情况下,压缩率和压缩时长这两个因素中,压缩时长对整体压缩效率的影响更大,因此,终端设定当数据量不大于数据量阈值时,采用压缩时长较短的Zip(一种压缩文件算法)压缩算法,对初始文件进行压缩,得到压缩后的文件,即为待上传文件,并确定待上传文件的数据量。
为了进一步提高整体压缩效率,在上述压缩处理步骤的基础上,还可以根据初始文件的文件类型预先对初始文件进行分类,然后根据不同的文件类型对初始文件进行不同的压缩处理。例如,文本类型的文件压缩比例较大,即经过压缩处理的文本文件数据量会比压缩前的文本文件的数据量小很多,而视频类型、音频类型和图片类型的文件压缩比例较小,因此,如果初始文件的文件类型是文本类型,则对初始文件进行压缩,压缩的处理过程可以参照上述步骤进行处理;如果初始文件的文件类型是视频类型、或音频类型、或图片类型,则不对初始文件进行压缩,这种情况下,初始文件即为待上传文件,初始文件的数据量即为待上传文件的数据量。
需要说明的是,根据初始文件的文件类型进行不同的压缩处理时,根据用户的实际需求还可以有其他不同的分类方法,上述方法只是其中一个例子,本发明对此不做限定。
在步骤302中,管理服务器接收终端发送的文件上传请求。
在步骤303中,管理服务器获取第一存储服务器列表,如果数据量与第一存储服务器列表中存储服务器的数目的商大于预设的第二文件单元数据量,则根据文件的数据量范围和文件单元数据量的对应关系,管理服务器确定待上传文件的数据量所属的数据量范围对应的第一文件单元数据量。
一个可能的实施例中,管理服务器接收终端发送的文件上传请求后,触发管理服务器获取可用的存储服务器生成的存储服务器列表(即第一存储服务器列表),确定第一存储服务器列表中的存储服务器的数目,计算待上传文件的数据量与存储服务器的数目的商,将得到的结果与预设的文件单元数据量(即第二文件单元数据量)进行对比,如果得到的商大于预设的第二文件单元数据量,则获取文件的数据量范围和文件单元数据量的对应关系,该对应关系是技术人员预先设置并以对应关系表的形式存储在管理服务器中的,该对应关系表的形式可以如下表1所示。
表1
文件的数据量范围 | 文件单元数据量 |
(0,64] | 1M |
(64,+∞) | 2M |
根据上表,确定待上传文件的文件数据量所属的数据量范围,然后确定该数据量范围对应的文件单元数据量(即第一文件单元数据量)。例如,假设待上传文件的数据量为32M,则根据上述表1可以确定该数据量所属的数据量范围为(0,64],且该数据量范围对应的文件单元数据量为1M,因此可以确定待上传文件的数据量对应的第一文件单元数量为1M。
可选地,如果数据量与第一存储服务器列表中存储服务器的数目的商不大于第二文件单元数据量,则根据数据量与第二文件单元数据量的比值,在第一存储服务器列表中选取存储服务器,得到第二存储服务器列表;向终端发送第二反馈消息,其中,第二反馈消息中携带有第二文件单元数据量、第二存储服务器列表以及不分块指示信息。
其中,不分块指示信息用于指示终端直接将待上传文件切分成文件单元,而无需将待上传文件先切分成文件分块,再将每个文件分块切分成文件单元。第一存储服务器列表用于可以包括存储服务器的设备标识信息。
一个可能的实施例中,如果计算得到的待上传文件的数据量与存储服务器的数目的商不大于预设的第二文件单元数据量,说明待上传文件的数据量比较小,如果将待上传文件先切分成文件分块,再将每个文件分块切分成文件单元,得到的文件单元会很小,既增加了处理时间,降低上传效率,又占用了更多的存储空间,因此这种情况下,可以将待上传文件直接按照第二文件单元数据魁昂切分成文件单元。
计算待上传文件的数据量与第二文件单元数据量的比值,得到所需的存储服务器的数目。计算得到的比值有可能是一个正整数,则该正整数记为所需的存储服务器的数目;计算得到的比值也有可能不是正整数,而是一个小数,这种情况下,根据得到的小数取整,然后将取整得到的整数加1,得到的数值即为所需的存储服务器的数目。然后根据负载平衡原则,在可用的存储服务器中,选择得到的数目个负载相对较小的存储服务器,根据选取得到的存储服务器生成第二存储服务器列表,该第二存储服务器列表中可以包括存储服务器的设备标识信息。
然后管理服务器向终端发送反馈信息(即第二反馈消息),该第二反馈消息中可以包括第二文件单元数据第二存储服务器列表和不分块指示信息。
可选地,待上传文件的属性信息除了包括上述待上传文件的数据量,还可以包括待上传文件的文件类型。这种情况下,可以根据待上传文件的数据量和文件类型共同确定待上传文件对应的文件单元数据量,相应的处理步骤可以如下:根据文件的数据量范围、文件类型以及文件单元数据量三者之间的对应关系,以及待上传文件的数据量所属的数据量范围和待上传文件的文件类型,确定对应的第一文件单元数据量。
一个可能的实施例中,为了得到更合理的切分方式,技术人员可以将经过大量试验得到的文件的数据量范围、文件类型以及文件单元数据量三者之间的对应关系,存储在管理服务器中,该对应关系可以是以对应关系表的形式进行存储,如下表2所示。
表2
文件类型 | 文件的数据量范围 | 文件单元数据量 |
视频类型 | (0,64] | 1M |
视频类型 | (64,+∞) | 2M |
文本类型 | (0,256] | 1M |
文本类型 | (256,+∞) | 2M |
根据上表,确定待上传文件的数据量所属的数据量范围以及文件类型对应的第一文件单元数据量,例如,待上传文件的数据类型为文本类型,数据量为16M,则可以确定该待上传文件对应的第一文件单元数据量为1M。
在步骤304中,管理服务器向终端发送第一反馈消息。其中,反馈消息中携带有第一文件单元数据量、第一存储服务器列表以及分块指示信息。指示分块信息用于指示终端将待上传文件先切分成文件分块,再将文件分块按照第一文件单元数据量切分成文件单元。
在步骤305中,当终端接收到管理服务器发送的携带有第一文件单元数据量和第一存储服务器列表的第一反馈消息时,如果第一反馈消息中还携带有分块指示信息,则终端基于第一存储服务器列表中存储服务器的数目,将待上传文件切分为数目的文件分块,基于第一文件单元数据量,分别将每个文件分块切分为多个文件单元。
一个可能的实施例中,管理服务器将第一反馈信息发送给终端后,终端接收携带有第一文件单元数据量、第一存储服务器列表以及分块指示信息的第一反馈消息,并获取第一文件单元数据量、第一存储服务器列表和分块指示信息。然后,确定第一存储服务器列表中的存储服务器的数目(可称为第一数目)。
根据分块指示信息,将待上传文件切分为第一数目个文件分块,得到第一数目个文件分块,每个文件分块的数据量为待上传文件的数据量与存储服务器的比值。如图4所示,然后,按照第一文件单元数据量对每个文件分块进行切分,得到多个文件单元,举例来说,假设得到N个文件单元,则N-1个文件单元的数据量一定等于第一文件单元数据量,最后一个文件单元的数据量可能会小于第一文件单元数据量。
在步骤306中,终端基于第一存储服务器列表,分别将不同文件分块中的文件单元上传至各存储服务器。
一个可能的实施例中,得到多个文件单元后,终端获取第一存储服务器列表,并确定第一存储服务器列表中的各存储服务器的设备标识信息,确定每个文件分块对应的存储服务器的设备标识信息,根据设备标识信息,将不同的文件分块中的文件单元上传至对应的存储服务器。
需要说明的是,如果在文件单元上传过程中,由于网络传输不稳定等原因,导致某文件单元(即目标文件单元)上传失败,则终端可以检测到携带有该目标文件单元的标识信息的上传失败通知消息,终端根据该标识信息获取对应的目标文件单元,并获取该目标文件单元对应的存储服务器的设备标识信息,然后,将该目标文件单元重新上传至该存储服务器。
可选地,除了上述情况外,终端有可能接收到管理服务器发送的携带有不分块指示信息的第二反馈消息,相应的处理步骤可以如下:当接收到管理服务器发送的携带有第二文件单元数据量和第二存储服务器列表的第二反馈消息时,如果第二反馈信息中还携带有不分块指示信息,则基于第二文件单元数据量,将待上传文件切分为多个文件单元;基于第二存储服务器列表,分别将不同文件单元上传至各存储服务器。
一个可能的实施例中,当管理服务器向终端发送携带有第二文件单元数据量、第二存储服务器列表和不分块指示信息的第二反馈消息时,终端接收第二反馈消息,并获取其中的第二文件单元数据量、第二存储服务器列表和不分块指示信息。如图5所示,根据不分块指示信息,终端按照第二文件单元数据量,将待上传文件切分为多个文件单元,假设得到N个文件单元,则前N-1个文件单元的数据量为第二文件单元数据量,最后一个文件单元的数据量可能小于或等于第二文件单元数据量。
得到多个文件单元后,按照第二存储服务器列表确定给每个文件单元分配的存储服务器,并获取该存储服务器的设备标识信息,根据设备标识信息终端将每个文件单元上传到对应的存储服务器中。
需要说明的是,在上述终端将不同文件分块上传至各存储服务器之前,按照文件分块的顺序,给每个文件分块标记排列序号,在将标记了排列序号的文件分块以及文件分块所属的文件标识上传至各存储服务器,存储服务器存储接收到的文件分块或文件单元。当接收到终端发送的携带有文件标识的文件下载请求时,管理服务器向存储服务器发送下载指示信息,该下载指示信息指示存储服务器将带有文件标识的文件分块发送至终端,终端接收到各文件分块后,按照文件分块的排列序号排列各文件分块,生成完整的文件。
本发明实施例中,将待上传文件切分为文件分块,再将每个文件分块切分为数据量更小的文件单元,将每个文件分块中的文件单元上传至对应的存储服务器,如果出现网络传输状态不稳定,会导致某个文件单元上传失败,这时只需要将该文件单元重新上传,由于文件单元的数据量较小,可以减少重新上传导致的网络资源浪费。
基于相同的技术构思,本发明实施例还提供了一种文件上传的装置,该装置可以为上述实施例中的终端,如图6所示,该装置包括:发送模块610、第一切分模块620和第一上传模块630。
发送模块610,被配置为向管理服务器发送文件上传请求,其中,所述文件上传请求中携带有待上传文件的属性信息,所述属性信息包括所述待上传文件的数据量;
第一切分模块620,被配置为当接收到所述管理服务器发送的携带有第一文件单元数据量和第一存储服务器列表的第一反馈消息时,如果所述第一反馈消息中还携带有分块指示信息,则基于所述第一存储服务器列表中存储服务器的数目,将所述待上传文件切分为所述数目的文件分块,基于所述第一文件单元数据量,分别将每个文件分块切分为多个文件单元;
第一上传模块630,被配置为基于所述第一存储服务器列表,分别将不同文件分块中的文件单元上传至各存储服务器。
可选地,所述待上传文件是初始文件经过压缩处理得到的文件;
如图7所示,所述装置还包括:
获取模块640,被配置为向管理服务器发送文件上传请求之前,当检测到文件上传指令时,获取所述初始文件的数据量;
压缩模块650,被配置为根据所述数据量,对所述初始文件进行压缩处理,得到所述待上传文件;
确定模块660,被配置为确定所述待上传文件的数据量。
可选地,所述属性信息还包括所述待上传文件的文件类型。
可选地,如图8所示,所述装置还包括:
第二切分模块670,被配置为当接收到所述管理服务器发送的携带有第二文件单元数据量和第二存储服务器列表的第二反馈消息时,如果所述第二反馈信息中还携带有不分块指示信息,则基于所述第二文件单元数据量,将所述待上传文件切分为多个文件单元;
第二上传模块680,被配置为基于所述第二存储服务器列表,分别将不同文件单元上传至各存储服务器。
基于相同的技术构思,本发明实施例还提供了一种文件上传的装置,该装置可以为上述实施例中的服务器,如图9所示,该装置包括:接收模块910,确定模块920和第一发送模块930。
接收模块910,被配置为接收终端发送的文件上传请求,其中,所述文件上传请求携带有待上传文件的属性信息,所述属性信息包括所述待上传文件的数据量;
确定模块920,被配置为获取第一存储服务器列表,如果所述数据量与所述第一存储服务器列表中存储服务器的数目的商大于预设的第二文件单元数据量,则根据文件的数据量范围和文件单元数据量的对应关系,确定所述待上传文件的数据量所属的数据量范围对应的第一文件单元数据量;
第一发送模块930,被配置为向所述装置发送第一反馈消息,其中,所述第一反馈消息中携带有所述第一文件单元数据量、所述第一存储服务器列表以及分块指示信息。
可选地,所述属性信息还包括所述待上传文件的文件类型;
所述确定模块920,被配置为:
根据文件的数据量范围、文件类型以及文件单元数据量三者之间的对应关系,以及所述待上传文件的数据量所属的数据量范围和所述待上传文件的文件类型,确定对应的第一文件单元数据量。
可选地,如图10所示,所述装置还包括:
选取模块940,被配置为如果所述数据量与所述第一存储服务器列表中存储服务器的数目的商不大于所述第二文件单元数据量,则根据所述数据量与所述第二文件单元数据量的比值,在所述第一存储服务器列表中选取存储服务器,得到第二存储服务器列表;
第二发送模块950,被配置为向所述装置发送第二反馈消息,其中,所述第二反馈消息中携带有所述第二文件单元数据量、所述第二存储服务器列表以及不分块指示信息。
本发明实施例中,将待上传文件切分为文件分块,再将每个文件分块切分为数据量更小的文件单元,将每个文件分块中的文件单元上传至对应的存储服务器,如果出现网络传输状态不稳定,会导致某个文件单元上传失败,这时只需要将该文件单元重新上传,由于文件单元的数据量较小,可以减少重新上传导致的网络资源浪费。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
需要说明的是:上述实施例提供的文件上传的装置在文件上传时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的文件上传的装置与文件上传的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图11是本发明实施例提供的一种终端的结构框图。该终端1100可以是便携式移动终端,比如:智能手机、平板电脑。终端1100还可能被称为用户设备、便携式终端等其他名称。
通常,终端1100包括有:处理器1101和存储器1102。
处理器1101可以包括一个或多个处理核心,比如4核心处理器、11核心处理器等。处理器1101可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1101也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1101可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1101还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1102可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是有形的和非暂态的。存储器1102还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1102中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1101所执行以实现本申请中提供的文件上传的方法。
在一些实施例中,终端1100还可选包括有:外围设备接口1103和至少一个外围设备。具体地,外围设备包括:射频电路1104、触摸显示屏1105、摄像头1106、音频电路1107、定位组件1108和电源1109中的至少一种。
外围设备接口1103可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1101和存储器1102。在一些实施例中,处理器1101、存储器1102和外围设备接口1103被集成在同一芯片或电路板上;在一些其他实施例中,处理器1101、存储器1102和外围设备接口1103中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1104用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1104通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1104将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1104包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1104可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1104还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
触摸显示屏1105用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。触摸显示屏1105还具有采集在触摸显示屏1105的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1101进行处理。触摸显示屏1105用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,触摸显示屏1105可以为一个,设置终端1100的前面板;在另一些实施例中,触摸显示屏1105可以为至少两个,分别设置在终端1100的不同表面或呈折叠设计;在再一些实施例中,触摸显示屏1105可以是柔性显示屏,设置在终端1100的弯曲表面上或折叠面上。甚至,触摸显示屏1105还可以设置成非矩形的不规则图形,也即异形屏。触摸显示屏1105可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1106用于采集图像或视频。可选地,摄像头组件1106包括前置摄像头和后置摄像头。通常,前置摄像头用于实现视频通话或自拍,后置摄像头用于实现照片或视频的拍摄。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能,主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能。在一些实施例中,摄像头组件1106还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1107用于提供用户和终端1100之间的音频接口。音频电路1107可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1101进行处理,或者输入至射频电路1104以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1100的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1101或射频电路1104的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1107还可以包括耳机插孔。
定位组件1108用于定位终端1100的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件1108可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源1109用于为终端1100中的各个组件进行供电。电源1109可以是交流电、直流电、一次性电池或可充电电池。当电源1109包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端1100还包括有一个或多个传感器1110。该一个或多个传感器1110包括但不限于:加速度传感器1111、陀螺仪传感器1112、压力传感器1113、指纹传感器1114、光学传感器1115以及接近传感器1116。
加速度传感器1111可以检测以终端1100建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1111可以用于检测重力加速度在三个坐标轴上的分量。处理器1101可以根据加速度传感器1111采集的重力加速度信号,控制触摸显示屏1105以横向视图或纵向视图进行用户界面的显示。加速度传感器1111还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1112可以检测终端1100的机体方向及转动角度,陀螺仪传感器1112可以与加速度传感器1111协同采集用户对终端1100的3D动作。处理器1101根据陀螺仪传感器1112采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1113可以设置在终端1100的侧边框和/或触摸显示屏1105的下层。当压力传感器1113设置在终端1100的侧边框时,可以检测用户对终端1100的握持信号,根据该握持信号进行左右手识别或快捷操作。当压力传感器1113设置在触摸显示屏1105的下层时,可以根据用户对触摸显示屏1105的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1114用于采集用户的指纹,以根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1101授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1114可以被设置终端1100的正面、背面或侧面。当终端1100上设置有物理按键或厂商Logo时,指纹传感器1114可以与物理按键或厂商Logo集成在一起。
光学传感器1115用于采集环境光强度。在一个实施例中,处理器1101可以根据光学传感器1115采集的环境光强度,控制触摸显示屏1105的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1105的显示亮度;当环境光强度较低时,调低触摸显示屏1105的显示亮度。在另一个实施例中,处理器1101还可以根据光学传感器1115采集的环境光强度,动态调整摄像头组件1106的拍摄参数。
接近传感器1116,也称距离传感器,通常设置在终端1100的正面。接近传感器1116用于采集用户与终端1100的正面之间的距离。在一个实施例中,当接近传感器1116检测到用户与终端1100的正面之间的距离逐渐变小时,由处理器1101控制触摸显示屏1105从亮屏状态切换为息屏状态;当接近传感器1116检测到用户与终端1100的正面之间的距离逐渐变大时,由处理器1101控制触摸显示屏1105从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图11中示出的结构并不构成对终端1100的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本发明实施例中,将待上传文件切分为文件分块,再将每个文件分块切分为数据量更小的文件单元,将每个文件分块中的文件单元上传至对应的存储服务器,如果出现网络传输状态不稳定,会导致某个文件单元上传失败,这时只需要将该文件单元重新上传,由于文件单元的数据量较小,可以减少重新上传导致的网络资源浪费。
在示例性实施例中,还提供了一种计算机可读存储介质,存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述实施例中的识别动作类别的方法。例如,所述计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
图12是本发明实施例提供的一种服务器的结构示意图,该服务器可以是上述实施例中的管理服务器。该服务器1200可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)1201和一个或一个以上的存储器1202,其中,所述存储器1202中存储有至少一条指令,所述至少一条指令由所述处理器1201加载并执行以实现下述文件上传的方法步骤:
接收终端发送的文件上传请求,其中,所述文件上传请求携带有待上传文件的属性信息,所述属性信息包括所述待上传文件的数据量;
获取第一存储服务器列表,如果所述数据量与所述第一存储服务器列表中存储服务器的数目的商大于预设的第二文件单元数据量,则根据文件的数据量范围和文件单元数据量的对应关系,确定所述待上传文件的数据量所属的数据量范围对应的第一文件单元数据量;
向所述终端发送第一反馈消息,其中,所述反馈消息中携带有所述第一文件单元数据量、所述第一存储服务器列表以及分块指示信息。
可选的,所述至少一条指令由所述处理器1201加载并执行以实现下述方法步骤:
根据文件的数据量范围、文件类型以及文件单元数据量三者之间的对应关系,以及所述待上传文件的数据量所属的数据量范围和所述待上传文件的文件类型,确定对应的第一文件单元数据量。
可选的,所述至少一条指令由所述处理器1201加载并执行以实现下述方法步骤:
如果所述数据量与所述第一存储服务器列表中存储服务器的数目的商不大于所述第二文件单元数据量,则根据所述数据量与所述第二文件单元数据量的比值,在所述第一存储服务器列表中选取存储服务器,得到第二存储服务器列表;
向所述终端发送第二反馈消息,其中,所述第二反馈消息中携带有所述第二文件单元数据量、所述第二存储服务器列表以及不分块指示信息。
本发明实施例中,将待上传文件切分为文件分块,再将每个文件分块切分为数据量更小的文件单元,将每个文件分块中的文件单元上传至对应的存储服务器,如果出现网络传输状态不稳定,会导致某个文件单元上传失败,这时只需要将该文件单元重新上传,由于文件单元的数据量较小,可以减少重新上传导致的网络资源浪费。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (17)
1.一种文件上传的方法,其特征在于,所述方法包括:
向管理服务器发送文件上传请求,其中,所述文件上传请求中携带有待上传文件的属性信息,所述属性信息包括所述待上传文件的数据量;
当接收到所述管理服务器发送的携带有第一文件单元数据量和第一存储服务器列表的第一反馈消息时,如果所述第一反馈消息中还携带有分块指示信息,则基于所述第一存储服务器列表中存储服务器的数目,将所述待上传文件切分为所述数目的文件分块,基于所述第一文件单元数据量,分别将每个文件分块切分为多个文件单元;
基于所述第一存储服务器列表,分别将不同文件分块中的文件单元上传至各存储服务器。
2.根据权利要求1所述的方法,其特征在于,所述待上传文件是初始文件经过压缩处理得到的文件;
所述向管理服务器发送文件上传请求之前,还包括:
当检测到文件上传指令时,获取所述初始文件的数据量;
根据所述数据量,对所述初始文件进行压缩处理,得到所述待上传文件;
确定所述待上传文件的数据量。
3.根据权利要求1所述的方法,其特征在于,所述属性信息还包括所述待上传文件的文件类型。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当接收到所述管理服务器发送的携带有第二文件单元数据量和第二存储服务器列表的第二反馈消息时,如果所述第二反馈信息中还携带有不分块指示信息,则基于所述第二文件单元数据量,将所述待上传文件切分为多个文件单元;
基于所述第二存储服务器列表,分别将不同文件单元上传至各存储服务器。
5.一种文件上传的方法,其特征在于,所述方法包括:
接收终端发送的文件上传请求,其中,所述文件上传请求携带有待上传文件的属性信息,所述属性信息包括所述待上传文件的数据量;
获取第一存储服务器列表,如果所述数据量与所述第一存储服务器列表中存储服务器的数目的商大于预设的第二文件单元数据量,则根据文件的数据量范围和文件单元数据量的对应关系,确定所述待上传文件的数据量所属的数据量范围对应的第一文件单元数据量;
向所述终端发送第一反馈消息,其中,所述第一反馈消息中携带有所述第一文件单元数据量、所述第一存储服务器列表以及分块指示信息。
6.根据权利要求5所述的方法,其特征在于,所述属性信息还包括所述待上传文件的文件类型;
所述根据文件的数据量范围和文件单元数据量的对应关系,确定所述待上传文件的数据量所属的数据量范围对应的第一文件单元数据量,包括:
根据文件的数据量范围、文件类型以及文件单元数据量三者之间的对应关系,以及所述待上传文件的数据量所属的数据量范围和所述待上传文件的文件类型,确定对应的第一文件单元数据量。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
如果所述数据量与所述第一存储服务器列表中存储服务器的数目的商不大于所述第二文件单元数据量,则根据所述数据量与所述第二文件单元数据量的比值,在所述第一存储服务器列表中选取存储服务器,得到第二存储服务器列表;
向所述终端发送第二反馈消息,其中,所述第二反馈消息中携带有所述第二文件单元数据量、所述第二存储服务器列表以及不分块指示信息。
8.一种文件上传的终端,其特征在于,所述终端包括:
发送模块,用于向管理服务器发送文件上传请求,其中,所述文件上传请求中携带有待上传文件的属性信息,所述属性信息包括所述待上传文件的数据量;
第一切分模块,用于当接收到所述管理服务器发送的携带有第一文件单元数据量和第一存储服务器列表的第一反馈消息时,如果所述第一反馈消息中还携带有分块指示信息,则基于所述第一存储服务器列表中存储服务器的数目,将所述待上传文件切分为所述数目的文件分块,基于所述第一文件单元数据量,分别将每个文件分块切分为多个文件单元;
第一上传模块,用于基于所述第一存储服务器列表,分别将不同文件分块中的文件单元上传至各存储服务器。
9.根据权利要求8所述的终端,其特征在于,所述待上传文件是初始文件经过压缩处理得到的文件;
所述装置还包括:
获取模块,用于向管理服务器发送文件上传请求之前,当检测到文件上传指令时,获取所述初始文件的数据量;
压缩模块,用于根据所述数据量,对所述初始文件进行压缩处理,得到所述待上传文件;
确定模块,用于确定所述待上传文件的数据量。
10.根据权利要求8所述的终端,其特征在于,所述属性信息还包括所述待上传文件的文件类型。
11.根据权利要求8所述的终端,其特征在于,所述终端还包括:
第二切分模块,用于当接收到所述管理服务器发送的携带有第二文件单元数据量和第二存储服务器列表的第二反馈消息时,如果所述第二反馈信息中还携带有不分块指示信息,则基于所述第二文件单元数据量,将所述待上传文件切分为多个文件单元;
第二上传模块,用于基于所述第二存储服务器列表,分别将不同文件单元上传至各存储服务器。
12.一种文件上传的终端,其特征在于,所述终端包括:
接收模块,用于接收终端发送的文件上传请求,其中,所述文件上传请求携带有待上传文件的属性信息,所述属性信息包括所述待上传文件的数据量;
确定模块,用于获取第一存储服务器列表,如果所述数据量与所述第一存储服务器列表中存储服务器的数目的商大于预设的第二文件单元数据量,则根据文件的数据量范围和文件单元数据量的对应关系,确定所述待上传文件的数据量所属的数据量范围对应的第一文件单元数据量;
第一发送模块,用于向所述终端发送第一反馈消息,其中,所述第一反馈消息中携带有所述第一文件单元数据量、所述第一存储服务器列表以及分块指示信息。
13.根据权利要求12所述的终端,其特征在于,所述属性信息还包括所述待上传文件的文件类型;
所述确定模块,用于:
根据文件的数据量范围、文件类型以及文件单元数据量三者之间的对应关系,以及所述待上传文件的数据量所属的数据量范围和所述待上传文件的文件类型,确定对应的第一文件单元数据量。
14.根据权利要求12所述的终端,其特征在于,所述终端还包括:
选取模块,用于如果所述数据量与所述第一存储服务器列表中存储服务器的数目的商不大于所述第二文件单元数据量,则根据所述数据量与所述第二文件单元数据量的比值,在所述第一存储服务器列表中选取存储服务器,得到第二存储服务器列表;
第二发送模块,用于向所述终端发送第二反馈消息,其中,所述第二反馈消息中携带有所述第二文件单元数据量、所述第二存储服务器列表以及不分块指示信息。
15.一种终端,其特征在于,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至4任一所述的文件上传的方法。
16.一种服务器,其特征在于,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求5至7任一所述的文件上传的方法。
17.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至7任一所述的文件上传的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810502991.1A CN110535890B (zh) | 2018-05-23 | 2018-05-23 | 文件上传的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810502991.1A CN110535890B (zh) | 2018-05-23 | 2018-05-23 | 文件上传的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110535890A true CN110535890A (zh) | 2019-12-03 |
CN110535890B CN110535890B (zh) | 2022-02-11 |
Family
ID=68656798
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810502991.1A Active CN110535890B (zh) | 2018-05-23 | 2018-05-23 | 文件上传的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110535890B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111611211A (zh) * | 2020-04-27 | 2020-09-01 | 深圳壹账通智能科技有限公司 | 文件导入归档方法、电子设备及存储介质 |
CN111935261A (zh) * | 2020-07-30 | 2020-11-13 | 北京达佳互联信息技术有限公司 | 应答消息处理方法、装置、电子设备及存储介质 |
CN113391951A (zh) * | 2021-05-20 | 2021-09-14 | 广西飞创信息科技有限公司 | 一种基于以太网精简传输的多点集中远程备份容灾技术与系统 |
CN113438499A (zh) * | 2021-06-29 | 2021-09-24 | 北京奇艺世纪科技有限公司 | 数据上传和接收方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101227460A (zh) * | 2007-01-19 | 2008-07-23 | 秦晨 | 分布式文件上传、下载方法及其装置和系统 |
CN104144186A (zh) * | 2013-05-10 | 2014-11-12 | 中国电信股份有限公司 | 云计算环境中基于Web浏览器的数据上传方法与系统 |
CN107172174A (zh) * | 2017-06-01 | 2017-09-15 | 重庆高略启达智慧城市信息技术有限公司 | 在客户端和服务器之间实现文件的快速上传 |
CN107784195A (zh) * | 2017-11-30 | 2018-03-09 | 新华三大数据技术有限公司 | 数据处理方法及装置 |
-
2018
- 2018-05-23 CN CN201810502991.1A patent/CN110535890B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101227460A (zh) * | 2007-01-19 | 2008-07-23 | 秦晨 | 分布式文件上传、下载方法及其装置和系统 |
CN104144186A (zh) * | 2013-05-10 | 2014-11-12 | 中国电信股份有限公司 | 云计算环境中基于Web浏览器的数据上传方法与系统 |
CN107172174A (zh) * | 2017-06-01 | 2017-09-15 | 重庆高略启达智慧城市信息技术有限公司 | 在客户端和服务器之间实现文件的快速上传 |
CN107784195A (zh) * | 2017-11-30 | 2018-03-09 | 新华三大数据技术有限公司 | 数据处理方法及装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111611211A (zh) * | 2020-04-27 | 2020-09-01 | 深圳壹账通智能科技有限公司 | 文件导入归档方法、电子设备及存储介质 |
CN111935261A (zh) * | 2020-07-30 | 2020-11-13 | 北京达佳互联信息技术有限公司 | 应答消息处理方法、装置、电子设备及存储介质 |
CN111935261B (zh) * | 2020-07-30 | 2023-08-08 | 北京达佳互联信息技术有限公司 | 应答消息处理方法、装置、电子设备及存储介质 |
CN113391951A (zh) * | 2021-05-20 | 2021-09-14 | 广西飞创信息科技有限公司 | 一种基于以太网精简传输的多点集中远程备份容灾技术与系统 |
CN113391951B (zh) * | 2021-05-20 | 2021-12-24 | 广西飞创信息科技有限公司 | 一种基于以太网精简传输的多点集中远程备份容灾方法与系统 |
CN113438499A (zh) * | 2021-06-29 | 2021-09-24 | 北京奇艺世纪科技有限公司 | 数据上传和接收方法、装置、设备及存储介质 |
CN113438499B (zh) * | 2021-06-29 | 2023-02-03 | 北京奇艺世纪科技有限公司 | 数据上传和接收方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110535890B (zh) | 2022-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111339086B (zh) | 区块处理方法、基于区块链的数据查询方法及装置 | |
CN110232048A (zh) | 日志文件的获取方法、装置及存储介质 | |
CN108924737A (zh) | 定位方法、装置、设备及计算机可读存储介质 | |
CN108306771A (zh) | 日志上报方法、装置及系统 | |
CN110309243A (zh) | 获取实景电子地图的方法、装置、设备和存储介质 | |
CN110535890A (zh) | 文件上传的方法和装置 | |
CN108093268A (zh) | 进行直播的方法和装置 | |
CN110378678A (zh) | 数值整合方法、装置、系统、节点设备及存储介质 | |
CN109168073A (zh) | 直播间封面显示的方法和装置 | |
CN110569220B (zh) | 游戏资源文件的展示方法、装置、终端及存储介质 | |
CN111177137B (zh) | 数据去重的方法、装置、设备及存储介质 | |
CN110147503B (zh) | 信息发布方法、装置、计算机设备和存储介质 | |
CN109697113A (zh) | 请求重试的方法、装置、设备及可读存储介质 | |
CN110147380A (zh) | 数据更新方法、装置、服务器以及存储介质 | |
CN110032384A (zh) | 资源更新的方法、装置、设备及存储介质 | |
CN108897597A (zh) | 指导配置直播模板的方法和装置 | |
CN108900925A (zh) | 设置直播模板的方法和装置 | |
CN110288689A (zh) | 对电子地图进行渲染的方法和装置 | |
CN109218751A (zh) | 推荐音频的方法、装置及系统 | |
CN109254775A (zh) | 基于人脸的图像处理方法、终端及存储介质 | |
CN110471614B (zh) | 一种存储数据的方法、检测终端的方法及装置 | |
CN109600301A (zh) | 消息处理方法及装置 | |
CN109308265A (zh) | 生成反向测试用例的方法和装置 | |
CN112560435B (zh) | 文本语料处理方法、装置、设备及存储介质 | |
CN108495183A (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 |