一种数据压缩/解压缩装置及其方法、系统的制作方法

文档序号:6383362阅读:190来源:国知局
专利名称:一种数据压缩/解压缩装置及其方法、系统的制作方法
技术领域
本发明属于数据处理领域,具体地说,涉及一种的数据压缩/解压缩装置及其方法、系统。
背景技术
随着互联网技术的发展,网络宽带的速度越来越快,人们利用网络交换、分享文件的行为越来越多,如使用电子邮箱、即时通讯工具等方式。但是,在很多情况下人们分享文件仍然有很多不方便的地方,制约了文件在互联网上的交换和分享。例如把一个25M大小的文件发到一个论坛里供大家下载,但是论坛只支持5M大小的附件;把一个35M大小的文件发邮件给别人,但是邮件的附件最大只支持15M ;把一个20M大小的文件发给msn上的好友,但是双方网络不通畅,速度只有几k,传输极慢;等等。压缩软件的出现在一定程度上缓解了上述问题。用传统的压缩软件可以把一个文件(由于一个文件和多个文件与文件夹的集合类似,本文均以一个文件代表所有形式的文件与文件夹的不同集合)压缩到原来体积的百分之几十到100%,压缩后的文件体积缩小很多,节省了带宽,方便了分享。实现压缩数据的过程可以简要概括为原始数据经过压缩插件压缩处理去除冗余后,形成压缩数据。而对应地,存在解压缩数据的过程,其可以简要概括为压缩数据经过解压缩插件解压缩处理恢复原始数据。由此可见,现有技术中的数据压缩/解压缩过程,均由压缩/解压缩插件完全独立进行处理,无法实现对已经完成压缩的数据进行及时恢复,以实时进行原始数据恢复处理,提高数据解压缩的效率;或者,对完成压缩的数据无法进行预先处理,以提高数据压缩的效率。简言之,现有技术的数据压缩/解压缩处理过程中,数据处理的效率较低,因此,如何提高数据压缩/解压缩过程中的处理效率,便成为亟待解决的技术问题。

