999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

針對ArcGIS許可自動配置的APP分析與設計

2022-08-25 09:56:48謝小魁
軟件導刊 2022年8期
關鍵詞:分析服務信息

謝小魁

(1.北部灣大學資源與環境學院;2.欽州市海洋資源與環境遙感重點實驗室;3.廣西北部灣海洋生物多樣性養護重點實驗室,廣西欽州 535011)

0 引言

地理信息系統(GIS)自20 世紀60 年代以來,在全球范圍內得到了高度重視和廣泛應用,無論在系統理論、研究方法、基礎平臺還是在應用開發等方面都快速發展[1]。當前,國際上使用較多、二次開發功能較強的GIS 平臺有美國的ArcGIS[2]和MapInfo[3],以及國產的SuperMap[4]和MapGIS[5]。其中,ArcGIS 是目前主流的GIS 教學、研究、應用和開發平臺[6-7]。使用Google Scholar 搜索關鍵詞“GIS”、“ArcGIS”、“MapInfo”、”SuperMap GIS”、”MapGIS”,得到記錄條數分別為321萬、66.5萬、4.13萬、0.58萬和2.63萬。

一直以來,ArcGIS 許可安裝和配置比較復雜,工程技術人員進行了一定探索,研究了多版本ArcGIS 應用虛擬化部署[8]、基于ArcGIS 平臺的局域網安裝環境搭建[9]、Arc-GIS Server 分布式體系結構研究與服務器部署策略[10]、Linux 環境下部署ArcGIS 平臺服務器端的技術[11]等,這些為計算機專業人員部署ArcGIS 提供了參考信息。對科研工作者和地理信息專業的工程技術人員而言,使用較多的是ArcGIS for Desktop[6],目前未見文獻對其許可原理進行分析,對許可流程也未見報道。并且,ArcGIS for Desktop安裝過程過于復雜,通常需要反復嘗試、多次安裝才能成功。ArcGIS 初學者往往因為安裝困難,望而卻步,缺少繼續學習下去的信心。機房管理員需要在數十臺甚至數百臺電腦上安裝ArcGIS,如果手工配置許可,需要花費過長時間。同時,目前大量采取ArcGIS 插件模式[12],開發了很多實用工具[13-16],但可能由于許可配置過于復雜,很難在大眾中推廣開來。因此,有必要分析ArcGIS 的許可安裝、許可服務運行和許可認證方式,為排除許可配置錯誤,編寫許可自動配置APP 提供理論依據。

1 理論基礎與分析方法

1.1 ArcGIS for Desktop許可運行機制

經過對軟件的反復測試和分析發現,ArcGIS for Desktop 許可認證采用的是服務方式,每次啟動都要進行認證。ArcGIS for Desktop 授權的許可服務器來源主要通過Arc-GIS Administrator(管理器)配置。ArcGIS License Server(許可服務器)提供許可服務,并進行管理(例如啟動、停止服務)。進一步分析發現,ArcGIS for Desktop 的許可運行機制如圖1 所示,涉及3 個主體:ArcGIS for Desktop、ArcGIS License Server 和ArcGIS Administrator。其中,ArcGIS Administrator 充當中介牽線搭橋的角色,在設置完ArcGIS for Desktop 的權限類型和來源后即可退出,甚至可以刪除(卸載)。而ArcGIS for Desktop 在運行時,ArcGIS License Server必須一直運行,以提供授權服務。

Fig.1 Interaction process of ArcGIS licensing圖1 ArcGIS 許可服務交互過程

1.2 許可服務分析方法

1.2.1 分析思路

為了快速排除手動配置許可產生的錯誤,或者編寫自動化的許可配置程序,就必須獲得ArcGIS for Desktop 許可認證所需要的所有交互信息,具體包括ArcGIS for Desktop的版本、安裝路徑和目錄結構,ArcGIS License Server 的安裝路徑、目錄結構和許可服務管理,以及ArcGIS Administrator的許可配置內容。

問題的出發點是這些信息存儲在哪里,如何獲取?首先需分析ArcGIS 的技術基礎和所運行的操作系統。

(1)ArcGIS for Desktop 非常龐大,其技術基礎是ArcObjects(AO)。AO 是COM 組件,而COM 組件的接口信息存儲在Windows 注冊表中[17-18]。

(2)對于Windows 操作系統,全局數據或者交互數據,例如版本信息,一般存儲在注冊表(register table)、INI 配置文件、XML 配置文件等。既然AO 基于COM 技術,大量采用注冊表,那么為了統一,ArcGIS for Desktop 的許可認證交互信息可能也會優先考慮存儲在Windows 注冊表中。因此,下一步研究的重點是進一步探索注冊表結構。

1.2.2 Windows注冊表關鍵結構

