1.一種存儲(chǔ)服務(wù)器IO棧內(nèi)存數(shù)據(jù)保護(hù)方法,其特征在于,包括以下步驟:
用戶態(tài)下IO進(jìn)程通過(guò)第一磁盤申請(qǐng)內(nèi)存,且同時(shí)讀取當(dāng)前內(nèi)存的使用情況;
創(chuàng)建備份恢復(fù)線程;
創(chuàng)建監(jiān)控設(shè)備異常線程;
通過(guò)監(jiān)控設(shè)備異常線程監(jiān)控IO進(jìn)程,當(dāng)發(fā)生異常時(shí),發(fā)送異常信號(hào)到備份恢復(fù)線程;
備份恢復(fù)線程讀取第一磁盤中的內(nèi)存數(shù)據(jù)并將內(nèi)存數(shù)據(jù)保存到SSD中;
備份恢復(fù)線程讀取SSD中的內(nèi)存數(shù)據(jù)并將內(nèi)存數(shù)據(jù)保存到第二磁盤中。
2.根據(jù)權(quán)利要求1所述的一種存儲(chǔ)服務(wù)器IO棧內(nèi)存數(shù)據(jù)保護(hù)方法,其特征在于,在用戶態(tài)下IO進(jìn)程通過(guò)第一磁盤申請(qǐng)內(nèi)存,且同時(shí)讀取當(dāng)前內(nèi)存的使用情況之前,還包括:通過(guò)內(nèi)核驅(qū)動(dòng)統(tǒng)一分配IO進(jìn)程的內(nèi)存,并將內(nèi)存通過(guò)第一磁盤映射到用戶態(tài)下。
3.根據(jù)權(quán)利要求1所述的一種存儲(chǔ)服務(wù)器IO棧內(nèi)存數(shù)據(jù)保護(hù)方法,其特征在于,在創(chuàng)建備份恢復(fù)線程之前,還包括:?jiǎn)?dòng)DUMP_main進(jìn)程。
4.根據(jù)權(quán)利要求1所述的一種存儲(chǔ)服務(wù)器IO棧內(nèi)存數(shù)據(jù)保護(hù)方法,其特征在于,在備份恢復(fù)線程讀取SSD中的內(nèi)存數(shù)據(jù)并將內(nèi)存數(shù)據(jù)保存到第二磁盤中之前,還包括:重啟程序,并發(fā)送信號(hào)給備份恢復(fù)線程。
5.基于權(quán)利要求1~4所述的一種存儲(chǔ)服務(wù)器IO棧內(nèi)存數(shù)據(jù)保護(hù)方法的一種存儲(chǔ)服務(wù)器IO棧內(nèi)存數(shù)據(jù)保護(hù)裝置,其特征在于,包括:
內(nèi)存申請(qǐng)模塊,用戶態(tài)下IO進(jìn)程通過(guò)第一磁盤申請(qǐng)內(nèi)存,且同時(shí)讀取當(dāng)前內(nèi)存的使用情況;
備份恢復(fù)模塊,用于創(chuàng)建備份恢復(fù)線程;
異常線程模塊,用于創(chuàng)建監(jiān)控設(shè)備異常線程;
監(jiān)控設(shè)備模塊:通過(guò)監(jiān)控設(shè)備異常線程監(jiān)控IO進(jìn)程,當(dāng)發(fā)生異常時(shí),發(fā)送異常信號(hào)到備份恢復(fù)線程;
第一數(shù)據(jù)保存模塊,備份恢復(fù)線程讀取第一磁盤中的內(nèi)存數(shù)據(jù)并將內(nèi)存數(shù)據(jù)保存到SSD中;
第二數(shù)據(jù)保存模塊,備份恢復(fù)線程讀取SSD中的內(nèi)存數(shù)據(jù)并將內(nèi)存數(shù)據(jù)保存到第二磁盤中。
6.根據(jù)權(quán)利要求5所述的一種存儲(chǔ)服務(wù)器IO棧內(nèi)存數(shù)據(jù)保護(hù)裝置,其特征在于,還包括:
內(nèi)存分配模塊:用于通過(guò)內(nèi)核驅(qū)動(dòng)統(tǒng)一分配IO進(jìn)程的內(nèi)存,并將內(nèi)存通過(guò)第一磁盤映射到用戶態(tài)下。
7.根據(jù)權(quán)利要求5所述的一種存儲(chǔ)服務(wù)器IO棧內(nèi)存數(shù)據(jù)保護(hù)裝置,其特征在于,還包括:
啟動(dòng)模塊,用于啟動(dòng)DUMP_main進(jìn)程。
8.根據(jù)權(quán)利要求5所述的一種存儲(chǔ)服務(wù)器IO棧內(nèi)存數(shù)據(jù)保護(hù)裝置,其特征在于,還包括:
重啟模塊,用于重啟程序,并發(fā)送信號(hào)給備份恢復(fù)線程。