999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于PHP和Java的消息中間件的實現(xiàn)原理研究

2017-02-23 09:10:38勞建成蔣遷謙
無線互聯(lián)科技 2017年2期
關(guān)鍵詞:程序設(shè)備

勞建成,蔣遷謙

(廣東工業(yè)大學(xué) 自動化學(xué)院,廣東 廣州 510006)

基于PHP和Java的消息中間件的實現(xiàn)原理研究

勞建成,蔣遷謙

(廣東工業(yè)大學(xué) 自動化學(xué)院,廣東 廣州 510006)

隨著物聯(lián)網(wǎng)的快速發(fā)展,各個平臺支撐的設(shè)備數(shù)量也在急劇擴展,平臺也變得越來越復(fù)雜。當(dāng)需要在平臺上增加新設(shè)備時,需要在原有程序的基礎(chǔ)上添加大量的代碼程序,這樣不僅大大增加了新程序的開發(fā)成本,同時增加了原有程序的維護成本。文章提出了一種基于PHP和Java的消息中間件的實現(xiàn)原理,可以完成消息轉(zhuǎn)發(fā)的流程,使得在開發(fā)新設(shè)備的服務(wù)器端程序時,減少對原有設(shè)備的服務(wù)器端程序的修改。

消息中間件;PHP;Java

1 問題背景

由于互聯(lián)網(wǎng)帶寬和物聯(lián)網(wǎng)設(shè)備的快速發(fā)展,各種設(shè)備接入互聯(lián)網(wǎng)的需求不斷增長,需要編寫各種特定的程序和服務(wù)器去接收和處理設(shè)備發(fā)送過來的消息。而典型的物聯(lián)網(wǎng)設(shè)備的控制框架如圖1所示。

此時,對于服務(wù)器來說,一個極為重要的功能就是客戶端和物聯(lián)網(wǎng)終端設(shè)備消息的接收和處理。為了針對各種異構(gòu)網(wǎng)絡(luò)的消息發(fā)送和接收,人們將這個重要的功能抽象出來,形成了一種特有的軟件,這就是消息中間件。

如圖2所示,消息中間件在TCP/IP 4層網(wǎng)絡(luò)體系結(jié)構(gòu)中處于應(yīng)用層的位置,建立在各種網(wǎng)絡(luò)應(yīng)用程序之下,為網(wǎng)絡(luò)應(yīng)用程序提供基礎(chǔ)的消息傳輸服務(wù)。

圖1 物聯(lián)網(wǎng)設(shè)備控制框架

圖2 消息中間件在TCP/IP協(xié)議族網(wǎng)絡(luò)體系結(jié)構(gòu)中位置

2 問題描述

超文本傳輸協(xié)議(HTTP)是應(yīng)用層通信協(xié)議之一,日常使用最普遍的瀏覽器—服務(wù)器(B/S)框架就是基于HTTP協(xié)議開發(fā)的。在客戶端—服務(wù)器—物聯(lián)網(wǎng)設(shè)備終端的框架中主要用于客戶端—服務(wù)器之間的通信。在客戶端—服務(wù)器框架中,為了面向瀏覽器進行快速開發(fā),通常使用PHP編程語言進行開發(fā)。

但由于HTTP協(xié)議是一種請求—響應(yīng)類型的無狀態(tài)的協(xié)議。而在服務(wù)器—物聯(lián)網(wǎng)設(shè)備終端的通信中,需要實現(xiàn)的是雙向?qū)Φ韧ㄐ拧2⑶曳?wù)器需要保存終端的消息,以便識別特定的終端。因此,需要對傳輸層的TCP協(xié)議重新封裝,設(shè)計新的應(yīng)用層協(xié)議。

同時,由于終端的數(shù)量眾多,當(dāng)服務(wù)器需要同時向多個終端發(fā)送消息時,通常需要使用多線程來解決。PHP編程語言并未在其核心語言級別支持多線程的實現(xiàn),而Java則在語言級別實現(xiàn)多線程,可以很輕易地進行多線程編程。

綜上,結(jié)合PHP與HTTP的優(yōu)點,使用HTTP協(xié)議和PHP編程實現(xiàn)用戶和服務(wù)器之間的交互,而對于終端和服務(wù)器的交互則使用基于TCP重新封裝的應(yīng)用層協(xié)議和Java編程實現(xiàn)。對于PHP和Java之間的消息傳遞,通過本文提出的消息中間件的原理來實現(xiàn)。

3 實現(xiàn)原理

對于消息中間件來說,主要是解決的是使用消息中間件雙方的通信問題,而消息的封裝形式則是通信的首要問題。良好的封裝形式意味著更低的數(shù)據(jù)冗余率,并且在編程過程中具有很好的排錯性。本方案中對于一般的消息采用JSON格式來進行封裝。

本方案采用Java中的Socket API為服務(wù)器與終端間通信編程。Socket API是Java對傳輸層的傳輸控制協(xié)議TCP和用戶數(shù)據(jù)包協(xié)議UDP進行了封裝后提供的應(yīng)用程序接口。

在PHP端,需要設(shè)計一個函數(shù)以便讓PHP的服務(wù)器端程序調(diào)用該函數(shù)來使用消息中間件。同時,在Java客戶端同樣需要設(shè)計一個消息中間件類,以便使用消息中間件來發(fā)送和接收消息。

對于PHP的消息中間件,分為兩個函數(shù):消息接收函數(shù)和消息發(fā)送函數(shù)。其中,對于接收消息函數(shù),需要作為守護進程在系統(tǒng)中隨著HTTP服務(wù)器啟動,而發(fā)送函數(shù)則在需要發(fā)送消息時調(diào)用即可。

