基于文件类型的云渲染混合压缩传输系统与方法转让专利

申请号 : CN201610842151.0

文献号 : CN106341482B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 朱川常兴治梅向东

申请人 : 江苏赞奇科技股份有限公司

摘要 :

本发明公开了基于文件类型的云渲染混合压缩传输系统,包括客户端和网络存储服务器。客户端进一步还包括文件列表、文件压缩配置表、基于文件类型的压缩算法子程序、文件待上传队列、文件上传子程序。网络存储服务器进一步还包括文件接收服务、基于文件类型的解压算法子程序及存储。本发明考虑到了不同类型的文件,其压缩比,以及在压缩与解压过程中对CPU计算资源的占用和磁盘IO影响因素,对渲染任务中所涉及的文件区分对待,在保持低压缩比文件的压缩传输所换取的文件传输速度提升的同时,避免了高压缩比文件压缩的资源浪费。

权利要求 :

1.基于文件类型的云渲染混合压缩传输系统,包括客户端和网络存储服务器,所述客户端通过局域网络或互联网与所述网络存储服务器相连;其特征在于:所述客户端包括文件列表、文件压缩配置表、基于文件类型的压缩算法子程序、文件待上传队列、文件上传子程序;

所述网络存储服务器包括文件接收服务、基于文件类型的解压算法子程序及存储;

所述客户端的文件列表用于描述渲染任务中涉及的文件;

所述客户端的文件压缩配置表,其用于配置需要压缩传输的文件类型,以及原文件的扩展名与压缩后的文件后缀名冲突时的附加扩展名,若渲染任务中涉及的文件,其后缀名恰好与压缩后的文件扩展名一致,则为了避免在网络存储服务器端对该类文件错误识别并误解压,需要修改该类文件名为约定的非冲突自定义字符串;该非冲突自定义字符串也即原文件的扩展与压缩后的文件后缀名冲突时的附加扩展名;根据该配置表,客户端的基于文件类型的压缩算法子程序能够判断是否对某一类型的文件进行压缩,以及是否需要修改文件扩展名为非冲突自定义字符串;

所述客户端的基于文件类型的压缩算法子程序,为根据文件压缩配置表的配置,判断文件列表中描述的文件是否需要压缩、修改文件名,根据判断结果进一步处理文件,最终对需要压缩的文件进行压缩,对需要修改文件扩展名为非冲突自定义字符的文件名进行修改;汇总处理后的文件,最终生成文件待上传队列;

所述客户端的文件待上传队列,其为向文件上传子程序提供待上传文件的列表;

所述客户端的文件上传子程序,其为根据文件待上传队列,将队列中的文件,连同其类型信息,一同上传给网络存储服务器。

2.根据权利要求1所述的基于文件类型的云渲染混合压缩传输系统,其特征在于:网络存储服务器的文件接收服务,其为接收来自客户端的文件上传子程序通过网络传输来的文件及其相应的类型信息;

网络存储服务器的基于文件类型的解压算法子程序,其对文件接收服务所接收的文件进行处理,根据其类型信息,恢复原文件名,及对压缩文件进行解压,将处理完的文件,写入存储中;

网络存储服务器的存储,其用于存放基于文件类型的解压算法子程序处理完的最终文件。

3.根据权利要求1所述的基于文件类型的云渲染混合压缩传输系统,其特征在于:运行于客户端的基于文件类型的压缩算法子程序,其算法步骤如下:CA1.加载/读取文件压缩配置表;

CA2.判断文件列表是否为空,若为空则算法结束,否则转步骤CA3;

CA3.从文件列表中取出一项文件记录,保存至临时变量中;

CA4.将文件列表中该文件记录删除;

CA5.根据CA1中加载/读取的文件压缩配置表判断步骤CA3中保存在临时变量中的文件是否需要压缩,若需要压缩,转步骤CA6,否则转步骤CA7;

CA6.对步骤CA3中的临时变量所描述的文件进行压缩,转步骤CA9;

CA7.判断步骤CA3中临时变量所保存的文件其后缀名是否冲突,若冲突则转步骤CA8,否则转步骤CA9;

