CN111770165A - 用于上传文件的方法、装置、电子设备及可读存储介质 - Google Patents
用于上传文件的方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN111770165A CN111770165A CN202010598092.3A CN202010598092A CN111770165A CN 111770165 A CN111770165 A CN 111770165A CN 202010598092 A CN202010598092 A CN 202010598092A CN 111770165 A CN111770165 A CN 111770165A
- Authority
- CN
- China
- Prior art keywords
- target
- user
- file
- uploading
- preset
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 230000000977 initiatory effect Effects 0.000 claims abstract description 12
- 239000003795 chemical substances by application Substances 0.000 claims description 38
- 230000015654 memory Effects 0.000 claims description 29
- 230000000694 effects Effects 0.000 claims description 19
- 239000012634 fragment Substances 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 10
- 238000012545 processing Methods 0.000 abstract description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000013475 authorization Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
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
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
- H04L67/5651—Reducing the amount or size of exchanged application data
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例公开了一种用于上传文件的方法、装置、电子设备及计算机可读存储介质,涉及数据上传处理、图像/视频数据处理技术领域。该方法的一具体实施方式包括:接收第一用户发来的包含目标文件的索引的第一代理上传请求;根据该索引确定存储有该目标文件的目标第二用户;其中,预先记录有各文件的索引与持有该文件的用户之间的对应关系;向该目标第二用户发起该目标文件的第二代理上传请求;接收该目标第二用户上传的目标文件。该实施方式拓展了文件上传的实现途径,提升了整体成功率。
Description
技术领域
本申请实施例涉及数据传输技术领域,具体涉及数据处理、图像/视频数据处理技术领域,尤其涉及用于上传文件的方法、装置、电子设备及计算机可读存储介质。
背景技术
随着移动端设备性能、移动网络带宽和网速的提升,移动端应用逐步兴起,用户得以通过移动端应用实现更多的功能和操作。
在移动端接收、编辑、上传各类文件已逐渐成为新兴的处理形式,借助移动端便于随身携带的便利性,能够很好的利用用户的碎片化时间。
针对移动端文件上传方面,现有技术提供了包括分片、断点续传等多项传输功能的移动端文件上传方案。
发明内容
本申请实施例提出了一种用于上传文件的方法、装置、电子设备及计算机可读存储介质。
第一方面,本申请实施例提出了一种用于上传文件的方法,包括:接收第一用户发来的包含目标文件的索引的第一代理上传请求;根据所述索引确定存储有所述目标文件的目标第二用户;其中,预先记录有各文件的索引与持有所述文件的用户之间的对应关系;向所述目标第二用户发起所述目标文件的第二代理上传请求;接收所述目标第二用户上传的目标文件。
第二方面,本申请实施例提出了一种用于上传文件的装置,包括:接收第一用户发来的包含目标文件的索引的第一代理上传请求;根据所述索引确定存储有所述目标文件的目标第二用户;其中,预先记录有各文件的索引与持有所述文件的用户之间的对应关系;向所述目标第二用户发起所述目标文件的第二代理上传请求;接收所述目标第二用户上传的目标文件。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,该指令被至少一个处理器执行,以使至少一个处理器执行时能够实现如第一方面中任一实现方式描述的用于上传文件的方法。
第四方面,本申请实施例提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行时能够实现如第一方面中任一实现方式描述的用于上传文件的方法。
本申请通过上述实施例提供了一种用于上传文件的方法、装置、电子设备及计算机可读存储介质,首先,接收第一用户发来的包含目标文件的索引的第一代理上传请求;然后,根据该索引确定存储有该目标文件的目标第二用户;其中,预先记录有各文件的索引与持有该文件的用户之间的对应关系;接着,向该目标第二用户发起该目标文件的第二代理上传请求;最后,接收该目标第二用户上传的目标文件。
本申请通过上述技术方案提供了一种基于任务代理、任务转嫁思想的文件代理上传方案,在用户授予权限的情况下,可以预先记录各用户在其移动端本地存储的文件的索引,使得第一用户因其所处环境的网络质量、移动端设备工作状态不佳等原因无法自行完成目标文件上传操作,可以通过索引确定其它可帮助完成目标文件上传的目标第二用户,最终得以通过目标第二用户帮助第一用户完成目标文件的上传,拓展了上传文件的实现途径,提升了整体成功率。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性***架构;
图2是根据本申请的用于上传文件的方法的一个实施例的流程图;
图3是根据本申请的用于上传文件的方法的另一个实施例的流程图;
图4是根据本申请的用于上传文件的方法的一个应用场景的时序图;
图5是根据本申请的用于上传文件的装置的一个实施例的结构示意图;
图6是适用于实现本申请实施例的用于上传文件的方法的电子设备的框图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的用于上传文件的方法、装置、电子设备及计算机可读存储介质的实施例的示例性***架构100。
如图1所示,***架构100可以包括第一移动终端101、网络102、服务器103以及第二移动终端104。网络102用以在第一移动终端101和第二移动终端104分别与服务器103之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用其移动终端通过网络102与服务器103交互,以接收或发送消息等。第一移动终端101、服务器103和第二移动终端104上可以安装有各种用于实现三者之间进行信息通讯的应用,例如代理上传类应用、数据传输类应用、即时通讯类应用等。
第一移动终端101、服务器103和第二移动终端104可以是硬件,也可以是软件。当第一移动终端101和第二移动终端104为硬件时,可以是具有显示屏的各种可移动的电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机、智能可穿戴设备等等;当第一移动终端101和第二移动终端104为软件时,可以安装在上述所列举的电子设备中,其可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块,在此不做具体限定。当服务器103为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器;服务器为软件时,可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块,在此不做具体限定。
服务器103通过内置的各种应用可以提供各种服务,以可以提供文件代理上传服务的代理上传类应用为例,服务器103在运行该代理上传类应用时可实现如下效果:首先,通过网络102接收第一用户通过其第一移动终端101发来的包含目标文件的索引的第一代理上传请求;然后,在预先记录有各文件的索引与持有该文件的用户之间的对应关系的基础上,根据该索引确定存储有该目标文件的目标第二用户;接着,向该目标第二用户所在的第二移动终端104发起该目标文件的第二代理上传请求;最后,接收该目标第二用户通过其第二移动终端104上传的目标文件。即服务器103通过上述处理步骤完成了目标文件由第二用户帮第一用户代理上传的目的,并将目标文件最终是否成功上传的情况作为结果输出。
基于文件代理上传的实现过程,本申请后续各实施例所提供的用于上传文件的方法一般由与不同用户的移动终端均建立由数据连接的服务器103来执行,相应地,用于上传文件的装置一般也设置于服务器103中。但同时也需要指出的是,在特殊情况下,上述代理上传操作也可以由特殊的移动终端来完成。相应的,用于上传文件的装置也可以设置于第一移动终端101或第二移动终端104中。在此种情况下,示例性***架构100也可以不包括服务器103和网络102。
应该理解,图1中的第一移动终端、网络、服务器和第二移动终端的数目仅仅是示意性的。根据实现需要,可以具有任意数目的第一移动终端、网络、服务器和第二移动终端。
继续参考图2,其示出了根据本申请的用于上传文件的方法的一个实施例的实现流程200,包括以下步骤:
步骤201:接收第一用户发来的包括目标文件的索引的第一代理上传请求;
本步骤旨在由用于上传文件的方法的执行主体(例如图1所示的服务器103)接收到第一用户发来的第一代理上传请求。
其中,该第一代理请求是在第一用户无法通过其所使用的移动终端(例如图1所示的第一移动终端101)自行完成目标文件的上传操作的基础上,由第一用户向上述执行主体发起的,以通过向上述执行主体发送该第一代理请求的形式表示第一用户遇到了一些难以自行克服的文件上传阻碍,例如移动终端剩余电量不足、所处环境网络质量极差、运行有其它关键且占用了绝大多数运算资源的应用等原因,以期上述执行主体在接收到该第一代理上传请求时得知这一情况,并帮忙寻求第二用户来完成目标文件的代理上传操作。
其中,文件的索引用于标识该文件,以便于通过轻量级的索引查询实现文件存储位置的查询,该索引可通过多种方式生成,例如哈希算法、某些自定义算法、唯一编号等等。需要说明的是,可用本申请所提供的代理上传方法中所适用的文件并不限定其类型和格式,包括将图像数据、视频数据、可执行应用程序、文档等以各种格式进行封装的各类型文件。
步骤202:根据索引确定存储有目标文件的目标第二用户;
在步骤201的基础上,本步骤旨在由上述执行主体响应于接收到第一代理上传请求,根据预先记录有各文件的索引与持有该文件的用户之间的对应关系,以确定同样在其本地持有(存储有)目标文件的目标第二用户。其中,目标第二用户为所有第二用户中部分满足预设要求的用户,具体的,可以为根据每个第二用户的移动终端的工作状态信息确定是否满足预设要求,第二用户指在其移动终端本地存储有与目标文件相同文件的非第一用户。
在本申请所适用环境下,执行用于上传文件的方法的上述执行主体会预先争取每个使用代理上传服务的用户的授权,以基于获取的授权完成代理操作和提供代理上传服务。向上述执行主体授予权限的用户的移动终端会向上述执行主体发送其本地所存储文件的索引,以使上述执行主体可根据接收到的索引确定哪些文件被存储在哪个用户的移动终端中,进而确定第二用户。
考虑到并非所有第二用户均适合帮第一用户完成目标文件的代理上传操作,因此有帮助从所有第二用户筛选出适合完成代理上传操作的目标第二用户的预设要求,具体的,该预设要求可以包括以下至少一项:剩余内存大于预设内存剩余量、当前负载量不大于预设负载量、当前运行应用数量不超过预设数量、设备当前活跃度小于预设活跃度,以及其它一些可表征所属移动终端当前是否适合执行代理上传操作的运行状态参数,对应的工作状态信息即为剩余内存、当前负载量、当前运行应用数量、设备当前活跃度等。进一步的,还可以结合目标文件的大小、格式、类型等属性来共同参与确定目标第二用户,通过结合预设要求确定目标第二用户,得以尽可能的提升代理上传操作的一次成功率。
若没有符合预设要求的第二用户选取为目标第二用户,也可以直接向第一用户返回无法完成代理上传的通知,或者等待一段预设时长,以期经过该预设时长有符合预设要求的第二用户出现,还可以选择性的降低预设要求的参数,并向符合参数降低后要求的第二用户发起能否清理一部分无用进程以更好的完成代理上传操作的请求,等等。
步骤203:向目标第二用户发起目标文件的第二代理上传请求;
在步骤202的基础上,本步骤旨在由上述执行主体向目标第二用户发起目标文件的第二代理上传请求,即第二代理上传请求是上述执行主体发给目标第二用户,以期获取到目标第二用户综合其移动终端的工作状态和个人主观意愿的影响给出是否同意的回复内容。
步骤204:接收目标第二用户上传的目标文件。
在目标第二用户同意上述执行主体发来的第二代理上传请求的基础上,本步骤旨在由上述执行主体明确目标文件的代理上传操作可由目标第二用户来执行,并开始接收该目标第二用户上传来的目标文件,直至接收到完整的目标文件。需要说明的是,上述执行主体可通过多种方式判定出目标第二用户是否同意帮助第一用户完成目标文件的上传,例如接收到目标第二用户针对第二代理上传请求返回的同意上传回复信号,也可以在预设时间内直接接收到了第二用户上传的数据流。
对应的,若目标第二用户在综合考虑后向上述执行主体返回了不同意上传回复信号或上述执行主体在下发第二代理上传请求之后的预设时长内未收到任何数据流,则上述执行主体将判定该目标第二用户拒绝帮助第一用户完成目标文件的上传,进而重新在符合预设要求的第二用户中选取新的目标第二用户。其中,在存在多个符合预设要求的第二用户可被选取为目标第二用户,还可以结合各目标第二用户在某项预设要求的参数上的优先级排序选取拥有最高优先级的作为优选目标第二用户,当优选目标第二用户不同意上传时,就可以将优先级稍次的目标第二用户选取为新的优选目标第二用户。
进一步的,针对存在多个目标第二用户的情况,为了尽可能的减少有单个目标第二用户单独执行代理上传操作带来的性能影响,还可以由上述执行主体统一协调多个目标第二用户将相同的目标文件以相同形式进行分片,然后控制每个目标第二用户各自上传其中的不同分片,以使上述执行主体可以根据接收到的各分片还原为完整的目标文件。其中,不同目标第二用户可根据其移动终端的实际情况自行选择由其上传的分片数量。
本实施例提供的用于上传文件的方法实际上提供了一种基于任务代理、任务转嫁思想的文件代理上传方案,在用户授予权限的情况下,可以预先记录各用户在其移动端本地存储的文件的索引,使得第一用户因其所处环境的网络质量、移动端设备工作状态不佳等原因无法自行完成目标文件上传操作,可以通过索引确定其它可帮助完成目标文件上传的目标第二用户,最终得以通过目标第二用户帮助第一用户完成目标文件的上传,拓展了上传文件的实现途径,提升了整体成功率。
在上述实施例的基础上,本申请还通过图3提供了另一种用于上传文件的方法的流程300,包括如下步骤:
步骤301:接收第一用户发来的包含目标文件的索引的第一代理上传请求;
以上步骤301与如图2所示的步骤201一致,相同部分内容请参见上一实施例的相应部分,此处不再进行赘述。
步骤302:根据索引确定存储有与索引对应的目标文件的所有第二用户;
步骤303:获取每个第二用户所使用设备的设备当前活跃度,并将设备当前活跃度小于预设活跃度的第二用户选取为目标第二用户;
区别与上一实施例中的步骤202,本实施例通过步骤302和步骤303提供了一种基于每个第二用户所使用设备(例如其移动终端)的设备当前活跃度来选取出合适的目标第二用户的具体实现方案。具体的,设备活跃度可以根据设备是否处于闲置状态、运行应用总数量、运行应用总内存占用量、设备温度等多项参数综合分析得到,该预设活跃度则作为评判设备是否符合执行代理上传操作的分界点被预先设置。
步骤304:向目标第二用户发起目标文件的第二代理上传请求;
以上步骤304与如图2所示的步骤203一致,相同部分内容请参见上一实施例的相应部分,此处不再进行赘述。
步骤305:响应于接收到目标第二用户响应于第二代理请求返回的同意上传回复信号,控制目标第二用户将目标文件以预设最大分片数和预设最小单位上传速率进行上传,并接收目标第二用户上传来的目标文件;
区别于上一实施例中的步骤204,本步骤305在上述执行主体在收到目标第二用户返回的同意上传回复信号之后,增加了由上述执行主体控制控制目标第二用户将目标文件以预设最大分片数和预设最小单位上传速率进行上传,以通过最大分片数和最小单位上传速率的代理上传参数设置,来尽可能的降低对执行代理上传操作的第二用户的移动终端的性能影响。
步骤306:当从目标第二用户接收到完整的目标文件之后,分别向第一用户和目标第二用户发送目标文件已上传通知。
当上述执行主体从目标第二用户接收到完整的目标文件之后,本步骤还通过分别向第一用户和目标第二用户发送目标文件已上传通知的方式,来告知发起代理上传请求的第一用户和帮助第一用户完成代理上传操作的目标用户该目标文件的实际上传结果,以便于第一用户和目标第二用户根据该结果进行后续处理。
在具有上一实施例全部有益效果的基础上,本实施例通过步骤302和步骤303结合设备活跃度这一参数给出了具体如何确定目标第二用户的一种实现方式,通过步骤305提供了一种尽可能降低因执行代理上传操作对目标第二用户的移动终端带来的性能压力的方案,从而尽可能的避免因执行代理上传操作为用户所带来的负面影响,通过步骤306给出了一种向第一用户和目标第二用户反馈目标文件上传结果的方案,增加了方案的完整度。需要指出的是,上述三部分改进或所给出的具体实现方案相互之间不存在因果和依赖关系,完全可以单独与上述实施例提供的上位方案进行结合形成单独的实施例,本实例仅作为同时包含三部分优选方案的优选实施例存在。
为加深理解,本申请还结合一个具体应用场景,给出了一种具体的实现方案,请参见如图4所示的时序图,为了更加清楚的表示完整的文件代理上传方案,图4所示的时序图中同时体现了第一用户(的移动终端)、服务器、第二用户(的移动终端)这三个执行主体,第用户和第二用户预先向服务器授予了可执行代理上传操作所需的各项权限,并根据该权限,第一用户和第二用户的移动终端会定期向服务器发送器本地存储文件的索引,包括如下步骤:
步骤401:上传视频文件A;
第一用户通过其移动终端向服务器发起大小为500MB的视频文件A的上传请求。
步骤402:上传失败;
服务器因第一用户的移动终端的丢包率过大而向其返回多个上传失败信号。
步骤403:第一代理上传请求;
响应于接收到的上传失败信号,第一用户通过其移动终端向服务器发起针对视频文件A的第一代理上传请求。
步骤404:根据索引查找持有视频文件A的第二用户;
响应于接收到的第一代理上传请求,服务器根据预先存储的索引确定其中一个同样持有视频文件A的第二用户。
步骤405:第二代理上传请求;
服务器向第二用户的移动终端发起第二代理上传请求。
步骤406:同意代理上传;
响应于接收到的第二代理上传请求,第二用户通过其移动终端向服务器返回同意上传的回复信号。
步骤407:代理上传参数下发;
响应于接收到的同意上传的回复信号,服务器根据包含在回复信号中的第二用户的移动终端的工作状态信息,以及视频文件的大小,向第二用户的移动终端下发针对视频文件A的优选代理上传参数。例如,当第二用户的移动终端当前运行有较多应用时,该优选代理上传参数可为将500MB的视频文件A分为10个50MB的视频分片,并按照每秒200KB的上传速率依次上传每个视频分片;当第二用户的移动终端当前处于被用户闲置的状态时,该优选代理上传参数可为将500MB的视频文件分为20个25MB的视频分片,并以不设上传速率限制的方式同时并行上传这20个视频分片。
步骤408:按代理上传参数上传视频文件A;
响应于接收到的代理上传参数,第二用户的移动终端按照代理上传参数将存储于本地的视频文件A上传至服务器。
步骤409:接收视频文件A;
服务器接收第二用户的移动终端发来的视频文件A的数据。
步骤410-1:视频文件A已上传;
在服务器接收到完整的视频文件A之后,向第一用户的移动终端发送视频文件A已上传的通知。
步骤410-2:视频文件A已上传;
在服务器接收到完整的视频文件A之后,向第二用户的移动终端发送视频文件A已上传的通知。
进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种用于上传文件的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例的用于上传文件的装置500可以包括:第一代理上传请求接收单元501、目标第二用户确定单元502、第二代理上传请求发起单元503和目标文件接收单元504。其中,第一代理上传请求接收单元501,被配置成接收第一用户发来的包含目标文件的索引的第一代理上传请求;目标第二用户确定单元502,被配置成根据索引确定存储有目标文件的目标第二用户;其中,预先记录有各文件的索引与持有文件的用户之间的对应关系;第二代理上传请求发起单元503,被配置成向目标第二用户发起目标文件的第二代理上传请求;目标文件接收单元504,被配置成接收目标第二用户上传的目标文件。
在本实施例中,用于上传文件的装置500中:第一代理上传请求接收单元501、目标第二用户确定单元502、第二代理上传请求发起单元503和目标文件接收单元504的具体处理及其所带来的技术效果可分别参考图2对应实施例中的步骤201-204的相关说明,在此不再赘述。
在本实施例的一些可选的实现方式中,目标第二用户确定单元502可以进一步被配置成:根据索引确定存储有与索引对应的目标文件的所有第二用户;根据每个第二用户所使用设备的工作状态信息,将满足预设要求的第二用户选取为目标第二用户。
在本实施例的一些可选的实现方式中,预设要求包括以下至少一项:剩余内存大于预设内存剩余量、当前负载量不大于预设负载量、当前运行应用数量不超过预设数量、设备当前活跃度小于预设活跃度。
在本实施例的一些可选的实现方式中,用于上传文件的装置500还可以包括:优选上传参数控制单元,被配置成控制目标第二用户将目标文件以预设最大分片数和预设最小单位上传速率进行上传。
在本实施例的一些可选的实现方式中,用于上传文件的装置500还可以包括:重新选取单元,被配置成重新选取单元,被配置成响应于在发出第二代理上传请求后预设时长内未收到返回信号或接收到目标第二用户响应于第二代理请求返回的拒绝上传回复信号。
在本实施例的一些可选的实现方式中,用于上传文件的装置500还可以包括:已上传通知发送单元,被配置成当从目标第二用户接收到完整的目标文件之后,分别向第一用户和目标第二用户发送目标文件已上传通知。
本实施例作为对应于上述方法实施例的装置实施例存在,本实施例提供的用于上传文件的装置实际提供了一种基于任务代理、任务转嫁思想的文件代理上传方案,在用户授予权限的情况下,可以预先记录各用户在其移动端本地存储的文件的索引,使得第一用户因其所处环境的网络质量、移动端设备工作状态不佳等原因无法自行完成目标文件上传操作,可以通过索引确定其它可帮助完成目标文件上传的目标第二用户,最终得以通过目标第二用户帮助第一用户完成目标文件的上传,拓展了完成目标文件上传目标的实现途径,提升了整体成功率
根据本申请的实施例,本申请还提供了一种电子设备和一种计算机可读存储介质。
图6示出了一种适于用来实现本申请实施例的用于上传文件的方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图6所示,该电子设备包括:一个或多个处理器601、存储器602,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器***)。图6中以一个处理器601为例。
存储器602即为本申请所提供的非瞬时计算机可读存储介质。其中,存储器存储有可由至少一个处理器执行的指令,以使至少一个处理器执行本申请所提供的用于上传文件的方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的用于上传文件的方法。
存储器602作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的用于上传文件的方法对应的程序指令/模块(例如,附图5所示的第一代理上传请求接收单元501、目标第二用户确定单元502、第二代理上传请求发起单元503和目标文件接收单元504)。处理器601通过运行存储在存储器602中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的用于上传文件的方法。
存储器602可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储该电子设备在执行用于上传文件的方法所创建的各类数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器602可选包括相对于处理器601远程设置的存储器,这些远程存储器可以通过网络连接至适用于执行用于上传文件的方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
适用于执行用于上传文件的方法的电子设备还可以包括:输入装置603和输出装置604。处理器601、存储器602、输入装置603和输出装置604可以通过总线或者其他方式连接,图6中以通过总线连接为例。
输入装置603可接收输入的数字或字符信息,以及产生适用于执行用于上传文件的方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置604可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
本申请实施例通过上述技术内容实际上提供了一种基于任务代理、任务转嫁思想的文件代理上传方案,在用户授予权限的情况下,可以预先记录各用户在其移动端本地存储的文件的索引,使得第一用户因其所处环境的网络质量、移动端设备工作状态不佳等原因无法自行完成目标文件上传操作,可以通过索引确定其它可帮助完成目标文件上传的目标第二用户,最终得以通过目标第二用户帮助第一用户完成目标文件的上传,拓展了完成目标文件上传目标的实现途径,提升了整体成功率。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (14)
1.一种用于上传文件的方法,包括:
接收第一用户发来的包含目标文件的索引的第一代理上传请求;
根据所述索引确定存储有所述目标文件的目标第二用户;其中,预先记录有各文件的索引与持有所述文件的用户之间的对应关系;
向所述目标第二用户发起所述目标文件的第二代理上传请求;
接收所述目标第二用户上传的目标文件。
2.根据权利要求1所述的方法,其中,根据所述索引确定存储有所述目标文件的目标第二用户,包括:
根据所述索引确定存储有与所述索引对应的目标文件的所有第二用户;
根据每个所述第二用户所使用设备的工作状态信息,将满足预设要求的第二用户选取为所述目标第二用户。
3.根据权利要求2所述的方法,其中,所述预设要求包括以下至少一项:剩余内存大于预设内存剩余量、当前负载量不大于预设负载量、当前运行应用数量不超过预设数量、设备当前活跃度小于预设活跃度。
4.根据权利要求1所述的方法,还包括:
控制所述目标第二用户将所述目标文件以预设最大分片数和预设最小单位上传速率进行上传。
5.根据权利要求1所述的方法,还包括:
响应于在发出所述第二代理上传请求后预设时长内未收到返回信号或接收到所述目标第二用户响应于所述第二代理请求返回的拒绝上传回复信号,重新选取得到新的目标第二用户。
6.根据权利要求1至5任一项所述的方法,其中,当从所述目标第二用户接收到完整的目标文件之后,还包括:
分别向所述第一用户和所述目标第二用户发送目标文件已上传通知。
7.一种用于上传文件的装置,包括:
第一代理上传请求接收单元,被配置成接收第一用户发来的包含目标文件的索引的第一代理上传请求;
目标第二用户确定单元,被配置成根据所述索引确定存储有所述目标文件的目标第二用户;其中,预先记录有各文件的索引与持有所述文件的用户之间的对应关系;
第二代理上传请求发起单元,被配置成向所述目标第二用户发起所述目标文件的第二代理上传请求;
目标文件接收单元,被配置成接收所述目标第二用户上传的目标文件。
8.根据权利要求7所述的装置,其中,所述目标第二用户确定单元进一步被配置成:
根据所述索引确定存储有与所述索引对应的目标文件的所有第二用户;
根据每个所述第二用户所使用设备的工作状态信息,将满足预设要求的第二用户选取为所述目标第二用户。
9.根据权利要求8所述的装置,其中,所述预设要求包括以下至少一项:剩余内存大于预设内存剩余量、当前负载量不大于预设负载量、当前运行应用数量不超过预设数量、设备当前活跃度小于预设活跃度。
10.根据权利要求7所述的装置,还包括:
优选上传参数控制单元,被配置成控制所述目标第二用户将所述目标文件以预设最大分片数和预设最小单位上传速率进行上传。
11.根据权利要求7所述的装置,还包括:
重新选取单元,被配置成响应于在发出所述第二代理上传请求后预设时长内未收到返回信号或接收到所述目标第二用户响应于所述第二代理请求返回的拒绝上传回复信号,重新选取得到新的目标第二用户。
12.根据权利要求7至11任一项所述的装置,还包括:
已上传通知发送单元,被配置成当从所述目标第二用户接收到完整的目标文件之后,分别向所述第一用户和所述目标第二用户发送目标文件已上传通知。
13.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的用于上传文件的方法。
14.一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行权利要求1-6中任一项所述的用于上传文件的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010598092.3A CN111770165A (zh) | 2020-06-28 | 2020-06-28 | 用于上传文件的方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010598092.3A CN111770165A (zh) | 2020-06-28 | 2020-06-28 | 用于上传文件的方法、装置、电子设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111770165A true CN111770165A (zh) | 2020-10-13 |
Family
ID=72722276
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010598092.3A Pending CN111770165A (zh) | 2020-06-28 | 2020-06-28 | 用于上传文件的方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111770165A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114039968A (zh) * | 2021-11-05 | 2022-02-11 | 上海商汤科技开发有限公司 | 资源包上传方法及装置、电子设备和存储介质 |
CN114845089A (zh) * | 2022-07-04 | 2022-08-02 | 浙江大华技术股份有限公司 | 视频画面的传输方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101222299A (zh) * | 2006-11-20 | 2008-07-16 | 株式会社Ntt都科摩 | 对数据分组进行中继的中继设备 |
CN102244670A (zh) * | 2010-05-13 | 2011-11-16 | 北京大学 | 一种用于p2p文件传输的空闲节点协助方法 |
CN103685373A (zh) * | 2012-09-10 | 2014-03-26 | 联想(北京)有限公司 | 数据上传装置和数据上传方法 |
CN103731451A (zh) * | 2012-10-12 | 2014-04-16 | 腾讯科技(深圳)有限公司 | 一种文件上传的方法及*** |
CN106210065A (zh) * | 2016-07-13 | 2016-12-07 | 广东欧珀移动通信有限公司 | 一种文件传输方法、装置及移动终端 |
-
2020
- 2020-06-28 CN CN202010598092.3A patent/CN111770165A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101222299A (zh) * | 2006-11-20 | 2008-07-16 | 株式会社Ntt都科摩 | 对数据分组进行中继的中继设备 |
CN102244670A (zh) * | 2010-05-13 | 2011-11-16 | 北京大学 | 一种用于p2p文件传输的空闲节点协助方法 |
CN103685373A (zh) * | 2012-09-10 | 2014-03-26 | 联想(北京)有限公司 | 数据上传装置和数据上传方法 |
CN103731451A (zh) * | 2012-10-12 | 2014-04-16 | 腾讯科技(深圳)有限公司 | 一种文件上传的方法及*** |
CN106210065A (zh) * | 2016-07-13 | 2016-12-07 | 广东欧珀移动通信有限公司 | 一种文件传输方法、装置及移动终端 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114039968A (zh) * | 2021-11-05 | 2022-02-11 | 上海商汤科技开发有限公司 | 资源包上传方法及装置、电子设备和存储介质 |
CN114845089A (zh) * | 2022-07-04 | 2022-08-02 | 浙江大华技术股份有限公司 | 视频画面的传输方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10992512B2 (en) | File sharing method, apparatus, and storage medium | |
US8156497B2 (en) | Providing shared tasks amongst a plurality of individuals | |
EP3222010B1 (en) | Relevant communication mode selection | |
CN110718218B (zh) | 一种语音处理方法、装置、设备和计算机存储介质 | |
CN111131317B (zh) | 一种基于区块链的数据处理方法、装置、设备和介质 | |
CN112016068A (zh) | 账户控制方法、装置、设备和计算机可读存储介质 | |
CN111770165A (zh) | 用于上传文件的方法、装置、电子设备及可读存储介质 | |
CN111541919A (zh) | 视频帧传输方法、装置、电子设备及可读存储介质 | |
CN111552934A (zh) | 数据库访问方法以及装置 | |
CN111770176B (zh) | 流量调度方法及装置 | |
CN112311597B (zh) | 消息推送方法和装置 | |
CN111611023A (zh) | 智能设备的控制方法、装置、电子设备和存储介质 | |
CN112084395A (zh) | 搜索方法、搜索装置、电子设备和存储介质 | |
EP3242258A1 (en) | Method and apparatus for processing virtual card | |
CN111930539A (zh) | 基于标签引擎的任务管理方法、装置、设备及存储介质 | |
CN111787088A (zh) | 小程序数据处理的方法和装置 | |
CN110619008A (zh) | 数据库查询方法、装置、电子设备及存储介质 | |
CN112069137B (zh) | 生成信息的方法、装置、电子设备及计算机可读存储介质 | |
US20140067982A1 (en) | Determining an estimation of message response time | |
CN111124291B (zh) | 分布式存储***的数据存储处理方法、装置、电子设备 | |
CN112559867A (zh) | 业务内容输出方法、装置、设备、存储介质和程序产品 | |
CN111615171A (zh) | 无线局域网的接入方法和装置 | |
CN111767149A (zh) | 调度方法、装置、设备及存储设备 | |
CN111367995A (zh) | 基于服务锁的数据同步方法及装置、电子设备与存储介质 | |
CN112752323B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201013 |