1.一種消息隊列處理方法,其特征在于,包括:
啟動監(jiān)控處理作業(yè),檢測消息隊列的消息隊列深度、所述消息隊列的當前所有運行處理作業(yè)的狀態(tài)與數(shù)目及當前CPU的利用率;以及
根據(jù)所述消息隊列深度、所述當前所有運行處理作業(yè)的狀態(tài)與數(shù)目及所述當前CPU的利用率,確定是否啟動一新的臨時運行處理作業(yè)。
2.根據(jù)權(quán)利要求1所述的消息隊列處理方法,其特征在于,根據(jù)所述消息隊列深度、所述當前所有運行處理作業(yè)的狀態(tài)與數(shù)目及所述當前CPU的利用率,確定是否啟動所述新的臨時運行處理作業(yè)包括:
判斷所述消息隊列深度是否超過一預(yù)設(shè)的新作業(yè)啟動閾值;如果所述消息隊列深度超過所述新作業(yè)啟動閾值,則判斷所述當前所有運行處理作業(yè)的數(shù)目是否超過一預(yù)設(shè)的作業(yè)總數(shù)閾值;如果所述當前所有運行處理作業(yè)的數(shù)目未超過所述作業(yè)總數(shù)閾值,則判斷所述當前CPU利用率是否超過一預(yù)設(shè)的CPU利用率閾值;如果所述當前CPU利用率未超過所述CPU利用率閾值,則啟動所述新的臨時運行處理作業(yè)。
3.根據(jù)權(quán)利要求2所述的消息隊列處理方法,其特征在于,在啟動所述新的臨時運行處理作業(yè)之后,還包括:判斷所述消息隊列中是否還有消息待處理;如果所述消息隊列中沒有消息待處理,則暫停所述監(jiān)控處理作業(yè),啟動休眠計時器,進入休眠狀態(tài)。
4.根據(jù)權(quán)利要求2所述的消息隊列處理方法,其特征在于,還包括:判斷所述消息隊列深度是否超過一預(yù)設(shè)的警戒深度閾值;如果所述消息隊列深度超過所述警戒深度閾值,則給所述消息隊列發(fā)送警告信息。
5.根據(jù)權(quán)利要求2所述的消息隊列處理方法,其特征在于,還包括:判斷所述當前所有運行處理作業(yè)的狀態(tài)是否均處于鎖狀態(tài)或消息等待狀態(tài);如果所述當前所有運行處理作業(yè)的狀態(tài)均處于鎖狀態(tài)或消息等待狀態(tài),則給所述消息隊列發(fā)送警告信息。
6.根據(jù)權(quán)利要求1或2所述的消息隊列處理方法,其特征在于,還包括:通過預(yù)設(shè)標志的設(shè)置來判斷啟動所述監(jiān)控處理作業(yè)還是啟動長運行處理作業(yè)。
7.一種消息隊列處理裝置,其特征在于,包括:
消息隊列檢測模塊,用于檢測消息隊列的消息隊列深度、所述消息隊列的當前所有運行處理作業(yè)的狀態(tài)與數(shù)目及當前CPU的利用率;以及
臨時作業(yè)啟動確定模塊,用于根據(jù)所述消息隊列檢測模塊檢測到的所述消息隊列深度、所述當前所有運行處理作業(yè)的狀態(tài)與數(shù)目及當前CPU的利用率,確定是否啟動一新的臨時運行處理作業(yè)。
8.根據(jù)權(quán)利要求7所述的消息隊列處理裝置,其特征在于,所述臨時作業(yè)啟動確定模塊包括:
第一隊列深度判斷子模塊,用于判斷所述消息隊列檢測模塊檢測到的所述消息隊列深度是否超過一預(yù)設(shè)的新作業(yè)啟動閾值;
第一作業(yè)狀態(tài)判斷子模塊,用于當所述第一隊列深度判斷子模塊判斷所述消息隊列深度超過所述新作業(yè)啟動閾值時,判斷所述消息隊列檢測模塊檢測到的所述當前所有運行處理作業(yè)數(shù)目是否超過一預(yù)設(shè)的作業(yè)總數(shù)閾值;
CPU利用率判斷子模塊,用于當所述第一作業(yè)狀態(tài)判斷子模塊判斷所述當前所有運行處理作業(yè)數(shù)目未超過作業(yè)總數(shù)閾值時,判斷所述消息隊列檢測模塊檢測到的CPU利用率是否超過一預(yù)設(shè)的CPU利用閾值;以及
臨時作業(yè)啟動子模塊,用于當所述CPU利用率判斷子模塊判斷所述CPU利用率未超過CPU利用閾值時,啟動所述新的臨時運行處理作業(yè)。
9.根據(jù)權(quán)利要求8所述的消息隊列處理裝置,其特征在于,所述臨時作業(yè)啟動確定模塊還包括:
消息判斷子模塊,用于當所述臨時作業(yè)啟動子模塊啟動所述新的臨時運行處理作業(yè)后,判斷所述消息隊列中是否還有消息待處理;以及
休眠子模塊,用于當所述消息判斷子模塊判斷所述消息隊列中沒有消息待處理時,暫停所述監(jiān)控處理作業(yè),啟動休眠計時器,進入休眠狀態(tài)。
10.根據(jù)權(quán)利要求8所述的消息隊列處理裝置,其特征在于,所述臨時作業(yè)啟動確定模塊還包括:
第二隊列深度子模塊,用于所述判斷消息隊列檢測模塊檢測到的消 息隊列深度是否超過一預(yù)設(shè)的警戒深度閾值;以及
第一報警子模塊,用于當所述第二隊列深度子模塊判斷所述消息隊列深度超過警戒深度閾值時,給所述消息隊列發(fā)送警告信息。
11.根據(jù)權(quán)利要求8所述的消息隊列處理裝置,其特征在于,所述臨時作業(yè)啟動確定模塊還包括:
第二作業(yè)狀態(tài)判斷子模塊,用于判斷所述消息隊列檢測模塊檢測到的所述當前所有運行處理作業(yè)的狀態(tài)是否均處于鎖狀態(tài)或消息等待狀態(tài);以及
第二報警子模塊,用于當所述第二作業(yè)狀態(tài)判斷子模塊判斷所述當前所有運行處理作業(yè)的狀態(tài)均處于鎖狀態(tài)或消息等待狀態(tài)時,給所述消息隊列發(fā)送警告信息。
12.根據(jù)權(quán)利要求7或8所述的消息隊列處理裝置,其特征在于,還包括:監(jiān)控作業(yè)判斷模塊,用于通過預(yù)設(shè)標志的設(shè)置來判斷啟動所述監(jiān)控處理作業(yè)還是啟動長運行處理作業(yè)。