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

基于分布式Memcached緩存技術的油田信息查詢系統

2017-11-08 03:55:47方志杰卿粼波吳曉紅張余強
現代計算機 2017年27期
關鍵詞:頁面數據庫信息

方志杰,卿粼波,吳曉紅,張余強

(1.四川大學電子信息學院,成都610064;2.成都西圖科技有限公司,成都610065)

基于分布式Memcached緩存技術的油田信息查詢系統

方志杰1,卿粼波1,吳曉紅1,張余強2

(1.四川大學電子信息學院,成都610064;2.成都西圖科技有限公司,成都610065)

網絡化在油田信息系統中的普遍應用,大大地提高油田的生產效率,方便油田工作者隨時、及時地查閱最新的油田生產信息,降低信息獲取的成本,提高從事油田開發的人員的工作效率。但隨著時間的遷移,每年都有大量的數據錄入油田信息系統的數據庫之中,久而久之,數據量逐漸變地龐大,在海量數據的前提下,頻繁的查詢操作導致數據庫面臨的壓力越來越大。為了緩解數據庫的壓力,增加數據的查詢速度,采用分布式Memcached緩存技術實現油田信息查詢系統。通過把在數據庫中檢索出的結果存儲在緩存服務器內存中,減輕數據庫負擔,加快查詢速度,提高訪問并發量。

0 引言

隨著互聯網的發展以及油田從業者對高效工作的追求,大量的以B/S(Brower/Server)或C/S(Client/Serv?er)為模型的軟件系統在油田得到廣泛的應用,旨在提高人們的工作效率,增加生產力。楊涵夫采用客戶端、應用服務器、數據庫服務器三層體系架構的油田信息查詢系統為油田工作者查詢數據提供了方便[1]。李瑞芳等基于SVG開發的油田故障查詢系統實現了油田井位直觀展示和故障信息的動態查詢[2]。隨著技術的進步和發展,油田工作者對工作效率、操作便捷性以及功能上有了新的追求,但在目前已有的油田信息查詢系統中,大多存在一些系統兼容性不好和查詢數據慢的問題。由于傳統的關系型數據庫面臨大規模的數據訪問時,磁盤I/O往往成為性能瓶頸,尤其是當查詢數據庫需要進行多表關聯查詢時,需要大量的處理時間,這將直接導致系統的性能和體驗急劇下降。當系統的訪問量大時,由于不能及時從數據庫獲取到信息會導致超時錯誤,當較嚴重時會使應用服務器直接崩潰。

高速緩存的使用,可以使服務器具有良好的響應速度并承受較大的負載量[3]。為此,本文實現了一種基于Memcached緩存技術的油田信息查詢系統,利用Memcached能夠有效減輕數據庫服務器負載壓力,提高Web應用系統響應速度,增強用戶體驗效果[4]。同時為了適應大量數據對象存儲的需求,以及減少緩存服務器宕機之后對系統的影響,采用分布式Mem?cached緩存的技術方案。應用程序通過路由算法選擇目標緩存服務器遠程讀寫緩存數據,減輕油田數據庫的負載,充分利用多臺計算機的資源,提高系統的可用性[5],實現緩存服務器的可擴展性,通過動態增加或減少節點應對數據訪問負載,最大限度的提高資源利用率。

1 系統總體架構

由于C/S模型的軟件需要安裝才可以使用服務,對操作系統環境的依賴較大,軟件安裝和更新為油田工作從事者帶來了很大的不方便,同時也增加了運維工作。因而采用了B/S的結構,以HTTP協議進行通信,借助瀏覽器實現訪問,無需安裝,僅在服務器端就可以進行更新,實現了原來客戶端擁有的功能,在各大主流瀏覽器上均做到了很好的兼容性。本系統包括應用服務器、緩存服務器和數據庫服務器三大部分,當用戶選擇將訪問的頁面后,瀏覽器經網絡向應用服務器發起請求,應用服務器解析瀏覽器的請求信息后在油田數據庫中查詢數據,為了提高查詢速度,本系統增加了分布式Memcached緩存服務器集群。將從數據庫中檢索到的結果存儲在緩存服務器中,下次查詢時可以直接在緩存服務器中讀取,同時應用服務器將檢索到的數據以JSON(JavaScript Object Notation)字符串的格式返回給瀏覽器進行渲染展示。系統的架構圖如圖1所示。

圖1 系統架構圖

