国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Web的數(shù)據(jù)采集查詢系統(tǒng)設(shè)計①

2017-07-19 08:20李文靜徐銘貝李樂峰于永強
科技資訊 2017年18期
關(guān)鍵詞:大數(shù)據(jù)技術(shù)

李文靜++徐銘貝++李樂峰++于永強

摘 要:隨著我國計算機技術(shù)的迅猛發(fā)展,遠程實時采集查詢數(shù)據(jù)已經(jīng)在工業(yè)和農(nóng)業(yè)生產(chǎn)中迅速得到應(yīng)用。數(shù)據(jù)采集與查詢是信息技術(shù)的重要分支,它研究實時信息數(shù)據(jù)的采集、存儲、查詢等功能,對數(shù)據(jù)的獲取并顯示可以讓用戶更好地掌握生產(chǎn)狀況,傳統(tǒng)的人工現(xiàn)場監(jiān)控浪費人力、物力,效率低下,所以,有必要開發(fā)一款低成本、高可靠性、高并發(fā)性、適用范圍廣的實時數(shù)據(jù)查詢系統(tǒng),對農(nóng)業(yè)生產(chǎn)進行有效的監(jiān)控,提高生產(chǎn)效率,使農(nóng)業(yè)生產(chǎn)實現(xiàn)現(xiàn)代化。該文采用了Spring、Spring MVC、Mybatis、shiro安全框架。為了提高系統(tǒng)的容量,該文采用nginx實現(xiàn)負載均衡、動靜分離,No-sql中的redis實現(xiàn)緩存,隊列Rabbitmq實現(xiàn)郵箱發(fā)送處理,數(shù)據(jù)庫代理ameoba實現(xiàn)讀寫分離,數(shù)據(jù)庫mysql主從復(fù)制等配置來提升系統(tǒng)的并發(fā)量。

關(guān)鍵詞:大數(shù)據(jù)技術(shù) Web后臺框架 查詢系統(tǒng)

中圖分類號:TP393 文獻標識碼:A 文章編號:1672-3791(2017)06(c)-0037-03

隨著電子信息技術(shù)不斷進步,人們利用Web技術(shù)開發(fā)出一系列相關(guān)產(chǎn)品,促使人們對產(chǎn)品的需求逐漸增加,這樣極大地推動了互聯(lián)網(wǎng)技術(shù)的發(fā)展。如今的物聯(lián)網(wǎng)、云計算、智能家居、實時監(jiān)控等新技術(shù)已逐步進入工業(yè)、農(nóng)業(yè)的生產(chǎn)生活,使得Web的應(yīng)用研發(fā)成為當代未來發(fā)展的熱點和重點。未來互聯(lián)網(wǎng)的主要發(fā)展趨勢就是通過互聯(lián)網(wǎng)。因而該文提出的是基于Web和App的數(shù)據(jù)采集及其操作系統(tǒng)的設(shè)計,采用了SSM+shiro框架作為服務(wù)器端,配合nginx+rabbitmq等開源軟件形成一個較完整的數(shù)據(jù)采集操作系統(tǒng),利用這些技術(shù)使得本系統(tǒng)具有穩(wěn)定、高效、占用內(nèi)存少、并發(fā)性強、性能高等特點,再結(jié)合通過瀏覽器對現(xiàn)場數(shù)據(jù)進行實時查看和對歷史記錄進行查詢,這將會給用戶提供更加高效和豐富的應(yīng)用。

1 系統(tǒng)整體說明

為了構(gòu)建對設(shè)備采集數(shù)據(jù)進行查看,對設(shè)備進行開關(guān)操作以及視頻傳輸?shù)墓δ?,在硬件上使用了樹莓派作為采集?shù)據(jù)終端,而單片機作為操控結(jié)果終端,樹莓派讀取串口數(shù)據(jù),發(fā)送請求到服務(wù)器進行數(shù)據(jù)采集及操作。在軟件上使用Web和App作為操作平臺,服務(wù)器采用tomcat,使用開發(fā)工具為eclipse、myeclipse、maven插件來完成的。

2 系統(tǒng)客戶端設(shè)計

用戶具有登錄、注銷、通過瀏覽器實時查看現(xiàn)場數(shù)據(jù)信息、查看歷史數(shù)據(jù)、實現(xiàn)將視頻由android端傳輸?shù)絎eb頁面。如圖2所示。

具體是實現(xiàn)方法如下。

(1)使用shiro框架的安全登錄實現(xiàn)登錄與注銷。

使用LogoutFilter進行登出操作subject.logout()操作。

AuthorizingRealm中的方法doGetAuthenticationInfo進行登陸認證,SimpleCredentialsMatcher進行加密操作使用的是shiro的shiro.crypto.hash.Md5Hash加密操作進行密碼加密。

(2)采用了EL表達式來進行數(shù)據(jù)顯示等操作。

(3)使用echarts進行圖表顯示操作。

百度的圖表js,可以很好地展示各個頁面的操作使用,傳遞json數(shù)據(jù)進行解析獲得圖表界面。