CA8.修改文件扩展名为非冲突自定义字符串;

CA9.添加处理完的文件所对应的文件记录至文件待上传队列,转步骤CA2。

4.根据权利要求2所述的基于文件类型的云渲染混合压缩传输系统,其特征在于:运行于网络存储服务器的基于文件类型的解压算法子程序,其算法步骤如下:SA1.判断文件接收服务是否有接收完整的文件待处理,若有文件传入待处理,转步骤SA2,否则持续执行步骤SA1;

SA2.判断待处理的文件其原文件名是否为冲突的文件名,也即客户端为了避免对原本为压缩类型的文件进行二次误压缩而使用非冲突自定义字符串;若是,转步骤SA3,否则转步骤SA4;

SA3.去除非冲突自定义字符串,恢复待处理文件为原文件名,转步骤SA6;

SA4.判断待处理的文件其文件类型是否为压缩类型,若是,则转步骤SA5,否则转步骤SA6;

SA5.对待处理的文件进行解压;

SA6.将处理完的文件写入存储中,转步骤SA1,等待传入的新文件。

5.基于文件类型的云渲染混合压缩传输方法,系统包括客户端和网络存储服务器,所述客户端通过局域网络或互联网与所述网络存储服务器相连;所述客户端包括文件列表、文件压缩配置表、基于文件类型的压缩算法子程序、文件待上传队列、文件上传子程序;所述网络存储服务器包括文件接收服务、基于文件类型的解压算法子程序及存储;其特征在于,具体步骤为:文件列表步骤,描述渲染任务中涉及的文件列表;

文件压缩配置步骤,配置需要压缩传输的文件类型,以及原文件的扩展名与压缩后的文件后缀名冲突时的附加扩展名;若渲染任务中涉及的文件,其后缀名恰好与压缩后的文件扩展名一致,则为了避免在网络存储服务器端对该类文件错误识别并误解压,需要修改该类文件名为约定的非冲突自定义字符串;该非冲突自定义字符串也即原文件的扩展与压缩后的文件后缀名冲突时的附加扩展名;根据配置表,客户端的基于文件类型的压缩算法子程序能够判断是否对某一类型的文件进行压缩,以及是否需要修改文件扩展名为非冲突自定义字符串;

基于文件类型的压缩步骤,根据文件压缩配置表的配置,判断文件列表中描述的文件是否需要压缩、修改文件名,然后,根据判断结果进一步处理文件,最终对需要压缩的文件进行压缩,对需要修改文件扩展名为非冲突自定义字符的文件名进行修改;汇总处理后的文件,最终生成文件待上传队列;

文件待上传队列步骤,向文件上传步骤提供待上传文件的列表;

文件上传步骤,根据文件待上传队列,将队列中的文件,连同其类型信息,一同上传给网络存储服务器;

文件接收步骤,接收来自客户端的文件上传步骤通过网络传输来的文件及其相应的类型信息;

基于文件类型的解压步骤,对文件接收步骤所接收的文件进行处理,根据其类型信息,恢复原文件名,及对压缩文件进行解压,将处理完的文件,写入存储中;

存储步骤,存放基于文件类型的解压步骤处理完的最终文件。

6.根据权利要求5所述的基于文件类型的云渲染混合压缩传输方法,其特征在于:所述基于文件类型的压缩步骤,具体为:CA1.加载/读取文件压缩配置表;

CA2.判断文件列表是否为空,若为空则算法结束,否则转步骤CA3;

CA3.从文件列表中取出一项文件记录,保存至临时变量中;

CA4.将文件列表中该文件记录删除;

CA5.根据CA1中加载/读取的文件压缩配置表判断步骤CA3中保存在临时变量中的文件是否需要压缩,若需要压缩,转步骤CA6,否则转步骤CA7;

CA6.对步骤CA3中的临时变量所描述的文件进行压缩,转步骤CA9;

CA7.判断步骤CA3中临时变量所保存的文件其后缀名是否冲突,若冲突则转步骤CA8,否则转步骤CA9;

