求助:資料庫併發訪問問題

hakusen發表於2006-07-14
目前負責的專案出現了一個比較大的效能問題,請高手指點一二。

1 目的:服務利用可否認證

2 處理概要:在一定時間間隔內,對是否可以提供服務進行認證。
例:服務A 每小時可以提供3次服務,當使用者透過web申請服務A的時候,根據1小時內的服務A的履歷來判斷可否向使用者提供A服務。

3 原實現方法: 出於併發的考慮,在查詢履歷前判斷履歷表是否在鎖狀態。如果不在則將表讀鎖定然後判斷-〉寫履歷-〉解鎖。如果在鎖狀態則等待-〉重試、、 直到許可或TimeOut

4 問題:最近隨著對應服務的增多,使用者人數的增加,TimeOut發生的頻率暴增。1個履歷表對應近千種服務,一種服務申請中,其他服務的請求都要等待。。。

請問如何解決這個問題,行鎖的話發生死鎖的可能性?還是有其他好辦法?

系統環境:J2EE + MySql

相關文章