游 琪
(廣東科學技術職業學院,廣東 珠海 519090)
多核環境下內存數據庫并發調度技術優化研究
游 琪
(廣東科學技術職業學院,廣東 珠海 519090)
對多核環境下內存數據進行并發調度,可以減少計算機宕機次數和數據切換時時間,提高數據并發調度精度,增加數據操作平穩性;當前的內存數據并發調度方法是利用PrebuiltTrigger對內存數據進行并發調度,在調度過程中,沒有設定具體的內存數據調度目標,導致內存數據庫中的數據因此錯亂無序,存在數據并發調度精度低的問題;為此,提出一種基于Linux的多核環境下內存數據并發調度優化方法;該方法首先采用IACT算法對影響調度進行的數據和內存數據庫中相似或重復數據進行清洗,然后以清洗的數據為基礎,利用啟發式算法對其進行數據特征選取,依據多屬性決策理論對內存數據并發調度的最優路徑屬性權重集合進行計算,以其結果為依據,計算調度最優路徑的偏差值,最后利用最小偏差值,建立調度最優路徑線性規劃模型,對每條調度路徑的綜合決策屬性值進行排序,由此得到調度的最優路徑,完成對多核環境下內存數據的并發調度;實驗結果證明,所提方法可以對多核環境下內存數據進行高效率地并發調度,提高了數據調度精度,增加了內存數據的可循環利用性,為低開銷的內存數據調度提供了支撐。
多核環境;內存數據庫;并發調度;技術優化
當前,隨著無線網絡和科學技術的不斷發展,多核環境下的網絡內存數據大范圍的應用于企業發展、教育教學、政府辦公、體育競賽、醫療服務、電網電信、娛樂餐飲等多個領域[1],在各個領域的迅速發展中起不可缺失的作用。多核環境下內存數據的并發調度不僅可以增加內存數據庫的使用率,而且還可以提高無線網絡的整體性能和網絡使用壽命。因此,多核環境下內存數據并發調度受到了人們的廣泛關注和高度重視[2-3]。由于多核環境下內存數據具有靈活性、高效性、可調節性等特點,所以需要對其進行調度[4]。多數內存數據調度方法在進行內存數據調度時,無法對其進行高兼容性、高精度,低誤差率地調度,導致多核環境下內存數據調度時,往往會出現數據丟失、數據調度路徑不明確、調度用時較長等問題[5]。在該種情況下,如何提高內存數據的查準率與查全率,減少調度時所用時間和調度精度偏差成為了亟待解決的問題。而基于Linux的多核環境下內存數據并發調度優化方法,可以對內存數據進行全方位、立體化地并發調度,是解決上述問題的有效途徑[6],受到了數據調度研究人員的高度重視和頻繁研究,成為了多核環境下內存數據并發調度研究專家學者的必修課題,與此同時也出現很多良好的成果[7]。
文獻[8]提出了一種基于MySQL的多核環境下內存數據并發調度方法。該方法為了保證數據并發調度的精度,利用MySQL并發控制機保障內存數據調度的可行性,然后采用LnnoDB引擎激活內存數據并發調度器,最后依據并發調度器完成對內存數據的并發調度。該方法在對內存數據的并發調度實現中較為簡單,但是存在調度時間較長的問題。文獻[9]提出了一種基于SDN的多核環境下內存數據并發調度方法。該方法首先通過最優調度路徑監測模塊,對調度的最優路徑進行實時監測,然后利用SDN技術根據調度緩存數據所占的比率和調度路徑流量對內存數據庫傳輸的數據進行調度,由此完成對多核環境下內存數據的并發調度。該方法雖然用時較短,但是存在內存數據并發調度精度低的問題。文獻[10]提出了一種基于網絡編碼的多核環境下內存數據并發調度方法。該方法先利用網絡編碼將內存數據庫中的數據節點進行排序,然后采用網絡編碼中的P2P流媒體推拉,與數據并發調度器進行連接,并將其轉向數據庫調度節點,最后依據customr2完成對多核環境下內存數據的并發調度。該方法雖然調度效率較高,但是在進行并發調度時數據庫數據丟包率較大。
針對上述產生的問題,提出一種基于Linux的多核環境下內存數據并發調度優化方法。該方法首先利用IACT算法對影響并發調度的內存數據,和內存數據庫中的相似或重復的數據進行清洗,然后以清洗的數據為基礎,采用啟發式算法進行數據特征選取,最后依據多屬性決策理論確定數據調度的最優路徑,完成基于Linux的多核環境下內存數據并發調度。
為了保障多核環境下內存數據的并發調度速度更快,采用IACT算法對內存數據進行清洗,清洗過程中首先對影響并發調度的數據進行清洗,然后清洗內存數據庫中的相似或重復的數據,由此完成對內存數據庫中數據的清洗。
假設從內存數據庫屬性中清洗出一部分對數據的并發調度有影響的數據屬性,達到改善數據庫并發調度質量的目的。則清洗公式為:
SGF(z,x,c)=A(c/x)-A{c/x∪z}
(1)
其中:SGF(z,x,c)代表清洗值,A代表數據庫清洗參數,z代表數據庫中某一數據屬性值,x代表數據庫屬性集,c代表數據庫清洗決策屬性值。在數據清洗過程中,若SGF(z,x,c)值越大,則數據屬性z對數據庫清洗決策屬性c就越重要。相反,則數據屬性z對數據庫清洗決策屬性c就越就越不重要。此時設定閾值f,當SGF(z,x,c)≥f時,保留數據屬性z,當SGF(z,x,c) 以上述說明為依據,對內存數據庫中的相似或重復數據進行清洗,清洗過程中,兩個或幾個數據是否重復或相似,需要通過數據屬性匹配決定,利用Smith-Waterman算法對內存數據庫中數據的屬性相似度進行匹配,匹配公式為: (2) 其中:T代表內存數據庫中數據的屬性相似度匹配值,i代表內存數據庫中數據屬性個數。 由此設定控制內存數據庫中數據相似率和重復率的閾值,該閾值計算公式為: (3) 其中:W代表控制內存數據庫中數據相似率和重復率的閾值,δ代表內存數據清洗閾值。實驗證明,該閾值范圍在0.64~0.65時,對內存數據庫中的相似數據和重復數據清洗的效率最高。 利用相似數據和重復數據清洗效率的指標來衡量相似數據和重復數據的清洗效率,該指標包括數據召回率和數據誤識別率。其中,將數據召回率定義為:內存數據庫中重復數據和相似數據中被清洗的記錄,占內存數據庫中真正含有重復數據和相似數據記錄的百分比,以下敘述將內存數據中重復數據和相似數據統稱為重復數據。則召回率表達式為: (4) 將數據誤識別率定義為內存數據庫中被錯誤清洗的數據占所有重復數據記錄的百分比,表達式為: (5) 假設,數據召回率大于數據誤識別率,則說明對內存數據庫中的相似數據和重復數據清洗的足夠徹底,假設,數據召回率小于數據誤識別率,則說明對內存數據庫中的相似數據和重復數據清洗的不夠徹底,此時需要重復數據清理參數α對數據誤識別率進行控制,其表達公式為: (6) 其中:Q代表重復數據清理參數α對數據誤識別率控制值,綜上所述,完成對內存數據的清洗。將清洗過的內存數據利用啟發式算法進行數據特征選取,具體過程如下所示。 假設,G代表內存數據特征集,其中是存放數據特征子集的,U和O分別代表內存數據庫中數據特征條件屬性集和數據特征決策屬性集,V代表內存數據庫中即將進行特征選取的數據集,B代表內存數據庫中數據特征不相容記錄集,ξ代表數據特征不相容記錄閾值。對以上所給數據進行以下操作。 1)對內存數據庫中數據特征不相容記錄集B進行計算,將記錄集中大于等于ξ的記錄加至POSU(O)中,POSU(O)代表內存數據庫中數據特征決策屬性集對數據特征條件屬性集的影響值; B=V-POSU(O) (7) 2)若POSG(O)=POSU(O),則G中的數據特征就是內存數據庫中將要選取的數據特征,數據特征選取參數λ可以控制POSG(O)和POSU(O)的相等,由此給出關于λ的公式: (8) 其中:M代表使上述等式成立的決策值,由λ的控制,使POSG(O)=POSU(O),G中的數據特征就是將要選取的數據特征,完成對內存數據的特征選取,當前的調度方法對數據特征進行選取時,沒有設定決策值,導致數據特征選取不明確,此步驟是對當前數據調度中數據特征選取進行了優化。 利用多屬性決策理論對內存數據的并發調度最佳路徑進行選擇,過程中首先對內存數據并發調度的最優路徑屬性權重信息集合進行計算,以計算結果為依據,計算數據調度最優路徑的偏差值,然后利用最小偏差值,建立數據調度最優路徑線性規劃模型,最后對每條數據調度路徑的綜合決策屬性值進行排序,得到內存數據調度的最佳路徑,完成多核環境下內存數據的并發調度。 假設內存數據并發調度的路徑有j條,將2.1中數據特征相似或相同的數據進行合并,本文不對特征相似數據的合并進行研究。為了使不同的特征數據類在進行數據并發調度時,并發調度路徑都能達到最優,令φ代表內存數據并發調度的最優路徑屬性權重信息集合,則: (9) 其中:k代表內存數據庫中特征相似或相同的數據進行合并的個數,t代表數據調度最佳路徑的系數,e代表內存數據并發調度中一個參數,實驗證明,此參數取值在0.04~0.05間,數據調度誤差率最小。由內存數據并發調度最優路徑屬性權重信息集合φ為依據,計算每個相同特征數據類的并發調度最優路徑偏差值: φ (10) 其中:R代表相同特征數據類的并發調度路徑偏差值,將內存數據并發調度最優路徑偏差值降到最小,建立并發調度最優路徑線性規劃模型: (11) 其中:H代表內存數據調度最優路徑線性規劃模型,l代表內存數據庫并發調度最優路徑偏差值降到最小的計算次數,利用系數法將此模型簡化為非線性最優路徑規劃模型,且該模型有最優解,也就是內存數據并發調度的最優路徑。假設其最優解的屬性權重值為(s1,s2,…,sn),根據內存數據庫中數據本身的屬性權重和相似特征數據類屬性權重,對于內存數據并發調度路徑的認識值,利用平均算子建立每條內存數據并發調度路徑的屬性值。 (12) 其中:η代表利用平均算子建立每條數據調度路徑的屬性值,n代表數據并發調度最優路徑控制閾值,將權重值(s1,s2,…,sn)代入至上式進行迭代計算,可獲得每條數據調度路徑的綜合決策屬性值,對這些綜合決策屬性值進行排序便可以得到內存數據并發調度的最優路徑。綜2.1和2.2所述,完成了多核環境下內存數據的并發調度。 為了證明基于Linux的多核環境下內存數據并發調度方法的整體有效性,需要進行一次仿真實驗。在MATLAB的環境下搭建內存數據并發調度實驗仿真平臺。實驗數據取自于網絡數據調度研究所的10臺計算機,利用本文所提方法對10臺計算機中的內存數據進行并發調度,由此觀察基于Linux的多核環境下內存數據并發調度方法的整體性能。表1為文獻[8]所提方法、文獻[9]所提方法和文獻[10]所提方法與本文所提方法,在數據量(萬個)相同時,內存數據庫中的數據清洗時間(s)的對比。 表1 不同方法下數據清洗時間對比 分析表1可知,文獻[8]、文獻[9]和文獻[10]與本文所提方法在數據清洗所占時間上差距很大,在相同的數據下,本文所提方法數據清洗時間明顯低于文獻所提方法,這種主要是因為本文方法在進行數據清洗時,為了使內存數據清洗時間盡量減少,采用IACT算法對內存數據進行清洗,清洗過程中首先對影響并發調度的數據進行清洗,然后對內存數據庫中的相似或重復的數據進行清洗,所以從根本上大大減少了數據清洗時間,證明了本文所提方法的有效性。表2是利用本文方法對內存數據進行特征選取時,數據量(萬個)與數據特征選取時間(s)的關系描述。 表2 數據量與數據特征選取時間關系 通過表2可知,數據特征選擇時間雖然隨著內存數據量的增加也在不斷增加,但是數據量的提高并沒有對數據特征選擇時間產生很大影響,在數據量為1500萬個時數據特征選擇時間開始按照1 s的速度增加,說明了利用啟發式算法進行數據特征選取為數據并發調度節省了時間,證明了本文所提方法的整體有效性,可實踐性和兼容性較強。為了說明本文所提方法的整體性能和可行性,δ代表數據清洗閾值,觀察該閾值取值范圍對數據清洗效率(%)的影響,圖1為數據清洗閾值對數據清洗效率(%)影響的描述。 圖1 數據清洗閾值對數據清洗效率的影響 由圖1可知,數據清洗閾值δ的取值范圍對數據清洗效率的高低有很大影響,數據清洗閾值在0.64-0.65時,數據清洗效率相對較高,相比之下,當數據清洗參數為0.67時,雖然數據清洗量在2000萬個之前數據清洗效率曲線呈上升趨勢,但數據清洗效率曲線后半段呈下滑趨勢,明顯低于閾值在0.64-0.65時的數據清洗效率,進一步證明了本文所提方法的良好有效性。圖2是內存數據并發調度參數e取值范圍對數據調度誤差率(%)的影響。 分析圖2可知,數據調度誤差率的曲線呈不斷波動的趨勢,但當內存數據并發調度參數e取值范圍在0.04~0.05間時,數據調度誤差率明顯處于最低,因為在數據調度的最優路徑選擇時,對內存數據并發調度的最優路徑屬性權重信息集合進行了計算,而在計算中,調度參數e對調度的誤差率有很大 圖2 數據調度參數取值范圍對數據調度誤差率影響 影響,尤其在0.04-0.05時調度誤差率最小。證明了本文所提方法的可實現性。 仿真實驗證明,所提方法可以高精度地對多核環境下內存數據進行并發調度,減少了數據的操作時間,增加了內存數據庫的存儲容量,提高了數據運行的安全性和兼容性,降低了內存數據并發調度的誤差率,對該領域的研究發展有著重要的借鑒意義。 采用當前方法對多核環境下內存數據進行并發調度時,無法對內存數據進行低誤差率、高效、全面、安全地調度,存在內存數據調度時數據丟失嚴重,相似數據重復調動,不同類型數據調度精度低等問題。本文提出一種基于Linux的多核環境下內存數據并發調度方法。并通過仿真實驗證明,所提方法可以高精度地對多核環境下內存數據進行并發調度,可實踐性較高,為該領域的專家學者在數據并發調度研究,提供了強有力的依據,為互聯網的后續發展做出了杰出的貢獻。 [1] 龐明寶,陳茂林,張 寧.基于MAST的智慧公交優化調度研究[J].交通運輸系統工程與信息,2017,17(1):143-149. [2] 喬 梁,付正鑫,許 懿,等.梯級水電站聯合優化調度系統的開發與應用[J].水利水電技術,2014,45(10):97-100. [3] 王志淋,李新明.跟蹤與數據中繼衛星系統資源調度優化問題[J].中國空間科學技術,2015,35(1):36-42. [4] 徐迭石,劉勝輝,馬 超,等.大數據環境下MES作業計劃與調度能力云服務化研究[J].計算機工程與科學,2016,38(4):624-633. [5] 丁盛舟,李永光,杜 鵬,等.基于CIM/E的電網調度系統數據質量優化方法[J].電力系統保護與控制,2016,44(3):129-134. [6] 郝 亮,崔 剛,曲明成,等.成本約束下的云計算能耗資源調度優化算法[J].高技術通訊,2014,24(5):458-464. [7] 劉明周,張 璽,劉從虎,等.不確定環境下再制造加工車間生產調度優化方法[J].機械工程學報,2014,50(10):206-212. [8] 余東平,張劍峰,王 聰,等.多路并發傳輸中數據調度算法的優化[J].計算機應用,2014,34(5):1227-1231. [9] 徐奕奕,唐培和,陳 陽.一種基于節點博弈的分層式數據網格資源調度優化策略[J].控制工程,2014,21(6):925-929. [10] 戰 非.高校云數據中心基于蟻群算法的資源調度研究[J].電子設計工程,2016,24(16):18-21. Multicore Environment Memory Database Technology on the Concurrent Scheduling Optimization You Qi (Guangdong Polytechnic of Science and Technology,Zhuhai 519090,China) To multicore chips to concurrent scheduling, memory data can reduce the number of computer downtime and data when switching time, improve the accuracy of data concurrent scheduling, increase the smoothness of data operation. The current memory data concurrent scheduling method is to use PrebuiltTrigger to concurrent scheduling of data memory, in the process of scheduling, memory data scheduling goal is set, lead to memory data in the database disorder disorderly, therefore, has the problem of low data concurrent scheduling precision. For this, put forward a multi-core environment based on Linux memory data concurrent scheduling optimization method. This method firstly adopts IACT algorithm affect scheduling and memory of data in the database of similar or repeated data cleaning, and then on the basis of data cleaning, using heuristic algorithm for feature selection, data on the basis of the theory of multiple attribute decision making memory data concurrent scheduling of the optimal path through the calculation of the attribute weights are set based on the results, calculation of dispatching optimal path deviation, the use of the minimum deviation, scheduling the optimal path to the linear programming model is established, and the path to each of the scheduling of comprehensive decision attribute value to sort, the resulting scheduling optimal path, complete the memory data concurrent scheduling in multi-core environment. The experimental results show that the proposed method can memory multicore environment data efficiently concurrent scheduling, improved the precision of data scheduling, increased the memory data of recycled, provides low overhead of memory data scheduling with support. multicore environment; memory database; concurrent scheduling;technology optimization 2017-04-12; 2017-04-27。 廣東省高職教育一類品牌專業資助(2016gzpp007)。 游 琪(1981-),女,江西九江人,碩士研究生,講師,主要從事計算機應用、數據庫方向的研究。 1671-4598(2017)08-0234-03 10.16526/j.cnki.11-4762/tp.2017.08.060 TP393 A


1.2 內存數據并發調度最優路徑



2 仿真實驗結果與分析




3 結束語