发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决或者减缓上述问题的数据压缩/解压缩装置及其方法、系统。根据本发明的一个方面,提供了 一种数据压缩/解压缩装置,该装置包括配置模块,用于预先配置各触发条件与中间件数据库所保存的各中间件之间的调用关系;监听模块,用于监听压缩/解压缩引擎对待处理数据的压缩/解压缩处理过程,获得所述压缩/解压缩处理过程的状态信息,并截获由所述待处理数据中读取且完成压缩/解压缩的部分数据;适配模块,用于在中间件数据库内搜索与所述状态信息携带的触发条件相适配的中间件;调用模块,用于调用由搜索到的适配结果中所选定的中间件对已经压缩/解压缩完成的部分数据进行处理。优选的,根据本发明的一实施例,所述适配模块所适配的中间件包括加密引擎和/或相比所述压缩/解压缩引擎具有更高压缩率的压缩/解压缩引擎;所述调用模块,用于按预设策略调用加密引擎和/或具有更高压缩率的压缩/解压缩引擎对已经压缩/解压缩完成的部分数据进行加密处理和/或再次压缩/解压缩处理。优选的,根据本发明的一实施例,所述调用模块,还根据超时时间控制所述加密处理和/或再次压缩/解压缩处理,当所述加密处理和/或再次压缩/解压缩处理的用时超过所述超时时间,退出所述加密处理和/或再次压缩/解压缩处理。优选的,根据本发明的一实施例,当所述待处理数据为音视频待处理数据时,所述适配模块所适配的中间件还包括播放引擎;所述调用模块,用于按预设策略调用所述播放引擎对已经完成压缩/解压缩的部分数据直接进行播放。优选的,根据本发明的一实施例,所述调用模块,还根据限速值控制所述适配的中间件,从已经完成压缩/解压缩的部分数据中取出与所述限速值对应的数据量进行播放。优选的,根据本发明的一实施例,所述状态信息,包括以下一个或多个的组合压缩/解压缩的总体进度、压缩/解压缩的单文件进度、压缩率变化、压缩/解压缩总体时间和剩余时间、压缩/解压缩的速度、当前压缩/解压缩的文件名和路径、压缩/解压缩的错误信息、压缩/解压缩的密码信息、压缩/解压缩的覆盖冲突检测和处理结果。优选的,根据本发明的一实施例,所述预设策略,包括实时提示询问、默认全部执行或判断后执行。根据本发明的一个方面,还提供了一种数据压缩/解压缩方法,该方法包括监听压缩/解压缩引擎对待处理数据的压缩/解压缩处理过程,获得所述压缩/解压缩处理过程的状态信息,并截获由所述待处理数据中读取且完成压缩/解压缩的部分数据;在中间件数据库内搜索与所述状态信息携带的触发条件相适配的中间件,调用由搜索到的适配结果中所选定的中间件对已经压缩/解压缩完成的部分数据进行处理。优选的,根据本发明的一实施例,在中间件数据库内搜索与所述状态信息携带的各触发条件相适配的中间件,按预设策略调用由搜索到的适配结果中所选定的中间件对已经压缩/解压缩完成的部分数据进行处理,进一步包括所述适配的中间件包括加密引擎和/或相比所述压缩/解压缩引擎具有更高压缩率的压缩/解压缩引擎;按预设策略调用加密引擎和/或具有更高压缩率的压缩/解压缩引擎对已经压缩/解压缩完成的部分数据进行加密处理和/或再次压缩/解压缩处理。优选的,根据本发明的一实施例,还根据超时时间控制所述加密处理和/或再次压缩/解压缩处理,当所述加密处理和/或再次压缩/解压缩处理的用时超过所述超时时间,退出所述加密处理和/或再次压缩/解压缩处理。优选的,根据本发明的一实施例,在中间件数据库内搜索与所述状态信息携带的各触发条件相适配的中间件,按预设策略调用由搜索到的适配结果中所选定的中间件对已经压缩/解压缩完成的部分数据进行处理,还包括当所述待处理数据为音视频待处理数据时,所述适配的中间件还包括播放引擎;按预设策略调用播放引擎对已经完成压缩/解压缩的部分数据直接进行播放。优选的,根据本发明的一实施例,还根据限速值控制所述适配的中间件,从已经完成压缩/解压缩的部分数据中取出与所述限速值对应的数据量进行播放。优选的,根据本发明的一实施例,所述状态信息,包括以下一个或多个的组合压缩/解压缩的总体进度、压缩/解压缩的单文件进度、压缩率变化、压缩/解压缩总体时间和剩余时间、压缩/解压缩的速度、当前压缩/解压缩的文件名和路径、压缩/解压缩的错误信息、压缩/解压缩的密码信息、压缩/解压缩的覆盖冲突检测和处理结果。优选的,根据本发明的一实施例,所述预设策略,包括实时提示询问、默认全部执行或判断后执行。根据本发明的一个方面,还提供了一种数据压缩/解压缩系统,包括中间件数据库,适于保存各中间件;压缩/解压缩引擎,适于对待处理数据进行压缩/解压缩处理;数据压缩/解压缩装置,适于监听所述压缩/解压缩引擎对待处理数据的压缩/解压缩处理过程,获得所述压缩/解压缩处理过程的状态信息,并截获由所述待处理数据中读取且完成压缩/解压缩的部分数据;在中间件数据库内搜索与所述状态信息携带的触发条件相适配的中间件,调用由搜索到的适配结果中所选定的中间件对已经压缩/解压缩完成的部分数据进行处理。与现有的方案相比,本发明所获得的技术效果通过预先配置各触发条件与中间件数据库所保存的各中间件之间的调用关系;并监听压缩/解压缩引擎对待处理数据的压缩/解压缩处理过程,获得所述压缩/解压缩处理过程的状态信息,并截获由所述待处理数据中读取且完成压缩/解压缩的部分数据;当在中间件数据库内搜索与所述状态信息携带的触发条件相适配的中间件;按预设策略调用由搜索到的适配结果中所选定的中间件对已经压缩/解压缩完成的部分数据进行处理,可以实现对数据的进一步压缩/解压缩处理,提高了数据压缩/解压缩的效率。


