[發明專利]一種進程管理方法及裝置在審
| 申請號: | 201610491428.X | 申請日: | 2016-06-28 |
| 公開(公告)號: | CN107544840A | 公開(公告)日: | 2018-01-05 |
| 發明(設計)人: | 蔣雨含;蔣劍峰 | 申請(專利權)人: | 北京優朋普樂科技有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48;G06F9/50 |
| 代理公司: | 北京同達信恒知識產權代理有限公司11291 | 代理人: | 黃志華 |
| 地址: | 100123 北京市朝陽區高碑店*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 進程 管理 方法 裝置 | ||
技術領域
本發明涉及信息技術領域,尤其涉及一種進程管理方法及裝置。
背景技術
Oracle數據庫是一款關系數據庫管理系統,簡稱Oracle,Oracle可采用兩種服務器模式,即專用服務器模式與共享服務器模式。
專用服務器模式(DEDICATED):即一個客戶端連接對應一個進程,每當有客戶端向服務器發送請求時,就為該請求建立一個進程。
共享服務器模式(SHARE):即多個客戶端連接對應一個進程,服務器中存在一個或多個進程調度器(dispatcher)來處理客戶端的請求,進程調度器為多個客戶端分別向服務器發送的請求建立一個進程。在客戶端請求高度并發、且執行每個客戶端請求時所消耗的資源較少的場景下,相比于Oracle采用專用服務器模式,Oracle采用共享服務器模式時建立的進程數量較少,從而大大減少為客戶端的請求建立進程所消耗的資源。
在共享服務器模式下,當進程調度器中的進程因處理某一客戶端的請求的時間過長時,會導致進程阻塞。當進程阻塞時,會導致服務器用于處理客戶端請求的進程的數量減少,進而導致服務器的性能下降。特別是當服務器當前已啟動的進程中全部進程均阻塞時,會導致服務器無法正常為客戶端提供服務。
綜上,Oracle采用共享服務器模式時存在由于服務器中進程全部阻塞導致的服務器無法正常為客戶端提供服務的問題。
發明內容
本發明實施例提供一種進程管理方法及裝置,用以解決Oracle采用共享服務器模式時由于服務器中進程全部阻塞導致的服務器無法正常為客戶端提供服務的問題。
第一方面,本發明實施例提供一種進程管理方法,該方法應用于共享服務器模式下的Oracle服務器,該方法包括:
確定服務器中當前已啟動的至少一個進程中存在阻塞進程;
當當前已啟動的至少一個進程全部阻塞時,判斷當前已啟動的至少一個進程的數量值是否等于服務器允許啟動的進程的數量的最大值;若是,則終止阻塞進程中的部分阻塞進程,并啟動至少一個進程;若否,則啟動至少一個進程。
無論當前已啟動的阻塞進程的數量值是否等于服務器允許啟動的進程的數量的最大值,采用上述方案后,均啟動了新進程,因而可以解決由于服務器中進程全部阻塞導致的服務器無法正常為客戶端提供服務的問題,使服務器能夠正常為客戶端提供服務;即,通過監控處理服務器中進程,實現快速且不中斷地為客戶端提供服務,提高用戶體驗。
在一種可能的設計中,該方法還包括:當當前已啟動的至少一個進程未全部阻塞時,終止阻塞進程中的至少一個阻塞進程。
采用上述方案,在當前已啟動的至少一個進程未全部阻塞時,終止阻塞進程中的至少一個阻塞進程,可以實現不中斷為客戶端提供服務的情況下,降低CPU的占用率,提高服務器性能。
在一種可能的設計中,在啟動至少一個進程之后,還包括:當啟動至少一個進程成功時,終止阻塞進程中除已終止進程之外的其他進程中的至少一個阻塞進程;和/或,在啟動至少一個進程之后,還包括:當啟動至少一個進程成功時,終止阻塞進程中的至少一個阻塞進程。
采用上述方案,在成功啟動至少一個進程之后,終止阻塞進程中除已終止進程之外的其他進程中的至少一個阻塞進程,可以實現不中斷為客戶端提供服務的情況下,進一步降低CPU的占用率,提高服務器的性能;在成功啟動至少一個進程成功后,終止阻塞進程中的至少一個阻塞進程,可以實現不中斷為客戶端提供服務的情況下,降低CPU占用率,提高服務器的性能。
在一種可能的設計中,終止阻塞進程中的至少一個阻塞進程之后,還包括:啟動至少一個進程。
采用上述方案,在終止阻塞進程中的至少一個阻塞進程之后啟動至少一個進程,可以為客戶端提供服務,實現平滑解決由于進程阻塞帶來的系統卡頓問題,把進程阻塞對客戶端的影響降到很小,提高用戶體驗。
在一種可能的設計中,終止阻塞進程中的部分阻塞進程,具體包括:在阻塞進程中,將用于處理阻塞進程的中央處理器的占用率超過預設閾值的阻塞進程作為部分阻塞進程,并終止該部分阻塞進程。
采用上述方案,可以在終止部分阻塞進程的時候進行篩選,優先終止導致中央處理器的占用率超過預設的閾值的進程,可以更大程度地降低中央處理器的占用率,提高服務器的性能和運行效率。
第二方面,本發明實施例提供一種進程管理裝置,該裝置應用于共享服務器模式下的Oracle服務器,包括:
確定模塊,用于確定服務器中當前已啟動的至少一個進程中存在阻塞進程;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京優朋普樂科技有限公司,未經北京優朋普樂科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610491428.X/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:旋轉式防濺油鍋蓋
- 下一篇:輔助變流器及輔助變流器外接系統





