網(wǎng)絡(luò)社區(qū)中的數(shù)據(jù)交換引擎設(shè)計(jì)_第1頁
網(wǎng)絡(luò)社區(qū)中的數(shù)據(jù)交換引擎設(shè)計(jì)_第2頁
網(wǎng)絡(luò)社區(qū)中的數(shù)據(jù)交換引擎設(shè)計(jì)_第3頁
網(wǎng)絡(luò)社區(qū)中的數(shù)據(jù)交換引擎設(shè)計(jì)_第4頁
網(wǎng)絡(luò)社區(qū)中的數(shù)據(jù)交換引擎設(shè)計(jì)_第5頁
已閱讀5頁,還剩63頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

網(wǎng)絡(luò)社區(qū)中的數(shù)據(jù)交換引擎設(shè)計(jì)摘要隨著互聯(lián)網(wǎng)應(yīng)用的飛速增長(zhǎng),網(wǎng)絡(luò)社區(qū)在互聯(lián)網(wǎng)上興起。網(wǎng)絡(luò)社區(qū)平臺(tái)開放,其數(shù)據(jù)具有廣泛的異構(gòu)性,這導(dǎo)致數(shù)據(jù)共享困難,數(shù)據(jù)的價(jià)值無法得到有效的發(fā)揮和利用。要解決網(wǎng)絡(luò)社區(qū)中的信息共享,本質(zhì)上是解決數(shù)據(jù)的異構(gòu)問題,而數(shù)據(jù)交換是解決數(shù)據(jù)異構(gòu)問題的關(guān)鍵技術(shù)。因此,如何實(shí)現(xiàn)網(wǎng)絡(luò)社區(qū)中的數(shù)據(jù)交換具有非常重大的應(yīng)用價(jià)值和現(xiàn)實(shí)意義。本文對(duì)數(shù)據(jù)交換技術(shù)的發(fā)展和國(guó)內(nèi)外現(xiàn)狀進(jìn)行了分析和總結(jié),詳細(xì)對(duì)三種數(shù)據(jù)交換技術(shù)進(jìn)行了介紹:基于數(shù)據(jù)庫(kù)工具的數(shù)據(jù)交換、數(shù)據(jù)交換中間件和基于XML等中間文本的數(shù)據(jù)交換。這些傳統(tǒng)的數(shù)據(jù)交換技術(shù)在網(wǎng)絡(luò)社區(qū)中具有一定的局限性,它們更多地偏重于數(shù)據(jù)交換功能的實(shí)現(xiàn),且主要針對(duì)企業(yè)系統(tǒng)中的數(shù)據(jù)集成。而在網(wǎng)絡(luò)社區(qū)中,數(shù)據(jù)的結(jié)構(gòu)更為多樣、更新速度更快、數(shù)據(jù)私密性更強(qiáng),傳統(tǒng)的數(shù)據(jù)交換技術(shù)已經(jīng)無法很好的適應(yīng)網(wǎng)絡(luò)社區(qū)中的數(shù)據(jù)交換需求。為解決網(wǎng)絡(luò)社區(qū)中的數(shù)據(jù)交換問題,考慮到網(wǎng)絡(luò)社區(qū)環(huán)境及數(shù)據(jù)的特殊性,本文借鑒基于中間文本的數(shù)據(jù)交換思想,引入可視化數(shù)據(jù)管理技術(shù),設(shè)計(jì)了一個(gè)可通過用戶配置的可靠、有效的數(shù)據(jù)交換引擎。本文構(gòu)建的數(shù)據(jù)交換引擎主要由四個(gè)模塊組成,分別是可視化數(shù)據(jù)源配置模塊、數(shù)據(jù)輸入模塊、數(shù)據(jù)輸出模塊、系統(tǒng)日志模塊。其中,重點(diǎn)對(duì)數(shù)據(jù)輸入模塊和數(shù)據(jù)輸出模塊中的相關(guān)技術(shù)進(jìn)行了詳細(xì)的研究。本文在數(shù)據(jù)交換引擎中提供了友好的可視化的數(shù)據(jù)源配置界面,采用日志表與觸發(fā)器結(jié)合的方法監(jiān)控?cái)?shù)據(jù)變化并提取數(shù)據(jù)變化內(nèi)容,引入MsgPack技術(shù)將數(shù)據(jù)交換內(nèi)容序列化為二進(jìn)制格式,提高數(shù)據(jù)交換效率,在數(shù)據(jù)傳輸過程中采用加密及可靠傳輸策略保障了數(shù)據(jù)的隱私性和安全性。最后,本文以武漢大學(xué)教育社區(qū)為背景,進(jìn)行了數(shù)據(jù)交換引擎仿真實(shí)驗(yàn)。仿真實(shí)驗(yàn)系統(tǒng)采用JavaEE架構(gòu),將數(shù)據(jù)交換過程中產(chǎn)生的數(shù)據(jù)交換內(nèi)容描敘對(duì)象序列化為二進(jìn)制格式文件,成功實(shí)現(xiàn)了Linux下的Oracle數(shù)據(jù)庫(kù)系統(tǒng)與Windows7下的MySQL數(shù)據(jù)庫(kù)系統(tǒng)之間的有效數(shù)據(jù)交換和數(shù)據(jù)同步,驗(yàn)證了本文所設(shè)計(jì)的數(shù)據(jù)交換引擎是網(wǎng)絡(luò)社區(qū)下數(shù)據(jù)交換的有效解決方案。關(guān)鍵詞:網(wǎng)絡(luò)社區(qū);異構(gòu)數(shù)據(jù)交換;可視化配置;數(shù)據(jù)變化捕捉;

