《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > .NET平臺下電子商務數(shù)據(jù)挖掘服務設計與實現(xiàn)
.NET平臺下電子商務數(shù)據(jù)挖掘服務設計與實現(xiàn)
來源:微型機與應用2012年第7期
丁小寶,唐躍武,陳國棟
丁小寶,唐躍武,陳國棟
摘要: 根據(jù)電子商務環(huán)境中分布式和異構性數(shù)據(jù)挖掘服務需求,設計了基于移動Agent和Web Service的五層分布式數(shù)據(jù)挖掘服務框架,實現(xiàn)數(shù)據(jù)挖掘服務與電子商務系統(tǒng)的松散耦合。從整體框架給出數(shù)據(jù)挖掘服務質量評價體系,包括支撐性服務質量評價和算法服務質量評價。具體分析了.NET平臺下移動Agent的遷移和WCF技術創(chuàng)建數(shù)據(jù)挖掘服務過程組件的實現(xiàn)。
Abstract:
Key words :

摘  要: 根據(jù)電子商務環(huán)境中分布式和異構性數(shù)據(jù)挖掘服務需求,設計了基于移動AgentWeb Service的五層分布式數(shù)據(jù)挖掘服務框架,實現(xiàn)數(shù)據(jù)挖掘服務與電子商務系統(tǒng)的松散耦合。從整體框架給出數(shù)據(jù)挖掘服務質量評價體系,包括支撐性服務質量評價和算法服務質量評價。具體分析了.NET平臺下移動Agent的遷移和WCF技術創(chuàng)建數(shù)據(jù)挖掘服務過程組件的實現(xiàn)。
關鍵詞: 數(shù)據(jù)挖掘服務;電子商務;移動Agent;Web Service

 企業(yè)在實施電子商務或者全程電子商務過程中,由于采用不同的信息系統(tǒng)提供資源和服務,會產(chǎn)生異構的、不確定性的和非結構化的海量數(shù)據(jù),其復雜程度已經(jīng)遠超出人類現(xiàn)有的信息分析和理解能力。企業(yè)如何利用這些海量數(shù)據(jù)吸引更多的客戶、判定有價值的客戶和保持客戶等問題已成為企業(yè)戰(zhàn)略決策的關鍵問題。數(shù)據(jù)挖掘技術成為企業(yè)解決這些問題的一個重要手段。數(shù)據(jù)挖掘工具多建立在數(shù)據(jù)倉庫基礎上,各大數(shù)據(jù)庫廠商提供的數(shù)據(jù)倉庫產(chǎn)品及相應分析工具、數(shù)據(jù)挖掘工具(如IBM公司的Intelligent Miner、SPSS公司的Clementine、SAS公司的Enterprise Miner等[1]),給用戶帶來了便利。但各廠商產(chǎn)品不兼容、難以耦合,盡管部分數(shù)據(jù)庫產(chǎn)品的數(shù)據(jù)挖掘工具支持二次開發(fā),而大部分只是支持自身的數(shù)據(jù)倉庫環(huán)境,缺乏普適性和靈活性;企業(yè)容易形成對單一廠商數(shù)據(jù)挖掘產(chǎn)品和服務的依賴性,針對不同環(huán)境需要重復構建相同功能的數(shù)據(jù)挖掘軟件。
 另一方面進行電子商務系統(tǒng)數(shù)據(jù)挖掘,所需要的數(shù)據(jù)主要是Web內(nèi)容、Web結構、Web日志記錄、客戶信息、交易數(shù)據(jù)、查詢信息等,這類數(shù)據(jù)具有分布性、異構性及海量性,而且目前的挖掘工具主要采用單機運行、集中處理結構化的同質數(shù)據(jù)的模式。而對于分布式存儲的數(shù)據(jù)需要集中才能處理,這個過程對網(wǎng)絡速度、穩(wěn)定性要求比較高,數(shù)據(jù)挖掘結果響應時間比較長、數(shù)據(jù)的私有性和安全性遭到威脅。另外,一般的數(shù)據(jù)挖掘引擎是基于封閉體系構建的,難以管理和維護多個挖掘算法,結果格式不統(tǒng)一,許多數(shù)據(jù)挖掘結果無法直接給其他系統(tǒng)提供服務。針對以上問題,本文提出了面向電子商務應用的分布式數(shù)據(jù)挖掘服務的體系,集成分布式技術應用,提供給企業(yè)統(tǒng)一的挖掘結果格式的服務。
