鄧樂富,馬江林
(中國航發南方工業有限公司信息工程部,湖南株洲 412000)
隨著物料清單(Bill Of Material,BOM)管理技術在電子設備、汽車及航天航空等領域的應用,其已逐步發展成以設計BOM(DBOM)、計劃BOM(PBOM)和制造BOM(MBOM)為主導的多部門協同維護綜合管理技術[1-4]。然而,在航天產品研制與生產過程中,BOM 具有物料種類豐富、數量較多以及建造時間過長等問題。當某一部門的BOM 發生改變時,其他部門需要同步進行相關維護,這便增加了維護工作量[5-6]。若無法保證BOM 數據的一致性,將會造成零部件加工錯誤、生產周期延長等問題。此外多型號設備的并行研制,也會導致BOM 管理系統處于高并發讀寫的狀態,進而令海量數據高效儲存和管理的問題日益突出。
Hadoop 是近年來被廣泛使用可提供分布式存儲與計算的軟件系統[7-11],而HDFS(Hadoop Distributed File System)則是針對該軟件的分布式文件系統,其能夠基于普通商用計算機集群,提供高吞吐量及高可靠性的文件存儲服務[12-14]。然而HDFS 無法保證在同一時刻,多個用戶在不同辦公地點訪問相同的數據。因此,亟需解決HDFS 系統下的BOM 數據一致性校核問題。文中在分析BOM 數據結構和HDFS系統數據的寫入流程后,進行了概念與邏輯定義;并使用著色PETRI 網對制造過程中的BOM 數據流進行建模;最終,構建了面向多用戶協同BOM 數據的一致性校核檢測模型。
物料清單(BOM)是產品研制、生產及維護等全生命周期的重要數據表現形式,航天產品的BOM 涉及了產品整體構成、組件、零部件與原材料等內容之間的關系。由于航天產品多數以廠所分離的模式進行新項目的設計制造,各設計單位之間的BOM 結構不同,每個物料的屬性種類也有所不同,故難以實現全生命周期的協同管理。尤其是當出現設計更改或生產因素發生變化時,需要對BOM 數據進行相應修改,這為所有研制單位的數據一致性和技術狀態管控提出了更高的要求。
通過對廠所分離模式下BOM 整理過程的分解,發現造成多用戶BOM 數據一致性較差的原因主要為:1)數據信息不一致;2)數據傳遞過程中發生了錯誤。因此,文中針對這兩類原因,進行了多用戶協同BOM 數據一致性校核與檢測算法的設計,具體框架如圖1 所示。數據信息的不一致是指其在不同用戶之間傳遞后出現信息缺失、重復等現象;多用戶共享異常指的是共享數據的過程中出現了數據包丟失。針對上述兩種不同原因,分別采用函數依賴(Functional Dependence,FD)和著色PETRI 網進行數據一致性的校核[15-16]。

圖1 BOM數據一致性校核檢測算法框架
數據信息檢測的基礎在于統一的數據格式。由于不同研制單位對產品物料的屬性統計情況不同,因此在進行多部門BOM 數據管理時,還需要統一數據格式。此次在二叉樹(Binary Tree,BT)型BOM 的結構下,進行產品所有零部件關系的整理,理清零部件的直接前驅和后繼。同時統一各個零部件與原材料的屬性種類,具體包括物料的名稱、型號、數量、質量等級、廠家以及批次共六項,并對BOM 零部件關系結構進行如下定義:
定義1:P定義為在已研發產品中,特定時間段內的有效零部件集合;
定義2:零部件關系集合PR 定義為下式:
式中,pi是pj的直接前驅;而pj是pi的直接后繼。
定義3:定義配置要求,即以零部件p為前驅的全部零部件之間關系的集合,用CFG(p)表示。
定義4:可行配置定義為,在零部件p配置要求中,能夠正確運作的關系集合,用FCFG(p)表示。
定義5:零部件路徑定義為,在可行配置FCFG(p)中,由pi到pj經過的每個直接后繼零部件構成的序列。
而零部件之間的關系C可分為四種:essential、optional、selective 和forbidden,其所構 成的集合為PR。這四種零部件關系定義如下:
定義6:essential 是指零部件pj構成了零部件pi。
定義7:optional 是指零部件pj是否存在不影響零部件pi的生產。
定義8:selective 是指零部件pj存在于零部件pi的可行配置中。
定義9:forbidden 是指零部件pj不存在于零部件pi的可行配置中。
經過以上定義重塑各個用戶的BOM 數據后,采用函數依賴進行數據的一致性檢測。將各個用戶的BOM 數據進行FD 發現,并利用發現結果進行候選FD 集合的剪枝處理;濾除掉無關聯數據后,再對候選FD 的特征分組及并行進行驗證。文中通過控制數據遷移規模和并行度,改善FD 的發現效率。
由于每個研制單位僅涉及研制產品的一部分零部件,因此在進行BOM 數據的FD 發現時,還需要進行數據遷移。在多用戶BOM 場景下進行FD 并行發現,需先進行元組遷移,然后根據關系模式的屬性集合產生候選FD 集合,再利用剪枝策略剔除無關聯的候選FD。
在大數據時代,PETRI 網是一種過程模式,可被用來描述及分析有異步和并發等活動系統的控制流與信息流。該網通常由庫所、變遷兩種節點構成,在庫所和有向弧之間,利用有向弧來表征兩者之間的活動,并使用令牌表征庫所中的動態對象。其可被表示為五元組合:PN=(P,T,F,W,M0),其中P={p1,p2,…,pm}為全部有效零部件集合;T={t1,t2,…,tn}表征變遷的有限集合;F表征有向弧的集合;W表征權重函數;M0代表初始狀態。
由于PETRI 網對復雜系統信息流的表達能力有限,故使用著色PETRI 網對制造過程中的BOM 數據流進行建模。該網絡相對于PETRI 網,增加了顏色集合、顏色函數、有向弧表達式、守護函數以及初始化函數等元素。因此,在進行基于著色PETRI 網的工作流建模時,需要將其與業務流程梳理出詳細的對應關系。在使用著色PETRI 網對HDFS 系統數據寫入過程建模之前,需要理清數據寫入過程涉及的角色及角色之間的交互關系。
HDFS 系統由名字節點、數據節點以及客戶端構成,三者的關系如圖2 所示。