注冊表是Windows 操作系統、硬件設備及應用程序正常運行和保存設置的核心數據庫,具有樹狀分層結構[19-20]。注冊表數據信息保存在system.dat 和user.dat 中,利用regedit.exe 程序能夠存取注冊表文件。通過RegEdit命令打開注冊表,發現其包括5 個根鍵(見圖2),分別是HKEY_CLASSES_ROOT、HKEY_CURRENT_USER、HKEY_LOCAL_MACHINE、HKEY_USERS、HKEY_CURRENT_CONFIG。其中,HKEY_LOCAL_MACHINE 存儲本地計算機的系統信息,包括硬件和操作系統信息、安全數據和計算機專用的各類軟件設置信息,因此是ArcGIS 許可分析需優先考慮的內容。

Fig.2 Root directory of registry table for Windows OS圖2 Windows操作系統注冊表根目錄

2 結果與分析

2.1 ArcGIS for Desktop

ArcGIS for Desktop 主要包括ArcMap、ArcCatalog、Arc-Scene、ArcGlobe 等桌面程序。不同版本的ArcGIS for Desktop 相互沖突,不能安裝在同一臺電腦。實際上,任何基于AO 的軟件都必須版本一致,包括ArcGIS for Desktop 及插件、ArcGIS Engine,或者其他基于AO 的軟件。因此,獲取ArcGIS版本號尤為重要。

2.1.1 版本信息

由于歷史原因和商業戰略,ArcGIS for Desktop 只有32位,沒有64 位。根據上文對注冊表的分析,軟件版本信息的根鍵(基項)應該為HKEY_LOCAL_MACHINE。對于32位操作系統,軟件全局信息的注冊表路徑一般為SOFTWARE<公司><軟件>;對于64 位操作系統,路徑一般為SOFTWAREWow6432Node<公司><軟件>。利用regedit程序打開注冊表進行搜索、排查分析發現,ArcGIS for Desktop 的版本信息所對應的注冊表存儲在子鍵RealVersion 中,如表1所示。例如,對于ArcGIS 10.3,版本號為10.3.4322,對應的注冊表項為“RealVersion REG_SZ 10.3.4322”。

Table 1 Registry table catalog for the version of ArcGIS for Desktop表1 ArcGIS for Desktop版本號的注冊表目錄

2.1.2 安裝路徑

獲取版本號之后,再根據軟件名稱和版本獲取安裝路徑。

經分析發現,在注冊表中,ArcGIS for Desktop 軟件名稱為Desktop<主要版本號>.<次要版本號>。例如,對于ArcGIS for Desktop 10.3,在注冊表中的名稱為Desktop10.3。

進一步分析發現,在注冊表中,ArcGIS for Desktop 的安裝路徑存儲在“InstallDir”子鍵中,如表2所示。

例如,當安裝路徑為F:Program Files(x86)Arc-GISDesktop10.3,對應的注冊表項為“InstallDir REG_SZ F:Program Files(x86)ArcGISDesktop10.3”。

Table 2 Registry table catalog for the installation directory of ArcGIS for Desktop表2 ArcGIS for Desktop安裝路徑的注冊表目錄

2.1.3 應用程序目錄結構

通過分析文件系統結構發現,ArcGIS for Desktop 應用程序(.exe)所在路徑為in。ArcGIS for Desktop 應用程序有ArcMap.exe、ArcCatalog.exe、ArcScene.exe、ArcGlobe.exe等。

2.1.4 注冊表應用

通過注冊表信息,可以獲得ArcGIS for Desktop 的版本和安裝路徑;結合目錄結構和應用程序名稱,可以提高手動操作的靈活性,也可以開發程序并進行自動化處理。

手工處理:在不使用開始/程序菜單(例如Win8操作系統)的條件下,可以用文件管理器直接導航到應用程序文件夾in進行操作。

自動處理:編寫程序從注冊表讀取安裝路徑,利用應用程序目錄結構,打開對應的程序。

2.2 License Manager Administrator

License Manager Administrator(許可服務器管理器)對許可服務進行管理,包括啟動服務、暫停服務、重啟服務等。

2.2.1 安裝路徑

通過許可服務器關鍵字在注冊表中進行查找發現,許可服務器安裝路徑信息的注冊表項為:對于32 位操作系統,路徑為HKEY_LOCAL_MACHINE SOFTWAREESRIArcGIS 10.3 License Manager;對于64 位操作系統,路徑為HKEY_LOCAL_MACHINESOFTWAREWow6432NodeE SRIArcGIS 10.3 License Manager;子鍵為InstallDir;值類型為REG_SZ,為字符串,例如“F:Program Files(x86)Arc-GISLicense10.3”。

