一種高可靠數(shù)據(jù)發(fā)布存儲(chǔ)系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于航空航天技術(shù)領(lǐng)域,特別涉及一種高可靠數(shù)據(jù)發(fā)布存儲(chǔ)系統(tǒng)及方法。
【背景技術(shù)】
[0002]隨著空間科技的發(fā)展,航天器的功能和結(jié)構(gòu)越來越復(fù)雜,如此龐雜的大系統(tǒng)完全按照設(shè)計(jì)者預(yù)期方式運(yùn)行的難度越來越大。在航天器測(cè)試過程中,采用的數(shù)據(jù)傳輸系統(tǒng)相對(duì)于傳統(tǒng)的傳輸方式要求更高,可靠的數(shù)據(jù)傳輸系統(tǒng)是航天器測(cè)試工作正常工作的基礎(chǔ)。由于現(xiàn)階段測(cè)試自動(dòng)化要求,測(cè)試過程靠發(fā)出指令后設(shè)備自主執(zhí)行,由計(jì)算機(jī)采集后,數(shù)據(jù)回傳發(fā)布至瀏覽終端供測(cè)試人員實(shí)時(shí)瀏覽分析。如判定數(shù)據(jù)無誤,則進(jìn)行下一項(xiàng)測(cè)試,測(cè)試結(jié)束后,再將相關(guān)數(shù)據(jù)存儲(chǔ)作為歷史試驗(yàn)的依據(jù)。如果通信環(huán)節(jié)、存儲(chǔ)環(huán)節(jié)失效造成數(shù)據(jù)丟失,數(shù)據(jù)發(fā)布終端斷路,測(cè)試需要重新進(jìn)行,會(huì)耗費(fèi)大量的人力、物力、財(cái)力;而關(guān)鍵數(shù)據(jù)未存儲(chǔ)造成數(shù)據(jù)丟失或者殘缺不全,也會(huì)嚴(yán)重影響后續(xù)的數(shù)據(jù)分析。因此,從數(shù)據(jù)處理設(shè)備、數(shù)據(jù)發(fā)布終端直至數(shù)據(jù)存儲(chǔ)設(shè)備之間建立一條高可靠的數(shù)據(jù)傳輸發(fā)布通路,保證數(shù)據(jù)的存儲(chǔ)和發(fā)布就顯得尤為重要。
[0003]因此,需要開發(fā)具備高可靠性、適用于航天器系統(tǒng)的數(shù)據(jù)發(fā)布存儲(chǔ)技術(shù),實(shí)現(xiàn)目航天器數(shù)據(jù)發(fā)布存儲(chǔ)系統(tǒng)的全系統(tǒng)冗余備份。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的在于提供一種適用于航天器測(cè)試過程的高可靠數(shù)據(jù)發(fā)布存儲(chǔ)系統(tǒng)及方法,能夠?qū)崿F(xiàn)航天器數(shù)據(jù)發(fā)布存儲(chǔ)系統(tǒng)的全系統(tǒng)冗余備份。
[0005]實(shí)現(xiàn)本發(fā)明目的的技術(shù)方案:一種高可靠數(shù)據(jù)發(fā)布存儲(chǔ)系統(tǒng),該系統(tǒng)由數(shù)據(jù)服務(wù)器A組與數(shù)據(jù)服務(wù)器B組組成,數(shù)據(jù)服務(wù)器A組包括數(shù)據(jù)實(shí)時(shí)發(fā)布服務(wù)器A與歷史存儲(chǔ)服務(wù)器A,數(shù)據(jù)服務(wù)器B組包括數(shù)據(jù)實(shí)時(shí)發(fā)布服務(wù)器B與歷史存儲(chǔ)服務(wù)器B ;數(shù)據(jù)實(shí)時(shí)發(fā)布服務(wù)器A由信息收集模塊A及實(shí)時(shí)數(shù)據(jù)發(fā)布模塊A組成,數(shù)據(jù)實(shí)時(shí)發(fā)布服務(wù)器B由信息收集模塊B及實(shí)時(shí)數(shù)據(jù)發(fā)布模塊B組成;歷史存儲(chǔ)服務(wù)器A由歷史存儲(chǔ)模塊A、歷史數(shù)據(jù)發(fā)布模塊A及數(shù)據(jù)同步模塊A組成,歷史存儲(chǔ)服務(wù)器B由歷史存儲(chǔ)模塊B、歷史數(shù)據(jù)發(fā)布模塊B及數(shù)據(jù)同步模塊B組成。
[0006]所述的信息收集模塊A、信息收集模塊B同時(shí)采集待測(cè)設(shè)備的參數(shù)信息轉(zhuǎn)化為數(shù)字量后分別發(fā)送至實(shí)時(shí)數(shù)據(jù)發(fā)布模塊A、實(shí)時(shí)數(shù)據(jù)發(fā)布模塊B;實(shí)時(shí)數(shù)據(jù)發(fā)布模塊A、實(shí)時(shí)數(shù)據(jù)發(fā)布模塊B分別接收信息收集模塊A、信息收集模塊B發(fā)送的數(shù)據(jù);數(shù)據(jù)瀏覽終端連接實(shí)時(shí)數(shù)據(jù)發(fā)布模塊A、實(shí)時(shí)數(shù)據(jù)發(fā)布模塊B進(jìn)行實(shí)時(shí)瀏覽;同時(shí),實(shí)時(shí)數(shù)據(jù)發(fā)布模塊A、實(shí)時(shí)數(shù)據(jù)發(fā)布模塊B分別將數(shù)據(jù)傳輸至歷史存儲(chǔ)模塊A及歷史存儲(chǔ)模塊B進(jìn)行存儲(chǔ)。
[0007]所述的歷史存儲(chǔ)模塊A和歷史存儲(chǔ)模塊B將所有采集的數(shù)據(jù)保存至數(shù)據(jù)庫進(jìn)行存儲(chǔ),數(shù)據(jù)瀏覽終端如需查看歷史數(shù)據(jù),則連接歷史數(shù)據(jù)發(fā)布模塊A及歷史數(shù)據(jù)發(fā)布模塊B提取歷史數(shù)據(jù)進(jìn)行瀏覽。
[0008]所述的數(shù)據(jù)同步模塊A與數(shù)據(jù)同步模塊B判定當(dāng)前數(shù)據(jù)服務(wù)器A組與數(shù)據(jù)服務(wù)器B組狀態(tài):當(dāng)數(shù)據(jù)服務(wù)器A組失效、數(shù)據(jù)服務(wù)器B組未失效時(shí),將數(shù)據(jù)服務(wù)器B組數(shù)據(jù)同步至數(shù)據(jù)服務(wù)器A組;當(dāng)數(shù)據(jù)服務(wù)器B組失效、數(shù)據(jù)服務(wù)器A組未失效時(shí),將數(shù)據(jù)服務(wù)器A組數(shù)據(jù)同步至數(shù)據(jù)服務(wù)器B組;當(dāng)數(shù)據(jù)服務(wù)器A組和數(shù)據(jù)服務(wù)器B組同時(shí)失效時(shí),不執(zhí)行同步。
[0009]一種高可靠數(shù)據(jù)發(fā)布存儲(chǔ)方法,該方法包括以下步驟:
[0010](I)用戶登錄數(shù)據(jù)瀏覽終端進(jìn)行數(shù)據(jù)瀏覽;
[0011](2)數(shù)據(jù)瀏覽終端建立與數(shù)據(jù)服務(wù)器A組、數(shù)據(jù)服務(wù)器B組的數(shù)據(jù)及心跳通訊連接;
[0012](3)數(shù)據(jù)瀏覽終端開始監(jiān)測(cè)數(shù)據(jù)實(shí)時(shí)發(fā)布服務(wù)器A發(fā)送至瀏覽終端心跳信息;
[0013](4)數(shù)據(jù)瀏覽終端判斷是否收到數(shù)據(jù)實(shí)時(shí)發(fā)布服務(wù)器A的心跳信息;如當(dāng)前周期已收心跳信息,則代表數(shù)據(jù)服務(wù)器A組工作正常,則執(zhí)行下面的步驟(6),采用數(shù)據(jù)服務(wù)器A組對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)及歷史發(fā)布;
[0014](5)如數(shù)據(jù)瀏覽終端當(dāng)前周期未收數(shù)據(jù)實(shí)時(shí)發(fā)布服務(wù)器A的心跳信息但在連續(xù)的三個(gè)周期內(nèi)收到,同樣代表數(shù)據(jù)服務(wù)器A組工作正常,則執(zhí)行下面的步驟(6),采用數(shù)據(jù)服務(wù)器A組對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)及歷史發(fā)布;
[0015](6)采用數(shù)據(jù)服務(wù)器A組對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)及歷史發(fā)布;
[0016](7)如數(shù)據(jù)瀏覽終端當(dāng)前周期未收到數(shù)據(jù)實(shí)時(shí)發(fā)布服務(wù)器A的心跳信息,且在連續(xù)的三個(gè)周期內(nèi)也未收到數(shù)據(jù)實(shí)時(shí)發(fā)布服務(wù)器A的心跳信息,則代表數(shù)據(jù)服務(wù)器A組失效,數(shù)據(jù)瀏覽終端開始監(jiān)測(cè)數(shù)據(jù)實(shí)時(shí)發(fā)布服務(wù)器B發(fā)送至瀏覽終端的心跳信息;
[0017](8)數(shù)據(jù)瀏覽終端判斷是否收到數(shù)據(jù)實(shí)時(shí)發(fā)布服務(wù)器B的心跳信息;如當(dāng)前周期已收到數(shù)據(jù)實(shí)時(shí)發(fā)布服務(wù)器B的心跳信息,則代表數(shù)據(jù)服務(wù)器B組工作正常,則執(zhí)行步驟
(10),采用數(shù)據(jù)服務(wù)器B組對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)及歷史發(fā)布;
[0018](9)如當(dāng)前周期未收到數(shù)據(jù)實(shí)時(shí)發(fā)布服務(wù)器B的心跳信息,但在連續(xù)的三個(gè)周期內(nèi)收到,同樣代表數(shù)據(jù)服務(wù)器B組工作正常,則執(zhí)行下面的步驟(10),采用數(shù)據(jù)服務(wù)器B組對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)及歷史發(fā)布;
[0019](10)采用數(shù)據(jù)服務(wù)器B組對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)及歷史發(fā)布;
[0020](11)如當(dāng)前周期未收到實(shí)時(shí)數(shù)據(jù)發(fā)布模塊B的心跳信息,且在連續(xù)的三個(gè)周期內(nèi)也未收到心跳,則代表數(shù)據(jù)服務(wù)器B組失效;
[0021](12)如數(shù)據(jù)服務(wù)器A、B組都失效,則系統(tǒng)失效,發(fā)布中止,當(dāng)數(shù)據(jù)瀏覽結(jié)束后,無論數(shù)據(jù)服務(wù)器A、B組在瀏覽過程中是否失效,均執(zhí)行下面的步驟(13);
[0022](13)數(shù)據(jù)同步模塊執(zhí)行數(shù)據(jù)同步。
[0023]所述的步驟(I)中的數(shù)據(jù)瀏覽步驟具體如下:
[0024](1.1)瀏覽終端工作開始,首先建立瀏覽終端與數(shù)據(jù)服務(wù)器A的心跳連接;
[0025](1.2)如心跳連接成功,則用戶根據(jù)參數(shù)名稱,選取自己需要查看的瀏覽參數(shù),并選取想要瀏覽的方式:數(shù)據(jù)數(shù)值查看或者曲線瀏覽,上述步驟完成后,等待數(shù)據(jù)數(shù)據(jù)服務(wù)器A組發(fā)送數(shù)據(jù)后顯示;
[0026](1.3)如心跳連接不成功,則嘗試建立與數(shù)據(jù)服務(wù)器B組的心跳連接;
[0027](1.4)如與數(shù)據(jù)服務(wù)器B組的心跳連接成功,則用戶根據(jù)參數(shù)名稱,選取自己需要查看的瀏覽參數(shù),并選取想要瀏覽的方式:數(shù)據(jù)數(shù)值查看或者曲線瀏覽,上述步驟完成后,等待數(shù)據(jù)服務(wù)器B組發(fā)送數(shù)據(jù)后顯示,則繼續(xù)執(zhí)行下面的步驟(2);
[0028](1.5)如與數(shù)據(jù)服務(wù)器B組的心跳連接不成功,則表明數(shù)據(jù)服務(wù)器A組與數(shù)據(jù)服務(wù)器B組同時(shí)失效,則數(shù)據(jù)發(fā)布系統(tǒng)失效,則執(zhí)行下面的步驟(13)。
[0029]所述的步驟(6)中數(shù)據(jù)服務(wù)器A組的數(shù)據(jù)發(fā)布步驟如下:
[0030](6.1)數(shù)據(jù)采集開始后,實(shí)時(shí)數(shù)據(jù)發(fā)布模塊A實(shí)時(shí)監(jiān)測(cè)信息收集模塊A的心跳信息,如實(shí)時(shí)數(shù)據(jù)發(fā)布模塊A已收到信息收集模塊A的心跳信息;則判定信息收集模塊A工作正常,實(shí)時(shí)數(shù)據(jù)發(fā)布模塊A繼續(xù)向?yàn)g覽終端發(fā)送心跳信息,并同時(shí)將心跳信息傳輸至歷史存儲(chǔ)模塊A進(jìn)行存儲(chǔ);
[0031](6.2)如實(shí)時(shí)數(shù)據(jù)發(fā)布模塊A未收到信息收集模塊A的心跳信息,但在接下來的連續(xù)四個(gè)周期內(nèi)收到信息收集模塊A的心跳信息;則仍然判定信息收集模塊A工作正常,實(shí)時(shí)數(shù)據(jù)發(fā)布模塊A繼續(xù)向?yàn)g覽終端發(fā)送心跳信息,并同時(shí)將心跳信息傳輸至歷史存儲(chǔ)模塊A進(jìn)行存儲(chǔ);
[0032](6.3)如實(shí)時(shí)數(shù)據(jù)發(fā)布模塊A未收到信息收集模塊A的心跳信息,而且接下來的連續(xù)四個(gè)周期內(nèi)都未收到