欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

防御SpringMVC網(wǎng)站崩潰的方法及系統(tǒng)與流程

文檔序號:11864518閱讀:1029來源:國知局
防御Spring MVC網(wǎng)站崩潰的方法及系統(tǒng)與流程

本發(fā)明涉及服務(wù)器技術(shù)領(lǐng)域,尤其是涉及一種防御Spring MVC網(wǎng)站崩潰的方法及系統(tǒng)。



背景技術(shù):

Spring MVC屬于SpringFrameWork的后續(xù)產(chǎn)品,已經(jīng)融合在Spring Web Flow里面。Spring框架提供了構(gòu)建Web應(yīng)用程序的全功能MVC模塊。使用Spring可插入的MVC架構(gòu),從而在使用Spring進(jìn)行WEB開發(fā)時,可以選擇使用Spring的SpringMVC框架或集成其他MVC開發(fā)框架,如Struts1,Struts2等。目前使用Spring MVC開發(fā)的網(wǎng)站,有可能會由于一些程序編寫不夠嚴(yán)謹(jǐn),導(dǎo)致網(wǎng)站崩潰,并且崩潰后目前只能設(shè)置自動重啟,但是過多的崩潰就會導(dǎo)致網(wǎng)站頻繁重啟,也會使得網(wǎng)站幾乎無法使用。

中國專利申請(CN201210443887.2)公開了一種使瀏覽器崩潰的網(wǎng)址的處理方法、裝置及系統(tǒng)。但該專利適用于移動端瀏覽器領(lǐng)域,是只能防止客戶端瀏覽器崩潰,卻無法從原進(jìn)程上(即服務(wù)端)防御崩潰。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明所要解決的技術(shù)問題是:提供防御網(wǎng)站崩潰的方案,可從原進(jìn)程防御網(wǎng)站崩潰,防止加載崩潰進(jìn)程,從而提高穩(wěn)定性。

為了解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案為:提供一種防御網(wǎng)站崩潰的方法,包括:

對每個發(fā)送到服務(wù)端的請求通過Spring MVC的中定制攔截器生成唯一標(biāo)識;

當(dāng)請求的事件結(jié)束時,根據(jù)唯一標(biāo)志將該請求標(biāo)記為結(jié)束;

網(wǎng)站崩潰時,獲取網(wǎng)站崩潰時間點(diǎn)前最后一個未被標(biāo)記為結(jié)束的請求,并標(biāo)記為疑似崩潰請求;

網(wǎng)站再次崩潰時,獲取兩次崩潰之間的最后一個未被標(biāo)記為結(jié)束的請求,并與疑似崩潰請求進(jìn)行比對;

若比對一致,則確認(rèn)疑似崩潰請求為導(dǎo)致崩潰的請求;

若再次收到上述導(dǎo)致崩潰的請求,則不執(zhí)行該請求。

為解決上述問題,本發(fā)明還提供一種防御網(wǎng)站崩潰的系統(tǒng),包括:

發(fā)送生成模塊,用于對每個發(fā)送到服務(wù)端的請求通過Spring MVC的中定制攔截器生成唯一標(biāo)識;

結(jié)束確認(rèn)模塊,用于當(dāng)請求的事件結(jié)束時,根據(jù)唯一標(biāo)志將該請求標(biāo)記為結(jié)束;

疑似崩潰模塊,用于獲取網(wǎng)站崩潰時間點(diǎn)前最后一個未被標(biāo)記為結(jié)束的請求,并標(biāo)記為疑似崩潰請求;

第一比對模塊,用于對疑似崩潰請求進(jìn)行比對;

崩潰確認(rèn)模塊,用于若比對一致,則確認(rèn)疑似崩潰請求為導(dǎo)致崩潰的請求;

請求防御模塊,用于若再次收到上述導(dǎo)致崩潰的請求,則不執(zhí)行該請求。

本發(fā)明的有益效果在于:區(qū)別于現(xiàn)有技術(shù),本發(fā)明獲取網(wǎng)站崩潰前最后一個時點(diǎn)為結(jié)束的請求,作為疑似崩潰請求,并比對,確認(rèn)一致后,作為導(dǎo)致崩潰的請求,并作為后續(xù)的請求的參考,以進(jìn)行判斷是否執(zhí)行后續(xù)請求。通過上述方式,本發(fā)明可以提高網(wǎng)站穩(wěn)定性,減少由于程序?qū)е卤罎⒌拇a導(dǎo)致網(wǎng)站連續(xù)崩潰無法使用的情況。

附圖說明

