郭振華,孫艷青,王中興
(1.北京國電通網(wǎng)絡(luò)技術(shù)有限公司,北京 100070;2.北京中電普華信息技術(shù)有限公司,北京 102218)
當(dāng)前黨建工作管理進入信息化時代,線上黨政收費平臺正在積極開發(fā)與優(yōu)化中。以信息化手段構(gòu)建新型黨政收費管理平臺,與國家倡導(dǎo)的加強黨政建設(shè)工作信息化管理步調(diào)一致[1]。現(xiàn)有黨政收費平臺基本支持全國黨員、基層黨組織的黨費收繳功能,創(chuàng)造了便捷的黨費查詢和交納服務(wù)[2-3]。不足的是,黨政收費平臺功能單一,缺少黨建工作信息查詢、黨建熱點消息推送等功能。為滿足黨員與基層黨組織的信息管理、熱點信息查詢、黨費繳納等需求,研究基于并行式頻繁項集挖掘技術(shù)開發(fā)高效率的黨政收費管理平臺,在保障基本黨政收費信息管理基礎(chǔ)上,集成黨建學(xué)習(xí)、黨建熱點消息推送等功能,提高信息傳播速度、擴大黨建學(xué)習(xí)信息覆蓋面。
利用云計算技術(shù)開發(fā)黨政收費管理平臺,基于云計算虛擬化技術(shù)統(tǒng)一調(diào)度管理虛擬資源[4]。同時,應(yīng)用并行式頻繁項集挖掘算法對黨政收費信息、黨建工作信息進行分類處理[5],為黨員及基層黨組織提供高效率的黨政信息服務(wù)。該平臺一方面解決了平臺軟硬件資源統(tǒng)一管理問題;另一方面高效整合了黨政收費信息,向基層黨組織提供黨費管理與黨建工作信息的服務(wù),實現(xiàn)了基層黨員教學(xué)信息資源數(shù)據(jù)共享。利用云計算技術(shù)構(gòu)建的黨政收費管理云平臺架構(gòu)如圖1 所示。
圖1 黨政收費管理云平臺架構(gòu)
黨政收費管理云平臺由用戶接口層、應(yīng)用服務(wù)層、云計算平臺層以及最底端的基礎(chǔ)資源層四個層次構(gòu)成[6]。其中,應(yīng)用服務(wù)層集成了頻繁項集挖掘算法,以實現(xiàn)黨政收費信息與黨建工作信息的智能化管理等服務(wù)功能。云平臺各層次功能設(shè)計如下:
1)用戶接口層。用戶通過計算機端、智能終端等設(shè)備進行資源獲取,經(jīng)過身份認(rèn)證后登錄到黨政收費平臺,基于自身分配權(quán)限獲取信息列表[7],在黨政服務(wù)中心獲取相應(yīng)的服務(wù)資源,實現(xiàn)繳費、教育學(xué)習(xí)、信息瀏覽功能。用戶接口層從類別上具體分為控制中心、客服中心、黨政服務(wù)中心,客服中心由管理者、決策者、專業(yè)用戶群組成。
2)應(yīng)用服務(wù)層。該層次緊接用戶接口層,集成了黨政云繳費模塊、教育學(xué)習(xí)模塊、黨建宣傳模塊、個性黨務(wù)模塊、電子化黨務(wù)模塊等,為用戶提供多元化的黨政相關(guān)服務(wù);其中,黨政云繳費模塊提供查詢歷史交易查詢、繳費賬單查詢功能,其優(yōu)點是支付方式豐富,黨員與基層黨組織可以采用多元化的線上支付方式進行繳費,黨政收費方式愈加多元、便捷。
3)云計算平臺層。底端物理設(shè)備同頂端應(yīng)用層由云計算平臺層進行連接,方法是將Hadoop 云計算平臺部署在虛擬集群,分別基于HDFS 文件系統(tǒng)和Spark 框架對文件進行管理以及數(shù)據(jù)處理。分布式文件系統(tǒng)應(yīng)用“單個namenode 節(jié)點+多個datanode節(jié)點”模式實現(xiàn)黨政收費數(shù)據(jù)的分布式存儲,采用“塊”存儲策略,datanode 節(jié)點具備冗余備份存儲功能,保障了收費數(shù)據(jù)的安全性與完整性。通過應(yīng)用Hbase 部件擴展云平臺在數(shù)據(jù)管理和分布式存儲方面的功能,以提升云平臺搭建完整性。
該層次構(gòu)造黨政收費頻繁項集挖掘模型,利用“主-從”節(jié)點模式實現(xiàn)并行式頻繁項集挖掘,獲得黨政收費管理信息分類結(jié)果;同時應(yīng)用多個數(shù)據(jù)處理模型清洗原始采集的基礎(chǔ)數(shù)據(jù),并進行格式轉(zhuǎn)換等處理。
4)基礎(chǔ)資源層。基礎(chǔ)資源層由虛擬資源機和物理資源機構(gòu)成,是支撐整個黨政收費管理平臺功能實現(xiàn)的基礎(chǔ)[8]。其一,物理機由計算機與網(wǎng)絡(luò)構(gòu)成,提供計算資源、存儲資源、網(wǎng)絡(luò)資源等硬件基礎(chǔ)設(shè)施;其二,虛擬機基于虛擬技術(shù)、以計算機為基礎(chǔ)虛擬化而成,是云計算平臺部署安裝、數(shù)據(jù)存儲的場所。虛擬機聯(lián)網(wǎng)構(gòu)成一個分布式的計算環(huán)境,區(qū)別于傳統(tǒng)的服務(wù)器以虛擬化形式存在,其優(yōu)點是充分發(fā)揮硬件資源作用,避免物理資源的繁瑣性,維護虛擬機同收費管理系統(tǒng)的關(guān)系即可,降低數(shù)據(jù)管理的難度。
總體而言,虛擬機部分實現(xiàn)了服務(wù)器虛擬化、網(wǎng)絡(luò)虛擬化、數(shù)據(jù)庫虛擬化以及存儲虛擬化,物理機部分集成了服務(wù)器節(jié)點、網(wǎng)絡(luò)服務(wù)節(jié)點、數(shù)據(jù)庫以及大數(shù)據(jù)存儲節(jié)點。
1.2.1 頻繁項集挖掘
頻繁項集挖掘是從已有的數(shù)據(jù)集中對比“項集支持度”與“閾值”挖掘出全部頻繁項集。數(shù)據(jù)集中包含該項集的全部事務(wù)總數(shù)稱為項集的支持度。當(dāng)一個項集支持度超過預(yù)設(shè)的最小支持度閾值時,將該項集被認(rèn)定為頻繁項集。
定義D={T1,T2,…,Tn}為一個事務(wù)集,{i1,i2,…,im}表示一個事務(wù),并涵蓋一組項集。每個項集的支持度用包含此項集事務(wù)的數(shù)量來表示,當(dāng)項集滿足X∈T時,式(1)為支持度的計算方法:
當(dāng)存在20 個事務(wù),X出現(xiàn)于其中的四個時,計算得到X的支持度為0.2;當(dāng)項集支持度大于最小支持度閾值時,此項集則被認(rèn)定為頻繁項集。
為實現(xiàn)并行式頻繁項集挖掘,該平臺開發(fā)基于Spark 分布式計算框架之上,一個主節(jié)點和多個工作從節(jié)點構(gòu)成了Spark 集群,從節(jié)點由主節(jié)點進行資源與任務(wù)分配。在Spark 框架下,Hadoop 分布式文件系 統(tǒng)(Hadoop Distributed File System,HDFS)、Open StackSwift、Cassandra 等格式的數(shù)據(jù)存儲均被允許。數(shù)據(jù)讀取完畢,繼續(xù)實施運算,計算結(jié)果存儲在文件系統(tǒng)之中。文中基于Spark 平臺實現(xiàn)矩陣頻繁項集挖掘算法,文件存儲系統(tǒng)應(yīng)用HDFS。
1.2.2 矩陣的頻繁項集挖掘算法
平臺以B/S 架構(gòu)作為支撐、基于Linux 操作服務(wù)端,使用Web 服務(wù)器構(gòu)建SQL Sever 數(shù)據(jù)庫;以黨政費用管理與黨建工作信息管理為目的設(shè)計平臺功能模塊進行設(shè)計,構(gòu)建了包括黨員用戶信息、繳費信息、黨組織活動、教育學(xué)習(xí)資源等內(nèi)容的數(shù)據(jù)庫關(guān)系表,滿足黨員與平臺管理人員的收費與信息管理需求。云平臺的黨政收費信息過于龐雜,為此基于并行式頻繁項集挖掘算法對其進行分類,該算法突破了多次掃描數(shù)據(jù)庫信息的弊端,變革式地采用分布數(shù)據(jù)庫的各個處理器單獨實施黨政收費數(shù)據(jù)挖掘,以降低頻繁項集大小、縮減頻繁項集的通信頻次與同步次數(shù)[9],優(yōu)化黨政收費信息分類挖掘的效率。
研究采用矩陣式頻繁項集挖掘算法代替?zhèn)鹘y(tǒng)頻繁項集挖掘,目的在于減少頻繁項集挖掘的冗余工作、縮短數(shù)據(jù)挖掘時長。文中算法基于矩陣存儲數(shù)據(jù),基本實現(xiàn)思路如下:只需掃描一次矩陣,并根據(jù)矩陣行列間運算獲得頻繁k項集的支持度[10]。在此基礎(chǔ)上,基于“主-從”節(jié)點模式,由主節(jié)點開始運算并以“子矩陣”的形式描述該矩陣,為各個從節(jié)點分配這些子矩陣展開運算,經(jīng)過從節(jié)點并行計算處理之后,將結(jié)果反饋到主節(jié)點。具體實現(xiàn)步驟如下:
首先,構(gòu)造黨政收費頻繁項集挖掘矩陣。矩陣選用“0-1”模式[11-13],將待挖掘信息存儲在其中,如此,求取頻繁k項集支持度時計算每一行“1”的個數(shù)即可。設(shè)定事務(wù)數(shù)據(jù)庫D并定義m表示事務(wù)數(shù)量、n表示項目數(shù)量;同時定義一個包含m行n列的矩陣H[14]。當(dāng)項目P屬于事務(wù)T的情況下,則矩陣中的X值為“1”,反之為“0”。通過優(yōu)化矩陣H構(gòu)建嶄新矩陣M*,為頻繁k項集計數(shù);增加1 列R,R列中每個值為每一個項目P的支持度求和,即R=Xi1+Xi2+…+Xin,計數(shù)前歸零全部R值。圖2 描述了新矩陣H*的形式。
圖2 矩陣H*的嶄新形式
其次,設(shè)計主節(jié)點與從節(jié)點算法實踐策略。主節(jié)點算法部分:求取矩陣H中每個項目P的R值,對比每個R值與定義的最小支持閾值,刪除最小支持閾值以下的項目所在行,反之不予處理[15-16]。舉例說明:第一步,預(yù)設(shè)2 為最小支持閾值,兩兩組合主節(jié)點的項目,分送給從節(jié)點計算后將結(jié)果返回得到頻繁2 項集矩陣,原矩陣H被覆蓋;第二步,劃分頻繁2項集矩陣的項目并實施分組,然后將其分送到從節(jié)點部分,進而求取頻繁3 項集矩陣,緊接著覆蓋頻繁2 項集矩陣。按照上述策略持續(xù)操作,獲取頻繁k項集矩陣H*′時終止。
為了驗證文中開發(fā)的黨政收費管理平臺的優(yōu)越性,搭建分布式平臺測試環(huán)境,構(gòu)建Spark 集群內(nèi)含一個主節(jié)點、五個從節(jié)點,主從節(jié)點的連接由100 Mb/s以太網(wǎng)轉(zhuǎn)換器實現(xiàn),節(jié)點在不同計算能力的設(shè)備上運行。配套選用2.6 版本的Hadoop 以及1.6.0 版本Spark 軟件。平臺利用Scala 編譯語言進行矩陣頻繁項集挖掘算法編程。測試前采集大量黨員收費信息與黨建學(xué)習(xí)數(shù)據(jù),包括黨費繳納金額、繳費時間、繳費項目、黨建熱點資訊、黨政教育學(xué)習(xí)五項內(nèi)容,將這些收費數(shù)據(jù)進行不同規(guī)模劃分,構(gòu)建五個測試樣本集,分別包括400、800、1 200、1 600、2 000 條數(shù)據(jù)記錄。
為突出文中開發(fā)平臺的優(yōu)勢與不足,采用基于MapReduce 頻繁項挖掘的黨政收費管理平臺、基于Apriori 算法的黨政收費管理平臺進行同條件對比測試。
響應(yīng)時長是評估黨政收費管理云平臺實際性能的重要指標(biāo)之一,在云環(huán)境條件下進行50 次平臺響應(yīng)測試,將有效響應(yīng)時長設(shè)置為2 s,即響應(yīng)時長低于2 s 時視為通過測試。分別測試使用平臺后云繳費、黨建教育學(xué)習(xí)、黨建宣傳等的平均響應(yīng)時長,如表1 所示。
表1 平臺功能平均響應(yīng)時長
由表1 數(shù)據(jù)可知,50 次測試中云平臺各功能的響應(yīng)時長均低于2 s,符合使用標(biāo)準(zhǔn)。云繳費功能、黨建教育學(xué)習(xí)功能的響應(yīng)時長相對較大,云繳費平均響應(yīng)時長區(qū)間為[1.25 s,1.51 s],黨建教育學(xué)習(xí)平均響應(yīng)時長區(qū)間為[1.22 s,1.48 s],相比之下,其他幾項功能的響應(yīng)時長較小,這是因為前兩個模塊的資源內(nèi)容較大,尤其是云繳費模塊是黨政收費云平臺的核心模塊,容納的數(shù)據(jù)量較為龐大,導(dǎo)致響應(yīng)延遲較大。
2.2.1 事務(wù)數(shù)量對效率的影響
測試中設(shè)定文中平臺頻繁項集挖掘算法的最小支持度值為3,記錄了不同數(shù)據(jù)事務(wù)集狀態(tài)下各平臺挖掘黨政收費信息頻繁項集效率,如圖3 所示。
圖3 不同事務(wù)數(shù)量下數(shù)據(jù)挖掘的運行時間對比
分析圖3 可知,三種平臺的運行時間走勢差異較大,文中平臺運行時間曲線發(fā)展較為平穩(wěn),沒有顯著的上升與下降趨勢,隨著事務(wù)數(shù)量的增加,挖掘黨政收費信息頻繁項集的時間有所增長,漲幅不大;事務(wù)數(shù)量達(dá)到最大值2 000 條時,運行時間最長僅約為4.1 s,是三種平臺中時間開銷最低的,證明文中平臺挖掘黨政收費信息頻繁項集的時間復(fù)雜度最低。原因主要有兩點:1)文中使用矩陣頻繁項集挖掘收費對大規(guī)模數(shù)據(jù)庫的頻繁項集挖掘,有效減少掃描數(shù)據(jù)庫的次數(shù)。掃描一次矩陣即可,使用矩陣來存儲數(shù)據(jù),基于矩陣行列間計算頻繁k項集的支持度,降低了頻繁項集大小、縮減頻繁項集的通信頻次與同步次數(shù),頻繁項集生成效率得到良好優(yōu)化。2)在Spark 分布式計算框架下進行計算節(jié)點布局,多節(jié)點協(xié)作、并行化運算,有效減少頻繁項集挖掘的時間消耗。
基于Apriori 算法的黨政收費管理平臺挖掘黨政收費信息頻繁項集用時增長較快,實驗初期事務(wù)數(shù)量為400 條時,其運行時間達(dá)到10 s,事務(wù)數(shù)達(dá)到900 條時出現(xiàn)了第二個時間峰值,當(dāng)事務(wù)數(shù)量為2 000 條時運行時間達(dá)到了20.8 s。
同樣的,基于MapReduce 頻繁項挖掘的黨政收費管理平臺前期測試用時較少,當(dāng)達(dá)到測試后期時,時間開銷攀升至14.1 s。這是因為該平臺采用了MapReduce 模型進行并行式頻繁項集挖掘布局,前期能夠較好地應(yīng)對大量事務(wù)數(shù)據(jù)的掃描處理工作,但是事務(wù)數(shù)量增加到一定數(shù)量時,其節(jié)點運算性能下降,難以應(yīng)對海量事務(wù)數(shù)據(jù)的挖掘問題,導(dǎo)致頻繁項集挖掘的時間開銷攀升。
2.2.2 節(jié)點數(shù)量對效率的影響
設(shè)定文中平臺頻繁項集挖掘算法的最小支持度值為3,選用黨政教育學(xué)習(xí)集和繳費項目集作為測試數(shù)據(jù),其事務(wù)數(shù)量為3 200 條,在此條件下展開黨政收費信息頻繁項集挖掘測試,逐漸增加運算節(jié)點的數(shù)量。記錄了不同節(jié)點數(shù)量下數(shù)據(jù)挖掘的運行時間對比情況如圖4 所示。
圖4 不同節(jié)點數(shù)量下數(shù)據(jù)挖掘的運行時間對比
分析圖4 可知,基于MapReduce 頻繁項挖掘的黨政收費管理平臺、文中平臺均采用了并行式頻繁項集挖掘策略,所以節(jié)點數(shù)量增加的情況下,黨政教育學(xué)習(xí)頻繁項集挖掘的時間均為遞減趨勢,文中并行式頻繁項集挖掘算法的效率具有顯著優(yōu)勢,初始運行時間為28.2 s,終止運行時間為6.3 s;基于MapReduce 頻繁項挖掘的黨政收費管理平臺運行時間在文中平臺之上,這是因為文中不僅使用Spark 分布式計算框架布局計算節(jié)點,并且通過構(gòu)造“矩陣”實現(xiàn)頻繁項集挖掘,具體基于“主-從”節(jié)點模式實施數(shù)據(jù)掃描與頻繁項集支持度計算,將矩陣劃分為若干個子矩陣,在從節(jié)點上展開子矩陣的并行式計算,計算完畢由主節(jié)點回收運算結(jié)果。這種布局方法一定程度上實現(xiàn)了分布式運算,因此降低了黨政教育學(xué)習(xí)頻繁項集挖掘的時間開銷。
相對而言,基于Apriori 算法的黨政收費管理平臺采用傳統(tǒng)的串行運算方式,節(jié)點數(shù)量增加其運算效率沒有得到提升,反而出現(xiàn)增加趨勢。
用戶訪問的全部項集內(nèi),被推薦項集占全部訪問項集合項的比重稱為推薦非空率,能夠評價頻繁項集挖掘算法的質(zhì)量,推薦非空率與頻繁項集挖掘質(zhì)量成正比。選用黨建熱點資訊集和黨費繳納金額集作為測試數(shù)據(jù),事務(wù)數(shù)量為2 000 條,測試中為頻繁項集挖掘方法賦予不同的最小支持度,統(tǒng)計推薦非空率如表2 所示。
表2 推薦非空率統(tǒng)計
分析表2 數(shù)據(jù)可知,文中平臺使用的并行式頻繁項集挖掘算法的推薦非空率直線升高,隨著最小支持度的增加該算法展現(xiàn)了良好的黨建熱點資訊和黨費繳納金額頻繁項集挖掘效果,最高推薦非空率可達(dá)0.70。相對而言,基于Apriori 算法的黨政收費管理平臺的推薦非空率呈先增加再降低的趨勢,當(dāng)最小支持度值為0.25 時,頻繁項集挖掘質(zhì)量回落,其推薦非空率由0.48 跌落為0.45,測試后期,推薦非空率降低為0.42?;贛apReduce 頻繁項挖掘的黨政收費管理平臺的推薦非空率雖然呈現(xiàn)上升趨勢,但是其數(shù)值低于文中平臺使用的算法,最高推薦非空率可達(dá)0.53,挖掘黨建熱點資訊和黨費繳納金額頻繁項集的效果不夠理想。
為解決海量黨政收費管理信息中傳統(tǒng)頻繁項集挖掘算法的缺陷,文中基于并行式頻繁項集挖掘算法構(gòu)建黨政收費管理平臺,提高平臺黨政信息挖掘的效率、提高頻繁項集挖掘的質(zhì)量,以滿足黨員與基層黨組織對黨建熱點信息、黨建教育學(xué)習(xí)、黨組織管理的需求。文中實現(xiàn)了“并行式”黨政收費管理信息的挖掘,在Spark 分布式計算框架下進行集群布局,應(yīng)用矩陣頻繁項集挖掘策略設(shè)計“主-從”節(jié)點計算模式,分布式實現(xiàn)頻繁k項集支持度運算,且掃描一次矩陣數(shù)據(jù)即可,減少了黨政收費信息挖掘的冗余工作量,因此獲得了理想的信息挖掘分類效率。
但是,該平臺仍有許多不足之處進行優(yōu)化,例如,小規(guī)模數(shù)據(jù)集頻繁項集挖掘的效率優(yōu)勢不夠明顯,可從降低內(nèi)存需求量角度入手,增強小規(guī)模數(shù)據(jù)集處理的性能;最小支持度獲取方式應(yīng)逐步改進,以快速獲得最優(yōu)的最小支持度值,進一步減少黨政收費頻繁項集挖掘的時間開銷。