CN108737505A - 一种资源下载的方法、系统和终端设备 - Google Patents
一种资源下载的方法、系统和终端设备 Download PDFInfo
- Publication number
- CN108737505A CN108737505A CN201810392582.0A CN201810392582A CN108737505A CN 108737505 A CN108737505 A CN 108737505A CN 201810392582 A CN201810392582 A CN 201810392582A CN 108737505 A CN108737505 A CN 108737505A
- Authority
- CN
- China
- Prior art keywords
- download
- resource
- terminal equipment
- cloud server
- module
- 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
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
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例公开了一种资源下载的方法、系统和终端设备,下载操作的步骤包括:第一终端设备接收来自第二终端设备的资源下载请求,第一终端设备响应下载请求,将与下载链接相关联的资源上传至云服务器,云服务器生成与资源相关联的下载链接发送给第二终端设备,第二终端设备根据所述下载链接从所述云服务器下载与所述下载链接相关联的资源。本发明采用内网穿透,映射的ip地址只有一个,且只接收一个ip地址发来的请求,同时也只给一个ip地址发送数据,提高了资源信息的安全性和隐私性。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种资源下载的方法、系统和终端设备。
背景技术
云盘作为一种重要的存储手段,吸引了大量的用户。由于云盘中可能存有大量的用户隐私信息,加之各个云盘管理公司需要对云盘资源进行监督与管理,因此云盘一直存在用户隐私被查看,私密性不高的毛病。而用户的隐私信息大量外泄,会给用户带来巨大的风险,蒙受很大的损失。
云盘是一种专业的互联网存储工具,是互联网云技术的产物,它通过互联网为企业和个人提供信息的储存,读取,下载等服务。
由于目前市场上的云盘都由各家公司监管,所以目前针对云盘私密性问题并没有较好的解决办法,若要存储隐私信息,只有将数据存储在实体硬盘中,可是实体硬盘存在便携性差,易损坏的特点。
发明内容
本发明目的在于克服现有技术的不足,提供一种资源下载的方法、装置和终端设备,可以在不需要服务器端操作的情况下,对服务器端的文件进行管理、上传与下载。
为实现上述目的:
第一方面,本发明实施例提供一种资源下载的方法,资源下载方法包括:
第一终端设备接收来自第二终端设备的资源下载请求;
第一终端设备响应资源下载请求,将与资源下载请求相关联的资源上传至云服务器;
云服务器生成与资源相关联的下载链接发送给第二终端设备;
第二终端设备根据下载链接从云服务器下载与下载链接相关联的资源。
进一步地,在第二终端设备在完成从云服务器的资源下载后,删除云服务器中存储的与下载链接相关联的资源。
进一步地,在云服务器中划分出多个区域分别对应于不同资源列表信息的存储区域,并在对应的存储区域内存放第一终端设备上传的资源。
进一步地,在所述第一终端设备接收来自所述第二终端设备的资源下载请求后还包括:
第一终端设备基于资源下载请求,制定针对于第二终端设备的下载策略;其中,所述下载策略包括资源列表信息的下载容量限制和下载速度限制;
所述第一终端设备将下载策略以及与所述资源下载请求相关联的资源上传至云服务器;
所述云服务器生成与资源相关联的下载链接,并将下载链接发送给第二终端设备;
第二终端设备根据下载链接从云服务器下载与下载操作相关联的资源;其中,云服务器根据下载策略对访问下载链接的第二终端设备进行相应的下载容量与下载速度限制。
第二方面,本发明实施例提供一种资源下载的系统,包括第一终端设备、第二终端设备以及云服务器;
其中,所述第一终端设备包括接收模块和上传模块;
所述接收模块用于接收来自所述第二终端设备的资源下载请求;
所述上传模块用于响应所述下载操作,将与所述下载操作相关联的资源上传至云服务器;
所述云服务器包括链接生成模块和发送模块;
所述链接生成模块用于所述云服务器生成与所述资源相关联的下载链接;
所述发送模块用于将所述下载链接发送给所述第二终端设备;
所述第二终端设备包括下载模块和删除模块;
所述下载模块用于根据所述下载链接从所述云服务器下载与所述下载链接相关联的资源;
所述删除模块用于在所述第二终端设备完成从所述云服务器的资源下载后,删除所述云服务器中存储的与所述下载链接相关联的资源。
进一步地,所述云服务器还包括存储模块,所述存储模块用于在所述在云服务器中划分出多个区域分别对应于不同资源列表信息的存储区域,并在对应的存储区域内存放第一终端设备上传的资源。
进一步地,所述第一终端设备还包括下载策略制定模块,所述下载策略制定模块用于基于所述资源下载请求,制定针对于所述第二终端设备的下载策略;其中,所述下载策略包括资源列表信息的下载容量限制和下载速度限制;
所述第一终端设备中的上传模块还用于将所述下载策略以及与所述资源下载请求相关联的资源上传至云服务器;
所述云服务器中的发送模块还用于将所述下载策略以及所述下载链接发送至第二终端设备;
所述第二终端设备中的下载模块还用于根据所述下载链接和所述下载策略从所述云服务器下载与所述下载链接相关联的资源;其中,所述云服务器根据所述下载策略对访问所述下载链接的第二终端设备进行相应的下载容量与下载速度限制。
第三方面,本发明实施例一种终端设备,包括处理器、存储器以及存储在所述存储器中且被配置由所述处理执行的计算机程序,所述处理器执行所述计算机程序时实现第一方面中所述的资源下载的方法。
实施本发明实施例,具有如下有益效果:
提供一种终端对终端文件传输方法,可以在不需要服务器端操作的情况下,对服务器端的文件进行管理、上传与下载。由于服务器使用的是另一台终端设备,该终端设备可以由用户自己选择和保管,所以大大的提高的用户的便利性和用户隐私的安全性。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的终端对终端资源传输方法的一个实施例的流程示意图。
图2是本发明提供的一种资源下载方法的流程示意图。
图3是本发明提供一种资源传输装置的一个实施例的结构示意图。
图4是本发明提供的资源下载操作装置的结构示意图。
图5是本发明提供的资源下载装置的结构示意图。
图6是本发明提供资源传输系统工作流程示意图。
图7是本发明提供的Socket通信流程示意图。
图8是NAPT内网主机通信创建Session示意图。
图9是对等主机在不同的NAT后面的示意图。
图10是对等主机在相同的NAT后面的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明第一实施例:
参见图1、图2、图3和图4,图1是本发明提供的终端对终端资源传输方法的一个实施例的流程示意图。图2是本发明提供的一种资源下载方法的流程示意图。图3是本发明提供一种资源传输装置的一个实施例的结构示意图。图4是本发明提供的资源下载操作装置的结构示意图。本发明是一种基于终端对终端的文件传输应用,利用socket(套接字)和内网穿透,来完成终端与终端设备之间的文件管理与传输,在本发明实施例中终端设备,包括第一终端设备和第二终端设备,可以是移动终端或者叫移动通信终端是指可以在移动中使用的计算机设备,广义的讲包括个人计算机(Personal Computer,PC)13、个人数字助理(PersonalDigitalAssistant,PDA)12、移动电话(MobilePhone,MP)1、POS机甚至包括车载电脑等可进行无线通讯的电子设备,参见图3。
本发明实施例提供一种终端对终端的资源传输方法,由第一终端设备和第二终端设备执行。在本发明实施例中,可以将第一终端设备作为服务器,将第二终端设备作为客户端。可以理解,服务器用于存储资源,而客户端用于通过网络通讯与服务器进行连接,并从服务器上下载资源或上传资源至服务器。
更具体地,如图1所示,本发明实施例具体包括以下步骤:
S100,第一终端设备通过第一套接字监听所述第二终端设备的接入请求。
其中,所述第一套接字在所述第一终端设备上被创建且绑定所述第一终端设备的地址和端口号。
S200,在接收到接入请求后,第一终端设备打开第一套接字以接收第二终端设备返回的连接信息。
其中,所述接入请求为所述第二终端设备通过打开其上创建的第二套接字发出,并且所述接入请求包括所述第一终端设备的地址和端口号。
S300,第一终端设备响应第二终端设备返回的连接信息,与所述第二终端设备建立连接并发送资源列表信息至所述第二终端设备。
本发明的资源传输方法是基于socket的网络传输,其中,socket的工作原理与流程如下,参照图6:
两个进程如果需要进行通讯最基本的一个前提能能够唯一的标示一个进程,在本地进程通讯中我们可以使用PID来唯一标示一个进程,但PID只在本地唯一,网络中的两个进程PID冲突几率很大,这时候就需要借用ip层,ip层的ip地址可以唯一标示主机,而TCP层协议和端口号可以唯一标示主机的一个进程,这样就可以利用ip地址+协议+端口号唯一标示网络中的一个进程。
能够唯一标示网络中的进程后,就可以利用socket进行通信了,socket译为套接字,是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信。
socket通信流程:
socket是"打开—读/写—关闭"模式的实现,以使用TCP协议通讯的socket为例,其交互流程请参照图8:
服务器根据地址类型(ipv4,ipv6)、socket类型、协议创建socket。服务器为socket绑定ip地址和端口号。服务器socket监听端口号请求,随时准备接收客户端发来的连接,这时候服务器的socket并没有被打开。客户端创建socket。客户端打开socket,根据服务器ip地址和端口号试图连接服务器socket。服务器socket接收到客户端socket请求,被动打开,开始接收客户端请求,直到客户端返回连接信息。这时候socket进入阻塞状态,所谓阻塞即accept()方法一直到客户端返回连接信息后才返回,开始接收下一个客户端谅解请求。客户端连接成功,向服务器发送连接状态信息,服务器accept方法返回,连接成功。客户端向socket写入信息。服务器读取信息。客户端关闭。服务器端关闭。
第一终端设备与第二终端设备的连接是通过套接字(socket)建立网络连接,具体步骤如下:
建立Socket连接至少需要一对套接字,其中一个运行于客户端,称为ClientSocket也是上述的第二终端设备,另一个运行于服务器端,称为ServerSocket也是上述第一终端设备。
套接字之间的连接过程分为三个步骤:服务器监听,客户端请求,连接确认。
1.服务器监听:服务器端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态,等待客户端的连接请求。
2.客户端请求:指客户端的套接字提出连接请求,要连接的目标是服务器端的套接字。
为此,客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器端套接字的地址和端口号,然后就向服务器端套接字提出连接请求。
3.连接确认:当服务器端套接字监听到或者说接收到客户端套接字的连接请求时,就响应客户端套接字的请求,建立一个新的线程,把服务器端套接字的描述发给客户端,一旦客户端确认了此描述,双方就正式建立连接。
而服务器端套接字继续处于监听状态,继续接收其他客户端套接字的连接请求。
第一终端设备响应第二终端设备返回的连接信息,与第二终端设备建立连接并发送资源列表信息至第二终端设备后,第一终端设备和第二终端设备之间通过内网穿透技术建立连接,实现网络通讯,具体步骤如下:
使用花生壳软件的内网穿透的实现:使用花生壳软件的内网穿透功能,设置好ip和端口映射之后,在客户端向socket写入信息时,往花生壳软件生成的公网网址发送信息时,信息就会发送至设置好的ip和端口,此时服务器端如果监听该端口的话,就会接收来自客户端的信息。
内网穿透是在进行网络连接时的一种术语,也叫做NAT穿透,即在计算机是局域网内的时候,外网与内网的计算机的节点进行连接时所需要的连接通信,有时候就会出现内网穿透不支的情况。内网穿透的功能就是,在端口映射时设置时,内网穿透起到了地址转换的功能,也就是把公网的地址进行翻译,转成为一种私有的地址,然后再采用路由的方式ADSL的宽带路由器,具有一个动态或者是固定的公网ip,最后ADSL直接在交换机上,这样所有的电脑都可以共享上网。内网穿透除了可以实现内网之间机器的网络通信功通之外,还可以解决UDP中出现的数据传输不稳定问题。
内网穿透技术的工作步骤:
假设有两台分别处于各自的私有网络中的主机:A和B;N1和N2是两个NAT设备;S是一个使用了一个众所周知的、从全球任何地方都能访问得到的IP地址的公共服务器。
步骤一:A和B分别和S建立UDP连接;NAT设备N1和N2创建UDP转换状态并分配临时的外部端口号
步骤二:S将这些端口号传回A和B
步骤三:A和B通过转换好的端口直接联系到对方的NAT设备;NAT设备则利用先前创建的转换状态将分组发往A和B
内网穿透技术的实现:
要想解决以上两大障碍,我们需要借助一台具有公网IP的服务器进行牵线搭桥。为了便于说明,先假设这里有两台位于不同局域网内的主机A和主机B,以及一台具有公网IP地址的服务器。想在这两台主机间实现通信,具体的实现方法为:
1)A和B分别连接到服务器,这时,服务器将它们的外网IP和经过转换后的端口号(IP地址和端口号合称套接字,下面就用套接字来代替)存储起来。
2)A向服务器发送请求获取B的套接字,再根据获取的信息发送数据包给B。B收到A发来的数据包后,由于在它的数据结构中查询不到对应的记录,数据包将会被丢弃。当然,B此时完全接收不到A发来的信息。
3)A向服务器发送消息,告知服务器自己已经向B发送了数据包。于是,服务器开始向B发送消息,通知它A想和其建立连接,并将A的套接字发给B。此时,B根据得到的A的套接字,再向A发送数据包。由于A事前已经向B发送过数据包,在A的数据结构中留存有记录,因此,A将能够成功接收到B的数据包。
4)A接收到B发来的数据包后,可以再向B发送数据包。同样,由于B此前向A发送过数据包,在B的数据结构中留有记录,因此现在B也能够成功接收A发来的数据包了。至此,不同局域网内的主机A和主机B就可以自由通信了。
UDP穿透NAT的原理及实现
在UDP穿透技术中,NAT分配的外部端口被发送给协助直接连接的第三方,并在NAT上建立一个Session。在NAT后面的双方都向对方的外部端口发送一个UDP包,这样就在NAT上面创建了端口映射,双方就此可以建立连接。一旦连接建立,就可以进行直接的UDP通信了。
1、UDP数据包经由NAPT传输
参照图8,NAPT为每一个是Session分配一个NAPT的端口号,依据此端口号来判断将收到的外网主机返回的ip数据包转发给自己所在内网中的哪台主机。需要指出的是,在这里Session是虚拟的,UDP通信并不需要建立连接,但是对于NAPT而言,必须要有一个Session的概念存在。
2、建立Session
根据目的地址(外网ip地址)对于Session建立的决定方式,把NAPT设备分为Symmetric NAPT和Cone NAPT两类:
(1)Symmetric NAPT:对于到同一个IP地址,任意端口的连接分配使用同一个Session;对于到不同的IP地址,任意端口的连接使用不同的Session。
(2)Cone NAPT:对于到同一个IP地址或到不同的IP地址,任意端口的连接使用同一个Session。注意,这里做实验来进行UDP内网穿透互联的NAT设备都为Cone NAT。如果是Symmetric NAT,那么主机B向主机A打洞的端口已经重新分配了,主机B将无法知道这个端口。
3、实现
UDP打洞(UDP hole punching)
UDP打洞技术依赖于防火墙和cone NATs的属性。“洞”也就是前面提到的建立一个会话(session)。通过恰当的设计peer-to-peer应用程序,可以使“洞”穿过NAT设备并在主机间可以建立连接。即使当这些主机都位于NAT后面时,它们也能通讯。这里只考虑两种特殊的情况,以及在这两种情况下一些应用程序是怎么设计的。第一种情况,也是最常见的情况,即两个在不同的NAT后面的主机想进行直接的peer-to-peer通讯。第二种情况,两个客户端主机实际上在同一个NAT后面,但是它们没有必要知道这一点。
3.1对等主机在不同的NAT后面
假定客户端A和B都有自己的私有IP地址,而且在不同的网络地址转换设备后面,参照图9。
在客户端A、B和服务器S上都运行同一个peer-to-peer应用程序(如多人在线游戏,即时通讯软件等),而且每一个主机都用UDP的端口号1234。A和B每一个都与服务器S初始一个UDP通讯会话,这样就会使NAT A为A与S的会话分配一个它自己的外网UDP端口62000,同时NAT B也为B与S的会话分配一个它的外网UDP端口31000。
现在假设客户端A想与客户端B直接建立一个UDP通讯会话。如果A只是简单的对B的外网地址(138.76.29.7:31000)发送一个UDP数据包,那么NAT B很显然会丢弃这个发送过来的数据包(除非它是一个full cone NAT类型的NAT)。因为A发送的数据包的源地址和端口号与S的不一致(开始时,NAT B与S建立了一个初始的会话,S发给NAT B的数据包的源地址与端口号为18.181.0.31:1234)。同样的,如果B开始时向NAT A发送一个UDP消息,那么NAT A很显然也将丢弃这些信息。
假如A向B的外网IP发送UDP消息的同时,通过服务器S中继一个请求给B,即请求B向A的外网地址发送UDP消息。A向外的消息直接发到B的外网地址(138.76.29.7:31000)就会使NAT A在A的自由地址与B的外网地址间建立一个新的通讯会话。同时,B发往A的外网地址(155.99.25.11:62000)消息会使NAT B在B的私有地址与A的外网地址间建立一个新的会话。一旦在每一个方向上都打开了新的UDP会话,那么客户端A与B可以直接进行通讯而不会继续通过“中介”服务器S进行通讯。
UDP打洞技术有几个有用的属性,一旦在NAT后面的两个客户端建立了一个直接的peer-to-peer连接,那么在连接上的每一个结点都可以替代服务器S的“中介”的作用,帮助其它的结点与对等的客户端建立peer-to-peer通讯,从而减轻了服务器S的负担。如果采用STUN[3],这种应用软件不需要探测它处在什么类型NAT后面。上面的通讯过程表明:即使两个客户端的一个或两个都不在一个NAT设备后面,也能很好的建立peer-to-peer连接。即使有多个NAT,UDP打洞技术也能自动工作,甚至客户端在两层或更多层地址转换设备后面,它仍然能被应用。
3.2对等主机在相同的NAT后面
当两个客户端恰好在相同的NAT后面,那么它们就在相同的IP地址空间里,参照图10。
客户端A与服务器S建立了一个UDP会话,并且由NAT分配给一个外网端口62000。同样的客户端B也与服务器建立了一个会话,对应的端口号为62001。
如果客户机A和B用服务器S作为中介,用上面介绍的UDP打洞技术建立一个通讯连接.那么A和B得知道它们的公共IP地址和端口,如同服务器S看到的那样.然后A和B就在这些外网IP地址和端口上发送信息。只要这个NAT允许内网的主机可以与内网的其他主机打开转发UDP会话,而不能仅仅局限于与外部主机建立会话,那么这两个客户机可以用这种方式进行通讯。这种情况称为“回环翻译”(loop back translation),因为当从内网的数据包到达NAT后,就被翻译,再被“回环翻译”到内网中,而不是要穿过NAT经过公网(publicnetwork),例如当A向B的外网地址发送一个UDP数据,这个数据包初始的时候有一个源IP地址和端口号(10.0.0.1:1234)和一个目的地址与端口(155.99.25.11:64001)。NAT收到这个数据包,把它翻译为155.99.25.11:62000(A的公共地址)的源地址和10.1.1.3:1234的目的地址,然后就把它转发给B。即使NAT支持“回环翻译”,在这种情况下翻译与转发是不必要的步骤,很可能在A和B之间加上一个潜在的对话,同时也加重了NAT的负担。这种情况下,可以不通过NAT直接向它们的私有地址发送数据包。
S400,第一终端设备读取第二终端设备发送的基于资源列表信息的操作策略。
S500,第一终端设备判断所操作策略中指令的上传操作还是下载操作。
S600,若为下载操作指令,则第一终端设备开启发送通道,以向第二终端设备发送与下载操作相关联的资源。
第一终端设备下载操作步骤参见图2:
A100,第一终端设备接收来自所述第二终端设备的资源下载请求。
第一终端设备基于资源下载请求,制定针对于第二终端设备的下载策略;其中,所述下载策略包括资源列表信息的下载容量限制和下载速度;
A200,第一终端设备响应下载操作,将与下载操作相关联的资源上传至云服务器。
第一终端设备将下载策略以及与资源下载请求相关联的资源上传至云服务器;
A300,云服务器生成与资源相关联的下载链接发送给第二终端设备。
A400,第二终端设备根据所述下载链接从所述云服务器下载与所述下载操作相关联的资源。
第二终端设备根据下载链接从云服务器下载与下载操作相关联的资源;其中,所述云服务器根据下载策略对访问下载链接的第二终端设备进行相应的下载容量与下载速度限制。
A500,在第二终端设备在完成从云服务器的资源下载后,删除云服务器中存储的与下载操作相关联的资源。
云盘的一个重要功能就是对文件的管理,那么服务器需要对客户端发送来的指令进行正确操作,这就需要服务器对接收到的信息进行正确解析,使用post请求访问后台项目,后台通过NIO实现文件的上传和下载,具体步骤如下:
客户端通过post方法,发送:“old=”+文件源地址+“&action=”+操作名称+“&new=”+文件目标地址。
其中,文件源地址为需要操作的文件的路径,操作名称为文件管理操作,文件目标地址为被操作文件被操作之后的地址(当操作为删除,新建时该项可为空)。
当服务器端接收到信息时候,搜索“old=”“action=”“new=”,并将其后的信息截取至下一个“&”或者信息流结束,将其作为具体操作的依据,调用服务器设备自带的文件管理执行对应操作。
S700,若为上传操作指令,则第一终端设备开启接收通道,以接收和存储来自第二终端设备的与上传操作相关联的资源。
具体地,本实施例中所述的步骤可以执行如下:
1、用户在两台终端应用上各配置好另一个终端设备的地址,将其中一个终端设备设置为服务器端,另一个终端设备设置为客户端,并给予所需求的权限,即可开始使用。
2、使用客户端设备进行获取文件,则向服务器设备发送请求,服务器接收并且响应,将服务器的文件列表信息发送给客户端,客户端接收并且显示。
3、用户可以对客户端上显示的文件列表进行查看,复制,下载等操作,通过将对应的操作指令发送给服务器,达到对应的目的。服务器接收到指令后,根据指令中所述的文件路径和操作名称对文件进行响应。
4、用户可以点击客户端的上传按钮,将客户端本地的文件发送给服务器端,服务器开启接收通道,接收来自于客户端的文件,并将其保存至服务器本地,同时发送提示给客户端,如上传成功等。本发明第二实施例:
在第一个实施例的基础上,参照图5,图5是本发明提供的资源下载装置的结构示意图。
本发明第二实施例提供一种资源下载的系统,如图4所示,该系统至少包括第一终端设备10、第二终端设备20以及云服务器30。
其中,所述第一终端设备10包括接收模块101和上传模块102。所述接收模块101用于接收来自所述第二终端设备的资源下载请求。所述上传模块102用于响应所述下载操作,将与所述下载操作相关联的资源上传至云服务器30。
所述云服务器30包括链接生成模块301和发送模块302。所述链接生成模块31用于所述云服务器30生成与所述资源相关联的下载链接。所述发送模块302用于将所述下载链接发送给所述第二终端设备20。
所述第二终端设备20包括下载模块201和删除模块202。所述下载模块201用于所述根据所述下载链接从所述云服务器30下载与所述下载链接相关联的资源。所述删除模块202用于在所述第二终端设备20完成从所述云服务器30的资源下载后,删除所述云服务器30中存储的与所述下载链接相关联的资源。
在本实施例中,所述云服务器30还可以包括存储模块303。所述存储模块303用于在所述在云服务器30中划分出多个区域分别对应于不同资源列表信息的存储区域,并在对应的存储区域内存放第一终端设备10上传的资源。
在进一步的可能实施例中,所述第一终端设备10还包括下载策略制定模块103。所述下载策略制定模块103用于基于所述资源下载请求,制定针对于所述第二终端设备20的下载策略。其中,所述下载策略包括资源列表信息的下载容量限制和下载速度限制。在此实施例中,所述第一终端设备10中的上传模块102还用于将所述下载策略以及与所述资源下载请求相关联的资源上传至云服务器30。所述云服务器30中的发送模块302还用于将所述下载策略以及所述下载链接发送至第二终端设备20。所述第二终端设备20中的下载模块201还用于根据所述下载链接和所述下载策略从所述云服务器30下载与所述下载链接相关联的资源;其中,所述云服务器3根据所述下载策略对访问所述下载链接的第二终端设备20进行相应的下载容量与下载速度限制。
本发明第三实施例:
本发明第三实施例提供一种资源下载终端设备,包括处理器、存储器以及存储在所述存储器中且被配置由所述处理执行的计算机程序,例如资源下载方法的程序。所述处理器执行所述计算机程序时实现上述任一项所述的一种资源下载方法的实施例中的步骤,例如图1所示的步骤S10。或者,所述处理器执行所述计算机程序时实现上述各装置实例中的功能,例如图5所示的监听模块100。
示例性地,所述计算机程序可以被分割成一个或多个模块,所述一个或者多个模块被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述实现资源下载终端设备中的执行过程。
所述终端设备为上述实施例中的中心服务器。所述终端设备可包括,但不仅限于,处理器、存储器、显示器。本领域技术人员可以理解,所述示意图仅仅是实现资源下载终端设备的示例,并不构成对资源下载终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如实现资源下载终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述实现资源下载终端设备的控制中心,利用各种接口和线路连接整个所述实现资源下载终端设备的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现资源下载设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、文字转换功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、文字消息数据等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
其中,所述实现资源下载终端设备的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一个计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
Claims (8)
1.一种资源下载的方法,其特征在于,资源下载的步骤包括:
第一终端设备接收来自第二终端设备的资源下载请求;
所述第一终端设备响应所述资源下载请求,将与所述资源下载请求相关联的资源上传至云服务器;
所述云服务器生成与所述资源相关联的下载链接发送给所述第二终端设备;
所述第二终端设备根据所述下载链接从所述云服务器下载与所述下载链接相关联的资源。
2.根据权利要求1所述的一种资源下载的方法,其特征在于,在所述第二终端设备在完成从所述云服务器的资源下载后,删除所述云服务器中存储的与所述下载链接相关联的资源。
3.根据权利要求1所述的一种资源下载的方法,其特征在于,在所述在云服务器中划分出多个区域分别对应于不同资源列表信息的存储区域,并在对应的存储区域内存放第一终端设备上传的资源。
4.根据权利要求1所述的资源下载方法,其特征在于,在所述第一终端设备接收来自所述第二终端设备的资源下载请求后还包括:
所述第一终端设备基于所述资源下载请求,制定针对于所述第二终端设备的下载策略;其中,所述下载策略包括资源列表信息的下载容量限制和下载速度限制;
所述第一终端设备将所述下载策略以及与所述资源下载请求相关联的资源上传至云服务器;
所述云服务器生成与所述资源相关联的下载链接,并将所述下载链接发送给所述第二终端设备;
所述第二终端设备根据所述下载链接从所述云服务器下载与所述下载操作相关联的资源;其中,所述云服务器根据所述下载策略对访问所述下载链接的第二终端设备进行相应的下载容量与下载速度限制。
5.一种资源下载的系统,其特征在于,包括第一终端设备、第二终端设备以及云服务器;
其中,所述第一终端设备包括接收模块和上传模块;
所述接收模块用于接收来自所述第二终端设备的资源下载请求;
所述上传模块用于响应所述下载操作,将与所述下载操作相关联的资源上传至云服务器;
所述云服务器包括链接生成模块和发送模块;
所述链接生成模块用于所述云服务器生成与所述资源相关联的下载链接;
所述发送模块用于将所述下载链接发送给所述第二终端设备;
所述第二终端设备包括下载模块和删除模块;
所述下载模块用于根据所述下载链接从所述云服务器下载与所述下载链接相关联的资源;
所述删除模块用于在所述第二终端设备完成从所述云服务器的资源下载后,删除所述云服务器中存储的与所述下载链接相关联的资源。
6.根据权利要求5所述的系统,其特征在于,所述云服务器还包括存储模块,所述存储模块用于在所述在云服务器中划分出多个区域分别对应于不同资源列表信息的存储区域,并在对应的存储区域内存放第一终端设备上传的资源。
7.根据权利要求5所述的系统,其特征在于,所述第一终端设备还包括下载策略制定模块,所述下载策略制定模块用于基于所述资源下载请求,制定针对于所述第二终端设备的下载策略;其中,所述下载策略包括资源列表信息的下载容量限制和下载速度限制;
所述第一终端设备中的上传模块还用于将所述下载策略以及与所述资源下载请求相关联的资源上传至云服务器;
所述云服务器中的发送模块还用于将所述下载策略以及所述下载链接发送至第二终端设备;
所述第二终端设备中的下载模块还用于根据所述下载链接和所述下载策略从所述云服务器下载与所述下载链接相关联的资源;其中,所述云服务器根据所述下载策略对访问所述下载链接的第二终端设备进行相应的下载容量与下载速度限制。
8.一种终端设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置由所述处理执行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至4任一项所述的资源下载的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810392582.0A CN108737505A (zh) | 2018-04-27 | 2018-04-27 | 一种资源下载的方法、系统和终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810392582.0A CN108737505A (zh) | 2018-04-27 | 2018-04-27 | 一种资源下载的方法、系统和终端设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108737505A true CN108737505A (zh) | 2018-11-02 |
Family
ID=63939972
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810392582.0A Pending CN108737505A (zh) | 2018-04-27 | 2018-04-27 | 一种资源下载的方法、系统和终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108737505A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110224978A (zh) * | 2019-04-30 | 2019-09-10 | 济南汇通远德科技有限公司 | 一种基于云服务实现视频追溯的方法 |
CN111294374A (zh) * | 2018-12-07 | 2020-06-16 | 杭州海康威视数字技术股份有限公司 | 一种异构设备启动系统、方法、装置及电子设备 |
CN112217649A (zh) * | 2019-07-10 | 2021-01-12 | 南宁富桂精密工业有限公司 | 终端设备管理方法、服务器及终端设备 |
CN112954063A (zh) * | 2021-02-25 | 2021-06-11 | 福州创实讯联信息技术有限公司 | 一种tftp内网穿透方法及tftp服务端 |
CN113114740A (zh) * | 2021-03-29 | 2021-07-13 | 深圳云里物里科技股份有限公司 | 一种网关的数据传输方法、装置、网关和存储介质 |
CN113615140A (zh) * | 2019-08-30 | 2021-11-05 | Oppo广东移动通信有限公司 | 集合资源的访问方法、装置、设备及存储介质 |
Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101272402A (zh) * | 2008-05-14 | 2008-09-24 | 深圳市同洲电子股份有限公司 | 一种数据传输的方法、装置及系统 |
US20100005153A1 (en) * | 2003-12-04 | 2010-01-07 | Tsao Sheng Ted | Use of wireless devices' external storage |
CN101945141A (zh) * | 2010-09-17 | 2011-01-12 | 北京神州泰岳软件股份有限公司 | 基于tcp的穿越nat设备的方法及系统 |
CN102685223A (zh) * | 2012-04-28 | 2012-09-19 | 广州市动景计算机科技有限公司 | 基于云端存储的文件处理方法及系统 |
CN102739770A (zh) * | 2012-04-18 | 2012-10-17 | 上海和辰信息技术有限公司 | 一种基于云计算的资源调度方法及系统 |
CN103281361A (zh) * | 2013-05-06 | 2013-09-04 | 北京启创卓越有限公司 | 个人云协同系统及数据管理方法 |
CN103384275A (zh) * | 2013-07-19 | 2013-11-06 | 贝壳网际(北京)安全技术有限公司 | 跨终端进行下载的方法、系统云端服务器和终端 |
CN103634392A (zh) * | 2013-11-26 | 2014-03-12 | 北京奇虎科技有限公司 | 一种离线文件传输的方法、系统、终端设备以及服务器 |
CN103888505A (zh) * | 2013-11-26 | 2014-06-25 | 北京奇虎科技有限公司 | 一种文件传输的方法、系统、终端设备以及服务器 |
CN104092749A (zh) * | 2014-07-01 | 2014-10-08 | 小米科技有限责任公司 | 同步照片的方法和装置 |
CN104202411A (zh) * | 2014-09-15 | 2014-12-10 | 中卓信(北京)科技有限公司 | 文件传输方法和服务器 |
CN104462367A (zh) * | 2014-12-08 | 2015-03-25 | 北京安奇智联科技有限公司 | 一种计算设备的浏览器及其缩略图显示方法 |
CN106254553A (zh) * | 2016-09-30 | 2016-12-21 | 北京奇虎科技有限公司 | 一种文件传输处理方法和装置 |
CN106973302A (zh) * | 2016-01-14 | 2017-07-21 | 腾讯科技(深圳)有限公司 | 一种下载视频数据的方法、装置及系统 |
CN107063236A (zh) * | 2017-05-03 | 2017-08-18 | 蒋劭恒 | 一种建筑物内定位和导航系统以及实现方法 |
CN206601381U (zh) * | 2017-03-28 | 2017-10-31 | 泰安市康宇医疗器械有限公司 | 一种能无线接收多型号母乳分析仪数据并诊断的装置 |
CN107426314A (zh) * | 2017-07-21 | 2017-12-01 | 北京金山安全管理系统技术有限公司 | 数据下载方法及装置 |
CN107438024A (zh) * | 2017-07-27 | 2017-12-05 | 杭州冒险元素网络技术有限公司 | 一种基于会员制的在线行程管理装置以及权限管理方法 |
CN107645551A (zh) * | 2017-09-19 | 2018-01-30 | 广东欧珀移动通信有限公司 | 文件传输方法及装置 |
US20180081649A1 (en) * | 2013-03-21 | 2018-03-22 | Razer (Asia-Pacific) Pte. Ltd. | Storage optimization in computing devices |
CN107944721A (zh) * | 2017-11-30 | 2018-04-20 | 厦门理工学院 | 一种通用的基于数据挖掘的机器学习方法、装置以及系统 |
-
2018
- 2018-04-27 CN CN201810392582.0A patent/CN108737505A/zh active Pending
Patent Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100005153A1 (en) * | 2003-12-04 | 2010-01-07 | Tsao Sheng Ted | Use of wireless devices' external storage |
CN101272402A (zh) * | 2008-05-14 | 2008-09-24 | 深圳市同洲电子股份有限公司 | 一种数据传输的方法、装置及系统 |
CN101945141A (zh) * | 2010-09-17 | 2011-01-12 | 北京神州泰岳软件股份有限公司 | 基于tcp的穿越nat设备的方法及系统 |
CN102739770A (zh) * | 2012-04-18 | 2012-10-17 | 上海和辰信息技术有限公司 | 一种基于云计算的资源调度方法及系统 |
CN102685223A (zh) * | 2012-04-28 | 2012-09-19 | 广州市动景计算机科技有限公司 | 基于云端存储的文件处理方法及系统 |
US20180081649A1 (en) * | 2013-03-21 | 2018-03-22 | Razer (Asia-Pacific) Pte. Ltd. | Storage optimization in computing devices |
CN103281361A (zh) * | 2013-05-06 | 2013-09-04 | 北京启创卓越有限公司 | 个人云协同系统及数据管理方法 |
CN103384275A (zh) * | 2013-07-19 | 2013-11-06 | 贝壳网际(北京)安全技术有限公司 | 跨终端进行下载的方法、系统云端服务器和终端 |
CN103634392A (zh) * | 2013-11-26 | 2014-03-12 | 北京奇虎科技有限公司 | 一种离线文件传输的方法、系统、终端设备以及服务器 |
CN103888505A (zh) * | 2013-11-26 | 2014-06-25 | 北京奇虎科技有限公司 | 一种文件传输的方法、系统、终端设备以及服务器 |
CN104092749A (zh) * | 2014-07-01 | 2014-10-08 | 小米科技有限责任公司 | 同步照片的方法和装置 |
CN104202411A (zh) * | 2014-09-15 | 2014-12-10 | 中卓信(北京)科技有限公司 | 文件传输方法和服务器 |
CN104462367A (zh) * | 2014-12-08 | 2015-03-25 | 北京安奇智联科技有限公司 | 一种计算设备的浏览器及其缩略图显示方法 |
CN106973302A (zh) * | 2016-01-14 | 2017-07-21 | 腾讯科技(深圳)有限公司 | 一种下载视频数据的方法、装置及系统 |
CN106254553A (zh) * | 2016-09-30 | 2016-12-21 | 北京奇虎科技有限公司 | 一种文件传输处理方法和装置 |
CN206601381U (zh) * | 2017-03-28 | 2017-10-31 | 泰安市康宇医疗器械有限公司 | 一种能无线接收多型号母乳分析仪数据并诊断的装置 |
CN107063236A (zh) * | 2017-05-03 | 2017-08-18 | 蒋劭恒 | 一种建筑物内定位和导航系统以及实现方法 |
CN107426314A (zh) * | 2017-07-21 | 2017-12-01 | 北京金山安全管理系统技术有限公司 | 数据下载方法及装置 |
CN107438024A (zh) * | 2017-07-27 | 2017-12-05 | 杭州冒险元素网络技术有限公司 | 一种基于会员制的在线行程管理装置以及权限管理方法 |
CN107645551A (zh) * | 2017-09-19 | 2018-01-30 | 广东欧珀移动通信有限公司 | 文件传输方法及装置 |
CN107944721A (zh) * | 2017-11-30 | 2018-04-20 | 厦门理工学院 | 一种通用的基于数据挖掘的机器学习方法、装置以及系统 |
Non-Patent Citations (1)
Title |
---|
佚名: ""内网穿透"", 《HTTPS://BAIKE.BAIDU.COM/HISTORY/内网穿透/8597835/127075090》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111294374A (zh) * | 2018-12-07 | 2020-06-16 | 杭州海康威视数字技术股份有限公司 | 一种异构设备启动系统、方法、装置及电子设备 |
CN111294374B (zh) * | 2018-12-07 | 2023-04-18 | 杭州海康威视数字技术股份有限公司 | 一种异构设备启动系统、方法、装置及电子设备 |
CN110224978A (zh) * | 2019-04-30 | 2019-09-10 | 济南汇通远德科技有限公司 | 一种基于云服务实现视频追溯的方法 |
CN112217649A (zh) * | 2019-07-10 | 2021-01-12 | 南宁富桂精密工业有限公司 | 终端设备管理方法、服务器及终端设备 |
CN113615140A (zh) * | 2019-08-30 | 2021-11-05 | Oppo广东移动通信有限公司 | 集合资源的访问方法、装置、设备及存储介质 |
CN113615140B (zh) * | 2019-08-30 | 2023-04-04 | Oppo广东移动通信有限公司 | 集合资源的访问方法、装置、设备及存储介质 |
CN112954063A (zh) * | 2021-02-25 | 2021-06-11 | 福州创实讯联信息技术有限公司 | 一种tftp内网穿透方法及tftp服务端 |
CN113114740A (zh) * | 2021-03-29 | 2021-07-13 | 深圳云里物里科技股份有限公司 | 一种网关的数据传输方法、装置、网关和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108737505A (zh) | 一种资源下载的方法、系统和终端设备 | |
CN112511611B (zh) | 节点集群的通信方法、装置、系统及电子设备 | |
CN104205051B (zh) | 用于虚拟机的移动处理的方法和装置 | |
US8316134B2 (en) | File server device arranged in a local area network and being communicable with an external server arranged in a wide area network | |
CN101595688B (zh) | 跨越公共网络以连接任意主机的虚拟专用lan | |
CN108737272B (zh) | 一种云计算中高性能路由转发方法 | |
CN105323310B (zh) | 网络通信方法、设备及网络附属存储设备 | |
US20040177158A1 (en) | Network address translation techniques for selective network traffic diversion | |
CN106663034A (zh) | 基于企业的网络与多租户网络之间的应用程序迁移 | |
CN102780779A (zh) | 一种园区网出口p2p流量优化方法、装置及网关设备 | |
CN112187532A (zh) | 一种节点管控方法及系统 | |
CN108881034A (zh) | 一种应用于bt系统的请求响应方法、设备及系统 | |
CN114244602A (zh) | 多用户在线的网络服务系统、方法、装置及介质 | |
CN108833469A (zh) | 一种终端对终端的资源传输方法、装置和终端设备 | |
CN108540588A (zh) | Mac地址获取方法及系统、网络安全设备及可读存储介质 | |
CN114157532A (zh) | 远程控制方法、系统、电子装置和存储介质 | |
CN109787848A (zh) | 一种通过内网穿透技术组建去中心化网络架构技术 | |
CN115514514A (zh) | 一种蜜罐流量牵引装置、方法、计算机设备及存储介质 | |
CN115134141A (zh) | 一种微服务容器集群跨网络通信系统及其通信方法 | |
CN105516121B (zh) | 无线局域网中ac与ap通信的方法及系统 | |
KR101874590B1 (ko) | 게임 범용 네트워크 라이브러리를 이용한 통신 미들웨어 서비스 제공 방법 | |
Lavinal et al. | A generic multi-agent conceptual framework towards self-management | |
KR101406852B1 (ko) | 중계 통신 시스템 및 중계 서버 | |
Li et al. | The application of mobile Agent in mobile payment | |
CN116095080B (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: 20181102 |
|
RJ01 | Rejection of invention patent application after publication |