本發(fā)明涉及移動(dòng)終端技術(shù)領(lǐng)域,尤其涉及一種更新內(nèi)存數(shù)據(jù)的方法、裝置及終端。
背景技術(shù):
大部分論壇、網(wǎng)站為了方便管理,都進(jìn)行了關(guān)于敏感詞的設(shè)定。在大多數(shù)網(wǎng)站,敏感詞一般是指帶有敏感政治傾向(或反執(zhí)政黨傾向)、暴力傾向、不健康色彩的詞或不文明語(yǔ),也有一些網(wǎng)站根據(jù)自身實(shí)際情況,設(shè)定一些只適用于本網(wǎng)站的特殊敏感詞。例如,當(dāng)用戶發(fā)貼的時(shí)候,該貼中帶有某些事先設(shè)定的詞時(shí),那么這個(gè)貼是不能發(fā)出的,或者該貼中的敏感詞被自動(dòng)替換成星號(hào)(*)或叉號(hào)(x)等。
在智能終端的推送系統(tǒng)中,也針對(duì)各種推送消息的需要進(jìn)行了敏感詞的過(guò)濾。其中,需要后臺(tái)人員在后臺(tái)管理界面中輸入相關(guān)敏感詞信息,由使用該敏感詞庫(kù)進(jìn)行過(guò)濾的應(yīng)用程序,加載該敏感詞庫(kù)信息至內(nèi)存中,每次發(fā)送信息之前,由該應(yīng)用程序獲取推送消息內(nèi)容,與已經(jīng)加載至內(nèi)存中的敏感詞庫(kù)進(jìn)行比較,如果其中存在相關(guān)的敏感詞則對(duì)其進(jìn)行過(guò)濾或者屏蔽。
在上述描述的對(duì)推送消息進(jìn)行敏感詞過(guò)濾的過(guò)程中存在這樣一個(gè)問(wèn)題:如果是在高并發(fā)的情況下,應(yīng)用程序已經(jīng)在使用內(nèi)存中的敏感詞庫(kù)進(jìn)行字段過(guò)濾,而與此同時(shí),后臺(tái)管理人員也正在進(jìn)行敏感詞庫(kù)的相關(guān)操作,例如:新增、修改或者刪除敏感詞庫(kù)中的敏感詞,這些與敏感詞庫(kù)相關(guān)的操作都會(huì)引發(fā)同步更新內(nèi)存中的敏感詞庫(kù),這樣一來(lái),就會(huì)造成敏感詞庫(kù)在使用過(guò)程中出現(xiàn)問(wèn)題及報(bào)錯(cuò)。
如何避免在高并發(fā)的情況下,終端中的應(yīng)用程序在使用內(nèi)存中的敏感詞庫(kù)數(shù)據(jù)時(shí)對(duì)該敏感詞庫(kù)數(shù)據(jù)進(jìn)行更新而引發(fā)的問(wèn)題,提高系統(tǒng)性能,目前現(xiàn)有技術(shù)中還沒(méi)有相關(guān)的解決方案。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的主要目的在于提出一種更新內(nèi)存數(shù)據(jù)的方法、裝置及終端,避免在高并發(fā)的情況下,終端中的應(yīng)用程序在使用內(nèi)存中的數(shù)據(jù)時(shí)對(duì)該數(shù)據(jù)進(jìn)行更新而引發(fā)的問(wèn)題,提高系統(tǒng)性能。
為實(shí)現(xiàn)上述目的,本發(fā)明實(shí)施例提供了一種更新內(nèi)存數(shù)據(jù)的方法,包括:
將數(shù)據(jù)庫(kù)中保存的第一數(shù)據(jù)加載至內(nèi)存中,并使用加載至內(nèi)存中的所述第一數(shù)據(jù);
判斷是否需要對(duì)加載至內(nèi)存中的所述第一數(shù)據(jù)進(jìn)行更新,在需要對(duì)加載至內(nèi)存中的所述第一數(shù)據(jù)進(jìn)行更新時(shí),判斷加載至內(nèi)存中的所述第一數(shù)據(jù)是否正在使用中,如果否,則更新所述加載至內(nèi)存中的所述第一數(shù)據(jù)。
可選地,將所述數(shù)據(jù)庫(kù)中保存的所述第一數(shù)據(jù)加載至內(nèi)存中時(shí),同時(shí)將所述數(shù)據(jù)庫(kù)中保存的所述第一數(shù)據(jù)的當(dāng)前版本號(hào)作為加載至內(nèi)存中的所述第一數(shù)據(jù)的版本號(hào)加載至內(nèi)存中;
在對(duì)所述數(shù)據(jù)庫(kù)中保存的所述第一數(shù)據(jù)進(jìn)行操作時(shí),更新所述數(shù)據(jù)庫(kù)中保存的所述第一數(shù)據(jù)的所述版本號(hào);
其中,所述判斷是否需要對(duì)加載至內(nèi)存中的所述第一數(shù)據(jù)進(jìn)行更新包括:
啟動(dòng)守護(hù)線程;
其中,所述守護(hù)線程定期輪詢是否需要對(duì)加載至內(nèi)存中的所述第一數(shù)據(jù)進(jìn)行更新,當(dāng)判斷到所述數(shù)據(jù)庫(kù)中保存的所述第一數(shù)據(jù)的版本號(hào)與加載至內(nèi)存中的所述第一數(shù)據(jù)的版本號(hào)不一致,則需要對(duì)加載至內(nèi)存中的所述第一數(shù)據(jù)進(jìn)行更新。
可選地,在判斷加載至內(nèi)存中的所述第一數(shù)據(jù)是否正在使用中之前,該方法還包括:
設(shè)置使用加載至內(nèi)存中的所述第一數(shù)據(jù)的標(biāo)識(shí),并為所述標(biāo)識(shí)設(shè)定初始值;
在使用所述加載至內(nèi)存中的所述第一數(shù)據(jù)時(shí),將所述標(biāo)識(shí)增加預(yù)設(shè)步長(zhǎng)值;在不使用所述加載至內(nèi)存中的所述第一數(shù)據(jù)時(shí),將所述標(biāo)識(shí)減少所述預(yù)設(shè)步長(zhǎng)值;
其中,所述判斷加載至內(nèi)存中的所述第一數(shù)據(jù)是否正在使用中包括:
在判斷到所述標(biāo)識(shí)不為初始值時(shí),則加載至內(nèi)存中的所述第一數(shù)據(jù)正在使用中,否則,則加載至內(nèi)存中的所述第一數(shù)據(jù)不在使用中;
其中,所述加載至內(nèi)存中的所述第一數(shù)據(jù)包括敏感詞庫(kù)數(shù)據(jù)。
本發(fā)明實(shí)施例還提供了一種更新內(nèi)存數(shù)據(jù)的裝置,包括:
內(nèi)存數(shù)據(jù)處理模塊,設(shè)置為將數(shù)據(jù)庫(kù)中保存的第一數(shù)據(jù)加載至內(nèi)存中,并使用加載至內(nèi)存中的所述第一數(shù)據(jù);
內(nèi)存數(shù)據(jù)更新模塊,設(shè)置為判斷是否需要對(duì)加載至內(nèi)存中的所述第一數(shù)據(jù)進(jìn)行更新,在需要對(duì)加載至內(nèi)存中的所述第一數(shù)據(jù)進(jìn)行更新時(shí),判斷加載至內(nèi)存中的所述第一數(shù)據(jù)是否正在使用中,如果否,則更新加載至內(nèi)存中的所述第一數(shù)據(jù)。
可選地,該裝置還包括:
所述內(nèi)存數(shù)據(jù)處理模塊,還設(shè)置為將所述數(shù)據(jù)庫(kù)中保存的所述第一數(shù)據(jù)加載至內(nèi)存中時(shí),同時(shí)將所述數(shù)據(jù)庫(kù)中保存的所述第一數(shù)據(jù)的當(dāng)前版本號(hào)作為加載至內(nèi)存中的所述第一數(shù)據(jù)的版本號(hào)加載至內(nèi)存中;
數(shù)據(jù)庫(kù)數(shù)據(jù)版本號(hào)更新模塊,設(shè)置為在對(duì)所述數(shù)據(jù)庫(kù)中保存的所述第一數(shù)據(jù)進(jìn)行操作時(shí),更新所述數(shù)據(jù)庫(kù)中保存的所述第一數(shù)據(jù)的所述版本號(hào);
其中,所述內(nèi)存數(shù)據(jù)更新模塊具體包括:
第一更新判斷模塊,設(shè)置為啟動(dòng)守護(hù)線程;其中,所述守護(hù)線程定期輪詢是否需要對(duì)加載至內(nèi)存中的所述第一數(shù)據(jù)進(jìn)行更新,當(dāng)判斷到所述數(shù)據(jù)庫(kù)中保存的所述第一數(shù)據(jù)的版本號(hào)與加載至內(nèi)存中的所述第一數(shù)據(jù)的版本號(hào)不一致,則需要對(duì)加載至內(nèi)存中的所述第一數(shù)據(jù)進(jìn)行更新。
可選地,所述內(nèi)存數(shù)據(jù)更新模塊具體還包括:
標(biāo)識(shí)處理模塊,設(shè)置為設(shè)置使用加載至內(nèi)存中的所述第一數(shù)據(jù)的標(biāo)識(shí),并為所述標(biāo)識(shí)設(shè)定初始值;在使用所述加載至內(nèi)存中的所述第一數(shù)據(jù)時(shí),將所述標(biāo)識(shí)增加預(yù)設(shè)步長(zhǎng)值;在不使用所述加載至內(nèi)存中的所述第一數(shù)據(jù)時(shí),將所述標(biāo)識(shí)減少所述預(yù)設(shè)步長(zhǎng)值;
第二更新判斷模塊,設(shè)置為在判斷到所述標(biāo)識(shí)不為初始值時(shí),則加載至內(nèi)存中的所述第一數(shù)據(jù)正在使用中,否則,則加載至內(nèi)存中的所述第一數(shù)據(jù)不在使用中;
其中,所述加載至內(nèi)存中的所述第一數(shù)據(jù)包括敏感詞庫(kù)數(shù)據(jù)。
本發(fā)明實(shí)施例還提供了一種終端,包括處理器和計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中存儲(chǔ)有指令,當(dāng)所述指令被所述處理器執(zhí)行時(shí),實(shí)現(xiàn)如上所述的方法。
本發(fā)明實(shí)施例還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)以下步驟:
將數(shù)據(jù)庫(kù)中保存的第一數(shù)據(jù)加載至內(nèi)存中,并使用加載至內(nèi)存中的所述第一數(shù)據(jù);
判斷是否需要對(duì)加載至內(nèi)存中的所述第一數(shù)據(jù)進(jìn)行更新,在需要對(duì)加載至內(nèi)存中的所述第一數(shù)據(jù)進(jìn)行更新時(shí),判斷加載至內(nèi)存中的所述第一數(shù)據(jù)是否正在使用中,如果否,則更新加載至內(nèi)存中的所述第一數(shù)據(jù)。
可選地,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)還實(shí)現(xiàn)以下步驟:
將所述數(shù)據(jù)庫(kù)中保存的所述第一數(shù)據(jù)加載至內(nèi)存中時(shí),同時(shí)將所述數(shù)據(jù)庫(kù)中保存的所述第一數(shù)據(jù)的當(dāng)前版本號(hào)作為加載至內(nèi)存中的所述第一數(shù)據(jù)的版本號(hào)加載至內(nèi)存中;
在對(duì)所述數(shù)據(jù)庫(kù)中保存的所述第一數(shù)據(jù)進(jìn)行操作時(shí),更新所述數(shù)據(jù)庫(kù)中保存的所述第一數(shù)據(jù)的所述版本號(hào);
其中,所述判斷是否需要對(duì)加載至內(nèi)存中的所述第一數(shù)據(jù)進(jìn)行更新包括:
啟動(dòng)守護(hù)線程;
其中,所述守護(hù)線程定期輪詢是否需要對(duì)加載至內(nèi)存中的所述第一數(shù)據(jù)進(jìn)行更新,當(dāng)判斷到所述數(shù)據(jù)庫(kù)中保存的所述第一數(shù)據(jù)的版本號(hào)與加載至內(nèi)存中的所述第一數(shù)據(jù)的版本號(hào)不一致,則需要對(duì)加載至內(nèi)存中的所述第一數(shù)據(jù)進(jìn)行更新。
可選地,在判斷加載至內(nèi)存中的所述第一數(shù)據(jù)是否正在使用中之前,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)還實(shí)現(xiàn)以下步驟:
設(shè)置使用加載至內(nèi)存中的所述第一數(shù)據(jù)的標(biāo)識(shí),并為所述標(biāo)識(shí)設(shè)定初始值;
在使用加載至內(nèi)存中的所述第一數(shù)據(jù)時(shí),將所述標(biāo)識(shí)增加預(yù)設(shè)步長(zhǎng)值;在不使用加載至內(nèi)存中的所述第一數(shù)據(jù)時(shí),將所述標(biāo)識(shí)減少所述預(yù)設(shè)步長(zhǎng)值;
其中,所述判斷加載至內(nèi)存中的所述第一數(shù)據(jù)是否正在使用中包括:
在判斷到所述標(biāo)識(shí)不為初始值時(shí),則加載至內(nèi)存中的所述第一數(shù)據(jù)正在使用中,否則,則加載至內(nèi)存中的所述第一數(shù)據(jù)不在使用中;
其中,所述加載至內(nèi)存中的所述第一數(shù)據(jù)包括敏感詞庫(kù)數(shù)據(jù)。
本發(fā)明提出的技術(shù)方案包括:將數(shù)據(jù)庫(kù)中保存的第一數(shù)據(jù)加載至內(nèi)存中,并使用所述加載至內(nèi)存中的第一數(shù)據(jù);判斷是否需要對(duì)加載至內(nèi)存中的第一數(shù)據(jù)進(jìn)行更新,在需要對(duì)加載至內(nèi)存中的第一數(shù)據(jù)進(jìn)行更新時(shí),判斷加載至內(nèi)存中的第一數(shù)據(jù)是否正在使用中,如果否,則更新所述加載至內(nèi)存中的第一數(shù)據(jù)。本發(fā)明在需要對(duì)加載至內(nèi)存中的第一數(shù)據(jù)進(jìn)行更新時(shí),通過(guò)判斷加載至內(nèi)存中的第一數(shù)據(jù)是否正在使用中,并只有在未使用時(shí)才對(duì)加載至內(nèi)存中的第一數(shù)據(jù)進(jìn)行更新,從而避免了在高并發(fā)的情況下,終端中的應(yīng)用程序在使用內(nèi)存中的數(shù)據(jù)時(shí)對(duì)該數(shù)據(jù)進(jìn)行更新而引發(fā)的問(wèn)題,提高了系統(tǒng)性能。
附圖說(shuō)明
圖1為實(shí)現(xiàn)本發(fā)明各個(gè)實(shí)施例一可選的移動(dòng)終端的硬件結(jié)構(gòu)示意圖;
圖2為本發(fā)明圖1中的移動(dòng)終端的無(wú)線通信系統(tǒng)示意圖;
圖3為本發(fā)明實(shí)現(xiàn)更新內(nèi)存數(shù)據(jù)的方法的流程圖;
圖4為本發(fā)明實(shí)現(xiàn)更新內(nèi)存數(shù)據(jù)的裝置的組成結(jié)構(gòu)示意圖。
本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說(shuō)明。
具體實(shí)施方式
應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
現(xiàn)在將參考附圖描述實(shí)現(xiàn)本發(fā)明各個(gè)實(shí)施例的移動(dòng)終端。在后續(xù)的描述中,使用用于表示元件的諸如“模塊”、“部件”或“單元”的后綴僅為了有利于本發(fā)明的說(shuō)明,其本身并沒(méi)有特定的意義。因此,"模塊"與"部件"可以混合地使用。
移動(dòng)終端可以以各種形式來(lái)實(shí)施。例如,本發(fā)明中描述的終端可以包括諸如移動(dòng)電話、智能電話、筆記本電腦、數(shù)字廣播接收器、pda(個(gè)人數(shù)字助理)、pad(平板電腦)、pmp(便攜式多媒體播放器)、導(dǎo)航裝置等等的移動(dòng)終端以及諸如數(shù)字tv、臺(tái)式計(jì)算機(jī)等等的固定終端。下面,假設(shè)終端是移動(dòng)終端。然而,本領(lǐng)域技術(shù)人員將理解的是,除了特別用于移動(dòng)目的的元件之外,根據(jù)本發(fā)明的實(shí)施方式的構(gòu)造也能夠應(yīng)用于固定類(lèi)型的終端。
圖1為實(shí)現(xiàn)本發(fā)明各個(gè)實(shí)施例一可選的移動(dòng)終端的硬件結(jié)構(gòu)示意。
移動(dòng)終端100可以包括無(wú)線通信單元110、a/v(音頻/視頻)輸入單元120、用戶輸入單元130、感測(cè)單元140、輸出單元150、存儲(chǔ)器160、接口單元170、控制器180和電源單元190等等。圖1示出了具有各種組件的移動(dòng)終端,但是應(yīng)理解的是,并不要求實(shí)施所有示出的組件??梢蕴娲貙?shí)施更多或更少的組件。將在下面詳細(xì)描述移動(dòng)終端的元件。
無(wú)線通信單元110通常包括一個(gè)或多個(gè)組件,其允許移動(dòng)終端100與無(wú)線通信系統(tǒng)或網(wǎng)絡(luò)之間的無(wú)線電通信。例如,無(wú)線通信單元可以包括廣播接收模塊111、移動(dòng)通信模塊112、無(wú)線互聯(lián)網(wǎng)模塊113、短程通信模塊114和位置信息模塊115中的至少一個(gè)。
廣播接收模塊111經(jīng)由廣播信道從外部廣播管理服務(wù)器接收廣播信號(hào)和/或廣播相關(guān)信息。廣播信道可以包括衛(wèi)星信道和/或地面信道。廣播管理服務(wù)器可以是生成并發(fā)送廣播信號(hào)和/或廣播相關(guān)信息的服務(wù)器或者接收之前生成的廣播信號(hào)和/或廣播相關(guān)信息并且將其發(fā)送給終端的服務(wù)器。廣播信號(hào)可以包括tv廣播信號(hào)、無(wú)線電廣播信號(hào)、數(shù)據(jù)廣播信號(hào)等等。而且,廣播信號(hào)可以進(jìn)一步包括與tv或無(wú)線電廣播信號(hào)組合的廣播信號(hào)。廣播相關(guān)信息也可以經(jīng)由移動(dòng)通信網(wǎng)絡(luò)提供,并且在該情況下,廣播相關(guān)信息可以由移動(dòng)通信模塊112來(lái)接收。廣播信號(hào)可以以各種形式存在,例如,其可以以數(shù)字多媒體廣播(dmb)的電子節(jié)目指南(epg)、數(shù)字視頻廣播手持(dvb-h)的電子服務(wù)指南(esg)等等的形式而存在。廣播接收模塊111可以通過(guò)使用各種類(lèi)型的廣播系統(tǒng)接收信號(hào)廣播。特別地,廣播接收模塊111可以通過(guò)使用諸如多媒體廣播-地面(dmb-t)、數(shù)字多媒體廣播-衛(wèi)星(dmb-s)、數(shù)字視頻廣播-手持(dvb-h),前向鏈路媒體(mediaflo@)的數(shù)據(jù)廣播系統(tǒng)、地面數(shù)字廣播綜合服務(wù)(isdb-t)等等的數(shù)字廣播系統(tǒng)接收數(shù)字廣播。廣播接收模塊111可以被構(gòu)造為適合提供廣播信號(hào)的各種廣播系統(tǒng)以及上述數(shù)字廣播系統(tǒng)。經(jīng)由廣播接收模塊111接收的廣播信號(hào)和/或廣播相關(guān)信息可以存儲(chǔ)在存儲(chǔ)器160(或者其它類(lèi)型的存儲(chǔ)介質(zhì))中。
移動(dòng)通信模塊112將無(wú)線電信號(hào)發(fā)送到基站(例如,接入點(diǎn)、節(jié)點(diǎn)b等等)、外部終端以及服務(wù)器中的至少一個(gè)和/或從其接收無(wú)線電信號(hào)。這樣的無(wú)線電信號(hào)可以包括語(yǔ)音通話信號(hào)、視頻通話信號(hào)、或者根據(jù)文本和/或多媒體消息發(fā)送和/或接收的各種類(lèi)型的數(shù)據(jù)。
無(wú)線互聯(lián)網(wǎng)模塊113支持移動(dòng)終端的無(wú)線互聯(lián)網(wǎng)接入。該模塊可以內(nèi)部或外部地耦接到終端。該模塊所涉及的無(wú)線互聯(lián)網(wǎng)接入技術(shù)可以包括wlan(無(wú)線lan)(wi-fi)、wibro(無(wú)線寬帶)、wimax(全球微波互聯(lián)接入)、hsdpa(高速下行鏈路分組接入)等等。
短程通信模塊114是用于支持短程通信的模塊。短程通信技術(shù)的一些示例包括藍(lán)牙tm、射頻識(shí)別(rfid)、紅外數(shù)據(jù)協(xié)會(huì)(irda)、超寬帶(uwb)、紫蜂tm等等。
位置信息模塊115是用于檢查或獲取移動(dòng)終端的位置信息的模塊。位置信息模塊的典型示例是gps(全球定位系統(tǒng))。根據(jù)當(dāng)前的技術(shù),gps模塊115計(jì)算來(lái)自三個(gè)或更多衛(wèi)星的距離信息和準(zhǔn)確的時(shí)間信息并且對(duì)于計(jì)算的信息應(yīng)用三角測(cè)量法,從而根據(jù)經(jīng)度、緯度和高度準(zhǔn)確地計(jì)算三維當(dāng)前位置信息。當(dāng)前,用于計(jì)算位置和時(shí)間信息的方法使用三顆衛(wèi)星并且通過(guò)使用另外的一顆衛(wèi)星校正計(jì)算出的位置和時(shí)間信息的誤差。此外,gps模塊115能夠通過(guò)實(shí)時(shí)地連續(xù)計(jì)算當(dāng)前位置信息來(lái)計(jì)算速度信息。
a/v輸入單元120用于接收音頻或視頻信號(hào)。a/v輸入單元120可以包括相機(jī)121和麥克風(fēng)122,相機(jī)121對(duì)在視頻捕獲模式或圖像捕獲模式中由圖像捕獲裝置獲得的靜態(tài)圖片或視頻的圖像數(shù)據(jù)進(jìn)行處理。處理后的圖像幀可以顯示在顯示單元151上。經(jīng)相機(jī)121處理后的圖像幀可以存儲(chǔ)在存儲(chǔ)器160(或其它存儲(chǔ)介質(zhì))中或者經(jīng)由無(wú)線通信單元110進(jìn)行發(fā)送,可以根據(jù)移動(dòng)終端的構(gòu)造提供兩個(gè)或更多相機(jī)1210。麥克風(fēng)122可以在電話通話模式、記錄模式、語(yǔ)音識(shí)別模式等等運(yùn)行模式中經(jīng)由麥克風(fēng)接收聲音(音頻數(shù)據(jù)),并且能夠?qū)⑦@樣的聲音處理為音頻數(shù)據(jù)。處理后的音頻(語(yǔ)音)數(shù)據(jù)可以在電話通話模式的情況下轉(zhuǎn)換為可經(jīng)由移動(dòng)通信模塊112發(fā)送到移動(dòng)通信基站的格式輸出。麥克風(fēng)122可以實(shí)施各種類(lèi)型的噪聲消除(或抑制)算法以消除(或抑制)在接收和發(fā)送音頻信號(hào)的過(guò)程中產(chǎn)生的噪聲或者干擾。
用戶輸入單元130可以根據(jù)用戶輸入的命令生成鍵輸入數(shù)據(jù)以控制移動(dòng)終端的各種操作。用戶輸入單元130允許用戶輸入各種類(lèi)型的信息,并且可以包括鍵盤(pán)、鍋?zhàn)衅?、觸摸板(例如,檢測(cè)由于被接觸而導(dǎo)致的電阻、壓力、電容等等的變化的觸敏組件)、滾輪、搖桿等等。特別地,當(dāng)觸摸板以層的形式疊加在顯示單元151上時(shí),可以形成觸摸屏。
感測(cè)單元140檢測(cè)移動(dòng)終端100的當(dāng)前狀態(tài),(例如,移動(dòng)終端100的打開(kāi)或關(guān)閉狀態(tài))、移動(dòng)終端100的位置、用戶對(duì)于移動(dòng)終端100的接觸(即,觸摸輸入)的有無(wú)、移動(dòng)終端100的取向、移動(dòng)終端100的加速或減速移動(dòng)和方向等等,并且生成用于控制移動(dòng)終端100的操作的命令或信號(hào)。例如,當(dāng)移動(dòng)終端100實(shí)施為滑動(dòng)型移動(dòng)電話時(shí),感測(cè)單元140可以感測(cè)該滑動(dòng)型電話是打開(kāi)還是關(guān)閉。另外,感測(cè)單元140能夠檢測(cè)電源單元190是否提供電力或者接口單元170是否與外部裝置耦接。感測(cè)單元140可以包括接近傳感器1410將在下面結(jié)合觸摸屏來(lái)對(duì)此進(jìn)行描述。
接口單元170用作至少一個(gè)外部裝置與移動(dòng)終端100連接可以通過(guò)的接口。例如,外部裝置可以包括有線或無(wú)線頭戴式耳機(jī)端口、外部電源(或電池充電器)端口、有線或無(wú)線數(shù)據(jù)端口、存儲(chǔ)卡端口、用于連接具有識(shí)別模塊的裝置的端口、音頻輸入/輸出(i/o)端口、視頻i/o端口、耳機(jī)端口等等。識(shí)別模塊可以是存儲(chǔ)用于驗(yàn)證用戶使用移動(dòng)終端100的各種信息并且可以包括用戶識(shí)別模塊(uim)、客戶識(shí)別模塊(sim)、通用客戶識(shí)別模塊(usim)等等。另外,具有識(shí)別模塊的裝置(下面稱(chēng)為"識(shí)別裝置")可以采取智能卡的形式,因此,識(shí)別裝置可以經(jīng)由端口或其它連接裝置與移動(dòng)終端100連接。接口單元170可以用于接收來(lái)自外部裝置的輸入(例如,數(shù)據(jù)信息、電力等等)并且將接收到的輸入傳輸?shù)揭苿?dòng)終端100內(nèi)的一個(gè)或多個(gè)元件或者可以用于在移動(dòng)終端和外部裝置之間傳輸數(shù)據(jù)。
另外,當(dāng)移動(dòng)終端100與外部底座連接時(shí),接口單元170可以用作允許通過(guò)其將電力從底座提供到移動(dòng)終端100的路徑或者可以用作允許從底座輸入的各種命令信號(hào)通過(guò)其傳輸?shù)揭苿?dòng)終端的路徑。從底座輸入的各種命令信號(hào)或電力可以用作用于識(shí)別移動(dòng)終端是否準(zhǔn)確地安裝在底座上的信號(hào)。輸出單元150被構(gòu)造為以視覺(jué)、音頻和/或觸覺(jué)方式提供輸出信號(hào)(例如,音頻信號(hào)、視頻信號(hào)、警報(bào)信號(hào)、振動(dòng)信號(hào)等等)。輸出單元150可以包括顯示單元151、音頻輸出模塊152、警報(bào)單元153等等。
顯示單元151可以顯示在移動(dòng)終端100中處理的信息。例如,當(dāng)移動(dòng)終端100處于電話通話模式時(shí),顯示單元151可以顯示與通話或其它通信(例如,文本消息收發(fā)、多媒體文件下載等等)相關(guān)的用戶界面(ui)或圖形用戶界面(gui)。當(dāng)移動(dòng)終端100處于視頻通話模式或者圖像捕獲模式時(shí),顯示單元151可以顯示捕獲的圖像和/或接收的圖像、示出視頻或圖像以及相關(guān)功能的ui或gui等等。
同時(shí),當(dāng)顯示單元151和觸摸板以層的形式彼此疊加以形成觸摸屏?xí)r,顯示單元151可以用作輸入裝置和輸出裝置。顯示單元151可以包括液晶顯示器(lcd)、薄膜晶體管lcd(tft-lcd)、有機(jī)發(fā)光二極管(oled)顯示器、柔性顯示器、三維(3d)顯示器等等中的至少一種。這些顯示器中的一些可以被構(gòu)造為透明狀以允許用戶從外部觀看,這可以稱(chēng)為透明顯示器,典型的透明顯示器可以例如為toled(透明有機(jī)發(fā)光二極管)顯示器等等。根據(jù)特定想要的實(shí)施方式,移動(dòng)終端100可以包括兩個(gè)或更多顯示單元(或其它顯示裝置),例如,移動(dòng)終端可以包括外部顯示單元(未示出)和內(nèi)部顯示單元(未示出)。觸摸屏可用于檢測(cè)觸摸輸入壓力以及觸摸輸入位置和觸摸輸入面積。
音頻輸出模塊152可以在移動(dòng)終端處于呼叫信號(hào)接收模式、通話模式、記錄模式、語(yǔ)音識(shí)別模式、廣播接收模式等等模式下時(shí),將無(wú)線通信單元110接收的或者在存儲(chǔ)器160中存儲(chǔ)的音頻數(shù)據(jù)轉(zhuǎn)換音頻信號(hào)并且輸出為聲音。而且,音頻輸出模塊152可以提供與移動(dòng)終端100執(zhí)行的特定功能相關(guān)的音頻輸出(例如,呼叫信號(hào)接收聲音、消息接收聲音等等)。音頻輸出模塊152可以包括揚(yáng)聲器、蜂鳴器等等。
警報(bào)單元153可以提供輸出以將事件的發(fā)生通知給移動(dòng)終端100。典型的事件可以包括呼叫接收、消息接收、鍵信號(hào)輸入、觸摸輸入等等。除了音頻或視頻輸出之外,警報(bào)單元153可以以不同的方式提供輸出以通知事件的發(fā)生。例如,警報(bào)單元153可以以振動(dòng)的形式提供輸出,當(dāng)接收到呼叫、消息或一些其它進(jìn)入通信(incomingcommunication)時(shí),警報(bào)單元153可以提供觸覺(jué)輸出(即,振動(dòng))以將其通知給用戶。通過(guò)提供這樣的觸覺(jué)輸出,即使在用戶的移動(dòng)電話處于用戶的口袋中時(shí),用戶也能夠識(shí)別出各種事件的發(fā)生。警報(bào)單元153也可以經(jīng)由顯示單元151或音頻輸出模塊152提供通知事件的發(fā)生的輸出。
存儲(chǔ)器160可以存儲(chǔ)由控制器180執(zhí)行的處理和控制操作的軟件程序等等,或者可以暫時(shí)地存儲(chǔ)己經(jīng)輸出或?qū)⒁敵龅臄?shù)據(jù)(例如,電話簿、消息、靜態(tài)圖像、視頻等等)。而且,存儲(chǔ)器160可以存儲(chǔ)關(guān)于當(dāng)觸摸施加到觸摸屏?xí)r輸出的各種方式的振動(dòng)和音頻信號(hào)的數(shù)據(jù)。
存儲(chǔ)器160可以包括至少一種類(lèi)型的存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)包括閃存、硬盤(pán)、多媒體卡、卡型存儲(chǔ)器(例如,sd或dx存儲(chǔ)器等等)、隨機(jī)訪問(wèn)存儲(chǔ)器(ram)、靜態(tài)隨機(jī)訪問(wèn)存儲(chǔ)器(sram)、只讀存儲(chǔ)器(rom)、電可擦除可編程只讀存儲(chǔ)器(eeprom)、可編程只讀存儲(chǔ)器(prom)、磁性存儲(chǔ)器、磁盤(pán)、光盤(pán)等等。而且,移動(dòng)終端100可以與通過(guò)網(wǎng)絡(luò)連接執(zhí)行存儲(chǔ)器160的存儲(chǔ)功能的網(wǎng)絡(luò)存儲(chǔ)裝置協(xié)作。
控制器180通??刂埔苿?dòng)終端的總體操作。例如,控制器180執(zhí)行與語(yǔ)音通話、數(shù)據(jù)通信、視頻通話等等相關(guān)的控制和處理。另外,控制器180可以包括用于再現(xiàn)(或回放)多媒體數(shù)據(jù)的多媒體模塊1810,多媒體模塊1810可以構(gòu)造在控制器180內(nèi),或者可以構(gòu)造為與控制器180分離。控制器180可以執(zhí)行模式識(shí)別處理,以將在觸摸屏上執(zhí)行的手寫(xiě)輸入或者圖片繪制輸入識(shí)別為字符或圖像。
電源單元190在控制器180的控制下接收外部電力或內(nèi)部電力并且提供操作各元件和組件所需的適當(dāng)?shù)碾娏Α?/p>
這里描述的各種實(shí)施方式可以以使用例如計(jì)算機(jī)軟件、硬件或其任何組合的計(jì)算機(jī)可讀介質(zhì)來(lái)實(shí)施。對(duì)于硬件實(shí)施,這里描述的實(shí)施方式可以通過(guò)使用特定用途集成電路(asic)、數(shù)字信號(hào)處理器(dsp)、數(shù)字信號(hào)處理裝置(dspd)、可編程邏輯裝置(pld)、現(xiàn)場(chǎng)可編程門(mén)陣列(fpga)、處理器、控制器、微控制器、微處理器、被設(shè)計(jì)為執(zhí)行這里描述的功能的電子單元中的至少一種來(lái)實(shí)施,在一些情況下,這樣的實(shí)施方式可以在控制器180中實(shí)施。對(duì)于軟件實(shí)施,諸如過(guò)程或功能的實(shí)施方式可以與允許執(zhí)行至少一種功能或操作的單獨(dú)的軟件模塊來(lái)實(shí)施。軟件代碼可以由以任何適當(dāng)?shù)木幊陶Z(yǔ)言編寫(xiě)的軟件應(yīng)用程序(或程序)來(lái)實(shí)施,軟件代碼可以存儲(chǔ)在存儲(chǔ)器160中并且由控制器180執(zhí)行。
至此,己經(jīng)按照其功能描述了移動(dòng)終端。下面,為了簡(jiǎn)要起見(jiàn),將描述諸如折疊型、直板型、擺動(dòng)型、滑動(dòng)型移動(dòng)終端等等的各種類(lèi)型的移動(dòng)終端中的滑動(dòng)型移動(dòng)終端作為示例。因此,本發(fā)明能夠應(yīng)用于任何類(lèi)型的移動(dòng)終端,并且不限于滑動(dòng)型移動(dòng)終端。
如圖1中所示的移動(dòng)終端100可以被構(gòu)造為利用經(jīng)由幀或分組發(fā)送數(shù)據(jù)的諸如有線和無(wú)線通信系統(tǒng)以及基于衛(wèi)星的通信系統(tǒng)來(lái)操作。
現(xiàn)在將參考圖2描述其中根據(jù)本發(fā)明的移動(dòng)終端能夠操作的通信系統(tǒng)。
這樣的通信系統(tǒng)可以使用不同的空中接口和/或物理層。例如,由通信系統(tǒng)使用的空中接口包括例如頻分多址(fdma)、時(shí)分多址(tdma)、碼分多址(cdma)和通用移動(dòng)通信系統(tǒng)(umts)(特別地,長(zhǎng)期演進(jìn)(lte))、全球移動(dòng)通信系統(tǒng)(gsm)等等。作為非限制性示例,下面的描述涉及cdma通信系統(tǒng),但是這樣的教導(dǎo)同樣適用于其它類(lèi)型的系統(tǒng)。
參考圖2,cdma無(wú)線通信系統(tǒng)可以包括多個(gè)移動(dòng)終端100、多個(gè)基站(bs)270、基站控制器(bsc)275和移動(dòng)交換中心(msc)280。msc280被構(gòu)造為與公共電話交換網(wǎng)絡(luò)(pstn)290形成接口。msc280還被構(gòu)造為與可以經(jīng)由回程線路耦接到基站270的bsc275形成接口?;爻叹€路可以根據(jù)若干己知的接口中的任一種來(lái)構(gòu)造,所述接口包括例如e1/t1、atm,ip、ppp、幀中繼、hdsl、adsl或xdsl。將理解的是,如圖2中所示的系統(tǒng)可以包括多個(gè)bsc2750。
每個(gè)bs270可以服務(wù)一個(gè)或多個(gè)分區(qū)(或區(qū)域),由多向天線或指向特定方向的天線覆蓋的每個(gè)分區(qū)放射狀地遠(yuǎn)離bs270?;蛘?,每個(gè)分區(qū)可以由用于分集接收的兩個(gè)或更多天線覆蓋。每個(gè)bs270可以被構(gòu)造為支持多個(gè)頻率分配,并且每個(gè)頻率分配具有特定頻譜(例如,1.25mhz,5mhz等等)。
分區(qū)與頻率分配的交叉可以被稱(chēng)為cdma信道。bs270也可以被稱(chēng)為基站收發(fā)器子系統(tǒng)(bts)或者其它等效術(shù)語(yǔ)。在這樣的情況下,術(shù)語(yǔ)"基站"可以用于籠統(tǒng)地表示單個(gè)bsc275和至少一個(gè)bs270?;疽部梢员环Q(chēng)為"蜂窩站"?;蛘撸囟╞s270的各分區(qū)可以被稱(chēng)為多個(gè)蜂窩站。
參考圖2,cdma無(wú)線通信系統(tǒng)可以包括多個(gè)移動(dòng)終端100、多個(gè)基站(bs)270、基站控制器(bsc)275和移動(dòng)交換中心(msc)280。msc280被構(gòu)造為與公共電話交換網(wǎng)絡(luò)(pstn)290形成接口。msc280還被構(gòu)造為與可以經(jīng)由回程線路耦接到基站270的bsc275形成接口?;爻叹€路可以根據(jù)若干己知的接口中的任一種來(lái)構(gòu)造,所述接口包括例如e1/t1、atm,ip、ppp、幀中繼、hdsl、adsl或xdsl。將理解的是,如圖2中所示的系統(tǒng)可以包括多個(gè)bsc2750。
每個(gè)bs270可以服務(wù)一個(gè)或多個(gè)分區(qū)(或區(qū)域),由多向天線或指向特定方向的天線覆蓋的每個(gè)分區(qū)放射狀地遠(yuǎn)離bs270?;蛘?,每個(gè)分區(qū)可以由用于分集接收的兩個(gè)或更多天線覆蓋。每個(gè)bs270可以被構(gòu)造為支持多個(gè)頻率分配,并且每個(gè)頻率分配具有特定頻譜(例如,1.25mhz,5mhz等等)。
分區(qū)與頻率分配的交叉可以被稱(chēng)為cdma信道。bs270也可以被稱(chēng)為基站收發(fā)器子系統(tǒng)(bts)或者其它等效術(shù)語(yǔ)。在這樣的情況下,術(shù)語(yǔ)"基站"可以用于籠統(tǒng)地表示單個(gè)bsc275和至少一個(gè)bs270?;疽部梢员环Q(chēng)為"蜂窩站"。或者,特定bs270的各分區(qū)可以被稱(chēng)為多個(gè)蜂窩站。
如圖2中所示,廣播發(fā)射器(bt)295將廣播信號(hào)發(fā)送給在系統(tǒng)內(nèi)操作的移動(dòng)終端100。如圖1中所示的廣播接收模塊111被設(shè)置在移動(dòng)終端100處以接收由bt295發(fā)送的廣播信號(hào)。在圖2中,示出了幾個(gè)全球定位系統(tǒng)(gps)衛(wèi)星300。衛(wèi)星300幫助定位多個(gè)移動(dòng)終端100中的至少一個(gè)。
在圖2中,描繪了多個(gè)衛(wèi)星300,但是理解的是,可以利用任何數(shù)目的衛(wèi)星獲得有用的定位信息。如圖1中所示的gps模塊115通常被構(gòu)造為與衛(wèi)星300配合以獲得想要的定位信息。替代gps跟蹤技術(shù)或者在gps跟蹤技術(shù)之外,可以使用可以跟蹤移動(dòng)終端的位置的其它技術(shù)。另外,至少一個(gè)gps衛(wèi)星300可以選擇性地或者額外地處理衛(wèi)星dmb傳輸。
作為無(wú)線通信系統(tǒng)的一個(gè)典型操作,bs270接收來(lái)自各種移動(dòng)終端100的反向鏈路信號(hào)。移動(dòng)終端100通常參與通話、消息收發(fā)和其它類(lèi)型的通信。特定基站270接收的每個(gè)反向鏈路信號(hào)被在特定bs270內(nèi)進(jìn)行處理。獲得的數(shù)據(jù)被轉(zhuǎn)發(fā)給相關(guān)的bsc275。bsc提供通話資源分配和包括bs270之間的軟切換過(guò)程的協(xié)調(diào)的移動(dòng)管理功能。bsc275還將接收到的數(shù)據(jù)路由到msc280,其提供用于與pstn290形成接口的額外的路由服務(wù)。類(lèi)似地,pstn290與msc280形成接口,msc與bsc275形成接口,并且bsc275相應(yīng)地控制bs270以將正向鏈路信號(hào)發(fā)送到移動(dòng)終端100。
基于上述移動(dòng)終端硬件結(jié)構(gòu)以及通信系統(tǒng),提出本發(fā)明方法各個(gè)實(shí)施例。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,提供了一種更新內(nèi)存數(shù)據(jù)的方法,圖3為本發(fā)明的一個(gè)實(shí)施例中實(shí)現(xiàn)更新內(nèi)存數(shù)據(jù)的方法的流程圖,如圖3所示,包括以下步驟:
步驟301:將數(shù)據(jù)庫(kù)中保存的第一數(shù)據(jù)加載至內(nèi)存中,并使用加載至內(nèi)存中的所述第一數(shù)據(jù);
其中,加載至內(nèi)存中的所述第一數(shù)據(jù)可以但不限于僅僅包括敏感詞庫(kù)數(shù)據(jù),還可以是保存在數(shù)據(jù)庫(kù)中供應(yīng)用程序使用的其他數(shù)據(jù)。
當(dāng)加載至內(nèi)存中的第一數(shù)據(jù)為敏感詞庫(kù)數(shù)據(jù)時(shí),本步驟可以通過(guò)以下方式來(lái)實(shí)現(xiàn):在應(yīng)用程序中,嵌入獲取敏感詞庫(kù)的相關(guān)代碼。啟動(dòng)應(yīng)用程序。這樣,應(yīng)用程序通過(guò)所嵌入的獲取敏感詞庫(kù)的代碼將數(shù)據(jù)庫(kù)中保存的敏感詞庫(kù)加載至內(nèi)存中。在每次發(fā)送推送信息之前,由該程序獲取該推送消息內(nèi)容,并調(diào)用敏感詞提供的相關(guān)過(guò)濾方法與已經(jīng)加載至內(nèi)存中的敏感詞庫(kù)進(jìn)行比較,如果其中存在相關(guān)的敏感詞則進(jìn)行替換或者直接進(jìn)行過(guò)濾,屏蔽該字段。
在將數(shù)據(jù)庫(kù)中保存的第一數(shù)據(jù)加載至內(nèi)存中時(shí),同時(shí)還可以將數(shù)據(jù)庫(kù)中保存的敏感詞庫(kù)的當(dāng)前版本號(hào)作為加載至內(nèi)存中的敏感詞庫(kù)的版本號(hào)加載至內(nèi)存中;
每次后臺(tái)管理人員進(jìn)行敏感詞相關(guān)信息維護(hù)時(shí),直接保存相關(guān)信息至數(shù)據(jù)庫(kù)中。同時(shí),數(shù)據(jù)庫(kù)表中存在一個(gè)標(biāo)識(shí)當(dāng)前敏感詞庫(kù)版本號(hào)的字段,在對(duì)數(shù)據(jù)庫(kù)中保存的敏感詞庫(kù)進(jìn)行操作時(shí),比如:新增、修改或刪除敏感詞庫(kù)中的敏感詞,都會(huì)更新該版本號(hào),比如:使該版本號(hào)字段自動(dòng)加1。
步驟302:判斷是否需要對(duì)加載至內(nèi)存中的所述第一數(shù)據(jù)進(jìn)行更新,如果是,則執(zhí)行步驟303;否則結(jié)束操作。
本步驟中,判斷需要對(duì)加載至內(nèi)存中的所述第一數(shù)據(jù)進(jìn)行更新可以通過(guò)如下方式實(shí)現(xiàn):
當(dāng)加載至內(nèi)存中的第一數(shù)據(jù)為敏感詞庫(kù)數(shù)據(jù)時(shí),可以在使用敏感詞庫(kù)的應(yīng)用程序中啟動(dòng)一個(gè)線程,以守護(hù)線程的方式在后臺(tái)監(jiān)控。后臺(tái)守護(hù)進(jìn)行每隔一段時(shí)間進(jìn)行判斷是否需要進(jìn)行敏感詞庫(kù)的更新操作。當(dāng)判斷到數(shù)據(jù)庫(kù)中保存的敏感詞庫(kù)的版本號(hào)與加載至內(nèi)存中的敏感詞庫(kù)的版本號(hào)不一致,如數(shù)據(jù)庫(kù)記錄中的版本號(hào)比內(nèi)存中記錄的版本號(hào)大時(shí),則需要進(jìn)行敏感詞庫(kù)的更新操作,該更新操作即為將數(shù)據(jù)庫(kù)中保存的敏感詞庫(kù)重新加載至內(nèi)存中,替換之前版本的內(nèi)存中的敏感詞庫(kù)。
步驟303:判斷加載至內(nèi)存中的所述第一數(shù)據(jù)是否正在使用中,如果否,則執(zhí)行步驟304;否則結(jié)束操作。
在本步驟之前,該方法還包括:
當(dāng)加載至內(nèi)存中的第一數(shù)據(jù)為敏感詞庫(kù)數(shù)據(jù)時(shí),設(shè)置一個(gè)使用加載至內(nèi)存中的敏感詞庫(kù)的標(biāo)識(shí),并為所述標(biāo)識(shí)設(shè)定一個(gè)初始值,比如:該初始值可為0,應(yīng)用程序每次在調(diào)用敏感詞中的過(guò)濾方法之前,即在使用所述加載至內(nèi)存中的數(shù)據(jù)時(shí),將該標(biāo)識(shí)增加預(yù)設(shè)步長(zhǎng)值,比如:該預(yù)設(shè)步長(zhǎng)值可為1,方法調(diào)用完畢后,將該標(biāo)識(shí)減少預(yù)設(shè)步長(zhǎng)值。當(dāng)該標(biāo)識(shí)為初始值時(shí),則表示沒(méi)有應(yīng)用程序正在使用敏感詞庫(kù)信息。當(dāng)該標(biāo)識(shí)不為初始值時(shí),則加載至內(nèi)存中的敏感詞庫(kù)正在使用中,則需要等待下次輪詢?cè)龠M(jìn)行判斷操作
步驟304:更新加載至內(nèi)存中的所述第一數(shù)據(jù);
在本步驟中,當(dāng)加載至內(nèi)存中的第一數(shù)據(jù)為敏感詞庫(kù)數(shù)據(jù)時(shí),更新所述加載至內(nèi)存中的第一數(shù)據(jù)即為:將數(shù)據(jù)庫(kù)中保存的敏感詞庫(kù)重新加載至內(nèi)存中,替換之前版本的內(nèi)存中的敏感詞庫(kù)。
執(zhí)行完上述步驟直至結(jié)束時(shí),則完成了將數(shù)據(jù)庫(kù)中保存的敏感詞庫(kù)更新到內(nèi)存中的過(guò)程。
根據(jù)本發(fā)明的另一實(shí)施例,提供了一種更新內(nèi)存數(shù)據(jù)的裝置,圖4為本發(fā)明實(shí)現(xiàn)更新內(nèi)存數(shù)據(jù)的裝置的組成結(jié)構(gòu)示意圖,如圖4所示,該裝置包括:內(nèi)存數(shù)據(jù)處理模塊,內(nèi)存數(shù)據(jù)更新模塊,其中,
內(nèi)存數(shù)據(jù)處理模塊,設(shè)置為將數(shù)據(jù)庫(kù)中保存的第一數(shù)據(jù)加載至內(nèi)存中,并使用加載至內(nèi)存中的所述第一數(shù)據(jù);
內(nèi)存數(shù)據(jù)更新模塊,設(shè)置為判斷是否需要對(duì)加載至內(nèi)存中的所述第一數(shù)據(jù)進(jìn)行更新,在需要對(duì)加載至內(nèi)存中的所述第一數(shù)據(jù)進(jìn)行更新時(shí),判斷加載至內(nèi)存中的所述第一數(shù)據(jù)是否正在使用中,如果否,則更新加載至內(nèi)存中的所述第一數(shù)據(jù)。
其中,該裝置還包括:
所述內(nèi)存數(shù)據(jù)處理模塊,還設(shè)置為將所述數(shù)據(jù)庫(kù)中保存的所述第一數(shù)據(jù)加載至內(nèi)存中時(shí),同時(shí)將所述數(shù)據(jù)庫(kù)中保存的所述第一數(shù)據(jù)的當(dāng)前版本號(hào)作為加載至內(nèi)存中的所述第一數(shù)據(jù)的版本號(hào)加載至內(nèi)存中;
數(shù)據(jù)庫(kù)數(shù)據(jù)版本號(hào)更新模塊,設(shè)置為在對(duì)所述數(shù)據(jù)庫(kù)中保存的所述第一數(shù)據(jù)進(jìn)行操作時(shí),更新所述數(shù)據(jù)庫(kù)中保存的所述第一數(shù)據(jù)的所述版本號(hào)。
具體地,所述內(nèi)存數(shù)據(jù)更新模塊具體包括:
第一更新判斷模塊,設(shè)置為啟動(dòng)守護(hù)線程;其中,所述守護(hù)線程定期輪詢是否需要對(duì)加載至內(nèi)存中的所述第一數(shù)據(jù)進(jìn)行更新,當(dāng)判斷到所述數(shù)據(jù)庫(kù)中保存的所述第一數(shù)據(jù)的版本號(hào)與加載至內(nèi)存中的所述第一數(shù)據(jù)的版本號(hào)不一致,則需要對(duì)加載至內(nèi)存中的所述第一數(shù)據(jù)進(jìn)行更新。
其中,所述內(nèi)存數(shù)據(jù)更新模塊具體還包括:
標(biāo)識(shí)處理模塊,設(shè)置為設(shè)置使用加載至內(nèi)存中的所述第一數(shù)據(jù)的標(biāo)識(shí),并為所述標(biāo)識(shí)設(shè)定初始值;在使用加載至內(nèi)存中的所述第一數(shù)據(jù)時(shí),將所述標(biāo)識(shí)增加預(yù)設(shè)步長(zhǎng)值;在不使用加載至內(nèi)存中的所述第一數(shù)據(jù)時(shí),將所述標(biāo)識(shí)減少所述預(yù)設(shè)步長(zhǎng)值;
第二更新判斷模塊,設(shè)置為在判斷到所述標(biāo)識(shí)不為初始值時(shí),則加載至內(nèi)存中的所述第一數(shù)據(jù)正在使用中,否則,則加載至內(nèi)存中的所述第一數(shù)據(jù)不在使用中。
其中,所述加載至內(nèi)存中的所述第一數(shù)據(jù)包括敏感詞庫(kù)數(shù)據(jù)。
根據(jù)本發(fā)明的又一實(shí)施例,提供了一種終端,包括處理器和計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中存儲(chǔ)有指令,當(dāng)所述指令被所述處理器執(zhí)行時(shí),實(shí)現(xiàn)前述方法的步驟。
根據(jù)本發(fā)明的又一實(shí)施例,提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)以下步驟:
將數(shù)據(jù)庫(kù)中保存的第一數(shù)據(jù)加載至內(nèi)存中,并使用加載至內(nèi)存中的所述第一數(shù)據(jù);
在需要對(duì)加載至內(nèi)存中的所述第一數(shù)據(jù)進(jìn)行更新時(shí),判斷加載至內(nèi)存中的所述第一數(shù)據(jù)是否正在使用中,如果否,則更新加載至內(nèi)存中的所述第一數(shù)據(jù)。
其中,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)還實(shí)現(xiàn)以下步驟:
將數(shù)據(jù)庫(kù)中保存的所述第一數(shù)據(jù)加載至內(nèi)存中,并使用加載至內(nèi)存中的所述第一數(shù)據(jù);
判斷是否需要對(duì)加載至內(nèi)存中的所述第一數(shù)據(jù)進(jìn)行更新,在需要對(duì)加載至內(nèi)存中的所述第一數(shù)據(jù)進(jìn)行更新時(shí),判斷加載至內(nèi)存中的所述第一數(shù)據(jù)是否正在使用中,如果否,則更新加載至內(nèi)存中的所述第一數(shù)據(jù)。
該方法還包括:
將所述數(shù)據(jù)庫(kù)中保存的所述第一數(shù)據(jù)加載至內(nèi)存中時(shí),同時(shí)將所述數(shù)據(jù)庫(kù)中保存的所述第一數(shù)據(jù)的當(dāng)前版本號(hào)作為加載至內(nèi)存中的所述第一數(shù)據(jù)的版本號(hào)加載至內(nèi)存中;
在對(duì)所述數(shù)據(jù)庫(kù)中保存的所述第一數(shù)據(jù)進(jìn)行操作時(shí),更新所述數(shù)據(jù)庫(kù)中保存的所述第一數(shù)據(jù)的所述版本號(hào)。
具體地,所述判斷是否需要對(duì)加載至內(nèi)存中的所述第一數(shù)據(jù)進(jìn)行更新包括:
啟動(dòng)守護(hù)線程;
其中,所述守護(hù)線程定期輪詢是否需要對(duì)加載至內(nèi)存中的所述第一數(shù)據(jù)進(jìn)行更新,當(dāng)判斷到所述數(shù)據(jù)庫(kù)中保存的所述第一數(shù)據(jù)的版本號(hào)與加載至內(nèi)存中的所述第一數(shù)據(jù)的版本號(hào)不一致,則需要對(duì)加載至內(nèi)存中的所述第一數(shù)據(jù)進(jìn)行更新。
其中,在判斷加載至內(nèi)存中的所述第一數(shù)據(jù)是否正在使用中之前,該方法還包括:
設(shè)置使用加載至內(nèi)存中的所述第一數(shù)據(jù)的標(biāo)識(shí),并為所述標(biāo)識(shí)設(shè)定初始值;
在使用所述加載至內(nèi)存中的所述第一數(shù)據(jù)時(shí),將所述標(biāo)識(shí)增加預(yù)設(shè)步長(zhǎng)值;在不使用所述加載至內(nèi)存中的所述第一數(shù)據(jù)時(shí),將所述標(biāo)識(shí)減少所述預(yù)設(shè)步長(zhǎng)值;
其中,所述判斷加載至內(nèi)存中的所述第一數(shù)據(jù)是否正在使用中包括:
在判斷到所述標(biāo)識(shí)不為初始值時(shí),則加載至內(nèi)存中的所述第一數(shù)據(jù)正在使用中,否則,則加載至內(nèi)存中的所述第一數(shù)據(jù)不在使用中。
其中,所述加載至內(nèi)存中的所述第一數(shù)據(jù)包括敏感詞庫(kù)數(shù)據(jù)。
這里強(qiáng)調(diào)的是,本發(fā)明中,在需要對(duì)加載至內(nèi)存中的第一數(shù)據(jù)進(jìn)行更新時(shí),通過(guò)判斷加載至內(nèi)存中的第一數(shù)據(jù)是否正在使用中,并只有在未使用時(shí)才對(duì)加載至內(nèi)存中的第一數(shù)據(jù)進(jìn)行更新,從而避免了在高并發(fā)的情況下,終端中的應(yīng)用程序在使用內(nèi)存中的數(shù)據(jù)時(shí)對(duì)該數(shù)據(jù)進(jìn)行更新而引發(fā)的問(wèn)題,提高了系統(tǒng)性能。
需要說(shuō)明的是,在本文中,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者裝置不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者裝置所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括該要素的過(guò)程、方法、物品或者裝置中還存在另外的相同要素。
上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實(shí)施例方法可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)硬件,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)(如rom/ram、磁碟、光盤(pán))中,包括若干指令用以使得一臺(tái)終端(可以是手機(jī),計(jì)算機(jī),服務(wù)器,空調(diào)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。
以上僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專(zhuān)利范圍,凡是利用本發(fā)明說(shuō)明書(shū)及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專(zhuān)利保護(hù)范圍內(nèi)。