本發(fā)明涉及大數(shù)據(jù)管理技術(shù)領(lǐng)域,特別是涉及一種分散式大數(shù)據(jù)管理與檢索的方法,尤其是大量北斗船位時(shí)空數(shù)據(jù)的分散式存儲(chǔ)管理,以及快速查詢(xún)、統(tǒng)計(jì)。
背景技術(shù):
海量業(yè)務(wù)數(shù)據(jù)應(yīng)用系統(tǒng)在運(yùn)行過(guò)程中,需要查詢(xún)大量的相關(guān)數(shù)據(jù),因此業(yè)務(wù)數(shù)據(jù)的存放與查詢(xún)成為應(yīng)用系統(tǒng)的重要組成部分。由于數(shù)據(jù)量比較龐大,為了維護(hù)和管理便利,應(yīng)用系統(tǒng)的業(yè)務(wù)數(shù)據(jù)通常被存放在數(shù)據(jù)庫(kù)中,應(yīng)用系統(tǒng)在運(yùn)行時(shí)通過(guò)使用SQL語(yǔ)句訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)的方式查詢(xún)。這種方式雖然實(shí)現(xiàn)簡(jiǎn)便,但是由于數(shù)據(jù)庫(kù)本身的性能以及網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)南牡纫蛩兀瑫?huì)影響應(yīng)用處理查詢(xún)數(shù)據(jù)的速度,從而降低應(yīng)用系統(tǒng)的性能表現(xiàn),因此通過(guò)直接訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)的方式比較適合于數(shù)據(jù)量不是很大、對(duì)應(yīng)用系統(tǒng)的處理速度要求不高的系統(tǒng)。并且DB2、0racle、SQL Server等數(shù)據(jù)庫(kù)系統(tǒng)會(huì)繞開(kāi)文件系統(tǒng),自己管理磁盤(pán)塊,提高了數(shù)據(jù)庫(kù)的性能,但數(shù)據(jù)庫(kù)的管理也變得比較復(fù)雜了,這些商業(yè)數(shù)據(jù)庫(kù)成本都較高。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種分散式大數(shù)據(jù)管理與檢索的方法,能夠準(zhǔn)確、直觀的漁船的時(shí)空分布統(tǒng)計(jì)查詢(xún)。
本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案是:提供一種分散式大數(shù)據(jù)管理與檢索的方法,應(yīng)用程序服務(wù)器處理北斗空間數(shù)據(jù),處理后的數(shù)據(jù)由管理服務(wù)器根據(jù)配置分散存儲(chǔ)到文件服務(wù)器,并記錄存放的位置,Web服務(wù)器為外部網(wǎng)絡(luò)訪(fǎng)問(wèn)提供服務(wù),把外部訪(fǎng)問(wèn)請(qǐng)求發(fā)給應(yīng)用程序服務(wù)器,應(yīng)用程序服務(wù)器通過(guò)管理服務(wù)器獲取分散的文件數(shù)據(jù),對(duì)這些數(shù)據(jù)根據(jù)訪(fǎng)問(wèn)請(qǐng)求處理后返回給Web服務(wù)器;所述數(shù)據(jù)分為兩部分,一部分是基礎(chǔ)數(shù)據(jù),另一部分是業(yè)務(wù)數(shù)據(jù);系統(tǒng)運(yùn)行后,系統(tǒng)將數(shù)據(jù)讀入內(nèi)存中,利用內(nèi)存的緩沖區(qū)直接操作數(shù)據(jù)文件。
所述基礎(chǔ)數(shù)據(jù)包括海域數(shù)據(jù)、區(qū)劃數(shù)據(jù)和漁船數(shù)據(jù);所述業(yè)務(wù)數(shù)據(jù)包括漁船小時(shí)分布、漁船天分布和漁船軌跡數(shù)據(jù)。
所述區(qū)劃數(shù)據(jù)與漁船數(shù)據(jù)通過(guò)區(qū)劃編號(hào)關(guān)聯(lián);所述漁船軌跡數(shù)據(jù)通過(guò)漁船編號(hào)與漁船數(shù)據(jù)相關(guān)聯(lián);所述漁船小時(shí)分布表通過(guò)小漁區(qū)編號(hào)與海域數(shù)據(jù)關(guān)聯(lián);所述漁船天分布表通過(guò)小漁區(qū)編號(hào)與海域數(shù)據(jù)關(guān)聯(lián)。
所述海域數(shù)據(jù)的內(nèi)存結(jié)構(gòu)所表達(dá)的海域?qū)哟侮P(guān)系為海區(qū)、漁場(chǎng)、漁區(qū)、小漁區(qū)由上向下成包含的層次關(guān)系。
所述區(qū)劃數(shù)據(jù)的內(nèi)存結(jié)構(gòu)所表達(dá)的區(qū)域?qū)哟侮P(guān)系為省級(jí)行政區(qū)劃、地區(qū)級(jí)行政區(qū)劃、縣級(jí)行政區(qū)劃由上向下成包含的層次關(guān)系。
所述漁船數(shù)據(jù)的內(nèi)存結(jié)構(gòu)為省級(jí)行政區(qū)劃編號(hào)、地區(qū)級(jí)行政區(qū)劃編號(hào)同區(qū)劃數(shù)據(jù)的內(nèi)存結(jié)構(gòu),每個(gè)縣級(jí)行政區(qū)劃中存儲(chǔ)起止的漁船編號(hào),每個(gè)漁船編號(hào)中存儲(chǔ)漁船基本信息。
通過(guò)區(qū)劃數(shù)據(jù)的內(nèi)存結(jié)構(gòu)和海域數(shù)據(jù)的內(nèi)存結(jié)構(gòu),查詢(xún)分散的北斗船位空間分布數(shù)據(jù)文件,統(tǒng)計(jì)某段時(shí)間,某區(qū)劃漁船去各海域作業(yè)的數(shù)量或統(tǒng)計(jì)某段時(shí)間,某海域漁船來(lái)源于各區(qū)劃的數(shù)量。
有益效果
由于采用了上述的技術(shù)方案,本發(fā)明與現(xiàn)有技術(shù)相比,具有以下的優(yōu)點(diǎn)和積極效果:本發(fā)明把現(xiàn)有技術(shù)中存儲(chǔ)在數(shù)據(jù)庫(kù)中的數(shù)據(jù)存儲(chǔ)在由文件系統(tǒng)管理的分散的數(shù)據(jù)文件中,其提高了數(shù)據(jù)讀取效率,增加了數(shù)據(jù)管理靈活性,減少了商業(yè)數(shù)據(jù)庫(kù)軟件的成本。本發(fā)明采用一種分散式數(shù)據(jù)管理,用內(nèi)存表層次模型來(lái)解決數(shù)據(jù)快速統(tǒng)計(jì)查詢(xún)的問(wèn)題。內(nèi)存的速度是除了CPU CACHE外最快的存儲(chǔ)設(shè)備,內(nèi)存速度可達(dá)6G/S以上,與硬盤(pán)速度相差30倍以上。分散式存儲(chǔ)還支持自定義的socket協(xié)議,構(gòu)建分布式系統(tǒng),遇到高并發(fā),高流量的任務(wù)時(shí)可以進(jìn)行拓展提高數(shù)據(jù)共享效率。
附圖說(shuō)明
圖1為數(shù)據(jù)關(guān)系圖;
圖2為數(shù)據(jù)結(jié)構(gòu)圖;
圖3為數(shù)據(jù)存儲(chǔ)管理圖;
圖4為海域數(shù)據(jù)內(nèi)存結(jié)構(gòu)圖;
圖5為海域?qū)哟侮P(guān)系圖;
圖6為區(qū)劃數(shù)據(jù)內(nèi)存結(jié)構(gòu)圖;
圖7為區(qū)劃數(shù)據(jù)層次關(guān)系圖;
圖8為漁船信息數(shù)據(jù)內(nèi)存結(jié)構(gòu)圖;
圖9為海域統(tǒng)計(jì)圖;
圖10為區(qū)劃統(tǒng)計(jì)圖;
圖11為漁場(chǎng)漁船追溯展示圖;
圖12為全國(guó)區(qū)劃漁船海上分布圖。
具體實(shí)施方式
下面結(jié)合具體實(shí)施例,進(jìn)一步闡述本發(fā)明。應(yīng)理解,這些實(shí)施例僅用于說(shuō)明本發(fā)明而不用于限制本發(fā)明的范圍。此外應(yīng)理解,在閱讀了本發(fā)明講授的內(nèi)容之后,本領(lǐng)域技術(shù)人員可以對(duì)本發(fā)明作各種改動(dòng)或修改,這些等價(jià)形式同樣落于本申請(qǐng)所附權(quán)利要求書(shū)所限定的范圍。
本發(fā)明的實(shí)施方式涉及一種分散式大數(shù)據(jù)管理與檢索的方法,下面以北斗數(shù)據(jù)存儲(chǔ)與檢索為例進(jìn)一步說(shuō)明本發(fā)明。
1.數(shù)據(jù)內(nèi)容
1.1海域劃分
我國(guó)沿海從北到南分渤海、黃海、東海和南海海區(qū)。渤海、黃海分界線(xiàn)是遼東半島南端老鐵山角與山東半島北岸蓬萊角的連線(xiàn);黃海、東海分界線(xiàn)是長(zhǎng)江口北岸的啟東角與韓國(guó)濟(jì)州島西南角的連線(xiàn);東海、南海分界線(xiàn)是廣東南澳島與臺(tái)灣島南端的鵝鑾鼻連線(xiàn)。山東半島以北稱(chēng)渤海,山東半島與長(zhǎng)江口之間稱(chēng)黃海,長(zhǎng)江口與臺(tái)灣島之間的海域是東海,臺(tái)灣島以南、以西的部分則是南海。習(xí)慣上根據(jù)水域位置、捕撈對(duì)象和作業(yè)方式等劃分漁場(chǎng),近海劃分了53個(gè)傳統(tǒng)漁場(chǎng)。我國(guó)制定有渤、黃、東海漁區(qū)編碼和南海漁區(qū)編碼。近海區(qū)編碼以30′×30′經(jīng)緯度范圍大小為一個(gè)漁區(qū)單元,每漁區(qū)又按每10′×10′經(jīng)緯度細(xì)分為9個(gè)小漁區(qū),每個(gè)漁區(qū)單元按照從西至東、從北向南的順序進(jìn)行編號(hào)。漁區(qū)編碼從最北部的遼東灣開(kāi)始,初始編碼為1,沿經(jīng)度方向向東最遠(yuǎn)擴(kuò)展到129.5°E,從北往南依次編碼,最南端為4°N附近的曾母暗沙海域。海域信息保存在文本文件中(表1),每個(gè)海域的信息占一條記錄,海域的屬性用逗號(hào)隔開(kāi),各海域記錄間用回車(chē)符分開(kāi)。海域存儲(chǔ)按照海區(qū)、漁場(chǎng)、漁區(qū)、小漁區(qū)排序,然后對(duì)排序的海域由1開(kāi)始逐漸增加作為海域的編號(hào)。
表1
1.2行政區(qū)劃
《中國(guó)海洋統(tǒng)計(jì)年鑒》中沿海地區(qū)定義是指有海岸線(xiàn)(大陸岸線(xiàn)和島嶼岸線(xiàn))的地區(qū),目前我國(guó)有8個(gè)沿海省、1個(gè)自治區(qū)、2個(gè)直轄市;53個(gè)沿海城市、242個(gè)沿海區(qū)縣。行政區(qū)劃保存在文本文件中(表2),每個(gè)區(qū)劃信息占一條記錄,區(qū)劃的屬性用逗號(hào)隔開(kāi),各區(qū)劃記錄間用回車(chē)符分開(kāi)。區(qū)劃存儲(chǔ)按照省、地區(qū)、縣排序,然后對(duì)排序的區(qū)劃由1開(kāi)始逐漸增加作為區(qū)劃的編號(hào)。
表2
1.3漁船信息
漁船信息包括漁船名稱(chēng)、捕撈類(lèi)型、船長(zhǎng)、功率捕撈類(lèi)型等,根據(jù)《漁業(yè)捕撈許可管理規(guī)定》作業(yè)類(lèi)型有刺網(wǎng)、圍網(wǎng)、拖網(wǎng)、張網(wǎng)、釣具、耙刺、陷阱、籠壺和雜漁具(含地拉網(wǎng)、敷網(wǎng)、抄網(wǎng)、掩罩及其他雜漁具)共9種。漁船命名按照“省簡(jiǎn)稱(chēng)+縣簡(jiǎn)稱(chēng)+船號(hào)”形式命名,漁船信息保存在文本文件中(表3),每艘船的信息占一條記錄,船的屬性用逗號(hào)隔開(kāi),各漁船記錄間用回車(chē)符分開(kāi)。漁船存儲(chǔ)按照省、地區(qū)、縣排序,船號(hào)由小到大,然后對(duì)排序的漁船由1開(kāi)始逐漸增加作為漁船的編號(hào)。
表3
1.4漁船分布數(shù)據(jù)
漁船分布數(shù)據(jù)分為漁船小時(shí)分布數(shù)據(jù)和漁船天分布數(shù)據(jù)。漁船小時(shí)分布數(shù)據(jù)指的是漁船每小時(shí)各小漁區(qū)格網(wǎng)中的漁船(表4),漁船天分布數(shù)據(jù)指的是漁船每天各小漁區(qū)格網(wǎng)中的漁船(表5),數(shù)據(jù)記錄包括系統(tǒng)生成的唯一編號(hào)小漁區(qū)編號(hào)和漁船編號(hào),漁船分布信息保存在在文本文件中,以每天或每小時(shí)為一條記錄,以小漁區(qū)編號(hào)為主鍵,漁船編號(hào)用逗號(hào)隔開(kāi),每個(gè)漁區(qū)的記錄用回車(chē)符分開(kāi)。
表4
表5
1.5漁船軌跡數(shù)據(jù)
漁船軌跡數(shù)據(jù)包括時(shí)間、經(jīng)度、緯度、航速、航向、漁船編號(hào)等。每一條漁船軌跡記錄為單艘漁船的軌跡(表6),以船位數(shù)據(jù)發(fā)出的時(shí)間為主鍵,船的軌跡信息用逗號(hào)隔開(kāi),包括經(jīng)度、緯度、航速(單位m/s)航向、漁船編號(hào),每個(gè)時(shí)間點(diǎn)的船位記錄用回車(chē)符分開(kāi)。
表6
1.6數(shù)據(jù)間的關(guān)系
數(shù)據(jù)主要包含6張表,互相聯(lián)系(圖1)。行政區(qū)劃表與漁船信息表通過(guò)區(qū)劃編號(hào)關(guān)聯(lián)。漁船軌跡通過(guò)漁船編號(hào)與漁船信息相關(guān)聯(lián),可獲取漁船的軌信息。漁船小時(shí)分布表通過(guò)小漁區(qū)編號(hào)與海域格網(wǎng)表關(guān)聯(lián),通過(guò)漁船編號(hào)與漁船信息表關(guān)聯(lián),構(gòu)成漁船小時(shí)分布的完整信息。漁船天分布表通過(guò)小漁區(qū)編號(hào)與海域格網(wǎng)表關(guān)聯(lián),通過(guò)漁船編號(hào)與漁船信息表關(guān)聯(lián),構(gòu)成漁船天分布的完整信息。
2.數(shù)據(jù)存儲(chǔ)管理
2.1漁船數(shù)據(jù)存儲(chǔ)
完善的統(tǒng)計(jì)分析功能需要大量的數(shù)據(jù)結(jié)構(gòu)支持,按照3min的時(shí)間分辨率來(lái)接收船位數(shù)據(jù),5萬(wàn)艘船每天接收到的位置數(shù)據(jù)可達(dá)2000萬(wàn)余條?!敖Y(jié)構(gòu)化管理”包括結(jié)構(gòu)化文件夾和數(shù)據(jù)文件。數(shù)據(jù)分為兩部分(圖2),一部分是數(shù)據(jù)比較固定,變化小的基礎(chǔ)數(shù)據(jù),如海域、區(qū)劃、漁船數(shù)據(jù);一部分是數(shù)據(jù)量不斷增加的業(yè)務(wù)數(shù)據(jù),如漁船小時(shí)分布、天分布、軌跡數(shù)據(jù)。
2.2數(shù)據(jù)管理
整個(gè)網(wǎng)絡(luò)區(qū)分為三個(gè)部分(圖3)WAN(局域網(wǎng),分布于一個(gè)相對(duì)較小的區(qū)域內(nèi)的用以連接各種類(lèi)型服務(wù)器的計(jì)算機(jī)網(wǎng)絡(luò))、LAN(廣域網(wǎng),能在很寬的地理區(qū)域內(nèi)為用戶(hù)服務(wù)的數(shù)據(jù)通信網(wǎng)絡(luò))、DMZ(隔離區(qū),為解決安裝防火墻后外部網(wǎng)絡(luò)的訪(fǎng)問(wèn)用戶(hù)不能訪(fǎng)問(wèn)內(nèi)部網(wǎng)絡(luò)服務(wù)器的問(wèn)題),在這個(gè)數(shù)據(jù)存儲(chǔ)方案中,使用防火墻為關(guān)鍵服務(wù)器提供隔離區(qū),防火墻抵擋外部網(wǎng)絡(luò)的攻擊,并管理所有內(nèi)部網(wǎng)絡(luò)的訪(fǎng)問(wèn)。為了解決安裝防火墻后外部網(wǎng)絡(luò)不能訪(fǎng)問(wèn)內(nèi)部網(wǎng)絡(luò)服務(wù)器的問(wèn)題,設(shè)立了一個(gè)非安全系統(tǒng)與安全系統(tǒng)之間的隔離區(qū)DMZ。通過(guò)DMZ區(qū)域有效地保護(hù)了內(nèi)部網(wǎng)絡(luò)。DMZ防火墻方案為要保護(hù)的內(nèi)部網(wǎng)絡(luò)增加了一道安全防線(xiàn),并且提供了一個(gè)區(qū)域放置公共服務(wù)器,能有效地避免一些互聯(lián)應(yīng)用需要公開(kāi)與內(nèi)部安全策略相矛盾的情況發(fā)生。應(yīng)用程序服務(wù)器處理北斗空間數(shù)據(jù),處理后的數(shù)據(jù)由管理服務(wù)器根據(jù)配置分散存儲(chǔ)到文件服務(wù)器,并記錄存放的位置,Web服務(wù)器為外部網(wǎng)絡(luò)訪(fǎng)問(wèn)提供服務(wù),把外部訪(fǎng)問(wèn)請(qǐng)求發(fā)給應(yīng)用程序服務(wù)器,它通過(guò)管理服務(wù)器獲取分散的文件數(shù)據(jù),對(duì)這些數(shù)據(jù)根據(jù)訪(fǎng)問(wèn)請(qǐng)求處理后返回給Web服務(wù)器。
3.數(shù)據(jù)內(nèi)存管理
系統(tǒng)運(yùn)行后,系統(tǒng)將數(shù)據(jù)讀入內(nèi)存中,利用內(nèi)存的緩沖區(qū)直接操作的數(shù)據(jù)文件,以便快速地查詢(xún)和訪(fǎng)問(wèn)數(shù)據(jù)內(nèi)容,減少對(duì)磁盤(pán)IO的訪(fǎng)問(wèn),提升查詢(xún)性能。
3.1漁區(qū)內(nèi)存表
海域數(shù)據(jù)內(nèi)存結(jié)構(gòu)如圖4所示,海區(qū)編號(hào)、漁場(chǎng)編號(hào)、漁區(qū)編號(hào)中都存儲(chǔ)著下一層次的起始與終止的編號(hào),如海區(qū)編號(hào)是1~4的4個(gè)海區(qū),每個(gè)海區(qū)存儲(chǔ)該海區(qū)的漁場(chǎng)起止編號(hào),每個(gè)漁場(chǎng)保存該漁場(chǎng)的漁區(qū)起止編號(hào),每個(gè)漁區(qū)保存該區(qū)域的小漁區(qū)起止編號(hào),小漁區(qū)中存儲(chǔ)著小漁區(qū)基本單元信息。
海域數(shù)據(jù)內(nèi)存結(jié)構(gòu)所表達(dá)的海域?qū)哟侮P(guān)系如圖5所示,海區(qū)、漁場(chǎng)、漁區(qū)、小漁區(qū)由上向下成包含的層次關(guān)系。
3.2區(qū)劃內(nèi)存表
區(qū)劃數(shù)據(jù)內(nèi)存結(jié)構(gòu)如圖6所示,省級(jí)行政區(qū)劃編號(hào)、地區(qū)級(jí)行政區(qū)劃編號(hào)、縣級(jí)行政區(qū)劃編號(hào)中都存儲(chǔ)著下一層次的起始與終止的編號(hào),每個(gè)省級(jí)行政區(qū)劃中存儲(chǔ)地區(qū)級(jí)行級(jí)政區(qū)劃的起止編號(hào),每個(gè)地區(qū)級(jí)行級(jí)政區(qū)劃中存縣級(jí)行政區(qū)劃起止編號(hào),每個(gè)縣級(jí)行政區(qū)劃中存儲(chǔ)縣級(jí)行政區(qū)劃基本單元信息。
區(qū)劃數(shù)據(jù)內(nèi)存結(jié)構(gòu)所表達(dá)的區(qū)域?qū)哟侮P(guān)系圖如圖7所示,省級(jí)行政區(qū)劃、地區(qū)級(jí)行政區(qū)劃、縣級(jí)行政區(qū)劃由上向下成包含的層次關(guān)系。
3.3漁船內(nèi)存表
漁船信息數(shù)據(jù)內(nèi)存結(jié)構(gòu)如圖8所示,省級(jí)行政區(qū)劃編號(hào)、地區(qū)級(jí)行政區(qū)劃編號(hào)同區(qū)劃數(shù)據(jù)內(nèi)存結(jié)構(gòu),每個(gè)縣級(jí)行政區(qū)劃中存儲(chǔ)起止的漁船編號(hào),每個(gè)漁船編號(hào)中存儲(chǔ)漁船基本信息。
4.數(shù)據(jù)檢索
北斗數(shù)據(jù)挖掘獲取的捕撈努力量、網(wǎng)次、累計(jì)捕撈時(shí)間等信息,可以根據(jù)行政區(qū)劃統(tǒng)計(jì)各級(jí)區(qū)劃漁船一段時(shí)間的捕撈情況,海上空間分布情況,根據(jù)海域格網(wǎng)追溯漁船來(lái)源各級(jí)區(qū)劃的數(shù)量等。
4.1區(qū)劃漁船去向檢索
用戶(hù)選擇一個(gè)區(qū)劃,統(tǒng)計(jì)這個(gè)區(qū)劃漁船去各海域作業(yè)的數(shù)量,一般數(shù)據(jù)庫(kù)中查詢(xún)語(yǔ)句是“select海域,count(*)where時(shí)間in時(shí)間段and漁船in區(qū)劃group by海域”,本專(zhuān)利分散的北斗船位據(jù)統(tǒng)計(jì)漁船去向,流程如圖9。
(1)系統(tǒng)運(yùn)行時(shí)把海域、區(qū)劃、漁船信息先讀取到內(nèi)存,構(gòu)建海域數(shù)據(jù)內(nèi)存結(jié)構(gòu)、區(qū)劃數(shù)據(jù)內(nèi)存結(jié)構(gòu)、漁船信息數(shù)據(jù)內(nèi)存結(jié)構(gòu);
(2)選定某個(gè)區(qū)劃時(shí),根據(jù)區(qū)劃數(shù)據(jù)內(nèi)存結(jié)構(gòu)判斷該海域包含的選定漁船;
(3)根據(jù)時(shí)間讀入分散的北斗船位空間分布數(shù)據(jù)文件,篩選包含在選定的漁船,實(shí)現(xiàn)查詢(xún)語(yǔ)句的“where時(shí)間in時(shí)間段and漁船in區(qū)劃”;
(4)根據(jù)選定海域級(jí)別(海區(qū)、漁場(chǎng)、漁區(qū)、小漁區(qū)),利用海域數(shù)據(jù)內(nèi)存結(jié)構(gòu)確定該海域的包含小漁區(qū);
(5)把“小漁區(qū)+漁船編號(hào)”作為關(guān)鍵字,添加漁船編號(hào)是為了實(shí)現(xiàn)漁船在某個(gè)漁區(qū)不重復(fù)統(tǒng)計(jì),通過(guò)“小漁區(qū)+漁船編號(hào)”篩選出各小漁區(qū)中的漁船,在以選中的“海域”級(jí)別為關(guān)鍵字統(tǒng)計(jì)各海域漁船的數(shù)量,實(shí)現(xiàn)查詢(xún)語(yǔ)句中的group by海域。
4.2追溯漁船海域數(shù)據(jù)來(lái)源檢索
用戶(hù)選擇一個(gè)海域,追溯這個(gè)海域漁船來(lái)源于各區(qū)劃的數(shù)量,一般數(shù)據(jù)庫(kù)中查詢(xún)語(yǔ)句是“select區(qū)劃,count(*)where時(shí)間in時(shí)間段and漁船in海域group by區(qū)劃”,本專(zhuān)利漁船追溯漁船數(shù)據(jù)的流程如圖10。
(1)系統(tǒng)運(yùn)行時(shí)把海域、區(qū)劃、漁船信息先讀取到內(nèi)存,構(gòu)建海域數(shù)據(jù)內(nèi)存結(jié)構(gòu)、區(qū)劃數(shù)據(jù)內(nèi)存結(jié)構(gòu)、漁船信息數(shù)據(jù)內(nèi)存結(jié)構(gòu);
(2)選定某個(gè)海域時(shí),根據(jù)海域數(shù)據(jù)內(nèi)存結(jié)構(gòu)判斷該海域包含的選定小漁區(qū);
(3)根據(jù)時(shí)間讀入分散的北斗船位空間分布數(shù)據(jù)文件,篩選包含在選定小漁區(qū)的漁船實(shí)現(xiàn)查詢(xún)語(yǔ)句的“where時(shí)間in時(shí)間段and漁船in海域”;
(4)根據(jù)選定區(qū)劃級(jí)別(省級(jí)行政區(qū)劃、地區(qū)級(jí)行政區(qū)劃、縣級(jí)行政區(qū)劃),利用漁船信息數(shù)據(jù)內(nèi)存結(jié)構(gòu)確定該區(qū)劃的包含漁船;
(5)把“區(qū)劃+漁船編號(hào)”作為關(guān)鍵字,添加漁船編號(hào)是為了實(shí)現(xiàn)漁船在某個(gè)區(qū)劃不重復(fù)統(tǒng)計(jì),通過(guò)“區(qū)劃+漁船編號(hào)”篩選出選定區(qū)劃中各區(qū)中漁船,在以選中的“區(qū)劃”為關(guān)鍵字統(tǒng)計(jì)各區(qū)劃漁船的數(shù)量,實(shí)現(xiàn)查詢(xún)語(yǔ)句中的group by區(qū)劃。
5.數(shù)據(jù)展示
5.1某個(gè)漁場(chǎng)漁船來(lái)源
以漁場(chǎng)漁船來(lái)源的地區(qū)及行政區(qū)劃為例說(shuō)明海域漁船追溯的展示方法,如圖11,選擇需要查詢(xún)的日期與時(shí)間,點(diǎn)擊任意漁場(chǎng),1秒內(nèi)完成數(shù)據(jù)查詢(xún)統(tǒng)計(jì)與地圖刷新顯示,展示出由漁場(chǎng)指向各地區(qū)級(jí)區(qū)劃的箭頭,并標(biāo)注該漁場(chǎng)來(lái)源各地區(qū)的船只數(shù)量。
5.2某區(qū)劃漁船去向
以各級(jí)區(qū)劃漁船在漁場(chǎng)中的分布數(shù)量為例說(shuō)明區(qū)劃漁船的去向,如圖12,選擇需要查詢(xún)的日期與時(shí)間,點(diǎn)擊任意級(jí)別區(qū)劃,1秒內(nèi)完成數(shù)據(jù)查詢(xún)統(tǒng)計(jì)與地圖刷新顯示,可以統(tǒng)計(jì)出選中區(qū)劃所屬漁船在各個(gè)漁場(chǎng)中分布的數(shù)量,并用對(duì)應(yīng)顏色表示。
5.3漁船軌跡查詢(xún)展示
某海域漁船來(lái)源可以調(diào)出來(lái)源的各區(qū)劃中漁船列表,某區(qū)劃漁船去向可以調(diào)出去向的各海域中漁船列表,選擇某個(gè)漁船,確定具體時(shí)間,就可以在分散式北斗數(shù)據(jù)文件中獲取該漁船的軌跡并展示。