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

一種防止短時(shí)間內(nèi)重復(fù)請求api服務(wù)器的方法

文檔序號:7852869閱讀:516來源:國知局
專利名稱:一種防止短時(shí)間內(nèi)重復(fù)請求api服務(wù)器的方法
技術(shù)領(lǐng)域
本發(fā)明屬于信息技術(shù)領(lǐng)域,特別涉及一種防止短時(shí)間內(nèi)重復(fù)請求API服務(wù)器的方
法。
背景技術(shù)
隨著互聯(lián)網(wǎng)技術(shù)的高速發(fā)展,網(wǎng)絡(luò)應(yīng)用也變得越來越豐富多樣,服務(wù)端通過對各種各樣的請求進(jìn)行處理,并將處理結(jié)果返回信息給網(wǎng)絡(luò)終端。如圖I所示,在未做其他保護(hù)處理下,服務(wù)器端在收到消息后,直接進(jìn)行相關(guān)的業(yè)務(wù)處理,并將處理結(jié)果信息返回給客戶端。這種處理流程存在的問題是1、如果前端網(wǎng)頁客戶端未做任何保護(hù)措施,網(wǎng)頁客戶端可能存在惡意刷新頁面造成重復(fù)發(fā)送同樣請求的情況;2、在大規(guī)??蛻舳思旱那闆r下,多用戶同時(shí)發(fā)送請求服務(wù)器端進(jìn)行處理,服務(wù)器端在沒有緩沖機(jī)制的情況下可能造成服務(wù)器端負(fù)載過大,無法及時(shí)處理甚至導(dǎo)致服務(wù)程序崩潰。

發(fā)明內(nèi)容
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種防止短時(shí)間內(nèi)重復(fù)請求API服務(wù)器的方法,該方法通過在服務(wù)器端添加緩沖機(jī)制,過濾短期內(nèi)重復(fù)的請求,拒絕可能會超出系統(tǒng)負(fù)載上限的請求。本發(fā)明解決其技術(shù)問題是采取以下技術(shù)方案實(shí)現(xiàn)的一種防止短時(shí)間內(nèi)重復(fù)請求API服務(wù)器的方法,包括以下步驟步驟I :在系統(tǒng)啟動時(shí),生成用于存儲固定條目的緩存文件;步驟2 :從收到的請求消息中取出發(fā)送者信息、操作類型信息、操作對象信息以及操作相關(guān)參數(shù)信息組裝成消息概要;步驟3 :取出緩存文件中全部條目的消息概要,與當(dāng)前消息概要進(jìn)行對比,如果有完全相同的條目,則不執(zhí)行該請求的相應(yīng)操作,否則執(zhí)行步驟4 ;步驟4:取出緩存文件中時(shí)間戳信息與當(dāng)前消息信息概要相同的條目,如果緩存文件被讀寫鎖保護(hù)或者取出的條目中消息概要不是默認(rèn)消息概要,則不執(zhí)行該請求的相應(yīng)操作,否則執(zhí)行步驟5;步驟5 :將本次操作覆蓋此條目寫入緩存文件,并開始執(zhí)行此次請求的相應(yīng)操作;步驟6 :在所有操作都執(zhí)行完成后,將緩存文件中相關(guān)條目修改為默認(rèn)消息概要。而且,所述步驟I生成緩存文件的方法為系統(tǒng)啟動時(shí),從服務(wù)端程序配置文件中讀取約定的緩存文件的目錄以及文件名,根據(jù)有效時(shí)間戳信息的長度生成全部條目的有效時(shí)間戳信息,根據(jù)請求內(nèi)容約定默認(rèn)消息概要的內(nèi)容,將這些內(nèi)容分別組裝成固定條目,將全部條目覆蓋寫入緩存文件,并且生成與此緩存文件相關(guān)的讀寫鎖。而且,所述的固定條目的格式為時(shí)間信息加上默認(rèn)消息概要。而且,所述步驟2組裝消息概要的方法為當(dāng)有請求消息到達(dá)服務(wù)端時(shí),取出消息的時(shí)間戳信息、發(fā)送者信息、操作類型信息、操作對象信息以及操作相關(guān)參數(shù)信息,從消息的時(shí)間戳信息中截取有效字段組成有效時(shí)間戳信息,將其中的發(fā)送者信息、操作類型信息、操作對象信息以及操作相關(guān)參數(shù)信息組裝成消息概要。而且,所述步驟4在不執(zhí)行請求的相應(yīng)操作的同時(shí),還向客戶端返回操作過于頻繁的提示信息。而且,所述步驟5在不執(zhí)行請求的相應(yīng)操作的同時(shí),還向客戶端返回操作過于頻繁的提示信息。而且,所述步驟6在所有操作都執(zhí)行完成后,將執(zhí)行結(jié)果返回給客戶端。本發(fā)明的優(yōu)點(diǎn)和積極效果是本發(fā)明通過在服務(wù)器端添加緩沖機(jī)制,過濾短期內(nèi)重復(fù)的請求,拒絕可能會超出系統(tǒng)負(fù)載上限的請求,當(dāng)用戶在客戶端進(jìn)行操作時(shí),無論是任何原因?qū)е碌恼埱笾匕l(fā),都會被服務(wù)器端識別出并且拒絕重復(fù)的操作,直至第一次的操作由內(nèi)部全部完成后,才會響應(yīng) 相關(guān)的操作;同時(shí),在大量用戶并發(fā)訪問服務(wù)器端,要求服務(wù)器端進(jìn)行相關(guān)處理時(shí),服務(wù)器可依據(jù)緩存中的相關(guān)信息,獲悉當(dāng)前服務(wù)器相關(guān)的負(fù)載信息,從而決定是否及時(shí)處理當(dāng)前業(yè)務(wù),若不做處理,則將相關(guān)的信息返回給客戶端。本發(fā)明實(shí)現(xiàn)了對服務(wù)器端的處理操作的雙層的保護(hù)功能,初步保證服務(wù)器端的負(fù)載情況良好,并且避免重復(fù)的處理流程造成服務(wù)器資源浪費(fèi)甚至是系統(tǒng)業(yè)務(wù)邏輯紊亂等情況發(fā)生。


