欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

業(yè)務(wù)操作的并發(fā)訪問控制方法及裝置制造方法

文檔序號:6550645閱讀:245來源:國知局
業(yè)務(wù)操作的并發(fā)訪問控制方法及裝置制造方法
【專利摘要】本發(fā)明提供了一種業(yè)務(wù)操作的并發(fā)訪問控制方法,包括:服務(wù)端基于客戶端發(fā)出的操作請求,將訪問鎖的控制放在單個的業(yè)務(wù)處理過程;服務(wù)端基于預設(shè)多個業(yè)務(wù)操作中與該操作請求對應(yīng)的業(yè)務(wù)操作,細化分類申請訪問鎖;服務(wù)端基于訪問鎖的申請結(jié)果,執(zhí)行相應(yīng)操作。本發(fā)明還提供了一種業(yè)務(wù)操作的并發(fā)訪問控制裝置。通過本發(fā)明的技術(shù)方案,可以在現(xiàn)有的業(yè)務(wù)操作的并發(fā)訪問控制方式基礎(chǔ)上,充分利用單業(yè)務(wù)操作的訪問控制完成多業(yè)務(wù)操作的并發(fā)訪問控制,建立單業(yè)務(wù)操作參與的面向多業(yè)務(wù)操作的并發(fā)訪問控制的通用、統(tǒng)一訪問控制思路。
【專利說明】業(yè)務(wù)操作的并發(fā)訪問控制方法及裝置

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機【技術(shù)領(lǐng)域】,具體地,涉及一種業(yè)務(wù)操作的并發(fā)訪問控制方法和一種業(yè)務(wù)操作的并發(fā)訪問控制裝置。
[0002]

【背景技術(shù)】
[0003]在很多的管理軟件應(yīng)用的系統(tǒng)的中,都涉及到數(shù)據(jù)的并發(fā)訪問操作。并發(fā)訪問是指同一條數(shù)據(jù)或有相關(guān)性多條數(shù)據(jù)被多個操作同時訪問,這時候,需要通過并發(fā)訪問控制技術(shù)來解決,從而防止多個操作之間產(chǎn)生相互影響。
[0004]例如,當一個功能正在進行的時候,可能需要加載一些數(shù)據(jù)來計算并影響和修改另一些數(shù)據(jù),這時候,其它功能操作如果同時也需要修改這些相關(guān)數(shù)據(jù),就可能導致出現(xiàn)數(shù)據(jù)紊亂或臟讀的情況。這兩個或多個功能之間就存在著并發(fā)訪問操作的問題。
[0005]目前,普遍使用方式是利用數(shù)據(jù)庫自身的鎖機制或者在業(yè)務(wù)操作時增加申請訪問鎖的方式來進行粗粒度的業(yè)務(wù)并發(fā)控制。普遍使用的并發(fā)訪問控制是通過數(shù)據(jù)庫自身的鎖機制來實現(xiàn),在多用戶存在并發(fā)訪問的情況下,數(shù)據(jù)庫提供了一套鎖機制,通過對被訪問的數(shù)據(jù)上加鎖,并讓其他并發(fā)操作排隊等待,來防止數(shù)據(jù)同時被修改。
[0006]這種方式即第一種方式的缺點是:只能對訪問修改相同數(shù)據(jù)來進行加鎖,不能多相同或相關(guān)業(yè)務(wù)影響和修改的一批數(shù)據(jù)來加鎖,不適用于稍復雜一點的業(yè)務(wù)應(yīng)用。
[0007]第二種方式是通過對用戶的請求執(zhí)行的功能在服務(wù)器端進行申請訪問鎖,進行訪問鎖的管理,如果申請成功,則繼續(xù)通過訪問數(shù)據(jù)進行業(yè)務(wù)執(zhí)行該請求。如果申請失敗,則應(yīng)用服務(wù)器直接返回請求無法被處理的消息。
[0008]例如,在專利(申請)號為200810161293.6的專利(申請)文獻中,公開了一種并發(fā)訪問控制方法及裝置,以解決目前的數(shù)據(jù)庫鎖機制存在數(shù)據(jù)庫負擔加重、容易產(chǎn)生死鎖的問題。該并發(fā)訪問控制方法包括:服務(wù)器端接收訪問請求;確認所述請求是否需要申請訪問鎖,如果是,則申請訪問鎖;如果申請訪問鎖成功,則通過訪問數(shù)據(jù)庫執(zhí)行該請求;當該請求執(zhí)行完畢后,釋放所述訪問鎖。該并發(fā)訪問控制方法及裝置提供了一套應(yīng)用層次級別的鎖機制,該機制將并發(fā)訪問控制在應(yīng)用服務(wù)器端,請求在到達數(shù)據(jù)庫之前就被應(yīng)用服務(wù)器端進行了過濾,過濾掉了并發(fā)請求。因此,在多用戶、存在并發(fā)訪問的情況下有效控制了數(shù)據(jù)的并發(fā)訪問與修改,能夠減輕數(shù)據(jù)庫的負荷,并能有效降低數(shù)據(jù)庫的死鎖、等待等異常情況。
[0009]但這種方式即第二種方式的缺點是:訪問鎖的粒度過粗,如果并發(fā)用戶量較多的情況下,非常容易出現(xiàn)不斷的請求無法被處理的錯誤,影響用戶的使用。
[0010]因此,需要一種新的業(yè)務(wù)操作的并發(fā)訪問控制技術(shù),可以在現(xiàn)有的業(yè)務(wù)操作的并發(fā)訪問控制方式基礎(chǔ)上,充分利用單業(yè)務(wù)操作的訪問控制完成多業(yè)務(wù)操作的并發(fā)訪問控制,建立單業(yè)務(wù)操作參與的面向多業(yè)務(wù)操作的并發(fā)訪問控制的通用、統(tǒng)一訪問控制思路。
[0011]