ABSTRACTWiththerapidgrowthofInternetapplications,OnlineSocialNetworks(OSN)riseontheInternet.TheOSNhasopenplatform,andisfilledwithheterogeneousdata,whichleadtheproblemofdatasharingandthevalueofthedatacannotbewellused.Therefore,inordertoachieveinformationsharinginOSN,itisessentialtosolvetheproblemoftheheterogeneityofdatabetweensystems.Dataexchangeisoneofthetechnicalmethodstosolvetheproblemofdataheterogeneity.Thus,howtorealizethedataexchangeinOSNisofgreatapplicationvalueandpracticalsignificances.Inthisthesis,thecurrentresearchesanddevelopmentsofdataexchangetechnologyhomeandabroadarestudied.Wemainlyintroduced3kindsofdataexchangetechnology:DataExchangeSystembasedonthedatabasetool,DataExchangeMiddleware,andDataExchangeSystembasedonXML.However,thereisagreatresistanceinthesetraditionalmethodsortools.Theypaidgreadattentionontherealizationofthefunctionalityofdataexchange,andtheyaremoresuitedtothecaseofdataexchangeinenterpriseworld.ButdatainOSNhavemorevariousforms,morefreeexpression,moreprivacyandusersofOSNdemandbetteruserexperience.Aboveall,traditionaldataexchangetechnologyisnotaverygoodsolutiontothedataexchangeinOSN.ConsideringoftheparticularityofdatainOSN,thispaperdesignedanewdataexchangeenginetosolvetheproblemofdataexchangeinOSN,whichprovidesavisualeditortoeasilyconfiguredatasources.Thisdataexchangeengineismainlycomposedoffourmodules:visuallyconfiguringofdatasource,datainputmodule,dataoutputmodule,andsystemlogmodule.Amongthem,wepaidmoreattentiontotherelatedtechnologyofdatainputmoduleanddataoutputmodule.Inthispaper,weprovidedafriendlyvisualeditorforthedatasourceconfiguration,acombinedmethodoflogtablesandtriggersispropsedtomonitordatachanges.Toachievequickerdatatransfer,MsgPacktechnologyisproposedtoSerializingdatatobinaryformat.Intheprocessofdatatransmission,weuseencryptionandreliabletransmissionstrategytoensuretheprivacyandsecurityofdata.Finally,thispapercarriedoutadataexchangeenginesimulationexperiment,takingWuHanUniversityeducationcommunityasthebackground.SimulationsystemusesJavaEEarchitecture,introduceMsgPackserializationtooltoserializetheexchangecontenttobinaryfileintheprocessofdataexchange.ThesystemrealizedthedataexchangebetweentheMySQLdatabasesystemunderWindows7andOracledatabasesystemunderLinuxsuccessfullyandeffectively,whickverifiedthatthedesignofdataexchangeengineproposedinthispaperisaneffectivesolutionofdataexchangeinOSN,itcanprovideeasierdatasourceconfigurationandquickerdatatransferthanthetraditionaldataexchangescheme.Keywords:OnlineSocialNetworks;heterogeneousdataexchange;visualconfiguration;DataChangeCapture;目錄摘要 .2.3中的分析可知,RSA算法是一種非對(duì)稱密鑰算法,在加密方和解密方分別使用不同的密鑰(公開密鑰RK1和專用密鑰RK2)對(duì)數(shù)據(jù)進(jìn)行加密和解密。在數(shù)據(jù)接收方生成公鑰和私鑰,將公鑰傳送給數(shù)據(jù)發(fā)送方(數(shù)據(jù)源服務(wù)器),私鑰自己保留,用于解密。生成公鑰和私鑰方法的核心是歐拉定理,其過程如下:隨機(jī)選擇兩個(gè)不等的質(zhì)數(shù)p和q(數(shù)值不宜太?。?;計(jì)算p、q的乘積n;通過下述歐拉函數(shù),計(jì)算大于0小于n,且與n互質(zhì)的整數(shù)的個(gè)數(shù)φ(n),φ(n)=φ(p)φ(q)=(p-1)(q-1);在1與φ(n)之間隨機(jī)選擇一個(gè)與φ(n)互質(zhì)的整數(shù)e;根據(jù)以下公式,計(jì)算e相對(duì)于φ(n)的模反元素d,d≡e-1(modφ(n));將n和e封裝成公鑰,n和d封裝成私鑰。由以上過程可以看出,密鑰長(zhǎng)度越大,密鑰被破解的可能性就越低,這種方式很好的保護(hù)了數(shù)據(jù)的安全性。形成公鑰和私鑰之后,就可分別在數(shù)據(jù)發(fā)送方和接收方進(jìn)行加密和解密。當(dāng)需要對(duì)明文m進(jìn)行加密時(shí),我們使用n和e作為加密密鑰,加密過程即為計(jì)算下式中的c:me

≡c(modn);數(shù)據(jù)加密方在計(jì)算出加密后的密文c后,將密文傳輸給數(shù)據(jù)接收方。在解密時(shí),通過下面的式子計(jì)算出被加密的原文m,cd≡m(modn);至此,完成加密和解密的全過程。密文傳輸根據(jù)REF_Ref385322570\r\h節(jié)中的分析,本文采用tcp套接字編程進(jìn)行數(shù)據(jù)的可靠傳輸,本文數(shù)據(jù)傳輸方案設(shè)計(jì)如下:在數(shù)據(jù)中心運(yùn)行一個(gè)單獨(dú)的線程監(jiān)聽某個(gè)端口;數(shù)據(jù)源也運(yùn)行一個(gè)獨(dú)立的線程向數(shù)據(jù)中心發(fā)起連接請(qǐng)求;建立可靠連接后,數(shù)據(jù)源發(fā)送數(shù)據(jù);數(shù)據(jù)中心的監(jiān)聽端口收到連接后,建立一個(gè)新的線程接收來自數(shù)據(jù)源的數(shù)據(jù)。本文通過java的.Socket類來實(shí)現(xiàn)對(duì)tcp的基礎(chǔ)操作,這些基礎(chǔ)操作包括連接的建立、數(shù)據(jù)傳輸、連接的關(guān)閉以及socket選項(xiàng)的設(shè)置,而socket類的輸入輸出均通過流的方式實(shí)現(xiàn)。在創(chuàng)建socket對(duì)象時(shí),需指定本機(jī)的ip、端口號(hào)以及遠(yuǎn)程連接服務(wù)器的地址和連接端口號(hào),通過REF_Ref386279832\h表43中列出的方法實(shí)現(xiàn)與數(shù)據(jù)讀寫相關(guān)的常用方。表STYLEREF1\s4SEQ表_\*ARABIC\s13javasocket編程接口說明方法功能publicInetAddressgetInetAddress()獲取創(chuàng)建socket連接時(shí)指定服務(wù)器的IP地址publicInetAddressgetLocalAddress()獲取創(chuàng)建socket連接時(shí)客戶端主機(jī)的IP地址publicintgetPort()獲取創(chuàng)建Socket連接時(shí)指定的服務(wù)器的端口號(hào)publicintgetLocalPort()獲取創(chuàng)建Socket連接時(shí)客戶端的端口號(hào)publicInputStreamgetInputStream()throwsIOException為當(dāng)前的socket對(duì)象創(chuàng)建輸入流publicOutputStreamgetOutputStream()throwsIOException為當(dāng)前的socket對(duì)象創(chuàng)建輸出流publicStringtoString()轉(zhuǎn)換該Socket成一個(gè)String.字符串表示publicsynchronizedvoidclose()throwsIOException關(guān)閉建立的Socket連接。當(dāng)通信結(jié)束時(shí),應(yīng)調(diào)用該方法關(guān)閉Socket連接。若在關(guān)閉Socket連接時(shí)發(fā)生I/O錯(cuò)誤則拋出IOException異常在服務(wù)器端(數(shù)據(jù)中心),java提供ServerSocket類來響應(yīng)客戶端(數(shù)據(jù)源)的連接請(qǐng)求,ServerSocket類提供的常用方法如REF_Ref386279853\h表44所示。表STYLEREF1\s4SEQ表_\*ARABIC\s14javaServerSocket編程接口說明方法功能publicInetAddressgetInetAddress()獲取服務(wù)器端Socket的IP地址publicintgetLocalPort()獲取服務(wù)器正偵聽的端口號(hào)publicSocketaccept()throwsIOException在服務(wù)器端指定端口偵聽客戶端發(fā)出的連接請(qǐng)求并與之連接。若等待連接時(shí)發(fā)生I/O錯(cuò)誤則拋出IOException異常publicStringtoString()返回該socket的字符串表示publicsynchronizedvoidclose()throwsIOException關(guān)閉該socket連接。當(dāng)服務(wù)器需要關(guān)閉,不處理任何其他入站連接時(shí),調(diào)用該方法。若在關(guān)閉Socket連接時(shí)發(fā)生I/O錯(cuò)誤則拋出IOException異常本文中TCP連接建立的步驟如下,此步驟是在數(shù)據(jù)交換內(nèi)容的數(shù)據(jù)包已經(jīng)準(zhǔn)備好的條件下進(jìn)行的。數(shù)據(jù)中心端:創(chuàng)建一個(gè)等待連接的ServerSocket對(duì)象;調(diào)用ServerSocket對(duì)象的accept()方法監(jiān)聽客戶端的連接請(qǐng)求。連接成功后返回一個(gè)用于通信的Socket對(duì)象;創(chuàng)建與該Socket對(duì)象綁定的數(shù)據(jù)輸入輸出流;通過數(shù)據(jù)輸入輸出流接收來自數(shù)據(jù)源端的數(shù)據(jù),以完成通信;當(dāng)客戶端斷開連接時(shí),關(guān)閉各個(gè)流對(duì)象,結(jié)束通信。2-5可循環(huán)執(zhí)行。數(shù)據(jù)源端:創(chuàng)建指定服務(wù)端(數(shù)據(jù)中心服務(wù)器)上指定端口號(hào)的Socket對(duì)象;創(chuàng)建與Socket對(duì)象綁定的數(shù)據(jù)輸入輸出流;通過數(shù)據(jù)輸入輸出流向數(shù)據(jù)中心發(fā)送加密后的數(shù)據(jù),以完成通信;關(guān)閉連接和各個(gè)流對(duì)象,結(jié)束數(shù)據(jù)通信。數(shù)據(jù)輸出模塊數(shù)據(jù)輸出模塊的功能主要是數(shù)據(jù)中心接收到來自數(shù)據(jù)源的數(shù)據(jù)后,對(duì)數(shù)據(jù)進(jìn)行解密和反序列化得到描述數(shù)據(jù)交換內(nèi)容的數(shù)據(jù)對(duì)象,然后通過JDBC將數(shù)據(jù)導(dǎo)入到數(shù)據(jù)中心的數(shù)據(jù)庫(kù)中。數(shù)據(jù)解密和反序列化的方法及過程在前文中已經(jīng)進(jìn)行了詳細(xì)的描述和介紹,本節(jié)將不再贅述。數(shù)據(jù)輸出模塊需調(diào)用數(shù)據(jù)接口模塊中提供的數(shù)據(jù)操作接口。在導(dǎo)入數(shù)據(jù)到目的數(shù)據(jù)庫(kù)中時(shí),需要讀取描述數(shù)據(jù)庫(kù)系統(tǒng)的Java描述對(duì)象,通過配置進(jìn)行完成數(shù)據(jù)庫(kù)的連接以及各個(gè)字段映射字段的轉(zhuǎn)換。通過描述數(shù)據(jù)交換過程的對(duì)象,分步驟導(dǎo)入數(shù)據(jù)。如REF_Ref388857366\h圖47中,為了得到最終導(dǎo)入的數(shù)據(jù)對(duì)象Po3,需根據(jù)用戶配置的數(shù)據(jù)表關(guān)系,分步驟分別讀取數(shù)據(jù)源描述對(duì)象Po1、Po2、Po4、Po5等數(shù)據(jù)對(duì)象內(nèi)的數(shù)據(jù),之后拼裝成目的數(shù)據(jù)表可兼容的數(shù)據(jù)對(duì)象Po3。圖STYLEREF1\s4SEQ圖\*ARABIC\s17導(dǎo)入數(shù)據(jù)對(duì)象生成流程在進(jìn)行數(shù)據(jù)導(dǎo)入時(shí),還需要處理屬性類型的兼容性問題,大部分?jǐn)?shù)據(jù)庫(kù)系統(tǒng)中的數(shù)據(jù)類型大致可以分為數(shù)字、日期(時(shí)間)、字符串(字符)三種類型,在部分DBMS中,日期類型被處理為數(shù)字類型或字符串類型,為了保證數(shù)據(jù)的統(tǒng)一性,簡(jiǎn)化交換過程,在此將日期類型數(shù)據(jù)統(tǒng)一轉(zhuǎn)為字符串類型。在進(jìn)行數(shù)據(jù)導(dǎo)入時(shí),只需考慮字符類型的屬性和非字符類型的屬性,需對(duì)各個(gè)字段之間的轉(zhuǎn)換進(jìn)行處理。本章小結(jié)本章詳細(xì)描述了數(shù)據(jù)交換引擎的設(shè)計(jì)目標(biāo)和總體架構(gòu),數(shù)據(jù)交換引擎由四個(gè)主要部分構(gòu)成:可視化數(shù)據(jù)源配置模塊、數(shù)據(jù)輸入模塊、數(shù)據(jù)輸出模塊、系統(tǒng)日志模塊。然后,本章分小節(jié)對(duì)這幾個(gè)主要的模塊進(jìn)行了詳細(xì)的介紹。REF_Ref385227193\r\h4.2節(jié)介紹了基于MsgPack的數(shù)據(jù)標(biāo)準(zhǔn),對(duì)數(shù)據(jù)交換內(nèi)容等數(shù)據(jù)結(jié)構(gòu)進(jìn)行了設(shè)計(jì),同時(shí)對(duì)MsgPack技術(shù)在本文中的應(yīng)用形式進(jìn)行了分析和介紹。REF_Ref385427928\r\h4.3節(jié)對(duì)可視化的數(shù)據(jù)管理技術(shù)進(jìn)行了介紹,同時(shí),分步驟對(duì)本文可視化數(shù)據(jù)源配置的界面進(jìn)行了說明,詳細(xì)介紹了可視化數(shù)據(jù)源配置的過程。REF_Ref321941426\r\h4.4節(jié)和REF_Ref385489545\r\h4.5節(jié)分別介紹了本文的兩個(gè)核心模塊:數(shù)據(jù)輸入模塊和數(shù)據(jù)輸出模塊。在數(shù)據(jù)輸入模塊,通過JDBC來整合數(shù)據(jù)接口模塊的所有功能;使用日志法與觸發(fā)器法結(jié)合的方式進(jìn)行監(jiān)控?cái)?shù)據(jù)變化,在獲得數(shù)據(jù)變更內(nèi)容后,進(jìn)行MsgPack數(shù)據(jù)序列化;在進(jìn)行數(shù)據(jù)傳輸前,通過TripleDES算法對(duì)數(shù)據(jù)進(jìn)行加密,同時(shí)使用RSA算法對(duì)三級(jí)密鑰進(jìn)行加密,使用TCP套接字將數(shù)據(jù)傳輸至數(shù)據(jù)接收方。在數(shù)據(jù)中心輸出模塊,先對(duì)數(shù)據(jù)進(jìn)行解密和反序列化,然后調(diào)用數(shù)據(jù)接口模塊中的接口,將數(shù)據(jù)導(dǎo)入到數(shù)據(jù)中心的數(shù)據(jù)庫(kù)表中。數(shù)據(jù)交換引擎仿真系統(tǒng)的實(shí)驗(yàn)及分析根據(jù)前文的分析,本文以教育社區(qū)為背景,在此基礎(chǔ)上搭建了數(shù)據(jù)交換引擎仿真系統(tǒng)對(duì)本文的工作進(jìn)行了分析和驗(yàn)證。實(shí)驗(yàn)環(huán)境準(zhǔn)備本文在window環(huán)境下用Java語言開發(fā)了實(shí)驗(yàn)平臺(tái),實(shí)驗(yàn)系統(tǒng)開發(fā)環(huán)境如REF_Ref386279945\h表51所示:表STYLEREF1\s5SEQ表_\*ARABIC\s11實(shí)驗(yàn)平臺(tái)開發(fā)環(huán)境操作系統(tǒng)Windows7開發(fā)語言Java、Jsp、html、css、javascriptIDEMyEclipse8.5開發(fā)架構(gòu)JavaEE實(shí)驗(yàn)系統(tǒng)完成將武漢大學(xué)教務(wù)部中的部分教師、學(xué)生及課程的數(shù)據(jù)推送至教育社區(qū)數(shù)據(jù)中心,其運(yùn)行環(huán)境如REF_Ref386279953\h表52所示。表STYLEREF1\s5SEQ表_\*ARABIC\s12實(shí)驗(yàn)平臺(tái)運(yùn)行環(huán)境實(shí)驗(yàn)環(huán)境源數(shù)據(jù)系統(tǒng)目標(biāo)數(shù)據(jù)系統(tǒng)操作系統(tǒng)CentOS6.0Windows7數(shù)據(jù)庫(kù)系統(tǒng)OracleMySQL內(nèi)存16G4G數(shù)據(jù)交換平臺(tái)搭建過程實(shí)驗(yàn)步驟本仿真系統(tǒng)針對(duì)教育社區(qū)進(jìn)行數(shù)據(jù)交換實(shí)驗(yàn),驗(yàn)證系統(tǒng)的有效性,保證系統(tǒng)的可擴(kuò)展性,方便后續(xù)教育社區(qū)的應(yīng)用接入。本次實(shí)驗(yàn)步驟如下:準(zhǔn)備實(shí)驗(yàn)環(huán)境,在教育社區(qū)的數(shù)據(jù)中心搭建實(shí)驗(yàn)平臺(tái),安裝開發(fā)及數(shù)據(jù)分析所需的環(huán)境,包括MyEclipse、Tomcat、MySQL、MsgPack等,建立與教務(wù)系統(tǒng)類似的仿真環(huán)境;搭建數(shù)據(jù)交換仿真系統(tǒng)各個(gè)模塊;分析數(shù)據(jù)交換內(nèi)容,整理武漢大學(xué)教務(wù)部中的用戶數(shù)據(jù)、課程數(shù)據(jù)及資源數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu),與數(shù)據(jù)中心的數(shù)據(jù)進(jìn)行對(duì)應(yīng),設(shè)計(jì)數(shù)據(jù)交換相關(guān)對(duì)象;配置數(shù)據(jù)源及目的數(shù)據(jù)庫(kù),進(jìn)行數(shù)據(jù)交換驗(yàn)證;針對(duì)數(shù)據(jù)增加、修改、刪除等操作分別對(duì)數(shù)據(jù)交換的有效性進(jìn)行驗(yàn)證;分析實(shí)驗(yàn)結(jié)果。數(shù)據(jù)準(zhǔn)備本實(shí)驗(yàn)系統(tǒng)選取武漢大學(xué)教務(wù)系統(tǒng)中的課程信息作為實(shí)驗(yàn)數(shù)據(jù),在教育社區(qū)中建立課程表存儲(chǔ)課程數(shù)據(jù)。在系統(tǒng)初始化時(shí),需將教務(wù)系統(tǒng)中的課程信息導(dǎo)入教育社區(qū)中的課程表中,在系統(tǒng)運(yùn)行期間,需監(jiān)控?cái)?shù)據(jù)變化,保證兩邊的數(shù)據(jù)同步。實(shí)驗(yàn)中用到的數(shù)據(jù)交換相關(guān)內(nèi)容描述對(duì)象如下。圖STYLEREF1\s5SEQ圖\*ARABIC\s11實(shí)驗(yàn)數(shù)據(jù)關(guān)系說明數(shù)據(jù)庫(kù)系統(tǒng)信息描述//數(shù)據(jù)源DataBasesourceDB=newDataBase();sourceDB.setDbType("Oracle");sourceDB.setDbHost("5");sourceDB.setDbPort(12095);sourceDB.setDbUser("educate");sourceDB.setDbPsw("123456");//目的數(shù)據(jù)庫(kù)DataBasedesDB=newDataBase();desDB.setDbType("MySQL");desDB.setDbHost("4");desDB.setDbPort(3306);desDB.setDbUser("root");desDB.setDbPsw("123456");源數(shù)據(jù)信息描述//數(shù)據(jù)表T_CJGL_LESSONHEAD2012FieldlessionId=newField();lessionId.setFieldName("lessionId");lessionId.setFieldType("integer");lessionId.setFieldLength(32);lessionId.setIsPrimaryKey(true);lessionId.setIsNull(false);lessionId.setDefault(null);FieldteacherNum=newField();teacherNum.setFieldName("teacherNum");teacherNum.setFieldType("char");teacherNum.setFieldLength(32);teacherNum.setIsPrimaryKey(false);teacherNum.setIsNull(false);teacherNum.setDefault(0);FieldteacherName=newField();teacherName.setFieldName("teacherName");teacherName.setFieldType("varchar");teacherName.setFieldLength(64);teacherName.setIsPrimaryKey(false);teacherName.setIsNull(true);teacherName.setDefault(null);FieldmaxStudentNum=newField();maxStudentNum.setFieldName("maxStudentNum");maxStudentNum.setFieldType("integer");maxStudentNum.setFieldLength(32);maxStudentNum.setIsPrimaryKey(false);maxStudentNum.setIsNull(true);maxStudentNum.setDefault(0);FieldapplyNum=newField();applyNum.setFieldName("applyNum");applyNum.setFieldType("integer");applyNum.setFieldLength(32);applyNum.setIsPrimaryKey(false);applyNum.setIsNull(true);applyNum.setDefault(0);TabletableOne=newTable();tableOne.setTableName("T_CJGL_LESSONHEAD2012");List<Field>fields=newArrayList<Field>();fields.add(lessionId);fields.add(teacherName);fields.add(teacherNum);fields.add(maxStudentNum);fields.add(applyNum);//數(shù)據(jù)表T_RES_LESSONFieldplanId=newField();planId.setFieldName("planId");planId.setFieldType("integer");planId.setFieldLength(32);planId.setIsPrimaryKey(true);planId.setIsNull(false);planId.setDefault(0);FieldlessonName=newField();lessonName.setFieldName("lessonName");lessonName.setFieldType("varchar");lessonName.setFieldLength(64);lessonName.setIsPrimaryKey(false);lessonName.setIsNull(true);lessonName.setDefault(0);TabletableTwo=newTable();tableTwo.setTableName("T_RES_LESSON");List<Field>fields_two=newArrayList<Field>();fields_two.add(planId);fields_two.add(lessonName);//關(guān)系表T_RES_PLANTabletableThree=newTable();tableTwo.setTableName("T_RES_PLAN");List<Field>fields_three=newArrayList<Field>();fields_three.add(planId);fields_three.add(lessonId);目的數(shù)據(jù)表信息描述//目的表edu_lessonFieldkeTouId=newField();keTouId.setFieldName("keTouId");keTouId.setFieldType("integer");keTouId.setFieldLength(32);keTouId.setIsPrimaryKey(true);keTouId.setIsNull(false);keTouId.setDefault(0);FieldkeChengMingCheng=newField();keChengMingCheng.setFieldName("keChengMingCheng");keChengMingCheng.setFieldType("varchar");keChengMingCheng.setFieldLength(64);keChengMingCheng.setIsPrimaryKey(false);keChengMingCheng.setIsNull(true);keChengMingCheng.setDefault(0);FieldchuangJianZhe=newField();chuangJianZhe.setFieldName("chuangJianZhe");chuangJianZhe.setFieldType("integer");chuangJianZhe.setFieldLength(32);chuangJianZhe.setIsPrimaryKey(false);chuangJianZhe.setIsNull(false);chuangJianZhe.setDefault(0);FieldchuangJianZheName=newField();chuangJianZheName.setFieldName("chuangJianZheName");chuangJianZheName.setFieldType("varchar");chuangJianZheName.setFieldLength(64);chuangJianZheName.setIsPrimaryKey(false);chuangJianZheName.setIsNull(true);chuangJianZheName.setDefault(null);FieldxueShengRenShu=newField();xueShengRenShu.setFieldName("xueShengRenShu");xueShengRenShu.setFieldType("integer");xueShengRenShu.setFieldLength(32);xueShengRenShu.setIsPrimaryKey(false);xueShengRenShu.setIsNull(true);xueShengRenShu.setDefault(0);TabletableDes=newTable();tableDes.setTableName("edu_lesson");List<Field>fields_des=newArrayList<Field>();fields_des.add(keTouId);fields_des.add(keChengMingCheng);fields_des.add(chuangJianZhe);fields_des.add(chuangJianZheName);fields_des.add(xueShengRenShu);數(shù)據(jù)交換測(cè)試結(jié)果分析實(shí)驗(yàn)過程及結(jié)果分析根據(jù)上一節(jié)中對(duì)數(shù)據(jù)源、目的數(shù)據(jù)庫(kù)、數(shù)據(jù)交換內(nèi)容及過程的定義,數(shù)據(jù)交換引擎在實(shí)驗(yàn)過程中對(duì)數(shù)據(jù)的變化進(jìn)行了監(jiān)控,記錄了相應(yīng)的數(shù)據(jù)變化日志并產(chǎn)生了相應(yīng)的數(shù)據(jù)更新文件內(nèi)容。MsgPack序列化及加密等過程正常運(yùn)行,保證了數(shù)據(jù)傳輸?shù)男屎桶踩?。系統(tǒng)初始化系統(tǒng)初始化過程是指從源數(shù)據(jù)向目標(biāo)數(shù)據(jù)庫(kù)的導(dǎo)入初始數(shù)據(jù)過程,此時(shí)目標(biāo)數(shù)據(jù)庫(kù)中沒有任何數(shù)據(jù),僅對(duì)數(shù)據(jù)庫(kù)表結(jié)構(gòu)進(jìn)行了定義。系統(tǒng)根據(jù)上述配置中所定義的數(shù)據(jù)映射關(guān)系,讀取源數(shù)據(jù)庫(kù)中的數(shù)據(jù)并導(dǎo)入目的數(shù)據(jù)庫(kù)中。通過可視化數(shù)據(jù)配置界面對(duì)數(shù)據(jù)之間的映射關(guān)系及實(shí)體之間的關(guān)系進(jìn)行配置。配置過程如REF_Ref388857444\h圖52所示。圖STYLEREF1\s5SEQ圖\*ARABIC\s12表關(guān)系配置圖STYLEREF1\s5SEQ圖\*ARABIC\s13屬性映射關(guān)系配置數(shù)據(jù)關(guān)系配置完成后,系統(tǒng)對(duì)其進(jìn)行分析,并產(chǎn)生相應(yīng)Java對(duì)象對(duì)數(shù)據(jù)交換流程進(jìn)行描述,如下:ChangeDatadataMapTmp=newChangeData();dataMapTmp.setSourceSystem(sourceDB);dataMapTmp.setDesSystem(sourceDB);dataMapTmp.setSourceTable(tableOne);dataMapTmp.setDesTable(tableTwo);List<Map(Field,Field)>fieldsMapping1=newArrayList<Map(Field,Field)>();fieldsMapping1.put(lessonName,lessonNames);dataMapTmp.setChangeMap(fieldsMapping1);ChangeDatadataMap=newChangeData();dataMap.setSourceSystem(sourceDB);dataMap.setDesSystem(desDB);dataMap.setSourceTable(tableOne);dataMap.setDesTable(tableDes);List<Map(Field,Field)>fieldsMapping2=newArrayList<Map(Field,Field)>();fieldsMapping2.put(lessionId,keTouId);fieldsMapping2.put(teacherNum,chuangJianZhe);fieldsMapping2.put(teacherName,chuangJianZheName);fieldsMapping2.put(maxStudentNum,xueShengRenShu);dataMap.setChangeMap(fieldsMapping2);ChangeDatadataMap2=newChangeData();dataMap2.setSourceSystem(sourceDB);dataMap2.setDesSystem(desDB);dataMap2.setSourceTable(tableTwo);dataMap2.setDesTable(tableDes);List<Map(Field,Field)>fieldsMapping3=newArrayList<Map(Field,Field)>();fieldsMapping3.put(lessonName,keChengMingCheng);dataMap2.setChangeMap(fieldsMapping3);系統(tǒng)根據(jù)數(shù)據(jù)交換流程,以及源數(shù)據(jù)的配置文件,讀取源數(shù)據(jù)庫(kù)中的相應(yīng)數(shù)據(jù)內(nèi)容,將源數(shù)據(jù)中的數(shù)據(jù)導(dǎo)入目的數(shù)據(jù)中。數(shù)據(jù)導(dǎo)入過程中產(chǎn)生的中間文件包括:①.數(shù)據(jù)交換內(nèi)容序列化結(jié)果文件;②.數(shù)據(jù)交換內(nèi)容DES加密文件;③.DES密鑰加密文件;④.數(shù)據(jù)解密并反序列化后的結(jié)果文件。數(shù)據(jù)導(dǎo)入完成后,對(duì)比源數(shù)據(jù)庫(kù)系統(tǒng)與目的數(shù)據(jù)庫(kù)中的內(nèi)容發(fā)現(xiàn)系統(tǒng)可正確進(jìn)行數(shù)據(jù)導(dǎo)入工作,完成系統(tǒng)初始化。新增數(shù)據(jù)測(cè)試在源數(shù)據(jù)庫(kù)中和目的數(shù)據(jù)庫(kù)中分別新增不同的數(shù)據(jù),驗(yàn)證數(shù)據(jù)是否能相互同步。在源數(shù)據(jù)庫(kù)表T_CJGL_LESSONHEAD2012中增加一條課頭數(shù)據(jù):102116788李婷大學(xué)生形象設(shè)計(jì)10412……T_RES_PLAN中相應(yīng)增加一條數(shù)據(jù)10211在目的數(shù)據(jù)庫(kù)表中新增一條不同的數(shù)據(jù):104大學(xué)生就業(yè)指導(dǎo)116928王鑫105……在源數(shù)據(jù)服務(wù)器中產(chǎn)生日志數(shù)據(jù)10T_CJGL_LESSONHEAD2012102ADD2014-04-1015:20:28……11T_RES_PLAN102ADD2014-04-1015:20:28……在目的數(shù)據(jù)庫(kù)服務(wù)器中產(chǎn)生日志數(shù)據(jù)105edu_lesson104ADD2014-04-1015:34:20……系統(tǒng)讀取日志內(nèi)容,將源數(shù)據(jù)庫(kù)中的數(shù)據(jù)讀取出來推送至目的數(shù)據(jù)庫(kù)中,目的數(shù)據(jù)庫(kù)根據(jù)系統(tǒng)日志內(nèi)容添加數(shù)據(jù)并將數(shù)據(jù)同步至源數(shù)據(jù)庫(kù)中。更新數(shù)據(jù)測(cè)試在源數(shù)據(jù)庫(kù)和目的數(shù)據(jù)庫(kù)中分別更新相同的數(shù)據(jù),驗(yàn)證產(chǎn)生數(shù)據(jù)沖突時(shí),系統(tǒng)能否正確地處理沖突,并更新數(shù)據(jù)。在源數(shù)據(jù)庫(kù)中,對(duì)于下面這一條數(shù)據(jù),修改其課程名稱字段。102116788李婷大學(xué)生形象設(shè)計(jì)10412……修改后為102116788李婷女大學(xué)生形象設(shè)計(jì)10412……在目的數(shù)據(jù)庫(kù)中,做類似的修改:102大學(xué)生形體訓(xùn)練116788李婷104……測(cè)試結(jié)果表明源數(shù)據(jù)庫(kù)與目的數(shù)據(jù)庫(kù)中的數(shù)據(jù)均將課程名稱修改為“大學(xué)生形體訓(xùn)練”。在數(shù)據(jù)交換過程中產(chǎn)生的系統(tǒng)日志如下:源數(shù)據(jù)庫(kù):12T_CJGL_LESSONHEAD2012102UDP2014-04-1016:10:12……目的數(shù)據(jù)庫(kù):115edu_lesson102UDP2014-04-1016:30:50……系統(tǒng)根據(jù)日志記錄時(shí)間判斷數(shù)據(jù)新舊,解決數(shù)據(jù)更新產(chǎn)生的數(shù)據(jù)沖突。刪除數(shù)據(jù)測(cè)試對(duì)于數(shù)據(jù)刪除操作,存在兩種情況:1.兩邊對(duì)相同的數(shù)據(jù)分別進(jìn)行了更新和刪除操作;2.兩邊分別刪除了不同的數(shù)據(jù)。本文對(duì)這兩種情況分別進(jìn)行了實(shí)驗(yàn)。更新和刪除沖突前文已經(jīng)約定,本文對(duì)于更新和刪除操作沖突,無論操作時(shí)間先后,都選擇保留數(shù)據(jù),并將數(shù)據(jù)更新。本文在源數(shù)據(jù)庫(kù)中刪除ID為102的數(shù)據(jù)記錄,在目的數(shù)據(jù)庫(kù)中修改ID為102的數(shù)據(jù)記錄;產(chǎn)生的日志分別如下所示。源數(shù)據(jù)庫(kù):13T_CJGL_LESSONHEAD2012102DEL2014-04-1018:25:39……目的數(shù)據(jù)庫(kù):125edu_lesson102UDP2014-04-1019:30:46……系統(tǒng)分析日志內(nèi)容,在目的數(shù)據(jù)庫(kù)端保留數(shù)據(jù),并將保留的數(shù)據(jù)結(jié)果同步至源數(shù)據(jù)庫(kù)中。刪除不同數(shù)據(jù)在源數(shù)據(jù)庫(kù)和目的數(shù)據(jù)庫(kù)中分別刪除不同的兩條數(shù)據(jù),預(yù)期結(jié)果為源數(shù)據(jù)庫(kù)和目的數(shù)據(jù)庫(kù)中這兩條數(shù)據(jù)均被刪除;產(chǎn)生的日志如下。源數(shù)據(jù)庫(kù):14T_CJGL_LESSONHEAD2012102DEL2014-04-1020:52:21……目的數(shù)據(jù)庫(kù):155edu_lesson105DEL2014-04-1021:36:26……系統(tǒng)分析日志內(nèi)容,在源數(shù)據(jù)庫(kù)和目的數(shù)據(jù)庫(kù)均刪除日志中所記錄的數(shù)據(jù)。數(shù)據(jù)交換實(shí)驗(yàn)結(jié)果分析以上實(shí)驗(yàn)結(jié)果表明,本文實(shí)現(xiàn)的網(wǎng)絡(luò)社區(qū)中的數(shù)據(jù)交換引擎可以有效地將源數(shù)據(jù)庫(kù)中的數(shù)據(jù)導(dǎo)入目的數(shù)據(jù)庫(kù)中。在數(shù)據(jù)交換引擎工作期間,系統(tǒng)可以有效地檢測(cè)到源數(shù)據(jù)庫(kù)和目的數(shù)據(jù)庫(kù)中的數(shù)據(jù)變化,包括數(shù)據(jù)的添加、刪除、修改等操作,實(shí)驗(yàn)證明本文的數(shù)據(jù)交換引擎設(shè)計(jì)方案能夠滿足網(wǎng)絡(luò)社區(qū)中的數(shù)據(jù)交換需求,達(dá)到了預(yù)期效果,是一個(gè)有效的解決方案。數(shù)據(jù)交換引擎真實(shí)的運(yùn)行環(huán)境與本文的仿真實(shí)驗(yàn)系統(tǒng)相比要復(fù)雜得多,數(shù)據(jù)量大且更多變,在真實(shí)實(shí)現(xiàn)過程中,需對(duì)數(shù)據(jù)交換引擎進(jìn)行進(jìn)一步的驗(yàn)證。針對(duì)本文所設(shè)計(jì)的數(shù)據(jù)交換引擎的特點(diǎn)進(jìn)行總結(jié)如下:方便新系統(tǒng)的接入:新的信息系統(tǒng)或者第三方應(yīng)用接入社區(qū)時(shí),只需要配置相應(yīng)系統(tǒng)的數(shù)據(jù)接入文件,在新的系統(tǒng)上安裝相應(yīng)的數(shù)據(jù)抽取及數(shù)據(jù)推送服務(wù)即可,不僅保證了系統(tǒng)良好的可擴(kuò)展性,同時(shí)也降低了開發(fā)的難度。實(shí)現(xiàn)高效率的數(shù)據(jù)交換:數(shù)據(jù)交換過程中對(duì)數(shù)據(jù)進(jìn)行了序列化,二進(jìn)制的數(shù)據(jù)格式可以很快被計(jì)算機(jī)識(shí)別,保證了數(shù)據(jù)交換的效率。本章小結(jié)本章以教育社區(qū)為背景,建立了武漢大學(xué)教務(wù)系統(tǒng)與教育社區(qū)之間的數(shù)據(jù)交換仿真系統(tǒng)。在數(shù)據(jù)源與目的數(shù)據(jù)庫(kù)的系統(tǒng)和所在環(huán)境均不一致的情況下,完成了系統(tǒng)用戶數(shù)據(jù)、課程數(shù)據(jù)及之間關(guān)系的數(shù)據(jù)交換。驗(yàn)證了本文設(shè)計(jì)的數(shù)據(jù)交換引擎的有效性。實(shí)驗(yàn)結(jié)果表明,本文設(shè)計(jì)的數(shù)據(jù)交換引擎可以完成網(wǎng)絡(luò)社區(qū)中異構(gòu)系統(tǒng)之間的數(shù)據(jù)交換。系統(tǒng)運(yùn)行期間,在數(shù)據(jù)庫(kù)表內(nèi)容發(fā)生變化時(shí),系統(tǒng)自定義的日志表內(nèi)產(chǎn)生多條數(shù)據(jù),證明數(shù)據(jù)交換引擎可以自動(dòng)監(jiān)控?cái)?shù)據(jù)的變化,并對(duì)數(shù)據(jù)變化內(nèi)容進(jìn)行了詳細(xì)的記錄,系統(tǒng)將變化數(shù)據(jù)內(nèi)容從源數(shù)據(jù)庫(kù)中推送至數(shù)據(jù)中心,完成了數(shù)據(jù)同步功能。實(shí)驗(yàn)系統(tǒng)證明了數(shù)據(jù)交換的有效性,但是本次實(shí)驗(yàn)僅為教育社區(qū)中的數(shù)據(jù)交換仿真,在實(shí)際應(yīng)用過程中,數(shù)據(jù)交換內(nèi)容定義文件、相關(guān)配置等根據(jù)數(shù)據(jù)源的類型需要有所調(diào)整??偨Y(jié)及展望論文工作總結(jié)論文主要工作數(shù)據(jù)交換技術(shù)從上世紀(jì)70年代發(fā)展到今天,已經(jīng)有很多的技術(shù)積累,目前業(yè)界已有的解決方案主要包括數(shù)據(jù)庫(kù)工具法、傳統(tǒng)中間件法和基于中間文本的數(shù)據(jù)交換這三種方法。對(duì)于網(wǎng)絡(luò)社區(qū)而言,這三類方法各有千秋,基于中間文本的數(shù)據(jù)交換技術(shù)小巧靈活,最適用于網(wǎng)絡(luò)社區(qū),然而中間文本格式如xml等文件占用空間較大,常常會(huì)影響數(shù)據(jù)交換的處理效率。本文借鑒其思想,采用MsgPack技術(shù)對(duì)數(shù)據(jù)交換內(nèi)容進(jìn)行序列化,同時(shí)引入可視化數(shù)據(jù)管理內(nèi)容增強(qiáng)系統(tǒng)易用性,構(gòu)建了網(wǎng)絡(luò)社區(qū)中的數(shù)據(jù)交換引擎。本文主要工作包括:設(shè)計(jì)了通用的數(shù)據(jù)交換引擎總體框架;本文研究了已有的幾種常見的數(shù)據(jù)交換架構(gòu)設(shè)計(jì),取長(zhǎng)補(bǔ)短,設(shè)計(jì)了網(wǎng)絡(luò)社區(qū)中的數(shù)據(jù)交換引擎總體框架。通用數(shù)據(jù)交換引擎總體框架包括可視化數(shù)據(jù)源配置模塊、數(shù)據(jù)輸入模塊、數(shù)據(jù)輸出模塊、系統(tǒng)日志模塊四個(gè)大的模塊,其中數(shù)據(jù)輸入模塊還包括數(shù)據(jù)接口模塊、數(shù)據(jù)變化捕捉模塊、數(shù)據(jù)加密解密及文件傳輸模塊。各個(gè)模塊之間耦合性低,易于擴(kuò)展。提出了一套通用的數(shù)據(jù)交換相關(guān)標(biāo)準(zhǔn)的定義;數(shù)據(jù)交換時(shí),通用的數(shù)據(jù)格式是數(shù)據(jù)交換平臺(tái)集成應(yīng)用的基礎(chǔ),本文使用多個(gè)特定的Java對(duì)象類型對(duì)數(shù)據(jù)交換內(nèi)容及過程進(jìn)行詳細(xì)定義,主要包括數(shù)據(jù)庫(kù)系統(tǒng)描述、數(shù)據(jù)庫(kù)表描述、數(shù)據(jù)交換內(nèi)容描述、數(shù)據(jù)交換流程描述。在進(jìn)行數(shù)據(jù)交換時(shí),對(duì)數(shù)據(jù)交換內(nèi)容相關(guān)的對(duì)象進(jìn)行MsgPack序列化,以節(jié)省文件占用空間、加快文件傳輸?shù)乃俣?。提出了一個(gè)有效的數(shù)據(jù)變化監(jiān)控方法;通過研究已有的數(shù)據(jù)變化監(jiān)控方法,對(duì)各種方法的效率和普適性進(jìn)行了對(duì)比,提出了日志表和觸發(fā)器相結(jié)合的變化監(jiān)測(cè)方法,對(duì)觸發(fā)器和日志表結(jié)構(gòu)進(jìn)行了設(shè)計(jì)。以教育社區(qū)為應(yīng)用背景搭建實(shí)驗(yàn)平臺(tái);通過實(shí)驗(yàn)平臺(tái),完成了對(duì)網(wǎng)絡(luò)社區(qū)中數(shù)據(jù)交換引擎有效性的驗(yàn)證,根據(jù)用戶不同的數(shù)據(jù)操作行為,分別進(jìn)行了四組實(shí)驗(yàn),驗(yàn)證了本文設(shè)計(jì)的數(shù)據(jù)交換引擎在各種情況下的適用性。論文特色引入可視化數(shù)據(jù)管理技術(shù);在數(shù)據(jù)交換引擎中引入可視化數(shù)據(jù)管理技術(shù),讓用戶自行對(duì)數(shù)據(jù)源進(jìn)行配置,解決了已有的傳統(tǒng)數(shù)據(jù)交換系統(tǒng)中數(shù)據(jù)交換配置困難,可操作性差的問題,提升了數(shù)據(jù)交換引擎的易用性及用戶體驗(yàn)。使用序列化技術(shù)提高數(shù)據(jù)交換效率;通過MsgPack技術(shù),對(duì)數(shù)據(jù)交換過程中涉及到的數(shù)據(jù)變化內(nèi)容進(jìn)行序列化,二進(jìn)制數(shù)據(jù)可直接被計(jì)算機(jī)讀取,不僅可以提高數(shù)據(jù)傳輸?shù)乃俾?,還可以極大地減少了數(shù)據(jù)交換文件的占用空間,提高數(shù)據(jù)交換效率。提出觸發(fā)器與自定義日志表相結(jié)合的數(shù)據(jù)變化監(jiān)控方法;對(duì)各種數(shù)據(jù)變化監(jiān)控方法進(jìn)行比較,提出使用觸發(fā)器與日志表相結(jié)合的數(shù)據(jù)變化監(jiān)控方法,提高了數(shù)據(jù)變化監(jiān)控的處理效率和適用性。下一步工作本文研究的課題具有良好的應(yīng)用前景,數(shù)據(jù)交換不僅可以應(yīng)用在已有的網(wǎng)絡(luò)社區(qū)中間,同時(shí)也可以為數(shù)據(jù)挖掘、數(shù)據(jù)分析提供良好的數(shù)據(jù)基礎(chǔ)。然而網(wǎng)絡(luò)社區(qū)中的數(shù)據(jù)交換是一項(xiàng)較為復(fù)雜的工作,由于時(shí)間以及水平的局限性,本文對(duì)網(wǎng)絡(luò)社區(qū)的數(shù)據(jù)交換引擎只做了部分工作。隨著信息技術(shù)法飛速發(fā)展,社區(qū)中的數(shù)據(jù)將會(huì)越來越龐大和雜亂,這些必然對(duì)數(shù)據(jù)交換提出更高的要求。在數(shù)據(jù)交換領(lǐng)域,還有很多工作值得進(jìn)一步探究:半結(jié)構(gòu)化與非結(jié)構(gòu)化的數(shù)據(jù)交換;本文在實(shí)驗(yàn)時(shí),以關(guān)系數(shù)據(jù)庫(kù)作為研究對(duì)象,后續(xù)可以將注意力放在半結(jié)構(gòu)化與非結(jié)構(gòu)化的數(shù)據(jù)上,進(jìn)行實(shí)驗(yàn),進(jìn)一步研究其數(shù)據(jù)的融合技術(shù),提高系統(tǒng)通用性;數(shù)據(jù)質(zhì)量評(píng)估;在Web2.0時(shí)代茁壯成長(zhǎng)的今天,數(shù)據(jù)源中數(shù)據(jù)的可信性變得越來越難以捉摸,在數(shù)據(jù)交換過程中,應(yīng)考慮數(shù)據(jù)提供者的數(shù)據(jù)可信性,對(duì)數(shù)據(jù)源進(jìn)行質(zhì)量評(píng)估,去除冗余數(shù)據(jù),消解數(shù)據(jù)沖突,實(shí)現(xiàn)高質(zhì)量的數(shù)據(jù)交換。