圖I是現(xiàn)有的服務(wù)器端接收數(shù)據(jù)時(shí)的處理流程圖;圖2是本發(fā)明的服務(wù)器端接收數(shù)據(jù)時(shí)的處理流程圖。
具體實(shí)施例方式以下結(jié)合附圖對本發(fā)明實(shí)施例做進(jìn)一步詳述一種防止短時(shí)間內(nèi)重復(fù)請求API服務(wù)器的方法,是在服務(wù)器端添加緩沖機(jī)制,過濾短期內(nèi)重復(fù)的請求,即在服務(wù)器端程序處理時(shí),加入緩沖區(qū)保存當(dāng)前處理的任務(wù),在緩沖區(qū)讀寫異常時(shí),及時(shí)返回系統(tǒng)繁忙的錯(cuò)誤信息給客戶端,服務(wù)器端將每次接收到的請求與當(dāng)前緩沖區(qū)中的任務(wù)進(jìn)行對比,拒絕重復(fù)的操作,這樣能夠?qū)Ψ?wù)器端的處理操作進(jìn)行雙層保護(hù),初步保證服務(wù)器端的負(fù)載情況良好,并且避免重復(fù)的處理流程造成服務(wù)器資源浪費(fèi)甚至是系統(tǒng)業(yè)務(wù)邏輯紊亂等情況發(fā)生。本發(fā)明引入了一個(gè)有效時(shí)間戳信息的概念假設(shè)服務(wù)器端接收的消息在正常情況下十秒內(nèi)均可以處理完成,并且在一百毫秒內(nèi),服務(wù)器的負(fù)載能力只允許一條請求的操作內(nèi)容,則對于系統(tǒng)來講,每次請求的時(shí)間戳信息中,生效的內(nèi)容即為從標(biāo)準(zhǔn)基準(zhǔn)時(shí)間經(jīng)歷的毫秒數(shù)的倒數(shù)第三位至倒數(shù)第四位的內(nèi)容,我們將此生效內(nèi)容命名為有效時(shí)間戳信息。如圖2所示,一種防止短時(shí)間內(nèi)重復(fù)請求API服務(wù)器的方法包括以下步驟步驟I :在系統(tǒng)啟動時(shí),在指定目錄下生成指定文件名的緩存文件,該緩存文件用于存儲固定條目的緩存信息,每個(gè)條目的格式為時(shí)間信息加上默認(rèn)消息概要。在本步驟中,在系統(tǒng)啟動時(shí),從服務(wù)端程序配置文件中讀取約定的緩存文件的目錄以及文件名,根據(jù)有效時(shí)間戳信息的長度生成全部條目的有效時(shí)間戳信息,根據(jù)系統(tǒng)可能的請求內(nèi)容約定默認(rèn)消息概要的內(nèi)容,將這些內(nèi)容分別組裝成固定條目(按照上述內(nèi)容即為從OO到99的100條固定條目),以約定的不與請求內(nèi)容沖突的符號分隔開,將全部條目覆蓋寫入緩存文件,并且生成與此緩存文件相關(guān)的讀寫鎖,只有所有對此緩存文件的讀寫操作必須持有此鎖才可以進(jìn)行。步驟2 :從收到的請求消息中取出發(fā)送者信息、操作類型信息、操作對象信息以及操作相關(guān)參數(shù)信息組裝成消息概要。在本步驟中,當(dāng)有請求消息到達(dá)服務(wù)端時(shí),根據(jù)消息相關(guān)的格式(如果不滿足約定的格式,則返回相關(guān)錯(cuò)誤信息)取出消息的時(shí)間戳信息、發(fā)送者信息、操作類型信息、操作對象信息以及操作相關(guān)參數(shù)信息,將消息的時(shí)間戳截取有效字段組成有效時(shí)間戳信息(在上述約定中為從標(biāo)準(zhǔn)基準(zhǔn)時(shí)間經(jīng)歷的毫秒數(shù)的倒數(shù)第三位至倒數(shù)第四位),將其中的發(fā)送者信息、操作類型信息、操作對象信息以及操作相關(guān)參數(shù)信息組裝成消息概要。步驟3 :取出緩存文件中全部條目的消息概要,與當(dāng)前消息概要進(jìn)行對比,如果有完全相同的條目則不執(zhí)行該請求的相應(yīng)操作并向客戶端返回操作過于頻繁的提示信息,否則執(zhí)行步驟4。在本步驟中,取出緩存文件中全部條目的消息概要(在上述約定中即為100條),將當(dāng)前請求的消息概要與上述條目中的消息概要進(jìn)行逐個(gè)對比,若有完全相同的消息概要,則表明在約定的時(shí)間內(nèi),有完全相同的操作正在被執(zhí)行,并且是由同一用戶發(fā)出的請求,因此可以判定,此用戶在系統(tǒng)執(zhí)行完成之前即發(fā)送了重復(fù)的請求,服務(wù)器端拒絕此重復(fù)操作,并返回錯(cuò)誤信息提示用戶重復(fù)操作。步驟4:取出緩存文件中時(shí)間戳信息與當(dāng)前消息信息概要相同的條目,如果緩存文件被讀寫鎖保護(hù)或者取出的條目中消息概要不是默認(rèn)消息概要,則不執(zhí)行該請求的相應(yīng)操作并向客戶端返回操作過于頻繁的提示信息,否則執(zhí)行步驟5。在本步驟中,如果對比全部條目的消息概要,沒有發(fā)現(xiàn)完全相同的條目,則表示在約定的時(shí)間內(nèi),并沒有相同的操作正在被執(zhí)行,此次請求的操作在系統(tǒng)負(fù)載允許的情況下可以被執(zhí)行。因此,取出此次操作的有效時(shí)間戳信息,在緩存文件全部條目中,檢索與此有效時(shí)間戳信息相同的條目,取出這個(gè)條目的消息概要,如果,這個(gè)消息概要不為默認(rèn)消息概要,則表明在約定的服務(wù)器負(fù)載能力下(在上述約定中即為每百毫秒執(zhí)行一次操作),服務(wù)器正在執(zhí)行其他操作,本次請求的操作超出了服務(wù)器負(fù)載能力,服務(wù)器端拒絕此次操作,并返回錯(cuò)誤信息提示用戶服務(wù)器繁忙。步驟5 :將本次操作覆蓋此條目寫入緩存文件,并開始執(zhí)行此次請求的相應(yīng)操作。在本步驟中,如果步驟4中取出的條目的消息概要為默認(rèn)消息概要,則表明此次請求操作在服務(wù)器允許的負(fù)載能力范圍內(nèi),因此,此次請求操作可以被執(zhí)行,在操作執(zhí)行之前,將本次操作的消息概要覆蓋步驟4中取出條目的消息概要,表明在這個(gè)時(shí)間下,此操作正在被執(zhí)行。步驟6:在所有操作都執(zhí)行完成后,將執(zhí)行結(jié)果返回給客戶端,并將緩存文件中相關(guān)條目修改為默認(rèn)消息概要。本步驟是在整個(gè)請求操作執(zhí)行全部結(jié)束并且將執(zhí)行結(jié)果返回給客戶端之后,將步驟4中取出條目的消息概要重新覆蓋寫為默認(rèn)消息概要,表明在這個(gè)時(shí)間下,沒有操作正在被執(zhí)行。 通過上述步驟即可實(shí)現(xiàn)防止短時(shí)間內(nèi)重復(fù)請求API服務(wù)器的方法。
需要強(qiáng)調(diào)的是,本發(fā)明所述的實(shí)施例是說明性的,而不是限定性的,因此本發(fā)明并不限于具體實(shí)施方式
中所述的實(shí)施例, 凡是由本領(lǐng)域技術(shù)人員根據(jù)本發(fā)明的技術(shù)方案得出的其他實(shí)施方式,同樣屬于本發(fā)明保護(hù)的范圍。
權(quán)利要求
1.一種防止短時(shí)間內(nèi)重復(fù)請求API服務(wù)器的方法,其特征在于包括以下步驟 步驟I :在系統(tǒng)啟動時(shí),生成用于存儲固定條目的緩存文件; 步驟2 :從收到的請求消息中取出發(fā)送者信息、操作類型信息、操作對象信息以及操作相關(guān)參數(shù)信息組裝成消息概要; 步驟3 :取出緩存文件中全部條目的消息概要,與當(dāng)前消息概要進(jìn)行對比,如果有完全相同的條目,則不執(zhí)行該請求的相應(yīng)操作,否則執(zhí)行步驟4 ; 步驟4:取出緩存文件中時(shí)間戳信息與當(dāng)前消息信息概要相同的條目,如果緩存文件被讀寫鎖保護(hù)或者取出的條目中消息概要不是默認(rèn)消息概要,則不執(zhí)行該請求的相應(yīng)操作,否則執(zhí)行步驟5; 步驟5 :將本次操作覆蓋此條目寫入緩存文件,并開始執(zhí)行此次請求的相應(yīng)操作; 步驟6 :在所有操作都執(zhí)行完成后,將緩存文件中相關(guān)條目修改為默認(rèn)消息概要。
2.根據(jù)權(quán)利要求I所述的一種防止短時(shí)間內(nèi)重復(fù)請求API服務(wù)器的方法,其特征在于所述步驟I生成緩存文件的方法為系統(tǒng)啟動時(shí),從服務(wù)端程序配置文件中讀取約定的緩存文件的目錄以及文件名,根據(jù)有效時(shí)間戳信息的長度生成全部條目的有效時(shí)間戳信息,根據(jù)請求內(nèi)容約定默認(rèn)消息概要的內(nèi)容,將這些內(nèi)容分別組裝成固定條目,將全部條目覆蓋寫入緩存文件,并且生成與此緩存文件相關(guān)的讀寫鎖。
3.根據(jù)權(quán)利要求I或2所述的一種防止短時(shí)間內(nèi)重復(fù)請求API服務(wù)器的方法,其特征在于所述的固定條目的格式為時(shí)間信息加上默認(rèn)消息概要。
4.根據(jù)權(quán)利要求I所述的一種防止短時(shí)間內(nèi)重復(fù)請求API服務(wù)器的方法,其特征在于所述步驟2組裝消息概要的方法為當(dāng)有請求消息到達(dá)服務(wù)端時(shí),取出消息的時(shí)間戳信息、發(fā)送者信息、操作類型信息、操作對象信息以及操作相關(guān)參數(shù)信息,從消息的時(shí)間戳信息中截取有效字段組成有效時(shí)間戳信息,將其中的發(fā)送者信息、操作類型信息、操作對象信息以及操作相關(guān)參數(shù)信息組裝成消息概要。
5.根據(jù)權(quán)利要求I所述的一種防止短時(shí)間內(nèi)重復(fù)請求API服務(wù)器的方法,其特征在于所述步驟4在不執(zhí)行請求的相應(yīng)操作的同時(shí),還向客戶端返回操作過于頻繁的提示信息。
6.根據(jù)權(quán)利要求I所述的一種防止短時(shí)間內(nèi)重復(fù)請求API服務(wù)器的方法,其特征在于所述步驟5在不執(zhí)行請求的相應(yīng)操作的同時(shí),還向客戶端返回操作過于頻繁的提示信息。
7.根據(jù)權(quán)利要求I所述的一種防止短時(shí)間內(nèi)重復(fù)請求API服務(wù)器的方法,其特征在于所述步驟6在所有操作都執(zhí)行完成后,將執(zhí)行結(jié)果返回給客戶端。
全文摘要
本發(fā)明涉及一種防止短時(shí)間內(nèi)重復(fù)請求API服務(wù)器的方法,包括以下步驟1、生成緩存文件;2、組裝消息概要;3、取出緩存文件中全部條目的消息概要,與當(dāng)前消息概要進(jìn)行對比,如果有完全相同的條目,則不執(zhí)行該請求的相應(yīng)操作;4、取出緩存文件中時(shí)間戳信息與當(dāng)前消息信息概要相同的條目,如果緩存文件被讀寫鎖保護(hù)或者取出的條目中消息概要不是默認(rèn)消息概要,則不執(zhí)行該請求的相應(yīng)操作;5、將本次操作覆蓋此條目寫入緩存文件,并執(zhí)行此次請求的相應(yīng)操作;6、將緩存文件中相關(guān)條目修改為默認(rèn)消息概要。本發(fā)明實(shí)現(xiàn)了對服務(wù)器端的處理操作的雙層的保護(hù)功能,避免重復(fù)的處理流程造成服務(wù)器資源浪費(fèi)甚至是系統(tǒng)業(yè)務(wù)邏輯紊亂等情況發(fā)生。
文檔編號H04L29/08GK102710776SQ20121018219
公開日2012年10月3日 申請日期2012年6月5日 優(yōu)先權(quán)日2012年6月5日
發(fā)明者俞志堅(jiān), 劉曉軍, 朱澤, 朱譽(yù), 范鵬 申請人:天津兆民云計(jì)算科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
江源县| 顺昌县| 五大连池市| 辽阳县| 全椒县| 弥渡县| 阳东县| 托克逊县| 自治县| 天柱县| 平湖市| 屯留县| 泾阳县| 江孜县| 温泉县| 搜索| 哈巴河县| 浦东新区| 萝北县| 嘉定区| 建水县| 凌云县| 浮山县| 资源县| 肃北| 调兵山市| 平安县| 土默特左旗| 全南县| 呈贡县| 凌源市| 耿马| 曲阜市| 盐山县| 九龙县| 苏尼特左旗| 霍林郭勒市| 宜黄县| 贺州市| 巢湖市| 甘谷县|