亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

資源訪問方法及裝置與流程

文檔序號:12469689閱讀:253來源:國知局
資源訪問方法及裝置與流程

本發(fā)明涉及系統(tǒng)資源訪問技術(shù)領(lǐng)域,尤其涉及一種資源訪問方法及裝置。



背景技術(shù):

目前,在終端系統(tǒng)中,數(shù)據(jù)一致性訪問是一個非常重要的部分,通??梢圆捎面i機制實現(xiàn)數(shù)據(jù)的一致性訪問。在移動終端訪問共享數(shù)據(jù)時,比如在進行垃圾文件掃描時,首先訪問鎖資源,在獲取鎖資源的前提下才能實現(xiàn)數(shù)據(jù)的訪問。比如操作同一個文件,首先訪問一個全局的變量(鎖),通過全局變量的狀態(tài)來控制線程對資源的訪問。但是,隨著移動終端的存儲控件越來越大,CPU的核數(shù)量增多,數(shù)據(jù)量急劇增加,采用鎖機制實現(xiàn)數(shù)據(jù)訪問的一致性存在效率低的問題。



技術(shù)實現(xiàn)要素:

本發(fā)明的主要目的在于提出一種資源訪問方法及裝置,旨在提高對系統(tǒng)共享資源的訪問速度,使得共享資源的控制更加靈活。

為實現(xiàn)上述目的,本發(fā)明提供的一種資源訪問裝置,包括:

接收模塊,用于接收對系統(tǒng)共享資源的訪問操作申請,所述訪問操作申請的類型包括讀操作和寫操作;

判斷模塊,用于若當(dāng)前訪問操作申請的類型為讀操作類型,則判斷申請訪問的系統(tǒng)共享資源是否處于約束期;

讀操作模塊,用于若申請訪問的系統(tǒng)共享資源處于約束期,則對所述系統(tǒng)共享資源的副本進行讀操作,否則,對所述系統(tǒng)共享資源的原版本進行讀操作。

可選地,所述裝置還包括:

寫操作模塊,用于若當(dāng)前訪問操作申請的類型為寫操作類型,則為所述系統(tǒng)共享資源建立副本,對所述副本進行修改,并為所述副本設(shè)立約束期。

可選地,所述寫操作模塊,還用于判斷對所述系統(tǒng)共享資源的所有讀操作是否結(jié)束;若對所述系統(tǒng)共享資源的所有讀操作結(jié)束,則為所述系統(tǒng)共享 資源建立副本,對所述副本進行修改。

可選地,所述裝置還包括:

解除回收模塊,用于在所述讀操作模塊對所述系統(tǒng)共享資源的副本進行讀操作結(jié)束后,解除所述系統(tǒng)共享資源的約束期,并回收所述系統(tǒng)共享資源的原版本。

可選地,所述裝置還包括:

解除回收模塊,用于在對所述系統(tǒng)共享資源的副本進行讀操作結(jié)束前,判斷所述系統(tǒng)共享資源的約束期是否達到閾值;若所述系統(tǒng)共享資源的約束期達到閾值,則強制解除所述系統(tǒng)共享資源的約束期,并回收所述系統(tǒng)共享資源的原版本。

本發(fā)明實施例還提出一種資源訪問方法,包括:

接收對系統(tǒng)共享資源的訪問操作申請,所述訪問操作申請的類型包括讀操作和寫操作;

若當(dāng)前訪問操作申請的類型為讀操作類型,則判斷申請訪問的系統(tǒng)共享資源是否處于約束期;

若申請訪問的系統(tǒng)共享資源處于約束期,則對所述系統(tǒng)共享資源的副本進行讀操作,否則,對所述系統(tǒng)共享資源的原版本進行讀操作。

可選地,所述接收對系統(tǒng)共享資源的訪問操作申請的步驟之后,還包括:

若當(dāng)前訪問操作申請的類型為寫操作類型,則為所述系統(tǒng)共享資源建立副本,對所述副本進行修改,并為所述副本設(shè)立約束期。

可選地,若當(dāng)前訪問操作申請的類型為寫操作類型,則在為所述系統(tǒng)共享資源建立副本,對所述副本進行修改的步驟之前還包括:

判斷對所述系統(tǒng)共享資源的所有讀操作是否結(jié)束;

若對所述系統(tǒng)共享資源的所有讀操作結(jié)束,則執(zhí)行步驟:為所述系統(tǒng)共享資源建立副本,對所述副本進行修改。

可選地,所述若申請訪問的系統(tǒng)共享資源處于約束期,則對所述系統(tǒng)共享資源的副本進行讀操作的步驟之后,還包括:

在對所述系統(tǒng)共享資源的副本進行讀操作結(jié)束后,解除所述系統(tǒng)共享資源的約束期,并回收所述系統(tǒng)共享資源的原版本。

可選地,所述若申請訪問的系統(tǒng)共享資源處于約束期,則對所述系統(tǒng)共享資源的副本進行讀操作的步驟之后,還包括:

在對所述系統(tǒng)共享資源的副本進行讀操作結(jié)束前,判斷所述系統(tǒng)共享資源的約束期是否達到閾值;

若所述系統(tǒng)共享資源的約束期達到閾值,則強制解除所述系統(tǒng)共享資源的約束期,并回收所述系統(tǒng)共享資源的原版本。