2 系統設計與實現

2.1 前端框架設計與實現

系統使用Java語言開發,前端頁面采用JSP(Java Server Pages)開發,以表格和圖件的形式對油田生產成果信息進行直觀的展示。

對于表格而言,目前常用的表格展示框架有Easy UI、jQuery UI、jqGrid等。其中Easy UI組件豐富,但性能較差;jQuery輕便便捷、美觀多變,但控件較少;jqGrid輕量、功能豐富,但使用不夠簡便??紤]到系統中有表格列拖動的功能需求,而jqGrid可以滿足系統的需求,且具有較好的瀏覽器兼容性,因此采用了jqGrid實現表格的繪制。結合后端代碼,將前端頁面的篩選條件作為數據庫SQL語句的查詢條件來檢索數據,實現了篩選查詢的功能。圖件繪制采用Highcharts框架,HighCharts支持主流瀏覽器、配置簡單、功能強大。系統中以HighCharts實現了曲線圖、柱狀圖、散點圖、3D圖形等形式豐富的數據展示功能。

當前端頁面加載后,采用AJAX(Asynchronous Ja?vaScript And XML)異步請求來獲取待繪制的數據,Ajax請求為局部刷新頁面,與后臺服務器進行少量數據交換,可以減少通信量,有效節約帶寬,增加系統的速度及用戶體驗。

2.2 后端框架設計與實現

基于B/S模型的應用系統常用的開發框架有Spring MVC和ASP.NET MVC框架。MVC三層模型具有高內聚低耦合的特點,各層之間相互獨立,彼此協同工作,易于開發和維護。其中Spring MVC框架基于Java實現,具有跨平臺的特性,框架的搭建需要較多的配置工作;ASP.NET MVC框架基于C#實現,僅可以運行在Windows操作系統平臺,但無需配置。鑒于Spring MVC不受運行平臺的限制,可以適用油田公司服務器不同的操作系統環境要求,因此采用Spring MVC框架開發。

在代碼設計上采用Spring軟件框架,Spring是輕量級的IoC(控制反轉)和AOP(面向切面)的容器框架。本系統通過Spring IoC達到松耦合的目的,軟件各個模塊之間以接口的形式對外提供服務,有利于開發和維護工作。

2.3 分布式緩存設計與實現

目前,很多大型Web應用系統通過使用Mem?cached緩存服務來實現高并發頁面訪問[6]。Mem?cached中所有緩存的內容都在服務器的內存中[7],計算機中的內存讀寫速度是遠遠快于磁盤的,通過緩存的方式減少數據庫的磁盤I/O操作,使系統可以有很好的響應速度和高并發量。鑒于此,為了適應油田大數據檢索的需求,采用了Memcached緩存技術來提升響應速度和系統訪問并發量。為解決系統中隨著模塊的增加以及用戶量的上升,單個緩存服務器緩存的數據量有限的問題。設計了分布式Memcached緩存系統,采用集群的方式提供緩存服務,具有良好的伸縮性,在理論上做到不受內存容量限制。本文系統中使用兩臺Memcached緩存服務器來實現分布式緩存服務,其中Memcached版本為memcached-1.4.33,運行在Linux操作系統環境下。

油田工作者時常需要查詢油田生產成果信息,這些數據具有高頻訪問和變化小的特點。在現有系統中每次數據獲取操作都需要在數據庫中檢索,之后在應用服務器將檢索結果封裝為JSON字符串,查詢同樣的數據時需要重復檢索,數據庫壓力大、檢索慢,系統時常出現請求超時情況。采用將處理好的JSON字符串以的鍵值對格式存儲在緩存服務器中的方式,通過hash表檢索數據,達到O(1)的性能。當用戶訪問的數據存在于緩存服務器中時直接讀取返回,不再需要和數據庫建立連接,減輕了數據庫的壓力,同時也可以減輕應用服務器的壓力。

將Memcached以守護進程的方式運行在服務器中,其默認監聽的端口號為11211,隨時接受客戶端的連接和操作。將緩存服務器集群和應用服務器配置同一個局域網中,應用服務器使用memcached client for java經IP地址實現對緩存服務器的讀寫訪問。當用戶訪問系統中不同的頁面時URL信息不同,因此應用服務器將當前訪問的URL作為key,當前頁面的JSON數據作為value存儲在緩存服務器中,在數據有效時間內,下次不經數據庫直接在緩存服務器中讀取數據。