此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1是本发明一个实施例所述的一种数据压缩/解压缩装置结构方框图;图2是本发明一个实施例所述的一种数据压缩/解压缩装置结构方框图;图3是本发明一个实施例所述的一种数据压缩/解压缩装置结构方框图;图4是本发明一个实施例所述的一种数据压缩/解压缩装置结构方框图;图5为是本发明一个实施例所述的一种数据压缩/解压缩方法流程图;图6是本发明一个实施例所述的一种数据压缩/解压缩方法流程图;图7是本发明一个实施例所述的一种数据压缩/解压缩方法流程图;图8是本发明一个实施例所述的一种数据压缩/解压缩方法流程图;图9是本发明一个实施例所述的一种数据压缩/解压缩装置结构方框图;图10是本发明一个实施例所述的一种数据压缩/解压缩装置结构方框图;图11是本发明一个实施例所述的一种数据压缩/解压缩方法流程图;图12是本发明一个实施例所述的一种数据压缩/解压缩方法流程图。
具体实施例方式以下将配合图式及实施例来详细说明本发明的实施方式,藉此对本发明如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。如图1所示,是本发明一个实施例所述的一种数据压缩/解压缩装置结构方框图。在本实施例中,针对压缩/解压缩引擎已完成压缩/解压缩处理的部分数据,该数据压缩/解压缩装置100可以包括第一配置模块101、第一监听模块102、第一适配模块103、第一调用模块104,其中第一配置模块101用于预先配置各触发条件与中间件数据库105所保存的各中间件115之间的调用关系。此处,该触发条件可以指在数据压缩/解压缩过程中,启用中间件参与进一步数据处理的规则。该触发条件可以由用户事先手动配置,比如用户手动配置如果发现当前压缩引擎的压缩率低于某一设定值即进行数据的二次压缩,或者,根据中间件数据库内中间件的数据处理属性来进行配置,中间件数据库105中存在其他压缩引擎,可以进一步实现对数据进行二次压缩,达到更高的压缩率。再比如,用户手动配置如果发现所处理的文件为音视频文件,则在采用传统压缩手段(即压缩率低于一门限的压缩手段)处理时,自动采用中间件数据库105中存在压缩率更高的专业压缩引擎进行二次处理。中间件数据库内保存有中间件以及上述触发条件与对应中间件的条用关系。例如,如果通过传统压缩,数据的压缩率只能达到50%,而通过中间件数据库内存在数据压缩率高于50%的二次压缩引擎,在这种情况下,数据压缩率可以作为触发条件,利用中间件数据库内的更高压缩率的压缩/解压缩引擎可在后续步骤中对传统压缩后的数据进行进一步的数据压缩处理。第一监听模块102用于监听压缩/解压缩引擎106对待处理数据的压缩/解压缩处理过程,获得所述压缩/解压缩处理过程的状态信息,并截获由所述待处理数据中读取且完成压缩/解压缩的部分数据。为了针对已完成压缩/解压缩处理的部分数据进行进一步的处理,第一监听模块102实时监听压缩/解压缩引擎106对待处理数据的压缩/解压缩处理过程,并获得在此过程中有关压缩/解压缩处理的状态信息,通过该状态信息,可以进一步截获由所述待处理数据中读取且完成压缩/解压缩的部分数据。比如,在压缩/解压缩引擎对多个音视频文件进行压缩处理过程中,通过压缩/解压缩处理过程状产生的状态信息,得知某一个音视频文件已经完成压缩,以预先将已完成压缩处理的数据截获处理,利用中间件对这一部分数据进行预先处理。本实施例中,所述状态信息包括但不局限于压缩/解压缩的总体进度、压缩/解压缩的单文件进度、压缩率变化、压缩/解压缩总体时间和剩余时间、压缩/解压缩的速度、当前压缩/解压缩的文件名和路径、压缩/解压缩的错误信息、压缩/解压缩的密码信息、压缩/解压缩的覆盖冲突检测和处理结果等等。第一适配模块103用于在中间件数据库内搜索与所述状态信息携带的触发条件相适配的中间件。如前所述,由于该触发条件可以指在数据压缩/解压缩过程中,启用中间件参与进一步数据处理的规则。因此,通过触发条件与中间件的适配,可以从中间件数据库内查询到适用于该触发条件的中间件。第一调用模块104用于调用由搜索到的适配结果中所选定的中间件对已经压缩/解压缩完成的部分数据进行处理。本实施例中,还会根据预定义的超时时间、压缩/解压缩的限速值、协同工作信号量中之一或任意多种的结合来控制中间件的运行。例如,超时时间就是一个中间件在处理数据时,由于程序问题或者数据损坏导至中间件处理陷入了死循环,这样将导至整个装置的工作假死状态,并且也会消耗大量的系统硬件资源,对系统稳定性造成威胁,这时可以依赖于超时处理,将没有完成的过程强行结束,让数据继续其他的处理。协同工作信号量可以分为同步信号量和互斥信号量是用来在中间件之间以及中间件与装置内之间协调工作,装置对中间件的状态进行监控和调度的一种手段。限速值就是根据中间件的吞吐量来设定的值,比如说视频播放比音频的数据需求量要大,同样一个数据帧,视频需要的数据量比音频的大,利用限速值来控制向不同的中间件输出相应吞吐量的数据。比如,对已完成压缩的数据二次压缩的压缩率作为触发条件,进行二次压缩处理。或者,对已完成压缩的音视频文件,如果搜索到可作为播放引擎的中间件,则直接对已压缩完成的音视频文件进行解压缩播放。本实施例中,可以按预设策略调用中间件进行数据处理,预设策略可以是指当搜索到适配与触发条件对应的中间件时,实时询问以在得到用户指示后再启动调用中间件进行数据的进一步处理,或者默认全部执行,默认当搜索到适配与触发条件对应的中间件就直接启动调用中间件进行数据的进一步处理,或者是判断后执行,判断是否满足用户设置的其他规则启动调用中间件进行数据的进一步处理。如图2所示,是本发明一个实施例所述的一种数据压缩/解压缩装置结构方框图。本实施例中,与上述图1所示数据压缩/解压缩装置相同的是,数据压缩/解压缩装置200包括第一配置模块201、第一监听模块202,这些模块的功能可参见上述实施例记载,不同的是第一适配模块203所适配的中间件为加密引擎215 ;基于此,第一调用模块204调用中间件数据库205中的加密引擎215对已经压缩/解压缩完成的部分数据进行加密处理处理。本实施例中,如果用户在使用压缩/解压缩引擎206对数据进行压缩/解压缩处理过程中,通过第一配置模块201配置了以完成加密为目的的触发条件,则通过第一监听模块202实时监听压缩/解压缩处理过程中的状态信息,截获了已完成压缩/解压缩处理的部分数据,第一调用模块204利用加密引擎215针对这一部分数据进行加密处理,实现压缩/解压缩处理过程中的分时加密处理。第一调用模块204,还根据超时时间控制所述加密处理,当所述加密处理的用时超过所述超时时间,退出所述加密处理。如图3所示,是本发明一个实施例所述的一种数据压缩/解压缩装置结构方框图。本实施例中,与上述图1所示数据压缩/解压缩装置相同的是,数据压缩/解压缩装置300包括第一配置模块301、第一监听模块302,这些模块的功能可参见上述实施例记载,不同的是,第一适配模块303所适配的中间件为比所述压缩/解压缩引擎306具有更高压缩率的压缩/解压缩引擎315为例,第一调用模块304调用中间件数据库305中具有更高压缩率的压缩/解压缩引擎315对已经压缩/解压缩完成的部分数据进行再次压缩/解压缩处理。本实施例中,如果用户在使用压缩/解压缩引擎306对数据进行压缩/解压缩处理过程中,通过第一配置模块301配置了以完成获得更高压缩率为目的的触发条件,则通过第一监听模块302实时监听压缩/解压缩处理过程中的状态信息,截获了已完成压缩/解压缩处理的部分数据,第一调用模块304利用具有更高压缩率的压缩/解压缩引擎315针对这一部分数据进行压缩/解压缩处理,实现压缩/解压缩处理过程中数据的分时分段二次压缩。第一调用模块304,还根据超时时间控制所述再次压缩/解压缩处理,当所述再次压缩/解压缩处理的用时超过所述超时时间,退出所述再次压缩/解压缩处理。需要说明的是,也可以在另外一实施例中,同时搜索到针对加密的中间件加密引擎,以及针对更高压缩率的压缩/解压缩引擎,此时,可对这两个引擎进行优先级别排序,使更高压缩率的压缩/解压缩引擎优先于加密引擎对数据进行进一步处理。如图4所示,是本发明一个实施例所述的一种数据压缩/解压缩装置结构方框图。与上述图1所示数据压缩/解压缩装置相同的是,数据压缩/解压缩装置400包括第一配置模块401、第一监听模块402,这些模块的功能可参见上述实施例记载,不同的是,第一适配模块403所适配的中间件为播放引擎415,以针对所述待处理数据为音视频待处理数据。第一调用模块404调用中间件数据库405中播放引擎415对已经完成压缩/解压缩的部分数据直接进行播放。本实施例中,如果用户在使用压缩/解压缩引擎406对音视频数据进行压缩/解压缩处理过程中,通过第一配置模块401配置了以完成获得实时播放目的的触发条件,则通过第一监听模块402实时监听压缩/解压缩处理过程中的状态信息,截获了已完成压缩/解压缩处理的部分数据,第一调用模块404利用播放引擎415针对这一部分数据进行解压缩播放处理,实现音视频数据的实时播放。第一调用模块404,还根据限速值控制所述适配的中间件,从已经完成压缩/解压缩的部分数据中取出与所述限速值对应的数据量进行播放。另外,图1还示出了本发明的一种数据压缩/解压缩系统,包括中间件数据库105、压缩/解压缩引擎106和数据压缩/解压缩装置100 ;中间件数据库105,适于保存各中间件;压缩/解压缩引擎106,适于对待处理数据进行压缩/解压缩处理;在实际使用中,所述压缩/解压缩引擎106为插件数据库所提供,插件数据库中保存有提供各种基础功能的插件,包括压缩/解压缩引擎等等。数据压缩/解压缩装置100,适于监听所述压缩/解压缩引擎106对待处理数据的压缩/解压缩处理过程,获得所述压缩/解压缩处理过程的状态信息,并截获由所述待处理数据中读取且完成压缩/解压缩的部分数据;在中间件数据库105内搜索与所述状态信息携带的触发条件相适配的中间件,调用由搜索到的适配结果中所选定的中间件对已经压缩/解压缩完成的部分数据进行处理。需要说明的是,中间件数据库105可以包括中间件数据库205、305、405的功能、压缩/解压缩引擎106可以包括中间件数据库206、306、406的功能,数据压缩/解压缩装置100可以包括中间件数据库200、300、400的功能。针对压缩/解压缩引擎已完成的部分数据,对应上述图f图4所示的数据压缩/解压缩装置,提供如下图51所示的数据压缩/解压缩方法流程图,详细如下。如图5所示,为是本发明一个实施例所述的一种数据压缩/解压缩方法流程图。对应于图1所示的数据压缩/解压缩装置,其可以具体包括如下步骤步骤S501、监听压缩/解压缩引擎对待处理数据的压缩/解压缩处理过程;本实施例中,待处理数据可以为音视频文件等,或者其他格式的文件,压缩/解压缩引擎可以指常规的压缩/解压缩引擎如winrar或者winzip引擎等,或者开发者自定义的压缩/解压缩引擎。步骤S502、获得所述压缩/解压缩处理过程的状态信息,并截获由所述待处理数据中读取且完成压缩/解压缩的部分数据;本实施例中,压缩阶段的数据优先于解压缩阶段数据进行处理。步骤S503、在中间件数据库内搜索与所述状态信息携带的触发条件相适配的中间件;本实施例中,搜索到的中间件可以同时有多个,需要说明的是,可以根据数据处理的前后关系,对这些多个中间件进行优先级别的排序,比如针对压缩的中间件优先于针对解压缩的中间件。步骤S504、调用由搜索到的适配结果中所选定的中间件对已经压缩/解压缩完成的部分数据进行处理。在对已经压缩/解压缩完成的部分数据进行处理,如果只搜索到一个中间件,则根据上述预设策略对该部分数据进行进一步处理;如果搜索到多个的话,可以根据每个中间件的优先级别进行先后处理。如图6所示,是本发明一个实施例所述的一种数据压缩/解压缩方法流程图。对应于图2所示的数据压缩/解压缩装置,其可以具体包括如下步骤步骤S601、监听压缩/解压缩引擎对待处理数据的压缩/解压缩处理过程;步骤S602、获得所述压缩/解压缩处理过程的状态信息,并截获由所述待处理数据中读取且完成压缩/解压缩的部分数据;步骤S603、在中间件数据库内搜索与所述状态信息携带的对数据进行加密为触发条件相适配的加密引擎;如果搜索到,执行步骤S604,否则,执行步骤S605 ;本实施例中,与对数据进行加密为触发条件适配的中间件为加密引擎,以对已压缩/解压缩完成的部分数据进行进一步后续步骤S604的加密处理;步骤S604、按判断询问的方式在确定启用由搜索到的适配结果中加密引擎对已经压缩/解压缩完成的部分数据进行加密,还根据超时时间控制所述加密处理,当所述加密处理的用时超过所述超时时间,退出所述加密处理。步骤S605、在中间件数据库内搜索与所述状态信息携带的其他触发条件相适配的其他中间件。如图7所示,是本发明一个实施例所述的一种数据压缩/解压缩方法流程图。对应于图3所示的数据压缩/解压缩装置,其可以具体包括如下步骤步骤S701、监听压缩/解压缩引擎对待处理数据的压缩/解压缩处理过程;
步骤S702、获得所述压缩/解压缩处理过程的状态信息,并截获由所述待处理数据中读取且完成压缩/解压缩的部分数据;步骤S703、在中间件数据库内搜索与所述状态信息携带的更高压缩率为触发条件相适配的更高压缩率的压缩/解压缩引擎;如果搜索到,执行步骤S704,否则,执行步骤S705 ;本实施例中,与对数据进行压缩以获得更高压缩率为触发条件适配的中间件区别于步骤S701中的压缩/解压缩引擎,而是具有更高压缩率的压缩/解压缩引擎,以对已压缩/解压缩完成的部分数据进行进一步后续步骤S704的再次压缩/解压缩处理;步骤S704、按判断询问的方式在确定启用由搜索到的适配结果中更高压缩率的压缩/解压缩引擎对已经压缩/解压缩完成的部分数据进行再次压缩/解压缩处理,还根据超时时间控制所述再次压缩/解压缩处理,当所述再次压缩/解压缩处理的用时超过所述超时时间,退出所述再次压缩/解压缩处理。步骤S705、在中间件数据库内搜索与所述状态信息携带的其他触发条件相适配的其他中间件。如图8所示,是本发明一个实施例所述的一种数据压缩/解压缩方法流程图。对应于图4所示的数据压缩/解压缩装置,针对所述待处理数据为音视频待处理数据时,其可以具体包括如下步骤步骤S801、监听压缩/解压缩引擎对待处理数据的压缩/解压缩处理过程;步骤S802、获得所述压缩/解压缩处理过程的状态信息,并截获由所述待处理数据中读取且完成压缩/解压缩的部分数据;步骤S803、在中间件数据库内搜索与所述状态信息携带的实时播放为触发条件相适配的播放引擎;如果搜索到,执行步骤S804,否则,执行步骤S805 ;本实施例中,与以实时播放为触发条件适配的播放引擎对已压缩/解压缩完成的部分数据进行进一步后续步骤S804的播放处理;步骤S804、按判断询问的方式在确定启用由搜索到的适配结果中播放引擎对已经压缩/解压缩完成的部分数据进行实时播放处理,还根据限速值控制所述适配的中间件,从已经完成压缩/解压缩的部分数据中取出与所述限速值对应的数据量进行播放。步骤S805、在中间件数据库内搜索与所述状态信息携带的其他触发条件相适配的其他中间件。以下以未进行压缩/解压缩处理的部分数据为例,对本发明实施例中的数据压缩/解压缩装置进行说明。如图9所示,是本发明一个实施例所述的一种数据压缩/解压缩装置结构方框图。在本实施例中,针对压缩/解压缩引擎已完成压缩/解压缩处理的部分数据,该数据压缩/解压缩装置可以包括第二配置模块901、第二监听模块902、第二适配模块903、第二调用模块904,其中配置模块901用于预先配置各触发条件与中间件数据库905所保存的各中间件915之间的调用关系。此处,该触发条件以及其余中间件的调用关系相关描述可参将上述图1部分的记载,在此不再赘述。
第二监听模块902用于监听压缩/解压缩引擎906对待处理数据的压缩/解压缩处理过程,获得所述压缩/解压缩处理过程的状态信息,并截获由所述待处理数据中读取但尚未进行压缩/解压缩处理的部分数据。本实施例中,所述状态信息同样可包括但不局限于压缩/解压缩的总体进度、压缩/解压缩的单文件进度、压缩率变化、压缩/解压缩总体时间和剩余时间、压缩/解压缩的速度、当前压缩/解压缩的文件名和路径、压缩/解压缩的错误信息、压缩/解压缩的密码信息、压缩/解压缩的覆盖冲突检测和处理结果等等。第二适配模块903用于在中间件数据库905中搜索与所述状态信息携带的触发条件相适配的中间件915。如前所述,由于该触发条件可以指在数据压缩/解压缩过程中,启用中间件参与进一步数据处理的规则。因此,通过触发条件与中间件的适配,可以从中间件数据库内查询到适用于该触发条件的中间件,相比所述压缩/解压缩引擎具有更高压缩率的压缩/解压缩引擎等一个或多个中间件。第二调用模块904用于调用由搜索到的适配结果中所选定的中间件915对尚未进行压缩/解压缩处理的部分数据进行预先处理,再通过所述压缩/解压缩引擎906对预先处理所得到的数据进行压缩/解压缩处理。本实施例中,所述预设策略可以包括但不限于实时提示询问、默认全部执行或判断后执行,对以更高压缩率作为触发条件,进行预先压缩/解压缩处理。如图10所示,是本发明一个实施例所述的一种数据压缩/解压缩装置结构方框图。本实施例中,与上述图9所示数据压缩/解压缩装置相同的是,数据压缩/解压缩装置包括第二配置模块1001、第二监听模块1002,这些模块的功能可参见上述图9实施例记载,不同的是,第二适配模块1003所适配的中间件为中间件数据库1005中,比压缩/解压缩引擎1006具有更高压缩率的压缩/解压缩引擎1015为例,第二调用模块1004调用具有更高压缩率的压缩/解压缩引擎1015对尚未进行压缩/解压缩处理的部分数据进行预先压缩/解压缩处理。本实施例中,如果用户在使用压缩/解压缩引擎对数据进行压缩/解压缩处理过程中,通过第二配置模块1001配置了以完成获得更高压缩率为目的的触发条件,则通过监听模块1002实时监听压缩/解压缩处理过程中的状态信息,第二调用模块1004截获了未完成压缩/解压缩处理的部分数据,利用具有更高压缩率的压缩/解压缩引擎1015针对这一部分数据进行预先的压缩/解压缩处理。第二调用模块1004还根据超时时间控制所述预先压缩/解压缩处理,当所述预先压缩/解压缩处理的用时超过所述超时时间,退出所述预先压缩/解压缩处理。需要说明的是,当针对未完成压缩/解压缩处理的部分数据,搜索到与多个触发条件对应的多个中间件时,可对多个中间件进行优先级别排序,对未完成压缩/解压缩处理的部分数据进行先后处理。另外,图9还示出了本发明的一种数据压缩/解压缩系统,包括中间件数据库905、压缩/解压缩引擎906和数据压缩/解压缩装置900 ;中间件数据库905,适于保存各中间件;压缩/解压缩引擎906,适于对数据进行压缩/解压缩处理;在实际使用中,所述压缩/解压缩引擎906为插件数据库所提供,插件数据库中保存有提供各种基础功能的插件,包括压缩/解压缩引擎等等。数据压缩/解压缩装置900,适于监听所述压缩/解压缩引擎906对待处理数据的压缩/解压缩处理过程,获得所述压缩/解压缩处理过程的状态信息,并截获由所述待处理数据中读取但尚未进行压缩/解压缩处理的部分数据;在所述中间件数据库905内搜索与所述状态信息携带的触发条件相适配的中间件,调用由搜索到的适配结果中所选定的中间件对尚未进行压缩/解压缩处理的部分数据进行预先处理,将预先处理所得到的数据发送到所述压缩/解压缩引擎906。需要说明的是,中间件数据库905可以包括中间件数据库1005的功能、压缩/解压缩引擎906可以包括中间件数据库1006的功能,数据压缩/解压缩装900可以包括中间件数据库1000的功能。如图11所示,是本发明一个实施例所述的一种数据压缩/解压缩方法流程图。对应于图9所示的数据压缩/解压缩装置,其可以具体包括如下步骤步骤S1101、监听压缩/解压缩引擎对待处理数据的压缩/解压缩处理过程;本实施例中,待处理数据可以常用的文件,如office文件,压缩/解压缩引擎可以指常规的压缩/解压缩引擎如winrar或者winzip引擎等。步骤S1102、获得所述压缩/解压缩处理过程的状态信息,并截获由所述待处理数据中读取但尚未进行压缩/解压缩处理的部分数据;本实施例中,压缩阶段的数据优先于解压缩阶段数据进行处理。步骤S1103、在中间件数据库内搜索与所述状态信息携带的触发条件相适配的中间件;本实施例中,搜索到的中间件可以同时有多个,需要说明的是,可以根据数据处理的前后关系,对这些多个中间件进行优先级别的排序,比如针对压缩的中间件优先于针对解压缩的中间件。步骤S1104、调用由搜索到的适配结果中所选定的中间件对尚未进行压缩/解压缩处理的部分数据进行预先处理。在对但尚未进行压缩/解压缩处理的部分数据进行处理,如果只搜索到一个中间件,则根据预设策略对该部分数据进行进一步处理;如果搜索到多个的话,可以根据每个中间件的优先级别进行先后处理。步骤S1105、通过所述压缩/解压缩引擎对步骤S1104中预先处理所得到的数据进行压缩/解压缩处理。针对未进行压缩/解压缩处理的部分数据,先利用中间件对其预先处理,如压缩/解压缩;之后,再对预先处理后的数据进行进一步压缩/解压缩处理。如图12所示,是本发明一个实施例所述的一种数据压缩/解压缩方法流程图。对应于图9所示的数据压缩/解压缩装置,其可以具体包括如下步骤步骤S1201、监听压缩/解压缩引擎对待处理数据的压缩/解压缩处理过程;步骤S1202、获得所述压缩/解压缩处理过程的状态信息,并截获由所述待处理数据中读取且未完成压缩/解压缩的部分数据;步骤S1203、在中间件数据库内搜索与所述状态信息携带的更高压缩率为触发条件相适配的更高压缩率的压缩/解压缩引擎;如果搜索到,执行步骤S1204,否则,执行步骤S1205 ;本实施例中,与对数据进行压缩以获得更高压缩率为触发条件适配的中间件区别于步骤S1201中的压缩/解压缩引擎,而是具有更高压缩率的压缩/解压缩引擎,以对未进行压缩/解压缩处理的部分数据进行进一步后续步骤S1104的预先压缩/解压缩处理;步骤S1204、按判断询问的方式在确定启用由搜索到的适配结果中更高压缩率的压缩/解压缩引擎对未进行压缩/解压缩处理的部分数据进行预先压缩/解压缩处理,还根据超时时间控制所述预先进行的压缩/解压缩处理,当所述预先进行的压缩/解压缩处理的用时超过所述超时时间,退出所述预先进行的压缩/解压缩处理。步骤S1205、通过步骤S1201中的所述压缩/解压缩引擎对步骤S1204预先处理所得到的数据进行压缩/解压缩处理。步骤S1206、在中间件数据库内搜索与所述状态信息携带的其他触发条件相适配的其他中间件。本实施例中,针对未进行压缩/解压缩处理的部分数据,利用更高压缩率的压缩/解压缩引擎作为中间件进行预先处理,之后,再对预先处理后的数据进行压缩/解压缩引擎的处理,以提高压缩率。步骤S1205、在中间件数据库内搜索与所述状态信息携带的其他触发条件相适配的其他中间件。 本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP )来实现根据本发明上述实施例的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。本文中所称的“一个实施例”、“实施例”或者“一个或者多个实施例”意味着,结合实施例描述的特定特征、结构或者特性包括在本发明的至少一个实施例中。此外,请注意,这里“在一个实施例中”的词语例子不一定全指同一个实施例。在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
此外,还应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
权利要求
1.一种数据压缩/解压缩装置,包括配置模块,用于预先配置各触发条件与中间件数据库所保存的各中间件之间的调用关监听模块,用于监听压缩/解压缩引擎对待处理数据的压缩/解压缩处理过程,获得所述压缩/解压缩处理过程的状态信息,并截获由所述待处理数据中读取且完成压缩/解压缩的部分数据;适配模块,用于在中间件数据库内搜索与所述状态信息携带的触发条件相适配的中间件;调用模块,用于调用由搜索到的适配结果中所选定的中间件对已经压缩/解压缩完成的部分数据进行处理。
2.如权利要求1所述的数据压缩/解压缩装置,其特征在于,所述适配模块所适配的中间件包括加密引擎和/或相比所述压缩/解压缩引擎具有更高压缩率的压缩/解压缩引擎;所述调用模块,用于调用加密引擎和/或具有更高压缩率的压缩/解压缩引擎对已经压缩/解压缩完成的部分数据进行加密处理和/或再次压缩/解压缩处理。
3.如权利要求1所述的数据压缩/解压缩装置,其特征在于,所述调用模块,还根据超时时间控制所述加密处理和/或再次压缩/解压缩处理,当所述加密处理和/或再次压缩/解压缩处理的用时超过所述超时时间,退出所述加密处理和/或再次压缩/解压缩处理。
4.如权利要求1或2所述数据压缩/解压缩装置,其特征在于,当所述待处理数据为音视频待处理数据时,所述适配模块所适配的中间件还包括播放引擎;所述调用模块,用于调用所述播放引擎对已经完成压缩/解压缩的部分数据直接进行播放。
5.如权利要求4所述的数据压缩/解压缩装置,其特征在于,所述调用模块,还根据限速值控制所述适配的中间件,从已经完成压缩/解压缩的部分数据中取出与所述限速值对应的数据量进行播放。
6.一种数据压缩/解压缩方法,包括监听压缩/解压缩引擎对待处理数据的压缩/解压缩处理过程,获得所述压缩/解压缩处理过程的状态信息,并截获由所述待处理数据中读取且完成压缩/解压缩的部分数据;在中间件数据库内搜索与所述状态信息携带的触发条件相适配的中间件,调用由搜索到的适配结果中所选定的中间件对已经压缩/解压缩完成的部分数据进行处理。
7.如权利要求6所述数据压缩/解压缩方法,其特征在于,在中间件数据库内搜索与所述状态信息携带的各触发条件相适配的中间件,调用由搜索到的适配结果中所选定的中间件对已经压缩/解压缩完成的部分数据进行处理,进一步包括所述适配的中间件包括加密引擎和/或相比所述压缩/解压缩引擎具有更高压缩率的压缩/解压缩引擎;调用加密引擎和/或具有更高压缩率的压缩/解压缩引擎对已经压缩/解压缩完成的部分数据进行加密处理和/或再次压缩/解压缩处理。
8.如权利要求7所述数据压缩/解压缩方法,其特征在于,还根据超时时间控制所述加密处理和/或再次压缩/解压缩处理,当所述加密处理和/或再次压缩/解压缩处理的用时超过所述超时时间,退出所述加密处理和/或再次压缩/解压缩处理。
9.如权利要求6或7所述数据压缩/解压缩方法,其特征在于,在中间件数据库内搜索与所述状态信息携带的各触发条件相适配的中间件,调用由搜索到的适配结果中所选定的中间件对已经压缩/解压缩完成的部分数据进行处理,还包括当所述待处理数据为音视频待处理数据时,所述适配的中间件还包括播放引擎;调用播放引擎对已经完成压缩/解压缩的部分数据直接进行播放。
10.如权利要求9所述数据压缩/解压缩方法,其特征在于,还根据限速值控制所述适配的中间件,从已经完成压缩/解压缩的部分数据中取出与所述限速值对应的数据量进行播放。
11.一种数据压缩/解压缩系统,包括中间件数据库,适于保存各中间件;压缩/解压缩引擎,适于对待处理数据进行压缩/解压缩处理;数据压缩/解压缩装置,适于监听所述压缩/解压缩引擎对待处理数据的压缩/解压缩处理过程,获得所述压缩/解压缩处理过程的状态信息,并截获由所述待处理数据中读取且完成压缩/解压缩的部分数据;在中间件数据库内搜索与所述状态信息携带的触发条件相适配的中间件,调用由搜索到的适配结果中所选定的中间件对已经压缩/解压缩完成的部分数据进行处理。
全文摘要
本发明实施例属于数据处理领域,其公开了一种数据压缩/解压缩装置及其方法、系统,该装置包括配置模块,用于预先配置各触发条件与中间件数据库所保存的各中间件之间的调用关系;监听模块,用于监听压缩/解压缩引擎对待处理数据的压缩/解压缩处理过程,获得所述压缩/解压缩处理过程的状态信息,并截获由所述待处理数据中读取且完成压缩/解压缩的部分数据;适配模块,用于在中间件数据库内搜索与所述状态信息携带的触发条件相适配的中间件;调用模块,用于调用由搜索到的适配结果中所选定的中间件对已经压缩/解压缩完成的部分数据进行处理。根据本发明实施例,利用中间件对数据进行进一步处理,提高了数据压缩/解压缩的效率。
文档编号G06F17/30GK102999626SQ201210519560
公开日2013年3月27日 申请日期2012年12月6日 优先权日2012年12月6日
发明者郑相振 申请人:北京奇虎科技有限公司, 奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1