本發(fā)明屬于計(jì)算機(jī)技術(shù)領(lǐng)域,具體涉及一種swf文件中防導(dǎo)入密碼鎖批量替換的方法及裝置。
背景技術(shù):swf(shockwaveflash)是動(dòng)畫設(shè)計(jì)軟件Flash的專用格式,是一種支持矢量和點(diǎn)陣圖形的動(dòng)畫文件格式,被廣泛應(yīng)用于網(wǎng)頁設(shè)計(jì)、動(dòng)畫制作等領(lǐng)域?,F(xiàn)有技術(shù)中,發(fā)布到網(wǎng)站上的flash游戲常常被加有防導(dǎo)入密碼鎖,從而限制無法對flash游戲進(jìn)行修改或改進(jìn),因此,非常不方便玩家進(jìn)行flash游戲,限制了flash游戲的推廣。
技術(shù)實(shí)現(xiàn)要素:針對現(xiàn)有技術(shù)存在的缺陷,本發(fā)明提供一種swf文件中防導(dǎo)入密碼鎖批量替換的方法及裝置,能夠批量替換多個(gè)swf文件中的防導(dǎo)入密碼鎖,具有防導(dǎo)入密碼鎖替換效率高的優(yōu)點(diǎn)。本發(fā)明采用的技術(shù)方案如下:本發(fā)明提供一種swf文件中防導(dǎo)入密碼鎖批量替換的方法,包括以下步驟:S1,批處理服務(wù)器接收客戶端上傳的X個(gè)源swf文件以及需要向所述源swf文件中添加的防導(dǎo)入密碼鎖;其中,X≥1,X為整數(shù);S2,所述批處理服務(wù)器根據(jù)當(dāng)前內(nèi)存狀態(tài)及需要處理的所述源swf文件數(shù)量,創(chuàng)建Y個(gè)處理線程,然后將所述Y個(gè)處理線程分配給所述X個(gè)源swf文件;其中,Y≥1,Y為整數(shù);S3,所述批處理服務(wù)器控制所述處理線程對自身負(fù)責(zé)的所述源swf文件均執(zhí)行下列操作:所述處理線程判斷自身負(fù)責(zé)的所述源swf文件中是否包含原始防導(dǎo)入密碼鎖;如果不包含,則向所述源swf文件中加入與所述源swf文件對應(yīng)的所述防導(dǎo)入密碼鎖信息,得到包含防導(dǎo)入密碼鎖的swf文件,然后將該包含防導(dǎo)入密碼鎖的swf文件存儲(chǔ)到存儲(chǔ)設(shè)備中,然后,所述處理線程轉(zhuǎn)變?yōu)榭臻e線程;如果包含,則用S1接收到的所述防導(dǎo)入密碼鎖替換所述原始防導(dǎo)入密碼鎖,得到包含防導(dǎo)入密碼鎖的swf文件,然后將該包含防導(dǎo)入密碼鎖的swf文件存儲(chǔ)到存儲(chǔ)設(shè)備中,然后,所述處理線程轉(zhuǎn)變?yōu)榭臻e線程;S4,所述批處理服務(wù)器定時(shí)判斷所述Y個(gè)處理線程中是否存在空閑線程,如果存在,則進(jìn)一步判斷是否存在待處理源swf文件;如果存在,則將所述空閑線程重分配給所述待處理源swf文件;如果不存在,則注銷所述空閑線程。優(yōu)選的,S3具體包括以下步驟:S31,所述處理線程判斷自身負(fù)責(zé)的所述源swf文件是否為壓縮文件,如果是,則執(zhí)行S32;否則,直接執(zhí)行S33;S32,所述處理線程解壓縮所述源swf文件,得到解壓后的源swf文件,然后執(zhí)行S33;S33,所述處理線程解析所述源swf文件,獲得所述源swf文件的swf頭部信息,以及位于所述swf頭部信息后面的N個(gè)swf初始標(biāo)簽;其中,N≥1,N為整數(shù);S34,所述處理線程判斷所述N個(gè)swf初始標(biāo)簽中是否包含swf保護(hù)標(biāo)簽;如果包含,則定位到所述swf保護(hù)標(biāo)簽中的數(shù)據(jù)體部分,獲得所述原始防導(dǎo)入密碼鎖,然后用S1接收到的所述防導(dǎo)入密碼鎖替換所述原始防導(dǎo)入密碼鎖,得到包含防導(dǎo)入密碼鎖的swf文件;然后執(zhí)行S35;否則,生成新的swf保護(hù)標(biāo)簽,然后將S1接收到的所述防導(dǎo)入密碼鎖寫入所述新的swf保護(hù)標(biāo)簽,生成最終的swf保護(hù)標(biāo)簽;然后執(zhí)行S36;S35,所述處理線程重組所述swf頭部信息、以及N個(gè)swf標(biāo)簽,得到包含防導(dǎo)入密碼鎖的swf文件,結(jié)束流程;S36,所述處理線程重組所述swf頭部信息、所述N個(gè)swf初始標(biāo)簽以及所述最終的swf保護(hù)標(biāo)簽,生成包含防導(dǎo)入密碼鎖的swf文件,結(jié)束流程。優(yōu)選的,所述swf保護(hù)標(biāo)簽為ProtectTAG。本發(fā)明還提供一種swf文件中防導(dǎo)入密碼鎖批量替換的裝置,包括:接收模塊,用于接收客戶端上傳的X個(gè)源swf文件以及需要向所述源swf文件中添加的防導(dǎo)入密碼鎖;其中,X≥1,X為整數(shù);創(chuàng)建模塊,用于根據(jù)當(dāng)前內(nèi)存狀態(tài)及需要處理的所述源swf文件數(shù)量,創(chuàng)建Y個(gè)處理線程;分配模塊,用于將所述創(chuàng)建模塊創(chuàng)建的Y個(gè)處理線程分配給所述接收模塊接收到的所述X個(gè)源swf文件;其中,Y≥1,Y為整數(shù);控制模塊,用于控制所述創(chuàng)建模塊創(chuàng)建的所述處理線程對自身負(fù)責(zé)的所述源swf文件執(zhí)行下列操作:所述處理線程判斷自身負(fù)責(zé)的所述源swf文件中是否包含原始防導(dǎo)入密碼鎖;如果不包含,則向所述源swf文件中加入與所述源swf文件對應(yīng)的所述防導(dǎo)入密碼鎖信息,得到包含防導(dǎo)入密碼鎖的swf文件,然后將該包含防導(dǎo)入密碼鎖的swf文件存儲(chǔ)到存儲(chǔ)設(shè)備中,然后,所述處理線程轉(zhuǎn)變?yōu)榭臻e線程;如果包含,則用S1接收到的所述防導(dǎo)入密碼鎖替換所述原始防導(dǎo)入密碼鎖,得到包含防導(dǎo)入密碼鎖的swf文件,然后將該包含防導(dǎo)入密碼鎖的swf文件存儲(chǔ)到存儲(chǔ)設(shè)備中,然后,所述處理線程轉(zhuǎn)變?yōu)榭臻e線程;判斷模塊,用于定時(shí)判斷所述Y個(gè)處理線程中是否存在空閑線程;還用于當(dāng)判斷得到所述Y個(gè)處理線程中存在空閑線程時(shí),進(jìn)一步判斷是否存在待處理源swf文件;重分配模塊,用于當(dāng)所述判斷模塊判斷得到存在待處理源swf文件時(shí),將所述空閑線程重分配給所述待處理源swf文件;注銷模塊,用于當(dāng)所述判斷模塊判斷得到不存在待處理源swf文件時(shí),注銷所述空閑線程。本發(fā)明的有益效果如下:本發(fā)明提供一種swf文件中防導(dǎo)入密碼鎖批量替換的方法及裝置,能夠批量替換多個(gè)swf文件中的防導(dǎo)入密碼鎖,具有防導(dǎo)入密碼鎖替換效率高的優(yōu)點(diǎn)。附圖說明圖1為本發(fā)明提供的swf文件中防導(dǎo)入密碼鎖批量替換的方法流程示意圖;圖2為本發(fā)明提供的swf文件中防導(dǎo)入密碼鎖批量替換的裝置結(jié)構(gòu)示意圖。具體實(shí)施方式以下結(jié)合附圖對本發(fā)明進(jìn)行詳細(xì)說明:如圖1所示,本發(fā)明提供一種swf文件中防導(dǎo)入密碼鎖批量替換的方法,包括以下步驟:S1,批處理服務(wù)器接收客戶端上傳的X個(gè)源swf文件以及需要向所述源swf文件中添加的防導(dǎo)入密碼鎖;其中,X≥1,X為整數(shù);S2,所述批處理服務(wù)器根據(jù)當(dāng)前內(nèi)存狀態(tài)及需要處理的所述源swf文件數(shù)量,創(chuàng)建Y個(gè)處理線程,然后將所述Y個(gè)處理線程分配給所述X個(gè)源swf文件;其中,Y≥1,Y為整數(shù);本步驟中,處理線程的數(shù)量Y小于、大于或等于源swf文件數(shù)量X,具體區(qū)分以下情況:(1)如果Y=X,例如,Y=X=5,則將5個(gè)處理線程分配給5個(gè)源swf文件,由一個(gè)處理線程負(fù)責(zé)一個(gè)源swf文件。(2)如果Y小于X,例如,Y=5,X=8,則首先由5個(gè)處理線程處理5個(gè)源swf文件,當(dāng)某個(gè)處理線程處理完畢后,再處理尚未處理的3個(gè)源swf文件中的一個(gè),最終使所有源swf文件處理完畢。(3)如果Y大于X,例如,Y=5,X=3,則可以使兩個(gè)或3個(gè)線程協(xié)同處理一個(gè)源swf文件。也就是說,本發(fā)明中,對于一個(gè)源swf文件,可以由一個(gè)或多個(gè)線程同時(shí)處理,從而提高處理效率。S3,所述批處理服務(wù)器控制所述處理線程對自身負(fù)責(zé)的所述源swf文件均執(zhí)行下列操作:所述處理線程判斷自身負(fù)責(zé)的所述源swf文件中是否包含原始防導(dǎo)入密碼鎖;如果不包含,則向所述源swf文件中加入與所述源swf文件對應(yīng)的所述防導(dǎo)入密碼鎖信息,得到包含防導(dǎo)入密碼鎖的swf文件,然后將該包含防導(dǎo)入密碼鎖的swf文件存儲(chǔ)到存儲(chǔ)設(shè)備中,然后,所述處理線程轉(zhuǎn)變?yōu)榭臻e線程;如果包含,則用S1接收到的所述防導(dǎo)入密碼鎖替換所述原始防導(dǎo)入密碼鎖,得到包含防導(dǎo)入密碼鎖的swf文件,然后將該包含防導(dǎo)入密碼鎖的swf文件存儲(chǔ)到存儲(chǔ)設(shè)備中,然后,所述處理線程轉(zhuǎn)變?yōu)榭臻e線程;本發(fā)明中,對源swf文件處理時(shí),對源文件替換防導(dǎo)入密碼鎖的操作,以及存儲(chǔ)到存儲(chǔ)設(shè)備中的操作,均由相同的處理線程執(zhí)行,從而可以簡化系統(tǒng)配置的復(fù)雜度,簡化操作指令。具體的,本步驟包括以下步驟:S31,所述處理線程判斷自身負(fù)責(zé)的所述源swf文件是否為壓縮文件,如果是,則執(zhí)行S32;否則,直接執(zhí)行S33;S32,所述處理線程解壓縮所述源swf文件,得到解壓后的源swf文件,然后執(zhí)行S33;S33,所述處理線程解析所述源swf文件,獲得所述源swf文件的swf頭部信息,以及位于所述swf頭部信息后面的N個(gè)swf初始標(biāo)簽;其中,N≥1,N為整數(shù);S34,所述處理線程判斷所述N個(gè)swf初始標(biāo)簽中是否包含swf保護(hù)標(biāo)簽;如果包含,則定位到所述swf保護(hù)標(biāo)簽中的數(shù)據(jù)體部分,獲得所述原始防導(dǎo)入密碼鎖,然后用S1接收到的所述防導(dǎo)入密碼鎖替換所述原始防導(dǎo)入密碼鎖,得到包含防導(dǎo)入密碼鎖的swf文件;然后執(zhí)行S35;否則,生成新的swf保護(hù)標(biāo)簽,然后將S1接收到的所述防導(dǎo)入密碼鎖寫入所述新的swf保護(hù)標(biāo)簽,生成最終的swf保護(hù)標(biāo)簽;然后執(zhí)行S36;其中,swf保護(hù)標(biāo)簽可以為ProtectTAG。S35,所述處理線程重組所述swf頭部信息、以及N個(gè)swf標(biāo)簽,得到包含防導(dǎo)入密碼鎖的swf文件,結(jié)束流程;S36,所述處理線程重組所述swf頭部信息、所述N個(gè)swf初始標(biāo)簽以及所述最終的swf保護(hù)標(biāo)簽,生成包含防導(dǎo)入密碼鎖的swf文件,結(jié)束流程。S4,所述批處理服務(wù)器定時(shí)判斷所述Y個(gè)處理線程中是否存在空閑線程,如果存在,則進(jìn)一步判斷是否存在待處理源swf文件;如果存在,則將所述空閑線程重分配給所述待處理源swf文件;如果不存在,則注銷所述空閑線程。如圖2所示,本發(fā)明還提供一種防導(dǎo)入密碼鎖批量替換的裝置,包括:接收模塊,用于接收客戶端上傳的X個(gè)源swf文件以及需要向所述源swf文件中添加的防導(dǎo)入密碼鎖;其中,X≥1,X為整數(shù);創(chuàng)建模塊,用于根據(jù)當(dāng)前內(nèi)存狀態(tài)及需要處理的所述源swf文件數(shù)量,創(chuàng)建Y個(gè)處理線程;分配模塊,用于將所述創(chuàng)建模塊創(chuàng)建的Y個(gè)處理線程分配給所述接收模塊接收到的所述X個(gè)源swf文件;其中,Y≥1,Y為整數(shù);控制模塊,用于控制所述創(chuàng)建模塊創(chuàng)建的所述處理線程對自身負(fù)責(zé)的所述源swf文件執(zhí)行下列操作:所述處理線程判斷自身負(fù)責(zé)的所述源swf文件中是否包含原始防導(dǎo)入密碼鎖;如果不包含,則向所述源swf文件中加入與所述源swf文件對應(yīng)的所述防導(dǎo)入密碼鎖信息,得到包含防導(dǎo)入密碼鎖的swf文件,然后將該包含防導(dǎo)入密碼鎖的swf文件存儲(chǔ)到存儲(chǔ)設(shè)備中,然后,所述處理線程轉(zhuǎn)變?yōu)榭臻e線程;如果包含,則用S1接收到的所述防導(dǎo)入密碼鎖替換所述原始防導(dǎo)入密碼鎖,得到包含防導(dǎo)入密碼鎖的swf文件,然后將該包含防導(dǎo)入密碼鎖的swf文件存儲(chǔ)到存儲(chǔ)設(shè)備中,然后,所述處理線程轉(zhuǎn)變?yōu)榭臻e線程;判斷模塊,用于定時(shí)判斷所述Y個(gè)處理線程中是否存在空閑線程;還用于當(dāng)判斷得到所述Y個(gè)處理線程中存在空閑線程時(shí),進(jìn)一步判斷是否存在待處理源swf文件;重分配模塊,用于當(dāng)所述判斷模塊判斷得到存在待處理源swf文件時(shí),將所述空閑線程重分配給所述待處理源swf文件;注銷模塊,用于當(dāng)所述判斷模塊判斷得到不存在待處理源swf文件時(shí),注銷所述空閑線程。本發(fā)明提供的swf文件中防導(dǎo)入密碼鎖批量替換的方法及裝置,通過用戶自定義的密碼鎖替換swf文件中原始密碼鎖,并且,能夠批量替換多個(gè)swf文件中的防導(dǎo)入密碼鎖,具有防導(dǎo)入密碼鎖替換效率高的優(yōu)點(diǎn)。以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視本發(fā)明的保護(hù)范圍。