亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于微服務(wù)的通信工程概預(yù)算系統(tǒng)的設(shè)計與研究

        2019-01-02 09:01:18鄭明釗,張建強,張高毓
        軟件 2019年12期
        關(guān)鍵詞:微服務(wù)

        摘 ?要: 當前通信行業(yè),已經(jīng)有許多WEB工具平臺來進行預(yù)算。但是,它們預(yù)算方式不統(tǒng)一,無法統(tǒng)一管控。并且一旦工信部頒發(fā)相關(guān)定額或者計價方式的變更,各種系統(tǒng)需要重新改造,無疑加大了整體預(yù)算的成本。所以使用基于微服務(wù)架構(gòu)的通信工程概預(yù)算系統(tǒng)不但可以統(tǒng)一各個省份及地市的預(yù)算,而且一旦發(fā)生變化可以快速迭代、快速集成,能夠第一時間使用戶使用上最新的系統(tǒng)。當前基于Spring Cloud的微服務(wù)架構(gòu)已經(jīng)在業(yè)內(nèi)比較成熟,它為本系統(tǒng)的實現(xiàn)提供了很好的技術(shù)支持。另外,Kubernetes和Jenkins也大大的簡化了系統(tǒng)的運維成本,可以做到自動化的構(gòu)建、測試及部署。

        關(guān)鍵詞: 通信工程概預(yù)算;微服務(wù);Spring Cloud;Kubernetes;Jenkins

        中圖分類號: TP311 ? ?文獻標識碼: A ? ?DOI:10.3969/j.issn.1003-6970.2019.12.039

        本文著錄格式:鄭明釗,張建強,張高毓. 基于微服務(wù)的通信工程概預(yù)算系統(tǒng)的設(shè)計與研究[J]. 軟件,2019,40(12):174177

        Design and Research of Budget System for the Telecommunication

        Engineering Based on Micro-Service

        ZHENG Ming-zhao, ZHANG Jian-qiang, ZHANG Gao-yu

        (China Mobile Group Design Institute Co., LTD Shandong, Jinan 250101, China)

        【Abstract】: In the current communications industry, there are many Web tools platform for budgeting. However, their budget methods are not unified and cannot be controlled uniformly. In addition, once the MIIT releases relevant quota or change of valuation method, all kinds of systems need to be remolded, which undoubtedly increases the cost of the overall budget. Therefore, the budget system for the telecommunication engineering based on micro-service architecture can not only unify the budgets of various provinces and municipalities, but also unify the budgets of every provinces and citys once changes occur. And once changes occuring, it can be rapidly iterated and rapidly integrated. And the users can use the latest system in the first time. Currently, the micro-service architecture based on Spring Cloud has been relatively mature in the industry, which provides good technical support for the implementation of this system. In addition, Kubernetes and Jenkins also greatly simplified the operation and save costs of the system. And it enables the system can be built and deployed automatically.

        【Key words】: Budget for the telecommunication engineering; Micro-service; Spring Cloud; Kubernetes; Jenkins

        0 ?引言

        隨著我國社會的經(jīng)濟發(fā)展,為了滿足我國信息通信建設(shè)行業(yè)的發(fā)展要求,工信部頒布了最新的信息通信建設(shè)工程預(yù)算定額、工程費用定額及工程概預(yù)算編制規(guī)程,以規(guī)范通信建設(shè)工程的計價行為。

        當前,通信業(yè)內(nèi)存在著很多相關(guān)的通信工程概預(yù)算系統(tǒng)[1],每次工信部在頒布最新定額,都需要重新調(diào)整系統(tǒng)以適應(yīng)最新的定額及計價方式。這無疑增加了系統(tǒng)維護人員的工作量,而且系統(tǒng)的重新改造開發(fā)都需要花費大量的人力物力資源。且在當前互聯(lián)網(wǎng)高速發(fā)展的時代,快速響應(yīng)快速迭代的需求也越來越高。所以,以往按部就班系統(tǒng)整體改造、開發(fā)、測試及部署的方式嚴重影響了系統(tǒng)的迭代能力。除此之外,不同省份與地市對于概預(yù)算的需求也有些不一致,一套固定的系統(tǒng)很難滿足全國所有通信行業(yè)的需求。

        綜上兩個問題,使用微服務(wù)[2]架構(gòu)設(shè)計的通信工程概預(yù)算系統(tǒng)能夠?qū)τ谕话l(fā)的變化做出快速應(yīng)對,通過修改個別服務(wù)做到快速迭代,且不需要整體部署,只需對發(fā)生改變的服務(wù)進行重新部署即可。另外,使用微服務(wù)架構(gòu)[8]可以通過部署多種服務(wù)來滿足不同的業(yè)務(wù)需求。

        1 ?需求分析

        基于微服務(wù)的通信工程概預(yù)算系統(tǒng)主要功能需要完成對定額工日、使用材料、設(shè)備及機械等信息的計算得出最終的工程概預(yù)算計價結(jié)果。除了完成正常的概預(yù)算之外,由于系統(tǒng)使用微服務(wù)架構(gòu),則需要系統(tǒng)中有一個統(tǒng)一的服務(wù)注冊及發(fā)現(xiàn)中心,且概預(yù)算服務(wù)的部署都比較復(fù)雜,需要一個強大的自動化運維服務(wù)功能?;谝陨?,可以將系統(tǒng)的需求分為功能性需求和非功能性需求兩部分。

        1.1 ?系統(tǒng)用例分析

        本系統(tǒng)主要功能需求分為功能性需求及非功能性需求兩大部分。功能性需求主要有:概預(yù)算費用計算、標準信息維護、概預(yù)算文件導(dǎo)出等功能;非功能系需求主要針對服務(wù)注冊發(fā)現(xiàn)、系統(tǒng)運維方面,主要包括:服務(wù)注冊與發(fā)現(xiàn)、監(jiān)控與告警、系統(tǒng)運行日志、自動化構(gòu)建及部署等。系統(tǒng)用力分析圖如下圖1所示。

        圖1 ?系統(tǒng)用例圖

        Fig.1 ?System use case diagrams

        1.2 ?核心功能需求

        基于微服務(wù)的通信工程概預(yù)算系統(tǒng)其核心功能需要完成對項目工程的概預(yù)算計算以及完成對預(yù)算結(jié)果按照工信部標準出版格式生成Excel編制文件。主要包括:概預(yù)算費用計算、標準信息維護、概預(yù)算文件導(dǎo)出等功能。

        概預(yù)算費用計算:根據(jù)錄入的基礎(chǔ)定額、材料、設(shè)備、儀表和機械等信息計算出表一至表五的費用數(shù)據(jù)。

        標準信息維護:按照工信部下發(fā)標準定額信息,結(jié)合個人需求在系統(tǒng)內(nèi)維護工日、材料、機械、儀表等標準基礎(chǔ)數(shù)據(jù)。

        概預(yù)算文件導(dǎo)出:按照工信部標準出版格式,生成概預(yù)算表格文件。

        1.3 ?非核心功能需求

        基于微服務(wù)的通信工程概預(yù)算系統(tǒng)由于使用的微服務(wù)方式部署,所以服務(wù)的數(shù)量和種類都會比較多,在部署的時候若要使用人工部署的方式會非常的麻煩和復(fù)雜。

        基于系統(tǒng)能夠自動化的快速部署的目的,其所需的非功能性需求有:服務(wù)注冊與發(fā)現(xiàn)、系統(tǒng)監(jiān)控與告警、系統(tǒng)日志功能以及系統(tǒng)自動化構(gòu)建及部署功能。

        服務(wù)注冊與發(fā)現(xiàn):注冊與發(fā)現(xiàn)概預(yù)算系統(tǒng)的計算服務(wù)、文件生成服務(wù),以及信息維護等服務(wù)。

        系統(tǒng)監(jiān)控與告警:監(jiān)控系統(tǒng)的資源使用、服務(wù)運行等情況,若發(fā)現(xiàn)異常會發(fā)出實時告警。

        系統(tǒng)日志功能:記錄系統(tǒng)中硬件、軟件和系統(tǒng)問題的信息,記錄系統(tǒng)操作過程,同時還可以監(jiān)視系統(tǒng)中發(fā)生的事件。

        系統(tǒng)自動化構(gòu)建及部署:研發(fā)人員通過上傳代碼庫最新源碼,該功能會自動對最新的源碼進行構(gòu)建打包部署,使服務(wù)一直保持最新狀態(tài)。

        2 ?系統(tǒng)架構(gòu)設(shè)計

        根據(jù)上述需求分析,可以總結(jié)得出系統(tǒng)整體架構(gòu)設(shè)計如下圖所示。從下圖2可以看出本系統(tǒng)總共可以分為四大部分:接入網(wǎng)關(guān)、系統(tǒng)服務(wù)、注冊中心、系統(tǒng)運維模塊。

        2.1 ?系統(tǒng)數(shù)據(jù)存儲

        通信工程概預(yù)算系統(tǒng)對數(shù)據(jù)進行操作如下圖3所示都是相互獨立的,各個服務(wù)之間都是通過相互調(diào)用Restful[3]接口來達到數(shù)據(jù)交互。

        通過上圖可以知道基于微服務(wù)的通信工程概預(yù)算系統(tǒng)總共分為五種數(shù)據(jù):系統(tǒng)基本設(shè)置數(shù)據(jù)、基礎(chǔ)數(shù)據(jù)、文件數(shù)據(jù)、費用計算數(shù)據(jù)以及標準信息數(shù)據(jù)。下面將對這幾種數(shù)據(jù)進行分別的詳細闡述。

        圖2 ?系統(tǒng)架構(gòu)圖

        Fig.2 ?System architecture diagram

        圖3 ?通信工程概預(yù)算系統(tǒng)數(shù)據(jù)流圖

        Fig.3 ?Data flow diagram of communication engineering budget system

        系統(tǒng)基本設(shè)置數(shù)據(jù):包括系統(tǒng)的計算精度、高原系統(tǒng)、運送距離以及分段等信息;

        基礎(chǔ)數(shù)據(jù):包括單項工程名稱、表格編號字頭、建設(shè)項目名稱、建設(shè)單位以及設(shè)計單位、定額及自定義公式等信息;

        文件數(shù)據(jù):概預(yù)算結(jié)果文件導(dǎo)出時,需要按照一定的標準格式生成,則文件數(shù)據(jù)即為這些標準格式文件;

        費用計算數(shù)據(jù):包括各個表格計算時涉及的相關(guān)費率,以及計價方式等一些數(shù)據(jù);

        標準信息數(shù)據(jù):標準信息,即工信部頒布的工日、材料、機械、儀表等信息。

        2.2 ?系統(tǒng)業(yè)務(wù)邏輯

        基于微服務(wù)的通信工程概預(yù)算系統(tǒng)主要依托于Spring Cloud[4]的框架來實現(xiàn),其中費用計算為業(yè)務(wù)邏輯為核心模塊,其業(yè)務(wù)實現(xiàn)的邏輯圖如下圖4所示。

        3 ?關(guān)鍵問題及解決方案

        現(xiàn)實系統(tǒng)開發(fā)過程中,由于有很多的系統(tǒng)服務(wù),若要保證每個服務(wù)都有一個單獨的數(shù)據(jù)庫是非常不現(xiàn)實的,其中保證數(shù)據(jù)同步這一件事就會使得系統(tǒng)非常復(fù)雜。

        圖4 ?費用計算業(yè)務(wù)邏輯圖

        Fig.4 ?Cost calculation business logic diagram

        針對此問題,提出兩種解決方案:第一,即每種服務(wù)使用一個數(shù)據(jù)庫,這樣的話相同服務(wù)之間會保證數(shù)據(jù)同步,且不同種類服務(wù)之間數(shù)據(jù)也是隔離的,不同服務(wù)之間相互調(diào)用通過restful方式來發(fā)送消息;第二,即沿用以前傳統(tǒng)的方式,整個系統(tǒng)使用單個數(shù)據(jù)庫[10-11],這樣保證了整個系統(tǒng)的數(shù)據(jù)同步,而且不會造成不同服務(wù)之間的數(shù)據(jù)差異。

        基于本系統(tǒng)業(yè)務(wù)邏輯并非那么復(fù)雜,而且各個服務(wù)之間的調(diào)用數(shù)據(jù)傳輸量比較大,所以使用單個數(shù)據(jù)庫的方式,每個服務(wù)之間僅發(fā)送必要的請求即可,數(shù)據(jù)讀取通過數(shù)據(jù)庫即可。這樣既降低了系統(tǒng)

        圖5 ?系統(tǒng)數(shù)據(jù)庫改造方案

        Fig.5 ?System database reconstruction scheme

        復(fù)雜度,也很好的遵循了微服務(wù)的架構(gòu)設(shè)計模式。其改造方案圖如下圖5所示。

        4 ?關(guān)鍵技術(shù)

        Spring Cloud: Spring Cloud是很多程序框架的組合。它大體包括服務(wù)發(fā)現(xiàn)注冊、負載均衡、斷路器,使用Spring Boot開發(fā)屏蔽掉了很多繁瑣的配置,大大簡化了開發(fā)工作。另外使用整個技術(shù)路線,可以很方便的搭建起微服務(wù)的系統(tǒng)架構(gòu)平臺。

        Eureka:Eureka集成于Spring Cloud,它實現(xiàn)了服務(wù)發(fā)現(xiàn)功能。Eureka包含兩個部分:Eureka Server和Eureka Client。Eureka Server用來進行服務(wù)注冊,Eureka Client用于簡化與Eureka Server的交互,在本系統(tǒng)中負責概預(yù)算服務(wù)的注冊與發(fā)現(xiàn)。

        Zuul:它是一個API Gateway服務(wù)器,在本系統(tǒng)中使用zuul來實現(xiàn)接入網(wǎng)關(guān),對外部請求進行過濾等操作。

        Restful API:RESTful[9]是一種標準的通信接口,在本系統(tǒng)中使用Restful API統(tǒng)一的接口來訪問數(shù)據(jù)庫從而獲取到相同的數(shù)據(jù)。

        Docker容器:Docker[5,12]是一種應(yīng)用容器,可封裝應(yīng)用及運行環(huán)境,進而輕松的移植到其他系統(tǒng)上。

        Jenkins:Jenkins[6]是一種自動化的持續(xù)集成工具,可自動化的重復(fù)構(gòu)建發(fā)布軟件,使得繁瑣的程序構(gòu)建打包過程變得自動化,從而減輕了人工操作的壓力。

        Kubernetes(k8s):Kubernetes[7]提供自動化容器的部署和復(fù)制能力,根據(jù)系統(tǒng)實際應(yīng)用情況擴展或收縮容器的數(shù)量和部署,且它還可以實現(xiàn)容器的負載均衡。

        5 ?結(jié)束語

        本文提出了使用微服務(wù)的架構(gòu)思想來統(tǒng)一構(gòu)建一套概預(yù)算系統(tǒng)的架構(gòu)方案,該方案不但在理論上進行了介紹,而且還在具體的架構(gòu)實現(xiàn)進行了分析,具有非常高的可行性。通過使用微服務(wù)的架構(gòu)不但規(guī)避了各種預(yù)算的差異,而且提升了計算的速度。如果真的應(yīng)用到實際的平臺環(huán)境中將會大大節(jié)約我們的開發(fā)成本,而且還會提高我們的工作效率。

        參考文獻

        [1]張延彬. 通信工程概預(yù)算編制系統(tǒng)的設(shè)計與實現(xiàn)[D]. 山東大學(xué), 2010.

        [2]郭棟, 王偉, 曾國蓀. 一種基于微服務(wù)架構(gòu)的新型云件PaaS平臺[J]. 信息網(wǎng)絡(luò)安全, 2015(11): 15-20.

        [3]潘冰. 面向資源的RESTful Web應(yīng)用研究[J]. 微計算機應(yīng)用, 2010, 31(07): 38-43.

        [4]梁安健, 胡寧, 羅劍武, 陳泫文. 基于Spring Cloud的微服務(wù)構(gòu)建及軟件云化應(yīng)用研究[J]. 電子產(chǎn)品可靠性與環(huán)境試驗, 2018, 36(S1): 105-109.

        [5]劉思堯, 李強, 李斌. 基于Docker技術(shù)的容器隔離性研究[J]. 軟件, 2015, 36(04): 110-113.

        [6]陶鎮(zhèn)威. 基于Jenkins的持續(xù)集成研究與應(yīng)用[D]. 華南理工大學(xué), 2012.

        [7]杜軍. 基于Kubernetes的云端資源調(diào)度器改進[D]. 浙江大學(xué), 2016.

        [8]郝振強. 終端管理系統(tǒng)北向?qū)又形⒎?wù)的應(yīng)用研究[J]. 軟件, 2018, 39(11): 101-104.

        [9]黃沛. 基于RESTful架構(gòu)的科技信息共享接口系統(tǒng)的設(shè)計[J]. 軟件, 2018, 39(7): 170-172.

        [10]趙正旭, 白英杰, 吳曉進. 國產(chǎn)操作系統(tǒng)JSP服務(wù)器部署策略的設(shè)計與實現(xiàn)[J]. 軟件, 2018, 39(6): 196-200.

        [11]韓凌波. 基于mvc 架構(gòu)的普法考試系統(tǒng)設(shè)計與實現(xiàn)[J]. 軟件, 2015, 36(3): 132-134.

        [12]劉思堯, 李強, 李斌. 基于Docker 技術(shù)的容器隔離性研究[J]. 軟件, 2015, 36(4): 110-113.

        猜你喜歡
        微服務(wù)
        基于供給側(cè)改革理論的圖書館社交網(wǎng)絡(luò)微服務(wù)研究
        微信公眾平臺在醫(yī)院圖書館的應(yīng)用現(xiàn)狀調(diào)查
        基于微信企業(yè)號的校園移動服務(wù)
        微服務(wù)視角下高職圖書館數(shù)字資源使用分析
        中文信息(2016年10期)2016-12-12 10:09:57
        從單一模式系統(tǒng)架構(gòu)往微服務(wù)架構(gòu)遷移轉(zhuǎn)化技術(shù)研究
        基于微信公眾平臺的高校圖書館微服務(wù)現(xiàn)狀及對策
        色婷婷精品综合久久狠狠| 免费1级做爰片1000部视频| 激情 人妻 制服 丝袜| 亚洲av日韩av一卡二卡| 一区二区三区日本美女视频 | 人妻献身系列第54部| 麻豆AⅤ精品无码一区二区| 日本在线观看一区二区视频| 情爱偷拍视频一区二区| 草草浮力地址线路①屁屁影院| 国产精品毛片无码久久| 尤物成av人片在线观看 | 日本高清一区二区三区不卡| 亚洲国产精品成人天堂| 亚洲日本在线电影| 色欧美与xxxxx| 精品黄色国产一区二区| 深夜爽爽动态图无遮无挡| 越南女子杂交内射bbwxz| 国产真实乱XXXⅩ视频| 白白色视频这里只有精品| 日本另类αv欧美另类aⅴ| 亚洲中文无码成人影院在线播放| 99热久久只有这里是精品| av在线播放男人天堂| 99久久伊人精品综合观看| 97中文字幕在线观看| 亚洲av高清一区二区| 国产熟妇疯狂4p交在线播放| 久久久久国产精品免费免费搜索 | 一区二区久久精品66国产精品| 国产亚洲精品国产精品| 午夜无码国产理论在线| 一区二区三区国产在线网站视频| 亚洲精品中文字幕91| 东京热无码av一区二区| 水蜜桃久久| 久久亚洲宅男天堂网址| 中文字幕日韩人妻在线视频| 久久国产36精品色熟妇| 亚洲伊人成综合人影院|