• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于Webservice的系統(tǒng)信息上報平臺的設(shè)計與實現(xiàn)

    2020-06-11 13:46:48嚴(yán)競雄
    電子技術(shù)與軟件工程 2020年3期
    關(guān)鍵詞:服務(wù)端應(yīng)用程序客戶端

    嚴(yán)競雄

    (南通墅勤數(shù)據(jù)科技有限公司 江蘇省南通市 226002)

    當(dāng)前,云計算、大數(shù)據(jù)、區(qū)塊鏈等新興技術(shù)日新月異,發(fā)展十分迅速。一些傳統(tǒng)的信息技術(shù)已經(jīng)被分布式系統(tǒng)、分布式數(shù)據(jù)庫、分布式計算所取代,對于線上服務(wù)器資源總量與利用率的數(shù)據(jù)獲取,目前有多種實現(xiàn)方式,比如Hadoop YARN、Spark等大數(shù)據(jù)平臺提供在線資源展示頁面,但是有的平臺,例如一些流媒體服務(wù)并不提供此類系統(tǒng)資源數(shù)據(jù)的獲取接口。同時,不同的平臺、不同的操作系統(tǒng)之間,數(shù)據(jù)的訪問與監(jiān)控也難以做到一致,不便于資源的統(tǒng)一管理、統(tǒng)一監(jiān)控和個性化定制,對于服務(wù)器集群或者是云平臺資源一體化管理還存在較多可以優(yōu)化和建設(shè)之處。因此,建立一款基于Webservice的個性化資源監(jiān)控系統(tǒng)對于云平臺建設(shè)具有積極的意義和推動作用。

    1 背景介紹

    Webservice是一種具有低耦合性的Web應(yīng)用程序,使用XML來實現(xiàn)多平臺,多系統(tǒng)間的數(shù)據(jù)交互,提供各個平臺系統(tǒng)間相互協(xié)同工作的能力。

    運用Webservice,研發(fā)人員可以更好的將時間和精力聚焦到業(yè)務(wù)流程或者是業(yè)務(wù)邏輯的具體實現(xiàn),通過接口技術(shù),使建立在不同操作系統(tǒng)之上的應(yīng)用程序數(shù)據(jù)交互更為方便。

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

    圖1:系統(tǒng)架構(gòu)示意圖

    整個系統(tǒng)架構(gòu)示意圖如圖1所示,大致分為三部分,即C端(客戶端)、Web/Webservice服務(wù)器端和MySQL數(shù)據(jù)庫服務(wù)器端,客戶端通過系統(tǒng)信息收集軟件將CPU的利用率,內(nèi)存利用率、硬盤使用情況等資源信息的相關(guān)數(shù)據(jù)通過發(fā)送至Webservice的指定接口,Webservice接收到數(shù)據(jù),將數(shù)據(jù)處理、提交給后臺的MySQL數(shù)據(jù)庫服務(wù)器,后臺MySQL數(shù)據(jù)庫負責(zé)對數(shù)據(jù)的處理和存儲,實現(xiàn)數(shù)據(jù)的及時記錄與更新。系統(tǒng)維護人員可訪問Web服務(wù)器訪問統(tǒng)計數(shù)據(jù),根據(jù)得到的數(shù)據(jù)實現(xiàn)在線服務(wù)器的資源監(jiān)控。

    3 系統(tǒng)開發(fā)

    3.1 數(shù)據(jù)庫設(shè)計

    數(shù)據(jù)庫采用MySQL,MySQL是一種關(guān)系型數(shù)據(jù)庫,支持Windows、Linux、FreeBSD等操作系統(tǒng),提供C、C++、Python、.NET等多種編程語言接口,為程序員跨平臺跨系統(tǒng)開發(fā)提供了方便。關(guān)于數(shù)據(jù)庫的設(shè)計,首先在MySQL中新建一個數(shù)據(jù)庫,并在新建的數(shù)據(jù)庫中新建一張表,表內(nèi)設(shè)有timestamp、ip、computer、system、releaseversion、platformversion、osversion、platform、machine、osarch、cpuname、cpucores、cpuuse、memcapa、memoryuse、diskinfor、diskuse、cpusn、boardsn、biossn、mac字段,分別代表時間戳、IP地址、計算機名、系統(tǒng)、發(fā)布版本號、平臺版本號、操作系統(tǒng)版本號、所屬平臺、系統(tǒng)架構(gòu)、位數(shù)、CPU型號、CPU核數(shù)、CPU利用率、內(nèi)存容量、內(nèi)存利用率、磁盤序列號、磁盤分區(qū)大小、CPU序列號、主板序列號、BIOS序列號和MAC地址。

    3.2 客戶端開發(fā)

    Python支持跨平臺開發(fā)和部署,客戶端采用PyCharm作為IDE進行軟件開發(fā),客戶端主要分為兩部分,即信息搜集和信息上報,系統(tǒng)信息的搜集主要用到了WMI模塊,WMI的全稱為Windows Management Instrumentation,通過WMI模塊可以搜集當(dāng)前系統(tǒng)相關(guān)信息。在使用WMI模塊前,首先要通過import wmi代碼語句引入。如,需要獲取系統(tǒng)的版本信息和位數(shù)信息,可通過編輯如下代碼得到。

    同樣,通過WMI模塊還可以獲得CPU信息、內(nèi)存信息、磁盤信息等,十分方便。

    信息上報采用suds模塊調(diào)用Webservice接口,在使用前,通過from suds.client import Client代碼引入suds模塊,Webservice接口調(diào)用如下所示:

    因為Webservice服務(wù)端設(shè)有SOAP Header認證,因此,在客戶端中引入了token進行用戶鑒權(quán),通過Webservice的ClientInformationCollecter接口進行數(shù)據(jù)上報。

    3.3 Webservice開發(fā)

    Webservice采用.NET Framework和C#語言進行設(shè)計開發(fā),通過MySqlConnection conn=ConnectionPool.getPool().getConnection();語句,使用MySQL連接池技術(shù)作為數(shù)據(jù)庫連接的資源分配手段,實現(xiàn)了Webservice與數(shù)據(jù)庫之間統(tǒng)一的連接管理,避免數(shù)據(jù)庫連接泄露,從而實現(xiàn)了連接復(fù)用和更快的系統(tǒng)響應(yīng)速度。使用SOAP Header消息認證,如在API接口函數(shù)執(zhí)行開始處調(diào)用if (header.ValideUser(header.UserName,header.PassWord))判斷語句,在客戶端連接Webservice時,通過用戶鑒權(quán),如果鑒權(quán)成功,才能對接Webservice接口進行數(shù)據(jù)傳輸,否則則返回認證錯誤信息,從而提高了Webservice數(shù)據(jù)傳輸?shù)陌踩?。在?shù)據(jù)入庫前,Webservice應(yīng)用程序會先判斷數(shù)據(jù)庫中是否已經(jīng)含有需要存儲數(shù)據(jù)的表,若表不存在,則會先按照規(guī)定格式,如表前綴名加日期名,創(chuàng)建新的數(shù)據(jù)庫表,創(chuàng)建成功后,再在表內(nèi)添加數(shù)據(jù)。實現(xiàn)數(shù)據(jù)的按表、按天存放,使數(shù)據(jù)的存儲更加合理有序。

    4 部署測試

    開發(fā)完畢后,需要對客戶端和服務(wù)端的程序分別打包發(fā)布,對于客戶端,可以使用pyinstaller對python程序進行打包,生成單個exe文件。對于服務(wù)端的Webservice應(yīng)用程序,可點擊Visual Studio菜單欄的生成,在下拉菜單中,點擊發(fā)布,在彈出的發(fā)布頁中選擇需要生成的文件路徑,點擊發(fā)布后即可。發(fā)布生成后,可將生成的一系列文件復(fù)制到IIS服務(wù)器指定目錄下,在IIS管理器中新建添加網(wǎng)站,在添加網(wǎng)站窗口中填入網(wǎng)站名稱、網(wǎng)站物理路徑等信息,同時,添加傳遞身份認證。完成后點擊確定按鈕,啟動網(wǎng)站即可。

    在客戶端運行系統(tǒng)信息搜集軟件,若數(shù)據(jù)庫表中產(chǎn)生數(shù)據(jù),則證明客戶端與服務(wù)端系統(tǒng)數(shù)據(jù)聯(lián)通。

    5 結(jié)語

    通過分別對客戶端、服務(wù)端程序的設(shè)計、開發(fā)、部署,測試,最終完成一整套基于Webservice的系統(tǒng)信息上報平臺的設(shè)計與實現(xiàn)。介紹了客戶端利用Python編程語言進行信息搜集與上報的軟件開發(fā)過程,服務(wù)端利用.NET Framework和C#開發(fā)Webservice應(yīng)用程序的過程,Webservice技術(shù)實現(xiàn)了不同系統(tǒng)間數(shù)據(jù)共享的目的,達到了系統(tǒng)平臺間的整合與統(tǒng)一,它的可集成性、松散耦合等特點使系統(tǒng)的性能得到了提升,部署更加靈活,為研發(fā)運維一體化建設(shè)提供了技術(shù)支持,基于Webservice的系統(tǒng)信息上報平臺使負責(zé)線上服務(wù)器運維的工作人員有更多的精力投入到如何優(yōu)化資源配置,而非如以往將重心放在數(shù)據(jù)監(jiān)控上,提高了運維人員的工作效率,同時也提升了企業(yè)的競爭力、生產(chǎn)力。

    猜你喜歡
    服務(wù)端應(yīng)用程序客戶端
    刪除Win10中自帶的應(yīng)用程序
    電腦報(2019年12期)2019-09-10 05:08:20
    云存儲中基于相似性的客戶-服務(wù)端雙端數(shù)據(jù)去重方法
    縣級臺在突發(fā)事件報道中如何應(yīng)用手機客戶端
    傳媒評論(2018年4期)2018-06-27 08:20:24
    孵化垂直頻道:新聞客戶端新策略
    傳媒評論(2018年4期)2018-06-27 08:20:16
    基于Vanconnect的智能家居瘦客戶端的設(shè)計與實現(xiàn)
    電子測試(2018年10期)2018-06-26 05:53:34
    新時期《移動Web服務(wù)端開發(fā)》課程教學(xué)改革的研究
    在Windows Server 2008上創(chuàng)建應(yīng)用
    客戶端空間數(shù)據(jù)緩存策略
    關(guān)閉應(yīng)用程序更新提醒
    電腦迷(2012年15期)2012-04-29 17:09:47
    “鴿子”玩升級 黑你沒商量
    双流县| 元氏县| 溆浦县| 阿合奇县| 乃东县| 金沙县| 沂水县| 霞浦县| 沂源县| 湾仔区| 潜江市| 洛阳市| 万盛区| 武功县| 汾西县| 抚州市| 高邑县| 万全县| 天峻县| 合江县| 盐边县| 江川县| 泽普县| 泰兴市| 阿城市| 错那县| 洛隆县| 涞水县| 南开区| 铜川市| 新田县| 乳山市| 朝阳区| 中宁县| 苍梧县| 顺昌县| 喜德县| 绥棱县| 寿光市| 东兴市| 蕉岭县|