• 
    

    
    

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

      Docker容器下企業(yè)資源管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

      2020-02-03 05:48:26康耀龍馮麗露張景安
      電子技術(shù)與軟件工程 2020年11期
      關(guān)鍵詞:字段鏡像信息管理

      康耀龍 馮麗露 張景安

      (1.山西大同大學(xué)計(jì)算機(jī)與網(wǎng)絡(luò)工程學(xué)院 山西省大同市 037009 2.山西大同大學(xué)教育科學(xué)與技術(shù)學(xué)院 山西省大同市 037009)

      (3.山西大同大學(xué)網(wǎng)絡(luò)信息中心 山西省大同市 037009)

      近年來(lái),虛擬化得到大規(guī)模的應(yīng)用。區(qū)別于傳統(tǒng)硬件虛擬技術(shù),Docker 實(shí)現(xiàn)了輕量級(jí)的操作系統(tǒng)虛擬化。Docker 具有如下優(yōu)點(diǎn):首先,當(dāng)開(kāi)發(fā)者開(kāi)發(fā)完代碼之后,只需要將代碼打包到配置好所有環(huán)境變量的Docker 容器就可以運(yùn)行,這對(duì)于開(kāi)發(fā)人員尤其是新手來(lái)說(shuō),提高了開(kāi)發(fā)的效率。其次,Docker 打包部署功能,使其具有很好的兼容性和可移植性。當(dāng)需要部署系統(tǒng)到多個(gè)主機(jī)時(shí),只需要根據(jù)已配置好的容器生成鏡像,然后上傳到倉(cāng)庫(kù),這樣其他可以訪(fǎng)問(wèn)到倉(cāng)庫(kù)的主機(jī)就可以下載這個(gè)鏡像并運(yùn)行容器。同時(shí)Docker通過(guò)沙箱機(jī)制將容器之間相互“隔離”達(dá)到互不干擾的效果。本文所實(shí)現(xiàn)的企業(yè)資源管理系統(tǒng)不僅方便了企業(yè)管理人員進(jìn)行線(xiàn)上的企業(yè)信息、合同信息的管理,而且利用Docker 容器自身特點(diǎn),集成Tomcat,Java,MySQL 這些開(kāi)發(fā)工具,隔離了運(yùn)行環(huán)境,同時(shí)方便項(xiàng)目的移植。

      1 系統(tǒng)分析

      傳統(tǒng)的企業(yè)在資源管理方面面臨著人工巨大的成本,企業(yè)管理人員需要人工對(duì)企業(yè)信息進(jìn)行統(tǒng)計(jì)和操作,但是現(xiàn)在的企業(yè)具有分布范圍廣,涉及領(lǐng)域多的特點(diǎn),不再適合進(jìn)行人工操作。

      本系統(tǒng)通過(guò)對(duì)企業(yè)管理需要的信息進(jìn)行設(shè)計(jì),方便企業(yè)人員進(jìn)行線(xiàn)上管理。整個(gè)系統(tǒng)包括三大模塊:登錄模塊,基本的操作模塊(包括:企業(yè)信息管理模塊,合同信息管理模塊,外圍機(jī)構(gòu)管理模塊)和統(tǒng)計(jì)模塊。

      2 主要開(kāi)發(fā)工具

      2.1 Docker

      Docker 是由DotCloud 公司開(kāi)發(fā)的基于Go 語(yǔ)言實(shí)現(xiàn)的開(kāi)源容器項(xiàng)目[1]?,F(xiàn)在主流的操作系統(tǒng)都支持Docker。Docker 主要是通過(guò)對(duì)應(yīng)用的整個(gè)生命周期進(jìn)行管理,達(dá)到應(yīng)用組件級(jí)別的“一次封裝,到處運(yùn)行”,即將封裝好的鏡像發(fā)布就可以下載進(jìn)行多次運(yùn)行。這些應(yīng)用組件,可以是一個(gè)Web 應(yīng)用,一個(gè)編譯環(huán)境,甚至可以是一個(gè)操作系統(tǒng)和集群。最重要的一點(diǎn),Docker 是一個(gè)輕量級(jí)的虛擬化解決工具,可以實(shí)現(xiàn)秒級(jí)的虛擬機(jī)啟動(dòng)。

      2.2 Servlet

      Servlet 是一個(gè)Java 類(lèi),主要針對(duì)瀏覽器發(fā)出的請(qǐng)求進(jìn)行處理以及響應(yīng)。前臺(tái)頁(yè)面通過(guò)瀏覽器使用HTTP 協(xié)議發(fā)送消息到后臺(tái),Servlet 作為控制器將消息傳至業(yè)務(wù)層,并將處理結(jié)果返回給前臺(tái)頁(yè)面[2]。本系統(tǒng)使用了Servlet 技術(shù)對(duì)用戶(hù)的請(qǐng)求進(jìn)行處理,當(dāng)需要增加新的功能的時(shí)候,只需要增加新的Sevlet 模塊即可。

      2.3 MySQL

      MySQL 是一個(gè)開(kāi)源數(shù)據(jù)庫(kù)管理系統(tǒng),對(duì)機(jī)器性能要求不是很高,目前很多互聯(lián)網(wǎng)公司都將MySQL 作為關(guān)系型數(shù)據(jù)庫(kù)的首選[3]。

      3 系統(tǒng)詳細(xì)設(shè)計(jì)

      3.1 系統(tǒng)功能設(shè)計(jì)

      通過(guò)對(duì)企業(yè)資源管理的實(shí)際調(diào)查和可行性分析,該系統(tǒng)有以下幾大主要功能模塊:

      (1)系統(tǒng)登錄模塊。輸入賬號(hào)密碼登錄系統(tǒng),登錄成功后才能進(jìn)入主頁(yè)面,在主頁(yè)面進(jìn)行各種需要的操作。如果沒(méi)有賬號(hào),需要先注冊(cè)。

      (2)企業(yè)信息功能模塊。點(diǎn)擊導(dǎo)航欄“企業(yè)信息管理”,可以對(duì)企業(yè)信息進(jìn)行相關(guān)的業(yè)務(wù)處理。

      (3)合同信息功能模塊。點(diǎn)擊導(dǎo)航欄“合同信息管理”,可以對(duì)合同信息進(jìn)行相關(guān)的業(yè)務(wù)處理。

      (4)接入外圍機(jī)構(gòu)信息功能模塊。點(diǎn)擊導(dǎo)航欄“機(jī)構(gòu)信息管理”,可以對(duì)機(jī)構(gòu)信息進(jìn)行相關(guān)的業(yè)務(wù)處理。

      (5)企業(yè)信息統(tǒng)計(jì)和合同信息統(tǒng)計(jì)功能。點(diǎn)擊相應(yīng)的“統(tǒng)計(jì)”按鈕,頁(yè)面上會(huì)顯示對(duì)所有信息統(tǒng)計(jì)的結(jié)果,方便進(jìn)行統(tǒng)計(jì)管理。

      3.2 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)

      本系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)了6 個(gè)數(shù)據(jù)表,分別如下:

      (1)enterprise_information 企業(yè)信息表用于存放企業(yè)詳細(xì)信息,該表所包含的字段有企業(yè)名稱(chēng)、通訊地址、營(yíng)業(yè)執(zhí)照號(hào)、經(jīng)營(yíng)地址、所屬行業(yè)、注冊(cè)資本、企業(yè)法人、聯(lián)系電話(huà)、聯(lián)系人、傳真號(hào)、電子郵件等。

      (2)contract 合同信息表用于存放合同的詳細(xì)信息,該表所包含的字段有企業(yè)名稱(chēng)、合同編號(hào)、合同名稱(chēng)、機(jī)構(gòu)名稱(chēng)、合同金額、簽訂時(shí)間。

      (3)organizationt 機(jī)構(gòu)信息表用于存放機(jī)構(gòu)的詳細(xì)信息,該表所包含的字段有機(jī)構(gòu)名稱(chēng)、機(jī)構(gòu)地址、機(jī)構(gòu)負(fù)責(zé)人、發(fā)放總數(shù)、發(fā)放金額。

      (4)oc_connection 企業(yè)-機(jī)構(gòu)信息表用于關(guān)聯(lián)企業(yè)與機(jī)構(gòu),該表所包含的字段有id、機(jī)構(gòu)名稱(chēng)、企業(yè)名稱(chēng)、審核狀態(tài)。

      (5)development_situation 企業(yè)發(fā)展表用于存放企業(yè)發(fā)展的相關(guān)信息,該表所包含的字段有id、企業(yè)名稱(chēng)、營(yíng)業(yè)收入總額、利潤(rùn)總額、納稅總額、職工人數(shù)。

      (6)user 表用于存放用戶(hù)的信息,主要是保存用戶(hù)登錄系統(tǒng)時(shí)所需要的賬號(hào)和密碼。包含的字段有用戶(hù)id,用戶(hù)名、密碼。

      4 系統(tǒng)實(shí)現(xiàn)

      圖1:企業(yè)信息展示頁(yè)面

      圖2:測(cè)試結(jié)果對(duì)比

      4.1 登錄功能實(shí)現(xiàn)

      企業(yè)管理員必須進(jìn)行注冊(cè)后才能夠登錄本系統(tǒng)進(jìn)行業(yè)務(wù)流程的處理。通過(guò)點(diǎn)擊登錄按鈕,將靜態(tài)頁(yè)面上的用戶(hù)名和密碼通過(guò)Ajax技術(shù)傳到服務(wù)器上。業(yè)務(wù)層在對(duì)得到的數(shù)據(jù)進(jìn)行校驗(yàn),若校驗(yàn)通過(guò),則登錄成功,若不通過(guò),則提示相應(yīng)的信息。

      4.2 企業(yè)信息管理功能實(shí)現(xiàn)

      企業(yè)信息功能模塊是本系統(tǒng)用于展示企業(yè)詳細(xì)信息,從而方便對(duì)企業(yè)基礎(chǔ)數(shù)據(jù)信息進(jìn)行管理。該模塊能夠?qū)崿F(xiàn)對(duì)企業(yè)基本信息的新增,還可以對(duì)已錄入企業(yè)信息進(jìn)行查看、更新和刪除等操作。企業(yè)信息展示頁(yè)面如圖1 所示。

      4.3 合同信息管理功能實(shí)現(xiàn)

      該模塊用于展示企業(yè)相關(guān)合同信息,從而實(shí)現(xiàn)簽訂合同企業(yè)之間的聯(lián)系。該模塊能夠?qū)崿F(xiàn)對(duì)已簽訂合同信息的新增,還可以對(duì)已錄入合同信息進(jìn)行查看、修改操作。對(duì)于無(wú)用的合同信息可以進(jìn)行刪除操作。

      4.4 統(tǒng)計(jì)功能實(shí)現(xiàn)

      統(tǒng)計(jì)功能模塊可以按照地(區(qū))域進(jìn)行分類(lèi),統(tǒng)計(jì)出總的注冊(cè)資本、職工人數(shù)、營(yíng)業(yè)收入總額、利潤(rùn)總額、納稅總額、合同金額、服務(wù)類(lèi)型等數(shù)據(jù),可以為企業(yè)決策者提供更多的參考依據(jù)。

      5 Docker容器配置

      代碼開(kāi)發(fā)完成后,我們將系統(tǒng)部署在Docker 容器下,可以使系統(tǒng)具備更佳的運(yùn)行效果。

      5.1 Docker安裝及鏡像創(chuàng)建

      具體安裝步驟為:

      (1)使用sudo yum install -y yum-utils device-mapper-persistentdata lvm2,sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 命令[4],將容器Docker 運(yùn)行需要用到的文件進(jìn)行安裝。

      (2)使用sudo yum install docker-ce 命令安裝Docker。

      (3)安裝完成之后輸入sudo systemctl start docker 命令啟動(dòng)Docker,然后用sudo systemctl enable docker 命令加入開(kāi)機(jī)啟動(dòng)。

      (4)用Centos 鏡像來(lái)作為Web 項(xiàng)目的基本環(huán)境,然后通過(guò)docker images 命令可以查看到當(dāng)前的基礎(chǔ)鏡像。

      5.2 軟件應(yīng)用部署

      使用命令創(chuàng)建一個(gè)基于CentOS 基礎(chǔ)鏡像的容器,同時(shí)根據(jù)具體情況選擇合適的端口方便訪(fǎng)問(wèn)。將需要的文件通過(guò)SecureFX 軟件傳輸?shù)街鳈C(jī)上,并解壓;然后將JDK,Tomcat 的安裝包和Web項(xiàng)目從虛擬機(jī)的文件目錄上傳至容器中的root 目錄下,啟動(dòng)容器并進(jìn)入到容器的目錄中。

      配置JDK 環(huán)境變量,需要在容器的/etc/profile 文件中填加內(nèi)容,并通過(guò)source /etc/profile 命令使其生效。安裝yum install glibc.i686之后[5],測(cè)試JDK 安裝成功。啟動(dòng)服務(wù)器,進(jìn)入Tomcat 的bin 目錄下雙擊啟動(dòng)腳本驗(yàn)證是否能夠正常運(yùn)行。

      基本環(huán)境已經(jīng)準(zhǔn)備完畢,現(xiàn)在只需要將項(xiàng)目的war 包復(fù)制到Tomcat 的webapps 目錄下就可以訪(fǎng)問(wèn)系統(tǒng)。

      6 系統(tǒng)性能測(cè)試

      為了驗(yàn)證項(xiàng)目在哪個(gè)環(huán)境下性能更好,我在Windows 環(huán)境和Linux 環(huán)境中安裝Nginx 以及其運(yùn)行需要的內(nèi)容,并使用Ab 壓力測(cè)試工具來(lái)驗(yàn)證在哪個(gè)環(huán)境下運(yùn)行效果更好。設(shè)置好nginx.conf 配置文件中需要監(jiān)聽(tīng)的端口之后,安裝基于Nginx 的ab 壓力測(cè)試工具[6]。對(duì)項(xiàng)目部署到兩個(gè)環(huán)境的性能進(jìn)行測(cè)試,測(cè)試結(jié)果如圖2所示。

      Apache ab 壓力測(cè)試工具的測(cè)試結(jié)果會(huì)受到機(jī)器配置的影響。本次測(cè)試,Windows 環(huán)境采用4 核處理器,8G 內(nèi)存,而Linux 環(huán)境機(jī)器配置為單核處理器,內(nèi)存1GB。圖2 左側(cè)為Windows 環(huán)境測(cè)試數(shù)據(jù),右側(cè)為L(zhǎng)inux 環(huán)境測(cè)試數(shù)據(jù)。對(duì)比二者的執(zhí)行結(jié)果可以發(fā)現(xiàn),在Linux 環(huán)境硬件性能遠(yuǎn)低于Windows 環(huán)境的性能的情況下,部署到Docker 容器中的項(xiàng)目比部署在Windows 環(huán)境中普通服務(wù)器中的性能更佳,不僅僅體現(xiàn)在請(qǐng)求的速度上,而且在資源吞吐率方面的表現(xiàn)也更為優(yōu)秀,從而驗(yàn)證了Docker 容器輕量級(jí)的優(yōu)點(diǎn)。

      7 總結(jié)

      本系統(tǒng)基于Docker 容器所開(kāi)發(fā),系統(tǒng)包括了企業(yè)信息,合同信息,統(tǒng)計(jì)功能等模塊,方便企業(yè)人員進(jìn)行信息管理。代碼開(kāi)發(fā)完成后,將系統(tǒng)部署在Docker 容器下,只需要根據(jù)鏡像運(yùn)行容器便能訪(fǎng)問(wèn)系統(tǒng)。當(dāng)需要移植時(shí),只需要重新下載鏡像即可。本文最后,將企業(yè)資源管理系統(tǒng)分別部署到Windows 環(huán)境和Docker 容器環(huán)境進(jìn)行測(cè)試,通過(guò)對(duì)比發(fā)現(xiàn),部署在Docker 容器中運(yùn)行更佳,從而體現(xiàn)出Docker 容器輕量級(jí)、可移植性強(qiáng)、兼容性好等優(yōu)點(diǎn)。

      猜你喜歡
      字段鏡像信息管理
      圖書(shū)館中文圖書(shū)編目外包數(shù)據(jù)質(zhì)量控制分析
      造價(jià)信息管理在海外投標(biāo)中的應(yīng)用探討
      鏡像
      評(píng)《現(xiàn)代物流信息管理與技術(shù)》(書(shū)評(píng))
      鏡像
      小康(2018年23期)2018-08-23 06:18:52
      在高速公路信息管理中如何做好QC小組活動(dòng)
      鏡像
      小康(2015年4期)2015-03-31 14:57:40
      鏡像
      小康(2015年6期)2015-03-26 14:44:27
      CNMARC304字段和314字段責(zé)任附注方式解析
      無(wú)正題名文獻(xiàn)著錄方法評(píng)述
      安丘市| 白朗县| 小金县| 泸溪县| 驻马店市| 苍梧县| 阿坝县| 翁牛特旗| 乌鲁木齐县| 瑞昌市| 佛山市| 龙里县| 凤凰县| 黄陵县| 修文县| 江油市| 准格尔旗| 宜都市| 建阳市| 阜新市| 全南县| 鹤庆县| 武冈市| 孙吴县| 浪卡子县| 鹰潭市| 东乌珠穆沁旗| 墨脱县| 桐城市| 牟定县| 武汉市| 甘孜| 房山区| 台南市| 禄劝| 博野县| 广平县| 深圳市| 吉木乃县| 满洲里市| 特克斯县|