TWI413000B - 在伺服器中安全地中斷被封鎖的作業之方法、系統及儲存媒體 - Google Patents
在伺服器中安全地中斷被封鎖的作業之方法、系統及儲存媒體 Download PDFInfo
- Publication number
- TWI413000B TWI413000B TW095144884A TW95144884A TWI413000B TW I413000 B TWI413000 B TW I413000B TW 095144884 A TW095144884 A TW 095144884A TW 95144884 A TW95144884 A TW 95144884A TW I413000 B TWI413000 B TW I413000B
- Authority
- TW
- Taiwan
- Prior art keywords
- event
- blocking event
- blocking
- login file
- blocked
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/524—Deadlock detection or avoidance
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Hardware Redundancy (AREA)
Description
本發明內容係關於一電腦系統中之處理;更具體言之,本發明內容係關於一種在一伺服器中安全地中斷被封鎖的作業之方法。
電腦系統通常包括硬體(例如,半導體、電路板等)與軟體(例如,電腦程式)之一組合。因為半導體處理及電腦架構中之進展推動了電腦硬體之效能提高,所以更複雜的電腦軟體已發展為利用硬體之更高效能,從而導致現今的電腦系統比幾年前強大得多。
電腦系統通常包括控制電腦之基本功能的作業系統軟體及在作業系統之控制下執行以執行所要任務的一或多個軟體應用程式。舉例而言,一典型的IBM個人電腦可執行OS/2作業系統,且在OS/2作業系統之控制下,一使用者可執行一諸如一文書處理程式的應用程式。隨著電腦之能力增大,經設計用於高效能電腦系統之應用程式已變得極其強大。
取決於不同過程中的共用系統資源之配置,資源利用中之衝突可發生。因為可同時處理許多不同過程,所以過程之兩者或兩者以上可需要同時存取一給定的共用系統資源係完全可能的。然而,若一給定過程已獲取了一資源以供使用且該過程因為任何原因而意外地被終止,則所獲取的資源可變得不可用於其他過程,從而導致了處理環境中之無效。
舉例而言,一在一執行緒上執行的給定過程可正使用一諸如一mutex物件的共用系統資源。一mutex物件係一鎖定一塊資料以使得在任何時間僅一個執行緒可控制該塊資料的物件。其為一共用系統資源,因為許多執行緒可希望存取mutex物件以得到該塊資料。若執行緒突然被終止,以使得執行緒不具有一機會來靜止其狀態,則共用mutex物件可被"封鎖",且與其他過程相關聯之其他執行緒可不能夠存取mutex物件及其伴隨資料以供使用。此情形可需要完全關閉一或多個過程以允許"釋放"共用資源以使得可使共用資源可用於其他過程。在另一情況下,一過程可使用一共用系統資源而"循環"歷時一延長的時間週期,且藉此防止其他系統過程存取該共用系統資源。在某些狀況下,甚至可變得必須重新啟動整個系統以允許共用資源變得再次可用於處理。
此被封鎖的作業可防止伺服器處理其他請求及在所有調度執行緒變得被封鎖時或許最終完全失靈。對此問題使用的當前解決方法為:等待完成一請求的一特定量之時間,且若請求未在該時間內完成,則終止伺服器過程。此具有亦終止在應用伺服器中調度的任何其他請求之不幸的副作用。
因此,需要一用於有效配置及控制共用系統資源的共用系統資源配置及管理機制。
示範性實施例包括一在一伺服器中安全地中斷被封鎖的作業之方法,該方法包括:建立一登錄檔;在該登錄檔中登錄一可能的封鎖事件;執行該可能的封鎖事件;確定該可能的封鎖事件並未回應;存取一對應於該封鎖事件之登錄檔項目;及採取一藉由對應於該封鎖事件之登錄檔項目所指示的校正行動。
示範性實施例亦包括一在一伺服器中安全地中斷被封鎖的作業之系統,該系統包括:構件,其用於建立一登錄檔;構件,其用於在該登錄檔中登錄一可能的封鎖事件;構件,其用於執行該可能的封鎖事件;構件,其用於確定該可能的封鎖事件並未回應;構件,其用於存取一對應於該可能的封鎖事件之登錄檔項目;及構件,其用於採取一藉由對應於該可能的封鎖事件之登錄檔項目所指示的校正行動。
示範性實施例進一步包括一用在句法上剖析一緩衝器之機器可讀電腦程式碼編碼的儲存媒體,該儲存媒體包括用於在一伺服器中安全地中斷被封鎖之作業的指令,該等指令包括:建立一登錄檔;在該登錄檔中登錄一可能的封鎖事件;執行該可能的封鎖事件;確定該可能的封鎖事件並未回應;存取一對應於該可能之封鎖事件的登錄檔項目;及採取一由對應於該可能之封鎖事件之登錄檔項目所指示的校正行動。
一旦查閱下文之圖式及詳細描述,熟習此項技術者將易瞭解根據示範性實施例之其他系統、方法及/或電腦程式產品。希望所有此等額外系統、方法及/或電腦程式產品係包括於此描述內、在本發明內容之範疇內,且受到附隨申請專利範圍保護。
本文所揭示的係一在一伺服器中安全地中斷被封鎖之作業的方法。在一伺服器中安全地中斷被封鎖之作業的方法通常包括:建立一登錄檔;在該登錄檔中登錄一可能的封鎖事件;執行該可能的封鎖事件;確定該可能的封鎖事件並未回應;存取一對應於該封鎖事件之登錄檔項目;及採取一由對應於該封鎖事件之登錄檔項目所指示的校正行動。
現參看圖1,通常將一根據示範性實施例之在一伺服器中安全地中斷被封鎖之作業之方法的流程圖描繪為10。在一伺服器中安全地中斷被封鎖之作業之方法中的第一步驟為如過程步驟12處所展示的:建立一可能之封鎖事件的登錄檔。本文將參看圖2進一步詳細討論登錄檔。如過程步驟14處所展示,在一伺服器中安全地中斷被封鎖之作業的方法在執行可能的封鎖事件或程式碼之區段(其在過程步驟16處描繪)之前,用登錄檔登錄可能的封鎖事件。取決於可能的封鎖事件是否成功地執行或變得不回應,在一伺服器中安全地中斷被封鎖之作業的方法將分別進行至過程步驟18或20。在一伺服器中安全地中斷被封鎖之作業的方法可使用若干技術來確定可能的封鎖事件是否已變得不回應,該等技術包括(但不限於)使用一計時器或監視由可能的封鎖事件所執行的活動。
在成功執行封鎖事件之後,在一伺服器中安全地中斷被封鎖的作業之方法自登錄檔移除對應於可能的封鎖事件之可能的封鎖事件項目(如過程步驟18處所展示)。然而,若可能的封鎖事件變得不回應,則在一伺服器中安全地中斷被封鎖的作業之方法存取對應於可能的封鎖事件之登錄檔項目(如過程步驟20處所展示)。輔助將可能的封鎖事件解除封鎖所需的任何資訊可置放於物件中之執行個體資料中,物件置放於登錄檔中。在一示範性實施例中,登錄檔可含有一待對應於每一可能的封鎖事件而實施之介面。此外,登錄檔亦可維持所登錄之物件(或可能的封鎖事件)與物件自其登錄之過程(亦即,正調度應用程式請求的執行緒)之間的一相關性。當在一伺服器中安全地中斷被封鎖的作業之方法確定(無論因為何原因)可能的封鎖事件可並未回應,則在一伺服器中安全地中斷被封鎖的作業之方法調用一對於對應於待中斷之可能的封鎖事件之登錄檔項目所參照的方法。
繼續圖1,在存取對應於可能的封鎖事件之登錄檔項目之後,登錄檔定位與指定之可能的封鎖事件相關聯的任何所登錄之物件(如過程步驟22處所展示)。若任何所登錄之物件存在,則在一伺服器中安全地中斷被封鎖的作業之方法對於所登錄之物件調用一介面界定方法以中斷不回應之可能的封鎖事件(如過程步驟24處所展示)。介面界定方法負責定位為啟動不回應之可能的封鎖事件或終止不回應之封鎖事件所必需的無論何種控制結構。在示範性實施例中,以此種方式中斷可能的封鎖事件以使得可能的封鎖事件認識到其被中斷且可採取適合於指示一故障之無論何種行動。在中斷不回應之可能的封鎖事件及調用介面界定方法之後,在一伺服器中安全地中斷被封鎖的作業之方法自登錄檔移除對應於可能的封鎖事件之可能的封鎖事件項目(如過程步驟18處所展示)。
現轉至圖2,通常將一可能的封鎖事件之登錄檔的方塊圖描繪為30。可能的封鎖之登錄檔30包括複數個可能的封鎖事件項目32。每一可能的封鎖事件項目32可包括一可能的封鎖事件識別符34、對登錄可能的封鎖事件項目之過程的一參照36,及對一用於中斷不回應之可能的封鎖事件之介面界定方法的一參照38。可能的封鎖事件識別符34可包括一記憶體位址、名稱或用以識別可能的封鎖事件之識別資訊的其他獨特片斷。同樣,對登錄可能的封鎖事件項目32之過程的參照可包括一記憶體位址、名稱或用以識別登錄可能的封鎖事件項目32之過程的識別資訊之其他獨特片斷。此外,對一用於中斷不回應之可能的封鎖事件之介面界定方法的參照可包括一記憶體位址、名稱或可用以參照用於中斷不回應之可能的封鎖事件之介面界定方法的其他參照。
在一特定示範性實施例中,可能的封鎖事件可為一預留一資源之應用程式。舉例而言,應用程式可為一網路通信應用程式,其可打開一插口(socket)並將一訊息發送至一遠端伺服器且接著利用一read()函數等待一來自該遠端伺服器之回應。在此實例中,在打開一插口之前,應用程式將用登錄檔登錄一介面實施例。若系統確定需要中斷應用程式,則將在所登錄之物件上驅動中斷方法。當在所登錄之物件上驅動中斷方法時,其可設定一旗標且關閉插口。應用程式將以一故障(因為插口已關閉)自其read()喚醒,且將檢查已設定旗標並報告其被告知停止等待一回應。在此狀況下,若旗標未經設定指示應用程式已藉由中斷方法中斷,則應用程式將報告一通信故障。在替代示範性實施例中,連接至後端資料庫或其他基礎結構程式碼之連接器可執行登錄及提供中斷處理而非應用程式。
如上文所描述,可以電腦實施過程及用於實踐該等過程之裝置的形式來體現本發明之實施例。亦可以含有體現於有形媒體(諸如軟碟、CD-ROM、硬驅動機或任何其他電腦可讀儲存媒體)中之指令之電腦程式碼的形式體現本發明之實施例,其中,當電腦程式碼藉由一電腦載入且執行時,電腦變為一用於實踐本發明之裝置。亦可以電腦程式碼的形式體現本發明,電腦程式碼(例如)或儲存於一儲存媒體中、藉由一電腦載入且/或執行,或在某些傳輸媒體上傳輸(諸如在電線或電纜上、經由光纖,或經由電磁輻射),其中,當電腦程式碼藉由一電腦載入且執行時,電腦變為一用於實踐本發明之裝置。當在一通用微處理器上實施時,電腦程式碼區段組態該微處理以建立特殊邏輯電路。
雖然已參照一示範性實施例描述本發明之內容,但熟習此項技術者將瞭解,在不脫離本發明之內容之範疇的情況下,可作出各種改變且可用均等物替代其元件。此外,在不脫離本發明之內容之基本範疇的情況下,可作出許多修改以使一特定情形或材料適應於本發明之內容之教示。因此,希望本發明之內容並不限於作為考慮用於進行本發明之內容的最佳模式而揭示之特定實施例,而是希望本發明之內容將包括屬於附加之申請專利範圍之範疇的所有實施例。
30...可能的封鎖事件之登錄檔/可能的封鎖之登錄檔
32...可能的封鎖事件項目
34...可能的封鎖事件識別符
36...對登錄可能的封鎖事件項目之過程的參照
38...對一用於中斷不回應之可能的封鎖事件之介面界定方法的參照
圖1說明根據示範性實施例之在一伺服器中安全地中斷被封鎖的作業之方法的流程圖;及圖2說明根據示範性實施例之登錄檔的方塊圖。
Claims (15)
- 一種在一伺服器中安全地中斷被封鎖之作業的方法,其包含:建立一登錄檔;在該登錄檔中登錄一封鎖事件;執行該封鎖事件;確定該封鎖事件未回應;存取一對應於該封鎖事件的登錄檔項目,該登錄檔項目包括對登錄該封鎖事件之過程的一參照及對用於中斷該封鎖事件之一介面界定方法的一參照,該介面界定方法負責定位控制結構以啟動該封鎖事件;及採取一由對應於該封鎖事件之該登錄檔項目所指示的校正行動,該校正行動對應於用於中斷該封鎖事件之該介面界定方法,該封鎖事件被中斷以使該封鎖事件認識到其被中斷且採取適合指示一故障(failure)之行動。
- 如請求項1之方法,進一步包含自該登錄檔移除該封鎖事件。
- 如請求項1之方法,其中使用一計時器來確定該封鎖事件未回應。
- 如請求項1之方法,其中該校正行動包括釋放由該封鎖事件所保留的一或多個系統資源。
- 如請求項1之方法,該登錄檔項目包含一封鎖事件識別符及對登錄該封鎖事件項目之過程的參照。
- 一種在一伺服器中安全地中斷被封鎖之作業的系統,其 包含:用於建立一登錄檔之構件;用於在該登錄檔中登錄一封鎖事件之構件;用於執行該封鎖事件之構件;用於確定該封鎖事件未回應之構件;用於存取一對應於該封鎖事件之登錄檔項目之構件,該登錄檔項目包括對登錄該封鎖事件之過程的一參照及對用於中斷該封鎖事件之一介面界定方法的一參照,該介面界定方法負責定位控制結構以啟動該封鎖事件;及用於採取一由對應於該封鎖事件之該登錄檔項目所指示的校正行動之構件,該校正行動對應於用於中斷該封鎖事件之該介面界定方法,該封鎖事件被中斷以使該封鎖事件認識到其被中斷且採取適合指示一故障之行動。
- 如請求項6之系統,進一步包含自該登錄檔移除該封鎖事件。
- 如請求項6之系統,其中使用一計時器來確定該封鎖事件未回應。
- 如請求項6之系統,其中該校正行動包括釋放由該封鎖事件所保留的一或多個系統資源。
- 如請求項6之系統,該登錄檔項目包含一封鎖事件識別符及對登錄該封鎖事件項目之過程的參照。
- 一種以用於句法上剖析一緩衝器之機器可讀電腦程式碼編碼的儲存媒體,該儲存媒體包括用於在一伺服器中安全地中斷被封鎖之作業的指令,該等指令包含: 建立一登錄檔;在該登錄檔中登錄一封鎖事件;執行該封鎖事件;確定該封鎖事件未回應;存取一對應於該封鎖事件的登錄檔項目,該登錄檔項目包括對登錄該封鎖事件之過程的一參照及對用於中斷該封鎖事件之一介面界定方法的一參照,該介面界定方法負責定位控制結構以啟動該封鎖事件;及採取一由對應於該封鎖事件之該登錄檔項目所指示的校正行動,該校正行動對應於用於中斷該封鎖事件之該介面界定方法,該封鎖事件被中斷以使該封鎖事件認識到其被中斷且採取適合指示一故障之行動。
- 如請求項11之儲存媒體,進一步包含自該登錄檔移除該封鎖事件。
- 如請求項11之儲存媒體,其中使用一計時器來確定該封鎖事件未回應。
- 如請求項11之儲存媒體,其中該校正行動包括釋放藉由該封鎖事件所保留的一或多個系統資源。
- 如請求項11之儲存媒體,該登錄檔項目包含一封鎖事件識別符及對登錄該封鎖事件項目之過程的參照。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/296,986 US7788529B2 (en) | 2005-12-08 | 2005-12-08 | Method for safely interrupting blocked work in a server |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200809630A TW200809630A (en) | 2008-02-16 |
TWI413000B true TWI413000B (zh) | 2013-10-21 |
Family
ID=38130608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW095144884A TWI413000B (zh) | 2005-12-08 | 2006-12-04 | 在伺服器中安全地中斷被封鎖的作業之方法、系統及儲存媒體 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7788529B2 (zh) |
JP (1) | JP2007157125A (zh) |
CN (1) | CN100458709C (zh) |
TW (1) | TWI413000B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107544840A (zh) * | 2016-06-28 | 2018-01-05 | 北京优朋普乐科技有限公司 | 一种进程管理方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW451146B (en) * | 1999-03-26 | 2001-08-21 | Dell Usa Lp | Factory software management system |
US6301676B1 (en) * | 1999-01-22 | 2001-10-09 | Sun Microsystems, Inc. | Robust and recoverable interprocess locks |
US20030018681A1 (en) * | 2001-05-10 | 2003-01-23 | Corel Corporation | System and method for recovering applications |
US6738974B1 (en) * | 1998-09-10 | 2004-05-18 | International Business Machines Corporation | Apparatus and method for system resource object deallocation in a multi-threaded environment |
US20050066332A1 (en) * | 2003-09-24 | 2005-03-24 | Durai Vishwas P. | Arrangements and methods for invoking an upcall in a computer system |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5305455A (en) * | 1990-12-21 | 1994-04-19 | International Business Machines Corp. | Per thread exception management for multitasking multithreaded operating system |
JPH04367951A (ja) * | 1991-06-17 | 1992-12-21 | Fujitsu Ltd | メモリ滞留防止方式 |
JPH06295248A (ja) * | 1993-04-08 | 1994-10-21 | Mitsubishi Electric Corp | タスク資源解放方式 |
JPH06332876A (ja) * | 1993-05-18 | 1994-12-02 | Mitsubishi Electric Corp | 系間排他制御方式 |
JPH0926888A (ja) | 1995-07-13 | 1997-01-28 | Hitachi Ltd | 排他制御装置 |
JP4253466B2 (ja) * | 2002-05-08 | 2009-04-15 | 株式会社リコー | 画像形成装置および共有メモリ調停方法 |
CN1277188C (zh) * | 2002-05-23 | 2006-09-27 | 联想(北京)有限公司 | 手持信息设备按钮激活的方法 |
JP2004126634A (ja) | 2002-09-30 | 2004-04-22 | Nec Software Chubu Ltd | ファイル保護システム |
JP2004246439A (ja) * | 2003-02-12 | 2004-09-02 | Nec Corp | クラスタシステムにおけるストール防止方式,方法およびプログラム |
US7137099B2 (en) * | 2003-10-24 | 2006-11-14 | Microsoft Corporation | System and method for extending application preferences classes |
CN1635476A (zh) * | 2003-12-25 | 2005-07-06 | 金宝电子工业股份有限公司 | 载挂中断服务方法 |
JP4280919B2 (ja) | 2003-12-25 | 2009-06-17 | 日本電気株式会社 | 複製管理システム、複製管理方法および複製管理プログラム |
-
2005
- 2005-12-08 US US11/296,986 patent/US7788529B2/en not_active Expired - Fee Related
-
2006
- 2006-10-11 CN CNB2006101423634A patent/CN100458709C/zh not_active Expired - Fee Related
- 2006-11-07 JP JP2006301784A patent/JP2007157125A/ja active Pending
- 2006-12-04 TW TW095144884A patent/TWI413000B/zh not_active IP Right Cessation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6738974B1 (en) * | 1998-09-10 | 2004-05-18 | International Business Machines Corporation | Apparatus and method for system resource object deallocation in a multi-threaded environment |
US6301676B1 (en) * | 1999-01-22 | 2001-10-09 | Sun Microsystems, Inc. | Robust and recoverable interprocess locks |
TW451146B (en) * | 1999-03-26 | 2001-08-21 | Dell Usa Lp | Factory software management system |
US20030018681A1 (en) * | 2001-05-10 | 2003-01-23 | Corel Corporation | System and method for recovering applications |
US20050066332A1 (en) * | 2003-09-24 | 2005-03-24 | Durai Vishwas P. | Arrangements and methods for invoking an upcall in a computer system |
Also Published As
Publication number | Publication date |
---|---|
CN100458709C (zh) | 2009-02-04 |
US20070240015A1 (en) | 2007-10-11 |
TW200809630A (en) | 2008-02-16 |
JP2007157125A (ja) | 2007-06-21 |
US7788529B2 (en) | 2010-08-31 |
CN1979430A (zh) | 2007-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2315446C (en) | External job scheduling with a distributed processing system having a local job control system | |
US20160378587A1 (en) | Detecting unresponsiveness of a process | |
US9495199B2 (en) | Management of bottlenecks in database systems | |
US8352798B2 (en) | Failure detection and fencing in a computing system | |
US7856639B2 (en) | Monitoring and controlling applications executing in a computing node | |
CN100492300C (zh) | 在微处理器实现的设备上执行进程的系统和方法 | |
US7962782B2 (en) | Modifying connection records | |
US9158606B2 (en) | Failure repetition avoidance in data processing | |
CN101023411A (zh) | 用于最小化计算机应用程序中的丢失的方法和系统 | |
US20020184295A1 (en) | Method for mutual computer process monitoring and restart | |
US7783742B2 (en) | Dynamic process recovery in a distributed environment | |
US20150172160A1 (en) | Monitoring file system operations between a client computer and a file server | |
CN102314382A (zh) | 一种紧急探查系统信息的方法及模块 | |
US9864708B2 (en) | Safely discovering secure monitors and hypervisor implementations in systems operable at multiple hierarchical privilege levels | |
US20100162237A1 (en) | Network administration in a virtual machine environment through a temporary pool | |
US7797473B2 (en) | System for executing system management interrupts and methods thereof | |
TWI413000B (zh) | 在伺服器中安全地中斷被封鎖的作業之方法、系統及儲存媒體 | |
US11061730B2 (en) | Efficient scheduling for hyper-threaded CPUs using memory monitoring | |
US20160170816A1 (en) | Creating a communication channel between different privilege levels using wait-for-event instruction in systems operable at multiple hierarchical privilege levels | |
US8914680B2 (en) | Resolution of system hang due to filesystem corruption | |
WO2021139113A1 (zh) | 交易信息的加签方法、装置、计算机设备和存储介质 | |
US20230401330A1 (en) | Authorization audit | |
JP2008546077A (ja) | ソフトウェアプロセスモニタ | |
US8595349B1 (en) | Method and apparatus for passive process monitoring | |
US8327378B1 (en) | Method for gracefully stopping a multi-threaded application |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |