王輝 趙慧坤 安豐明
摘要:本文針對汽車制造業(yè)零部件品種繁多、供貨關系復雜、拉動配送周期短、拉動方式多樣化等特點,采取微服務架構設計,并使用了行業(yè)先進的開發(fā)技術,以基于業(yè)務策略驅動業(yè)務實現的方式設計一套零部件倉儲管理系統,通過和上下游系統的數據交易實現業(yè)務流集成,實現了零部件庫存精準管理,有效建立生產響應物流保障。
關鍵詞:汽車零部件物流;WMS ;倉儲管理系統;微服務
中圖分類號: TP315 文獻標識碼:A
0 引言
汽車制造業(yè)轉型的方向是由單純的“生產制造”轉向“供應鏈協同”,要建立快速生產響應物料保障,同時保持零部件的低庫存率和高周轉率,倉儲管理系統的設計是其關鍵要素。在汽車制造業(yè),零部件的種類一般多達幾千甚至上萬種,供應商幾百家,因此管理模式也多樣化。本文基于微服務架構,采用多種新技術開發(fā),實現以業(yè)務策略方式設計的WMS,可以根據不同零件的管理需要,以配置的方式支持業(yè)務模式的變化調整,大大提高了系統的業(yè)務兼容性,實現出入庫等作業(yè)的快速響應。
1 系統應用架構設計
倉儲管理系統在國內起步時,大多使用更易于C/S 開發(fā)的C# .net 進行開發(fā)。后來由于Java 和Spring 的興起,倉儲管理系統也開始基于SSM 或SSH 進行開發(fā)。而隨著近年來SOA 架構和微服務技術體系的發(fā)展和完善,各個行業(yè)的系統均開始逐漸使用微服務架構來開發(fā),倉儲行業(yè)也不例外。微服務架構的應用,將會使傳統單體架構在開發(fā)中遇到的許多難題(如集體開發(fā)沖突、代碼耦合度太高等)迎刃而解 [1] 。
本文中主要介紹使用微服務架構的系統設計方案,這是近年來興起的一種軟件架構,是由面向服務架構(SOA)發(fā)展來的。它將傳統的單體架構根據不同的需求拆分成多個小的項目,也就是微服務。每個微服務之間相互獨立,將傳統項目的各個業(yè)務之間進行解耦。
2 系統技術架構設計
零部件物流每日的出入庫作業(yè)、庫存轉移等業(yè)務量最高能達到2 萬箱,料箱級管理的WMS 系統,對于系統的可用性需求、功能性需求和質量需求等要求較高。因此本文中系統設計時使用了較多的行業(yè)先進技術,以提高系統性能及穩(wěn)定性,滿足業(yè)務需求。主要使用的技術如下。
(1)MySQL 數據庫:數據庫只做存儲,不參與任何業(yè)務計算,提升讀寫性能。
(2).NET6 開發(fā)語言:擁有較之前版本更強的性能、穩(wěn)定性和生態(tài)優(yōu)勢??鐬g覽器、云端、桌面、物聯網設備和移動平臺,所有應用程序都可以使用相同的.NET 庫輕松進行代碼共享。性能全面提升特別是文件 I/O 的性能提升,這可以顯著降低執(zhí)行時間、等待時間以及降低內存等資源的使用率。ASP.NET Core 中引入最小化API,用以簡化入門體驗同時可以提高 HTTP 服務的性能等。添加HTTP/3 支持以便ASP.NET Core、HttpClient 和gRPC 等服務都可以與HTTP/3 客戶端或服務器進行交互[2]。
(3)緩存技術:WMS 部分功能采用緩存技術,使部分請求減少數據庫訪問,以縮短業(yè)務處理時間。
(4)定時作業(yè)技術:采用毫秒級誤差的定時任務執(zhí)行程序,可以確保定時的任務可以在預定的時間執(zhí)行。
(5)Jenkins 自動化部署機制:Jenkins 是一款功能豐富、易于使用、高度可擴展的自動化構建工具。它可以幫助團隊提高效率和生產力,同時保證軟件質量。在軟件開發(fā)過程中,使用Jenkins 可以實現自動化構建、部署和測試,從而節(jié)省時間和成本,提高團隊效率和競爭力[3]。
(6)K8S :可以自動管理容器的擴展和縮容,使得項目能夠應對高流量的壓力。K8S 可以自動保證容器的高可用性,在容器故障時自動重啟容器;可以自動管理容器的資源( 如 CPU 和內存),避免資源浪費;可以方便地管理容器的版本和更新,使得項目的維護變得簡單;還可以支持微服務架構,將一個大型應用拆分成多個獨立的服務,提高可維護性和可擴展性[4]。
(7)超融合技術:基于通用x86 服務器的全資源融合、按需橫向擴展、全分布式架構以及開箱即用等技術,交付簡單、資源統一管理。與傳統方式相比,超融合可讓應用交付時間縮短至數小時,優(yōu)異的I/O 能力提升了應用訪問速度,應用可在不同設備之間在線遷移,并支持故障高可用,大幅減少業(yè)務停機時間[5]。
(8)SSO 單點登錄:在多個應用系統中,用戶只需要登錄一次,就可以訪問其他相互信任的應用系統。統一了身份認證和機制,使用統一的賬號和密碼,安全、便捷地訪問信息化體系內部的各個應用系統,避免了由于應用系統過多、密碼規(guī)則復雜而造成用戶需要反復輸入用戶名和密碼以及密碼的丟失等問題,使用戶能夠更加靈活、便捷、高效地登錄各個應用系統,提高信息系統的易用性、安全性和穩(wěn)定性[6]。
3 系統功能架構設計
汽車零部件物流業(yè)務管理模式多樣化,主要體現在零件種類不同、庫存管理精細度不同、拉動方式不同、出入庫方式不同、料帳方式不同等,并且跟隨車型生產變化,其管理模式隨時有可能進行調整,這就要求WMS 系統具有較高的業(yè)務兼容性和適應能力。本文中WMS 系統設計以下幾種功能模塊,以支持多樣化的業(yè)務管理模式。
(1)數據管理:分為PFEP(plan for every part) 基礎數據和業(yè)務策略數據。WMS 配置數據接口,從MDM 系統接收PFEP基礎數據,實現數據上下游統一,保證數據的準確性和時效性;業(yè)務策略數據定義了業(yè)務類型、作業(yè)規(guī)則、庫存增減規(guī)則和財務規(guī)則等,通過自由的策略配置,極大程度上滿足了業(yè)務多樣化需求,并能及時響應業(yè)務模式的變化調整。
(2)庫存管理:分為料箱級管理和零件級管理兩種模式。料箱級物料具備唯一料箱標簽,實現對每一箱物料的全周期監(jiān)控,出入庫記錄跟蹤到箱,做到精準庫存管理;零件級管理的零件針對直供件、標準件等無需精細化管理的零件類型,簡化員工的作業(yè)流程。
(3)單據及標簽管理:同步上下游單據和標簽信息。單據包括拉動單、送貨單和排序單;標簽包括零件料箱標簽、唯一托盤標簽和標簽組托關系等。實現上下游數據協同,通過接口,實時同步單據狀態(tài)。
(4)PDA 作業(yè):基于Android 系統開發(fā)的APP 應用,支持無線掃描作業(yè)、在線提交、查詢和單據簽署等日常作業(yè)功能,提高作業(yè)效率。
(5)任務管理:根據業(yè)務策略里提前設定的規(guī)則,包括上架任務、下架任務、揀貨任務、翻包任務和盤點任務等,自動生成任務。任務管理分為“指派”和“搶單”兩種單據分配方式,員工作業(yè)更靈活。
(6)智能設備管理:定義4 組API 接口。標簽校驗接口,提供給智能設備進行調用,以驗證標簽的合法性;出入庫接口,將智能設備出入庫結果傳輸給WMS,生成出入庫記錄和增減庫存;盤點接收接口,將智能設備的盤點結果傳輸給WMS,并調整庫存;封存接口,將智能設備封存的物料傳輸給WMS。WMS 自動將相關庫存移庫到不良品區(qū),實現了WMS 系統與各種不同類型的IOT 設備完成對接和信息交互。
(7)系統管理:包含用戶管理模塊和全局配置模塊。其中用戶賬號信息對接SSO 系統,WMS 系統配置用戶的角色信息,并賦予角色權限;全局配置模塊包含配置字典、APP 版本管理等。
4 主數據設計
物流的主數據包括PFEP 數據與主數據,精準的主數據規(guī)劃是做好系統功能的基礎。
PFEP(Plan For Every Part)數據是指對生產過程中每個零部件或物料制定詳細的計劃,并注明所有與生產過程相關的信息。PFEP 是供應鏈管理過程中精細化管理物料的一種方式,是一個企業(yè)精益物流系統建立和持續(xù)改進的基礎[7]。而主數據是可以在企業(yè)內跨業(yè)務部門、跨業(yè)務系統被重復使用,是相對高價值、高共享且相對穩(wěn)定的數據。PFEP 數據包含了大部分主數據的內容。主數據具有以下3 大特點。
(1)唯一的數據實例:主數據應該代表企業(yè)中的某個業(yè)務對象的唯一實例,對應企業(yè)中真實的對象。重復創(chuàng)建實例將導致數據的不一致,進而影響業(yè)務流程;例如當前的“零件工廠庫存”數據囊括了零件基礎信息、零件庫位信息和零件包裝信息。我們所有的包裝屬性都應在“零件工廠庫存”數據的基礎上拓展。如額外創(chuàng)建包裝相關數據,將可能造成數據屬性的重復,在差異維護的時候將會導致業(yè)務操作的不一致。
(2)單一的數據源:為確保系統跨系統、跨流程的唯一性和一致性,需要對每個屬性的創(chuàng)建、更新、讀取確定一個系統作為數據源,即MDM(主數據管理系統)。
(3)統一的管控:結合業(yè)務現狀,對主數據制定政策、標準和模型,由數據維護工程師和用戶在各個流程實施對應的政策、標準、模型。不同于數據維護人員,主數據的制定需要數據owner 結合業(yè)務發(fā)展對關鍵數據進行識別、分類、定義及標準化。數據owner 對數據的產生到退出的全流程負責。
例如之前老版的系統中維護的“包裝類型”,其實是“包裝箱型”(如:A、B)。但是隨著業(yè)務發(fā)展,我們更需要對包裝信息進行歸檔、分析。而“包裝箱型”顯然是不利于系統信息的分組歸類的。這個時候我們就需要通過“包裝類型”(標準塑料周轉箱、圍板箱和卡板箱)對包裝進行標識。這個時候包裝的數據owner,就需要對包裝類型進行識別、分類、定義及標準化。并將對應標準發(fā)布到各區(qū)域指導數據維護、包裝識別等業(yè)務操作。
PFEP 報表數據指在PFEP 數據中,對應業(yè)務未形成系統化作業(yè)或未形成完善的業(yè)務標準,且未統一的數據。但該數據是在生產過程中能起到指導生產、數據查詢等功能的數據。
5 業(yè)務策略設計
面向復雜的作業(yè)場景和任務,本文中系統采用設計業(yè)務策略來驅動倉儲業(yè)務實現。首先,業(yè)務流程配置化,可將多個業(yè)務進行串聯,適應各種倉儲業(yè)務。其次,智能化作業(yè)驅動提供了上架、揀貨和發(fā)貨等多種作業(yè)規(guī)則配置,通過任務驅動倉儲作業(yè)。最后,智能的任務分配提供按區(qū)域任務分解、作業(yè)量分解等多種任務分解和分配方式。業(yè)務策略主要配置的規(guī)則設計如表1 所示。
6 結束語
面向汽車制造業(yè)的零部件倉儲管理系統,將越來越多承擔供應鏈智慧協同的關鍵功能決策,實現對倉庫管理的精細化、柔性化、智能化和數字化,將是未來零部件倉儲管理系統的發(fā)展方向。本文中設計的系統,充分發(fā)揮新一代信息技術的應用,考慮業(yè)務變化的可適應性,基于業(yè)務策略驅動業(yè)務實現的方式,貫穿倉庫出入庫管理、庫存及庫內作業(yè)管理、不良品及退貨管理、單據及標簽管理、盤點管理和料帳管理等一系列倉儲業(yè)務,支持未來10年的業(yè)務發(fā)展應用能力,為當前及未來零部件倉儲管理系統提供了一種設計方案。
同時,本系統在設計時還充分考慮了與上下游系統間的數據集成,打通了企業(yè)內外應用數據鏈路,消除數據孤島。同時,該系統結合手持終端PDA 作業(yè)和IOT 智能設備對接,有效提高物流作業(yè)效率,為未來物流全鏈路無人化奠定了基礎。隨著系統應用的不斷擴展和業(yè)務深入,產生大量的業(yè)務數據,依托于統一的數據標準,企業(yè)可建立對數據的二次利用和開發(fā),進一步支持企業(yè)的經營決策。
【參考文獻】
[1] 張海潮. 基于微服務架構的倉儲管理系統的設計與實現[D]. 西安: 西安電子科技大學,2020.
[2] Microsoft. .NET 6 中的新增功能[EB/OL].(2023-05-10)[2024-3-15]. https://learn.microsoft.com/zh-cn/dotnet/core/whats-new/dotnet-6
[3] Saurabh. What is Jenkins? | Jenkins For Continuous Integration |Edureka [EB/OL].(2024-02-29)[2024-3-15]. https://www.edureka.co/blog/what-is-jenkins/
[4] 金子威. 基于K8S 的Docker 分布式容器自動化運維系統的設計與實現[D]. 武漢: 中南民族大學,2018.
[5] 王巍. 企業(yè)應用平臺超融合虛擬化方案研究[J]. 通信管理與技術,2021(06):44-45+48.
[6] 宋佩陽. 企業(yè)多信息系統集成的單點登錄技術研究[J]. 信息技術與信息化,2021(07):84-86.
[7] 張雨雯. 基于PFEP 的汽車零部件物料上線配送優(yōu)化研究[D]. 成都: 西華大學,2020.
作者簡介:
王輝,碩士,工程師,研究方向為數字化、智能制造和信息技術。
趙慧坤,本科,工程師,研究方向為供應鏈、智慧物流和數字化。
安豐明,本科,工程師,研究方向為數字化、系統性質量問題解決和質量工具運用。