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

        ?

        基于MQTT協(xié)議研發(fā)安卓手機(jī)地震預(yù)警應(yīng)用

        2017-04-03 07:28:22周施文
        華南地震 2017年4期
        關(guān)鍵詞:信息

        周施文,鄭 超,程 志

        (福建省地震局,福州 350003)

        0 引言

        我國(guó)是世界上地震災(zāi)害最為嚴(yán)重的國(guó)家之一。隨著移動(dòng)通信和智能手機(jī)的普及和全民防震減災(zāi)意識(shí)的提高,國(guó)內(nèi)手機(jī)應(yīng)用市場(chǎng)上出現(xiàn)了相應(yīng)的地震信息類應(yīng)用。此類應(yīng)用絕大多數(shù)以提供地震三要素(震時(shí)、震中、震級(jí))信息為主,官方應(yīng)用以中國(guó)地震臺(tái)網(wǎng)的 “地震速報(bào)”為代表,第三方應(yīng)用以成都高新減災(zāi)研究所的 “地震預(yù)警”為代表。在應(yīng)用介紹里提到具有地震預(yù)警功能的國(guó)內(nèi)手機(jī)應(yīng)用,僅有成都高新減災(zāi)研究所的 “地震預(yù)警”應(yīng)用,但是該應(yīng)用的地震預(yù)警數(shù)據(jù)來(lái)源是基于較為簡(jiǎn)易的地震監(jiān)測(cè)儀器和該所自主研發(fā)的地震監(jiān)測(cè)系統(tǒng),誤報(bào)風(fēng)險(xiǎn)較大,并不具備官方權(quán)威性;而在日本,地震預(yù)警信息只有政府授權(quán)的組織和部門,如日本氣象廳,才可發(fā)布地震預(yù)警信息。因此,研發(fā)一個(gè)基于官方地震數(shù)據(jù)來(lái)源、具備官方權(quán)威性的手機(jī)地震預(yù)警應(yīng)用已不僅僅是市場(chǎng)所需,更是地震系統(tǒng)為大眾提供地震預(yù)警服務(wù)的當(dāng)務(wù)之急[1-2]。

        實(shí)現(xiàn)手機(jī)地震預(yù)警應(yīng)用需要采用高效、可靠、低耗的消息傳輸機(jī)制。目前主流的面向消息中間件協(xié)議有Java消息服務(wù)(JMS)、高級(jí)消息隊(duì)列協(xié)議(AMQP)、流文本定向消息協(xié)議(STOMP)、可擴(kuò)展通訊和表示協(xié)議(XMPP)、消息隊(duì)列遙測(cè)傳輸(MQTT)等。基于上述各協(xié)議的中間件產(chǎn)品 (如Apache Qpid、ActiveMQ、RabbitMQ等)均能提供高效、可靠的消息傳輸服務(wù)。因此,各協(xié)議的功耗差別成為了本文選擇的重要依據(jù)。經(jīng)調(diào)研,MQTT協(xié)議 “體積”小、功能 “專一”,成為市面上手機(jī)APP的主要選擇,代表應(yīng)用為Facebook Messenger App。因此,MQTT協(xié)議成為本文搭建手機(jī)預(yù)警應(yīng)用的選擇。另一方面,目前主流的手機(jī)操作系統(tǒng)有安卓、蘋(píng)果、微軟和黑莓等。據(jù)統(tǒng)計(jì),截至2015年,全球安卓操作系統(tǒng)份額達(dá)81%;2015年度中國(guó)手機(jī)市場(chǎng)上,搭載安卓系統(tǒng)的手機(jī)獲得82.02%的關(guān)注比例,占據(jù)絕對(duì)主流。

        基于上述兩點(diǎn),本文以安卓系統(tǒng)為目標(biāo),首先簡(jiǎn)略介紹MQTT相關(guān)資料,然后詳細(xì)介紹基于MQTT協(xié)議開(kāi)發(fā)安卓手機(jī)地震預(yù)警應(yīng)用,并給出相關(guān)的測(cè)試評(píng)估結(jié)果。

        1 MQTT協(xié)議簡(jiǎn)介

        MQTT協(xié)議全稱是消息隊(duì)列遙測(cè)傳輸協(xié)議(Message Queuing Telemetry Transport), 由 IBM 公司主導(dǎo)開(kāi)發(fā),提供開(kāi)源的實(shí)現(xiàn)。MQTT協(xié)議是面向消息中間件(Message-Oriented Middleware,MOM)的一種協(xié)議。MOM是一種異步、無(wú)阻塞、基于消息的通信技術(shù),能夠屏蔽操作系統(tǒng)和網(wǎng)絡(luò)協(xié)議的差異,具有良好的可靠性和靈活性,特別適用于邏輯關(guān)系松散的分布式環(huán)境[3。基于此,MQTT協(xié)議具有以下幾點(diǎn)特性:

        (1)采用發(fā)布-訂閱消息通信協(xié)議,提供一對(duì)多的消息發(fā)布模式。

        (2)基于TCP/IP協(xié)議,提供3種消息服務(wù)質(zhì)量 (Quality of Service, QoS):

        ①At Most Once,用0標(biāo)識(shí),消息最多被傳遞一次;在基于TCP/IP協(xié)議的網(wǎng)絡(luò)中,消息可能會(huì)丟失或重復(fù)。

        ②At Least Once,用1標(biāo)識(shí),確保消息到達(dá),但可能會(huì)重復(fù)傳遞消息。

        ③Once and Exactly Once,用2標(biāo)識(shí),消息保證傳遞且僅有一次傳遞。

        (3)開(kāi)銷小,固定長(zhǎng)度的消息頭部是2字節(jié),利于大數(shù)據(jù)并發(fā)時(shí)節(jié)省數(shù)據(jù)流量。

        (4)支持處理客戶端和服務(wù)器之間的連接丟失,如果客戶端意外掉線,可使用 “遺愿和遺囑”(Last Will和 Testament特性) 向服務(wù)器發(fā)布一條消息。

        (5)支持絕大多數(shù)平臺(tái)和編程語(yǔ)言,實(shí)現(xiàn)程序松耦合。

        (6)易于實(shí)現(xiàn),語(yǔ)法采用簡(jiǎn)單的動(dòng)詞集合,如connect、subscribe等。

        1.1 MQTT協(xié)議基礎(chǔ)模型

        MQTT協(xié)議的基礎(chǔ)模型中定義了3種角色:消息發(fā)布者Publisher、消息代理Broker和消息訂閱者Subscriber,如圖1所示。其中,消息代理即為消息代理服務(wù)端,負(fù)責(zé)管理消息發(fā)布者的注冊(cè)和主題登記、消息訂閱者的注冊(cè)和主題訂閱、消息的存儲(chǔ)和轉(zhuǎn)發(fā)。消息訂閱者和消息發(fā)布者的角色可以根據(jù)場(chǎng)景的不同而互相轉(zhuǎn)換。比如說(shuō),一個(gè)消息發(fā)布者可以同時(shí)向消息代理訂閱主題并接收消息推送,從而成為消息訂閱者,反之亦然。

        MQTT協(xié)議屏蔽了具體的消息內(nèi)容,以主題(Topic)為標(biāo)識(shí)對(duì)發(fā)布的數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā)。發(fā)布者可以通過(guò)向不同主題發(fā)布不同的信息,提高信息發(fā)布的效率;訂閱者可根據(jù)需要訂閱相關(guān)的主題,減少冗余信息,提高信息的利用率。

        圖1 MQTT協(xié)議原理基礎(chǔ)模型Fig.1 The fundamental model of MQTT

        1.2 基于MQTT協(xié)議的消息代理軟件

        實(shí)現(xiàn)MQTT v3.1.1協(xié)議功能的消息代理軟件有很多,其中開(kāi)源的以Mosquitto、EMQTT(Erlang MQTT Broker)、VerneMQ為代表,閉源的以IBM公司的Websphere MQ和MessageSight為代表。其中,EMQTT和MessageSight突出了高并發(fā)功能,可支持百萬(wàn)級(jí)連接和消息并發(fā)。本文選擇IBM MessageSight(虛擬機(jī)版)作為消息代理服務(wù)器,原因有3點(diǎn):第一,便于安裝,在虛擬機(jī)上導(dǎo)入MessageSight程序后配置,即可開(kāi)始使用;第二,便于操作,MessageSight除了支持命令行配置之外,還帶有可視化管理界面;第三,可以得到IBM的專業(yè)技術(shù)支持。

        2 技術(shù)要素框架和應(yīng)用模塊

        2.1 地震數(shù)據(jù)流

        數(shù)據(jù)處理服務(wù)器接收到地震數(shù)據(jù)源發(fā)送的地震信息數(shù)據(jù)后,根據(jù)不同的信息,生成符合預(yù)定格式的地震預(yù)警數(shù)據(jù)和地震速報(bào)數(shù)據(jù),通過(guò)不同的主題發(fā)送至消息代理服務(wù)器。安卓手機(jī)地震預(yù)警應(yīng)用(以下簡(jiǎn)稱預(yù)警應(yīng)用)在連接MessageSight的時(shí)候會(huì)訂閱相關(guān)主題,MessageSight會(huì)記錄此信息,當(dāng)接收到數(shù)據(jù)處理服務(wù)器發(fā)送的數(shù)據(jù)時(shí),即時(shí)按主題推送至預(yù)警應(yīng)用(圖2)。預(yù)警應(yīng)用根據(jù)接收到的數(shù)據(jù)和其所在的主題進(jìn)行相關(guān)操作。本文的重點(diǎn)在實(shí)現(xiàn)預(yù)警應(yīng)用與MessageSight的連接、主題訂閱、消息接收和響應(yīng)。

        圖2 地震數(shù)據(jù)流示意圖Fig.2 The earthquake dataflow diagram

        2.2 主題與數(shù)據(jù)格式

        本文使用 “eewdata”和 “eqrdata”主題分別推送/接收地震預(yù)警數(shù)據(jù)和地震速報(bào)數(shù)據(jù)。兩個(gè)主題的數(shù)據(jù)格式均采用JSON數(shù)據(jù)格式。地震預(yù)警數(shù)據(jù)包括發(fā)震時(shí)刻、震中經(jīng)度、震中緯度、震中地名、震級(jí)和消息發(fā)送時(shí)刻等信息;地震速報(bào)數(shù)據(jù)包括自動(dòng)/人工速報(bào)標(biāo)識(shí)、震中地名、震中經(jīng)度、震中緯度、震級(jí)、震源深度和發(fā)震時(shí)刻等信息。

        2.3 預(yù)警時(shí)間和預(yù)估烈度

        2.3.1 預(yù)警時(shí)間計(jì)算方法

        本文采用的預(yù)警時(shí)間計(jì)算方法如圖3所示。

        設(shè)tw為用戶所在位置的預(yù)警時(shí)間,TS為S波到達(dá)用戶所在位置的時(shí)刻,T2為預(yù)警應(yīng)用接收到預(yù)警數(shù)據(jù)的時(shí)刻(由預(yù)警應(yīng)用即時(shí)獲?。?,Tθ為地震發(fā)生時(shí)刻(由預(yù)警數(shù)據(jù)提供),Distance為用戶所在位置到震中的距離(用戶所在位置信息由預(yù)警應(yīng)用獲取,震中位置由預(yù)警數(shù)據(jù)提供,根據(jù)球面兩點(diǎn)間距公式計(jì)算得出),VS為S波傳播速度 (3.55 km/s)。假設(shè)服務(wù)器時(shí)間與終端系統(tǒng)時(shí)間均與因特網(wǎng)時(shí)間同步,預(yù)警時(shí)間計(jì)算公式如下所示:

        2.3.2 用戶所在地預(yù)估烈度計(jì)算方法

        本文所使用的預(yù)估烈度計(jì)算方法如(2)所示。設(shè)m為震級(jí)(由預(yù)警數(shù)據(jù)提供),Intensity為用戶所在地預(yù)估烈度。

        2.4 安卓手機(jī)地震預(yù)警應(yīng)用模塊設(shè)計(jì)

        安卓手機(jī)地震預(yù)警應(yīng)用模塊包括核心功能模塊和輔助模塊,核心功能模塊包括連接模塊、數(shù)據(jù)接收處理模塊、信息展示模塊;輔助模塊包括數(shù)據(jù)庫(kù)模塊、定位模塊、應(yīng)用參數(shù)設(shè)置模塊、地圖模塊、科普模塊。本文主要介紹核心功能模塊。

        2.4.1 連接模塊

        預(yù)警應(yīng)用通過(guò)MQTT協(xié)議連接MessageSight服務(wù)器,并訂閱eewdata和eqrdata兩個(gè)主題。應(yīng)用安卓Service類在后臺(tái)維持預(yù)警應(yīng)用與MessageSight服務(wù)器的連接,包括斷線重連等。

        2.4.2 數(shù)據(jù)接收處理模塊

        當(dāng)接收到MessageSight推送的數(shù)據(jù)包時(shí),數(shù)據(jù)接收處理模塊先提取主題名字,再?gòu)臄?shù)據(jù)中提取各個(gè)參數(shù)值,生成可讀性文本,對(duì)于地震預(yù)警,還需要計(jì)算用戶所在地到震中的距離、預(yù)警時(shí)間和預(yù)估烈度,再激活相應(yīng)的信息展示模塊。

        2.4.3 信息展示模塊

        信息展示模塊有文本展示和地圖展示,主要介紹文本展示部分。當(dāng)接收到eewdata主題的信息時(shí),將激活預(yù)警框。預(yù)警框中包含的信息有避震建議、預(yù)警倒計(jì)時(shí)、地震三要素、用戶所在地預(yù)估烈度和與震中的距離,如圖4所示;接收到eqrdata主題的信息時(shí),將彈出速報(bào)通知。速報(bào)通知包含的信息有地震三要素、震中經(jīng)緯度和震源深度,如圖5所示。

        每一條接收到的信息將以列表的形式展示,用戶進(jìn)入程序后可瀏覽信息。預(yù)警歷史記錄包含的信息有地震三要素、預(yù)警數(shù)據(jù)推送時(shí)刻和預(yù)警應(yīng)用接收時(shí)刻,如圖6所示。地震速報(bào)記錄包含的信息有地震三要素、人工/自動(dòng)速報(bào)標(biāo)簽、震源深度,如圖7所示 (“[測(cè)試]”標(biāo)簽表示該條信息是測(cè)試數(shù)據(jù)。)

        圖3 預(yù)警時(shí)間計(jì)算示意圖Fig.3 The schematic diagram of EEW time calculation

        圖4 預(yù)警框示例Fig.4 EEW alert example

        圖5 速報(bào)通知示例Fig.5 EQR notification example

        圖6 預(yù)警列表Fig.6 EEW list

        圖7 速報(bào)列表Fig.7 EQR list

        3 測(cè)試評(píng)估

        3.1 測(cè)試環(huán)境配置

        3.1.1 測(cè)試服務(wù)器

        測(cè)試服務(wù)器的操作系統(tǒng)是Windows Server 2008 R2 Enterprise x64,MessageSight所在虛擬機(jī)分配內(nèi)存4GB。

        3.1.2 測(cè)試用安卓真機(jī)

        本文使用華為P6-T00(移動(dòng)版)進(jìn)行真機(jī)測(cè)試。該手機(jī)的基本參數(shù)是:安卓版本4.4.2,系統(tǒng)版本號(hào)Emotion系統(tǒng) 2.0,RAM 2.0GB,四核 1.5 GHz處理器。

        3.1.3 測(cè)試用電腦

        本文使用聯(lián)想T440模擬批量客戶端測(cè)試。該電腦的基本參數(shù)是:Intel Core i5-4200U@1.6GHz,RAM 4.00GB,Windows 7專業(yè)版 SP1 x 64。

        3.2 測(cè)試方案及結(jié)果

        (1)將安卓程序封裝成安裝程序(.apk文件),在華為手機(jī)上安裝運(yùn)行。

        (2)聯(lián)想T440模擬99個(gè)預(yù)警信息接收客戶端。

        (3)內(nèi)網(wǎng)測(cè)試:100個(gè)客戶端通過(guò)局域網(wǎng)同時(shí)連接上處在同一網(wǎng)絡(luò)的MessageSight,發(fā)送端測(cè)試程序向MessageSight發(fā)布一條預(yù)警信息,分別在MessageSight連接負(fù)載數(shù)為1 000、2 000、3 000、4 000、5 000個(gè)的情況下,統(tǒng)計(jì)100個(gè)客戶端接收到預(yù)警信息的時(shí)刻,計(jì)算與發(fā)送時(shí)刻之間的時(shí)間差(即耗時(shí))并分析。

        (4)外網(wǎng)測(cè)試:100個(gè)客戶端通過(guò)因特網(wǎng)同時(shí)連接上MessageSight,發(fā)送端測(cè)試程序向MessageSight發(fā)布一條預(yù)警信息,分別在MessageSight連接負(fù)載數(shù)為1 000、2 000、3 000、4 000、5 000個(gè)的情況下,統(tǒng)計(jì)100個(gè)客戶端接收到預(yù)警信息的時(shí)刻,計(jì)算與發(fā)送時(shí)刻之間的時(shí)間差(耗時(shí))并分析。

        (5)測(cè)試結(jié)果:內(nèi)網(wǎng)、外網(wǎng)測(cè)試結(jié)果分別如圖8、圖9所示。基于此次測(cè)試,可以得出以下結(jié)論:

        ①在兩種網(wǎng)絡(luò)環(huán)境下,平均耗時(shí)均隨著服務(wù)器連接負(fù)載量的增多而增高,但均不超過(guò)0.5 s。

        ②在內(nèi)網(wǎng)環(huán)境下,數(shù)據(jù)接收耗時(shí)受服務(wù)器連接負(fù)載量影響大;在外網(wǎng)環(huán)境下,數(shù)據(jù)接收耗時(shí)受網(wǎng)絡(luò)傳輸影響大。

        4 結(jié)語(yǔ)

        本文基于MQTT協(xié)議研發(fā)了安卓手機(jī)地震預(yù)警應(yīng)用。該應(yīng)用可實(shí)時(shí)接收消息代理服務(wù)器(IBM MessageSight)推送的地震預(yù)警數(shù)據(jù)和地震速報(bào)數(shù)據(jù)并進(jìn)行相應(yīng)的操作。模擬測(cè)試結(jié)果顯示在網(wǎng)絡(luò)較為穩(wěn)定的情況下,接收服務(wù)器推送數(shù)據(jù)的平均耗時(shí)在0.5 s以內(nèi),可以滿足地震預(yù)警對(duì)時(shí)效性的要求。MQTT協(xié)議提供的輕量級(jí)信息傳遞、低能耗也可以滿足手機(jī)應(yīng)用在數(shù)據(jù)流量、電池續(xù)航等方面的要求。

        由于硬件條件的限制,本文無(wú)法實(shí)現(xiàn)更大樣本數(shù)量的評(píng)估測(cè)試,將在后續(xù)的研究工作中進(jìn)行更全面的評(píng)估測(cè)試和程序優(yōu)化。

        圖8 內(nèi)網(wǎng)測(cè)試結(jié)果Fig.8 Intranet experiment results

        圖9 外網(wǎng)測(cè)試結(jié)果Fig.9 External experiment results

        參考文獻(xiàn):

        [1]王 挺,陳修吾,葉佳寧.基于自動(dòng)地震速報(bào)的地震應(yīng)急基礎(chǔ)信息快速提取模塊的研究與實(shí)現(xiàn)[J].華南地震,2016,36(1):16-23.

        [2]黃文輝,沈玉松,呂作勇,等.地震超快速報(bào)系統(tǒng)試運(yùn)行結(jié)果評(píng)估[J].華南地震,2016,36(4):1-7.

        [3]徐晶,許煒.消息中間件綜述 [J].計(jì)算機(jī)工程,2005,31(16):73-76.

        猜你喜歡
        信息
        訂閱信息
        中華手工(2017年2期)2017-06-06 23:00:31
        展會(huì)信息
        信息超市
        展會(huì)信息
        展會(huì)信息
        展會(huì)信息
        展會(huì)信息
        展會(huì)信息
        信息
        健康信息
        祝您健康(1987年3期)1987-12-30 09:52:32
        人妻 日韩精品 中文字幕| 美丽小蜜桃1一3在线观看| 少妇真人直播免费视频| 国产高清一区二区三区视频| 亚洲欧美日韩综合在线观看| 好爽要高潮了在线观看| 亚洲国产精品久久婷婷| 国产男女免费完整视频| 亚洲精品成人专区在线观看| 久草精品手机视频在线观看| 中文字幕日韩有码国产| 秘书边打电话边被躁bd视频| 亚洲人成无码网站久久99热国产| 精品久久免费一区二区三区四区| 深夜福利国产| 丝袜美腿亚洲综合第一页| 久久婷婷五月综合色欧美| 美女大量吞精在线观看456| 青青草99久久精品国产综合| 在线日本国产成人免费精品| 成人免费a级毛片| 国产3p视频| 久久99精品免费国产| 亚洲偷自拍国综合第一页| 亚洲av日韩综合一区在线观看| 亚洲AV永久天堂在线观看| 97中文乱码字幕在线| 人人妻人人做人人爽| 破了亲妺妺的处免费视频国产| 亚洲无码啊啊啊免费体验| 亚洲国产精品婷婷久久| 国产成人a人亚洲精品无码| 国产欧美一区二区成人影院| 日本一道高清在线一区二区| 欧美xxxx做受欧美88| 色爱区综合五月激情| 国产精品一区成人亚洲| 日韩亚洲无吗av一区二区| 毛片亚洲av无码精品国产午夜| 久久中国国产Av秘 入口| 久久精品人妻中文av|