本發(fā)明提出的一種資源訪問方法及裝置,在接收到對系統(tǒng)共享資源的訪問操作申請時,若當(dāng)前訪問操作申請的類型為讀操作類型,則判斷申請訪問的系統(tǒng)共享資源是否處于約束期;若申請訪問的系統(tǒng)共享資源處于約束期,則對所述系統(tǒng)共享資源的副本進行讀操作,否則,對所述系統(tǒng)共享資源的原版本進行讀操作;此外,對于寫操作,其需要將原來的老數(shù)據(jù)作一次備份,然后對備份數(shù)據(jù)進行修改,修改完畢之后,且老數(shù)據(jù)約束期解除后再實現(xiàn)老數(shù)據(jù)資源的回收。由此,通過采用副本機制替代現(xiàn)有的鎖機制,保證在讀寫操作共享資源時,基本不需要取鎖操作,在一定程度上提升共享資源的訪問速度,從而節(jié)省數(shù)據(jù)掃描時間,對共享資源的控制也更加靈活。

附圖說明

圖1是實現(xiàn)本發(fā)明各個實施例的一個可選的移動終端的硬件結(jié)構(gòu)示意圖;

圖2是如圖1所示的移動終端的無線通信系統(tǒng)示意圖;

圖3是本發(fā)明資源訪問裝置第一實施例的模塊示意圖;

圖4是本發(fā)明資源訪問裝置第二實施例的模塊示意圖;

圖5是本發(fā)明資源訪問裝置第三實施例的模塊示意圖;

圖6是本發(fā)明資源訪問方法第一實施例的流程示意圖;

圖7是本發(fā)明資源訪問方法第二實施例的流程示意圖;

圖8是本發(fā)明資源訪問方法第三實施例的流程示意圖;

圖9是本發(fā)明實施例中一種具體的資源訪問流程示意圖。

本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結(jié)合實施例,參照附圖做進一步說明。

具體實施方式

應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。

本發(fā)明實施例方案涉及終端系統(tǒng)資源的共享,其中涉及的終端可以是PC等固定終端,也可以指移動終端,本發(fā)明實施例以移動終端進行舉例,但并不構(gòu)成對終端的限制。

現(xiàn)在將參考附圖描述實現(xiàn)本發(fā)明各個實施例的移動終端。在后續(xù)的描述中,使用用于表示元件的諸如“模塊”、“部件”或“單元”的后綴僅為了有利于本發(fā)明的說明,其本身并沒有特定的意義。因此,"模塊"與"部件"可以混合地使用。

移動終端可以以各種形式來實施。例如,本發(fā)明中描述的終端可以包括諸如移動電話、智能電話、筆記本電腦、數(shù)字廣播接收器、PDA(個人數(shù)字助理)、PAD(平板電腦)、PMP(便攜式多媒體播放器)、導(dǎo)航裝置等等的移動終端以及諸如數(shù)字TV、臺式計算機等等的固定終端。下面,假設(shè)終端是移動終端。然而,本領(lǐng)域技術(shù)人員將理解的是,除了特別用于移動目的的元件之外,根據(jù)本發(fā)明的實施方式的構(gòu)造也能夠應(yīng)用于固定類型的終端。

圖1為實現(xiàn)本發(fā)明各個實施例的一個可選的移動終端的硬件結(jié)構(gòu)示意圖。

移動終端100可以包括無線通信單元110、用戶輸入單元130、輸出單元150、存儲器160、接口單元170、控制器180和電源單元190等等。圖1示出了具有各種組件的移動終端,但是應(yīng)理解的是,并不要求實施所有示出的組件??梢蕴娲貙嵤└嗷蚋俚慕M件。將在下面詳細描述移動終端的元件。

無線通信單元110通常包括一個或多個組件,其允許移動終端100與無線通信系統(tǒng)或網(wǎng)絡(luò)之間的無線電通信。例如,無線通信單元可以包括廣播接收模塊111、無線互聯(lián)網(wǎng)模塊113中的至少一個。

廣播接收模塊111經(jīng)由廣播信道從外部廣播管理服務(wù)器接收廣播信號和/或廣播相關(guān)信息。廣播信道可以包括衛(wèi)星信道和/或地面信道。廣播管理服務(wù)器可以是生成并發(fā)送廣播信號和/或廣播相關(guān)信息的服務(wù)器或者接收之前生成的廣播信號和/或廣播相關(guān)信息并且將其發(fā)送給終端的服務(wù)器。廣播信號可以包括TV廣播信號、無線電廣播信號、數(shù)據(jù)廣播信號等等。而且,廣播信號可以進一步包括與TV或無線電廣播信號組合的廣播信號。廣播相關(guān)信息也可以 經(jīng)由移動通信網(wǎng)絡(luò)提供,并且在該情況下,廣播相關(guān)信息可以由移動通信模塊112來接收。廣播信號可以以各種形式存在,例如,其可以以數(shù)字多媒體廣播(DMB)的電子節(jié)目指南(EPG)、數(shù)字視頻廣播手持(DVB-H)的電子服務(wù)指南(ESG)等等的形式而存在。廣播接收模塊111可以通過使用各種類型的廣播系統(tǒng)接收信號廣播。特別地,廣播接收模塊111可以通過使用諸如多媒體廣播-地面(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)造為適合提供廣播信號的各種廣播系統(tǒng)以及上述數(shù)字廣播系統(tǒng)。經(jīng)由廣播接收模塊111接收的廣播信號和/或廣播相關(guān)信息可以存儲在存儲器160(或者其它類型的存儲介質(zhì))中。

無線互聯(lián)網(wǎng)模塊113支持移動終端的無線互聯(lián)網(wǎng)接入。該模塊可以內(nèi)部或外部地耦接到終端。該模塊所涉及的無線互聯(lián)網(wǎng)接入技術(shù)可以包括WLAN(無線LAN)(Wi-Fi)、Wibro(無線寬帶)、Wimax(全球微波互聯(lián)接入)、HSDPA(高速下行鏈路分組接入)等等。

