專(zhuān)利名稱(chēng):一種衛(wèi)星自動(dòng)化測(cè)試系統(tǒng)公共軟件接口確定方法
技術(shù)領(lǐng)域:
本發(fā)明涉及ー種衛(wèi)星自動(dòng)化測(cè)試系統(tǒng)公共軟件接ロ確定方法,主要應(yīng)用于衛(wèi)星綜合測(cè)試總控系統(tǒng)應(yīng)用軟件開(kāi)發(fā),屬于衛(wèi)星綜合測(cè)試技術(shù)領(lǐng)域。
背景技術(shù):
衛(wèi)星自動(dòng)化測(cè)試系統(tǒng)是衛(wèi)星綜合測(cè)試地面支持設(shè)備的核心。它是ー個(gè)大型分布式計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng),由測(cè)試服務(wù)軟件和測(cè)試應(yīng)用軟件組成。測(cè)試服務(wù)軟件提供測(cè)試數(shù)據(jù)的處理、分發(fā)、存儲(chǔ)、地面設(shè)備管理和遙控指令管理服務(wù);測(cè)試應(yīng)用軟件完成遙控指令的發(fā)送、地面設(shè)備的設(shè)置、測(cè)試數(shù)據(jù)以及測(cè)試信息的實(shí)時(shí)顯示、測(cè)試信息的查詢(xún)和分析。通過(guò)軟件之間的信息交互,共同完成衛(wèi)星上下行數(shù)據(jù)的處理、顯示和分析評(píng)估工作。以往的測(cè)試應(yīng)用軟件都是針對(duì)測(cè)試服務(wù)軟件提供的接ロ服務(wù),自行實(shí)現(xiàn)接ロ模 塊,這種實(shí)現(xiàn)方式存在以下不足I)需要具備指令發(fā)送和遙測(cè)數(shù)據(jù)顯示功能的測(cè)試應(yīng)用軟件都需要完成與測(cè)試服務(wù)軟件之間復(fù)雜的通信協(xié)議轉(zhuǎn)換,從而降低了軟件的開(kāi)發(fā)效率,増加了研制周期。2)需要具備歷史數(shù)據(jù)進(jìn)行查詢(xún)和分析功能的測(cè)試應(yīng)用軟件需要完成與測(cè)試數(shù)據(jù)庫(kù)(測(cè)試服務(wù)軟件中的ー種)的通信以及測(cè)試數(shù)據(jù)表結(jié)構(gòu)的解析,由于不同型號(hào)測(cè)試數(shù)據(jù)庫(kù)的類(lèi)型不同,表結(jié)構(gòu)也不一樣,導(dǎo)致軟件的研制難度增加,通用性變差。隨著衛(wèi)星測(cè)試對(duì)地面軟件的要求越來(lái)越高,以往的測(cè)試應(yīng)用軟件的開(kāi)發(fā)模式重用性差,耦合度高,不適合提高衛(wèi)星測(cè)試系統(tǒng)的自動(dòng)化水平,不能快速應(yīng)對(duì)衛(wèi)星測(cè)試應(yīng)用軟件的研制要求。
發(fā)明內(nèi)容
本發(fā)明的技術(shù)解決問(wèn)題是提出了ー種衛(wèi)星自動(dòng)化測(cè)試系統(tǒng)公共軟件接ロ確定方法,對(duì)測(cè)試服務(wù)軟件的訪問(wèn)接ロ進(jìn)行標(biāo)準(zhǔn)化,在測(cè)試應(yīng)用軟件和測(cè)試服務(wù)軟件之間加入了ー個(gè)通用軟件接ロ層,屏蔽測(cè)試服務(wù)軟件的應(yīng)用層通信協(xié)議,降低測(cè)試應(yīng)用軟件與測(cè)試服務(wù)軟件之間的耦合度,最大程度提高測(cè)試應(yīng)用軟件的開(kāi)發(fā)效率。本發(fā)明的技術(shù)解決方案是ー種衛(wèi)星自動(dòng)化測(cè)試系統(tǒng)公共軟件接ロ確定方法,步驟如下(I)根據(jù)衛(wèi)星自動(dòng)化測(cè)試系統(tǒng)中的測(cè)試應(yīng)用軟件的服務(wù)請(qǐng)求,首先調(diào)用服務(wù)創(chuàng)建エ廠,判斷是哪種服務(wù)請(qǐng)求;如果是指令發(fā)送服務(wù)請(qǐng)求,則通過(guò)服務(wù)創(chuàng)建エ廠產(chǎn)生指令發(fā)送服務(wù)接ロ,之后進(jìn)入步驟⑵;如果是數(shù)據(jù)訂閱服務(wù)請(qǐng)求,則通過(guò)服務(wù)創(chuàng)建エ廠產(chǎn)生數(shù)據(jù)訂閱服務(wù)接ロ,之后進(jìn)入步驟⑷;如果是數(shù)據(jù)查詢(xún)服務(wù)請(qǐng)求,則通過(guò)服務(wù)創(chuàng)建エ廠產(chǎn)生數(shù)據(jù)查詢(xún)服務(wù)接ロ,之后進(jìn)入步驟(7);(2)指令發(fā)送服務(wù)接ロ等待接收測(cè)試應(yīng)用軟件的網(wǎng)絡(luò)連接命令,之后向測(cè)試服務(wù)軟件的監(jiān)聽(tīng)端ロ調(diào)用TCP/IP的connect接ロ函數(shù)申請(qǐng)建立網(wǎng)絡(luò)連接;若網(wǎng)絡(luò)連接建立成功,則獲得該網(wǎng)絡(luò)連接的句柄,用來(lái)與該測(cè)試服務(wù)軟件進(jìn)行數(shù)據(jù)通信,之后自動(dòng)發(fā)送簽到消息給該測(cè)試服務(wù)軟件,從該測(cè)試服務(wù)軟件接收校時(shí)消息并完成系統(tǒng)校時(shí),同時(shí)向測(cè)試應(yīng)用軟件告知網(wǎng)絡(luò)連接成功,之后進(jìn)入步驟(3);若網(wǎng)絡(luò)連接建立失敗,則向測(cè)試應(yīng)用軟件告知失敗類(lèi)型,之后返回步驟(I)繼續(xù)等待測(cè)試應(yīng)用軟件的連接命令。(3)測(cè)試應(yīng)用軟件向指令發(fā)送服務(wù)接ロ發(fā)送設(shè)置命令、遙控指令或者管理命令,由指令發(fā)送服務(wù)接ロ打包之后將消息發(fā)送給測(cè)試服務(wù)軟件,同時(shí)采用同步的方式等待接收測(cè)試服務(wù)軟件的返回消息,若在預(yù)設(shè)的規(guī)定時(shí)間內(nèi)收到測(cè)試服務(wù)軟件的返回消息,則對(duì)返回消息進(jìn)行譯碼處理,將指令執(zhí)行結(jié)果返回給測(cè)試應(yīng)用軟件從而完成本次指令發(fā)送流程,之后再進(jìn)入步驟(3),直至測(cè)試應(yīng)用軟件主動(dòng)請(qǐng)求斷開(kāi)連接;若在規(guī)定時(shí)間內(nèi)未收到測(cè)試服務(wù)軟件的返回消息,則將錯(cuò)誤碼返回給測(cè)試應(yīng)用軟件,之后再進(jìn)入步驟(3),直至測(cè)試應(yīng)用軟件主動(dòng)請(qǐng)求斷開(kāi)連接;(4)數(shù)據(jù)訂閱服務(wù)接ロ等待接收測(cè)試應(yīng)用軟件的網(wǎng)絡(luò)連接命令,之后向測(cè)試服務(wù)軟件的監(jiān)聽(tīng)端ロ調(diào)用TCP/IP的connect接ロ函數(shù)申請(qǐng)建立網(wǎng)絡(luò)連接,若網(wǎng)絡(luò)連接建立成 功,則獲得該網(wǎng)絡(luò)連接的句柄,用來(lái)與測(cè)試服務(wù)軟件進(jìn)行數(shù)據(jù)通信,之后自動(dòng)發(fā)送簽到消息給測(cè)試服務(wù)軟件,從測(cè)試服務(wù)軟件接收校時(shí)消息并完成系統(tǒng)校時(shí),同時(shí)向測(cè)試應(yīng)用軟件告知網(wǎng)絡(luò)連接成功,之后進(jìn)入步驟(5);若網(wǎng)絡(luò)連接建立失敗,則向測(cè)試應(yīng)用軟件告知失敗類(lèi)型,之后回到步驟(4),繼續(xù)等待測(cè)試應(yīng)用軟件的連接命令;(5)測(cè)試應(yīng)用軟件向數(shù)據(jù)訂閱服務(wù)接ロ發(fā)送訂閱請(qǐng)求命令,由數(shù)據(jù)訂閱服務(wù)接ロ打包之后將消息發(fā)送給測(cè)試服務(wù)軟件,之后進(jìn)入步驟(6);(6)數(shù)據(jù)訂閱服務(wù)接ロ接收測(cè)試服務(wù)軟件轉(zhuǎn)發(fā)的所述訂閱請(qǐng)求命令對(duì)應(yīng)的測(cè)試數(shù)據(jù),數(shù)據(jù)訂閱服務(wù)接ロ對(duì)測(cè)試數(shù)據(jù)進(jìn)行解包處理,將測(cè)試數(shù)據(jù)提取后返回給測(cè)試應(yīng)用軟件,之后繼續(xù)執(zhí)行步驟(6)直至測(cè)試應(yīng)用軟件主動(dòng)請(qǐng)求斷開(kāi)連接,從而完成一次數(shù)據(jù)訂閱流程;(7)數(shù)據(jù)查詢(xún)服務(wù)接ロ等待接收測(cè)試應(yīng)用軟件的網(wǎng)絡(luò)連接命令,由數(shù)據(jù)查詢(xún)服務(wù)接ロ識(shí)別測(cè)試應(yīng)用軟件所要訪問(wèn)的測(cè)試數(shù)據(jù)庫(kù)的類(lèi)型,構(gòu)造數(shù)據(jù)庫(kù)網(wǎng)絡(luò)連接字串,之后向相應(yīng)數(shù)據(jù)庫(kù)的監(jiān)聽(tīng)端ロ調(diào)用連接函數(shù)申請(qǐng)建立網(wǎng)絡(luò)連接,若網(wǎng)絡(luò)連接建立成功,則獲得該連接的句柄,用來(lái)與數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)通信,之后進(jìn)入步驟(8);若網(wǎng)絡(luò)連接失敗,則向測(cè)試應(yīng)用軟件告知失敗類(lèi)型,之后重新執(zhí)行步驟(7)繼續(xù)等待測(cè)試應(yīng)用軟件的連接命令。(8)測(cè)試應(yīng)用軟件向數(shù)據(jù)查詢(xún)服務(wù)接ロ發(fā)送所需要查詢(xún)信息的種類(lèi)和參數(shù)內(nèi)容,由數(shù)據(jù)查詢(xún)服務(wù)接ロ將這些查詢(xún)信息的種類(lèi)和參數(shù)內(nèi)容翻譯成ー個(gè)或多個(gè)相應(yīng)數(shù)據(jù)庫(kù)的SQL語(yǔ)句,將其發(fā)送給數(shù)據(jù)庫(kù)進(jìn)行查詢(xún)操作,同時(shí)采用同步的方式等待接收數(shù)據(jù)庫(kù)的返回消息,若在規(guī)定時(shí)間內(nèi)收到數(shù)據(jù)庫(kù)的返回消息,則對(duì)返回消息進(jìn)行解包處理,將查詢(xún)結(jié)果提取后返回給測(cè)試應(yīng)用軟件從而完成本次測(cè)試數(shù)據(jù)的查詢(xún)流程,之后再執(zhí)行步驟(8),直至測(cè)試應(yīng)用軟件主動(dòng)請(qǐng)求斷開(kāi)連接;若在規(guī)定時(shí)間內(nèi)未收到數(shù)據(jù)庫(kù)的返回消息,則將錯(cuò)誤碼返回給測(cè)試應(yīng)用軟件,之后再執(zhí)行步驟(8),直至測(cè)試應(yīng)用軟件主動(dòng)請(qǐng)求斷開(kāi)連接;所述衛(wèi)星自動(dòng)化測(cè)試系統(tǒng)中的測(cè)試應(yīng)用軟件的服務(wù)請(qǐng)求包括指令發(fā)送服務(wù)請(qǐng)求、數(shù)據(jù)訂閱服務(wù)請(qǐng)求和數(shù)據(jù)查詢(xún)服務(wù)請(qǐng)求。所述服務(wù)創(chuàng)建エ廠是指采用設(shè)計(jì)模式中的エ廠模式,實(shí)現(xiàn)創(chuàng)建服務(wù)的統(tǒng)一接ロ。
本發(fā)明與現(xiàn)有技術(shù)相比的有益效果是
(I)本發(fā)明采用設(shè)計(jì)模式中的エ廠模式,實(shí)現(xiàn)了服務(wù)創(chuàng)建エ廠,集成了指令發(fā)送服務(wù),數(shù)據(jù)訂閱服務(wù)和數(shù)據(jù)查詢(xún)服務(wù),極大地提高了系統(tǒng)的靈活性,簡(jiǎn)化了測(cè)試應(yīng)用軟件對(duì)原有功能模塊的管理模式。(2)本發(fā)明引入的指令發(fā)送服務(wù)、數(shù)據(jù)訂閱服務(wù)和數(shù)據(jù)查詢(xún)服務(wù)在測(cè)試應(yīng)用軟件和測(cè)試服務(wù)軟件之間均起到了一個(gè)轉(zhuǎn)換器的作用,這三種服務(wù)屏蔽底層復(fù)雜的通信協(xié)議,使測(cè)試應(yīng)用軟件與測(cè)試服務(wù)軟件之間的通信過(guò)程盡量簡(jiǎn)化,使得測(cè)試應(yīng)用軟件開(kāi)發(fā)人員將重點(diǎn)放在自動(dòng)化測(cè)試業(yè)務(wù)上,縮短測(cè)試軟件的開(kāi)發(fā)周期,降低出錯(cuò)概率。(3)本發(fā)明引入的數(shù)據(jù)查詢(xún)服務(wù),還起到了一個(gè)適配器的作用,它的底層接ロ由數(shù)據(jù)庫(kù)廠商加載驅(qū)動(dòng)程序,對(duì)外則提供統(tǒng)ー的接ロ,解決了不同型號(hào)測(cè)試數(shù)據(jù)庫(kù)接ロ不統(tǒng)ー的問(wèn)題,使測(cè)試應(yīng)用軟件專(zhuān)注于查詢(xún)內(nèi)容,不必過(guò)多考慮不同數(shù)據(jù)庫(kù)的查詢(xún)接ロ。
圖I為本發(fā)明接ロ示意圖; 圖2為本發(fā)明的指令發(fā)送接ロ工作流程圖;圖3為本發(fā)明的數(shù)據(jù)訂閱接ロ工作流程圖;圖4為本發(fā)明的數(shù)據(jù)查詢(xún)接ロ工作流程圖。
具體實(shí)施例方式下面結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施方式
進(jìn)行進(jìn)一歩的詳細(xì)描述。在衛(wèi)星測(cè)試過(guò)程中,測(cè)試服務(wù)軟件負(fù)責(zé)提供各種應(yīng)用服務(wù),主要有(I)提供三種指令服務(wù)類(lèi)型遙控指令服務(wù)、前端設(shè)備管理服務(wù)以及管理服務(wù)。其中,遙控指令服務(wù)是指測(cè)試應(yīng)用軟件可以通過(guò)該服務(wù)發(fā)送測(cè)試過(guò)程需要的各種符合通信協(xié)議的遙控指令服務(wù);前端設(shè)備管理服務(wù)是指測(cè)試應(yīng)用軟件可以通過(guò)該指令服務(wù)遠(yuǎn)程管理接入測(cè)試服務(wù)軟件的各種前端測(cè)試設(shè)備;管理服務(wù)是指測(cè)試應(yīng)用軟件可以通過(guò)該指令服務(wù)對(duì)測(cè)試服務(wù)軟件的運(yùn)行情況進(jìn)行管理。(2)提供五種數(shù)據(jù)訂閱服務(wù)類(lèi)型訂閱測(cè)試信息、訂閱遙測(cè)原始幀、訂閱遙測(cè)參數(shù)值、訂閱設(shè)備參數(shù)值以及訂閱所有數(shù)據(jù)。其中,訂閱測(cè)試信息是指訂閱后測(cè)試服務(wù)軟件會(huì)將接收到所有測(cè)試信息轉(zhuǎn)發(fā)給客戶端;訂閱遙測(cè)原始幀是指訂閱后測(cè)試服務(wù)軟件會(huì)將遙測(cè)原始幀按照接收的頻率轉(zhuǎn)發(fā)給客戶端;訂閱遙測(cè)參數(shù)值是指訂閱后測(cè)試服務(wù)軟件會(huì)將遙測(cè)參數(shù)值按照接收的頻率轉(zhuǎn)發(fā)給客戶端;訂閱設(shè)備參數(shù)值是指訂閱后測(cè)試服務(wù)軟件會(huì)將設(shè)備參數(shù)值按照接收的頻率轉(zhuǎn)發(fā)給客戶端;訂閱所有數(shù)據(jù)是指客戶端可以選擇這種方式獲取所有的測(cè)試數(shù)據(jù)和測(cè)試信息,訂閱后測(cè)試服務(wù)軟件會(huì)將接收到的所有消息轉(zhuǎn)發(fā)給客戶端。(3)測(cè)試數(shù)據(jù)庫(kù)提供標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)的訪問(wèn)接ロ,支持歷史測(cè)試數(shù)據(jù)和測(cè)試信息的提取。測(cè)試應(yīng)用軟件需要向測(cè)試服務(wù)軟件發(fā)出各種服務(wù)請(qǐng)求,從測(cè)試服務(wù)軟件獲取執(zhí)行結(jié)果,為保證測(cè)試應(yīng)用軟件與測(cè)試服務(wù)軟件之間的信息交互流程盡量簡(jiǎn)化,減少重復(fù)開(kāi)發(fā)。本發(fā)明提供了ー種衛(wèi)星自動(dòng)化測(cè)試系統(tǒng)公共軟件接ロ確定方法,實(shí)施步驟如下(I)如圖I所示,根據(jù)衛(wèi)星自動(dòng)化測(cè)試系統(tǒng)中的測(cè)試應(yīng)用軟件的服務(wù)請(qǐng)求,首先調(diào)用服務(wù)創(chuàng)建エ廠,判斷是哪種服務(wù)請(qǐng)求;如果是指令發(fā)送服務(wù)請(qǐng)求,則通過(guò)服務(wù)創(chuàng)建エ廠產(chǎn)生指令發(fā)送服務(wù)接ロ,之后進(jìn)入步驟(2);如果是數(shù)據(jù)訂閱服務(wù)請(qǐng)求,則通過(guò)服務(wù)創(chuàng)建エ廠產(chǎn)生數(shù)據(jù)訂閱服務(wù)接ロ,之后進(jìn)入步驟⑷;如果是數(shù)據(jù)查詢(xún)服務(wù)請(qǐng)求,則通過(guò)服務(wù)創(chuàng)建エ廠產(chǎn)生數(shù)據(jù)查詢(xún)服務(wù)接ロ,之后進(jìn)入步驟(7);衛(wèi)星自動(dòng)化測(cè)試系統(tǒng)中的測(cè)試應(yīng)用軟件的服務(wù)請(qǐng)求包括指令發(fā)送服務(wù)請(qǐng)求、數(shù)據(jù)訂閱服務(wù)請(qǐng)求和數(shù)據(jù)查詢(xún)服務(wù)請(qǐng)求。服務(wù)創(chuàng)建エ廠是指采用設(shè)計(jì)模式中的エ廠模式,實(shí)現(xiàn)創(chuàng)建服務(wù)的統(tǒng)一接ロ。(2)如圖2所示,指令發(fā)送服務(wù)接ロ等待接收測(cè)試應(yīng)用軟件的網(wǎng)絡(luò)連接命令,之后向測(cè)試服務(wù)軟件的監(jiān)聽(tīng)端ロ調(diào)用TCP/IP的connect接ロ函數(shù)申請(qǐng)建立網(wǎng)絡(luò)連接;若網(wǎng)絡(luò)連接建立成功,則獲得該網(wǎng)絡(luò)連接的句柄,用來(lái)與該測(cè)試服務(wù)軟件進(jìn)行數(shù)據(jù)通信,之后自動(dòng)發(fā)送簽到消息給該測(cè)試服務(wù)軟件,從該測(cè)試服務(wù)軟件接收校時(shí)消息并完成系統(tǒng)校時(shí),同時(shí)向測(cè)試應(yīng)用軟件告知網(wǎng)絡(luò)連接成功,之后進(jìn)入步驟(3);若網(wǎng)絡(luò)連接建立失敗,則向測(cè)試應(yīng)用軟件告知失敗類(lèi)型,之后返回步驟(I)繼續(xù)等待測(cè)試應(yīng)用軟件的連接 命令;(3)測(cè)試應(yīng)用軟件向指令發(fā)送服務(wù)接ロ發(fā)送設(shè)置命令、遙控指令或者管理命令,由指令發(fā)送服務(wù)接ロ打包之后將消息發(fā)送給測(cè)試服務(wù)軟件,同時(shí)采用同步的方式等待接收測(cè)試服務(wù)軟件的返回消息,若在預(yù)設(shè)的規(guī)定時(shí)間內(nèi)收到測(cè)試服務(wù)軟件的返回消息,則對(duì)返回消息進(jìn)行譯碼處理,將指令執(zhí)行結(jié)果返回給測(cè)試應(yīng)用軟件從而完成本次指令發(fā)送流程,之后再進(jìn)入步驟(3),直至測(cè)試應(yīng)用軟件主動(dòng)請(qǐng)求斷開(kāi)連接;若在規(guī)定時(shí)間內(nèi)未收到測(cè)試服務(wù)軟件的返回消息,則將錯(cuò)誤碼返回給測(cè)試應(yīng)用軟件,之后再進(jìn)入步驟(3),直至測(cè)試應(yīng)用軟件主動(dòng)請(qǐng)求斷開(kāi)連接。(4)如圖3所示,數(shù)據(jù)訂閱服務(wù)接ロ等待接收測(cè)試應(yīng)用軟件的網(wǎng)絡(luò)連接命令,之后向測(cè)試服務(wù)軟件的監(jiān)聽(tīng)端ロ調(diào)用TCP/IP的connect接ロ函數(shù)申請(qǐng)建立網(wǎng)絡(luò)連接,若網(wǎng)絡(luò)連接建立成功,則獲得該網(wǎng)絡(luò)連接的句柄,用來(lái)與測(cè)試服務(wù)軟件進(jìn)行數(shù)據(jù)通信,之后自動(dòng)發(fā)送簽到消息給測(cè)試服務(wù)軟件,從測(cè)試服務(wù)軟件接收校時(shí)消息并完成系統(tǒng)校時(shí),同時(shí)向測(cè)試應(yīng)用軟件告知網(wǎng)絡(luò)連接成功,之后進(jìn)入步驟(5);若網(wǎng)絡(luò)連接建立失敗,則向測(cè)試應(yīng)用軟件告知失敗類(lèi)型,之后回到步驟(4),繼續(xù)等待測(cè)試應(yīng)用軟件的連接命令;(5)測(cè)試應(yīng)用軟件向數(shù)據(jù)訂閱服務(wù)接ロ發(fā)送訂閱請(qǐng)求命令,由數(shù)據(jù)訂閱服務(wù)接ロ打包之后將消息發(fā)送給測(cè)試服務(wù)軟件,之后進(jìn)入步驟(6)。(6)數(shù)據(jù)訂閱服務(wù)接ロ接收測(cè)試服務(wù)軟件轉(zhuǎn)發(fā)的所述訂閱請(qǐng)求命令對(duì)應(yīng)的測(cè)試數(shù)據(jù),數(shù)據(jù)訂閱服務(wù)接ロ對(duì)測(cè)試數(shù)據(jù)進(jìn)行解包處理,將測(cè)試數(shù)據(jù)提取后返回給測(cè)試應(yīng)用軟件,之后繼續(xù)執(zhí)行步驟(6)直至測(cè)試應(yīng)用軟件主動(dòng)請(qǐng)求斷開(kāi)連接,從而完成一次數(shù)據(jù)訂閱流程。(7)如圖4所示,數(shù)據(jù)查詢(xún)服務(wù)接ロ等待接收測(cè)試應(yīng)用軟件的網(wǎng)絡(luò)連接命令,由數(shù)據(jù)查詢(xún)服務(wù)接ロ識(shí)別測(cè)試應(yīng)用軟件所要訪問(wèn)的測(cè)試數(shù)據(jù)庫(kù)的類(lèi)型,比如Oracle或者SQLServer,構(gòu)造數(shù)據(jù)庫(kù)網(wǎng)絡(luò)連接字串,之后向相應(yīng)數(shù)據(jù)庫(kù)的監(jiān)聽(tīng)端ロ調(diào)用連接函數(shù)申請(qǐng)建立網(wǎng)絡(luò)連接,若網(wǎng)絡(luò)連接建立成功,則獲得該連接的句柄,用來(lái)與數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)通信,之后進(jìn)入步驟(8);若網(wǎng)絡(luò)連接失敗,則向測(cè)試應(yīng)用軟件告知失敗類(lèi)型,之后重新執(zhí)行步驟(7)繼續(xù)等待測(cè)試應(yīng)用軟件的連接命令。(8)測(cè)試應(yīng)用軟件向數(shù)據(jù)查詢(xún)服務(wù)接ロ發(fā)送所需要查詢(xún)信息的種類(lèi)和參數(shù)內(nèi)容,由數(shù)據(jù)查詢(xún)服務(wù)接ロ將這些查詢(xún)信息的種類(lèi)和參數(shù)內(nèi)容翻譯成ー個(gè)或多個(gè)相應(yīng)數(shù)據(jù)庫(kù)的SQL語(yǔ)句,將其發(fā)送給數(shù)據(jù)庫(kù)進(jìn)行查詢(xún)操作,同時(shí)采用同步的方式等待接收數(shù)據(jù)庫(kù)的返回消息,若在規(guī)定時(shí)間內(nèi)收到數(shù)據(jù)庫(kù)的返回消息,則對(duì)返回消息進(jìn)行解包處理,將查詢(xún)結(jié)果提取后返回給測(cè)試應(yīng)用軟件從而完成本次測(cè)試數(shù)據(jù)的查詢(xún)流程,之后再執(zhí)行步驟(8),直至測(cè)試應(yīng)用軟件主動(dòng)請(qǐng)求斷開(kāi)連接;若在規(guī)定時(shí)間內(nèi)未收到數(shù)據(jù)庫(kù)的返回消息,則將錯(cuò)誤碼返回給測(cè)試應(yīng)用軟件,之后再執(zhí)行步驟(8),直至測(cè)試應(yīng)用軟件主動(dòng)請(qǐng)求斷開(kāi)連接;
目前已有部分在研型號(hào)衛(wèi)星上使用本發(fā)明方法,經(jīng)過(guò)整星測(cè)試表明,應(yīng)用了本發(fā)明方法后,新研的測(cè)試應(yīng)用軟件的開(kāi)發(fā)周期大大縮短,可靠性有效提高。本發(fā)明未公開(kāi)技術(shù)屬本領(lǐng)域技術(shù)人員公知常識(shí)。
權(quán)利要求
1.ー種衛(wèi)星自動(dòng)化測(cè)試系統(tǒng)公共軟件接ロ確定方法,其特征在于步驟如下(1)根據(jù)衛(wèi)星自動(dòng)化測(cè)試系統(tǒng)中的測(cè)試應(yīng)用軟件的服務(wù)請(qǐng)求,首先調(diào)用服務(wù)創(chuàng)建エ廠,判斷是哪種服務(wù)請(qǐng)求;如果是指令發(fā)送服務(wù)請(qǐng)求,則通過(guò)服務(wù)創(chuàng)建エ廠產(chǎn)生指令發(fā)送服務(wù)接ロ,之后進(jìn)入步驟(2);如果是數(shù)據(jù)訂閱服務(wù)請(qǐng)求,則通過(guò)服務(wù)創(chuàng)建エ廠產(chǎn)生數(shù)據(jù)訂閱服務(wù)接ロ,之后進(jìn)入步驟(4);如果是數(shù)據(jù)查詢(xún)服務(wù)請(qǐng)求,則通過(guò)服務(wù)創(chuàng)建エ廠產(chǎn)生數(shù)據(jù)查詢(xún)服務(wù)接ロ,之后進(jìn)入步驟(7);(2)指令發(fā)送服務(wù)接ロ等待接收測(cè)試應(yīng)用軟件的網(wǎng)絡(luò)連接命令,之后向測(cè)試服務(wù)軟件的監(jiān)聽(tīng)端ロ調(diào)用TCP/IP的connect接ロ函數(shù)申請(qǐng)建立網(wǎng)絡(luò)連接;若網(wǎng)絡(luò)連接建立成功,則獲得該網(wǎng)絡(luò)連接的句柄,用來(lái)與該測(cè)試服務(wù)軟件進(jìn)行數(shù)據(jù)通信,之后自動(dòng)發(fā)送簽到消息給該測(cè)試服務(wù)軟件,從該測(cè)試服務(wù)軟件接收校時(shí)消息并完成系統(tǒng)校時(shí),同時(shí)向測(cè)試應(yīng)用軟件告知網(wǎng)絡(luò)連接成功,之后進(jìn)入步驟(3);若網(wǎng)絡(luò)連接建立失敗,則向測(cè)試應(yīng)用軟件告知失敗類(lèi)型,之后返回步驟(I)繼續(xù)等待測(cè)試應(yīng)用軟件的連接命令。(3)測(cè)試應(yīng)用軟件向指令發(fā)送服務(wù)接ロ發(fā)送設(shè)置命令、遙控指令或者管理命令,由指令發(fā)送服務(wù)接ロ打包之后將消息發(fā)送給測(cè)試服務(wù)軟件,同時(shí)采用同步的方式等待接收測(cè)試服務(wù)軟件的返回消息,若在預(yù)設(shè)的規(guī)定時(shí)間內(nèi)收到測(cè)試服務(wù)軟件的返回消息,則對(duì)返回消息進(jìn)行譯碼處理,將指令執(zhí)行結(jié)果返回給測(cè)試應(yīng)用軟件從而完成本次指令發(fā)送流程,之后再進(jìn)入步驟(3),直至測(cè)試應(yīng)用軟件主動(dòng)請(qǐng)求斷開(kāi)連接;若在規(guī)定時(shí)間內(nèi)未收到測(cè)試服務(wù)軟件的返回消息,則將錯(cuò)誤碼返回給測(cè)試應(yīng)用軟件,之后再進(jìn)入步驟(3),直至測(cè)試應(yīng)用軟件主動(dòng)請(qǐng)求斷開(kāi)連接;(4)數(shù)據(jù)訂閱服務(wù)接ロ等待接收測(cè)試應(yīng)用軟件的網(wǎng)絡(luò)連接命令,之后向測(cè)試服務(wù)軟件的監(jiān)聽(tīng)端ロ調(diào)用TCP/IP的connect接ロ函數(shù)申請(qǐng)建立網(wǎng)絡(luò)連接,若網(wǎng)絡(luò)連接建立成功,則獲得該網(wǎng)絡(luò)連接的句柄,用來(lái)與測(cè)試服務(wù)軟件進(jìn)行數(shù)據(jù)通信,之后自動(dòng)發(fā)送簽到消息給測(cè)試服務(wù)軟件,從測(cè)試服務(wù)軟件接收校時(shí)消息并完成系統(tǒng)校時(shí),同時(shí)向測(cè)試應(yīng)用軟件告知網(wǎng)絡(luò)連接成功,之后進(jìn)入步驟(5);若網(wǎng)絡(luò)連接建立失敗,則向測(cè)試應(yīng)用軟件告知失敗類(lèi)型,之后回到步驟(4),繼續(xù)等待測(cè)試應(yīng)用軟件的連接命令;(5)測(cè)試應(yīng)用軟件向數(shù)據(jù)訂閱服務(wù)接ロ發(fā)送訂閱請(qǐng)求命令,由數(shù)據(jù)訂閱服務(wù)接ロ打包之后將消息發(fā)送給測(cè)試服務(wù)軟件,之后進(jìn)入步驟(6);(6)數(shù)據(jù)訂閱服務(wù)接ロ接收測(cè)試服務(wù)軟件轉(zhuǎn)發(fā)的所述訂閱請(qǐng)求命令對(duì)應(yīng)的測(cè)試數(shù)據(jù),數(shù)據(jù)訂閱服務(wù)接ロ對(duì)測(cè)試數(shù)據(jù)進(jìn)行解包處理,將測(cè)試數(shù)據(jù)提取后返回給測(cè)試應(yīng)用軟件,之后繼續(xù)執(zhí)行步驟(6)直至測(cè)試應(yīng)用軟件主動(dòng)請(qǐng)求斷開(kāi)連接,從而完成一次數(shù)據(jù)訂閱流程;(7)數(shù)據(jù)查詢(xún)服務(wù)接ロ等待接收測(cè)試應(yīng)用軟件的網(wǎng)絡(luò)連接命令,由數(shù)據(jù)查詢(xún)服務(wù)接ロ識(shí)別測(cè)試應(yīng)用軟件所要訪問(wèn)的測(cè)試數(shù)據(jù)庫(kù)的類(lèi)型,構(gòu)造數(shù)據(jù)庫(kù)網(wǎng)絡(luò)連接字串,之后向相應(yīng)數(shù)據(jù)庫(kù)的監(jiān)聽(tīng)端ロ調(diào)用連接函數(shù)申請(qǐng)建立網(wǎng)絡(luò)連接,若網(wǎng)絡(luò)連接建立成功,則獲得該連接的句柄,用來(lái)與數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)通信,之后進(jìn)入步驟(8);若網(wǎng)絡(luò)連接失敗,則向測(cè)試應(yīng)用軟件告知失敗類(lèi)型,之后重新執(zhí)行步驟(7)繼續(xù)等待測(cè)試應(yīng)用軟件的連接命令。(8)測(cè)試應(yīng)用軟件向數(shù)據(jù)查詢(xún)服務(wù)接ロ發(fā)送所需要查詢(xún)信息的種類(lèi)和參數(shù)內(nèi)容,由數(shù)據(jù)查詢(xún)服務(wù)接ロ將這些查詢(xún)信息的種類(lèi)和參數(shù)內(nèi)容翻譯成ー個(gè)或多個(gè)相應(yīng)數(shù)據(jù)庫(kù)的SQL語(yǔ)句,將其發(fā)送給數(shù)據(jù)庫(kù)進(jìn)行查詢(xún)操作,同時(shí)采用同步的方式等待接收數(shù)據(jù)庫(kù)的返回消息,若在規(guī)定時(shí)間內(nèi)收到數(shù)據(jù)庫(kù)的返回消息,則對(duì)返回消息進(jìn)行解包處理,將查詢(xún)結(jié)果提取后返回給測(cè)試應(yīng)用軟件從而完成本次測(cè)試數(shù)據(jù)的查詢(xún)流程,之后再執(zhí)行步驟(8),直至測(cè)試應(yīng)用軟件主動(dòng)請(qǐng)求斷開(kāi)連接;若在規(guī)定時(shí)間內(nèi)未收到數(shù)據(jù)庫(kù)的返回消息,則將錯(cuò)誤碼返回給測(cè)試應(yīng)用軟件,之后再執(zhí)行步驟(8),直至測(cè)試應(yīng)用軟件主動(dòng)請(qǐng)求斷開(kāi)連接。
2.根據(jù)權(quán)利要求I所述的ー種衛(wèi)星自動(dòng)化測(cè)試系統(tǒng)公共軟件接ロ確定方法,其特征在干所述衛(wèi)星自動(dòng)化測(cè)試系統(tǒng)中的測(cè)試應(yīng)用軟件的服務(wù)請(qǐng)求包括指令發(fā)送服務(wù)請(qǐng)求、數(shù)據(jù)訂閱服務(wù)請(qǐng)求和數(shù)據(jù)查詢(xún)服務(wù)請(qǐng)求。
3.根據(jù)權(quán)利要求I所述的ー種衛(wèi)星自動(dòng)化測(cè)試系統(tǒng)公共軟件接ロ確定方法,其特征在于所述服務(wù)創(chuàng)建エ廠是指采用設(shè)計(jì)模式中的エ廠模式,實(shí)現(xiàn)創(chuàng)建服務(wù)的統(tǒng)一接ロ。
全文摘要
一種衛(wèi)星自動(dòng)化測(cè)試系統(tǒng)公共軟件接口確定方法,對(duì)測(cè)試服務(wù)軟件的訪問(wèn)接口進(jìn)行標(biāo)準(zhǔn)化,在測(cè)試應(yīng)用軟件和測(cè)試服務(wù)軟件之間加入了一個(gè)通用軟件接口層,屏蔽測(cè)試服務(wù)軟件的應(yīng)用層通信協(xié)議,降低測(cè)試應(yīng)用軟件與測(cè)試服務(wù)軟件之間的耦合度,最大程度提高測(cè)試應(yīng)用軟件的開(kāi)發(fā)效率。本發(fā)明采用設(shè)計(jì)模式中的工廠模式,實(shí)現(xiàn)了服務(wù)創(chuàng)建工廠,集成了指令發(fā)送服務(wù),數(shù)據(jù)訂閱服務(wù)和數(shù)據(jù)查詢(xún)服務(wù),極大地提高了系統(tǒng)的靈活性,簡(jiǎn)化了測(cè)試應(yīng)用軟件對(duì)原有功能模塊的管理模式。
文檔編號(hào)H04B17/00GK102833015SQ201210264420
公開(kāi)日2012年12月19日 申請(qǐng)日期2012年7月27日 優(yōu)先權(quán)日2012年7月27日
發(fā)明者宋宏江, 何曉宇, 白少華, 閆金棟 申請(qǐng)人:北京空間飛行器總體設(shè)計(jì)部