1 技術概要
1.1 移動Agent技術

 在分布式計算領域,把在分布式系統(tǒng)中持續(xù)自主發(fā)揮作用的,具有自主性、交互性、反應性、主動性特征的可移動計算實體稱為移動MA(Mobile Agent),目的是盡量把Agent靠近數(shù)據(jù)源,降低網(wǎng)絡通信負載。一個完整的Agent系統(tǒng)包括兩個部分:移動Agent和Agent服務環(huán)境。在Agent服務環(huán)境中,Agent不斷遷移和運行,通過Agent通信語言ACL(Agent Communication Language)與其他Agent協(xié)作通信。移動Agent的體系結構模型如圖1所示。

 圖1中,Agent利用環(huán)境交互模塊感知和作用外部環(huán)境;安全服務模塊執(zhí)行安全策略,負責Agent與外部環(huán)境的安全交互并阻止外部環(huán)境對Agent的非法訪問;任務求解模塊由運行模塊、相關推理方法和規(guī)則組成。Agent把移動過程中所獲取的知識及任務求解模塊保存在知識庫中;Agent在任務求解過程中,由內(nèi)部狀態(tài)集、約束條件及路由策略控制執(zhí)行。內(nèi)部狀態(tài)集控制執(zhí)行過程中的狀態(tài);約束條件約束Agent的行為和性能,路由策略用于滿足復雜和非確定任務的求解,既可以是靜態(tài)服務列表也可以是基于規(guī)則動態(tài)路由。
移動Agent的自主性和移動性是解決分布性、海量性數(shù)據(jù)處理的一種有效方法,能有效提高數(shù)據(jù)挖掘服務的智能性、并行性和穩(wěn)定性[2]。
1.2 Web Service
 Web Service 是一種面向服務的體系結構和基于標準的應用集成方式,其流程包括:定義抽象的服務、實現(xiàn)具體的服務、發(fā)布并查找相關的服務、實現(xiàn)服務實例選擇,最終實現(xiàn)可操作服務的使用;能將分布在Intranet/Internet分布式服務器上的應用集成到一起。Web Service體系結構包括三種角色:服務提供者、服務注冊用戶及服務注冊中心。服務提供者既是Web Service的提供者也是服務的擁有者,負責服務的發(fā)布、更新和回收。具體來說,定義Web Service的服務描述,將服務直接提供給服務用戶或者提交到服務注冊中心,服務注冊中心是連接服務提供者和服務注冊用戶的第三方平臺,匯集大量在線Web服務。Web Service具體實現(xiàn)是基于以往的Web技術,通過定義相關協(xié)議和標準來實現(xiàn),主要包括XML、SOAP(Simple Object Access Protocal)、WSDL(Web Services Description Language)、UDDI(Universal Description Discover and Integration)。
 通過Web Service將異構數(shù)據(jù)源處理服務標準化,便于將服務寄宿在不同的計算機系統(tǒng)環(huán)境中,避免數(shù)據(jù)挖掘時有大數(shù)據(jù)量的傳輸。