用戶輸入單元130可以根據(jù)用戶輸入的命令生成鍵輸入數(shù)據(jù)以控制移動終端的各種操作。用戶輸入單元130允許用戶輸入各種類型的信息,并且可以包括鍵盤、鍋仔片、觸摸板(例如,檢測由于被接觸而導(dǎo)致的電阻、壓力、電容等等的變化的觸敏組件)、滾輪、搖桿等等。特別地,當(dāng)觸摸板以層的形式疊加在顯示單元151上時,可以形成觸摸屏。

接口單元170用作至少一個外部裝置與移動終端100連接可以通過的接口。例如,外部裝置可以包括有線或無線頭戴式耳機端口、外部電源(或電池充電器)端口、有線或無線數(shù)據(jù)端口、存儲卡端口、用于連接具有識別模塊的裝置的端口、音頻輸入/輸出(I/O)端口、視頻I/O端口、耳機端口等等。識別模塊可以是存儲用于驗證用戶使用移動終端100的各種信息并且可以包括用戶識別模塊(UIM)、客戶識別模塊(SIM)、通用客戶識別模塊(USIM)等等。另外,具有識別模塊的裝置(下面稱為"識別裝置")可以采取智能卡的形式,因此,識別裝置可以經(jīng)由端口或其它連接裝置與移動終端100連接。接口單元170可以用于接收來自外部裝置的輸入(例如,數(shù)據(jù)信息、電力等等)并且將接收到的輸入傳輸?shù)揭苿咏K端100內(nèi)的一個或多個元件或者可以用于在移動終端和外部 裝置之間傳輸數(shù)據(jù)。

另外,當(dāng)移動終端100與外部底座連接時,接口單元170可以用作允許通過其將電力從底座提供到移動終端100的路徑或者可以用作允許從底座輸入的各種命令信號通過其傳輸?shù)揭苿咏K端的路徑。從底座輸入的各種命令信號或電力可以用作用于識別移動終端是否準(zhǔn)確地安裝在底座上的信號。

輸出單元150被構(gòu)造為以視覺、音頻和/或觸覺方式提供輸出信號(例如,音頻信號、視頻信號、警報信號、振動信號等等)。輸出單元150可以包括顯示單元151、音頻輸出模塊152等。

顯示單元151可以顯示在移動終端100中處理的信息。例如,當(dāng)移動終端100處于電話通話模式時,顯示單元151可以顯示與通話或其它通信(例如,文本消息收發(fā)、多媒體文件下載等等)相關(guān)的用戶界面(UI)或圖形用戶界面(GUI)。當(dāng)移動終端100處于視頻通話模式或者圖像捕獲模式時,顯示單元151可以顯示捕獲的圖像和/或接收的圖像、示出視頻或圖像以及相關(guān)功能的UI或GUI等等。

同時,當(dāng)顯示單元151和觸摸板以層的形式彼此疊加以形成觸摸屏?xí)r,顯示單元151可以用作輸入裝置和輸出裝置。顯示單元151可以包括液晶顯示器(LCD)、薄膜晶體管LCD(TFT-LCD)、有機發(fā)光二極管(OLED)顯示器、柔性顯示器、三維(3D)顯示器等等中的至少一種。這些顯示器中的一些可以被構(gòu)造為透明狀以允許用戶從外部觀看,這可以稱為透明顯示器,典型的透明顯示器可以例如為TOLED(透明有機發(fā)光二極管)顯示器等等。根據(jù)特定想要的實施方式,移動終端100可以包括兩個或更多顯示單元(或其它顯示裝置),例如,移動終端可以包括外部顯示單元(未示出)和內(nèi)部顯示單元(未示出)。觸摸屏可用于檢測觸摸輸入壓力以及觸摸輸入位置和觸摸輸入面積。

音頻輸出模塊152可以在移動終端處于呼叫信號接收模式、通話模式、記錄模式、語音識別模式、廣播接收模式等等模式下時,將無線通信單元110接收的或者在存儲器160中存儲的音頻數(shù)據(jù)轉(zhuǎn)換音頻信號并且輸出為聲音。而且,音頻輸出模塊152可以提供與移動終端100執(zhí)行的特定功能相關(guān)的音頻輸出(例如,呼叫信號接收聲音、消息接收聲音等等)。音頻輸出模塊152可以包括揚聲器、蜂鳴器等等。

存儲器160可以存儲由控制器180執(zhí)行的處理和控制操作的軟件程序等 等,或者可以暫時地存儲己經(jīng)輸出或?qū)⒁敵龅臄?shù)據(jù)(例如,電話簿、消息、靜態(tài)圖像、視頻等等)。而且,存儲器160可以存儲關(guān)于當(dāng)觸摸施加到觸摸屏?xí)r輸出的各種方式的振動和音頻信號的數(shù)據(jù)。

存儲器160可以包括至少一種類型的存儲介質(zhì),所述存儲介質(zhì)包括閃存、硬盤、多媒體卡、卡型存儲器(例如,SD或DX存儲器等等)、隨機訪問存儲器(RAM)、靜態(tài)隨機訪問存儲器(SRAM)、只讀存儲器(ROM)、電可擦除可編程只讀存儲器(EEPROM)、可編程只讀存儲器(PROM)、磁性存儲器、磁盤、光盤等等。而且,移動終端100可以與通過網(wǎng)絡(luò)連接執(zhí)行存儲器160的存儲功能的網(wǎng)絡(luò)存儲裝置協(xié)作。

控制器180通常控制移動終端的總體操作。例如,控制器180執(zhí)行與語音通話、數(shù)據(jù)通信、視頻通話等等相關(guān)的控制和處理。另外,控制器180可以包括用于再現(xiàn)(或回放)多媒體數(shù)據(jù)的多媒體模塊1810,多媒體模塊1810可以構(gòu)造在控制器180內(nèi),或者可以構(gòu)造為與控制器180分離??刂破?80可以執(zhí)行模式識別處理,以將在觸摸屏上執(zhí)行的手寫輸入或者圖片繪制輸入識別為字符或圖像。

