系统总体架构 什么是系统架构设计?
\u8f6f\u4ef6\u7cfb\u7edf\u7684\u603b\u4f53\u7ed3\u6784\u94bb\u5b54\u8bbe\u8ba1\u4e0e\u8f68\u8ff9\u52a8\u6001\u76d1\u63a7CAD\u8f6f\u4ef6\u7cfb\u7edf\u4e3b\u8981\u5305\u62ec\u94bb\u5b54\u8bbe\u8ba1\u548c\u94bb\u5b54\u8f68\u8ff9\u52a8\u6001\u76d1\u63a7\u4e24\u5927\u6a21\u5757\u3002\u94bb\u5b54\u8bbe\u8ba1\u6a21\u5757\u5305\u62ec\u94bb\u5b54\u7ed3\u6784\u8bbe\u8ba1\u3001\u521d\u7ea7\u5b9a\u5411\u94bb\u5b54\u8bbe\u8ba1\u4e0e\u53d7\u63a7\u5b9a\u5411\u94bb\u5b54\u8f68\u8ff9\u8bbe\u8ba1\u3001\u94bb\u63a2\u5de5\u7a0b\u7efc\u5408\u56fe\u7684\u7ed8\u5236\u3001\u94bb\u5b54\u8bbe\u8ba1\u4e66\u53ca\u94bb\u5b54\u5730\u8d28\u67f1\u72b6\u56fe\u7684\u81ea\u52a8\u751f\u6210\u7b49\u5b50\u6a21\u5757;\u94bb\u5b54\u8f68\u8ff9\u52a8\u6001\u76d1\u63a7\u6a21\u5757\u5305\u62ec\u94bb\u5b54\u8f68\u8ff9\u5728\u5730\u4e0b\u7a7a\u95f4\u7684\u7cbe\u786e\u5b9a\u4f4d\u3001\u94bb\u5b54\u8f68\u8ff9\u81ea\u7136\u5f2f\u66f2\u89c4\u5f8b\u5206\u6790\u3001\u94bb\u5b54\u8bbe\u8ba1\u8f68\u8ff9\u4e0e\u5b9e\u9645\u8f68\u8ff9\u7684\u5bf9\u6bd4\u53ca\u6839\u636e\u94bb\u5b54\u5b9e\u9645\u8f68\u8ff9\u504f\u5dee\u8ddf\u8e2a\u8bbe\u8ba1\u94bb\u5b54\u7ea0\u659c\u6216\u9020\u659c\u7684\u8f68\u8ff9\u63a7\u5236\u53c2\u6570\u7b49\u5b50\u6a21\u5757\u3002\u8f6f\u4ef6\u7cfb\u7edf\u7684\u603b\u4f53\u7ed3\u6784\u89c1\u56fe8-3,\u8bbe\u67099\u4e2a\u5e94\u7528\u529f\u80fd\u6a21\u5757\u548c1\u4e2a\u6570\u636e\u5e93\u6a21\u5757\u3002\u4e3a\u8fdb\u4e00\u6b65\u589e\u5f3a\u94bb\u5b54\u8f68\u8ff9\u76f4\u89c2\u663e\u793a\u6548\u679c,\u8f6f\u4ef6\u7cfb\u7edf\u8fd8\u8bbe\u7f6e\u6709\u94bb\u5b54\u8f68\u8ff9\u4e09\u7ef4\u52a8\u6001\u6f14\u793a\u3002
\u4e3a\u65b9\u4fbf\u91ce\u5916\u5de5\u4f5c\u4eba\u5458\u4f7f\u7528,\u8f6f\u4ef6\u529f\u80fd\u6a21\u5757\u91c7\u7528\u5916\u90e8\u5f7c\u6b64\u72ec\u7acb\u3001\u5185\u90e8\u7d27\u5bc6\u8054\u7cfb\u7684\u603b\u4f53\u7ed3\u6784\u65b9\u5f0f,\u7cfb\u7edf\u5404\u6a21\u5757\u529f\u80fd\u76ee\u6807\u660e\u786e,\u64cd\u4f5c\u6b65\u9aa4\u91c7\u7528\u6587\u5b57\u7a7a\u683c\u5149\u6807\u548c\u529f\u80fd\u952e\u63d0\u793a\u65b9\u5f0f\u3002\u5404\u529f\u80fd\u6a21\u5757\u5747\u8bbe\u8ba1\u6709\u6570\u636e\u5f55\u5165\u754c\u9762,\u5e76\u53ef\u4ee5\u5c06\u5f55\u5165\u7684\u6570\u636e\u4fdd\u5b58\u5728\u7edf\u4e00\u7684\u6570\u636e\u5e93\u6587\u4ef6\u4e2d\u4fbf\u4e8e\u76f8\u4e92\u8c03\u7528\u3002
\u56fe8-3 \u591a\u529f\u80fd\u5b9a\u5411\u94bb\u63a2\u8f6f\u4ef6\u7cfb\u7edf\u603b\u4f53\u7ed3\u6784\u56fe
\u5b9a\u4e49\uff1a
\u4e00\u4e2a\u8f6f\u4ef6\u968f\u7740\u529f\u80fd\u8d8a\u6765\u8d8a\u591a\uff0c\u6574\u4e2a\u8f6f\u4ef6\u7cfb\u7edf\u9010\u6e10\u788e\u7247\u5316\uff0c\u5982\u679c\u4e0d\u91c7\u53d6\u6709\u6548\u63aa\u65bd\uff0c\u8f6f\u4ef6\u7cfb\u7edf\u5c31\u4f1a\u8d8a\u6765\u8d8a\u65e0\u5e8f\uff0c\u6700\u7ec8\u65e0\u6cd5\u7ef4\u62a4\u548c\u6269\u5c55\u3002
\u6240\u4ee5\u8bf4\u8f6f\u4ef6\u5728\u4e00\u6bb5\u65f6\u95f4\u7684\u751f\u957f\u540e\uff0c\u5c31\u9700\u8981\u53ca\u65f6\u5e72\u9884\uff0c\u907f\u514d\u8d8a\u6765\u8d8a\u65e0\u5e8f\uff0c\u67b6\u6784\u7684\u672c\u8d28\u5c31\u662f\u5bf9\u8f6f\u4ef6\u7cfb\u7edf\u8fdb\u884c\u6709\u5e8f\u5316\u91cd\u6784\uff0c\u4f7f\u8f6f\u4ef6\u7cfb\u7edf\u4e0d\u65ad\u8fdb\u5316\u3002
\u6269\u5c55\u8d44\u6599\uff1a
\u7cfb\u7edf\u6784\u67b6\u662f\u5bf9\u5df2\u786e\u5b9a\u7684\u9700\u6c42\u7684\u6280\u672f\u5b9e\u73b0\u6784\u67b6\u3001\u4f5c\u597d\u89c4\u5212\uff0c\u8fd0\u7528\u6210\u5957\u3001\u5b8c\u6574\u7684\u5de5\u5177\uff0c\u5728\u89c4\u5212\u7684\u6b65\u9aa4\u4e0b\u53bb\u5b8c\u6210\u4efb\u52a1\u3002
\u62bd\u8c61\u6765\u8bf4\uff0c\u5b83\u662f\u8ba1\u7b97\u673a\u7cfb\u7edf\u7ed3\u6784\uff0c\u6216\u79f0\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\uff0c\u662f\u4e00\u4e2a\u7cfb\u7edf\u5728\u5176\u6240\u5904\u73af\u5883\u4e2d\u6700\u9ad8\u5c42\u6b21\u7684\u6982\u5ff5\uff1b\u5b83\u786e\u5b9a\u4e00\u53f0\u8ba1\u7b97\u673a\u786c\u4ef6\u548c\u8f6f\u4ef6\u4e4b\u95f4\u7684\u8854\u63a5\u3002
\u5177\u4f53\u5730\u8bf4\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\u6307\u7684\u662f\u8ba1\u7b97\u673a\u7cfb\u7edf\u8bbe\u8ba1\u7684\u89c2\u5ff5\u4e0e\u67b6\u6784\uff0c\u63cf\u8ff0\u8ba1\u7b97\u673a\u5728\u5b9e\u505a\u7684\u8bbe\u8ba1\u539f\u5219\u3002
\u5b83\u786e\u5b9a\u4e00\u4e2a\u8ba1\u7b97\u673a\u8bbe\u8ba1\u7684\u90e8\u4ef6\u529f\u80fd \uff0c\u90e8\u4ef6\u95f4\u63a5\u53e3 \u5e76\u4e14\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\u7740\u91cd\u4e8e\u201c\u8d1f\u8d23\u4e86\u8ba1\u7b97\u673a\u67b6\u6784\u7684\u4e2d\u5fc3\u529f\u80fd\uff1a\u8ba1\u7b97\u201d\u7684\u4e2d\u592e\u5904\u7406\u5668\u5185\u90e8\u7684\u8fd0\u884c\u52a8\u4f5c\u4e0e\u5b58\u50a8\u5668\u7684\u8bbf\u95ee\u3002
\u53c2\u8003\u8d44\u6599\uff1a\u767e\u5ea6\u767e\u79d1\uff1a\u7cfb\u7edf\u6784\u67b6
浙江省农业地质环境信息系统所涉及的数据庞大、过程复杂、功能繁多,既要有通用的可视化操作,也要进行专业的分析和应用。系统按照层次体系结构进行设计,在逻辑上可划分为数据层、引擎层、平台层、界面层4部分(图3-1),具体如下。
图3-1 AGEIS系统总体结构图
数据层采用大型数据商用数据库SQL Server 2000,从存储内容上主要包括地球化学、地形地理、农业地质背景、农产品安全、非点源污染、元数据、数据字典及用户管理数据等成果数据,其数据类型分为图形数据、数据表、图像数据、视频数据等。SQL Server数据库平台提供了一个简单且严谨的数据模型用于存储和操作表中的数据,但在ArcSDE支持下,就可将基于文件的空间数据(如Coverage、ShapeFiles等)导入到SQL Server中,并采用GeoDatabase数据模型来管理。可以较好地解决海量数据、多用户并发、长事务及版本管理等问题,实现面向海量空间数据的数据组织机制和索引机制。而针对于文本、图片等非空间数据则通过SQL语言直接从SQL Server 2000中获取。
引擎层主要包括三维数据引擎 TerDataMgr 和空间数据引擎 ArcSDE。系统是基于MO组件开发,但三维功能较弱,海量三维地形与影像数据的管理基于TerDataMgr引擎来实现,其采用动态插件形式实现功能扩展,初始化时会在插件目录下搜索并加载5种类型的插件,即地形数据压缩解压插件、影像数据压缩解压插件、数据读取插件、数据写入插件、缓冲区管理插件。其中地形数据压缩解压插件是针对地形数据进行无损压缩和快速解压的插件,支持ZIP压缩算法。影像数据压缩解压插件是针对影像数据进行有损(无损)压缩和快速解压的插件,支持JPEG和DXT压缩算法。数据读取插件能够让客户端从不同的数据源读取数据,选择不同的数据读取插件,就能从文件、数据库(Oracle、SQL Server等)、SDE等不同的海量数据存储端读取数据。通过选择不同的数据写入插件就能让客户端将数据写入到不同的海量数据存储端。缓冲区管理插件能管理客户端或服务端的数据缓冲区,使之在不同的应用下能够得到最快的响应支持。
ArcSDE是空间数据访问的中间件,位于操作系统、网络和数据库之上,应用软件的下层,它允许应用元素通过网络连接进行互操作,屏蔽其下的通讯协议、系统结构、操作系统、数据库和其他应用服务。SDE提供了开放式的数据访问模型,支持最新的标准,能实现快速的多用户的数据存取,并通过MO组件可将 SDE 的 Layers、Shape⁃Files、Coverage、Image等数据组合使用,还可通过ODBC(Open Database Connectivity)和ADO(ActiveX Data Objects)访问数据库表格数据源。因此ArcSDE中间件能无缝地连入应用开发环境中,应用程序可很容易地定位和共享中间件所提供的应用逻辑和数据,易于系统集成。
平台层不是采用最终的GIS应用软件产品来定制和扩展已有的应用,而是由GIS开发商提供的二维、三维数据管理组件组成,主要包括ERSI公司的MapObjects、自主版权的数据处理与三维显示组件(Zj3dData.dll)、三维动态演化组件(Zj3dEvolve.dll)、色柱组件(ColorColumn4.dll)等。
MapObjects是目前最优秀的GIS二次开发组件之一,其包含了超过46个可编程Ac⁃tiveX Automation对象,MapObjects提供了一套数据访问对象,利用它可以建立与SDE的连接并可对其中的空间数据进行读写。类似于DBMS、MapObjects中的空间数据也是用Table、Field、RecordSet的概念组织起来的,所以操作起来很方便。MapObjects也提供了一套地图显示对象以解决图层的管理和专题图层的实现。MapObjects的地图是分层管理的,每一层对应一个RecordSet,图形的类型可以是点、线、面等。MapObjects还提供了接口让开发人员自定义点、线、面的实现方法。
数据处理与三维显示组件是以西安三石软件有限责任公司自主研发的成熟产品3DGS三维地理信息系统(2.0)为基本平台,根据AGEIS系统的三维数据管理要求,基于Visual Studio.net开发环境和OpenGL三维图形库,构建地球化学信息评价结果的三维静态/动态数据模型和三维显示模型,并利用COM组件技术进行封装,为AGEIS系统提供各类三维信息处理和显示接口。
当然平台层的各类二维、三维组件只提供大部分GIS接口,其他功能程序实现还要根据用户的具体业务需求在VB环境下编写代码并和COM组件一并进行封装集成。
界面层主要是指AGEIS客户端软件。其主要包括导航、维护与管理、地图数据管理、三维数据管理、文档数据管理五大子系统,是集存储、分析、动态更新于一体的综合化、智能化、规范化基础平台。
绛旓細绉戞潵缃戠粶鍒嗘瀽绯荤粺鐨鏋舵瀯鐢变笁涓富瑕佺粍浠舵瀯鎴愶細鍥炴函鍒嗘瀽鏈嶅姟鍣ㄣ佸洖婧垎鏋愭帶鍒跺彴鍜屽垎甯冨紡缃戠粶鍒嗘瀽涓績銆傛湇鍔″櫒浣滀负鏍稿績锛岃礋璐g綉缁滄祦閲忕殑閲囬泦銆佸垎鏋愬拰瀛樺偍锛屽悓鏃朵笌鎺у埗鍙板拰鍒嗘瀽涓績杩涜鏁版嵁浜や簰銆傛牴鎹‖浠堕厤缃紝鏈嶅姟鍣ㄥ垎涓轰綆绔佷腑绔佷腑楂樼鍜岄珮绔洓绫伙細浣庣鏈嶅姟鍣紝濡俁AS1000鍜孯AS2000绯诲垪锛屼笓涓轰腑灏忎紒涓氳璁★紝...
绛旓細涓銆佸父瑙佽蒋浠绯荤粺鏋舵瀯绫诲瀷锛1. 瀹㈡埛绔-鏈嶅姟鍣ㄦ灦鏋 2. 娴忚鍣-鏈嶅姟鍣ㄦ灦鏋 3. 涓夊眰鏋舵瀯鎴栧灞傛灦鏋 4. 寰湇鍔℃灦鏋 5. 浜嬩欢椹卞姩鏋舵瀯绛夈備簩銆佽缁嗚В閲婏細瀹㈡埛绔-鏈嶅姟鍣ㄦ灦鏋勶細鍦ㄨ繖绉嶆灦鏋勪腑锛岃蒋浠剁郴缁熷垎涓哄鎴风鍜屾湇鍔″櫒绔袱閮ㄥ垎銆傚鎴风鏄敤鎴蜂氦浜掔殑鐣岄潰锛岃礋璐e鐞嗙敤鎴风殑璇锋眰骞跺睍绀虹粨鏋滐紱鏈嶅姟鍣ㄥ垯澶勭悊杩欎簺...
绛旓細鎺ㄨ崘浜嗚В鑷磋繙浜掕仈椤圭洰绠$悊绯荤粺锛屾槸浠ラ」鐩俊鎭负鏍稿績锛屽寘鍚簡浠庨」鐩珛椤广佷俊鎭彉鏇淬佺姸鎬佸彉鏇淬佽繘搴︾淮鎶ゃ侀獙鏀剁瓑绠$悊杩囩▼锛屽悓鏃舵眹闆嗛」鐩换鍔$鐞嗐佹嫑鎶曟爣绠$悊銆佸悎鍚岀鐞嗐侀绠楃鐞嗐佽垂鐢ㄧ鐞嗐侀噰璐鐞嗐佷緵搴斿晢绠$悊銆佽祫浜х鐞嗙瓑鏈夊叧鐨勭鐞嗗唴瀹瑰強鎶ヨ〃鏁版嵁锛屼娇鍗曚綅銆佷紒涓氫互椤圭洰鐨勭淮搴﹀鐞嗙浉鍏充簨鍔★紝鍒嗘瀽涓氬姟鏁版嵁淇℃伅...
绛旓細鏁翠綋鏋舵瀯鍜绯荤粺鏋舵瀯鐨勫尯鍒槸鐩殑涓嶅悓銆傛暣浣撴灦鏋勬槸瀵规暣涓垨閮ㄥ垎鎶鏈郴缁熺殑鍙噸鐢ㄨ璁$殑鏋勬灦锛岀郴缁熸灦鏋勬槸瀵瑰凡纭畾鐨勯渶姹傜殑鎶鏈疄鐜版瀯鏋躲佷綔濂借鍒掞紝杩愮敤鎴愬銆佸畬鏁寸殑宸ュ叿锛屽湪瑙勫垝鐨勬楠や笅鍘诲畬鎴愪换鍔°
绛旓細涓銆绯荤粺鎬讳綋鏋舵瀯 鏍规嵁鐢ㄦ埛闇姹傚畬鎴愯埅绌虹墿鎺㈡暟鎹簱绯荤粺姒傝璁捐,纭畾杞欢鐨勬讳綋鍔熻兘,璇存槑杞欢鐨勭粨鏋,瀹氫箟杞欢鐨勬帴鍙,绯荤粺杩愯鐜鍜屽畨鍏ㄧ瓥鐣ャ傚湪绯荤粺鏁翠綋鏋勬灦鍜岄渶姹傚垎鏋愮殑鍩虹涓婃瀯寤轰簡鏁翠釜绯荤粺寮鍙戠殑鎬讳綋鏋舵瀯(鍥4-1)銆傚浘4-1鑸┖鐗╂帰淇℃伅绯荤粺鏋舵瀯 浜屻佺郴缁熻蒋浠剁粨鏋 鏈俊鎭郴缁熼噰鐢–/S鏋舵瀯(鍥4-2),绯荤粺閫氳繃...
绛旓細涓銆绯荤粺鎬讳綋鏋舵瀯 鏍规嵁鐢ㄦ埛闇姹傚畬鎴愯埅绌虹墿鎺㈡暟鎹簱绯荤粺姒傝璁捐锛岀‘瀹氳蒋浠剁殑鎬讳綋鍔熻兘锛岃鏄庤蒋浠剁殑缁撴瀯锛屽畾涔夎蒋浠剁殑鎺ュ彛锛岀郴缁熻繍琛岀幆澧冨拰瀹夊叏绛栫暐銆傚湪绯荤粺鏁翠綋鏋勬灦鍜岄渶姹傚垎鏋愮殑鍩虹涓婃瀯寤轰簡鏁翠釜绯荤粺寮鍙戠殑鎬讳綋鏋舵瀯锛堝浘4-1锛夈傚浘4-1 鑸┖鐗╂帰淇℃伅绯荤粺鏋舵瀯 浜屻佺郴缁熻蒋浠剁粨鏋 鏈俊鎭郴缁熼噰鐢–/S鏋舵瀯锛堝浘4-2锛...
绛旓細(2)鏁版嵁鎺у埗灞:涓昏瀹炵幇瀵规暟鎹殑瀹℃牳锛屽睘鎬ф暟鎹叆搴撳墠鐨勬鏌ャ佸鏍稿強鏁版嵁鍏ュ簱;瀹炵幇瀵规暟鎹簱鐨勭粺涓绠$悊銆(3)搴旂敤鏈嶅姟灞:瀹炵幇姹囦氦涓婃姤銆佹眹浜よ祫鏂欑瓫閫夈佹竻鍗曞~鎶ュ強楠屾敹;闈㈠悜鐢ㄦ埛鎻愪緵鏁版嵁鏀堕泦姹囨汇佹煡璇佺粺璁;绯荤粺缁存姢銆傚浘3.9 绯荤粺鎬讳綋鎶鏈鏋舵瀯绀烘剰鍥 (4)鐢ㄦ埛灞:瀹炵幇鐢ㄦ埛璁よ瘉锛岀敤鎴锋敞鍐屻傛暣涓郴缁熷缓璁鹃噰鐢...
绛旓細瑕佽鍚勯儴闂ㄧ殑鍚屼簨鐞嗚В銆侀伒寰鏋舵瀯鍐崇瓥锛屽氨闇瑕佹妸鏋舵瀯淇℃伅浼犻掑嚭鍘伙紝鏋舵瀯鍥惧氨鏄竴涓緢濂界殑杞戒綋銆備竴鍥捐儨鍗冭█锛屼娇鐢ㄦ灦鏋勫浘鐨勫ソ澶勫氨鏄兘瑙e喅娌熼氶殰纰嶏紝杈炬垚鍏辫瘑锛岃鐩稿叧鍚屼簨閫氳繃鍥句竴鐩簡鐒堕鎮熶綔鍥捐呯殑淇℃伅銆傛灦鏋勫浘鏄彁鍗囧伐浣滄晥鐜囥佷紭鍖栦骇鍝佹ц兘銆佹敼鍠勭敤鎴蜂綋楠岀瓑鏂归潰鐨勪綋鐜帮紝涔熸槸浣滃浘鑰呬笓涓氳兘鍔涚殑琛ㄧ幇銆傛渶鐩存帴鐨...
绛旓細鏁版嵁涓績鎬讳綋鏋舵瀯 鏁版嵁涓績绯荤粺鎬讳綋鏋舵瀯 鏁版嵁涓績浠庨《灞備笂瑙勫垝鎬讳綋鎶鏈灦鏋勩佽璁℃妧鏈矾绾垮拰鏂规硶锛屼繚璇佺綉缁溿佹暟鎹祫婧愩佸簲鐢ㄧ郴缁熴佸畨鍏ㄧ郴缁熺瓑鍚勮绱犱箣闂存瀯鎴愪竴涓湁鏈虹殑鏁翠綋锛屽疄鐜颁紒涓(鏈烘瀯)鏁版嵁璧勬簮绠$悊鐨勮仈鍔ㄥ拰淇℃伅鐨勫強鏃剁洃娴嬨佹眹鎬讳笌鍒嗘瀽銆傚叿浣撳悇灞備粙缁嶅涓嬶細(1)鍩虹璁炬柦灞 鍩虹璁炬柦灞傛槸鎸囨敮鎸佹暣涓郴缁熺殑搴曞眰...
绛旓細绯荤粺鏋舵瀯锛團ramework 鎴朅rchitecture锛夋垨杞欢鏋舵瀯鐨勫畾涔夊緢闅炬槑纭紝浠佽呰浠佹櫤鑰呰鏅恒傚湪闈㈠悜瀵硅薄鑼冪暣涓紝鎴戣涓哄氨鏄氳繃鑻ュ共绫汇佹娊璞$被鍙婂叾鎺ュ彛鏈夋満缁勬垚鐨勮蒋浠剁郴缁燂紝鍏朵腑绫昏捣鐨勪綔鐢ㄥソ姣斿缓绛戠墿涓殑鐮栫摝閽㈢瓔姘存偿妤兼澘锛岃屾帴鍙e拰鎶借薄绫讳腑娌℃湁瀹炵幇鐨勬柟娉曞ソ姣斿叾涓殑涓涓釜绌洪棿锛屽寘鎷ぇ鍘咃紝璧板粖锛屾埧闂达紝鍘ㄦ埧,鍗敓闂....