2.2.2 目錄結構

in目錄下,主要有許可服務器lmgrd.exe(Windows任務管理器中可見此進程),還有另外幾個重要文件:授權文件service.txt、許可服務器管理器LSAdmin.exe、許可導入程序SoftwareAuthorizationLS.exe和ARCGIS.exe。

2.2.3 許可服務器管理

許可服務器為lmgrd.exe,其服務名稱為ArcGIS License Manager。可以通過ArcGIS許可服務器管理器LSAdmin.exe對服務進行管理,如圖3(a)所示。在不使用ArcGIS軟件時可手動停止服務,在需要時再啟動服務;也可通過Windows操作系統的服務管理ArcGIS許可服務,如圖3(b)所示。

Fig.3 Managing license service圖3 管理許可服務

2.2.4 注冊表應用

通過編寫程序,在注冊表中找到許可服務器安裝路徑,通過操作許可文件service.txt 自動對軟件進行授權。在更改授權前,需先停止服務,修改后要啟動服務。

還可以編寫程序,利用許可服務名稱查找服務,判斷服務是否安裝,獲得當前服務狀態(是否運行、停止或正在啟動),以及按需啟動服務和停止服務,也可以通過定時器觸發這些操作。

2.3 ArcGIS Administrator分析

2.3.1 許可配置

ArcGIS Administrator(管理器)可以對ArcGIS for Desktop 的許可來源進行配置(見圖4),包括軟件功能、許可類型,以及許可管理器地址。軟件功能分為高級版(相當于ArcInfo)、標準版(相當于ArcEditor)和基礎版(相當于ArcView);許可類型分為浮動版、單機版。

Fig.4 Configure license for ArcGIS for Desktop by ArcGIS administrator圖4 ArcGIS管理器配置ArcGIS for Desktop許可

2.3.2 許可服務器地址

許可服務器地址可以是計算機名稱、IP 地址等,通過在ArcGIS Administrator 反復修改許可服務器地址,然后在注冊表中查找對應的信息,并結合相似路徑分析,可以找到對應的注冊表。對于32 位操作系統,許可服務器地址的注冊表路徑為 HKEY_LOCAL_MACHINE SOFTWAREESRILicense10.3,對于64 位操作系統,路徑為SOFTWAREWow6432NodeESRILicense10.3;子鍵為LICENSE_SERVER;值類型為REG_SZ。當許可服務器地址設置為本機(localhost)時,值為“@localhost”。

2.3.3 許可服務器類型

進一步分析發現,在注冊表中,許可類型在注冊表中存儲路徑:對于32 位操作系統為HKEY_LOCAL_MACHINESOFTWAREESRILicense10.3;對于64 位操作系統為HKEY_LOCAL_MACHINESOFTWAREWow6432NodeESRILicense10.3;子鍵為SEAT_PREFERENCE;數據類型為REG_SZ;當許可類型為floa(t浮動)時,值為“Float”。

3 應用

在注冊表中可以獲取或設置許可服務器的類型和地址。例如,對機房所有電腦安裝的ArcGIS for Desktop 的許可全部定向到某一許可服務器。如果許可服務器發生了更新、升級等,自動對ArcGIS for Desktop 的許可進行更改。基于許可服務器注冊表分析結果,了解其原理,就可以開發出許可自動配置程序。

3.1 許可自動配置程序設計

(1)開發語言選擇。開發語言(支持平臺)需能夠方便地讀寫注冊表、訪問文件系統(以讀寫許可文件)、訪問系統服務(以啟動、停止許可服務),具有快速開發、界面設計和調試方便等優點,在Windows 平臺可選Python 和C#。Python 雖然具有良好的計算生態,開發速度快,但存在界面設計不便、調試困難等缺點,因此本文選擇C#作為開發語言。

(2)開發界面可采用WinForm 或WPF 進行設計。本文選擇WPF,以自適應屏幕分辨率變化。

(3)程序功能包括手動設置許可(位于窗體的左邊)、自動設置許可(位于窗體的右邊)。

3.2 許可自動配置程序開發結果

手動設置許可是通過點擊按鈕進行版本檢測、許可服務器狀態監測、啟動和停止許可服務、刪除原有許可、更新許可等操作。

自動設置許可是設置經典許可(已經安裝了許可服務器LicenseManger),也可以設置簡易許可(不用安裝許可服務器)。

最后提供了2 個小工具,一個是讀取ESRI 全部的注冊表信息,方便高級管理員分析安裝的ESRI 產品;一個是讀取ESRI 幾個主要的注冊表信息,用于輔助分析軟件運行情況。程序運行效果如圖5所示。

Fig.5 Auto-license configuration APP for ArcGIS圖5 ArcGIS自動許可配置程序

4 結語

