用于下载目标文件的方法及装置与流程

文档序号:12278804阅读:419来源:国知局
用于下载目标文件的方法及装置与流程

本发明涉及计算机及互联网技术领域,具体而言,本发明涉及一种用于下载目标文件的方法及装置。



背景技术:

现有技术中,当用户需要下载目标文件时,通过在终端的人机交互界面中触发下载操作,终端会生成一条用于请求目标文件的下载链接,该链接中仅包括指向服务器的网络地址及目标文件名,服务器端接收到该下载链接时,在其存储中找到相应的目标文件返回至终端。在上述过程中,任意用户在任意时间点请求下载同一目标文件时,生成的下载链接都是相同的,且当该下载链接发送至服务器端请求目标文件后,在服务器端会保存该下载链接。搜索引擎可通过网络爬虫等技术抓取到该下载链接,当对于具有保密需求的目标文件,被网络爬虫等技术抓取到目标文件的下载链接会对目标文件的安全性造成极大的隐患。



技术实现要素:

为克服上述技术问题或者至少部分地解决上述技术问题,特提出以下技术方案:

本发明的实施例提出了一种在终端设备中用于下载目标文件的方法,包括:

检测到用户对目标文件的下载触发操作时,获取多个链接参数信息;

基于所述链接参数信息来生成下载请求链接;

将所述下载请求链接发送至服务器;

接收所述服务器对所述下载请求链接中的一个或多个链接参数信息验证通过后返回的所述目标文件。

其中,所述链接参数信息包括以下至少任一项:

用户标识信息;下载时间信息;下载目标文件的任务标识;签名信息;目标文件的文件相关信息。

可选地,当所述链接参数信息为签名信息时,获取多个链接参数信息的步骤,具体包括:

基于获取到的所述用户标识信息及所述下载时间信息来生成签名信息。

优选地,基于所述链接参数信息来生成下载请求链接的步骤,具体包括:

提取指向所述服务器的网络地址信息;

将所述网络地址信息及所述链接参数信息进行合并处理以生成下载请求链接。

本发明的实施例还提出了一种在服务器中用于下载目标文件的方法,包括:

对接收到的来自终端设备的下载请求链接进行解析,以提取所述下载请求链接包括的多个链接参数信息;

对至少一个链接参数信息进行验证;

当验证通过时,获取所述目标文件;

将所述目标文件返回至所述终端设备。

其中,所述链接参数信息包括以下至少任一项:

用户标识信息;下载时间信息;下载目标文件的任务标识;签名信息;目标文件的文件相关信息。

优选地,对至少一个链接参数信息进行验证的步骤,具体包括以下至少任一情形:

对所述用户标识信息进行身份验证;

对所述下载时间信息进行时效验证;

对所述下载目标文件的任务标识进行任务有效性验证;

对所述签名信息进行签名验证。

优选地,获取所述目标文件的步骤,具体包括:

基于所述多个链接参数信息来确定所述目标文件的存储位置;

从所述存储位置处提取所述目标文件。

本发明的另一实施例提出了一种在终端设备中用于下载目标文件的装置,包括:

参数获取模块,用于检测到用户对目标文件的下载触发操作时,获取多个链接参数信息;

生成模块,用于基于所述链接参数信息来生成下载请求链接;

链接发送模块,用于将所述下载请求链接发送至服务器;

文件接收模块,用于接收所述服务器对所述下载请求链接中的一个或多个链接参数信息验证通过后返回的所述目标文件。

其中,所述链接参数信息包括以下至少任一项:

用户标识信息;下载时间信息;下载目标文件的任务标识;签名信息;目标文件的文件相关信息。

可选地,当所述链接参数信息为签名信息时,所述参数获取模块具体用于基于获取到的所述用户标识信息及所述下载时间信息来生成签名信息。

优选地,所述生成模块具体包括:

地址提取单元,用于提取指向所述服务器的网络地址信息;

合并单元,用于将所述网络地址信息及所述链接参数信息进行合并处理以生成下载请求链接。

本发明的另一实施例还提出了一种在服务器中用于下载目标文件的装置,包括:

