張 彤,嚴(yán) 南
(成都理工大學(xué)工程技術(shù)學(xué)院,四川 樂山 614000)
隨著互聯(lián)網(wǎng)技術(shù)的進步,從最初的文本傳輸?shù)侥壳暗臄?shù)據(jù)多功能處理,對網(wǎng)絡(luò)服務(wù)和訪問端的技術(shù)要求不斷提高[1-3]。就數(shù)據(jù)訪問框架來說,早期數(shù)據(jù)訪問框架計算能力較差,難以滿足需求,為此國內(nèi)外研究學(xué)者對數(shù)據(jù)訪問框架擴展點進行了深入研究。
在國外研究中,通過使用SNS、RSS等應(yīng)用,對框架進行重組,使網(wǎng)絡(luò)訪問框架的運算速度得到提高[4-6]。國內(nèi)研究者也根據(jù)ASP.NET提出了Atlas計算,實現(xiàn)了框架中的Web服務(wù)集成,擴展了數(shù)據(jù)訪問框架的應(yīng)用面。后續(xù)研究者發(fā)現(xiàn)可以通過在框架中添加可以支撐擴展,信息數(shù)據(jù)分配的擴展點,分擔(dān)框架的運算壓力。對此通過定義虛函數(shù),并利用虛函數(shù)的覆蓋對框架進行擴展。除此之外,還有學(xué)者提出了利用遺傳算法的繼承機制,實現(xiàn)代碼的復(fù)用,以此來建立框架擴展點[7-9]。
雖然上述方法可以實現(xiàn)對框架擴展點的有效構(gòu)建,但是由于對擴展點之間的協(xié)同運算與內(nèi)部設(shè)計考慮不足,存在擴展點運算速度較慢和精度較低的問題,研究成果存在局限性,有待提升。為此基于Spring的輕量級數(shù)據(jù)訪問框架擴展點研究方法,以提升擴展點的協(xié)同運算效果為目標(biāo)進行方法設(shè)計,通過框架擴展點并行辨識實現(xiàn)對擴展點的運算協(xié)同效果,優(yōu)化了擴展點的運算能力,并通過數(shù)據(jù)訪問框架分配準(zhǔn)確率和數(shù)據(jù)訪問框架運算時延對比驗證了該方法的有效性。
Spring作為開源框架,框架在設(shè)計最初是為了對企業(yè)系統(tǒng)進行簡化[10]。由于該框架具備分層架構(gòu),同時在架構(gòu)中可以自由使用組件,具有較強的兼容性[11-12]。因此,本文選擇Spring框架作為訪問框架拓展點的開發(fā)框架。在框架的視圖層采用Ajax進行開發(fā),首先對其中的XMLHttpRequest進行初始化,并通過該對象使用Ajax程序在其中進行數(shù)據(jù)層面的交換,對象狀態(tài)包括0未初始化、1讀取中、2已讀取、3交互中、4完成。完成后通過responstText將對象進程導(dǎo)入至框架文本中。
通過開發(fā)將其作為訪問框架的主體,為了提高訪問框架的處理能力和客戶的對接能力,在其中建立擴展點,框架擴展點如圖1所示。
圖1 框架擴展點示意圖
該框架中的擴展點具有靈活點,用于框架中業(yè)務(wù)的實現(xiàn),并快速構(gòu)造領(lǐng)域特性。由于該框架屬于開源框架,在進行框架擴展點植入時,適應(yīng)性更強,框架本身具有多運算層,僅需在框架中添加等參單元即可完成擴展。
在框架拓展點上建立等參單元,首先需要確定其中的積分方案,確定拓展點中的積分點個數(shù)、坐標(biāo)以及權(quán)重等,并計算積分點中的形函數(shù)以及相對應(yīng)的形函數(shù)偏導(dǎo)數(shù)。將拓展點中積分點的單元剛度矩陣設(shè)為
Ke,r=H(BTDBdet(J))(i,j,k)
(1)
則得出
(2)
式中,Ni代表在第i個節(jié)點內(nèi)的形函數(shù);f1,i、f2,i、f3,i代表在該節(jié)點下,ξ、η、ζ的偏導(dǎo)數(shù);(ξ、η、ζ)代表單元內(nèi)的局部坐標(biāo);n代表單元內(nèi)的節(jié)點個數(shù)。
計算積分點處的形函數(shù)和整體坐標(biāo)偏導(dǎo)數(shù),形成矩陣,并計算其中的雅克比逆矩陣,獲得擴展點的整體坐標(biāo),組成擴展點矩陣B,公式為
(3)
對擴展點內(nèi)矩陣運算進行循環(huán),并累加矩陣中積分點中的單元靜剛度與質(zhì)量矩陣,并確定擴展點內(nèi)的積分點個數(shù)
(4)
式中,s代表積分點個數(shù)。為了實現(xiàn)結(jié)構(gòu)物理參數(shù)的辨識,運用PMPSCO算法對擴展點內(nèi)添加適應(yīng)度函數(shù)。在框架結(jié)構(gòu)參數(shù)的識別中,在不同的適應(yīng)度函數(shù)影響下,擴展點的計算精度以及對框架的影響均不同。考慮到其中動力時程的相應(yīng)情況,需要在適應(yīng)度函數(shù)中進行抗噪性和峰值特性的識別,并保證參數(shù)可以收集數(shù)據(jù)并對其中的變形數(shù)據(jù)進行調(diào)整。因此,在構(gòu)筑適應(yīng)度函數(shù)時需要進一步并行辨識。
在框架擴展點中添加的適應(yīng)度函數(shù)如下
(5)
式中,F(xiàn)a代表添加的適應(yīng)性函數(shù);amea(i,j)代表在框架擴展點結(jié)構(gòu)實測中第i時刻的第j測點的速度響應(yīng);amum(i,j)代表在框架擴展點下預(yù)測的第i時刻第j測點的響應(yīng)速度;D代表測點總數(shù);L代表測量數(shù)據(jù)的總長度。
當(dāng)添加的適應(yīng)度函數(shù)增大時,代表當(dāng)前擴展點內(nèi)節(jié)點代表的結(jié)構(gòu)參數(shù)接近真實值,在線性結(jié)構(gòu)中采用Newmark積分法預(yù)測加速度的響應(yīng)值,對擴展點初始時刻的位移、速度以及加速度的過程提供激勵荷載,并逐步迭代得到后續(xù)加速度方法。對輸入至擴展點的待識別編碼進行并行辨識,辨識中的參數(shù)包括子種群數(shù)量m、子種群大小以及最大迭代次數(shù)。并對其中的種群參數(shù)進行初始化,在擴展點中隨機產(chǎn)生m′個子種群,為了提高擴展點的運算協(xié)同效果,對擴展點進行上下分解,優(yōu)化擴展點的運算能力。
目前框架的拓展點協(xié)同能力不強,導(dǎo)致運算效率低下。因此,運用MPSCO算法對拓展點的協(xié)同運算進行優(yōu)化。首先將每個拓展點的m個子群進行上下分解,對上層中子種群的節(jié)點在最優(yōu)位置下進化,并保證其收斂速度。對下層種群內(nèi)的節(jié)點進行最優(yōu)收斂進化,保證節(jié)點可以更好地利用運算空間,上下層的子種群速度與位置的更新如下公式所示
(6)
(7)
(8)
式中,si代表設(shè)定的優(yōu)良節(jié)點數(shù)量,zj代表設(shè)定的優(yōu)良節(jié)點位置。
對輕量級數(shù)據(jù)訪問框架擴展點運算過程進行總結(jié),得出具體的流程如圖2所示。
圖2 輕量級數(shù)據(jù)訪問框架擴展點運算流程
為了驗證基于Spring的輕量級數(shù)據(jù)訪問框架擴展點研究方法的可行性,設(shè)計實驗判斷擴展點的性能,驗證擴展點的有效性,并分析在該擴展點下框架訪問數(shù)據(jù)的處理速度與準(zhǔn)確率。為了驗證擴展點設(shè)計的有效性,在框架上分別采用基于SNS的框架擴展點方法(方法1)和基于ASP.NET的框架擴展點方法(方法2)以及無擴展點框架進行實驗對照。
實驗將PC機主機作為訪問框架的搭載主機,實驗中搭載主機設(shè)備環(huán)境,采用內(nèi)存型號為紫光國芯DDR4 8G,內(nèi)存容量8GB,傳輸類型為DDR4的設(shè)備。設(shè)備CPU采用Intel i5-10600K,CUP主頻為4.7GHz,并選用移動硬盤來保存數(shù)據(jù),型號為WDBYVG0010BRD-CESN,容量為1TB,接口采用USB3.0型號。實驗中網(wǎng)絡(luò)環(huán)境為帶寬100M的局域網(wǎng)絡(luò),操作系統(tǒng)采用Windows 10系統(tǒng),Spark版本為1.1.0。
實驗中使用Spring框架開發(fā)的訪問框架,為了模擬使用中對框架工作模式的多種要求,建立了四種框架工作模式。Template模式通過使用繼承的方式,對輸入數(shù)據(jù)串進行抽象異構(gòu)來實現(xiàn)界面擴展。Strategy模式通過面向接口的編程,來實現(xiàn)訪問數(shù)據(jù)的動態(tài)選擇。Controller模式則通過結(jié)合框架邏輯,對進入框架的訪問數(shù)據(jù)進行邏輯分類,實現(xiàn)動態(tài)擴展。Decrotor模式通過對輸入數(shù)據(jù)的角色定義,子類的動態(tài)附加功能,實現(xiàn)數(shù)據(jù)串的動態(tài)增加。實驗過程中,數(shù)據(jù)串的分布變化情況如圖3所示。
圖3 數(shù)據(jù)串分布變化情況
在實驗中,添加了多種數(shù)據(jù)訪問類型,并通過設(shè)計的輕量級數(shù)據(jù)訪問框架擴展點對用戶請求數(shù)據(jù)進行分類,實驗中使用二進制的代碼生成多目的數(shù)據(jù)訪問串,實驗中使用的數(shù)據(jù)串如下表1所示:
表1 實驗中使用的數(shù)據(jù)
通過使用上表1中的數(shù)據(jù)串,導(dǎo)入至數(shù)據(jù)訪問框架中,并對數(shù)據(jù)串在框架中的訪問運算情況進行檢測,通過分析運算的準(zhǔn)確度與運算時延來判斷方法的優(yōu)劣性。
根據(jù)上述實驗環(huán)境與參數(shù)設(shè)置,進行具體的實驗操作。使用上述數(shù)據(jù)串進行訪問,并判斷擴展點對不同數(shù)據(jù)串的功能分配與相關(guān)運算情況進行分析,分配運算的準(zhǔn)確度情況實驗結(jié)果如下表2所示。
表2 不同方法數(shù)據(jù)訪問框架分配準(zhǔn)確率對比
在表2中,框架一中添加的是本文設(shè)計的擴展點,框架二添加的是方法1設(shè)計的擴展點,框架三添加的是方法2設(shè)計的擴展點,框架四是不使用擴展點的數(shù)據(jù)訪問框架。根據(jù)表2中可以看出,在不使用擴展點的框架下,數(shù)據(jù)訪問的分配準(zhǔn)確率明顯低于其它框架。同時本文框架的準(zhǔn)確率對比其它框架準(zhǔn)確度更高。說明本文方法得到的擴展點運算結(jié)果更加準(zhǔn)確,可靠性更高。這是由于該方法在適應(yīng)度函數(shù)中進行了抗噪性和峰值特性識別操作,可以實現(xiàn)對其中變形數(shù)據(jù)的有效調(diào)整。
為了提高實驗結(jié)果的可靠性,在進行運算速度的對比上,在四種不同的數(shù)據(jù)串中,分別提取3個數(shù)據(jù)串,并對比不同框架下的運算時延。實驗結(jié)果如下表3所示:
表3 不同方法的數(shù)據(jù)訪問框架運算時延對比
通過表3結(jié)果可以看出,在運用本文設(shè)計的框架后,運行實驗對比其它框架時延明顯降低,由于本文方法將擴展點進行了協(xié)同運算優(yōu)化,使擴展點內(nèi)的種群運算速度提高,從而運算效率得到了提升。
通過表2和表3中的實驗結(jié)果可以證明,本文設(shè)計的輕量級數(shù)據(jù)訪問框架擴展點具有較高的實際應(yīng)用能力。
為了解決傳統(tǒng)方法存在的擴展點運算速度較慢和精度較低的問題,提出基于Spring的輕量級數(shù)據(jù)訪問框架擴展點研究方法。通過Spring開源框架,開發(fā)數(shù)據(jù)訪問框架擴展點,并對擴展點進行協(xié)同運算優(yōu)化改良。實驗結(jié)果證明本文設(shè)計的框架擴展點,對比其它擴展點,運算效率和精度更高。但在本文設(shè)計中,初衷是設(shè)計應(yīng)用在輕量級的數(shù)據(jù)訪問框架下的擴展點。因此擴展點對運算量較大的企業(yè)級訪問框架中的適用性尚未考慮。在未來研究中,可對其進行改進并進行實驗,驗證擴展點在數(shù)據(jù)量龐大的數(shù)據(jù)訪問框架中的使用情況。