CA8.修改文件扩展名为非冲突自定义字符串;

CA9.添加处理完的文件所对应的文件记录至文件待上传队列,转步骤CA2。

7.根据权利要求5所述的基于文件类型的云渲染混合压缩传输方法,其特征在于:所述基于文件类型的解压步骤,具体为:SA1.判断文件接收服务是否有接收完整的文件待处理,若有文件传入待处理,转步骤SA2,否则持续执行步骤SA1;

SA2.判断待处理的文件其原文件名是否为冲突的文件名,也即客户端为了避免对原本为压缩类型的文件进行二次误压缩而使用非冲突自定义字符串;若是,转步骤SA3,否则转步骤SA4;

SA3.去除非冲突自定义字符串,恢复待处理文件为原文件名,转步骤SA6;

SA4.判断待处理的文件其文件类型是否为压缩类型,若是,则转步骤SA5,否则转步骤SA6;

SA5.对待处理的文件进行解压;

SA6.将处理完的文件写入存储中,转步骤SA1,等待传入的新文件。

说明书 :

基于文件类型的云渲染混合压缩传输系统与方法

技术领域

[0001] 本发明涉及网络数据传输技术领域,尤其涉及一种基于文件类型的云渲染混合压缩传输系统与方法。

背景技术

[0002] 为了加速互联网文件传输的速度,目前主要存在的加速方式可分两类:一类是提升带宽的利用率与每秒传输的数据量;另一类是通过压缩方式,对文件进行压缩,以提升网络上每比特所携带的文件数据量。部分传输软件结合了两种方式,进而最大化的提升网络传输速度。现有网络传输方法均假定所传输的文件为同类型文件,所有文件统一处理,也即,全部压缩或全部不压缩传输。
[0003] 云渲染是面向影视动漫、创意设计、效果图等行业的云计算服务。用户通过互联网将待渲染的任务上传至云端服务器,再由云端的渲染集群进行渲染处理。渲染结束后,由云端服务器将渲染结果通过互联网发回给用户。渲染任务文件具有如下特点:
[0004] 1.与其他常规传输业务所涉及的文件类型较为单一不同,渲染任务所涉及的文件类型较多、数目较大。一个渲染任务中通常包括:渲染工程文件,也即渲染主文件,其扩展名为.max、.ma、.mb等;工程文件所引用的素材文件,如贴图文件,其扩展名为.jpg、.png、.bmp、.tif、.tga等;灯光焦散文件,其扩展名为.vrmap、.vrlmap、.vrpmap等;模型文件,这类文件通常由第三方制作厂商或不同团队提供,具有一定的通用性,其扩展名可与渲染工程文件一致,供制作相关人员直接在渲染工程文件中引用,以达到模块化快速制作的目的。一个渲染任务涉及的文件数量较多,通常成百甚至复杂场景需要数万个。
[0005] 2.渲染任务中,不同类型的文件,压缩比相差较大。根据制作场景的复杂程度,整个渲染任务牵涉的文件总量大小可能会从几十MB至几十GB。其中,渲染工程文件较大,通常为几十MB至几GB大小;而素材文件中的贴图类文件通常较小,通常为几KB至几十MB不等;模型文件与渲染工程文件类似,也相对较大。渲染任务中,不同类型的文件,压缩比也不尽相同。例如,一个769MB的.max文件,压缩后仅有252MB大小,压缩比为32.77%;一个51.5MB的.tif文件,压缩后有30.6MB大小,压缩比为59.42%。而一个4.01MB的.jpg文件,压缩后有4.0MB,压缩比为99.75%。
[0006] 此外,文件的压缩与解压,需要大量的CPU计算资源以及磁盘IO,也即压缩与解压对于计算机、服务器而言是有代价和成本的。将渲染任务传输至云端后,在渲染阶段开展之前,均需要将压缩后的文件解压。因此,压缩文件进行网络传输,是通过CPU计算资源与磁盘IO为代价,换取文件的网络传输速率。
[0007] 所以,面向云渲染服务时,不加区分,对所有渲染任务统一进行压缩传输,虽然可以一定程度的提升网络带宽利用率,但对于压缩比高的文件,存在着浪费计算资源与加重非必要磁盘IO的问题。

