本發(fā)明涉及分布式存儲系統(tǒng)測試領域,具體地說是一種基于rpc的分布式存儲系統(tǒng)測試方法及系統(tǒng)。
背景技術:
分布式存儲系統(tǒng)是由較多控制器主機組成的一個集群系統(tǒng),針對分布式存儲系統(tǒng)的測試需要較多的客戶端同步操作進行,不同的客戶端可以進行不同的用例測試,且測試用例比較多,如果測試用例順序執(zhí)行的話,需要時間比較久。
rpc(英文全稱為remoteprocedurecallprotocol,中文翻譯為遠程過程調用協(xié)議),它是一種通過網絡從遠程計算機程序上請求服務,而不需要了解底層網絡技術的協(xié)議。rpc協(xié)議假定某些傳輸協(xié)議的存在,如tcp(英文全稱為transmissioncontrolprotocol,中文翻譯為傳輸控制協(xié)議)或udp(userdatagramprotocol,中文翻譯為用戶數(shù)據(jù)報協(xié)議),為通信程序之間攜帶信息數(shù)據(jù)。在osi(英文全稱為opensysteminterconnection,中文翻譯為開放式系統(tǒng)互聯(lián))網絡通信模型中,rpc跨越了傳輸層和應用層。rpc使得開發(fā)包括網絡分布式多程序在內的應用程序更加容易。
rpc采用客戶機/服務器模式。請求程序就是一個客戶機,而服務提供程序就是一個服務器。首先,客戶機調用進程發(fā)送一個有進程參數(shù)的調用信息到服務進程,然后等待應答信息。在服務器端,進程保持睡眠狀態(tài)直到調用信息到達為止。當一個調用信息到達,服務器獲得進程參數(shù),計算結果,發(fā)送答復信息,然后等待下一個調用信息,最后,客戶端調用進程接收答復信息,獲得進程結果,然后調用執(zhí)行繼續(xù)進行。
如何基于rpc簡單快速的對分布式存儲系統(tǒng)進行測試,是需要解決的技術問題。
技術實現(xiàn)要素:
本發(fā)明的技術任務是提供一種基于rpc的分布式存儲系統(tǒng)測試方法及系統(tǒng),來解決分布式存儲系統(tǒng)測試過程中執(zhí)行不同的測試用例用時久、效率低的問題。
本發(fā)明的技術任務是按以下方式實現(xiàn)的:
基于rpc的分布式存儲系統(tǒng)測試方法,在每個被測設備上配置rpc服務端和lib庫,在控制臺上配置rpc客戶端,rpc客戶端、rpc服務端和lib庫配合對分布式存儲系統(tǒng)進行測試,包括如下步驟:
s1、rpc客戶端根據(jù)配置文件發(fā)送函數(shù)調用指令和參數(shù)至各個rpc服務端;
s2、rpc服務端調用與其對應的lib庫中的測試函數(shù)執(zhí)行當前測試用例;
s3、rpc服務端執(zhí)行完當前測試用例后,rpc客戶端根據(jù)配置文件調度rpc服務端執(zhí)行下一個測試用例。
其中,rpc客戶端根據(jù)配置文件發(fā)送函數(shù)調用指令和參數(shù)至各個rpc服務端,調度各個rpc服務端并行執(zhí)行測試用例,每個rpc服務端從與其對應的lib庫中調用與當前測試用例對應的測試函數(shù)來執(zhí)行測試用例,當rpc服務端執(zhí)行完測試用例后,rpc客戶端根據(jù)配置文件調度上述rpc服務端執(zhí)行下一個測試用例,重復執(zhí)行步驟s1至步驟s3。
進一步的,步驟s1中,rpc客戶端根據(jù)配置文件和各個rpc服務端建立連接,并按照測試用例執(zhí)行順序依次發(fā)送函數(shù)調用指令和參數(shù)至各個rpc服務端。
進一步的,步驟s2中,每個rpc服務端接收到函數(shù)調用指令和參數(shù)后,從與其對應的lib庫中查找與當前測試用例對應的測試函數(shù),并調用測試函數(shù)執(zhí)行當前測試用例,執(zhí)行完當前測試用例后,rpc服務端將執(zhí)行結果返回rpc客戶端。
進一步的,步驟s3中,接收到來自rpc服務端的執(zhí)行結果后,rpc客戶端根據(jù)配置文件調度對應的rpc服務端執(zhí)行下一個測試用例。
進一步的,lib庫中的測試函數(shù)是測試用例執(zhí)行過程的步驟邏輯。
基于rpc的分布式存儲系統(tǒng)測試系統(tǒng),包括rpc客戶端、rpc服務端和lib庫,rpc服務端和lib庫均共多個,rpc服務端和lib庫一一對應;rpc客戶端設置有配置文件,rpc客戶端能夠向rpc服務端發(fā)送函數(shù)調用指令和參數(shù)、并能夠調度上述多個rpc服務端并行執(zhí)行測試用例;lib庫用于存儲測試函數(shù);rpc服務端能夠調用lib的測試函數(shù)并執(zhí)行測試用例。
進一步的,lib庫中的存儲的測試函數(shù)是測試用例執(zhí)行過程的步驟邏輯。
進一步的,rpc服務端為能夠執(zhí)行測試用例后向rpc客戶端返回執(zhí)行結果的rpc服務端。
本發(fā)明的基于rpc的分布式存儲系統(tǒng)測試方法及系統(tǒng)具有以下優(yōu)點:通過rpc客戶端、rpc服務端和lib庫三個模塊對分布式存儲系統(tǒng)進行測試,通過在rpc客戶端配置文件即可自動并行完成所有測試用例,提高了測試效率,減少了測試執(zhí)行時間。
附圖說明
下面結合附圖對本發(fā)明進一步說明。
附圖1為基于rpc的分布式存儲系統(tǒng)測試方法的結構示意圖;
附圖2為基于rpc的分布式存儲系統(tǒng)測試系統(tǒng)的結構示意圖。
具體實施方式
參照說明書附圖和具體實施例對本發(fā)明的基于rpc的分布式存儲系統(tǒng)測試方法及系統(tǒng)作以下詳細地說明。
實施1:
本發(fā)明的基于rpc的分布式存儲系統(tǒng)測試方法,在每個被測設備上配置rpc服務端和lib庫,在控制臺上配置rpc客戶端,rpc客戶端中設置有配置文件,rpc客戶端、rpc服務端和lib庫配合對分布式存儲系統(tǒng)進行測試,包括如下步驟:
(1)、rpc客戶端根據(jù)配置文件和各個rpc服務端建立連接,并按照測試用例執(zhí)行順序依次發(fā)送函數(shù)調用指令和參數(shù)至各個rpc服務端;
(2)、每個rpc服務端接收到函數(shù)調用指令和參數(shù)后,從與其對應的lib庫中查找測試用例對應的測試函數(shù),并調用測試函數(shù)執(zhí)行具體的測試用例;
(3)、每個rpc服務端執(zhí)行完測試用例后,將執(zhí)行結果返回至rpc客戶端;
(4)、rpc客戶端接收到來自rpc服務端的執(zhí)行結果后,根據(jù)配置文件調度rpc服務端執(zhí)行下一個測試用例,重復步驟(1)到步驟(4)。
其中,lib庫中的測試函數(shù)是測試用例執(zhí)行過程的步驟邏輯。
本發(fā)明通過rpc客戶端、rpc服務端和lib庫完成對分布式存儲系統(tǒng)的測試,通過在rpc客戶端配置文件即可自動并行完成所有測試用例的執(zhí)行。
實施例2:
本發(fā)明的基于rpc的分布式存儲系統(tǒng)測試系統(tǒng),基于rpc的分布式存儲系統(tǒng)測試系統(tǒng),包括rpc客戶端、rpc服務端和lib庫,rpc服務端和lib庫均共多個,rpc服務端和lib庫一一對應;rpc客戶端設置有配置文件,rpc客戶端能夠向rpc服務端發(fā)送函數(shù)調用指令和參數(shù)、并能夠調度上述多個rpc服務端并行執(zhí)行測試用例;lib庫用于存儲測試函數(shù),該測試函數(shù)是測試用例執(zhí)行過程的步驟邏輯;rpc服務端能夠調用lib的測試函數(shù)并執(zhí)行測試用例,且rpc服務端為能夠執(zhí)行測試用例后向rpc客戶端返回執(zhí)行結果的rpc服務端。
本實施例中,rpc服務端和lib庫均共三個,每個rpc服務端對應一個被測設備,對應的每個lib庫對應一個被測設備。
本發(fā)明的基于rpc的分布式存儲系統(tǒng)測試系統(tǒng)用于對分布式存儲系統(tǒng)進行測試,rpc客戶端設置在控制臺,每個rpc服務端及對應的lib庫設置在與其相應的被測設備上,按照實施例1公開的基于rpc的分布式存儲系統(tǒng)測試方法對分布式存儲系統(tǒng)進行測試。
通過上面具體實施方式,所述技術領域的技術人員可容易的實現(xiàn)本發(fā)明。但是應當理解,本發(fā)明并不限于上述公開的具體實施方式。在公開的實施方式的基礎上,所述技術領域的技術人員可任意組合不同的技術特征,從而實現(xiàn)不同的技術方案。
除說明書所述的技術特征外,均為本專業(yè)技術人員的已知技術。