一种上传、下载数据的方法及网关的制作方法

文档序号:7800657阅读:312来源:国知局
一种上传、下载数据的方法及网关的制作方法
【专利摘要】本发明公开了一种上传、下载数据的方法及网关,方法包括接收客户端发送的数据上传指令,其中,所述数据上传指令携带客户端所需上传的数据的标记;在缓存单元中没有缓存与所述标记对应的数据,以及在服务器没有存储有与所述标记对应的数据时,向所述客户端发送数据上传许可指令;接收所述客户端根据所述数据上传许可指令上传的数据,并缓存所述数据。通过上述方式,本发明能够减少数据在传输过程占用的带宽,提高数据传输速度。
【专利说明】—种上传、下载数据的方法及网关
【技术领域】
[0001]本发明涉及数据处理【技术领域】,特别是涉及一种上传、下载数据的方法及网关。
【背景技术】
[0002]随着互联网技术的发展,信息数据出现爆炸性增长,越来越多的用户选择通过互联网获取信息。互联网中的信息通常存储在服务器端,用户通过网络接入设备,例如:计算机、智能手机等等,从服务器端获取信息,而服务器与网络接入设备是通过网关连接在一起的。
[0003]用户通过网络接入设备向服务器请求信息时,信息需要经过网关层层转发,最过到达网络接入设备,其中,用户每次向服务器请求信息,服务器均需要向用户发信息,网关也需要转发该信息,当同时向服务器请求信息的用户的数量过大时,对服务器和网关而言,将会面临巨大压力,对网络带宽的要求也极高。

【发明内容】

[0004]本发明主要解决的技术问题是提供一种数据上传、下载的方法及网关,能够减少数据在传输过程占用的带宽,提高数据传输速度。
[0005]为解决上述技术问题,本发明采用的一个技术方案是:提供一种上传数据的方法,包括接收客户端发送的数据上传指令,其中,所述数据上传指令携带客户端所需上传的数据的标记;在缓存单元中没有缓存与所述标记对应的数据,以及在服务器没有存储有与所述标记对应的数据时,向所述客户端发送数据上传许可指令;接收所述客户端根据所述数据上传许可指令上传的数据,并缓存所述数据。
[0006]其中,所述标记为第一 MD5值,所述第一 MD5为所述客户端所需上传的数据的MD5值;所述在缓存单元中没有缓存与所述标记对应的数据,以及在服务器没有存储有与所述标记对应的数据时,向所述客户端发送数据上传许可指令的步骤包括:获取包含缓存单元中的各个数据的MD5值的第一集合;在第一集合中查找与第一 MD5值相同的成员;若没有找到所述成员;,则向服务器发送所述第一 MD5,以使所述服务器在第二集合中查找与第一MD5值相同的成员,其中,所述第二集合为包含服务器中存储的各个数据的MD5值的集合;接收所述服务器返回的在第二集合中没有找到与第一 MD5值相同的成员的消息,并向所述客户端发送数据上传许可指令。
[0007]其中,方法还包括:若在所述第一集合中找到与第一 MD5值相匹配的成员,或者,接收所述服务器返回的在第二集合中找到与第一 MD5值相匹配的成员的消息,则向所述客户端发送数据上传成功消息。
[0008]其中,方法还包括:向所述服务器发送所述客户端上传的数据,以使所述服务器存储所述数据。
[0009]其中,方法还包括:获取缓存单元中的各个数据的缓存时间;判断所述缓存时间是否超过阀值时间;若所述缓存时间超过阀值时间,则删除所述缓存时间对应的数据。[0010]为解决上述技术问题,本发明采用的另一个技术方案是:提供一种下载数据的方法,包括:接收客户端发送的第一数据下载指令,并向所述服务器转发所述第一数据下载指令,其中,所述第一数据下载指令携带所需下载的数据的标识;接收所述服务器根据所述标识返回的第一 MD5值,其中,所述第一 MD5值为在所述服务器所存储的,并且与所述标识对应的数据的MD5值;根据所述标识在缓存单元中查找第二数据,其中,所述第二数据为缓存单元中所缓存的,并且与所述标识对应的数据;若找到所述第二数据,则获取所述第二数据的第二 MD5值;比对所述第一 MD5与第二 MD5是否相同;若相同,则向客户端返回所述第二数据。
[0011]其中,所述方法还包括:若所述第一 MD5与第二 MD5不相同,则向所述客户端发送提示消息,以提示所述客户端所述第一数据与第二数据不一致。
[0012]其中,所述方法还包括:若没有找到所述第二数据时,向所述服务器发送第二数据下载指令,其中,所述第二数据下载指令用于请求服务器发送第一数据;接收所述服务器发送的第一数据,并缓存所述第一数据,以及向所述客户端发送的第一数据。
[0013]为解决上述技术问题,本发明采用的另一个技术方案是:提供一种网关,包括第一接收模块,用于接收客户端发送的数据上传指令,其中,所述数据上传指令携带所需上传的数据的标记;第一发送模块,用于在缓存单元中没有缓存与所述标记对应的数据,以及在服务器没有存储有与所述标记对应的数据时,向所述客户端发送数据上传许可指令;第二接收模块,用于接收所述客户端根据所述数据上传许可指令上传的数据,并缓存所述数据。
[0014]为解决上述技术问题,本发明采用的另一个技术方案是:提供一种网关,包括第一接收模块,用于接收客户端发送的第一数据下载指令,并向所述服务器转发所述第一数据下载指令,其中,所述第一数据下载指令携带所需下载的数据的标识;第二接收模块,用于接收所述服务器根据所述标识返回的第一 MD5值,其中,所述第一 MD5值为在所述服务器所存储的,并且与所述标识对应的数据的MD5值;查找模块,用于根据所述标识在缓存单元中查找第二数据,其中,所述第二数据为缓存单元中所缓存的,并且与所述标识对应的数据;获取模块,用于在所述查找模块找到所述第二数据时,获取所述第二数据的第二 MD5值;比对模块,用于比对所述第一 MD5与第二 MD5是否相同;发送模块,用于在所述比对模块比对到所述第一 MD5与第二 MD5值相同时,向客户端返回所述第二数据。
[0015]本发明的有益效果是:区别于现有技术的情况,本发明将数据缓存在网关,当客户端向服务器请求数据时,并且判断到网关缓存单元缓存有客户端所请求的数据,以及服务器存储有客户端所请求的数据时,网关直接向客户端返回所述请求的数据,无需要服务器向客户端发送所述请求的数据,而服务器向客户端发送所述请求的数据,需要经过网关转发,而本发明中网关直接向客户端返回数据,缩减数据传输所经过的网络路径,减少数据在传输过程占用的带宽,从而提高数据传输速度。
【专利附图】

