一种文件传输装置及方法制造方法及图纸

技术编号:32520260 阅读:14 留言:0更新日期:2022-03-02 11:22
本申请公开了一种文件传输装置及方法,包括主处理单元以及分别与其通信连接的渲染单元和原生处理单元;渲染单元包括通过Electron框架而构造的窗口容器渲染界面,用于提供用户交互接口以及直接对云端文件进行管理;主处理单元用于,通过Electron主进程对渲染单元发起的文件传输操作进行响应,将传输情况反馈到渲染单元,以及对传输任务进行管理;原生处理单元用于配合主处理单元实现磁盘读写、文件检验以及数据传输。本申请的文件传输装置结合了Web技术及原生开发技术,可以实现跨平台使用,达到了一次开发、多平台使用的效果,同时通过原生开发技术能够很好地调用底层接口,取得较好的兼容性的同时,还一定程度上保障了文件传输的性能。输的性能。输的性能。

【技术实现步骤摘要】
一种文件传输装置及方法


[0001]本申请涉及桌面应用
,更具体地说,是涉及一种文件传输装置及方法。

技术介绍

[0002]随着互联网技术的发展,网络云盘凭借随时随地跨终端存取文件、存储容量大、分享协作方便等优点,受到越来越多的个人、团队、企业等群体的青睐,而网络云盘的关键技术就是文件传输。
[0003]用户可以通过Web浏览器或客户端进行文件传输。其中,通过在Web浏览器地址栏中输入地址,可以直接使用Web应用进行文件传输,无需用户额外安装客户端,使用方便。此外,Web应用开发迭代周期短,且具有天然的跨平台能力。
[0004]然而,Web应用容易受到浏览器兼容性的限制,大部分浏览器无法支持Web应用的增强功能,仅特定浏览器如Chrome支持Web应用的增强功能。此外,通过Web应用进行大数量级文件传输容易出现性能问题。与此相反,纯原生应用的客户端则可以有效解决Web端的兼容性问题和性能问题,能够提供性能更好、功能更强的文件传输能力。然而,纯原生应用的客户端需要针对不同的操作系统进行单独开发,开发成本较高,开发周期较长,对企业来说在人力成本、迭代效率上会不如Web应用。
[0005]因此,需要一种解决方案,使得既可以具备跨平台应用的能力,又可以解决Web技术中的兼容性及性能问题。

技术实现思路

