本申請(qǐng)涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種腳本文件的透明加密方法和裝置。
背景技術(shù):
隨著移動(dòng)開發(fā)技術(shù)的發(fā)展,出現(xiàn)了采用html、javascript等進(jìn)行移動(dòng)應(yīng)用程序開發(fā)的開發(fā)框架,例如,phonegap、ibmworklight等。這些開發(fā)框架能夠解決移動(dòng)應(yīng)用程序開發(fā)的移植性問(wèn)題,提高應(yīng)用程序的開發(fā)效率
但是,基于這些開發(fā)框架開發(fā)得到的移動(dòng)應(yīng)用程序,腳本文件以明文的方式存放在移動(dòng)應(yīng)用程序安裝包的資源文件中,或者,以明文的方式存放在移動(dòng)應(yīng)用程序運(yùn)行時(shí)的本地?cái)?shù)據(jù)中,這使得攻擊者可以直接拿到腳本文件的源代碼,嚴(yán)重影響了移動(dòng)應(yīng)用程序的安全性以及開發(fā)者的收益。
如何提高腳本文件的安全性,是本申請(qǐng)所要解決的技術(shù)問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本申請(qǐng)實(shí)施例提供一種腳本文件的透明加密方法和裝置,用以解決現(xiàn)有的腳本文件安全性較低的問(wèn)題。
本申請(qǐng)實(shí)施例提供一種腳本文件的透明加密方法,包括:
接收服務(wù)器發(fā)送的應(yīng)用程序安裝包,其中,所述應(yīng)用程序安裝包中包含通過(guò)第一加密方式加密后的腳本文件;
通過(guò)解壓所述應(yīng)用程序安裝包,將所述腳本文件加密存儲(chǔ)到存儲(chǔ)介質(zhì);
在所述應(yīng)用程序運(yùn)行時(shí),攔截所述應(yīng)用程序的數(shù)據(jù)操作,其中,所述數(shù)據(jù)操作為針對(duì)所述存儲(chǔ)介質(zhì)中的所述腳本文件的讀寫操作;
對(duì)所述存儲(chǔ)介質(zhì)中的所述腳本文件執(zhí)行加密讀寫操作。
可選地,通過(guò)解壓所述應(yīng)用程序安裝包,將所述腳本文件加密存儲(chǔ)到存儲(chǔ)介質(zhì),包括:
攔截從所述應(yīng)用程序安裝包中讀取所述腳本文件的操作;
通過(guò)第一解密方式對(duì)所述腳本文件進(jìn)行解密,得到解密后的所述腳本文件,其中,所述第一解密方式為與所述第一加密方式相對(duì)應(yīng)的解密方式;
通過(guò)第二加密方式對(duì)解密后的所述腳本文件進(jìn)行加密;
將通過(guò)第二加密方式加密后的所述腳本文件存儲(chǔ)到所述存儲(chǔ)介質(zhì)。
可選地,對(duì)所述存儲(chǔ)介質(zhì)中的所述腳本文件執(zhí)行加密讀寫操作,包括:
在確定需要從所述存儲(chǔ)介質(zhì)中讀取所述腳本文件時(shí),通過(guò)第二解密方式對(duì)所述存儲(chǔ)介質(zhì)中的所述腳本文件進(jìn)行解密,以及,將解密后的所述腳本文件返回給所述應(yīng)用程序,其中,所述第二解密方式為與所述第一加密方式相對(duì)應(yīng)的解密方式;
在確定需要向所述存儲(chǔ)介質(zhì)中寫入所述腳本文件時(shí),通過(guò)第二加密方式對(duì)所述腳本文件進(jìn)行加密,以及,將加密后的所述腳本文件存儲(chǔ)在所述存儲(chǔ)介質(zhì)。
可選地,在確定需要向所述存儲(chǔ)介質(zhì)中寫入所述腳本文件之前,所述方法還包括:
接收所述服務(wù)器發(fā)送的通過(guò)所述第一加密方式加密后的所述腳本文件;
通過(guò)所述第一解密方式對(duì)所述腳本文件進(jìn)行解密,得到解密后的所述腳本文件。
可選地,所述腳本文件包括:html5腳本文件、javascript腳本文件。
可選地,所述應(yīng)用程序是基于html5開發(fā)框架開發(fā)得到的。
本申請(qǐng)實(shí)施例還提供一種腳本文件的透明加密裝置,包括:接收單元、存儲(chǔ)單元、攔截單元和處理單元,其中:
接收單元,用于接收服務(wù)器發(fā)送的應(yīng)用程序安裝包,其中,所述應(yīng)用程序安裝包中包含通過(guò)第一加密方式加密后的腳本文件;
存儲(chǔ)單元,用于通過(guò)解壓所述應(yīng)用程序安裝包,將所述腳本文件加密存儲(chǔ)到存儲(chǔ)介質(zhì);
攔截單元,用于在所述應(yīng)用程序運(yùn)行時(shí),攔截所述應(yīng)用程序的數(shù)據(jù)操作,其中,所述數(shù)據(jù)操作為針對(duì)所述存儲(chǔ)介質(zhì)中的所述腳本文件的讀寫操作;
處理單元,用于對(duì)所述存儲(chǔ)介質(zhì)中的所述腳本文件執(zhí)行加密讀寫操作。
本申請(qǐng)實(shí)施例采用的上述至少一個(gè)技術(shù)方案能夠達(dá)到以下有益效果:
通過(guò)接收服務(wù)器發(fā)送的包含通過(guò)第一加密方式加密后的腳本文件的應(yīng)用程序安裝包,通過(guò)解壓應(yīng)用程序安裝包,將腳本文件加密存儲(chǔ)到存儲(chǔ)介質(zhì),以及,在應(yīng)用程序運(yùn)行時(shí),攔截應(yīng)用程序的針對(duì)存儲(chǔ)介質(zhì)中的腳本文件的讀寫操作,并對(duì)存儲(chǔ)介質(zhì)中的腳本文件執(zhí)行加密讀寫操作,從而能夠保證腳本文件在應(yīng)用程序安裝包以及在客戶端存儲(chǔ)介質(zhì)中的安全存放,有效提高腳本文件的安全性。
附圖說(shuō)明
此處所說(shuō)明的附圖用來(lái)提供對(duì)本申請(qǐng)的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本申請(qǐng)的示意性實(shí)施例及其說(shuō)明用于解釋本申請(qǐng),并不構(gòu)成對(duì)本申請(qǐng)的不當(dāng)限定。在附圖中:
圖1為本申請(qǐng)實(shí)施例提供的一種腳本文件的透明加密方法的流程示意圖;
圖2為本申請(qǐng)實(shí)施例提供的一種腳本文件的透明加密裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了實(shí)現(xiàn)本申請(qǐng)的目的,本申請(qǐng)實(shí)施例提供一種腳本文件的透明加密方法和裝置,所述方法包括:通過(guò)接收服務(wù)器發(fā)送的包含通過(guò)第一加密方式加密后的腳本文件的應(yīng)用程序安裝包,通過(guò)解壓應(yīng)用程序安裝包,將腳本文件加密存儲(chǔ)到存儲(chǔ)介質(zhì),以及,在應(yīng)用程序運(yùn)行時(shí),攔截應(yīng)用程序的針對(duì)存儲(chǔ)介質(zhì)中的腳本文件的讀寫操作,并對(duì)存儲(chǔ)介質(zhì)中的腳本文件執(zhí)行加密讀寫操作,從而能夠保證腳本文件在應(yīng)用程序安裝包以及在客戶端存儲(chǔ)介質(zhì)中的安全存放,有效提高腳本文件的安全性。
下面結(jié)合本申請(qǐng)具體實(shí)施例及相應(yīng)的附圖對(duì)本申請(qǐng)技術(shù)方案進(jìn)行清楚、完整地描述。顯然,所描述的實(shí)施例僅是本申請(qǐng)一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾?qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本申請(qǐng)保護(hù)的范圍。
以下結(jié)合附圖,詳細(xì)說(shuō)明本申請(qǐng)各實(shí)施例提供的技術(shù)方案。
實(shí)施例1
為解決現(xiàn)有技術(shù)中腳本文件的安全性較低的問(wèn)題,本申請(qǐng)實(shí)施例1提供一種腳本文件的透明加密方法。本申請(qǐng)實(shí)施例提供的腳本文件的透明加密方法的執(zhí)行主體可以是終端設(shè)備,例如,手機(jī)、平板電腦,等等,也可以是執(zhí)行腳本文件的透明加密方法的軟件。
為便于描述,下文以終端設(shè)備作為執(zhí)行該方法主體為例,對(duì)該方法的實(shí)施方式進(jìn)行介紹??梢岳斫?,以終端設(shè)備作為執(zhí)行該方法只是一種示例性的說(shuō)明,并不理解為對(duì)該方法的限定。
圖1為本申請(qǐng)實(shí)施例提供的一種腳本文件的透明加密方法的流程示意圖。該方法可以如下所示。
步驟101:接收服務(wù)器發(fā)送的應(yīng)用程序安裝包。
其中,應(yīng)用程序安裝包中包含通過(guò)第一加密方式加密后的腳本文件。
終端設(shè)備安裝應(yīng)用程序時(shí),首先需要從服務(wù)器下載應(yīng)用程序安裝包,進(jìn)而根據(jù)該應(yīng)用程序安裝包,將該應(yīng)用程序安裝到終端設(shè)備中。
本申請(qǐng)實(shí)施例中,終端設(shè)備需要安裝的應(yīng)用程序是基于html5開發(fā)框架開發(fā)得到的。
本申請(qǐng)實(shí)施例中,腳本文件包括:html5腳本文件、javascript腳本文件。
本申請(qǐng)實(shí)施例中,第一加密方式為資源加密技術(shù)。
基于html5開發(fā)框架開發(fā)得到的應(yīng)用程序中的html5腳本文件、javascript腳本文件(以下簡(jiǎn)稱,腳本文件),存放在應(yīng)用程序安裝包的資源文件中,為了確保腳本文件的安全,通過(guò)資源加密技術(shù)對(duì)應(yīng)用程序安裝包資源文件中的腳本文件進(jìn)行加密。
因此,終端設(shè)備接收到的服務(wù)器發(fā)送的應(yīng)用程序安裝包中包含的是通過(guò)資源加密技術(shù)加密后的腳本文件。
對(duì)應(yīng)用程序安裝包中的腳本文件進(jìn)行資源加密,能夠確保應(yīng)用程序安裝包中的腳本文件從服務(wù)器到終端設(shè)備的安全傳輸,避免攻擊者通過(guò)截獲應(yīng)用程序安裝包來(lái)直接拿到腳本文件的源代碼。
步驟102:通過(guò)解壓應(yīng)用程序安裝包,將腳本文件加密存儲(chǔ)到存儲(chǔ)介質(zhì)。
終端設(shè)備接收到服務(wù)器發(fā)送的應(yīng)用程序安裝包之后,通過(guò)解壓該應(yīng)用程序安裝包,將該應(yīng)用程序安裝到終端設(shè)備上,解壓安裝過(guò)程中將腳本文件加密存儲(chǔ)到存儲(chǔ)介質(zhì)中。
本申請(qǐng)實(shí)施例中,通過(guò)解壓應(yīng)用程序安裝包,將腳本文件加密存儲(chǔ)到存儲(chǔ)介質(zhì),包括:
攔截從應(yīng)用程序安裝包中讀取腳本文件的操作;
通過(guò)第一解密方式對(duì)腳本文件進(jìn)行解密,得到解密后的腳本文件,其中,第一解密方式為與第一加密方式相對(duì)應(yīng)的解密方式;
通過(guò)第二加密方式對(duì)解密后的腳本文件進(jìn)行加密;
將通過(guò)第二加密方式加密后的腳本文件存儲(chǔ)到存儲(chǔ)介質(zhì)。
本申請(qǐng)實(shí)施例中,第一解密方式為資源解密技術(shù);
第二加密方式為數(shù)據(jù)加密技術(shù);
第二解密方式為數(shù)據(jù)解密技術(shù)。
在應(yīng)用程序安裝包中包含有加固殼程序(hook),hook能夠?qū)υ搼?yīng)用程序安裝包中的加密文件進(jìn)行加密解密。
終端設(shè)備對(duì)應(yīng)用程序安裝包進(jìn)行解壓時(shí),hook攔截解壓進(jìn)程中需要從應(yīng)用程序安裝包中讀取腳本文件的操作,由于應(yīng)用程序安裝包中的腳本文件是通過(guò)資源加密技術(shù)加密處理過(guò)的,因此,hook通過(guò)資源解密方式對(duì)應(yīng)用程序安裝包中待讀取的腳本文件進(jìn)行解密,進(jìn)而將解密后的待讀取的腳本文件返回給解壓進(jìn)程。
終端設(shè)備通過(guò)對(duì)應(yīng)用程序安裝包進(jìn)行解壓,得到解壓后的腳本文件,為了確保腳本文件在終端設(shè)備中的安全性,終端設(shè)備將腳本文件加密存儲(chǔ)在存儲(chǔ)介質(zhì)中。
在將腳本文件存儲(chǔ)在存儲(chǔ)介質(zhì)中之前,應(yīng)用程序中的hook對(duì)腳本文件進(jìn)行數(shù)據(jù)加密,進(jìn)而將加密后的腳本文件存儲(chǔ)在終端設(shè)備的存儲(chǔ)介質(zhì)中。
將腳本文件進(jìn)行數(shù)據(jù)加密之后存儲(chǔ)在存儲(chǔ)介質(zhì)中,能夠確保腳本文件在終端設(shè)備中的安全存儲(chǔ),避免攻擊者通過(guò)攻擊終端設(shè)備截獲存儲(chǔ)介質(zhì)中存儲(chǔ)的腳本文件。
步驟103:在應(yīng)用程序運(yùn)行時(shí),攔截應(yīng)用程序的數(shù)據(jù)操作。
其中,該數(shù)據(jù)操作為針對(duì)存儲(chǔ)介質(zhì)中的腳本文件的讀寫操作。
在應(yīng)用程序運(yùn)行時(shí),應(yīng)用程序中的hook攔截運(yùn)行進(jìn)程中針對(duì)存儲(chǔ)介質(zhì)中的腳本文件的讀寫操作。
步驟104:對(duì)存儲(chǔ)介質(zhì)中的腳本文件執(zhí)行加密讀寫操作。
當(dāng)應(yīng)用程序中的hook攔截到的數(shù)據(jù)操作是需要從存儲(chǔ)介質(zhì)中讀取腳本文件的操作時(shí),由于存儲(chǔ)介質(zhì)中的腳本文件是通過(guò)數(shù)據(jù)加密技術(shù)加密處理過(guò)的,因此,hook通過(guò)數(shù)據(jù)解密方式對(duì)存儲(chǔ)介質(zhì)中待讀取的腳本文件進(jìn)行解密,進(jìn)而將解密后的待讀取的腳本文件返回給應(yīng)用程序的運(yùn)行進(jìn)程。
本申請(qǐng)實(shí)施例中,所述方法還包括:
接收服務(wù)器發(fā)送的通過(guò)第一加密方式加密后的腳本文件;
通過(guò)第一解密方式對(duì)腳本文件進(jìn)行解密,得到解密后的腳本文件。
在實(shí)際應(yīng)用中,應(yīng)用程序的有些腳本文件是從從服務(wù)器動(dòng)態(tài)更新到終端設(shè)備中的,終端設(shè)備接收到的服務(wù)器發(fā)送的腳本文件是通過(guò)資源加密方式加密后的腳本文件。終端設(shè)備中的hook通過(guò)資源解密方式對(duì)腳本文件進(jìn)行解密,得到解密后的腳本文件。
終端設(shè)備需要將腳本文件存儲(chǔ)到存儲(chǔ)介質(zhì)中。
當(dāng)應(yīng)用程序中的hook攔截到的數(shù)據(jù)操作是需要向存儲(chǔ)介質(zhì)中寫入腳本文件的操作時(shí),hook對(duì)腳本文件進(jìn)行數(shù)據(jù)加密,并將加密后的腳本文件存儲(chǔ)到存儲(chǔ)介質(zhì)。
通過(guò)上述操作,使得腳本文件在存儲(chǔ)介質(zhì)中是透明化加密存儲(chǔ)的,即不會(huì)影響用戶的使用體驗(yàn),同時(shí)又保證了腳本文件的安全性。
本申請(qǐng)實(shí)施例所記載的技術(shù)方案,通過(guò)接收服務(wù)器發(fā)送的包含通過(guò)第一加密方式加密后的腳本文件的應(yīng)用程序安裝包,通過(guò)解壓應(yīng)用程序安裝包,將腳本文件加密存儲(chǔ)到存儲(chǔ)介質(zhì),以及,在應(yīng)用程序運(yùn)行時(shí),攔截應(yīng)用程序的針對(duì)存儲(chǔ)介質(zhì)中的腳本文件的讀寫操作,并對(duì)存儲(chǔ)介質(zhì)中的腳本文件執(zhí)行加密讀寫操作,從而能夠保證腳本文件在應(yīng)用程序安裝包以及在客戶端存儲(chǔ)介質(zhì)中的安全存放,有效提高腳本文件的安全性。
實(shí)施例2
圖2為本申請(qǐng)實(shí)施例提供的一種腳本文件的透明加密裝置的結(jié)構(gòu)示意圖。裝置200包括:接收單元201、存儲(chǔ)單元202、攔截單元203和處理單元204,其中:
接收單元201,用于接收服務(wù)器發(fā)送的應(yīng)用程序安裝包,其中,應(yīng)用程序安裝包中包含通過(guò)第一加密方式加密后的腳本文件;
存儲(chǔ)單元202,用于通過(guò)解壓應(yīng)用程序安裝包,將腳本文件加密存儲(chǔ)到存儲(chǔ)介質(zhì);
攔截單元203,用于在應(yīng)用程序運(yùn)行時(shí),攔截應(yīng)用程序的數(shù)據(jù)操作,其中,該數(shù)據(jù)操作為針對(duì)存儲(chǔ)介質(zhì)中的腳本文件的讀寫操作;
處理單元204,用于對(duì)存儲(chǔ)介質(zhì)中的腳本文件執(zhí)行加密讀寫操作。
可選地,存儲(chǔ)單元202通過(guò)解壓應(yīng)用程序安裝包,將腳本文件加密存儲(chǔ)到存儲(chǔ)介質(zhì),包括:
攔截從應(yīng)用程序安裝包中讀取腳本文件的操作;
通過(guò)第一解密方式對(duì)腳本文件進(jìn)行解密,得到解密后的腳本文件,其中,第一解密方式為與第一加密方式相對(duì)應(yīng)的解密方式;
通過(guò)第二加密方式對(duì)解密后的腳本文件進(jìn)行加密;
將通過(guò)第二加密方式加密后的腳本文件存儲(chǔ)到存儲(chǔ)介質(zhì)。
可選地,處理單元204對(duì)存儲(chǔ)介質(zhì)中的腳本文件執(zhí)行加密讀寫操作,包括:
在確定需要從存儲(chǔ)介質(zhì)中讀取腳本文件時(shí),通過(guò)第二解密方式對(duì)存儲(chǔ)介質(zhì)中的腳本文件進(jìn)行解密,以及,將解密后的腳本文件返回給應(yīng)用程序,其中,第二解密方式為與第一加密方式相對(duì)應(yīng)的解密方式;
在確定需要向存儲(chǔ)介質(zhì)中寫入腳本文件時(shí),通過(guò)第二加密方式對(duì)腳本文件進(jìn)行加密,以及,將加密后的腳本文件存儲(chǔ)在存儲(chǔ)介質(zhì)。
可選地,處理單元204在確定需要向存儲(chǔ)介質(zhì)中寫入腳本文件之前,
接收單元201,還用于接收服務(wù)器發(fā)送的通過(guò)第一加密方式加密后的腳本文件;
存儲(chǔ)單元202,還用于通過(guò)第一解密方式對(duì)腳本文件進(jìn)行解密,得到解密后的腳本文件。
可選地,腳本文件包括:html5腳本文件、javascript腳本文件。
可選地,應(yīng)用程序是基于html5開發(fā)框架開發(fā)得到的。
根據(jù)腳本文件的透明加密裝置,接收單元用于接收服務(wù)器發(fā)送的應(yīng)用程序安裝包,其中,應(yīng)用程序安裝包中包含通過(guò)第一加密方式加密后的腳本文件;存儲(chǔ)單元用于通過(guò)解壓應(yīng)用程序安裝包,將腳本文件加密存儲(chǔ)到存儲(chǔ)介質(zhì);攔截單元用于在應(yīng)用程序運(yùn)行時(shí),攔截應(yīng)用程序的數(shù)據(jù)操作,其中,數(shù)據(jù)操作為針對(duì)存儲(chǔ)介質(zhì)中的腳本文件的讀寫操作;處理單元用于對(duì)存儲(chǔ)介質(zhì)中的腳本文件執(zhí)行加密讀寫操作,從而能夠保證腳本文件在應(yīng)用程序安裝包以及在客戶端存儲(chǔ)介質(zhì)中的安全存放,有效提高腳本文件的安全性。
在20世紀(jì)90年代,對(duì)于一個(gè)技術(shù)的改進(jìn)可以很明顯地區(qū)分是硬件上的改進(jìn)(例如,對(duì)二極管、晶體管、開關(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)可編程門陣列(fieldprogrammablegatearray,fpga))就是這樣一種集成電路,其邏輯功能由用戶對(duì)器件編程來(lái)確定。由設(shè)計(jì)人員自行編程來(lái)把一個(gè)數(shù)字系統(tǒng)“集成”在一片pld上,而不需要請(qǐng)芯片制造廠商來(lái)設(shè)計(jì)和制作專用的集成電路芯片。而且,如今,取代手工地制作集成電路芯片,這種編程也多半改用“邏輯編譯器(logiccompiler)”軟件來(lái)實(shí)現(xiàn),它與程序開發(fā)撰寫時(shí)所用的軟件編譯器相類似,而要編譯之前的原始代碼也得用特定的編程語(yǔ)言來(lái)撰寫,此稱之為硬件描述語(yǔ)言(hardwaredescriptionlanguage,hdl),而hdl也并非僅有一種,而是有許多種,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescriptionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescriptionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescriptionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescriptionlanguage)與verilog。本領(lǐng)域技術(shù)人員也應(yīng)該清楚,只需要將方法流程用上述幾種硬件描述語(yǔ)言稍作邏輯編程并編程到集成電路中,就可以很容易得到實(shí)現(xiàn)該邏輯方法流程的硬件電路。
控制器可以按任何適當(dāng)?shù)姆绞綄?shí)現(xiàn),例如,控制器可以采取例如微處理器或處理器以及存儲(chǔ)可由該(微)處理器執(zhí)行的計(jì)算機(jī)可讀程序代碼(例如軟件或固件)的計(jì)算機(jī)可讀介質(zhì)、邏輯門、開關(guā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)使得控制器以邏輯門、開關(guā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í)現(xiàn)設(shè)備為計(jì)算機(jī)。具體的,計(jì)算機(jī)例如可以為個(gè)人計(jì)算機(jī)、膝上型計(jì)算機(jī)、蜂窩電話、相機(jī)電話、智能電話、個(gè)人數(shù)字助理、媒體播放器、導(dǎo)航設(shè)備、電子郵件設(shè)備、游戲控制臺(tái)、平板計(jì)算機(jī)、可穿戴設(shè)備或者這些設(shè)備中的任何設(shè)備的組合。
為了描述的方便,描述以上裝置時(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ì)(包括但不限于磁盤存儲(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ī)、專用計(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)和/或非易失性內(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)、其他類型的隨機(jī)存取存儲(chǔ)器(ram)、只讀存儲(chǔ)器(rom)、電可擦除可編程只讀存儲(chǔ)器(eeprom)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲(chǔ)器(cd-rom)、數(shù)字多功能光盤(dvd)或其他光學(xué)存儲(chǔ)、磁盒式磁帶,磁帶磁磁盤存儲(chǔ)或其他磁性存儲(chǔ)設(shè)備或任何其他非傳輸介質(zhì),可用于存儲(chǔ)可以被計(jì)算設(shè)備訪問(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è)備中還存在另外的相同要素。
本申請(qǐng)可以在由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對(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ō)明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見即可,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處。尤其,對(duì)于系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡(jiǎn)單,相關(guā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)。