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

一種業(yè)務(wù)處理方法和裝置與流程

文檔序號:12802517閱讀:201來源:國知局
一種業(yè)務(wù)處理方法和裝置與流程
本申請屬于數(shù)據(jù)處理
技術(shù)領(lǐng)域
,尤其涉及一種業(yè)務(wù)處理方法和裝置。
背景技術(shù)
:多個用戶同時對數(shù)據(jù)庫的并發(fā)操作時會帶來以下數(shù)據(jù)不一致的問題,例如:丟失更新,a和b兩個用戶讀同一數(shù)據(jù)并進行修改,其中一個用戶的修改結(jié)果破壞了另一個修改的結(jié)果,比如訂票系統(tǒng);臟讀,a用戶修改了數(shù)據(jù),隨后b用戶又讀出該數(shù)據(jù),但a用戶因為某些原因取消了對數(shù)據(jù)的修改,數(shù)據(jù)恢復(fù)原值,此時b得到的數(shù)據(jù)就與數(shù)據(jù)庫內(nèi)的數(shù)據(jù)產(chǎn)生了不一致;不可重復(fù)讀,a用戶讀取數(shù)據(jù),隨后b用戶讀出該數(shù)據(jù)并修改,此時a用戶再讀取數(shù)據(jù)時發(fā)現(xiàn)前后兩次的值不一致。為了解決這些并發(fā)操作時候?qū)е碌臄?shù)據(jù)庫中存在的問題,設(shè)置了鎖的概念,所謂的鎖就是在一段時間內(nèi)禁止用戶做某些操作以避免產(chǎn)生數(shù)據(jù)不一致?,F(xiàn)有的基于數(shù)據(jù)庫的分布式鎖方案,是完全基于數(shù)據(jù)庫的悲觀鎖實現(xiàn),即,數(shù)據(jù)庫連接會在整個業(yè)務(wù)方法執(zhí)行周期內(nèi)一直被保持,如果需要處理的業(yè)務(wù)用時較長,那么數(shù)據(jù)庫連接會長時間被占用,在高并發(fā)場景下,數(shù)據(jù)庫連接有被用光的危險。針對上述問題,目前尚未提出有效的解決方案。技術(shù)實現(xiàn)要素:本申請目的在于提供一種業(yè)務(wù)處理方法和裝置,可以解決現(xiàn)有的數(shù)據(jù)庫連接的長時間占用而導(dǎo)致的數(shù)據(jù)連接被用光的技術(shù)問題。本申請?zhí)峁┮环N業(yè)務(wù)處理方法和裝置是這樣實現(xiàn)的:一種業(yè)務(wù)處理方法,所述方法包括:確定進程請求的行級鎖是否處于可分配狀態(tài);如果處于可分配狀態(tài),則將所述被請求的行級鎖分配給所述進程;設(shè)置所述被請求的行級鎖為鎖定狀態(tài),并釋放數(shù)據(jù)庫與所述進程之間的數(shù)據(jù)庫連接;控制所述進程進行業(yè)務(wù)處理。一種業(yè)務(wù)處理裝置,所述裝置包括:確定模塊,用于確定進程請求的行級鎖是否處于可分配狀態(tài);分配模塊,用于在確定處于可分配狀態(tài)的情況下,將所述被請求的行級鎖分配給所述進程;第一釋放模塊,用于設(shè)置所述被請求的行級鎖為鎖定狀態(tài),并釋放數(shù)據(jù)庫與所述進程之間的數(shù)據(jù)庫連接;控制模塊,用于控制所述進程進行業(yè)務(wù)處理。本申請?zhí)峁┑臉I(yè)務(wù)處理方法和裝置,采用了在為進程分配行級鎖之后就隨即釋放數(shù)據(jù)庫連接,將數(shù)據(jù)庫連接的釋放操作放在業(yè)務(wù)處理之前,而不是放在業(yè)務(wù)處理之后。利用本申請實施方案,使得數(shù)據(jù)庫連接不會長時間被占用,從而避免了數(shù)據(jù)庫連接被用光的問題的產(chǎn)生。附圖說明為了更清楚地說明本申請實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請中記載的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是本申請?zhí)峁┑臉I(yè)務(wù)處理方法的一種實施例的方法流程圖;圖2是本申請?zhí)峁┑臉I(yè)務(wù)處理方法的另一種實施例的方法流程圖;圖3是本申請?zhí)峁┑臉I(yè)務(wù)處理裝置的一種實施例的硬件架構(gòu)示意圖;圖4是本申請?zhí)峁┑臉I(yè)務(wù)處理裝置的一種實施例的模塊結(jié)構(gòu)示意圖。具體實施方式為了使本
技術(shù)領(lǐng)域
的人員更好地理解本申請中的技術(shù)方案,下面將結(jié)合本申請實施例中的附圖,對本申請實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例。基于本申請中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當(dāng)屬于本申請保護的范圍。為了使本
技術(shù)領(lǐng)域
的人員更好地理解本申請中的技術(shù)方案,下面將結(jié)合本申請實施例中的附圖,對本申請實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例。基于本申請中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當(dāng)屬于本申請保護的范圍。圖1是本申請所述一種業(yè)務(wù)處理方法一個實施例的方法流程圖。雖然本申請?zhí)峁┝巳缦率鰧嵤├蚋綀D所示的方法操作步驟或裝置結(jié)構(gòu),但基于常規(guī)或者無需創(chuàng)造性的勞動在所述方法或裝置中可以包括更多或者更少的操作步驟或模塊單元。在邏輯性上不存在必要因果關(guān)系的步驟或結(jié)構(gòu)中,這些步驟的執(zhí)行順序或裝置的模塊結(jié)構(gòu)不限于本申請實施例描述及附圖所示的執(zhí)行順序或模塊結(jié)構(gòu)。所述的方法或模塊結(jié)構(gòu)的在實際中的裝置或終端產(chǎn)品應(yīng)用時,可以按照實施例或者附圖所示的方法或模塊結(jié)構(gòu)連接進行順序執(zhí)行或者并行執(zhí)行(例如并行處理器或者多線程處理的環(huán)境,甚至分布式處理環(huán)境)。具體的如圖1所述,本申請一種實施例提供的一種業(yè)務(wù)處理方法可以包括:s101:確定進程請求的行級鎖是否處于可分配狀態(tài);基于數(shù)據(jù)庫的分布式鎖方案,是完全基于數(shù)據(jù)庫的悲觀鎖實現(xiàn),即,數(shù)據(jù)庫連接會在整個業(yè)務(wù)方法執(zhí)行周期內(nèi)一直被保持,那么,如果需要處理的業(yè)務(wù)用時比較長,數(shù)據(jù)庫連接就會長時間被占用,在高并發(fā)的場景下,數(shù)據(jù)庫連接就存在被用光的風(fēng)險。對于頁級鎖和行級鎖而言,是不存在被用光的風(fēng)險的,但是行級鎖,被用光的可能性就很高,所謂行級鎖就是僅對指定的記錄進行加鎖,在這種情況下,其它進程還是可以對同一個表中的其它記錄進行操作的,僅是不可以對使用了行級鎖的記錄進行操作。即,行級鎖是是排它鎖,被鎖定行不可進行修改,刪除。因此,鎖存在一個被占用和未被占用的情況,對于進程而言,可以申請未被占用的行級鎖,但是不能申請被占用的行級鎖。在一個實施方式中,為了確定當(dāng)前進程所請求的行級鎖是否可以被請求,可以采用行級鎖狀態(tài)表的方式記錄每個行級鎖的狀態(tài),該行級鎖狀態(tài)表可以采用表格的形式,也可以采用一條條記錄的形式,如果是表格的形式,可以每一行記錄一個行級鎖的占用情況,如果是一條條記錄的形式,可以每一條記錄中記錄有該行級。即,可以從預(yù)先建立的行級鎖狀態(tài)表中查找所述進程請求的行級鎖是否處于可分配狀態(tài);相應(yīng)的,設(shè)置所述進程請求的行級鎖為鎖定狀態(tài)的過程還可以包括:在所述預(yù)先建立的行級鎖狀態(tài)表中,將所述進程請求的行級鎖的狀態(tài)設(shè)置為鎖定狀態(tài)。即,實時更新行級鎖狀態(tài)表中各個行級鎖的狀態(tài)信息,以便新的進程請求的時候,可以獲得較為準確的行級鎖的狀態(tài)信息??紤]到在實現(xiàn)的時候,雖然控制進程在一拿到行級鎖就立馬釋放掉這個行悲觀鎖的數(shù)據(jù)庫連接,即,一拿到鎖就釋放該鎖,但是畢竟是存在時差的,難免會有小機率發(fā)生數(shù)據(jù)庫行悲觀鎖沖突的情況。為了減少這種沖突的影響,可以先確定在預(yù)先建立的行級鎖狀態(tài)表中,是否存在進程請求的行級鎖的記錄;如果存在,則確定是否可獲取所述進程請求的行級鎖,如果沒有獲取到進程請求的行級鎖,那么就表明當(dāng)前存在小概率的沖突,該鎖正被占用,那么就可以確定該進程請求的行級鎖處于不可分配的狀態(tài),如果可以獲取,那么可以根據(jù)進程請求的行級鎖在所述行級鎖狀態(tài)表中的記錄,確定所述進程請求的行級鎖是否處于可分配狀態(tài)。例如,可以通過該行級鎖在預(yù)先建立的行級鎖狀態(tài)表中對應(yīng)的行內(nèi)容里的lockedflag字段來確定該鎖當(dāng)前是否被持有(n標識未被持有,y標識被持有),從而確定進程請求的行級鎖是否處于可分配狀態(tài)。舉例而言,對于每個行級鎖而言,可以設(shè)置一個唯一性標識(lock_key)用于唯一標識一個行級鎖,通過一個狀態(tài)標識(locked_flag)來標識該行級鎖是否被某個進程持有。每個行級鎖對應(yīng)一個行記錄,通過對行記錄的查找,可以實現(xiàn)對鎖狀態(tài)的判斷。在一個實施方式中,考慮到有時會出現(xiàn)一個行級鎖被一個應(yīng)用長期占用,而導(dǎo)致死鎖情況的發(fā)生,為了解決這種問題,在本例中,設(shè)置了一個鎖失效時間,也可以稱之為分配時長,即,每次在進程請求到行級鎖的時候,都為該進程分配一個該鎖的可持有時間,過了這個時間之后,如果進程仍未釋放該行級鎖,那么就設(shè)定該鎖自動被釋放。可以在上述行級鎖狀態(tài)表中增加一個失效時間字段(lock_expire)用于標識該行級別鎖的失效時間。例如,可以如下表1所示:表1lock_keylocked_flaglock_expirelock1y20slock2y5slock3n即,通過如上表1所示的行級鎖狀態(tài)表,可以確定出當(dāng)前進程所請求的行級鎖是否處于可分配狀態(tài),首選,可以根據(jù)進程請求的行級鎖在行級鎖狀態(tài)表中的記錄,確定進程請求的行級鎖是否處于被持有狀態(tài);如果不處于被持有狀態(tài),則確定所述進程請求的行級鎖處于可分配狀態(tài)。如果處于被持有狀態(tài),則確定進程請求的行級鎖是否已超出分配時長;如果超出,則確定所述進程請求的行級所處于可分配狀態(tài)。為了使得為進程分配的行級鎖的失效時間是合理的,可以靈活分配失效時間,例如分配時長可以是按照請求的進程所對應(yīng)的業(yè)務(wù)的需求確定的,這樣只需要根據(jù)進程所要執(zhí)行的業(yè)務(wù)的時間需要確定失效時長就可以,使得設(shè)置的失效時間靈活且合理。s102:如果處于可分配狀態(tài),則將所述被請求的行級鎖分配給所述進程;通過上述的進程請求的行級鎖的狀態(tài)的確定,如果最終確定是可以分配的,那么就可以將該請求的行級鎖分配給該進程。同時,可以根據(jù)該進程所執(zhí)行的業(yè)務(wù)的情況,為該行級鎖分配一個失效時間,該失效時間,該失效時間可以是按照一個時長方式分配的,也可以是按照當(dāng)前時間加上業(yè)務(wù)上認為該鎖要保持的最長時間作為失效時間,即,達到該失效時間點,無論進程有沒有主動釋放該行級鎖,都自動釋放該行級鎖。在實現(xiàn)的時候,可以采用設(shè)置時間周期,加上計時器的方式設(shè)置失效時間,也可以采用上述當(dāng)前時間加上業(yè)務(wù)所需時長的方式,確定一個時間點的方式設(shè)置失效時間,具體采用那種方式可以根據(jù)實際需要和情況選取,本申請對此不作限定。舉例而言,當(dāng)前時間為:10:46:10,業(yè)務(wù)執(zhí)行所需的時間為1分10秒,那么可以設(shè)置失效時間為:10:47:20,即,到10:47:20這個時間點,鎖就自動被釋放,也可以從當(dāng)前時間點,開啟計時器,當(dāng)計時器達到1分10秒的時候,鎖自動被釋放。以上所列舉的僅是一種示意性描述,在實際實現(xiàn)的時候,可以采用其它方式設(shè)置,本申請對此不作具體限定。s103:設(shè)置所述被請求的行級鎖為鎖定狀態(tài),并釋放數(shù)據(jù)庫與所述進程之間的數(shù)據(jù)庫連接;在將進程請求的行級鎖分配給進程之后,就可以將該進程請求的行級鎖設(shè)置為鎖定狀態(tài),例如,可以在上述的行級鎖狀態(tài)表中將該行級鎖對應(yīng)的行內(nèi)容的持有狀態(tài)(locked_flag)設(shè)置為y,即表明該行級鎖已經(jīng)被持有。在設(shè)定為鎖定狀態(tài)之后,就隨即釋放數(shù)據(jù)庫連接,將數(shù)據(jù)庫連接的釋放提前至業(yè)務(wù)處理之前。s104:控制所述進程進行業(yè)務(wù)處理。即,在分配了行級鎖,完成數(shù)據(jù)庫事務(wù)之后,就釋放數(shù)據(jù)庫連接,然后再開始長業(yè)務(wù)方案的處理。在業(yè)務(wù)方案執(zhí)行完成之后,控制所述進程釋放所述進程請求的行級鎖,并將所述進程請求的行級鎖的狀態(tài)設(shè)置為可分配狀態(tài)。即,可以將上述行級鎖狀態(tài)表中將該行級鎖對應(yīng)的行內(nèi)容的持有狀態(tài)(locked_flag)設(shè)置為n,以釋放該行級鎖。在上例中,主要是為了解決現(xiàn)有的基于數(shù)據(jù)庫的分布式鎖方案,是完全基于數(shù)據(jù)庫的悲觀鎖實現(xiàn),數(shù)據(jù)庫連接會在整個業(yè)務(wù)方法執(zhí)行周期內(nèi)一直被保持。如果需要處理的業(yè)務(wù)用時較長,那么數(shù)據(jù)庫連接會長時間被占用,在高并發(fā)場景下,數(shù)據(jù)庫連接有被用光的危險的問題,在本例中,在獲得數(shù)據(jù)庫行級鎖后,立即更改狀態(tài)字段為已鎖定,然后立刻釋放數(shù)據(jù)庫連接,避免了在整個業(yè)務(wù)方法執(zhí)行周期內(nèi)保持數(shù)據(jù)庫連接。進一步的,還引入了鎖超時機制,這樣即使獲得鎖的進程在執(zhí)行過程中崩潰,其它進程在鎖超時后仍然可以重新獲得鎖。下面結(jié)合一個具體實施例對上述業(yè)務(wù)處理方法進行說明,然而,值得注意的是,該具體實施例僅是為了更好地說明本申請,并不構(gòu)成對本申請的不當(dāng)限定。在本例中,考慮到現(xiàn)有的通過數(shù)據(jù)庫悲觀鎖長時間占用數(shù)據(jù)庫連接來實現(xiàn)分布式鎖,雖然實現(xiàn)方式簡單,但是會在整個業(yè)務(wù)方法執(zhí)行周期內(nèi)占用數(shù)據(jù)庫連接,本例為了解決數(shù)據(jù)庫連接被長時間占用的問題,將數(shù)據(jù)庫的連接釋放時間點從業(yè)務(wù)結(jié)束后提前至業(yè)務(wù)開始階段,并引入了鎖超時機制,避免了死鎖的發(fā)生。首先,可以預(yù)先建立一個專用于鎖定的通用表t_lock,即,上述的行級鎖狀態(tài)表,該表主要可以如下表2所示,包括以下幾個字段:表2字段名字段類型描述lock_keyvarchar2(100)鎖的key值,唯一性索引locked_flagvarchar2(1)鎖定標識位,其中,y標識已鎖定,n標識未鎖定lock_expire_datetimestamp鎖失效時間,該時間后,鎖自動失效具體地,如圖2所示,該業(yè)務(wù)處理方法可以按照如下包括以下步驟:s1:開啟數(shù)據(jù)庫事務(wù);s2:以nowait的方式試圖獲得數(shù)據(jù)庫行級悲觀鎖;s3:如果行不存在,則先插入一條記錄,記錄該行級鎖的狀態(tài),在插入的時候考慮到會出現(xiàn)多個進程請求一個鎖的情況,在這種情況下插入時,可以忽略唯一性索引異常;s4:如果無法獲得數(shù)據(jù)庫行級悲觀鎖,那么說明另一進程正占用,因此,可以終止處理。即,數(shù)據(jù)庫的行悲觀鎖被占用,雖然一拿到行鎖馬上就會釋放掉這個行悲觀鎖,但并發(fā)時仍然有小機率發(fā)生數(shù)據(jù)庫行悲觀鎖沖突,該步驟主要是為了處理這種沖突。s5:如果獲得數(shù)據(jù)庫行級悲觀鎖,那么檢查該行級鎖對應(yīng)的行內(nèi)容;具體地,如果locked_flag為y并且當(dāng)前時間小于等于lock_expire_date,則表明該鎖正被另一進程持有,因此,終止處理。如果locked_flag為n(表明鎖未被別的進程持有)或者lock_flag為y但當(dāng)前時間已經(jīng)大于lock_expire_date(表明持有該lock_key的別的進程已意外崩潰),那么可以立刻更新locked_flag為y,lock_expire_date為當(dāng)前時間加上業(yè)務(wù)上認為該鎖要保持的最長時間。s6:結(jié)束數(shù)據(jù)庫事務(wù),釋放數(shù)據(jù)庫連接;s7:開始長業(yè)務(wù)方案處理;s8:業(yè)務(wù)方案執(zhí)行完后,更新locked_flag=n,釋放鎖。圖3示出了根據(jù)本申請的一示例性實施例的基于服務(wù)器或者終端的電子設(shè)備的示意結(jié)構(gòu)圖。請參考圖3,在硬件層面,該電子設(shè)備包括處理器、內(nèi)部總線、網(wǎng)絡(luò)接口、內(nèi)存以及非易失性存儲器,當(dāng)然還可能包括其他業(yè)務(wù)所需要的硬件。處理器從非易失性存儲器中讀取對應(yīng)的計算機程序到內(nèi)存中然后運行,在邏輯層面上形成業(yè)務(wù)實現(xiàn)裝置。當(dāng)然,除了軟件實現(xiàn)方式之外,本申請并不排除其他實現(xiàn)方式,比如邏輯器件抑或軟硬件結(jié)合的方式等等,也就是說以下處理流程的執(zhí)行主體并不限定于各個邏輯單元,也可以是硬件或邏輯器件。請參考圖4,在軟件實施方式中,該業(yè)務(wù)處理裝置應(yīng)用于數(shù)據(jù)庫服務(wù)器中,也可以應(yīng)用終端中,可以包括:確定模塊、分配模塊、釋放模塊和控制模塊。其中:確定模塊,用于確定進程請求的行級鎖是否處于可分配狀態(tài);分配模塊,用于在確定處于可分配狀態(tài)的情況下,將所述被請求的行級鎖分配給所述進程;釋放模塊,用于設(shè)置所述被請求的行級鎖為鎖定狀態(tài),并釋放數(shù)據(jù)庫與所述進程之間的數(shù)據(jù)庫連接;控制模塊,用于控制所述進程進行業(yè)務(wù)處理??蛇x的,確定模塊具體可以用于從預(yù)先建立的行級鎖狀態(tài)表中查找所述進程請求的行級鎖是否處于可分配狀態(tài);相應(yīng)的,釋放模塊還可以用于在所述預(yù)先建立的行級鎖狀態(tài)表中,將所述進程請求的行級鎖的狀態(tài)設(shè)置為鎖定狀態(tài)??蛇x的,確定模塊可以包括:第一確定單元,用于確定在所述預(yù)先建立的行級鎖狀態(tài)表中,是否存在所述進程請求的行級鎖的記錄;第二確定單元,用于在確定存在的情況下,確定是否可獲取所述進程請求的行級鎖;第三確定單元,用于在確定可以獲取的情況下,根據(jù)所述進程請求的行級鎖在所述行級鎖狀態(tài)表中的記錄,確定所述進程請求的行級鎖是否處于可分配狀態(tài)。可選的,第三確定單元可以包括:第一確定子單元,用于根據(jù)所述進程請求的行級鎖在所述行級鎖狀態(tài)表中的記錄,確定所述進程請求的行級鎖是否處于被持有狀態(tài);第二確定子單元,用于在確定處于被持有狀態(tài)的情況下,確定所述進程請求的行級鎖是否已超出分配時長;第三確定子單元,用于在確定超出的情況下,確定所述進程請求的行級所處于可分配狀態(tài)。可選的,上述分配時長可以是按照請求的進程所對應(yīng)的業(yè)務(wù)的需求確定的??蛇x的,第三確定單元還可以包括:第四確定子單元,用于在確定不處于被持有狀態(tài)的情況下,確定所述進程請求的行級鎖處于可分配狀態(tài)。可選的,控制模塊還可以用于在控制所述進程進行業(yè)務(wù)處理之后,控制所述進程釋放所述進程請求的行級鎖,并將所述進程請求的行級鎖的狀態(tài)設(shè)置為可分配狀態(tài)。本申請?zhí)峁┑臉I(yè)務(wù)處理方法和裝置,采用了在為進程分配行級鎖之后就隨即釋放數(shù)據(jù)庫連接,將數(shù)據(jù)庫連接的釋放操作放在業(yè)務(wù)處理之前,而不是放在業(yè)務(wù)處理之后。利用本申請實施方案,使得數(shù)據(jù)庫連接不會長時間被占用了,從而避免了數(shù)據(jù)庫連接被用光的問題的產(chǎn)生。在20世紀90年代,對于一個技術(shù)的改進可以很明顯地區(qū)分是硬件上的改進(例如,對二極管、晶體管、開關(guān)等電路結(jié)構(gòu)的改進)還是軟件上的改進(對于方法流程的改進)。然而,隨著技術(shù)的發(fā)展,當(dāng)今的很多方法流程的改進已經(jīng)可以視為硬件電路結(jié)構(gòu)的直接改進。設(shè)計人員幾乎都通過將改進的方法流程編程到硬件電路中來得到相應(yīng)的硬件電路結(jié)構(gòu)。因此,不能說一個方法流程的改進就不能用硬件實體模塊來實現(xiàn)。例如,可編程邏輯器件(programmablelogicdevice,pld)(例如現(xiàn)場可編程門陣列(fieldprogrammablegatearray,fpga))就是這樣一種集成電路,其邏輯功能由用戶對器件編程來確定。由設(shè)計人員自行編程來把一個數(shù)字系統(tǒng)“集成”在一片pld上,而不需要請芯片制造廠商來設(shè)計和制作專用的集成電路芯片。而且,如今,取代手工地制作集成電路芯片,這種編程也多半改用“邏輯編譯器(logiccompiler)”軟件來實現(xiàn),它與程序開發(fā)撰寫時所用的軟件編譯器相類似,而要編譯之前的原始代碼也得用特定的編程語言來撰寫,此稱之為硬件描述語言(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)該清楚,只需要將方法流程用上述幾種硬件描述語言稍作邏輯編程并編程到集成電路中,就可以很容易得到實現(xiàn)該邏輯方法流程的硬件電路。上述的業(yè)務(wù)處理方法和裝置可以按任何適當(dāng)?shù)姆绞綄崿F(xiàn),例如,可以采取例如微處理器或處理器以及存儲可由該(微)處理器執(zhí)行的計算機可讀程序代碼(例如軟件或固件)的計算機可讀介質(zhì)、邏輯門、開關(guān)、專用集成電路(applicationspecificintegratedcircuit,asic)、可編程邏輯控制器和嵌入微控制器的形式,進行業(yè)務(wù)處理的主體可以是控制器,該控制器可以包括但不限于以下微控制器:arc625d、atmelat91sam、microchippic18f26k20以及siliconelabsc8051f320,存儲器控制器還可以被實現(xiàn)為存儲器的控制邏輯的一部分。本領(lǐng)域技術(shù)人員也知道,除了以純計算機可讀程序代碼方式實現(xiàn)控制器以外,完全可以通過將方法步驟進行邏輯編程來使得控制器以邏輯門、開關(guān)、專用集成電路、可編程邏輯控制器和嵌入微控制器等的形式來實現(xiàn)相同功能。因此這種控制器可以被認為是一種硬件部件,而對其內(nèi)包括的用于實現(xiàn)各種功能的裝置也可以視為硬件部件內(nèi)的結(jié)構(gòu)?;蛘呱踔?,可以將用于實現(xiàn)各種功能的裝置視為既可以是實現(xiàn)方法的軟件模塊又可以是硬件部件內(nèi)的結(jié)構(gòu)。上述實施例闡明的裝置,具體可以由計算機芯片或?qū)嶓w實現(xiàn),或者由具有某種功能的產(chǎn)品來實現(xiàn)。一種典型的實現(xiàn)設(shè)備為計算機。具體的,計算機例如可以為個人計算機、膝上型計算機、蜂窩電話、相機電話、智能電話、個人數(shù)字助理、媒體播放器、導(dǎo)航設(shè)備、電子郵件設(shè)備、游戲控制臺、平板計算機、可穿戴設(shè)備或者這些設(shè)備中的任何設(shè)備的組合。為了描述的方便,描述以上裝置時以功能分為各種單元分別描述。當(dāng)然,在實施本申請時可以把各單元的功能在同一個或多個軟件和/或硬件中實現(xiàn)。本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本申請可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、cd-rom、光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。本申請是參照根據(jù)本申請實施例的方法、設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。在一個典型的配置中,計算設(shè)備包括一個或多個處理器(cpu)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。內(nèi)存可能包括計算機可讀介質(zhì)中的非永久性存儲器,隨機存取存儲器(ram)和/或非易失性內(nèi)存等形式,如只讀存儲器(rom)或閃存(flashram)。內(nèi)存是計算機可讀介質(zhì)的示例。計算機可讀介質(zhì)包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術(shù)來實現(xiàn)信息存儲。信息可以是計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計算機的存儲介質(zhì)的例子包括,但不限于相變內(nèi)存(pram)、靜態(tài)隨機存取存儲器(sram)、動態(tài)隨機存取存儲器(dram)、其他類型的隨機存取存儲器(ram)、只讀存儲器(rom)、電可擦除可編程只讀存儲器(eeprom)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲器(cd-rom)、數(shù)字多功能光盤(dvd)或其他光學(xué)存儲、磁盒式磁帶,磁帶磁磁盤存儲或其他磁性存儲設(shè)備或任何其他非傳輸介質(zhì),可用于存儲可以被計算設(shè)備訪問的信息。按照本文中的界定,計算機可讀介質(zhì)不包括暫存電腦可讀媒體(transitorymedia),如調(diào)制的數(shù)據(jù)信號和載波。還需要說明的是,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、商品或者設(shè)備中還存在另外的相同要素。本領(lǐng)域技術(shù)人員應(yīng)明白,本申請的實施例可提供為方法、系統(tǒng)或計算機程序產(chǎn)品。因此,本申請可采用完全硬件實施例、完全軟件實施例或結(jié)合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、cd-rom、光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。本申請可以在由計算機執(zhí)行的計算機可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計算環(huán)境中實踐本申請,在這些分布式計算環(huán)境中,由通過通信網(wǎng)絡(luò)而被連接的遠程處理設(shè)備來執(zhí)行任務(wù)。在分布式計算環(huán)境中,程序模塊可以位于包括存儲設(shè)備在內(nèi)的本地和遠程計算機存儲介質(zhì)中。本說明書中的各個實施例均采用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于系統(tǒng)實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。以上所述僅為本申請的實施例而已,并不用于限制本申請。對于本領(lǐng)域技術(shù)人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內(nèi)所作的任何修改、等同替換、改進等,均應(yīng)包含在本申請的權(quán)利要求范圍之內(nèi)。當(dāng)前第1頁12
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1