(4)shiro框架實現(xiàn)粗粒度的權(quán)限管理操作。

AuthorizingRealm中方法doGetAuthorizationInfo對不同的用戶添加權(quán)限,以及在頁面中添加權(quán)限列表,確定不同權(quán)限的用戶顯示不同的頁面。

(5)使用jquery的ajax獲取視頻流來顯示視頻。

3 系統(tǒng)服務(wù)器端設(shè)計

服務(wù)器端是整個系統(tǒng)的核心部分,通過服務(wù)器響應(yīng)客戶端的服務(wù)請求,從而發(fā)布系統(tǒng)消息,Web服務(wù)器主要根據(jù)不同用戶發(fā)出的請求,做出相應(yīng)的數(shù)據(jù)處理,并返回給用戶。

該文是Web服務(wù)器端,通過各種組件使得整個系統(tǒng)具有穩(wěn)定、占用內(nèi)存小、高并發(fā)、高可用性的特點。

Web服務(wù)器端的實現(xiàn)如下。

該服務(wù)器端主要使用MVC框架、shiro安全框架、rabbitmq隊列、ameoba數(shù)據(jù)庫代理、Nginx技術(shù),通過使用ameoba+Nginx,使得Web服務(wù)器具有穩(wěn)定、并發(fā)能力強、性能高的特點。具體的實現(xiàn)方法如下。

第一,框架結(jié)構(gòu)使用的是MVC,pojo層,controller層,service層,mapper層。

配置文件大致內(nèi)容如下。

(1)web.xml文件。

①里面配置了讀取spring配置的目錄。

②Spring監(jiān)聽。

③編碼過濾器CharacterEncodingFilter。

④配置springmvc配置目錄。

⑤Shiro過濾器。

(2)Spring配置文件整合shiro+mybatis。

①配置導(dǎo)入的外部文件(數(shù)據(jù)庫信息)。

②配置掃描的service層目錄。

③配置數(shù)據(jù)源。

④定義方法級事物控制并應(yīng)用于service層操作。

⑤配置shiro的權(quán)限管理器,加密管理器。

⑥配置shiro的登錄地址,登出方法,對那些網(wǎng)址進行放行,攔截等操作。

⑦配置Mybaits的Mapper接口管理器,SqlSessionFactory進行sql.xml配置。

(3)SpringMVC配置。

①配置掃描器。

②試圖解析器。

第二,郵件重置密碼:使用的是javax.mail.jar包,使用方法是JavaMailWithAttachment.class.getResourceAsStream來獲取郵箱賬戶數(shù)據(jù),并進行配置設(shè)置字符集,使用Multipart進行郵箱的發(fā)送,采用的是自動生成一個url,當點擊的時候?qū)崿F(xiàn)密碼重置,實現(xiàn)是用shiro帶鹽MD5HASH加密方法對自動生成的數(shù)據(jù)加密之后拼接成url,當點擊發(fā)送郵件時,將url及其用戶賬戶信息發(fā)送至rabbitmq隊列,消費者讀取數(shù)據(jù)之后做出發(fā)送郵件操作,這樣既可以減少系統(tǒng)壓力又提高服務(wù)器性能。

第三,使用amoeba代理,mysql主從復(fù)制(如圖2)。

編輯主master服務(wù)器配置文件/etc/my.cnf

server-id=1

log-bin=mysql-bin #啟用二進制日志;

重新啟動服務(wù)即可

編輯從slave修改/etc/my.cnf增加一行

server-id=2

重啟服務(wù)即可

這樣就實現(xiàn)了mysql的主從復(fù)制操作。

Amoeba是一個以MySQL為底層數(shù)據(jù)存儲,并對應(yīng)用提供MySQL協(xié)議接口的proxy。它集中地響應(yīng)應(yīng)用的請求,依據(jù)用戶事先設(shè)置的規(guī)則,將SQL請求發(fā)送到特定的數(shù)據(jù)庫上執(zhí)行。

配置文件dbServers.xml定義好數(shù)據(jù)庫的所有信息,設(shè)定主master或者從slave配置文件amoeba.xml配置監(jiān)聽端口號,并且設(shè)定誰可讀,可寫,這樣就會增加系統(tǒng)的并發(fā)量。

第四,nginx負載均衡,動靜分離。

Nginx是一個高性能的HTTP和方向代理服務(wù)器。

采用C語言編寫,其安全性高,外界只能訪問nginx所在服務(wù)器,nginx將請求轉(zhuǎn)發(fā)內(nèi)部服務(wù)器,調(diào)用后,返回調(diào)用的結(jié)果,使用nginx進行網(wǎng)頁托管,可以對其實現(xiàn)訪問多個服務(wù)器(根據(jù)權(quán)重或者輪詢)。

設(shè)置多臺服務(wù)器根據(jù)權(quán)重訪問服務(wù)器,實現(xiàn)負載均衡。

