朱迅 ,黃世秀 ,沈天賀 ,侯穎 (合肥工業(yè)大學(xué)土木與水利工程學(xué)院,安徽 合肥 230009)
在物聯(lián)網(wǎng)、移動(dòng)互聯(lián)網(wǎng)以及云計(jì)算等新興技術(shù)快速發(fā)展的背景下,數(shù)據(jù)的獲取途徑變得多元化,數(shù)據(jù)種類變得多樣化,尤其是帶有時(shí)空信息的數(shù)據(jù)正在迅速增長(zhǎng)[1],原有的“數(shù)字城市”的城市基礎(chǔ)地理空間框架已無(wú)法滿足需求,城市管理手段現(xiàn)在向以時(shí)空大數(shù)據(jù)為核心的智慧城市建設(shè)方向發(fā)展[2]。
圖1 時(shí)空大數(shù)據(jù)構(gòu)成
建設(shè)的總體路線應(yīng)在先行完成基礎(chǔ)地理信息數(shù)據(jù)的基礎(chǔ)和公共規(guī)劃數(shù)據(jù)之上,再依次開展實(shí)時(shí)感知數(shù)據(jù)以及公共專題數(shù)據(jù)的建設(shè),層層疊進(jìn),確保各類型的數(shù)據(jù)建設(shè),應(yīng)根據(jù)城市信息化的基礎(chǔ)來(lái)滿足各方應(yīng)用需求,達(dá)到智慧城市頂層設(shè)計(jì)的要求,同時(shí)為后期搭建數(shù)據(jù)庫(kù)提供支持。
時(shí)空信息云平臺(tái)充分利用前期已經(jīng)建設(shè)完成的數(shù)字城市,地理信息公共平臺(tái)建設(shè)成果和時(shí)空大數(shù)據(jù)資源,開展地理信息公共平臺(tái)升級(jí),以數(shù)據(jù)服務(wù)、功能服務(wù)、接口服務(wù)和知識(shí)服務(wù)為核心,形成云平臺(tái)資源池,在云平臺(tái)中建立服務(wù)引擎、業(yè)務(wù)流引擎、地名地址引擎和知識(shí)化引擎,通過統(tǒng)一門戶系統(tǒng),根據(jù)用戶的應(yīng)用需求,為各種智慧業(yè)務(wù)提供時(shí)空數(shù)據(jù)信息服務(wù)。時(shí)空云平臺(tái)總體架構(gòu)如圖2所示。
①云平臺(tái)支撐環(huán)境
圖2 云平臺(tái)總體架構(gòu)圖
云平臺(tái)支撐層通過租賃的方式接入新區(qū)的電子政務(wù)云,通過軟件、網(wǎng)絡(luò)、硬件等物理環(huán)境和機(jī)房環(huán)境,從而實(shí)現(xiàn)基于云計(jì)算環(huán)境的數(shù)據(jù)中心。通過這種方式能大幅解決各種分散、多樣的信息平臺(tái),造成的硬件設(shè)施運(yùn)營(yíng)成本高、軟硬件設(shè)施效率低下、能源消耗高等問題。
②云平臺(tái)服務(wù)資源池
資源池是由時(shí)空大數(shù)據(jù)基礎(chǔ)上對(duì)各種數(shù)據(jù)進(jìn)行處理、融合、資源池化,匯集成一系列的服務(wù)資源,包括數(shù)據(jù)資源、功能資源、應(yīng)用框架資源、調(diào)用接口資源等。在第二章時(shí)空大數(shù)據(jù)建設(shè)中已經(jīng)做了詳細(xì)的介紹。
校園文化環(huán)境是高校進(jìn)行思想政治教育的重要物質(zhì)載體,包括物質(zhì)文化環(huán)境和精神文化環(huán)境。校園文化環(huán)境通過有形和無(wú)形的方式影響著學(xué)生,將工匠精神教育寓于校園文化環(huán)境建設(shè)之中的這種隱形教育方式有利于大學(xué)生接受工匠精神,以校園文化環(huán)境為載體開展工匠精神教育有利于實(shí)現(xiàn)思想政治教育的目標(biāo)。
③云平臺(tái)
云平臺(tái)作為時(shí)空云平臺(tái)的服務(wù)層在支撐環(huán)境和服務(wù)資源池的基礎(chǔ)上,將各類的GIS資源整合,用戶可以通過統(tǒng)一門戶展示的各類功能來(lái)獲取相應(yīng)的服務(wù)需求,云平臺(tái)還提供了云服務(wù)引擎、地名地址引擎、業(yè)務(wù)流引擎、知識(shí)化引擎等模塊,用戶可以在云平臺(tái)提供的云服務(wù)基礎(chǔ)上,結(jié)合自身需要選用相應(yīng)的服務(wù)或者使用相關(guān)引擎模塊創(chuàng)建專業(yè)的業(yè)務(wù)系統(tǒng)。
④智慧應(yīng)用
應(yīng)用層構(gòu)建了時(shí)空信息應(yīng)用體系,在時(shí)空大數(shù)據(jù)中心和云平臺(tái)的基礎(chǔ)上滿足各種行業(yè)智慧應(yīng)用的需要,包括有智慧人口、智慧經(jīng)濟(jì)、智慧城管、智慧園林等行業(yè)應(yīng)用。
時(shí)空大數(shù)據(jù)含有海量的數(shù)據(jù),數(shù)據(jù)中包含了大量的非結(jié)構(gòu)數(shù)據(jù),傳統(tǒng)的結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)方式,無(wú)法解決非結(jié)構(gòu)數(shù)據(jù)的存儲(chǔ)問題。因此針對(duì)這些數(shù)據(jù)的特性以及時(shí)空云平臺(tái)的需要,采用基于HDFS分布式存儲(chǔ)系統(tǒng)來(lái)解決非結(jié)構(gòu)化數(shù)據(jù)的存儲(chǔ)。HDFS存儲(chǔ)流程圖如圖3所示。
圖3 邏輯流程圖
①寫入流程
第一步:Client通過調(diào)用文件系統(tǒng)的create()方法向遠(yuǎn)程的NameNode發(fā)出RPC(遠(yuǎn)程過程調(diào)用)請(qǐng)求,來(lái)上傳文件。NameNode會(huì)進(jìn)行檢查來(lái)確保新文件在HDFS文件系統(tǒng)中是不存在的,同時(shí)檢查相應(yīng)的創(chuàng)建新文件的權(quán)限。檢查完畢后,NameNode記錄下新文件的內(nèi)容,返回是否可以上傳;
第二步:Client先對(duì)文件進(jìn)行切塊,比如一個(gè)block是 128MB,則一個(gè)500MB的文件就會(huì)切成4個(gè)block,三個(gè) block為 128MB,一個(gè) block為116MB。再向NameNode請(qǐng)求文件起始block的DataNode地址,NameNode返回最適合用來(lái)存放block的一組DataNode地址。比如為Datanode01,Datanode02,Datanode03,Datanode04;
第三步:Client向這組DataNode請(qǐng)求一個(gè)Datanode來(lái)上傳block,記做Datanode01,同時(shí)建立 pipeline(數(shù)據(jù)流管 道 ),Datanode01 再 調(diào) 用Datanode02,接著再調(diào)用Datanode03,Datanode04,將整個(gè)pipeline建立完成后返回給Client。在文件切割時(shí),文件分割成block然后放入一個(gè)內(nèi)部隊(duì)列,叫做 packet(數(shù)據(jù)隊(duì)列),packet就可以作為數(shù)據(jù)流在pipeline中傳輸。Client開始上傳起始的block,以packet的形式傳送給 Datanode01,Datanode01會(huì)存儲(chǔ)這個(gè)packet包,再依次推送給Datanode02,Datanode03,Datanode04,在這個(gè)過程中,Datanode會(huì)逐級(jí)返回ack信息(確認(rèn)正確寫入),直到最后一個(gè)Datanode04返回ack給Client,同時(shí)Client開始向NameNode請(qǐng)求上傳下一個(gè)block依次循環(huán)直到所有數(shù)據(jù)的寫入。
第四步:Client完成所有數(shù)據(jù)寫入的操作后,對(duì)packet調(diào)用close()方法,NameNode也存入數(shù)據(jù)的位置信息,寫入流程結(jié)束。
②讀取流程
Client通過調(diào)用文件系統(tǒng)的open()方法向遠(yuǎn)程的NameNode發(fā)出RPC(遠(yuǎn)程過程調(diào)用)請(qǐng)求,來(lái)獲取請(qǐng)求的文件block所在的DataNode地址。對(duì)于每一個(gè)block,NameNode會(huì)返回一個(gè)含有對(duì)應(yīng)的block拷貝DataNode地址,接下來(lái)按照集群網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)得出的各個(gè)DataNode地址與Client的距離值來(lái)對(duì)DataNode排序,排序依據(jù)就近原則和心跳機(jī)制,如果Client本身就是一個(gè)DataNode,那么優(yōu)先從本地的DataNode讀取數(shù)據(jù)。如果出現(xiàn)讀取錯(cuò)誤,Client會(huì)再次向NameNode發(fā)送請(qǐng)求,獲取另一個(gè)含有該block拷貝的DataNode地址。在讀取過程中,Client反復(fù)調(diào)用read()方法,以packet方式從DataNode讀取數(shù)據(jù),直到所有的block讀取完畢。讀取完成后調(diào)用close()方法,讀取過程結(jié)束。
在所有數(shù)據(jù)中,除卻矢量數(shù)據(jù)、影像數(shù)據(jù)等規(guī)整數(shù)據(jù),對(duì)于公共專題類數(shù)據(jù)以及部分實(shí)時(shí)數(shù)據(jù)來(lái)說(shuō),其數(shù)據(jù)內(nèi)容中帶有地名地址信息,卻沒有空間位置坐標(biāo)信息。另外的一些媒體數(shù)據(jù),其數(shù)據(jù)內(nèi)容中既沒有地名地址信息,也沒有空間坐標(biāo)位置信息,但在其存儲(chǔ)的音頻、視頻、圖像、文本類的文件里含有位置信息。第一類的數(shù)據(jù)需要進(jìn)行空間處理,再利用地名地址匹配。第二類的數(shù)據(jù)則需要地名的識(shí)別后附上地址屬性,再進(jìn)行地名地址的匹配。
地名地址匹配技術(shù)中的地名地址提取是關(guān)鍵,這項(xiàng)技術(shù)在國(guó)內(nèi)外的研究主要有基于詞典、統(tǒng)計(jì)和機(jī)器識(shí)別等三種方式[6]。
4.2.1 地名地址的提取
在對(duì)數(shù)據(jù)進(jìn)行空間統(tǒng)一化處理后,數(shù)據(jù)的格式和各種屬性得到統(tǒng)一。根據(jù)地名地址的特性,依據(jù)專用名和通用名劃分為幾部分,以“創(chuàng)新大道祥源城B1-523”為例,如圖4所示。
圖4 地名地址組合示例圖
如圖4所示將地名進(jìn)行分割后可分為5個(gè)部分,其中①②③部分組成了專用名,專用名中各部分都有嚴(yán)格的隸屬關(guān)系,“祥源城”屬于“創(chuàng)新大道”,“創(chuàng)新大道”屬于“高新區(qū)”。④⑤則構(gòu)成了通用名,一般作為地名地址的后綴,用來(lái)描述具體的實(shí)體位置,在各種文本中這也是格式最為復(fù)雜的,以這個(gè)地址為例,有些文本的描述是“B1-5樓”,“祥源城右手邊第一棟上5樓”。所以要設(shè)計(jì)地名地址基因庫(kù),以上面的地址為例,如圖5所示。
通過地名地址基因庫(kù),就可以輕松將地名地址提取,根據(jù)文本中不同的部分,尋覓到各組成部分,再將地名地址還原,實(shí)現(xiàn)地名地址的識(shí)別。在識(shí)別過程中,需先對(duì)整體信息提取,再依次提取專用名、通用名的信息,具體的算法步驟如下。
①基于網(wǎng)絡(luò)獲取的各種數(shù)據(jù)源,轉(zhuǎn)化為文本輸入。
②事件信息在提取中起到索引的作用,首先對(duì)其進(jìn)行提取,利用正向匹配找到并標(biāo)記各種信息中事件的描述詞。
先將這些描述詞記為n個(gè)值,把n個(gè)值放入集合 A 中,記做集合 A[i],(i=1,2,3……n)。A[i]代表信息中出現(xiàn)的第j個(gè)描述詞。接下來(lái)將信息中出現(xiàn)描述詞的字段位置另一個(gè)集合iA中,記做iA=[i](i=1,2,3……m),iA[i]代表著信息中出現(xiàn)描述詞的字段位置。最后將出現(xiàn)描述詞的字段長(zhǎng)度值放入集合IA中,記做IA=[i](i=1,2,3……m),IA[i]就代表著描述詞A[i]的字段長(zhǎng)度。
圖5 地名地址基因庫(kù)結(jié)構(gòu)圖
③專用名的提取也是利用正向匹配來(lái)獲取信息中出現(xiàn)的專用名描述詞,同時(shí)進(jìn)行標(biāo)記,算法與事件一樣。
④通用名的提取不同于以上兩種,因?yàn)橥ㄓ妹话阌泄潭ǖ拇钆洌癈號(hào)”,“1棟”,“三號(hào)樓”等,故采用逆向匹配技術(shù)。在逆向匹配過程中,遇到“號(hào)”“棟”“樓”“幢”等通用名,若其前面的字符有阿拉伯?dāng)?shù)字、漢字或者英文類的數(shù)字,則將其放入集合 B 中,記做 B[j]=(j=1,2,3……n)。
⑤對(duì)搜集的所有描述詞,依據(jù)各詞出現(xiàn)的重復(fù)率,選取最高重復(fù)率的描述詞和字段長(zhǎng)度,就能得到地名地址信息。最后利用位置模型進(jìn)行尋址和匹配,即可得到媒體數(shù)據(jù)中隱藏的地名地址信息,實(shí)現(xiàn)時(shí)空大數(shù)據(jù)的時(shí)空匹配。
4.2.2 地名地址的匹配
基于以上對(duì)專題數(shù)據(jù)提出了地名地址提取算法后,對(duì)數(shù)據(jù)進(jìn)行地名地址匹配,即可實(shí)現(xiàn)數(shù)據(jù)的空間匹配。這種算法的主要特點(diǎn)是其匹配的高效性和對(duì)于中文字符的適應(yīng)性。其高效率的主要來(lái)源于算法在地址分詞和匹配過程中避免了傳統(tǒng)的地址語(yǔ)法語(yǔ)義分析過程,直接采用地址要素詞典進(jìn)行切詞和匹配。同時(shí)通過關(guān)聯(lián)地址要素(Trie樹結(jié)構(gòu))和標(biāo)準(zhǔn)地址數(shù)據(jù)結(jié)構(gòu)的節(jié)點(diǎn),實(shí)現(xiàn)了倒排索引結(jié)構(gòu),基于索引進(jìn)行切分和匹配的過程中,無(wú)需訪問數(shù)據(jù)庫(kù),這樣在大規(guī)模并發(fā)訪問的情況下,不用解決數(shù)據(jù)庫(kù)訪問瓶頸(如構(gòu)建數(shù)據(jù)庫(kù)集群等),可降低系統(tǒng)物理構(gòu)架復(fù)雜度,并提高系統(tǒng)物理架構(gòu)復(fù)雜度,并提高匹配效率。如圖6所示給出了多樹結(jié)構(gòu)匹配地址的示意圖。
圖6 多數(shù)結(jié)構(gòu)示意圖
智慧高新時(shí)空信息云平臺(tái)應(yīng)用基于本文研究成果,智慧高新時(shí)空信息云平臺(tái)實(shí)現(xiàn)了《智慧城市時(shí)空信息云平臺(tái)技術(shù)大綱》提出的通用化平臺(tái)、專業(yè)化平臺(tái)和個(gè)性化平臺(tái),在時(shí)空大數(shù)據(jù)建設(shè)成果和分析模型基礎(chǔ)上,實(shí)現(xiàn)了空間規(guī)劃綜合信息平臺(tái)、生態(tài)環(huán)境監(jiān)測(cè)平臺(tái)、地理國(guó)情綜合分析平臺(tái)的開發(fā),并在智慧水利、智慧城管、智慧國(guó)土、智慧安監(jiān)、智慧管網(wǎng)等展開了行業(yè)示范應(yīng)用,為推進(jìn)智慧洪澤的建設(shè)進(jìn)程做出了應(yīng)有的貢獻(xiàn)。
智慧高新時(shí)空信息云平臺(tái)項(xiàng)目是省級(jí)智慧城市時(shí)空信息云平臺(tái)建設(shè)試點(diǎn)之一,是“智慧合肥”的重要組成部分,在省市兩級(jí)政府部門的引導(dǎo)下,在高新區(qū)政府的正確領(lǐng)導(dǎo)下,統(tǒng)籌了高新時(shí)空地理信息資源開發(fā)利用,建成了高新權(quán)威、唯一、標(biāo)準(zhǔn)和通用的時(shí)空信息云平臺(tái),切實(shí)解決時(shí)空地理信息獲取困難、應(yīng)用不平衡和重復(fù)建設(shè)等問題,滿足政府各部門和社會(huì)公眾對(duì)時(shí)空地理信息的需求,加快高新區(qū)信息化建設(shè)的進(jìn)程,為建設(shè)政府決策科學(xué)化、社會(huì)治理精準(zhǔn)化、公共服務(wù)高效化提供有力支撐。