2 基于移動Agent和Web Service的數(shù)據(jù)挖掘
2.1 數(shù)據(jù)挖掘服務技術框架設計

 在電子商務應用中,數(shù)據(jù)主要以分布和異構的形式存在,數(shù)據(jù)挖掘服務需要能提供一種有效、可信、安全及擴展性比較好的數(shù)據(jù)挖掘服務解決方案。本文采用一種基于Web Service標準封裝數(shù)據(jù)挖掘算法組件、由移動Agent負責智能組合數(shù)據(jù)挖掘服務、實現(xiàn)數(shù)據(jù)挖掘服務與電子商務系統(tǒng)的松散耦合、便于數(shù)據(jù)挖掘服務的統(tǒng)一管理和維護的框架。這種結構能動態(tài)減輕分布式數(shù)據(jù)遷移量,滿足各種異構系統(tǒng)的數(shù)據(jù)挖掘服務請求。
 該架構可以抽象成由組合服務入口、服務組合代理(SAgent)和Web服務三個實體組成。用戶在組合服務入口輸入服務組合規(guī)范和初始參數(shù),系統(tǒng)將這些規(guī)范轉化為處理模式,并生成一個Agent來完成這個計劃;行為匹配算法將這個計劃轉化為SAgent的物理行為,Agent間通過ACL語言完成如克隆、復制、執(zhí)行、歸并等操作協(xié)作完成用戶服務請求,如圖2所示。具體可以劃分為5層:(1)底層是電子商務系統(tǒng)數(shù)據(jù)層。包含電子商務環(huán)境中不同的數(shù)據(jù)源,由不同的組件提供訪問服務;(2)數(shù)據(jù)挖掘服務組件層。主要在數(shù)據(jù)層上提供整個數(shù)據(jù)挖掘流程所必須的數(shù)據(jù)處理算法的組件;(3)數(shù)據(jù)挖掘服務組合層。根據(jù)不同的數(shù)據(jù)源組合和封裝相關的處理組件,并提供XML結構化的數(shù)據(jù)給語義推理層調用;(4)語義推理層。主要協(xié)調用戶請求和機器處理,服務推理邏輯解析用戶請求,根據(jù)本體知識庫已有的知識,標準化用戶請求,設置約束條件,本體知識庫中包含面向電子商務數(shù)據(jù)挖掘服務的統(tǒng)一的概念和關系的描述;(5)應用表示層主要是面向用戶的Web應用請求和應用程序請求。

 

 

2.2 數(shù)據(jù)挖掘服務評價體系設計
 為電子商務企業(yè)提供分布式數(shù)據(jù)挖掘服務,服務質量是一個重要的因素,服務質量從框架的服務推理邏輯、SAgent服務組合以及數(shù)據(jù)挖掘Web服務三個方面評價,服務質量概括為包括支撐服務質量和算法服務質量。支撐性服務質量指的是服務框架整體效果,包括可用度、響應時間、成功率、聲譽以及價格;算法服務質量主要指數(shù)據(jù)挖掘Web服務效果,是整個數(shù)據(jù)挖掘服務評價體系重要方面,包括吞吐量、可伸縮性、存儲空間、運行時間、魯棒性。服務質量可以從這兩個方面評價[3],如表1所示。

3 .NET平臺下框架技術實現(xiàn)分析
 電子商務分布式數(shù)據(jù)挖掘服務框架主要結合移動Agent和Web Service技術,Agent的遷移和服務的封裝是兩個關鍵問題,具體實現(xiàn)采用.NET技術。目前移動Agent開發(fā)主要在通信結構相同的兩端,采用Java語言的序列化和類裝載機制實現(xiàn)。但電子商務數(shù)據(jù)系統(tǒng)是分散的,無法保證同構性,而且對于常見協(xié)議支持較弱,難以在分布式環(huán)境中提供完整的服務。.NET是Microsoft XML Web services平臺,XML Web services支持應用程序在Internet上通信和數(shù)據(jù)共享,對于不同操作系統(tǒng)、設備或編程語言是透明的,能有效支持Internet協(xié)議和相關標準。
3.1 基于.NET移動Agent遷移
 移動Agent遷移主要是解決Agent程序體和數(shù)據(jù)在異構節(jié)點間的遷移和恢復問題。完整地移動Agent的數(shù)據(jù)狀態(tài)由代碼態(tài)、數(shù)據(jù)態(tài)和執(zhí)行態(tài)構成[4]。代碼態(tài)是指能完成Agent功能并做控制的任務程序代碼;數(shù)據(jù)態(tài)指的是Agent對象的一些全局變量和屬性,是對Agent的一些元數(shù)據(jù)的描述,如Agent標識、目的節(jié)點、遷移路徑等;執(zhí)行態(tài)指的是Agent執(zhí)行過程中需要保存的上下文信息。在實際遷移過程中,Agent代碼態(tài)和數(shù)據(jù)態(tài)分別可以在.NET平臺生成dll文件和結構化XML文件實現(xiàn)遷移;接收端可以利用.NET反射技術和XML類解析,還原Agent代碼態(tài)和數(shù)據(jù)態(tài)。因此,技術實現(xiàn)上,構建Agent代碼態(tài)類,管理這些類的管理類以及負責Agent代碼態(tài)類和數(shù)據(jù)態(tài)文件遷移的通信類。針對分布式環(huán)境文件傳輸,.NET平臺通過System.Net和System.Net.Socket命名空間提供網(wǎng)絡通信的類和方法;而對于XML文件的傳輸則通過System.XML命名空間提供的XmlWriter類和XmlReader類實現(xiàn)Agent數(shù)據(jù)態(tài)XML文件生成和解析。
