本發(fā)明屬于航天器研制全階段技術(shù)文件編寫領(lǐng)域,涉及一種通信衛(wèi)星設(shè)計文件自動生成方法,將設(shè)計數(shù)據(jù)集替代通用文檔的可變部分,最后通過設(shè)計數(shù)據(jù)集的唯一關(guān)鍵字及計算規(guī)則生成可變部分?jǐn)?shù)據(jù),自動生成通用設(shè)計文檔。
背景技術(shù):
通信衛(wèi)星研制過程中會有各類文件來反應(yīng)衛(wèi)星的各項技術(shù)指標(biāo)及所處研制階段狀態(tài)。這些文件的編制流程幾乎都是固定的,只是涉及到的衛(wèi)星的具體參數(shù)、狀態(tài)指標(biāo)不同,目前這些文件均由型號設(shè)計師手動編寫,雖然會繼承以前型號的文檔模板,但是由于手動編寫的不確定性、個人喜歡及內(nèi)容編排方式不一致,同一個文檔在不同型號之間內(nèi)容、風(fēng)格相去甚遠(yuǎn),這樣不僅降低了設(shè)計工作效率,導(dǎo)致文檔繼承性差,更增加了文檔出錯的可能性和對具體人員的依賴性,給其他設(shè)計師的閱讀和使用帶來了麻煩。
大連理工大學(xué)CN201310280580.X號專利描述了一種基于OpenXML的創(chuàng)建docx文檔和將格式不整齊的docx文檔轉(zhuǎn)換成所需格式的docx文檔的方法,涉及到利用OpenXML創(chuàng)建和轉(zhuǎn)換文檔,但并未指出如何利用OpenXML創(chuàng)建設(shè)計文檔數(shù)據(jù)集,如何利用OpenXML關(guān)鍵字、計算規(guī)則、搜索策略來自動生成新的文檔。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明解決的技術(shù)問題是:克服衛(wèi)星研制過程中手動編寫技術(shù)文檔設(shè)計工作效率低下,編排方式不一致,文檔繼承性差,容易出錯和依賴于具體設(shè)計師的問題,提出了一種通信衛(wèi)星設(shè)計文件自動生成方法,使得衛(wèi)星研制過程中各類文檔模板一致、內(nèi)容清晰、風(fēng)格統(tǒng)一、閱讀、使用起來更規(guī)范化、人性化。
本發(fā)明的技術(shù)方案是:一種通信衛(wèi)星設(shè)計文件自動生成方法,步驟如下:
1)通過對通信衛(wèi)星海量多特征同類異構(gòu)設(shè)計數(shù)據(jù)信息進(jìn)行小顆粒度分類歸納,完成設(shè)計數(shù)據(jù)信息特征提取,分類統(tǒng)一通信衛(wèi)星設(shè)計數(shù)據(jù)格式,形成通信衛(wèi)星設(shè)計數(shù)據(jù)集;
2)采用VSTO技術(shù)在Word狀態(tài)欄創(chuàng)建文本編輯器;
3)利用Open XML在步驟2)中的Word文檔編輯器中根據(jù)步驟1)中設(shè)計數(shù)據(jù)各類表格及數(shù)據(jù)項自定義設(shè)計數(shù)據(jù)項,設(shè)計數(shù)據(jù)項包含表格唯一標(biāo)識字,設(shè)計數(shù)據(jù)項包含的數(shù)據(jù)內(nèi)容,每一個數(shù)據(jù)內(nèi)容屬性定義;
4)制作通信衛(wèi)星設(shè)計文件模板;通信衛(wèi)星設(shè)計文件模板包含可變和不可變部分,直接在Word中進(jìn)行編輯;以往通信衛(wèi)星設(shè)計文件中文字說明作為不可變部分,步驟3)中自定義設(shè)計數(shù)據(jù)項插入作為可變部分;
5)通過通信衛(wèi)星設(shè)計文件模板可變部分的唯一關(guān)鍵字及轉(zhuǎn)換提取規(guī)則從步驟1)中的衛(wèi)星設(shè)計數(shù)據(jù)集中提取數(shù)據(jù)解析;
6)將步驟5)中提取出來的數(shù)據(jù)替換通信衛(wèi)星設(shè)計文件模板中的可變部分,生成最終的通信衛(wèi)星設(shè)計文件。
所述步驟5)通過通信衛(wèi)星設(shè)計文件模板可變部分的唯一關(guān)鍵字及轉(zhuǎn)換提取規(guī)則從步驟1)中的衛(wèi)星設(shè)計數(shù)據(jù)集中提取數(shù)據(jù)解析的具體方法為:
(5.1)讀取通信衛(wèi)星設(shè)計文件中可變部分關(guān)鍵字;
(5.2)根據(jù)可變部分關(guān)鍵字在Word文檔編輯器中查找自定義設(shè)計數(shù)據(jù)項中唯一標(biāo)識字和可變部分關(guān)鍵字一致的唯一標(biāo)識字;
(5.3)讀取自定義設(shè)計數(shù)據(jù)項各項內(nèi)容、屬性定義及轉(zhuǎn)換規(guī)則;
(5.4)在步驟1)得到的通信衛(wèi)星設(shè)計數(shù)據(jù)集中提取步驟(5.3)涉及的數(shù)據(jù)項內(nèi)容;
(5.5)根據(jù)步驟(5.3)中轉(zhuǎn)換規(guī)則進(jìn)行數(shù)據(jù)轉(zhuǎn)換,采取多線程分量緩存的方法,開啟多個線程分別對數(shù)據(jù)進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換后的數(shù)據(jù)分量放入緩存,批量輸出到Word;
(5.6)生成通信衛(wèi)星設(shè)計文件可變部分?jǐn)?shù)據(jù)集。
本發(fā)明與現(xiàn)有技術(shù)相比的優(yōu)點(diǎn)在于:
(1)對通信衛(wèi)星海量多特征同類異構(gòu)設(shè)計數(shù)據(jù)信息進(jìn)行小顆粒度分類歸納,完成設(shè)計數(shù)據(jù)信息特征提取,分類統(tǒng)一通信衛(wèi)星設(shè)計數(shù)據(jù)格式,形成通信衛(wèi)星設(shè)計數(shù)據(jù)集,逐步擴(kuò)展并完成通信衛(wèi)星信息設(shè)計知識庫,顯著提升了大容量衛(wèi)星信息設(shè)計數(shù)據(jù)的規(guī)范化程度。
(2)通用文件模板包含固定不變或變化很少的文字部分,以及隨文檔生成變化的數(shù)據(jù)部分兩部分內(nèi)容。如果將一個已有文檔中變化的數(shù)據(jù)進(jìn)行編輯,保留固定的文字,將各種變化的數(shù)據(jù)轉(zhuǎn)化成文檔全局唯一關(guān)鍵字,針對這些關(guān)鍵字進(jìn)行其他計算規(guī)則的封裝,在運(yùn)行時根據(jù)輸入的條件,結(jié)合各關(guān)鍵字的計算規(guī)則,進(jìn)行數(shù)據(jù)搜索和計算,并用生成的數(shù)據(jù)替換全局唯一關(guān)鍵字,自動生成文檔。
(3)通過OpenXML技術(shù)自定義設(shè)計數(shù)據(jù)集,將設(shè)計數(shù)據(jù)集替代通用文檔的可變部分,最后通過設(shè)計數(shù)據(jù)集的唯一關(guān)鍵字及計算規(guī)則生成可變部分?jǐn)?shù)據(jù),通過信息化手段定制文檔模板,組織數(shù)據(jù)生成通用文件,使得各類文檔模板一致、內(nèi)容清晰、風(fēng)格統(tǒng)一、閱讀、使用起來更規(guī)范化、人性化。
附圖說明
圖1為通用文件自動生成流程圖;
圖2為通用文件可變部分?jǐn)?shù)據(jù)生成流程圖;
具體實(shí)施方式
下面結(jié)合附圖對本發(fā)明做進(jìn)一步說明。
如圖1所示,通用文件自動生成的流程:
1)通過對通信衛(wèi)星海量多特征同類異構(gòu)設(shè)計數(shù)據(jù)信息進(jìn)行小顆粒度分類歸納,完成設(shè)計數(shù)據(jù)信息特征提取,分類統(tǒng)一通信衛(wèi)星設(shè)計數(shù)據(jù)格式,形成通信衛(wèi)星設(shè)計數(shù)據(jù)集;
2)采用VSTO技術(shù)在Word狀態(tài)欄創(chuàng)建文本編輯器,文檔編輯器中羅列了通用文檔可變部分的數(shù)據(jù)組合項;
3)利用Open XML在步驟2)中的Word文檔編輯器中根據(jù)步驟1)中設(shè)計數(shù)據(jù)各類表格及數(shù)據(jù)項自定義設(shè)計數(shù)據(jù)項,設(shè)計數(shù)據(jù)項包含表格唯一標(biāo)識字,設(shè)計數(shù)據(jù)項包含的數(shù)據(jù)內(nèi)容,每一個數(shù)據(jù)內(nèi)容屬性定義,例如:文本格式、數(shù)據(jù)格式等及數(shù)據(jù)轉(zhuǎn)換規(guī)則,例如自定義設(shè)計數(shù)據(jù)項內(nèi)的數(shù)據(jù)A的轉(zhuǎn)換規(guī)則是:數(shù)據(jù)A=a*數(shù)據(jù)B+數(shù)據(jù)D;
4)制作通信衛(wèi)星設(shè)計文件模板;根據(jù)以往型號設(shè)計文件編制通用文件模版,通信衛(wèi)星設(shè)計文件模板包含可變和不可變部分,直接在Word中進(jìn)行編輯;以往通信衛(wèi)星設(shè)計文件中文字說明作為不可變部分,步驟3)中自定義設(shè)計數(shù)據(jù)項插入作為可變部分;
5)通過通信衛(wèi)星設(shè)計文件模板可變部分的唯一關(guān)鍵字及轉(zhuǎn)換提取規(guī)則從步驟1)中的衛(wèi)星設(shè)計數(shù)據(jù)集中提取數(shù)據(jù)解析;
所述步驟5)通過通信衛(wèi)星設(shè)計文件模板可變部分的唯一關(guān)鍵字及轉(zhuǎn)換提取規(guī)則從步驟1)中的衛(wèi)星設(shè)計數(shù)據(jù)集中提取數(shù)據(jù)解析方法,如圖2所示,具體為:
(5.1)讀取通信衛(wèi)星設(shè)計文件中可變部分關(guān)鍵字;
(5.2)根據(jù)可變部分關(guān)鍵字在Word文檔編輯器中查找自定義設(shè)計數(shù)據(jù)項中唯一標(biāo)識字和可變部分關(guān)鍵字一致的唯一標(biāo)識字;
(5.3)讀取自定義設(shè)計數(shù)據(jù)項各項內(nèi)容、屬性定義及轉(zhuǎn)換規(guī)則;
(5.4)在步驟1)得到的通信衛(wèi)星設(shè)計數(shù)據(jù)集中提取步驟(5.3)涉及的數(shù)據(jù)項內(nèi)容;
(5.5)根據(jù)步驟(5.3)中轉(zhuǎn)換規(guī)則進(jìn)行數(shù)據(jù)轉(zhuǎn)換,由于型號數(shù)據(jù)眾多,轉(zhuǎn)換工作耗時長,為了避免用戶等待時間及長時間轉(zhuǎn)換操作引起Word死鎖,采取多線程分量緩存的方法,開啟多個線程分別對數(shù)據(jù)進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換后的數(shù)據(jù)分量放入緩存,批量輸出到Word;
(5.6)生成通信衛(wèi)星設(shè)計文件可變部分?jǐn)?shù)據(jù)集。
6)將步驟5)中提取出來的數(shù)據(jù)替換通信衛(wèi)星設(shè)計文件模板中的可變部分,生成最終的通信衛(wèi)星設(shè)計文件。
我國某型號衛(wèi)星研制過程中已經(jīng)采用了此種通信衛(wèi)星設(shè)計文件自動生成方法,文件經(jīng)過長時間使用表明,該方法可以滿足不同型號不同平臺不同設(shè)計數(shù)據(jù)通信衛(wèi)星設(shè)計文件自動成,有效提高了型號文件設(shè)計效率,使得各類文檔模板一致、內(nèi)容清晰、風(fēng)格統(tǒng)一、閱讀、使用起來更規(guī)范化。滿足任務(wù)的指標(biāo)要求。
本發(fā)明說明書中未作詳細(xì)描述的內(nèi)容屬本領(lǐng)域技術(shù)人員的公知技術(shù)。