一种实现文件批量下载的系统及方法

文档序号:8322309阅读:628来源:国知局
一种实现文件批量下载的系统及方法
【技术领域】
[0001]本发明属于计算机网络、网络数据传输技术领域,涉及一种文件批量下载方法。
【背景技术】
[0002]批量下载技术一般都具有一定的应用场景,通常批量下载技术都应用于公开网络资源的下载,并与服务器端技术结合紧密,常见的方式有后台打包、使用批量下载工具等方法。在企业应用中,一些关键资源都被应用系统以严格的权限分割技术和访问表控制技术进行管控,通常对于以Web形式发布的应用系统而言,由于浏览器与服务端的交互逻辑是每次请求只能获取一份数据文件,且处于安全考虑,几乎所有浏览器内核都要求用户自己指定保存位置,或者保存在一个特定的位置,且下载操作需要用户逐个触发,通常这类应用系统不会实现批量下载功能。而以客户端形式发布的应用系统则只能通过与业务高度耦合的方式实现批量下载功能。
[0003]现有的批量下载技术都只能下载公开资源,而全部使用客户端程序实现批量下载则将批量下载功能耦合在业务层,比较死板。

【发明内容】

[0004]本发明的目的:
[0005]本发明针对现有批量下载技术的不足,提出了一种让基于Web的应用系统具备批量下载功能的系统及方法。
[0006]本发明的技术方案:
[0007]本发明通过在用户终端将网页访问功能和文件提取功能相结合,实现了利用用户终端的网页浏览模块访问和使用Web应用程序,并提供能够利用网页解析模块配合文件提取模块经过用户认证模块和文件权限管理模块的许可后合法获取数据文件清单,并通过请求文件输出模块依次获取并保存所需的数据文件的功能。
[0008]本发明的技术方案是:一种实现文件批量下载的系统,包括在Web应用程序中设置文件输出模块、用户认证模块、文件权限管理模块,以及在用户终端设置网页浏览模块、网页解析模块、文件提取模块。
[0009]文件输出模块用于根据文件标识信息寻找到物理文件,并向请求方输出文件数据。
[0010]用户认证模块用于生成用户标识信息,并能够根据提交的用户标识信息识别用户。
[0011]文件权限管理模块用于判定指定的文件是否能够被指定用户下载。
[0012]网页浏览模块用于访问Web应用程序的系统界面。
[0013]网页解析模块用于从网页中获取用户标识信息和用户需要下载的文件标识信息清单。
[0014]文件提取模块用于访问Web应用程序的文件输出模块并获得指定的文件。
[0015]一种实现文件批量下载的方法,其实现步骤如下:
[0016]I)用户通过网页浏览模块登录Web应用程序并提交验证信息。
[0017]2)登录成功后Web应用程序中返回登录成功页面,同时用户认证模块生成用户标识信息并写入登录成功页面。否则返回I)让用户继续尝试登录验证。
[0018]3)用户终端的网页浏览模块获取登录成功页面,网页解析模块获取步骤2所述的用户标识信息。
[0019]4)当用户访问带有文件清单的网页时,Web应用程序生成文件标识信息清单,并写入此网页。用户终端的网页浏览模块获取此带有文件清单的网页时,网页解析模块根据文件标识信息清单解析出所有需要下载的文件标识信息。网页可加入用户选取功能,使得网页解析模块执行解析时只得到用户想要下载的文件标识信息清单。
[0020]5)文件提取模块将文件标识信息清单中的一个未处理的文件标识信息和用户标识信息作为请求参数发送给Web应用程序。如果Web应用程序中的用户认证模块规定了用户标识信息的加密方法,则根据该加密方法进行加密后再作为参数提交。
[0021]6)Web应用程序根据用户标识信息找到对应的用户信息,根据文件标识信息找到对应的文件信息,如果两者都能对应成功,则使用文件权限管理模块判定该文件是否具有被该用户访问的权利,如果有访问权利,则执行第7)步,上述各条件有一项不满足则执行第9)步。
[0022]7)Web应用程序的文件输出模块根据第5)步提交的文件标识信息在文件存储系统中寻找物理文件,寻找成功则输出文件,否则转入第9)步。可在输出文件时附加客户端存放位置和文件标题等附加信息。
[0023]8)用户终端的数据提取模块得到数据文件。并可按照文件名和存放位置等附加信息保存此文件。转入第11)步。
[0024]9)Web应用程序返回错误信息,此错误信息可包括文件名、用户名等关联信息以及访问被拒绝的原因等关联输出信息。
[0025]10)用户终端的数据提取模块获取错误信息。可以选择将错误信息中的全部或部分信息记录入日志文件。
[0026]11)如果文件标识信息清单中的全部文件标识信息都已经被处理,则结束流程,反之则返回第5)步开始继续执行。
[0027]所述用户标识信息应具有难以枚举的复杂程度,并能够在Web应用程序中对应出用户的信息子集。
[0028]所述文件标识信息应具有难以枚举的复杂程度,并能够在Web应用程序中对应出物理文件的信息以及其他如步骤8所述的附加信息。
[0029]所述网页解析模块,其从网页中解析出用户标识信息和文件标识信息清单的方法,不限于实施例中给出的方法。
[0030]所述网页浏览模块,应遵循WWW标准向用户UI接口输出相应的文档化界面,不限于使用IE、Chrome等浏览器内核和/或自行实现网页解析功能等方式实现。
[0031]所述文件提取模块,在向文件输出模块提交请求时应至少包含用户标识信息和文件标识信息,但根据实际应用情况可不限于只包含上述信息。
[0032]如步骤2)所述将生成的用户标识信息写入登录成功页面,不限于写入响应数据的任何一个位置,但应能被网页解析模块访问。
[0033]如步骤4)所述将文件标识信息清单写入页面,不限于写入响应数据的任何一个位置,但应能被网页解析模块访问,文件标识信息清单数据格式不限,但应能被网页解析模块解析出单个的文件标识信息清单。
[0034]本发明的有益效果:
[0035]本发明专利实现了利用网页浏览模块实现Web应用程序功能逻辑,同时利用文件提取功能模块实现批量下载和文件自动保存的功能逻辑,使得Web应用程序在具备Web应用易部署易升级等优点的同时,能够提供批量下载功能。
【附图说明】
[0036]图1为文件批量下载系统示意图
[0037]图2为文件批量下载方法流程图
[0038]图3为实施方式I的流程图
【具体实施方式】
[0039]实施方式1:
[0040]本实施方式提供了一种利用在桌面应用程序中加入内嵌浏览器,利用内嵌浏览器实现页面访问,利用桌面应用程序实现文件批量下载的方法,实现步骤如下:
[0041]I)用户使用一个带有内嵌浏览器的桌面应用程序登录Web页面。
[0042]2)Web服务程序生成返回页面,同时在一个区域内自动生成一个文本验证码,并使用混淆码对该文本验证码进行摘要加密,将加密后的文本验证码与当前登录的用户信息进行绑定存储,并记录生效期和失效期,将文本验证码随页面发送到用户的浏览器。
[0043]3)用户端的桌面应用程序中的内嵌浏览器获取Web页面。
[0044]4)用户端的桌面应用程序对内嵌浏览器中的Web内容进行获取分析。取得文本验证码和Web页面表单参数集,并取得文件标识符的集合。
[0045]5)用户端的桌面应用程序对文本验证码使用与步骤2)所述同样的混淆码进行摘要加密,将步骤4中得到的文件标识符的集合中的一个未处理的文件标识符和加密后的文本验证码作为请求参数发送给Web服务程序。
[0046]6) Web服务程序根据加密后的的文本验证码找出用户信息,如果成功找到对应的用户信息,则再根据生效期和失效期判定该文本验证码是否有效,如果有效,则再根据文件标识符和数据库中文件权限的设定判定用户是否具有文件的访问权限,如果有访问权限则执行第7步,上述各条件有一项不满足则执行第9步。
[0047]7) Web服务程序根据文件标识符找到数据文件,并且写入Http响应流中,然后更改Http报文头中的字段,指定文件名和存放位置等附加信息。
[0048]8)用户端的桌面应用程序获取数据文件,并按照文件名和附加信息中包含的路径Is息进行保存。
[0049]9)Web服务程序根据数据库内容将文件标识符对应的文件名,以及访问被拒绝的原因作为错误信息写入Http响应流,并在Http报文头中加入错误标记。
[0050]10)用户端的应用程序获取响应流,根据Http报文头中的错误标记将该响应识别为错误内容响应,并将其内容写入日志。
[0051]11)如果文件标识符集合中的全部文件都已经被下载,则结束流程,反之则返回第5)步开始继续执行。
[0052]实施例1:
[0053]本实施例是某集团公司两个单位间进行数据交换的一个Web应用系统,系统使用ASP.NET技术进行开发,使用Sess1n机制同步会话,该应用系统中提供下载的文件采用程序控制权限以及转发的方式发送给用户,文件在被下载之前用户只能获取其ID和文件名,一份文件只有被授权的用户能够下载。该系统提供了一个专用浏览器,即嵌入浏览器的一个Windows桌面应用程序,使用ASP.NET开发。本实施例中用户实现批量下载的步骤如下:
[0054]I)用户使用专用浏览器登录Web应用系统。
[0055]2) ASP.NET页面采用MasterPage方式生
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1