焦東杰
關(guān)鍵詞:云計算;漢字文化;數(shù)字化平臺
漢字?jǐn)?shù)字化技術(shù)涉及研究領(lǐng)域十分廣泛,其所包含內(nèi)容豐富,不僅有漢字本身的數(shù)字化信息,還可對漢字文化進(jìn)行內(nèi)涵式外延,充分挖掘漢字背后所隱藏的知識;而借助現(xiàn)代信息技術(shù)對其進(jìn)行存儲、處理與分析之后再予以呈現(xiàn),則可讓人們對我國的漢字有更深入的了解,激發(fā)他們對漢字中所蘊(yùn)含的傳統(tǒng)文化的探究興趣[1]。因此,本文主要基于云計算、大數(shù)據(jù)技術(shù),探究漢字文化數(shù)字化平臺的設(shè)計思路以及系統(tǒng)架構(gòu)。
1基于云計算的漢字文化數(shù)字化平臺的整體設(shè)計思路
漢字文化數(shù)字化信息量龐大并仍呈現(xiàn)增長趨勢,同時數(shù)據(jù)格式還非常多元化,屬于異構(gòu)數(shù)據(jù)類型。比如,對漢字進(jìn)行釋義、歷史演義的是文本數(shù)據(jù),讀漢字的是音頻數(shù)據(jù),書寫漢字這一過程又需要視頻數(shù)據(jù)。這些數(shù)據(jù)可與用戶的行為數(shù)據(jù)聯(lián)系起來,借助數(shù)據(jù)分析技術(shù)了解其隱藏的某些規(guī)律和內(nèi)容,繼而令數(shù)據(jù)有了更高的應(yīng)用價值,引發(fā)人們對漢字文化產(chǎn)生更濃厚的興趣。從本質(zhì)上來看,漢字文化數(shù)字化與大數(shù)據(jù)所具備的海量、快速、多樣以及價值性特征都有著相同之處,所以基于云計算和大數(shù)據(jù)的設(shè)計思路來構(gòu)建漢字文化數(shù)字化平臺,理應(yīng)成為不二之選[2]。在構(gòu)建該平臺時,平臺體驗系統(tǒng)應(yīng)由多個不同子系統(tǒng)組成,其中包括漢字演示系統(tǒng)、構(gòu)字法系統(tǒng)、書寫系統(tǒng)等。每個子系統(tǒng)的前端應(yīng)以Web網(wǎng)頁的形式實現(xiàn),通過人機(jī)交互原則和可視化的虛擬現(xiàn)實技術(shù),用戶可在瀏覽器上對所輸入漢字產(chǎn)生的文化要素進(jìn)行人機(jī)交互體驗。通常而言,子系統(tǒng)要訪問的數(shù)據(jù)大致可分為描述性文本數(shù)據(jù)、圖文數(shù)據(jù)、音頻數(shù)據(jù)、視頻數(shù)據(jù)等。另外,體驗系統(tǒng)在數(shù)據(jù)管理及分析上還需借助云服務(wù)平臺,以保障各種基礎(chǔ)服務(wù),系統(tǒng)研發(fā)人員在設(shè)計云服務(wù)平臺時,應(yīng)著重考慮平臺的高可用性、高拓展性、高伸縮性、高安全性等問題。
2基于云計算的漢字文化數(shù)字化平臺的構(gòu)建方案
漢字文化數(shù)字化平臺應(yīng)基于云計算構(gòu)建3層架構(gòu)模式,分別為IaaS(基礎(chǔ)設(shè)施即服務(wù))、PaaS(平臺即服務(wù))和SaaS(軟件即服務(wù))。
2.1平臺基礎(chǔ)設(shè)施層設(shè)計
基礎(chǔ)設(shè)施層可為漢字文化數(shù)字化平臺提供硬件條件,平臺系統(tǒng)可使用IBMLexSystem作為主機(jī),應(yīng)用VMware虛擬技術(shù),建立虛擬計算機(jī)資源池、數(shù)據(jù)存儲池、網(wǎng)絡(luò)資源池,方便用戶對資源進(jìn)行利用和管理。通過構(gòu)建虛擬計算機(jī)集群,實現(xiàn)可隨時靈活使用系統(tǒng)資源的目的。
2.2平臺服務(wù)層設(shè)計
服務(wù)層可為漢字文化數(shù)字化平臺提供數(shù)據(jù)管理服務(wù)以及各種類型計算機(jī)服務(wù),促使用戶更好地體驗系統(tǒng)軟件的運(yùn)行環(huán)境。具體各個服務(wù)模塊之間的關(guān)系如圖1所示.
2.2.1運(yùn)行環(huán)境
平臺體驗性利用Java開發(fā)的B/S結(jié)構(gòu)Web軟件實現(xiàn),所以在服務(wù)層部署應(yīng)用服務(wù)設(shè)備,繼而給用戶體驗系統(tǒng)提供運(yùn)行環(huán)境。鑒于Tomcat配置不高,在處理靜態(tài)文件時效果不好,因此利用動靜分離技術(shù)部署NginX作為Web服務(wù)器應(yīng)用,以更強(qiáng)的靜態(tài)文件處理能力處理HTML,JPG格式數(shù)據(jù):將Tomcat作為Servlet容器,以處理JSP,servle等動態(tài)文件。假如一個Tomcat服務(wù)器達(dá)到使用上限,還可水平拓展,即重新布置一個新的Tomcat服務(wù)器,并借助NginXde的自動負(fù)載能力來均衡調(diào)節(jié)Tomcat的計算資源。
2.2.2數(shù)據(jù)管理
服務(wù)層不僅可提供系統(tǒng)運(yùn)行環(huán)境,還可為用戶提供數(shù)據(jù)存儲、管理等基礎(chǔ)性服務(wù)。漢字文化數(shù)字化信息一般可分為結(jié)構(gòu)化數(shù)據(jù)與非結(jié)構(gòu)化數(shù)據(jù)2種,其中結(jié)構(gòu)化數(shù)據(jù)以漢字的描述性信息為主,如漢字的歷史發(fā)展背景、漢字釋義,這類數(shù)據(jù)被保存在關(guān)系型數(shù)據(jù)庫,而MySQL則用于管理結(jié)構(gòu)化數(shù)據(jù)。鑒于對數(shù)據(jù)高可用性、可擴(kuò)展性的需求,則利用了MySQL Cluster數(shù)據(jù)庫集群技術(shù)管理關(guān)系型數(shù)據(jù)庫。具體如圖2所示。
MySQL Cluste作為一種分布式存儲技術(shù),在存儲關(guān)系型數(shù)據(jù)上有著更大的優(yōu)勢:將數(shù)據(jù)置于NDB存儲服務(wù)器節(jié)點上,通過MySQL Cluste的無共享模式,將分布于不同節(jié)點的數(shù)據(jù)形成一個內(nèi)存數(shù)據(jù)庫,并利用其中一個管理節(jié)點對所有數(shù)據(jù)節(jié)點予以管理。當(dāng)某個數(shù)據(jù)節(jié)點面臨崩潰時,數(shù)據(jù)就會自動通過其他節(jié)點進(jìn)行復(fù)制,再次恢復(fù)該節(jié)點的高可用性。綜合當(dāng)前數(shù)據(jù)量以及潛在訪問量,通過MySQL Cluste部署2個MySQL Serve節(jié)點與4個NDB存儲節(jié)點。
漢字文化數(shù)字化信息中包括大量的非結(jié)構(gòu)化數(shù)據(jù),如圖片、音頻、視頻等,相較于關(guān)系型數(shù)據(jù)庫,這一類文件更適合存儲在文件系統(tǒng)中。通過對比幾種不同的分布式文件系統(tǒng),選擇Hadoop框架中HDFS文件系統(tǒng),不僅是因其所具備的高可用性及可擴(kuò)展性,還有接下來對大數(shù)據(jù)分析的需求性要求,它與Hadoop,MapReduce編程模型有著極好的兼容性。但是,漢字文化數(shù)字化系統(tǒng)中有大量小型文件數(shù)據(jù),如一張圖片僅有6 MB內(nèi)存,Hadoop HDFS則更適用于大于64 MB內(nèi)存的文件,這會在一定程度消耗其系統(tǒng)內(nèi)存資源,降低文件訪問速度。針對此問題,本文提出圖1所示的文件預(yù)取系統(tǒng),提前將有關(guān)數(shù)據(jù)進(jìn)行讀取緩存,以擴(kuò)大文件訪問擊中率,降低HDFS小型文件的訪問壓力。
2.2.3緩存策略
在服務(wù)層中部署Mem cached緩存服務(wù)器,其緩存策略則是基于訪問時間進(jìn)行的LRU算法。因此,應(yīng)用程序在訪問數(shù)據(jù)時則會先行訪問Mem cached服務(wù)器來查找所需數(shù)據(jù)。由于Mem cached在內(nèi)存中緩存數(shù)據(jù)及對象,所以數(shù)據(jù)訪問速度較快。
2.2.4日志管理
在漢字文化數(shù)字化系統(tǒng)中包括用戶行為日志及系統(tǒng)資源日志,分析這些數(shù)據(jù)可促進(jìn)系統(tǒng)資源及性能的優(yōu)化,并實現(xiàn)個性化漢字文化體驗的推薦功能。為收集用戶行為數(shù)據(jù),可利用Apache Flume系統(tǒng),其擴(kuò)展性更好,并可將數(shù)據(jù)發(fā)送到HBase數(shù)據(jù)庫保存,同時推給Apache Kafka予以數(shù)據(jù)分析,此時不同模塊的數(shù)據(jù)需求會存在交集,通過消息訂閱模式可在多個模塊中同步利用同一數(shù)據(jù)。
2.2.5數(shù)據(jù)分析系統(tǒng)
數(shù)據(jù)分析在漢字文化數(shù)字化平臺主要用于開展系統(tǒng)資源監(jiān)管、用戶行為分析以及文化預(yù)取策略計算[3-5]。云服務(wù)平臺可提供實時、非實時、半實時數(shù)據(jù)分析,并分別對應(yīng)進(jìn)行系統(tǒng)資源監(jiān)管、面向用戶開展行為分析以及文件預(yù)取,以上模塊內(nèi)部流程可參考圖1。
(1)系統(tǒng)運(yùn)維人員可利用實時分析技術(shù)發(fā)現(xiàn)系統(tǒng)問題并采取應(yīng)對措施,繼而不斷優(yōu)化系統(tǒng)。SparkStreaming有著高可用性與拓展性,能把所接收的實時數(shù)據(jù)離散為RDD數(shù)據(jù)塊,再對同段時間的數(shù)據(jù)予以計算處理,而因為這一計算過程是在內(nèi)存中進(jìn)行的,所以Spark Streaming的計算速度可實現(xiàn)以秒為單位。
(2)用戶行為分析則是對大量歷史數(shù)據(jù)展開分析,并無較高的實時性要求,所以更為側(cè)重分析模塊的數(shù)據(jù)吞吐能力,選擇Hadoop MapReduce作為分析算法的編程模型,用戶行為分析系統(tǒng)可將用戶真正感興趣的漢字文化進(jìn)行優(yōu)先推薦。
(3)文件預(yù)取分析系統(tǒng)是通過預(yù)取分析模塊來計算預(yù)取策略,從而獲悉所需提前預(yù)取的文件。這一流程被分為非實時數(shù)據(jù)分析、實時數(shù)據(jù)分析2部分,而且它們是相對獨立運(yùn)行的。首先,針對存入HBase的日志數(shù)據(jù)采取關(guān)聯(lián)分析算法開展分析,尋找被訪問文件的關(guān)聯(lián)性;其次,借助流技術(shù)開展實日寸統(tǒng)計,獲得文件近期的訪問頻次;最后,根據(jù)文件訪問關(guān)聯(lián)性、訪問頻次進(jìn)行加權(quán),由此計算出最有可能被用戶訪問的文件。
2.2.6系統(tǒng)資源管理
通過服務(wù)層實現(xiàn)由一個系統(tǒng)資源管理模塊來監(jiān)測漢字文化數(shù)字化平臺的資源利用與數(shù)據(jù)管理工作。首先,對系統(tǒng)資源利用情況的檢測,應(yīng)用ClouderaCDH開源平臺管理Hadoop系統(tǒng),在圖形界面上嵌入Cloudera Manager的GUI作為大數(shù)據(jù)的可視化監(jiān)控界面,除可對CPU利用率、網(wǎng)絡(luò)I/O、磁盤I/O等系統(tǒng)資源的應(yīng)用情況進(jìn)行監(jiān)測,還可對Hadoop的組件、虛擬機(jī)予以可視化管理。其次,MySQL Cluster集群監(jiān)管是在系統(tǒng)管理模塊的GUI界面中嵌入phpMyAdmin作為MySQL Cluster的管理界面,以此監(jiān)控MySQL服務(wù)器的運(yùn)行情況,并對其所存儲的數(shù)據(jù)進(jìn)行管理。最后,對HDFS文件系統(tǒng)的管理,HDFS中存儲著業(yè)務(wù)數(shù)據(jù)以及日志,為安全管理這些數(shù)據(jù)而開發(fā)其文件管理模塊,實現(xiàn)對文件的“增減查改”操作。文件安全操作主要從2個方面得以體現(xiàn):一是對系統(tǒng)管理員嚴(yán)格授權(quán),如有需更新、刪減的文件,一定要至少2個超級管理員驗證方可通過;二是將有待更新、刪減的文件先行備份到另一臺服務(wù)器上,再從HDFS上進(jìn)行操作,安全審計人員需要定期檢查操作情況,所存在未經(jīng)允許的操作,則應(yīng)從備份服務(wù)器上對數(shù)據(jù)再次進(jìn)行恢復(fù)處理。
2.3軟件層設(shè)計
軟件層重點集中在體驗系統(tǒng)的設(shè)計上,軟件系統(tǒng)主要以多租戶模式為主,并按用戶需求提供服務(wù)。多租戶模式指的是用戶可通用一個或一組程序,在實現(xiàn)方面,遵循SaaS成熟度模型的可擴(kuò)展、可配置及高效率來設(shè)計實例池,默認(rèn)體驗系統(tǒng)程序的多個實例并將其部署在一臺Tomcat服務(wù)器上,所以租戶都可共享這一實例池,實例池可按照實際運(yùn)營性能(如數(shù)據(jù)吞吐量)來調(diào)整池中計算節(jié)點的數(shù)量,并進(jìn)行負(fù)載均衡。體驗系統(tǒng)通過配置文件實現(xiàn)每個租戶專有的UI與使用功能,從而可提供系統(tǒng)資源與功能2方面的按需服務(wù)[6]。
3結(jié)束語
在該系統(tǒng)平臺中充分應(yīng)用了云計算的虛擬計算機(jī)集群技術(shù)、實時流計算技術(shù),促使系統(tǒng)資源實現(xiàn)了高可用性,令平臺更為安全可靠。在該領(lǐng)域中,系統(tǒng)平臺的研究重點依舊在于強(qiáng)化結(jié)構(gòu)的設(shè)計層面上,而伴隨一些全新體驗系統(tǒng)的開發(fā),更多可復(fù)用功能可抽象為服務(wù),尤其是今后以SOA云架構(gòu)為基礎(chǔ)必然會提高云服務(wù)平臺的效率,幫助用戶獲得更全面、良好的漢字文化數(shù)字化體驗。