【附图说明】
[0016]图1是本发明数据上传、下载系统实施方式结构示意图;
[0017]图2是本发明网关第一实施方式的结构示意图;
[0018]图3是本发明网关第二实施方式的结构示意图;
[0019]图4是本发明数据上传的方法实施方式流程图;[0020]图5是本发明数据上传的方法实施方式判断服务器所存储的数据与缓存单元中缓存的数据是否相同的流程图;
[0021]图6是本发明数据下载的方法实施方式流程图。
【具体实施方式】
[0022]下面结合附图和实施方式对本发明进行详细说明。 [0023]请参阅图1,如图所示,系统包括服务器10、网关11和客户端12。服务器10通过网关11与客户端12,网关11的数量为多个,多个网关11连接在一起形成网络,服务器10向客户端12发送数据时,数据需要网关11转发,客户端12向服务器10发送数据,数据也需要经网关11转发,其中,网关11可为路由器、交换机等等,网关11设置有缓存单元(图未示),缓存单元用于缓存数据,服务器10用于存储数据。客户端12可为计算机、智能手机等终端设备。
[0024]客户端12需要向服务器10上传数据时,客户端12向服务器10发送数据上传指令,其中,数据上传指令携带客户端12所需要上传的数据的标记。其中,客户端12向服务器10发送数据上传指令时,网关11先于服务器10接收到该数据上传指令。网关11检测缓存单元中是否缓存有该标记对应的数据,若没有,则网关11向服务器10发送该标记。服务器10接收到标记后,检测服务器10上是否存储有与该标记对应的数据,若没有,则服务器10向网关11下发没有找到该标记对应的数据的消息,网关11接收到该消息后,向客户端12发送数据上传许可指令。客户端12接收到数据上传许可指令后,向网关11发送该数据。网关11接收到该数据后,在缓存单元中缓存该数据,并向服务器10发送该数据,以使服务器10存储该数据。
[0025]数据上传指令中携带的客户端12所需上传的数据的标记可为数据的标识,例如:数据的名称,也可以为该数据的第一 MD5值,第一 MD5为客户端12所需上传的数据的MD5值。客户端12在需要上传数据时,根据算法计算所需上传的数据的第一 MD5值,其中计算第一 MD5值的代码如下:
[0026]
【权利要求】
1.一种上传数据的方法,其特征在于,方法包括: 接收客户端发送的数据上传指令,其中,所述数据上传指令携带客户端所需上传的数据的标记; 在缓存单元中没有缓存与所述标记对应的数据,以及在服务器没有存储有与所述标记对应的数据时,向所述客户端发送数据上传许可指令; 接收所述客户端根据所述数据上传许可指令上传的数据,并缓存所述数据。
2.根据权利要求1所述的方法,其特征在于,所述标记为第一MD5值,所述第一 MD5为所述客户端所需上传的数据的MD5值; 所述在缓存单元中没有缓存与所述标记对应的数据,以及在服务器没有存储有与所述标记对应的数据时,向所述客户端发送数据上传许可指令的步骤包括: 获取包含缓存单元中的各个数据的MD5值的第一集合; 在第一集合中查找与第一 MD5值相匹配的成员; 若没有找到所述成员,则向服务器发送所述第一 MD5,以使所述服务器在第二集合中查找与第一 MD5值相匹配的成员,其中,所述第二集合为服务器中存储的各个数据的MD5值的集合; 接收所述服务器返回 的在第二集合中没有找到与第一 MD5值相匹配的成员的消息,并向所述客户端发送数据上传许可指令。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括: 若在所述第一集合中找到与第一 MD5值相匹配的成员,或者,接收所述服务器返回的在第二集合中找到与第一 MD5值相匹配的成员的消息,则向所述客户端发送数据上传成功消息。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括: 向所述服务器发送所述客户端上传的数据,以使所述服务器存储所述数据。
5.根据权利要求4所述方法,其特征在于,所述方法还包括: 获取所述缓存单元中的各个数据的缓存时间; 判断所述缓存时间是否超过阀值时间; 若所述缓存时间超过阀值时间,则删除所述缓存时间对应的数据。
6.一种下载数据的方法,其特征在于,所述方法包括: 接收客户端发送的第一数据下载指令,并向所述服务器转发所述第一数据下载指令,其中,所述第一数据下载指令携带客户端所需下载的数据的标识; 接收所述服务器根据所述标识返回的第一 MD5值,其中,所述第一 MD5值为在所述服务器所存储的,并且与所述标识对应的数据的MD5值; 根据所述标识在缓存单元中查找第二数据,其中,所述第二数据为缓存单元中所缓存的,并且与所述标识对应的数据; 若找到所述第二数据,则获取所述第二数据的第二 MD5值; 比对所述第一 MD5与第二 MD5是否相同; 若相同,则向所述客户端返回所述第二数据。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括: 若所述第一MD5与第二 MD5不相同,则向所述客户端发送提示消息,以提示所述客户端所述第一数据与第二数据不一致。
8.根据权利要求6所述的方法,其特征在于,所述方法还包括: 若没有找到所述第二数据时,向所述服务器发送第二数据下载指令,其中,所述第二数据下载指令用于请求服务器发送第一数据; 接收所述服务器发送的第一数据,并缓存所述第一数据,以及向所述客户端发送的第一数据。
9.一种网关,其特征在于,包括: 第一接收模块,用于接收客户端发送的数据上传指令,其中,所述数据上传指令携带所需上传的数据的标记; 第一发送模块,用于在缓存单元中没有缓存与所述标记对应的数据,以及在服务器没有存储有与所述标记对应的数据时,向所述客户端发送数据上传许可指令; 第二接收模块,用于接收所述客户端根据所述数据上传许可指令上传的数据,并缓存所述数据。
10.一种网关,其特征在于,包括: 第一接收模块,用于接收客户端发送的第一数据下载指令,并向所述服务器转发所述第一数据下载指令,其中,所述第一数据下载指令携带所需下载的数据的标识; 第二接收模块,用于接收所述服务器根据所述标记返回的第一 MD5值,其中,所述第一MD5值为在所述服务器所存储的,并且与所述标记对应的数据的MD5值; 查找模块,用于根据所述标记在缓存单元中查找第二数据,其中,所述第二数据为缓存单元中所缓存的,并且与所述标记对应的数据; 获取模块,用于在所述查找模块找到所述第二数据时,获取所述第二数据的第二 MD5值; 比对模块,用于比对所述第一 MD5与第二 MD5是否相同; 发送模块,用于在所述比对模块比对到所述第一 MD5与第二 MD5值相同时,向所述客户端返回所述第二数据。
【文档编号】H04L12/66GK103944972SQ201410131955
【公开日】2014年7月23日 申请日期:2014年4月2日 优先权日:2014年4月2日
【发明者】张勤, 张鼎 申请人:深圳市中博科创信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1