具體地,控制器180還可以包括:接收模塊182,用于接收對系統(tǒng)共享資源的訪問操作申請,所述訪問操作申請的類型包括讀操作和寫操作;

判斷模塊183,用于若當(dāng)前訪問操作申請的類型為讀操作類型,則判斷申請訪問的系統(tǒng)共享資源是否處于約束期;

讀操作模塊184,用于若申請訪問的系統(tǒng)共享資源處于約束期,則對所述系統(tǒng)共享資源的副本進行讀操作,否則,對所述系統(tǒng)共享資源的原版本進行讀操作。

寫操作模塊185,用于若當(dāng)前訪問操作申請的類型為寫操作類型,則為所述系統(tǒng)共享資源建立副本,對所述副本進行修改,并為所述副本設(shè)立約束期。

進一步地,所述寫操作模塊185,還用于判斷對所述系統(tǒng)共享資源的所有讀操作是否結(jié)束;若對所述系統(tǒng)共享資源的所有讀操作結(jié)束,則為所述系統(tǒng)共享資源建立副本,對所述副本進行修改。

解除回收模塊186,用于在所述讀操作模塊對所述系統(tǒng)共享資源的副本進行讀操作結(jié)束后,解除所述系統(tǒng)共享資源的約束期,并回收所述系統(tǒng)共享資源的原版本?;蛘呓獬厥漳K186,用于在對所述系統(tǒng)共享資源的副本進行 讀操作結(jié)束前,判斷所述系統(tǒng)共享資源的約束期是否達到閾值;若所述系統(tǒng)共享資源的約束期達到閾值,則強制解除所述系統(tǒng)共享資源的約束期,并回收所述系統(tǒng)共享資源的原版本。

電源單元190在控制器180的控制下接收外部電力或內(nèi)部電力并且提供操作各元件和組件所需的適當(dāng)?shù)碾娏Α?/p>

這里描述的各種實施方式可以以使用例如計算機軟件、硬件或其任何組合的計算機可讀介質(zhì)來實施。對于硬件實施,這里描述的實施方式可以通過使用特定用途集成電路(ASIC)、數(shù)字信號處理器(DSP)、數(shù)字信號處理裝置(DSPD)、可編程邏輯裝置(PLD)、現(xiàn)場可編程門陣列(FPGA)、處理器、控制器、微控制器、微處理器、被設(shè)計為執(zhí)行這里描述的功能的電子單元中的至少一種來實施,在一些情況下,這樣的實施方式可以在控制器180中實施。對于軟件實施,諸如過程或功能的實施方式可以與允許執(zhí)行至少一種功能或操作的單獨的軟件模塊來實施。軟件代碼可以由以任何適當(dāng)?shù)木幊陶Z言編寫的軟件應(yīng)用程序(或程序)來實施,軟件代碼可以存儲在存儲器160中并且由控制器180執(zhí)行。

如圖1中所示的移動終端100可以被構(gòu)造為利用經(jīng)由幀或分組發(fā)送數(shù)據(jù)的諸如有線和無線通信系統(tǒng)以及基于衛(wèi)星的通信系統(tǒng)來操作。

現(xiàn)在將參考圖2描述其中根據(jù)本發(fā)明的移動終端能夠操作的通信系統(tǒng)。

這樣的通信系統(tǒng)可以使用不同的空中接口和/或物理層。例如,由通信系統(tǒng)使用的空中接口包括例如頻分多址(FDMA)、時分多址(TDMA)、碼分多址(CDMA)和通用移動通信系統(tǒng)(UMTS)(特別地,長期演進(LTE))、全球移動通信系統(tǒng)(GSM)等等。作為非限制性示例,下面的描述涉及CDMA通信系統(tǒng),但是這樣的教導(dǎo)同樣適用于其它類型的系統(tǒng)。

參考圖2,CDMA無線通信系統(tǒng)可以包括多個移動終端100、多個基站(BS)270、基站控制器(BSC)275和移動交換中心(MSC)280。MSC280被構(gòu)造為與公共電話交換網(wǎng)絡(luò)(PSTN)290形成接口。MSC280還被構(gòu)造為與可以經(jīng)由回程線路耦接到基站270的BSC275形成接口。回程線路可以根據(jù)若干己知的接口中的任一種來構(gòu)造,所述接口包括例如E1/T1、ATM,IP、PPP、幀中繼、HDSL、ADSL或xDSL。將理解的是,如圖2中所示的系統(tǒng)可以包括多個BSC2750。

每個BS270可以服務(wù)一個或多個分區(qū)(或區(qū)域),由多向天線或指向特定方向的天線覆蓋的每個分區(qū)放射狀地遠離BS270?;蛘撸總€分區(qū)可以由用于分集接收的兩個或更多天線覆蓋。每個BS270可以被構(gòu)造為支持多個頻率分配,并且每個頻率分配具有特定頻譜(例如,1.25MHz,5MHz等等)。

分區(qū)與頻率分配的交叉可以被稱為CDMA信道。BS270也可以被稱為基站收發(fā)器子系統(tǒng)(BTS)或者其它等效術(shù)語。在這樣的情況下,術(shù)語"基站"可以用于籠統(tǒng)地表示單個BSC275和至少一個BS270?;疽部梢员环Q為"蜂窩站"?;蛘?,特定BS270的各分區(qū)可以被稱為多個蜂窩站。

如圖2中所示,廣播發(fā)射器(BT)295將廣播信號發(fā)送給在系統(tǒng)內(nèi)操作的移動終端100。如圖1中所示的廣播接收模塊111被設(shè)置在移動終端100處以接收由BT295發(fā)送的廣播信號。在圖2中,示出了幾個全球定位系統(tǒng)(GPS)衛(wèi)星300。衛(wèi)星300幫助定位多個移動終端100中的至少一個。

