王百彥,李超,趙淑敏,李明亮,劉生雲
(西昌衛星發射中心,西昌615000)
近年來,隨著航天發射任務密度持續新高,在發射周期多則一個月,少則15 天的狀態下,數據處理軟件技術狀態轉換頻繁,維護周期短,對崗位人員的能力素質提出了更高的要求,人員壓力日益增大,軟件質量要求越來越高。如何能夠利用計算機輔助平臺實現軟件配置的自動識別和一鍵化維護顯得尤為重要。本文根據自身多年航天發射數據處理軟件運維經驗,在熟知數據處理軟件運維特點的基礎上,使用Microsoft Visual Studio 平臺中的Microsoft.Office.Interop.Word 組件,實現對任務資料的狀態變化識別和特征提取,完成數據處理軟件的運維工作。
目前,航天發射數據處理軟件的狀態變化識別所依據的資料主要有5 份,且均為Word 文檔,具體如表1 所示。

表1 數據處理軟件狀態變化識別依據資料表
(1)資料1:主要約定本次任務的任務標志、信息標識、火箭型號、衛星狀態、火箭發射軌道主要特征點參數等。
(2)資料2:主要約定本次任務遙測參數的處理方法、碼速率、波道號、位序等。
(3)資料3:主要約定本次任務的任務代號、發射工位、火箭型號、遙測參數、參試設備站址坐標等。
(4)資料4:主要約定本次任務的任務標志、信息標識、設備選優組合等。
(5)資料5:主要約定本次任務中心機發往顯示系統的數據包協議、信息傳輸格式等。
在Microsoft Visual Studio 2010 平臺中,通過加載Microsoft.Office.Interop.Word 組件可以實現對Word 文檔內容的讀取工作,具體實施步驟如下:
(1)在工程項目的引用中單擊鼠標右鍵,選擇“添加引用”選項,在彈出的對話框中選擇“Microsoft.Office.Interop.Word”,如圖1 所示。

圖1 添加Word組件
(2)在頭文件中添加Word 引用。
using Microsoft.Office.Interop.Word;
通過分析5 份資料的內容發現,所有信息點均以文本和表格兩種形式存在,為了便于后期對特征點的提取,首先將資料中的內容以文本和表格兩種形式進行讀取。Word 組件中提供了讀取這兩種數據的方法,具體如表2 所示。

表2 Word 文檔讀取方法表
通過以上方法可以實現資料內容的讀取。


將以上讀取方法進行封裝,方便對多個任務資料讀取時使用。


由于目前資料有5 份,通過定義數組類型,實現對多個資料內容的讀取工作。

2.3.1 文本內容識別
文本內容可以通過匹配關鍵字進行識別,例如要查找任務標志碼,在資料4 的文本內容中必有“任務標志”關鍵字出現,具體如圖2 所示。

圖2 任務資料文本內容中的關鍵字
在程序中通過查找這樣的關鍵字,即可以找到任務標志碼。
2.3.2 表格內容識別
程序中讀取表格的功能屬性如表3 所示。

表3 讀取表格功能屬性表
一個標準的m*n 表格使用Cells 方法讀取的格式如圖3 所示,使用Cell 方法讀取的格式如圖4 所示。一個合并單元格的m*n 表格使用Cells 方法讀取的格式如圖5 所示,使用Cell 方法讀取的格式如圖6 所示。

圖3 標準表格使用Cells 方法讀取的格式

圖4 標準表格使用Cell 方法讀取的格式

圖5 合并單元格表格使用Cells 方法讀取的格式使用

圖6 合并單元格表格Cell 方法讀取的格式
從表可以看出一個m*n 的表格讀取時有如下特點:
(1)單元格總數Cells.Count 小于或等于m*n,當Cells.Count 等于m*n 時,則該表格為標準表格;當Cells.Count 小于m*n 時,則該表格中有合并單元格格式;
(2)使用Cell(i,j)方法時,需要配合表格行數Rows.Count 和表格列數Columns.Count 使用;
(3)按順序查找單元格時,Cells[i]方法和Cell(i,j)的復雜度相同;
(4)當Cells.Count 小于m*n 時,使用Cell(i,j)方法通過行列循環查找時,會出現數組越界錯誤。
通過對所有任務資料中的表格分析發現,需要識別的表格格式有3 種類型,具體詳見圖7 所示。

圖7 任務資料中表格樣式
針對不同的類型采用不同的方法,操作步驟如下:
(1)查找相關表
通過識別表中的特定格式、特定字符、唯一標識等。a)~d)的識別點如表4 所示。

表4 表格內關鍵字識別表
以查找a)表為例,查詢代碼如下:

(2)識別表格中內容
a)表是將T 前面的序號按照大小順序提取出來。讀取方法如下:


b)表是通過參數代號提取理論值。讀取方法如下:


c)表是提取設備的站址坐標。讀取方法如下:

本文介紹了航天發射數據處理軟件維護依據任務資料情況及Word 文檔加載讀取方法,通過研究各配置項配置文件的特點和維護點需求,采用程序直接讀取任務文書的方式實現配置文件的一鍵化維護,有效地提高了軟件維護效率和維護質量,極大的節約了人力資源成本,也為其他有軟件維護需求的單位提供借鑒。