本發(fā)明實(shí)施例涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,尤其涉及一種測試方法及裝置。
背景技術(shù):
tcpcopy是一種請求復(fù)制工具,可以將線上流量拷貝至待測服務(wù)器,通過模擬線上環(huán)境實(shí)現(xiàn)待測服務(wù)器未上線時(shí)實(shí)時(shí)承擔(dān)線上流量的效果,以實(shí)現(xiàn)對待測服務(wù)器的線上測試。
在測試過程中,待測服務(wù)器會(huì)根據(jù)線上流量執(zhí)行相應(yīng)的業(yè)務(wù)邏輯處理,會(huì)涉及數(shù)據(jù)處理操作,為了實(shí)現(xiàn)線上測試,現(xiàn)有技術(shù)中,待測服務(wù)器通常直接利用線上數(shù)據(jù)庫中進(jìn)行訪問,但是這種方式會(huì)導(dǎo)致線上數(shù)據(jù)庫引入重復(fù)數(shù)據(jù),影響線上業(yè)務(wù)處理。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種測試方法及裝置,用以解決現(xiàn)有技術(shù)中線上測試導(dǎo)致影響線上業(yè)務(wù)處理的技術(shù)問題。
第一方面,本發(fā)明實(shí)施例中提供了一種測試方法,包括:
獲取拷貝得到的線上流量;
確定所述線上流量的訪問類型;
如果所述線上流量為讀流量,利用所述讀流量測試待測服務(wù)器;
如果所述線上流量為寫流量,丟棄所述寫流量。
可選地,所述確定所述線上流量的訪問類型包括:
判斷所述線上流量對應(yīng)的訪問接口是否為允許放行接口;
如果是,確定所述線上流量為讀流量;
如果否,確定所述線上流量為寫流量。
可選地,所述丟棄所述寫流量之后,所述方法還包括:
跳轉(zhuǎn)至提示頁面。
可選地,所述確定所述線上流量的訪問類型之后,所述方法還包括:
根據(jù)所述線上流量的業(yè)務(wù)類型,確定對應(yīng)的所述待測服務(wù)器。
可選地,所述如果所述線上流量為讀流量,利用所述讀流量測試待測服務(wù)器包括:
如果所述線上流量為讀流量,轉(zhuǎn)發(fā)所述讀流量至所述待測服務(wù)器,以供所述待測服務(wù)器根據(jù)所述讀流量訪問線上數(shù)據(jù)庫。
第二方面,本發(fā)明實(shí)施例提供了一種測試裝置,包括:
獲取模塊,用于獲取拷貝得到的線上流量;
類型確定模塊,用于確定所述線上流量的訪問類型;
第一處理模塊,用于如果所述線上流量為讀流量,利用所述讀流量測試待測服務(wù)器;
第二處理模塊,用于如果所述線上流量為寫流量,丟棄所述寫流量。
可選地,所述類型確定模塊包括:
判斷單元,用于判斷所述線上流量對應(yīng)的訪問接口是否為允許放行接口;
第一確定單元,用于所述判斷單元結(jié)果為是時(shí),確定所述線上流量為讀流量;
第二確定單元,用于所述判斷單元結(jié)果為否時(shí),確定所述線上流量為寫流量。
可選地,還包括:
跳轉(zhuǎn)模塊,用于跳轉(zhuǎn)至提示頁面。
可選地,還包括:
業(yè)務(wù)確定模塊,用于根據(jù)所述線上流量的業(yè)務(wù)類型,確定對應(yīng)的所述待測服務(wù)器。
可選地,所述第一處理模塊具體用于如果所述線上流量為讀流量,轉(zhuǎn)發(fā)所述讀流量至所述待測服務(wù)器,以供所述待測服務(wù)器根據(jù)所述讀流量訪問線上數(shù)據(jù)庫。
本發(fā)明實(shí)施例中,首先對于拷貝獲得的線上流量進(jìn)行訪問類型的判斷,如果為讀流量即用于測試待測服務(wù)器,而如果為寫流量,則直接丟棄,從而即可以避免待測服務(wù)器的寫庫操作,不會(huì)向線上數(shù)據(jù)庫引入重復(fù)數(shù)據(jù),從而避免了對線上業(yè)務(wù)處理的影響。
本發(fā)明的這些方面或其他方面在以下實(shí)施例的描述中會(huì)更加簡明易懂。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1示出了本發(fā)明實(shí)施例一種測試方法一個(gè)實(shí)施例的流程圖;
圖2示出了本發(fā)明實(shí)施例一種測試方法又一個(gè)實(shí)施例流程圖;
圖3示出了本發(fā)明實(shí)施例一種測試裝置一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;
圖4示出了本發(fā)明實(shí)施例一種測試裝置又一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;
圖5示出了本發(fā)明實(shí)施例一種電子設(shè)備一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述。
在本發(fā)明的說明書和權(quán)利要求書及上述附圖中的描述的一些流程中,包含了按照特定順序出現(xiàn)的多個(gè)操作,但是應(yīng)該清楚了解,這些操作可以不按照其在本文中出現(xiàn)的順序來執(zhí)行或并行執(zhí)行,操作的序號(hào)如101、102等,僅僅是用于區(qū)分開各個(gè)不同的操作,序號(hào)本身不代表任何的執(zhí)行順序。另外,這些流程可以包括更多或更少的操作,并且這些操作可以按順序執(zhí)行或并行執(zhí)行。需要說明的是,本文中的“第一”、“第二”等描述,是用于區(qū)分不同的消息、設(shè)備、模塊等,不代表先后順序,也不限定“第一”和“第二”是不同的類型。
本發(fā)明實(shí)施例的技術(shù)方案主要應(yīng)用于利用線上流量對待測服務(wù)器進(jìn)行線上測試的應(yīng)用場景。線上流量通常采用tcpcopy技術(shù)拷貝獲得。
由于待測服務(wù)器進(jìn)行線上測試時(shí),會(huì)涉及數(shù)據(jù)處理操作,現(xiàn)有技術(shù)的一種方式可以為待測服務(wù)器設(shè)置一個(gè)測試數(shù)據(jù)庫,由測試人員根據(jù)線上數(shù)據(jù)庫,向測試數(shù)據(jù)庫中灌入與線上數(shù)據(jù)庫類似的數(shù)據(jù),但是這種方式需要設(shè)置測試數(shù)據(jù)庫、部署灌庫邏輯、進(jìn)行灌庫等操作,耗費(fèi)較多人力且無法保證測試數(shù)據(jù)庫與線上數(shù)據(jù)局的數(shù)據(jù)完全一致。因此通常采用第二種方式,即待測試服務(wù)器直接使用線上數(shù)據(jù)庫。
但是發(fā)明人研究發(fā)現(xiàn),如果直接使用線上數(shù)據(jù)庫,由于線上流量包括寫流量以及讀流量,讀流量會(huì)觸發(fā)待測服務(wù)器的讀庫操作,寫流量會(huì)觸發(fā)待測服務(wù)器進(jìn)行寫庫操作,而寫庫操作會(huì)向線上數(shù)據(jù)庫中寫入數(shù)據(jù),由于針對寫流量,線上服務(wù)器也會(huì)向線上數(shù)據(jù)庫寫入數(shù)據(jù),從而就會(huì)導(dǎo)致線上數(shù)據(jù)庫引入重復(fù)數(shù)據(jù),影響線上業(yè)務(wù)處理,且會(huì)消耗線上資源。例如網(wǎng)上支付場景中,有可能導(dǎo)致線上用戶重復(fù)支付,而影響用戶使用。
為了不影響線上業(yè)務(wù)的正常處理,無需消耗過多線上資源,發(fā)明人經(jīng)過進(jìn)一步研究發(fā)現(xiàn),線上業(yè)務(wù)涉及的寫流量很少,大部分均為讀流量,且寫流量涉及的業(yè)務(wù)操作在線上邏輯中通常涉及多方平臺(tái),可以無需進(jìn)行測試,且線上測試頻率又非常高,頻繁寫入數(shù)據(jù)也會(huì)影響線上測試。據(jù)此,發(fā)明人提出了本發(fā)明的技術(shù)方案,在本發(fā)明實(shí)施例中,對于拷貝獲得線上流程進(jìn)行訪問類型的判斷,如果為讀流量即用于測試待測服務(wù)器,而如果為寫流量,則直接丟棄,不用于測試待測服務(wù)器,從而即可以避免待測服務(wù)器的寫庫操作,不會(huì)向線上數(shù)據(jù)庫引入重復(fù)數(shù)據(jù),從而避免了對線上業(yè)務(wù)處理的影響。
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
圖1是本發(fā)明實(shí)施例提供的一種測試方法一個(gè)實(shí)施例的流程圖,該方法可以包括以下幾個(gè)步驟:
101:獲取拷貝得到的線上流量。
其中,線上流量即可以指發(fā)送至線上服務(wù)器的線上請求,該線上請求可以是指http(hypertexttransferprotocol,超文本傳輸協(xié)議)請求。線上請求會(huì)導(dǎo)致寫庫或讀庫的數(shù)據(jù)操作。
線上服務(wù)器會(huì)根據(jù)線上流量進(jìn)行正常的業(yè)務(wù)邏輯。
102:確定所述線上流量的訪問類型。
針對拷貝得到的任一線上流量,并不立即用于測試待測服務(wù)器,本發(fā)明實(shí)施例中首先對其訪問類型進(jìn)行判斷。
線上流量的訪問類型分為寫流量以及讀流量,因此根據(jù)該訪問類型,即可以確定線上流量中的讀流量以及寫流量。
103:如果所述線上流量為讀流量,利用所述讀流量測試待測服務(wù)器。
待測服務(wù)器進(jìn)行測試時(shí),即可以根據(jù)讀流量訪問線上數(shù)據(jù)庫,進(jìn)行讀庫操作。
可選地,如果所述線上流量為讀流量,即轉(zhuǎn)發(fā)所述讀流量至所述待測服務(wù)器,以供所述待測服務(wù)器根據(jù)所述讀流量訪問線上數(shù)據(jù)庫。
104:如果所述線上流量為寫流量,丟棄所述寫流量。
丟棄寫流量之后,寫流量不會(huì)轉(zhuǎn)發(fā)至待測服務(wù)器,從而待測服務(wù)器不會(huì)利用寫流量進(jìn)行測試,不會(huì)造成對線上數(shù)據(jù)庫的寫庫操作。
本實(shí)施例中,根據(jù)線上流量的訪問類型,如果線上流量為讀流量,即直接該讀流量測試待測試服務(wù)器,而如果為寫流量,則直接丟棄該寫流量,從而避免了待測試服務(wù)器的讀庫操作,不會(huì)向線上數(shù)據(jù)庫引入重復(fù)數(shù)據(jù),且避免了對線上業(yè)務(wù)處理的影響。
其中,確定所述線上流量的訪問類型可以有多種可能的實(shí)現(xiàn)方式。由于線上流量是否為讀流量或者寫流量,并不依賴與請求類型為get或者post。
因此,作為一種可能的實(shí)現(xiàn)方式,可以根據(jù)線上流量的訪問接口,該訪問接口可以唯一標(biāo)識(shí)一個(gè)線上流量,預(yù)先設(shè)置寫流量對應(yīng)的訪問接口以及讀流量對應(yīng)的訪問接口,從而即可以基于訪問接口來確定線上流量的訪問類型。
如圖2所述,為本發(fā)明實(shí)施例提供的一種測試方法又一個(gè)實(shí)施例的流程圖,該方法可以包括以下幾個(gè)步驟:
201:獲取拷貝得到的線上流量。
202:判斷所述線上流量對應(yīng)的訪問接口是否為允許放行接口,如果是執(zhí)行步驟203,如果否執(zhí)行步驟205。
203:確定所述線上流量為讀流量。
204:利用所述讀流量測試待測服務(wù)器。
205:確定所述線上流量為寫流量。
206:丟棄所述寫流量。
其中,由于線上流量通常為http請求,因此訪問接口具體可以是指請求訪問的業(yè)務(wù)地址,也即url(uniformresourcelocator,統(tǒng)一資源定位符)地址。
在實(shí)際應(yīng)用中,待測服務(wù)器的測試結(jié)果通常通過日志,進(jìn)行測試分析獲得,以確定待測服務(wù)器是否存在故障等。
為了方便進(jìn)行測試分析,可選地,在某些實(shí)施例中,所述丟棄所述寫流量之后,所述方法還包括:
跳轉(zhuǎn)至提示頁面。
由于待測服務(wù)器的測試過程不會(huì)影響線上業(yè)務(wù),該提示頁面的輸出請求會(huì)被攔截,不會(huì)影響線上業(yè)務(wù)。但是會(huì)被記錄在日志,以用于日志分析。通過跳轉(zhuǎn)至提示頁面,可以模擬真實(shí)線上環(huán)境,將寫流量認(rèn)為是一個(gè)非法操作,從而記錄在日志中,方便進(jìn)行日志分析。
例如下一段日志:
100.64.14.182remote_user=-[27/dec/2016:14:11:59+0800]request="get/test/testpagehttp/1.1"status=302body_bytes_sent=165http_r
eferer="http://www.example.com/test/testpage"upstream_addr=-upstream_header_time=-upstream_response_time=-request_time=0.000upstream_response_time=-
由上述日志可知,用戶ip100.64.14.182訪問了一個(gè)http://www.example.com/test/testpage,該url我們在系統(tǒng)沒有添加放行權(quán)限,為非允許放行接口。從日志中可以看狀態(tài)碼為302,該狀態(tài)表明該線上流量跳轉(zhuǎn)至提示頁面,是一個(gè)非法操作,無需用其進(jìn)行測試分析。
如果線上流量為讀流量,其對應(yīng)的日志可以如下所述:
100.64.18.182remote_user=-[27/dec/2016:14:11:59+0800]request="get/read/testpagehttp/1.1"status=200body_bytes_sent=19189http_referer="http://www.example.com/read/testpage"upstream_addr=10.8.38.9:8088upstream_header_time=0.120upstream_response_time=0.122request_time=0.122upstream_response_time=0.122。
由該日志可知用戶ip100.64.14.182訪問了一個(gè)http://www.example.com/read/testpage該url我們?yōu)樵试S放行接口,從日志狀態(tài)中看出狀態(tài)碼為200,表明該線上流量已被轉(zhuǎn)發(fā)至對應(yīng)的待測服務(wù)器。
為了安全進(jìn)行線上測試,待測服務(wù)器通常部署在沙盒系統(tǒng)中,由沙盒系統(tǒng)的前端服務(wù)器進(jìn)行流量判斷,本發(fā)明實(shí)施例中的技術(shù)方案即由該前端服務(wù)器執(zhí)行。
沙盒系統(tǒng)會(huì)預(yù)先屏蔽掉全部線上流量,因此可以通過規(guī)則設(shè)置來規(guī)定沙盒系統(tǒng)允許放行哪些流量。
因此,在某些實(shí)施例中,所述確定所述線上流量的訪問類型可以包括:
讀取預(yù)配置規(guī)則;
基于所述預(yù)配置規(guī)則,確定所述線上流量的訪問類型。
該預(yù)配置規(guī)則中可以包括線上流量的區(qū)分條件,從而基于該區(qū)分條件即可以確定線上流量為讀流量或者寫流量。該區(qū)分條件即可以是指允許放行接口。從而沙盒系統(tǒng)可以將非允許放行接口的寫流量拒絕。
該預(yù)配置規(guī)則可以由用戶通過控制平臺(tái)設(shè)置并推送至前端服務(wù)器中,以由前端服務(wù)器據(jù)此實(shí)現(xiàn)對線上流量的區(qū)分。
此外,由于一個(gè)業(yè)務(wù)通常可以分為多個(gè)業(yè)務(wù)類型,例如對于一個(gè)網(wǎng)站業(yè)務(wù),其業(yè)務(wù)類型可以包括新聞、娛樂、母嬰、健康等。
沙盒系統(tǒng)可以對應(yīng)多個(gè)業(yè)務(wù)類型部署相應(yīng)的待測服務(wù)器,由沙盒系統(tǒng)的前端服務(wù)器進(jìn)行流量區(qū)分。
因此,在某些實(shí)施例中,所述確定所述線上流量的訪問類型之后,所述方法還可以包括:
根據(jù)所述線上流量的業(yè)務(wù)類型,確定對應(yīng)的待測服務(wù)器。
從而利用讀流量具體測試的即為該線上流量的業(yè)務(wù)類型對應(yīng)的待測服務(wù)器。
上述預(yù)配置規(guī)則中也可以包括不同業(yè)務(wù)類型與不同待測服務(wù)器的對應(yīng)關(guān)系,從而可以根據(jù)預(yù)配置規(guī)則將讀流量轉(zhuǎn)發(fā)至相應(yīng)的待測服務(wù)器中。
本發(fā)明實(shí)施例在實(shí)際應(yīng)用中,可以用于網(wǎng)上交易場景的待測服務(wù)器進(jìn)行測試。在網(wǎng)上交易場景中,線上流量可以包括瀏覽請求、下單請求以及支付請求等等。其中瀏覽請求即為讀流量,而下單請求以及支付請求為寫流量,如果不對讀寫流量進(jìn)行區(qū)分,那么下單請求以及支付請求,就可能導(dǎo)致線上用戶重復(fù)下單以及重復(fù)支付,影響線上用戶的體驗(yàn)。而通過本發(fā)明實(shí)施例,可以將寫流量拒絕,避免了對線上業(yè)務(wù)處理的影響。且無需向線上數(shù)據(jù)庫中寫入重復(fù)數(shù)據(jù),降低了線上資源的消費(fèi)。
圖3為本發(fā)明實(shí)施例提供的一種測試裝置一個(gè)實(shí)施例的結(jié)構(gòu)示意圖,該裝置可以包括:
獲取模塊301,用于獲取拷貝得到的線上流量;
類型確定模塊302,用于確定所述線上流量的訪問類型;
第一處理模塊303,用于如果所述線上流量為讀流量,利用所述讀流量測試待測服務(wù)器;
可選地,該第一處理模塊可以具體用于如果所述線上流量為讀流量,轉(zhuǎn)發(fā)所述讀流量至所述待測服務(wù)器,以供所述待測服務(wù)器根據(jù)所述讀流量訪問線上數(shù)據(jù)庫。
第二處理模塊304,用于如果所述線上流量為寫流量,丟棄所述寫流量。
本實(shí)施例中,根據(jù)線上流量的訪問類型,如果線上流量為讀流量,即直接該讀流量測試待測試服務(wù)器,而如果為寫流量,則直接丟棄該寫流量,從而避免了待測試服務(wù)器的讀庫操作,不會(huì)向線上數(shù)據(jù)庫引入重復(fù)數(shù)據(jù),且避免了對線上業(yè)務(wù)處理的影響。
其中,確定所述線上流量的訪問類型可以有多種可能的實(shí)現(xiàn)方式。由于線上流量是否為讀流量或者寫流量,并不依賴與請求類型為get或者post。
因此,作為一種可能的實(shí)現(xiàn)方式,可以根據(jù)線上流量的訪問接口,該訪問接口可以唯一標(biāo)識(shí)一個(gè)線上流量,預(yù)先設(shè)置寫流量對應(yīng)的訪問接口以及讀流量對應(yīng)的訪問接口,從而即可以基于訪問接口來確定線上流量的訪問類型。
因此,作為又一個(gè)實(shí)施例,如圖4所示,與圖3所示實(shí)施例不同之處在于,該類型確定模塊302可以包括:
判斷單元401,用于判斷所述線上流量對應(yīng)的訪問接口是否為允許放行接口;
第一確定單元402,用于所述判斷單元結(jié)果為是時(shí),確定所述線上流量為讀流量;
第二確定單元403,用于所述判斷單元結(jié)果為否時(shí),確定所述線上流量為寫流量。
其中,由于線上流量通常為http請求,因此訪問接口具體可以是指請求訪問的業(yè)務(wù)地址,也即url地址。
在實(shí)際應(yīng)用中,待測服務(wù)器的測試結(jié)果通常通過日志,進(jìn)行測試分析獲得,以確定待測服務(wù)器是否存在故障等。
為了方便進(jìn)行測試分析,可選地,在某些實(shí)施例中,該裝置還可以包括:
跳轉(zhuǎn)模塊,用于跳轉(zhuǎn)至提示頁面。
為了安全進(jìn)行線上測試,待測服務(wù)器通常部署在沙盒系統(tǒng)中,由沙盒系統(tǒng)的前端服務(wù)器進(jìn)行流量判斷,本發(fā)明實(shí)施例中的技術(shù)方案即由該前端服務(wù)器執(zhí)行。
沙盒系統(tǒng)會(huì)預(yù)先屏蔽掉全部線上流量,因此可以通過規(guī)則設(shè)置來規(guī)定沙盒系統(tǒng)允許放行哪些流量。
因此,在某些實(shí)施例中,所述類型確定模塊可以具體用于讀取預(yù)配置規(guī)則;基于所述預(yù)配置規(guī)則,確定所述線上流量的訪問類型。
預(yù)配置規(guī)則中可以包括線上流量的區(qū)分條件,從而基于該區(qū)分條件即可以確定線上流量為讀流量或者寫流量。該區(qū)分條件即可以是指允許放行接口。從而沙盒系統(tǒng)可以將非允許放行接口的寫流量拒絕。
該預(yù)配置規(guī)則可以由用戶通過控制平臺(tái)設(shè)置并推送至前端服務(wù)器中,以由前端服務(wù)器據(jù)此實(shí)現(xiàn)對線上流量的區(qū)分。
此外,由于一個(gè)業(yè)務(wù)通??梢苑譃槎鄠€(gè)業(yè)務(wù)類型,例如對于一個(gè)網(wǎng)站業(yè)務(wù),其業(yè)務(wù)類型可以包括新聞、娛樂、母嬰、健康等。
沙盒系統(tǒng)可以對應(yīng)多個(gè)業(yè)務(wù)類型部署相應(yīng)的待測服務(wù)器,由沙盒系統(tǒng)的前端服務(wù)器進(jìn)行流量區(qū)分。
因此,在某些實(shí)施例中,該裝置還可以包括:
業(yè)務(wù)確定模塊,用于根據(jù)所述線上流量的業(yè)務(wù)類型,確定對應(yīng)的所述待測服務(wù)器。
上述預(yù)配置規(guī)則中也可以包括不同業(yè)務(wù)類型與不同待測服務(wù)器的對應(yīng)關(guān)系,從而可以根據(jù)預(yù)配置規(guī)則將讀流量轉(zhuǎn)發(fā)至相應(yīng)的待測服務(wù)器中。
通過本發(fā)明實(shí)施例的技術(shù)方案,避免對線上業(yè)務(wù)處理的影響。
在一個(gè)可能的設(shè)計(jì)中,上述任一實(shí)施例的測試裝置可以實(shí)現(xiàn)為電子設(shè)備,該電子設(shè)備可以部署在沙盒系統(tǒng)中,作為待測服務(wù)器的前端服務(wù)器。
如圖5所示,該電子設(shè)備可以包括一個(gè)或多個(gè)處理器501以及一個(gè)或多個(gè)存儲(chǔ)器502;
所述一個(gè)或多個(gè)存儲(chǔ)器502存儲(chǔ)一條或多條計(jì)算機(jī)指令,所述一條或多條計(jì)算機(jī)指令用于供所述一個(gè)或多個(gè)處理器501調(diào)用執(zhí)行;
所述一個(gè)或多個(gè)處理器501用于:
獲取拷貝得到的線上流量;
確定所述線上流量的訪問類型;
如果所述線上流量為讀流量,利用所述讀流量測試待測服務(wù)器;
如果所述線上流量為寫流量,丟棄所述寫流量。
此外,該一個(gè)或多個(gè)處理器可以用于執(zhí)行上述任一實(shí)施例所述的測試方法。
該一個(gè)或多個(gè)存儲(chǔ)器可以由任何類型的易失性或非易失性存儲(chǔ)設(shè)備或者它們的組合實(shí)現(xiàn),如靜態(tài)隨機(jī)存取存儲(chǔ)器(sram),電可擦除可編程只讀存儲(chǔ)器(eeprom),可擦除可編程只讀存儲(chǔ)器(eprom),可編程只讀存儲(chǔ)器(prom),只讀存儲(chǔ)器(rom),磁存儲(chǔ)器,快閃存儲(chǔ)器,磁盤或光盤。
本發(fā)明實(shí)施例還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),該計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序使計(jì)算機(jī)執(zhí)行時(shí)實(shí)現(xiàn)如上述任一實(shí)施例所述測試方法。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng),裝置和單元的具體工作過程,可以參考前述方法實(shí)施例中的對應(yīng)過程,在此不再贅述。
以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動(dòng)的情況下,即可以理解并實(shí)施。
通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實(shí)施方式可借助軟件加必需的通用硬件平臺(tái)的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件。基于這樣的理解,上述技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如rom/ram、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。
最后應(yīng)說明的是:以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。
本發(fā)明公開了a1、一種測試方法,包括:
獲取拷貝得到的線上流量;
確定所述線上流量的訪問類型;
如果所述線上流量為讀流量,利用所述讀流量測試待測服務(wù)器;
如果所述線上流量為寫流量,丟棄所述寫流量。
a2、根據(jù)a1所述的方法,所述確定所述線上流量的訪問類型包括:
判斷所述線上流量對應(yīng)的訪問接口是否為允許放行接口;
如果是,確定所述線上流量為讀流量;
如果否,確定所述線上流量為寫流量。
a3、根據(jù)a1所述的方法,所述丟棄所述寫流量之后,所述方法還包括:
跳轉(zhuǎn)至提示頁面。
a4、根據(jù)a1所述的方法,所述確定所述線上流量的訪問類型之后,所述方法還包括:
根據(jù)所述線上流量的業(yè)務(wù)類型,確定對應(yīng)的所述待測服務(wù)器。
a5、根據(jù)a1所述的方法,所述如果所述線上流量為讀流量,利用所述讀流量測試待測服務(wù)器包括:
如果所述線上流量為讀流量,轉(zhuǎn)發(fā)所述讀流量至所述待測服務(wù)器,以供所述待測服務(wù)器根據(jù)所述讀流量訪問線上數(shù)據(jù)庫。
a6、根據(jù)a1所述的方法,所述確定所述線上流量的訪問類型包括:
讀取預(yù)配置規(guī)則;
基于所述預(yù)配置規(guī)則,確定所述線上流量的訪問類型。
a7、根據(jù)權(quán)利要求2所述方法,所述訪問接口為請求訪問的url地址。
b8、一種測試裝置,包括:
獲取模塊,用于獲取拷貝得到的線上流量;
類型確定模塊,用于確定所述線上流量的訪問類型;
第一處理模塊,用于如果所述線上流量為讀流量,利用所述讀流量測試待測服務(wù)器;
第二處理模塊,用于如果所述線上流量為寫流量,丟棄所述寫流量。
b9、根據(jù)b8所述的裝置,所述類型確定模塊包括:
判斷單元,用于判斷所述線上流量對應(yīng)的訪問接口是否為允許放行接口;
第一確定單元,用于所述判斷單元結(jié)果為是時(shí),確定所述線上流量為讀流量;
第二確定單元,用于所述判斷單元結(jié)果為否時(shí),確定所述線上流量為寫流量。
b10、根據(jù)b8所述的裝置,還包括:
跳轉(zhuǎn)模塊,用于跳轉(zhuǎn)至提示頁面。
b11、根據(jù)b8所述的裝置,還包括:
業(yè)務(wù)確定模塊,用于根據(jù)所述線上流量的業(yè)務(wù)類型,確定對應(yīng)的所述待測服務(wù)器。
b12、根據(jù)b8所述的裝置,所述第一處理模塊具體用于如果所述線上流量為讀流量,轉(zhuǎn)發(fā)所述讀流量至所述待測服務(wù)器,以供所述待測服務(wù)器根據(jù)所述讀流量訪問線上數(shù)據(jù)庫。
b13、根據(jù)b8所述的裝置,所述類型確定模塊具體用于讀取預(yù)配置規(guī)則;基于所述預(yù)配置規(guī)則,確定所述線上流量的訪問類型。
b14、根據(jù)b9所述的裝置,所述訪問接口為請求訪問的url地址。
c15、一種電子設(shè)備,包括一個(gè)或多個(gè)處理器以及一個(gè)或多個(gè)存儲(chǔ)器;
所述一個(gè)或多個(gè)存儲(chǔ)器存儲(chǔ)一條或多條計(jì)算機(jī)指令,所述一條或多條計(jì)算機(jī)指令用于供所述一個(gè)或多個(gè)處理器調(diào)用執(zhí)行;
所述一個(gè)或多個(gè)處理器用于:
獲取拷貝得到的線上流量;
確定所述線上流量的訪問類型;
如果所述線上流量為讀流量,利用所述讀流量測試待測服務(wù)器;
如果所述線上流量為寫流量,丟棄所述寫流量。
d16、一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)程序;
所述計(jì)算機(jī)程序使計(jì)算機(jī)執(zhí)行時(shí)實(shí)現(xiàn)如a1~a7任一項(xiàng)所述的測試方法。