CN103268619A - swf文件中图片数据批量压缩的方法及装置 - Google Patents

swf文件中图片数据批量压缩的方法及装置 Download PDF

Info

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
Application number
CN2013101684117A
Other languages
English (en)
Other versions
CN103268619B (zh
Inventor
程思敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
4399 NETWORK Co Ltd
Original Assignee
4399 NETWORK Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 4399 NETWORK Co Ltd filed Critical 4399 NETWORK Co Ltd
Priority to CN201310168411.7A priority Critical patent/CN103268619B/zh
Publication of CN103268619A publication Critical patent/CN103268619A/zh
Application granted granted Critical
Publication of CN103268619B publication Critical patent/CN103268619B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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文件中图片数据批量压缩的方法及装置。
背景技术
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文件时,注销所述空闲线程。
CN201310168411.7A 2013-05-09 2013-05-09 swf文件中图片数据批量压缩的方法及装置 Active CN103268619B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 深圳市五巨科技有限公司 一种图片上传的处理方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
刘新强,曾兵义: "用线程池解决服务器并发请求的方案设计", 《现代电子技术》, vol. 34, no. 15, 1 August 2011 (2011-08-01) *

Cited By (3)

* Cited by examiner, † Cited by third party
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