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

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

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

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

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

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

 

 

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

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

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