server {

listen 8888;

server_name xmbllf.school.com;

proxy_set_header X-Forwarded-Host $host;

proxy_set_header X-Forwarded-Server $host;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

location / {

proxy_pass http://127.0.0.1:8090;

proxy_connect_timeout 600;

proxy_read_timeout 600;

}

}

在這里進行動靜分離,對照片等靜態(tài)資源直接轉(zhuǎn)發(fā)至物理地址。

第五,視頻接收:通過android發(fā)送照片流,進行顯示,在服務(wù)器端接收數(shù)據(jù)之后,對其進行base64解碼,生成圖片,放置在目錄下,之后不同用戶登錄之后通過ajax,每一秒請求7次,獲取其指定的照片流得到,并不斷循環(huán),接受byte數(shù)據(jù)來進行數(shù)據(jù)顯示,在這里由于android手機傳輸?shù)恼掌窍蛴倚D(zhuǎn)90°的,之前想過在android發(fā)送階段,強行將照片左轉(zhuǎn),但是效率太低,最后采用直接讓網(wǎng)頁上照片旋轉(zhuǎn)回來即可。通過設(shè)置照片的五個屬性MozTransform、webkitTransform、msTransform、OTransform、transform。對于傳輸速度問題,為了達到很快的發(fā)送數(shù)據(jù)的目的,所以使用了壓縮方法,使壓縮率為50%,這個結(jié)果可以達到延時1秒的效果。

第六,利用log4j顯示程序報錯詳細信息。

4 結(jié)語

該文對一個較完整的信息采集系統(tǒng)的實現(xiàn)進行了討論,總體來說,該系統(tǒng)基本實現(xiàn)了預(yù)期效果,并經(jīng)過老師與同學(xué)的檢查,確定本系統(tǒng)穩(wěn)定性較好,可以較好地實現(xiàn)蔬菜大棚的管理系統(tǒng)的使用,這樣一來,就可以讓它服務(wù)于農(nóng)業(yè)生產(chǎn),能夠較效率地減少使用者的時間,從而有更多的擴展功能,普及農(nóng)業(yè)生產(chǎn)生活,使其發(fā)展成為全自動化的農(nóng)業(yè)生產(chǎn)模式,從而釋放更多的勞動力,為社會為國家創(chuàng)造更多的活力。由于能力有限,經(jīng)驗不足,設(shè)計中還有許多問題和不足之處,請各位讀者給予批評指正。

參考文獻

[1] 張紫謙,衷衛(wèi)聲,梁凱,等.基于物聯(lián)網(wǎng)技術(shù)的溫室集群環(huán)境監(jiān)控系統(tǒng)設(shè)計[J].2016,39(14):49-52.

[2] Simon.H A.Artifieial intelligence:an empirical science[J]. Artificial Intelligenee,1995,77(1):95-127.

[3] 吳燦培,胡順豪,王海航.基于Ajax和SVG的Web遠程實時監(jiān)控系統(tǒng)[J].計算機工程與設(shè)計,2011,32(9):3004-3007.

[4] Jianlin Xu,Yifan Yu,Zhen Chen,et al.Cloud Computing Based Forensic Analysis for Massive Mobile Applications Using Data Mining[J].Tsinghua science and technology,2013,18(4).

[5] R.Kirubashankar,K.Krishnamurthy.A Real-time Web-enabled Platform for Informatlon Monitoring and Fault Diagnosis in a Distributed Control System[J].Instrumentation science & technology:Designs and applications for chemistry,biotechnology,and environmental science,2013,41(3):236-250.

猜你喜歡
大數(shù)據(jù)技術(shù)
善用“互聯(lián)網(wǎng)+” 提升政府善治能力
大數(shù)據(jù)技術(shù)之一“數(shù)據(jù)標識”
基于大數(shù)據(jù)技術(shù)的O2O跨境電商客戶信息研究
大數(shù)據(jù)技術(shù)在霧霾治理中的應(yīng)用
淺談大數(shù)據(jù)技術(shù)在互聯(lián)網(wǎng)金融中的應(yīng)用
大數(shù)據(jù)技術(shù)在電子商務(wù)中的應(yīng)用
大數(shù)據(jù)技術(shù)對新聞業(yè)務(wù)的影響研究
大數(shù)據(jù)技術(shù)在電氣工程中的應(yīng)用探討
大數(shù)據(jù)技術(shù)在商業(yè)銀行中的應(yīng)用分析
三亚市| 通州市| 长阳| 千阳县| 苍山县| 遂川县| 海林市| 甘洛县| 时尚| 韩城市| 饶平县| 阿拉尔市| 禹州市| 阳山县| 高雄市| 共和县| 丹凤县| 陈巴尔虎旗| 洛宁县| 扬州市| 乡宁县| 库尔勒市| 合江县| 泽州县| 田林县| 永济市| 宾阳县| 梨树县| 宣威市| 万载县| 永仁县| 沛县| 日照市| 左贡县| 正定县| 广德县| 孟州市| 濉溪县| 巴林右旗| 屯留县| 海口市|