[0006]有鉴于此,本申请提供了一种文件传输装置及方法,以解决Web技术中的兼容性及性能问题的同时,提供跨平台应用的能力。
[0007]为实现上述目的,本申请第一方面提供了一种文件传输装置,包括渲染单元、主处理单元和原生处理单元;
[0008]所述渲染单元通过异步通讯模块与所述主处理单元通信连接,所述主处理单元通过插件层与所述原生处理单元通信连接;
[0009]所述渲染单元包括通过Electron框架而构造的窗口容器渲染界面,用于提供用户交互接口以及直接对云端文件进行管理;
[0010]所述主处理单元用于,通过Electron主进程对所述渲染单元发起的文件传输操作进行响应,将传输情况反馈到所述渲染单元,以及对传输任务进行管理;
[0011]所述原生处理单元用于配合所述主处理单元实现磁盘读写、文件检验以及数据传输。
[0012]优选地,所述主处理单元对传输任务进行管理的过程,包括:
[0013]将各传输任务的状态信息保存在本地数据库中;
[0014]按照预设的规则执行传输任务在本地数据库的增加、删除和/或修改操作;
[0015]对于达到预设文件大小的文件,按照预设的分片规则执行分片传输。
[0016]优选地,所述主处理单元按照预设的规则执行传输任务在本地数据库的增加、删除和/或修改操作的过程,包括:
[0017]按照预设的优先级规则执行传输任务在本地数据库的增加、删除和/或修改操作;
[0018]在达到预设的条件后再执行传输任务的增加、删除和/或修改操作。
[0019]优选地,所述主处理单元在达到预设的条件后再执行传输任务的增加、删除和/或修改操作的过程,包括:
[0020]当待执行同一类操作的传输任务的数量达到预设数目,或者,待执行的传输任务的等待时间达到预设的等候时长,再执行所述传输任务;
[0021]其中,所述操作包括:增加、删除和/或修改。
[0022]优选地,所述主处理单元在达到预设的条件后再执行传输任务的增加、删除和/或修改操作的过程,还包括:
[0023]当正在执行的同一类操作的传输任务的数量达到预设的阈值,则等当前操作执行完毕,再执行其他操作。
[0024]优选地,所述预设的优先级包括:传输任务在本地数据库的增加、删除和修改的优先级分别为高、中、低。
[0025]优选地,所述主处理单元对于达到预设文件大小的文件,按照预设的分片规则执行分片传输的过程,包括:
[0026]对于10M~9.7GB以内的文件,以10MB作为分片大小,对所述文件进行分片传输;
[0027]对于9.7GB~19.5GB以内的文件,以20MB作为分片大小,对所述文件进行分片传输;
[0028]对于19.5GB~97.6GB以内的文件,以50MB作为分片大小,对所述文件进行分片传输;
[0029]对于超过97.6GB的文件,以K作为分片大小,对所述文件进行分片传输,其中,K的计算公式包括:
[0030][0031]其中,S为所述文件的大小,表示对S/20000进行向上取整运算。
[0032]优选地,所述主处理单元将各传输任务的状态信息保存在本地数据库中的过程,包括:
[0033]将各传输任务的传输类型、断点续传状态信息、所传输的文件的本地信息和云端信息保存在本地数据库中;
[0034]其中,所述本地信息包括所传输的文件的MD5值、文件名、文件大小及本地存储目录,所述云端信息包括所传输的文件的云端父目录ID、云端文件ID、所属的企业的ID及协作空间的文件夹ID。
[0035]优选地,所述主处理单元对传输任务进行管理的过程,还包括:
[0036]采用子进程对传输任务的修改进行分批处理;
[0037]创建实例对进行中的传输任务进行处理,并保持进行中的传输任务与所述原生处理单元的回调;
[0038]销毁等待中和已暂停的传输任务的实例,以及销毁等待中和已暂停的传输任务与
所述原生处理单元的回调。
[0039]优选地,所述主处理单元采用子进程对传输任务的修改进行分批处理的过程,包括:
[0040]将传输任务的修改所涉及的对象,按照预设的划分规则划分成至少一个批次的对象;
[0041]针对各批次的对象中的每个批次的对象,采用一子进程处理所述批次的对象。
[0042]本申请第二方面提供了一种文件传输方法,包括:
[0043]通过Electron框架构造窗口容器渲染界面,所述渲染界面用于提供用户交互接口以及对云端文件进行管理;
[0044]通过Electron主进程对所述渲染界面发起的文件传输操作进行响应,将传输情况反馈到所述渲染界面,以及对传输任务进行管理;
[0045]以C++动态链接库的形式构建原生处理接口,所述原生处理接口用于实现磁盘读写、文件检验以及数据传输。
[0046]经由上述的技术方案可知,本申请将客户端划分为渲染单元、主处理单元及原生处理单元。其中,所述渲染单元包括通过Electron框架构造的窗口容器渲染界面,用于为用户提供图形交互接口以及对云端文件进行管理;所述主处理单元用于通过Electron主进程对所述渲染单元发起的文件传输操作进行响应、将传输情况反馈到所述渲染单元,以及对传输任务进行管理,通过Electron主进程实现了平台无关的处理工作;所述原生处理单元用于实现磁盘读写、文件检验以及数据传输,以配合所述主处理单元完成文件变动的监听、文件夹的遍历以及文件传输。本申请的文件传输装置结合了Web技术及原生开发本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种文件传输装置,其特征在于,包括渲染单元、主处理单元和原生处理单元;所述渲染单元通过异步通讯模块与所述主处理单元通信连接,所述主处理单元通过插件层与所述原生处理单元通信连接;所述渲染单元包括通过Electron框架而构造的窗口容器渲染界面,用于提供用户交互接口以及直接对云端文件进行管理;所述主处理单元用于,通过Electron主进程对所述渲染单元发起的文件传输操作进行响应,将传输情况反馈到所述渲染单元,以及对传输任务进行管理;所述原生处理单元用于配合所述主处理单元实现磁盘读写、文件检验以及数据传输。2.根据权利要求1所述的装置,其特征在于,所述主处理单元对传输任务进行管理的过程,包括:将各传输任务的状态信息保存在本地数据库中;按照预设的规则执行传输任务在本地数据库的增加、删除和/或修改操作;对于达到预设文件大小的文件,按照预设的分片规则执行分片传输。3.根据权利要求2所述的装置,其特征在于,所述主处理单元按照预设的规则执行传输任务在本地数据库的增加、删除和/或修改操作的过程,包括:按照预设的优先级规则执行传输任务在本地数据库的增加、删除和/或修改操作;在达到预设的条件后再执行传输任务的增加、删除和/或修改操作。4.根据权利要求3所述的装置,其特征在于,所述主处理单元在达到预设的条件后再执行传输任务的增加、删除和/或修改操作的过程,包括:当待执行同一类操作的传输任务的数量达到预设数目,或者,待执行的传输任务的等待时间达到预设的等候时长,再执行所述传输任务;其中,所述操作包括:增加、删除和/或修改。5.根据权利要求4所述的装置,其特征在于,所述主处理单元在达到预设的条件后再执行传输任务的增加、删除和/或修改操作的过程,还包括:当正在执行的同一类操作的传输任务的数量达到预设的阈值,则等当前操作执行完毕,再执行其他操作。6.根据权利要求2所述的装置,其特征在于,所述主处理单元对于达到预设文件大小的文件,按照预设的分片规则执行分片传输的过程,包括:对于10M~9.7GB以内的文件,以...

【专利技术属性】
技术研发人员:蔡立勋王刚钟伟聪叶丹波林东宇马幸晖
申请(专利权)人:天翼数字生活科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1