海量農(nóng)田數(shù)據(jù)的監(jiān)控方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供了一種海量農(nóng)田數(shù)據(jù)的監(jiān)控方法和系統(tǒng),屬于計算機(jī)【技術(shù)領(lǐng)域】。所述海量農(nóng)田數(shù)據(jù)的監(jiān)控方法包括:通過微型無線傳感器節(jié)點實時采集不同屬性的農(nóng)田數(shù)據(jù);通過云計算的方式計算不同屬性的農(nóng)田數(shù)據(jù)對農(nóng)田的影響度并作為計算結(jié)果;將計算結(jié)果通過網(wǎng)絡(luò)顯示給用戶。該方法通過云計算的方式對不同屬性的農(nóng)田數(shù)據(jù)對農(nóng)田的影響度進(jìn)行計算,解決了對于海量農(nóng)田數(shù)據(jù)的計算效率問題,擴(kuò)大了數(shù)據(jù)輸入的規(guī)模,提高了對于農(nóng)田數(shù)據(jù)的挖掘效率。
【專利說明】海量農(nóng)田數(shù)據(jù)的監(jiān)控方法和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機(jī)【技術(shù)領(lǐng)域】,特別是涉及一種海量農(nóng)田數(shù)據(jù)的監(jiān)控方法和系統(tǒng)。【背景技術(shù)】
[0002]我國是農(nóng)業(yè)大國,幅員遼闊,土壤類型眾多,作物品種復(fù)雜,我國曾進(jìn)行過多次農(nóng)業(yè)普查,科技人員通過各種方式積累了大量與農(nóng)業(yè)生產(chǎn)密切相關(guān)的屬性數(shù)據(jù)和空間數(shù)據(jù),這些數(shù)據(jù)具有多維,動態(tài),不確定,不完整,時空變異性強(qiáng)等特點,能具體的反應(yīng)了農(nóng)業(yè)生產(chǎn)作業(yè)的真實情況。傳感器是農(nóng)業(yè)科技人員采集田間信息獲取數(shù)據(jù)的常用方法,這些數(shù)據(jù)除了上述特點外還有大量、集中、持續(xù)性的特點。因此實時接收具有如上屬性的農(nóng)田數(shù)據(jù)是當(dāng)前研究熱點。
[0003]當(dāng)前處理多連接數(shù)據(jù)接收的方式主要是動態(tài)線程池分配方式,根據(jù)在線客戶端的數(shù)目動態(tài)增減線程,提高服務(wù)器響應(yīng)速度,避免頻繁切換線程帶來系統(tǒng)開銷。
[0004]目前的農(nóng)田數(shù)據(jù)系統(tǒng)可高效實現(xiàn)數(shù)據(jù)的錄入、查詢、統(tǒng)計功能,但是無法根據(jù)已有數(shù)據(jù)進(jìn)行預(yù)測,無法發(fā)現(xiàn)數(shù)據(jù)之間的關(guān)系,而數(shù)據(jù)挖掘技術(shù)能夠發(fā)現(xiàn)數(shù)據(jù)之間的關(guān)系,因此可以解決農(nóng)業(yè)領(lǐng)域“數(shù)據(jù)豐富知識貧乏”的現(xiàn)象。傳統(tǒng)的決策樹算法因其構(gòu)造速度快,生成模型簡單,精度高等優(yōu)點而廣受歡迎,是數(shù)據(jù)挖掘中重要的分類方法,然而決策樹算法是內(nèi)存駐留算法,即生成整個決策樹過程的所有數(shù)據(jù)計算必須同時在內(nèi)存中,并且只能在單機(jī)上運(yùn)行,因此只能適用于小規(guī)模的數(shù)據(jù)輸入,當(dāng)數(shù)據(jù)挖掘的對象是一個龐大的數(shù)據(jù)集時,往往因計算量的增大而速度減慢甚至無法運(yùn)行,大大影響算法的伸縮性,這是該算法的瓶頸。
[0005]綜上所述,現(xiàn)有的農(nóng)田數(shù)據(jù)分析方式,無法完成龐大數(shù)據(jù)的計算,使得農(nóng)田信息采集系統(tǒng)彼此獨立,封閉運(yùn)行,信息難于集成分析和共享,如何有效的將數(shù)據(jù)融合分析,是當(dāng)前農(nóng)業(yè)信息化進(jìn)程中的重要問題。
【發(fā)明內(nèi)容】
[0006]鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的適于海量農(nóng)田數(shù)據(jù)的監(jiān)控方法及相應(yīng)的系統(tǒng)。
[0007]依據(jù)本發(fā)明的一個方面,提供一種海量農(nóng)田數(shù)據(jù)的監(jiān)控方法,包括:
[0008]通過微型無線傳感器節(jié)點實時采集不同屬性的農(nóng)田數(shù)據(jù);
[0009]通過云計算的方式計算不同屬性的農(nóng)田數(shù)據(jù)對農(nóng)田的影響度并作為計算結(jié)果;
[0010]將計算結(jié)果通過網(wǎng)絡(luò)顯示給用戶。
[0011]可選地,通過云計算的方式計算不同屬性的農(nóng)田數(shù)據(jù)對農(nóng)田的影響度并作為計算結(jié)果,包括:
[0012]接收不同屬性的農(nóng)田數(shù)據(jù);
[0013]將對不同屬性的農(nóng)田數(shù)據(jù)的計算任務(wù)發(fā)送到云平臺的不同的處理機(jī)上,執(zhí)行對不同屬性的農(nóng)田數(shù)據(jù)對農(nóng)田影響度的計算;
[0014]對不同的處理機(jī)上得到的中間計算結(jié)果進(jìn)行歸約;[0015]根據(jù)進(jìn)行歸約后的數(shù)據(jù)得到計算結(jié)果。
[0016]可選地,接收不同屬性的農(nóng)田數(shù)據(jù),包括:
[0017]開啟預(yù)設(shè)數(shù)量的數(shù)據(jù)接收線程;
[0018]創(chuàng)建靜態(tài)線程池,并以I/O端口復(fù)用的方式創(chuàng)建實時監(jiān)聽端口,使數(shù)據(jù)接收線程通過實時監(jiān)聽端口接收不同屬性的農(nóng)田數(shù)據(jù)。
[0019]可選地,在將對不同屬性的農(nóng)田數(shù)據(jù)的計算任務(wù)發(fā)送到云平臺的不同的處理機(jī)上之前,還包括:
[0020]對不同屬性的農(nóng)田數(shù)據(jù)進(jìn)行預(yù)處理;
[0021]其中,預(yù)處理包括數(shù)據(jù)清洗、數(shù)據(jù)集成、空值處理和連續(xù)數(shù)據(jù)離散化。
[0022]可選地,將對不同屬性的農(nóng)田數(shù)據(jù)的計算任務(wù)發(fā)送到云平臺的不同的處理機(jī)上,包括:
[0023]創(chuàng)建空閑處理機(jī)隊列;
[0024]將不同屬性的農(nóng)田數(shù)據(jù)劃分為多個訓(xùn)練子集;
[0025]將對多個訓(xùn)練子集的計算任務(wù)分別分配到空閑處理機(jī)隊列中的處理機(jī);
[0026]其中,當(dāng)任意一個處理機(jī)完成對其對應(yīng)的訓(xùn)練子集的計算時,將該處理機(jī)重新放置到空閑處理機(jī)隊列中。
[0027]可選地,根據(jù)進(jìn)行歸約后的數(shù)據(jù)得到計算結(jié)果,包括:
[0028]對進(jìn)行規(guī)約后的數(shù)據(jù)進(jìn)行哈希映射,建立哈希表;
[0029]通過哈希查詢計算各個訓(xùn)練子集中每個屬性的增益率;
[0030]選取最大增益率的屬性構(gòu)造決策樹,并將決策樹作為計算結(jié)果。
[0031]可選地,在選取最大增益率的屬性構(gòu)造決策樹之后,還包括:
[0032]抽取決策樹中的分類規(guī)則,采用交叉驗證法對決策樹的精確度進(jìn)行評估。
[0033]依據(jù)本發(fā)明的一個方面,還提供了一種海量農(nóng)田數(shù)據(jù)的監(jiān)控系統(tǒng),包括:
[0034]數(shù)據(jù)采集模塊,配置為通過微型無線傳感器節(jié)點實時采集農(nóng)田數(shù)據(jù);
[0035]數(shù)據(jù)處理中心模塊,配置為通過云計算的方式計算不同屬性的農(nóng)田數(shù)據(jù)對農(nóng)田的影響度并作為計算結(jié)果;
[0036]顯示模塊,配置為將計算結(jié)果通過網(wǎng)絡(luò)顯示給用戶。
[0037]可選地,數(shù)據(jù)處理中心模塊包括:
[0038]數(shù)據(jù)接收單元,配置為接收不同屬性的農(nóng)田數(shù)據(jù);
[0039]決策分析單元,配置為將對不同屬性的農(nóng)田數(shù)據(jù)的計算任務(wù)發(fā)送到云平臺的不同的處理機(jī)上,執(zhí)行對不同屬性的農(nóng)田數(shù)據(jù)對農(nóng)田影響度的計算,以及對不同的處理機(jī)上得到的中間計算結(jié)果進(jìn)行歸約,根據(jù)進(jìn)行歸約后的數(shù)據(jù)得到計算結(jié)果。
[0040]可選地,數(shù)據(jù)處理中心模塊,還包括:
[0041]數(shù)據(jù)處理單元,配置為在將對不同屬性的農(nóng)田數(shù)據(jù)的計算任務(wù)發(fā)送到云平臺的不同的處理機(jī)上之前,對不同屬性的農(nóng)田數(shù)據(jù)進(jìn)行預(yù)處理;
[0042]其中,預(yù)處理包括數(shù)據(jù)清洗、數(shù)據(jù)集成、空值處理和連續(xù)數(shù)據(jù)離散化。
[0043]本發(fā)明提供了一種海量農(nóng)田數(shù)據(jù)的監(jiān)控方法和系統(tǒng),通過云計算的方式對不同屬性的農(nóng)田數(shù)據(jù)對農(nóng)田的影響度進(jìn)行計算,解決了對于海量農(nóng)田數(shù)據(jù)的計算效率問題,擴(kuò)大了數(shù)據(jù)輸入的規(guī)模,提高了對于農(nóng)田數(shù)據(jù)的挖掘效率。[0044]上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的【具體實施方式】。
【專利附圖】
【附圖說明】
[0045]通過閱讀下文優(yōu)選實施方式的詳細(xì)描述,各種其他的優(yōu)點和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認(rèn)為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
[0046]圖1是根據(jù)本發(fā)明一個實施例的一種海量農(nóng)田數(shù)據(jù)的監(jiān)控方法流程圖;
[0047]圖2是根據(jù)本發(fā)明另一個實施例的一種海量農(nóng)田數(shù)據(jù)的具體監(jiān)控方法流程圖;
[0048]圖3是根據(jù)本發(fā)明另一個實施例的一種用于海量農(nóng)田數(shù)據(jù)的監(jiān)控系統(tǒng)的架構(gòu)示意圖;
[0049]圖4是根據(jù)本發(fā)明另一個實施例的基于Map和Rdeuce的并行計算的工作模式的示意圖;
[0050]圖5是根據(jù)本發(fā)明另一個實施例的Map階段的工作流程圖;
[0051]圖6是根據(jù)本發(fā)明另一個實施例的為客戶端顯示農(nóng)田數(shù)據(jù)的架構(gòu)示意圖;以及
[0052]圖7是根據(jù)本發(fā)明另一個實施例的一種海量農(nóng)田數(shù)據(jù)的監(jiān)控系統(tǒng)結(jié)構(gòu)框圖。
【具體實施方式】
[0053]下面將參照附圖更詳細(xì)地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應(yīng)當(dāng)理解,可以以各種形式實現(xiàn)本公開而不應(yīng)該被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
[0054]實施例一
[0055]圖1是根據(jù)本發(fā)明一個實施例的一種海量農(nóng)田數(shù)據(jù)的監(jiān)控方法流程圖,該方法包括步驟S102至S106。
[0056]S102,通過微型無線傳感器節(jié)點實時采集不同屬性的農(nóng)田數(shù)據(jù)。
[0057]S104,通過云計算的方式計算不同屬性的農(nóng)田數(shù)據(jù)對農(nóng)田的影響度作為計算結(jié)
果O
[0058]S106,將計算結(jié)果通過網(wǎng)絡(luò)顯示給用戶。
[0059]本發(fā)明實施例提供了一種海量農(nóng)田數(shù)據(jù)的監(jiān)控方法,該方法通過云計算的方式對不同屬性的農(nóng)田數(shù)據(jù)對農(nóng)田的影響度進(jìn)行計算,解決了對于海量農(nóng)田數(shù)據(jù)的計算效率問題,擴(kuò)大了數(shù)據(jù)輸入的規(guī)模,提高了對于農(nóng)田數(shù)據(jù)的挖掘效率。
[0060]實施例二
[0061]本實施例為上述實施例一的一種具體應(yīng)用場景,通過本實施例,能夠更加清楚、具體地闡述本發(fā)明所提供的方法。
[0062]圖2是根據(jù)本發(fā)明一個實施例的一種海量農(nóng)田數(shù)據(jù)的具體監(jiān)控方法流程圖,該方法包括步驟S201至S209。下面對該方法進(jìn)行具體介紹:
[0063]S201,微型無線傳感器節(jié)點實時采集不同屬性的農(nóng)田數(shù)據(jù),并將農(nóng)田數(shù)據(jù)發(fā)送給數(shù)據(jù)處理服務(wù)器。
[0064]在本實施例中,以微型無線傳感器節(jié)點作為農(nóng)田環(huán)境感知終端采集不同屬性的農(nóng)田數(shù)據(jù)。
[0065]如圖3所示,為本實施例提供的一種用于海量農(nóng)田數(shù)據(jù)的監(jiān)控系統(tǒng)的架構(gòu)示意圖,在監(jiān)控系統(tǒng)中,對于農(nóng)田區(qū)域,分別部署多個微型無線傳感器節(jié)點(例如可以為SensorNodes,傳感器節(jié)點)對農(nóng)田區(qū)域的環(huán)境數(shù)據(jù)進(jìn)行監(jiān)控。
[0066]并且,在農(nóng)田區(qū)域建立WSN (Wireless Sensor Network,無線傳感器網(wǎng)絡(luò))-GPRS(General Packet Radio Service,通用分組無線服務(wù)技術(shù))網(wǎng)關(guān)節(jié)點,對于部署在農(nóng)田區(qū)域的多個節(jié)點的數(shù)據(jù),首先將數(shù)據(jù)匯聚到其所屬的WSN-GPRS網(wǎng)關(guān)節(jié)點,再由WSN-GPRS網(wǎng)關(guān)節(jié)點將全部數(shù)據(jù)通過GPRS網(wǎng)絡(luò)傳輸?shù)浇尤霐?shù)據(jù)處理中心。其中,數(shù)據(jù)處理中心包括數(shù)據(jù)處理服務(wù)器和決策分析服務(wù)器。
[0067]其中,不同屬性的農(nóng)田數(shù)據(jù)可以包括下列至少一項:
[0068]土壤溫度、土壤濕度、電導(dǎo)率、大氣溫濕度、二氧化碳濃度等。
[0069]S202,數(shù)據(jù)處理服務(wù)器接收農(nóng)田數(shù)據(jù)。
[0070]其中,數(shù)據(jù)處理服務(wù)器由配置模塊,鏈路維持模塊,時間校驗?zāi)K,數(shù)據(jù)處理模塊,客戶端信息模塊組成。
[0071]配置模塊用于進(jìn)行傳輸參數(shù)的配置,具體包括對數(shù)據(jù)處理服務(wù)器的端口號、IP地址和用戶名密碼等的配置。
[0072]鏈路維持模塊用于向所有在線WSN網(wǎng)關(guān)定時發(fā)送特定字符串方式,維持與服務(wù)器的GPRS通信鏈路。
[0073]時間校驗?zāi)K每隔一段時間與Internet (互聯(lián)網(wǎng))上的NTP (Network TimeProtocol,網(wǎng)絡(luò)時間同步協(xié)議)時間服務(wù)器進(jìn)行一次時間同步,更新系統(tǒng)時間,并將更新的時間和其節(jié)點上的數(shù)據(jù)一起加入到循環(huán)隊列中。
[0074]需要說明的是,本實施例為了提高數(shù)據(jù)處理服務(wù)器對于大量并發(fā)的農(nóng)田數(shù)據(jù)的接收能力,具體可通過如下方式進(jìn)行:
[0075]開啟預(yù)設(shè)數(shù)量的數(shù)據(jù)接收線程;
[0076]創(chuàng)建靜態(tài)線程池,并以1/0端口復(fù)用的方式創(chuàng)建實時監(jiān)聽端口,使所述數(shù)據(jù)接收線程通過所述實時監(jiān)聽端口接收所述不同屬性的農(nóng)田數(shù)據(jù)。
[0077]需要說明的是,靜態(tài)線程池的作用是為了減少創(chuàng)建和銷毀線程的次數(shù),每個線程可以被重復(fù)利用,程序開始運(yùn)行時手動設(shè)置線程池的線程數(shù)量,如果有新任務(wù)需要運(yùn)行,如果線程池中有等待的線程,則可以運(yùn)行,否則進(jìn)入等待隊列。
[0078]1/0復(fù)用是一種讓進(jìn)程預(yù)先“警告”內(nèi)核能力,使得內(nèi)核一旦發(fā)現(xiàn)進(jìn)程預(yù)先告知時指定的一個或多個I/o條件(就是描述符)就緒(可以讀/寫了),內(nèi)核就通知進(jìn)程。
[0079]其中,在數(shù)據(jù)接收服務(wù)器中還預(yù)先建立有預(yù)設(shè)數(shù)量的數(shù)據(jù)存儲進(jìn)程,并用循環(huán)隊列作為數(shù)據(jù)接收線程和數(shù)據(jù)存儲進(jìn)程之間的數(shù)據(jù)共享存儲區(qū)來解決無線傳感器網(wǎng)絡(luò)對多連接TCP (Transmission Control Protocol,傳輸控制協(xié)議)通信的問題,提高接收并存儲大量農(nóng)田數(shù)據(jù)的并發(fā)性能。
[0080]S203,數(shù)據(jù)處理服務(wù)器對接收到的農(nóng)田數(shù)據(jù)進(jìn)行預(yù)處理,并將處理結(jié)果發(fā)送至決策分析服務(wù)器。[0081]可選地,數(shù)據(jù)處理模塊根據(jù)不同傳感器類型按照一定的規(guī)則對數(shù)據(jù)進(jìn)行預(yù)處理,包括數(shù)據(jù)清洗、空值處理、連續(xù)數(shù)值離散化處理和數(shù)據(jù)集成等。
[0082]下面分別介紹數(shù)據(jù)清洗、空值處理、連續(xù)數(shù)值離散化處理和數(shù)據(jù)集成的具體處理過程。
[0083]數(shù)據(jù)清洗具體為:接收的農(nóng)田數(shù)據(jù)中可能缺失一個值,則將這條數(shù)據(jù)清洗掉;或者傳來的數(shù)據(jù)可能明顯不合理,例如大部分溫度值都在[_1,3]之間,但是接收的是26,則這樣的數(shù)據(jù)顯然也是不合理的,也需要清洗的,直接將此條數(shù)據(jù)刪除即可。
[0084]空值處理具體為:對于接收的農(nóng)田數(shù)據(jù)中,如果采集的數(shù)據(jù)量少,則使用對應(yīng)的平均值對空值進(jìn)行填充,如果采集的數(shù)據(jù)多,則將空值數(shù)據(jù)刪除。
[0085]數(shù)據(jù)集成具體為:將由不同傳感器獲取的不同屬性的數(shù)據(jù)進(jìn)行集成,例如某一地點可能有溫度、濕度、光照等傳感器,則采集到的數(shù)據(jù)分別為溫度、濕度和光照強(qiáng)度,則需要將上述不同屬性的農(nóng)田數(shù)據(jù)集成到數(shù)據(jù)庫中。
[0086]連續(xù)數(shù)據(jù)離散化處理具體為:傳感器采集的值通常是連續(xù)的,例如1.21、1.31、
1.24,1.41,1.33,1.01,為了處理方便,則將上述數(shù)值離散為如下數(shù)值:1.0,1.1、1.2,1.3。
[0087]進(jìn)一步地,客戶端信息模塊用于保存與服務(wù)器建立連接的客戶端信息,包括IP地址,套接字等。
[0088]其中,客戶端信息可以包括用戶的用戶名、昵稱和用戶的屬性(至少包括管理員、普通應(yīng)用)等。
[0089]S204,決策分析服務(wù)器將對農(nóng)田數(shù)據(jù)的計算任務(wù)發(fā)送到云平臺的不同處理機(jī)上,執(zhí)行計算任務(wù)。
[0090]在本實施例中,計算任務(wù)可包括用戶通過客戶端發(fā)出的計算請求,具體可通過計算不同屬性的農(nóng)田數(shù)據(jù)的信息增益、并選擇出最佳分裂屬性構(gòu)造決策樹進(jìn)行體現(xiàn)。
[0091]為了改善對于海量的農(nóng)田數(shù)據(jù)的處理能力,本實施例基于MapReduce機(jī)制進(jìn)行了改進(jìn),通過云計算平臺進(jìn)行實現(xiàn)。
[0092]在傳統(tǒng)的MapReduce機(jī)制中,對于數(shù)據(jù)的劃分方式為:
[0093]假設(shè)當(dāng)前云計算平臺(在本實施例中可以為Hadoop集群沖有m臺處理機(jī),則將訓(xùn)練數(shù)據(jù)劃分為m個訓(xùn)練子集,主處理機(jī)將劃分好的訓(xùn)練子集分配到m臺處理機(jī)上。
[0094]而在這種處理方式中,容易造成負(fù)載不均衡,因此,本實施例所采用的方式中,在主處理機(jī)內(nèi)保存一個空閑處理機(jī)隊列,開始時所有處理機(jī)均在空閑隊列中,由具體情況申請?zhí)幚頇C(jī)資源,任務(wù)處理結(jié)束,向主處理機(jī)報告,然后主處理機(jī)將該處理機(jī)放入空閑隊列中。
[0095]具體地,本步驟S204可以包括如下步驟:
[0096]a)主處理機(jī)創(chuàng)建空閑處理機(jī)隊列;
[0097]b)將不同屬性的農(nóng)田數(shù)據(jù)劃分為多個訓(xùn)練子集;
[0098]c)將對多個訓(xùn)練子集的計算任務(wù)分別分配到空閑處理機(jī)隊列中的處理機(jī)中進(jìn)行計算。
[0099]其中,當(dāng)任意一個處理機(jī)完成對其對應(yīng)的訓(xùn)練子集的計算時,將該處理機(jī)重新放置到所述空閑處理機(jī)隊列中。
[0100]需要說明的是,對于每個處理機(jī)的計算結(jié)果可通過如下格式進(jìn)行表示:[0101]〈key, value〉
[0102]其中,Key表示農(nóng)田數(shù)據(jù)的屬性號,Value表示農(nóng)田數(shù)據(jù)的屬性值。
[0103]在本實施例中,基于MapReduce的計算可包括MAP階段和Reduce階段,可通過用戶自定義的Map函數(shù)得到一組同樣用〈key, value)對表示的結(jié)果集合,再通過Reduce階段完成對結(jié)果的累加。
[0104]本發(fā)明實施例還提供了圖4,展示了基于Map和Rdeuce的并行計算的工作模式的示意圖。如圖4所示,Reduce模塊讀入中間結(jié)果并進(jìn)行規(guī)約,得到最終結(jié)果。本發(fā)明中有一臺機(jī)器作為控制器,用以初始化、調(diào)度和控制整個決策樹生成過程,該控制器能訪問計算機(jī)集群并在其上調(diào)度MapReduce作業(yè),具體模式如下:
[0105]Map階段的key由決策表屬性、該元組對應(yīng)的屬性S的值s及該元組所屬的決策類c組成,value為I。對于訓(xùn)練數(shù)據(jù)集D,條件集隊列Q,MAP階段的算法流程如圖5所示,包括如下步驟:
[0106]M1,輸入訓(xùn)練數(shù)據(jù)集D;
[0107]M2,判斷條件隊列Q是否為空,如果是,執(zhí)行步驟M3,如果不是,執(zhí)行步驟M4 ;
[0108]M3,設(shè)定key的值為1#屬性號、對應(yīng)的屬性值以及所屬的類別,value的值為1,執(zhí)行步驟M6 ;
[0109]M4,判斷是否?兩足條件隊列Q的弟i個條件,如果是,執(zhí)彳丁步驟M5,如果不是,返回步驟Ml ;
[0110]M5,設(shè)定key的值為i#屬性號、對應(yīng)的屬性值以及所屬的類別,value的值為1,執(zhí)行步驟M6 ;`
[0111]M6,輸入〈key, value〉。
[0112]Reduce階段完成對Map輸出的〈key, value〉統(tǒng)計相同key值的value值并進(jìn)行累加,同時輸出〈key, value_sum>到分布式文件系統(tǒng)HDFS中,具體可包括如下步驟:
[0113](I)接收 Map 階段輸入的〈key, value);
[0114](2)對所有相同的key和value分別進(jìn)行相加;
[0115](3)輸出〈key, value_sum>,并輸出到分布式文件系統(tǒng)中。
[0116]S205,決策分析服務(wù)器獲取不同處理機(jī)上得到的計算結(jié)果,并對不同處理機(jī)上得到的計算結(jié)果進(jìn)行規(guī)約。
[0117]其中,規(guī)約即將各個處理機(jī)計算得到的結(jié)果進(jìn)行整合。
[0118]S206,決策分析服務(wù)器對規(guī)約后的數(shù)據(jù)進(jìn)行哈希映射,建立哈希表。
[0119]具體地,本步驟也即對〈key, value_sum>進(jìn)行哈希映射。
[0120]S207,決策分析服務(wù)器通過哈希查詢計算各個訓(xùn)練子集中每個屬性的增益率。
[0121]S208,決策分析服務(wù)器選取最大增益率的屬性構(gòu)造決策樹,并將所述決策樹作為計算結(jié)果。
[0122]需要說明的是,最大增益率也即分裂屬性,具體地,本步驟為:
[0123]計算訓(xùn)練數(shù)據(jù)集中屬性的信息增益率,選出信息增益率最大的屬性作為當(dāng)前節(jié)點的分裂屬性進(jìn)行分裂,并根據(jù)以下條件判斷是否停止決策樹的生長:
[0124](a)節(jié)點達(dá)到用戶指定的純度。
[0125](b)節(jié)點中樣本的個數(shù)少于用戶指定的個數(shù)。[0126]如果滿足以上條件,則停止樹的生長,刪除當(dāng)前訓(xùn)練數(shù)據(jù)中包含該規(guī)則的樣本,抽取分類規(guī)則,否則繼續(xù)樹的生長,樹的層數(shù)加1,繼續(xù)判斷屬性的信息增益率。當(dāng)完成樹的生成后,抽取分類規(guī)則。
[0127]其中,在決策樹建立完成后,從樹的根節(jié)點到樹的節(jié)點即為一條分類規(guī)則。
[0128]通過上述計算,即可得到在海量的農(nóng)田數(shù)據(jù)中,哪些數(shù)據(jù)對于農(nóng)田的影響度最大,或基于用戶在客戶端發(fā)出的請求計算得到用戶需要的數(shù)據(jù)。
[0129]為了保證數(shù)據(jù)的準(zhǔn)確性,在本步驟S208之后還可以包括:
[0130]抽取所述決策樹中的分類規(guī)則,采用交叉驗證法對決策樹的精確度進(jìn)行評估。
[0131]最后,當(dāng)用戶需要進(jìn)行數(shù)據(jù)的查詢時,繼續(xù)執(zhí)行步驟S209。在步驟S209中,由Web應(yīng)用服務(wù)器從決策分析服務(wù)器中獲取計算結(jié)果,并將計算結(jié)果通過網(wǎng)絡(luò)展示給用戶。
[0132]其中,本發(fā)明實施例還提供了圖6,展示了客戶端顯示農(nóng)田數(shù)據(jù)的架構(gòu)示意圖。如圖6所示,Web應(yīng)用服務(wù)器負(fù)責(zé)接收客戶端發(fā)出的用戶請求,將請求信息轉(zhuǎn)化成決策分析服務(wù)器能理解的形式發(fā)送到?jīng)Q策分析服務(wù)器。決策分析服務(wù)器處理查詢請求,執(zhí)行相應(yīng)操作,將查詢分析結(jié)果返回給Web應(yīng)用服務(wù)器,最后,由Web應(yīng)用服務(wù)器將查詢到的結(jié)果顯示給用戶。
[0133]并且,在本實施例中,還增加了 Google Maps (谷歌地圖)API (ApplicationProgramming Interface,應(yīng)用程序編程接口)的支持,Google Maps API與無線傳感器網(wǎng)絡(luò)采集到的農(nóng)田實時數(shù)據(jù)相結(jié)合,將網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),感知信息以及節(jié)點信息實時、形象的在Google Maps上予于顯示,為無線傳感器網(wǎng)絡(luò)的使用者提供快速直觀的信息反饋,方便感知數(shù)據(jù)的實時查詢與網(wǎng)絡(luò)部署調(diào)試。
[0134]本發(fā)明實施例提供了一種海量農(nóng)田數(shù)據(jù)的監(jiān)控方法,該方法通過云計算的方式對不同屬性的農(nóng)田數(shù)據(jù)對農(nóng)田的影響度進(jìn)行計算,解決了對于海量農(nóng)田數(shù)據(jù)的計算效率問題,擴(kuò)大了數(shù)據(jù)輸入的規(guī)模,提高了對于農(nóng)田數(shù)據(jù)的挖掘效率。
[0135]實施例三
[0136]圖7是本發(fā)明一個實施例提供的一種海量農(nóng)田數(shù)據(jù)的監(jiān)控系統(tǒng)結(jié)構(gòu)框圖,該裝置700包括:
[0137]數(shù)據(jù)采集模塊701,配置為通過微型無線傳感器節(jié)點實時采集農(nóng)田數(shù)據(jù);
[0138]數(shù)據(jù)處理中心模塊702,配置為通過云計算的方式計算不同屬性的農(nóng)田數(shù)據(jù)對農(nóng)田的影響度作為計算結(jié)果;
[0139]顯示模塊703,配置為將計算結(jié)果通過網(wǎng)絡(luò)顯示給用戶。
[0140]可選地,數(shù)據(jù)處理中心模塊702包括:
[0141]數(shù)據(jù)接收單元7021,配置為接收不同屬性的農(nóng)田數(shù)據(jù);
[0142]決策分析單元7022,配置為將對不同屬性的農(nóng)田數(shù)據(jù)的計算任務(wù)發(fā)送到云平臺的不同的處理機(jī)上,執(zhí)行對不同屬性的農(nóng)田數(shù)據(jù)對農(nóng)田影響度的計算,以及對不同的處理機(jī)上得到的中間計算結(jié)果進(jìn)行歸約,根據(jù)進(jìn)行歸約后的數(shù)據(jù)得到計算結(jié)果。
[0143]可選地,數(shù)據(jù)處理中心模塊702,還包括:
[0144]數(shù)據(jù)處理單元7023,配置為在將對不同屬性的農(nóng)田數(shù)據(jù)的計算任務(wù)發(fā)送到云平臺的不同的處理機(jī)上之前,對不同屬性的農(nóng)田數(shù)據(jù)進(jìn)行預(yù)處理;
[0145]其中,預(yù)處理包括數(shù)據(jù)清洗、數(shù)據(jù)集成、空值處理和連續(xù)數(shù)據(jù)離散化。[0146]本發(fā)明實施例提供了一種海量農(nóng)田數(shù)據(jù)的監(jiān)控系統(tǒng),該方法通過云計算的方式對不同屬性的農(nóng)田數(shù)據(jù)對農(nóng)田的影響度進(jìn)行計算,解決了對于海量農(nóng)田數(shù)據(jù)的計算效率問題,擴(kuò)大了數(shù)據(jù)輸入的規(guī)模,提高了對于農(nóng)田數(shù)據(jù)的挖掘效率。
[0147]在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實施例可以在沒有這些具體細(xì)節(jié)的情況下實踐。在一些實例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對本說明書的理解。
[0148]類似地,應(yīng)當(dāng)理解,為了精簡本公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實施例的所有特征。因此,遵循【具體實施方式】的權(quán)利要求書由此明確地并入該【具體實施方式】,其中每個權(quán)利要求本身都作為本發(fā)明的單獨實施例。
[0149]本領(lǐng)域那些技術(shù)人員可以理解,可以對實施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們設(shè)置在與該實施例不同的一個或多個設(shè)備中。可以把實施例中的模塊或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。
[0150]此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實施例。例如,在權(quán)利要求書中,所要求保護(hù)的實施例的任意之一都可以以任意的組合方式來使用。
[0151 ] 本發(fā)明的各個部件實施例可以以硬件實現(xiàn),或者以在一個或者多個處理器上運(yùn)行的軟件模塊實現(xiàn),或者以它們的組合實現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實踐中使用微處理器或者數(shù)字信號處理器(DSP )來實現(xiàn)根據(jù)本發(fā)明實施例的海量農(nóng)田數(shù)據(jù)的監(jiān)控系統(tǒng)中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計算機(jī)程序和計算機(jī)程序產(chǎn)品)。這樣的實現(xiàn)本發(fā)明的程序可以存儲在計算機(jī)可讀介質(zhì)上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
[0152] 應(yīng)該注意的是上述實施例對本發(fā)明進(jìn)行說明而不是對本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計出替換實施例。在權(quán)利要求中,不應(yīng)將位于括號之間的任何參考符號構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計算機(jī)來實現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
[0153] 至此,本領(lǐng)域技術(shù)人員應(yīng)認(rèn)識到,雖然本文已詳盡示出和描述了本發(fā)明的多個示例性實施例,但是,在不脫離本發(fā)明精神和范圍的情況下,仍可根據(jù)本發(fā)明公開的內(nèi)容直接確定或推導(dǎo)出符合本發(fā)明原理的許多其他變型或修改。因此,本發(fā)明的范圍應(yīng)被理解和認(rèn)定為覆蓋了所有這些其他變型或修改。
【權(quán)利要求】
1.一種海量農(nóng)田數(shù)據(jù)的監(jiān)控方法,包括: 通過微型無線傳感器節(jié)點實時采集不同屬性的農(nóng)田數(shù)據(jù); 通過云計算的方式計算所述不同屬性的農(nóng)田數(shù)據(jù)對農(nóng)田的影響度并作為計算結(jié)果; 將所述計算結(jié)果通過網(wǎng)絡(luò)顯示給用戶。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述通過云計算的方式計算所述不同屬性的農(nóng)田數(shù)據(jù)對農(nóng)田的影響度并作為計算結(jié)果,包括: 接收所述不同屬性的農(nóng)田數(shù)據(jù); 將對所述不同屬性的農(nóng)田數(shù)據(jù)的計算任務(wù)發(fā)送到云平臺的不同的處理機(jī)上,執(zhí)行所述不同屬性的農(nóng)田數(shù)據(jù)對農(nóng)田影響度的計算; 對不同的處理機(jī)上得到的中間計算結(jié)果進(jìn)行歸約; 根據(jù)所述進(jìn)行歸約后的數(shù)據(jù)得到計算結(jié)果。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述接收所述不同屬性的農(nóng)田數(shù)據(jù),包括: 開啟預(yù)設(shè)數(shù)量的數(shù)據(jù)接收線程; 創(chuàng)建靜態(tài)線程池,并以I/ O端口復(fù)用的方式創(chuàng)建實時監(jiān)聽端口,使所述數(shù)據(jù)接收線程通過所述實時監(jiān)聽端口接收所述不同屬性的農(nóng)田數(shù)據(jù)。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,在所述將對所述不同屬性的農(nóng)田數(shù)據(jù)的計算任務(wù)發(fā)送到云平臺的不同的處理機(jī)上之前,還包括: 對所述不同屬性的農(nóng)田數(shù)據(jù)進(jìn)行預(yù)處理; 其中,所述預(yù)處理包括數(shù)據(jù)清洗、數(shù)據(jù)集成、空值處理和連續(xù)數(shù)據(jù)離散化。
5.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述將對所述不同屬性的農(nóng)田數(shù)據(jù)的計算任務(wù)發(fā)送到云平臺的不同的處理機(jī)上,包括: 創(chuàng)建空閑處理機(jī)隊列; 將所述不同屬性的農(nóng)田數(shù)據(jù)劃分為多個訓(xùn)練子集; 將對所述多個訓(xùn)練子集的計算任務(wù)分別分配到所述空閑處理機(jī)隊列中的處理機(jī); 其中,當(dāng)任意一個處理機(jī)完成對其對應(yīng)的訓(xùn)練子集的計算時,將該處理機(jī)重新放置到所述空閑處理機(jī)隊列中。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述根據(jù)所述進(jìn)行歸約后的數(shù)據(jù)得到計算結(jié)果,包括: 對所述進(jìn)行規(guī)約后的數(shù)據(jù)進(jìn)行哈希映射,建立哈希表; 通過哈希查詢計算各個訓(xùn)練子集中每個屬性的增益率; 選取最大增益率的屬性構(gòu)造決策樹,并將所述決策樹作為計算結(jié)果。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,在所述選取最大增益率的屬性構(gòu)造決策樹之后,還包括: 抽取所述決策樹中的分類規(guī)則,采用交叉驗證法對所述決策樹的精確度進(jìn)行評估。
8.一種海量農(nóng)田數(shù)據(jù)的監(jiān)控系統(tǒng),包括: 數(shù)據(jù)采集模塊,配置為通過微型無線傳感器節(jié)點實時采集農(nóng)田數(shù)據(jù); 數(shù)據(jù)處理中心模塊,配置為通過云計算的方式計算所述不同屬性的農(nóng)田數(shù)據(jù)對農(nóng)田的影響度并作為計算結(jié)果;顯示模塊,配置為將所述計算結(jié)果通過網(wǎng)絡(luò)顯示給用戶。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述數(shù)據(jù)處理中心模塊包括: 數(shù)據(jù)接收單元,配置為接收所述不同屬性的農(nóng)田數(shù)據(jù); 決策分析單元,配置為將對所述不同屬性的農(nóng)田數(shù)據(jù)的計算任務(wù)發(fā)送到云平臺的不同的處理機(jī)上,執(zhí)行對所述不同屬性的農(nóng)田數(shù)據(jù)對農(nóng)田影響度的計算,以及對不同的處理機(jī)上得到的中間計算結(jié)果進(jìn)行歸約,根據(jù)所述進(jìn)行歸約后的數(shù)據(jù)得到計算結(jié)果。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,所述數(shù)據(jù)處理中心模塊,還包括: 數(shù)據(jù)處理單元,配置為在將對所述不同屬性的農(nóng)田數(shù)據(jù)的計算任務(wù)發(fā)送到云平臺的不同的處理機(jī)上之前,對所述不同屬性的農(nóng)田數(shù)據(jù)進(jìn)行預(yù)處理; 其中,所述預(yù)處理包括數(shù)據(jù)清洗、 數(shù)據(jù)集成、空值處理和連續(xù)數(shù)據(jù)離散化。
【文檔編號】H04L29/08GK103886508SQ201410073678
【公開日】2014年6月25日 申請日期:2014年3月3日 優(yōu)先權(quán)日:2014年3月3日
【發(fā)明者】史眾, 薛文, 宋瀟豫, 張永軍 申請人:中標(biāo)軟件有限公司