本發(fā)明涉及計算機技術(shù)領(lǐng)域,具體而言,本發(fā)明涉及一種數(shù)據(jù)通路的測試方法,一種數(shù)據(jù)通路的測試服務(wù)器及一種數(shù)據(jù)通路的測試系統(tǒng)。
背景技術(shù):
隨著網(wǎng)絡(luò)應(yīng)用的迅速發(fā)展,人們獲取信息的數(shù)據(jù)業(yè)務(wù)的需求也越來越多,因此對服務(wù)器及時處理大數(shù)據(jù)業(yè)務(wù)的能力也要求越來越高。當(dāng)用戶請求的數(shù)據(jù)業(yè)務(wù)成百倍或千倍的激增時,需要在服務(wù)器端對服務(wù)器集群進行線性擴展,數(shù)據(jù)在服務(wù)器集群的多方服務(wù)器間進行傳輸?shù)倪^程中,往往容易因數(shù)據(jù)線路發(fā)生故障等因素造成數(shù)據(jù)傳輸中斷,因此在服務(wù)器上線前需要對其上線后的可能選擇的數(shù)據(jù)通路進行測試?,F(xiàn)有技術(shù)中,在服務(wù)器上線前,往往通過對待上線服務(wù)器在服務(wù)器集群中配置預(yù)定網(wǎng)絡(luò)地址,并對該預(yù)定網(wǎng)絡(luò)地址對應(yīng)的每條數(shù)據(jù)通路進行逐一測試來確定每條數(shù)據(jù)通路是否存在數(shù)據(jù)傳輸故障,測試效率極低,且會影響服務(wù)器集群中其它服務(wù)器的正常運行;此外,由于服務(wù)器集群中各服務(wù)器之間的數(shù)據(jù)業(yè)務(wù)往往較復(fù)雜,且數(shù)據(jù)傳輸量巨大,因此測試數(shù)據(jù)通路的過程中容易出現(xiàn)誤將故障數(shù)據(jù)通路判斷為正常數(shù)據(jù)通路的情況,從而降低了服務(wù)器上線前數(shù)據(jù)通路測試結(jié)果的準(zhǔn)確率。
因此,亟需一種數(shù)據(jù)通路的測試方法,能夠高效、準(zhǔn)確地判斷出數(shù)據(jù)傳輸異常的數(shù)據(jù)通路。
技術(shù)實現(xiàn)要素:
為克服上述技術(shù)問題或者至少部分地解決上述技術(shù)問題,特提出以下技術(shù)方案:
本發(fā)明的實施例提出了一種數(shù)據(jù)通路的測試方法,包括:
接收用戶通過服務(wù)器管理界面提供的測試接口發(fā)送的用于測試待測試服務(wù)器的第一測試通知消息,并依據(jù)第一測試通知消息生成測試消息;
將測試消息發(fā)送至待測試服務(wù)器;其中,待測試服務(wù)器通過至少一個第二服務(wù)器向第三服務(wù)器上報測試數(shù)據(jù);
根據(jù)第三服務(wù)器是否接收到測試消息和/或第三服務(wù)器接收到測試消息的時間,判斷待測試服務(wù)器與第三服務(wù)器之間的數(shù)據(jù)通路是否異常。
可選地,還包括:
接收用戶通過服務(wù)器管理界面提供的配置接口輸入的針對待測試服務(wù)器的測試配置信息;
其中,配置信息包括與待測試服務(wù)器相匹配的第二服務(wù)器、待測試服務(wù)器的服務(wù)器相關(guān)信息;
其中,服務(wù)器相關(guān)信息包括服務(wù)器網(wǎng)絡(luò)地址和服務(wù)器的標(biāo)識信息中的至少一項。
優(yōu)選地,判斷待測試服務(wù)器與第三服務(wù)器之間的數(shù)據(jù)通路是否異常,包括:
測試服務(wù)器將對應(yīng)于測試消息的第二測試通知消息發(fā)送至第三服務(wù)器,以使得第三服務(wù)器根據(jù)接收到的第二測試通知消息,以及是否接收到測試消息和/或接收到測試消息的時間,判斷待測試服務(wù)器與第三服務(wù)器之間的數(shù)據(jù)通路是否異常;
其中,第二測試通知消息包括以下一項或多項:測試消息內(nèi)容、測試消息的發(fā)送時間、測試消息的標(biāo)識信息、接收測試消息的待測試服務(wù)器的標(biāo)識信息及其匹配的第二服務(wù)器的標(biāo)識信息。
可選地,將與測試數(shù)據(jù)對應(yīng)的第二測試通知消息發(fā)送至第三服務(wù)器之前,還包括:
基于配置信息,確定需向第三服務(wù)器發(fā)送的第二測試通知消息。
優(yōu)選地,第三服務(wù)器根據(jù)接收到的第二測試通知消息,以及是否接收到測試消息和/或接收到測試消息的時間,判斷第一服務(wù)器與第三服務(wù)器之間的數(shù)據(jù)通路是否異常的方式,包括:
若第三服務(wù)器接收到測試消息、且接收到測試消息的時間在預(yù)定監(jiān)測時長內(nèi),則確定預(yù)定數(shù)據(jù)通路可以正常傳輸數(shù)據(jù);或
若第三服務(wù)器未在預(yù)定監(jiān)測時長內(nèi)接收到測試消息,則確定預(yù)定數(shù)據(jù)通路不可以正常傳輸數(shù)據(jù);或
若第三服務(wù)器接收到測試消息、且接收到測試消息的時間超過預(yù)定監(jiān)測時長,則忽略測試消息,確定預(yù)定數(shù)據(jù)通路不可以正常傳輸數(shù)據(jù)。
優(yōu)選地,判斷待測試服務(wù)器與第三服務(wù)器之間的數(shù)據(jù)通路是否異常,包括:
測試服務(wù)器將對應(yīng)于測試消息的第二測試通知消息發(fā)送至第三服務(wù)器,并監(jiān)測第三服務(wù)器是否返回其已接收到與第二測試通知消息相匹配的測試消息的反饋信息;
依據(jù)監(jiān)測結(jié)果,判斷預(yù)定數(shù)據(jù)通路是否正常傳輸數(shù)據(jù)。
可選地,還包括:
預(yù)存服務(wù)器列表,其中,服務(wù)器列表包括多個第一服務(wù)器與其各自對應(yīng)的第二服務(wù)器的對應(yīng)關(guān)系、多個第二服務(wù)器與一個第三服務(wù)器的對應(yīng)關(guān)系、以及各個服務(wù)器的服務(wù)器相關(guān)信息;
其中,服務(wù)器相關(guān)信息包括服務(wù)器網(wǎng)絡(luò)地址、服務(wù)器的標(biāo)識信息和服務(wù)器業(yè)務(wù)類型中的至少一項。
可選地,若確定待測試服務(wù)器的測試數(shù)據(jù)通路測試成功,該方法還包括:
將待測試服務(wù)器的服務(wù)器相關(guān)信息作為第一服務(wù)器添加至服務(wù)器列表,并配置與其相匹配的第二服務(wù)器。
本發(fā)明的另一實施例提出了一種數(shù)據(jù)通路的測試服務(wù)器,包括:
接收及生成模塊,用于接收用戶通過服務(wù)器管理界面提供的測試接口發(fā)送的用于測試待測試服務(wù)器的第一測試通知消息,并依據(jù)第一測試通知消息生成測試消息;
發(fā)送模塊,用于將測試消息發(fā)送至待測試服務(wù)器;其中,待測試服務(wù)器通過至少一個第二服務(wù)器向第三服務(wù)器上報測試數(shù)據(jù);
判斷模塊,用于根據(jù)第三服務(wù)器是否接收到測試消息和/或第三服務(wù)器接收到測試消息的時間,判斷待測試服務(wù)器與第三服務(wù)器之間的數(shù)據(jù)通路是否異常。
可選地,還包括:
接收模塊,用于接收用戶通過服務(wù)器管理界面提供的配置接口輸入的針對待測試服務(wù)器的測試配置信息;
其中,配置信息包括與待測試服務(wù)器相匹配的第二服務(wù)器、待測試服務(wù)器的服務(wù)器相關(guān)信息;
其中,服務(wù)器相關(guān)信息包括服務(wù)器網(wǎng)絡(luò)地址和服務(wù)器的標(biāo)識信息中的至少一項。
優(yōu)選地,判斷模塊,包括:
發(fā)送單元,用于測試服務(wù)器將對應(yīng)于測試消息的第二測試通知消息發(fā)送至第三服務(wù)器,以使得第三服務(wù)器根據(jù)接收到的第二測試通知消息,以及是否接收到測試消息和/或接收到測試消息的時間,判斷待測試服務(wù)器與第三服務(wù)器之間的數(shù)據(jù)通路是否異常;
其中,第二測試通知消息包括以下一項或多項:測試消息內(nèi)容、測試消息的發(fā)送時間、測試消息的標(biāo)識信息、接收測試消息的待測試服務(wù)器的標(biāo)識信息及其匹配的第二服務(wù)器的標(biāo)識信息。
可選地,將與測試數(shù)據(jù)對應(yīng)的第二測試通知消息發(fā)送至第三服務(wù)器之前,還包括:
確定單元,用于基于配置信息,確定需向第三服務(wù)器發(fā)送的第二測試通知消息。
優(yōu)選地,判斷模塊,包括:
發(fā)送及監(jiān)測單元,用于測試服務(wù)器將對應(yīng)于測試消息的第二測試通知消息發(fā)送至第三服務(wù)器,并監(jiān)測第三服務(wù)器是否返回其已接收到與第二測試通知消息相匹配的測試消息的反饋信息;
判斷單元,用于依據(jù)監(jiān)測結(jié)果,判斷預(yù)定數(shù)據(jù)通路是否正常傳輸數(shù)據(jù)。
可選地,還包括:
預(yù)存模塊,用于預(yù)存服務(wù)器列表,其中,服務(wù)器列表包括多個第一服務(wù)器與其各自對應(yīng)的第二服務(wù)器的對應(yīng)關(guān)系、多個第二服務(wù)器與一個第三服務(wù)器的對應(yīng)關(guān)系、以及各個服務(wù)器的服務(wù)器相關(guān)信息;
其中,服務(wù)器相關(guān)信息包括服務(wù)器網(wǎng)絡(luò)地址、服務(wù)器的標(biāo)識信息和服務(wù)器業(yè)務(wù)類型中的至少一項。
可選地,若確定待測試服務(wù)器的測試數(shù)據(jù)通路測試成功,該測試服務(wù)器還包括:
添加及配置模塊,用于將待測試服務(wù)器的服務(wù)器相關(guān)信息作為第一服務(wù)器添加至服務(wù)器列表,并配置與其相匹配的第二服務(wù)器。
本發(fā)明的又另一實施例提出了一種數(shù)據(jù)通路的測試系統(tǒng),測試系統(tǒng)包括:
測試服務(wù)器,用于接收用戶通過服務(wù)器管理界面提供的測試接口發(fā)送的用于測試待測試服務(wù)器的第一測試通知消息,并依據(jù)第一測試通知消息生成測試消息;
將測試消息發(fā)送至待測試服務(wù)器,并將與測試消息對應(yīng)的第二測試通知消息發(fā)送至第三服務(wù)器;
待測試服務(wù)器,用于接收測試消息,并將接收到的測試消息發(fā)送至相匹配的第二服務(wù)器;
第二服務(wù)器,用于基于測試數(shù)據(jù)通路將測試消息發(fā)送至第三服務(wù)器;
第三服務(wù)器,用于接收測試服務(wù)器發(fā)送的與測試消息對應(yīng)的第二測試通知消息;
根據(jù)接收到的第二測試通知消息,以及是否接收到測試消息和/或接收到測試消息的時間,判斷待測試服務(wù)器與第三服務(wù)器之間的數(shù)據(jù)通路是否異常。
優(yōu)選地,測試數(shù)據(jù)通路包括從第二服務(wù)器至第三服務(wù)器的最短數(shù)據(jù)通路距離的數(shù)據(jù)通路。
優(yōu)選地,第二服務(wù)器還用于若監(jiān)測到未成功通過測試數(shù)據(jù)通路將測試消息發(fā)送至第三服務(wù)器,則基于多個第二服務(wù)器與第三服務(wù)器之間的數(shù)據(jù)通路關(guān)系,重新選定第二服務(wù)器與第三服務(wù)器之間的可選數(shù)據(jù)通路,并通過可選數(shù)據(jù)通路將測試消息發(fā)送至第三服務(wù)器。
優(yōu)選地,第三服務(wù)器用于判斷第一服務(wù)器與第三服務(wù)器之間的數(shù)據(jù)通路是否異常的方式,包括:
若第三服務(wù)器接收到測試消息、且接收到測試消息的時間在預(yù)定監(jiān)測時長內(nèi),則確定預(yù)定數(shù)據(jù)通路可以正常傳輸數(shù)據(jù);或
若第三服務(wù)器未在預(yù)定監(jiān)測時長內(nèi)接收到測試消息,則確定預(yù)定數(shù)據(jù)通路不可以正常傳輸數(shù)據(jù);或
若第三服務(wù)器接收到測試消息、且接收到測試消息的時間超過預(yù)定監(jiān)測時長,則忽略測試消息,確定預(yù)定數(shù)據(jù)通路不可以正常傳輸數(shù)據(jù)。
本發(fā)明的實施例中,提出了一種數(shù)據(jù)通路的測試方案,接收用戶通過服務(wù)器管理界面提供的測試接口發(fā)送的用于測試待測試服務(wù)器的第一測試通知消息,并依據(jù)第一測試通知消息生成測試消息,實現(xiàn)了用戶可通過簡單便捷地方式對待測試服務(wù)器進行相應(yīng)的配置,基于配置模擬待測試服務(wù)器上線后在系統(tǒng)中的數(shù)據(jù)通路,為后續(xù)待測試服務(wù)器能夠在多方服務(wù)器中進行數(shù)據(jù)通路的測試提供了必要的前提保障;將測試消息發(fā)送至待測試服務(wù)器;其中,待測試服務(wù)器通過至少一個第二服務(wù)器向第三服務(wù)器上報測試數(shù)據(jù),以使得待測試服務(wù)器將測試數(shù)據(jù)發(fā)送至相匹配的第二服務(wù)器,并通過第二服務(wù)器基于測試數(shù)據(jù)通路將測試數(shù)據(jù)發(fā)送至第三服務(wù)器,實現(xiàn)了根據(jù)各服務(wù)器之間的匹配關(guān)系確定相應(yīng)的數(shù)據(jù)通路,并通過該數(shù)據(jù)通路進行傳輸數(shù)據(jù)的測試,避免了對不必要的數(shù)據(jù)通路進行傳輸數(shù)據(jù)測試的情況,提高了服務(wù)器上線前在多方服務(wù)器間對數(shù)據(jù)通路進行傳輸數(shù)據(jù)測試的測試效率;根據(jù)第三服務(wù)器是否接收到測試消息和/或第三服務(wù)器接收到測試消息的時間,判斷待測試服務(wù)器與第三服務(wù)器之間的數(shù)據(jù)通路是否異常,實現(xiàn)了在上線前快速準(zhǔn)確地測試待測試服務(wù)器在多方服務(wù)器間的各路數(shù)據(jù)通路是否正常傳輸數(shù)據(jù),當(dāng)在測試過程中發(fā)生數(shù)據(jù)通路中斷或數(shù)據(jù)傳輸異常情況時,能夠為多方服務(wù)器的運行維護人員對待測試服務(wù)器在上線前進行重新評估調(diào)制提供重要的參考依據(jù),同時,無需暫停正常的業(yè)務(wù)數(shù)據(jù)傳輸即可實現(xiàn)對數(shù)據(jù)通路的測試,保證了為用戶提供正常的數(shù)據(jù)業(yè)務(wù)服務(wù)。
本發(fā)明附加的方面和優(yōu)點將在下面的描述中部分給出,這些將從下面的描述中變得明顯,或通過本發(fā)明的實踐了解到。
附圖說明
本發(fā)明上述的和/或附加的方面和優(yōu)點從下面結(jié)合附圖對實施例的描述中將變得明顯和容易理解,其中:
圖1為本發(fā)明中一個實施例的數(shù)據(jù)通路的測試方法的流程圖;
圖2為本發(fā)明中多方服務(wù)器之間的連接關(guān)系示意圖;
圖3為本發(fā)明中另一實施例的數(shù)據(jù)通路的測試服務(wù)器的結(jié)構(gòu)示意圖;
圖4為本發(fā)明中另一優(yōu)選實施例的數(shù)據(jù)通路的測試系統(tǒng)的結(jié)構(gòu)示意圖。
具體實施方式
下面詳細描述本發(fā)明的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,僅用于解釋本發(fā)明,而不能解釋為對本發(fā)明的限制。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,除非特意聲明,這里使用的單數(shù)形式“一”、“一個”、“所述”和“該”也可包括復(fù)數(shù)形式。應(yīng)該進一步理解的是,本發(fā)明的說明書中使用的措辭“包括”是指存在所述特征、整數(shù)、步驟、操作、元件和/或組件,但是并不排除存在或添加一個或多個其他特征、整數(shù)、步驟、操作、元件、組件和/或它們的組。應(yīng)該理解,當(dāng)我們稱元件被“連接”或“耦接”到另一元件時,它可以直接連接或耦接到其他元件,或者也可以存在中間元件。此外,這里使用的“連接”或“耦接”可以包括無線連接或無線耦接。這里使用的措辭“和/或”包括一個或更多個相關(guān)聯(lián)的列出項的全部或任一單元和全部組合。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,除非另外定義,這里使用的所有術(shù)語(包括技術(shù)術(shù)語和科學(xué)術(shù)語),具有與本發(fā)明所屬領(lǐng)域中的普通技術(shù)人員的一般理解相同的意義。還應(yīng)該理解的是,諸如通用字典中定義的那些術(shù)語,應(yīng)該被理解為具有與現(xiàn)有技術(shù)的上下文中的意義一致的意義,并且除非像這里一樣被特定定義,否則不會用理想化或過于正式的含義來解釋。
圖1為本發(fā)明中一個實施例的數(shù)據(jù)通路的測試方法的流程圖。
本發(fā)明的實施例中,各步驟所執(zhí)行的內(nèi)容概述如下:步驟S110:接收用戶通過服務(wù)器管理界面提供的測試接口發(fā)送的用于測試待測試服務(wù)器的第一測試通知消息,并依據(jù)第一測試通知消息生成測試消息;步驟S120:將測試消息發(fā)送至待測試服務(wù)器;其中,待測試服務(wù)器通過至少一個第二服務(wù)器向第三服務(wù)器上報測試數(shù)據(jù);步驟S130:根據(jù)第三服務(wù)器是否接收到測試消息和/或第三服務(wù)器接收到測試消息的時間,判斷待測試服務(wù)器與第三服務(wù)器之間的數(shù)據(jù)通路是否異常。
本發(fā)明的實施例中,提出了一種數(shù)據(jù)通路的測試方法,接收用戶通過服務(wù)器管理界面提供的測試接口發(fā)送的用于測試待測試服務(wù)器的第一測試通知消息,并依據(jù)第一測試通知消息生成測試消息,實現(xiàn)了用戶可通過簡單便捷地方式對待測試服務(wù)器進行相應(yīng)的配置,基于配置模擬待測試服務(wù)器上線后在系統(tǒng)中的數(shù)據(jù)通路,為后續(xù)待測試服務(wù)器能夠在多方服務(wù)器中進行數(shù)據(jù)通路的測試提供了必要的前提保障;將測試消息發(fā)送至待測試服務(wù)器;其中,待測試服務(wù)器通過至少一個第二服務(wù)器向第三服務(wù)器上報測試數(shù)據(jù),以使得待測試服務(wù)器將測試數(shù)據(jù)發(fā)送至相匹配的第二服務(wù)器,并通過第二服務(wù)器基于測試數(shù)據(jù)通路將測試數(shù)據(jù)發(fā)送至第三服務(wù)器,實現(xiàn)了根據(jù)各服務(wù)器之間的匹配關(guān)系確定相應(yīng)的數(shù)據(jù)通路,并通過該數(shù)據(jù)通路進行傳輸數(shù)據(jù)的測試,避免了對不必要的數(shù)據(jù)通路進行傳輸數(shù)據(jù)測試的情況,提高了服務(wù)器上線前在多方服務(wù)器間對數(shù)據(jù)通路進行傳輸數(shù)據(jù)測試的測試效率;根據(jù)第三服務(wù)器是否接收到測試消息和/或第三服務(wù)器接收到測試消息的時間,判斷待測試服務(wù)器與第三服務(wù)器之間的數(shù)據(jù)通路是否異常,實現(xiàn)了在上線前快速準(zhǔn)確地測試待測試服務(wù)器在多方服務(wù)器間的各路數(shù)據(jù)通路是否正常傳輸數(shù)據(jù),當(dāng)在測試過程中發(fā)生數(shù)據(jù)通路中斷或數(shù)據(jù)傳輸異常情況時,能夠為多方服務(wù)器的運行維護人員對待測試服務(wù)器在上線前進行重新評估調(diào)制提供重要的參考依據(jù),同時,無需暫停正常的業(yè)務(wù)數(shù)據(jù)傳輸即可實現(xiàn)對數(shù)據(jù)通路的測試,保證了為用戶提供正常的數(shù)據(jù)業(yè)務(wù)服務(wù)。以下針對各個步驟的具體實現(xiàn)做進一步的說明:
步驟S110:接收用戶通過服務(wù)器管理界面提供的測試接口發(fā)送的用于測試待測試服務(wù)器的第一測試通知消息,并依據(jù)第一測試通知消息生成測試消息。
例如,在多方服務(wù)器間的數(shù)據(jù)通路的測試環(huán)境中對各待上線服務(wù)器進行測試,用戶通過點擊人機交互界面的服務(wù)器管理界面提供的測試接口,如測試按鈕,向待測試服務(wù)器,如TestServer01,發(fā)送用于測試TestServer01的第一測試通知消息,如Msg01,隨后,測試服務(wù)器依據(jù)接收到的第一測試通知消息Msg01生成測試消息,并確定該測試消息的標(biāo)識信息,如TestMsg01。
又例如,在多方服務(wù)器間數(shù)據(jù)通路的測試環(huán)境中對各待上線服務(wù)器進行測試,用戶通過人機交互界面的服務(wù)器管理界面中,選擇待測試服務(wù)器為TestServer01和Server02,隨后用戶點擊該服務(wù)器管理界面中提供的測試接口,如測試按鈕,向待測試服務(wù)器TestServer01和Server02,分別發(fā)送用于測試TestServer01和Server02的第一測試通知消息,如Msg01和Msg02,隨后,測試服務(wù)器依據(jù)Msg01和Msg02分別生成測試消息,并確定各測試消息的標(biāo)識信息,如TestMsg01和TestMsg02。
需要說明的是,本領(lǐng)域技術(shù)人員可以了解到,測試消息可以是依據(jù)第一測通知消息令生成與待測試服務(wù)器相匹配的測試信息,也可以是預(yù)生成的各個待測試服務(wù)器通用的測試消息,測試消息的生成方式不限于上述生成方式,在此不做限定。
優(yōu)選地,該測試方法還包括步驟S140;步驟S140:接收用戶通過服務(wù)器管理界面提供的配置接口輸入的針對待測試服務(wù)器的測試配置信息。
其中,配置信息包括與待測試服務(wù)器相匹配的第二服務(wù)器、待測試服務(wù)器的服務(wù)器相關(guān)信息。
其中,服務(wù)器相關(guān)信息包括服務(wù)器網(wǎng)絡(luò)地址和服務(wù)器的標(biāo)識信息中的至少一項。具體地,服務(wù)器網(wǎng)絡(luò)地址,如服務(wù)器的IP地址;服務(wù)器的標(biāo)識信息,如服務(wù)器設(shè)備的唯一標(biāo)識信息。
例如,在多方服務(wù)器間數(shù)據(jù)通路的測試環(huán)境中對各待上線服務(wù)器進行測試,通過人機交互界面的服務(wù)器管理界面提供的配置接口輸入與待測試服務(wù)器相關(guān)的配置參數(shù),配置參數(shù)包括配置待測試服務(wù)器TestServer01與其匹配的第二服務(wù)器的對應(yīng)數(shù)據(jù)傳輸關(guān)系,如配置待測試服務(wù)器TestServer01與其匹配的第二服務(wù)器的標(biāo)識信息為ServerB01等,并配置TestServer01的IP地址和服務(wù)器業(yè)務(wù)類型等服務(wù)器相關(guān)信息。
圖2為本發(fā)明中多方服務(wù)器之間的連接關(guān)系示意圖。
在多方服務(wù)器間數(shù)據(jù)通路的測試環(huán)境中對各待上線服務(wù)器進行測試,測試環(huán)境包括測試服務(wù)器,待測試服務(wù)器TestServer01,第一服務(wù)器ServerA01、ServerA02和ServerA03,第二服務(wù)器ServerB01、ServerB02和ServerB03,以及第三服務(wù)器ServerC;需要說明的是,在實際的業(yè)務(wù)系統(tǒng)中,第一服務(wù)器為打點服務(wù)器,第二服務(wù)器為節(jié)點服務(wù)器,第三服務(wù)器為數(shù)據(jù)中心服務(wù)器,多個打點服務(wù)器對應(yīng)于一個節(jié)點服務(wù)器,該多個打點服務(wù)器的業(yè)務(wù)數(shù)據(jù)均傳輸至對應(yīng)的節(jié)點服務(wù)器,多個節(jié)點服務(wù)器將來自各個打點服務(wù)器的業(yè)務(wù)數(shù)據(jù)再傳輸至數(shù)據(jù)中心服務(wù)器,當(dāng)待測試服務(wù)器TestServer01測試成功后,可作為第一服務(wù)器在該多方服務(wù)器間上線運行;如圖1所示,第一服務(wù)器ServerA01、ServerA02和ServerA03對應(yīng)的第二服務(wù)器為ServerB01,在測試過程中,配置待測試服務(wù)器TestServer01對應(yīng)的第二服務(wù)器為ServerB01,TestServer01、ServerA01、ServerA02和ServerA03將其各自接收到的測試消息傳輸至ServerB01;第二服務(wù)器ServerB01、ServerB02和ServerB03對應(yīng)的第三服務(wù)器為ServerC,ServerB01、ServerB02和ServerB03將來自其各自對應(yīng)的第一服務(wù)器的測試消息傳輸至ServerC;ServerB01與ServerC之間存在兩條數(shù)據(jù)傳輸通路,一條為ServerB01與ServerC之間最短直線距離的傳輸通路,另一條為ServerB01通過ServerB02和ServerB03與ServerC相連的數(shù)據(jù)傳輸通路。
本發(fā)明的實施例中,對各待上線服務(wù)器在多方服務(wù)器間數(shù)據(jù)通路的測試環(huán)境以圖2為例進行詳述,符合此連接關(guān)系的其他多方服務(wù)器間的連接方式還包括多種,在此不做限定。
需要說明的是,本發(fā)明的實施例中,對各待上線服務(wù)器在多方服務(wù)器間數(shù)據(jù)通路的測試環(huán)境中,包括多個第一服務(wù)器和多個第二服務(wù)器,第一服務(wù)器和第二服務(wù)器的數(shù)量,在此不做限定。
步驟S120:將測試消息發(fā)送至待測試服務(wù)器;其中,待測試服務(wù)器通過至少一個第二服務(wù)器向第三服務(wù)器上報測試數(shù)據(jù)。
例如,在多方服務(wù)器間數(shù)據(jù)通路的測試環(huán)境中對各待上線服務(wù)器進行測試,通過測試服務(wù)器將已生成的測試消息TestMsg01,發(fā)送至待測試服務(wù)器TestServer01,隨后,TestServer01將獲取到的測試消息TestMsg01發(fā)送至相匹配的第二服務(wù)器,如ServerB01,并通過ServerB01基于預(yù)定數(shù)據(jù)通路,如ServerB01通過ServerB02和ServerB03與ServerC相連的數(shù)據(jù)傳輸通路,將TestMsg01發(fā)送至ServerC。
步驟S130:根據(jù)第三服務(wù)器是否接收到測試消息和/或第三服務(wù)器接收到測試消息的時間,判斷待測試服務(wù)器與第三服務(wù)器之間的數(shù)據(jù)通路是否異常。
例如,在多方服務(wù)器間數(shù)據(jù)通路的測試環(huán)境中對各待上線服務(wù)器進行測試,若測試服務(wù)器監(jiān)測第三服務(wù)器ServerC接收到測試消息TestMsg01,測試服務(wù)器可判斷待測試服務(wù)器TestServer01與第三服務(wù)器ServerB03之間的數(shù)據(jù)通路正常傳輸數(shù)據(jù);若測試服務(wù)器監(jiān)測第三服務(wù)器ServerC未接收到測試消息TestMsg01,測試服務(wù)器可判斷待測試服務(wù)器TestServer01與第三服務(wù)器ServerB03之間的數(shù)據(jù)通路不能正常傳輸數(shù)據(jù)。
優(yōu)選地,步驟S130中判斷待測試服務(wù)器與第三服務(wù)器之間的數(shù)據(jù)通路是否異常的步驟進一步包括步驟S131;步驟S131:測試服務(wù)器將對應(yīng)于測試消息的第二測試通知消息發(fā)送至第三服務(wù)器,以使得第三服務(wù)器根據(jù)接收到的第二測試通知消息,以及是否接收到測試消息和/或接收到測試消息的時間,判斷待測試服務(wù)器與第三服務(wù)器之間的數(shù)據(jù)通路是否異常。
其中,第二測試通知消息包括以下一項或多項:測試消息內(nèi)容;測試消息的發(fā)送時間,例如:2016-12-12 02:10:00;測試消息的標(biāo)識信息,如TestMsg01;接收測試消息的待測試服務(wù)器的標(biāo)識信息,例如,待測試服務(wù)器TestServer01;及其匹配的第二服務(wù)器的標(biāo)識信息,如ServerB01。
例如,在多方服務(wù)器間數(shù)據(jù)通路的測試環(huán)境中對各待上線服務(wù)器進行測試,通過測試服務(wù)器將對應(yīng)于測試消息TestMsg01的第二測試通知消息發(fā)送至第三服務(wù)器ServerC,隨后,第三服務(wù)器ServerC根據(jù)接收到的第二測試通知消息,以及ServerC接收到測試消息TestMsg01的反饋信息,ServerC可判斷第一服務(wù)器ServerA01與第三服務(wù)器ServerB03之間的數(shù)據(jù)通路可正常傳輸數(shù)據(jù)。
優(yōu)選地,步驟S131中將與測試數(shù)據(jù)對應(yīng)的第二測試通知消息發(fā)送至第三服務(wù)器之前還包括步驟S132;步驟S132:基于配置信息,確定需向第三服務(wù)器發(fā)送的第二測試通知消息。
例如,在多方服務(wù)器間數(shù)據(jù)通路的測試環(huán)境中對各待上線服務(wù)器進行測試,基于已配置的待測試服務(wù)器TestServer01與其匹配的第二服務(wù)器的標(biāo)識信息為ServerB01,可確定需向第三服務(wù)器ServerC發(fā)送的第二測試通知消息,該第二測試通知消息中包括已確定的接收測試消息的待測試服務(wù)器的標(biāo)識信息TestServer01、TestServer01對應(yīng)的第二服務(wù)器的標(biāo)識信息ServerB01、測試消息的標(biāo)識信息TestMsg01以及該第二測試通知消息的標(biāo)識信息Msg03。
優(yōu)選地,第三服務(wù)器根據(jù)接收到的第二測試通知消息,以及是否接收到測試消息和/或接收到測試消息的時間,判斷第一服務(wù)器與第三服務(wù)器之間的數(shù)據(jù)通路是否異常的方式,包括:
1)若第三服務(wù)器接收到測試消息、且接收到測試消息的時間在預(yù)定監(jiān)測時長內(nèi),則確定預(yù)定數(shù)據(jù)通路可以正常傳輸數(shù)據(jù);例如,若測試服務(wù)器發(fā)送測試消息TestMsg01的時間為2016-12-12 02:10:00,監(jiān)測到接收到第三服務(wù)器ServerC返回的“已接收到與測試消息TestMsg01!”的信息,接收到TestMsg01的時間為2016-12-12 02:15:00,預(yù)定監(jiān)測時長為15分鐘,則接收到TestMsg01的時間在預(yù)定監(jiān)測時長內(nèi),則確定預(yù)定數(shù)據(jù)通路可以正常傳輸數(shù)據(jù)?;?/p>
2)若第三服務(wù)器未在預(yù)定監(jiān)測時長內(nèi)接收到測試消息,則確定預(yù)定數(shù)據(jù)通路不可以正常傳輸數(shù)據(jù);例如,若測試服務(wù)器發(fā)送測試消息TestMsg01的時間為2016-12-12 02:10:00,預(yù)定監(jiān)測時長為15分鐘,若至2016-12-12 02:25:00時一直未監(jiān)測到接收到第三服務(wù)器ServerC返回的“已接收到與測試消息TestMsg01!”的信息,則確定預(yù)定數(shù)據(jù)通路不可以正常傳輸數(shù)據(jù)?;?/p>
3)若第三服務(wù)器接收到測試消息、且接收到測試消息的時間超過預(yù)定監(jiān)測時長,則忽略測試消息,確定預(yù)定數(shù)據(jù)通路不可以正常傳輸數(shù)據(jù)。例如,若測試服務(wù)器發(fā)送測試消息TestMsg01的時間為2016-12-1202:10:00,監(jiān)測到接收到第三服務(wù)器ServerC返回的“已接收到與測試消息TestMsg01!”的信息,接收到TestMsg01的時間為2016-12-12 02:35:00,預(yù)定監(jiān)測時長為15分鐘,則接收到TestMsg01的時間超過預(yù)定監(jiān)測時長,則確定預(yù)定數(shù)據(jù)通路不可以正常傳輸數(shù)據(jù)。
通過本實施例,避免了將數(shù)據(jù)通路存在異常的數(shù)據(jù)通路判斷為可正常傳輸數(shù)據(jù)的情況,同時,極大地節(jié)約了測試時間,同時提高了測試的效率。
優(yōu)選地,步驟S130中判斷待測試服務(wù)器與第三服務(wù)器之間的數(shù)據(jù)通路是否異常進一步包括步驟S133和步驟S134;步驟S133:測試服務(wù)器將對應(yīng)于測試消息的第二測試通知消息發(fā)送至第三服務(wù)器,并監(jiān)測第三服務(wù)器是否返回其已接收到與第二測試通知消息相匹配的測試消息的反饋信息;步驟S134:依據(jù)監(jiān)測結(jié)果,判斷預(yù)定數(shù)據(jù)通路是否正常傳輸數(shù)據(jù)。
例如,在多方服務(wù)器間數(shù)據(jù)通路的測試環(huán)境中對各待上線服務(wù)器進行測試,通過測試服務(wù)器監(jiān)測第三服務(wù)器ServerC是否返回其已接收到與第二測試通知消息Msg03相匹配的測試消息TestMsg01的反饋信息,如ServerC返回的“已接收到與第二測試通知消息Msg03相匹配的測試消息標(biāo)識信息為TestMsg01的測試數(shù)據(jù)!”的反饋信息;針對待測試服務(wù)器TestServer01,預(yù)定測試數(shù)據(jù)通路為ServerB01與ServerC之間最短直線距離的傳輸通路,若測試服務(wù)器監(jiān)測到第三服務(wù)器ServerC返回的“已接收到與第二測試通知消息Msg03相匹配的測試消息標(biāo)識信息為TestMsg01的測試數(shù)據(jù)!”的反饋信息,可判斷確定TestServer01的預(yù)定測試數(shù)據(jù)通路測試成功。
優(yōu)選地,該測試方法還包括步驟S150;步驟S150:預(yù)存服務(wù)器列表,其中,服務(wù)器列表包括:
1)多個第一服務(wù)器與其各自對應(yīng)的第二服務(wù)器的對應(yīng)關(guān)系;例如,參照圖2,建立多方服務(wù)器間第一服務(wù)器,如ServerA04、ServerA05和ServerA06與第二服務(wù)器ServerB01之間數(shù)據(jù)傳輸?shù)膶?yīng)關(guān)系,則第一服務(wù)器ServerA01、ServerA02和ServerA03可直接將數(shù)據(jù)發(fā)送至相匹配的第二服務(wù)器ServerB01。
2)多個第二服務(wù)器與一個第三服務(wù)器的對應(yīng)關(guān)系;例如,參照圖2,建立第二服務(wù)器ServerB01和ServerB03和第三服務(wù)器ServerC之間數(shù)據(jù)傳輸?shù)膶?yīng)關(guān)系,則第二服務(wù)器ServerB01和ServerB03可直接將數(shù)據(jù)發(fā)送至第三服務(wù)器ServerC,由于第二服務(wù)器ServerB02不可直接將數(shù)據(jù)發(fā)送至第三服務(wù)器ServerC,僅能將數(shù)據(jù)發(fā)送至第二服務(wù)器ServerB01或ServerB03,則建立ServerB02與ServerB01之間數(shù)據(jù)傳輸?shù)膶?yīng)關(guān)系以及ServerB02與ServerB03之間數(shù)據(jù)傳輸?shù)膶?yīng)關(guān)系。
3)各個服務(wù)器的服務(wù)器相關(guān)信息。
例如,如圖2所示,在多方服務(wù)器間數(shù)據(jù)通路的測試環(huán)境中對各待上線服務(wù)器進行測試,預(yù)存服務(wù)器列表,如ServerList,ServerList中包括第一服務(wù)器ServerA01、ServerA02和ServerA03,第二服務(wù)器ServerB01、ServerB02和ServerB03,第三服務(wù)器ServerC及測試服務(wù)器各自的IP地址、各自的服務(wù)器標(biāo)識信息、各自的業(yè)務(wù)類型,以及第一服務(wù)器ServerA01、ServerA02和ServerA03與第二服務(wù)器ServerB01的數(shù)據(jù)傳輸對應(yīng)關(guān)系和第二服務(wù)器ServerB01、ServerB03和第三服務(wù)器ServerC的數(shù)據(jù)傳輸對應(yīng)關(guān)系等信息;隨后,根據(jù)ServerList可確定各第二服務(wù)器與第三服務(wù)器ServerC之間的數(shù)據(jù)通路,可預(yù)定ServerB01與ServerC之間的數(shù)據(jù)通路為ServerB01與ServerC最短直線距離對應(yīng)的數(shù)據(jù)通路,當(dāng)通過測試服務(wù)器,將測試消息TestMsg01發(fā)送至待測試服務(wù)器,如TestServer01,并將與測試信息TestMsg01對應(yīng)的第二測試通知消息,如Msg03,發(fā)送至第三服務(wù)器ServerC后,TestServer01根據(jù)已配置的與其匹配的第二服務(wù)器ServerB01的對應(yīng)數(shù)據(jù)傳輸關(guān)系,可確定與TestServer01相匹配的第二服務(wù)器為ServerB01,隨后TestServer01將接收到的測試消息TestMsg01發(fā)送至ServerB01;根據(jù)ServerList可確定ServerB01與第三服務(wù)器ServerC存在數(shù)據(jù)傳輸對應(yīng)關(guān)系,隨后通過ServerB01基于測試數(shù)據(jù)通路將測試消息TestMsg01直接發(fā)送至ServerC。
優(yōu)選地,步驟S150中若確定針對待測試服務(wù)器的測試數(shù)據(jù)通路測試成功,該測試方法還包括步驟S180;步驟S180:將待測試服務(wù)器的服務(wù)器相關(guān)信息作為第一服務(wù)器添加至服務(wù)器列表,并配置與其相匹配的第二服務(wù)器。
例如,若確定待測試服務(wù)器TestServer01的上線前數(shù)據(jù)通路測試成功,測試服務(wù)器將待測試服務(wù)器TestServer01的服務(wù)器相關(guān)信息ServerA04作為第一服務(wù)器的標(biāo)識信息添加至服務(wù)器列表ServerList,并配置與第一服務(wù)器ServerA04匹配的第二服務(wù)器,如配置與第一服務(wù)器ServerA04匹配的第二服務(wù)器為ServerB01。
又例如,若確定待測試服務(wù)器TestServer01的上線前數(shù)據(jù)通路測試成功,測試服務(wù)器將待測試服務(wù)器TestServer01的服務(wù)器相關(guān)信息ServerA04作為第一服務(wù)器的標(biāo)識信息添加至服務(wù)器列表ServerList,并配置與第一服務(wù)器ServerA01、ServerA02和ServerA04匹配的第二服務(wù)器為ServerB01,配置第一服務(wù)器ServerA03匹配的第二服務(wù)器為ServerB02。
圖3為本發(fā)明中另一實施例的數(shù)據(jù)通路的測試服務(wù)器的結(jié)構(gòu)示意圖。
本發(fā)明的實施例中,各模塊所執(zhí)行的內(nèi)容概述如下:接收及生成模塊310接收用戶通過服務(wù)器管理界面提供的測試接口發(fā)送的用于測試待測試服務(wù)器的第一測試通知消息,并依據(jù)第一測試通知消息生成測試消息;發(fā)送模塊320將測試消息發(fā)送至待測試服務(wù)器;其中,待測試服務(wù)器通過至少一個第二服務(wù)器向第三服務(wù)器上報測試數(shù)據(jù);判斷模塊330根據(jù)第三服務(wù)器是否接收到測試消息和/或第三服務(wù)器接收到測試消息的時間,判斷待測試服務(wù)器與第三服務(wù)器之間的數(shù)據(jù)通路是否異常。
本發(fā)明的實施例中,提出了一種數(shù)據(jù)通路的測試服務(wù)器,接收用戶通過服務(wù)器管理界面提供的測試接口發(fā)送的用于測試待測試服務(wù)器的第一測試通知消息,并依據(jù)第一測試通知消息生成測試消息,實現(xiàn)了用戶可通過簡單便捷地方式對待測試服務(wù)器進行相應(yīng)的配置,基于配置模擬待測試服務(wù)器上線后在系統(tǒng)中的數(shù)據(jù)通路,為后續(xù)待測試服務(wù)器能夠在多方服務(wù)器中進行數(shù)據(jù)通路的測試提供了必要的前提保障;將測試消息發(fā)送至待測試服務(wù)器;其中,待測試服務(wù)器通過至少一個第二服務(wù)器向第三服務(wù)器上報測試數(shù)據(jù),以使得待測試服務(wù)器將測試數(shù)據(jù)發(fā)送至相匹配的第二服務(wù)器,并通過第二服務(wù)器基于測試數(shù)據(jù)通路將測試數(shù)據(jù)發(fā)送至第三服務(wù)器,實現(xiàn)了根據(jù)各服務(wù)器之間的匹配關(guān)系確定相應(yīng)的數(shù)據(jù)通路,并通過該數(shù)據(jù)通路進行傳輸數(shù)據(jù)的測試,避免了對不必要的數(shù)據(jù)通路進行傳輸數(shù)據(jù)測試的情況,提高了服務(wù)器上線前在多方服務(wù)器間對數(shù)據(jù)通路進行傳輸數(shù)據(jù)測試的測試效率;根據(jù)第三服務(wù)器是否接收到測試消息和/或第三服務(wù)器接收到測試消息的時間,判斷待測試服務(wù)器與第三服務(wù)器之間的數(shù)據(jù)通路是否異常,實現(xiàn)了在上線前快速準(zhǔn)確地測試待測試服務(wù)器在多方服務(wù)器間的各路數(shù)據(jù)通路是否正常傳輸數(shù)據(jù),當(dāng)在測試過程中發(fā)生數(shù)據(jù)通路中斷或數(shù)據(jù)傳輸異常情況時,能夠為多方服務(wù)器的運行維護人員對待測試服務(wù)器在上線前進行重新評估調(diào)制提供重要的參考依據(jù),同時,無需暫停正常的業(yè)務(wù)數(shù)據(jù)傳輸即可實現(xiàn)對數(shù)據(jù)通路的測試,保證了為用戶提供正常的數(shù)據(jù)業(yè)務(wù)服務(wù)。
接收及生成模塊310接收用戶通過服務(wù)器管理界面提供的測試接口發(fā)送的用于測試待測試服務(wù)器的第一測試通知消息,并依據(jù)第一測試通知消息生成測試消息。
優(yōu)選地,該測試服務(wù)器還包括接收模塊;接收模塊接收用戶通過服務(wù)器管理界面提供的配置接口輸入的針對待測試服務(wù)器的測試配置信息。
其中,配置信息包括與待測試服務(wù)器相匹配的第二服務(wù)器、待測試服務(wù)器的服務(wù)器相關(guān)信息。
其中,服務(wù)器相關(guān)信息包括服務(wù)器網(wǎng)絡(luò)地址和服務(wù)器的標(biāo)識信息中的至少一項。
發(fā)送模塊320將測試消息發(fā)送至待測試服務(wù)器;其中,待測試服務(wù)器通過至少一個第二服務(wù)器向第三服務(wù)器上報測試數(shù)據(jù)。
判斷模塊330根據(jù)第三服務(wù)器是否接收到測試消息和/或第三服務(wù)器接收到測試消息的時間,判斷待測試服務(wù)器與第三服務(wù)器之間的數(shù)據(jù)通路是否異常。
優(yōu)選地,判斷模塊330包括發(fā)送單元;發(fā)送單元測試服務(wù)器將對應(yīng)于測試消息的第二測試通知消息發(fā)送至第三服務(wù)器,以使得第三服務(wù)器根據(jù)接收到的第二測試通知消息,以及是否接收到測試消息和/或接收到測試消息的時間,判斷待測試服務(wù)器與第三服務(wù)器之間的數(shù)據(jù)通路是否異常。
其中,第二測試通知消息包括以下一項或多項:測試消息內(nèi)容、測試消息的發(fā)送時間、測試消息的標(biāo)識信息、接收測試消息的待測試服務(wù)器的標(biāo)識信息及其匹配的第二服務(wù)器的標(biāo)識信息。
優(yōu)選地,在發(fā)送單元將與測試數(shù)據(jù)對應(yīng)的第二測試通知消息發(fā)送至第三服務(wù)器之前還包括確定單元;確定單元基于配置信息,確定需向第三服務(wù)器發(fā)送的第二測試通知消息。
優(yōu)選地,判斷模塊330包括發(fā)送及監(jiān)測單元和判斷單元;發(fā)送及監(jiān)測單元將對應(yīng)于測試消息的第二測試通知消息發(fā)送至第三服務(wù)器,并監(jiān)測第三服務(wù)器是否返回其已接收到與第二測試通知消息相匹配的測試消息的反饋信息;判斷單元依據(jù)監(jiān)測結(jié)果,判斷預(yù)定數(shù)據(jù)通路是否正常傳輸數(shù)據(jù)。
優(yōu)選地,該測試服務(wù)器還包括預(yù)存模塊;預(yù)存模塊預(yù)存服務(wù)器列表,其中,服務(wù)器列表包括多個待測試服務(wù)器與其各自對應(yīng)的第二服務(wù)器的對應(yīng)關(guān)系、多個第二服務(wù)器與一個第三服務(wù)器的對應(yīng)關(guān)系、以及各個服務(wù)器的服務(wù)器相關(guān)信息。
其中,服務(wù)器相關(guān)信息包括服務(wù)器網(wǎng)絡(luò)地址、服務(wù)器的標(biāo)識信息和服務(wù)器業(yè)務(wù)類型中的至少一項。
優(yōu)選地,若確定待測試服務(wù)器的測試數(shù)據(jù)通路測試成功,該測試服務(wù)器還包括添加及配置模塊;添加及配置模塊將待測試服務(wù)器的服務(wù)器相關(guān)信息作為第一服務(wù)器添加至服務(wù)器列表,并配置與其相匹配的第二服務(wù)器。
本發(fā)明實施例提供的數(shù)據(jù)通路的測試服務(wù)器可以實現(xiàn)上述提供的測試方法實施例,具體功能實現(xiàn)請參見測試方法實施例中的說明,在此不再贅述。
圖4為本發(fā)明中另一優(yōu)選實施例的數(shù)據(jù)通路的測試系統(tǒng)的結(jié)構(gòu)示意圖。
本發(fā)明的實施例中,各系統(tǒng)所執(zhí)行的內(nèi)容概述如下:測試服務(wù)器410接收用戶通過服務(wù)器管理界面提供的測試接口發(fā)送的用于測試待測試服務(wù)器的第一測試通知消息,并依據(jù)第一測試通知消息生成測試消息;將測試消息發(fā)送至待測試服務(wù)器,并將與測試消息對應(yīng)的第二測試通知消息發(fā)送至第三服務(wù)器;待測試服務(wù)器420接收測試消息,并將接收到的測試消息發(fā)送至相匹配的第二服務(wù)器;第二服務(wù)器430基于測試數(shù)據(jù)通路將測試消息發(fā)送至第三服務(wù)器;第三服務(wù)器440接收測試服務(wù)器發(fā)送的與測試消息對應(yīng)的第二測試通知消息;根據(jù)接收到的第二測試通知消息,以及是否接收到測試消息和/或接收到測試消息的時間,判斷待測試服務(wù)器與第三服務(wù)器之間的數(shù)據(jù)通路是否異常。
本發(fā)明的實施例中,提出了一種數(shù)據(jù)通路的測試系統(tǒng),測試服務(wù)器接收用戶通過服務(wù)器管理界面提供的測試接口發(fā)送的用于測試待測試服務(wù)器的第一測試通知消息,并依據(jù)第一測試通知消息生成測試消息,將測試消息發(fā)送至待測試服務(wù)器,并將與測試消息對應(yīng)的第二測試通知消息發(fā)送至第三服務(wù)器,實現(xiàn)了用戶可通過簡單便捷地方式對待測試服務(wù)器進行相應(yīng)的配置,基于配置模擬待測試服務(wù)器上線后在系統(tǒng)中的數(shù)據(jù)通路,為后續(xù)待測試服務(wù)器能夠在多方服務(wù)器中進行數(shù)據(jù)通路的測試提供了必要的前提保障;將測試消息發(fā)送至待測試服務(wù)器,并將與測試消息對應(yīng)的第二測試通知消息發(fā)送至第三服務(wù)器,以使得待測試服務(wù)器將測試消息發(fā)送至相匹配的第二服務(wù)器;待測試服務(wù)器接收測試消息,并將接收到的測試消息發(fā)送至相匹配的第二服務(wù)器;第二服務(wù)器基于測試數(shù)據(jù)通路將測試消息發(fā)送至第三服務(wù)器,為后續(xù)判斷數(shù)據(jù)通路是否正常傳輸數(shù)據(jù)提供了必要的前提保障;第三服務(wù)器接收測試服務(wù)器發(fā)送的與測試消息對應(yīng)的第二測試通知消息;根據(jù)接收到的第二測試通知消息,以及是否接收到測試消息和/或接收到測試消息的時間,判斷待測試服務(wù)器與第三服務(wù)器之間的數(shù)據(jù)通路是否異常;實現(xiàn)了根據(jù)各服務(wù)器之間的匹配關(guān)系確定相應(yīng)的數(shù)據(jù)通路,并通過該數(shù)據(jù)通路進行傳輸數(shù)據(jù)的測試,避免了對不必要的數(shù)據(jù)通路進行傳輸數(shù)據(jù)測試的情況,提高了服務(wù)器上線前在多方服務(wù)器間對數(shù)據(jù)通路進行傳輸數(shù)據(jù)測試的測試效率,同時,實現(xiàn)了在上線前快速準(zhǔn)確地測試待測試服務(wù)器在多方服務(wù)器間的各路數(shù)據(jù)通路是否正常傳輸數(shù)據(jù),當(dāng)在測試過程中發(fā)生數(shù)據(jù)通路中斷或數(shù)據(jù)傳輸異常情況時,能夠為多方服務(wù)器的運行維護人員對待測試服務(wù)器在上線前進行重新評估調(diào)制提供重要的參考依據(jù),同時,無需暫停正常的業(yè)務(wù)數(shù)據(jù)傳輸即可實現(xiàn)對數(shù)據(jù)通路的測試,保證了為用戶提供正常的數(shù)據(jù)業(yè)務(wù)服務(wù)。
在本實施例中,測試系統(tǒng)包括多個待測試服務(wù)器、多個第二服務(wù)器、一個第三服務(wù)器及一個測試服務(wù)器;其中,各個第一服務(wù)器具有相對應(yīng)的第二服務(wù)器,多個第二服務(wù)器對應(yīng)于該第三服務(wù)器。
測試服務(wù)器410接收用戶通過服務(wù)器管理界面提供的測試接口發(fā)送的用于測試待測試服務(wù)器的第一測試通知消息,并依據(jù)第一測試通知消息生成測試消息;將測試消息發(fā)送至待測試服務(wù)器,并將與測試消息對應(yīng)的第二測試通知消息發(fā)送至第三服務(wù)器。
其中,第二測試通知消息包括以下一項或多項:測試消息內(nèi)容、測試消息的發(fā)送時間、測試消息的標(biāo)識信息、接收測試消息的待測試服務(wù)器的標(biāo)識信息及其匹配的第二服務(wù)器的標(biāo)識信息。
待測試服務(wù)器420接收測試消息,并將接收到的測試消息發(fā)送至相匹配的第二服務(wù)器。
第二服務(wù)器430基于測試數(shù)據(jù)通路將測試消息發(fā)送至第三服務(wù)器。
第三服務(wù)器440接收測試服務(wù)器發(fā)送的與測試消息對應(yīng)的第二測試通知消息;根據(jù)接收到的第二測試通知消息,以及是否接收到測試消息和/或接收到測試消息的時間,判斷待測試服務(wù)器與第三服務(wù)器之間的數(shù)據(jù)通路是否異常。
優(yōu)選地,測試服務(wù)器410還用于接收用戶通過服務(wù)器管理界面提供的配置接口輸入的針對待測試服務(wù)器的測試配置信息。
其中,配置信息包括與待測試服務(wù)器相匹配的第二服務(wù)器、待測試服務(wù)器的服務(wù)器相關(guān)信息。
其中,服務(wù)器相關(guān)信息包括服務(wù)器網(wǎng)絡(luò)地址和服務(wù)器的標(biāo)識信息中的至少一項。
優(yōu)選地,測試數(shù)據(jù)通路包括從第二服務(wù)器至第三服務(wù)器的最短數(shù)據(jù)通路距離的數(shù)據(jù)通路。
例如,在多方服務(wù)器間數(shù)據(jù)通路的測試環(huán)境中對各待上線服務(wù)器進行測試,與第二服務(wù)器ServerB01、ServerB02和ServerB03進行數(shù)據(jù)傳輸對應(yīng)的第三服務(wù)器為ServerC,從ServerB01至ServerC最短數(shù)據(jù)通路距離為ServerB01與ServerC之間的直線距離的數(shù)據(jù)通路,可預(yù)定測試數(shù)據(jù)通路為ServerB01與ServerC之間的直線距離的數(shù)據(jù)通路。
優(yōu)選地,第二服務(wù)器430還用于若監(jiān)測到未成功通過測試數(shù)據(jù)通路將測試消息發(fā)送至第三服務(wù)器,則基于多個第二服務(wù)器與第三服務(wù)器之間的數(shù)據(jù)通路關(guān)系,重新選定第二服務(wù)器與第三服務(wù)器之間的可選數(shù)據(jù)通路,并通過可選數(shù)據(jù)通路將測試消息發(fā)送至第三服務(wù)器。
例如,如圖2所示,在多方服務(wù)器間數(shù)據(jù)通路的測試環(huán)境中對各待上線服務(wù)器進行測試,包括測試服務(wù)器、待測試服務(wù)器TestServer01,第二服務(wù)器ServerB01、ServerB02和ServerB03,和第三服務(wù)器ServerC,與待測試服務(wù)器TestServer01進行數(shù)據(jù)傳輸對應(yīng)的第二服務(wù)器為ServerB01,與第二服務(wù)器ServerB01進行數(shù)據(jù)傳輸對應(yīng)的第三服務(wù)器為ServerC,預(yù)定的數(shù)據(jù)通路為ServerB01與ServerC之間直線距離的數(shù)據(jù)通路;通過測試服務(wù)器將測試消息TestMsg01發(fā)送至待測試服務(wù)器TestServer01,并將與測試消息TestMsg01對應(yīng)的第二測試通知消息Msg03發(fā)送至第三服務(wù)器ServerC后,TestServer01將獲取到的測試消息TestMsg01發(fā)送至ServerB01,通過預(yù)定的數(shù)據(jù)通路,ServerB01將獲取到的測試消息TestMsg01發(fā)送至ServerC,在ServerB01將獲取到的測試消息TestMsg01發(fā)送至ServerC的過程中,若ServerB01監(jiān)測到未成功通過測試數(shù)據(jù)通路將測試消息TestMsg01發(fā)送至ServerC,則基于第二服務(wù)器ServerB01、ServerB02和ServerB03與第三服務(wù)器ServerC之間的數(shù)據(jù)通路關(guān)系,重新選定ServerB01與ServerC之間的可選數(shù)據(jù)通路為ServerB01通過與ServerB02和ServerB03相連至ServerC之間的數(shù)據(jù)通路,并通過該數(shù)據(jù)通路將測試消息TestMsg01發(fā)送至ServerC。
優(yōu)選地,第三服務(wù)器440用于判斷第一服務(wù)器與第三服務(wù)器之間的數(shù)據(jù)通路是否異常的方式,包括:
1)若第三服務(wù)器接收到測試消息、且接收到測試消息的時間在預(yù)定監(jiān)測時長內(nèi),則確定預(yù)定數(shù)據(jù)通路可以正常傳輸數(shù)據(jù);或
2)若第三服務(wù)器未在預(yù)定監(jiān)測時長內(nèi)接收到測試消息,則確定預(yù)定數(shù)據(jù)通路不可以正常傳輸數(shù)據(jù);或
3)若第三服務(wù)器接收到測試消息、且接收到測試消息的時間超過預(yù)定監(jiān)測時長,則忽略測試消息,確定預(yù)定數(shù)據(jù)通路不可以正常傳輸數(shù)據(jù)。
優(yōu)選地,測試服務(wù)器410還用于預(yù)存服務(wù)器列表;預(yù)存服務(wù)器列表,其中,服務(wù)器列表包括多個第一服務(wù)器與其各自對應(yīng)的第二服務(wù)器的對應(yīng)關(guān)系、多個第二服務(wù)器與一個第三服務(wù)器的對應(yīng)關(guān)系、以及各個服務(wù)器的服務(wù)器相關(guān)信息。
其中,服務(wù)器相關(guān)信息包括服務(wù)器網(wǎng)絡(luò)地址、服務(wù)器的標(biāo)識信息和服務(wù)器業(yè)務(wù)類型中的至少一項。
優(yōu)選地,若確定待測試服務(wù)器的測試數(shù)據(jù)通路測試成功,測試服務(wù)器410還用于將待測試服務(wù)器的服務(wù)器相關(guān)信息作為第一服務(wù)器添加至服務(wù)器列表,并配置與其相匹配的第二服務(wù)器。
本發(fā)明實施例提供的數(shù)據(jù)通路的測試系統(tǒng)可以實現(xiàn)上述提供的測試方法實施例,具體功能實現(xiàn)請參見測試方法實施例中的說明,在此不再贅述。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,本發(fā)明包括涉及用于執(zhí)行本申請中所述操作中的一項或多項的設(shè)備。這些設(shè)備可以為所需的目的而專門設(shè)計和制造,或者也可以包括通用計算機中的已知設(shè)備。這些設(shè)備具有存儲在其內(nèi)的計算機程序,這些計算機程序選擇性地激活或重構(gòu)。這樣的計算機程序可以被存儲在設(shè)備(例如,計算機)可讀介質(zhì)中或者存儲在適于存儲電子指令并分別耦聯(lián)到總線的任何類型的介質(zhì)中,所述計算機可讀介質(zhì)包括但不限于任何類型的盤(包括軟盤、硬盤、光盤、CD-ROM、和磁光盤)、ROM(Read-Only Memory,只讀存儲器)、RAM(Random Access Memory,隨即存儲器)、EPROM(Erasable Programmable Read-Only Memory,可擦寫可編程只讀存儲器)、EEPROM(Electrically Erasable Programmable Read-Only Memory,電可擦可編程只讀存儲器)、閃存、磁性卡片或光線卡片。也就是,可讀介質(zhì)包括由設(shè)備(例如,計算機)以能夠讀的形式存儲或傳輸信息的任何介質(zhì)。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,可以用計算機程序指令來實現(xiàn)這些結(jié)構(gòu)圖和/或框圖和/或流圖中的每個框以及這些結(jié)構(gòu)圖和/或框圖和/或流圖中的框的組合。本技術(shù)領(lǐng)域技術(shù)人員可以理解,可以將這些計算機程序指令提供給通用計算機、專業(yè)計算機或其他可編程數(shù)據(jù)處理方法的處理器來實現(xiàn),從而通過計算機或其他可編程數(shù)據(jù)處理方法的處理器來執(zhí)行本發(fā)明公開的結(jié)構(gòu)圖和/或框圖和/或流圖的框或多個框中指定的方案。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,本發(fā)明中已經(jīng)討論過的各種操作、方法、流程中的步驟、措施、方案可以被交替、更改、組合或刪除。進一步地,具有本發(fā)明中已經(jīng)討論過的各種操作、方法、流程中的其他步驟、措施、方案也可以被交替、更改、重排、分解、組合或刪除。進一步地,現(xiàn)有技術(shù)中的具有與本發(fā)明中公開的各種操作、方法、流程中的步驟、措施、方案也可以被交替、更改、重排、分解、組合或刪除。
以上所述僅是本發(fā)明的部分實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應(yīng)視為本發(fā)明的保護范圍。