摘要:隨著網(wǎng)絡數(shù)據(jù)量和請求量的不斷增加,導致出現(xiàn)數(shù)據(jù)存儲、使用等方面的問題。為了使數(shù)據(jù)庫性能得到提高,該文通過數(shù)據(jù)庫算法與Web技術設計軟件應用框架。首先分析數(shù)據(jù)庫算法與Web服務,基于緩存層利用Web數(shù)據(jù)響應處理方法改善數(shù)據(jù)庫緩存性能。在實際使用的過程中利用此軟件應用框架,對緩存性能進行分析,實現(xiàn)系統(tǒng)各層。
關鍵詞:Web;數(shù)據(jù)庫算法;軟件應用框架
中圖分類號:TP311 文獻標識碼:A
文章編號:1009-3044(2020)33-0037-02
開放科學(資源服務)標識碼(0SID):
基于Web2.0大背景下研發(fā)了大量基于數(shù)據(jù)庫存儲數(shù)據(jù)的軟件,服務器對數(shù)據(jù)庫數(shù)據(jù)讀取,然后顯示在瀏覽器中,在訪問量與數(shù)據(jù)量不斷增加的過程中,數(shù)據(jù)庫性能會逐漸下降,延長了數(shù)據(jù)響應時間。使用緩存技術能夠使上述問題得到解決,緩存技術能夠使數(shù)據(jù)庫載荷得到緩解,避免網(wǎng)絡擁堵,使Web應用性能得到提高[1]。一般,Web通信是將Http協(xié)議作為基礎,瀏覽器將Http請求發(fā)送給服務器,服務器返回相應信息,此數(shù)據(jù)響應處理方式要在應用服務層與客戶端多次創(chuàng)建、關閉連接,并且服務器還要對冗長但是數(shù)據(jù)量比較小的標頭信息進行處理,所以會占據(jù)大量網(wǎng)絡資源,在數(shù)據(jù)量與請求比較大的時候,會加重服務器的負載。使用Web技術能夠提高Web應用訪問頻率,對于緩解網(wǎng)絡資源消耗與數(shù)據(jù)庫壓力具有重要意義[2]。
1 改進數(shù)據(jù)庫算法
在使用Web軟件過程中對多數(shù)據(jù)庫跨越調用數(shù)據(jù),設計數(shù)據(jù)庫具有重要意義。本文數(shù)據(jù)庫設計方法為:
其一,選擇合適字段。本文利用字符串、長整形、二進制等三種字段,舍棄自動遞增型字段,符號通過字符串代替,日期通過長整形替代。
其二,選擇操作數(shù)據(jù)定義語言。針對定義數(shù)據(jù)語言,因為系統(tǒng)初始化過程中能夠同時創(chuàng)建數(shù)據(jù)庫,那么對于數(shù)據(jù)庫的不同,所使用的語言也各有不同,針對不同的操作數(shù)據(jù)語言數(shù)據(jù)庫標準進行規(guī)劃。本文使用標準通用SQL語言,在特殊情況下利用switch case語言。
其三,數(shù)據(jù)庫函數(shù)的使用。在對函數(shù)進行選擇的過程中,本文利用標準函數(shù),不使用標準規(guī)范中的函數(shù)I3]。
在數(shù)據(jù)庫中使用Websocket能夠提高系統(tǒng)的訪問效率,降低數(shù)據(jù)庫負荷。Websocket利用雙向方式傳輸客戶端與應用服務層的信息,傳統(tǒng)HrITP request要多次創(chuàng)建連接,數(shù)據(jù)交換效率比使用Websocket數(shù)據(jù)響應方式要低[4],圖1為使用Websock-et的數(shù)據(jù)庫數(shù)據(jù)響應方式。
2 Web軟件應用框架的設計
Web應用開發(fā)使應用框架劃分為模型層、控制層、視圖層三部分,通過MVC實現(xiàn)此模式。因為三個層次的重點為不同的框架技術,通過集成框架技術將不同框架的問題進行彌補,提高Web開發(fā)框架的穩(wěn)定性和功能。
2.1 視圖層
通過接收視圖層對客戶提交數(shù)據(jù),對用戶展示服務器的處理結果,其能夠為用戶提供界面良好、操作方便的使用接口。在國際化Web應用對處理頁面要求不斷提高的過程中,已經(jīng)無法滿足實際需求。在視圖層設計過程中,視圖層技術在解決以上問題的時候具有良好效果。實現(xiàn)FreeOfmarker視圖解析器的配置,此解析器在DispatcherServlet.xml中,并且配置FreeOf-maekrerResolver類屬性值,之后對FreeOfmaekrer中的屬性進行配置[5]。以下為實例:
Armys
@HtmI.DisplayNameFor(model=>modeI.Name)
<,div>
@HtmI.DisplayFor(model=>modeI.Name)
@HtmI.DisplayNameFor(model=>model.integral)
@Html.DisplayFor(model=>model.integral)
@HtmI.ActionLink(”Edit”,”Edit”, new( id=ModeI.AId))l
@Html.ActionLink(”Back to List”,”Index”)
Document
2.2 控制層
控制層調用響應模型組件對客戶端發(fā)送請求進行處理,最后利用不同視圖顯示處理結果,以此匹配視圖層與模型層。用戶請求分發(fā)與處理為控制層的核心,自行開發(fā)通過SpringMVC框架所提供的BaseControlter類,將以上工作作為基礎,利用此類添加編碼轉換、重寫向功能,使每個業(yè)務邏輯處理Controller都能夠繼承,處理業(yè)務前要準備每個請求,使模型層JavaBean與業(yè)務處理都通過IOC容器實現(xiàn)并且管理,從而保證系統(tǒng)功能結構清楚,還能夠對模塊之間進行解耦[6]。
2.3 模型層
數(shù)據(jù)庫全部存取操作和具體業(yè)務邏輯操作都為系統(tǒng)模型層,在邏輯處理過程中,通過業(yè)務邏輯操作封裝為Servce層,使其構成邏輯操作室,通過調用控制層功能模塊封裝數(shù)據(jù)庫,從而使系統(tǒng)能夠開展邏輯處理。在設計模型層過程中,要對封裝具體業(yè)務邏輯操作JavaBean進行封裝,通過spring實現(xiàn)此任務。利用Spring配置文件生命元素,通過動態(tài)方式將需要對象注入,并且重視其他類依賴關系的設置[7]。
其次,在數(shù)據(jù)庫訪問與對象持久化方面都是在此框架中使用Hibernate所實現(xiàn),并且配置Hibernate中的Data of Sourece等資源。用戶能夠通過Bean方式在配置文件中對Hibernate所使用Hibemate等數(shù)據(jù)訪問資源進行定義[8]。
2.4 客戶層
通過steuts框架實現(xiàn)客戶層.利用開源免費應用架構使客戶層的標簽庫技術水平、面向對象的水平得到提高,并且降低開發(fā)人員的設計時間。通過JSP實現(xiàn)Struts試圖部分,還要設置標準標簽庫,并且通過Struts的Atinon與自定義標簽庫進行映射,從而實現(xiàn)用戶數(shù)據(jù)封裝。Action類能夠連接用戶請求和業(yè)務邏輯,利用模型調用更新模型的狀態(tài)使應用程序流程得到實現(xiàn)。在大型系統(tǒng)中應用Action,將其作為用戶請求和業(yè)務邏輯處理的適配器。其次,Struts缺乏模型組件,解決M部分的問題[9]。
3 實際使用
某個公司業(yè)務系統(tǒng)管理利用本文框架對數(shù)據(jù)進行查詢和讀取,對緩存性能緩存數(shù)量進行研究,以此評價數(shù)據(jù)庫算法系統(tǒng)性能。表1為數(shù)據(jù)庫算法緩存數(shù)量,在數(shù)據(jù)瀏覽量少時,會降低緩存數(shù)量,在數(shù)據(jù)瀏覽次數(shù)增加時,也會提高緩存數(shù)量。以此表示,緩存數(shù)量在瀏覽次數(shù)不斷提高時不斷增加,所以本文所設計應用框架的處理效果良好[10]。
4 結束語
在時代不斷發(fā)展的過程中,軟件系統(tǒng)的開發(fā)過程比較復雜,在此過程中出現(xiàn)了大量技術,增加了開發(fā)過程中的難度。在軟件應用框架設計過程中將Web技術與數(shù)據(jù)庫算法作為基礎能夠降低數(shù)據(jù)庫讀寫壓力,并且提高應用訪問速度,使此框架在實際中使用.能夠提高緩存性能,加強數(shù)據(jù)庫性能,從而提高響應靈敏性。
參考文獻:
[1]張波,李舸,基于改進聚類算法的Web異常數(shù)據(jù)挖掘軟件設計[J].現(xiàn)代電子技術,2019,42(8):73-76,81.
[2]熊小舟,薛錦云.基于Web Service和多媒體數(shù)據(jù)庫技術的PAR方法在線自學系統(tǒng)的設計與實現(xiàn)[J].江西師范大學學報舊然科學版),2018,42(3):291-297.
[3]曹弘堅.基于Web及數(shù)據(jù)庫算法的軟件應用框架設計分析[J].山東工業(yè)技術,2019(20).
[4]盧思旭,徐家雷.MD5算法在Web數(shù)據(jù)庫中的運用初探[J].數(shù)碼設計(下),2019(5):15.
[5]杜偉龍.基于嵌入式Web服務器的智能視頻監(jiān)控系統(tǒng)的研究與實現(xiàn)[D].浙江工業(yè)大學,2019.
[6]石新娜.關于Web及數(shù)據(jù)庫算法的軟件應用框架設計分析[J].自動化應用,2018(5):71-72.
[7]王星捷,衛(wèi)守林,基于WebCL的三維GIS空間算法的研究與實現(xiàn)[J].計算機應用與軟件,2019,36(4):63-68,85.
[8]孫榮明.以Web與數(shù)據(jù)庫算法為載體的軟件應用設計分析[J].信息與電腦(理論版),2019(21):46-47.
[9]王小哲.基于Web的公交查詢算法的設計與實現(xiàn)[J].電腦迷,2018(10):204.
[10]金強,方春華,王亮.基于Web的在線考試系統(tǒng)模塊化設計與組卷方法探究[J].數(shù)碼世界,2018(10):161-162.
【通聯(lián)編輯:代影】
作者簡介:王軍(1978-),男,江蘇宿遷人,講師,本科,主要研究方向:計算機網(wǎng)絡。