[發明專利]一種防止系統崩潰的方法及裝置在審
| 申請號: | 201610118932.5 | 申請日: | 2016-03-02 |
| 公開(公告)號: | CN107153648A | 公開(公告)日: | 2017-09-12 |
| 發明(設計)人: | 傅玉寶 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京國昊天誠知識產權代理有限公司11315 | 代理人: | 黃熊 |
| 地址: | 英屬開曼群島大開*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 防止 系統 崩潰 方法 裝置 | ||
技術領域
本申請涉及計算機技術領域,尤其涉及一種防止系統崩潰的方法及裝置。
背景技術
隨著計算機技術的發展,計算機應用以及由計算機應用(簡稱應用)組成的計算機系統(簡稱系統)越來越豐富,也越來越復雜,系統可以由多個應用相互協作而組成,也可以就是一個具有獨立功能的應用,但不管系統(以及包含的應用)如何作業,數據庫對于整個系統都起到了非常重要的作用。數據庫大致可以分為兩種,關系型數據庫和非關系型數據庫。關系型數據庫是將數據間的關系以數據庫表的形式加以表達,并將數據存儲在表格中,以便查詢,比如,MySQL是一種關聯數據庫管理系統,關聯數據庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內;相對地,NoSQL泛指非關系型數據庫,非關系型數據庫較多,比如面向高性能并發讀寫的key-value鍵值對數據庫(一般使用內存來實現)、面向海量數據訪問的面向文檔數據庫等。
關系型數據庫的優勢在于可以在一個表以及多個表之間做非常復雜的數據查詢、實現安全性能很高的數據訪問要求;而非關系型數據庫,尤其是基于鍵值對的數據庫的優勢在于因為具有對應關系,不需要保證ACID(數據庫事務正確執行的四個基本要素),,一般又是通過內存實現而不需要訪問磁盤,所以性能很高。對于這兩種數據庫,對方的優勢就是自己的弱勢,所以,在實際應用中,可以將計算機應用要用的數據從關系型數據庫(Database,DB,指類似MySQL的關系型數據庫)導入到內存中以鍵值對的形式存儲,這樣,就可以快速的讀取,也不用每次都去DB中查詢。
現有技術在系統查找數據時,所有的查詢線程先向NoSQL(可以是分布式 的高速緩存系統,如memcache)發送查找請求,以便獲取所需數據,如果memcache中存在,則直接返回結果;但是,memcache是通過內存來實現數據存儲,如果由于各種原因出現memcache不可用的情況(內存中沒有存儲所需數據,或者由于計算機重啟導致內存中的數據丟失),此時所有的查詢線程都會通過DB來查詢所需數據,這就會使得DB的負載過高,由于上一段已經介紹,DB的性能不如memcache好,所以就會導致查詢速度變慢,但是所有的查詢線程還是會不斷地向DB發送查詢請求,就出現了DB負載高,查詢速度慢,請求多的情況,就有很大可能由DB崩潰直接導致系統崩潰。所以,現有技術因NoSQL不可用,使得MySQL負載過高,從而增加系統崩潰的幾率,影響計算機系統的可用性。
發明內容
本申請實施例提供一種防止系統崩潰的方法,用于在非關系型數據庫不可用時,降低查詢線程通過關系型數據庫查詢所需數據導致系統崩潰的幾率,從而提高計算機系統的可用性。
本申請實施例提供一種防止系統崩潰的裝置,用于在非關系型數據庫不可用時,降低查詢線程通過關系型數據庫查詢所需數據導致系統崩潰的幾率,從而提高計算機系統的可用性。
本申請實施例采用下述技術方案:
一種防止系統崩潰的方法,包括:
當查詢線程確定從非關系型數據庫中查詢所需數據失敗后,向指定的關系型數據庫查詢所述所需數據;
查詢線程獲取為所述關系型數據庫預先配置的信號量;
當查詢線程未獲取到信號量時,則不向所述關系型數據庫發送所需數據的查詢請求,以便降低所述關系型數據庫由于負載過高導致系統崩潰的幾率。
優選地,所述方法還包括:
當查詢線程獲取到信號量時,查詢線程向所述關系型數據庫發送所需數據的查詢請求,當查詢線程查詢完畢時,釋放獲取到的信號量。
優選地,當所述信號量的初始值為預先設置的非負整數,所述非負整數表示允許同時對所述關系型數據庫發送查詢請求的最大查詢線程數,則查詢線程獲取為所述關系型數據庫預先配置的信號量,包括:
查詢線程獲取為所述關系型數據庫預先配置的信號量,當查詢線程獲取到信號量時,信號量的值減少1。
優選地,當查詢線程確定從非關系型數據庫中查詢所需數據失敗后,向指定的關系型數據庫查詢所述所需數據,包括:
當查詢線程未從非關系型數據庫中查詢到所需數據時,向指定的關系型數據庫查詢所述所需數據。
優選地,當查詢線程確定從非關系型數據庫中查詢所需數據失敗后,向指定的關系型數據庫查詢所述所需數據,包括:
當查詢線程接收到非關系型數據庫的拒絕訪問通知后,直接向指定的關系型數據庫查詢所述所需數據。
一種防止系統崩潰的裝置,包括:確定單元、獲取單元、判斷單元以及決策單元,其中,
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610118932.5/2.html,轉載請聲明來源鉆瓜專利網。