參考文獻(xiàn)王偉軍,孫晶.Web2.0的研究與應(yīng)用綜述[J].情報(bào)科學(xué),2008,25(12):1907-1913.O'reillyT.WhatisWeb2.0:Designpatternsandbusinessmodelsforthenextgenerationofsoftware[J].Communications&strategies,2007(65).王珊,王會(huì)舉,覃雄派,等.架構(gòu)大數(shù)據(jù):挑戰(zhàn),現(xiàn)狀與展望[J].計(jì)算機(jī)學(xué)報(bào),2011,34(10):1741-1752.張永新.面向Web數(shù)據(jù)集成的數(shù)據(jù)融合問題研究[D].山東大學(xué),2012.武琳.

Web

2.0時(shí)代信息交流模式分析[J].

情報(bào)雜志.

2006,

25(3):

10-12.維基百科,網(wǎng)絡(luò)社區(qū)[EB/OL].:/wiki/網(wǎng)絡(luò)社區(qū),2014-2-25孟小峰,慈祥.

大數(shù)據(jù)管理:概念、技術(shù)與挑戰(zhàn)[J].

計(jì)算機(jī)研究與發(fā)展.

2013(01):

146-169LawtonG.Web2.0createssecuritychallenges[J].Computer,2007,40(10):13-16.田秀霞,王曉玲,高明,等.數(shù)據(jù)庫(kù)服務(wù)——安全與隱私保護(hù)[J].軟件學(xué)報(bào),2010,21(5):991-1006.AndrioleSJ.BusinessimpactofWeb2.0technologies[J].CommunicationsoftheACM,2010,53(12):67-79.DonaldA.Norman.Thedesignofeverydaythings[M].NewYork:BasicBooks,2002.搜搜百科,數(shù)據(jù)交換[EB/OL].:/v54135.htm?ch=ch.bk.innerlink,2014-03-04李國(guó)杰.大數(shù)據(jù)研究的科學(xué)價(jià)值[J].中國(guó)計(jì)算機(jī)學(xué)會(huì)通訊,2012,8(9):8-15.FaginR,KolaitisPG,MillerRJ,etal.Dataexchange:semanticsandqueryanswering[J].TheoreticalComputerScience,2005,336(1):89-124.SibleyEH,TaylorRW.Adatadefinitionandmappinglanguage[J].CommunicationsoftheACM,1973,16(12):750-759.LumVY,ShuNC,HouselBC.Ageneralmethodologyfordataconversionandrestructuring[J].IBMJournalofresearchanddevelopment,1976,20(5):483-497.ShuNC,HouselBC,TaylorRW,etal.EXPRESS:adataextraction,processing,andrestructuringsystem[J].ACMTransactionsonDatabaseSystems(TODS),1977,2(2):134-174.McHughJ,AbiteboulS,GoldmanR,etal.Lore:Adatabasemanagementsystemforsemistructureddata[J].SIGMODrecord,1997,26(3):54-66.ChamberlinD,RobieJ,FlorescuD.Quilt:AnXMLquerylanguageforheterogeneousdatasources[M]//TheWorldWideWebandDatabases.SpringerBerlinHeidelberg,2001:1-25.FongJ,WongHK,ChengZ.ConvertingrelationaldatabaseintoXMLdocumentswithDOM[J].InformationandSoftwareTechnology,2003,45(6):335-355.GravellM.protobuf-net:Fast,portable,binaryserializationfor.NET[J].SleeM,AgarwalA,KwiatkowskiM.Thrift:Scalablecross-languageservicesimplementation[J].FacebookWhitePaper,2007,5.SumarayA,MakkiSK.Acomparisonofdataserializationformatsforoptimalefficiencyonamobileplatform[C]//Proceedingsofthe6thInternationalConferenceonUbiquitousInformationManagementandCommunication.ACM,2012:48.ErikssonM,HallbergV.?comparisonbetweenJSONandProtoBuffordataserialization?[J].周洪波.物聯(lián)網(wǎng):技術(shù),應(yīng)用,標(biāo)準(zhǔn)和商業(yè)模式[M].電子工業(yè)出版社,2010.Piatetsky-ShapiroG,JakobsonG.Anintermediatedatabaselanguageanditsrule-basedtransformationtodifferentdatabaselanguages[J].Data&knowledgeengineering,1987,2(1):1-29.梁彥杰,廉東本.