解析模块,用于对接收到的来自终端设备的下载请求链接进行解析,以提取所述下载请求链接包括的多个链接参数信息;

验证模块,用于对至少一个链接参数信息进行验证;

文件获取模块,用于当验证通过时,获取所述目标文件;

文件发送模块,用于将所述目标文件返回至所述终端设备。

其中,所述链接参数信息包括以下至少任一项:

用户标识信息;下载时间信息;下载目标文件的任务标识;签名信息; 目标文件的文件相关信息。

优选地,所述验证模块对至少一个链接参数信息进行验证的情形具体包括以下至少任一项:

对所述用户标识信息进行身份验证;

对所述下载时间信息进行时效验证;

对所述下载目标文件的任务标识进行任务有效性验证;

对所述签名信息进行签名验证。

优选地,所述文件获取模块具体包括:

位置确定单元,用于基于所述多个链接参数信息来确定所述目标文件的存储位置;

文件提取单元,用于从所述存储位置处提取所述目标文件。

本发明的技术方案中,终端设备基于多个链接参数信息来生成下载请求链接并发送至服务器;服务器对接收到下载请求链接进行解析以提取其中包括的多个链接参数信息;对至少一个链接参数信息进行验证;当验证通过时则获取目标文件并将目标文件返回至终端设备;由于在服务器端会对至少一个链接参数信息进行验证,在验证均通过时,才可目标文件返回至终端设备,保证了目标文件的安全性及保密性。

进一步地,在终端设备端生成的下载请求链接包括下载时间、用户标识及任务标识等信息,在服务器端对时间的有效性、下载用户及任务的合法性均进行验证,确保了该下载请求链接的实时性及合法性;具体地,即使在搜索引擎爬虫抓取到该下载请求链接后,也会因为无法通过时间有效性验证及签名验证而无法通过该下载请求链接抓取到目标文件,也可避免伪造的虚假下载请求链接由于无法通过用户身份合法性验证及签名验证而造成的目标文件恶意抓取,进一步实现目标文件下载的安全性及保密性。

本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本发明实施例的用于下载目标文件的流程示意图;

图2为本发明实施例的用于下载目标文件的结构框架示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。