系統軟件流程圖如圖2所示。訪問圖表時首先由瀏覽器向應用服務器發起請求,由控制層調用邏輯層,在邏輯層將得到的key值對緩存服務器個數進行取余操作得到緩存服務器的地址,查詢此數據是否存在于該服務器中,如果存在于此緩存服務器中,則在對應的緩存服務器中讀取數據,然后直接返回請求,否則調用數據訪問層,和數據庫建立連接,從數據庫中檢索數據,獲取數據成功之后,將JSON字符串存儲于相應的Memcached緩存服務器之中以供下次查詢使用,再返回請求。

圖2 軟件流程圖

3 系統測試

3.1 圖表功能測試

系統實現了表格的展示以及圖件的繪制功能,為油田從業者提供直觀的信息表現形式。對于表格,在展現形式上采用分頁的形式展示數據,分頁查詢通過減少檢索的數據量有效的減輕了數據庫的負擔,具有查詢速度快、占用帶寬小的優點;在功能上提供了數據的篩選查詢、排序、隱藏列、拖動列等功能。對于圖件的繪制,在展現形式上,通過柱狀圖、餅狀圖、折線圖等來展示數據,具有簡潔、美觀的特點;在功能上,可以選擇性的隱藏或顯示特定的圖例、顯示3D圖形等。圖表功能均能可靠運行,表格和圖件繪制功能測試如圖3所示。

圖3 表格和圖件展示數據

3.2 訪問速度測試

本實驗主要對比本文實現的基于分布式Mem?cached緩存的油田信息查詢系統和現有的油田信息查詢系統在系統數據的獲取時間上的變化。本系統兩臺Memcahced緩存服務器的處理器均為Intel Core i5-4460M,內存為8G DDR3 1600MHz,操作系統為Ubun?tu-16.04。單用戶情況下訪問系統的圖表頁面,系統響應時間對比如圖4所示。

圖4 兩種系統響應時間對比

圖5 高并發下系統錯誤率對比

圖6 高并發下系統響應時間對比

在高并發的訪問環境下,本實驗使用Apache Jme?ter軟件對系統進行壓力測試,用戶模擬線程均在1s內啟動,線程數由10個開始逐漸遞增,對系統圖表訪問進行測試。當并發量達到30時現有服務器開始出現超時錯誤,在并發量持續升高的情況下,現有系統錯誤率達到100%。系統的錯誤率如圖5所示,系統對用戶請求的平均響應時間如圖6所示。

4 結語

本文針對油田的工作需求,采用輕量級的B/S架構,無插件開發,僅依賴操作系統的瀏覽器即可使用本系統,在界面的設計上遵循簡約、美觀、易用、快速的特點,對當前主流的瀏覽器做到了很好的兼容性,實現了生產成果等信息的查詢。由于將分布式緩存技術應用到了油田信息查詢系統中,解決了之前油田信息數字系統普遍存在的數據庫查詢速度慢、難以承受高并發的問題。本系統在很大程度上減輕了數據庫的負載,增加并發量,節約油田地質工作者的時間,更進一步提升工作效率,增加用戶體驗。目前該系統已經在油田投入使用,可以高效穩定地運行,也得到油田工作者的肯定。

[1]楊涵夫.油田開發數據模糊智能查詢系統[J].油氣田地面工程,2013(01):79.

[2]李瑞芳,于曉紅,孫永東.基于SVG的油田故障查詢系統[J].科學技術與工程,2010(22):5548-5550.

[3]王心妍.Memcached和Redis在高速緩存方面的應用[J].無線互聯科技,2012(09):8-9.

[4]劉亮,徐步東,譚艷艷.基于Memcached內存對象緩存技術應用研究[J]。計算機技術與發展,2015(11):204-208.

[5]周淦淼,譚石強.基于Memcached的MySQL查詢優化[J].現代計算機(專業版),2009(05):137-140.

[6]郭棟,王偉,曾國蓀.基于Memcached的緩存資源集中管理方法[J].計算機技術與發展,2013(12):62-65.

[7]宗小忠.基于Memcached構建Web緩存服務器[J].電腦知識與技術,2011(05):1044-1045.

Oilfield Information Query System Based on Distributed Memcached Caching Technology

FANG Zhi-jie1,QING Lin-bo1,WU Xiao-hong1,ZHANG Yu-qiang2

