• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于微服務(wù)架構(gòu)的生產(chǎn)線管控系統(tǒng)開發(fā)與應(yīng)用

      2021-10-18 08:15:34馬典鋒黃海姜騰
      現(xiàn)代計(jì)算機(jī) 2021年24期
      關(guān)鍵詞:架構(gòu)管控模塊

      馬典鋒,黃海,姜騰

      (1.北京能科瑞元數(shù)字技術(shù)有限公司,北京100193;2.北京能科云翼數(shù)據(jù)技術(shù)開發(fā)有限公司,北京100193)

      0 引言

      2020年5 月,綜合傳動(dòng)裝置箱體加工生產(chǎn)線項(xiàng)目啟動(dòng),項(xiàng)目著力解決生產(chǎn)線工藝設(shè)計(jì)和仿真數(shù)字化、生產(chǎn)任務(wù)排程科學(xué)化、加工過程調(diào)整動(dòng)態(tài)化、高精度測(cè)量在位化和誤差補(bǔ)償自動(dòng)化等問題,通過建設(shè)一套智能化生產(chǎn)管控系統(tǒng),支撐大型箱體機(jī)加生產(chǎn)排產(chǎn)精確化、生產(chǎn)調(diào)度智能化、生產(chǎn)管理透明化、資源利用合理化等,包括計(jì)劃管理、生產(chǎn)排產(chǎn)、生產(chǎn)執(zhí)行、質(zhì)量管理、物流管理、倉儲(chǔ)管理、基礎(chǔ)數(shù)據(jù)管理等模塊。在各階段采用不同的方法構(gòu)建,設(shè)計(jì)階段構(gòu)以領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)(Domain-Driven Design,DDD)及面向?qū)ο蠓椒▌澐侄x微服務(wù),開發(fā)階段采用Spring Boot框架編碼實(shí)現(xiàn)微服務(wù),實(shí)施階段采用DevOps運(yùn)營平臺(tái)統(tǒng)一管控微服務(wù),運(yùn)維階段通過快速更新與快速部署體現(xiàn)微服務(wù)架構(gòu)的便捷,項(xiàng)目歷時(shí)15個(gè)月完成,目前項(xiàng)目已進(jìn)入試運(yùn)行階段。

      圖1總體架構(gòu)

      1 軟件架構(gòu)設(shè)計(jì)

      1.1 軟件功能架構(gòu)

      針對(duì)智能制造模式下綜合傳動(dòng)裝置箱體加工生產(chǎn)線運(yùn)行過程中加工質(zhì)量、加工周期和加工成本的控制要求,能科科技股份有限公司承擔(dān)了箱體智能加工生產(chǎn)線系統(tǒng)集成應(yīng)用驗(yàn)證,負(fù)責(zé)箱體智能加工生產(chǎn)線管控系統(tǒng)的開發(fā)。整個(gè)專題由江麓集團(tuán)、清華大學(xué)、能科股份三方承擔(dān),具有明確分工協(xié)作,建設(shè)周期15個(gè)月,以Java技術(shù)路線為主,基于Spirng Cloud+Spring Boot+MyBatis開源框架進(jìn)行開發(fā),采用前后端分離的開發(fā)模式,整體架構(gòu)采用微服務(wù)架構(gòu)開發(fā),數(shù)據(jù)庫中間件采用ORM技術(shù),同時(shí)引入了消息中間件、任務(wù)調(diào)度插件及ETL工具,項(xiàng)目開發(fā)總?cè)藬?shù)10人,采用Windows平臺(tái)進(jìn)行本地化部署。項(xiàng)目功能模塊分為計(jì)劃管理、生產(chǎn)排產(chǎn)、生產(chǎn)執(zhí)行、質(zhì)量管理、物流管理、倉儲(chǔ)管理、基礎(chǔ)數(shù)據(jù)管理等模塊,是一套完整的機(jī)器加工行業(yè)自上而下的頂級(jí)車間智能管控平臺(tái)。通過該項(xiàng)目的持續(xù)建設(shè),圍繞人、機(jī)、料、法、環(huán)的要求實(shí)現(xiàn)了整個(gè)從車間到產(chǎn)線的生產(chǎn)管控自動(dòng)化、生產(chǎn)現(xiàn)場透明化,提升了計(jì)劃編制的準(zhǔn)確性及物料送達(dá)的準(zhǔn)確性,徹底打通了信息流與物料同步的問題,為企業(yè)車間無人化生產(chǎn)奠定了基礎(chǔ)。

      1.2 軟件技術(shù)架構(gòu)

      圖2微服務(wù)架構(gòu)

      架構(gòu)基于微服務(wù)架構(gòu)進(jìn)行開發(fā),能夠通過平臺(tái)本身提供的快速代碼構(gòu)建工具實(shí)現(xiàn)功能的快速搭建,同時(shí)在微服務(wù)架構(gòu)的基礎(chǔ)上實(shí)現(xiàn)了自主化服務(wù)封裝,為企業(yè)信息化進(jìn)程提供有力的技術(shù)支持,提升企業(yè)平臺(tái)化進(jìn)程,每個(gè)微服務(wù)之間獨(dú)立自動(dòng)部署,微服務(wù)之間通過網(wǎng)關(guān)進(jìn)行通信,使分布式部署更為成熟高效,大幅度降低大型系統(tǒng)耦合的同時(shí),也使得系統(tǒng)整體更為穩(wěn)定、安全、高效。

      基于Spring Boot標(biāo)準(zhǔn)的Spring Cloud架構(gòu)實(shí)現(xiàn)微服務(wù)編排和應(yīng)用的分布式框架,同時(shí)平臺(tái)具備分布式部署與負(fù)載均衡能力,每個(gè)業(yè)務(wù)模塊(微服務(wù))在硬件條件允許的情況下均多套部署,以此解決高并而引起發(fā)硬件瓶頸問題,通過注冊(cè)中心、網(wǎng)關(guān)實(shí)現(xiàn)熔斷機(jī)制,解決系統(tǒng)單點(diǎn)故障問題,提供完善的熱備能力。

      (1)基礎(chǔ)平臺(tái)能力先行,共性技術(shù)服務(wù)能力下沉,通過開發(fā)原子微服務(wù)構(gòu)建微服務(wù)池,提升系統(tǒng)復(fù)用性,降低開發(fā)難度。

      (2)提升系統(tǒng)容錯(cuò),采用熔斷降級(jí)技術(shù),單個(gè)服務(wù)發(fā)生錯(cuò)誤系統(tǒng)能夠自動(dòng)降級(jí)處理,增加系統(tǒng)可靠性。

      (3)鑒權(quán)與認(rèn)證分開,系統(tǒng)采用先認(rèn)證再鑒權(quán)的權(quán)限管理模式,權(quán)限粒度更細(xì),更易擴(kuò)展,擴(kuò)展企業(yè)“三員分立”的業(yè)務(wù)要求。

      (4)內(nèi)置六大管理中心,提升平臺(tái)管控能力,提升開發(fā)效率,降低開發(fā)成本。

      ①配置中心,統(tǒng)一管控系統(tǒng)所有配置文件、配置參數(shù);②注冊(cè)中心,微服務(wù)統(tǒng)一注冊(cè)、統(tǒng)一管理;③用戶中心,用于對(duì)外統(tǒng)一提供用戶數(shù)據(jù)支持;④認(rèn)證中心,提供授權(quán)、鑒權(quán)的統(tǒng)一管理模式;⑤數(shù)據(jù)中心,提供強(qiáng)大的數(shù)據(jù)集成能力;⑥日志中心,對(duì)系統(tǒng)各種操作、運(yùn)行記錄進(jìn)行跟蹤記錄。

      (5)雙中臺(tái)服務(wù)理念,業(yè)務(wù)中臺(tái)給前端提供業(yè)務(wù)支撐,數(shù)據(jù)中臺(tái)實(shí)現(xiàn)企業(yè)級(jí)數(shù)據(jù)集成能力,消除信息孤島。

      (6)自帶負(fù)載均衡能力,整個(gè)系統(tǒng)通過微服務(wù)開發(fā),構(gòu)建微服務(wù)池,通過系統(tǒng)提供的注冊(cè)中心,實(shí)現(xiàn)單個(gè)微服務(wù)的注冊(cè)同時(shí)提供系統(tǒng)負(fù)載均衡能力。

      (7)天生負(fù)載均衡能力,通過Ribbon實(shí)現(xiàn)系統(tǒng)默認(rèn)的高可用,客戶端負(fù)載均衡能力。生產(chǎn)線核心數(shù)據(jù)層和業(yè)務(wù)層采用雙機(jī),一旦確認(rèn)某臺(tái)服務(wù)器已發(fā)生故障,雙機(jī)軟件控制另一臺(tái)服務(wù)器及時(shí)地接管故障設(shè)備上的運(yùn)行任務(wù)。

      經(jīng)過前期技術(shù)可行性分析及對(duì)比微服務(wù)架構(gòu)和單體架構(gòu)的優(yōu)勢(shì),最終采用微服務(wù)架構(gòu)進(jìn)行開發(fā),本文著重從“設(shè)計(jì)、開發(fā)、實(shí)施、運(yùn)維”4個(gè)方面論述基于微服務(wù)架構(gòu)系統(tǒng)的開發(fā)和應(yīng)用。

      2 軟件項(xiàng)目階段

      2.1 設(shè)計(jì)階段

      單體應(yīng)用的設(shè)計(jì)主要按照模塊化方式進(jìn)行軟件的設(shè)計(jì),包括概要設(shè)計(jì)和詳細(xì)設(shè)計(jì),概要設(shè)計(jì)依據(jù)需求分析的結(jié)果界定外圍系統(tǒng)的接口,接口的契約,與外圍系統(tǒng)之間的數(shù)據(jù)交互以系統(tǒng)及各模塊之間的關(guān)系及數(shù)據(jù)走向等;詳細(xì)設(shè)計(jì)主要是設(shè)計(jì)數(shù)據(jù)庫表,各接口參數(shù)、調(diào)用方式及各模塊內(nèi)部邏輯,界面按鈕后端的業(yè)務(wù)邏輯等。

      圖3 DDD領(lǐng)域模型

      微服務(wù)的設(shè)計(jì)與之不同,首先要對(duì)已有的需求報(bào)告通過領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)(DDD)業(yè)務(wù)模型進(jìn)行重新的劃分形成一個(gè)個(gè)獨(dú)立業(yè)務(wù)域,讓軟件專家和業(yè)務(wù)領(lǐng)域?qū)<疫_(dá)成一致,結(jié)合面向?qū)ο髽?gòu)建業(yè)務(wù)模型,充分把已有功能與業(yè)務(wù)域?qū)?yīng)起來,進(jìn)而最終形成一個(gè)個(gè)獨(dú)立業(yè)務(wù)單元的微服務(wù),形成微服務(wù)詳細(xì)設(shè)計(jì)文檔。

      2.2 開發(fā)階段

      業(yè)務(wù)微服務(wù)定義完成后,開發(fā)采用前后端分離的模式進(jìn)行開發(fā),后端開發(fā)工程師進(jìn)行微服務(wù)的開發(fā),同時(shí)詳細(xì)設(shè)計(jì)文檔中的要求進(jìn)行物理模型的構(gòu)建及各類輔助軟件的安裝,系統(tǒng)軟件物理模塊的構(gòu)建、開發(fā)環(huán)境的構(gòu)建、數(shù)據(jù)庫的構(gòu)建等,前端工程師按照原型進(jìn)行前端界面的開發(fā),包括布局及界面風(fēng)格嚴(yán)格按照原型進(jìn)行,原型按鈕操作依據(jù)詳細(xì)設(shè)計(jì)后臺(tái)邏輯進(jìn)行業(yè)務(wù)邏輯的編寫;測(cè)試工程師依據(jù)需求及設(shè)計(jì)進(jìn)行測(cè)試用例的編寫。

      測(cè)試環(huán)境的搭建,在開發(fā)過程中開一個(gè)模塊測(cè)試進(jìn)行一個(gè)模塊的測(cè)試,多個(gè)模塊進(jìn)行集成測(cè)試,集成測(cè)試通過后邀請(qǐng)客戶進(jìn)行系統(tǒng)測(cè)試,讓用戶及早參與測(cè)試,通過多次的版本迭代與開發(fā)完成測(cè)試工作。

      圖4前后端分離開發(fā)

      圖5迭代發(fā)布

      2.3 實(shí)施階段

      微服務(wù)的難點(diǎn)首先在于微服務(wù)的定義與劃分,這塊在設(shè)計(jì)階段通過DDD領(lǐng)域驅(qū)動(dòng)模型方式得以解決,另外一個(gè)難點(diǎn)就是由于采用微服務(wù)架構(gòu),那么定義出的微服務(wù)數(shù)量比單體應(yīng)用的模塊多了很多,微服務(wù)的管理及發(fā)布等是一件很麻煩的事情,這個(gè)問題我們通過公司的DevOps平臺(tái)來進(jìn)行管控,服務(wù)的發(fā)現(xiàn)與注冊(cè)通過注冊(cè)中心來管理,微服務(wù)的運(yùn)行環(huán)境通過Docker容器來實(shí)現(xiàn),解決了開發(fā)環(huán)境、測(cè)試環(huán)境、生產(chǎn)環(huán)境不一致的問題,最后用K8S來管理Docker,服務(wù)的發(fā)布通過CI/CD統(tǒng)一進(jìn)行集成、發(fā)布,基于DevOps運(yùn)營平臺(tái)完美解決了微服務(wù)管理難的問題,極大提高了軟件的發(fā)布與自動(dòng)編譯的能力。

      圖6 DevOps平臺(tái)

      2.4 運(yùn)維階段

      一般運(yùn)維階段的問題主要有以下兩類,最終用戶和IT部門:

      (1)最終用戶遇到的問題包括:

      ①業(yè)務(wù)劃分不準(zhǔn)確、理解不正確,不是我想要的功能。②這個(gè)功能點(diǎn)溝通了很多次,怎么還是不明白?③你們對(duì)于我們的業(yè)務(wù)不熟悉,理解不到怎么可以開發(fā)成功?④這個(gè)功能昨天就開完完成,怎么還沒有發(fā)布,我只是提了一個(gè)小功能,怎么發(fā)布需要這么久?⑤只是一個(gè)界面的內(nèi)容,怎么會(huì)影響整個(gè)系統(tǒng),而且時(shí)間這么久?⑥又要我們測(cè)試,這個(gè)功能模塊之前測(cè)試過了啊?⑦我提出的修改不是這個(gè)模塊的,怎么也要測(cè)試這個(gè)模塊?

      (2)IT部門遇到的問題包括:

      ①我們信息部門能不能自己改界面?最好少開發(fā)就能實(shí)現(xiàn)相關(guān)功能。②所有功能都要以這個(gè)為中心,產(chǎn)生瓶頸怎么解決?牽扯我們太多精力,日常工作都不能正常開展。③怎么要這么多服務(wù)器,每個(gè)服務(wù)器配置怎么這么高?④你們?nèi)藛T怎么又變化?好容易建立的溝通信任又要從頭開始。

      (3)解決途徑。通過采用微服務(wù)開發(fā)的系統(tǒng),針對(duì)上面的問題得到了很好的解決,由于采用領(lǐng)域來劃定微服務(wù),降低了對(duì)于業(yè)務(wù)難度,業(yè)務(wù)理解更加充分,采用微服務(wù)架構(gòu)能夠支持分布式部署,資源在線橫向擴(kuò)展,單個(gè)服務(wù)資源動(dòng)態(tài)擴(kuò)展,降低停機(jī)停系統(tǒng)帶來的影響,去中心化的設(shè)計(jì)思想能夠使系統(tǒng)各部分受力均衡,避免瓶頸的產(chǎn)生,系統(tǒng)更容易維護(hù)、升級(jí),降低運(yùn)維成本。同時(shí)通過系統(tǒng)診斷、鏈路追蹤技術(shù)及時(shí)反映系統(tǒng)及服務(wù)器真實(shí)狀態(tài),為企業(yè)信息部門提供預(yù)知、預(yù)判能力,提高生產(chǎn)力,增強(qiáng)持續(xù)集成、持續(xù)交付能力,簡化開發(fā)難度,提高開發(fā)效率,降低成本。

      3 結(jié)語

      綜上所述,通過應(yīng)用微服務(wù)架構(gòu),完成箱體智能加工生產(chǎn)管控系統(tǒng)開發(fā),使軟件具備良好的可擴(kuò)展性,適應(yīng)用戶的集成需求和推廣應(yīng)用,降低了項(xiàng)目成本。智能加工生產(chǎn)管控系統(tǒng)的設(shè)計(jì)在落實(shí)“實(shí)用”和“實(shí)效”的同時(shí),助力六二七廠在機(jī)加行業(yè)成為兵器智能制造的標(biāo)桿企業(yè),未來將在全廠推廣微服務(wù)開發(fā)與應(yīng)用成果。

      猜你喜歡
      架構(gòu)管控模塊
      基于FPGA的RNN硬件加速架構(gòu)
      28通道收發(fā)處理模塊設(shè)計(jì)
      EyeCGas OGI在泄漏管控工作中的應(yīng)用
      “選修3—3”模塊的復(fù)習(xí)備考
      多端聯(lián)動(dòng)、全時(shí)管控的高速路產(chǎn)保通管控平臺(tái)
      功能架構(gòu)在電子電氣架構(gòu)開發(fā)中的應(yīng)用和實(shí)踐
      汽車工程(2021年12期)2021-03-08 02:34:30
      管控老年高血壓要多管齊下
      LSN DCI EVPN VxLAN組網(wǎng)架構(gòu)研究及實(shí)現(xiàn)
      選修6 第三模塊 International Relationships
      失控還是管控?
      軍工文化(2015年10期)2015-05-14 07:03:14
      双牌县| 稻城县| 武平县| 曲靖市| 黎城县| 西乌珠穆沁旗| 四川省| 玛多县| 论坛| 土默特右旗| 湘阴县| 若尔盖县| 水富县| 阿图什市| 涞水县| 黄骅市| 姜堰市| 滁州市| 天台县| 二连浩特市| 明水县| 长子县| 阿合奇县| 揭西县| 九龙坡区| 清新县| 太和县| 静安区| 印江| 工布江达县| 白水县| 湖南省| 阿拉善左旗| 万源市| 蓬莱市| 临汾市| 潼关县| 辽阳市| 天柱县| 宣威市| 赞皇县|