【發(fā)明內(nèi)容】

[0012]本發(fā)明正是基于上述問題,提出了一種新的業(yè)務(wù)操作的并發(fā)訪問控制技術(shù),可以在現(xiàn)有的業(yè)務(wù)操作的并發(fā)訪問控制方式基礎(chǔ)上,充分利用單業(yè)務(wù)操作的訪問控制完成多業(yè)務(wù)操作的并發(fā)訪問控制,建立單業(yè)務(wù)操作參與的面向多業(yè)務(wù)操作的并發(fā)訪問控制的通用、統(tǒng)一訪問控制思路。
[0013]有鑒于此,本發(fā)明提出了一種業(yè)務(wù)操作的并發(fā)訪問控制方法,包括:步驟102:月艮務(wù)端基于客戶端發(fā)出的操作請求,將訪問鎖的控制放在單個的業(yè)務(wù)處理過程;步驟104:月艮務(wù)端基于預設(shè)多個業(yè)務(wù)操作中與該操作請求對應(yīng)的業(yè)務(wù)操作,細化分類申請訪問鎖;步驟106:服務(wù)端基于訪問鎖的申請結(jié)果,執(zhí)行相應(yīng)操作。在該技術(shù)方案中,通過對訪問鎖的細化控制,可以大大減少業(yè)務(wù)的并發(fā)訪問沖突,同時,也可以給用戶帶來良好的使用體驗。
[0014]在上述技術(shù)方案中,優(yōu)選地,所述步驟102具體包括:步驟202:客戶端發(fā)出操作請求,服務(wù)端接收客戶端發(fā)出的操作請求;步驟204:服務(wù)端執(zhí)行與客戶端發(fā)出的操作請求相對應(yīng)的當前業(yè)務(wù),該當前業(yè)務(wù)對應(yīng)預設(shè)多個業(yè)務(wù)操作中的一個業(yè)務(wù)操作。在該技術(shù)方案中,通過將訪問鎖的控制放在單個的業(yè)務(wù)處理過程上,可以使加鎖的時間變得更短,并使用戶之間出現(xiàn)訪問沖突的情況減到最少。
[0015]在上述技術(shù)方案中,優(yōu)選地,所述步驟104具體包括:步驟206:服務(wù)端基于當前執(zhí)行業(yè)務(wù)對應(yīng)的業(yè)務(wù)操作,申請訪問鎖;進一步地,所述服務(wù)端基于當前執(zhí)行業(yè)務(wù)對應(yīng)的業(yè)務(wù)操作,申請訪問鎖的流程,還包括:當該申請訪問鎖的操作是讀鎖操作時,判斷是否已存在該訪問鎖:若存在寫鎖的操作,則該申請訪問鎖的操作失??;若存在讀鎖的操作或不存在該訪問鎖時,則該申請訪問鎖的操作成功,增加與該申請訪問鎖的操作相對應(yīng)的鎖信息;當該申請訪問鎖的操作是寫鎖操作時,判斷是否已存在該訪問鎖:若存在寫鎖的操作或存在讀鎖的操作,則該申請訪問鎖的操作失敗;若不存在該訪問鎖時,則該申請訪問鎖的操作成功,增加與該申請訪問鎖的操作相對應(yīng)的鎖信息。在該技術(shù)方案中,訪問鎖的分類細化,分為讀鎖與寫鎖,多個業(yè)務(wù)操作在進行讀鎖操作時,相關(guān)不沖突。
[0016]在上述技術(shù)方案中,優(yōu)選地,所述步驟106具體包括:步驟208:訪問鎖申請成功時,該業(yè)務(wù)操作執(zhí)行訪問數(shù)據(jù)庫;步驟210:該業(yè)務(wù)操作訪問數(shù)據(jù)庫結(jié)束時,釋放訪問鎖。在該技術(shù)方案中,當業(yè)務(wù)操作在適當時間內(nèi)不發(fā)生沖突時,業(yè)務(wù)正常進行。
[0017]在上述技術(shù)方案中,優(yōu)選地,所述步驟106具體還包括:步驟212:訪問鎖申請失敗時,服務(wù)端等待預設(shè)時長后,自動重試申請訪問鎖預設(shè)次數(shù),根據(jù)重試申請訪問鎖的結(jié)果,執(zhí)行步驟214或執(zhí)行步驟2161 ;步驟214:若在預設(shè)次數(shù)內(nèi)重試申請訪問鎖成功,則該業(yè)務(wù)操作正常進行;步驟216:若在預設(shè)次數(shù)內(nèi)重試申請訪問鎖不成功,則向客戶端返回當前操作請求與其它用戶的操作沖突、請稍等執(zhí)行的消息;步驟218:客戶端通過申請鎖的監(jiān)控界面顯示和管理相應(yīng)訪問鎖的申請情況,對于相應(yīng)業(yè)務(wù)操作執(zhí)行出現(xiàn)故障的情況,讓用戶自己來對應(yīng)的訪問鎖進行管理操作。在該技術(shù)方案中,通過在出錯后,進行等待一個很小的時間,并進行再次申請訪問鎖的方式,來進行自動的重試,達到在適當時間沖突情況下能不出錯,業(yè)務(wù)正常進行;而對于長時間沖突的情況,在重試配置的指定次數(shù)后,才返回請求與其它用戶的操作沖突,請稍等執(zhí)行的消息;同時,通過提供申請鎖的監(jiān)控界面來進行顯示和管理鎖的申請情況,對于系統(tǒng)出現(xiàn)故障的特殊情況,來讓用戶自己來對鎖進行管理操作。
[0018]根據(jù)本發(fā)明的又一個方面,還提出了一種業(yè)務(wù)操作的并發(fā)訪問控制裝置,包括:單個業(yè)務(wù)處理單元,用于服務(wù)端基于客戶端發(fā)出的操作請求,將訪問鎖的控制放在單個的業(yè)務(wù)處理過程;訪問鎖細化分類申請單元,用于服務(wù)端基于預設(shè)多個業(yè)務(wù)操作中與該操作請求對應(yīng)的業(yè)務(wù)操作,細化分類申請訪問鎖;訪問鎖申請結(jié)果執(zhí)行單元,用于服務(wù)端基于訪問鎖的申請結(jié)果,執(zhí)行相應(yīng)操作。在該技術(shù)方案中,通過對訪問鎖的細化控制,可以大大減少業(yè)務(wù)的并發(fā)訪問沖突,同時,也可以給用戶帶來良好的使用體驗。
[0019]在上述技術(shù)方案中,優(yōu)選地,所述單個業(yè)務(wù)處理單元,具體包括:操作請求收發(fā)模塊,用于客戶端發(fā)出操作請求,服務(wù)端接收客戶端發(fā)出的操作請求;當前業(yè)務(wù)執(zhí)行模塊,用于服務(wù)端執(zhí)行與客戶端發(fā)出的操作請求相對應(yīng)的當前業(yè)務(wù),該當前業(yè)務(wù)對應(yīng)預設(shè)多個業(yè)務(wù)操作中的一個業(yè)務(wù)操作。在該技術(shù)方案中,通過將訪問鎖的控制放在單個的業(yè)務(wù)處理過程上,可以使加鎖的時間變得更短,并使用戶之間出現(xiàn)訪問沖突的情況減到最少。
[0020]在上述技術(shù)方案中,優(yōu)選地,所述訪問鎖細化分類申請單元,具體包括:訪問鎖申請模塊,用于服務(wù)端基于當前執(zhí)行業(yè)務(wù)對應(yīng)的業(yè)務(wù)操作,申請訪問鎖;讀鎖模塊,用于當該申請訪問鎖的操作是讀鎖操作時,判斷是否已存在該訪問鎖:若存在寫鎖的操作,則該申請訪問鎖的操作失??;若存在讀鎖的操作或不存在該訪問鎖時,則該申請訪問鎖的操作成功,增加與該申請訪問鎖的操作相對應(yīng)的鎖信息;寫鎖模塊,用于當該申請訪問鎖的操作是寫鎖操作時,判斷是否已存在該訪問鎖:若存在寫鎖的操作或存在讀鎖的操作,則該申請訪問鎖的操作失??;若不存在該訪問鎖時,則該申請訪問鎖的操作成功,增加與該申請訪問鎖的操作相對應(yīng)的鎖信息;訪問鎖申請結(jié)果反饋模塊,用于基于讀鎖模塊和寫鎖模塊的處理結(jié)果,向訪問鎖申請結(jié)果執(zhí)行單元進行反饋。在該技術(shù)方案中,訪問鎖的分類細化,分為讀鎖與寫鎖,多個業(yè)務(wù)操作在進行讀鎖操作時,相關(guān)不沖突。
[0021]在上述技術(shù)方案中,優(yōu)選地,所述訪問鎖申請結(jié)果執(zhí)行單元,具體包括:訪問鎖申請成功時的處理模塊,用于訪問鎖申請成功時,該業(yè)務(wù)操作執(zhí)行訪問數(shù)據(jù)庫;以及,用于該業(yè)務(wù)操作訪問數(shù)據(jù)庫結(jié)束時,釋放訪問鎖。在該技術(shù)方案中,當業(yè)務(wù)操作在適當時間內(nèi)不發(fā)生沖突時,業(yè)務(wù)正常進行。
[0022]在上述技術(shù)方案中,優(yōu)選地,所述訪問鎖申請結(jié)果執(zhí)行單元,具體還包括:訪問鎖申請失敗時的處理模塊,用于訪問鎖申請失敗時,服務(wù)端等待預設(shè)時長后,自動重試申請訪問鎖預設(shè)次數(shù),根據(jù)重試申請訪問鎖的結(jié)果,執(zhí)行以下操作:若在預設(shè)次數(shù)內(nèi)重試申請訪問鎖成功,則該業(yè)務(wù)操作正常進行;若在預設(shè)次數(shù)內(nèi)重試申請訪問鎖不成功,則向客戶端返回當前操作請求與其它用戶的操作沖突、請稍等執(zhí)行的消息;客戶端通過申請鎖的監(jiān)控界面顯示和管理相應(yīng)訪問鎖的申請情況,對于相應(yīng)業(yè)務(wù)操作執(zhí)行出現(xiàn)故障的情況,讓用戶自己來對應(yīng)的訪問鎖進行管理操作。在該技術(shù)方案中,通過在出錯后,進行等待一個很小的時間,并進行再次申請訪問鎖的方式,來進行自動的重試,達到在適當時間沖突情況下能不出錯,業(yè)務(wù)正常進行;而對于長時間沖突的情況,在重試配置的指定次數(shù)后,才返回請求與其它用戶的操作沖突,請稍等執(zhí)行的消息;同時,通過提供申請鎖的監(jiān)控界面來進行顯示和管理鎖的申請情況,對于系統(tǒng)出現(xiàn)故障的特殊情況,來讓用戶自己來對鎖進行管理操作。
[0023]通過以上技術(shù)方案,可以在現(xiàn)有的業(yè)務(wù)操作的并發(fā)訪問控制方式基礎(chǔ)上,充分利用單業(yè)務(wù)操作的訪問控制完成多業(yè)務(wù)操作的并發(fā)訪問控制,建立單業(yè)務(wù)操作參與的面向多業(yè)務(wù)操作的并發(fā)訪問控制的通用、統(tǒng)一訪問控制思路。
[0024]