3.2 基于WCF構建數(shù)據(jù)挖掘組件Web服務
 移動Agent要完成分布式數(shù)據(jù)挖掘服務,需要動態(tài)調用針對不同數(shù)據(jù)源的數(shù)據(jù)挖掘服務組件,Web服務組件實現(xiàn)采用SOA(Service Oriented Architecture)設計的WCF技術。WCF是微軟基于SOA而設計的技術架構, WCF技術能很好地開發(fā)分布式應用程序,支持HTTP、TCP、Named Pipe、MSMQ、Peer-To-Peer TCP等協(xié)議,能寄宿在IIS、Windows Service、Console、Windows Application等多種宿主(Host)中。技術實現(xiàn)上,一個具體的WCF服務由宿主、服務類和端點構成。宿主是指服務運行的運行環(huán)境。服務類是指具體的服務方法,在.NET平臺中采用[ServiceContract]特性聲明接口,或者直接聲明類。端點是WCF服務的一個重要組成,由地址(Adress)、綁定(Binding)、契約(Contract)構成。地址即標識消息發(fā)送的終點,綁定是描述消息的發(fā)送方式,契約是指消息包含的內(nèi)容、消息的組織和操作方式[5]。
 對于移動Agent所調用的Web服務利用WCF技術實現(xiàn),構建的服務能寄宿在多種環(huán)境中,支持多個通信協(xié)議。利用WCF創(chuàng)建Web Service分成4步:(1)引入命名空間System.ServiceModel和System.ServiceModel.Description; (2)定義服務類,將服務接口添加[ServiceContract]特性,將服務算法的方法添加[OperationContract]特性;(3)創(chuàng)建Host宿主。WCF的服務可以運行在程序、Windows服務或者asp.net上面,由于數(shù)據(jù)挖掘過程提供數(shù)據(jù)挖掘Web Service,WCF配置節(jié)點<system.serviceModel>終端,綁定協(xié)議選擇<endpoint address="…"binding="wsHttpBinding"contract="…">,將數(shù)據(jù)挖掘Web Service寄宿在IIS上;(4)創(chuàng)建WCF運行時間。
 本文針對電子商務系統(tǒng)提出了分布式數(shù)據(jù)挖掘服務框架和相應服務評價體系,利用分布式技術移動Agent解決電子商務環(huán)境中數(shù)據(jù)異構和分布的問題,將數(shù)據(jù)挖掘過程封裝成一個個服務寄宿在數(shù)據(jù)源端向移動Agent提供服務,為獨立的電子商務數(shù)據(jù)處理中心建設提供依據(jù)。
參考文獻
[1] ABDULLAH M. GHOSON A L. Decision tree induction & clustering techniques in SAS enterprise miner, SPSS clementine, and IBM intelligent miner-a comparative analysis[J]. International Journal of Management & Information Systems,2010,14(3):57-58.
[2] 陳珂,龐景中.基于移動Agent的分布式數(shù)據(jù)挖掘平臺的設計與實現(xiàn)[J].計算機應用與軟件,2011,28(7):183-184.
[3] 陳增科,肖基毅,陳靈娜,等.基于物元和QoS約束的數(shù)據(jù)挖掘服務選擇[J].計算機工程,2009,35(24):90-91.
[4] JAISANKAR N, SARAVANAN R, SWAMY K D. Intelligent intrusion detection system framework using mobile agents[J]. International Journal of Network Security & Its Applications (IJNSA),2009,1(2):73-74.
[5] 韓旭,王海波,柳克俊.基于.NET FrameworkWCF的面向服務SOA中間件設計[J].小型微型計算機系統(tǒng),2010,31(12):2359-2361.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉載。