在圖2中,描繪了多個衛(wèi)星300,但是理解的是,可以利用任何數(shù)目的衛(wèi)星獲得有用的定位信息。作為無線通信系統(tǒng)的一個典型操作,BS270接收來自各種移動終端100的反向鏈路信號。移動終端100通常參與通話、消息收發(fā)和其它類型的通信。特定基站270接收的每個反向鏈路信號被在特定BS270內(nèi)進行處理。獲得的數(shù)據(jù)被轉(zhuǎn)發(fā)給相關(guān)的BSC275。BSC提供通話資源分配和包括BS270之間的軟切換過程的協(xié)調(diào)的移動管理功能。BSC275還將接收到的數(shù)據(jù)路由到MSC280,其提供用于與PSTN290形成接口的額外的路由服務(wù)。類似地,PSTN290與MSC280形成接口,MSC與BSC275形成接口,并且BSC275相應(yīng)地控制BS270以將正向鏈路信號發(fā)送到移動終端100。

基于上述移動終端硬件結(jié)構(gòu)以及通信系統(tǒng),提出本發(fā)明各個實施例。

由于現(xiàn)有技術(shù)中,在訪問終端系統(tǒng)共享數(shù)據(jù)時,比如在進行垃圾文件掃描時,首先訪問鎖資源,在獲取鎖資源的前提下才能實現(xiàn)數(shù)據(jù)的訪問,而采用鎖機制實現(xiàn)數(shù)據(jù)訪問的一致性存在效率低的問題。

為此,本發(fā)明提出一種解決方案,采用副本機制替代現(xiàn)有的鎖機制,保證在讀寫操作共享資源時,基本不需要取鎖操作,在一定程度上提升共享資源的訪問速度,節(jié)省數(shù)據(jù)掃描時間,對共享資源的控制更加靈活。

首先介紹一下數(shù)據(jù)的一致性,所謂數(shù)據(jù)一致性,就是當(dāng)多個用戶試圖同時訪問一個數(shù)據(jù)庫,他們的事務(wù)同時使用相同的數(shù)據(jù)時,可能會發(fā)生丟失更新、未確定的相關(guān)性、不一致的分析和幻想讀等問題。

比如,在數(shù)據(jù)有多份副本的情況下,如果網(wǎng)絡(luò)、服務(wù)器或者軟件出現(xiàn)故障,會導(dǎo)致部分副本寫入成功,部分副本寫入失敗。這就造成各個副本之間的數(shù)據(jù)不一致,數(shù)據(jù)內(nèi)容沖突。在實踐中,導(dǎo)致數(shù)據(jù)不一致的情況有很多種,表現(xiàn)樣式也多種多樣,比如數(shù)據(jù)更新返回操作失敗,事實上數(shù)據(jù)在存儲服務(wù)器已經(jīng)更新成功。

數(shù)據(jù)一致性通常指關(guān)聯(lián)數(shù)據(jù)之間的邏輯關(guān)系是否正確和完整。而數(shù)據(jù)存儲的一致性模型則可以認為是存儲系統(tǒng)和數(shù)據(jù)使用者之間的一種約定。

具體地,如圖3所示,本發(fā)明提出一種資源訪問裝置的第一實施例,包括:接收模塊201、判斷模塊202及讀操作模塊203,其中:

接收模塊201,用于接收對系統(tǒng)共享資源的訪問操作申請,所述訪問操作申請的類型包括讀操作和寫操作;

判斷模塊202,用于若當(dāng)前訪問操作申請的類型為讀操作類型,則判斷申請訪問的系統(tǒng)共享資源是否處于約束期;

讀操作模塊203,用于若申請訪問的系統(tǒng)共享資源處于約束期,則對所述系統(tǒng)共享資源的副本進行讀操作,否則,對所述系統(tǒng)共享資源的原版本進行讀操作。

本實施例中,對系統(tǒng)共享資源的訪問包括對系統(tǒng)共享資源的讀操作和寫操作,其中,可能同時存在多個讀操作,以及同時存在多個寫操作,或者一個或多個讀操作和一個或多個寫操作并存。

在接收到對系統(tǒng)共享資源的訪問操作申請時,解析該訪問操作申請,得到訪問操作申請的類型是讀操作還是寫操作。通常,讀操作則是讀取系統(tǒng)共享資源數(shù)據(jù),寫操作則是對系統(tǒng)共享資源數(shù)據(jù)進行修改。

若當(dāng)前訪問操作申請的類型為讀操作類型,則判斷申請訪問的系統(tǒng)共享資源是否處于約束期。

其中,約束期是在對系統(tǒng)共享資源的寫操作過程中設(shè)立的,本實施例中, 在訪問操作申請的類型為寫操作類型時,為系統(tǒng)共享資源建立副本,然后對副本進行修改,并為所述副本設(shè)立約束期。

也就是說,在訪問操作申請的類型為寫操作類型時,其需要將原來的老數(shù)據(jù)作一次備份,然后對備份數(shù)據(jù)進行修改,修改完畢之后,且老數(shù)據(jù)約束期解除后再實現(xiàn)老數(shù)據(jù)資源的回收。

本實施例采用副本機制替代現(xiàn)有的鎖機制,并增加了一個約束期,使得在同時存在讀寫操作時,減少讀操作和寫操作的等待時間,在一定程度上提升對系統(tǒng)資源的訪問速度。

由于可能同時存在讀操作和寫操作,因此,在當(dāng)前訪問操作申請的類型為讀操作類型時,首先需要判斷申請訪問的系統(tǒng)共享資源是否處于約束期,即是否有寫操作申請訪問過,建立有副本,并為修改后的副本設(shè)立有約束期。

