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

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

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

勞建成,蔣遷謙

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

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

勞建成,蔣遷謙

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

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

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

如圖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ù)器框架中,為了面向?yàn)g覽器進(jìn)行快速開發(fā),通常使用PHP編程語言進(jìn)行開發(fā)。

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

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

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

3 實(shí)現(xiàn)原理

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

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

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

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

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

4 結(jié)語

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

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

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

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

[3]徐晶,許煒.消息中間件綜述[J].計(jì)算機(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

中國移動(dòng)研發(fā)基金資助項(xiàng)目;項(xiàng)目編號: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
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動(dòng)“離婚”程序程序
500kV輸變電設(shè)備運(yùn)行維護(hù)探討
創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
如何在設(shè)備采購中節(jié)省成本
主站蜘蛛池模板: 午夜一级做a爰片久久毛片| 欧美日韩成人在线观看| 国产精品浪潮Av| 亚洲无码熟妇人妻AV在线| 狠狠亚洲五月天| 99久久精品久久久久久婷婷| 欧美成人在线免费| 亚洲国产综合第一精品小说| 精品无码国产自产野外拍在线| 香蕉eeww99国产在线观看| 中文字幕亚洲电影| 99re在线免费视频| 伊人久久大香线蕉综合影视| 亚洲精品无码不卡在线播放| 国内精品久久久久久久久久影视 | 国产视频自拍一区| 亚洲福利一区二区三区| 波多野结衣无码中文字幕在线观看一区二区| 国产精品欧美激情| 青青青亚洲精品国产| 亚洲成人网在线观看| 国产成人精品综合| 久久精品国产亚洲AV忘忧草18| 国产导航在线| 亚洲精品综合一二三区在线| 欧美亚洲一区二区三区在线| 国产簧片免费在线播放| 亚洲第一区精品日韩在线播放| 欧美黄色a| 亚洲国产综合精品中文第一| 国产熟女一级毛片| 欧美亚洲国产一区| 色亚洲激情综合精品无码视频| 中文字幕啪啪| 欧美性天天| 亚洲国产成人在线| 欧美福利在线| 国产一区二区色淫影院| 2021国产精品自产拍在线观看| 国产成人久久综合777777麻豆| 青青操国产视频| 日本五区在线不卡精品| 久久综合色天堂av| 老司机精品一区在线视频| 成人亚洲国产| 九色国产在线| 亚洲嫩模喷白浆| 日韩麻豆小视频| 国产一级做美女做受视频| 扒开粉嫩的小缝隙喷白浆视频| 欧美伊人色综合久久天天| 九九九久久国产精品| 自拍偷拍一区| 99re免费视频| 99re精彩视频| 青青极品在线| 国产美女精品一区二区| 亚洲av无码成人专区| 亚洲欧美一级一级a| 青青草原国产免费av观看| 永久毛片在线播| 手机在线免费不卡一区二| 国产福利在线免费观看| 免费黄色国产视频| 伊人久久大香线蕉综合影视| 国产99精品久久| 午夜免费小视频| 久久婷婷国产综合尤物精品| 色香蕉影院| 91视频日本| 亚洲 日韩 激情 无码 中出| 在线欧美一区| 国产亚洲成AⅤ人片在线观看| 欧美性精品| 99在线观看精品视频| 亚洲伊人久久精品影院| 久一在线视频| 国产真实乱子伦精品视手机观看| 亚洲欧洲日韩久久狠狠爱| 欧美日韩动态图| 国产精品大白天新婚身材| 国产激情无码一区二区三区免费|