本文通過邏輯分析、反復測試,揭示了ArcGIS 許可運行機制及相關注冊表信息,為排除許可配置錯誤、開發自動配置軟件提供了全面的理論支撐?;诖嗽黹_發自動配置許可APP,可以讀取注冊表、修改注冊表,即可直接修改許可認證方式,無需手動交互操作ArcGIS License Administraot 或ArcGIS Administrator,從而達到自動化、批量化目的。該App 跨Windows 操作系統版本(32 位、64 位),跨ArcGIS 版本(9.2-10.8),具有較強的通用性、較好的實用性。因為使用C#開發,所以需要安裝.NET Framework。

該APP 可用于個人初學者輔助安裝ArcGIS,對實驗室大規模安裝有顯著效果。同時,本文分析結論對安裝和配置二次開發的Python 腳本、插件(Addin)和工具箱(toolbox)有較大啟發作用[12]。自動配置許可APP 源代碼(C#)和編譯好的應用程序(exe)可以從百度網盤下載,鏈接:https://pan.baidu.com/s/113DOUeofJ1X6FfeZo-G7NA 提取碼:s2ja。需特別說明的是,該APP 僅限于學習和研究之用,不得用于商業用途。出于演示需要,本文上傳了ArcGIS 10.2 和10.3的許可,這些許可均來自網絡。

猜你喜歡
分析服務信息
隱蔽失效適航要求符合性驗證分析
服務在身邊 健康每一天
今日農業(2019年12期)2019-08-15 00:56:32
服務在身邊 健康每一天
今日農業(2019年10期)2019-01-04 04:28:15
服務在身邊 健康每一天
今日農業(2019年16期)2019-01-03 11:39:20
電力系統不平衡分析
電子制作(2018年18期)2018-11-14 01:48:24
招行30年:從“滿意服務”到“感動服務”
商周刊(2017年9期)2017-08-22 02:57:56
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
電力系統及其自動化發展趨勢分析
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 国产精品自拍合集| 亚洲一区无码在线| 日韩精品一区二区三区大桥未久 | 手机精品福利在线观看| 一级毛片无毒不卡直接观看| 国产黑丝一区| 91精品视频网站| 国产精品人人做人人爽人人添| 精品久久人人爽人人玩人人妻| 久久综合九九亚洲一区| 好吊色国产欧美日韩免费观看| 国产美女叼嘿视频免费看| 亚洲国产成人无码AV在线影院L| 亚洲码在线中文在线观看| 国产无码制服丝袜| аv天堂最新中文在线| 日本尹人综合香蕉在线观看| 波多野结衣AV无码久久一区| 九九视频免费看| 最新精品国偷自产在线| 亚洲国产综合第一精品小说| 日本午夜精品一本在线观看 | 国产精品亚洲αv天堂无码| 国外欧美一区另类中文字幕| 香蕉视频在线观看www| 五月综合色婷婷| 最新国产你懂的在线网址| 国产精品一区二区国产主播| 亚洲中文久久精品无玛| 直接黄91麻豆网站| 色综合天天视频在线观看| 熟女日韩精品2区| 成人免费网站在线观看| 亚洲永久色| 日韩成人午夜| 亚洲成aⅴ人片在线影院八| 就去吻亚洲精品国产欧美| 中文字幕伦视频| 亚洲国产看片基地久久1024| 91精品国产无线乱码在线| 国产精品99久久久久久董美香| 日韩视频免费| 亚洲 欧美 日韩综合一区| 久久香蕉国产线看观| 999精品视频在线| 国产精品网址在线观看你懂的| 久热这里只有精品6| 一级做a爰片久久免费| 情侣午夜国产在线一区无码| 综合色88| 国产视频a| 91免费国产高清观看| 国产对白刺激真实精品91| 国产综合网站| 日韩欧美高清视频| 91精品免费高清在线| 99尹人香蕉国产免费天天拍| 中文字幕av无码不卡免费| 欧美另类视频一区二区三区| 天天婬欲婬香婬色婬视频播放| av性天堂网| 亚洲啪啪网| 美女被狂躁www在线观看| 国产日本一区二区三区| 黄色网页在线观看| 日韩久草视频| 国产精品久久自在自2021| 久久久精品无码一二三区| 色综合久久88色综合天天提莫| 国精品91人妻无码一区二区三区| 亚洲色图在线观看| 免费中文字幕在在线不卡| 亚洲国产日韩一区| 久久久精品久久久久三级| 欧美精品在线视频观看| 日韩欧美成人高清在线观看| 情侣午夜国产在线一区无码| 国产成人三级在线观看视频| 狠狠色狠狠综合久久| 久久中文无码精品| 爆乳熟妇一区二区三区| 日本三区视频|