若申請訪問的系統(tǒng)共享資源處于約束期,則表明當(dāng)前申請訪問的系統(tǒng)共享資源進行過寫操作并建立有副本,此時,對系統(tǒng)共享資源的副本進行讀操作,若申請訪問的系統(tǒng)共享資源不處于約束期,則表明當(dāng)前申請訪問的系統(tǒng)共享資源沒有同時存在寫操作,此時,直接對系統(tǒng)共享資源的原版本進行讀操作。

本實施例由于采用了副本機制,使得對共享資源的控制更加靈活。其中,對于讀操作,可以直接對共享資源(原版本或副本)進行訪問;對于寫操作,則需要將原來的老數(shù)據(jù)作一次備份,然后對備份數(shù)據(jù)進行修改,并設(shè)立約束期。本機制能夠保證在讀寫操作共享系統(tǒng)資源時,保證數(shù)據(jù)的一致性,并且基本不需要取鎖操作,能夠在一定程度上提升資源的訪問速度,從而節(jié)省數(shù)據(jù)掃描時間。

上述實施方案中,需要說明的是,在一個寫操作發(fā)生后,必須等待所有在約束期開始前已經(jīng)開始的讀線程結(jié)束,才可以進行更新操作,以保證數(shù)據(jù)的一致性訪問。

具體地,在當(dāng)前訪問操作申請的類型為寫操作類型時,判斷對所述系統(tǒng)共享資源的所有讀操作是否結(jié)束;若對所述系統(tǒng)共享資源的所有讀操作結(jié)束,則為所述系統(tǒng)共享資源建立副本,對所述副本進行修改,以保證訪問數(shù)據(jù)的一致性。

如圖4所示,本發(fā)明提出一種資源訪問裝置的第二實施例,該實施例與上述第一實施例的區(qū)別在于,所述裝置還包括:

寫操作模塊204,用于若當(dāng)前訪問操作申請的類型為寫操作類型,則為所述系統(tǒng)共享資源建立副本,對所述副本進行修改,并為所述副本設(shè)立約束期。

如前所述,若當(dāng)前訪問操作申請的類型為寫操作類型,則為所述系統(tǒng)共享資源建立副本,對所述副本進行修改,并為所述修改后的副本設(shè)立約束期。

如圖5所示,本發(fā)明提出一種資源訪問裝置的第三實施例,該實施例與上述第二實施例的區(qū)別在于,所述裝置還包括:解除回收模塊205;

作為一種實施方式,解除回收模塊205用于在所述讀操作模塊對所述系統(tǒng)共享資源的副本進行讀操作結(jié)束后,解除所述系統(tǒng)共享資源的約束期,并回收所述系統(tǒng)共享資源的原版本。

具體地,在對系統(tǒng)共享資源的訪問結(jié)束后,即在同時存在的讀操作和寫操作均結(jié)束后,可以解除系統(tǒng)共享資源的約束期,并回收所述系統(tǒng)共享資源的原版本,以保證后續(xù)數(shù)據(jù)訪問的準(zhǔn)確性。

進一步地,作為另一種實施方式,解除回收模塊205用于在對所述系統(tǒng)共享資源的副本進行讀操作結(jié)束前,判斷所述系統(tǒng)共享資源的約束期是否達到閾值;若所述系統(tǒng)共享資源的約束期達到閾值,則強制解除所述系統(tǒng)共享資源的約束期,并回收所述系統(tǒng)共享資源的原版本。

具體地,對于處于約束期的系統(tǒng)共享資源,為了避免某個讀操作線程不停的進行,導(dǎo)致數(shù)據(jù)訪問無法正常進行,本實施例對約束期設(shè)置有一定的閾值,當(dāng)資源的約束期達到閾值時,強制申請解除資源約束期。

本實施例由于采用了副本機制,使得對共享資源的控制更加靈活。其中,對于讀操作,可以直接對共享資源(原版本或副本)進行訪問;對于寫操作,則需要將原來的老數(shù)據(jù)作一次備份,然后對備份數(shù)據(jù)進行修改,修改完畢之后,且老數(shù)據(jù)約束期解除后再實現(xiàn)老數(shù)據(jù)資源的回收。本機制能夠保證在讀寫操作共享資源時,保證數(shù)據(jù)的一致性,并且基本不需要取鎖操作,能夠在一定程度上提升資源的訪問速度,從而節(jié)省數(shù)據(jù)掃描時間;而通過約束期的 解除,保證后續(xù)數(shù)據(jù)訪問的準(zhǔn)確性。

如圖6所示,本發(fā)明提出一種資源訪問方法第一實施例,包括:

步驟S101,接收對系統(tǒng)共享資源的訪問操作申請,所述訪問操作申請的類型包括讀操作和寫操作;

本實施例中,對系統(tǒng)共享資源的訪問包括對系統(tǒng)共享資源的讀操作和寫操作,其中,可能同時存在多個讀操作,以及同時存在多個寫操作,或者一個或多個讀操作和一個或多個寫操作并存。

步驟S102,判斷訪問操作申請的類型;

在接收到對系統(tǒng)共享資源的訪問操作申請時,解析該訪問操作申請,得到訪問操作申請的類型是讀操作還是寫操作。通常,讀操作則是讀取系統(tǒng)共享資源數(shù)據(jù),寫操作則是對系統(tǒng)共享資源數(shù)據(jù)進行修改。

步驟S103,若當(dāng)前訪問操作申請的類型為讀操作類型,則判斷申請訪問的系統(tǒng)共享資源是否處于約束期;

其中,約束期是在對系統(tǒng)共享資源的寫操作過程中設(shè)立的,本實施例中,在訪問操作申請的類型為寫操作類型時,為系統(tǒng)共享資源建立副本,然后對副本進行修改,并為所述副本設(shè)立約束期。