本技术领域技术人员可以理解,这里所使用的“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,进行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂 窝或其他通信设备;PCS(Personal Communications Service,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(Personal Digital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(Global Positioning System,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。

本发明的实施例中,用户设备包括但不限于任何一种可与用户通过键盘、遥控器、触摸板、或声控设备进行人机交互的电子产品,例如计算机、智能手机、PDA等。服务器其包括但不限于网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云。在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。

图1为本发明实施例的用于下载目标文件的流程示意图。

步骤S1110:终端设备检测到用户对目标文件的下载触发操作时,获取多个链接参数信息;步骤S1120:基于链接参数信息来生成下载请求链接;步骤S1130:将下载请求链接发送至服务器;步骤S1210:服务器对接收到的来自终端设备的下载请求链接进行解析,以提取下载请求链接包括的多个链接参数信息;步骤S1220:对至少一个链接参数信息进行验证;步骤S1230:当验证通过时,获取目标文件;步骤S1240:将目标文件返回至终端设备;步骤S1140:接收服务器对下载请求链接中的一个或多个链接参数信息验证通过后返回的目标文件。

本发明的技术方案中,终端设备基于多个链接参数信息来生成下载请 求链接并发送至服务器;服务器对接收到下载请求链接进行解析以提取其中包括的多个链接参数信息;对至少一个链接参数信息进行验证;当验证通过时则获取目标文件并将目标文件返回至终端设备;由于在服务器端会对链接参数信息进行验证,验证均通过时才可目标文件返回至终端设备,保证了目标文件的安全性及保密性。

步骤S1110:终端设备检测到用户对目标文件的下载触发操作时,获取多个链接参数信息。

其中,链接参数信息包括但不限于:

用户标识信息,如用户ID;

下载时间信息,包括下载时间点,基于下载时间点生成的时间戳;

下载目标文件的任务标识,如任务ID;

签名信息,是基于获取到的用户标识信息及下载时间信息来生成的;

目标文件的文件相关信息,如目标文件的文件名、文件扩展名。

例如,终端设备检测到用户通过人机交互界面对目标文件的下载按键执行点击等下载触发操作时,根据该下载触发操作提取本地预存的数据列表中相应的任务ID、目标文件的文件名、文件扩展名;并提取预存的注册信息中该用户的用户ID;同时,读取系统检测到的当前时间。

生成签名信息的方式为:基于获取到的用户标识信息及下载时间信息来生成签名信息。

例如,计算下载时间点的整型值以作为时间戳,根据用户ID、下载时间点、时间戳以及预定的前缀值进行MD5计算,生成签名信息。

步骤S1120:基于链接参数信息来生成下载请求链接。

具体地,步骤S1120包括步骤S1121(图中未示出)和步骤S1122(图中未示出);步骤S1121:提取指向服务器的网络地址信息;步骤S1122:将网络地址信息及链接参数信息进行合并处理以生成下载请求链接。

例如,获取到的下载时间点为:20150101,用户ID:12312321,任务ID:123,文件名:file_1_ext,文件扩展名:.csv;根据下载时间点计算获取其整型值作为时间戳:1357365035;通过公式MD5(prekey+用户ID+下载时间点+时间戳)可计算获取签名信息: d41d8cd98f00b204e9800998ecf8427e;读取配置参数中读取hosts指向的网络地址信息为:http://d.e.360.cn:7777;按照约定的合并顺序,将网络地址信息、签名信息、时间戳、用户ID、下载时间点、任务ID、文件名及文件扩展名进行合并,生成下载请求链接:

http://d.e.360.cn:7777/d41d8cd98f00b204e9800998ecf8427e/1357365035/12312321/20150101/123/file_1_ext.csv。

步骤S1130:将下载请求链接发送至服务器;相应的,服务器接收该下载请求链接。

步骤S1210:服务器对接收到的来自终端设备的下载请求链接进行解析,以提取下载请求链接包括的多个链接参数信息。

具体地,服务器读取接收到的来自终端设备的下载请求链接后,按照约定的合并顺序,解析并提取出其中包括的网络地址信息、签名信息、时间戳、用户ID、下载时间点、任务ID、文件名及文件扩展名。

步骤S1220:对至少一个链接参数信息进行验证。

具体地,对至少一个链接参数信息进行验证,具体包括以下至少任一情形:

对用户标识信息进行身份验证;例如,解析并提取到用户ID:12312321,在用户标识列表中进行匹配,来确定该用户ID是否为已注册的合法用户。

对下载时间信息进行时效验证;例如,解析并提取到下载时间点:201507241205,基于约定的时间解析规则,确定下载时间点为2015年07月24日12:05,将下载时间点与服务器端系统的当前验证时间点的时间差与最大时间差阈值进行比较,若下载时间点与服务器端系统的当前验证时间点的时间差不超过最大时间差阈值,则确定下载时间信息有效。

对下载目标文件的任务标识进行任务有效性验证;例如,解析并提取到任务ID:123,在任务列表中进行匹配,来确定该任务ID是否为合法下载任务。

对签名信息进行签名验证;例如,服务器端解析提取到下载请求链接包括的签名信息:d41d8cd98f00b204e9800998ecf8427e,下载时间点为: 20150101,用户ID:12312321,时间戳:1357365035;将用户ID及下载时间点作为传递参数,通过公式MD5(prekey+传递的参数+时间戳)可计算获取验证签名信息:d41d8cd98f00b204e9800998ecf8427e,比较验证签名信息与下载请求链接包括的签名信息是否相同,两者相同则签名验证通过。

本优选实施例中,在终端设备端生成的下载请求链接包括下载时间、用户标识及任务标识等信息,在服务器端对时间的有效性、下载用户及任务的合法性均进行验证,确保了该下载请求链接的实时性及合法性;即使在搜索引擎爬虫爬取到该下载请求链接后,也会因为无法通过时间有效性验证及签名验证而无法通过该下载请求链接抓取到目标文件,也可由于伪造的虚假下载请求链接无法通过用户身份合法性验证及签名验证而造成的目标文件恶意抓取,进一步实现目标文件下载的安全性及保密性。

步骤S1230:当验证通过时,获取目标文件;

其中,步骤S1230具体包括步骤S1231和步骤S1232;步骤S1231:基于多个链接参数信息来确定目标文件的存储位置;步骤S1232:从存储位置处提取目标文件。

例如,在服务器端,文件的存储目录是以预定的路径命名方式来命名的,如以预定的路径命名方式:/data/stor/datch-0/下载时间点/用户ID/文件名及文件扩展名,作为文件的存储目录来存储文件;根据预定的路径命名方式,基于解析提取到下载请求链接包括的下载时间点为:20150101,用户ID:12312321,文件名:file_1_ext及文件扩展名:.csv,确定该目标文件的存储目录;依据该存储目录,提取到目标文件file_1_ext.csv。

步骤S1240:将目标文件返回至终端设备;步骤S1140:终端设备接收服务器对下载请求链接中的一个或多个链接参数信息验证通过后返回的目标文件。

图2为本发明实施例的用于下载目标文件的结构框架示意图。

终端设备的参数获取模块2110检测到用户对目标文件的下载触发操作时,获取多个链接参数信息;生成模块2120基于链接参数信息来生成下载请求链接;链接发送模块2130将下载请求链接发送至服务器;服务 器的解析模块2210对来自终端设备的下载请求链接进行解析,以提取下载请求链接包括的多个链接参数信息;验证模块2220对至少一个链接参数信息进行验证;当验证通过时,文件获取模块2230获取目标文件;文件发送模块2240将目标文件返回至终端设备;终端设备的文件接收模块2140接收服务器对下载请求链接中的一个或多个链接参数信息验证通过后返回的目标文件。

本发明的技术方案中,终端设备基于多个链接参数信息来生成下载请求链接并发送至服务器;服务器对接收到下载请求链接进行解析以提取其中包括的多个链接参数信息;对至少一个链接参数信息进行验证;当验证通过时则获取目标文件并将目标文件返回至终端设备;由于在服务器端会对链接参数信息进行验证,验证均通过时才可目标文件返回至终端设备,保证了目标文件的安全性及保密性。

终端设备的参数获取模块2110检测到用户对目标文件的下载触发操作时,获取多个链接参数信息。

其中,链接参数信息包括但不限于:

用户标识信息,如用户ID;

下载时间信息,包括下载时间点,基于下载时间点生成的时间戳;

下载目标文件的任务标识,如任务ID;

签名信息,是基于获取到的用户标识信息及下载时间信息来生成的;

目标文件的文件相关信息,如目标文件的文件名、文件扩展名。

例如,终端设备检测到用户通过人机交互界面对目标文件的下载按键执行点击等下载触发操作时,根据该下载触发操作提取本地预存的数据列表中相应的任务ID、目标文件的文件名、文件扩展名;并提取预存的注册信息中该用户的用户ID;同时,读取系统检测到的当前时间。

生成签名信息的方式为:基于获取到的用户标识信息及下载时间信息来生成签名信息。

例如,计算下载时间点的整型值以作为时间戳,根据用户ID、下载时间点、时间戳以及预定的前缀值进行MD5计算,生成签名信息。

生成模块2120基于链接参数信息来生成下载请求链接。

具体地,生成模块2120包括地址提取单元(图中未示出)和合并单元(图中未示出);地址提取单元提取指向服务器的网络地址信息;合并单元将网络地址信息及链接参数信息进行合并处理以生成下载请求链接。

例如,获取到的下载时间点为:20150101,用户ID:12312321,任务ID:123,文件名:file_1_ext,文件扩展名:.csv;根据下载时间点计算获取其整型值作为时间戳:1357365035;通过公式MD5(prekey+用户ID+下载时间点+时间戳)可计算获取签名信息:d41d8cd98f00b204e9800998ecf8427e;读取配置参数中读取hosts指向的网络地址信息为:http://d.e.360.cn:7777;按照约定的合并顺序,将网络地址信息、签名信息、时间戳、用户ID、下载时间点、任务ID、文件名及文件扩展名进行合并,生成下载请求链接:

http://d.e.360.cn:7777/d41d8cd98f00b204e9800998ecf8427e/1357365035/12312321/20150101/123/file_1_ext.csv。

链接发送模块2130将下载请求链接发送至服务器;相应的,服务器接收该下载请求链接。

服务器的解析模块2210对接收到的来自终端设备的下载请求链接进行解析,以提取下载请求链接包括的多个链接参数信息。

具体地,服务器读取接收到的来自终端设备的下载请求链接后,按照约定的合并顺序,解析并提取出其中包括的网络地址信息、签名信息、时间戳、用户ID、下载时间点、任务ID、文件名及文件扩展名。

验证模块2220对至少一个链接参数信息进行验证。

具体地,对至少一个链接参数信息进行验证,具体包括以下至少任一情形:

对用户标识信息进行身份验证;例如,解析并提取到用户ID:12312321,在用户标识列表中进行匹配,来确定该用户ID是否为已注册的合法用户。

对下载时间信息进行时效验证;例如,解析并提取到下载时间点:201507241205,基于约定的时间解析规则,确定下载时间点为2015年07月24日12:05,将下载时间点与服务器端系统的当前验证时间点的时间差 与最大时间差阈值进行比较,若下载时间点与服务器端系统的当前验证时间点的时间差不超过最大时间差阈值,则确定下载时间信息有效。

对下载目标文件的任务标识进行任务有效性验证;例如,解析并提取到任务ID:123,在任务列表中进行匹配,来确定该任务ID是否为合法下载任务。

对签名信息进行签名验证;例如,服务器端解析提取到下载请求链接包括的签名信息:d41d8cd98f00b204e9800998ecf8427e,下载时间点为:20150101,用户ID:12312321,时间戳:1357365035;将用户ID及下载时间点作为传递参数,通过公式MD5(prekey+传递的参数+时间戳)可计算获取验证签名信息:d41d8cd98f00b204e9800998ecf8427e,比较验证签名信息与下载请求链接包括的签名信息是否相同,两者相同则签名验证通过。

本优选实施例中,在终端设备端生成的下载请求链接包括下载时间、用户标识及任务标识等信息,在服务器端对时间的有效性、下载用户及任务的合法性均进行验证,确保了该下载请求链接的实时性及合法性;即使在搜索引擎爬虫爬取到该下载请求链接后,也会因为无法通过时间有效性验证及签名验证而无法通过该下载请求链接抓取到目标文件,也可由于伪造的虚假下载请求链接无法通过用户身份合法性验证及签名验证而造成的目标文件恶意抓取,进一步实现目标文件下载的安全性及保密性。

文件获取模块2230当验证通过时,获取目标文件;

其中,文件获取模块2230具体包括位置确定单元(图中未示出)和文件提取单元(图中未示出);位置确定单元基于多个链接参数信息来确定目标文件的存储位置;文件提取单元从存储位置处提取目标文件。

例如,在服务器端,文件的存储目录是以预定的路径命名方式来命名的,如以预定的路径命名方式:/data/stor/datch-0/下载时间点/用户ID/文件名及文件扩展名,作为文件的存储目录来存储文件;根据预定的路径命名方式,基于解析提取到下载请求链接包括的下载时间点为:20150101,用户ID:12312321,文件名:file_1_ext及文件扩展名:.csv,确定该目标文件的存储目录;依据该存储目录,提取到目标文件file_1_ext.csv。

文件发送单元2240将目标文件返回至终端设备;终端设备的文件接收模块2140接收服务器对下载请求链接中的一个或多个链接参数信息验证通过后返回的目标文件。

本技术领域技术人员可以理解,本发明包括涉及用于执行本申请中所述操作中的一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随即存储器)、EPROM(Erasable Programmable Read-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically Erasable Programmable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。

本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。

本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。

以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的 普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1