发明内容

[0008] 针对上述问题,本发明提供了基于文件类型的云渲染混合压缩传输系统与方法,利用渲染任务中不同类型的文件压缩比不同的特性,仅对部分类型的文件进行压缩传输,从而在保证较高传输速率的同时,又能减少无效文件压缩的CPU计算资源浪费与磁盘IO操作。
[0009] 为了实现上述技术目的,达到上述技术效果,本发明通过以下技术方案实现:
[0010] 基于文件类型的云渲染混合压缩传输系统,包括客户端和网络存储服务器。所述客户端通过局域网络或互联网与所述网络存储服务器相连。
[0011] 所述客户端进一步还包括文件列表、文件压缩配置表、基于文件类型的压缩算法子程序、文件待上传队列、文件上传子程序。
[0012] 进一步地,客户端的文件列表主要用于描述渲染任务中涉及的文件;
[0013] 进一步地,客户端的文件压缩配置表,其用于配置需要压缩传输的文件类型,以及原文件的扩展名与压缩后的文件后缀名冲突时的附加扩展名。常见的压缩文件扩展名或后缀名为zip、rar、tar、tar.gz、7-zip、bz2等。若渲染任务中涉及的文件,其后缀名恰好与压缩后的文件扩展名一致,则为了避免在网络存储服务器端对该类文件错误识别并误解压,需要修改该类文件名为约定的非冲突自定义字符串。该非冲突自定义字符串也即原文件的扩展与压缩后的文件后缀名冲突时的附加扩展名。根据该配置表,客户端的基于文件类型的压缩算法子程序可以判断是否对某一类型的文件进行压缩,以及是否需要修改文件扩展名为非冲突自定义字符串。
[0014] 进一步地,客户端的基于文件类型的压缩算法子程序,其主要作用为根据文件压缩配置表的配置,判断文件列表中描述的文件是否需要压缩、修改文件名等。然后,根据判断结果进一步处理文件,最终对需要压缩的文件进行压缩,对需要修改文件扩展名为非冲突自定义字符的文件名进行修改。汇总处理后的文件,最终生成文件待上传队列。
[0015] 进一步地,客户端的文件待上传队列,其作用为向文件上传子程序提供待上传文件的列表。
[0016] 进一步地,客户端的文件上传子程序,其作用为根据文件待上传队列,将队列中的文件,连同其类型信息,一同上传给网络存储服务器。
[0017] 所述网络存储服务器进一步包括文件接收服务、基于文件类型的解压算法子程序及存储。
[0018] 进一步地,网络存储服务器的文件接收服务,其作用为接收来自客户端的文件上传子程序通过网络传输来的文件及其相应的类型信息;
[0019] 进一步地,网络存储服务器的基于文件类型的解压算法子程序,其作用对文件接收服务所接收的文件进行处理,根据其类型信息,恢复原文件名,及对压缩文件进行解压,将处理完的文件,写入存储中。
[0020] 进一步地,网络存储服务器的存储,其作用用于存放基于文件类型的解压算法子程序处理完的最终文件。
[0021] 运行于客户端的基于文件类型的压缩算法子程序,其算法步骤如下:
[0022] CA1.加载/读取文件压缩配置表;
[0023] CA2.判断文件列表是否为空,若为空则算法结束,否则转步骤CA3;
[0024] CA3.从文件列表中取出一项文件记录,保存至临时变量中;
[0025] CA4.将文件列表中该文件记录删除;
[0026] CA5.根据CA1中加载/读取的文件压缩配置表判断步骤CA3中保存在临时变量中的文件是否压缩,若需要压缩,转步骤CA6,否则转步骤CA7;
[0027] CA6.对步骤CA3中的临时变量所描述的文件进行压缩,转步骤CA9;
[0028] CA7.判断步骤CA3中临时变量所保存的文件其后缀名是否冲突,若冲突则转步骤CA8,否则转步骤CA9;
[0029] CA8.修改文件扩展名为非冲突自定义字符串;
[0030] CA9.添加处理完的文件所对应的文件记录至文件待上传队列,转步骤CA2。
[0031] 运行于网络存储服务器的基于文件类型的解压算法子程序,其算法步骤如下:
[0032] SA1.判断文件接收服务是否有接收完整的文件待处理,若有文件传入待处理,转步骤SA2,否则持续执行步骤SA1;
[0033] SA2.判断待处理的文件其原文件名是否为冲突的文件名,也即客户端为了避免对原本为压缩类型的文件进行二次误压缩而使用非冲突自定义字符串。若是,转步骤SA3,否则转步骤SA4;
[0034] SA3.去除非冲突自定义字符串,恢复待处理文件为原文件名,转步骤SA6;
[0035] SA4.判断待处理的文件其文件类型是否为压缩类型,若是,则转步骤SA5,否则转步骤SA6;
[0036] SA5.对待处理的文件进行解压;
[0037] SA6.将处理完的文件写入存储中,转步骤SA1,等待传入的新文件。
[0038] 本发明的有益效果是:考虑到了不同类型的文件,其压缩比,以及在压缩与解压过程中对CPU计算资源的占用和磁盘IO影响因素,对渲染任务中所涉及的文件区分对待,在保持低压缩比文件的压缩传输所换取的文件传输速度提升的同时,避免了高压缩比文件压缩的资源浪费。整个系统的运用可以进一步提升网络存储服务器端对同时支撑的客户端并发数量,以及进一步降低网络存储服务器的非必要负载。整个系统拥有良好的模块独立性和实际应用意义,具有较高的市场价值。