也就是說,在訪問操作申請的類型為寫操作類型時,其需要將原來的老數(shù)據(jù)作一次備份,然后對備份數(shù)據(jù)進行修改,修改完畢之后,且老數(shù)據(jù)約束期解除后再實現(xiàn)老數(shù)據(jù)資源的回收。

本實施例采用副本機制替代現(xiàn)有的鎖機制,并增加了一個約束期,使得在同時存在讀寫操作時,減少讀操作和寫操作的等待時間,在一定程度上提升對系統(tǒng)資源的訪問速度。

由于可能同時存在讀操作和寫操作,因此,在當(dāng)前訪問操作申請的類型為讀操作類型時,首先需要判斷申請訪問的系統(tǒng)共享資源是否處于約束期,即是否有寫操作申請訪問過,建立有副本,并為修改后的副本設(shè)立有約束期。

步驟S104,若申請訪問的系統(tǒng)共享資源處于約束期,則對所述系統(tǒng)共享資源的副本進行讀操作;

步驟S105,若申請訪問的系統(tǒng)共享資源不處于約束期,則對所述系統(tǒng)共享資源的原版本進行讀操作。

若申請訪問的系統(tǒng)共享資源處于約束期,則表明當(dāng)前申請訪問的系統(tǒng)共享資源進行過寫操作并建立有副本,此時,對系統(tǒng)共享資源的副本進行讀操作,若申請訪問的系統(tǒng)共享資源不處于約束期,則表明當(dāng)前申請訪問的系統(tǒng)共享資源沒有同時存在寫操作,此時,直接對系統(tǒng)共享資源的原版本進行讀操作。

步驟S106,若當(dāng)前訪問操作申請的類型為寫操作類型,則為所述系統(tǒng)共享資源建立副本,對所述副本進行修改,并為所述副本設(shè)立約束期。

如前所述,若當(dāng)前訪問操作申請的類型為寫操作類型,則為所述系統(tǒng)共享資源建立副本,對所述副本進行修改,并為所述修改后的副本設(shè)立約束期。

本實施例由于采用了副本機制,使得對共享資源的控制更加靈活。其中,對于讀操作,可以直接對共享資源(原版本或副本)進行訪問;對于寫操作,則需要將原來的老數(shù)據(jù)作一次備份,然后對備份數(shù)據(jù)進行修改,并設(shè)立約束期。本機制能夠保證在讀寫操作共享系統(tǒng)資源時,保證數(shù)據(jù)的一致性,并且基本不需要取鎖操作,能夠在一定程度上提升資源的訪問速度,從而節(jié)省數(shù)據(jù)掃描時間。

上述實施方案中,需要說明的是,在一個寫操作發(fā)生后,必須等待所有在約束期開始前已經(jīng)開始的讀線程結(jié)束,才可以進行更新操作,以保證數(shù)據(jù)的一致性訪問。

具體地,在當(dāng)前訪問操作申請的類型為寫操作類型時,判斷對所述系統(tǒng)共享資源的所有讀操作是否結(jié)束;若對所述系統(tǒng)共享資源的所有讀操作結(jié)束,則為所述系統(tǒng)共享資源建立副本,對所述副本進行修改,以保證訪問數(shù)據(jù)的一致性。

如圖7所示,本發(fā)明提出一種資源訪問方法第二實施例,該實施例與上述第一實施例的區(qū)別在于,本實施例在對所述系統(tǒng)共享資源的副本進行讀操作結(jié)束后,解除所述系統(tǒng)共享資源的約束期,并回收所述系統(tǒng)共享資源的原版本。

因此,在本實施例中,在上述步驟S104:若申請訪問的系統(tǒng)共享資源處 于約束期,則對所述系統(tǒng)共享資源的副本進行讀操作之后,該方法還可以包括:

步驟S107,在對所述系統(tǒng)共享資源的副本進行讀操作結(jié)束后,解除所述系統(tǒng)共享資源的約束期,并回收所述系統(tǒng)共享資源的原版本。

具體地,在對系統(tǒng)共享資源的訪問結(jié)束后,即在同時存在的讀操作和寫操作均結(jié)束后,可以解除系統(tǒng)共享資源的約束期,并回收所述系統(tǒng)共享資源的原版本,以保證后續(xù)數(shù)據(jù)訪問的準(zhǔn)確性。

本實施例由于采用了副本機制,使得對共享資源的控制更加靈活。其中,對于讀操作,可以直接對共享資源(原版本或副本)進行訪問;對于寫操作,則需要將原來的老數(shù)據(jù)作一次備份,然后對備份數(shù)據(jù)進行修改,修改完畢之后,且老數(shù)據(jù)約束期解除后再實現(xiàn)老數(shù)據(jù)資源的回收。本機制能夠保證在讀寫操作共享資源時,保證數(shù)據(jù)的一致性,并且基本不需要取鎖操作,能夠在一定程度上提升資源的訪問速度,從而節(jié)省數(shù)據(jù)掃描時間;而通過約束期的解除,保證后續(xù)數(shù)據(jù)訪問的準(zhǔn)確性。

如圖8所示,本發(fā)明提出一種資源訪問方法第三實施例,該實施例與上述第一實施例的區(qū)別在于,本實施例為約束期設(shè)立有閾值,在對所述系統(tǒng)共享資源的副本進行讀操作結(jié)束前,若所述系統(tǒng)共享資源的約束期達到閾值,則強制解除所述系統(tǒng)共享資源的約束期,并回收所述系統(tǒng)共享資源的原版本。

因此,在本實施例中,在上述步驟S104:若申請訪問的系統(tǒng)共享資源處于約束期,則對所述系統(tǒng)共享資源的副本進行讀操作之后,還包括:

步驟S108,在對所述系統(tǒng)共享資源的副本進行讀操作結(jié)束前,判斷所述系統(tǒng)共享資源的約束期是否達到閾值;