(1.College of Electronic and Information,Sichuan University,Chengdu 610064;2.Chengdu Xitu Technology Co.Ltd.,Chengdu 610065)

The network is widely used in the field of information system,greatly improves the efficiency of oil production.Oil workers not only can timely access to the latest production information of the oil at any time and reduce the cost of collecting information,but also improve the work efficiency of personnel engaged in oilfield development.But with the passage of time,there are a lot of Oilfield Information System da?ta which entry the database every year.As time passes,the amount of data becomes very huge,and frequently querying database faces more pressure under the premise of massive data.In order to alleviate the pressure of database and increase the speed of data querying,this paper achieves the oil information query system based on Memcached cache technology,relying on the retrieval results in the database stored in the cache memory,this system can reduce the burden of the database,increase the querying speed and improve access concur?rency.

1007-1423(2017)27-0029-05

10.3969/j.issn.1007-1423.2017.27.007

Memcached;MVC;油田信息查詢系統;分布式集群

方志杰(1993-),男,河北邯鄲人,在讀研究生,研究方向為智能系統與設計

卿粼波,男,副教授,研究方向為圖像處理、圖像/視頻編碼通信、嵌入式系統及機電一體化等方面的理論及應用研究,Email:qing_lb@scu.edu.cn

吳曉紅,女,四川成都人,博士,副教授,研究方向為圖像處理與模式識別、計算機視覺、無線通信等

張余強,男,四川成都人,碩士,成都西圖科技有限公司,碩士,研究方向為軟件工程

2017-07-13

2017-09-20

Memcached;MVC;Oilfield Information Query System;Distributed Cluster

猜你喜歡
頁面數據庫信息
大狗熊在睡覺
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
同一Word文檔 縱橫頁面并存
淺析ASP.NET頁面導航技術
主站蜘蛛池模板: 青青青国产视频手机| 一级毛片视频免费| 欧洲一区二区三区无码| 亚洲福利一区二区三区| 国产欧美在线视频免费| 一级毛片在线播放| 91视频99| 国产一区二区精品高清在线观看| 欧美全免费aaaaaa特黄在线| 毛片一级在线| 美女裸体18禁网站| 亚洲a免费| 国产丝袜无码精品| 亚洲精品欧美日本中文字幕| 日本一区高清| 老汉色老汉首页a亚洲| 国产高清在线精品一区二区三区 | 国产va在线观看免费| 无码视频国产精品一区二区| 日韩午夜片| 亚洲视屏在线观看| 亚洲国产AV无码综合原创| 国产91小视频| 成人国产一区二区三区| 黄色网站不卡无码| 国产午夜不卡| 亚洲男人的天堂久久香蕉网| 色妺妺在线视频喷水| 久久香蕉国产线看观看亚洲片| 久久亚洲国产最新网站| 国产亚洲精品精品精品| 国产精品毛片一区视频播| 精品视频福利| 成人蜜桃网| 国产美女无遮挡免费视频| 人禽伦免费交视频网页播放| 九色在线观看视频| 成人福利在线免费观看| 欧美日韩一区二区三区在线视频| 久热精品免费| 另类专区亚洲| 精品久久国产综合精麻豆| 亚洲国产精品日韩av专区| 波多野结衣在线se| 亚洲av片在线免费观看| 欧洲精品视频在线观看| 亚洲男人的天堂久久香蕉 | 欧美视频在线第一页| 国产青青草视频| 欧美视频在线观看第一页| 国产裸舞福利在线视频合集| 国产永久在线视频| 日本一本在线视频| 国内自拍久第一页| 久久国产乱子| 毛片视频网址| 色妞永久免费视频| 久草网视频在线| 精品少妇人妻无码久久| 国产一区二区三区精品久久呦| 国产精品第一区| 日本欧美精品| 国产欧美日韩18| 日本三级精品| 亚洲精品国产成人7777| 中文无码精品A∨在线观看不卡 | 免费一级毛片完整版在线看| 国产91精品调教在线播放| 亚洲天堂.com| 亚洲人成网站观看在线观看| 亚洲综合片| 亚洲AV无码久久精品色欲| 97超级碰碰碰碰精品| 欧美成人日韩| 99re66精品视频在线观看| 国产黄网永久免费| 精品国产香蕉在线播出| 美女无遮挡免费视频网站| 18禁不卡免费网站| 无码专区国产精品第一页| 日韩 欧美 小说 综合网 另类| 国产在线观看成人91|