圖1為本發(fā)明方法實(shí)施例一的流程示意圖;

圖2為本發(fā)明系統(tǒng)實(shí)施例二的結(jié)構(gòu)框圖。

具體實(shí)施方式

為詳細(xì)說明本發(fā)明的技術(shù)內(nèi)容、所實(shí)現(xiàn)目的及效果,以下結(jié)合實(shí)施方式并配合附圖予以說明。

本發(fā)明最關(guān)鍵的構(gòu)思在于:獲取網(wǎng)站崩潰前最后一個時點(diǎn)為結(jié)束的請求,作為疑似崩潰請求,并比對,確認(rèn)一致后,作為導(dǎo)致崩潰的請求,并作為后續(xù)的請求的參考,以進(jìn)行判斷是否執(zhí)行后續(xù)請求。

請參照圖1,本發(fā)明實(shí)施例一提供一種防御網(wǎng)站崩潰的方法,包括:

對每個發(fā)送到服務(wù)端的請求通過Spring MVC的中定制攔截器生成唯一標(biāo)識;

當(dāng)請求的事件結(jié)束時,根據(jù)唯一標(biāo)志將該請求標(biāo)記為結(jié)束;

網(wǎng)站崩潰時,獲取網(wǎng)站崩潰時間點(diǎn)前最后一個未被標(biāo)記為結(jié)束的請求,并標(biāo)記為疑似崩潰請求;

網(wǎng)站再次崩潰時,獲取兩次崩潰之間的最后一個未被標(biāo)記為結(jié)束的請求,并與疑似崩潰請求進(jìn)行比對;

若比對一致,則確認(rèn)疑似崩潰請求為導(dǎo)致崩潰的請求;

若再次收到上述導(dǎo)致崩潰的請求,則不執(zhí)行該請求。

區(qū)別于現(xiàn)有技術(shù),本發(fā)明在發(fā)送到服務(wù)端的每一個請求都通過Spring MVC的中定制攔截器生成唯一標(biāo)識,并獲取網(wǎng)站崩潰前最后一個時點(diǎn)為結(jié)束的請求,作為疑似崩潰請求,并比對,確認(rèn)一致后,作為導(dǎo)致崩潰的請求,并作為后續(xù)的請求的參考,以進(jìn)行判斷是否執(zhí)行后續(xù)請求。通過上述方式,本發(fā)明可以提高網(wǎng)站穩(wěn)定性,減少由于程序?qū)е卤罎⒌拇a導(dǎo)致網(wǎng)站連續(xù)崩潰無法使用的情況。

其中,本發(fā)明所述請求的事件結(jié)束包括正常結(jié)束和異常結(jié)束。應(yīng)當(dāng)說明的是,異常結(jié)束并非導(dǎo)致網(wǎng)站崩潰的請求,兩者是不同的概念,如果網(wǎng)站崩潰就不會執(zhí)行到異常結(jié)束的代碼。

具體地,發(fā)送請求到服務(wù)端時,通過Spring MVC的中定制攔截器在請求事件開始時,對請求內(nèi)容進(jìn)行記錄,并生成唯一標(biāo)識,以標(biāo)記當(dāng)前請求。

網(wǎng)站崩潰時,自動重啟網(wǎng)站,并查詢所述未被標(biāo)記為結(jié)束的請求,并標(biāo)記為疑似崩潰請求;

網(wǎng)站再次崩潰時,獲得另一個疑似崩潰請求;

比對上述兩個疑似崩潰請求,判斷是否一致;

若不一致,則記錄上述所有疑似崩潰請求,并返回步驟“網(wǎng)站再次崩潰時,獲得另一個疑似崩潰請求”。

“若再次收到上述導(dǎo)致崩潰的請求,則不執(zhí)行該請求”具體為:

將所有后續(xù)請求與所述導(dǎo)致崩潰的請求進(jìn)行比對,判斷是否一致;

若是,則不執(zhí)行該后續(xù)請求;

反之,則執(zhí)行該后續(xù)請求;

若執(zhí)行該后續(xù)請求時,網(wǎng)站崩潰,則將該后續(xù)請求作為疑似崩潰請求,并與其他疑似崩潰請求進(jìn)行比對。

對應(yīng)地,如圖2所示,本發(fā)明實(shí)施例二還提供一種防御Spring MVC網(wǎng)站崩潰的系統(tǒng)100,包括:

發(fā)送生成模塊110,用于對每個發(fā)送到服務(wù)端的請求通過Spring MVC的中定制攔截器生成唯一標(biāo)識;

