朱迅 ,黃世秀 ,沈天賀 ,侯穎 (合肥工業大學土木與水利工程學院,安徽 合肥 230009)
在物聯網、移動互聯網以及云計算等新興技術快速發展的背景下,數據的獲取途徑變得多元化,數據種類變得多樣化,尤其是帶有時空信息的數據正在迅速增長[1],原有的“數字城市”的城市基礎地理空間框架已無法滿足需求,城市管理手段現在向以時空大數據為核心的智慧城市建設方向發展[2]。

圖1 時空大數據構成
建設的總體路線應在先行完成基礎地理信息數據的基礎和公共規劃數據之上,再依次開展實時感知數據以及公共專題數據的建設,層層疊進,確保各類型的數據建設,應根據城市信息化的基礎來滿足各方應用需求,達到智慧城市頂層設計的要求,同時為后期搭建數據庫提供支持。
時空信息云平臺充分利用前期已經建設完成的數字城市,地理信息公共平臺建設成果和時空大數據資源,開展地理信息公共平臺升級,以數據服務、功能服務、接口服務和知識服務為核心,形成云平臺資源池,在云平臺中建立服務引擎、業務流引擎、地名地址引擎和知識化引擎,通過統一門戶系統,根據用戶的應用需求,為各種智慧業務提供時空數據信息服務。時空云平臺總體架構如圖2所示。
①云平臺支撐環境

圖2 云平臺總體架構圖
云平臺支撐層通過租賃的方式接入新區的電子政務云,通過軟件、網絡、硬件等物理環境和機房環境,從而實現基于云計算環境的數據中心。通過這種方式能大幅解決各種分散、多樣的信息平臺,造成的硬件設施運營成本高、軟硬件設施效率低下、能源消耗高等問題。
②云平臺服務資源池
資源池是由時空大數據基礎上對各種數據進行處理、融合、資源池化,匯集成一系列的服務資源,包括數據資源、功能資源、應用框架資源、調用接口資源等。在第二章時空大數據建設中已經做了詳細的介紹。
校園文化環境是高校進行思想政治教育的重要物質載體,包括物質文化環境和精神文化環境。校園文化環境通過有形和無形的方式影響著學生,將工匠精神教育寓于校園文化環境建設之中的這種隱形教育方式有利于大學生接受工匠精神,以校園文化環境為載體開展工匠精神教育有利于實現思想政治教育的目標。
③云平臺
云平臺作為時空云平臺的服務層在支撐環境和服務資源池的基礎上,將各類的GIS資源整合,用戶可以通過統一門戶展示的各類功能來獲取相應的服務需求,云平臺還提供了云服務引擎、地名地址引擎、業務流引擎、知識化引擎等模塊,用戶可以在云平臺提供的云服務基礎上,結合自身需要選用相應的服務或者使用相關引擎模塊創建專業的業務系統。
④智慧應用
應用層構建了時空信息應用體系,在時空大數據中心和云平臺的基礎上滿足各種行業智慧應用的需要,包括有智慧人口、智慧經濟、智慧城管、智慧園林等行業應用。
時空大數據含有海量的數據,數據中包含了大量的非結構數據,傳統的結構化數據存儲方式,無法解決非結構數據的存儲問題。因此針對這些數據的特性以及時空云平臺的需要,采用基于HDFS分布式存儲系統來解決非結構化數據的存儲。HDFS存儲流程圖如圖3所示。

圖3 邏輯流程圖
①寫入流程
第一步:Client通過調用文件系統的create()方法向遠程的NameNode發出RPC(遠程過程調用)請求,來上傳文件。NameNode會進行檢查來確保新文件在HDFS文件系統中是不存在的,同時檢查相應的創建新文件的權限。檢查完畢后,NameNode記錄下新文件的內容,返回是否可以上傳;
第二步:Client先對文件進行切塊,比如一個block是 128MB,則一個500MB的文件就會切成4個block,三個 block為 128MB,一個 block為116MB。再向NameNode請求文件起始block的DataNode地址,NameNode返回最適合用來存放block的一組DataNode地址。比如為Datanode01,Datanode02,Datanode03,Datanode04;
第三步:Client向這組DataNode請求一個Datanode來上傳block,記做Datanode01,同時建立 pipeline(數據流管 道 ),Datanode01 再 調 用Datanode02,接著再調用Datanode03,Datanode04,將整個pipeline建立完成后返回給Client。在文件切割時,文件分割成block然后放入一個內部隊列,叫做 packet(數據隊列),packet就可以作為數據流在pipeline中傳輸。Client開始上傳起始的block,以packet的形式傳送給 Datanode01,Datanode01會存儲這個packet包,再依次推送給Datanode02,Datanode03,Datanode04,在這個過程中,Datanode會逐級返回ack信息(確認正確寫入),直到最后一個Datanode04返回ack給Client,同時Client開始向NameNode請求上傳下一個block依次循環直到所有數據的寫入。
第四步:Client完成所有數據寫入的操作后,對packet調用close()方法,NameNode也存入數據的位置信息,寫入流程結束。
②讀取流程
Client通過調用文件系統的open()方法向遠程的NameNode發出RPC(遠程過程調用)請求,來獲取請求的文件block所在的DataNode地址。對于每一個block,NameNode會返回一個含有對應的block拷貝DataNode地址,接下來按照集群網絡拓撲結構得出的各個DataNode地址與Client的距離值來對DataNode排序,排序依據就近原則和心跳機制,如果Client本身就是一個DataNode,那么優先從本地的DataNode讀取數據。如果出現讀取錯誤,Client會再次向NameNode發送請求,獲取另一個含有該block拷貝的DataNode地址。在讀取過程中,Client反復調用read()方法,以packet方式從DataNode讀取數據,直到所有的block讀取完畢。讀取完成后調用close()方法,讀取過程結束。
在所有數據中,除卻矢量數據、影像數據等規整數據,對于公共專題類數據以及部分實時數據來說,其數據內容中帶有地名地址信息,卻沒有空間位置坐標信息。另外的一些媒體數據,其數據內容中既沒有地名地址信息,也沒有空間坐標位置信息,但在其存儲的音頻、視頻、圖像、文本類的文件里含有位置信息。第一類的數據需要進行空間處理,再利用地名地址匹配。第二類的數據則需要地名的識別后附上地址屬性,再進行地名地址的匹配。
地名地址匹配技術中的地名地址提取是關鍵,這項技術在國內外的研究主要有基于詞典、統計和機器識別等三種方式[6]。
4.2.1 地名地址的提取
在對數據進行空間統一化處理后,數據的格式和各種屬性得到統一。根據地名地址的特性,依據專用名和通用名劃分為幾部分,以“創新大道祥源城B1-523”為例,如圖4所示。

