• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Express的違章查詢REST Web Service設(shè)計(jì)與實(shí)現(xiàn)

      2017-06-20 09:08:25戴鵬程聶云峰王興徐飛飛李杰
      軟件導(dǎo)刊 2017年4期
      關(guān)鍵詞:違章性能模塊

      戴鵬程+聶云峰+王興+徐飛飛+李杰

      摘要:違章查詢是交通管理部門提供的一項(xiàng)便民服務(wù),方便駕駛?cè)藢?duì)違章信息進(jìn)行在線查詢及處理。移動(dòng)互聯(lián)網(wǎng)發(fā)展快速、移動(dòng)設(shè)備種類繁多且設(shè)備資源有限,為解決移動(dòng)互聯(lián)網(wǎng)背景下異構(gòu)客戶端的違章查詢服務(wù)接入和高并發(fā)服務(wù)性能問題,提出一種基于Express的違章查詢REST Web Service解決方案,為交通管理部門和用戶提供便捷高效的違章查詢服務(wù)。通過Apache JMeter進(jìn)行壓力測試,實(shí)驗(yàn)結(jié)果表明,該方法實(shí)現(xiàn)簡單,有效地提高了違章查詢服務(wù)的擴(kuò)展性和系統(tǒng)性能。

      關(guān)鍵詞:違章查詢;Node.js;Express;REST;移動(dòng)互聯(lián)網(wǎng)DOI:10.11907/rjdk.162652中圖分類號(hào):TP319文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 16727800(2017)004006703

      0引言 隨著國家經(jīng)濟(jì)的快速發(fā)展,汽車已經(jīng)完全融入普通大眾的生活。據(jù)相關(guān)部門統(tǒng)計(jì),2015年全國機(jī)動(dòng)車保有量達(dá)到2.79億輛[1],隨著機(jī)動(dòng)車保有量的大幅增加,機(jī)動(dòng)車違章現(xiàn)象也與日俱增,為讓車主隨時(shí)隨地通過各種移動(dòng)終端快捷查詢違章信息,交通管理部門迫切需要開發(fā)及部署一種能夠滿足高并發(fā)及高可用性的違章查詢服務(wù)。傳統(tǒng)部署在Tomcat等應(yīng)用容器上的違章查詢應(yīng)用在處理多用戶并發(fā)請(qǐng)求時(shí)需要不斷開啟新的線程服務(wù)用戶請(qǐng)求以及頻繁的線程切換開銷,大大降低了CPU及內(nèi)存的利用率,因此在處理高并發(fā)及I/O密集型業(yè)務(wù)時(shí)存在先天的性能瓶頸[2]?;谑录?qū)動(dòng)和非阻塞I/O的應(yīng)用容器,如Node.js等為解決高并發(fā)應(yīng)用場景提供了優(yōu)秀的解決方案。Node.j使用事件驅(qū)動(dòng)及非阻塞I/O模型而得以輕量和高效,非常適合開發(fā)及部署高并發(fā)I/O密集型的實(shí)時(shí)應(yīng)用[45]。本文在分析相關(guān)技術(shù)和需求的基礎(chǔ)上,基于Node.js平臺(tái)下的Express框架,設(shè)計(jì)并實(shí)現(xiàn)了一種基于Express的違章查詢REST Web Service。

      1Express簡介 Express是一種精簡靈活、使用廣泛的Node.js Web應(yīng)用框架,為開發(fā)者快速創(chuàng)建簡潔、高效的Web應(yīng)用提供了便利[67]。Express在Node.js基礎(chǔ)上對(duì)Web應(yīng)用通用功能進(jìn)行了模塊化封裝,Express的核心特性為:通過中間件來響應(yīng)HTTP請(qǐng)求;定義路由表匹配不同的HTTP請(qǐng)求;通過Jade或Ejs等模板傳遞參數(shù)來動(dòng)態(tài)渲染HTML頁面。Express的API非常精簡,主要包括Application、Request、Response、Router 4個(gè)對(duì)象,分別表示應(yīng)用程序、請(qǐng)求對(duì)象、響應(yīng)對(duì)象、路由器對(duì)象,上述4個(gè)對(duì)象構(gòu)成了Express應(yīng)用的基石。Express具備Node.js事件驅(qū)動(dòng)、異步編程及非阻塞IO處理等特點(diǎn)?;贜ode.js開發(fā)的系統(tǒng)具有高性能和強(qiáng)大的負(fù)載能力,非常適合流量高,但后臺(tái)邏輯并不復(fù)雜的服務(wù)端應(yīng)用,目前國內(nèi)典型的基于Node.js開發(fā)的大型應(yīng)用包括淘寶數(shù)據(jù)平臺(tái)、網(wǎng)易開源Pomelo游戲引擎框架及百度云數(shù)據(jù)存儲(chǔ)模塊等[89]。 REST(Representational State Transfer)表示“表現(xiàn)狀態(tài)轉(zhuǎn)換”,又稱RESTful,是由Roy Fielding博士[10]在其論文中提出的一種分布式系統(tǒng)架構(gòu)風(fēng)格。REST包含3個(gè)主要內(nèi)容,即資源(Resource)、表示(Representation)、狀態(tài)(State)。Resource指網(wǎng)絡(luò)上一種體現(xiàn)為比特流的實(shí)物或抽象概念,可通過統(tǒng)一資源定位符URI定位;Representation指資源所呈現(xiàn)出的某種形式,為構(gòu)建可擴(kuò)展、松耦合的Web應(yīng)用提供準(zhǔn)則;State既可以是服務(wù)器端資源狀態(tài)又可以是終端應(yīng)用狀態(tài),資源的狀態(tài)保存在服務(wù)端,應(yīng)用狀態(tài)由應(yīng)用自身維護(hù),由于REST所有交互都是無狀態(tài)的,因此終端的每次請(qǐng)求需攜帶交互所需的全部信息。REST將整個(gè)服務(wù)端抽象成資源的集合,資源由URI標(biāo)識(shí),終端通過HTTP標(biāo)準(zhǔn)方法對(duì)資源進(jìn)行請(qǐng)求和響應(yīng),其中HTTP主要方法包括POST、DELETE、PUT及GET,分別對(duì)應(yīng)資源的增刪改查等操作?;赗EST實(shí)施的上述架構(gòu)約束,開發(fā)者可輕松解決系統(tǒng)開發(fā)中接口可擴(kuò)展性和終端異構(gòu)性等問題[11]。 根據(jù)違章查詢服務(wù)需求分析,違章查詢系統(tǒng)主要包括3個(gè)模塊:用戶管理模塊、車輛管理模塊、違章查詢模塊。用戶管理模塊主要功能包括:用戶登錄、用戶注冊(cè)、添加及修改用戶基本信息、綁定用戶手機(jī)號(hào)碼、綁定用戶駕駛證信息。車輛管理模塊主要對(duì)用戶車輛進(jìn)行管理,如錄入車輛基本信息、綁定用戶車輛,用戶在查詢違章信息前需判斷車輛與用戶是否綁定,如果未綁定將禁止查詢,并提醒用戶綁定車輛信息,用戶也可對(duì)車輛信息進(jìn)行修改刪除。違章查詢模塊主要為用戶提供車輛違章信息查詢服務(wù),用戶通過終端發(fā)送違章查詢請(qǐng)求,后臺(tái)根據(jù)查詢條件返回JSON格式的違章描述信息,包括違章時(shí)間、違章地點(diǎn)、違章代碼、扣除分?jǐn)?shù)及罰款金額等詳細(xì)信息。此外,當(dāng)用戶存在待罰款違章信息時(shí),用戶可通過在線繳費(fèi)的方式處理違章記錄。結(jié)合上述違章查詢服務(wù)需求分析,遵循REST規(guī)范,設(shè)計(jì)出符合REST風(fēng)格的違章查詢系統(tǒng)接口如表1-表3所示。

      3系統(tǒng)實(shí)現(xiàn)與性能測試 基于Express及REST規(guī)范設(shè)計(jì)并實(shí)現(xiàn)了違章查詢服務(wù),將系統(tǒng)后端部署在阿里云ECS服務(wù)器,并開發(fā)了手機(jī)APP方便用戶進(jìn)行違章查詢。系統(tǒng)開發(fā)環(huán)境:Node 4.4.5、Express 4.0、Mongodb 3.2.6;系統(tǒng)開發(fā)工具:WebStrom11、Rebomongo 0.9.0;部署環(huán)境:阿里云Windows Server 2008 R2企業(yè)版,2核CPU,4G內(nèi)存,4M帶寬。當(dāng)用戶是會(huì)員時(shí),直接點(diǎn)擊“我是會(huì)員”進(jìn)行違章查詢,服務(wù)響應(yīng)結(jié)果包括違法時(shí)間、違法地點(diǎn)、罰款金額、違法記分?jǐn)?shù)等違章信息列表,當(dāng)用戶點(diǎn)擊某一違章條目即可查看該條違章對(duì)應(yīng)的詳細(xì)信息。為測試上述基于Express的違章查詢REST Web Service性能,本文與傳統(tǒng)J2EE實(shí)現(xiàn)進(jìn)行了性能對(duì)比實(shí)驗(yàn)。實(shí)驗(yàn)硬件環(huán)境為:WIN7系統(tǒng)PC機(jī),i54590 3.30GHz CPU,16G內(nèi)存;實(shí)驗(yàn)軟件環(huán)境為:Mongodb 3.2.6數(shù)據(jù)庫;Rebomongo 0.9.0可視化數(shù)據(jù)庫工具;壓力測試工具為Apache JMeter。利用Apache JMeter模擬發(fā)送HTTP請(qǐng)求,記錄并發(fā)請(qǐng)求數(shù)分別在100,200...2000時(shí)的系統(tǒng)平均響應(yīng)時(shí)間[12],實(shí)驗(yàn)結(jié)果如圖1所示。

      圖1表明,在并發(fā)量小于600時(shí),傳統(tǒng)J2EE實(shí)現(xiàn)和〖CM)〗〖LL〗〖HJ*5/9〗Express服務(wù)的平均響應(yīng)時(shí)間差別不大,基于Express違章查詢服務(wù)比J2EE服務(wù)快5%左右;當(dāng)并發(fā)量在600~1 200時(shí),J2EE服務(wù)的平均響應(yīng)時(shí)間隨著并發(fā)數(shù)增加而快速上升,Express服務(wù)響應(yīng)時(shí)間仍維持在較為平穩(wěn)狀態(tài),Express服務(wù)比J2EE服務(wù)快近20%左右;當(dāng)并發(fā)量大于1 200時(shí),J2EE服務(wù)響應(yīng)時(shí)間急劇增加,由于Tomcat線程池線程數(shù)量爆滿可能出現(xiàn)系統(tǒng)崩潰情況,而Express服務(wù)平均響應(yīng)時(shí)間增加較為平緩,仍能正常服務(wù)客戶端請(qǐng)求。

      4結(jié)語 針對(duì)異構(gòu)客戶端的違章查詢服務(wù)接入問題和高并發(fā)服務(wù)性能問題,提出一種基于Express的違章查詢 REST Web Service方案,結(jié)合REST系統(tǒng)架構(gòu)風(fēng)格的特點(diǎn)和違章查詢的實(shí)際需求,基于Express等相關(guān)技術(shù)原理,設(shè)計(jì)并實(shí)現(xiàn)了基于Express REST違章查詢服務(wù),最后實(shí)現(xiàn)了基于Express服務(wù)與基于J2EE服務(wù)性能對(duì)比實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,Express服務(wù)在處理高并發(fā)問題時(shí)系統(tǒng)性能明顯優(yōu)于傳統(tǒng)J2EE服務(wù),能有效提高違章查詢服務(wù)性能。參考文獻(xiàn):[1]沈后功,周凱.2015年全國機(jī)動(dòng)車和駕駛?cè)搜该驮鲩L新增汽車1781多萬汽車保有量增長創(chuàng)歷史新高[J].汽車與安全,2016(2):4141.

      [2]劉尚旺,何東健,閆艷.Tomcat與IIS或Apache服務(wù)器集成的應(yīng)用研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2009,30(10):25412543.

      [3]劉家紅,吳泉源.一個(gè)基于事件驅(qū)動(dòng)的面向服務(wù)計(jì)算平臺(tái)[J].計(jì)算機(jī)學(xué)報(bào),2008,31(4):588599.

      [4]許會(huì)元,何利力.NodeJS的異步非阻塞I/O研究[C].全國工業(yè)控制計(jì)算機(jī)技術(shù)年會(huì),2014.

      [5][美]ETHAN BROWN.Node與Express開發(fā)[M].北京:人民郵電出版社,2015:3144

      [6]ARCHER R.ExpressJS:web app development with node.js framework[M].CreateSpace Independent Publishing Platform,2015:1425

      [7]TILKOV S,VINOSKI S.Node.js: using javascript to build highperformance network programs[J].IEEE Internet Computing,2010,14(6):8083.

      [8]楊爭輝,葉樺.基于Node.js的家庭智能地暖遠(yuǎn)程監(jiān)控系統(tǒng)[J].Computer Science\\s&\\sapplication,2015,5(6):204211.

      [9]陸凌牛.Node.js權(quán)威指南[M].北京:機(jī)械工業(yè)出版社,2014:3145.

      [10]程冬梅,王瑞聰,劉燕,等.基于REST架構(gòu)風(fēng)格的物聯(lián)網(wǎng)服務(wù)平臺(tái)研發(fā)[J].計(jì)算機(jī)工程與應(yīng)用,2012,48(14):7478.[11]左文娟,張秋菊.基于REST物聯(lián)網(wǎng)監(jiān)控系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)工程與設(shè)計(jì),2016,37(1):2125.

      [12]葉青平,王鵬飛,曹華.Web應(yīng)用系統(tǒng)的分布式負(fù)載測試框架研究[J].計(jì)算機(jī)工程與科學(xué),2009,31(5):134(責(zé)任編輯:孫娟)

      Abstract:Traffic peccancy query service is one of convenient service provided by Traffic Management Department,which is convenient for drivers to query and handle peccancy information online.Due to the rapid development of mobile internet,the wide range of mobile devices and the limited of equipment resources,How to allow all kinds of client access traffic peccancy query service and improve the performance of high concurrent service under the background of mobile internet has become a complicated problem,In order to solve this problem.A traffic peccancy query solution based on Express REST Web Service is proposed,it provide convenient and efficient traffic peccancy query services for Traffic Management Departmnet and drivers.Using Apache JMeter for stress test,The experimental results show that this method is simple and easy to implement,and effectively improve the scalability and performance of the traffic peccancy query service.

      Key Words:Traffic Peccancy Query;Node.js;Express;Rest;High Concurrency

      猜你喜歡
      違章性能模塊
      28通道收發(fā)處理模塊設(shè)計(jì)
      “選修3—3”模塊的復(fù)習(xí)備考
      由“咬文嚼字”說一說反違章
      提供將近80 Gbps的帶寬性能 DisplayPort 2.0正式發(fā)布
      漫畫違章
      河南電力(2016年4期)2016-11-30 01:07:08
      廣州交警使用無人機(jī)抓拍違章車輛
      大社會(huì)(2016年3期)2016-05-04 03:40:52
      違章樹木,豈能“砍了就跑”
      河南電力(2016年5期)2016-03-10 15:57:32
      Al-Se雙元置換的基于LGPS的thio-LISICON的制備與性能表征
      選修6 第三模塊 International Relationships
      強(qiáng)韌化PBT/PC共混物的制備與性能
      中國塑料(2015年4期)2015-10-14 01:09:28
      巴塘县| 方正县| 苏尼特左旗| 钟山县| 富锦市| 周至县| 会泽县| 洪泽县| 长泰县| 通辽市| 金山区| 辽阳县| 逊克县| 平泉县| 文登市| 杭锦旗| 宁波市| 会泽县| 高邮市| 常德市| 永春县| 新闻| 延庆县| 奉节县| 吉木乃县| 宿州市| 德令哈市| 伊春市| 肇源县| 凉山| 垦利县| 太湖县| 高阳县| 堆龙德庆县| 怀柔区| 云龙县| 随州市| 桦南县| 新营市| 吐鲁番市| 潍坊市|