新四季網

基於網格服務的遙感圖像提取與共享系統及提取與共享方法

2023-06-28 11:51:16

專利名稱:基於網格服務的遙感圖像提取與共享系統及提取與共享方法
技術領域:
本發明涉及遙感圖像管理領域,更具體的說,是涉及一種可擴展的遙感圖像提 取與共享系統,以及系統對遙感圖像的提取與共享方法。
背景技術:
現如今遙感技術已得到飛速發展,遙感數據正在成為城市規劃、地球科學研 究、數字地球等重大科學研究和工程建設的重要數據源。但隨著遙感數據量的不斷增加 和應用領域的擴大,如何科學有效地管理、存儲、更新和重用已有的遙感數據資源,已 成為當前空間信息元數據研究的熱點。元數據(Metadata)即關於數據的數據,專門用來 描述遙感數據的內容、範圍、質量等一系列與遙感數據本身密切相關的信息。通過元數 據對多源遙感數據進行統一、規範、科學、有效的管理勢在必行。目前,網際網路上有很多提供遙感數據查詢或下載的網站,如美國航空航天局 (NASA)網站、歐洲宇航局(ESA)網站、加拿大遙感中心網站、中國遙感衛星地面站 等。用戶可以瀏覽或查詢這些網站上的遙感圖像快視圖以及元數據。然而,用戶對本 單位內部海量的遙感圖像資源卻缺乏有效的檢索手段。例如在國家海洋局第一海洋研究 所,十多年來累積的光學圖像、微波圖像和高解析度圖像已達到5TB之多。這些圖像資 源都是以文件或文件夾形式存放在磁碟陣列上,查找起來極不方便。不僅如此,不同部 門、不同研究所之間的圖像資源互不透明,每個人都不清楚對方是否擁有自己所需要的 遙感圖像數據,從而阻礙了遙感科學研究和應用的發展。元數據一般存儲在遙感圖像的頭文件中,還有的元數據需要對遙感圖像進行處 理得到。為了統一存儲和管理這些元數據,可以採用如下兩種方法手工錄入與通過計 算機程序提取或計算。由於遙感圖像元數據種類繁多,數量龐大,手工錄入通常是不現 實的;通過電腦程式獲取則要求對於不同衛星和傳感器的遙感圖像和頭文件,分別編 寫不同的處理程序。這將要求元數據提取程序具有充分的擴展性,因為用戶總是希望能 夠隨時加入新的圖像種類。對於這樣的需求,現有的軟體系統,如ERDAS IMAGINE、 ENVI等都只支持對於已知圖像類型處理,而未提供對於未知圖像處理的擴展方法。如果 能夠讓用戶通過一種簡單的方式嵌入自己編寫的元數據提取或處理程序,則對於提高遙 感圖像數據共享系統的靈活性和可擴展性具有重要的意義。遙感圖像數據處理者一般都將下載或購買的遙感圖像資源上傳到本部門的服務 器上進行統一管理。現有的元數據提取程序一般是對用戶本機上的遙感圖像進行處理, 然後將提取的結果顯示給用戶並存儲到資料庫中。元數據提取過程看似簡單,其實卻極為繁瑣。用戶需要依次選中每一幅圖像, 然後執行圖像歸檔和元數據提取操作,這個過程一般需要幾分鐘。一般用戶部門往往積 累了幾百幅甚至幾千幅圖像數據,如果每一幅圖像都要重複這樣的過程,則整個圖像歸 檔的過程是極其乏味的。用戶希望能夠提供一種圖像歸檔批處理的方法,即只需要選中目標圖像資源集合所在的根目錄,系統自動搜索並歸檔所有的遙感圖像數據,從而極大 提高遙感圖像歸檔和元數據共享系統的處理效率。

