本站小編為你精心準備了物流數據動態挖掘模型研究參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。
《圖書館學研究雜志》2015年第十三期
1云計算與動態數據挖掘概述
1.1云計算概述Amazon(亞馬遜)、ogle(谷歌)等公司于2006年8月提出了“云計算”的概念,自此以來,云計算就受理論界與企業界的追捧,并在各方面得到了廣泛的應用。所謂云計算,是一種利用互聯網實現隨時隨地、按需、便捷地訪問共享資源池的計算模式,能為不同類型終端用戶提供計算和存儲功能的一個服務傳遞過程[8]。云計算是一種可變的、實時的、虛擬化的資源,將大量的海量數據的計算任務分割成眾多的微量計算任務,通過網絡化的、人人參與的并行計算形式,為互聯網上的用戶提供服務。云計算的關鍵技術包括:海量分布式存儲技術、數據管理技術、并行編程技術、虛擬化技術、云計算平臺管理技術、分布式資源管理技術[9]。云計算作為大數據時代的IT基礎,具備以下基本特征:按需自助服務、廣泛的網絡訪問、計算資源池化、快速的可伸縮性、可度量的服務。目前,云計算有三種典型服務模式:(1)軟件即服務(softwareasaservice,SaaS)、平臺即服務(platformasaservice,PaaS)、基礎即服務(infrastructureasaservice,IaaS),如圖1所示[10]。作為一個動態的計算體系,云計算具備非常明顯的優勢,云計算模式已成為眾多企業構建信息系統的首選[11]。以云計算為基礎來構建信息服務平臺,提供應對多種服務要求的計算環境,數據信息存儲能力、數據安全性、數據資源利用率、用戶定制化需求等,均能得到有效保障和提升,通過網絡訪問其相應的服務資源,能夠最大限度地實現資源共享和業務協同,真正體現按需服務的理念[12]。
1.2動態數據挖掘概述目前,越來越多的數據以時間序列的形式存在,動態性、實時性、海量性、高維性是這類數據的典型特征。原有的針對靜態數據的知識發現與獲取技術已難以有效處理和分析動態數據,無法很好地獲得新穎性知識,因此動態數據挖掘技術應運而生。所謂動態數據挖掘,是指從海量時間序列數據中尋找規律和知識的數據挖掘方法,是集過去、現在與未來于一體的動態過程[13]。假設在一動態數據源(DynamicDataSource,DDS)中存在三類數據:歷史數據(Dataold)、當前數據(Datacurrent)和后續新數據(Datanew),動態數據挖掘就是將經過篩選的歷史數據和當前數據同時結合后續新數據進行分析,動態檢驗后續新數據的特性,從而提取出其中有意義的、新穎的、有價值的、關鍵的知識與信息。動態數據挖掘的過程基本上包括動態數據采集、動態數據處理、數據挖掘、挖掘評價等幾個階段[14]。其中,動態數據采集是從動態數據源中獲取歷史數據、當前數據和后續新數據;動態數據處理是動態處理動態數據采集過程傳來的動態實時數據,如消除數據噪聲、數據降維處理、數據缺失處理、數據類型轉換、提取數據特征等;動態數據挖掘是利用相應的動態挖掘算法與技術,如數據流挖掘、分形數據挖掘、聯系發現技術等,得到這些數據中所隱含的必要知識;挖掘評價是采用后續新數據對挖掘結果進行評價與檢測,如果不符合要求,則需要通過調整動態數據采集或動態數據處理來重新挖掘,以真正挖掘出用戶感興趣的知識。
隨著計算機技術和網絡技術廣泛應用于物流信息系統,在物流活動各環節產生的物流信息,多以時間序列的形式存在,保證了現代物流的實時交互性,既反映了當前的物流業務活動,又能通過相應的方法來預測將來物流業務活動的發展變化趨勢,具有顯著的動態性,是典型的動態數據。這些動態數據源既為物流企業作出合理經營決策提供了可行支持,也增加了物流企業作出合理經營決策的難度,如果不能對這些數據進行深度挖掘,這些數據還有可能成為物流企業作出合理經營決策的負擔與累贅,形成“數據恐懼”。動態數據挖掘技術的存在,為解決“數據恐懼”提供了可能性。通過對動態物流信息源中的歷史數據、當前數據和后續新數據的動態挖掘,能夠發現后續新數據的規律與知識,這些所發掘的新規律與新知識,應用于物流企業未來業務的維系、拓展與優化,有利于物流企業提出針對性的業務規劃和商務計劃,促進物流企業競爭力的提升。正如前文所言,如果只從一個企業內部來建立物流數據動態挖掘系統,投資較大且需配置專業技術人員,將阻礙動態數據挖掘技術在物流企業的廣泛應用。不過,令人鼓舞的是,目前已有很多物流企業搭建了基于云計算的信息服務平臺,并將物流信息分析工作轉移到網絡中的“云端”,對大規模物流數據進行分布的、及時的處理與分析[15]。這就為建立基于云計算的物流數據動態挖掘平臺奠定了堅實的行業基礎。
2.1結構框架基于云計算的物流數據動態挖掘模型架構分為7層,分別是云計算環境層、動態物流數據采集層、動態物流數據處理層、動態物流數據挖掘層、業務應用層、交互層、用戶終端層,自底向上每層透明地為其上層服務,如圖2所示。(1)云計算環境層云計算環境層處于最底層,是整個系統的支撐平臺,包括并行編程環境、分布式文件系統、分布式系統管理,提供分布式并行數據處理、分布式數據海量存儲以及超強的分布式計算能力。云計算平臺采用分布式對數據進行存儲,并以冗余存儲方式確保數據保存多份副本;同時利用分布式數據處理與虛擬化技術對動態數據挖掘算法進行綜合處理,實現計算資源的自主分配,完成動態數據挖掘計算能力的并行實現,便于用戶對動態數據挖掘算法的調用,從而為服務的提供者與服務對象提供一個基礎的云環境。目前,常見的云計算數據存儲技術主要有Hadoop團隊開發的開源HDFS(HadoopDistributedFileSystem)和ogle開發的非開源GFS(ogleFileSystem),采用Map/Reduce編程模式,特別適用于產生和處理大規模的數據集[16]。分布式文件管理模塊利用分布式文件系統HDFS來實現物流數據的存儲,將海量物流數據文件先分塊,分布存儲在計算機集群上的不同節點,并提供高可靠的容錯功能。對外部客戶機而言,HDFS就像一個傳統的分級文件系統,是基于一組特定節點構建的,包括一個NameNode(主節點)和多個DataNode(數據節點),前者提供元數據服務,后者提供存儲塊。HDFS可以創建、刪除、移動或重命名文件等等。HDFS發揮Map/Reduce可伸縮性的優勢,既可為動態物流數據采集層提供各類動態數據,又可為業務應用層存儲相應的用戶數據,構建出具有極高容錯性、可靠性、存儲量的分布式文件系統。(2)動態物流數據采集層該層主要是實現物流數據的動態采集。針對各物流節點企業產生的歷史數據、當前數據和后續新數據,包括企業物流信息系統產生的運輸數據、搬運數據、裝卸數據、采購數據、加工數據、儲存數據、包裝數據、配送數據、客服數據和其他數據,同時也包括物流信息系統采集到其他系統或平臺的、與本企業業務有密切聯系的數據,如政策信息、市場信息、競爭對手信息等進行采集。動態物流數據的采集方法是:①對于歷史數據和當前數據,可以采用傳統的數據集成、數據轉移方式,一次性提取完成;②對于后續新數據,則應采集數據源發生變動的那部分數據,需要用到變動數據捕獲技術(ChangeDataCapture,CDC)[17]。變動數據捕獲方法只傳遞發生改變的數據,甚至用戶可以提出具體要求,對信息進行有效地過濾,為用戶提供最及時準確的信息數據。其可用技術既包括時間戳法、快照法、全文比對法等,即數據靜態捕獲技術,也包括觸發器法、變更軌跡表法、輔助程序法、DBMS日志法等數據動態捕獲技術[18],從而實現動態物流數據的快速、全面、準確的收集。(3)動態物流數據處理層該層主要是實現對采集到的動態物流數據進行處理,為數據挖掘提供數據源。動態物流數據處理層的主要工作包括:對采集到的動態物流數據中的缺失值數據、冗余數據、噪聲數據等進行處理,將非結構化、半結構化的數據進行轉換;然后將結構化的數據進行過濾,刪除無效的數據,以提煉出有價值、有意義、有時效的數據;最后進行動態物流數據抽取,通過對動態物流數據的相關性和關聯性檢測,從中抽取有意義的數據,將抽取結果存放到動態數據倉庫之中,供后續的動態物流數據挖掘模塊進行數據挖掘。動態物流數據處理方法包括:①對于歷史的和當前的物流數據,可以采用傳統的數據預處理技術;②針對動態物流數據源中的后繼新數據,則需要利用實時ETL技術。實時ETL(ExtractTransformLoad,抽取、轉換、裝載)是指先實時抽取業務數據源中產生的數據,然后對其進行清洗,最后基于預先定義好的數據倉庫模型,在保證數據的完備性和一致性的前提下,通過轉換,將數據加載到數據倉庫中去,為動態數據挖掘系統提供更有效的數據支持[19]。通過實時ETL模塊,可以實現數據的預處理,并保存在動態數據倉庫中,提供給動態物流數據挖掘層。(4)動態物流數據挖掘層作為整個構架的核心,動態物流數據挖掘層的主要任務是實現各種任務過程中算法的并行化,使用動態數據倉庫中已經過預處理的數據集,選擇既定的算法進行動態數據挖掘,并將任務提交到云計算環境層進行運算,同時將動態挖掘結果返回給業務應用層。(5)業務應用層根據用戶提交的業務請求,基于決策知識庫,業務應用層能夠對完成業務所需的子業務進行調用、管理,包括算法庫的創建、擴充以及算法的調用和注銷,為每一個算法創建控制塊和算法參數,并且對業務狀態進行監控、管理,以協調其他各功能模塊實現系統目標。業務調度管理功能可自動選擇與任務關聯的算法,根據用戶需求自動調用動態物流數據挖掘層的多個模塊,實現對動態物流數據的挖掘,比較不同挖掘方法所得到的結果,并使用未來數據集中的數據驗證、評估相關結果,然后將挖掘結果返回給交互層。(6)交互層該層主要提供用戶管理、數據輸入、結果展示。用戶管理包括:用戶身份的識別與權限設置、用戶注冊、用戶登錄、用戶注銷、用戶費用、用戶需求提交管理等日常管理工作。此外,該模塊與云管理服務器連接,給用戶提供分布式云服務。
2.2基于云計算的動態挖掘算法完成動態物流數據的挖掘任務,需要通過動態數據挖掘算法模塊來實現。動態數據挖掘算法模塊的核心是建立基于MapReduce編程模型的并行數據挖掘算法庫,無論是傳統的挖掘算法,如回歸分析、聚類分析、判別分析、決策樹、關聯規則、人工神經網絡、遺傳算法、模糊方法、粗集方法、可視化技術等,還是較新穎的挖掘算法,如聯系發現和經驗模態分解技術、分形數據挖掘、聯機分析挖掘、數據流挖掘等,都可以實現優化升級以及適當擴充。基于各類算法的MapReduce并行化,挖掘隱含在動態物流數據流中的有價值信息,用于完成各種數據挖掘任務。例如,基于云計算的FP-Tree頻繁項集挖掘算法步驟如下:①通過FP-Tree對物流數據流進行頻繁項集挖掘,要在Hadoop計算平臺上進行分布式運算的時候,首先要將處理的海量數據上傳到Hadoop的分布式文件系統中;②用戶可以通過重寫Map和Reduce函數實現自己需要的功能。一般地,基于云計算的FP-Tree頻繁項集挖掘流程為:由Namenode將存儲在HDFS中的物流數據流劃分為N個不相交的數據分塊,然后將數據分塊分別發送到執行挖掘操作的M(M<=N)個Datanode中,Datanode接收到挖掘指令后,獨立地使用FP-Tree算法進行頻繁項集的挖掘工作,從而獲得局部頻繁項集;③匯總各個Datanode獲得的局部頻繁項集,得到全局的候選頻繁項集;對物流數據流進行再次掃描,獲取最終的頻繁項集。整個挖掘過程涉及到兩次Map/Reduece計算。
2.3運行模式基于云計算的物流數據動態挖掘模型運行模式為:(1)企業用戶通過用戶管理模塊進行授權認證,申請使用基于云計算的物流數據動態挖掘平臺;(2)云計算服務器通過用戶管理模塊進行授權認證,申請為基于云計算的物流數據動態挖掘平臺提供服務;(3)用戶終端經由用戶管理模塊登錄后,提交挖掘服務請求,經業務調度控制模塊利用已有信息控制生成配置文件,調度適合用戶需求的動態數據挖掘算法和模式,并從動態數據倉庫中提取數據,做好數據準備,從而進行物流數據的動態挖掘;(4)按照用戶的要求將挖掘結果以可視化的方式提交給用戶;同時,將挖掘結果存入決策知識庫,然后保存在分布式文件系統,以用于日后挖掘結果的評價與分析。
3結語
依賴于云計算平臺提供的低成本、高擴展性、高性能的分布式并行計算環境,基于云計算的物流數據動態挖掘平臺可被用來開發高性能的應用程序,既具有云計算的所有優勢,又具有強大的動態數據挖掘能力,使得海量物流數據存儲和分布式動態挖掘成為現實。其價值在于:可以進行分布式并行動態數據挖掘,實現高效實時挖掘;在很大程度上提高了大規模處理數據的能力;可以降低動態數據挖掘應用的門檻,使海量物流數據挖掘需求得到了滿足;處理成本低廉,大量企業無需負擔日益高昂的數據中心管理成本,即可以注冊使用該平臺,并大大減少其應用成本。基于云計算的物流數據動態挖掘平臺有明顯的優勢,本文僅提出了相應的模型架構,具體的算法實現、工作機理等,還需留待下一步的深入研究。
作者:張玉峰 曾奕棠 單位:武漢大學信息管理學院教授 武漢大學信息管理學院博士生