圖4 地名地址組合示例圖
如圖4所示將地名進行分割后可分為5個部分,其中①②③部分組成了專用名,專用名中各部分都有嚴格的隸屬關系,“祥源城”屬于“創新大道”,“創新大道”屬于“高新區”。④⑤則構成了通用名,一般作為地名地址的后綴,用來描述具體的實體位置,在各種文本中這也是格式最為復雜的,以這個地址為例,有些文本的描述是“B1-5樓”,“祥源城右手邊第一棟上5樓”。所以要設計地名地址基因庫,以上面的地址為例,如圖5所示。
通過地名地址基因庫,就可以輕松將地名地址提取,根據文本中不同的部分,尋覓到各組成部分,再將地名地址還原,實現地名地址的識別。在識別過程中,需先對整體信息提取,再依次提取專用名、通用名的信息,具體的算法步驟如下。
①基于網絡獲取的各種數據源,轉化為文本輸入。
②事件信息在提取中起到索引的作用,首先對其進行提取,利用正向匹配找到并標記各種信息中事件的描述詞。
先將這些描述詞記為n個值,把n個值放入集合 A 中,記做集合 A[i],(i=1,2,3……n)。A[i]代表信息中出現的第j個描述詞。接下來將信息中出現描述詞的字段位置另一個集合iA中,記做iA=[i](i=1,2,3……m),iA[i]代表著信息中出現描述詞的字段位置。最后將出現描述詞的字段長度值放入集合IA中,記做IA=[i](i=1,2,3……m),IA[i]就代表著描述詞A[i]的字段長度。

圖5 地名地址基因庫結構圖
③專用名的提取也是利用正向匹配來獲取信息中出現的專用名描述詞,同時進行標記,算法與事件一樣。
④通用名的提取不同于以上兩種,因為通用名一般有固定的搭配,“C號”,“1棟”,“三號樓”等,故采用逆向匹配技術。在逆向匹配過程中,遇到“號”“棟”“樓”“幢”等通用名,若其前面的字符有阿拉伯數字、漢字或者英文類的數字,則將其放入集合 B 中,記做 B[j]=(j=1,2,3……n)。
⑤對搜集的所有描述詞,依據各詞出現的重復率,選取最高重復率的描述詞和字段長度,就能得到地名地址信息。最后利用位置模型進行尋址和匹配,即可得到媒體數據中隱藏的地名地址信息,實現時空大數據的時空匹配。
4.2.2 地名地址的匹配
基于以上對專題數據提出了地名地址提取算法后,對數據進行地名地址匹配,即可實現數據的空間匹配。這種算法的主要特點是其匹配的高效性和對于中文字符的適應性。其高效率的主要來源于算法在地址分詞和匹配過程中避免了傳統的地址語法語義分析過程,直接采用地址要素詞典進行切詞和匹配。同時通過關聯地址要素(Trie樹結構)和標準地址數據結構的節點,實現了倒排索引結構,基于索引進行切分和匹配的過程中,無需訪問數據庫,這樣在大規模并發訪問的情況下,不用解決數據庫訪問瓶頸(如構建數據庫集群等),可降低系統物理構架復雜度,并提高系統物理架構復雜度,并提高匹配效率。如圖6所示給出了多樹結構匹配地址的示意圖。

圖6 多數結構示意圖
智慧高新時空信息云平臺應用基于本文研究成果,智慧高新時空信息云平臺實現了《智慧城市時空信息云平臺技術大綱》提出的通用化平臺、專業化平臺和個性化平臺,在時空大數據建設成果和分析模型基礎上,實現了空間規劃綜合信息平臺、生態環境監測平臺、地理國情綜合分析平臺的開發,并在智慧水利、智慧城管、智慧國土、智慧安監、智慧管網等展開了行業示范應用,為推進智慧洪澤的建設進程做出了應有的貢獻。
智慧高新時空信息云平臺項目是省級智慧城市時空信息云平臺建設試點之一,是“智慧合肥”的重要組成部分,在省市兩級政府部門的引導下,在高新區政府的正確領導下,統籌了高新時空地理信息資源開發利用,建成了高新權威、唯一、標準和通用的時空信息云平臺,切實解決時空地理信息獲取困難、應用不平衡和重復建設等問題,滿足政府各部門和社會公眾對時空地理信息的需求,加快高新區信息化建設的進程,為建設政府決策科學化、社會治理精準化、公共服務高效化提供有力支撐。