本申請(qǐng)涉及代碼開(kāi)發(fā)技術(shù)領(lǐng)域,特別涉及一種代碼處理方法和裝置。
背景技術(shù):
隨著計(jì)算機(jī)技術(shù)的快速發(fā)展,依托計(jì)算機(jī)設(shè)備來(lái)使用的軟件數(shù)量也不斷增加,這些軟件所集成的功能越來(lái)越豐富,但豐富的功能也導(dǎo)致軟件代碼體積不斷增加,這對(duì)軟件后續(xù)的上傳、下載及加載等使用過(guò)程均產(chǎn)生不利影響。因此,如何在保證軟件功能足夠豐富的基礎(chǔ)上控制軟件代碼的體積,已經(jīng)成為業(yè)內(nèi)關(guān)注的重點(diǎn)。
現(xiàn)有的代碼開(kāi)發(fā)過(guò)程中,無(wú)論是軟件的系統(tǒng)代碼還是依托軟件所使用的腳本代碼,一般會(huì)將多個(gè)用以實(shí)現(xiàn)某種功能的代碼文件進(jìn)行合并來(lái)得到集成這些功能的、且允許被導(dǎo)入的業(yè)務(wù)模塊,后續(xù)依照功能需求將這些業(yè)務(wù)模塊導(dǎo)入至當(dāng)前編寫(xiě)的目標(biāo)代碼內(nèi),使得目標(biāo)代碼直接具備該業(yè)務(wù)模塊的功能,由于這種做法能夠有效提高代碼開(kāi)發(fā)效率,已成為業(yè)內(nèi)常用的手段。
然而,現(xiàn)有技術(shù)中,在將所需業(yè)務(wù)模塊導(dǎo)入至目標(biāo)代碼后,可能出現(xiàn)某個(gè)業(yè)務(wù)模塊中僅有部分功能的代碼文件是該目標(biāo)代碼使用過(guò)程中真正需要的,而另外功能的代碼文件并非該目標(biāo)代碼使用所需要,這些非必需的代碼文件則形成冗余,這些冗余文件造成目標(biāo)代碼體積額外增加,影響其后續(xù)使用。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)實(shí)施例的目的是提供一種代碼處理的方法及裝置,用以解決現(xiàn)有技術(shù)中出現(xiàn)冗余文件而導(dǎo)致目標(biāo)代碼體積額外增加的問(wèn)題。
為解決上述技術(shù)問(wèn)題,本申請(qǐng)實(shí)施例提供一種代碼處理的方法,包括:
在目標(biāo)代碼內(nèi)確定出文件導(dǎo)入語(yǔ)句,所述文件導(dǎo)入語(yǔ)句用于導(dǎo)入待導(dǎo)入文 件;
在所述目標(biāo)代碼內(nèi)確定出與所述文件導(dǎo)入語(yǔ)句相對(duì)應(yīng)的文件調(diào)用語(yǔ)句,所述文件調(diào)用語(yǔ)句用于調(diào)用所述待導(dǎo)入文件中的待調(diào)用文件;
采用所述相對(duì)應(yīng)的文件調(diào)用語(yǔ)句中的待調(diào)用文件的標(biāo)識(shí),替換所述文件導(dǎo)入語(yǔ)句中的待導(dǎo)入文件的標(biāo)識(shí)。
為解決上述技術(shù)問(wèn)題,本申請(qǐng)實(shí)施例提供一種代碼處理的裝置,包括:
導(dǎo)入語(yǔ)句確定模塊,用于在目標(biāo)代碼內(nèi)確定出文件導(dǎo)入語(yǔ)句,所述文件導(dǎo)入語(yǔ)句用于導(dǎo)入待導(dǎo)入文件;
調(diào)用語(yǔ)句確定模塊,用于在所述目標(biāo)代碼內(nèi)確定出與所述文件導(dǎo)入語(yǔ)句相對(duì)應(yīng)的文件調(diào)用語(yǔ)句,所述文件調(diào)用語(yǔ)句用于調(diào)用所述待導(dǎo)入文件中的待調(diào)用文件;
文件替換模塊,用于采用所述相對(duì)應(yīng)的文件調(diào)用語(yǔ)句中的待調(diào)用文件的標(biāo)識(shí),替換所述文件導(dǎo)入語(yǔ)句中的待導(dǎo)入文件的標(biāo)識(shí)。
由以上本申請(qǐng)實(shí)施例提供的技術(shù)方案可見(jiàn),本申請(qǐng)實(shí)施例所提供的代碼處理方法和裝置,通過(guò)文件調(diào)用語(yǔ)句內(nèi)待調(diào)用文件替換相對(duì)應(yīng)的文件導(dǎo)入語(yǔ)句內(nèi)待導(dǎo)入文件,使得被替換后的文件導(dǎo)入語(yǔ)句被執(zhí)行時(shí),會(huì)導(dǎo)入后續(xù)真正被調(diào)用的文件,使得文件導(dǎo)入語(yǔ)句所導(dǎo)入的文件是編程人員真正需要調(diào)用的,避免了由于導(dǎo)入不需要被調(diào)用的冗余文件導(dǎo)致目標(biāo)代碼體積額外增加,保證其后續(xù)正常使用。
附圖說(shuō)明
為了更清楚地說(shuō)明本申請(qǐng)實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本申請(qǐng)中記載的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本申請(qǐng)一實(shí)施例中代碼處理方法的過(guò)程。
圖2為本申請(qǐng)一實(shí)施例中代碼處理方法內(nèi)在所述目標(biāo)代碼內(nèi)確定出與所述 文件導(dǎo)入語(yǔ)句相對(duì)應(yīng)的文件調(diào)用語(yǔ)句的具體過(guò)程。
圖3為本申請(qǐng)另一實(shí)施例中代碼處理方法的過(guò)程。
圖4為本申請(qǐng)一實(shí)施例中代碼處理裝置的結(jié)構(gòu)。
具體實(shí)施方式
本申請(qǐng)實(shí)施例提供一種代碼處理方法及裝置。
為了使本技術(shù)領(lǐng)域的人員更好地理解本申請(qǐng)中的技術(shù)方案,下面將結(jié)合本申請(qǐng)實(shí)施例中的附圖,對(duì)本申請(qǐng)實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本申請(qǐng)一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾?qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本申請(qǐng)保護(hù)的范圍。
本申請(qǐng)實(shí)施例中的代碼處理方法通過(guò)對(duì)目標(biāo)代碼進(jìn)行處理,解決了現(xiàn)有技術(shù)中可能出現(xiàn)由于導(dǎo)入冗余文件而導(dǎo)致目標(biāo)代碼體積額外增加的問(wèn)題,以下結(jié)合附圖詳細(xì)描述本方法。
本申請(qǐng)實(shí)施例中的代碼處理方法所針對(duì)目標(biāo)代碼可以是軟件的系統(tǒng)代碼,也可以是依托軟件使用的腳本代碼等,目標(biāo)代碼所基于的編程語(yǔ)音也可為c++、java、javascript等,此均為本領(lǐng)域普通技術(shù)人員所熟知的技術(shù),在此不做贅述。
圖1為本申請(qǐng)第一實(shí)施例中代碼處理方法的過(guò)程,該方法的執(zhí)行主體可以是程序人員用于編寫(xiě)目標(biāo)代碼的計(jì)算機(jī)設(shè)備,也可以是用于存儲(chǔ)目標(biāo)代碼的服務(wù)器等;該代碼處理方法可以包括如下步驟。
s20、在目標(biāo)代碼內(nèi)確定出文件導(dǎo)入語(yǔ)句,所述文件導(dǎo)入語(yǔ)句用于導(dǎo)入待導(dǎo)入文件。
隨著代碼開(kāi)發(fā)技術(shù)的日益成熟,眾多編程語(yǔ)言均有引入其他既有的代碼文件的文件導(dǎo)入語(yǔ)法規(guī)則,文件導(dǎo)入語(yǔ)句用于泛指符合各編程語(yǔ)言?xún)?nèi)文件導(dǎo)入語(yǔ)法規(guī)則的代碼行。通過(guò)文件導(dǎo)入語(yǔ)句可以實(shí)現(xiàn)將至少一個(gè)實(shí)現(xiàn)預(yù)設(shè)功能的待導(dǎo)入文件導(dǎo)入至目標(biāo)代碼內(nèi),使得目標(biāo)代碼能夠具有這些待導(dǎo)入文件的功能,提 高提高編程效率。
待導(dǎo)入文件均是被標(biāo)識(shí)了“允許被導(dǎo)入”的狀態(tài)的文件,文件導(dǎo)入語(yǔ)句內(nèi)攜帶有待導(dǎo)入文件的標(biāo)識(shí),在文件導(dǎo)入語(yǔ)句被執(zhí)行時(shí),則會(huì)根據(jù)其中待導(dǎo)入文件的標(biāo)識(shí)確定出待導(dǎo)入文件的位置,進(jìn)而將該待導(dǎo)入文件導(dǎo)入至目標(biāo)代碼內(nèi)。
從文件構(gòu)成維度,待導(dǎo)入文件可以已經(jīng)標(biāo)識(shí)為“允許被導(dǎo)入”狀態(tài)的單個(gè)用于實(shí)現(xiàn)某種預(yù)設(shè)功能的代碼文件,也可以是由多個(gè)被標(biāo)識(shí)過(guò)的、實(shí)現(xiàn)不同種預(yù)設(shè)功能的代碼文件組成的業(yè)務(wù)模塊。
從文件類(lèi)型維度,待導(dǎo)入文件可以是已經(jīng)標(biāo)識(shí)為“允許被導(dǎo)入”狀態(tài)的待導(dǎo)入對(duì)象文件或待導(dǎo)入函數(shù)文件,待導(dǎo)入對(duì)象文件表明待導(dǎo)入文件為對(duì)象類(lèi)型,而待導(dǎo)入函數(shù)文件則表明待導(dǎo)入文件為函數(shù)類(lèi)型。
本申請(qǐng)實(shí)施例中,文件導(dǎo)入語(yǔ)句除攜帶有待導(dǎo)入文件的標(biāo)識(shí),還攜帶有既定目標(biāo)文件的標(biāo)識(shí),既定目標(biāo)文件用于描述目標(biāo)代碼真實(shí)導(dǎo)入需求,既定目標(biāo)文件即由編程人員所指定的位于待導(dǎo)入文件內(nèi)的實(shí)現(xiàn)預(yù)設(shè)功能的代碼文件。
既定目標(biāo)文件一般位于待導(dǎo)入文件內(nèi),例如待導(dǎo)入文件是由多個(gè)代碼文件組成的業(yè)務(wù)模塊時(shí),既定目標(biāo)文件可以是業(yè)務(wù)模塊中至少一個(gè)代碼文件,而待導(dǎo)入文件是單個(gè)代碼文件時(shí),既定目標(biāo)文件即為該待導(dǎo)入文件本身。
本申請(qǐng)實(shí)施例中,可以根據(jù)目標(biāo)代碼所適用的語(yǔ)法規(guī)則對(duì)文件導(dǎo)入語(yǔ)句設(shè)定正則表達(dá)式,進(jìn)而基于所設(shè)定的正則表達(dá)式對(duì)目標(biāo)代碼進(jìn)行掃描,從而確定出位于目標(biāo)代碼內(nèi)的所有文件導(dǎo)入語(yǔ)句。正則表達(dá)式的具體構(gòu)建過(guò)程,可以針對(duì)不同編程語(yǔ)言下文件導(dǎo)入語(yǔ)句的代碼構(gòu)成進(jìn)行預(yù)設(shè),此為本領(lǐng)域普通技術(shù)人員所熟知的技術(shù),在此不做贅述。
在實(shí)際應(yīng)用中,構(gòu)建用于確定文件導(dǎo)入語(yǔ)句的正則表達(dá)式時(shí),可以根據(jù)待導(dǎo)入文件的位置來(lái)確定多個(gè)正則表達(dá)式,并依次使用各正則表達(dá)式來(lái)掃描目標(biāo)代碼,從而得到針對(duì)不同位置的待導(dǎo)入文件的文件導(dǎo)入語(yǔ)句,以被后續(xù)針對(duì)這些文件導(dǎo)入語(yǔ)句做適應(yīng)性處理。
以目標(biāo)代碼是基于javascript語(yǔ)言環(huán)境為例詳述本申請(qǐng)實(shí)施例所提供的代 碼處理方法,對(duì)應(yīng)的目標(biāo)代碼可以是基于javascript語(yǔ)言環(huán)境的腳本代碼,例如通過(guò)瀏覽器加載的某個(gè)網(wǎng)絡(luò)頁(yè)面腳本;對(duì)應(yīng)的,文件導(dǎo)入語(yǔ)句可以是基于javascript語(yǔ)言環(huán)境下的import語(yǔ)句,該import語(yǔ)句位于目標(biāo)代碼內(nèi),用于將某些既有的后綴為js的代碼文件或由這些后綴為js的代碼文件所組成的業(yè)務(wù)模塊導(dǎo)入至目標(biāo)代碼。
延續(xù)上例,為便于理解文件導(dǎo)入語(yǔ)句和待導(dǎo)入文件,對(duì)目標(biāo)代碼的部分片段進(jìn)行舉例,具體如下:
exportfunbtiona(…){
…
};
exportfunbtionb(…){
…
};
exportafrom'./lia/a.js';
exportbfrom'./lia/b.js';
//標(biāo)識(shí)x模塊,包括函數(shù)a和函數(shù)b;
exportfunbtionc(…){
…
};
exportcfrom'./lia/c.js';
//標(biāo)識(shí)y模塊,包括函數(shù)c;
importxfrom'x';
//導(dǎo)入x模塊下的x對(duì)象;
a(…){
…
};
//調(diào)用x模塊下的函數(shù)a;
import{a,b}from'x';
//導(dǎo)入x模塊下的函數(shù)a和b;
b(…){
…
};
//調(diào)用x模塊下的函數(shù)b;
import{c}from'y';
//導(dǎo)入y模塊下的函數(shù)c;
c(…){
…
};
//導(dǎo)入y模塊下的函數(shù)c;
d(…){
…
};
//調(diào)用用戶(hù)在目標(biāo)代碼內(nèi)新建的函數(shù)d。
針對(duì)前述例舉的目標(biāo)代碼的片段,可以通過(guò)構(gòu)建import**from**的正則表達(dá)式,則可以在目標(biāo)代碼內(nèi)確定出所有的文件導(dǎo)入語(yǔ)句。在本申請(qǐng)實(shí)施例中,可以設(shè)定import**from*x*和import**from*y*這兩個(gè)正則表達(dá)式,從而確定出待導(dǎo)入文件的位置在模塊x和y。
基于正則表達(dá)式import**from*x*,可以確定出importxfrom'x'和import{a,b}from'x'這兩個(gè)文件導(dǎo)入語(yǔ)句,其待導(dǎo)入文件均是模塊x;區(qū)別在于,importxfrom'x'的既定目標(biāo)文件則為對(duì)象x,import{a,b}from'x' 的既定目標(biāo)文件則為函數(shù)a和b。
基于正則表達(dá)式import**from*y*,可以確定出importcfrom'y',其待導(dǎo)入文件為模塊y;既定目標(biāo)文件則為對(duì)象c。
s40、在所述目標(biāo)代碼內(nèi)確定出與所述文件導(dǎo)入語(yǔ)句相對(duì)應(yīng)的文件調(diào)用語(yǔ)句,所述文件調(diào)用語(yǔ)句用于調(diào)用所述待導(dǎo)入文件中的待調(diào)用文件。
文件調(diào)用語(yǔ)句作為文件導(dǎo)入語(yǔ)句作用的延續(xù),用于在文件導(dǎo)入語(yǔ)句導(dǎo)入待導(dǎo)入文件后調(diào)用待調(diào)用文件。
待調(diào)用文件在待導(dǎo)入文件中可以理解為:待調(diào)用文件是待導(dǎo)入文件本身或位于該待導(dǎo)入文件內(nèi)實(shí)現(xiàn)某種預(yù)設(shè)功能的代碼文件,通過(guò)執(zhí)行待調(diào)用語(yǔ)句可以是使得目標(biāo)代碼能夠真正實(shí)現(xiàn)待導(dǎo)入文件本身功能或位于該待導(dǎo)入文件內(nèi)某些功能。
結(jié)合圖2所示,本申請(qǐng)實(shí)施例中,s40具體包括如下步驟。
s42、在所述目標(biāo)代碼內(nèi)確定出文件調(diào)用語(yǔ)句,所述文件調(diào)用語(yǔ)句用于調(diào)用待調(diào)用文件。
在實(shí)際應(yīng)用中,同樣可以通過(guò)對(duì)文件調(diào)用語(yǔ)句設(shè)定正則表達(dá)式,再基于正則表達(dá)式對(duì)目標(biāo)代碼進(jìn)行掃描,從而確定出位于目標(biāo)代碼內(nèi)的所有文件調(diào)用語(yǔ)句。具體正則表達(dá)式的構(gòu)建過(guò)程,可參考前述對(duì)文件導(dǎo)入語(yǔ)句的表達(dá)式,在此不做贅述。
仍延續(xù)上例,針對(duì)前述例舉的目標(biāo)代碼的片段,文件調(diào)用語(yǔ)句可以通過(guò)建立*(**){**}的正則表達(dá)式,則可以在目標(biāo)代碼內(nèi)確定出所有文件調(diào)用語(yǔ)句。
s44、判斷是否存在標(biāo)識(shí)相同的既定目標(biāo)文件和待調(diào)用文件時(shí),若是,執(zhí)行步驟s46,若否,執(zhí)行步驟s48。
本申請(qǐng)實(shí)施例中,代碼處理方法還包括位于步驟s20和s40之間的如下步驟:將所確定出的文件導(dǎo)入語(yǔ)句內(nèi)既定目標(biāo)文件的標(biāo)識(shí)保存至預(yù)設(shè)存儲(chǔ)區(qū)域。
預(yù)設(shè)存儲(chǔ)區(qū)域可以是一個(gè)數(shù)據(jù)存儲(chǔ)數(shù)據(jù)庫(kù)或列表,可以承載于硬盤(pán)、緩存等計(jì)算機(jī)存儲(chǔ)空間內(nèi),此為本領(lǐng)域普通技術(shù)人員所熟知的技術(shù),在此不做贅述。
在實(shí)際應(yīng)用中,既定目標(biāo)文件包括:既定目標(biāo)對(duì)象文件或既定目標(biāo)函數(shù)文件,所述待調(diào)用文件包括:待調(diào)用對(duì)象文件或待調(diào)用函數(shù)文件。
對(duì)應(yīng)的,所述將所確定出的文件導(dǎo)入語(yǔ)句內(nèi)既定目標(biāo)文件的標(biāo)識(shí)保存至預(yù)設(shè)存儲(chǔ)區(qū)域,具體包括如下至少一項(xiàng):
將所確定出的文件導(dǎo)入語(yǔ)句內(nèi)既定目標(biāo)對(duì)象文件的標(biāo)識(shí)保存至預(yù)設(shè)存儲(chǔ)區(qū)域內(nèi)第一位置;
將所確定出的文件導(dǎo)入語(yǔ)句內(nèi)既定目標(biāo)函數(shù)文件的標(biāo)識(shí)保存至預(yù)設(shè)存儲(chǔ)區(qū)域內(nèi)第二位置。
在實(shí)際應(yīng)用中,可以將既定目標(biāo)文件的類(lèi)型標(biāo)識(shí)建立判定關(guān)鍵詞,在確定出文件導(dǎo)入語(yǔ)句后,通過(guò)判定關(guān)鍵詞來(lái)判定既定目標(biāo)文件的類(lèi)型。例如可以通過(guò)括號(hào)標(biāo)識(shí)“{}”來(lái)建立函數(shù)關(guān)鍵詞,在既定關(guān)鍵詞內(nèi)具有括號(hào)標(biāo)識(shí)“{}”時(shí),判定該既定目標(biāo)文件為既定目標(biāo)函數(shù)文件。
由于,第一位置和第二位置為相對(duì)獨(dú)立的兩個(gè)存儲(chǔ)位置,用于分別存儲(chǔ)類(lèi)型不同的既定目標(biāo)文件,以便于后續(xù)匹配效率。
對(duì)應(yīng)的步驟s44調(diào)整為:確定所述預(yù)設(shè)存儲(chǔ)區(qū)域內(nèi)存在與所述既定目標(biāo)文件標(biāo)識(shí)相同的待調(diào)用文件。
具體的,確定所述預(yù)設(shè)存儲(chǔ)區(qū)域的第一位置內(nèi)存在與所述待調(diào)用對(duì)象文件標(biāo)識(shí)相同的既定目標(biāo)對(duì)象文件;確定所述預(yù)設(shè)存儲(chǔ)區(qū)域的第二位置內(nèi)存在與所述待調(diào)用函數(shù)文件標(biāo)識(shí)相同的既定目標(biāo)函數(shù)文件。
根據(jù)既定目標(biāo)文件的類(lèi)型來(lái)分別存儲(chǔ)文件,便于后續(xù)根據(jù)待調(diào)用文件的類(lèi)型來(lái)判定是否存在標(biāo)識(shí)相同的既定目標(biāo)文件,提高了判定效率。
s46、確定該待調(diào)用文件所在文件調(diào)用語(yǔ)句與所述既定目標(biāo)文件所在文件導(dǎo)入語(yǔ)句相對(duì)應(yīng)。
s48、確定該待調(diào)用文件所在文件調(diào)用語(yǔ)句與所述既定目標(biāo)文件所在文件導(dǎo)入語(yǔ)句不對(duì)應(yīng)。
本申請(qǐng)實(shí)施例中,通過(guò)相應(yīng)的正則表達(dá)式掃描目標(biāo)代碼后,可以得到相應(yīng) 的文件導(dǎo)入語(yǔ)句和文件調(diào)用語(yǔ)句,進(jìn)而確定其中既定目標(biāo)文件和待調(diào)用文件的標(biāo)識(shí)。在確定其中既定目標(biāo)文件和待調(diào)用文件的標(biāo)識(shí)后,確定是否存在標(biāo)識(shí)相同的標(biāo)識(shí)相同的既定目標(biāo)文件和待調(diào)用文件,若是,確定該待調(diào)用文件所在文件調(diào)用語(yǔ)句與所述既定目標(biāo)文件所在文件導(dǎo)入語(yǔ)句相對(duì)應(yīng);反之,確定該待調(diào)用文件所在文件調(diào)用語(yǔ)句與所述既定目標(biāo)文件所在文件導(dǎo)入語(yǔ)句不對(duì)應(yīng)。
仍延續(xù)上例,以基于正則表達(dá)式import**from*x*,確定出importxfrom'x'和import{a,b}from'x'這兩個(gè)文件導(dǎo)入語(yǔ)句為例,可以確定既定目標(biāo)文件的標(biāo)識(shí)為a和b,待調(diào)用文件的標(biāo)識(shí)為a、b、c和d。將待調(diào)用文件的標(biāo)識(shí)與既定目標(biāo)文件進(jìn)行匹配,得到標(biāo)識(shí)a和b的待調(diào)用文件與前述確定的文件導(dǎo)入語(yǔ)句相對(duì)應(yīng)。
仍延續(xù)上例,以基于正則表達(dá)式import**from*y*,確定出importcfrom'y'為例,可以確定既定目標(biāo)文件的標(biāo)識(shí)為c,待調(diào)用文件的標(biāo)識(shí)為a、b、c和d。將待調(diào)用文件的標(biāo)識(shí)與既定目標(biāo)文件進(jìn)行匹配,得到標(biāo)識(shí)c的待調(diào)用文件與前述確定的文件導(dǎo)入語(yǔ)句相對(duì)應(yīng)。
s60、采用所述相對(duì)應(yīng)的文件調(diào)用語(yǔ)句中的待調(diào)用文件的標(biāo)識(shí),替換所述文件導(dǎo)入語(yǔ)句中的待導(dǎo)入文件的標(biāo)識(shí)。
由于待調(diào)用文件替換的是相對(duì)應(yīng)的文件導(dǎo)入語(yǔ)句內(nèi)待導(dǎo)入文件,可以使得被替換后的文件導(dǎo)入語(yǔ)句被執(zhí)行時(shí),會(huì)導(dǎo)入后續(xù)真正被調(diào)用的代碼文件(即待調(diào)用文件),使得文件導(dǎo)入語(yǔ)句所導(dǎo)入的文件是編程人員真正需要調(diào)用的代碼文件,避免了導(dǎo)入不需要被調(diào)用的代碼文件導(dǎo)致目標(biāo)代碼體積額外增長(zhǎng)。仍延續(xù)上例,針對(duì)網(wǎng)絡(luò)頁(yè)面的腳本代碼,通過(guò)本申請(qǐng)實(shí)施例所提供的代碼處理方法后,可以避免體積額外增長(zhǎng)的網(wǎng)絡(luò)頁(yè)面的腳本在被瀏覽器下載和執(zhí)行過(guò)程中耗時(shí)較長(zhǎng)的問(wèn)題。
在實(shí)際應(yīng)用中,文件調(diào)用語(yǔ)句內(nèi)待調(diào)用文件的數(shù)量與相對(duì)應(yīng)的文件導(dǎo)入語(yǔ)句內(nèi)待導(dǎo)入文件的數(shù)量應(yīng)該相同,將各待調(diào)用文件逐一替換相對(duì)應(yīng)的文件導(dǎo)入語(yǔ)句內(nèi)待導(dǎo)入文件即可。在替換過(guò)程中,可以直接將待導(dǎo)入文件的標(biāo)識(shí)替換為 待調(diào)用文件的標(biāo)識(shí)即可,在此不做贅述。
在本申請(qǐng)實(shí)施例中,還可通過(guò)如下步驟來(lái)實(shí)現(xiàn)文件調(diào)用語(yǔ)句內(nèi)待調(diào)用文件來(lái)替換相對(duì)應(yīng)的文件導(dǎo)入語(yǔ)句內(nèi)待導(dǎo)入文件,具體如下:
刪除所述待導(dǎo)入文件所在文件導(dǎo)入語(yǔ)句并在所述目標(biāo)代碼的首行新增如下語(yǔ)句:import待調(diào)用文件的標(biāo)識(shí)from'目標(biāo)業(yè)務(wù)模塊的標(biāo)識(shí)/lib/待調(diào)用文件的標(biāo)識(shí)'。目標(biāo)業(yè)務(wù)模塊的標(biāo)識(shí)即為該文件導(dǎo)入語(yǔ)句的待導(dǎo)入文件所在業(yè)務(wù)模塊的標(biāo)識(shí),其可以通過(guò)前述步驟確定文件導(dǎo)入語(yǔ)句時(shí)設(shè)定的正則表達(dá)式得到,以下結(jié)合前述列舉的目標(biāo)代碼片段進(jìn)行詳述,具體可參表1所示。
表1
如表1中序號(hào)1的示例,待調(diào)用文件為函數(shù)b,文件導(dǎo)入語(yǔ)句importafrom'a'被處理成:importbfrom'a/lib/b',其中作為既定目標(biāo)文件的對(duì)象a被依照待調(diào)用文件的標(biāo)識(shí)調(diào)整為對(duì)象b,作為待導(dǎo)入文件的模塊a被依照目標(biāo)業(yè)務(wù)模塊和待調(diào)用文件的標(biāo)識(shí)調(diào)整為a/lib/b。
如表1中序號(hào)2的示例,待調(diào)用文件為函數(shù)c,文件導(dǎo)入語(yǔ)句import{b,c}from'a'被處理成:importcfrom'a/lib/c',其中作為既定目標(biāo)文件的函數(shù)b和c被依照待調(diào)用文件的標(biāo)識(shí)調(diào)整為對(duì)象c,作為待導(dǎo)入文件的模塊a被依照目標(biāo)業(yè)務(wù)模塊和待調(diào)用文件的標(biāo)識(shí)調(diào)整為a/lib/c。
綜上,本申請(qǐng)實(shí)施例所提供的代碼處理方法,通過(guò)文件調(diào)用語(yǔ)句內(nèi)待調(diào)用文件替換相對(duì)應(yīng)的文件導(dǎo)入語(yǔ)句內(nèi)待導(dǎo)入文件,使得被替換后的文件導(dǎo)入語(yǔ)句被執(zhí)行時(shí),會(huì)導(dǎo)入后續(xù)真正被調(diào)用的代碼文件,使得文件導(dǎo)入語(yǔ)句所導(dǎo)入的文件是編程人員真正需要調(diào)用的代碼文件,避免了導(dǎo)入不需要被調(diào)用的代碼文件導(dǎo)致目標(biāo)代碼體積額外增長(zhǎng)。
圖3為本申請(qǐng)第二實(shí)施例中代碼處理方法的過(guò)程,與第一實(shí)施例相比,區(qū)別在于,步驟s20和s40之間還包括如下步驟。
s30、判斷所述待導(dǎo)入文件是否包括至少兩個(gè)代碼文件,若是,直接執(zhí)行步驟s40,若否,轉(zhuǎn)而執(zhí)行步驟s70。
由于待導(dǎo)入文件均是既有的模塊或代碼文件,其是否包括至少兩個(gè)代碼文件均可通過(guò)查詢(xún)得到,在此不做贅述。延續(xù)上例,若待導(dǎo)入文件為模塊x,則其包括兩個(gè)代碼文件(函數(shù)a和b),若待導(dǎo)入文件為模塊y,則其僅包括一個(gè)代碼文件(函數(shù)c)。
s70、發(fā)出無(wú)需處理信號(hào)。
在待導(dǎo)入文件僅有一個(gè)代碼文件時(shí),導(dǎo)入過(guò)程并不會(huì)發(fā)生冗余情形,因此也無(wú)需對(duì)目標(biāo)代碼進(jìn)行處理。無(wú)需處理信號(hào)可以被發(fā)送至發(fā)起代碼處理請(qǐng)求的終端設(shè)備上,使得發(fā)起人能夠明確無(wú)需對(duì)代碼進(jìn)行處理。
當(dāng)然,在本申請(qǐng)的其他實(shí)施例中,步驟s30還可以位于步驟s20之前,僅需再執(zhí)行步驟s20時(shí)確定待導(dǎo)入文件相同的文件導(dǎo)入語(yǔ)句即可,例如僅確定待導(dǎo)入文件均是模塊x的文件導(dǎo)入語(yǔ)句,即可通過(guò)步驟30直接判斷模塊x是否包括至少兩個(gè)代碼文件,若是,則執(zhí)行步驟s20及后續(xù)步驟來(lái)進(jìn)行代碼處理,若否,直接執(zhí)行步驟s70即可,在此不做贅述。
綜上,本申請(qǐng)實(shí)施例所提供的代碼處理裝置,通過(guò)文件調(diào)用語(yǔ)句內(nèi)待調(diào)用文件替換相對(duì)應(yīng)的文件導(dǎo)入語(yǔ)句內(nèi)待導(dǎo)入文件,使得被替換后的文件導(dǎo)入語(yǔ)句被執(zhí)行時(shí),會(huì)導(dǎo)入后續(xù)真正被調(diào)用的代碼文件,使得文件導(dǎo)入語(yǔ)句所導(dǎo)入的文件是編程人員真正需要調(diào)用的代碼文件,避免了由于導(dǎo)入不需要被調(diào)用的代碼文件導(dǎo)致目標(biāo)代碼體積額外增加,保證其正常使用。
圖4為本申請(qǐng)實(shí)施例中代碼處理裝置的模塊圖,該代碼處理裝置是基于前述各實(shí)施例中代碼處理方法來(lái)運(yùn)行的,其技術(shù)原理和細(xì)節(jié)均可參考前述方法,在此不做贅述。
本申請(qǐng)實(shí)施例中,代碼處理裝置包括:
導(dǎo)入語(yǔ)句確定模塊20,用于在目標(biāo)代碼內(nèi)確定出文件導(dǎo)入語(yǔ)句,所述文件導(dǎo)入語(yǔ)句用于導(dǎo)入待導(dǎo)入文件;
調(diào)用語(yǔ)句確定模塊40,用于在所述目標(biāo)代碼內(nèi)確定出與所述文件導(dǎo)入語(yǔ)句相對(duì)應(yīng)的文件調(diào)用語(yǔ)句,所述文件調(diào)用語(yǔ)句用于調(diào)用所述待導(dǎo)入文件中的待調(diào)用文件;
文件替換模塊60,用于采用所述相對(duì)應(yīng)的文件調(diào)用語(yǔ)句中的待調(diào)用文件的標(biāo)識(shí),替換所述文件導(dǎo)入語(yǔ)句中的待導(dǎo)入文件的標(biāo)識(shí)。
本申請(qǐng)實(shí)施例中,所述裝置還包括判斷模塊和信號(hào)發(fā)生模塊;
所述判斷模塊用于:判斷所述待導(dǎo)入文件是否包括至少兩個(gè)代碼文件;
在所述待導(dǎo)入文件包括至少兩個(gè)代碼文件時(shí),所述調(diào)用語(yǔ)句確定模塊40用于在所述目標(biāo)代碼內(nèi)確定出與所述文件導(dǎo)入語(yǔ)句相對(duì)應(yīng)的文件調(diào)用語(yǔ)句;
在所述待導(dǎo)入文件不包括至少兩個(gè)代碼文件時(shí),所述信號(hào)發(fā)生模塊用于發(fā)出無(wú)需處理信號(hào)。
本申請(qǐng)實(shí)施例中,所述文件導(dǎo)入語(yǔ)句攜帶有:用于描述目標(biāo)代碼真實(shí)導(dǎo)入需求的既定目標(biāo)文件的標(biāo)識(shí);
所述調(diào)用語(yǔ)句確定模塊40,具體用于:
在所述目標(biāo)代碼內(nèi)確定出文件調(diào)用語(yǔ)句,所述文件調(diào)用語(yǔ)句用于調(diào)用待調(diào)用文件;
當(dāng)存在標(biāo)識(shí)相同的既定目標(biāo)文件和待調(diào)用文件時(shí),確定該待調(diào)用文件所在文件調(diào)用語(yǔ)句與所述既定目標(biāo)文件所在文件導(dǎo)入語(yǔ)句相對(duì)應(yīng),所述文件調(diào)用語(yǔ)句所調(diào)用的待調(diào)用文件在所述待導(dǎo)入文件中。
本申請(qǐng)實(shí)施例中,所述裝置還包括存儲(chǔ)模塊,所述存儲(chǔ)模塊用于:將所確定出的文件導(dǎo)入語(yǔ)句內(nèi)既定目標(biāo)文件的標(biāo)識(shí)保存至預(yù)設(shè)存儲(chǔ)區(qū)域;
所述調(diào)用語(yǔ)句確定模塊40,具體用于:
確定所述預(yù)設(shè)存儲(chǔ)區(qū)域內(nèi)存在與所述既定目標(biāo)文件標(biāo)識(shí)相同的待調(diào)用文件。
本申請(qǐng)實(shí)施例中,所述既定目標(biāo)文件包括:既定目標(biāo)對(duì)象文件或既定目標(biāo)函數(shù)文件,所述待調(diào)用文件包括:待調(diào)用對(duì)象文件或待調(diào)用函數(shù)文件;
所述存儲(chǔ)模塊具體用于:
將所確定出的文件導(dǎo)入語(yǔ)句內(nèi)既定目標(biāo)對(duì)象文件的標(biāo)識(shí)保存至預(yù)設(shè)存儲(chǔ)區(qū)域內(nèi)第一位置;
將所確定出的文件導(dǎo)入語(yǔ)句內(nèi)既定目標(biāo)函數(shù)文件的標(biāo)識(shí)保存至預(yù)設(shè)存儲(chǔ)區(qū)域內(nèi)第二位置;
所述調(diào)用語(yǔ)句確定模塊40,具體用于:
確定所述預(yù)設(shè)存儲(chǔ)區(qū)域的第一位置內(nèi)存在與所述待調(diào)用對(duì)象文件標(biāo)識(shí)相同的既定目標(biāo)對(duì)象文件;
確定所述預(yù)設(shè)存儲(chǔ)區(qū)域的第二位置內(nèi)存在與所述待調(diào)用函數(shù)文件標(biāo)識(shí)相同的既定目標(biāo)函數(shù)文件。
本申請(qǐng)實(shí)施例中,所述目標(biāo)代碼為基于javascript的瀏覽器腳本代碼。
綜上,本申請(qǐng)實(shí)施例所提供的代碼處理裝置,通過(guò)文件調(diào)用語(yǔ)句內(nèi)待調(diào)用文件替換相對(duì)應(yīng)的文件導(dǎo)入語(yǔ)句內(nèi)待導(dǎo)入文件,使得被替換后的文件導(dǎo)入語(yǔ)句被執(zhí)行時(shí),會(huì)導(dǎo)入后續(xù)真正被調(diào)用的代碼文件,使得文件導(dǎo)入語(yǔ)句所導(dǎo)入的文件是編程人員真正需要調(diào)用的代碼文件,避免了由于導(dǎo)入不需要被調(diào)用的代碼文件導(dǎo)致目標(biāo)代碼體積額外增加,保證其正常使用。
在20世紀(jì)90年代,對(duì)于一個(gè)技術(shù)的改進(jìn)可以很明顯地區(qū)分是硬件上的改進(jìn)(例如,對(duì)二極管、晶體管、開(kāi)關(guān)等電路結(jié)構(gòu)的改進(jìn))還是軟件上的改進(jìn)(對(duì)于方法流程的改進(jìn))。然而,隨著技術(shù)的發(fā)展,當(dāng)今的很多方法流程的改進(jìn)已經(jīng)可以視為硬件電路結(jié)構(gòu)的直接改進(jìn)。設(shè)計(jì)人員幾乎都通過(guò)將改進(jìn)的方法流程編程到硬件電路中來(lái)得到相應(yīng)的硬件電路結(jié)構(gòu)。因此,不能說(shuō)一個(gè)方法流程的改進(jìn)就不能用硬件實(shí)體模塊來(lái)實(shí)現(xiàn)。例如,可編程邏輯器件(programmablelogicdevice,pld)(例如現(xiàn)場(chǎng)可編程門(mén)陣列(fieldprogrammablegatearray,fpga))就是這樣一種集成電路,其邏輯功能由用戶(hù)對(duì)器件編程來(lái)確定。由設(shè) 計(jì)人員自行編程來(lái)把一個(gè)數(shù)字系統(tǒng)“集成”在一片pld上,而不需要請(qǐng)芯片制造廠(chǎng)商來(lái)設(shè)計(jì)和制作專(zhuān)用的集成電路芯片2。而且,如今,取代手工地制作集成電路芯片,這種編程也多半改用“邏輯編譯器(logiccompiler)”軟件來(lái)實(shí)現(xiàn),它與程序開(kāi)發(fā)撰寫(xiě)時(shí)所用的軟件編譯器相類(lèi)似,而要編譯之前的原始代碼也得用特定的編程語(yǔ)言來(lái)撰寫(xiě),此稱(chēng)之為硬件描述語(yǔ)言(hardwaredescriptionlanguage,hdl),而hdl也并非僅有一種,而是有許多種,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescriptionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescriptionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescriptionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescriptionlanguage)與verilog2。本領(lǐng)域技術(shù)人員也應(yīng)該清楚,只需要將方法流程用上述幾種硬件描述語(yǔ)言稍作邏輯編程并編程到集成電路中,就可以很容易得到實(shí)現(xiàn)該邏輯方法流程的硬件電路。
控制器可以按任何適當(dāng)?shù)姆绞綄?shí)現(xiàn),例如,控制器可以采取例如微處理器或處理器以及存儲(chǔ)可由該(微)處理器執(zhí)行的計(jì)算機(jī)可讀程序代碼(例如軟件或固件)的計(jì)算機(jī)可讀介質(zhì)、邏輯門(mén)、開(kāi)關(guān)、專(zhuān)用集成電路(applicationspecificintegratedcircuit,asic)、可編程邏輯控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc625d、atmelat91sam、microchippic18f26k20以及siliconelabsc8051f320,存儲(chǔ)器控制器還可以被實(shí)現(xiàn)為存儲(chǔ)器的控制邏輯的一部分。本領(lǐng)域技術(shù)人員也知道,除了以純計(jì)算機(jī)可讀程序代碼方式實(shí)現(xiàn)控制器以外,完全可以通過(guò)將方法步驟進(jìn)行邏輯編程來(lái)使得控制器以邏輯門(mén)、開(kāi)關(guān)、專(zhuān)用集成電路、可編程邏輯控制器和嵌入微控制器等的形式來(lái)實(shí)現(xiàn)相同功能。因此這種控制器可以被認(rèn)為是一種硬件部件,而對(duì)其內(nèi)包括的用于實(shí)現(xiàn)各種功能的裝置也可以視為硬件部件內(nèi)的結(jié)構(gòu)。或者甚至,可以將用于實(shí)現(xiàn)各種功能的裝置視為既可以是實(shí)現(xiàn)方法的軟件模塊又可以是硬件 部件內(nèi)的結(jié)構(gòu)。
上述實(shí)施例闡明的系統(tǒng)、裝置、模塊或單元,具體可以由計(jì)算機(jī)芯片或?qū)嶓w實(shí)現(xiàn),或者由具有某種功能的產(chǎn)品來(lái)實(shí)現(xiàn)。
為了描述的方便,描述以上裝置時(shí)以功能分為各種單元分別描述。當(dāng)然,在實(shí)施本申請(qǐng)時(shí)可以把各單元的功能在同一個(gè)或多個(gè)軟件和/或硬件中實(shí)現(xiàn)。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤(pán)存儲(chǔ)器、cd-rom、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專(zhuān)用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
在一個(gè)典型的配置中,計(jì)算設(shè)備包括一個(gè)或多個(gè)處理器(cpu)、輸入/輸 出接口、網(wǎng)絡(luò)接口和內(nèi)存。
內(nèi)存可能包括計(jì)算機(jī)可讀介質(zhì)中的非永久性存儲(chǔ)器,隨機(jī)存取存儲(chǔ)器(ram)和/或非易失性?xún)?nèi)存等形式,如只讀存儲(chǔ)器(rom)或閃存(flashram)。內(nèi)存是計(jì)算機(jī)可讀介質(zhì)的示例。
計(jì)算機(jī)可讀介質(zhì)包括永久性和非永久性、可移動(dòng)和非可移動(dòng)媒體可以由任何方法或技術(shù)來(lái)實(shí)現(xiàn)信息存儲(chǔ)。信息可以是計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計(jì)算機(jī)的存儲(chǔ)介質(zhì)的例子包括,但不限于相變內(nèi)存(pram)、靜態(tài)隨機(jī)存取存儲(chǔ)器(sram)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(dram)、其他類(lèi)型的隨機(jī)存取存儲(chǔ)器(ram)、只讀存儲(chǔ)器(rom)、電可擦除可編程只讀存儲(chǔ)器(eeprom)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤(pán)只讀存儲(chǔ)器(cd-rom)、數(shù)字多功能光盤(pán)(dvd)或其他光學(xué)存儲(chǔ)、磁盒式磁帶,磁帶磁磁盤(pán)存儲(chǔ)或其他磁性存儲(chǔ)設(shè)備或任何其他非傳輸介質(zhì),可用于存儲(chǔ)可以被計(jì)算設(shè)備訪(fǎng)問(wèn)的信息。按照本文中的界定,計(jì)算機(jī)可讀介質(zhì)不包括暫存電腦可讀媒體(transitorymedia),如調(diào)制的數(shù)據(jù)信號(hào)和載波。
還需要說(shuō)明的是,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、商品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、商品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、商品或者設(shè)備中還存在另外的相同要素。
本領(lǐng)域技術(shù)人員應(yīng)明白,本申請(qǐng)的實(shí)施例可提供為方法、系統(tǒng)或計(jì)算機(jī)程序產(chǎn)品。因此,本申請(qǐng)可采用完全硬件實(shí)施例、完全軟件實(shí)施例或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請(qǐng)可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤(pán)存儲(chǔ)器、cd-rom、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本申請(qǐng)可以在由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述,例 如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類(lèi)型的例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計(jì)算環(huán)境中實(shí)踐本申請(qǐng),在這些分布式計(jì)算環(huán)境中,由通過(guò)通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來(lái)執(zhí)行任務(wù)。在分布式計(jì)算環(huán)境中,程序模塊可以位于包括存儲(chǔ)設(shè)備在內(nèi)的本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)中。
本說(shuō)明書(shū)中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見(jiàn)即可,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處。尤其,對(duì)于系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。
以上所述僅為本申請(qǐng)的實(shí)施例而已,并不用于限制本申請(qǐng)。對(duì)于本領(lǐng)域技術(shù)人員來(lái)說(shuō),本申請(qǐng)可以有各種更改和變化。凡在本申請(qǐng)的精神和原理之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請(qǐng)的權(quán)利要求范圍之內(nèi)。