[發(fā)明專利]基于網絡拓撲發(fā)現的測試腳本發(fā)布方法無效
| 申請?zhí)枺?/td> | 200910136048.4 | 申請日: | 2009-04-24 |
| 公開(公告)號: | CN101616039A | 公開(公告)日: | 2009-12-30 |
| 發(fā)明(設計)人: | 李莉蓉;王宇亮 | 申請(專利權)人: | 北京德瑞海普科技有限公司 |
| 主分類號: | H04L12/26 | 分類號: | H04L12/26;H04L1/18;H04L29/06 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 100085北京市海淀區(qū)北三*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 網絡 拓撲 發(fā)現 測試 腳本 發(fā)布 方法 | ||
基于網絡拓撲發(fā)現的測試腳本發(fā)布方法,其特征在于該方法是通過測試腳本接收客戶端和測試腳本發(fā)布服務器端(以下簡稱客戶端和服務器)的逐步交互協(xié)商實現,其步驟如下:
步驟(1.):客戶端啟動后如果接收到測試人員輸入的測試信息,則向服務器發(fā)送測試腳本請求報文,該測試腳本請求報文包含用戶輸入的項目有測試名稱、主測試號、子項目測試號(名詞定義同服務器端的說明),同時初始化一個時間間隔為5s的定時器,開始等待服務器的測試腳本請求應答報文,如果客戶端5s內未收到服務器的應答報文并且重傳次數未滿三次,則繼續(xù)給服務器端發(fā)送一次測試腳本請求報文,如果重傳次數超過三次則向用戶提示服務器無響應;
步驟(2.):客戶端如果收到服務器發(fā)送的測試腳本請求應答報文,則依次執(zhí)行以下步驟:
步驟(2.1.):在客戶端建立一張服務器保活表,測試腳本發(fā)布服務器保活表含有服務器的IP地址以及連接情況字段,其中連接情況字段用來保存客戶端在收到測試腳本請求應答后接收到服務器發(fā)送保活報文的次數,初始化時的值為3;
步驟(2.2.):客戶端將參與服務器的IP地址填入服務器保活表中相應位置,并且將對應的服務器連接情況字段置為3,同時為該表項初始化一個25s的定時器,開始等待服務器發(fā)送網絡拓撲發(fā)現開始報文,如果客戶端在25s內未收到服務器發(fā)送的網絡拓撲發(fā)現開始報文,則告知用戶測試腳本下載失敗,回到步驟(1.);
步驟(2.3.):客戶端每隔5s的時間間隔掃描一次服務器保活表,如果發(fā)現服務器的記錄中連接情況字段為0或者小于0,則告知用戶服務器不可達,并且回到步驟(1.),反之則將服務器的記錄中連接情況字段減去1,同時向服務器發(fā)送保活報文,并且繼續(xù)執(zhí)行以下步驟;
步驟(2.4.):如果客戶端接收到服務器發(fā)送的保活報文,則根據報文中的服務器IP地址查找服務器保活表,如果找到對應表項,則將服務器連接情況字段加1,并且將該表項的定時器時間重置為最大值,同時向服務器發(fā)送保活定時器,如果沒有找到對應表項,則將該保活報文丟棄;
步驟(3.):客戶端如果收到服務器的網絡拓撲發(fā)現開始報文,則立刻給服務器發(fā)送確認報文,并且依次執(zhí)行以下步驟:
步驟(3.1.):從服務器發(fā)送的網絡拓撲發(fā)現開始報文中取出客戶端描述字段,同時建立一張網絡拓撲鄰接表,網絡拓撲鄰接表含有客戶端IP地址、連接情況字段,將客戶端描述字段中客戶端IP地址填入網絡拓撲鄰接表,并且初始化將對應連接情況字段置為3,同時初始化一個10s的定時器,定時器超時后按照網絡拓撲鄰接表中所記錄的客戶端IP地址,如果連接情況字段大于0,則該客戶端發(fā)送保活報文,否則不向該客戶端發(fā)送報文;
步驟(3.2.):為每個客戶端初始化一個15s的定時器,當定時器超時后,查看網絡拓撲鄰接表中記錄該客戶端的連接情況,如果連接情況字段為0或者小于0則不做任何操作,反之則將網絡實驗服務器的記錄中連接情況字段減去1;
步驟(4.):客戶端如果收到其它客戶端發(fā)送的保活報文,則將網絡鄰接表中的對應客戶端連接情況字段置為3,并且將該客戶端的定時器值重置為最大值;
步驟(5.):客戶端如果收到服務器端網絡拓撲發(fā)現結束報文,則終止網絡拓撲發(fā)現,同時給服務器端發(fā)送網絡拓撲發(fā)現結束應答報文,報文中包括測試名稱、主測試號、子測試號以及網絡拓撲鄰接表,同時將網絡拓撲鄰接表中的記錄清空,并且初始化一個10s的定器器,等待服務器發(fā)送測試腳本發(fā)布報文,如果定時器超時沒有收到服務器發(fā)送的測試腳本發(fā)布報文,則告知客戶測試腳本發(fā)布失敗,回到步驟(1.),如果收到服務器發(fā)送的測試腳本發(fā)布報文,則將報文中的測試腳本信息存儲,并且向服務器發(fā)送測試腳本接收確認報文,等待服務器發(fā)送測試開始報文,接收到測試開始報文后開始測試,測試腳本發(fā)布結束;
步驟(6.):服務器端建立網絡協(xié)議測試腳本表,其中包括測試名稱、主測試號、子測試號、測試腳本描述、角色描述,并等待客戶端的請求,其中測試名稱字段用來存放該實驗項目的名稱如“移動IP協(xié)議測試”,主測試號字段用來存放用于標記當前測試的唯一標識為八位二進制數,子測試號字段用來存放標記當前測試子項目的編號為四位二進制數,如“移動IP協(xié)議測試”中子測試號為11的測試項目其完整名稱為“移動IP協(xié)議測試11”,測試腳本描述字段用來存放針對該測試行為的描述,角色描述字段用來存放當前腳本記錄所對應的角色;
步驟(7.):服務器端建立網絡拓撲表,網絡拓撲表用于描述當前測試中充當各個角色的客戶機連接情況,其中包括角色描述和網絡連接鄰接矩陣,角色描述字段用來存放當前網絡連接所對應角色的名稱,網絡連接鄰接矩陣字段用來表示當前角色所對應的網絡連接情況,根據測試腳本文件中的網絡鄰接拓撲注釋信息初始化網絡拓撲表的各個字段;
步驟(8.):服務器端建立網絡協(xié)議測試客戶端表,其中包括所有參與測試客戶機IP地址字段、主測試號、子測試號、角色描述和連接情況字段,參與測試客戶機IP地址字段為當前被測試人員安排來參與測試的客戶機的真實IP地址,主測試號字段用來存放用于標記當前測試的唯一標識為八位二進制數,子測試號字段用來存放標記當前測試子項目的編號為四位二進制數,角色描述字段用來唯一標識當前客戶機在測試中所對應的角色,連接情況字段為服務器端用來記錄向客戶端發(fā)送保活報文的次數,初始化值為3,如果連續(xù)3次沒有收到客戶端的保活報文,將表示客戶機不可達;
步驟(9.):如果收到了客戶端測試腳本請求報文,則用該報文中的主測試號字段查找網絡協(xié)議測試腳本表,如果網絡協(xié)議測試腳本表中不存在與該報文中主測試號相同的測試項目,則向客戶端發(fā)送通知報文,告知不存在該測試項目,并且結束服務器端操作;反之如果測試項目表中存在與該報文中主測試號相同的實驗項目,則掃描網絡協(xié)議測試客戶端表,檢查是否已經記錄該客戶端信息,如果沒有則將該客戶機的IP地址填入網絡協(xié)議測試客戶端表,并且將報文中的主測試號和子測試號取出填入網絡協(xié)議測試客戶端表中,同時將連接情況字段初始化值置為3,并且初始化一個為10s的定時器,開始給客戶機發(fā)送保活報文,再按照如下步驟繼續(xù)掃描網絡協(xié)議測試腳本表中的網絡拓撲表;
步驟(9.1.):掃描網絡拓撲表,獲取當前參與測試的角色數N,如果N大于網絡協(xié)議測試客戶端表中的客戶機記錄數目,則不做任何操作,
步驟(9.2.):如果N等于或者小于網絡協(xié)議測試客戶端表中的客戶機記錄數目,則向網絡協(xié)議測試客戶端表中的所有客戶端發(fā)送網絡拓撲發(fā)現開始報文,報文的內容為除當前發(fā)送的目標客戶機之外所有客戶機IP地址,并且初始化一個20s的定時器等待網絡拓撲發(fā)現結束,
步驟(9.3.):如果等待時間結束則掃描網絡協(xié)議測試客戶端表,給所有客戶機發(fā)送網絡拓撲發(fā)現結束報文,同時初始化一個20s的定時器,開始等待客戶機發(fā)送的網絡拓撲發(fā)現應答報文;
步驟(10.):服務器端如果在20s內沒有收到所有參加該次的客戶端的確認報文,則將網絡協(xié)議測試客戶端表中對應的客戶機記錄的連接情況字段標識為不可達,同時回到步驟(9.);反之則將在網絡協(xié)議測試客戶端表中將所有參加該次測試的客戶端的連接次數加1,并且從參加本次測試的所有客戶端發(fā)送的網絡拓撲應答報文中取出網絡拓撲鄰接矩陣,依次執(zhí)行以下步驟:
步驟(10.1.):掃描網絡拓撲表,如果當前客戶端所發(fā)送的網絡拓撲鄰接矩陣與網絡拓撲表中的矩陣配對成功,則從網絡拓撲表中取出角色描述,并且掃描網絡協(xié)議客戶端表以找到相匹配的記錄,將角色描述填入該條記錄的角色;
步驟(10.2.):掃描網絡協(xié)議測試客戶端表,取出每個客戶端記錄的主測試號、子測試號、角色描述,并且以其為索引掃描網絡協(xié)議測試腳本表,如果找到相對應的測試腳本記錄,則給該客戶機發(fā)送測試腳本發(fā)布報文,報文內容包括主測試號、子測試號、角色描述和測試腳本描述,如果未找到相對應的測試腳本記錄,則給客戶機發(fā)布測試腳本發(fā)布結束報文;
步驟(10.3.):所有報文發(fā)送完畢以后,初始化一個時間長度為20s的定時器,并開始等待所有參加該次測試客戶端的測試腳本接收確認報文;
步驟(11.):服務器端如果在20s內收到了所有參加該次腳本接收的客戶端的確認報文,則給網絡協(xié)議測試客戶端表中的所有客戶端發(fā)送測試開始報文;反之測試腳本發(fā)布結束。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京德瑞海普科技有限公司,未經北京德瑞海普科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910136048.4/1.html,轉載請聲明來源鉆瓜專利網。