基于消息中間件的數(shù)據(jù)交換平臺(tái)傳輸框架設(shè)計(jì)[J].

計(jì)算機(jī)系統(tǒng)應(yīng)用.

2012,

21(4):

10-13.李亞楠,劉連忠,賈燚星.數(shù)據(jù)交換研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2008.涂海龍.數(shù)據(jù)交換技術(shù)及其Web應(yīng)用研究[D].華中科技大學(xué),2011.李雯,謝輔雯,鄒道明.XML數(shù)據(jù)交換技術(shù)的應(yīng)用與研究[J].計(jì)算機(jī)與現(xiàn)代化,2008(1):91-93.MessagePack[EB/OL].:http://MsgP/.htm,2014-03-19PrusinskiB,PhillipsS,ChungR.ExpertOracleGoldenGate[M].Apress,2011.Yan-huiZ,Teng-xuJ.SolutionofHeterogeneousDataSourcesBasedonPowerBuilderDataPipeline[J].ComputerandModernization,2008,4:035.維基百科,標(biāo)記語言[EB/OL].:/wiki/標(biāo)記語言,2014-03-21.HuL,LiP,WangY.ThedesignandimplementationofaSOA-baseddataexchangemiddleware[C]//ServiceSciences(ICSS),2010InternationalConferenceon.IEEE,2010:39-42.ZhaoJH.HeterogeneousDataExchangeTechnologyBasedonXML[J].AppliedMechanicsandMaterials,2013,347:3837-3841.LvJJ,ZhengXY.ResearchforadatasynchronizationmodelbasedonMiddlewareandrulebase[C]//InformationScienceandEngineering(ICISE),20091stInternationalConferenceon.IEEE,2009:2998-3001.李學(xué)榮,李莎.基于元數(shù)據(jù)的異構(gòu)數(shù)據(jù)源集成系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用,2006,25(B12):209-210.ArenasM,LibkinL.XMLdataexchange:consistencyandqueryanswering[J].JournaloftheACM(JACM),2008,55(2):7.BormannC.TheBinaryPack1pre2JSON-likerepresentationformat[J].2013.滕東興,曾志榮,楊海燕,等.一種面向關(guān)系型數(shù)據(jù)的可視質(zhì)量分析方法[J].軟件學(xué)報(bào).2013,24(4):810-824.者敬.開放式異構(gòu)數(shù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論