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

        ?

        基于Node.js的天氣監(jiān)測告警系統(tǒng)的設(shè)計

        2019-09-10 07:22:44陸軍邵旭明
        學(xué)習(xí)與科普 2019年22期
        關(guān)鍵詞:數(shù)據(jù)庫信息系統(tǒng)

        陸軍 邵旭明

        摘 要:突發(fā)天氣對地鐵運營會造成較大危害與財產(chǎn)損失。通過人工巡查天氣預(yù)警信息的方式存在效率低下問題。

        為解決該問題,從實際需求出發(fā),設(shè)計了基于Node.js的天氣監(jiān)測告警系統(tǒng)。該系統(tǒng)可實時監(jiān)測關(guān)注城市的突發(fā)天氣預(yù)警信息。系統(tǒng)基于B/S微服務(wù)架構(gòu),采用Node.js全棧技術(shù),數(shù)據(jù)庫使用Sqlite。該系統(tǒng)可顯著提升地鐵運營人員獲取突發(fā)天氣預(yù)警信息的效率,提早做好應(yīng)對行動,最大程度地降低突發(fā)天氣帶給地鐵運營的損失。

        關(guān)鍵詞:Nodejs;Sqlite;B/S

        引言

        當(dāng)前,國內(nèi)的地鐵建設(shè)正處于大規(guī)模發(fā)展階段,地鐵線路越來越多地采用高架與地面形式,同時氣象對地鐵的影響也是日趨顯著。氣象災(zāi)害防范已是地鐵運營急需關(guān)注的問題[1]。地鐵運營公司一般由控制中心(以下簡稱OCC)接收到突發(fā)天氣預(yù)警信息后,向各個部門或中心發(fā)布突發(fā)天氣預(yù)警信息,現(xiàn)場各崗位按照突發(fā)天氣下的相關(guān)作業(yè)標(biāo)準(zhǔn)和要求執(zhí)行。目前,無錫地鐵的OCC是通過江蘇省氣象局網(wǎng)站來獲取突發(fā)天氣預(yù)警信息,這一環(huán)節(jié)需要依靠人員不斷地通過手動刷新與肉眼觀察的手段來監(jiān)測氣象局網(wǎng)站的動態(tài)信息。這樣的方式不僅效率低下,大量浪費人員的精力,而且容易發(fā)生信息遺漏的問題。為解決這個問題,本文設(shè)計了一種基于Node.js技術(shù)的天氣監(jiān)測告警系統(tǒng)的解決方案。該系統(tǒng)通過后臺以固定的時間間隔來循環(huán)讀取氣象局網(wǎng)站指定地址的信息,并將信息過濾,只留下有價值的關(guān)注城市與關(guān)注時間的突發(fā)天氣預(yù)警信息。系統(tǒng)將突發(fā)天氣預(yù)警信息寫入數(shù)據(jù)庫,同時瀏覽器自動打開并指向天氣監(jiān)測告警系統(tǒng),天氣監(jiān)測告警系統(tǒng)的前端界面發(fā)出語音圖文提示,提醒系統(tǒng)用戶及時關(guān)注突發(fā)天氣預(yù)警信息。

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

        系統(tǒng)架構(gòu)采用當(dāng)下流行的B/S架構(gòu)與Node.js全棧技術(shù)。用戶通過使用Webkit為核心的瀏覽器使用軟件系統(tǒng)。同時采用微服務(wù)架構(gòu)的理念,根據(jù)實際需求,將業(yè)務(wù)劃分為獨立數(shù)據(jù)共享型的自治服務(wù),可以融合不同種類與不同時期的技術(shù)。B/S架構(gòu)相對于C/S架構(gòu)的優(yōu)勢是不需要對所有客戶端單獨進行部署與升級,它的部署與升級都集中在服務(wù)端。B/S架構(gòu)可顯著降低系統(tǒng)維護的人力與時間成本。

        2 相關(guān)技術(shù)

        2.1 框架技術(shù)Node.js

        Node.js是一個基于 Chrome V8 引擎的 JavaScript 運行環(huán)境。Node.js使用了一個事件驅(qū)動、非阻塞式 I/O 的模型,使其輕量又高效。Node.js的包管理器 npm,是全球最大的開源庫生態(tài)系統(tǒng)[1]。

        2.2數(shù)據(jù)庫技術(shù)Sqlite

        SQLite 是輕型的嵌入式數(shù)據(jù)庫。它是一款自給自足的、無服務(wù)器的、零配置的、事務(wù)性的SQL數(shù)據(jù)庫引擎。它的優(yōu)勢是資源占用少、性能良好和零管理成本。目前SQLite是在世界上最廣泛部署的SQL數(shù)據(jù)庫引擎 [4]。

        2.3響應(yīng)式Web設(shè)計Bootstrap

        Bootstrap由Twitter的設(shè)計師Mark Otto和Jacob Thornton合作開發(fā),是目前最流行的前端框架之一。Bootstrap是基于 HTML、CSS、JavaScript設(shè)計,簡潔靈活的特點可以使 Web開發(fā)更加快捷[4]。

        3 系統(tǒng)設(shè)計

        3.1 系統(tǒng)流程設(shè)計

        預(yù)警信息可分為三類,正在預(yù)警中數(shù)目,有效預(yù)警與已解除預(yù)警。正在預(yù)警中數(shù)目代表有效預(yù)警的實時數(shù)目。有效預(yù)警是預(yù)警記錄的實時清單,清單中的預(yù)警記錄處于有效狀態(tài)。一旦預(yù)警無效,則從有效預(yù)警的清單中撤出,并放入已解除預(yù)警的清單。已解除預(yù)警是已解除狀態(tài)預(yù)警記錄的清單。

        在Node.js系統(tǒng)服務(wù)端啟動后,首先執(zhí)行初始模塊。初始模塊會第一次讀取正在預(yù)警中數(shù)目、有效預(yù)警與已解除預(yù)警這三類信息。接下來執(zhí)行循環(huán)模塊,循環(huán)模塊會以固定的周期讀取正在預(yù)警中數(shù)目。如果該數(shù)目沒有變化,則不做任何操作。如果該數(shù)目發(fā)生變化,則讀取有效預(yù)警與已解除預(yù)警的清單,然后從清單中對城市與時間進行過濾,將過濾后的信息寫入數(shù)據(jù)庫。同時執(zhí)行Http模塊,瀏覽器將自動指向天氣監(jiān)測告警系統(tǒng)的前端頁面。前端頁面通過語音圖文來提醒系統(tǒng)用戶關(guān)注突發(fā)天氣預(yù)警信息。

        3.2 系統(tǒng)功能模塊

        系統(tǒng)功能模塊可分為三個,初始模塊、循環(huán)模塊、Http模塊、日志模塊與數(shù)據(jù)庫模塊。系統(tǒng)功能的模塊結(jié)構(gòu)圖如圖1所示。

        圖1 模塊結(jié)構(gòu)圖

        3.2.1 初始模塊

        初始模塊在系統(tǒng)服務(wù)端啟動后執(zhí)行一次。初始模塊使用cheerio類庫加載指定三個URL地址的HTML字符串,URL地址分別指向正在預(yù)警中數(shù)目、有效預(yù)警與已解除預(yù)警的頁面。其中正在預(yù)警中數(shù)目可直接獲取。有效預(yù)警需設(shè)定關(guān)注城市,只獲取關(guān)注城市的預(yù)警信息。已解除預(yù)警需設(shè)定關(guān)注城市與當(dāng)下時刻,只獲取關(guān)注城市與當(dāng)下時刻的預(yù)警信息,其中當(dāng)下時刻精確到分鐘。初始模塊取得這三類預(yù)警信息后將其存放至全局變量,以供循環(huán)模塊比對。同時通過日志模塊將信息存儲到日志中。

        3.2.2 循環(huán)模塊

        初始模塊執(zhí)行完畢后,開始執(zhí)行循環(huán)模塊。循環(huán)模塊以固定的周期間隔讀取正在預(yù)警中數(shù)目,同時將當(dāng)前讀取的數(shù)目與上一次讀取的數(shù)目進行比對,判斷是否一致。如果數(shù)目無變化,則只通過日志模塊寫入日志,不做其他任何操作。如果前后數(shù)目不一致,則讀取有效預(yù)警與已解除預(yù)警的HTML字符串。根據(jù)設(shè)定的關(guān)注城市與當(dāng)下時刻的條件進行過濾,過濾后的信息是我們想要得到的預(yù)警信息。通過日志模塊與數(shù)據(jù)庫模塊將其分別寫入日志與數(shù)據(jù)庫Sqlite。數(shù)目不一致的情況也將觸發(fā)Http模塊。

        3.2.3 Http模塊

        Http模塊使用RESTful的架構(gòu)風(fēng)格,通過不同的GET或者POST請求方法,將請求引導(dǎo)至對應(yīng)的頁面并渲染其內(nèi)容。如果請求是index,則引導(dǎo)并渲染頁面index.html。如果請求是warnlist,則引導(dǎo)并渲染頁面warnlist.html。Http模塊的前端使用Bootstrap技術(shù),其主要包含兩種功能,控制面板與預(yù)警記錄??刂泼姘灏俗钚乱淮晤A(yù)警的時間、數(shù)量、語音、有效預(yù)警與已解除預(yù)警的清單。預(yù)警記錄包含了所有預(yù)警記錄,并可以快捷搜索。Http模塊可以通過兩種方式觸發(fā)執(zhí)行。這兩種方式是循環(huán)模塊判斷數(shù)目不一致與用戶通過瀏覽器主動訪問Http模塊。

        3.2.4 日志模塊

        日志模塊將預(yù)警記錄信息寫入日志中,日志文件以擴展名log結(jié)尾,一個月對應(yīng)一個日志文件,下一個月的月初建立并使用新的日志文件。日志文件記錄了歷史信息,可方便追溯過往發(fā)生的信息,也可以同數(shù)據(jù)庫互為參考依據(jù)。一般情況下日志模塊被初始模塊與循環(huán)模塊所調(diào)用。

        3.2.5 數(shù)據(jù)庫模塊

        數(shù)據(jù)庫模塊將預(yù)警信息寫入輕型嵌入式數(shù)據(jù)庫Sqlite。預(yù)警信息的字段主要是時間、數(shù)量、有效預(yù)警與已解除預(yù)警。由于有效預(yù)警與已解除預(yù)警所包含的信息可能一次包含兩個城市或兩個城市以上的預(yù)警信息,所以這兩個字段最適合使用數(shù)據(jù)庫的JSON技術(shù)。使用Sqlite的函數(shù)方法JSON_OBJECT將鍵值字符串轉(zhuǎn)換JSON對象,使用Sqlite的函數(shù)方法JSON_ARRAY將多個JSON對象轉(zhuǎn)換為JSON數(shù)組。一般情況下數(shù)據(jù)庫模塊被循環(huán)模塊所調(diào)用。

        4 結(jié)論

        突發(fā)天氣諸如臺風(fēng)、暴雨、雷電、大霧、冰雹等都可能會對地鐵運營的設(shè)備與人員造成危害。通過天氣監(jiān)測告警系統(tǒng),可實現(xiàn)全自動地監(jiān)測地鐵運營公司所在城市的突發(fā)天氣預(yù)警信息。該系統(tǒng)幫助地鐵運營人員更早地獲取預(yù)警信息,更快地做出應(yīng)對突發(fā)天氣的方案與行動。自動化的監(jiān)測系統(tǒng)不僅顯著提升地鐵運營人員的獲取突發(fā)天氣預(yù)警信息的效率,而且可以最大程度地降低突發(fā)天氣對地鐵運營產(chǎn)生的損失。同時它也可以成為當(dāng)下地鐵智慧運營理念的有機組成部分。

        參考文獻

        [1]李毅雄. 香港地鐵氣象災(zāi)害防范技術(shù)[J]. 中國安全生產(chǎn)科學(xué)技術(shù), 2007, 3(2).

        [2]Node.js Foundation. Nodejs Documentation [EB/OL]. [2019-08-05]. https://nodejs.org/en/docs.

        [3]SQLite Consortium. SQLite Documentation [EB/OL]. [2019-08-05]. https://sqlite.org/about.html.

        [4]Mark Otto. Bootstrap Documentation [EB/OL]. [2019-08-05]. https://getbootstrap.com/docs/4.3/getting-started/introduction.

        猜你喜歡
        數(shù)據(jù)庫信息系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機系統(tǒng)
        ZC系列無人機遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        訂閱信息
        中華手工(2017年2期)2017-06-06 23:00:31
        數(shù)據(jù)庫
        財經(jīng)(2017年2期)2017-03-10 14:35:35
        數(shù)據(jù)庫
        財經(jīng)(2016年15期)2016-06-03 07:38:02
        數(shù)據(jù)庫
        財經(jīng)(2016年3期)2016-03-07 07:44:46
        數(shù)據(jù)庫
        財經(jīng)(2016年6期)2016-02-24 07:41:51
        展會信息
        中外會展(2014年4期)2014-11-27 07:46:46
        欧美性巨大╳╳╳╳╳高跟鞋| av免费网站不卡观看| 免费在线国产不卡视频| 免费a级毛片18禁网站免费| 久久久久人妻一区精品色欧美| 亚洲国产美女精品久久| 一区二区av日韩免费| 69精品免费视频| 国产不卡一区二区av| 日韩人妻精品视频一区二区三区| 国产精品无码一区二区三区| 精品熟女日韩中文十区| 午夜影院91| 国产丝袜一区丝袜高跟美腿| 国产freesexvideos中国麻豆 | 亚洲免费网站观看视频 | 久久久久亚洲AV无码去区首| 久久一区二区av毛片国产| 欧美村妇激情内射| 免费精品无码av片在线观看| 国产av天堂亚洲国产av麻豆| 亚洲第一页视频在线观看| 午夜性色一区二区三区不卡视频| 97精品伊人久久大香线蕉app| 激情人妻网址| 在线精品首页中文字幕亚洲| 精品人妻午夜一区二区三区四区| 国产91网址| av网站一区二区三区| 日韩av无码中文字幕| 亚洲av无码乱观看明星换脸va| 人妻爽综合网| 日本护士口爆吞精视频| 四虎影视免费永久在线观看| 97色偷偷色噜噜狠狠爱网站97| 国产日本精品一区二区| 精品久久久久久无码专区| 欧美国产日韩a在线视频| 久草精品手机视频在线观看| 新中文字幕一区二区三区| 亚洲精品乱码久久久久久蜜桃图片|