[发明专利]一种基于Flex的跨平台的浏览器端校验md5值上传文件的方法有效
申请号: | 201210512839.4 | 申请日: | 2012-12-05 |
公开(公告)号: | CN103024015A | 公开(公告)日: | 2013-04-03 |
发明(设计)人: | 陆瑜;綦玉冰 | 申请(专利权)人: | 新华网股份有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100162 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 flex 平台 浏览器 校验 md5 上传 文件 方法 | ||
技术领域:
本发明涉及一种基于Flex的跨平台的浏览器端进行文件md5校验后,结合服务器端验证,进行文件上传的方法,同时也涉及Flex技术、C/C++技术及Java客户端和服务器端的技术,属于软件技术领域。
背景技术:
随着网络速度的提高及互联网的快速发展,Flex作为新一代的富互联网客户端应用技术,具备强大的交互功能,其应用越来越广泛。Flash作为一个跨平台的浏览器插件,使得Flex技术能应用于多种web组件应用开发中。
随着互联网数据爆炸式的增长,数据重复现象明显,带宽、流量需求越来越大,用户体验也越来越成为互联网行业发展的重要因素。文件md5值的本地计算,可以节省用户上传的流量和服务器端接受数据的压力,能够大大缩短文件上传的等待时间。
但是由于Flex自身设计的原因,基于原生的API进行md5算法实现后的效率很低,也占用大量的系统资源。此外,以往Flash的虚拟机采用的是AVM2,也导致了在大文件的计算方面效率很低。所以目前基于Flex的上传组件都没有本地计算文件md5值的功能。
本发明结合Flex富客户端技术,在本地文件上传之前对其进行md5值计算,并运用了Adobe实验室的LLIV技术,实现了Flex调用C/C++函数库计算md5值,大大提升了计算效率。这种方式弥补了仅限于Windows操作系统的ActiveX控件计算md5方式的缺陷,实现了在Windows、Mac、Linux等操作系统上的跨平台客户端计算并高效上传文件。
发明内容:
本发明所要解决的首要技术问题是提供一种基于Flex的跨平台的浏览器校验md5值上传文件的方法。
其技术方案如下:
当用产使用web云盘选择上传文件时,Flash读取用户选择的上传文件,并相应进行文件md5值的计算。
本发明采用的是Flash的LLIV虚拟机,将C/C++编译入Flash的SWC中,可以实现调用C/C++库函数计算文件md5值,实现了与ActiveX控件一样计算的速度,加上跨平台的优势,使web云盘完美地实现了浏览器客户端计算md5值的方式。
本方法增加了容错处理,当客户端计算发生异常时,进行一定次数的重试,若最终仍计 算异常则直接进入全新上传逻辑,保证用户顺利完成文件的上传。
利用本发明的文件上传功能,可以大大提高多文件上传的效率,解决了跨平台的问题,有效的利用了网络带宽,减少了用户上传的等待时间。
附图说明:
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:图1为文件md5校验上传流程示意图。
具体实施方式:
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明的具体实施进行详细说明。在此,本发明的示意实施及其说明用于解释本发明,但并不作为对本发明的限定。
系统总体上分为客户端,应用服务器两大部分,其中文件md5计算并上传的详细流程如附图图1所示。
上传时,客户端分别进行本地环境的检查,并自动确定md5计算方法,分为一次载入内存计算和分段并行计算两种,得到的结果配合云服务器进行权限的验证和md5的存在性校验,最终确定客户端文件上传的方法,客户端提交表单后,云服务器将获得的数据经过业务处理保存到云存储和数据库,并返回给客户端处理结果的消息。客户端解析消息,给出友好提示,完成上传过程。
具体的实现过程说明如下:
1、选择本地文件,通过Flex在客户端计算文件的大小。
2、得到文件大小后,计算当前Flash客户端虚拟机的剩余可用内存,并判断是否达到本地计算方法的阀值。
3、当文件大小未达到阀值时,为提高计算的速度,将文件一次性载入内存并计算md5值。
4、当文件大小超过阀值时,根据用户的本地机器信息,动态设定缓冲区大小,开始基于文件流的计算。
5、利用Flex的多线程对文件的各个区间并行进行计算,并不断的合并计算的结果,最终得到文件的md5值。若中间发生异常,则重试,最终还异常,则返回特定失败码。
6、计算md5过程结束后,客户端携带计算的结果和用户状态等信息,发起权限认证请求,云服务端接受到请求后,检验用户的合法性,并返回检验结果。当检验结果为非法时,Flash客户端根据返回的结果,给出权限不足的提示,并结束本次上传。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于新华网股份有限公司,未经新华网股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210512839.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:自动输料猪舍
- 下一篇:一种改善碳纤维抗拉强度方法