結(jié)束確認(rèn)模塊120,用于當(dāng)請求的事件結(jié)束時,根據(jù)唯一標(biāo)志將該請求標(biāo)記為結(jié)束;

疑似崩潰模塊130,用于獲取網(wǎng)站崩潰時間點(diǎn)前最后一個未被標(biāo)記為結(jié)束的請求,并標(biāo)記為疑似崩潰請求;

第一比對模塊140,用于對疑似崩潰請求進(jìn)行比對;

崩潰確認(rèn)模塊150,用于若比對一致,則確認(rèn)疑似崩潰請求為導(dǎo)致崩潰的請求;

請求防御模塊160,用于若再次收到上述導(dǎo)致崩潰的請求,則不執(zhí)行該請求。

其中,所述請求的事件結(jié)束包括正常結(jié)束和異常結(jié)束。

所述發(fā)送生成模塊具體用于:發(fā)送請求到服務(wù)端時,通過Spring MVC的中定制攔截器在請求事件開始時,對請求內(nèi)容進(jìn)行記錄,并生成唯一標(biāo)識,以標(biāo)記當(dāng)前請求。

所述疑似崩潰模塊具體用于:在網(wǎng)站崩潰時,自動重啟網(wǎng)站,并查詢所述未被標(biāo)記為結(jié)束的請求,并標(biāo)記為疑似崩潰請求。

所述崩潰確認(rèn)模塊還用于:

比對疑似崩潰請求,判斷是否一致;

若不一致,則記錄所有疑似崩潰請求,并返回步驟“網(wǎng)站再次崩潰時,獲得另一個疑似崩潰請求”。

舉個例子,在每一個請求發(fā)送到服務(wù)端時,通過Spring MVC的中定制攔截器的開始請求事件,對請求內(nèi)容進(jìn)行記錄,并生成唯一標(biāo)識標(biāo)記當(dāng)前請求;

在請求正常結(jié)束和異常結(jié)束事件,根據(jù)所生成的唯一標(biāo)識找到對應(yīng)的請求,將其標(biāo)記為結(jié)束;

當(dāng)網(wǎng)站崩潰時,自動重啟網(wǎng)站,查詢網(wǎng)站崩潰時間點(diǎn)前最后一個未標(biāo)記結(jié)束的請求,并標(biāo)記為疑似崩潰請求;

等網(wǎng)站出現(xiàn)第二次崩潰后,將第一次崩潰后到第二次崩潰前最后一個的未標(biāo)記結(jié)束的請求與前一次進(jìn)行比較,如果完全一致,則將此請求標(biāo)記為會導(dǎo)致崩潰的請求;若不一致,則暫不作處理,記錄上述兩個疑似崩潰請求;

若網(wǎng)站出現(xiàn)第三次崩潰,則對應(yīng)的獲得第三個疑似崩潰請求,將其與前述兩個疑似崩潰請求一一比對,直到比對一致,確認(rèn)有兩個相同的請求為導(dǎo)致崩潰的請求為止,否則,繼續(xù)獲得后續(xù)的疑似崩潰請求,并與之前記錄的所有疑似崩潰請求進(jìn)行一一比對;

在確認(rèn)導(dǎo)致崩潰的請求后,之后的所有請求都與被標(biāo)記為會導(dǎo)致崩潰的請求比較,如果一致,則暫不執(zhí)行這個請求,即被標(biāo)記為會導(dǎo)致崩潰的請求,以防止崩潰,否則,執(zhí)行該請求,并判斷是否出現(xiàn)崩潰;若再次崩潰,則將這個請求作為疑似崩潰請求,并與之前的疑似崩潰請求比對,返回上述步驟,直到獲得下一個導(dǎo)致崩潰的請求。

在后續(xù)的所有請求都需要與所有導(dǎo)致崩潰的請求進(jìn)行比對,步驟同上,此處不再贅述。

以上所述僅為本發(fā)明的實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等同變換,或直接或間接運(yùn)用在相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
广宗县| 永康市| 波密县| 建湖县| 汨罗市| 温宿县| 莆田市| 蓬溪县| 延寿县| 鸡东县| 东平县| 泰兴市| 和平区| 毕节市| 从江县| 南部县| 宽甸| 广西| 星子县| 山东省| 威远县| 镇雄县| 上虞市| 莒南县| 嵩明县| 普兰县| 正阳县| 肇庆市| 平江县| 阳城县| 昌宁县| 平湖市| 莱州市| 永顺县| 东方市| 乡城县| 三穗县| 上饶市| 永定县| 扎赉特旗| 武陟县|