Trong quá trình phát triển x• hội, con người đ• phải vượt qua biết bao những khó khăn, thử thách. Một trong những khó khăn nhất đó là sự rộng lớn bao la của không gian, vũ trụ mà con người thì quá nhỏ bé. Nhưng những thách thức đó cũng không ngăn nổi ý chí tìm tòi, khám phá, những ước muốn vươn tới những chân trời xa xôi đầy bí ẩn. Họ đ• tìm ra những cách khác nhau để vượt qua những rào cản về khoảng cách địa lý. Đó là những chiếc la bàn để định hướng đi trên mặt đất cũng như trên đại dương mênh mông, những bản vẽ mô tả những địa thế đáng ghi nhớ, những nơi đ• đi qua. Mặc dù rất đơn giản nhưng đó cũng là những công cụ hỗ trợ cho con người hình dung một cách trực quan về thế giới bên ngoài. Dần dần, khi kỹ thuật ngày một nâng cao, con người đ• xây dựng nên cả một nghệ thuật mới, đó là nghệ thuật tạo lập bản đồ. Những bản đồ giấy có chất lượng cao đ• đem lại những đóng góp rất thiết thực vào nhiều lĩnh vực khác nhau từ quân sự, hàng hải, kinh tế cho đến các lĩnh vực khí tượng, thủy văn, khai thác tài nguyên thiên nhiên, đất đai,… Đặc biệt, khi có sự phát triển của công nghệ hiện đại mà điển hình là sự xuất hiện của máy tính, người ta đ• nghĩ đến việc số hoá bản đồ đưa vào trong máy tính. Các bản đồ số với độ chính xác cao kèm theo nó là rất nhiều các thông tin trợ giúp khác. Tất cả đ• tạo nên một hướng nghiên cứu mới được gọi là GIS. GIS là một khái niệm về một hệ thống không chỉ cung cấp những thông tin địa lý mà còn là một phương tiện tìm kiếm, phân tích, trợ giúp quyết định rất hữu hiệu cho con người. Với sự ra đời của mạng Internet cho phép nối kết hàng triệu người trên hành tinh này chỉ trên một chiếc máy tính. Vậy thì tại sao chúng ta lại không đưa GIS vào Internet. Điều này sẽ là một thành công rất lớn góp phần đưa GIS đến tận tay người sử dụng. Đề tài “Xây dựng hệ thống GIS trên Internet” là một đề tài thực sự lớn và không đơn giản. Vì vậy trong giới hạn của đồ án tốt nghiệp, tôi chỉ lựa chọn một phần rất nhỏ nhưng đây cũng là một tiền đề quan trọng trong quá trình phát triển về sau. Đó là phần “Xây dựng hệ thống phần mềm thao tác, hiển thị thông tin địa lý trên môi trường mạng Internet” .
Trang 1Mục lục
LờI CảM ƠN 1
Mục lục 2
Mở đầu 7
PHầN I - Giới thiệu nội dung đề tài 8
I Giới thiệu đề tài 9
II Phạm vi và mục đích của đề tài 10
III Tổng quan về hệ thống Internet - GIS 11
Phần II - Cơ sở lý thuyết 13
Chơng I – hệ thống thông tin địa lý (GIS) hệ thống thông tin địa lý (GIS) 13
I Khái niệm về GIS (Geographic Information Systems) 14
II Các thành phần cơ bản của GIS 14
II.1 Các thiết bị phần cứng 14
II.2 Phần mềm ứng dụng 14
II.3 Dữ liệu GIS 14
II.4 Đội ngũ nhân sự 15
III Các kiểu dữ liệu và các mô hình dữ liệu GIS 15
III.1 Các kiểu dữ liệu cơ bản của GIS 15
III.1.1 Dữ liệu không gian 15
III.1.2 Dữ liệu thuộc tính 15
III.1.3 Dữ liệu ảnh 16
III.2 Mô hình dữ liệu GIS 16
III.2.1 Mô hình dữ liệu raster 16
III.2.2 Mô hình dữ liệu Vector 16
IV Các hệ toạ độ và hệ quy chiếu trong GIS 18
IV.1 Hệ toạ độ 18
IV.1.1 Hệ toạ độ phẳng – Cartesian : Cartesian : 18
IV.1.2 Hệ toạ độ cầu (trái đất) 19
IV.2 Các hệ quy chiếu 19
V Giới thiệu về bản đồ 20
VI Các phép phân tích dữ liệu trong GIS 21
VI.1 Truy vấn dữ liệu thuộc tính 21
VI.2 Truy vấn không gian 22
VI.3 Truy vấn kết hợp 23
VI.4 Một số kiểu phân tích khác của GIS 23
VI.4.1 Phép phân tích mạng 23
VI.4.2 Phân tích và lập kiểu điạ hình kỹ thuật số DTM (Digital Terrain Modeling and Analysis) 24
Chơng II – hệ thống thông tin địa lý (GIS) Hệ quản trị CSDL Oracle 25
I Giới thiệu về Oracle 26
II Kiến trúc và quản lý dữ liệu của hệ quản trị CSDL Oracle 26
II.1 Cấu trúc CSDL Oracle 26
II.1.1 Cấu trúc CSDL vật lý 26
II.1.2 Cấu trúc CSDL logic 27
II.2 Oracle Instance 31
II.2.1 Cấu trúc bộ nhớ Oracle 32
II.2.2 Kiến trúc tiến trình Oracle 33
III Tích hợp dữ liệu GIS với hệ quản trị CSDL Oracle (Oracle Spatial) 35
Trang 2III.1 Các phần tử dữ liệu 35
III.2 Mô hình truy vấn 35
III.3 Các phơng pháp đánh chỉ số không gian 36
III.4 Các quan hệ không gian 37
III.5 Các mô hình dữ liệu 38
III.5.1 Mô hình quan hệ - đối tợng (Object – Cartesian : Relational Model) 38
III.5.2 Mô hình quan hệ (Relational Model) 40
CHƯƠNG III – hệ thống thông tin địa lý (GIS) TRUYềN THÔNG MạNG MáY TíNH 43
I Khái quát chung về mạng máy tính 43
I.1 Định nghĩa 43
I.2 Các yếu tố của mạng máy tính 43
I.3 Phân loại mạng máy tính 43
II Kiến trúc phân tầng và mô hình OSI 44
II.1 Kiến trúc phân tầng 44
II.3 Phơng thức hoạt động (Có liên kết và không liên kết) 46
III Internet 47
III.1 Giới thiệu về Internet 47
III.2 Giao thức TCP/IP 47
III.2.1 Giao thức IP (Internet Protocol) 47
III.2.2 Giao thức TCP (Transmission Control Protocol) 48
III.3 Các dịch vụ thông tin trên Internet 49
CHƯƠNG IV – hệ thống thông tin địa lý (GIS) kiến trúc CLIENT/SERVER 50
I Khái niệm 50
II Các mô hình Client/Server 51
II.1 Mô hình Host-based 51
II.2 Mô hình Master-Slave 51
II.3 Mô hình Client/Server 52
III Vai trò của mô hình Client/Server 52
IV Các kiến trúc Client/Server 52
IV.1 Kiến trúc 2 tầng (Two - Tier Architecture) 52
IV.2 Kiến trúc 3 tầng (Three - Tier Architecture) 53
IV.3 Kiến trúc đa tầng (Multi - Tier Architecture) 54
IV.4 Kết luận 54
CHƯƠNG V – hệ thống thông tin địa lý (GIS) LậP TRìNH SOCKET Và MULTITHREADING 55
I Khái niệm Socket 55
II Các loại Socket 55
III Sử dụng Socket 55
IV Mô hình lập trình sử dụng Socket 56
IV.1 Mô hình sử dụng Datagram Socket 56
IV.2 Mô hình sử dụng Stream Socket 56
V Multithreading 57
CHƯƠNG VI – hệ thống thông tin địa lý (GIS) NGÔN NGữ LậP TRìNH Và CáC công nghệ TRÊN WEB 59
I Ngôn ngữ lập trình Visual C++ 59
II Ngôn ngữ lập trình Java 60
II.1 Giới thiệu về ngôn ngữ lập trình Java 60
II.2 Các đặc tính của ngôn ngữ Java 61
II.3 Java Applet 62
II.3.1 Chu trình hoạt động của một applet 62
II.3.2 Giới hạn của một Applet 63
II.3.3 Khả năng của một applet 63
III Giới thiệu một số công nghệ trên Web 64
III.1 Active X 64
III.2 Plug-In 64
III.3 Java Applet 64
Trang 3Phần III - Phân tích và thiết kế hệ thống 65
Chơng VII - Phân tích hệ thống 66
I Lựa chọn kiến trúc thực hiện 66
II Lựa chọn công cụ thực hiện 67
II.1 Lựa chọn phần mềm lu trữ dữ liệu GIS 67
II.2 Lựa chọn công cụ cho tầng trung gian (Application Server) 68
II.3 Lựa chọn công cụ thực hiện tầng thứ 3 (Client Application) 70
III Xác định phơng pháp truyền thông giữa Client và Server 70
IV Giải pháp tổng thể 72
V Xác định kiểu dữ liệu sẽ truyền từ Client tới IGIS-Server 73
VI Sơ đồ phân cấp chức năng 73
VII Biểu đồ luồng dữ liệu 75
VII.1 Biểu đồ luồng dữ liệu mức đỉnh 75
VII.2 Biểu đồ luồng dữ liệu mức dới đỉnh 76
Chơng VIII – hệ thống thông tin địa lý (GIS) Thiết kế tổng thể 78
I Hệ thống cung cấp thông tin địa lý Internet-GIS 78
I.1 Các khái niệm chung : 78
I.2 Quá trình hoạt động của hệ thống Internet-GIS 78
I.2.1 Giai đoạn khởi tạo ứng dụng IGIS-Client 78
I.2.2 Giai đoạn kiểm tra quyền sử dụng (Login) 78
I.2.3 Giai đoạn sử dụng một chức năng GIS 79
I.2.4 Giai đoạn kết thúc sử dụng 80
II Mô hình hoá hệ thống 80
Chơng IX - Thiết kế chi tiết 81
I Mô hình trao đổi dữ liệu giữa IGIS-Client và IGIS-Server 81
II Giao thức trao đổi dữ liệu giữa IGIS-Client và IGIS-Server 82 II.1 Giao thức tầng ứng dụng (IGIS-AP) 82
II.1.1 Các trạng thái trong giao thức IGIS-AP 82
II.1.2 Cấu trúc chung của một Request 83
II.1.3 Cấu trúc chung của một Response 84
II.1.4 Nội dung các chức năng cần thực hiện của hệ thống Internet-GIS 84
II.1.5 Cấu trúc chi tiết của các Request và Response 85
II.2 Giao thức tầng truyền thông (IGIS-CP) 89
II.2.1 Giao thức IGIS-CP 90
II.2.2 Cấu trúc tổng quát của một IGIS-Packet 90
II.2.3 Các kiểu IGIS-Packet 90
II.2.4 Cách lu trữ giá trị độ dài dữ liệu trong trờng DataLength 91
III Mô hình thiết kế CSDL địa lý 91
III.1 Mô hình dữ liệu 91
III.2 Xây dựng CSDL cung cấp dịch vụ thông tin địa lý 91
IV Phơng pháp trao đổi dữ liệu giữa IGIS-Server và Oracle 92 V Thiết kế chơng trình ứng dụng IGIS-Client 92
V.1 Giao diện chơng trình 92
V.2 Sơ đồ các class chính trong chơng trình 94
V.3 Chức năng của các class 95
VI Thiết kế chơng trình ứng dụng IGIS-Server 96
VI.1 Sơ đồ mô tả hoạt động của IGIS-Server (trang sau) 96
VI.2 Sơ đồ mồ tả hoạt động của IGIS-Client thread () 98
VI.3 Xây dựng tập các modul chơng trình giao tiếp với Oracle và thực hiện các chức năng GIS 98
VI.3.1 Phân loại các lớp theo từng chức năng 99
VI.3.2 Xuất dữ liệu vector thành file ảnh raster 99
VI.3.3 Sơ đồ minh hoạ quan hệ giữa các lớp 100
Trang 4Phần IV - Cài đặt chơng trình và thử nghiệm 101
I Cài đặt hệ thống 102
I.1 Cài đặt Oracle Server 102
I.2 Cài đặt Web Server 102
I.3 Cài đặt chơng trình IGIS-Client 102
I.4 Cài đặt chơng trình IGIS-Server 103
II Thử nghiệm 103
II.1 Chơng trình thử nghiệm 104
II.2 Một vài hình ảnh trong quá trình thử nghiệm 104
Phần V- kết luận 108
I Đánh giá chung 109
II Phơng hớng phát triển 109
III Kết luận 110
Tài liệu tham khảo 111
Mở đầu
Trong quá trình phát triển xã hội, con ngời đã phải vợt qua biết bao những khó khăn, thử thách Một trong những khó khăn nhất đó là sự rộng lớn bao la của không gian, vũ trụ mà con ngời thì quá nhỏ bé Nhng những thách thức đó cũng không ngăn nổi ý chí tìm tòi, khám phá, những ớc muốn vơn tới những chân trời xa xôi đầy
bí ẩn Họ đã tìm ra những cách khác nhau để vợt qua những rào cản về khoảng cách
địa lý Đó là những chiếc la bàn để định hớng đi trên mặt đất cũng nh trên đại dơng mênh mông, những bản vẽ mô tả những địa thế đáng ghi nhớ, những nơi đã đi qua Mặc dù rất đơn giản nhng đó cũng là những công cụ hỗ trợ cho con ngời hình dung một cách trực quan về thế giới bên ngoài
Trang 5Dần dần, khi kỹ thuật ngày một nâng cao, con ngời đã xây dựng nên cả một nghệthuật mới, đó là nghệ thuật tạo lập bản đồ Những bản đồ giấy có chất lợng cao đã
đem lại những đóng góp rất thiết thực vào nhiều lĩnh vực khác nhau từ quân sự, hànghải, kinh tế cho đến các lĩnh vực khí tợng, thủy văn, khai thác tài nguyên thiênnhiên, đất đai,…
Điều này sẽ là một thành công rất lớn góp phần đa GIS đến tận tay ngời sử dụng
Đề tài Xây dựng hệ thống GIS trên Internet“Xây dựng hệ thống GIS trên Internet” ” là một đề tài thực sự lớn và không
đơn giản Vì vậy trong giới hạn của đồ án tốt nghiệp, tôi chỉ lựa chọn một phần rấtnhỏ nhng đây cũng là một tiền đề quan trọng trong quá trình phát triển về sau Đó là
phần Xây dựng hệ thống phần mềm thao tác, hiển thị thông tin địa lý trên môi“Xây dựng hệ thống GIS trên Internet”
PHầN I - Giới thiệu nội dung
đề tài
Nội dung :
I Giới thiệu nội dung đề tài
II Phạm vi và mục đích của đề tài
III Tổng quan về hệ thống Internet - GIS
Trang 6I Giới thiệu đề tài
Phát triển từ những năm 1960 nhng đến nay GIS đã khẳng định đợc vai trò quantrọng của mình trong nhiều lĩnh vực khác nhau, cùng với những ứng dụng thực tiễn
có chất lợng cao và hiệu quả Hiện nay, ở nhiều nớc trên thế giới ngời ta đã chútrọng đến việc xây dựng những hệ thống GIS có quy mô lớn Đã có nhiều công tycùng với các sản phẩm nổi tiếng về GIS nh công ty MapInfo (với sản phẩmMapInfo), công ty ESRI (với sản phẩm ArcInfo/ ArcView), công ty Berteley (vớisản phầm MicroStation), hãng Intergraph (với nhiều sản phẩm kể cả Web)… Đây làcác sản phẩm phần mềm mạnh đợc tích hợp nhiều chức năng khác nhau từ số hoá, lutrữ bản đồ cho tới việc hiển thị, vẽ, … và các chức năng khác của GIS ở ViệtNamGIS vẫn còn khá mới mẻ nhng cũng đã bắt đầu thu hút đợc sự quan tâm, chú ý củanhiều ngời, tổ chức khác nhau
Từ khi mạng Internet ra đời đã đánh dấu một bớc phát triển vợt bậc của công nghệthông tin Các thông tin đợc chia sẻ trên mạng giờ đây có thể đến đợc tới tất cả mọingời, không còn phân biệt về khoảng cách địa lý trên trái đất Internet đã trở thànhmột trờng học lớn và cũng là một thị trờng rộng lớn
Việc đa GIS lên Internet có thể đem lại một lợi ích lớn cho ngời sử dụng và hứa hẹnnhiều tiềm năng Đây cũng là xu hớng phát triển mang tính cạnh tranh của các nhàphát triển GIS Nhiều công ty cung cấp các sản phẩm IMS (Internet Map Server)chuyên dụng và mang tính thơng mại cao Các sản phẩm này đợc thực hiện bởinhững công ty có uy tín và có nhiều thâm niên trong lĩnh vực này nên chất lợng sảnphẩm rất cao Tuy nhiên, đa số các sản phẩm về WEB GIS đều có giá thành khá đắt,nhất là trong điều kiện nớc ta hiện này thì để mua đợc một sản phẩm nh vậy cũng làmột khó khăn không nhỏ Hơn nữa, với từng lĩnh vực chuyên môn lại có những bàitoán GIS riêng và việc đáp ứng đợc tất cả các bài toán này cũng không phải dễ dàng.Vì vậy, cũng cho thấy một nhu cầu sử dụng GIS trên mạng Internet là rất lớn và việcxây dựng một hệ thống Internet-GIS cho phù hợp với hoàn cảnh nớc ta hiện naycũng rất cần thiết Trong phạm vi của một đồ án tốt nghiệp chỉ thực hiện một phần
của đề tài này đó là Xây dựng hệ thống thao tác, hiển thị thông tin địa lý trên“Xây dựng hệ thống GIS trên Internet”
môi trờng mạng Internet” Tuy nhiên việc thực hiện đề tài trong giai đoạn đầu tiên
chỉ có thể mang tính thử nghiệm và tìm kiếm giải pháp tối u Việc hoàn thành toàn
bộ đề tài cần mất nhiều thời gian và công sức cùng với sự tham gia xây dựng củanhiều ngời, đồng thời cũng phải có một sự hiểu biết sâu sắc về GIS và các lĩnh vực
khác có liên quan nh mạng máy tính, CSDL, …
Trang 7Trong khuôn khổ thời gian làm đồ án tốt nghiệp, đề tài chỉ thực hiện 2 phần chínhlà:
Thực hiện giao tiếp với hệ quản trị CSDL Oracle qua OCI để query dữ liệu đồhoạ đã đợc lu trong CSDL Oracle
Thực hiện các chức năng cơ bản về bản đồ nh hiển thị, xem và soản thảo cácthông tin thuộc tính về bản đồ Các chức năng khác nh tạo mới, vẽ,… sẽ đợc xem
nh các chức năng mở rộng và định hớng phát triển về sau
Nội dung đồ án sẽ gồm các phần sau :
Phần I : Giới thiệu nội dung đề tài
Phần này giới thiệu một cách khái quát về toàn bộ nội dung thực hiện Cung cấpcho ngời đọc một khái niệm ban đầu về toàn hệ thống cùng với mục đích vàphạm vi thực hiện trong đồ án
II Phạm vi và mục đích của đề tài
Việc đa GIS lên mạng Internet có nhiều khó khăn và phức tạp Trớc hết đó là thờigian truyền dữ liệu trên mạng có thể rất chậm khi lợng dữ liệu lớn Điều này ảnh h-ởng lớn tới tâm lý của ngời sử dụng Thông thờng một hệ thống thông tin địa lý th-ờng phải xử lý một lợng lớn dữ liệu Đó có thể là dữ liệu không gian hay dữ liệuthuộc tính vì vậy việc đảm bảo tốc độ xử lý nhanh là một vấn đề khó Nếu dữ liệutruyền trên mạng là dữ liệu vector thì có u điểm là hệ thống hiển thị sẽ làm thao táctrực tiếp trên loại dữ liệu này một cách nhanh nhất và đây cũng là loại dữ liệu chứa
đựng một lợng thông tin lớn Nhng nhợc điểm của loại dữ liệu này đó là khối lợngdữ liệu có thể quá lớn Lúc này việc truyền toàn bộ dữ liệu trên mạng sẽ trở thànhmột giải pháp không thực tế Thêm vào đó kích thớc của chơng trình máy kháchcũng tăng lên do phải viết thêm các modul thao tác với loại dữ liệu này Thứ hai, hệthống phải đảm bảo thực hiện với nhiều Client cùng một lúc Điều này có thể dẫn
đến tình trạng quá tải, tranh chấp tài nguyên,…
Vì vậy, trớc mắt để giải quyết các khó khăn này, dữ liệu truyền trên mạng sẽ là dữliệu ảnh Raster Nói chung đây là loại dữ liệu không có cấu trúc và nghèo thông tinnhng có u điểm là kích thớc có thể chấp nhận đợc và khá ổn định Đồng thời tốc độ
xử lý của server phải đủ nhanh và có khả năng đồng bộ hoá các tiến trình song songcho phép nhiều tiến trình thực hiện một cách tơng tranh với nhau
Do có nhiều khó khăn nh vậy nên phạm vi của đề tài chỉ thực hiện ở những phần sau:
Trang 8 Xây dựng các modul chơng trình thực hiện giao tiếp với CSDL Oracle Dữ liệu
GIS đợc chứa trong CSDL Oracle thông qua sản phẩm Oracle Spatial.
Xây dựng một hệ thống hoạt động tin cậy và ổn định cho phép thực hiện các thaotác cơ bản về bản đồ nh hiển thị bản đồ, các thao tác xem bản đồ nh phóng to(zoom in), thu nhỏ (zoom out), dịch chuyển (pan), … và các chức năng hiển thị
và cập nhật các dữ liệu thuộc tính của bản đồ
Xây dựng một giao diện Web mà có thể chạy đuợc trên các trình duyệt(Browser) thông dụng Giao diện này có thể tuỳ biến đợc nhằm hỗ trợ cho nhữngngời thiết kế trang Web biến đổi cho phù hợp với các mục đích khác nhau nh cácchỉ tiêu về mỹ thuật, sở thích, …
Xây dựng một cơ chế giao tiếp giữa Client và Server một cách hiệu quả dựa trênhạ tầng mạng sẵn có là Internet
Nh vậy các mục đích chính của đề tài là :
Cho phép ngời sử dụng có thể khai thác các thông tin địa lý trên môi trờngInternet thông qua các trình duyệt Web thông mà không cần cài bất kỳ một phầnmềm GIS chuyên dụng nào
Đáp ứng nhu cầu sử dụng GIS của nhiều ngời sử dụng và có thể chia sẻ dữ liệuGIS trên mạng
Có thể mở rộng cho phù hợp với điều kiện trong nớc và đáp ứng đợc với từng bàitoán chuyên môn cụ thể
III Tổng quan về hệ thống Internet - GIS
Internet - GIS là một hệ thống tập trung GIS tại một nhà cung cấp dịch vụ GIS, hớngtới các khác hàng là ngời sử dụng trên mạng Internet Khách hàng có thể là nhữngngời am hiểu hoặc không am hiểu về GIS nhng họ cần các thông tin địa lý để phục
vụ cho các mục đích riêng
Để sử dụng đợc dịch vụ GIS trên Internet, ngời sử dụng chỉ cần một chiếc máy tínhnối với Internet và một trình duyệt Web kết nối tới trang Web của nhà cung cấp.Ngoài ra, trên máy của ngời sử dụng cũng không cần bất cứ một chơng trình GISchuyên dụng nào, cùng với các yêu cầu về phần cứng cũng không cần phải quámạnh Tất cả các yêu cầu này sẽ đợc tập trung tại một máy chủ của nhà cung cấp.Khi truy nhập vào trang Web có chứa dịch vụ GIS, một chơng trình tích hợp dớidạng Client sẽ đợc nạp về và chạy trên máy của ngời sử dụng Chơng trình này sẽ tự
động kết nối với một Gis-Server của nhà cung cấp Chơng trình có thể yêu cầu ngời
sử dụng vào các thông tin kiểm tra quyền sử dụng của họ Nếu tất cả đều hợp lệ, hệthống sẽ sẵn sàng thực hiện các chức năng GIS mà ngời sử dụng yêu cầu
Hệ thống Internet-GIS thực hiện trong đồ án tốt nghiệp này gồm những phần sau :
Một hoặc nhiều Oracle-Server sẽ quản lý các dữ liệu địa lý Hệ quản trị CSDL
Oracle cho phép tích hợp một số lợng rất lớn dữ liệu phục vụ những nhu cầu rất
đa dạng của ngời sử dụng
IGIS-Server là một chơng trình ứng dụng đợc viết bằng ngôn ngữ Visual C++
sẽ kết nối với các Oracle-Server và thực hiện các chức năng GIS Chơng trìnhnày có khả năng kiểm tra quyền sử dụng, phân quyền truy nhập dịch vụ của cáckhách hàng vào CSDL địa lý
IGIS-Client là một chơng trình Java Applet đợc tích hợp vào trong trang Web.
Chơng trình này sẽ đợc tải về máy của ngời sử dụng , chạy và tự động giao tiếpvới IGIS-Server để thực hiện các chức năng của hệ thống
Trang 9Phần II - Cơ sở lý thuyết
Nội dung :
Chơng I – Cartesian : Hệ thống thông tin địa lý (GIS)
Chơng II – Cartesian : Hệ quản trị CSDL Oracle
Chơng III – Cartesian : Truyền thông mạng máy tính
Chơng IV – Cartesian : Kiến trúc Client/Server
Chơng V – Cartesian : Lập trình Socket và Multithreading
Chơng VI – Cartesian : Ngôn ngữ lập trình và các công nghệ trên Web
Trang 10Chơng I – hệ thống thông tin địa lý (GIS) hệ thống thông tin địa lý (GIS)
I Khái niệm về GIS (Geographic Information Systems)
GIS đợc xem nh là một hệ thống cho phép khai thác, biểu diễn dữ liệu địa lý chuyển
đổi thành các thông tin trợ giúp con ngời trong quá trình tạo lập quyết định
Trong suốt quá trình phát triển cũng đã có rất nhiều định nghĩa về GIS Sau đây sẽ làmột định nghĩa khá chính xác và đầy đủ :
GIS là một
“Xây dựng hệ thống GIS trên Internet” hệ thống bao gồm các thiết bị phần cứng, phần mềm ứng dụng, dữ liệu
và đội ngũ nhân sự chuyên nghiệp, đợc thiết kế để thực hiện các thao tác thu thập,
l-u trữ, cập nhật, biến đổi, phân tích và hiển thị các dữ liệl-u ql-uy chiếl-u không gian từ thế giới thực một cách hiệu quả, phục vụ cho một mục đích xác định ”
II Các thành phần cơ bản của GIS
Nh vậy một hệ thống GIS đợc tạo nên từ nhiều thành phần khác nhau và việc xâydựng một hệ thống GIS sẽ đem lại rất nhiều lợi ích thiết thực Đây là một công cụphân tích hữu hiệu, trợ giúp ngời sử dụng trong quá trình lên kế hoạch và tạo lậpquyết định Sau đây chúng ta sẽ xem xét cụ thể với từng thành phần của hệ thốngGIS
II.1 Các thiết bị phần cứng
Phần cứng của hệ thống GIS có thể bao gồm rất nhiều thiết bị khác nhau nh các thiết
bị nhập dữ liệu (Bàn số hoá, máy quét, …), máy vẽ, thiết bị hiển thị (màn hình máytính,…), các thiết bị lu trữ và bộ xử lý trung tâm
II.2 Phần mềm ứng dụng
Phần mềm GIS đợc sử dụng với nhiều chức năng khác nhau và có thể phục vụ chonhiều yêu cầu khác nhau nh :
- Hiển thị dữ liệu (bản đồ, đồ thị, biểu đồ, các bảng, ).…
- Quản lý cơ sở dữ liệu địa lý
- Tơng tác với ngời sử dụng
- Phân tích dữ liệu
II.3 Dữ liệu GIS
Dữ liệu của hệ thống GIS là một trong những thành phần nền tảng của hệ thống vàbao gồm hai thành phần dữ liệu chính là dữ liệu không gian và dữ liệu thuộc tính.Việc xây dựng và tổ chức quản lý dữ liệu đợc xem là một trong những bớc cơ sở vàtốn kém rất nhiều công sức
II.4 Đội ngũ nhân sự
Đội ngũ nhân sự chính là nguồn gốc sức mạnh của một hệ thống GIS Đây là độingũ có trình độ chuyên môn cao đặc biệt là về lĩnh vực GIS Cũng cần có một kếhoạch thờng xuyên đào tạo nâng cao trình độ và sự hiểu biết về GIS
Trang 11III Các kiểu dữ liệu và các mô hình dữ liệu GIS
III.1 Các kiểu dữ liệu cơ bản của GIS
Dữ liệu GIS bao gồm 3 loại dữ liệu cơ bản là dữ liệu không gian (Spatial Data), dữ liệu thuộc tính hay dữ liệu dạng bảng (Tabular Data) và dữ liệu ảnh (Image Data).
Sau đây sẽ đề cập chi tiết về 3 loại dữ liệu này
III.1.1 Dữ liệu không gian
Dữ liệu không gian có thể xem nh là một loại dữ liệu mô tả về các đối tợng trong thếgiới thực xét trên quan điểm hình học hoặc vị trí địa lý Một ví dụ đơn giản của loại
dữ liệu này là bản đồ Trong đó có những đối tợng hai chiều nh điểm (point), đờng
(lines), đa giác (polygon),… mô tả các thực thể nh thành phố, đờng xá hay các đờngranh giới giữa các vùng hay quốc gia, lãnh thổ, Xét trong không gian địa lý cácthực thể này có một ví trí địa lý nhất định và sau khi đã đợc chiếu lên mặt phẳng trở
thành các đối tợng hai chiều Nh vậy, dữ liệu không gian là loại dữ liệu về vị trí của
các đối tợng không gian đợc đặt trong hệ thống toạ độ nhất định nh toạ độ trái đất(kinh tuyến,vĩ tuyến hoặc chiều cao,chiều sâu) hay các hệ toạ độ khác
Dữ liệu không gian là một trong những thành phần quan trọng nhất của GIS, có thể
ví nh ‘trái tim’ của hệ GIS Việc lu trữ, tạo lập loại dữ liệu này cũng đòi hỏi nhiềuchi phí và tốn kém
III.1.2 Dữ liệu thuộc tính
Dữ liệu thuộc tính dùng để mô tả tính chất hay đặc điểm của các đối tợng khônggian tơng ứng.Ví dụ nh một đờng phố trong bản đồ có thể có các thuộc tính nh:
Dữ liệu ảnh thờng đợc sử dụng làm ảnh nền trong quá trình xây dựng bản đồ Các
ảnh này có thể là ảnh chụp từ vệ tinh, máy bay hay ảnh từ máy quét
III.2 Mô hình dữ liệu GIS
Có hai mô hình dữ liệu chính đợc sử dụng trong GIS là mô hình dữ liệu raster và mô hình dữ liệu vector.
III.2.1 Mô hình dữ liệu raster
Mô hình dữ liệu raster biểu diễn các đặc trng của vùng nghiên cứu dới dạng lới tếbào trong một không gian liên tục Mỗi giá trị trong vùng nghiên cứu tơng ứng vớimột tế bào Mỗi lớp (layer) biểu diễn một thuộc tính mặc dù các thuộc tính khácnhau có thể gắn với một tế bào Đa số các phép phân tích thờng kết hợp các lớp lại
và tạo ra một lớp mới với các giá trị tế bào mới
Trang 12Ưu điểm chính của mô hình này là đơn giản Dữ liệu đầu vào có thể lấy ngay từcác ảnh vệ tinh hay các ảnh hàng không Mô hình dữ liệu raster cho phép thực hiệncác phép phân tích dữ liệu một cách dễ dàng hơn và đặc biệt thuận lợi cho các hệGIS nhằm chủ yếu vào việc phân tích các biến đổi liên tục trên bề mặt trái đất đểquản lý tài nguyên thiên nhiên và môi trờng.
Nhng nhợc điểm của mô hình này là phụ thuộc rất nhiều vào kích thớc của các tếbào Khi kích thớc của các tế bào là lớn thì sẽ ảnh hởng đến kết quả phân tích và độchính xác của bản đồ Nếu kích thớc này quá nhỏ thì đòi hỏi một không gian lu trữlớn Mặt khác với mô hình này, việc thiết lập các mạng lới của các đặc trng của bản
đồ nh đờng xá, hệ thống thuỷ lợi, … sẽ gặp rất nhiều khó khăn
Qua nghiên cứu thì mô hình dữ liệu raster định hớng chủ yếu vào phân tích(analysis), không định hớng cho cơ sở dữ liệu
III.2.2 Mô hình dữ liệu Vector
Mô hình dữ liệu Vector dựa trên cơ sở các vector hay toạ độ của một điểm trongmột hệ toạ độ nhất định Điểm là một đơn vị cơ bản của dữ liệu Vector Các điểm đ-
ợc nối với nhau bởi các đoạn thẳng hay các đờng cong để tạo nên các đối tợng khácnhau nh đối tợng đờng(lines) hay vùng (area) Các đờng thẳng biểu diễn các thực thể
nh đờng phố, hệ thống thuỷ lợi,… ợc tạo thành bởi dẫy các cặp toạ độ Các vùng đbiểu diễn các biên giới của các quốc gia, lãnh thổ hay giữa các quận huyện,… ợc đxây dựng bởi các đa giác khép kín Nh vậy mô hình dữ liệu Vector sử dụng cácthành phần điểm hay đoạn thẳng để nhận biết vị trí của thế giới thực
Cũng chính vì cách biểu diễn dữ liệu nh vậy, nên mô hình dữ liệu Vector cho phépthực hiện đợc nhiều thao tác hơn so với mô hình dữ liệu raster Trong đó có thể thựchiện việc đo diện tích, tính chu vi, đo khoảng cách thông qua các phép tính hình họctrên toạ độ của các đối tợng một cách chính xác thay vì việc đếm các tế bào của môhình raster Có thể thực hiện các thao tác lựa chọn, thay đổi hay cập nhật lại một đốitợng địa lý bất kỳ một cách dễ dàng hơn Thêm vào đó việc thực hiện một số thaotác khác nh tìm đờng đi ngắn nhất trong mạng lới giao thông, hệ thống thuỷ lợi,…
sẽ nhanh hơn rất nhiều Tuy nhiên các thao tác khác nh quá trình nạp chồng các lớp
sẽ có phần chậm hơn
Một đặc trng quan trọng của mô hình dữ liệu Vector là định hớng tới hệ thống quảntrị cơ sở dữ liệu Dữ liệu Vector là loại dữ liệu có cấu trúc và có thể đợc lu trữ rất tốtvào trong cơ sở dữ liệu (CSDL) dới dạng bảng Nhờ đó các ứng dụng có thể truyxuất dễ dàng và thực hiện các thao tác tìm kiếm , cập nhật, thêm bớt một cách hiệu
Ví dụ: mô
hình dữ liệu
raster
Trang 13quả nhờ vào các công cụ của hệ quản trị CSDL Ngoài ra có thể thực hiện liên kếttrực tiếp các thành phần dữ liệu đồ hoạ với các thuộc tính của chúng.
Trong CSDL không gian, các thực thể của thế giới thực đợc biểu diễn dới dạng sốbằng một kiểu đối tợng không gian tơng ứng Dựa trên kích thớc không gian của đối
tợng mà US National Standard for Digital Cartographic Databases (DCDSTF, 1998) đã chuẩn hoá các loại đối tợng nh sau :
0-D : Đối tợng có vị trí nhng không có độ dài (Đối tợng điểm)
1-D : Đối tợng có độ dài (đờng), đợc tạo từ hai hay nhiều đối tợng 0-D
2-D : Đối tợng có độ dài và độ rộng (vùng) , đợc bao quanh bởi ít nhất 3 đối tợng
đoạn thẳng
3-D : Đối tợng có độ dài, độ rộng, chiều cao hay độ sâu (hình khối) đợc tạo nên
từ ít nhất hai đối tợng 2-D
Các đối tợng trong CSDL không gian là biểu diễn của các thực thể trong thế giớithực cùng với các thuộc tính của chúng Một trong những sức mạnh của một hệthống GIS là ở chỗ chúng trợ giúp việc tìm kiếm các thực thể trong một ngữ cảnh
địa lý và khảo sát các quan hệ giữa chúng
Việc xây dựng các thực thể từ các đối tợng điểm hay đờng thì phải thiết lập một cấutrúc topology tơng ứng Đó là quá trình xây dựng mối quan hệ giữa các điểm, các
đoạn thẳng và các vùng đối tợng tạo ra các thực thể Thực chất là xây dựng mốiquan hệ không gian giữa các mối liên kết của các đối tợng trong một lớp
Topology trợ giúp một cách thuận tiện cho các thao tác phân tích và tìm đờng trongmạng lới của các dữ liệu trong CSDL
IV Các hệ toạ độ và hệ quy chiếu trong GIS
IV.1 Hệ toạ độ
Hệ toạ độ đợc đợc sử dụng để định vị và đo các đối tợng địa lý Đợc chia làm hailoại : hệ toạ độ phẳng và hệ toạ độ cầu
IV.1.1 Hệ toạ độ phẳng – Cartesian : Cartesian :
Đây là hệ toạ độ đợc xây dựng trên một mặt phẳng bao gồm :
Trang 14- Manhattan Metric : Là khoảng cách đợc đo theo các đoạn song song theo trục x
và y
- Khoảng cách có barrier : Lúc này khoảng cách đợc xác định theo một cách riêngphụ thuộc vào các đối tợng ngăn cách
Ví dụ :
IV.1.2 Hệ toạ độ cầu (trái đất)
Đây là hệ thống toạ độ cầu của trái đất, gốc toạ độ là tâm của quả đất
- Kinh tuyến (Meridian) : là một đờng cong giao giữa mặt phẳng đi qua hai trụcbắc, nam với trái đất
- Vĩ tuyến (Parallel of latitude): là một đờng cong giao giữa mặt phẳng song songvới mặt phẳng xích đạo với trái đất
Toạ độ đợc xác định bởi kinh độ và vĩ độ, đơn vị đo cơ sở là độ Có hai phơng pháp
đo là : DMS (Degree-Minute-Second) hay độ-phút-giây hoặc DD(Decimal Degree)hay độ thập phân Ví dụ : 10030’00’’ tơng đơng với 10,50
- Kinh độ (longitude) : Bắt đầu từ kinh tuyến gốc Greenwich , tăng dần từ 00 đến
1800 về phía đông (từ Anh qua châu Âu, châu Phi và châu á), giảm dần từ 00 đến– Cartesian :1800 về phía tây (từ Anh qua Mỹ)
- Vĩ độ (latitude) : Bắt đầu từ đờng xích đạo, tăng dần từ 00 đến 900 lên bán cầuBắc và giảm dần từ 00 đến – Cartesian :900 xuống bán cầu Nam
Đo khoảng cách :
Khoảng cách giữa hai điểm theo hệ toạ độ kinh độ(), vĩ độ () đợc tính nh sau :
Trang 15D= R arccos(sin(1 )*sin(2 ) + cos(1 )*cos(2 )*cos(1 - 2 ))
IV.2 Các hệ quy chiếu
Phép chiếu đợc dùng để biểu diễn các đối tợng địa lý trong không gian 3 chiều (hệtoạ độ cầu) thành không gian 2 chiều tức là mặt phẳng Quá trình chuyển đổi này sẽgây nên một số sai lệch gọi là sai số Và ngời ta lựa chọn các phép chiếu sao cho sai
số này là nhỏ nhất
Các loại phép chiếu đợc phân lớp theo tính chất và phơng pháp xây dựng chúng Có
3 phơng pháp chính để xây dựng phép chiếu là : mặt chiếu là hình trụ, hình nón vàmặt phẳng
Sau đây là một số phép chiếu hay đợc sử dụng nhất ( đợc tổng kết bởi U.S Geological Survey Map 1-1096) :
- Mặt chiếu là mặt phẳng (Planes – Cartesian : Azimuthal) : Azimuthal Equidistant, LambertAzimuthal Equal-Area, Orthorgraphie, Stereographic
- Mặt chiếu là hình trụ (Cylinders) : Mecator, Oblique Mecator, TransverseMecator, Modified Transvers Mecator
- Mặt chiếu là hình nón (Cones) : Equidistant Conic, Lambert Conformal Conic,Albers Conic Equal-Area, American Polyconic, Bipolar Oblique ConicConformal
- Mặt chiếu giả hình trụ (Pseudo-Cylinders) : Sinusoidal, Eckert No.5
Mỗi phép chiếu có một đặc điểm riêng và không phải tất cả đều hoàn hảo Sau đây
là một phơng pháp lựa chọn các phép chiếu :
Đối với các vùng vĩ độ thấp : Chọn phép chiếu hình trụ (Cylindric)
Đối với vùng vĩ độ trung bình : Chọn phép chiếu hình nón (Conic)
Đối với các vùng cực : Chọn phép chiếu mặt phẳng (Plane-Azimuthal)
Bản đồ cho phép biểu diễn thông tin GIS một cách trực quan và dễ hiểu nhất Các
đối tợng địa lý đợc mô tả không chỉ bởi vị trí trong không gian mà còn bởi các thôngtin về thuộc tính của chúng Bản đồ trong GIS thờng là sự kết hợp hay xếp chồng củanhiều lớp (layer) lại với nhau theo một hệ toạ độ chung Mỗi lớp đặc trng cho mộttập các đối tợng địa lý có chung một số tính chất nào đó Ví dụ một bản đồ thànhphố gồm có 3 lớp : lớp thứ nhất mô tả ranh giới giữa các quận, các vùng khác nhau,lớp thứ hai mô tả hệ thống giao thông, và lớp thứ ba là tập các công trình xây dựng,hay trờng học, bệnh viện …
Trang 16Ví dụ sau minh hoạ một bản đồ các quốc gia bao gồm 5 lớp :
Sự phân lớp của bản đồ tạo ra một sự đa dạng trong cách biểu diễn và tạo điều kiệnquản lý dễ dàng hơn Ngời sử dụng có thể xem và chỉnh sửa trên một lớp của bản đồ
mà không làm ảnh hởng đến các lớp khác Thông tin lu trữ trên bản đồ là rất phongphú dễ xem, dễ hiểu và dễ tìm kiếm
VI Các phép phân tích dữ liệu trong GIS
Phân tích dữ liệu trong GIS là một trong những chức năng rất mạnh của hệ thốngGIS Hệ thống GIS không tạo lập quyết định cho ngời sử dụng nhng nhờ có nhữngcông cụ phân tích hiệu quả sẽ trợ giúp đắc lực trong quá trình ra quyết định của họ
Đối với dữ liệu GIS có 3 hình thức phân tích cơ bản đó là truy vấn dữ liệu thuộc tính,truy vấn không gian và các truy vấn kết hợp Ngoài ra còn có các hình thái phân tíchchuyên dụng khác nh phân tích mạng, mô hình địa thế số, mô hình ô lới,…
VI.1 Truy vấn dữ liệu thuộc tính
GIS có thể cung cấp nhiều phơng pháp truy vấn dữ liệu thuộc tính khác nhau Cácphơng pháp này có thể từ đơn giản cho tới rất tinh vi và phức tạp Trong phơng pháp
tổ chức lu trữ dữ liệu thuộc tính có thể lu trữ tách rời với dữ liệu không gian (trongcác tệp khác nhau) hoặc cũng có thể gắn liền với dữ liệu không gian Một nhà cungcấp GIS tiêu biểu cho phép lu trữ dữ liệu thuộc tính ở nhiều định dạng khác nhau t-
ơng ứng với nhiều hệ quản trị cơ sở dữ liệu (DBMS) khác nhau Ví dụ nh dữ liệuthuộc tính có thể lu dới dạng *.mdb của CSDL Access hay dới dạng DB2,… Nhờ đócác DBMS có thể tự quản lý và phân tích loại dữ liệu này
Một phơng pháp phân tích dữ liêu đơn giản của GIS nh yêu cầu tìm kiếm và hiển thịdữ liệu không gian dựa trên cơ sở thuộc tính và ngợc lại Ví dụ, ngời sử dụng có thểchỉ vào một điểm trên bản đồ và yêu cầu GIS xác định các thuộc tính của chúng.Ngợc lại, ngời sử dụng có thể định vị một bản ghi trong CSDL thuộc tính và yêu cầuGIS chỉ ra vùng tơng ứng trên bản đồ
Ngoài ra, GIS còn có thể hỗ trợ nhiều truy vấn tinh vi và phức tạp hơn Đó là việcxây dựng các câu hỏi truy vấn dựa trên các toán tử truy vấn Các toán tử này có thể
là ‘+,-,=,not,>,<,=,Between,is null, …’ Ví dụ nh trong một bản đồ thành phố, ngời
sử dụng có thể yêu cầu tìm kiếm các tr‘ ờng học cách trung tâm thành phố không quá 5 km và có số học sinh tốt nghiệp trong năm hiện tại lớn hơn 90%’ Để thực
hiện đợc các câu hỏi nh vậy, đầu tiên GIS sẽ gửi tới DBMS câu hỏi tơng ứng mà nó
có thể tìm kiếm dữ liệu thuộc tính thoả mãn yêu cầu đã đặt ra Sau đó GIS sẽ tìm
Trang 17kiếm trên dữ liệu không gian để xác định các đối tợng không gian có những thuộctính này và đánh dấu chúng trên màn hình hiển thị.
Ngợc lại, ngời sử dụng có thể mô tả một khu vực trên bản đồ vùng và yêu cầu GISxác định tất cả các bản ghi thuộc tính của tất cả những vùng bên trong khu vực Khuvực này có thể là một vòng tròn, một hình chữ nhật, một đa giác hay một hìnhkhông tuân theo quy luật nào cả Các toán tử logic đợc sử dụng để hạn chế sự tìmkiếm hoặc dùng để mô tả những thuộc tính cần phải thoả mãn Kết quả có thể đợc sửdụng để tạo ra các báo cáo, các đồ thị hay biên tập hồ sơ bản đồ mới
VI.2 Truy vấn không gian
Đây là phơng pháp truy vấn dựa trên các quan hệ không gian của các đặc điểm củabản đồ Để có thể thực hiện đợc điều này cần xây dựng các toán tử không gian Cáctoán tử này sẽ xác định mối quan hệ đã tồn tại giữa các đặc tính của bản đồ Sau đây
sẽ minh hoạ các chức năng của một toán tử không gian
Các toán tử truy vấn không gian :
Passes_through_by Vợt qua bởi
On_boundary_of Trên đờng biên
VI.3 Truy vấn kết hợp
Sau khi đã thực hiện các phép truy vấn và đợc kết quả là một tập truy vấn GIS cóthể kết hợp các tập truy vấn này theo các phơng pháp logic khác nhau nhằm đạt đợcmột mục đích mong muốn nào đó Các truy vấn nh thế liên quan đến ít nhất là hai
tập truy vấn và có thể nhiều hơn nữa đợc gọi là truy vấn tập Sau đây sẽ là các toán
tử truy vấn điển hình
UNION (Phép Hợp) Sự kết hợp duy nhất của hai toán hạng
INTERSECT (Phép Giao) Giữ lại những mục có trong cả hai toán hạngMINUS ( Phép Trừ) Giữ lại các mục chỉ có trong toán hạng thứ
nhất mà không có trong toán hạng thứ hai
Ví dụ, trong quy hoạch đô thị cần phát triển vùng đô thị theo hớng có nhiều thuậnlợi nhất Lúc này cần xây dựng các tập truy vấn có các điểm thuận lợi khác nhau nh
Trang 18tập các vùng có diện tích đất đai rộng, tập các vùng nằm trên trục đờng giao thôngchính, tập các vùng có địa hình tơng đối bằng phẳng,… Và giao của các tập này haythực hiện phép INTERSECT sẽ chỉ ra các vùng thuộc các hớng có nhiều đặc điểmthuận lợi nhất.
Trong GIS những vùng có cùng thuộc tính mà có thể kết hợp thành một vùng rộnghơn thờng đợc gọi là vùng “Xây dựng hệ thống GIS trên Internet”hoà tan”
VI.4 Một số kiểu phân tích khác của GIS
Ngoài các kiểu truy vấn mang tính chất cốt lõi, điển hình ở trên GIS còn có một sốchức năng phân tích bổ sung Các chức năng này thờng đợc tách thành các modulriêng mà ngời sử dụng có thể mua chúng nếu họ cần Chúng bao gồm các phép phântích mạng, các phép phân tích và mô hình địa lý số, các phép phân tích và biểu đồcột (ô) vành đai
VI.4.1 Phép phân tích mạng
Phép phân tích mạng đợc thực hiện dựa trên một mô hình mạng đã đợc xây dựng
Đây có thể xem là một giải pháp rất hữu ích cho các tổ chức quản lý liên quan đếnmạng nh hệ thống vận tải, truyền thông,… Các doanh nghiệp sử dụng chúng để lập
kế hoạch phân phối hàng hoá hay dự trù các vị trí sắp đặt cửa hàng, dịch vụ hay cácchi nhánh công ty
Có 3 kiểu chính của phép phân tích mạng là : Sơ đồ mạng, đờng dẫn mạng và phân
bố mạng
Đờng dẫn mạng cho phép xác định một đờng dẫn đặc thù xuyên xuốt mạng hay ờng dẫn tối u trong một mạng tuyến tính Đờng dẫn đợc chọn có thể dựa trên mộtvài tiêu chuẩn đã đợc cung cấp hay các tiêu chuẩn nh “Xây dựng hệ thống GIS trên Internet”khoảng cách ngắn nhất”,
đ-“Xây dựng hệ thống GIS trên Internet”chi phí nhỏ nhất”,…Phép phân tích đờng dẫn sẽ kiểm tra xác định những hạn chếcủa đờng dẫn và ảnh hởng của nó nhằm tránh các xung đột có thể xẩy ra
Phân bố mạng chỉ định những phần mạng theo những “Xây dựng hệ thống GIS trên Internet”trung tâm cung cấp” hoặc
“Xây dựng hệ thống GIS trên Internet”các điểm cuối” Ví dụ với các trờng học với một số lợng học sinh đã định sẵn thìGIS có thể xác định đợc một khu vực dân c mà trờng học có thể phục vụ bằng phépthống kê về dân số đang trong độ tuổi đến trờng và cơ chế phân khu (block byblock) Hoặc với mạng lới xe buýt mà điểm đến là các bến xe điện ngầm thì phépphân bố mạng sẽ cho phép xác định đợc tất cả các điểm trên mạng đờng phố nộithành cách bến xe không quá 5 phút đi bộ
VI.4.2 Phân tích và lập kiểu điạ hình kỹ thuật số DTM (Digital Terrain
Modeling and Analysis)
Kiểu địa hình kỹ thuật số DTM thờng sử dụng để thể hiện bề mặt trái đất Có haidạng cơ bản của số liệu DTM : mạng bất thờng thể lới tam giác không đều TIN(Triangulated Irregular Network) và kiểu số liệu dạng ô lới Các điểm số liệu DTMbao gồm toạ độ X,Y và cũng có thể cả cao độ của nó là Z Nó cũng có thể đợc tạo ra
từ các đờng ba chiều hoặc hai chiều cùng với giá trị độ cao của chúng
Modul DTM của GIS cho phép ngời dùng soạn thảo và thao tác trên các kiểu số liệu.Việc này bao gồm cả việc soạn thảo các giá trị Z trong TIN hoặc kiểu mắt lới hay bổsung, xoá, dịch chuyển các điểm số liệu trong TIN Chơng trình có thể áp dụng cácthao tác logic và thuật toán cho các mắt lới DTM (so sánh, vi phân, cộng, trừ, nhân,chia) nhằm sửa chữa hay tạo mới
Trang 19Kiểu DTM đợc tích hợp GIS hạt nhân sẽ cho phép tích hợp số liệu địa hình 3 chiềuvới số lợng GIS 2 chiều Ví dụ các đặc điểm bản đồ 2 chiều có thể đợc mô tả trên bềmặt DTM 3 chiều.
DTM đợc sử dụng trong rất nhiều ứng dụng khác nhau bao gồm cả lập bản đồ điạhình, quy hoạch địa chính, xây dựng dân dụng và quản lý nguồn tài nguyên, môi tr -ờng
Chơng II – hệ thống thông tin địa lý (GIS) Hệ quản trị CSDL Oracle
Trong bất kỳ ứng dụng nào khi cần truy xuất hay xây dựng cơ sở dữ liệu thì đều cần
đến một hệ quản trị CSDL (DBMS – Cartesian : Database Management System) DBMS chophép thực hiện một cách linh hoạt và hiệu quả các ngôn ngữ của CSDL nh DML(Data Manipulation language) hay DDL (Data Definition language) DBMS đóngmột vai trò quan trọng trong việc quản lý một số lợng lớn dữ liệu và đáp ứng những
đòi hỏi khác nhau về tính hiệu quả, an toàn, bảo mật, phân tán,… Một ứng dụng đơn
lẻ có thể tự xây dựng một DBMS và tất nhiên điều này có u điểm là ứng dụng sẽ cótính độc lập cao, và đáp ứng đợc những mục đích riêng Tuy nhiên cũng cần phảimất thời gian trong việc đầu t xây dựng một DBMS và cũng cần phải có một đội ngũchuyên nghiệp thực hiện công việc này Đồng thời nó cũng nảy sinh nhợc điểm làtính mở của ứng dụng sẽ bị hạn chế, khả năng phối hợp, chia sẻ dữ liệu giữa các hệthống khác nhau gặp nhiều khó khăn
Cũng chính vì vậy, yêu cầu về sử dụng một sản phẩm phần mềm DBMS chuyêndụng có thể giải quyết đợc những khó khăn này Và hiện nay, trên thị trờng cũngxuất hiện nhiều phần mềm DBMS khác nhau nh Access, Foxpro, SQL Server củahãng Microsoft, Oracle, DB2, Sysbase, Informix,… đáp ứng nhu cầu đa dạng củangời sử dụng Tất cả các DBMS này đều có quy mô và phạm vi ứng dụng riêng nhngnói chung đều đáp ứng đợc những yêu cầu đặc thù về CSDL Tùy theo mục đích vànhu cầu của mỗi ứng dụng mà có thể chọn những DBMS khác nhau
Trong phần này sẽ trình bày về một hệ DBMS rất nổi tiếng, đó là hệ quản trị CSDLOracle Oracle là một trong những hệ DBMS rất mạnh và đợc phát triển trên nhiềunền phần cứng cũng nh nhiều hệ điều hành khác nhau Khả năng hỗ trợ trên mạngcũng nh một cơ chế hoạt động tin cậy, hiệu quả cùng nhiều chức năng khác củaOracle đã làm cho sản phẩm này đạt đợc một thành công rực rỡ và đợc sử dụng rấtrộng rãi
Chơng này không thể nói hết về Oracle nhng sẽ cung cấp những khái niệm cơ bản
cũng nh kiến trúc và sự quản lý dữ liệu của Oracle đặc biệt là sản phẩm Oracle
Spatial Các ứng dụng GIS có thể sử dụng Oracle Spatial để xây dựng CSDL không
gian, tích hợp cùng với các thành phần dữ liệu khác Điều này mang lại rất nhiều ý
Trang 20nghĩa trong việc tổ chức quản lý dữ liệu cũng nh trao đổi dữ liệu trong một môi ờng xử lý phân tán và hớng tới những ứng dụng Web.
tr-I Giới thiệu về Oracle
Oracle là một bộ các công cụ phần mềm đợc cung cấp bởi công ty Oracle Các công
cụ này bao gồm các sản phẩm phần mềm cùng với các chơng trình ứng dụng đợcdành cho ngời sử dụng cuối
Oracle không chỉ cung cấp một hệ quản trị CSDL mềm dẻo mà còn bao gồm rấtnhiều các phơng tiện khác Đó là :
- Cơ sở dữ liệu : Oracle Server, RDB, Express OLAP
- Công cụ CASE: Môi trờng thiết kế CSDL (Designer 2000), CASE
- Công cụ phát triển : Developer 2000 (Developer Form , Report, )…
- Sản phẩm WWW: Web Server, PowerBrowser
- Các ứng dụng: Oracle Financial, Oracle Manufacturing
Hệ quản trị CSDL Oracle có tính an toàn, bảo mật cao, tính nhất quán và toàn vẹn dữ liệu, cho phép các user truy nhập tới CSDL phân tán nh một khối thống nhất, hỗ trợ xử lý song song, Vì vậy nó đợc đánh giá là một trong những sản phẩm u việt nhất hiện nay
II Kiến trúc và quản lý dữ liệu của hệ quản trị CSDL Oracle
Để có thể thiết kế và xây dựng CSDL đợc tốt trớc hết chúng ta cần phải hiểu đợckiến trúc cơ bản cũng nh sự quản lý CSDL của Oracle
II.1 Cấu trúc CSDL Oracle
Một CSDL Oracle bao gồm hai phần là cấu trúc logic và cấu trúc vật lý Sự phân
chia này đảm bảo sự lu trữ vật lý của dữ liệu không làm ảnh hởng đến các truy nhậptrên cấu trúc logic của dữ liệu
II.1.1 Cấu trúc CSDL vật lý
Cấu trúc vật lý đợc xác định bởi các tệp (file) xây dựng nên CSDL, chúng bao gồm 3loại file là : một hoặc nhiều file dữ liệu (datafiles), hai hoặc nhiều file nhật ký(redo log files), một hoặc nhiều file điều khiển (control files)
Các file dữ liệu (datafiles) chứa toàn bộ dữ liệu của CSDL Khi có yêu cầu về dữ
liệu thì dữ liệu sẽ đợc đọc từ datafile tơng ứng và đợc đặt trong bộ nhớ Cache củaOracle Thao tác ghi dữ liệu có thể không đợc ghi lên datafile ngay lập tức mà sẽ
đợc ghi tại một thời điểm thích hợp và đợc thực hiện bởi tiến trình nền DBW củaOracle
Các file nhật ký (redo log files) có chức năng ghi lại tất cả các thay đổi đã thực
hiện trên dữ liệu Các file này đợc sử dụng để khôi phục lại CSDL khi có sự cố
về hệ thống hoặc bởi các tác động bên ngoài trong lúc dữ liệu đang đợc ghi từ bộnhớ tới các datafile
Trang 21 Các file điều khiển (control files) ghi lại cấu trúc vật lý của CSDL nh tên CSDL,
nhãn thời gian mà CSDL đợc tạo ra, tên và nơi đặt các file dữ liệu và các file nhậtký,…
II.1.2 Cấu trúc CSDL logic
Cấu trúc logic của CSDL Oracle đợc xác định bởi các thành phần :
Một hoặc nhiều các Tablespaces
Các đối tợng lợc đồ CSDL (Database’s schema objects)
Data blocks, Extents và Segment
Tablespace là đơn vị lu trữ logic của CSDL, với mục đích phân chia cấu trúc logic
thành các nhóm có liên quan với nhau
Nh vậy :
Mỗi CSDL đợc chia nhỏ thành một hoặc nhiều tablespace
Các file dữ liệu đặt trong một tablespace sẽ lu trữ (về mặt vật lý) dữ liệu của cấutrúc logic trong một tablespace đó
Sau Tablespace là các đơn vị Data blocks, Extents và Segment
Các Tablespace có thể đợc đặt là trực tuyến (online)/ngoại tuyến (offline) (ngoại trừtablespace SYSTEM) hoặc trong chế độ READ ONLY/READ WRITE Trong trạngthái offline thì dữ liệu thuộc tablespacelà không sẵn sàng với user nhng có thể phục
vụ cho quá trình backup tablespace
Đối t ợng l ợc đồ (Schema Object) lợc đồ là một tập các đối tợng (Object) Các đối
tợng của lợc đồ bao gồm các cấu trúc nh các bảng (tables), khung nhìn (views), cácdẫy (sequences), hay các thủ tục đã lu trữ (stored procedures), synonyms, chỉ số(indexes), clusters, và các liên kết CSDL (database links)
Data blocks, Extents và Segment là các cấu trúc lu trữ logic của Oracle
Trang 22Sơ đồ quan hệ giữa Datablocks, Extents và Segment
1 Data block : tơng ứng với một số bytes xác định trong không gian lu trữ vật lý
trên đĩa Kích thớc của các khối đợc xác định khi tạo CSDL và không thể thay đổilại đợc trừ phi tạo lại CSDL Kích cỡ thờng 2 -> 4 KB đợc xác định bởi biếnDB_BLOCK_SIZE
Khuôn dạng của một datablock bao gồm 5 phần :
- Header (Common and Variable) :
chứa những thông tin chung về
khối nh địa chỉ của khối, kiểu
segment,
- Table directory : bao gồm các
thông tin về các bảng (table) có các
hàng (row) trong khối
- Row directory : chứa thông tin về
các hàng hiện tại trong khối
- Row data : chứa dữ liệu bảng hoặc dữ liệu chỉ số (Table or index data), các hàng
có thể trải dài trên các khối
- Free space : là tập các byte trong khối dành cho việc chèn các hàng mới hay cập
nhật lại các hàng có đòi hỏi thêm không gian lu trữ (ví dụ sự chuyển đổi từ giá trịnull sang giá trị non-null)
Việc điều khiển Free Space thông qua hai tham số là PCTFREE và PCTUSED.
Đây là hai tham số đợc xác định khi tạo hay hiệu chỉnh bảng (table), chỉ số(index) hoặc cluster (tập các segment)
+ PCTFREE : là tham số xác định tỷ lệ phần trăm nhỏ nhất của khối để
cập nhật các hàng đã tồn tại trong khối Dữ liệu sẽ chỉ đợc phép thêm vàokhối chừng nào tỷ lệ không gian trống của khối còn lớn hơn PCTFREE.Ví
dụ PCTFREE=20 (minum free space = 20% block)
+ PCTUSED : xác định tỷ lệ phần trăm nhỏ nhất của khối mà có thể chứa
dữ liệu hàng (row data) trớc khi thêm các hàng mới tới khối Khối đợc xem
Trang 23là sẵn sàng nhận các hàng mới nếu tỷ lệ phần trăm dữ liệu hiên tại đã sửdụng là nhỏ hơn PCTUSED Giá trị ngầm định của PCTUSED = 40.
Trong trờng hợp dữ liệu hàng(row) đợc chèn (insert) lần đầu tiên vào một đối tợng
l-ợc đồ là quá lớn so với một datablock Thì hàng này sẽ đl-ợc lu trữ trên một chuỗi các
datablock (đợc gọi là Row chaining) Hoặc khi một hàng đã tồn tại trong một block
nhng đợc cập nhật lại (update) và kích thớc mới không đủ chứa trong block hiện tạithì Oracle sẽ thực hiện ‘di trú’ toàn bộ dữ liệu của hàng này tới một block mới khác
(gọi là quá trình Migrating).
2 Extent : là một đơn vị logic đợc cấp phát không gian lu trữ CSDL trên một số
datablock Một hoặc nhiều các Extent tạo thành một Segment Khi không gian lu trữcho một Segment đã đợc sử dụng hoàn toàn thì Oracle sẽ cấp một Extent mới choSegment đó
Mỗi segment cần có ít nhất là 1 extent, riêng các Segment khôi phục (Rollback Segments) cần có ít nhất là 2 extent
Có hai loại extent là :
- Initial Extent : Khi một đối tợng (table,index, ) đ… ợc tạo ra thì Oracle sẽ cấpcho nó một Extent khởi đầu gồm một số xác định các datablock và đợc gọi là
Initial Extent.
- Incremental Extent : Khi Initial Extent của một Segment đã đầy và nhiều
không gian lu trữ đợc đòi hỏi cho việc lu trữ dữ liệu mới thì Oracle sẽ tự độngcấp phát cho Segment đó thêm một Extent mới gọi là Incremental Extent Kíchthớc của extent thêm có thể có kích thớc bằng hoặc lớn hơn kích thớc của extenttrớc đó Vì vậy, trong khối header của Segment chứa một th mục (directory) củacác extents thuộc về Segment đó
Xác định số lợng và kích thớc của các extent :
Việc điều chỉnh các extent cho mỗi Segment đợc thực hiện thông qua các tham số lu
trữ (Storage parameters NEXT, PCTINCREASE, MINEXTENTS, MAXEXTENTS,
và DEFAULT STORAGE) Ví dụ có thể xác định các tham số này bằng mệnh đề STORAGE khi thực hiện lệnh CREATE TABLE, nếu không thì các tham số ngầm
định của Tablespace sẽ đợc sử dụng
Tablespace có thể quản lý các extent theo hai cách cục bộ (locally) hoặc thông qua
từ điển dữ liệu (data dictionary).
- Extent đợc quản lý một cách cục bộ : Theo cách này kích thớc của các extent
có thể đồng nhất (uniform) hoặc biến đổi (variable) Khi tạo tablespace lựa chọn
UNIFORM hoặc AUTOALLOCATE(đợc quản lý bởi hệ thống) sẽ xác định kiểucấp phát
+Với các extent UNIFORM : ta có thể xác định kích thớc của mỗi extent hoặc sử dụng kích thớc ngầm định (là 1 MB)
+Với các extent đợc quản lý bởi hệ thống, ta có thể xác định kích thớc của Initial extent và kích thớc tối u của các extent thêm vào cùng với kích thớc extent nhỏ nhất (ngầm định là 64 KB)
- Extent đợc quản lý bởi từ điển dữ liệu : Lúc này tablespace sẽ sử dụng từ điển
dữ liệu để quản lý các extent của nó và kích thớc của các extent tăng thêm Khi
tạo ra một đối tợng lợc đồ trong một tablespace có thể sử dụng các tham số lu trữ
để xác định kích thớc và số lợng của các extent:
Trang 24+ INITIAL : xác định kích cỡ của extent đầu tiên đợc định vị cho segment ngầm định là 5 data block.
+ NEXT : xác định kích cỡ của các extent tiếp theo ngầm định là 5 blocks+ MAXEXTENTS : tổng số lớn nhất các extent cấp cho segment (ngầm định
+ OPTIMAL : kích cỡ tối u cho 1 đoạn khôi phục (ngầm định là null)
+ FREE LIST: số danh sách của các khối rỗi cho insert vào bảng (ngầm định
là 1)
3 Segment : là một tập các extent chứa tất cả dữ liệu cho một cấu trúc lu trữ logic
xác định trong một tablespace Ví dụ, với mỗi table Oracle sẽ cấp một hoặc nhiềuextent tạo thành một segment dữ liệu của table đó
CSDL Oracle sử dụng các kiểu segment sau :
- Data segment : tập tất cả cá extent mà chúng cất giữ tất cả dữ liệu cho một
bảng hoặc 1 cluster
- Index segment : chứa tất cả các dữ liệu chỉ số cho việc tìm kiếm đợc tối u,
nhanh chóng
- Temporary Segment : khi xử lý các câu hỏi SQL, nếu cần thiết thì Oracle sẽ tự
động cấp phát một không gian đĩa đợc gọi là Temporary Segment Thờng là khi
xử lý các câu lệnh có yêu cầu sắp xếp nh (SELECT … ORDER BY, SELECT …GROUP BY,…)
- Roll back segment : tập các extent mà chúng cất giữ các dữ liệu cho quá trình
khôi phục lại
- Bootstrap segment : là 1 extent chứa các định nghĩa về từ điển cho các bảng từ
điển và đợc nạp vào khi CSDL đợc mở
II.2 Oracle Instance
Trang 25Sơ đồ minh hoạ một Oracle Instance (Multiple-process Oracle Instance)
Khái niệm : Mỗi khi đợc khởi tạo, Oracle sẽ cấp phát một vùng bộ nhớ gọi là SGA
(System Global Area) và khởi tạo một hoặc nhiều các tiến trình nền (BackgroundProcesses) SGA là một vùng bộ nhớ chứa thông tin CSDL đợc chia sẻ bởi các User
Sự kết hợp giữa SGA và các tiến trình Oracle đợc gọi là một Oracle Instance.
Một Oracle Instance có 2 kiểu tiến trình : User Processes và Oracle Processes
- User Process : thực hiện mã của một chơng trình ứng dụng (nh ứng dụng Oracle
Forms) hoặc Oracle Tool (ví dụ Oracle Enterprise Manager)
- Oracle Processes : là các tiến trình server (Server Process) thực hiện công việc
đợc yêu cầu bởi User Process, các tiến trình nền (Background Proces) sẽ thựchiện công việc duy trì Oracle Server
Nếu các User Process và Server Process nằm trên những máy tính khác nhau củamột mạng hoặc cùng chia sẻ thông qua các tiến trình Dispatcher thì giao thức Net8
sẽ đợc sử dụng để truyền thông giữa hai loại tiến trình này Dispatchers là các tiếntrình nền lựa chọn chỉ có trong cấu hình server multi-threaded Net8 là giao diện củaOracle với các giao thức truyền thông chuẩn thực hiện trao đổi dữ liệu giữa các máytính
Trang 26II.2.1 Cấu trúc bộ nhớ Oracle
Sơ đồ cấu trúc bộ nhớ và các tiến trình Oracle
Oracle tạo và sử dụng cấu trúc bộ nhớ để thực hiện các công việc khác nhau (nhchứa mã chơng trình sẽ đợc thực hiện hay dữ liệu chia sẻ cho các user) Cấu trúc bộnhớ cơ sở bao gồm SGA(database buffer, redo log buffer, shared pool) và PGA(Program Golobal Area)
Vùng bộ nhớ SGA :
Database Buffer Cache : lu trữ các khối dữ liệu đợc sử dụng gần đây nhất.
Redo Log Buffer : lu trữ các khoản mục đã thay đổi trên CSDL Các mục lu trữ
trong Redo Log Buffer sẽ đợc ghi tới các tệp redo log trực tuyến
Trang 27 Shared Pool : vùng nhớ SGA xây dựng nên vùng SQL dùng chung (Shared SQL
Areas) Shared SQL Area cần thiết cho việc xử lý mỗi lệnh SQL đã đợc đệ trình(Submitted) tới CSDL Đây là vùng chứa các thông tin nh cây phân tích, sơ đồthực hiện lệnh Một vùng Shared SQL Area đơn lẻ có thể đợc sử dụng bởi nhiềuứng dụng mà yêu cầu cùng một lệnh
Larger Pool : vùng tuỳ chọn trong SGA cung cấp các sự cấp phát bộ nhớ rộng
cho Oracle backup, các thao tác khôi phục, các Server Process vào/ra và bộ nhớphiên cho multi-threaded server và Oracle XA
Program Global Area (PGA) : là vùng nhớ đệm chứa dữ liệu và thông tin điều
khiển cho một Server Process Nó đợc tạo ra khi một Server Process đợc khởi tạo.Thông tin trong một PGA phụ thuộc vào cấu hình của Oracle
II.2.2 Kiến trúc tiến trình Oracle
Các tiến trình Oracle đợc gọi bởi các tiến trình khác nhau và bao gồm 2 loại tiếntrình là Server Process và Background Process
1 Các tiến trình phục vụ (Server Processes) :
Điểu khiển các yêu cầu đến từ một User Process kết nối tới Một Server Process
đảm nhiệm truyền thông với User Process và giao tiếp với Oracle để thực hiện yêucầu từ User Process
Trong một Dedicated Server Configuration, một Server Process điều khiển cho một User Process đơn Một Multi-threaded Server Configuration cho phép nhiều User
Process chia sẻ một số lợng nhỏ các Server Process
2 Các tiến trình nền (Background Processes) :
Oracle tạo ra một tập các tiến trình nền cho mỗi Instance Các tiến trình nền không
đồng bộ thực hiện vào/ra và giám sát các tiến trình Oracle nhằm mục đích gia tăng
sự song song và đạt đợc một hiệu năng và độ tin cậy tốt hơn Các tiến trình này là
DBWn, LGWR, CKPT, SMON, PMON, ARCn, RECO, Dnnn, LCK0, SNPn, và QMNn
- Database Writer (DBWn) : ghi các khối đã biến đổi từ Database Buffer Cache
tới các Datafiles Tham số DB_WRITER_PROCESSES xác định số các tiến trìnhDBWn đợc sử dụng
- Log Writer (LGWR) : ghi các mục trong Redo Log Buffer tới các tệp Redo
Log trực tuyến Nếu CSDL là Multiplexed Redo Log thì LGWR sẽ ghi tới mộtnhóm các tệp Redo Log trực tuyến
- Checkpoint (CKPT) : báo hiệu cho DBWn tại các điểm kiểm tra (checkpoint)
cập nhật tất cả các datafiles và control files của CSDL
- System Monitor (SMON) : thực hiện khôi phục Instance khi một Instance khác
bị thất bại Nó sẽ làm sạch Temporaray Segment không còn sử dụng, khôi phụccác giao dịch chết, hợp nhất các extent rỗi trong một không gian liên tục tạo điềukiện dễ dàng trong cấp phát
- Process Monitor (PMON) : thực hiện khôi phuc tiến trình khi một User process
bị thất bại (làm sạch bộ nhớ cache, giải phóng tài nguyên,…)
- Archiver (ARCn) : sao chép các tệp Redo Log trực tuyến tới thiết bị lu trữ khi
chúng đã đầy hoặc khi có sự chuyển đổi nhật ký đợc sinh ra Số các tiến trìnhnày có thể xác định bởi tham số khởi tạo LOG_ARCHIVE_MAX_PROCESSES(lớn nhất là bằng 10) ARCn đợc kích hoạt chỉ khi CSDL trong chế độARCHIVELOG
Trang 28- Recover (RECO) : giải quyết các giao dịch phân tán trên mạng mà bị treo hoặc
lỗi hệ thống trong CSDL phân tán, nó sẽ kết nối tới các CSDL ở xa và tự độngthực hiện commit hoặc rollback
- Dispatcher (Dnn) : chỉ có trong cấu hình multi-threaded server, có trách nhiệm
định đờng cho các request từ các User Process tới các Shared Server Process vàgửi trả kết quả trở về tới các User Process thích hợp
- Lock (LCK0) : sử dụng cho việc khoá Inter-Instance trong Oracle Parallel
Server
- Job Queue (SNPn) : trong cấu hình CSDL phân tán có 36 tiến trình (SNP0, ,…SNP9,SNPA,…,SNPZ) có thể tự động làm mới các bản chụp table (tablesnapshots)
- Queue Monitor (QMNn) : là các tiến trình nền lựa chọn mà giám sát các hàng
đợi thông điệp (Message Queues) cho Oracle Advanced Queuing (Oracle AQ)
III Tích hợp dữ liệu GIS với hệ quản trị CSDL Oracle (Oracle Spatial)
Oracle Spatial là một sản phẩm của Oracle cho phép lu trữ dữ liệu không gian theo
cả hai mô hinh quan hệ (Relational Model) và mô hình quan hệ - đối tợng (Object
– Cartesian : Relational Model) Dữ liệu không gian đợc lu trữ dới dạng bảng và có thể đi kèmvới các trờng thuộc tính khác
III.1 Các phần tử dữ liệu
Phần tử (element) : là thành phần cơ bản xây dựng nên các đối tợng hình học
(geometries) bao gồm các kiểu khác nhau nh điểm (point), xâu đờng (line strings) và đa giác (polygon).
Dữ liệu điểm gồm một thành phần toạ độ, dữ liệu đờng gồm hai thành phần toạ
độ (đờng thẳng) hoặc 3 thành phần toạ độ (đờng cong), xâu đờng gồm nhiềuphần tử đờng, và dữ liệu đa giác gồm nhiều thành phần toạ độ theo chiều kim
đồng hồ hoặc ngợc chiều kim đồng hồ
Hình học (geometry) : Đối tợng hình học đợc biểu diễn bằng một tập có thứ tự
các phần tử nguyên thủy Nó có thể gồm chỉ một phần tử hoặc một tập đồngnhất hoặc không đồng nhất của các phần tử Tập đồng nhất là tập các phần tửcùng kiểu (ví dụ đều là điểm hoặc đều là đa giác) còn tập không đồng nhất thìngợc lại các phần tử có thể khác kiểu nhau
Lớp (layer) : Lớp là một tập có thể không đồng nhất của các đối tợng hình học
có cùng một tập thuộc tính Trong GIS có thể biểu diễn các lớp về địa hình, lớpmạng lới đờng xá, cầu …
III.2 Mô hình truy vấn
Mô hình truy vấn đợc thực hiện theo mô hình hai lớp nhằm giải quyết các câu hỏi vàphép kết nối không gian Đây là mô hình thực hiện thông qua hai thao tác lọc khácnhau có thứ tự Sơ đồ biểu diễn nh sau :
Màng lọc
Màng lọc Tập kết Tập kết
Trang 29 Màng lọc thứ nhất cho phép chọn ra một tập các bản ghi ứng cử viên thông quaphép so sánh xấp xỉ hình học và chuyển cho màng lọc thứ hai Mục đích củamàng lọc này là rút gọn độ phức tạp tính toán cho màng lọc sau và do có chi phítính toán thấp nên thực hiện rất nhanh.
Màng lọc thứ nhất sử dụng chỉ số không gian dựa trên cây tứ phân
Màng lọc thứ hai sẽ thực hiện các phép tính chính xác lên các đối tợng hình học
và trả về tập kết quả cho câu hỏi Màng lọc này có chi phí tính toán cao nhng đợcthực hiện trên một tập dữ liệu từ màng lọc thứ nhất chứ không phải là toàn bộ tậpdữ liệu Còn màng lọc thứ hai sử dụng hàm SDO_GEOM.RELATE() để đánh giácác quan hệ hình học
Đôi khi không cần thực hiện đầy đủ cả hai màng lọc này, vì một số thao tác khôngcần một tập kết quả chính xác nhng cần có tốc độ nhanh nh phép Zoom trong ứngdụng bản đồ
Trang 30 Fixed Indexing : đầu vào là tham số n=SDO_LEVEL cho biết số ô trên mỗi
chiều là 2n ô Đầu tiên toàn bộ không gian toạ độ (giới hạn bởi các cận) đợc chia
đôi theo mỗi chiều tạo thành 4 ô con Tiếp theo mỗi ô trong 4 ô con này lại tiếptục đợc chia thành 4 ô con khác Quá trình phân hoạch dừng khi số lần phân chia
đạt tới SDO_LEVEL Mỗi ô đã đợc phân chia sẽ đợc gán cho một giá trị chỉ sốduy nhất
Hybrid Indexing : đầu vào ngoài SDO_LEVEL còn có SDO_MAXLEVEL và
SDO_NUMTILES Đầu tiên Fixed Indexing sẽ đợc thực hiện Sau đó nếu ô nàotiếp xúc với 2 geometry trở lên hoặc khi số ô bao phủ toàn bộ geometry đó cònnhỏ hơn tham số SDO_NUMTILES thì sẽ tiếp tục đợc chia 4 Và quá trình đó cứtiếp tục cho tới khi hoặc số lần phân chia đã lớn hơn SDO_MAXLEVEL hoặckhi toàn bộ geometry đã đợc bao phủ bởi các ô mà số ô là lớn hơnSDO_NUMTILES
Tuy rằng mỗi phơng pháp đều có u và nhợc điểm riêng Nhng phơng pháp chỉ số xác
định thờng đợc sử dụng cho mô hình quan hệ còn phơng pháp chỉ số hỗn hợp thựchiện tốt cho mô hình quan hệ - đối tợng Hai mô hình này sẽ đợc đề cập ở các mụcsau
III.4 Các quan hệ không gian
Các phơng pháp màng lọc sử dụng các quan hệ không gian giữa các thực thể trongCSDL Các quan hệ này đợc dựa trên topology và khoảng cách Khoảng cách giữahai đối tợng không gian là khoảng cách nhỏ nhất giữa hai điểm bất kỳ giữa chúng.Các quan hệ về topology có thể đợc định danh bằng các tên sau :
DISJOINT – Cartesian : Tách rời nhau
TOUCH – Cartesian : Chỉ giao nhau phần biên
OVERLAPBDYDISJOINT – Cartesian : Bên trong của một đối tợng giao với đờng biên
và bên trong của một đối tợng khác nhng hai đờng biên không giao nhau Ví
dụ :
OVERLAPBDYINTERSECT – Cartesian : Biên và bên trong của hai đối tợng là giao nhau
EQUAL – Cartesian : Hai đối tợng có cùng đờng biên và phía trong
CONTAINS – Cartesian : Đờng biên và bên trong của một đối tợng là nằm hoàn toàn bên trong một đối tợng khác
COVERS – Cartesian : Bên trong của một đối tợng là nằm hoàn toàn bên trong của một
đối tợng khác nhng đờng biên của chúng giao nhau Ví dụ:
INSIDE – Cartesian : Ngợc lại với CONTAINS
COVEREDBY – Cartesian : Ngợc với COVERS
ANYINTERACT – Cartesian : Các đối tợng là không tách rời nhau
III.5 Các mô hình dữ liệu
Oracle Spatial hỗ trợ 2 mô hình dữ liệu là mô hình quan hệ và mô hình quan hệ
-đối tợng.
Trang 31III.5.1 Mô hình quan hệ - đối tợng (Object – Cartesian : Relational Model)
a Cấu trúc dữ liệu hình học
Dữ liệu hình học đợc lu trữ trong một cột của bảng (table) nh các dữ liệu khác nhng
có kiểu là SDO_GEOMETRY Tên bảng có thể tự đặt nhng phải có khoá chính chobảng đó
Kiểu SDO_GEOMETRY đã đợc định nghĩa sẵn nh sau :
CREATE TYPE SDO_GEOMETRY AS OBJECT (
SDO_GEOMETRY cho phép lu trữ dữ liệu hình học nh đối tợng điểm, đối tợng xâu
đờng, đa giác, tập điểm, tập xâu đờng, tập đa giác và cả tập không đồng nhất của cácphần tử
SDO_GTYPE dùng để nhận biết kiểu Geomery, SDO_SRID để dành sử dụng trongtơng lai, SDO_POINT sử dụng khi đối tợng là một điểm Còn hai kiểuSDO_ELEM_INFO và SDO_ORDINATE_ARRAY cho phép xác định từng phần tửtrong Geometry
b Cấu trúc siêu dữ liệu hình học (Geometry Metadata)
Mỗi bảng (table) chứa dữ liệu có kiểu Geometry đợc xem nh là một Layer Và đểxác định kiểu toạ độ, các cận của layer này thì cần phải có một cấu trúc mô tả nó đ-
ợc gọi là Geometry Metadata Tập các Metadata đợc đặt trong một table riêng có tên
là SDO_GEOM_METADATA Oracle Spatial không tạo sẵn cho ta bảng này màngời sử dụng phải tự tạo và thêm dữ liệu vào bảng này
Create Table SDO_GEOM_METADATA (
TABLE_NAME VARCHAR2(30),
COLUMN_NAME VARCHAR2(30),
DIMINFO MDSYS.SDO_DIM_ARRAY);
MDSYS.SDO_DIM_ARRAY đã đợc định nghĩa sẵn nh sau :
Create Type SDO_DIM_ARRAY as VARRAY(4) of
SDO_DIM_ELEMENT;
Create Type SDO_DIM_ELEMENT as OBJECT (
SDO_DIMNAME VARCHAR2(64),
SDO_LB NUMBER NOT NULL,
SDO_UB NUMBER NOT NULL,
SDO_TOLERANCE NUMBER NOT NULL);
c Nạp dữ liệu (Loading Process)
Để tạo dữ liệu không gian cần phải nạp dữ liệu vào các table có chứa kiểuSDO_GEOMETRY tơng ứng Có 2 cách nạp dữ liệu :
Bulk loading of data : Tiến trình này thờng sử dụng cho nạp một số lợng lớn dữ
liệu vào trong CSDL thông qua trình tiện ích SQL* Loader
Transactional inserts : Tiến trình này sử dụng để chèn một lợng nhỏ dữ liệu vào
trong CSDL thông qua lệnh SQL ‘INSERT’
d Đánh chỉ số không gian
Trang 32Để đánh chỉ số không gian cần thực hiện lệnh CREATE INDEX và việc tạo chỉ sốxác định hay chỉ số hỗn hợp đợc thực hiện thông qua 2 tham số vào là SDO_LEVEL
và SDO_NUMTILES Chỉ số sẽ đợc tự động duy trì thông qua các thủ tục INSERThoặc UPDATE
1.Tạo một table chứa dữ liệu không gian :
CREATE TABLE Parks (Name varchar2(32),Shape MDSYS.SDO_GEOMETRY)
2.Xây dựng bảng siêu dữ liệu hình học :
CREATE TABLE SDO_GEOM_METADATA (
3 Tạo dữ liệu bằng lênh INSERT :
INSERT INTO PARKS VALUES(
Trang 33SDO_ORDCNT NUMBER Tổng số toạ độ trên mỗi hàng trong bảng
<layername>_SDOGEOM
SDO_LEVEL NUMBER Số mức đợc phân hoạch
SDO_NUMTILES NUMBER Số ô trên mỗi đối tợng hình học
SDO_MAXLEVEL NUMBER Mức lớn nhất có thể phân hoạch
SDO_COORDSYS VARCHAR Tên hệ thống toạ độ (POSC , OGIS)
Bảng 2 : <layername>_SDODIM (Table hoặc View) :
SDO_DIMNUM NUMBER Chiều mà hàng này tham chiếu (1,2 )
SDO_LB NUMBER Cận dới của chiều này (-90 với vĩ độ)
SDO_UB NUMBER Cận trên của chiều này(90 với vĩ độ)
SDO_TOLERANCE NUMBER Dung sai và phải lớn hơn 0
SDO_DIMNAME VARCHAR Tên chiều (ví dụ x,y hoặc vĩ độ,kinh độ)
Bảng 3 : <layername>_SDOGEOM (Table hoặc View) :
SDO_GID NUMBER Định danh duy nhất cho mỗi Geomtry
SDO_ESEQ NUMBER Đếm mỗi phần tử trong Geometry (Element
SEQence)
SDO_ETYPE NUMBER Kiểu phần tử nguyên thuỷ (1 : kiểu điểm 2 :
xâu đờng, 3 : đa giác, 4 và 5 : không hỗ trợ)
SDO_SEQ NUMBER Số thứ tự bản ghi tạo nên phần tử
SDO_X1 NUMBER Giá trị toạ độ X thứ nhất
SDO_Y1 NUMBER Giá trị toạ Y thứ nhất
SDO_Xn NUMBER Giá trị toạ độ X thứ n
SDO_Yn NUMBER Giá trị toạ độ Y thứ n
Số cột lớn nhất trong bảng này là 1000 cột
Bảng 4 : <layername>_SDOINDEX (Table) :
SDO_GID NUMBER Định danh số cho mỗi Geometry
SDO_CODE RAW ID của ô phủ lên SDO_GID đợc tạo nh
kiểu RAW(255)
SDO_MAXCODE RAW Tăng thêm độ dài mã cho SDO_CODE
SDO_GROUPCODE RAW Biểu diễn chỉ số phân hoạch theo
SDO_LEVEL
SDO_META RAW Không cần thiết cho truy vấn không gian
Nó cung cấp thông tin để tìm đờng biên của ô
b Nạp dữ liệu
Tiến trình nạp dữ liệu cũng chia là 2 cách :
Bulk loading of data
Transactional inserts
c Tạo chỉ số không gian
Để tạo chỉ số không gian trớc hết tạo bảng chỉ số <layername>_SDOINDEX nhsau :
Với chỉ số xác định (Fixed Indexing)
SQL> create table <layername>_SDOINDEX
2 (
Trang 343 SDO_GID number,
4 SDO_CODE raw(255)
5 );
Với chỉ số hỗn hợp (Hybrid Indexing)
SQL> create table <layername>_SDOINDEX
Để tạo chỉ số ta gọi hàm SDO_ADMIN.POPULATE_INDEX() với các tham số vào
là tên của lớp (<layername>_SDOLAYER) Các tham số SDO_LEVEL ,SDO_NUMTILES và SDO_MAXLEVEL đợc xác trong bảng này
Nếu dữ liệu bị xoá hay đợc cập nhật , ta có thể gọi thủ tụcSDO_ADMIN.UPDATE_INDEX() để cập nhật chỉ số Tham số cho thủ tục này làtên lớp và SDO_GID của geometry tơng ứng
Ví dụ :
Tạo chỉ số cho lớp ROADS : Sdo_admin.populate_index( ROADS );‘ ’
Giả sử một geometry có SDO_GID=1000 đợc thêm vào bảng không gian Ta cập
I.2 Các yếu tố của mạng máy tính
Đờng truyền vật lý : dùng để truyền các tín hiệu điện tử giữa các máy tính Các
tín hiệu điện tử đó biểu thị các giá trị dữ liệu dới dạng xung nhị phân (on-off)
Trang 35 Kiến trúc mạng : (Network architecture) thể hiện cách nối các máy tính với
nhau và tập hợp các quy tắc, qui ớc mà tất cả các thực thể tham gia truyền thôngtrên mạng phải tuân theo để đảm bảo cho mạng hoạt động tốt
Cách nối máy tính đợc gọi là hình trạng (topology) của mạng, còn tập hợp các qui tắc, qui ớc truyền thông thì đợc gọi là giao thức (protocol) của mạng.
- Topology của mạng : Có 2 kiểu nối mạng chủ yếu nhất là điểm-điểm
(point– Cartesian : to – Cartesian : point) và quảng bá (broadcast hay point – Cartesian : to – Cartesian :multipoint) Theo kiểu điểm - điểm các đờng truyền nối từng cặp nút với nhau và mỗi nút
đều có trách nhiệm lu trữ tạm thời sau đó chuyển tiếp dữ liệu đi cho tới đích
Ví dụ : mạng hình sao (star), chu trình (loop), cây (cây)
Theo kiểu quảng bá, tất cả các nút phân chia chung một đờng truyền vật lý.
Dữ liệu đợc gửi đi từ một nút nào đó sẽ có thể đợc tiếp nhận bởi tất cả các nútcòn lại Ví dụ : mạng xa lộ (bus), mạng vòng (ring) hoặc vệ tinh (satelite)
- Giao thức mạng : Để trao đổi đợc thông tin trên mạng cần phải có những
quy tắc quy ớc nhất định, từ khuôn dạng (cú pháp, ngữ nghĩa) của dữ liệu chotới các thủ tục gửi, nhận dữ liệu kiểm soát hiệu quả và chất lợng truyền tin,
xử lý lỗi và sự cố Những qui tắc, quy ớc đó đợc gọi là giao thức (protocol)
của mạng
I.3 Phân loại mạng máy tính
Có nhiều cách phân loại mạng máy tính khác nhau Trong đó, các yếu tố chính đợcchọn làm chỉ tiêu phân loại là “Xây dựng hệ thống GIS trên Internet”khoảng cách điạ lý”, “Xây dựng hệ thống GIS trên Internet”kỹ thuật chuyển mạch”, “Xây dựng hệ thống GIS trên Internet”kiếntrúc mạng”,…
Dựa trên chỉ tiêu về “Xây dựng hệ thống GIS trên Internet”khoảng cách địa lý” thì có mạng cục bộ, mạng đô thị, mạng diện rộng, và mạng toàn cầu
- Mạng cục bộ (LAN - Local Area Networks) : là mạng đợc cài đặt trong một
phạm vi tơng đối nhỏ (toà nhà, trờng học, …) với khoảng cách lớn nhất giữa
các máy tính nút mạng chỉ trong vòng vài chục km trở lại.
- Mạng đô thị (MAN – Cartesian : Metropolitan Area Networks) : là mạng đợc cài đặt
trong phạm vi một đô thị hoặc một trung tâm kinh tế – Cartesian : xã hội có bán kínhkhoảng 100 km trở lại
- Mạng diện rộng (WAN - Wide Area Networks) : phạm vi của mạng có thể
v-ợt qua biên giới quốc gia và thậm chí cả lục địa
- Mạng toàn cầu (GAN – Cartesian : Global Area Networks) : phạm vi của mạng trải
rộng khắp các lục địa của Trái Đất
Dựa trên chỉ tiêu “Xây dựng hệ thống GIS trên Internet”kỹ thuật chuyển mạch” thì ta sẽ có mạng chuyển mạch kênh, mạng chuyển mạch thông báo, và mạng chuyển mạch gói.
- Mạng chuyển mạch kênh (circuit – Cartesian : switched networks) : Khi có 2 thực thể
cần trao đổi thông tin với nhau thì giữa chúng sẽ thiết lập một “Xây dựng hệ thống GIS trên Internet”kênh” (circuit)
cố định và đợc duy trì cho đến khi một trong hai bên ngắt liên lạc Các dữ liệuchỉ đợc truyền trên con đờng cố định đó
- Mạng chuyển mạch thông báo (message – Cartesian : switched networks) : Thông báo
(message) là một đơn vị thông tin có khuôn dạng đã đợc qui định trớc và đều
có chứa vùng thông tin điều khiển chỉ rõ đích của thông báo Mỗi nút trunggian sẽ đọc thông tin này và chuyển thông báo tới nút kế tiếp theo đờng dẫn
Trang 36tới đích của nó Các thông báo khác nhau có thể gửi đi trên các con đờngkhác nhau.
- Mạng chuyển mạch gói (packet – Cartesian : switched networks) : Mỗi thông báo đợc chia thành nhiều phần nhỏ hơn gọi là các gói tin (packet) có khuôn dạng đã
định trớc Mỗi gói tin cũng chứa các thông tin điều khiển, trong đó có địa chỉnguồn và đích của gói tin Các gói tin thuộc về một thông báo nào đó có thể
đợc gửi đi qua mạng để tới đích bằng nhiều con đờng khác nhau
II Kiến trúc phân tầng và mô hình OSI
II.1 Kiến trúc phân tầng
Để giảm độ phức tạp của việc thiết kế và cài đặt mạng, hầu hết mạng máy tính hiện
có đều đợc phân tích thiết kế theo quan điểm kiến trúc phân tầng (layering) Vớinguyên tắc là : mỗi hệ thống trong một mạng đều có cấu trúc tầng nh nhau Sau khi
đã xác định số lợng tầng và chức năng của mỗi tầng, tiếp theo sẽ định nghĩa mốiquan hệ (giao diện) giữa 2 tầng kề nhau và mối quan hệ giữa 2 tầng đồng mức ở 2 hệthống nối kết với nhau Trong thực tế, dữ liệu không đợc truyền trực tiếp từ tầng i ở
hệ thống này tới tầng i của hệ thống khác (ngoại trừ tầng thấp nhất sử dụng đờng
truyền vật lý) mà đi từ tầng cao tới tầng thấp ở hệ thống gửi (Sender) và đi ngợc lên
ở hệ thống nhận (Receiver) Vì vậy giữa hai hệ thống nối kết nhau chỉ có tầng thấp nhất mới có liên kết vật lý còn ở các tầng cao hơn chỉ là liên kết logic (hay liên kết
ảo).
II.2 Mô hình OSI
Tầng N
… Tầng i+1
Tầng i
… Tầng 1
Tầng N
… Tầng i+1 Tầng i
… Tầng 1 Giao thức tầng 1
Giao thức tầng N
Giao diện i+1/i
Đờng truyền vật lý Sơ đồ kiến trúc phân tầng tổng quát
Giao thức tầng i+1 Giao thức tầng i
Giao thức tầng 4 Giao thức tầng 3
Giao thức tầng 7 Giao thức tầng 6 Giao thức tầng 5
Giao thức tầng 2
Trang 37Khi thiết kế, các nhà thiết kế tự do lựa chọn kiến trúc mạng riêng của mình Từ đódẫn đến tình trạng không tơng thích giữa các mạng và gây trở ngại cho sự tơng táccủa ngời sử dụng giữa các mạng khác nhau Điều này đã thúc đẩy các nhà nghiêncứu, thông qua các tổ chức chuẩn hoá quốc tế tìm ra khung chuẩn về kiến trúcmạng làm căn cứ cho việc thiết kế và chế tạo các sản phẩm về mạng Và năm 1984,
ISO đã cho ra đời mô hình OSI (Reference Model for Open Systems
Interconnection) hay mô hình tham chiếu cho việc nối kết các hệ thống mở Mô hình
này đợc dùng làm cơ sở để nối kết các hệ thống mở phục vụ cho các ứng dụng phântán
Kiến trúc của mô hình OSI bao gồm 7 tầng, tên gọi của mỗi tâng nh đợc chỉ ra trong
ở sơ đồ trên Chức năng của mỗi tầng là nh sau :
1 Tầng Physical : Liên quan đến nhiệm vụ truyền dòng bit, không có cấu trúc
qua đờng truyền vật lý nhờ các phơng tiện cơ, điện, hàm, thủ tục
2 Tầng Data Link : Cung cấp phơng tiện để truyền thông tin qua liên kết vật lý
đảm bảo tin cậy, gửi các khối dữ liệu (frame) với các cơ chế đồng bộ hoá,kiểm soát lỗi và kiểm soát luồng dữ liệu
3 Tầng Network : Thực hiện chọn đờng và chuyển tiếp thông tin với công nghệ
chuyển mạch thích hợp, thực hiện kiểm soát luồng dữ liệu và cắt/hợp dữ liệunếu cần
4 Tầng Transport : Thực hiện việc truyền dữ liệu giữa 2 đầu mút; thực hiện cả
việc kiểm soát lỗi và kiểm soát luồng dữ liệu giữa 2 đầu mút Cũng có thểthực hiện việc ghép kênh (multiplexing) cắt/hợp dữ liệu
5 Tầng Session : Cung cấp phơng tiện quản lý truyền thông giữa các ứng dụng;
thiết lập, duy trì, đồng bộ hoá và huỷ bỏ các phiên truyền thông giữa các ứngdụng
6 Tầng Presentation : Chuyển đổi cú pháp dữ liệu để đáp ứng yêu cầu truyền
dữ liệu của các ứng dụng qua môi trờng OSI
7 Tâng Application : Cung cấp các phơng tiện để ngời sử dụng có thể truy nhập
đợc vào môi trờng OSI, đồng thời cung cấp các dịch vụ thông tin phân tán
II.3 Phơng thức hoạt động (Có liên kết và không liên kết)
Tại mỗi tầng OSI có 2 phơng thức hoạt động chính là phơng thức có liên kết (connected – Cartesian : oriented) và phơng thức không liên kết (connectionless).
Với phơng thức có liên kết quá trình truyền thông phải gồm 3 giai đoạn là :
- Thiết lập liện kết (logic) : hai thực thể đồng mức ở 2 hệ thống sẽ thơng lợng vớinhau về tập các tham số sẽ sử dụng trong giai đoạn sau
- Truyền dữ liệu : dữ liệu đợc truyền với các cơ chế kiểm soát và quản lý kèm theo
để tăng cờng độ tin cậy và hiệu quả
- Huỷ bỏ liên kết (logic) : giải phóng các tài nguyên hệ thốngđã cấp phát
Với phơng thức không liên kết thì không cần thiết lập liên kết logic và mỗi đơn vị dữ
liệu đợc truyền là độc lập với các đơn vị dữ liệu trớc hoặc sau nó
Đờng truyền vật lý Mô hình OSI 7 tầng
Trang 38III Internet
III.1 Giới thiệu về Internet
Tiền thân của Internet là ARPANET một mạng máy tính đợc xây dựng bởi một cơ
quan của Bộ quốc phòng Mỹ là ARPA (Advanced Research Projects Agency) hay
Cục các dự án nghiên cứu tiến tiến Khởi đầu từ 6/1968 nhng phải đến mùa thu năm
1969 mới đánh dấu sự ra đời của mạng ARPANET chỉ với 4 máy trạm và giao thức
sử dụng là NCP (Network Control Protocol)
Sau đó, cùng với sự ra đời và phát triển của các công nghệ mới, đó là họ giao thứcTCP/IP (sau này đã thay thế cho NCP) và mạng cục bộ Ethernet ARPANET nh đợctiếp thêm sức mạnh đã liên tục mở rộng và trở thành mạng quốc gia Do sự ra tăngquá nhanh về số lợng các thành viên của mạng ARPANET đã gây khó khăn trong
vấn đề quản lý Vì vậy, đầu năm 1980, Bộ quốc phòng Mỹ (Departement of
Defense – Cartesian : DoD) đã quyết định tách phần “Xây dựng hệ thống GIS trên Internet”quân sự” ra thành mạng Milnet còn phần
“Xây dựng hệ thống GIS trên Internet”dân sự” vẫn đợc gọi là ARPANET Chính trong giai đoạn đó, Uỷ ban Khoa họcQuốc gia NSF (National Science Foundation) với vai trò tiên phong đã bảo trợ cho 5trung tâm siêu tính của toàn liên bang và kết nối chúng lại với nhau thành mạng x -
ơng sống (backbone) ARPANET/Internet chính thức bớc vào giai đoạn bớc ngoặtlịch sử của mình
Chỉ trong một thời gian ngắn, Internet đã nhanh chóng vợt ra khỏi nớc Mỹ và trởthành một mạng toàn cầu với sự tham gia của hàng chục triệu ngời trên trái đất.Internet cho phép nối kết nhiều mạng với kiến trúc khác nhau bằng các cầu nối đagiao thức (multiprotocol gateway)
Internet mạng của các mạng, một công nghệ điển hình về nối kết các hệ thống mở, nền tảng chủ yếu là giao thức TCP/IP
III.2 Giao thức TCP/IP
TCP/IP không phải là giao thức độc lập mà nó gồm một họ các giao thức khác nhau.Trong đó có 2 giao thức chính là giao thức IP và giao thức TCP
III.2.1 Giao thức IP (Internet Protocol)
Khái niệm : IP là giao thức tơng ứng với tầng mạng trong mô hình OSI, đợc thiết
kế cho mạng có sử dụng phơng thức chuyển mach gói (packet – Cartesian : switching) IP
sẽ đảm nhận việc gửi những gói dữ liệu đã đợc đóng gói sẵn (datagram) từ địachỉ nguồn tới địa chỉ đích Đồng thời IP cũng đảm nhận chức năng tách và hợpnhững gói dữ liệu lớn thành những gói dữ liệu nhỏ hơn trong trờng hợp mạngtruyền tin chỉ có thể gửi đợc những gói dữ liệu nhỏ
Mục đích chính của IP là cung cấp khả năng kết nối các mạng con thành liênmạng để truyền dữ liệu Đây là giao thức “Xây dựng hệ thống GIS trên Internet”không có liên kết”
Hoạt động : Hoạt động của giao thức IP đợc tiến hành với sự phối hợp của một
loạt các giao thức truyền tin khác : ICMP, ARP, Routing để đảm bảo việc truyềndữ liệu đạt hiệu quả
Trớc hết, giao thức ARP (Address Resolution Protocol) đợc sử dụng để tìm địachỉ vật lý tơng ứng với địa chỉ IP của máy nhận và gói vào trong gói tin của tầngvật lý
Trong trờng hợp địa chỉ IP nhận và địa chỉ IP gửi có địa chỉ mạng khác nhau,router đợc sử dụng để tìm ra đờng đi từ nơi gửi tới nơi nhận tuỳ theo từng thuậttoán tìm đờng đợc sử dụng
Trang 39Vì giao thức IP là giao thức không có hình thức kiểm soát lỗi nên việc thông báo
về lỗi tới ngời gửi đợc thực hiện bằng giao thức ICMP (Internet Control MessageProtocol)
Địa chỉ IP : địa chỉ IP đợc chia làm 2 phần là địa chỉ mạng và địa chỉ nút Địa
chỉ IP (v4) là một số 4 bytes (32 bit) và chia thành các lớp sau :
III.2.2 Giao thức TCP (Transmission Control Protocol)
TCP là một giao thức “Xây dựng hệ thống GIS trên Internet”có liên kết” nghĩa là cần phải thiết lập liên kết (logic) giữamột cặp thực thể TCP trớc khi chúng trao đổi dữ liệu với nhau, và giải phóng liên kếtkhi kết thúc trao đổi dữ liệu
Giao thức TCP cung cấp khả năng truyền dữ liệu một cách an toàn giữa các máytrạm trong mạng chuyển mạch gói Nó cung cấp thêm các chức năng nhằm kiểm tratính chính xác của dữ liệu khi đến và bao gồm cả việc gửi lại dữ liệu khi có lỗi xẩyra
III.3 Các dịch vụ thông tin trên Internet
DNS (Domain Name System) : Dịch vụ tên miền
Telnet : Dịch vụ đăng nhập từ xa
FTP (File Transfer Protocol) : Truyền tệp
E-Mail (Electronic Mail) : Gửi th điện tử
News groups : Dịch vụ nhóm tin
Archie : Tìm kiếm tệp
Gopher : Tra cứu thông tin theo thực đơn
WAIS (Wide Area information Server ) : Tìm kiếm thông tin theo chỉ số
World Wide Web (hay Web) : Công nghệ WWW dùng để xử lý các trang dữ
liệu đa phơng tiện và truy nhập trên mạng diện rộng nh trên Internet Bản chấtcủa WWW là sự hết hợp của Internet, siêu văn bản và mulitmedia WWW hoạt
động theo mô hình Client/Server Tại trạm Client ngời sử dụng sẽ dụng một
ch-ơng trình Web Browser để truy nhập đến một Web Server thông qua một địa chỉURL Đây là một dịch vụ hấp dẫn nhất trên Internet và có khả năng tích hợp vớicác dịch vụ thông tin khác nh FTP, Gopher,WAIS, Email,
0 NetId (bit 24-30) HostId(bit 0-23)
1 0 NetId (bit 16-29) HostId(bit 0-15)
HostId(bit 0-7)
1 1 1 1 0 Reserved for future use
1 1 1 0 Multicass Address
Trang 40CHƯƠNG IV – hệ thống thông tin địa lý (GIS) kiến trúc CLIENT/SERVER
Trớc khi tìm hiểu chi tiết về kiến trúc Client/Server chúng ta hãy cùng xem xét một
chút về giai đoạn hình thành và phát triển của một công nghệ mới có tính đột phá và
cũng là kết quả tất yếu – Cartesian : Công nghệ Client/Server Đối với mỗi ngời, để có đợc
những thành đạt trong cuộc sống hẳn cũng phải trải qua những thất bại, những bớcvấp ngã trong những thuở ban đầu Quá trình tìm ra một công nghệ mới cũng khôngphải là một ngoại lệ Những nhà nghiên cứu cũng phải trải qua cả một giai đoạn khókhăn xây dựng, đánh giá, và tìm kiếm con đờng đúng đắn nhất
Khởi đầu từ một dự án nhỏ của một bộ quốc phòng Mỹ đã tạo nên một mạng máytính toàn cầu Internet lớn nh ngày nay Và khi đã có mạng máy tính, làm thế nào đểchúng ‘hiểu’ và ‘nói chuyện’ đợc với nhau ? Đó chính là điểm xuất phát để cho ra
đời công nghệ một công nghệ mới – Cartesian : công nghệ Client/Server Ngay trong giai đoạn
đầu, công nghệ Client/Server đã thu hút đợc sự quan tâm, chú ý của rất nhiều ngời
Đã có nhiều mô hình Client/Server xuất hiện, trong đó mỗi mô hình đều có những u
và nhợc điểm riêng Nhng chúng đều đã chứng tỏ đợc một vai trò quan trọng mình
Và hiện nay, tất cả các ứng dụng trên mạng hầu nh đều tuân theo mô hìnhClient/Server mà điển hình là Word Wide Web
I Khái niệm
Trên thực tế, mô hình Client/Server có một phạm vi ứng dụng rất rộng nhng đều gắnliền với hạ tầng mạng truyền thông Hay nói một cách khác, mô hình Client/Serverchỉ chứng tỏ đợc vai trò to lớn của nó trong môi trờng mạng
Tính toán phân tán trên mạng giờ đây không còn là vấn đề xa lạ.Với những bài toánlớn, việc thực hiện trên một máy tính hẳn không thể bằng thực hiện trên nhiều máytính khác nhau Và cũng có những bài toán hay ứng dụng có thể chia nhỏ thành cácphần khác nhau ví dụ nh phần tính toán hay phần xử lý dữ liệu và phần ra kết quảhay phần trình diễn Ngời ta cũng nghĩ rằng có thể thực hiện những chức năng nàytrên những máy khác nhau Một máy tính có tốc độ nhanh, tài nguyên mạnh sẽ đảm
nhiệm chức năng tính toán, xử lý dữ liệu đó chính là phần Server, và một máy tính