CN112422604A - 文件上传方法、装置、系统及计算机设备 - Google Patents

文件上传方法、装置、系统及计算机设备 Download PDF

Info

Publication number
CN112422604A
CN112422604A CN202010524840.3A CN202010524840A CN112422604A CN 112422604 A CN112422604 A CN 112422604A CN 202010524840 A CN202010524840 A CN 202010524840A CN 112422604 A CN112422604 A CN 112422604A
Authority
CN
China
Prior art keywords
storage server
file
uploading
uploaded
party
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
Application number
CN202010524840.3A
Other languages
English (en)
Other versions
CN112422604B (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.)
Shanghai Bilibili Technology Co Ltd
Original Assignee
Shanghai Bilibili 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 Shanghai Bilibili Technology Co Ltd filed Critical Shanghai Bilibili Technology Co Ltd
Priority to CN202010524840.3A priority Critical patent/CN112422604B/zh
Publication of CN112422604A publication Critical patent/CN112422604A/zh
Application granted granted Critical
Publication of CN112422604B publication Critical patent/CN112422604B/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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • 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]

Abstract

本申请公开了一种文件上传方法、装置、系统、计算机设备及可读存储介质,属于互联网技术领域。本申请的文件上传方法包括:获取用户选择的待上传文件;将所述待上传文件上传至第三方的第一存储服务器;接收所述第一存储服务器返回的上传结果;在所述上传结果为上传成功时,向私有的第二存储服务器发送请求信息,以使所述第二存储服务器根据所述请求信息从所述第一存储服务器中下载所述待上传文件,其中,所述请求信息中携带有所述待上传文件的下载地址。本申请可以提高文件的上传速度,以及降低成本。

Description

