本發(fā)明涉及終端存儲領(lǐng)域,更具體地說,涉及一種業(yè)務(wù)交互方法、終端和計(jì)算機(jī)可讀存儲介質(zhì)。
背景技術(shù):
::智能終端的快速發(fā)展已然改變了每個人的生活和工作習(xí)慣,已經(jīng)逐步完成替代pc的角色,大家習(xí)慣性的將生活照片、工作資料等文檔存儲在移動終端,方便和朋友分享和協(xié)同工作等等。而由于終端上安裝的越來越多的應(yīng)用,勢必會增大應(yīng)用和底層存儲的交互密度,請參考圖1,圖1示出了一種現(xiàn)有的終端存儲訪問的結(jié)構(gòu)示意圖,其采用的是套接字阻塞式的通信方式。在底層的存儲框架層,雖然有多個線程協(xié)同工作,但是每個線程各司其職,真正處理上層發(fā)送過來的命令的,仍然是單通道的模式。也就是說,上層有多個線程訪問存儲架構(gòu),然而底層的存儲架構(gòu)只有一個阻塞式套接字和底層進(jìn)行交互,前端的多個業(yè)務(wù)線程需要搶占式使用和等待,這樣等待線程就很可能由于等待時間過長而造成前端應(yīng)用anr(applicationnotresponding,應(yīng)用程序無響應(yīng))的發(fā)生,給用戶的體驗(yàn)帶來極大的困擾。技術(shù)實(shí)現(xiàn)要素:本發(fā)明要解決的技術(shù)問題在于如何避免現(xiàn)有終端前端業(yè)務(wù)和底層存儲交互機(jī)制遲滯,導(dǎo)致容易發(fā)生anr,用戶體驗(yàn)差的問題;針對該技術(shù)問題,提供一種業(yè)務(wù)交互方法,包括:異步接收前端業(yè)務(wù)線程發(fā)起的存儲訪問消息;根據(jù)所述存儲訪問消息,在套接字池中申請?zhí)捉幼?;根?jù)所述套接字,在線程池中為所述存儲訪問消息分配處理線程,通過所述處理線程獨(dú)立處理所述存儲訪問消息??蛇x的,所述異步接收前端業(yè)務(wù)線程發(fā)起的存儲訪問消息包括:所述前端業(yè)務(wù)處理線程以非阻塞式發(fā)起所述存儲訪問消息??蛇x的,在所述根據(jù)所述存儲訪問消息,在套接字池中申請?zhí)捉幼种埃€包括:按照各所述前端業(yè)務(wù)線程發(fā)起的存儲訪問消息的時間順序,依次對所述存儲訪問消息進(jìn)行緩存。可選的,在所述通過所述處理線程獨(dú)立處理所述存儲訪問消息之后,還包括:當(dāng)所述處理線程處理所述存儲訪問消息完成后,將處理結(jié)果通過廣播通知對應(yīng)的所述前端業(yè)務(wù)線程。可選的,在所述異步接收業(yè)務(wù)線程發(fā)起的存儲訪問消息之后,還包括:監(jiān)聽所述處理線程處理所述存儲訪問消息的處理結(jié)果。本發(fā)明還提供一種終端,包括處理器、存儲器以及通信總線;所述通信總線用于實(shí)現(xiàn)處理器和存儲器之間的連接通信;所述處理器用于執(zhí)行存儲器中存儲的業(yè)務(wù)交互程序,以實(shí)現(xiàn):異步接收前端業(yè)務(wù)線程發(fā)起的存儲訪問消息;根據(jù)所述存儲訪問消息,在套接字池中申請?zhí)捉幼?;根?jù)所述套接字,在線程池中為所述存儲訪問消息分配處理線程,通過所述處理線程獨(dú)立處理所述存儲訪問消息??蛇x的,所述異步接收前端業(yè)務(wù)線程發(fā)起的存儲訪問消息包括:所述前端業(yè)務(wù)處理線程以非阻塞式發(fā)起所述存儲訪問消息。可選的,在所述根據(jù)所述存儲訪問消息,在套接字池中申請?zhí)捉幼种?,所述處理器還用于執(zhí)行存儲器中存儲的業(yè)務(wù)交互程序,以實(shí)現(xiàn):按照各所述前端業(yè)務(wù)線程發(fā)起的存儲訪問消息的時間順序,依次對所述存儲訪問消息進(jìn)行緩存。可選的,在所述通過所述處理線程獨(dú)立處理所述存儲訪問消息之后,所述處理器還用于執(zhí)行存儲器中存儲的業(yè)務(wù)交互程序,以實(shí)現(xiàn):當(dāng)所述處理線程處理所述存儲訪問消息完成后,將處理結(jié)果通過廣播通知對應(yīng)的所述前端業(yè)務(wù)線程。本發(fā)明還提供一種計(jì)算機(jī)可讀存儲介質(zhì),所述計(jì)算機(jī)可讀存儲介質(zhì)存儲有一個或者多個程序,所述一個程序或者多個程序可被一個或者多個處理器執(zhí)行,以實(shí)現(xiàn)以下步驟:異步接收前端業(yè)務(wù)線程發(fā)起的存儲訪問消息;根據(jù)所述存儲訪問消息,在套接字池中申請?zhí)捉幼郑桓鶕?jù)所述套接字,在線程池中為所述存儲訪問消息分配處理線程,通過所述處理線程獨(dú)立處理所述存儲訪問消息。有益效果本發(fā)明提供了一種業(yè)務(wù)交互方法、終端和計(jì)算機(jī)可讀存儲介質(zhì),異步接收前端業(yè)務(wù)線程發(fā)起的存儲訪問消息;然后,根據(jù)存儲訪問消息,在套接字池中申請?zhí)捉幼?;根?jù)套接字,在線程池中為存儲訪問消息分配處理線程,通過處理線程獨(dú)立處理所述存儲訪問消息。通過本發(fā)明的實(shí)施,增設(shè)的套接字池和線程池為多任務(wù)同時執(zhí)行提供了可能,且通過異步的形式進(jìn)行交互,業(yè)務(wù)線程發(fā)起之后無需等待,顯著降低了anr的幾率,改善了用戶體驗(yàn)。附圖說明下面將結(jié)合附圖及實(shí)施例對本發(fā)明作進(jìn)一步說明,附圖中:圖1為現(xiàn)有的終端存儲訪問結(jié)構(gòu)示意圖;圖2為實(shí)現(xiàn)本發(fā)明各個實(shí)施例一個可選的移動終端的硬件結(jié)構(gòu)示意圖;圖3為本發(fā)明第一實(shí)施例提供的業(yè)務(wù)交互方法流程圖;圖4為本發(fā)明第二實(shí)施例提供的業(yè)務(wù)交互方法流程圖;圖5為本發(fā)明第三實(shí)施例提供的終端組成示意圖;圖6為本發(fā)明第四實(shí)施例提供的業(yè)務(wù)交互裝置組成示意圖。具體實(shí)施方式應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。在后續(xù)的描述中,使用用于表示元件的諸如“模塊”、“部件”或“單元”的后綴僅為了有利于本發(fā)明的說明,其本身沒有特定的意義。因此,“模塊”、“部件”或“單元”可以混合地使用。終端可以以各種形式來實(shí)施。例如,本發(fā)明中描述的終端可以包括諸如手機(jī)、平板電腦、筆記本電腦、掌上電腦、個人數(shù)字助理(personaldigitalassistant,pda)、便捷式媒體播放器(portablemediaplayer,pmp)、導(dǎo)航裝置、可穿戴設(shè)備、智能手環(huán)、計(jì)步器等移動終端,以及諸如數(shù)字tv、臺式計(jì)算機(jī)等固定終端。后續(xù)描述中將以移動終端為例進(jìn)行說明,本領(lǐng)域技術(shù)人員將理解的是,除了特別用于移動目的的元件之外,根據(jù)本發(fā)明的實(shí)施方式的構(gòu)造也能夠應(yīng)用于固定類型的終端。請參閱圖2,其為實(shí)現(xiàn)本發(fā)明各個實(shí)施例的一種移動終端的硬件結(jié)構(gòu)示意圖,該移動終端100可以包括:rf(radiofrequency,射頻)單元101、wifi模塊102、音頻輸出單元103、a/v(音頻/視頻)輸入單元104、傳感器105、顯示單元106、用戶輸入單元107、接口單元108、存儲器109、處理器110、以及電源111等部件。本領(lǐng)域技術(shù)人員可以理解,圖2中示出的移動終端結(jié)構(gòu)并不構(gòu)成對移動終端的限定,移動終端可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。下面結(jié)合圖2對移動終端的各個部件進(jìn)行具體的介紹:射頻單元101可用于收發(fā)信息或通話過程中,信號的接收和發(fā)送,具體的,將基站的下行信息接收后,給處理器110處理;另外,將上行的數(shù)據(jù)發(fā)送給基站。通常,射頻單元101包括但不限于天線、至少一個放大器、收發(fā)信機(jī)、耦合器、低噪聲放大器、雙工器等。此外,射頻單元101還可以通過無線通信與網(wǎng)絡(luò)和其他設(shè)備通信。上述無線通信可以使用任一通信標(biāo)準(zhǔn)或協(xié)議,包括但不限于gsm(globalsystemofmobilecommunication,全球移動通訊系統(tǒng))、gprs(generalpacketradioservice,通用分組無線服務(wù))、cdma2000(codedivisionmultipleaccess2000,碼分多址2000)、wcdma(widebandcodedivisionmultipleaccess,寬帶碼分多址)、td-scdma(timedivision-synchronouscodedivisionmultipleaccess,時分同步碼分多址)、fdd-lte(frequencydivisionduplexing-longtermevolution,頻分雙工長期演進(jìn))和tdd-lte(timedivisionduplexing-longtermevolution,分時雙工長期演進(jìn))等。wifi屬于短距離無線傳輸技術(shù),移動終端通過wifi模塊102可以幫助用戶收發(fā)電子郵件、瀏覽網(wǎng)頁和訪問流式媒體等,它為用戶提供了無線的寬帶互聯(lián)網(wǎng)訪問。雖然圖2示出了wifi模塊102,但是可以理解的是,其并不屬于移動終端的必須構(gòu)成,完全可以根據(jù)需要在不改變發(fā)明的本質(zhì)的范圍內(nèi)而省略。音頻輸出單元103可以在移動終端100處于呼叫信號接收模式、通話模式、記錄模式、語音識別模式、廣播接收模式等等模式下時,將射頻單元101或wifi模塊102接收的或者在存儲器109中存儲的音頻數(shù)據(jù)轉(zhuǎn)換成音頻信號并且輸出為聲音。而且,音頻輸出單元103還可以提供與移動終端100執(zhí)行的特定功能相關(guān)的音頻輸出(例如,呼叫信號接收聲音、消息接收聲音等等)。音頻輸出單元103可以包括揚(yáng)聲器、蜂鳴器等等。a/v輸入單元104用于接收音頻或視頻信號。a/v輸入單元104可以包括圖形處理器(graphicsprocessingunit,gpu)1041和麥克風(fēng)1042,圖形處理器1041對在視頻捕獲模式或圖像捕獲模式中由圖像捕獲裝置(如攝像頭)獲得的靜態(tài)圖片或視頻的圖像數(shù)據(jù)進(jìn)行處理。處理后的圖像幀可以顯示在顯示單元106上。經(jīng)圖形處理器1041處理后的圖像幀可以存儲在存儲器109(或其它存儲介質(zhì))中或者經(jīng)由射頻單元101或wifi模塊102進(jìn)行發(fā)送。麥克風(fēng)1042可以在電話通話模式、記錄模式、語音識別模式等等運(yùn)行模式中經(jīng)由麥克風(fēng)1042接收聲音(音頻數(shù)據(jù)),并且能夠?qū)⑦@樣的聲音處理為音頻數(shù)據(jù)。處理后的音頻(語音)數(shù)據(jù)可以在電話通話模式的情況下轉(zhuǎn)換為可經(jīng)由射頻單元101發(fā)送到移動通信基站的格式輸出。麥克風(fēng)1042可以實(shí)施各種類型的噪聲消除(或抑制)算法以消除(或抑制)在接收和發(fā)送音頻信號的過程中產(chǎn)生的噪聲或者干擾。移動終端100還包括至少一種傳感器105,比如光傳感器、運(yùn)動傳感器以及其他傳感器。具體地,光傳感器包括環(huán)境光傳感器及接近傳感器,其中,環(huán)境光傳感器可根據(jù)環(huán)境光線的明暗來調(diào)節(jié)顯示面板1061的亮度,接近傳感器可在移動終端100移動到耳邊時,關(guān)閉顯示面板1061和/或背光。作為運(yùn)動傳感器的一種,加速計(jì)傳感器可檢測各個方向上(一般為三軸)加速度的大小,靜止時可檢測出重力的大小及方向,可用于識別手機(jī)姿態(tài)的應(yīng)用(比如橫豎屏切換、相關(guān)游戲、磁力計(jì)姿態(tài)校準(zhǔn))、振動識別相關(guān)功能(比如計(jì)步器、敲擊)等;至于手機(jī)還可配置的指紋傳感器、壓力傳感器、虹膜傳感器、分子傳感器、陀螺儀、氣壓計(jì)、濕度計(jì)、溫度計(jì)、紅外線傳感器等其他傳感器,在此不再贅述。顯示單元106用于顯示由用戶輸入的信息或提供給用戶的信息。顯示單元106可包括顯示面板1061,可以采用液晶顯示器(liquidcrystaldisplay,lcd)、有機(jī)發(fā)光二極管(organiclight-emittingdiode,oled)等形式來配置顯示面板1061。用戶輸入單元107可用于接收輸入的數(shù)字或字符信息,以及產(chǎn)生與移動終端的用戶設(shè)置以及功能控制有關(guān)的鍵信號輸入。具體地,用戶輸入單元107可包括觸控面板1071以及其他輸入設(shè)備1072。觸控面板1071,也稱為觸摸屏,可收集用戶在其上或附近的觸摸操作(比如用戶使用手指、觸筆等任何適合的物體或附件在觸控面板1071上或在觸控面板1071附近的操作),并根據(jù)預(yù)先設(shè)定的程式驅(qū)動相應(yīng)的連接裝置。觸控面板1071可包括觸摸檢測裝置和觸摸控制器兩個部分。其中,觸摸檢測裝置檢測用戶的觸摸方位,并檢測觸摸操作帶來的信號,將信號傳送給觸摸控制器;觸摸控制器從觸摸檢測裝置上接收觸摸信息,并將它轉(zhuǎn)換成觸點(diǎn)坐標(biāo),再送給處理器110,并能接收處理器110發(fā)來的命令并加以執(zhí)行。此外,可以采用電阻式、電容式、紅外線以及表面聲波等多種類型實(shí)現(xiàn)觸控面板1071。除了觸控面板1071,用戶輸入單元107還可以包括其他輸入設(shè)備1072。具體地,其他輸入設(shè)備1072可以包括但不限于物理鍵盤、功能鍵(比如音量控制按鍵、開關(guān)按鍵等)、軌跡球、鼠標(biāo)、操作桿等中的一種或多種,具體此處不做限定。進(jìn)一步的,觸控面板1071可覆蓋顯示面板1061,當(dāng)觸控面板1071檢測到在其上或附近的觸摸操作后,傳送給處理器110以確定觸摸事件的類型,隨后處理器110根據(jù)觸摸事件的類型在顯示面板1061上提供相應(yīng)的視覺輸出。雖然在圖2中,觸控面板1071與顯示面板1061是作為兩個獨(dú)立的部件來實(shí)現(xiàn)移動終端的輸入和輸出功能,但是在某些實(shí)施例中,可以將觸控面板1071與顯示面板1061集成而實(shí)現(xiàn)移動終端的輸入和輸出功能,具體此處不做限定。接口單元108用作至少一個外部裝置與移動終端100連接可以通過的接口。例如,外部裝置可以包括有線或無線頭戴式耳機(jī)端口、外部電源(或電池充電器)端口、有線或無線數(shù)據(jù)端口、存儲卡端口、用于連接具有識別模塊的裝置的端口、音頻輸入/輸出(i/o)端口、視頻i/o端口、耳機(jī)端口等等。接口單元108可以用于接收來自外部裝置的輸入(例如,數(shù)據(jù)信息、電力等等)并且將接收到的輸入傳輸?shù)揭苿咏K端100內(nèi)的一個或多個元件或者可以用于在移動終端100和外部裝置之間傳輸數(shù)據(jù)。存儲器109可用于存儲軟件程序以及各種數(shù)據(jù)。存儲器109可主要包括存儲程序區(qū)和存儲數(shù)據(jù)區(qū),其中,存儲程序區(qū)可存儲操作系統(tǒng)、至少一個功能所需的應(yīng)用程序(比如聲音播放功能、圖像播放功能等)等;存儲數(shù)據(jù)區(qū)可存儲根據(jù)手機(jī)的使用所創(chuàng)建的數(shù)據(jù)(比如音頻數(shù)據(jù)、電話本等)等。此外,存儲器109可以包括高速隨機(jī)存取存儲器,還可以包括非易失性存儲器,例如至少一個磁盤存儲器件、閃存器件、或其他易失性固態(tài)存儲器件。處理器110是移動終端的控制中心,利用各種接口和線路連接整個移動終端的各個部分,通過運(yùn)行或執(zhí)行存儲在存儲器109內(nèi)的軟件程序和/或模塊,以及調(diào)用存儲在存儲器109內(nèi)的數(shù)據(jù),執(zhí)行移動終端的各種功能和處理數(shù)據(jù),從而對移動終端進(jìn)行整體監(jiān)控。處理器110可包括一個或多個處理單元;優(yōu)選的,處理器110可集成應(yīng)用處理器和調(diào)制解調(diào)處理器,其中,應(yīng)用處理器主要處理操作系統(tǒng)、用戶界面和應(yīng)用程序等,調(diào)制解調(diào)處理器主要處理無線通信。可以理解的是,上述調(diào)制解調(diào)處理器也可以不集成到處理器110中。移動終端100還可以包括給各個部件供電的電源111(比如電池),優(yōu)選的,電源111可以通過電源管理系統(tǒng)與處理器110邏輯相連,從而通過電源管理系統(tǒng)實(shí)現(xiàn)管理充電、放電、以及功耗管理等功能。盡管圖2未示出,移動終端100還可以包括藍(lán)牙模塊等,在此不再贅述。以下通過具體實(shí)施例進(jìn)行詳細(xì)說明。第一實(shí)施例參照圖3,圖3為本發(fā)明第一實(shí)施例提供的業(yè)務(wù)交互方法流程圖。本實(shí)施例中的業(yè)務(wù)交互方法,包括:s301、異步接收前端業(yè)務(wù)線程發(fā)起的存儲訪問消息;s302、根據(jù)存儲訪問消息,在套接字池中申請?zhí)捉幼郑籹303、根據(jù)套接字,在線程池中為存儲訪問消息分配處理線程,通過處理線程獨(dú)立處理存儲訪問消息。在終端的存儲交互流程中,一般是,根據(jù)用戶的指令,或者是終端自發(fā)的,從前端的業(yè)務(wù)線程發(fā)起存儲訪問消息,其中存儲訪問消息是針對終端的內(nèi)存而言,而內(nèi)存可以包括終端的運(yùn)行內(nèi)存或者機(jī)身內(nèi)存,訪問消息則是一種可通過終端的處理器識別而執(zhí)行的一種指令信息。s301中,異步接收前端業(yè)務(wù)線程發(fā)起的存儲訪問消息。異步,與同步相對應(yīng),其中,同步所指的是,在發(fā)出一個“調(diào)用”時,在沒有得到結(jié)果之前,該“調(diào)用”就不會返回,但是一旦調(diào)用返回,就意味著得到返回值了。而異步則不同,“調(diào)用”在發(fā)出后,這個“調(diào)用”就直接返回了,所以并沒有返回結(jié)果。也就是說,當(dāng)一個異步“調(diào)用”發(fā)出后,發(fā)起者不會立刻得到結(jié)果,而是在“調(diào)用”發(fā)出后,處理的一端通過狀態(tài)、通知來通知調(diào)用者,或者通過回調(diào)函數(shù)處理這個調(diào)用。異步機(jī)制無需發(fā)起者持續(xù)的等待,前端業(yè)務(wù)在發(fā)起存儲訪問消息后,可以自行進(jìn)行其他任務(wù),不用等待這個存儲訪問消息的處理結(jié)果回傳。在本實(shí)施例中,異步接收的存儲訪問消息,就意味著這個存儲訪問消息的處理方式是異步的,非同步的,可以提高前端業(yè)務(wù)處理的靈活度。其中,異步接收前端業(yè)務(wù)線程發(fā)起的存儲訪問消息,可以包括:前端業(yè)務(wù)線程以非阻塞式發(fā)起存儲訪問消息。其中,非阻塞和阻塞相對應(yīng),阻塞是指處理結(jié)果返回之前,當(dāng)前線程會被掛起,而該線程只有在得到結(jié)果之后才會返回。非阻塞則是指在不能立刻得到結(jié)果之前,該調(diào)用不會阻塞當(dāng)前線程。非阻塞指的是,在發(fā)起存儲訪問消息之后,前端業(yè)務(wù)線程的狀態(tài)是自如的,不等待對存儲訪問消息的處理結(jié)果,而可以去做其他的事情。s302中,根據(jù)存儲訪問消息,在套接字池中申請?zhí)捉幼帧L捉幼?,其定義為,源ip地址和目的ip地址以及源端口號和目的端口號的組合成為套接字。它是網(wǎng)絡(luò)通信過程中,端點(diǎn)的抽象表示,包含進(jìn)行網(wǎng)絡(luò)通信必須的信息,比如:連接使用的協(xié)議、本地主機(jī)的ip地址、本地進(jìn)程的協(xié)議端口、遠(yuǎn)程主機(jī)的ip地址、遠(yuǎn)程進(jìn)程的協(xié)議端口等等。套接字,是支持tcp/ip的網(wǎng)絡(luò)通信的基本操作單元,可以看做是雙方進(jìn)程之間進(jìn)行雙向通信的端點(diǎn),簡單地說就是通信雙方的一種約定,用套接字中的相關(guān)函數(shù)來完成通信過程。多通道的維護(hù)依賴于多套接字。套接字就相當(dāng)于在前端業(yè)務(wù)線程和底層存儲架構(gòu)之間建立了交互通道。本實(shí)施例中的終端設(shè)有套接字池,該套接字池中包括多個套接字,在實(shí)際應(yīng)用中,每一個套接字對應(yīng)于一個前端業(yè)務(wù)線程和底層存儲架構(gòu)之間的交互通道,每有一個前端業(yè)務(wù)線程發(fā)起了存儲訪問消息,就可以根據(jù)該存儲訪問消息,在套接字池中申請一個套接字,以便進(jìn)行后續(xù)的處理。在本實(shí)施例中,在根據(jù)存儲訪問消息,在套接字池中申請?zhí)捉幼种埃€可以包括:按照各前端業(yè)務(wù)線程發(fā)起的存儲訪問消息的時間順序,依次對存儲訪問消息進(jìn)行緩存。也就是說,業(yè)務(wù)線程發(fā)起的存儲訪問消息有兩個或者以上時,可以對這些存儲訪問消息進(jìn)行緩存,按照其發(fā)起的時間順序,便于后續(xù)套接字的分配以及處理線程處理的流程是科學(xué)連續(xù)的,避免當(dāng)存儲訪問消息過多,超過了底層存儲架構(gòu)處理的上限,而可能導(dǎo)致的處理次序紊亂的問題。對這些存儲訪問消息按照時間順序進(jìn)行緩存后,就可以進(jìn)一步有序的進(jìn)行后續(xù)的處理,保證系統(tǒng)的流暢度,降低anr的幾率。s303中,根據(jù)套接字,在線程池中為存儲訪問消息分配處理線程,通過處理線程獨(dú)立處理存儲訪問消息。不同于前端業(yè)務(wù)線程,線程池是底層存儲架構(gòu)中的后臺線程。線程池是一種多線程處理形式,處理過程中將任務(wù)添加到隊(duì)列,然后在創(chuàng)建線程后自動啟動這些任務(wù)。線程池線程都是后臺線程。各線程可以使用默認(rèn)的堆棧大小,以默認(rèn)的優(yōu)先級運(yùn)行,并處于多線程單元中。線程池可以通過多個線程來執(zhí)行一個任務(wù),但線程池中的線程總數(shù)不會超過線程池允許的最大數(shù)目。如果在線程池中的當(dāng)前處理線程的數(shù)量已達(dá)到的最大線程數(shù),那后續(xù)的線程將會被掛起,等待線程池中有線程結(jié)束,再執(zhí)行后續(xù)的處理線程。其中,獨(dú)立處理,所指的是,各不同的存儲訪問消息對應(yīng)的處理線程之間是各自獨(dú)立的,不會互相干擾,處理的結(jié)果也是獨(dú)立的。在本實(shí)施例中,通過套接字,確認(rèn)了前端業(yè)務(wù)線程,與底層存儲架構(gòu)之間的交互通道,而一個由前端業(yè)務(wù)線程發(fā)起的存儲訪問消息,對應(yīng)于一個套接字,以及一個或者多個處理線程。由于套接字池中包括多個套接字,線程池中也包括多個線程,那么,本實(shí)施例允許多個前端業(yè)務(wù)線程發(fā)起的存儲訪問消息同時與底層存儲架構(gòu)進(jìn)行交互,或者更具體的說,各前端業(yè)務(wù)線程發(fā)起的存儲訪問消息可同時的在底層存儲架構(gòu)中被處理,無需一個一個的排隊(duì)等待,明顯提升了處理的效率,降低了anr的幾率。在本實(shí)施例中,在通過處理線程獨(dú)立處理存儲訪問消息之后,還可以包括:當(dāng)處理線程處理存儲訪問消息完成后,將處理結(jié)果通過廣播通知對應(yīng)的前端業(yè)務(wù)線程。由于存儲訪問消息是異步形式處理的,前端業(yè)務(wù)線程無需掛起等待處理結(jié)果,那么,在處理完成后,可以以廣播的形式,將處理結(jié)果通過對應(yīng)的前端業(yè)務(wù)線程。在本實(shí)施例中,這一過程除了廣播的通知形式,還可以通過狀態(tài)、通知,或者回調(diào)函數(shù)來通知前端業(yè)務(wù)線程。在本實(shí)施例中,在異步接收業(yè)務(wù)線程發(fā)起的存儲訪問消息之后,還可以包括:監(jiān)聽處理線程處理存儲訪問消息的處理結(jié)果。由于前端業(yè)務(wù)線程在發(fā)起存儲訪問消息之后,就可以進(jìn)行其他的活動,為了及時的得知本次存儲訪問消息的處理結(jié)果,那么,還可以通過監(jiān)聽的方式,監(jiān)聽處理線程處理存儲訪問消息的處理結(jié)果。與廣播通知對應(yīng)的前端業(yè)務(wù)線程不同,本實(shí)施例中的監(jiān)聽過程是設(shè)置在前端業(yè)務(wù)線程側(cè)的,監(jiān)聽可以是監(jiān)聽廣播通知的處理結(jié)果,也可以直接監(jiān)聽處理線程對存儲訪問消息的處理結(jié)果。廣播過程可以直接通知前端業(yè)務(wù)線程,或者通知對應(yīng)前端業(yè)務(wù)線程中,用于監(jiān)聽的部分。本實(shí)施例提供了一種業(yè)務(wù)交互方法,異步接收前端業(yè)務(wù)線程發(fā)起的存儲訪問消息;然后,根據(jù)存儲訪問消息,在套接字池中申請?zhí)捉幼郑桓鶕?jù)套接字,在線程池中為存儲訪問消息分配處理線程,通過處理線程獨(dú)立處理所述存儲訪問消息。通過本實(shí)施例的實(shí)施,增設(shè)的套接字池和線程池為多任務(wù)同時執(zhí)行提供了可能,且通過異步的形式進(jìn)行交互,業(yè)務(wù)線程發(fā)起之后無需等待,顯著降低了anr的幾率,改善了用戶體驗(yàn)。第二實(shí)施例請參考圖4,圖4為本發(fā)明第二實(shí)施例提供的業(yè)務(wù)交互方法流程圖。本實(shí)施例中的業(yè)務(wù)交互方法,包括:s401、前端業(yè)務(wù)線程以異步非阻塞的形式,向底層存儲架構(gòu)發(fā)起存儲訪問消息;s402、底部存儲架構(gòu)接收存儲訪問消息;s403、根據(jù)接收到的存儲訪問消息的生成的時間順序進(jìn)行順序緩存;s404、依次根據(jù)緩存順序,在套接字池中申請?zhí)捉幼郑籹405、根據(jù)套接字,在線程池中為存儲訪問消息分配處理線程,通過處理線程獨(dú)立處理存儲訪問消息;s406、當(dāng)處理線程處理存儲訪問消息完成后,將處理結(jié)果通過廣播通知對應(yīng)的前端業(yè)務(wù)線程。在終端的存儲交互流程中,一般是,根據(jù)用戶的指令,或者是終端自發(fā)的,從前端的業(yè)務(wù)線程發(fā)起存儲訪問消息,其中存儲訪問消息是針對終端的內(nèi)存而言,而內(nèi)存可以包括終端的運(yùn)行內(nèi)存或者機(jī)身內(nèi)存,訪問消息則是一種可通過終端的處理器識別而執(zhí)行的一種指令信息。s401中,前端業(yè)務(wù)線程以異步非阻塞式發(fā)起存儲訪問消息。其中,異步與同步相對應(yīng),其中,同步所指的是,在發(fā)出一個“調(diào)用”時,在沒有得到結(jié)果之前,該“調(diào)用”就不會返回,但是一旦調(diào)用返回,就意味著得到返回值了。而異步則不同,“調(diào)用”在發(fā)出后,這個“調(diào)用”就直接返回了,所以并沒有返回結(jié)果。也就是說,當(dāng)一個異步“調(diào)用”發(fā)出后,發(fā)起者不會立刻得到結(jié)果,而是在“調(diào)用”發(fā)出后,處理的一端通過狀態(tài)、通知來通知調(diào)用者,或者通過回調(diào)函數(shù)處理這個調(diào)用。異步機(jī)制無需發(fā)起者持續(xù)的等待,前端業(yè)務(wù)在發(fā)起存儲訪問消息后,可以自行進(jìn)行其他任務(wù),不用等待這個存儲訪問消息的處理結(jié)果回傳。在本實(shí)施例中,異步接收的存儲訪問消息,就意味著這個存儲訪問消息的處理方式是異步的,非同步的,可以提高前端業(yè)務(wù)處理的靈活度。而非阻塞則與阻塞對應(yīng),阻塞是指處理結(jié)果返回之前,當(dāng)前線程會被掛起,而該線程只有在得到結(jié)果之后才會返回。非阻塞則是指在不能立刻得到結(jié)果之前,該調(diào)用不會阻塞當(dāng)前線程。非阻塞指的是,在發(fā)起存儲訪問消息之后,前端業(yè)務(wù)線程的狀態(tài)是自如的,不等待對存儲訪問消息的處理結(jié)果,而可以去做其他的事情。s403中,業(yè)務(wù)線程發(fā)起的存儲訪問消息有兩個或者以上時,可以對這些存儲訪問消息進(jìn)行緩存,按照其發(fā)起的時間順序,便于后續(xù)套接字的分配以及處理線程處理的流程是科學(xué)連續(xù)的,避免當(dāng)存儲訪問消息過多,超過了底層存儲架構(gòu)處理的上限,而可能導(dǎo)致的處理次序紊亂的問題。對這些存儲訪問消息按照時間順序進(jìn)行緩存后,就可以進(jìn)一步有序的進(jìn)行后續(xù)的處理,保證系統(tǒng)的流暢度,降低anr的幾率。s404中,套接字是網(wǎng)絡(luò)通信過程中,端點(diǎn)的抽象表示,包含進(jìn)行網(wǎng)絡(luò)通信必須的信息,比如連接使用的協(xié)議、本地主機(jī)的ip地址、本地進(jìn)程的協(xié)議端口、遠(yuǎn)程主機(jī)的ip地址、遠(yuǎn)程進(jìn)程的協(xié)議端口等等。套接字,是支持tcp/ip的網(wǎng)絡(luò)通信的基本操作單元,可以看做是雙方進(jìn)程之間進(jìn)行雙向通信的端點(diǎn),簡單地說就是通信雙方的一種約定,用套接字中的相關(guān)函數(shù)來完成通信過程。多通道的維護(hù)依賴于多套接字。套接字就相當(dāng)于在前端業(yè)務(wù)線程和底層存儲架構(gòu)之間建立了交互通道。s405中,不同于前端業(yè)務(wù)線程,線程池是底層存儲架構(gòu)中的后臺線程。線程池是一種多線程處理形式,處理過程中將任務(wù)添加到隊(duì)列,然后在創(chuàng)建線程后自動啟動這些任務(wù)。線程池線程都是后臺線程。各線程可以使用默認(rèn)的堆棧大小,以默認(rèn)的優(yōu)先級運(yùn)行,并處于多線程單元中。線程池可以通過多個線程來執(zhí)行一個任務(wù),但線程池中的線程總數(shù)不會超過線程池允許的最大數(shù)目。如果在線程池中的當(dāng)前處理線程的數(shù)量已達(dá)到的最大線程數(shù),那后續(xù)的線程將會被掛起,等待線程池中有線程結(jié)束,再執(zhí)行后續(xù)的處理線程。其中,獨(dú)立處理,所指的是,各不同的存儲訪問消息對應(yīng)的處理線程之間是各自獨(dú)立的,不會互相干擾,處理的結(jié)果也是獨(dú)立的。s406中,由于存儲訪問消息是異步形式處理的,前端業(yè)務(wù)線程無需掛起等待處理結(jié)果,那么,在處理完成后,可以以廣播的形式,將處理結(jié)果通過對應(yīng)的前端業(yè)務(wù)線程。在本實(shí)施例中,這一過程除了廣播的通知形式,還可以通過狀態(tài)、通知,或者回調(diào)函數(shù)來通知前端業(yè)務(wù)線程。在本實(shí)施例中,在前端業(yè)務(wù)線程以異步非阻塞對底層存儲架構(gòu)發(fā)起存儲訪問消息之后,還可以包括:監(jiān)聽處理線程處理存儲訪問消息的處理結(jié)果。由于前端業(yè)務(wù)線程在發(fā)起存儲訪問消息之后,就可以進(jìn)行其他的活動,為了及時的得知本次存儲訪問消息的處理結(jié)果,那么,還可以通過監(jiān)聽的方式,監(jiān)聽處理線程處理存儲訪問消息的處理結(jié)果。與廣播通知對應(yīng)的前端業(yè)務(wù)線程不同,本實(shí)施例中的監(jiān)聽過程是設(shè)置在前端業(yè)務(wù)線程側(cè)的,監(jiān)聽可以是監(jiān)聽廣播通知的處理結(jié)果,也可以直接監(jiān)聽處理線程對存儲訪問消息的處理結(jié)果。廣播過程可以直接通知前端業(yè)務(wù)線程,或者通知對應(yīng)前端業(yè)務(wù)線程中,用于監(jiān)聽的部分。本實(shí)施例提供了一種業(yè)務(wù)交互方法,前端業(yè)務(wù)線程以異步非阻塞的形式,向底層存儲架構(gòu)發(fā)起存儲訪問消息;底部存儲架構(gòu)接收存儲訪問消息,并按照時間順序進(jìn)行緩存;然后,根據(jù)存儲訪問消息,在套接字池中申請?zhí)捉幼郑桓鶕?jù)套接字,在線程池中為存儲訪問消息分配處理線程,通過處理線程獨(dú)立處理所述存儲訪問消息;在處理完成后,將處理結(jié)果通過廣播通知對應(yīng)的前端業(yè)務(wù)線程。通過本實(shí)施例的實(shí)施,增設(shè)的套接字池和線程池為多任務(wù)同時執(zhí)行提供了可能,且通過異步的形式進(jìn)行交互,業(yè)務(wù)線程發(fā)起之后無需等待,顯著降低了anr的幾率,改善了用戶體驗(yàn)。第三實(shí)施例請參考圖5,圖5為本發(fā)明第三實(shí)施例提供的終端組成示意圖。本實(shí)施例中的終端,包括處理器110,存儲器109以及通信總線501;其中:通信總線501用于實(shí)現(xiàn)處理器110和存儲器109之間的連接通信;處理器110用于執(zhí)行存儲器109中存儲的業(yè)務(wù)交互程序,以實(shí)現(xiàn):異步接收前端業(yè)務(wù)線程發(fā)起的存儲訪問消息;根據(jù)存儲訪問消息,在套接字池中申請?zhí)捉幼?;根?jù)套接字,在線程池中為存儲訪問消息分配處理線程,通過處理線程獨(dú)立處理存儲訪問消息。在終端的存儲交互流程中,一般是,根據(jù)用戶的指令,或者是終端自發(fā)的,從前端的業(yè)務(wù)線程發(fā)起存儲訪問消息,其中存儲訪問消息是針對終端的內(nèi)存而言,而內(nèi)存可以包括終端的運(yùn)行內(nèi)存或者機(jī)身內(nèi)存,訪問消息則是一種可通過終端的處理器110識別而執(zhí)行的一種指令信息。本實(shí)施例中,處理器110執(zhí)行業(yè)務(wù)交互程序,首先實(shí)現(xiàn):異步接收前端業(yè)務(wù)線程發(fā)起的存儲訪問消息。異步,與同步相對應(yīng),其中,同步所指的是,在發(fā)出一個“調(diào)用”時,在沒有得到結(jié)果之前,該“調(diào)用”就不會返回,但是一旦調(diào)用返回,就意味著得到返回值了。而異步則不同,“調(diào)用”在發(fā)出后,這個“調(diào)用”就直接返回了,所以并沒有返回結(jié)果。也就是說,當(dāng)一個異步“調(diào)用”發(fā)出后,發(fā)起者不會立刻得到結(jié)果,而是在“調(diào)用”發(fā)出后,處理的一端通過狀態(tài)、通知來通知調(diào)用者,或者通過回調(diào)函數(shù)處理這個調(diào)用。異步機(jī)制無需發(fā)起者持續(xù)的等待,前端業(yè)務(wù)在發(fā)起存儲訪問消息后,可以自行進(jìn)行其他任務(wù),不用等待這個存儲訪問消息的處理結(jié)果回傳。在本實(shí)施例中,異步接收的存儲訪問消息,就意味著這個存儲訪問消息的處理方式是異步的,非同步的,可以提高前端業(yè)務(wù)處理的靈活度。其中,異步接收前端業(yè)務(wù)線程發(fā)起的存儲訪問消息,可以包括:前端業(yè)務(wù)線程以非阻塞式發(fā)起存儲訪問消息。其中,非阻塞和阻塞相對應(yīng),阻塞是指處理結(jié)果返回之前,當(dāng)前線程會被掛起,而該線程只有在得到結(jié)果之后才會返回。非阻塞則是指在不能立刻得到結(jié)果之前,該調(diào)用不會阻塞當(dāng)前線程。非阻塞指的是,在發(fā)起存儲訪問消息之后,前端業(yè)務(wù)線程的狀態(tài)是自如的,不等待對存儲訪問消息的處理結(jié)果,而可以去做其他的事情。本實(shí)施例中,處理器110執(zhí)行業(yè)務(wù)交互程序,然后實(shí)現(xiàn):根據(jù)存儲訪問消息,在套接字池中申請?zhí)捉幼?。套接字,其定義為,源ip地址和目的ip地址以及源端口號和目的端口號的組合成為套接字。它是網(wǎng)絡(luò)通信過程中,端點(diǎn)的抽象表示,包含進(jìn)行網(wǎng)絡(luò)通信必須的信息,比如:連接使用的協(xié)議、本地主機(jī)的ip地址、本地進(jìn)程的協(xié)議端口、遠(yuǎn)程主機(jī)的ip地址、遠(yuǎn)程進(jìn)程的協(xié)議端口等等。套接字,是支持tcp/ip的網(wǎng)絡(luò)通信的基本操作單元,可以看做是雙方進(jìn)程之間進(jìn)行雙向通信的端點(diǎn),簡單地說就是通信雙方的一種約定,用套接字中的相關(guān)函數(shù)來完成通信過程。多通道的維護(hù)依賴于多套接字。套接字就相當(dāng)于在前端業(yè)務(wù)線程和底層存儲架構(gòu)之間建立了交互通道。本實(shí)施例中的終端設(shè)有套接字池,該套接字池中包括多個套接字,在實(shí)際應(yīng)用中,每一個套接字對應(yīng)于一個前端業(yè)務(wù)線程和底層存儲架構(gòu)之間的交互通道,每有一個前端業(yè)務(wù)線程發(fā)起了存儲訪問消息,就可以根據(jù)該存儲訪問消息,在套接字池中申請一個套接字,以便進(jìn)行后續(xù)的處理。在本實(shí)施例中,在根據(jù)存儲訪問消息,在套接字池中申請?zhí)捉幼种?,處理?10還可以執(zhí)行存儲器109中存儲的業(yè)務(wù)交互程序,以實(shí)現(xiàn):按照各前端業(yè)務(wù)線程發(fā)起的存儲訪問消息的時間順序,依次對存儲訪問消息進(jìn)行緩存。也就是說,業(yè)務(wù)線程發(fā)起的存儲訪問消息有兩個或者以上時,可以對這些存儲訪問消息進(jìn)行緩存,按照其發(fā)起的時間順序,便于后續(xù)套接字的分配以及處理線程處理的流程是科學(xué)連續(xù)的,避免當(dāng)存儲訪問消息過多,超過了底層存儲架構(gòu)處理的上限,而可能導(dǎo)致的處理次序紊亂的問題。對這些存儲訪問消息按照時間順序進(jìn)行緩存后,就可以進(jìn)一步有序的進(jìn)行后續(xù)的處理,保證系統(tǒng)的流暢度,降低anr的幾率。本實(shí)施例中,處理器110執(zhí)行業(yè)務(wù)交互程序,然后實(shí)現(xiàn):根據(jù)套接字,在線程池中為存儲訪問消息分配處理線程,通過處理線程獨(dú)立處理存儲訪問消息。不同于前端業(yè)務(wù)線程,線程池是底層存儲架構(gòu)中的后臺線程。線程池是一種多線程處理形式,處理過程中將任務(wù)添加到隊(duì)列,然后在創(chuàng)建線程后自動啟動這些任務(wù)。線程池線程都是后臺線程。各線程可以使用默認(rèn)的堆棧大小,以默認(rèn)的優(yōu)先級運(yùn)行,并處于多線程單元中。線程池可以通過多個線程來執(zhí)行一個任務(wù),但線程池中的線程總數(shù)不會超過線程池允許的最大數(shù)目。如果在線程池中的當(dāng)前處理線程的數(shù)量已達(dá)到的最大線程數(shù),那后續(xù)的線程將會被掛起,等待線程池中有線程結(jié)束,再執(zhí)行后續(xù)的處理線程。其中,獨(dú)立處理,所指的是,各不同的存儲訪問消息對應(yīng)的處理線程之間是各自獨(dú)立的,不會互相干擾,處理的結(jié)果也是獨(dú)立的。在本實(shí)施例中,通過套接字,確認(rèn)了前端業(yè)務(wù)線程,與底層存儲架構(gòu)之間的交互通道,而一個由前端業(yè)務(wù)線程發(fā)起的存儲訪問消息,對應(yīng)于一個套接字,以及一個或者多個處理線程。由于套接字池中包括多個套接字,線程池中也包括多個線程,那么,本實(shí)施例允許多個前端業(yè)務(wù)線程發(fā)起的存儲訪問消息同時與底層存儲架構(gòu)進(jìn)行交互,或者更具體的說,各前端業(yè)務(wù)線程發(fā)起的存儲訪問消息可同時的在底層存儲架構(gòu)中被處理,無需一個一個的排隊(duì)等待,明顯提升了處理的效率,降低了anr的幾率。在本實(shí)施例中,在通過處理線程獨(dú)立處理存儲訪問消息之后,處理器110還可以執(zhí)行存儲器109中存儲的業(yè)務(wù)交互程序,以實(shí)現(xiàn):當(dāng)處理線程處理存儲訪問消息完成后,將處理結(jié)果通過廣播通知對應(yīng)的前端業(yè)務(wù)線程。由于存儲訪問消息是異步形式處理的,前端業(yè)務(wù)線程無需掛起等待處理結(jié)果,那么,在處理完成后,可以以廣播的形式,將處理結(jié)果通過對應(yīng)的前端業(yè)務(wù)線程。在本實(shí)施例中,這一過程除了廣播的通知形式,還可以通過狀態(tài)、通知,或者回調(diào)函數(shù)來通知前端業(yè)務(wù)線程。在本實(shí)施例中,在異步接收業(yè)務(wù)線程發(fā)起的存儲訪問消息之后,處理器110還可以執(zhí)行存儲器109中存儲的業(yè)務(wù)交互程序,以實(shí)現(xiàn):監(jiān)聽處理線程處理存儲訪問消息的處理結(jié)果。由于前端業(yè)務(wù)線程在發(fā)起存儲訪問消息之后,就可以進(jìn)行其他的活動,為了及時的得知本次存儲訪問消息的處理結(jié)果,那么,還可以通過監(jiān)聽的方式,監(jiān)聽處理線程處理存儲訪問消息的處理結(jié)果。與廣播通知對應(yīng)的前端業(yè)務(wù)線程不同,本實(shí)施例中的監(jiān)聽過程是設(shè)置在前端業(yè)務(wù)線程側(cè)的,監(jiān)聽可以是監(jiān)聽廣播通知的處理結(jié)果,也可以直接監(jiān)聽處理線程對存儲訪問消息的處理結(jié)果。廣播過程可以直接通知前端業(yè)務(wù)線程,或者通知對應(yīng)前端業(yè)務(wù)線程中,用于監(jiān)聽的部分。本實(shí)施例提供了一種終端,異步接收前端業(yè)務(wù)線程發(fā)起的存儲訪問消息;然后,根據(jù)存儲訪問消息,在套接字池中申請?zhí)捉幼?;根?jù)套接字,在線程池中為存儲訪問消息分配處理線程,通過處理線程獨(dú)立處理所述存儲訪問消息。通過本實(shí)施例的實(shí)施,增設(shè)的套接字池和線程池為多任務(wù)同時執(zhí)行提供了可能,且通過異步的形式進(jìn)行交互,業(yè)務(wù)線程發(fā)起之后無需等待,顯著降低了anr的幾率,改善了用戶體驗(yàn)。第四實(shí)施例請參考圖6,圖6為本發(fā)明第四實(shí)施例提供的一種業(yè)務(wù)交互裝置組成示意圖。本實(shí)施例中的業(yè)務(wù)交互裝置,包括:訪問接收模塊601,接收前端業(yè)務(wù)線程以異步非阻塞方式發(fā)起的存儲訪問消息;訪問隊(duì)列模塊602,用于根據(jù)接收到的存儲訪問消息的生成的時間順序進(jìn)行順序緩存;調(diào)度模塊603,用于依次根據(jù)緩存順序,在套接字池中申請?zhí)捉幼?;線程池模塊604,用于根據(jù)套接字,在線程池中為存儲訪問消息分配處理線程,通過處理線程獨(dú)立處理存儲訪問消息;廣播模塊605,用于當(dāng)處理線程處理存儲訪問消息完成后,將處理結(jié)果通過廣播通知對應(yīng)的前端業(yè)務(wù)線程。在終端的存儲交互流程中,一般是,根據(jù)用戶的指令,或者是終端自發(fā)的,從前端的業(yè)務(wù)線程發(fā)起存儲訪問消息,其中存儲訪問消息是針對終端的內(nèi)存而言,而內(nèi)存可以包括終端的運(yùn)行內(nèi)存或者機(jī)身內(nèi)存,訪問消息則是一種可通過終端的處理器識別而執(zhí)行的一種指令信息。在本實(shí)施例中,訪問接收模塊601接收前端業(yè)務(wù)線程以異步非阻塞方式發(fā)起的存儲訪問消息。其中,異步與同步相對應(yīng),其中,同步所指的是,在發(fā)出一個“調(diào)用”時,在沒有得到結(jié)果之前,該“調(diào)用”就不會返回,但是一旦調(diào)用返回,就意味著得到返回值了。而異步則不同,“調(diào)用”在發(fā)出后,這個“調(diào)用”就直接返回了,所以并沒有返回結(jié)果。也就是說,當(dāng)一個異步“調(diào)用”發(fā)出后,發(fā)起者不會立刻得到結(jié)果,而是在“調(diào)用”發(fā)出后,處理的一端通過狀態(tài)、通知來通知調(diào)用者,或者通過回調(diào)函數(shù)處理這個調(diào)用。異步機(jī)制無需發(fā)起者持續(xù)的等待,前端業(yè)務(wù)在發(fā)起存儲訪問消息后,可以自行進(jìn)行其他任務(wù),不用等待這個存儲訪問消息的處理結(jié)果回傳。在本實(shí)施例中,異步接收的存儲訪問消息,就意味著這個存儲訪問消息的處理方式是異步的,非同步的,可以提高前端業(yè)務(wù)處理的靈活度。而非阻塞則與阻塞對應(yīng),阻塞是指處理結(jié)果返回之前,當(dāng)前線程會被掛起,而該線程只有在得到結(jié)果之后才會返回。非阻塞則是指在不能立刻得到結(jié)果之前,該調(diào)用不會阻塞當(dāng)前線程。非阻塞指的是,在發(fā)起存儲訪問消息之后,前端業(yè)務(wù)線程的狀態(tài)是自如的,不等待對存儲訪問消息的處理結(jié)果,而可以去做其他的事情。業(yè)務(wù)線程發(fā)起的存儲訪問消息有兩個或者以上時,可以對這些存儲訪問消息進(jìn)行緩存,按照其發(fā)起的時間順序,便于后續(xù)套接字的分配以及處理線程處理的流程是科學(xué)連續(xù)的,避免當(dāng)存儲訪問消息過多,超過了底層存儲架構(gòu)處理的上限,而可能導(dǎo)致的處理次序紊亂的問題。對這些存儲訪問消息按照時間順序進(jìn)行緩存后,就可以進(jìn)一步有序的進(jìn)行后續(xù)的處理,保證系統(tǒng)的流暢度,降低anr的幾率。套接字是網(wǎng)絡(luò)通信過程中,端點(diǎn)的抽象表示,包含進(jìn)行網(wǎng)絡(luò)通信必須的信息,比如連接使用的協(xié)議、本地主機(jī)的ip地址、本地進(jìn)程的協(xié)議端口、遠(yuǎn)程主機(jī)的ip地址、遠(yuǎn)程進(jìn)程的協(xié)議端口等等。套接字,是支持tcp/ip的網(wǎng)絡(luò)通信的基本操作單元,可以看做是雙方進(jìn)程之間進(jìn)行雙向通信的端點(diǎn),簡單地說就是通信雙方的一種約定,用套接字中的相關(guān)函數(shù)來完成通信過程。多通道的維護(hù)依賴于多套接字。套接字就相當(dāng)于在前端業(yè)務(wù)線程和底層存儲架構(gòu)之間建立了交互通道。不同于前端業(yè)務(wù)線程,線程池是底層存儲架構(gòu)中的后臺線程。線程池是一種多線程處理形式,處理過程中將任務(wù)添加到隊(duì)列,然后在創(chuàng)建線程后自動啟動這些任務(wù)。線程池線程都是后臺線程。各線程可以使用默認(rèn)的堆棧大小,以默認(rèn)的優(yōu)先級運(yùn)行,并處于多線程單元中。線程池可以通過多個線程來執(zhí)行一個任務(wù),但線程池中的線程總數(shù)不會超過線程池允許的最大數(shù)目。如果在線程池中的當(dāng)前處理線程的數(shù)量已達(dá)到的最大線程數(shù),那后續(xù)的線程將會被掛起,等待線程池中有線程結(jié)束,再執(zhí)行后續(xù)的處理線程。其中,獨(dú)立處理,所指的是,各不同的存儲訪問消息對應(yīng)的處理線程之間是各自獨(dú)立的,不會互相干擾,處理的結(jié)果也是獨(dú)立的。由于存儲訪問消息是異步形式處理的,前端業(yè)務(wù)線程無需掛起等待處理結(jié)果,那么,在處理完成后,可以以廣播的形式,將處理結(jié)果通過對應(yīng)的前端業(yè)務(wù)線程。在本實(shí)施例中,這一過程除了廣播的通知形式,還可以通過狀態(tài)、通知,或者回調(diào)函數(shù)來通知前端業(yè)務(wù)線程。在本實(shí)施例中,還可以包括監(jiān)聽模塊606,用于在前端業(yè)務(wù)線程以異步非阻塞對底層存儲架構(gòu)發(fā)起存儲訪問消息之后,監(jiān)聽處理線程處理存儲訪問消息的處理結(jié)果。由于前端業(yè)務(wù)線程在發(fā)起存儲訪問消息之后,就可以進(jìn)行其他的活動,為了及時的得知本次存儲訪問消息的處理結(jié)果,那么,還可以通過監(jiān)聽的方式,監(jiān)聽處理線程處理存儲訪問消息的處理結(jié)果。與廣播通知對應(yīng)的前端業(yè)務(wù)線程不同,本實(shí)施例中的監(jiān)聽過程是設(shè)置在前端業(yè)務(wù)線程側(cè)的,監(jiān)聽可以是監(jiān)聽廣播通知的處理結(jié)果,也可以直接監(jiān)聽處理線程對存儲訪問消息的處理結(jié)果。廣播過程可以直接通知前端業(yè)務(wù)線程,或者通知對應(yīng)前端業(yè)務(wù)線程中,用于監(jiān)聽的部分。本實(shí)施例提供了一種業(yè)務(wù)交互裝置,接收前端業(yè)務(wù)線程以異步非阻塞的形式發(fā)起的存儲訪問消息,并按照時間順序進(jìn)行緩存;然后,根據(jù)存儲訪問消息,在套接字池中申請?zhí)捉幼郑桓鶕?jù)套接字,在線程池中為存儲訪問消息分配處理線程,通過處理線程獨(dú)立處理所述存儲訪問消息;在處理完成后,將處理結(jié)果通過廣播通知對應(yīng)的前端業(yè)務(wù)線程。通過本實(shí)施例的實(shí)施,增設(shè)的套接字池和線程池為多任務(wù)同時執(zhí)行提供了可能,且通過異步的形式進(jìn)行交互,業(yè)務(wù)線程發(fā)起之后無需等待,顯著降低了anr的幾率,改善了用戶體驗(yàn)。第五實(shí)施例本實(shí)施例提供了一種計(jì)算機(jī)可讀存儲介質(zhì),該計(jì)算機(jī)可讀存儲介質(zhì)中存儲有一個或者多個程序,一個或者多個程序可被一個或者多個處理器執(zhí)行,以實(shí)現(xiàn):異步接收前端業(yè)務(wù)線程發(fā)起的存儲訪問消息;根據(jù)存儲訪問消息,在套接字池中申請?zhí)捉幼?;根?jù)套接字,在線程池中為存儲訪問消息分配處理線程,通過處理線程獨(dú)立處理存儲訪問消息。異步,與同步相對應(yīng),其中,同步所指的是,在發(fā)出一個“調(diào)用”時,在沒有得到結(jié)果之前,該“調(diào)用”就不會返回,但是一旦調(diào)用返回,就意味著得到返回值了。而異步則不同,“調(diào)用”在發(fā)出后,這個“調(diào)用”就直接返回了,所以并沒有返回結(jié)果。也就是說,當(dāng)一個異步“調(diào)用”發(fā)出后,發(fā)起者不會立刻得到結(jié)果,而是在“調(diào)用”發(fā)出后,處理的一端通過狀態(tài)、通知來通知調(diào)用者,或者通過回調(diào)函數(shù)處理這個調(diào)用。異步機(jī)制無需發(fā)起者持續(xù)的等待,前端業(yè)務(wù)在發(fā)起存儲訪問消息后,可以自行進(jìn)行其他任務(wù),不用等待這個存儲訪問消息的處理結(jié)果回傳。在本實(shí)施例中,異步接收的存儲訪問消息,就意味著這個存儲訪問消息的處理方式是異步的,非同步的,可以提高前端業(yè)務(wù)處理的靈活度。其中,異步接收前端業(yè)務(wù)線程發(fā)起的存儲訪問消息,可以包括:前端業(yè)務(wù)線程以非阻塞式發(fā)起存儲訪問消息。其中,非阻塞和阻塞相對應(yīng),阻塞是指處理結(jié)果返回之前,當(dāng)前線程會被掛起,而該線程只有在得到結(jié)果之后才會返回。非阻塞則是指在不能立刻得到結(jié)果之前,該調(diào)用不會阻塞當(dāng)前線程。非阻塞指的是,在發(fā)起存儲訪問消息之后,前端業(yè)務(wù)線程的狀態(tài)是自如的,不等待對存儲訪問消息的處理結(jié)果,而可以去做其他的事情。套接字,其定義為,源ip地址和目的ip地址以及源端口號和目的端口號的組合成為套接字。它是網(wǎng)絡(luò)通信過程中,端點(diǎn)的抽象表示,包含進(jìn)行網(wǎng)絡(luò)通信必須的信息,比如:連接使用的協(xié)議、本地主機(jī)的ip地址、本地進(jìn)程的協(xié)議端口、遠(yuǎn)程主機(jī)的ip地址、遠(yuǎn)程進(jìn)程的協(xié)議端口等等。套接字,是支持tcp/ip的網(wǎng)絡(luò)通信的基本操作單元,可以看做是雙方進(jìn)程之間進(jìn)行雙向通信的端點(diǎn),簡單地說就是通信雙方的一種約定,用套接字中的相關(guān)函數(shù)來完成通信過程。多通道的維護(hù)依賴于多套接字。套接字就相當(dāng)于在前端業(yè)務(wù)線程和底層存儲架構(gòu)之間建立了交互通道。本實(shí)施例中的終端設(shè)有套接字池,該套接字池中包括多個套接字,在實(shí)際應(yīng)用中,每一個套接字對應(yīng)于一個前端業(yè)務(wù)線程和底層存儲架構(gòu)之間的交互通道,每有一個前端業(yè)務(wù)線程發(fā)起了存儲訪問消息,就可以根據(jù)該存儲訪問消息,在套接字池中申請一個套接字,以便進(jìn)行后續(xù)的處理。在本實(shí)施例中,在根據(jù)存儲訪問消息,在套接字池中申請?zhí)捉幼种埃€可以包括:按照各前端業(yè)務(wù)線程發(fā)起的存儲訪問消息的時間順序,依次對存儲訪問消息進(jìn)行緩存。也就是說,業(yè)務(wù)線程發(fā)起的存儲訪問消息有兩個或者以上時,可以對這些存儲訪問消息進(jìn)行緩存,按照其發(fā)起的時間順序,便于后續(xù)套接字的分配以及處理線程處理的流程是科學(xué)連續(xù)的,避免當(dāng)存儲訪問消息過多,超過了底層存儲架構(gòu)處理的上限,而可能導(dǎo)致的處理次序紊亂的問題。對這些存儲訪問消息按照時間順序進(jìn)行緩存后,就可以進(jìn)一步有序的進(jìn)行后續(xù)的處理,保證系統(tǒng)的流暢度,降低anr的幾率。不同于前端業(yè)務(wù)線程,線程池是底層存儲架構(gòu)中的后臺線程。線程池是一種多線程處理形式,處理過程中將任務(wù)添加到隊(duì)列,然后在創(chuàng)建線程后自動啟動這些任務(wù)。線程池線程都是后臺線程。各線程可以使用默認(rèn)的堆棧大小,以默認(rèn)的優(yōu)先級運(yùn)行,并處于多線程單元中。線程池可以通過多個線程來執(zhí)行一個任務(wù),但線程池中的線程總數(shù)不會超過線程池允許的最大數(shù)目。如果在線程池中的當(dāng)前處理線程的數(shù)量已達(dá)到的最大線程數(shù),那后續(xù)的線程將會被掛起,等待線程池中有線程結(jié)束,再執(zhí)行后續(xù)的處理線程。其中,獨(dú)立處理,所指的是,各不同的存儲訪問消息對應(yīng)的處理線程之間是各自獨(dú)立的,不會互相干擾,處理的結(jié)果也是獨(dú)立的。在本實(shí)施例中,通過套接字,確認(rèn)了前端業(yè)務(wù)線程,與底層存儲架構(gòu)之間的交互通道,而一個由前端業(yè)務(wù)線程發(fā)起的存儲訪問消息,對應(yīng)于一個套接字,以及一個或者多個處理線程。由于套接字池中包括多個套接字,線程池中也包括多個線程,那么,本實(shí)施例允許多個前端業(yè)務(wù)線程發(fā)起的存儲訪問消息同時與底層存儲架構(gòu)進(jìn)行交互,或者更具體的說,各前端業(yè)務(wù)線程發(fā)起的存儲訪問消息可同時的在底層存儲架構(gòu)中被處理,無需一個一個的排隊(duì)等待,明顯提升了處理的效率,降低了anr的幾率。在本實(shí)施例中,在通過處理線程獨(dú)立處理存儲訪問消息之后,還可以包括:當(dāng)處理線程處理存儲訪問消息完成后,將處理結(jié)果通過廣播通知對應(yīng)的前端業(yè)務(wù)線程。由于存儲訪問消息是異步形式處理的,前端業(yè)務(wù)線程無需掛起等待處理結(jié)果,那么,在處理完成后,可以以廣播的形式,將處理結(jié)果通過對應(yīng)的前端業(yè)務(wù)線程。在本實(shí)施例中,這一過程除了廣播的通知形式,還可以通過狀態(tài)、通知,或者回調(diào)函數(shù)來通知前端業(yè)務(wù)線程。在本實(shí)施例中,在異步接收業(yè)務(wù)線程發(fā)起的存儲訪問消息之后,還可以包括:監(jiān)聽處理線程處理存儲訪問消息的處理結(jié)果。由于前端業(yè)務(wù)線程在發(fā)起存儲訪問消息之后,就可以進(jìn)行其他的活動,為了及時的得知本次存儲訪問消息的處理結(jié)果,那么,還可以通過監(jiān)聽的方式,監(jiān)聽處理線程處理存儲訪問消息的處理結(jié)果。與廣播通知對應(yīng)的前端業(yè)務(wù)線程不同,本實(shí)施例中的監(jiān)聽過程是設(shè)置在前端業(yè)務(wù)線程側(cè)的,監(jiān)聽可以是監(jiān)聽廣播通知的處理結(jié)果,也可以直接監(jiān)聽處理線程對存儲訪問消息的處理結(jié)果。廣播過程可以直接通知前端業(yè)務(wù)線程,或者通知對應(yīng)前端業(yè)務(wù)線程中,用于監(jiān)聽的部分。上面結(jié)合附圖對本發(fā)明的實(shí)施例進(jìn)行了描述,但是本發(fā)明并不局限于上述的具體實(shí)施方式,上述的具體實(shí)施方式僅僅是示意性的,而不是限制性的,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的啟示下,在不脫離本發(fā)明宗旨和權(quán)利要求所保護(hù)的范圍情況下,還可做出很多形式,這些均屬于本發(fā)明的保護(hù)之內(nèi)。當(dāng)前第1頁12當(dāng)前第1頁12