【專利附圖】

【附圖說明】
[0025]圖1示出了根據(jù)本發(fā)明的實施例的業(yè)務(wù)操作的并發(fā)訪問控制方法的流程圖;
圖2示出了根據(jù)本發(fā)明的實施例的業(yè)務(wù)操作的并發(fā)訪問控制方法的詳細流程圖;
圖3示出了根據(jù)本發(fā)明的實施例的訪問鎖申請失敗的處理流程圖;
圖4示出了根據(jù)本發(fā)明的實施例的訪問鎖的分類細化流程圖;
圖5示出了根據(jù)本發(fā)明的實施例的業(yè)務(wù)操作的并發(fā)訪問控制裝置的框圖。
[0026]

【具體實施方式】
[0027]為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點,下面結(jié)合附圖和【具體實施方式】對本發(fā)明進行進一步的詳細描述。需要說明的是,在不沖突的情況下,本申請的實施例及實施例中的特征可以相互組合。
[0028]在下面的描述中闡述了很多具體細節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述的其他方式來實施,因此,本發(fā)明的保護范圍并不受下面公開的具體實施例的限制。
[0029]圖1示出了根據(jù)本發(fā)明的實施例的業(yè)務(wù)操作的并發(fā)訪問控制方法的流程圖。
[0030]如圖1所示,根據(jù)本發(fā)明的實施例的業(yè)務(wù)操作的并發(fā)訪問控制方法,包括:步驟102:服務(wù)端基于客戶端發(fā)出的操作請求,將訪問鎖的控制放在單個的業(yè)務(wù)處理過程;步驟104:服務(wù)端基于預設(shè)多個業(yè)務(wù)操作中與該操作請求對應(yīng)的業(yè)務(wù)操作,細化分類申請訪問鎖;步驟106:服務(wù)端基于訪問鎖的申請結(jié)果,執(zhí)行相應(yīng)操作。在該技術(shù)方案中,通過對訪問鎖的細化控制,可以大大減少業(yè)務(wù)的并發(fā)訪問沖突,同時,也可以給用戶帶來良好的使用體驗。
[0031]在上述技術(shù)方案中,優(yōu)選地,如圖2和圖4所示,步驟102具體包括:步驟202:客戶端發(fā)出操作請求,服務(wù)端接收客戶端發(fā)出的操作請求;步驟204:服務(wù)端執(zhí)行與客戶端發(fā)出的操作請求相對應(yīng)的當前業(yè)務(wù),該當前業(yè)務(wù)對應(yīng)預設(shè)多個業(yè)務(wù)操作中的一個業(yè)務(wù)操作。在該技術(shù)方案中,通過將訪問鎖的控制放在單個的業(yè)務(wù)處理過程上,可以使加鎖的時間變得更短,并使用戶之間出現(xiàn)訪問沖突的情況減到最少。
[0032]在上述技術(shù)方案中,優(yōu)選地,如圖2和圖4所示,步驟104具體包括:步驟206:月艮務(wù)端基于當前執(zhí)行業(yè)務(wù)對應(yīng)的業(yè)務(wù)操作,申請訪問鎖;進一步地,服務(wù)端基于當前執(zhí)行業(yè)務(wù)對應(yīng)的業(yè)務(wù)操作,申請訪問鎖的流程,還包括:當該申請訪問鎖的操作是讀鎖操作時,判斷是否已存在該訪問鎖:若存在寫鎖的操作,則該申請訪問鎖的操作失敗;若存在讀鎖的操作或不存在該訪問鎖時,則該申請訪問鎖的操作成功,增加與該申請訪問鎖的操作相對應(yīng)的鎖信息;當該申請訪問鎖的操作是寫鎖操作時,判斷是否已存在該訪問鎖:若存在寫鎖的操作或存在讀鎖的操作,則該申請訪問鎖的操作失?。蝗舨淮嬖谠撛L問鎖時,則該申請訪問鎖的操作成功,增加與該申請訪問鎖的操作相對應(yīng)的鎖信息。在該技術(shù)方案中,訪問鎖的分類細化,分為讀鎖與寫鎖,多個業(yè)務(wù)操作在進行讀鎖操作時,相關(guān)不沖突。
[0033]在上述技術(shù)方案中,優(yōu)選地,如圖2所示,步驟106具體包括:步驟208:訪問鎖申請成功時,該業(yè)務(wù)操作執(zhí)行訪問數(shù)據(jù)庫;步驟210:該業(yè)務(wù)操作訪問數(shù)據(jù)庫結(jié)束時,釋放訪問鎖。在該技術(shù)方案中,當業(yè)務(wù)操作在適當時間內(nèi)不發(fā)生沖突時,業(yè)務(wù)正常進行。
[0034]在上述技術(shù)方案中,優(yōu)選地,如圖2所示,步驟106具體還包括:步驟212:訪問鎖申請失敗時,服務(wù)端等待預設(shè)時長后,自動重試申請訪問鎖預設(shè)次數(shù),根據(jù)重試申請訪問鎖的結(jié)果,執(zhí)行步驟214或執(zhí)行步驟2161 ;步驟214:若在預設(shè)次數(shù)內(nèi)重試申請訪問鎖成功,則該業(yè)務(wù)操作正常進行;步驟216:若在預設(shè)次數(shù)內(nèi)重試申請訪問鎖不成功,則向客戶端返回當前操作請求與其它用戶的操作沖突、請稍等執(zhí)行的消息;步驟218:客戶端通過申請鎖的監(jiān)控界面顯示和管理相應(yīng)訪問鎖的申請情況,對于相應(yīng)業(yè)務(wù)操作執(zhí)行出現(xiàn)故障的情況,讓用戶自己來對應(yīng)的訪問鎖進行管理操作。在該技術(shù)方案中,通過在出錯后,進行等待一個很小的時間,并進行再次申請訪問鎖的方式,來進行自動的重試,達到在適當時間沖突情況下能不出錯,業(yè)務(wù)正常進行;而對于長時間沖突的情況,在重試配置的指定次數(shù)后,才返回請求與其它用戶的操作沖突,請稍等執(zhí)行的消息;同時,通過提供申請鎖的監(jiān)控界面來進行顯示和管理鎖的申請情況,對于系統(tǒng)出現(xiàn)故障的特殊情況,來讓用戶自己來對鎖進行管理操作。
[0035]圖5示出了根據(jù)本發(fā)明的實施例的業(yè)務(wù)操作的并發(fā)訪問控制裝置的框圖。
[0036]如圖5所示,根據(jù)本發(fā)明的實施例的業(yè)務(wù)操作的并發(fā)訪問控制裝置的框圖,包括:單個業(yè)務(wù)處理單元302,用于服務(wù)端基于客戶端發(fā)出的操作請求,將訪問鎖的控制放在單個的業(yè)務(wù)處理過程;訪問鎖細化分類申請單元304,用于服務(wù)端基于預設(shè)多個業(yè)務(wù)操作中與該操作請求對應(yīng)的業(yè)務(wù)操作,細化分類申請訪問鎖;訪問鎖申請結(jié)果執(zhí)行單元306,用于服務(wù)端基于訪問鎖的申請結(jié)果,執(zhí)行相應(yīng)操作。在該技術(shù)方案中,通過對訪問鎖的細化控制,可以大大減少業(yè)務(wù)的并發(fā)訪問沖突,同時,也可以給用戶帶來良好的使用體驗。
[0037]在上述技術(shù)方案中,優(yōu)選地,單個業(yè)務(wù)處理單元302,具體包括:操作請求收發(fā)模塊3021,用于客戶端發(fā)出操作請求,服務(wù)端接收客戶端發(fā)出的操作請求;當前業(yè)務(wù)執(zhí)行模塊3022,用于服務(wù)端執(zhí)行與客戶端發(fā)出的操作請求相對應(yīng)的當前業(yè)務(wù),該當前業(yè)務(wù)對應(yīng)預設(shè)多個業(yè)務(wù)操作中的一個業(yè)務(wù)操作。在該技術(shù)方案中,通過將訪問鎖的控制放在單個的業(yè)務(wù)處理過程上,可以使加鎖的時間變得更短,并使用戶之間出現(xiàn)訪問沖突的情況減到最少。
[0038]在上述技術(shù)方案中,優(yōu)選地,訪問鎖細化分類申請單元304,具體包括:訪問鎖申請模塊3041,用于服務(wù)端基于當前執(zhí)行業(yè)務(wù)對應(yīng)的業(yè)務(wù)操作,申請訪問鎖;讀鎖模塊3042,用于當該申請訪問鎖的操作是讀鎖操作時,判斷是否已存在該訪問鎖:若存在寫鎖的操作,則該申請訪問鎖的操作失??;若存在讀鎖的操作或不存在該訪問鎖時,則該申請訪問鎖的操作成功,增加與該申請訪問鎖的操作相對應(yīng)的鎖信息;寫鎖模塊3043,用于當該申請訪問鎖的操作是寫鎖操作時,判斷是否已存在該訪問鎖:若存在寫鎖的操作或存在讀鎖的操作,則該申請訪問鎖的操作失?。蝗舨淮嬖谠撛L問鎖時,則該申請訪問鎖的操作成功,增加與該申請訪問鎖的操作相對應(yīng)的鎖信息;訪問鎖申請結(jié)果反饋模塊3044,用于基于讀鎖模塊和寫鎖模塊的處理結(jié)果,向訪問鎖申請結(jié)果執(zhí)行單元進行反饋。在該技術(shù)方案中,訪問鎖的分類細化,分為讀鎖與寫鎖,多個業(yè)務(wù)操作在進行讀鎖操作時,相關(guān)不沖突。
[0039]在上述技術(shù)方案中,優(yōu)選地,訪問鎖申請結(jié)果執(zhí)行單元306,具體包括:訪問鎖申請成功時的處理模塊3061,用于訪問鎖申請成功時,該業(yè)務(wù)操作執(zhí)行訪問數(shù)據(jù)庫;以及,用于該業(yè)務(wù)操作訪問數(shù)據(jù)庫結(jié)束時,釋放訪問鎖。在該技術(shù)方案中,當業(yè)務(wù)操作在適當時間內(nèi)不發(fā)生沖突時,業(yè)務(wù)正常進行。
[0040]在上述技術(shù)方案中,優(yōu)選地,訪問鎖申請結(jié)果執(zhí)行單元306,具體還包括:訪問鎖申請失敗時的處理模塊3062,用于訪問鎖申請失敗時,服務(wù)端等待預設(shè)時長后,自動重試申請訪問鎖預設(shè)次數(shù),根據(jù)重試申請訪問鎖的結(jié)果,執(zhí)行以下操作:若在預設(shè)次數(shù)內(nèi)重試申請訪問鎖成功,則該業(yè)務(wù)操作正常進行;若在預設(shè)次數(shù)內(nèi)重試申請訪問鎖不成功,則向客戶端返回當前操作請求與其它用戶的操作沖突、請稍等執(zhí)行的消息;客戶端通過申請鎖的監(jiān)控界面顯示和管理相應(yīng)訪問鎖的申請情況,對于相應(yīng)業(yè)務(wù)操作執(zhí)行出現(xiàn)故障的情況,讓用戶自己來對應(yīng)的訪問鎖進行管理操作。在該技術(shù)方案中,通過在出錯后,進行等待一個很小的時間,并進行再次申請訪問鎖的方式,來進行自動的重試,達到在適當時間沖突情況下能不出錯,業(yè)務(wù)正常進行;而對于長時間沖突的情況,在重試配置的指定次數(shù)后,才返回請求與其它用戶的操作沖突,請稍等執(zhí)行的消息;同時,通過提供申請鎖的監(jiān)控界面來進行顯示和管理鎖的申請情況,對于系統(tǒng)出現(xiàn)故障的特殊情況,來讓用戶自己來對鎖進行管理操作。
[0041]本發(fā)明的技術(shù)方案,主要涉及數(shù)據(jù)庫相關(guān)管理軟件,特別是其業(yè)務(wù)操作的一種并發(fā)訪問控制的方法及裝置。
[0042]為了解決上述問題,本發(fā)明在上述第二種方式的基礎(chǔ)上增加了 3點改進方案: ⑴訪問鎖的粒度,對于加訪問鎖在用戶操作是沒有必要的,一個用戶的操作會包含多個具體的業(yè)務(wù)處理過程,這多個業(yè)務(wù)處理過程有的是需要進行鎖控制,有的則不需要。通過將訪問鎖的控制放在單個的業(yè)務(wù)處理過程上,使加鎖的時間變得更短,用戶之間出現(xiàn)訪問沖突的情況減到最少。
[0043]⑵訪問鎖申請失敗的處理,當出現(xiàn)訪問鎖申請失敗時,一般另一個業(yè)務(wù)操作會很快的結(jié)束,此時,直接返回請求無法處理的消息給予用戶不好的交互體驗。而通過在出錯后,進行等待一個很小的時間,并進行再次申請訪問鎖的方式,來進行自動的重試,達到在適當時間沖突情況下能不出錯,業(yè)務(wù)正常進行。而對于長時間沖突的情況,在重試配置的指定次數(shù)后,才返回請求與其它用戶的操作沖突,請稍等執(zhí)行的消息,相應(yīng)原理可參見圖3中的相關(guān)表述。
[0044]⑶訪問鎖的分類細化,分為讀鎖與寫鎖,多個業(yè)務(wù)操作在進行讀鎖操作時,相關(guān)不沖突。如果有一個業(yè)務(wù)是寫鎖時,其它業(yè)務(wù)不能同時進行操作。具體邏輯為加鎖邏輯圖,可參見圖4中的相關(guān)表述。
[0045]同時,通過提供申請鎖的監(jiān)控界面來進行顯示和管理鎖的申請情況,對于系統(tǒng)出現(xiàn)故障的特殊情況,來讓用戶自己來對鎖進行管理操作。
[0046]經(jīng)驗證,本發(fā)明的技術(shù)方案,在用友ERP產(chǎn)品U9中,實施了本技術(shù)方案后,不僅大大的減少了業(yè)務(wù)的并發(fā)訪問沖突,同時,也使給用戶帶來了良好的產(chǎn)品使用體驗,對于產(chǎn)品的并發(fā)用戶數(shù)的提高帶來了明顯的效果。
[0047]以上結(jié)合附圖詳細說明了本發(fā)明的技術(shù)方案,考慮到相關(guān)技術(shù)中沒有簡便的、統(tǒng)一的針對復雜業(yè)務(wù)操作的并發(fā)訪問控制的解決辦法?,F(xiàn)有的并發(fā)訪問控制無法完成有復雜業(yè)務(wù)操作參與的并發(fā)訪問控制過程。因此,本發(fā)明提出了一種業(yè)務(wù)操作的并發(fā)訪問控制方法和一種業(yè)務(wù)操作的并發(fā)訪問控制裝置,可以在現(xiàn)有的業(yè)務(wù)操作的并發(fā)訪問控制方式基礎(chǔ)上,充分利用單業(yè)務(wù)操作的訪問控制完成多業(yè)務(wù)操作的并發(fā)訪問控制,建立單業(yè)務(wù)操作參與的面向多業(yè)務(wù)操作的并發(fā)訪問控制的通用、統(tǒng)一訪問控制思路。
[0048]以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
【權(quán)利要求】
1.一種業(yè)務(wù)操作的并發(fā)訪問控制方法,其特征在于,包括: 步驟102:服務(wù)端基于客戶端發(fā)出的操作請求,將訪問鎖的控制放在單個的業(yè)務(wù)處理過程; 步驟104:服務(wù)端基于預設(shè)多個業(yè)務(wù)操作中與該操作請求對應(yīng)的業(yè)務(wù)操作,細化分類申請訪問鎖; 步驟106:服務(wù)端基于訪問鎖的申請結(jié)果,執(zhí)行相應(yīng)操作。
2.根據(jù)權(quán)利要求1所述的業(yè)務(wù)操作的并發(fā)訪問控制方法,其特征在于,所述步驟102具體包括: 步驟202:客戶端發(fā)出操作請求,服務(wù)端接收客戶端發(fā)出的操作請求; 步驟204:服務(wù)端執(zhí)行與客戶端發(fā)出的操作請求相對應(yīng)的當前業(yè)務(wù),該當前業(yè)務(wù)對應(yīng)預設(shè)多個業(yè)務(wù)操作中的一個業(yè)務(wù)操作。
3.根據(jù)權(quán)利要求1或2所述的業(yè)務(wù)操作的并發(fā)訪問控制方法,其特征在于,所述步驟104具體包括: 步驟206:服務(wù)端基于當前執(zhí)行業(yè)務(wù)對應(yīng)的業(yè)務(wù)操作,申請訪問鎖;進一步地, 所述服務(wù)端基于當前執(zhí)行業(yè)務(wù)對應(yīng)的業(yè)務(wù)操作,申請訪問鎖的流程,還包括: 當該申請訪問鎖的操作是讀鎖操作時,判斷是否已存在該訪問鎖:若存在寫鎖的操作,則該申請訪問鎖的操作失?。蝗舸嬖谧x鎖的操作或不存在該訪問鎖時,則該申請訪問鎖的操作成功,增加與該申請訪問鎖的操作相對應(yīng)的鎖信息; 當該申請訪問鎖的操作是寫鎖操作時,判斷是否已存在該訪問鎖:若存在寫鎖的操作或存在讀鎖的操作,則該申請訪問鎖的操作失敗;若不存在該訪問鎖時,則該申請訪問鎖的操作成功,增加與該申請訪問鎖的操作相對應(yīng)的鎖信息。
4.根據(jù)權(quán)利要求3所述的業(yè)務(wù)操作的并發(fā)訪問控制方法,其特征在于,所述步驟106具體包括: 步驟208:訪問鎖申請成功時,該業(yè)務(wù)操作執(zhí)行訪問數(shù)據(jù)庫; 步驟210:該業(yè)務(wù)操作訪問數(shù)據(jù)庫結(jié)束時,釋放訪問鎖。
5.根據(jù)權(quán)利要求4所述的業(yè)務(wù)操作的并發(fā)訪問控制方法,其特征在于,所述步驟106具體還包括: 步驟212:訪問鎖申請失敗時,服務(wù)端等待預設(shè)時長后,自動重試申請訪問鎖預設(shè)次數(shù),根據(jù)重試申請訪問鎖的結(jié)果,執(zhí)行步驟214或執(zhí)行步驟2161 ; 步驟214:若在預設(shè)次數(shù)內(nèi)重試申請訪問鎖成功,則該業(yè)務(wù)操作正常進行; 步驟216:若在預設(shè)次數(shù)內(nèi)重試申請訪問鎖不成功,則向客戶端返回當前操作請求與其它用戶的操作沖突、請稍等執(zhí)行的消息; 步驟218:客戶端通過申請鎖的監(jiān)控界面顯示和管理相應(yīng)訪問鎖的申請情況,對于相應(yīng)業(yè)務(wù)操作執(zhí)行出現(xiàn)故障的情況,讓用戶自己來對應(yīng)的訪問鎖進行管理操作。
6.一種業(yè)務(wù)操作的并發(fā)訪問控制裝置,其特征在于,包括: 單個業(yè)務(wù)處理單元,用于服務(wù)端基于客戶端發(fā)出的操作請求,將訪問鎖的控制放在單個的業(yè)務(wù)處理過程; 訪問鎖細化分類申請單元,用于服務(wù)端基于預設(shè)多個業(yè)務(wù)操作中與該操作請求對應(yīng)的業(yè)務(wù)操作,細化分類申請訪問鎖;訪問鎖申請結(jié)果執(zhí)行單元,用于服務(wù)端基于訪問鎖的申請結(jié)果,執(zhí)行相應(yīng)操作。
7.根據(jù)權(quán)利要求6所述的業(yè)務(wù)操作的并發(fā)訪問控制裝置,其特征在于,所述單個業(yè)務(wù)處理單元,具體包括: 操作請求收發(fā)模塊,用于客戶端發(fā)出操作請求,服務(wù)端接收客戶端發(fā)出的操作請求;當前業(yè)務(wù)執(zhí)行模塊,用于服務(wù)端執(zhí)行與客戶端發(fā)出的操作請求相對應(yīng)的當前業(yè)務(wù),該當前業(yè)務(wù)對應(yīng)預設(shè)多個業(yè)務(wù)操作中的一個業(yè)務(wù)操作。
8.根據(jù)權(quán)利要求6或7所述的業(yè)務(wù)操作的并發(fā)訪問控制裝置,其特征在于,所述訪問鎖細化分類申請單元,具體包括: 訪問鎖申請模塊,用于服務(wù)端基于當前執(zhí)行業(yè)務(wù)對應(yīng)的業(yè)務(wù)操作,申請訪問鎖; 讀鎖模塊,用于當該申請 訪問鎖的操作是讀鎖操作時,判斷是否已存在該訪問鎖:若存在寫鎖的操作,則該申請訪問鎖的操作失敗;若存在讀鎖的操作或不存在該訪問鎖時,則該申請訪問鎖的操作成功,增加與該申請訪問鎖的操作相對應(yīng)的鎖信息; 寫鎖模塊,用于當該申請訪問鎖的操作是寫鎖操作時,判斷是否已存在該訪問鎖:若存在寫鎖的操作或存在讀鎖的操作,則該申請訪問鎖的操作失?。蝗舨淮嬖谠撛L問鎖時,則該申請訪問鎖的操作成功,增加與該申請訪問鎖的操作相對應(yīng)的鎖信息; 訪問鎖申請結(jié)果反饋模塊,用于基于讀鎖模塊和寫鎖模塊的處理結(jié)果,向訪問鎖申請結(jié)果執(zhí)行單元進行反饋。
9.根據(jù)權(quán)利要求8所述的業(yè)務(wù)操作的并發(fā)訪問控制裝置,其特征在于,所述訪問鎖申請結(jié)果執(zhí)行單元,具體包括: 訪問鎖申請成功時的處理模塊,用于訪問鎖申請成功時,該業(yè)務(wù)操作執(zhí)行訪問數(shù)據(jù)庫;以及,用于該業(yè)務(wù)操作訪問數(shù)據(jù)庫結(jié)束時,釋放訪問鎖。
10.根據(jù)權(quán)利要求9所述的業(yè)務(wù)操作的并發(fā)訪問控制裝置,其特征在于,所述訪問鎖申請結(jié)果執(zhí)行單元,具體還包括: 訪問鎖申請失敗時的處理模塊,用于訪問鎖申請失敗時,服務(wù)端等待預設(shè)時長后,自動重試申請訪問鎖預設(shè)次數(shù),根據(jù)重試申請訪問鎖的結(jié)果,執(zhí)行以下操作: 若在預設(shè)次數(shù)內(nèi)重試申請訪問鎖成功,則該業(yè)務(wù)操作正常進行; 若在預設(shè)次數(shù)內(nèi)重試申請訪問鎖不成功,則向客戶端返回當前操作請求與其它用戶的操作沖突、請稍等執(zhí)行的消息; 客戶端通過申請鎖的監(jiān)控界面顯示和管理相應(yīng)訪問鎖的申請情況,對于相應(yīng)業(yè)務(wù)操作執(zhí)行出現(xiàn)故障的情況,讓用戶自己來對應(yīng)的訪問鎖進行管理操作。
【文檔編號】G06F9/38GK104077111SQ201410284930
【公開日】2014年10月1日 申請日期:2014年6月24日 優(yōu)先權(quán)日:2014年6月24日
【發(fā)明者】祁宏偉 申請人:用友優(yōu)普信息技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
广元市| 白银市| 嵊泗县| 筠连县| 银川市| 左权县| 汉川市| 通榆县| 年辖:市辖区| 陇西县| 额尔古纳市| 科技| 嘉兴市| 栾川县| 东山县| 张家口市| 永仁县| 屏山县| 虞城县| 遵化市| 南宁市| 鄂托克旗| 琼海市| 兰坪| 韩城市| 屯留县| 新营市| 塘沽区| 葫芦岛市| 德阳市| 惠东县| 淮安市| 宣化县| 清丰县| 木里| 光山县| 罗源县| 广东省| 虞城县| 兰西县| 南京市|