消息中間件的總體架構(gòu)和工作流程如圖3所示。

4 結(jié)語

互聯(lián)網(wǎng)與物聯(lián)網(wǎng)的快速發(fā)展對消息中間件的要求也越來越高,也誕生了許多適應(yīng)不同業(yè)務(wù)場景的消息中間件,比如Redis和RocketMQ等。本文提出的中間件是一種輕量級的簡易中間件,但性能方面與許多開源的消息中間件還有很大的差距,希望能給軟件開發(fā)者帶來一點啟發(fā)。

圖3 消息中間件的總體架構(gòu)和工作流程

[1]陳明,潘家銘,閻保平.消息中間件的設(shè)計與實現(xiàn)[J].微電子學(xué)與計算機,2005(4):4-7.

[2]甄甫,劉民,董明宇.基于面向服務(wù)架構(gòu)消息中間件的業(yè)務(wù)流程系統(tǒng)集成方法研究[J].計算機集成制造系統(tǒng),2009(5):968-972.

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

[4]WANG C, WANG Z, XING H.Design of Message-oriented Middleware With Publish/Subscribe Model on Telemetry and Command Computer[C].The Second International Conference on Systems and Informatics, 2014:454-458.

[5]JOSEPH K H, YIHUAN W, XIN P.The Design and Implementation of EMP:A Message-Oriented Middleware for Mobile Cloud Computing[C]. 2013 IEEE Global High Tech Congress on Electronics, 2013:78-81.

Research on the principle of message-oriented middleware based on PHP and Java

Lao Jiancheng, Jiang Qianqian

(Automation School of Guangdong University of Technology, Guangzhou 510006, China)

With the rapid development of Internet of things, the amount of devices supported by every platform is expanding sharply and platforms are becoming more and more complex.When you need to add new devices on the platform, you need to add a great amount of code procedures on original code, which increase not only the development costs of new procedure, but also the maintenance costs of original ones. This paper present the realization principle of a new kind middleware of message based on PHP and Java. This message-oriented middleware can achieve the purpose of message forwarding flow, which means that we can reduce the modification of original device server-side program when developing the server-side program for the new device.

message-oriented middleware; PHP; Java

中國移動研發(fā)基金資助項目;項目編號:6120340。

勞建成(1991— ),男,廣東湛江,碩士研究生;研究方向:物聯(lián)網(wǎng),智能云服務(wù)系統(tǒng)。

猜你喜歡
程序設(shè)備
諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
試論我國未決羈押程序的立法完善
基于VB6.0+Access2010開發(fā)的設(shè)備管理信息系統(tǒng)
基于MPU6050簡單控制設(shè)備
電子制作(2018年11期)2018-08-04 03:26:08
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
500kV輸變電設(shè)備運行維護探討
創(chuàng)衛(wèi)暗訪程序有待改進
如何在設(shè)備采購中節(jié)省成本
主站蜘蛛池模板: 欧美a在线视频| 国产精品所毛片视频| 国产一级毛片在线| 91外围女在线观看| 国产高潮流白浆视频| 欧美高清国产| 久久不卡国产精品无码| 又爽又大又光又色的午夜视频| 欧美日韩第二页| av一区二区三区高清久久| 99在线视频免费观看| 国产精品一区在线观看你懂的| 91蜜芽尤物福利在线观看| 日韩中文字幕亚洲无线码| 日韩免费无码人妻系列| 国产成人亚洲精品无码电影| 女人18毛片久久| 中文字幕在线看| 亚洲一区二区三区国产精华液| 国产大全韩国亚洲一区二区三区| 青青青亚洲精品国产| 狼友av永久网站免费观看| 嫩草国产在线| 日韩在线永久免费播放| 欧美色图第一页| 国产精品hd在线播放| 美女被躁出白浆视频播放| 天堂岛国av无码免费无禁网站| 无码视频国产精品一区二区| 暴力调教一区二区三区| 国产成人1024精品| 国产在线自乱拍播放| 亚洲成人播放| 国产精品页| 亚洲第一中文字幕| 久久久精品久久久久三级| 日本国产精品| аⅴ资源中文在线天堂| 免费黄色国产视频| 四虎成人在线视频| 99在线视频免费观看| 国产第一页屁屁影院| 色AV色 综合网站| 亚洲—日韩aV在线| 99人妻碰碰碰久久久久禁片| 国产精品久久久久久久久久98| 国产日韩欧美在线播放| 国产高清自拍视频| 热思思久久免费视频| 一级成人a毛片免费播放| 欧美在线天堂| 国产精品无码作爱| 啪啪啪亚洲无码| 丰满人妻一区二区三区视频| 精品小视频在线观看| 99偷拍视频精品一区二区| 久久人与动人物A级毛片| 日本免费a视频| 国产av剧情无码精品色午夜| 免费观看精品视频999| 久久不卡国产精品无码| 无码精品国产VA在线观看DVD| 91精品国产自产在线老师啪l| 欧美日韩高清在线| 欧美激情福利| 欧美亚洲中文精品三区| 天天综合网站| 欧美一级高清免费a| 人妻丰满熟妇AV无码区| 久久精品国产一区二区小说| 极品国产一区二区三区| 国产男女免费视频| 亚洲v日韩v欧美在线观看| 亚洲精品国产精品乱码不卞| 亚洲精品国产日韩无码AV永久免费网| 亚洲欧美成人在线视频| 精品久久久久久中文字幕女 | 在线毛片免费| 国产激情无码一区二区APP | 人人91人人澡人人妻人人爽| 99成人在线观看| 亚洲日韩Av中文字幕无码 |