附图说明

[0039] 图1是本发明基于文件类型的云渲染混合压缩传输系统结构示意图。
[0040] 图2是本发明基于文件类型的压缩算法流程图。
[0041] 图3是本发明基于文件类型的解压算法流程图。

具体实施方式

[0042] 下面结合附图和具体的实施例对本发明技术方案作进一步的详细描述,以使本领域技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
[0043] 如图1所示,基于文件类型的云渲染混合压缩传输系统,包括客户端101和网络存储服务器102。所述客户端101通过局域网络或互联网与所述网络存储服务器102相连。
[0044] 所述客户端101进一步还包括文件压缩配置表103、文件列表104、基于文件类型的压缩算法子程序105、文件待上传队列106、文件上传子程序107。
[0045] 进一步地,客户端101的文件列表103主要用于描述渲染任务中涉及的文件,其在具体实施中可为文件形式,也可以通过接口的形式接收来自于其它程序或软件模块的输出列表,例如可以为对渲染工程文件的解析所得到的文件列表;
[0046] 进一步地,客户端101的文件压缩配置表103,其用于配置需要压缩传输的文件类型,以及原文件的扩展名与压缩后的文件后缀名冲突时的附加扩展名。根据该配置表,客户端的基于文件类型的压缩算法子程序105可以判断是否对某一类型的文件进行压缩,以及是否需要修改文件扩展名为非冲突自定义字符串。例如,假设原文件名为example.zip,并且该文件为某渲染制图软件所识别,为其内部支持的压缩格式,则无须再对其进行压缩。为了防止在网络存储服务器102内部对该压缩文件进行误解压,需要将修改example.zip文件名为example.zip.none。假定“.none”为用户定义的非冲突自定义字符串。当网络存储服务器102接收到example.zip.none之前,可以判断出其为无需解压的文件,去除非冲突自定义字符串,恢复原文件名即可;
[0047] 进一步地,客户端101的基于文件类型的压缩算法子程序105,其主要作用为根据文件压缩配置表103的配置,判断文件列表104中描述的文件是否需要压缩、修改文件名等。然后,根据判断结果进一步处理文件,最终对需要压缩的文件进行压缩,对需要修改文件扩展名为非冲突自定义字符的文件名进行修改。汇总处理后的文件,最终生成文件待上传队列106。
[0048] 进一步地,客户端101的文件待上传队列106,其作用为向文件上传子程序107提供待上传文件的列表。
[0049] 进一步地,客户端101的文件上传子程序107,其作用为根据文件待上传队列106,将队列中的文件,连同其类型信息,一同上传给网络存储服务器102。
[0050] 所述网络存储服务器102进一步包括文件接收服务108、基于文件类型的解压算法子程序109及存储110。
[0051] 进一步地,网络存储服务器102的文件接收服务108,其作用为接收来自客户端101的文件上传子程序107通过网络传输来的文件及其相应的类型信息;
[0052] 进一步地,网络存储服务器102的基于文件类型的解压算法子程序109,其作用对文件接收服务108所接收的文件进行处理,根据其类型信息,恢复原文件名,及对压缩文件进行解压,将处理完的文件,写入存储110中。
[0053] 进一步地,网络存储服务器的存储110,其作用用于存放基于文件类型的解压算法子程序109处理完的最终文件。
[0054] 如图2所示,运行于客户端101的基于文件类型的压缩算法子程序105,其算法步骤如下:
[0055] 201.加载/读取文件压缩配置表103。具体实施例中,可以提前在客户端101与网络存储服务器102两端约定好,也可以通过客户端101从网络存储服务器102端下载来获取;
[0056] 202.读取文件列表104,判断文件列表104是否为空,若为空则算法结束,否则转步骤203。具体实施例中,文件列表104可以为对渲染工程文件的解析所得到的文件列表,也可以来自其他程序的输出文件列表;
[0057] 203.从文件列表104中取出一项文件记录,保存至临时变量x中;
[0058] 204.将文件列表104中该文件记录删除;
[0059] 205.根据201中加载/读取的文件压缩配置表103判断步骤203中保存在临时变量x中的文件是否压缩,若需要压缩,转步骤206,否则转步骤207;
[0060] 206.对步骤203中的临时变量x所描述的文件进行压缩,转步骤209;
[0061] 207.判断步骤203中临时变量x所保存的文件其后缀名是否冲突,若冲突则转步骤208,否则转步骤209。例如,假定变量x所保存的文件example.zip,基于文件类型的压缩算法子程序105所采用的压缩工具对文件压缩后的扩展名也恰好为zip,此时,example.zip的文件后缀名产生冲突问题;
[0062] 208.修改文件扩展名为非冲突自定义字符串,例如将原文件名example.zip修改为example.zip.none。假定“.none”为具体实施例中使用的非冲突自定义字符串;
[0063] 209.添加处理完的文件所对应的文件记录x’至文件待上传队列,转步骤202。
[0064] 如图3所示,运行于网络存储服务器102的基于文件类型的解压算法子程序109,其算法步骤如下:
[0065] 301.判断文件接收服务108是否有接收完整的文件待处理,若有文件传入待处理,转步骤302,否则持续执行步骤301。在具体的实施中,为避免过频繁的持续执行步骤301,可以在每次执行之间加一个时间间隔,以降低对CPU资源的占用;
[0066] 302.判断待处理的文件其原文件名是否为冲突的文件名,也即客户端为了避免对原本为压缩类型的文件进行二次误压缩而使用了非冲突自定义字符串。若是,转步骤303,否则转步骤304。例如,当原文件名为example.zip的文件,其附加了非冲突自定义字符串后的文件名为example.zip.none。其中,“.none”为具体实施时采用的非冲突自定义字符串。本步骤可以发现该文件原文件名为冲突的文件名;
[0067] 303.去除非冲突自定义字符串,恢复待处理文件为原文件名,转步骤306。以302中的实施例为例,可以直接去掉非冲突自定义字符串“.none”。进而恢复原文件名example.zip;
[0068] 304.判断待处理的文件其文件类型是否为压缩类型,若是,则转步骤305,否则转步骤306;
[0069] 305.对待处理的文件进行解压;
[0070] 306.将处理完的文件写入存储中,转步骤301,等待传入的新文件。
[0071] 以上仅是本发明的优先实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。