發明內容
本發明的任務在於提供一種基於網格服務的遙感圖像提取與共享系統,以及該 系統對遙感圖像的提取與共享法。該系統以及方法可以讓遙感數據管理員對本部門各種 類型遙感圖像數據進行管理、搜索和共享,也可以訪問其他部門的遙感圖像數據;具有 良好的可擴展性,當新的圖像類型加入時,只要提供對應的元數據提取程序,就可以動 態部署到系統中,已有應用服務不會受到任何影響。其技術解決方案是一種基於網格服務的遙感圖像元數據提取與共享系統,包括客戶端系統,用於通過平臺應用伺服器定位所有包含需要圖像資源的部門應用 伺服器,再通過部門應用伺服器訪問和/或管理遙感圖像及元數據;其中,遙感數據管 理員的客戶端系統還包括支持遙感圖像歸檔的瀏覽器插件,該瀏覽器插件基於FTP協議 實現圖像文件傳輸,並包括但不限於支持文件夾上傳、斷點續傳、進度顯示和批處理;平臺應用伺服器,用於將遙感數據管理員的處理請求轉發到對應的部門應用服 務器,將用戶的遙感數據查詢請求發送到所有的部門應用伺服器,以及將來自各個部門 應用伺服器的查詢結果匯總後返回給用戶;部門應用伺服器,用於訪問元數據伺服器,進行元數據的提取、歸檔、查詢與
管理;元數據伺服器,用於存儲本部門所有歸檔遙感圖像的元數據和快視圖;遙感圖像數據伺服器,用於存儲本部門所有歸檔遙感圖像資源。上述平臺應用伺服器包括元數據代理服務模塊,用於根據用戶請求的類型,實現請求一對一或一對多轉 發;如果是元數據查詢請求,則執行一對多轉發,如果是元數據處理或管理請求,則執 行一對一轉發,請求的處理結果返回給用戶;網格服務管理模塊,用於實現所有部門所有服務的註冊、瀏覽、管理和查詢; 為元數據代理服務提供網格服務的搜索和定位功能;上述部門應用伺服器包括元數據提取服務模塊,用於根據遙感圖像的類型,調用對應的元數據提取程 序,實現遙感圖像元數據的提取;元數據管理服務模塊,用於實現包括但不限於圖像元數據的瀏覽、更新與刪 除;元數據歸檔服務模塊,用於實現元數據和快視圖的存儲;元數據查詢服務模塊,用於根據用戶提交的查詢請求,訪問一個或多個元數據 表,返回滿足查詢條件的圖像元數據集合。上述元數據提取服務模塊還包括多個元數據提取程序,存在形式是JAR包、 DLL庫和/或EXE文件,在運行時被動態載入,完成元數據提取或計算功能。上述基於網格服務的遙感圖像元數據提取與共享系統對遙感圖像的提取與共享
5方法,包括以下步驟a根據遙感圖像的類型,動態調用對應的元數據提取程序,提取遙感圖像的元數 據;b用戶指定批處理的遙感圖像目錄,通過客戶端系統自動搜索該目錄下包含的所 有遙感圖像頭文件,然後批處理歸檔遙感圖像數據,提取和存儲圖像元數據;c通過客戶端系統向元數據代理服務模塊發出元數據查詢請求,元數據代理服務 模塊首先獲取所有可用的元數據查詢服務列表,然後採用多線程技術並發調用所有部門 的元數據查詢服務模塊,然後匯總並返回滿足各元數據查詢條件的圖像元數據集合。上述步驟a中還包括步驟al讀取系統的配置文件,獲取某種圖像類型對應的元數據提取程序;a2通過反射調用動態加載該元數據提取程序,向該提取程序動態傳遞參數,實 現函數方法的調用,獲取返回的元數據集。在上述步驟a2中,如果被加載的元數據提取程序是JAR包,由於Java的垃圾 回收機制存在的缺陷,被加載的JAR包不能夠被卸載。當元數據提取程序被調用幾十次 後,系統將出現 java.lang.OutOiMemoryError PermGen space 異常。這個問題從 2003 起
被發現起至今未得到解決。因此為了解決內存資源耗盡問題,採用如下步驟調用元數據 處理程序即上述步驟a2中包括步驟a21利用網格服務特有的資源屬性機制,建立一個類似於資料庫連接池的資源 池;該資源池包含所有已加載JAR包的指針,並記錄每個JAR包指針對應的圖像類型信 息;a22對於每一幅待處理的遙感圖像,首先判斷該類型的圖像是否已經出現過;如 果得到肯定,直接獲取對應的JAR包指針,實現數據處理程序的反射調用;如果得到否 定,根據配置文件加載對應的JAR包,並將其指針和圖像類型加入到資源池中,然後實 現數據處理程序的反射調用。上述步驟b中還包括bl分析遙感圖像的頭文件名和路徑,使用正則表達式描述能夠唯一標識頭文 件的特徵串;例如,對於頭文件pll7r45_5tl9900722.met,其特徵可以描述為p\d{l,3} r\d{l, 3}_5t\d{8}.met$。b2搜索用戶指定目錄下所有的文件,如果該頭文件名和路徑信息與特徵串匹 配,則標識為一個新的頭文件,再通過回溯確定遙感圖像文件的根目錄;b3利用瀏覽器插件上傳遙感圖像文件和文件夾到用戶指定伺服器目錄;b3調用該元數據提取服務模塊提取頭文件中包含的元數據;b4調用該元數據歸檔服務模塊存儲提取的元數據與用戶提供的元數據。上述步驟c中還包括cl通過客戶端系統首先封裝各種查詢參數為一個字符串,然後將調用的服務名 稱、函數名稱和參數集合發送到元數據代理服務模塊;C2通過元數據代理服務模塊首先調用網格服務管理模塊,查詢所有註冊的並且 當前可用的元數據查詢服務模塊;
C3通過元數據代理服務模塊拆解參數集合,根據服務註冊信息確定每一個參數 的數據類型,然後通過反射技術和多線程技術調用所有元數據查詢服務模塊;c4通過元數據代理服務模塊等待每一個線程的執行結果,然後合併不同的結果 集,並返回給客戶端系統。本發明具有以下有益技術效果1、本發明通過將元數據提取服務與各種元數據提取程序分離,通過配置文件建 立綁定關係,解決了系統的擴展問題。通過設計和實現基於網格服務資源屬性的資源 池,不但消除了內存空間的溢出問題,而且避免了批處理時重複加載JAR包,提高了系 統的運行效率。2、本發明為用戶提供了遙感圖像批處理方式,用戶只需要指定圖像文件集合的 根目錄,系統將自動發現並歸檔所有的遙感圖像文件和元數據,從而減輕了用戶的工作 負擔,並提高了圖像和元數據歸檔的效率。3、本發明使用面向服務的架構(SOA),任何部門的圖像資源都可以隨時加入或 退出平臺伺服器。遙感圖像和元數據仍然存儲在各個部門自己的伺服器中,確保了各部 門數據獨立性和安全性。用戶不需要知道圖像資源的具體位置,只需要向平臺伺服器發 送元數據查詢請求,即可獲得所有部門共享的遙感圖像元數據信息。