文件上传方法、装置、系统及计算机设备
技术领域
本申请涉及互联网技术领域,尤其涉及一种文件上传方法、装置、系统及计算机设备。
背景技术
现在技术中,用户经常需要上传各种文件至服务器中,然而,当用户在上传文件时,若文件的大小太大,经常会出现需要很长时间才能将该文件上传至服务器,导致用户的体验非常糟糕。
发明内容
有鉴于此,现提供一种文件上传方法、装置、系统、计算机设备及计算机可读存储介质,以解决现有的大文件上传时上传速非常慢,导致用户体验较差的问题。
本申请提供了一种文件上传方法,包括:
获取用户选择的待上传文件;
将所述待上传文件上传至第三方的第一存储服务器;
接收所述第一存储服务器返回的上传结果;
在所述上传结果为上传成功时,向私有的第二存储服务器发送请求信息,以使所述第二存储服务器根据所述请求信息从所述第一存储服务器中下载所述待上传文件,其中,所述请求信息中携带有所述待上传文件的下载地址。
可选地,所述文件上传方法还包括:
所述将所述待上传文件上传至第三方的第一存储服务器的步骤之前,还包括:
判断所述待上传文件的大小是否大于或者等于预设阈值;
若所述待上传文件的大小小于所述预设阈值,则直接将所述待上传文件上传至所述第二存储服务器;
若所述待上传文件的大小大于或者等于所述预设阈值,则执行所述将所述待上传文件上传至第三方的第一存储服务器的步骤。
可选地,所述将所述待上传文件上传至第三方的第一存储服务器之前还包括:
从多个第三方的存储服务器中选择一个符合第一预设条件的存储服务器作为所述第一存储服务器。
可选地,所述从多个第三方的存储服务器中选择一个符合第一预设条件的存储服务器作为所述第一存储服务器包括:
获取测试数据包,将所述测试数据包分别上传至各个所述第三方的存储服务器;
统计各个所述第三方的存储服务器的上传耗时,并将耗时最短的第三方的存储服务器作为所述第一存储服务器。
可选地,所述将所述测试数据包分别上传至各个所述第三方的存储服务器包括:
获取各个所述第三方的存储服务器的IP地址,以及获取所述用户的IP地址;
根据所述用户的IP地址与各个所述第三方的存储服务器的IP地址,选择符合第二预设条件的第三方的存储服务器作为所述测试数据包所上传的第三存储服务器,所述第三存储服务器包括一个或多个;
将将所述测试数据包分别上传至各个所述第三存储服务器;
所述统计各个所述第三方的存储服务器的上传耗时,并将耗时最短的第三方的存储服务器作为所述第一存储服务器包括:
统计各个所述第三存储服务器的上传耗时,并将耗时最短的第三存储服务器作为所述第一存储服务器。
可选地,所述从多个第三方的存储服务器中选择一个符合第一预设条件的存储服务器作为所述第一存储服务器包括:
获取各个所述第三方的存储服务器的IP地址,以及获取所述用户的IP地址;
根据所述用户的IP地址与各个所述第三方的存储服务器的IP地址,选择离所述用户最近的一个第三方的存储服务器作为所述第一存储服务器。
可选地,所述将所述待上传文件上传至第三方的第一存储服务器包括:
将所述待上传文件分割为多个数据块;
将分割得到的所述多个数据块上传至所述第一存储服务器。
本申请还提供了一种文件上传装置,包括:
获取模块,用于获取用户选择的待上传文件;
上传模块,用于将所述待上传文件上传至第三方的第一存储服务器;
接收模块,用于接收所述第一存储服务器返回的上传结果;
发送模块,用于在所述上传结果为上传成功时,向私有的第二存储服务器发送请求信息,以使所述第二存储服务器根据所述请求信息从所述第一存储服务器中下载所述待上传文件,其中,所述请求信息中携带有所述待上传文件的下载地址。
本申请还提供了一种计算机设备,所述计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
本申请还提供了一种文件上传系统,包括:文件上传装置,以及私有的第二存储服务器,其中:
所述文件上传装置包括:获取模块,用于获取用户选择的待上传文件;上传模块,用于将所述待上传文件上传至第三方的第一存储服务器;接收模块,用于接收所述第一存储服务器返回的上传结果;发送模块,用于在所述上传结果为上传成功时,向所述私有的第二存储服务器发送请求信息,其中,所述请求信息中携带有所述待上传文件的下载地址;
所述私有的第二存储服务器,用于根据所述请求信息从所述第一存储服务器中下载所述待上传文件。
上述技术方案的有益效果:
本申请实施例中的文件上传方法,通过先将大文件上传至离用户较近的第三方的存储服务器,然后在文件上传成功后,通过服务商提供的私有的存储服务器从该第三方的存储服务器中下载该大文件。由于服务提供商提供的私有的存储服务器从该第三方的存储服务器中下载该大文件的方式,是在两个服务器之间进行传输,其相对于用户的上传链路,传输速度会快很多,因此,通过本申请实施例中的文件上传方法,可以提高文件的上传速度,且由于该第三方存储服务器不是服务提供商的,而只是服务提供商购买的服务,其相对于服务提供商自建存储服务器的方式,可以大大的降低成本。
附图说明
图1为现有的文件上传方法的一实施例的系统框架图;
图2为现有的文件上传方法的另一实施例的系统框架图;
图3为本申请所述文件上传方法的系统框架图;
图4为本申请所述的文件上传方法的一种实施例的流程图;
图5为本申请将所述待上传文件上传至第三方的第一存储服务器的步骤细化流程示意图;
图6为本申请从多个第三方的存储服务器中选择一个符合第一预设条件的存储服务器作为所述第一存储服务器的步骤细化流程示意图;
图7为本申请将所述测试数据包分别上传至各个所述第三方的存储服务器的步骤细化流程示意图;
图8为本申请从多个第三方的存储服务器中选择一个符合第一预设条件的存储服务器作为所述第一存储服务器的步骤细化流程示意图;
图9为本申请所述的文件上传装置的一种实施例的模块图;
图10为本申请实施例提供的执行文件上传方法的计算机设备的硬件结构示意图;
图11本申请文件上传系统一实施例的系统架构图。
具体实施方式
以下结合附图与具体实施例进一步阐述本申请的优点。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在本申请的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本申请及区别每一步骤,因此不能理解为对本申请的限制。
为了便于对本申请进行理解,现对现有技术中,为了解决用户在上传大文件时,速度缓慢的问题,服务提供商常采用的如下两种解决方案进行描述:
方案一、服务提供商在全国各地建立多个私有存储服务器的方式来提高大文件的上传速度,如图1所示,当用户需要上传大文件时,会将大文件上传至离用户最近的私有存储服务器中,从而提高用户上传大文件的速度。
方案二、服务提供商在用户和私有存储服务器之间增设加速链路CDN(ContentDeliveryNetwork,即内容分发网络)的方式来提高大文件的上传速度,如图2所示。
上述两者解决方案虽然都可以提高大文件的上传速度,但是,方案一的解决方案由于需要增设多个私有存储服务器,导致成本非常高;方案二的解决方案的成本相对低廉,但是由于用户离私有存储的相对距离并没有缩短,所有上传速度的提升效果有很大的局限性。
本发明实施例中的文件上传方法,通过先将大文件上传至离用户较近的第三方的存储服务器,然后在文件上传成功后,通过服务商提供的私有的存储服务器从该第三方的存储服务器中下载该大文件。由于服务提供商提供的私有的存储服务器从该第三方的存储服务器中下载该大文件的方式,是在两个服务器之间进行传输,其相对于用户的上传链路,传输速度会快很多,因此,通过本申请实施例中的文件上传方法,可以提高文件的上传速度,进而提升用户体验,且由于该第三方存储服务器不是服务提供商的,而只是服务提供商购买的服务,其相对于服务提供商自建存储服务器的方式,可以大大的降低成本。
图3示意性示出了根据本申请实施例的文件上传方法的应用环境示意图。在示例性的实施例中,用户可以藉由计算机设备2上安装的客户端APP或者网页客户端通过网络6向第三方的存储服务器4上传文件,在用户成功上传文件之后,服务提供商的私有存储服务器8通过网络向第三方的存储服务器4下载用户上传的文件。所述计算机设备2可以是手机、平板个人计算机(tablet personal computer)、膝上型计算机(laptop computer)等具有数据发送功能的电子设备。所述网络6可以是因特网,所述存储服务器4和存储服务器8可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。
参阅图4,其为本申请一实施例的文件上传方法的流程示意图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以计算机设备2为执行主体进行示例性描述,本实施例中所提供的文件上传方法包括:
步骤S20、获取用户选择的待上传文件。
具体地,当用户需要上传文件时,用户可以首先选择需要上传的待上传文件。在本实施例中,用户可以通过form表单的方式或者其他方式选择需要上传的待上传文件。
在本实施例中,该待上传文件优选为大文件,其中,所述大文件的定义可以根据实际情况进行设定,比如,定义文件大小大于或者等于200M的文件为大文件。又比如,定义文件大小大于或者等于500M的文件为大文件,在本实施例中不作限定。
需要说明的是,在本实施例中,该待上传的文件也可以为普通的小文件。
步骤S21、将所述待上传文件上传至第三方的第一存储服务器。
具体地,本实施例中的第三方的第一存储服务器指的由非服务提供商在自己的机房部署的用于存储数据的服务器,或者是非服务提供商购买的存储服务所对应的用于存储数据的服务器。本实施例中的第三方的第一存储服务器是相对于私有的第二存储服务器来说的。所述私有的第二存储服务器指的是由服务提供商在自己的机房部署的用于存储数据的服务器,或者是服务提供商购买的存储服务所对应的用于存储数据的服务器。
需要说明的是,本实施例中的服务提供商指的是提供用户安装的用于上传本实施例中的待上传文件的客户端APP或者网页客户端的提供商,比如,用户想通过应用A上传所述待上传文件,则该应用A的提供者即为所述服务提供商。
可以理解的是,在本实施例中,为了可以将所述待上传文件上传至第三方的第一存储服务器,需要预先与第三方的第一存储服务器进行调试,以便在需要上传文件时,可以将该待上传的文件上传至第三方的第一存储服务器。在本实施例中,在与第三方的第一存储服务器进行调试时,需要对与该第三方的第一存储服务器进行通讯的上传协议进行调试。
在一示例性的实施例中,参照图5,所述将所述待上传文件上传至第三方的第一存储服务器包括:
步骤S30,将所述待上传文件分割为多个数据块。
步骤S31,将分割得到的所述多个数据块上传至所述第一存储服务器。
具体地,为了进一步提高文件的上传速度,本实施例在将所述待上传文件上传至第一存储服务器时,可以先将所述待上传文件分割为多个数据块,具体分割的数据块的数量可以预先设定,也可以预先设定每一个数据块的大小,然后根据所述待上传文件的大小来确定分割成的数据块的数量。
在将所述待上传文件分成多个数据块之后,即可以将多个数据块采用并行的方式上传至第一存储服务器。
本申请实施例中,通过将待上传文件分割为多个数据块,然后采用并行方式将数据块上传至所述第一存储服务器,从而可以提高文件的上传速度。
在一示例性的实施例中,所述将所述待上传文件上传至第三方的第一存储服务器的步骤之前,还包括:
判断所述待上传文件的大小是否大于或者等于预设阈值;若所述待上传文件的大小小于所述预设阈值,则直接将所述待上传文件上传至所述第二存储服务器;若所述待上传文件的大小大于或者等于所述预设阈值,则执行步骤S21。
具体地,所述预设阈值为预先设定的,该预设阈值可以根据实际情况进行设定,比如,所述预设阈值设定为200M,也就是说,当判定出所述待上传文件的大小大于或者等于200M时,才会将所述待上传文件上传至第一存储服务器;当判定出所述待上传文件的大小小于200M时,则不会将所述待上传文件上传至第一存储服务器,而是会直接将所述待上传文件上传至第二存储服务器。
本实施例中,由于小文件的上传在不同质量的链路之间进行传输时,其差异性不是很大,因此,本申请实施例在将所述待上传文件进行上传时,只会将文件大小大于所述预设阈值的文件(大文件)通过第三方的第一存储服务器进行传输,而对于小文件,则是直接上传至私有的第二存储服务器,从而可以在不影响上传耗时的情况下,降低成本。
在一示例性的实施例中,所述将所述待上传文件上传至第三方的第一存储服务器的步骤之前,还包括:
从多个第三方的存储服务器中选择一个符合第一预设条件的存储服务器作为所述第一存储服务器。
具体地,本实施例中在将待上传文件上传至第一存储服务器之前,为了得到最低的上传耗时,需要先从预先对接好的多个三方的存储服务器中选择一个符合第一预设条件的存储服务器作为所述第一存储服务器。其中,所述第一预设条件为预先设定的,可以为上传耗时最短,离用户最近,网络条件最优等。
本申请实施例,通过选择一个符合第一预设条件的存储服务器作为第一存储服务器,从而可以减少文件的上传耗时。
在一示例性的实施例中,参照图6,所述从多个第三方的存储服务器中选择一个符合第一预设条件的存储服务器作为所述第一存储服务器包括:
步骤S40,获取测试数据包,将所述测试数据包分别上传至各个所述第三方的存储服务器。
具体地,所述测试数据包为用于测试各个第三方的存储服务器的上传耗时的数据包,该测试数据包是一个很小的文件,该测试数据包可以为通过本地内存随机生成的一个数据包,也可以为本地内存中预先存储的一个数据包,或者为在测试时,从服务器中获取到的数据包,或者为从待上传文件中提取出的一个小的数据包等,在本实施例中不作限定。
本实施例中,在获取到该测试数据包之后,可以将该测试数据包分别上传至各个第三方的存储服务器中,以便可以对各个第三方的存储服务器的上传耗时进行评估。
需要说明的是,本实施例中的各个所述第三方的存储服务器指的所有的与本申请实施例中的客户端所对接好的第三方的存储服务器。
在一示例性的实施例中,参照图7,将所述测试数据包分别上传至各个所述第三方的存储服务器包括:
步骤S50,获取各个所述第三方的存储服务器的IP地址,以及获取所述用户的IP地址;
步骤S51,根据所述用户的IP地址与各个所述第三方的存储服务器的IP地址,选择符合第二预设条件的第三方的存储服务器作为所述测试数据包所上传的第三存储服务器,所述第三存储服务器包括一个或多个;
步骤S52,将将所述测试数据包分别上传至各个所述第三存储服务器。
具体地,由于第三方的存储服务器的IP地址可以反映该第三方的存储服务器所处的地理位置,用户的IP地址可以反映该用户所处的地理位置。而预先与本申请实施例中的客户端所对接好的第三方的存储服务器存在很多个,而不同的第三方的存储服务器的上传耗时又是不一样的。因此,为了避免对所有对接好的第三方的存储服务器的上传耗时进行统计,本申请实施例中可以根据各个所述第三方的存储服务器的IP地址,以及获取所述用户的IP地址来从中选择符合第二预设条件的第三方的存储服务器作为所述测试数据包所上传的第三存储服务器,而不是将对所有的第三方的存储服务器发送测试数据包。
其中,所述第二预设条件也是预先设定的,所述第二预设条件可以为与所述用户属于同一区域,比如,用户的IP地址与第三方的存储服务器的IP地址属于同一省份,或者属于同一市,则可以从所有的第三方的存储服务器中选择与用户处于同一省份或者同一市的第三方的存储服务器作为所述测试数据包所上传的第三存储服务器。所述第二预设条件也可以为离用户最近的N个存储服务器,比如N=5,则可以从所有的第三方的存储服务器中选择离用户最近的5个存储服务器作为所述测试数据包所上传的第三存储服务器。
本实施例中,在选定了测试测试数据包所上传的第三存储服务器后,即可以将所述测试数据包分别上传至各个第三存储服务器。
相应地,当将各个第三存储服务器作为所述测试数据包上传的服务器时,则只需要统计各个第三存储服务器的上传耗时即可,然后将耗时最短的第三存储服务器作为所述第一存储服务器。由于本实施例中只将测试数据包发送给符合第二预设条件的第三方的存储服务器,而不用将测试数据包发送给所有的第三方的存储服务器,因而采样本实施例的方法,将不用再统计所有的第三方的存储服务器的上传耗时。
本申请实施例中,通过选择符合第二预设条件的第三方的存储服务器作为所述测试数据包所上传的第三存储服务器,从而可以减少文件的上传耗时。
步骤S41,统计各个所述第三方的存储服务器的上传耗时,并将耗时最短的第三方的存储服务器作为所述第一存储服务器。
具体地,在将测试数据包上传至各个第三方的存储服务器后,可以统计上传至每一个第三方的存储服务器端的上传耗时,然后,将上传耗时最短的第三方的存储服务器作为所述第一存储服务器。
需要说明的是,本实施例中的上传耗时指的是将测试数据包成功上传至第三方的存储服务器所花费的时间。
本实施例中,由于测试数据包的上传耗时可以反映第三方的存储服务器的链路好坏情况,因此,本申请实施例中将上传耗时最短的第三方的存储服务器作为所述第一存储服务器,可以减少文件的上传耗时。此外,经过生产环境验证,本申请实施例中通过根据上传耗时来选定所述第一存储服务器,可以带来大约2%的文件上传成功率以及大约10%的文件上传速度提升。
在一示例性的实施例中,参照图8,所述从多个第三方的存储服务器中选择一个符合第一预设条件的存储服务器作为所述第一存储服务器还可以包括以下步骤:
步骤S60,获取各个所述第三方的存储服务器的IP地址,以及获取所述用户的IP地址;
步骤S61,根据所述用户的IP地址与各个所述第三方的存储服务器的IP地址,选择离所述用户最近的一个第三方的存储服务器作为所述第一存储服务器。
具体地,由于第三方的存储服务器的IP地址可以反映该第三方的存储服务器所处的地理位置,用户的IP地址可以反映该用户所处的地理位置。而预先与本申请实施例中的客户端所对接好的第三方的存储服务器存在很多个,而不同的第三方的存储服务器离用户的距离也是不一样的,而一般来说,当第三方的存储服务器离用户越近,则将文件上传至该存储服务器所花的时间也会越短。
因此,在本申请实施例中,为了减少文件的上传耗时,可以根据各个所述第三方的存储服务器的IP地址,以及获取所述用户的IP地址来选定一个离所述用户最近的一个第三方的存储服务器作为所述第一存储服务器,从而来减少文件的上传耗时。
步骤S22,接收所述第一存储服务器返回的上传结果。
具体地,当将文件上传至第一存储服务器之后,存储服务器会返回一个上传结果,以便可以根据该上传结果来确定对于文件的上传是成功还是失败的。当用户上传所述待上传文件失败时,可以重新对该待上传文件进行上传。
步骤S23,在所述上传结果为上传成功时,向私有的第二存储服务器发送请求信息,以使所述第二存储服务器根据所述请求信息从所述第一存储服务器中下载所述待上传文件,其中,所述请求信息中携带有所述待上传文件的下载地址。
具体地,当成功将该待上传文件上传至第一存储服务器时,会立即向私有的第二存储服务器发送请求信息,以便该第二存储服务器能够立即从该第一存储服务器中将该待上传文件下载回来,即将该待上传文件从该第一存储服务器中拖回来,从而,完成用户对文件的上传。
在一实施方式中,该请求信息除了包含有所述待上传文件的下载地址之外,还可以包括该待上传文件的业务信息,比如,该待上传文件的名称,该待上传文件的下载信息,比如该待上传文件是从哪个第一存储服务器中下载的。
本申请实施例中的文件上传方法,通过先将大文件上传至离用户较近的第三方的存储服务器,然后在文件上传成功后,通过服务商提供的私有的存储服务器从该第三方的存储服务器中下载该大文件。由于服务提供商提供的私有的存储服务器从该第三方的存储服务器中下载该大文件的方式,是在两个服务器之间进行传输,其相对于用户的上传链路,传输速度会快很多,因此,通过本申请实施例中的文件上传方法,可以提高文件的上传速度,且由于该第三方存储服务器不是服务提供商的,而只是服务提供商购买的服务,其相对于服务提供商自建存储服务器的方式,可以大大的降低成本。
参阅图9所示,是本申请文件上传装置700一实施例的程序模块图。
本实施例中,所述文件上传装置700包括一系列的存储于存储器上的计算机程序指令,当该计算机程序指令被处理器执行时,可以实现本申请各实施例的文件上传方法功能。在一些实施例中,基于该计算机程序指令各部分所实现的特定的操作,文件上传装置700可以被划分为一个或多个模块。例如,在图7中,所述文件上传装置700可以被分割成获取模块701、上传模块702、接收模块703及发送模块704。其中:
获取模块701,用于当用户需要上传文件时,用户可以首先选择需要上传的待上传文件。在本实施例中,用户可以通过form表单的方式或者其他方式选择需要上传的待上传文件。
在本实施例中,该待上传文件优选为大文件,其中,所述大文件的定义可以根据实际情况进行设定,比如,定义文件大小大于或者等于200M的文件为大文件。又比如,定义文件大小大于或者等于500M的文件为大文件,在本实施例中不作限定。
需要说明的是,在本实施例中,该待上传的文件也可以为普通的小文件。
上传模块702,用于将所述待上传文件上传至第三方的第一存储服务器。
具体地,本实施例中的第三方的第一存储服务器指的由非服务提供商在自己的机房部署的用于存储数据的服务器,或者是非服务提供商购买的存储服务所对应的用于存储数据的服务器。本实施例中的第三方的第一存储服务器是相对于私有的第二存储服务器来说的。所述私有的第二存储服务器指的是由服务提供商在自己的机房部署的用于存储数据的服务器,或者是服务提供商购买的存储服务所对应的用于存储数据的服务器。
需要说明的是,本实施例中的服务提供商指的是提供用户安装的用于上传本实施例中的待上传文件的客户端APP或者网页客户端的提供商,比如,用户想通过应用A上传所述待上传文件,则该应用A的提供者即为所述服务提供商。
可以理解的是,在本实施例中,为了可以将所述待上传文件上传至第三方的第一存储服务器,需要预先与第三方的第一存储服务器进行调试,以便在需要上传文件时,可以将该待上传的文件上传至第三方的第一存储服务器。在本实施例中,在与第三方的第一存储服务器进行调试时,需要对与该第三方的第一存储服务器进行通讯的上传协议进行调试。
在一示例性的实施例中,上传模块702,还用于将所述待上传文件分割为多个数据块;以及将分割得到的所述多个数据块上传至所述第一存储服务器。
具体地,为了进一步提高文件的上传速度,本实施例在将所述待上传文件上传至第一存储服务器时,可以先将所述待上传文件分割为多个数据块,具体分割的数据块的数量可以预先设定,也可以预先设定每一个数据块的大小,然后根据所述待上传文件的大小来确定分割成的数据块的数量。
在将所述待上传文件分成多个数据块之后,即可以将多个数据块采用并行的方式上传至第一存储服务器。
本申请实施例中,通过将待上传文件分割为多个数据块,然后采用并行方式将数据块上传至所述第一存储服务器,从而可以提高文件的上传速度。
在一示例性的实施例中,所述文件上传装置700还包括:判断模块。
所述判断模块,用于判断所述待上传文件的大小是否大于或者等于预设阈值;若所述待上传文件的大小小于所述预设阈值,则直接将所述待上传文件上传至所述第二存储服务器;若所述待上传文件的大小大于或者等于所述预设阈值,则将所述待上传文件上传至第三方的第一存储服务器。
具体地,所述预设阈值为预先设定的,该预设阈值可以根据实际情况进行设定,比如,所述预设阈值设定为200M,也就是说,当判定出所述待上传文件的大小大于或者等于200M时,才会将所述待上传文件上传至第一存储服务器;当判定出所述待上传文件的大小小于200M时,则不会将所述待上传文件上传至第一存储服务器,而是会直接将所述待上传文件上传至第二存储服务器。
本实施例中,由于小文件的上传在不同质量的链路之间进行传输时,其差异性不是很大,因此,本申请实施例在将所述待上传文件进行上传时,只会将文件大小大于所述预设阈值的文件(大文件)通过第三方的第一存储服务器进行传输,而对于小文件,则是直接上传至私有的第二存储服务器,从而可以在不影响上传耗时的情况下,降低成本。
在一示例性的实施例中,所述文件上传装置700还包括:选择模块。
所述选择模块,用于从多个第三方的存储服务器中选择一个符合第一预设条件的存储服务器作为所述第一存储服务器。
具体地,本实施例中在将待上传文件上传至第一存储服务器之前,为了得到最低的上传耗时,需要先从预先对接好的多个三方的存储服务器中选择一个符合第一预设条件的存储服务器作为所述第一存储服务器。其中,所述第一预设条件为预先设定的,可以为上传耗时最短,离用户最近,网络条件最优等。
本申请实施例,通过选择一个符合第一预设条件的存储服务器作为第一存储服务器,从而可以减少文件的上传耗时。
在一示例性的实施例中,所述选择模块,还用于获取测试数据包,将所述测试数据包分别上传至各个所述第三方的存储服务器。
具体地,所述测试数据包为用于测试各个第三方的存储服务器的上传耗时的数据包,该测试数据包是一个很小的文件,该测试数据包可以为通过本地内存随机生成的一个数据包,也可以为本地内存中预先存储的一个数据包,或者为在测试时,从服务器中获取到的数据包,或者为从待上传文件中提取出的一个小的数据包等,在本实施例中不作限定。
本实施例中,在获取到该测试数据包之后,可以将该测试数据包分别上传至各个第三方的存储服务器中,以便可以对各个第三方的存储服务器的上传耗时进行评估。
需要说明的是,本实施例中的各个所述第三方的存储服务器指的所有的与本申请实施例中的客户端所对接好的第三方的存储服务器。
在一示例性的实施例中,所述选择模块,还用于获取各个所述第三方的存储服务器的IP地址,以及获取所述用户的IP地址;根据所述用户的IP地址与各个所述第三方的存储服务器的IP地址,选择符合第二预设条件的第三方的存储服务器作为所述测试数据包所上传的第三存储服务器,所述第三存储服务器包括一个或多个;将将所述测试数据包分别上传至各个所述第三存储服务器。
具体地,由于第三方的存储服务器的IP地址可以反映该第三方的存储服务器所处的地理位置,用户的IP地址可以反映该用户所处的地理位置。而预先与本申请实施例中的客户端所对接好的第三方的存储服务器存在很多个,而不同的第三方的存储服务器的上传耗时又是不一样的。因此,为了避免对所有对接好的第三方的存储服务器的上传耗时进行统计,本申请实施例中可以根据各个所述第三方的存储服务器的IP地址,以及获取所述用户的IP地址来从中选择符合第二预设条件的第三方的存储服务器作为所述测试数据包所上传的第三存储服务器,而不是将对所有的第三方的存储服务器发送测试数据包。
其中,所述第二预设条件也是预先设定的,所述第二预设条件可以为与所述用户属于同一区域,比如,用户的IP地址与第三方的存储服务器的IP地址属于同一省份,或者属于同一市,则可以从所有的第三方的存储服务器中选择与用户处于同一省份或者同一市的第三方的存储服务器作为所述测试数据包所上传的第三存储服务器。所述第二预设条件也可以为离用户最近的N个存储服务器,比如N=5,则可以从所有的第三方的存储服务器中选择离用户最近的5个存储服务器作为所述测试数据包所上传的第三存储服务器。
本实施例中,在选定了测试测试数据包所上传的第三存储服务器后,即可以将所述测试数据包分别上传至各个第三存储服务器。
相应地,当将各个第三存储服务器作为所述测试数据包上传的服务器时,则只需要统计各个第三存储服务器的上传耗时即可,然后将耗时最短的第三存储服务器作为所述第一存储服务器。由于本实施例中只将测试数据包发送给符合第二预设条件的第三方的存储服务器,而不用将测试数据包发送给所有的第三方的存储服务器,因而采样本实施例的方法,将不用再统计所有的第三方的存储服务器的上传耗时。
本申请实施例中,通过选择符合第二预设条件的第三方的存储服务器作为所述测试数据包所上传的第三存储服务器,从而可以减少文件的上传耗时。
所述选择模块,还用于统计各个所述第三方的存储服务器的上传耗时,并将耗时最短的第三方的存储服务器作为所述第一存储服务器。
具体地,在将测试数据包上传至各个第三方的存储服务器后,可以统计上传至每一个第三方的存储服务器端的上传耗时,然后,将上传耗时最短的第三方的存储服务器作为所述第一存储服务器。
需要说明的是,本实施例中的上传耗时指的是将测试数据包成功上传至第三方的存储服务器所花费的时间。
本实施例中,由于测试数据包的上传耗时可以反映第三方的存储服务器的链路好坏情况,因此,本申请实施例中将上传耗时最短的第三方的存储服务器作为所述第一存储服务器,可以减少文件的上传耗时。此外,经过生产环境验证,本申请实施例中通过根据上传耗时来选定所述第一存储服务器,可以带来大约2%的文件上传成功率以及大约10%的文件上传速度提升。
在一示例性的实施例中,所述选择模块,还用于获取各个所述第三方的存储服务器的IP地址,以及获取所述用户的IP地址;根据所述用户的IP地址与各个所述第三方的存储服务器的IP地址,选择离所述用户最近的一个第三方的存储服务器作为所述第一存储服务器。
具体地,由于第三方的存储服务器的IP地址可以反映该第三方的存储服务器所处的地理位置,用户的IP地址可以反映该用户所处的地理位置。而预先与本申请实施例中的客户端所对接好的第三方的存储服务器存在很多个,而不同的第三方的存储服务器离用户的距离也是不一样的,而一般来说,当第三方的存储服务器离用户越近,则将文件上传至该存储服务器所花的时间也会越短。
因此,在本申请实施例中,为了减少文件的上传耗时,可以根据各个所述第三方的存储服务器的IP地址,以及获取所述用户的IP地址来选定一个离所述用户最近的一个第三方的存储服务器作为所述第一存储服务器,从而来减少文件的上传耗时。
接收模块703,用于接收所述第一存储服务器返回的上传结果。
具体地,当将文件上传至第一存储服务器之后,存储服务器会返回一个上传结果,以便可以根据该上传结果来确定对于文件的上传是成功还是失败的。当用户上传所述待上传文件失败时,可以重新对该待上传文件进行上传。
发送模块704,用于在所述上传结果为上传成功时,向私有的第二存储服务器发送请求信息,以使所述第二存储服务器根据所述请求信息从所述第一存储服务器中下载所述待上传文件,其中,所述请求信息中携带有所述待上传文件的下载地址。
具体地,当成功将该待上传文件上传至第一存储服务器时,会立即向私有的第二存储服务器发送请求信息,以便该第二存储服务器能够立即从该第一存储服务器中将该待上传文件下载回来,即将该待上传文件从该第一存储服务器中拖回来,从而,完成用户对文件的上传。
在一实施方式中,该请求信息除了包含有所述待上传文件的下载地址之外,还可以包括该待上传文件的业务信息,比如,该待上传文件的名称,该待上传文件的下载信息,比如该待上传文件是从哪个第一存储服务器中下载的。
本申请实施例中的文件上传方法,通过先将大文件上传至离用户较近的第三方的存储服务器,然后在文件上传成功后,通过服务商提供的私有的存储服务器从该第三方的存储服务器中下载该大文件。由于服务提供商提供的私有的存储服务器从该第三方的存储服务器中下载该大文件的方式,是在两个服务器之间进行传输,其相对于用户的上传链路,传输速度会快很多,因此,通过本申请实施例中的文件上传方法,可以提高文件的上传速度,且由于该第三方存储服务器不是服务提供商的,而只是服务提供商购买的服务,其相对于服务提供商自建存储服务器的方式,可以大大的降低成本。
图10示意性示出了根据本申请实施例的适于实现文件上传方法的计算机设备10的硬件架构示意图。本实施例中,计算机设备10是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是平板电脑、笔记本电脑、台式计算机、手机等。如图10所示,计算机设备10至少包括但不限于:可通过系统总线相互通信链接存储器801、处理器802、网络接口803。其中:
存储器801至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器801可以是计算机设备10的内部存储模块,例如该计算机设备10的硬盘或内存。在另一些实施例中,存储器801也可以是计算机设备10的外部存储设备,例如该计算机设备10上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(FlashCard)等。当然,存储器801还可以既包括计算机设备10的内部存储模块也包括其外部存储设备。本实施例中,存储器801通常用于存储安装于计算机设备10的操作系统和各类应用软件,例如上述实施例中的文件上传方法的程序代码等。此外,存储器801还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器802在一些实施例中可以是中央处理器(Central Processing Unit,简称为CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器802通常用于控制计算机设备10的总体操作,例如执行与计算机设备10进行数据交互或者通信相关的控制和处理等。本实施例中,处理器802用于运行存储器801中存储的程序代码或者处理数据。
网络接口803可包括无线网络接口或有线网络接口,该网络接口803通常用于在计算机设备10与其他计算机设备之间建立通信链接。例如,网络接口803用于通过网络将计算机设备10与外部终端相连,在计算机设备10与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(GlobalSystem of Mobile communication,简称为GSM)、宽带码分多址(Wideband Code DivisionMultiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图10仅示出了具有部件801~803的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器801中的文件上传方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器802)所执行,以完成本申请。
参阅图11所示,是本申请文件上传系统900一实施例的系统架构图。
在示例性的实施例中,该文件上传系统900包括文件上传装置901,以及私有的第二存储服务器902,其中:
所述文件上传装置901包括:获取模块,用于获取用户选择的待上传文件;上传模块,用于将所述待上传文件上传至第三方的第一存储服务器;接收模块,用于接收所述第一存储服务器返回的上传结果;发送模块,用于在所述上传结果为上传成功时,向所述私有的第二存储服务器902发送请求信息,其中,所述请求信息中携带有所述待上传文件的下载地址;
所述私有的第二存储服务器902,用于根据所述请求信息从所述第一存储服务器中下载所述待上传文件。
具体地,所述文件上传装置901与上述实施例中的文件上传装置700相同,在本实施例中不再赘述。所述私有的第二存储服务器902与上述实施例中的第二私有的存储服务器相同,在本实施例中也不再赘述。
需要说明的是,文件上传装置901可以通过网络903向私有的第二存储服务器902发送请求信息,私有的第二存储服务器902也可以通过网络903向第三方的第一存储服务器下载该待上传文件。
本申请实施例通过在文件上传装置901将文件上传至第三方的第一存储服务器时,立刻通知私有的第二存储服务器902从所述第三方的存储服务器中下载所述待上传文件,从而使得私有的第二存储服务器可以及时获取到该待上传文件。
本申请实施例提供了一种非易失性计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中的文件上传方法的步骤。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如上述实施例中的文件上传方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到至少两个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可获取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (11)

1.一种文件上传方法,其特征在于,包括:
获取用户选择的待上传文件;
将所述待上传文件上传至第三方的第一存储服务器;
接收所述第一存储服务器返回的上传结果;
在所述上传结果为上传成功时,向私有的第二存储服务器发送请求信息,以使所述第二存储服务器根据所述请求信息从所述第一存储服务器中下载所述待上传文件,其中,所述请求信息中携带有所述待上传文件的下载地址。
2.根据权利要求1所述的文件上传方法,其特征在于,所述将所述待上传文件上传至第三方的第一存储服务器的步骤之前,还包括:
判断所述待上传文件的大小是否大于或者等于预设阈值;
若所述待上传文件的大小小于所述预设阈值,则直接将所述待上传文件上传至所述第二存储服务器;
若所述待上传文件的大小大于或者等于所述预设阈值,则执行所述将所述待上传文件上传至第三方的第一存储服务器的步骤。
3.根据权利要求1所述的文件上传方法,其特征在于,所述将所述待上传文件上传至第三方的第一存储服务器之前还包括:
从多个第三方的存储服务器中选择一个符合第一预设条件的存储服务器作为所述第一存储服务器。
4.根据权利要求3所述的文件上传方法,其特征在于,所述从多个第三方的存储服务器中选择一个符合第一预设条件的存储服务器作为所述第一存储服务器包括:
获取测试数据包,将所述测试数据包分别上传至各个所述第三方的存储服务器;
统计各个所述第三方的存储服务器的上传耗时,并将耗时最短的第三方的存储服务器作为所述第一存储服务器。
5.根据权利要求4所述的文件上传方法,其特征在于,所述将所述测试数据包分别上传至各个所述第三方的存储服务器包括:
获取各个所述第三方的存储服务器的IP地址,以及获取所述用户的IP地址;
根据所述用户的IP地址与各个所述第三方的存储服务器的IP地址,选择符合第二预设条件的第三方的存储服务器作为所述测试数据包所上传的第三存储服务器,所述第三存储服务器包括一个或多个;
将将所述测试数据包分别上传至各个所述第三存储服务器;
所述统计各个所述第三方的存储服务器的上传耗时,并将耗时最短的第三方的存储服务器作为所述第一存储服务器包括:
统计各个所述第三存储服务器的上传耗时,并将耗时最短的第三存储服务器作为所述第一存储服务器。
6.根据权利要求3所述的文件上传方法,其特征在于,所述从多个第三方的存储服务器中选择一个符合第一预设条件的存储服务器作为所述第一存储服务器包括:
获取各个所述第三方的存储服务器的IP地址,以及获取所述用户的IP地址;
根据所述用户的IP地址与各个所述第三方的存储服务器的IP地址,选择离所述用户最近的一个第三方的存储服务器作为所述第一存储服务器。
7.根据权利要求1至6任一项所述的文件上传方法,其特征在于,所述将所述待上传文件上传至第三方的第一存储服务器包括:
将所述待上传文件分割为多个数据块;
将分割得到的所述多个数据块上传至所述第一存储服务器。
8.一种文件上传装置,其特征在于,包括:
获取模块,用于获取用户选择的待上传文件;
上传模块,用于将所述待上传文件上传至第三方的第一存储服务器;
接收模块,用于接收所述第一存储服务器返回的上传结果;
发送模块,用于在所述上传结果为上传成功时,向私有的第二存储服务器发送请求信息,以使所述第二存储服务器根据所述请求信息从所述第一存储服务器中下载所述待上传文件,其中,所述请求信息中携带有所述待上传文件的下载地址。
9.一种计算机设备,所述计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的文件上传方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1至7任一项所述的文件上传方法的步骤。
11.一种文件上传系统,包括:文件上传装置,以及私有的第二存储服务器,其中:
所述文件上传装置包括:获取模块,用于获取用户选择的待上传文件;上传模块,用于将所述待上传文件上传至第三方的第一存储服务器;接收模块,用于接收所述第一存储服务器返回的上传结果;发送模块,用于在所述上传结果为上传成功时,向所述私有的第二存储服务器发送请求信息,其中,所述请求信息中携带有所述待上传文件的下载地址;
所述私有的第二存储服务器,用于根据所述请求信息从所述第一存储服务器中下载所述待上传文件。
CN202010524840.3A 2020-06-10 2020-06-10 文件上传方法、装置、系统及计算机设备 Active CN112422604B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010524840.3A CN112422604B (zh) 2020-06-10 2020-06-10 文件上传方法、装置、系统及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010524840.3A CN112422604B (zh) 2020-06-10 2020-06-10 文件上传方法、装置、系统及计算机设备

Publications (2)

Publication Number Publication Date
CN112422604A true CN112422604A (zh) 2021-02-26
CN112422604B CN112422604B (zh) 2023-02-17

Family

ID=74844145

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010524840.3A Active CN112422604B (zh) 2020-06-10 2020-06-10 文件上传方法、装置、系统及计算机设备

Country Status (1)

Country Link
CN (1) CN112422604B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113098957A (zh) * 2021-03-31 2021-07-09 深圳市商汤科技有限公司 数据传输方法及相关产品
CN114124715A (zh) * 2021-11-19 2022-03-01 中国电信集团系统集成有限责任公司 带宽确定方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101360118A (zh) * 2007-08-02 2009-02-04 广东新支点技术服务有限公司 一种适合移动终端多媒体文件共享与搜索的方法和协议
CN102148835A (zh) * 2011-04-27 2011-08-10 许式伟 一种电子文档传递和分享的方法和系统
CN104184740A (zh) * 2014-09-04 2014-12-03 中电长城网际系统应用有限公司 可信传输方法、可信第三方和可信传输系统
CN109617996A (zh) * 2019-01-04 2019-04-12 平安科技(深圳)有限公司 文件上传及下载方法、服务器及计算机可读存储介质
CN110401725A (zh) * 2019-08-23 2019-11-01 深圳市鹰硕技术有限公司 文件上传方法、装置、终端、服务器、系统及存储介质
CN110515548A (zh) * 2019-08-15 2019-11-29 浙江万朋教育科技股份有限公司 一种避免浪费第三方云存储空间的方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101360118A (zh) * 2007-08-02 2009-02-04 广东新支点技术服务有限公司 一种适合移动终端多媒体文件共享与搜索的方法和协议
CN102148835A (zh) * 2011-04-27 2011-08-10 许式伟 一种电子文档传递和分享的方法和系统
CN104184740A (zh) * 2014-09-04 2014-12-03 中电长城网际系统应用有限公司 可信传输方法、可信第三方和可信传输系统
CN109617996A (zh) * 2019-01-04 2019-04-12 平安科技(深圳)有限公司 文件上传及下载方法、服务器及计算机可读存储介质
CN110515548A (zh) * 2019-08-15 2019-11-29 浙江万朋教育科技股份有限公司 一种避免浪费第三方云存储空间的方法
CN110401725A (zh) * 2019-08-23 2019-11-01 深圳市鹰硕技术有限公司 文件上传方法、装置、终端、服务器、系统及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113098957A (zh) * 2021-03-31 2021-07-09 深圳市商汤科技有限公司 数据传输方法及相关产品
CN113098957B (zh) * 2021-03-31 2022-12-27 深圳市商汤科技有限公司 数据传输方法及相关产品
CN114124715A (zh) * 2021-11-19 2022-03-01 中国电信集团系统集成有限责任公司 带宽确定方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN112422604B (zh) 2023-02-17

Similar Documents

Publication Publication Date Title
CN108683679B (zh) Web APP的多账号登录方法、装置、设备及存储介质
CN106550003B (zh) 负载均衡的控制方法、装置及系统
KR101781339B1 (ko) 클라이언트를 갱신하기 위한 방법 및 디바이스
CN112422604B (zh) 文件上传方法、装置、系统及计算机设备
CN108255701B (zh) 场景测试方法及移动终端
CN109002424B (zh) 文件格式转换方法、装置、计算机设备及存储介质
CN110557284A (zh) 基于客户端网关的数据聚合方法及装置
CN110266514A (zh) 日志获取方法、装置、终端及存储介质
CN111490947A (zh) 数据包发送方法、数据包接收方法、系统、设备及介质
CN113411404A (zh) 一种文件下载方法、装置、服务器及存储介质
EP3787231A1 (en) Server configuration method and apparatus
CN113992662A (zh) 文件传输方法、装置及存储介质
CN112818270B (zh) 数据跨域传递方法、装置及计算机设备
US10412778B2 (en) Data transmission method and apparatus for data service
CN111865676B (zh) 配置文件的更新检查方法、装置、服务器及存储介质
CN111510771B (zh) 清晰度切换算法的选择方法、系统、设备及介质
WO2017185632A1 (zh) 数据传输的方法及电子设备
CN112688980B (zh) 资源分发方法、装置、计算机设备
CN109617957A (zh) 一种基于cdn网络的文件上传方法、装置、服务器
US20110274115A1 (en) Network communication devices and data transmission methods
CN115297104A (zh) 文件上传方法、装置、电子设备和存储介质
CN110474954B (zh) 基于区块链的文件分享方法、装置、计算机设备及可读存储介质
CN113626402A (zh) 日志数据的获取方法和装置、电子设备和存储介质
EP2378734A1 (en) Network communication devices and data transmission methods
CN111641959A (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