步驟S109,若所述系統(tǒng)共享資源的約束期達到閾值,則強制解除所述系統(tǒng)共享資源的約束期,并回收所述系統(tǒng)共享資源的原版本。

具體地,對于處于約束期的系統(tǒng)共享資源,為了避免某個讀操作線程不停的進行,導(dǎo)致數(shù)據(jù)訪問無法正常進行,本實施例對約束期設(shè)置有一定的閾值,當(dāng)資源的約束期達到閾值時,強制申請解除資源約束期。

下面以掃描垃圾文件為例,對本發(fā)明實施例方案進行詳細闡述:

由于現(xiàn)在的移動終端的操作系統(tǒng)通常都是多任務(wù)和多線程的,在進行垃圾掃描的同時,也會出現(xiàn)其他進程或線程對掃描的資源進行訪問,這樣,就會造成資源共享操作。

現(xiàn)有技術(shù)在系統(tǒng)中采用鎖機制實現(xiàn)數(shù)據(jù)的一致性訪問存在效率問題和擴展問題,其中,效率問題體現(xiàn)在:鎖機制的實現(xiàn)需要對內(nèi)存的原子化訪問,這種訪問操作會破壞流水線操作,降低了流水線效率。另外,在采用讀寫鎖機制的情況下,寫鎖是排他鎖,無法實現(xiàn)寫鎖與讀鎖的并發(fā)操作,在某些應(yīng)用下回降低性能;擴展性問題體現(xiàn)在:當(dāng)系統(tǒng)中CPU數(shù)量增多的時候,采用鎖機制實現(xiàn)數(shù)據(jù)的同步訪問效率偏低。并且隨著CPU數(shù)量的增多,效率降低,由此可見鎖機制實現(xiàn)的數(shù)據(jù)一致性訪問擴展性差。

本發(fā)明實施例方案,通過采用副本機制,使得對共享資源的控制更加靈活。對于讀操作,可以直接對共享資源進行訪問;對于寫操作,其需要將原來的老數(shù)據(jù)作一次備份,然后對備份數(shù)據(jù)進行修改,修改完畢之后,且老數(shù)據(jù)約束期解除后再實現(xiàn)老數(shù)據(jù)資源的回收。這里增加了一個約束期,在一個寫操作發(fā)生后,它必須等待所有在約束期開始前已經(jīng)開始的讀線程結(jié)束,才可以進行更新操作。本機制能夠保證在讀寫操作共享資源時,基本不需要取鎖操作,能夠在一定程度上提升資源的訪問速度,從而節(jié)省垃圾掃描時間。

更為具體地,如圖9所示,為實施本發(fā)明方案,可以在系統(tǒng)框架中設(shè)置相應(yīng)的功能模塊,比如可以包括:資源申請管理模塊、資源約束期管理模塊和副本管理模塊。其中,各功能模塊的功能如下:

資源申請管理模塊:當(dāng)需要訪問系統(tǒng)資源時,需要向本模塊提交操作申請。資源申請管理模塊會根據(jù)申請的操作類型執(zhí)行相應(yīng)的邏輯。

a、寫操作類型。本模塊會調(diào)用副本管理模塊,申請新建副本。

b、讀操作類型。本模塊會首先在資源約束期管理模塊中查詢申請訪問的資源是否處于約束期。如果處于約束期,此時的線程會被引導(dǎo)至新資源進行訪問。否則,直接訪問資源。

資源約束期管理模塊:本模塊接收到資源約束期查詢請求后,會搜索在本地注冊的資源信息,如果搜索到請求的資源信息,則意味著已經(jīng)有線程對 本資源發(fā)起過寫操作,此時返回資源處于約束期。如果未搜索到,意味著資源可以直接訪問,此時返回資源不處于約束期。本模塊也對處在約束期的舊資源不斷的進行監(jiān)測,當(dāng)舊資源的訪問結(jié)束時,調(diào)用副本管理模塊,申請解除資源約束期。約束期有一定的閾值,當(dāng)資源的約束期達到閾值時,仍然沒有被解除,其也會調(diào)用副本管理模塊,強制申請解除資源約束期。同時,從本模塊中移除對應(yīng)的資源信息。

副本管理模塊:本模塊收到新建副本的指令后,會拷貝一份資源,并同時將資源信息注冊至約束期資源管理魔窟。當(dāng)收到解除資源約束期的指令后,其會回收舊資源,使用副本資源替代。

通過上述方案就能夠保證在讀寫操作共享資源時,基本不需要取鎖操作,能夠在一定程度上提升資源的訪問速度,從而節(jié)省垃圾掃描時間。

本實施例由于采用了副本機制,使得對共享資源的控制更加靈活。其中,對于讀操作,可以直接對共享資源(原版本或副本)進行訪問;對于寫操作,則需要將原來的老數(shù)據(jù)作一次備份,然后對備份數(shù)據(jù)進行修改,修改完畢之后,且老數(shù)據(jù)約束期解除后再實現(xiàn)老數(shù)據(jù)資源的回收。本機制能夠保證在讀寫操作共享資源時,保證數(shù)據(jù)的一致性,并且基本不需要取鎖操作,能夠在一定程度上提升資源的訪問速度,從而節(jié)省垃圾數(shù)據(jù)的掃描時間;而通過約束期的解除,保證后續(xù)數(shù)據(jù)訪問的準(zhǔn)確性。

需要說明的是,在本文中,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者裝置不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者裝置所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括該要素的過程、方法、物品或者裝置中還存在另外的相同要素。

上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。

通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實施例方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當(dāng)然也可以通 過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)(如ROM/RAM、磁碟、光盤)中,包括若干指令用以使得一臺終端設(shè)備(可以是手機,計算機,服務(wù)器,空調(diào)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。

以上僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護范圍內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1