下面結合附圖與具體實施方式
對本發明作進一步說明圖1為本發明的一種實施方式的系統原理示意框圖。圖2為本發明的另一種實施方式的系統原理示意框圖。圖3為圖2實施方式的調用元數據服務的方法流程圖。圖4為圖2實施方式的元數據提取服務業務流程圖。圖5為圖2實施方式的遙感圖像和元數據歸檔批處理流程圖。
具體實施例方式實施方式1參看圖1,一種基於網格服務的遙感圖像元數據提取與共享系統,客戶端系統 IOl1到IOIn通過網際網路102與平臺應用伺服器103建立連接。客戶端系統IOl1到IOIn 與平臺應用伺服器103進行通信,處理或訪問遙感圖像元數據。安裝插件後的客戶端系 統IOl1還可以進行遙感圖像文件的歸檔操作。客戶端系統生成對遙感圖像元數據進行處 理、查詢的指令。平臺應用伺服器103通過網際網路104與一個或多個部門應用伺服器IOS1 到105N建立連接。當執行來自客戶端系統的提取、歸檔、查詢指令時,平臺應用伺服器 103將解析這些指令所包含的參數信息,然後訪問一個或多個部門應用伺服器完成遙感圖 像元數據的提取、歸檔或查詢。部門應用伺服器105,與遙感圖像數據伺服器Ioe1和元數 據伺服器107,建立連接,i為序數1到N的任意一個整數。當用戶進行遙感圖像歸檔時, 部門應用伺服器IOS1將遙感圖像快視圖存儲到遙感圖像數據伺服器IOe1中,將元數據存 儲到元數據伺服器107,中。當用戶進行遙感圖像查詢時,部門應用伺服器川^查詢並返 回元數據伺服器107,中的元數據和遙感圖像數據伺服器IOe1中的快視圖信息。遙感圖像數據伺服器Ioe1到106N用來存儲和提供遙感圖像文件和各種尺寸的快視圖,元數據服務 器107i到1071^用來存儲和提供遙感圖像的元數據。上述系統構成部件包括公知的部件,這些部件在此無需詳細說明。例如客戶端 系統可以是諸如個人計算機(PC)、筆記本電腦等能夠訪問網際網路的計算設備。客戶端 系統一般運行瀏覽器程序,例如,微軟(Microsoft)的Internet Explorer 瀏覽器,Mozilla Firefox 瀏覽器等(需要安裝圖像上傳ActiveX插件的客戶端系統IOl1H能運行IE內核瀏 覽器,如遨遊瀏覽器、世界之窗、搜狗瀏覽器、騰訊TT、360安全瀏覽器等),從而允許 客戶端系統IOl1的用戶歸檔遙感圖像到遙感圖像數據伺服器IO^和元數據伺服器107卩j 為序數1到N的任意一個整數,查詢和瀏覽從元數據伺服器IOT1到遙感圖像數據 伺服器Ioe1到別獲得的元數據和快視圖。各客戶端系統一般還包括一個或多個用 戶接口設備,例如鍵盤、滑鼠、觸控螢幕等,用於與各客戶端系統上的瀏覽器提供的圖形 用戶界面(GUI)進行交互。平臺應用伺服器103和部門應用伺服器可以是諸如伺服器、 個人計算機(PC)等能夠訪問網際網路、並且具有一定計算和存儲能力的計算設備。元數 據伺服器可以採用常見的大型資料庫管理系統,例如Microsoft SQL Server ,Sybase SQL Server , Oracle , DB2 等。遙感圖像數據伺服器可以採用常見的FTP伺服器客戶端 軟體,例如Serv-U ,Xlight 等。本發明適於與網際網路一起使用,網際網路指特定的全 球網際網路。然而,應當理解,其它網絡可以用來替換網際網路,或者與網際網路一起使用, 例如區域網LAN等。本領域技術人員可以理解,用於實現本發明各個方面的計算機代碼可以是 C++、VB、Java、Javascript、〔#等代碼,或者可以在客戶端系統101、平臺應用伺服器 103、部門應用伺服器105上被執行或編譯後執行的和其它合適的程式語言。實施方式2參看圖2,一種基於網格服務的遙感圖像元數據提取與共享系統,包括客戶端系 統201^lj201N,網際網路202和204,平臺應用伺服器203,部門應用伺服器205i到205M, 遙感圖像數據伺服器206i到206m,元數據伺服器207i到207M。其中平臺應用伺服器203包括元數據代理服務模塊208和網格服務管理模塊 209。平臺應用伺服器203負責管理所有註冊的元數據服務模塊,調用各種元數據服 務模塊實現遙感圖像元數據處理和共享。部門應用伺服器205,包括元數據提取服務模 塊2010,,元數據管理服務模塊2011,,元數據歸檔服務模塊2012,,元數據查詢服務模塊 2013,等。部門應用伺服器205部署在每一個部門內部的網絡中,管理本部門的遙感圖像 文件和元數據,對外提供遙感圖像元數據服務。元數據代理服務模塊208用於接收來自於各客戶端系統的元數據服務調用請 求,解析服務的類型,然後查找並調用相應的元數據服務。由於不同的請求涉及不同的 服務和方法,使用的參數個數和參數類型截然不同,因此設計了一種通用方法能夠接受 不同類型的服務調用。各客戶端系統只需要提供要調用的服務名、方法名、部門名和參 數列表字符串,就可以實現對應服務和方法的調用。如果部門名稱不為空,則調用所有 部門應用伺服器的對應元數據服務模塊;否則,調用對應部門應用伺服器的元數據服務 模塊。例如,對於元數據管理服務模塊,它有一個方法元數據瀏覽,包含兩個參
8數,衛星、傳感器。一個數據管理員想查詢光學部門LANDSAT-5衛星、TM傳感器的 遙感圖像元數據,則可以調用元數據代理服務模塊如下元數據代理服務Agent = new元數據代理服務0 ;Agent.invokeService( 「元數據管理服務」,「元數據瀏覽」,「光學部門」, "LANDSAT-5, TM」 );再如,對於元數據查詢服務模塊,它有一個方法根據經緯度查詢,包含六個 參數,開始時間、結束時間、西邊界經度、東邊界經度、南邊界緯度、北邊界緯度。假 設用戶要查詢所有部門2009年1月1日到2009年12月31日之間、經度範圍在73.4到 135.2之間,緯度範圍在3.52到53.33之間的遙感圖像元數據,則可以調用元數據代理服 務模塊如下元數據代理服務Agent = new元數據代理服務0 ;Agent.invokeService( 「元數據查詢服務」,「根據經緯度查詢」,「,,, 「2009-1-1,2009-12-31,73.4,135.2,3.52,53.33」 );從上面兩個例子中可以看出,通過使用元數據代理服務模塊,用戶不需要知道 元數據服務模塊的訪問地址,也不需要關心元數據服務模塊訪問地址是否改變,甚至不 需要知道有多少個元數據服務模塊。只要指定服務名、方法名和部門名,再將被調用方 法各個參數值分別轉化成字符串,然後使用逗號「,」連接起來就可以了。元數據代 理服務模塊在接收到一個invokeService方法調用後,首先調用網格服務管理模塊209,根 據服務名確定服務的WSDL (Web Service Description Language)地址集合。如果部門名不 為空的話,則只返回指定部門服務的WSDL地址;然後解析服務的WSDL文檔,根據方 法名確定方法每個參數的名稱和數據類型;最後分解參數列表字符串,用逗號作為分隔 符,得到的每個參數值根據其對應的數據類型轉換成一個參數對象,再將所有參數對象 組合成一個對象數組。利用Java反射技術,實現對於指定元數據服務模塊的反射調用, 並獲得服務返回結果。如果有多個服務WSDL地址需要訪問,則使用多線程技術進行調 用,最後合併多個服務線程返回結果。本領域普通技術人員可以理解上述處理中服務WSDL文檔的解析方法,服務反 射調用方法,採用多線程實現服務的並發調用等操作。網格服務管理模塊209用於實現網格服務的註冊、修改、刪除、定位、瀏覽等 功能。網格服務是Web服務與資源的組合體,它與Web服務的最重要區別就是網格服務 可以具有資源屬性。因此網格服務是有狀態的,而Web服務是無狀態的。因為本發明 在元數據提取服務模塊中要利用網格服務的資源屬性,所以這裡使用網格服務模塊作為 元數據服務模塊的具體實現形式。本發明使用一個資料庫表來存儲網格服務的註冊信息,具體包括服務名,服 務地址,部門名,服務描述,服務狀態,發布者,發布時間。部門名用來指明服務部署 在那個部門的應用伺服器上。當某個部門管理員登錄系統後,系統根據他的部門名限定 他只能調用本部門的元數據服務模塊進行元數據處理。網格服務管理模塊209包含註冊、修改和刪除方法,用於實現網格服務發布、 維護和撤銷功能。已發布的網格服務可以被各客戶端系統和元數據代理服務模塊208調 用,實現遙感圖像元數據處理和共享。元數據代理服務模塊208通過網格服務管理模塊209的定位方法發現所有需要的服務WSDL地址集合。平臺管理員通過網格服務管理模 塊209的瀏覽方法查看所有已發布的網格服務。結合圖3,下面詳細描述該方法在元數據服務模塊調用過程中的流程步驟301,各客戶端系統將本次方法調用所需的參數集合封裝成一個參數列表字 符串,參數之間使用逗號分隔。步驟302,元數據代理服務模塊208提供一個統一的服務調用方法String invokeService (String serviceName, String methodName,String department, String paramList)。各客戶端系統創建一個元數據代理服務208的實例。步驟303,客戶端系統調用元數據代理服務invokeService方法,提供服務名,方 法名,部門名和參數列表。步驟304,元數據代理服務模塊208判斷部門名是否為空。如果部門名為空,則 執行步驟305,否則執行步驟306。步驟305,元數據代理服務模塊208調用網格服務管理模塊209,獲取所有元數 據查詢服務WSDL地址集合。步驟306,元數據代理服務模塊208調用網格服務管理模塊209,獲取用戶所屬 部門元數據服務WSDL地址。步驟307,根據服務的WSDL描述文檔,獲得被調用方法的參數個數和參數類型 信息。使用逗號將參數列表分割成一個字符串數組,再根據參數類型構造一個參數對象 數組。步驟308,根據服務的WSDL描述文檔,獲得被調用方法的參數個數和參數類型 信息。使用逗號將參數列表分割成一個字符串數組,再根據參數類型構造一個參數對象 數組。步驟309,啟動多個線程,並發調用每個元數據查詢服務模塊。步驟3010,調用該元數據查詢服務模塊。步驟3011,接收服務的返回結果,合併多個線程的查詢結果。向客戶端系統 201返回服務調用結果。元數據提取服務模塊2010,提取第i個部門的遙感圖像元數據。不同衛星、不 同傳感器的遙感圖像頭文件數據格式差異很大,數據模型也不同。有的頭文件採用每行 一個鍵值對的方式存儲元數據(如ENVISAT衛星ASAR傳感器),有的採用半結構化文 件存儲元數據(如LANDSAT-5衛星TM傳感器),有的採用XML文件存儲元數據(如 SPOT-5衛星各種傳感器)。因此,沒有一種通用的方法能夠提取各種類型頭文件的元數 據,必須針對不同類型頭文件編寫單獨的元數據提取程序。為了提高元數據提取服務的 通用性,考慮將與特定圖像類型相關的元數據提取代碼從元數據提取服務中剝離出來, 作為一個獨立的外部程序存在。例如,我們可以將每一種圖像的元數據提取程序封裝為 一個JARCTava Archive)。元數據提取服務模塊在運行時根據圖像的類型動態加載不同的 JAR。這種方式解決了元數據提取服務的擴展問題,當出現一種新的圖像類型時,只要為 其創建一個JAR,然後在圖像元數據配置文件中將該圖像類型與JAR名、類名、方法名 關聯起來,就可以實現該圖像類型元數據的自動提取。元數據提取服務模塊不再需要重 新修改、編譯、打包和部署,部門應用伺服器也不需要重新啟動,最大限度地減少了對已部署的應用系統的影響。為了能夠在運行時動態加載不同的JAR,則必須使用Java的反射調用技術。然 而,當反射調用某個JAR次數超過69次時,Tomcat應用伺服器報出一個異常java.lang. OutOfMemoryError PermGen space。這個異常是來自於用來存儲類信息的PermGen空
間。這個空間與用來存儲實例的堆空間不同,在主程序運行時GC(垃圾回收機制)不 會清空PermGen空間。因此,如果元數據提取服務模塊加載了太多的類,則很可能產生 PermGen空間異常。除了 Tomcat應用伺服器報錯以外,每次反射調用都要消耗掉大約1MB內存,而 這將導致可用內存劇減。此外,因為外部JAR每次都需要重新加載,反射調用與非反射 調用相比速度更慢。儘管有人建議通過增加PermGen空間的大小來避免Tomcat異常, 但這只是一個減輕問題的方法而不是一個永久的辦法。最根本的解決方案是避免內存空 間的浪費。每次調用外部JAR結束後,那些動態加載的類就變成了內存中的垃圾,因為 沒有指針指向它們。如果能夠保留這些類的指針,那麼在下次加載時就不需要重新加載 JAR 了。這種方法不僅避免了 PermGen空間浪費,而且縮短了反射調用的時間。利用網 格服務技術來實現元數據服務,可以使用網格屬性來保存資源的狀態,即保存所有被動 態加載類的指針集合。基於資料庫連接池的思想,設計了 一個動態加載類池來保存所有加載的類。當 客戶端系統發出元數據提出請求時,元數據提取服務模塊首先檢查類池。如果目標類早 已被加載,那么元數據提取服務模塊將取得類指針並立即執行元數據提取操作。如果目 標類還沒有被加載,那麼網格服務模塊將首先加載它並將類指針和類描述放到類池以備 將來重用。因此,類池的大小是相對穩定的,因為類的數量是有限的。同一個類即使被 調用無限多次也不會增加類池的大小。下面給出類池實現的關鍵代碼
0091]
0092]
0093]
0094]
0095]
0096]
0097]
0098]
0099]
0100] 0101] 0102]
0103]
0104]
0105]
0106] 0107]
@GridAttribute public Vectorjars,classes ; @GridAttribute public VectorclassPtrs ; boolean invoked = false ;
while (Jarlter.hasNext ) {
Jar = Jarlter.next ; Class = Classlter.next ; ClassPtr = ClassPtrlter.next ; if (Jar. equal s (targetJar) &&Class. equals (targetClass)) {
Method[]Methods = ClassPtr.getMethods O ; for (int i = O ; i<Methods.length ; i++) { if (Methods[i] .getName O .equals (extractMethod)) {
IteratorJarIter = jars.iterator ; IteratorClassIter = classes.iterator ; IteratorClassPtrIter = classPtrs.iterator ;
//查看目標類在類池中是否已存在。如果是,則立即調用
11
}retObject = Method.invoke (ClassPtr, argsObject);invoked = true ; break ;}
}if ( ! invoked) {//如果目標類不存在Il加載外部類並且調用,然後將類指針和類信息放到類池中jars.add (extractJar) ; classes.add (extractClass);classPtrs.add(classPtr);}為了驗證本方法的有效性,對4個外部JAR各自調用了 25次,總共100次調用。 實驗結果表明,Tomcat應用伺服器沒有報出任何異常,執行元數據提取時間從0.53秒降 到0.24秒,因為節省了 JAR加載的時間。在不採用類池的情況下,動態加載JAR 68次 後,Tomcat內存佔用量已達到84,512KB;採用類池技術只需要6,520KB,而且此後每次 調用都不會再佔用新的內存空間。SUN公司的最初想法是在JVM(Java虛擬機)啟動的時候固定PermGen空間大
小,但是他們沒有想到反射技術會被如此廣泛的使用,這個空間有一個特殊的垃圾回收 機制。因此當一個類被動態加載到PermGen空間時,GC毫無辦法處理。在2003年, 這個bug就被發現並報告給Sun公司,但是迄今為止沒有得到解決。本發明並沒有試圖 消除這個bug,而是考慮重用那些已加載類的方法。基於資料庫連接池的思想設計並實現 了一個動態加載類池,並且使用網格屬性保存已加載類的指針。當下一次進行服務調用 時,就可以通過訪問網格屬性重用這些類了。結合圖4,下面詳細描述該方法調用外部元數據提取程序的流程步驟401,定義一個資源數組,數組中的每一個資源包含三個屬性Jar名、類 名、類指針。步驟402,接收客戶端系統對於元數據提取服務模塊的調用。步驟403,根據輸入的衛星名和傳感器名,確定要調用的Jar包、類名(含路徑) 和方法名。將所有的參數封裝到一個Object數組中。步驟404,判斷是否存在某個資源,其Jar名、類名與本次調用相同。步驟405,如果為「是」,則獲取該資源中的類指針,根據調用的方法名獲得方 法指針,通過反射技術實現方法調用。步驟406,如果為「否」,則獲取Jar包的全路徑,使用類加載方法獲得類指 針,根據調用的方法名獲得方法指針,通過反射技術實現方法調用。步驟407,創建一個新的資源,其Jar名等於本次調用的Jar名,類名等於本次調 用的類名,類指針等於步驟407獲得的類指針。步驟408,返回反射調用的結果,如果執行過程有異常,則返回異常信息。正常情況下,遙感數據管理員需要花費幾分鐘時間完成一幅遙感圖像歸檔。對 於擁有幾百幅甚至幾千幅圖像的部門來說,提高圖像歸檔的效率和自動化程度是迫切需 要的。用戶希望系統能夠自動搜索指定目錄下的所有遙感圖像資源,並採用批處理的方式實現圖像文件上傳、元數據提取和歸檔等功能。為了識別那些文件夾包含了圖像資 源,那些文件夾是普通文件夾,本發明利用正則表達式為每一種類型的遙感圖像定義了 對應於頭文件文件名和路徑的模式。例如,一個LANDSAT-5衛星TM傳感器的頭文件 為pll7r44_5tl9900722.met,對應的模式為p\d{l,3}r\d{l, 3}_5t\d{8}.met$,如果某個文 件的文件名符合這個模式,可以斷定它所在的文件夾是LANDSAT-5衛星TM傳感器的遙 感圖像。有的頭文件僅靠文件名並不能斷定是否為頭文件,例如,SPOT-5高解析度衛星 的全色傳感器和多光譜傳感器的頭文件名都是METADATA.DIM,因此必須再加入它們的 路徑特徵信息。全色傳感器的模式定義為W+Z^.Sm/SCENEOl/METADATA.DIMS,多光 譜傳感器的模式定義為\w+/10m/SCENE01/METADATA.DIM$。通過定義頭文件模式, 可以唯一標識每一種類型的遙感圖像。本發明還定義了一個屬性頭文件深度,就是從頭文件開始,到達目錄樹中遙 感圖像根目錄的步數。例如,LANDSAT-5衛星TM傳感器頭文件深度為1,說明頭文件 就在圖像根目錄下;SPOT-5衛星全色傳感器頭文件深度為3,說明從頭文件開始,單擊
「返回上級目錄」 3次,才能確定圖像根目錄。該屬性作用是根據發現的頭文件確定對 應的遙感圖像文件夾,從而實現遙感圖像文件夾的上傳和頭文件元數據的提取、歸檔等 操作。結合圖5,下面詳細描述該方法實現歸檔批處理的流程步驟501,系統開發人員設定遙感圖像的頭文件(必要時含路徑)模式,並使用 正則表達式進行描述。步驟502,用戶指定批處理歸檔的磁碟目錄,該客戶端系統搜索該目錄下的每一 個文件,如果某個文件的文件名(和路徑)與模式匹配,則找到一個頭文件。步驟503,該客戶端系統列出所有找到的頭文件,用戶可以選中一個或多個頭文 件進行歸檔。步驟504,對於用戶選中的每一個頭文件,通過向上回溯確定對應遙感圖像文件 夾的路徑。步驟505,利用瀏覽器插件上傳遙感圖像文件夾中所有文件和子文件夾,並顯示 上傳進度。步驟506,遙感圖像上傳完成後,調用元數據提取服務模塊從頭文件中提取圖像 元數據,調用元數據歸檔服務模塊存儲圖像元數據。步驟507,判斷是否存在其它要歸檔的遙感圖像頭文件。如果是,執行步驟 504,否則執行步驟508步驟508,遙感圖像歸檔批處理結束。上述實施方式的各個圖形用戶界面可如下1、首先選擇要歸檔的遙感圖像所屬的衛星和傳感器,然後在各客戶端系統中選 擇圖像頭文件,再選擇圖像快視圖,接下來選擇遙感圖像上傳到遙感圖像數據伺服器的 位置,最後單擊「上傳」按鈕。系統將顯示當前上傳的圖像文件及進度和遙感圖像總體 上傳進度。遙感圖像上傳完成後,出現元數據提取結果。其中,淡綠色區域元數據是通 過調用元數據提取服務模塊從圖像頭文件中提取得到的,淡黃色區域元數據是通過其它 方式(人工輸入等)獲取的。
2、首先選擇要歸檔的遙感圖像集合所屬的衛星和傳感器,然後選擇圖像集合在 客戶端系統中的路徑,系統將自動搜索該目錄下所有指定衛星和傳感器類型的遙感圖像 頭文件。選擇遙感圖像集合上傳到遙感圖像數據伺服器的位置,在Grid控制項中勾選所有 要上傳的遙感圖像,單擊「上傳」按鈕,出現「遙感圖像上傳」對話框顯示當前正在上 傳的遙感圖像及上傳進度。遙感圖像歸檔是遙感圖像元數據提取的前提,因為只有上傳 到遙感圖像數據伺服器上的遙感圖像資源才能夠被元數據提取服務訪問。3、首先選擇要歸檔元數據的遙感圖像集合所屬的衛星和傳感器,然後選擇圖像 集合在遙感圖像數據伺服器的位置,系統將自動搜索該目錄下所有指定衛星和傳感器類 型的遙感圖像頭文件。有的遙感圖像文件夾下可能沒有對應的快視圖,可以單擊「修 改」按鈕,出現一個「上傳快視圖」對話框,用戶可以選擇對應於遙感圖像的快視圖文 件。在Grid控制項中勾選所有要歸檔元數據的遙感圖像,單擊「開始歸檔」按鈕,出現
「遙感數據歸檔批處理」對話框顯示元數據歸檔的進度等信息。4、用戶可以指定查詢的衛星名稱(可多選),數據獲取時間範圍,空間範圍(四 邊界經緯度範圍或分幅方式),空間運算方式,數據來源,衛星軌道號等查詢條件,以 及為某種選擇的衛星指定特定查詢條件。單擊「確定」按鈕,出現「查詢結果列表」 頁面,用戶可以瀏覽每一幅遙感圖像的元數據和快視圖。這些元數據和快視圖可能來自 多個部門的元數據伺服器,但是元數據的來源對於用戶來說是不可見的。單擊快視圖或
「查看」超連結,出現「瀏覽圖像及元數據」頁面,其中包含了大尺寸的快視圖和遙感 圖像的詳細元數據信息。上述方式中的「模塊」也可稱為「單元」。上述方式中未述及的部分採取或借鑑已有技術即可實現。需要說明的是,在本說明書的教導下本領域技術人員所作出的任何等同方式, 或明顯變型方式均應在本發明的保護範圍內。
權利要求
1.一種基於網格服務的遙感圖像元數據提取與共享系統,其特徵在於包括 客戶端系統,用於通過平臺應用伺服器定位所有包含需要圖像資源的部門應用伺服器,再通過部門應用伺服器訪問和/或管理遙感圖像及元數據;其中,遙感數據管理員 的客戶端系統還包括支持遙感圖像歸檔的瀏覽器插件,該瀏覽器插件基於FTP協議實現 圖像文件傳輸,並包括但不限於支持文件夾上傳、斷點續傳、進度顯示和批處理;平臺應用伺服器,用於將遙感數據管理員的處理請求轉發到對應的部門應用服務 器,將用戶的遙感數據查詢請求發送到所有的部門應用伺服器,以及將來自各個部門應 用伺服器的查詢結果匯總後返回給用戶;部門應用伺服器,用於訪問元數據伺服器,進行元數據的提取、歸檔、查詢與管理;元數據伺服器,用於存儲本部門所有歸檔遙感圖像的元數據和快視圖; 遙感圖像數據伺服器,用於存儲本部門所有歸檔遙感圖像資源。
2.根據權利要求1所述的基於網格服務的遙感圖像元數據提取與共享系統,其特徵在於所述平臺應用伺服器包括元數據代理服務模塊,用於根據用戶請求的類型,實現請求一對一或一對多轉發; 如果是元數據查詢請求,則執行一對多轉發,如果是元數據處理或管理請求,則執行一 對一轉發,請求的處理結果返回給用戶;網格服務管理模塊,用於實現所有部門所有服務的註冊、瀏覽、管理和查詢;為元 數據代理服務模塊提供網格服務的搜索和定位功能; 所述部門應用伺服器包括元數據提取服務模塊,用於根據遙感圖像的類型,調用對應的元數據提取程序,實 現遙感圖像元數據的提取;元數據管理服務模塊,用於實現包括但不限於圖像元數據的瀏覽、更新與刪除; 元數據歸檔服務模塊,用於實現元數據和快視圖的存儲;元數據查詢服務模塊,用於根據用戶提交的查詢請求,訪問一個或多個元數據表, 返回滿足查詢條件的圖像元數據集合。
3.根據權利要求2所述的基於網格服務的遙感圖像元數據提取與共享系統,其特徵在 於所述元數據提取服務模塊還包括多個元數據提取程序,存在形式是JAR包、DLL庫 和/或EXE文件,在運行時被動態載入,完成元數據提取或計算功能。
4.一種權利要求1所述的基於網格服務的遙感圖像元數據提取與共享系統對遙感圖像 的提取與共享方法,其特徵在於包括以下步驟a根據遙感圖像的類型,動態調用對應的元數據提取程序,提取遙感圖像的元數據;b用戶指定批處理的遙感圖像目錄,通過客戶端系統自動搜索該目錄下包含的所有遙 感圖像頭文件,然後批處理歸檔遙感圖像數據,提取和存儲圖像元數據;c通過客戶端系統向元數據代理服務模塊發出元數據查詢請求,元數據代理服務模塊 首先獲取所有可用的元數據查詢服務列表,然後採用多線程技術並發調用所有部門的元 數據查詢服務模塊,然後匯總並返回滿足各元數據查詢條件的圖像元數據集合。
5.根據權利要求4所述的基於網格服務的遙感圖像元數據提取與共享系統對遙感圖像 的提取與共享方法,其特徵在於所述步驟a中還包括步驟al讀取系統的配置文件,獲取某種圖像類型對應的元數據提取程序; a2通過反射調用動態加載該元數據提取程序,向該提取程序動態傳遞參數,實現函 數方法的調用,獲取返回的元數據集; 所述步驟b中還包括bl分析遙感圖像的頭文件名和路徑,使用正則表達式描述能夠唯一標識頭文件的特 徵串;b2搜索用戶指定目錄下所有的文件,如果該頭文件名和路徑信息與特徵串匹配,則 標識為一個新的頭文件,再通過回溯確定遙感圖像文件的根目錄;b3利用瀏覽器插件上傳遙感圖像文件和文件夾到用戶指定伺服器目錄; b3調用元數據提取服務模塊提取頭文件中包含的元數據; b4調用元數據歸檔服務模塊存儲提取的元數據與用戶提供的元數據; 所述步驟c中還包括Cl通過客戶端系統首先封裝各種查詢參數為一個字符串,然後將調用的服務名稱、 函數名稱和參數集合發送到元數據代理服務模塊;c2通過元數據代理服務模塊首先調用網格服務管理模塊,查詢所有註冊的並且當前 可用的元數據查詢服務模塊;c3通過元數據代理服務模塊拆解參數集合,根據服務註冊信息確定每一個參數的數 據類型,然後通過反射技術和多線程技術調用所有元數據查詢服務模塊;c4通過元數據代理服務模塊等待每一個線程的執行結果,然後合併不同的結果集, 並返回給客戶端系統。
6.根據權利要求5所述的基於網格服務的遙感圖像元數據提取與共享系統對遙感圖像 的提取與共享方法,其特徵在於所述步驟a2中包括步驟a21利用網格服務特有的資源屬性機制,建立一個類似於資料庫連接池的資源池;該 資源池包含所有已加載JAR包的指針,並記錄每個JAR包指針對應的圖像類型信息;a22對於每一幅待處理的遙感圖像,首先判斷該類型的圖像是否已經出現過;如果得 到肯定,直接獲取對應的JAR包指針,實現數據處理程序的反射調用;如果得到否定, 根據配置文件加載對應的JAR包,並將其指針和圖像類型加入到資源池中,然後實現數 據處理程序的反射調用。
全文摘要
本發明公開一種基於網格服務的遙感圖像元數據提取與共享系統及提取與共享方法,系統包括客戶端系統、平臺應用伺服器、部門應用伺服器、元數據伺服器以及遙感圖像數據伺服器;並進一步包括元數據代理服務模塊、網格服務管理模塊、元數據提取服務模塊、元數據管理服務模塊、元數據歸檔服務模塊以及元數據查詢服務模塊。方法包括根據遙感圖像的類型,提取遙感圖像的元數據;用戶指定批處理的遙感圖像目錄,然後批處理歸檔遙感圖像數據,提取和存儲圖像元數據;通過客戶端系統向元數據代理服務模塊發出元數據查詢請求,匯總並返回滿足各元數據查詢條件的圖像元數據集合。本發明能夠實現對本部門各種類型遙感圖像數據進行管理、搜索和共享。
文檔編號H04L29/08GK102014154SQ201010533140
公開日2011年4月13日 申請日期2010年11月5日 優先權日2010年11月5日
發明者劉榮傑, 宋平艦, 崔賓閣, 陳欣 申請人:山東科技大學

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