圖2 HDFS系統的構成
名字節點是HDFS 系統的主節點,其負責與數據節點和客戶端之間進行交互以及文件數據的管理。數據節點是名字節點的從節點,通常每個HDFS系統僅有一個名字節點,但根據任務需要,也可以具有多個。該節點是數據的物理存儲地點,以文件塊的形式進行數據存儲,其主要功能為與名字節點和客戶端進行交互并實現數據的讀取及寫入。客戶端是安裝在應用端的程序,其是訪問HDFS 系統的窗口,主要功能為:接收來自用戶的登入請求和任務輸入,并與名字及數據節點進行交互操作。
通過對HDFS 系統數據寫入流程的分析,所構建的PETRI 網模型如圖3 所示,數據寫入請求回復流程則如圖4 所示。當用戶通過客戶端提出庫所“數據寫入請求”時,客戶端會聯系名字節點創建文件元信息,并申請空閑數據區塊;同時依據名字節點反饋信息,且啟動數據寫入請求;當該請求被傳輸至數據節點時,隨即開始寫入數據;直至所有數據寫入完畢后,數據節點才向客戶端回復信息。

圖3 HDFS系統數據寫入流程

圖4 數據寫入請求回復流程
在進入到“數據寫入請求”流程時,名字節點的回復包含庫所“文件位置”和“區塊地圖”兩種情況。若數據沒有副本,則直接查詢“文件位置”,進行數據寫入;若需要存儲數據副本,則還需要查詢空閑區塊的地址。
在整個過程中,客戶端按照一定時間間隔向名字節點發送租約,并通過其狀態來判斷數據寫入流程是否正常。租約失效包含網絡造成的信號時延、節點失效及硬件故障等情況。
為了驗證上述系統方案的可行性,進行了驗證實驗。該實驗分為數據信息異常校驗和數據共享過程校驗兩個部分。其中前者在Hadoop+Hama 平臺上運行,且數據源自S 制造廠的四個BOM 數據包,這些BOM 數據包內的每個零部件均有六種屬性。該校驗以對比實驗的形式進行,實驗組為文中所提出的基于改進函數依賴的數據信息校核算法;而對照組則采用了傳統函數依賴的數據信息校核算法。對比實驗考核指標分別為不同用戶節點數量和不同數據分布均勻度情況下的算法耗時,實驗結果分別如圖5 和圖6 所示。

圖5 響應耗時與用戶節點數之間的關系

圖6 響應耗時與元組個數的關系
從圖5 中可以看出,兩種算法隨著用戶節點數的增加,響應耗時均有所下降。但對照組采用的傳統函數依賴算法在應對分布式數據時,無法進行數據遷移,其函數發現仍在單個用戶節點進行。因此該方案的響應耗時比對照組低,且平均降低了26.61%。圖6 為當用戶節點數量保持為4 時,利用不同的元組數量來表征數據不均勻性的情況。由圖可知,隨著元組數量的增加,兩種算法的響應耗時均有所增長,這是因為數據不均勻程度的增加,提高了數據處理、比較的時間。而傳統函數依賴算法因無法對數據進行遷移,故該方案的響應耗時比對照組低,且平均降低了38.23%。
實驗過程設置如下:設置一個客戶端分別向四個數據節點寫入副本數為2 的數據包。該數據包大小為32 MB。在HDFS 系統并未出錯的情況下,數據一致性模型校驗出錯標記設置為“假”;反之,標記為“真”。
驗證的方法:利用CPN Tools 工具對所建立的著色PETRI 網模型進行仿真。根據矩陣方程進行分析,得到狀態空間報告。數據一致性校驗規則:在數據副本數固定的情況下,當系統滿足數據一致性時,任意狀態下該數據出現的次數均為0 或為副本數。不一致校驗規則:數據出現的次數不等于副本數。仿真結果如表1 所示。

表1 數據一致性校驗狀態空間報告
從表1 可以看出,狀態可達圖共生成231 個狀態節點和689 個變遷。且狀態空間與強連通構建圖中狀態節點的數量一致。這表明,該模型不存在回路,每個節點均為獨立的等價類,證明了實驗結果的有效性。仿真結果顯示有三個不一致狀態,根據HDFS系統的寫數據流程規則,原因是數據包在不同數據節點傳遞速度不一致,并在傳遞過程中出現了錯誤,因此導致一部分副本并未寫入成功。
文中以HDFS 系統數據寫入流程為數據一致性算法構建框架;并利用BOM 數據結構得到模糊推理規則;且采用CPN 工具級進行著色PETRI 網的建模。最終,構建了面向多用戶協同BOM 數據一致性校核檢測模型。經仿真驗證,證明文中所述方案具有一定的可行性,能夠應用于航空航天等復雜制造業的實際工作中。