CN103268619A - swf文件中图片数据批量压缩的方法及装置 - Google Patents
swf文件中图片数据批量压缩的方法及装置 Download PDFInfo
- Publication number
- CN103268619A CN103268619A CN2013101684117A CN201310168411A CN103268619A CN 103268619 A CN103268619 A CN 103268619A CN 2013101684117 A CN2013101684117 A CN 2013101684117A CN 201310168411 A CN201310168411 A CN 201310168411A CN 103268619 A CN103268619 A CN 103268619A
- Authority
- CN
- China
- Prior art keywords
- swf file
- processing threads
- swf
- source
- picture data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种swf文件中图片数据批量压缩的方法及装置,方法包括:处理线程判断自身负责的所述源swf文件中是否包含图片数据;如果不包含,则直接将所述源swf文件存储到存储设备中,然后,所述处理线程转变为空闲线程;如果包含,所述处理线程对所述图片数据进行压缩操作,使压缩后的图片分辨率为S1定义的所述指定图片分辨率,得到新的swf文件,然后将得到的所述swf文件存储到存储设备中,然后,所述处理线程转变为空闲线程。批量压缩swf文件中图片数据,从而有效降低swf文件的体积,减小硬盘占用空间,提高了其传播速度。而且,还具有压缩效率高的优点。
Description
技术领域
本发明属于计算机技术领域,具体涉及一种swf文件中图片数据批量压缩的方法及装置。
背景技术
swf(shock wave flash)是动画设计软件Flash的专用格式,是一种支持矢量和点阵图形的动画文件格式,被广泛应用于网页设计、动画制作等领域。
由此可见,swf文件具有传播广泛的特点,因此,如何进一步降低swf文件的体积,减小硬盘占用空间,提高其传播速度,仍然具有重要现实意义。
发明内容
针对现有技术存在的缺陷,本发明提供一种swf文件中图片数据批量压缩的方法及装置,批量压缩swf文件中图片数据,从而降低swf文件的体积,减小硬盘占用空间,提高了其传播速度。
本发明采用的技术方案如下:
本发明还提供一种swf文件中图片数据批量压缩的方法,包括以下步骤:
S1,批处理服务器接收客户端上传的X个源swf文件以及与各个所述源swf文件分别对应的指定图片分辨率;其中,X≥1,X为整数;
S2,所述批处理服务器根据当前内存状态及需要处理的所述源swf文件数量,创建Y个处理线程,然后将所述Y个处理线程分配给所述X个源swf文件;其中,Y≥1,Y为整数;
S3,所述批处理服务器控制所述处理线程对自身负责的所述源swf文件均执行下列操作:所述处理线程判断自身负责的所述源swf文件中是否包含图片数据;如果不包含,则直接将所述源swf文件存储到存储设备中,然后,所述处理线程转变为空闲线程;如果包含,所述处理线程对所述图片数据进行压缩操作,使压缩后的图片分辨率为S1定义的所述指定图片分辨率,得到新的swf文件,然后将得到的所述swf文件存储到存储设备中,然后,所述处理线程转变为空闲线程;
S4,所述批处理服务器定时判断所述Y个处理线程中是否存在空闲线程,如果存在,则进一步判断是否存在待处理源swf文件;如果存在,则将所述空闲线程重分配给所述待处理源swf文件;如果不存在,则注销所述空闲线程。
优选的,S3具体包括以下步骤:
S31,所述处理线程判断自身负责的所述源swf文件是否为压缩文件,如果是,则执行S32;否则,直接执行S33;
S32,所述处理线程解压缩所述源swf文件,得到解压后的源swf文件,然后执行S33;
S33,所述处理线程解析所述源swf文件,获得所述源swf文件的swf头部信息,以及位于所述swf头部信息后面的N个swf初始标签;其中,N≥1,N为整数;
S34,所述处理线程定位到所述N个swf初始标签中的图片标签;然后,所述处理线程判断所述图片标签中是否包含未压缩图片数据,如果包含,则获得所述未压缩图片数据,对所述未压缩图片数据执行压缩操作,得到压缩图片数据,其中,所述压缩图片数据的分辨率为S1定义的所述指定图片分辨率,然后用所述压缩图片数据替换所述未压缩图片数据,得到新的图片标签;然后执行S35;否则,直接执行S36;
S35,所述处理线程重组所述swf头部信息、所述新的图片标签、除所述图片标签外的N-1个swf初始标签,得到不包含未压缩图片数据的swf文件,结束流程;
S36,所述处理线程重组所述swf头部信息、以及所述N个swf初始标签,重生成所述源swf文件,结束流程。
优选的,S34中,用所述压缩图片数据替换所述未压缩图片数据,之后还包括:
计算所述压缩图片数据所在图片标签的长度值,用计算得到的长度值替换所述图片标签的原始长度值,得到新的图片标签。
本发明还提供一种swf文件中图片数据批量压缩的装置,包括:
接收模块,用于接收客户端上传的X个源swf文件以及与各个所述源swf文件分别对应的指定图片分辨率;其中,X≥1,X为整数;
创建模块,用于根据当前内存状态及需要处理的所述源swf文件数量,创建Y个处理线程;
分配模块,用于将所述创建模块创建的Y个处理线程分配给所述接收模块接收到的所述X个源swf文件;其中,Y≥1,Y为整数;
控制模块,用于控制所述创建模块创建的所述处理线程对自身负责的所述源swf文件执行下列操作:所述处理线程判断自身负责的所述源swf文件中是否包含图片数据;如果不包含,则直接将所述源swf文件存储到存储设备中,然后,所述处理线程转变为空闲线程;如果包含,所述处理线程对所述图片数据进行压缩操作,使压缩后的图片分辨率为S1定义的所述指定图片分辨率,得到新的swf文件,然后将得到的所述swf文件存储到存储设备中,然后,所述处理线程转变为空闲线程;
判断模块,用于定时判断所述Y个处理线程中是否存在空闲线程;还用于当判断得到所述Y个处理线程中存在空闲线程时,进一步判断是否存在待处理源swf文件;
重分配模块,用于当所述判断模块判断得到存在待处理源swf文件时,将所述空闲线程重分配给所述待处理源swf文件;
注销模块,用于当所述判断模块判断得到不存在待处理源swf文件时,注销所述空闲线程。
本发明的有益效果如下:
本发明提供的swf文件中图片数据批量压缩的方法及装置,批量压缩swf文件中图片数据,从而有效降低swf文件的体积,减小硬盘占用空间,提高了其传播速度。而且,还具有压缩效率高的优点。
附图说明
图1为本发明提供的swf文件中图片数据批量压缩的方法的流程示意图;
图2为本发明提供的swf文件中图片数据批量压缩的装置的结构示意图。
具体实施方式
以下结合附图对本发明进行详细说明:
如图1所示,本发明提供一种swf文件中图片数据批量压缩的方法,包括以下步骤:
S1,批处理服务器接收客户端上传的X个源swf文件以及与各个所述源swf文件分别对应的指定图片分辨率;其中,X≥1,X为整数;
S2,所述批处理服务器根据当前内存状态及需要处理的所述源swf文件数量,创建Y个处理线程,然后将所述Y个处理线程分配给所述X个源swf文件;其中,Y≥1,Y为整数;
本步骤中,处理线程的数量Y小于、大于或等于源swf文件数量X,具体区分以下情况:(1)如果Y=X,例如,Y=X=5,则将5个处理线程分配给5个源swf文件,由一个处理线程负责一个源swf文件。(2)如果Y小于X,例如,Y=5,X=8,则首先由5个处理线程处理5个源swf文件,当某个处理线程处理完毕后,再处理尚未处理的3个源swf文件中的一个,最终使所有源swf文件处理完毕。(3)如果Y大于X,例如,Y=5,X=3,则可以使两个或3个线程协同处理一个源swf文件。也就是说,本发明中,对于一个源swf文件,可以由一个或多个线程同时处理,从而提高处理效率。
S3,所述批处理服务器控制所述处理线程对自身负责的所述源swf文件均执行下列操作:所述处理线程判断自身负责的所述源swf文件中是否包含图片数据;如果不包含,则直接将所述源swf文件存储到存储设备中,然后,所述处理线程转变为空闲线程;如果包含,所述处理线程对所述图片数据进行压缩操作,使压缩后的图片分辨率为S1定义的所述指定图片分辨率,得到新的swf文件,然后将得到的所述swf文件存储到存储设备中,然后,所述处理线程转变为空闲线程;
本发明中,对源swf文件处理时,对源文件压缩图片数据的操作,以及存储到存储设备中的操作,均由相同的处理线程执行,从而可以简化系统配置的复杂度,简化操作指令。
本步骤具体包括以下步骤:
S31,所述处理线程判断自身负责的所述源swf文件是否为压缩文件,如果是,则执行S32;否则,直接执行S33;
S32,所述处理线程解压缩所述源swf文件,得到解压后的源swf文件,然后执行S33;
S33,所述处理线程解析所述源swf文件,获得所述源swf文件的swf头部信息,以及位于所述swf头部信息后面的N个swf初始标签;其中,N≥1,N为整数;
S34,所述处理线程定位到所述N个swf初始标签中的图片标签;然后,所述处理线程判断所述图片标签中是否包含未压缩图片数据,如果包含,则获得所述未压缩图片数据,对所述未压缩图片数据执行压缩操作,得到压缩图片数据,其中,所述压缩图片数据的分辨率为S1定义的所述指定图片分辨率,然后用所述压缩图片数据替换所述未压缩图片数据,得到新的图片标签;然后执行S35;否则,直接执行S36;
本步骤中,还可以包括:计算所述压缩图片数据所在图片标签的长度值,用计算得到的长度值替换所述图片标签的原始长度值,得到新的图片标签。
S35,所述处理线程重组所述swf头部信息、所述新的图片标签、除所述图片标签外的N-1个swf初始标签,得到不包含未压缩图片数据的swf文件,结束流程;
S36,所述处理线程重组所述swf头部信息、以及所述N个swf初始标签,重生成所述源swf文件,结束流程。
S4,所述批处理服务器定时判断所述Y个处理线程中是否存在空闲线程,如果存在,则进一步判断是否存在待处理源swf文件;如果存在,则将所述空闲线程重分配给所述待处理源swf文件;如果不存在,则注销所述空闲线程。
如图2所示,本发明还提供一种swf文件中图片数据批量压缩的装置,包括:
接收模块,用于接收客户端上传的X个源swf文件以及与各个所述源swf文件分别对应的指定图片分辨率;其中,X≥1,X为整数;
创建模块,用于根据当前内存状态及需要处理的所述源swf文件数量,创建Y个处理线程;
分配模块,用于将所述创建模块创建的Y个处理线程分配给所述接收模块接收到的所述X个源swf文件 其中,Y≥1,Y为整数;
控制模块,用于控制所述创建模块创建的所述处理线程对自身负责的所述源swf文件执行下列操作:所述处理线程判断自身负责的所述源swf文件中是否包含图片数据;如果不包含,则直接将所述源swf文件存储到存储设备中,然后,所述处理线程转变为空闲线程;如果包含,所述处理线程对所述图片数据进行压缩操作,使压缩后的图片分辨率为S1定义的所述指定图片分辨率,得到新的swf文件,然后将得到的所述swf文件存储到存储设备中,然后,所述处理线程转变为空闲线程;
判断模块,用于定时判断所述Y个处理线程中是否存在空闲线程;还用于当判断得到所述Y个处理线程中存在空闲线程时,进一步判断是否存在待处理源swf文件;
重分配模块,用于当所述判断模块判断得到存在待处理源swf文件时,将所述空闲线程重分配给所述待处理源swf文件;
注销模块,用于当所述判断模块判断得到不存在待处理源swf文件时,注销所述空闲线程。
本发明提供的swf文件中图片数据批量压缩的方法及装置,批量压缩swf文件中图片数据,从而有效降低swf文件的体积,减小硬盘占用空间,提高了其传播速度。而且,还具有压缩效率高的优点。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
Claims (4)
1.一种swf文件中图片数据批量压缩的方法,其特征在于,包括以下步骤:
S1,批处理服务器接收客户端上传的X个源swf文件以及与各个所述源swf文件分别对应的指定图片分辨率;其中,X≥1,X为整数;
S2,所述批处理服务器根据当前内存状态及需要处理的所述源swf文件数量,创建Y个处理线程,然后将所述Y个处理线程分配给所述X个源swf文件;其中,Y≥1,Y为整数;
S3,所述批处理服务器控制所述处理线程对自身负责的所述源swf文件均执行下列操作:所述处理线程判断自身负责的所述源swf文件中是否包含图片数据;如果不包含,则直接将所述源swf文件存储到存储设备中,然后,所述处理线程转变为空闲线程;如果包含,所述处理线程对所述图片数据进行压缩操作,使压缩后的图片分辨率为S1定义的所述指定图片分辨率,得到新的swf文件,然后将得到的所述swf文件存储到存储设备中,然后,所述处理线程转变为空闲线程;
S4,所述批处理服务器定时判断所述Y个处理线程中是否存在空闲线程,如果存在,则进一步判断是否存在待处理源swf文件;如果存在,则将所述空闲线程重分配给所述待处理源swf文件;如果不存在,则注销所述空闲线程。
2.根据权利要求1所述的swf文件中图片数据批量压缩的方法,其特征在于,S3具体包括以下步骤:
S31,所述处理线程判断自身负责的所述源swf文件是否为压缩文件,如果是,则执行S32;否则,直接执行S33;
S32,所述处理线程解压缩所述源swf文件,得到解压后的源swf文件,然后执行S33;
S33,所述处理线程解析所述源swf文件,获得所述源swf文件的swf头部信息,以及位于所述swf头部信息后面的N个swf初始标签;其中,N≥1,N为整数;
S34,所述处理线程定位到所述N个swf初始标签中的图片标签;然后,所述处理线程判断所述图片标签中是否包含未压缩图片数据,如果包含,则获得所述未压缩图片数据,对所述未压缩图片数据执行压缩操作,得到压缩图片数据,其中,所述压缩图片数据的分辨率为S1定义的所述指定图片分辨率,然后用所述压缩图片数据替换所述未压缩图片数据,得到新的图片标签;然后执行S35;否则,直接执行S36;
S35,所述处理线程重组所述swf头部信息、所述新的图片标签、除所述图片标签外的N-1个swf初始标签,得到不包含未压缩图片数据的swf文件,结束流程;
S36,所述处理线程重组所述swf头部信息、以及所述N个swf初始标签,重生成所述源swf文件,结束流程。
3.根据权利要求2所述的swf文件中图片数据批量压缩的方法,其特征在于,S34中,用所述压缩图片数据替换所述未压缩图片数据,之后还包括:
计算所述压缩图片数据所在图片标签的长度值,用计算得到的长度值替换所述图片标签的原始长度值,得到新的图片标签。
4.一种swf文件中图片数据批量压缩的装置,其特征在于,包括:
接收模块,用于接收客户端上传的X个源swf文件以及与各个所述源swf文件分别对应的指定图片分辨率;其中,X≥1,X为整数;
创建模块,用于根据当前内存状态及需要处理的所述源swf文件数量,创建Y个处理线程;
分配模块,用于将所述创建模块创建的Y个处理线程分配给所述接收模块接收到的所述X个源swf文件;其中,Y≥1,Y为整数;
控制模块,用于控制所述创建模块创建的所述处理线程对自身负责的所述源swf文件执行下列操作:所述处理线程判断自身负责的所述源swf文件中是否包含图片数据;如果不包含,则直接将所述源swf文件存储到存储设备中,然后,所述处理线程转变为空闲线程;如果包含,所述处理线程对所述图片数据进行压缩操作,使压缩后的图片分辨率为S1定义的所述指定图片分辨率,得到新的swf文件,然后将得到的所述swf文件存储到存储设备中,然后,所述处理线程转变为空闲线程;
判断模块,用于定时判断所述Y个处理线程中是否存在空闲线程;还用于当判断得到所述Y个处理线程中存在空闲线程时,进一步判断是否存在待处理源swf文件;
重分配模块,用于当所述判断模块判断得到存在待处理源swf文件时,将所述空闲线程重分配给所述待处理源swf文件;
注销模块,用于当所述判断模块判断得到不存在待处理源swf文件时,注销所述空闲线程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310168411.7A CN103268619B (zh) | 2013-05-09 | 2013-05-09 | swf文件中图片数据批量压缩的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310168411.7A CN103268619B (zh) | 2013-05-09 | 2013-05-09 | swf文件中图片数据批量压缩的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103268619A true CN103268619A (zh) | 2013-08-28 |
CN103268619B CN103268619B (zh) | 2016-03-30 |
Family
ID=49012246
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310168411.7A Active CN103268619B (zh) | 2013-05-09 | 2013-05-09 | swf文件中图片数据批量压缩的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103268619B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104660267A (zh) * | 2013-11-20 | 2015-05-27 | 腾讯科技(上海)有限公司 | 文件压缩的方法及装置 |
CN110515797A (zh) * | 2019-07-31 | 2019-11-29 | 广东浪潮大数据研究有限公司 | 一种数据处理方法、装置、设备及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101470893A (zh) * | 2007-12-26 | 2009-07-01 | 中国科学院声学研究所 | 一种基于位图缓存的矢量图形显示的加速方法 |
CN101916276A (zh) * | 2010-08-13 | 2010-12-15 | 北京新岸线网络技术有限公司 | 一种改善富媒体文件在网络中发布的方法、装置及服务器 |
US20110128403A1 (en) * | 2000-01-21 | 2011-06-02 | Lightsurf Technologies, Inc. | Digital Camera Device Providing Improved Methodology for Rapidly Taking Successive Pictures |
CN102508851A (zh) * | 2011-09-27 | 2012-06-20 | 深圳市五巨科技有限公司 | 一种图片上传的处理方法及系统 |
-
2013
- 2013-05-09 CN CN201310168411.7A patent/CN103268619B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110128403A1 (en) * | 2000-01-21 | 2011-06-02 | Lightsurf Technologies, Inc. | Digital Camera Device Providing Improved Methodology for Rapidly Taking Successive Pictures |
CN101470893A (zh) * | 2007-12-26 | 2009-07-01 | 中国科学院声学研究所 | 一种基于位图缓存的矢量图形显示的加速方法 |
CN101916276A (zh) * | 2010-08-13 | 2010-12-15 | 北京新岸线网络技术有限公司 | 一种改善富媒体文件在网络中发布的方法、装置及服务器 |
CN102508851A (zh) * | 2011-09-27 | 2012-06-20 | 深圳市五巨科技有限公司 | 一种图片上传的处理方法及系统 |
Non-Patent Citations (1)
Title |
---|
刘新强,曾兵义: "用线程池解决服务器并发请求的方案设计", 《现代电子技术》, vol. 34, no. 15, 1 August 2011 (2011-08-01) * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104660267A (zh) * | 2013-11-20 | 2015-05-27 | 腾讯科技(上海)有限公司 | 文件压缩的方法及装置 |
CN104660267B (zh) * | 2013-11-20 | 2019-04-12 | 腾讯科技(上海)有限公司 | 文件压缩的方法及装置 |
CN110515797A (zh) * | 2019-07-31 | 2019-11-29 | 广东浪潮大数据研究有限公司 | 一种数据处理方法、装置、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103268619B (zh) | 2016-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105338358B (zh) | 对图像进行解码的方法及装置 | |
CN106453572B (zh) | 基于云服务器同步图像的方法及系统 | |
CN106846495B (zh) | 实现增强现实的方法与装置 | |
CN108900843B (zh) | 单色图像压缩方法、装置、介质及电子设备 | |
CN102023973A (zh) | 一种应用缓存服务器与数据库同步的方法、装置和系统 | |
CN103514241A (zh) | 图片加载方法及系统 | |
CN103391442A (zh) | 一种基于区域划分、差异比较的视频图像快速传输压缩算法 | |
CN104572084B (zh) | 卡片业务中用户界面生成及数据下发方法、装置 | |
CN105550246A (zh) | Android平台下加载网络图片的系统及方法 | |
CN104243923A (zh) | 一种图片处理及图片预览的方法及系统 | |
US20190114989A1 (en) | Systems and methods for image optimization | |
CN103402089A (zh) | 一种基于宏块技术的虚拟桌面图像压缩方法 | |
WO2016033060A1 (en) | Data limit aware content rendering | |
CN106598523A (zh) | 图片加载方法、装置及电子设备 | |
CN103699652A (zh) | 一种访问网页的方法和系统 | |
CN103646115A (zh) | 一种用于客户端访问网页的方法和系统 | |
CN104408178A (zh) | Web控件加载装置和方法 | |
CN103677930A (zh) | 基于拼墙系统的gis数据加载方法及装置 | |
US8553999B2 (en) | Method and system for providing tile map service using solid compression | |
CN103955713A (zh) | 一种图标识别方法和装置 | |
CN103268619A (zh) | swf文件中图片数据批量压缩的方法及装置 | |
JP6323461B2 (ja) | サーバ装置、クライアント装置、情報処理方法および記録媒体 | |
CN106547595A (zh) | 一种ui资源加载方法和系统 | |
CN103544221A (zh) | 一种Android系统中视频缩略图的生成方法和系统 | |
WO2012165066A1 (ja) | 画像配信サーバ及び画像配信制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |