班穎
(華北計(jì)算技術(shù)研究所,北京 100089)
分層技術(shù)在計(jì)算機(jī)軟件開(kāi)發(fā)中的應(yīng)用
班穎
(華北計(jì)算技術(shù)研究所,北京 100089)
當(dāng)代計(jì)算機(jī)技術(shù)的不斷革新,推動(dòng)了以其為載體的網(wǎng)絡(luò)技術(shù)的高速發(fā)展,計(jì)算機(jī)和互聯(lián)網(wǎng)以其獨(dú)特的優(yōu)勢(shì)給人們?nèi)粘I顜?lái)了極大的便利。與此同時(shí),人們對(duì)計(jì)算機(jī)和互聯(lián)網(wǎng)的依賴性大大增加,這也相應(yīng)的給計(jì)算機(jī)的應(yīng)用提出了一些要求,計(jì)算機(jī)軟件系統(tǒng)也需要不斷地革新以滿足市場(chǎng)需求。逐漸增多的應(yīng)用場(chǎng)景給軟件開(kāi)發(fā)帶來(lái)了極大的挑戰(zhàn)。為了解決此類問(wèn)題,計(jì)算機(jī)軟件開(kāi)發(fā)分層技術(shù)應(yīng)運(yùn)而生,這項(xiàng)技術(shù)用以提升計(jì)算機(jī)軟件研發(fā)速度、縮短研發(fā)周期、確保軟件質(zhì)量、減少整個(gè)流程的工作量。立足于實(shí)際應(yīng)用場(chǎng)景,研討了分層技術(shù)在計(jì)算機(jī)軟件開(kāi)發(fā)中的應(yīng)用,同時(shí),對(duì)分層技術(shù)的發(fā)展前景進(jìn)行了展望,以期為計(jì)算機(jī)從業(yè)人員帶來(lái)一些啟示。
分層技術(shù);計(jì)算機(jī);軟件應(yīng)用;軟件系統(tǒng)
在當(dāng)代科學(xué)技術(shù)迅猛發(fā)展的同時(shí),國(guó)內(nèi)的計(jì)算機(jī)行業(yè)也迎來(lái)了發(fā)展的黃金期,帶有不同功能的計(jì)算機(jī)軟件系統(tǒng)以幾何形式遞增。在技術(shù)上,軟件開(kāi)發(fā)技術(shù)和管理水平也在向世界最前沿靠近。經(jīng)過(guò)長(zhǎng)時(shí)間的技術(shù)積累,在計(jì)算機(jī)軟件開(kāi)發(fā)的平臺(tái)上,分層技術(shù)誕生了,且在實(shí)際運(yùn)用過(guò)程中還在經(jīng)歷不斷的優(yōu)化,隨著層數(shù)的增加,性能也越來(lái)越優(yōu)良。目前,網(wǎng)絡(luò)環(huán)境已然不像以往單一,各種功能的出現(xiàn)使得技術(shù)更加多樣,環(huán)境更加復(fù)雜,這也使得單一軟件系統(tǒng)已經(jīng)不能滿足當(dāng)前的需求。為了迎合市場(chǎng)需要,就必須要在效率上進(jìn)行提升,將成本降至最低,使分層技術(shù)物盡其用。值得注意的是,分層技術(shù)旨在搭建一個(gè)架構(gòu),然后在其中實(shí)現(xiàn)軟件系統(tǒng)的研發(fā)目標(biāo)。
在此提到的分層技術(shù),與我們之前所認(rèn)識(shí)的物理分層是不一樣的,對(duì)于計(jì)算機(jī)軟件系統(tǒng)而言,指的是對(duì)軟件系統(tǒng)實(shí)行分層處理,這是一個(gè)抽象的概念。具體做法為:把聚集在一起的業(yè)務(wù)邏輯、數(shù)據(jù)系統(tǒng)、操作界面等成分進(jìn)行概念層的劃分,同時(shí),具體問(wèn)題具體分析,對(duì)每個(gè)抽象概念層進(jìn)行分類處理,使得他們之間能進(jìn)行信息交互,且不能影響彼此的工作。當(dāng)兩個(gè)接口條件滿足時(shí),則相互之間都能夠進(jìn)行即時(shí)修改和更換。各概念層中都備有一套高度內(nèi)聚的解決方案,這使得每個(gè)層不需要了解別的層的內(nèi)部情況,僅僅向上、下層輸送所需的數(shù)據(jù)和操作,就能夠獲得對(duì)方的答復(fù)和所需數(shù)據(jù),同時(shí),可以開(kāi)展接下來(lái)的操作。
在計(jì)算機(jī)層面上的研發(fā)技術(shù)框架就本質(zhì)上而言就是一種軟件開(kāi)發(fā)框架,在計(jì)算機(jī)技術(shù)興起之初,當(dāng)時(shí)的軟件系統(tǒng)的應(yīng)用有一個(gè)硬性的指標(biāo),即要想運(yùn)行,就只能在本地機(jī)器上運(yùn)行。此外,當(dāng)時(shí)的軟件系統(tǒng)無(wú)論是在結(jié)構(gòu)上,還是在邏輯上都不復(fù)雜,多數(shù)為單層結(jié)構(gòu),這就意味著數(shù)據(jù)、操作、業(yè)務(wù)邏輯都融合在一個(gè)系統(tǒng)中。軟件系統(tǒng)發(fā)展到目前,規(guī)模越來(lái)越大,要求也越來(lái)越高,不一樣的邏輯部分要隔離開(kāi)來(lái),單獨(dú)組成一個(gè)抽象層,以此來(lái)優(yōu)化產(chǎn)品質(zhì)量,適應(yīng)市場(chǎng)需求。
雙層技術(shù)中經(jīng)典的應(yīng)用當(dāng)屬軟件框架中的文檔-視圖模型,微軟公司在進(jìn)行C++開(kāi)發(fā)時(shí)便運(yùn)用了這種模型。文檔指的是軟件系統(tǒng)中存儲(chǔ)數(shù)據(jù)的部分,而視圖則是一種表現(xiàn)數(shù)據(jù)的形式,一個(gè)文檔能夠反映多個(gè)視圖。此時(shí),如果修改了視圖中的信息,則文檔中相應(yīng)的信息也會(huì)被改變,之后文檔會(huì)與其他視圖進(jìn)行信息交互,使其他視圖中的信息也會(huì)得到同步修改。一個(gè)文檔可以有多種表現(xiàn)形式。這種模型不但給使用者帶來(lái)了便利,且單純就研發(fā)角度看,這種方式的效率是相當(dāng)高的。對(duì)文檔類和視圖類進(jìn)行分離,各自處理其對(duì)應(yīng)的文件,這就大大地縮短了處理時(shí)間。
除此之外,雙層技術(shù)還有一個(gè)大的用途,即客戶端-服務(wù)器模式不僅僅是使用者信息交流的地點(diǎn),也是展示數(shù)據(jù)的關(guān)鍵節(jié)點(diǎn),不同的客戶端借助專用網(wǎng)絡(luò)與多個(gè)服務(wù)器進(jìn)行信息交互。此時(shí),服務(wù)器一端被看作服務(wù)節(jié)點(diǎn),它的主要工作即是收集每個(gè)客戶端的請(qǐng)求,同時(shí)進(jìn)行數(shù)據(jù)反饋,其經(jīng)典應(yīng)用就是客戶端網(wǎng)絡(luò)游戲這種類型。這種方式的好處之一是可以極大降低客戶端的計(jì)算需求。此時(shí),計(jì)算都是由服務(wù)器來(lái)完成的,服務(wù)器在運(yùn)行出結(jié)果之后,會(huì)以最快的速度傳輸?shù)娇蛻舳恕?/p>
不可不提到的是,這種雙層模式也有一些硬件要求,比如對(duì)網(wǎng)絡(luò)帶寬就有一定的限制條件,與此同時(shí),客戶端變多的情況下,服務(wù)器就會(huì)超負(fù)荷運(yùn)行。為了解決這種問(wèn)題,研發(fā)人員就開(kāi)發(fā)出了三層技術(shù)。
該技術(shù)也是在前者基礎(chǔ)上研發(fā)的,即其基本原理與雙層技術(shù)基本相同。在雙層技術(shù)中,服務(wù)器端的計(jì)算壓力是很大的,為了減輕這種計(jì)算壓力,三層技術(shù)將服務(wù)器端又分了兩層,即界面層-業(yè)務(wù)邏輯層-數(shù)據(jù)層三層。業(yè)務(wù)邏輯層的設(shè)置就是為了緩解客戶端和服務(wù)器端的計(jì)算壓力。此外,還包括處理系統(tǒng)剩余計(jì)算的功能,不僅如此,它還有一個(gè)連接功能,使得界面層與數(shù)據(jù)層能有一個(gè)較好的信息交互。界面層的作用就是管理用戶交互界面,而數(shù)據(jù)層的存在僅僅是為了起存取數(shù)據(jù)之用。
隨著應(yīng)用環(huán)境的復(fù)雜化,三層技術(shù)已然不能滿足生產(chǎn)生活的需要,層數(shù)又需要增加。與前者類似,四層技術(shù)的改變就是加了封裝層,這個(gè)封裝層的作用就是對(duì)計(jì)算任務(wù)進(jìn)行分類,然后分配給相應(yīng)的處理系統(tǒng)。形成存儲(chǔ)層-業(yè)務(wù)邏輯層-數(shù)據(jù)層-Web層四層結(jié)構(gòu)。計(jì)算任務(wù)較小時(shí)會(huì)由數(shù)據(jù)層直接處理,如果計(jì)算任務(wù)十分繁重,則請(qǐng)求就會(huì)發(fā)至業(yè)務(wù)邏輯層來(lái)進(jìn)行處理。這樣做的好處就是能夠?qū)崿F(xiàn)資源的合理利用,按需分配,提升效率。就目前而言,三層技術(shù)還是占據(jù)著市場(chǎng)的主導(dǎo),然而,在云計(jì)算和移動(dòng)互聯(lián)網(wǎng)技術(shù)推動(dòng)下,商業(yè)計(jì)算需求必然會(huì)急速增長(zhǎng),四層技術(shù)就必然會(huì)被重點(diǎn)使用。
在可以預(yù)見(jiàn)的未來(lái),云計(jì)算必然是主流發(fā)展趨勢(shì),此時(shí),兩大要素網(wǎng)絡(luò)和云都將發(fā)揮重要的作用。在今后云端將具有計(jì)算功能,處理所需的一切數(shù)據(jù),客戶端的核心就是一個(gè)瀏覽器,系統(tǒng)將利用它來(lái)完成計(jì)算任務(wù)。為了使得計(jì)算需求可以科學(xué)地分配到各個(gè)位置,對(duì)于系統(tǒng)的分層處理就顯得不可或缺了,按需分配,在各種不同的云中節(jié)點(diǎn)進(jìn)行相關(guān)計(jì)算。
[1]張智慧.多層模型在嵌入式軟件開(kāi)發(fā)中的應(yīng)用研究[J].計(jì)算機(jī)時(shí)代,2017(04).
[2]楊柯.分層技術(shù)在計(jì)算機(jī)軟件開(kāi)發(fā)中的應(yīng)用效果分析[J].軟件,2013(10).
[3]洪新軍.插件技術(shù)、分層技術(shù)應(yīng)用于計(jì)算機(jī)軟件技術(shù)中的價(jià)值探討[J].電腦編程技巧與維護(hù),2016(02).
TP311.52
A
10.15913/j.cnki.kjycx.2018.01.159
2095-6835(2018)01-0159-02
〔編輯:張思楠〕