Tải bản đầy đủ (.pdf) (76 trang)

XÂY DỰNG HỆ THỐNG ĐA SERVER CHO HỆ THỐNG ĐĂNG KÝ TOUR DU LỊCH TỪ XA QUA MẠNG

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (6.08 MB, 76 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<i>Quảng Nam, tháng 02 năm 2019 </i>

UBND TỈNH QUẢNG NAM TRƯỜNG ĐẠI HỌC QUẢNG NAM KHOA: CÔNG NGHỆ THÔNG TIN

------

HỒ NHƯ THẢO

<i>XÂY DỰNG HỆ THỐNG ĐA SERVER </i>

<i>CHO HỆ THỐNG ĐĂNG KÝ TỪ XA QUA MẠNG. </i>

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC

Quảng Nam, tháng 5 năm 2019

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

UBND TỈNH QUẢNG NAM TRƯỜNG ĐẠI HỌC QUẢNG NAM KHOA: CÔNG NGHỆ THÔNG TIN

------

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC

XÂY DỰNG HỆ THỐNG ĐA SERVER

CHO HỆ THỐNG ĐĂNG KÝ TỪ XA QUA MẠNG

Sinh viên thực hiện HỌ TÊN: HỒ NHƯ THẢO

MSSV: 2115031028

CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN KHÓA: 2015 – 2019

Cán bộ hướng dẫn

<i>TS. NGUYỄN HÀ HUY CƯỜNG </i>

<i>Quảng Nam, tháng 5 năm 2019 </i>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

LỜI CẢM ƠN

Để hoàn thành bài khóa luận, tơi đã nhận được rất nhiều sự quan tâm, giúp đỡ, học hỏi được nhiều kinh nghiệm từ các thầy cô giáo ở Trường Đại học Quảng Nam và bạn bè cùng khóa.

Lời đầu tiên, tơi xin được bày tỏ lịng cảm ơn chân thành và sâu sắc nhất đến thầy giáo – TS. Nguyễn Hà Huy Cường, giảng viên khoa Công nghệ thông tin, Trường Đại học Quảng Nam. Thầy là người đã trực tiếp hướng dẫn, giúp đỡ nhiệt tình, góp ý chân thành và luôn động viên tôi trong suốt quá trình thực hiện khóa luận.

Xin chân thành cảm ơn các thầy cô giáo trong Khoa Công nghệ thông tin đã dạy dỗ, giúp đỡ và tạo điều kiện cho tơi học tập, nghiên cứu và hồn thành bài khóa luận tốt nghiệp.

Cuối cùng, tôi xin cảm ơn bạn bè, gia đình, người thân đã ln ủng hộ và đã tin tưởng tôi trong suốt thời gian qua.

Mặc dù đã cố gắng và nỗ lực hết mình để hồn thành bài khóa luận nhưng với khả năng còn hạn chế của bản thân, tôi chắc chắn rằng để tài của mình vẫn cịn nhiều thiếu sót cần bổ sung và sửa chữa. Vì vậy, những lời nhận xét, góp ý của các thầy cơ và các bạn chính là điều kiện để khóa luận được hồn thiện hơn.

Tơi xin chân thành cảm ơn!

Quảng Nam, tháng 5 năm 2019 Sinh viên thực hiện

Hồ Như Thảo

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

MỤC LỤC

MỞ ĐẦU ... 1

1.1. Lý do chọn đề tài ... 1

1.2. Tính mới của đề tài ... 2

1.3. Mục tiêu của đề tài... 2

1.4. Đối tượng và phạm vi nghiên cứu ... 2

1.4.1. Đối tượng nghiên cứu ... 2

1.2. Nguyên tắc xây dựng hệ phân tán ... 5

1.3. Mục tiêu của hệ phân tán ... 6

1.3.1. Kết nối người sử dụng với tài nguyên ... 6

1.5. Hệ cơ sở dữ liệu phân tán (Distributed database system_ DDBS) ... 12

1.5.1. Các khái niệm cơ sở dữ liệu phân tán ... 12

1.5.2. Kiến trúc của một hệ cơ sở dữ liệu phân tán ... 14

1.5.3. Phân loại hệ cơ sở dữ liệu phân tán ... 15

1.5.4. Ưu điểm và hạn chế hệ cơ sở dữ liệu phân tán ... 16

1.6. Đặc điểm yêu cầu từ xa ... 19

1.7. Đặc điểm đăng ký từ xa ... 20

1.8. Tổng quan về hệ thống nhiều bản sao (Multiple copy) ... 21 Chương 2: BÀI TOÁN ĐĂNG KÝ TỪ XA QUA MẠNG VỚI HỆ THỐNG ĐA

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

2.1. Phát biểu bài toán ... 25

2.2. Xây dựng mơ hình ... 27

2.2.1. Mơ hình CSDL ... 27

2.2.2. Cài đặt CSDL trên các Server ... 27

2.2.3. Mơ hình ứng dụng của hệ thống ... 27

2.3. Hướng giải quyết bài toán ... 35

2.4. Vấn đề cần giải quyết cho bài toán đăng ký ... 36

2.4.1. Giải quyết vấn đề ... 37

2.4.2. Thuật tốn chương trình ... 38

2.5.1. Kỹ thuật lập trình phân tán đối tượng trong java ... 41

2.5.2. Kỹ thuật trong giải thuật gắn bó dữ liệu ... 46

Chương 3: CHƯƠNG TRÌNH DEMO ... 48

3.1. Hướng dẫn cài đặt ... 48

3.1.1. Yêu cầu... 48

3.1.2. Cấu hình mơi trường phân tán cơ sơ dữ liệu ... 48

3.1.3. Thực thi. ... 53

3.2. Xây dựng chương trình server... 53

3.3. Xây dựng chương trình client ... 56

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT

Từ viết tắt/

Ký hiệu

DDBS Hệ cơ sở dữ liệu phân tán Distributed database system MAONT Mơ hình nâng cao của giao dịch

lồng nhau

Model advanced of open nested transaction

TC Điều phối viên giao dịch Transaction coordinator

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

DANH MỤC BẢNG

Bảng 1. 1: Nguyên tắc xây dựng hệ phân tán ... 5

Bảng 2. 1: Thông tin khách hàng khi đăng ký ... 26

Bảng 2. 2: Thông tin phát đi ... 37

Bảng 2. 3: Bảng thể hiện sự không gắn bó gữa các chi nhánh ... 37

Bảng 2. 4: Bảng quy tắt cung cấp tài nguyên ... 38

Bảng 3. 1: Đặc tả hiện thị màn hình của client ... 60

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

DANH MỤC HÌNH ẢNH

Hình 1. 1: Kiến trúc hệ phân tán ... 4

Hình 1. 2: Các thực thể của hệ tin học phân tán ... 5

Hình 1. 3: Mơ hình tương tác chung giữa một client với một server... 7

Hình 1. 4: Hai cách tổ chức vi xử lý và bộ nhớ trong hệ máy tính phân tán... 11

Hình 1. 5: Cấu trúc chung của DOS ... 11

Hình 1. 6: Cấu trúc chung của NOS ... 12

Hình 1. 7: Cấu trúc chung của một hệ Middleware ... 12

Hình 1. 8: Mơi trường của hệ cơ sở dữ liệu ... 13

Hình 1. 9: Kiến trúc cơ bản của hệ cơ sở dữ liệu phân tán ... 14

Hình 1. 10: Các đoạn và hình ảnh vật lý của một quan hệ tổng thể ... 15

Hình 1. 11: Kiến trúc mơ hình hệ quản trị CSDL phân tán thuần nhất... 16

Hình 1. 12: Kiến trúc mơ hình hệ quản trị CSDL phân tán hỗn tạp ... 16

Hình 1. 13: Hệ thống viễn thơng yều cầu từ xa ... 19

Hình 1. 14: Mơ tả về ví dụ đăng ký từ xa ... 21

Hình 1. 15: Hệ thống nhiều bản sao ... 23

Hình 2. 1: Mơ hình tổng qt hệ thống đa server ... 26

Hình 2. 2: Mơ hình hệ thống ... 27

Hình 2. 3: Mơ hình chi tiết các bộ phận theo dõi hoạt động phân tán ... 31

Hình 2. 4: Trạng thái giao dịch trong nghi thức 2PC. ... 32

Hình 2. 5: Cấu trúc giao tiếp 2PC tuyến tính ... 34

Hình 2. 6: Sơ đồ khối thực hiện TT2PC-server ... 35

Hình 2. 7: Loại trừ tương hỗ nhờ dấu ... 40

Hình 2. 8: Mơ hình triệu gọi các đối tượng từ xa ... 41

Hình 2. 9: Gọi các phương thức của các đối tượng thơng qua lớp trung gian ... 42

Hình 2. 10: Hình ảnh mơ phỏng hệ thống nhận u cầu từ các client ... 46

Hình 2. 11: Sơ đồ khối của giải thuật ... 47

Hình 3. 1: Mơ phỏng hoạt động của máy Server1 ... 54

Hình 3. 2: Mô phỏng hoạt động của máy Server2 ... 55

Hình 3. 3: Mơ phỏng hoạt động của máy Server3 ... 56

Hình 3. 4: Đăng ký thơng tin từ phía user ... 60

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

Hình 3. 6: Hình ảnh mơ phỏng về dữ liệu đồng bộ ở Server 1. ... 62 Hình 3. 7: Hình mơ phỏng dữ liệu đồng bộ ở phía Server 2 ... 63 Hình 3. 8: Hình mơ phỏng dữ liệu đồng bộ ở Server 3 ... 63

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

MỞ ĐẦU 1.1. Lý do chọn đề tài

Trong thời đại ngày nay công nghệ thông tin chiếm lĩnh một vị trí hàng đầu trong hệ thống khoa học kỹ thuật, đồng thời nó đóng góp tích cực cho sự thành cơng của mọi lĩnh vực khác trong đời sống xã hội. Vấn đề gắn bó dữ liệu trong các hệ thống phân tán nói chung và các hệ thống thông tin đăng ký trên mạng nói riêng như việc đăng ký các tua du lịch, mua bán trong các giao dịch thương mại điện tử, đăng ký giữ chỗ trong giao thông vận tải, đăng ký dự thi trong các hệ thống thông tin đào tạo,... đã trở thành một lĩnh vực thu hút nhiều sự quan tâm của các nhà nghiên cứu lý thuyết lẫn các nhà sản xuất phần mềm.

Trên một hệ thống gồm nhiều máy tính kết nối thành một mạng máy tính mà mỗi máy trạm này cáo thể đảm nhận việc thực hiện các dich vụ đăng ký các thông tin. Vấn đề đặt ra là phải xây dựng một hệ thống cho phép thực thi bài tốn đăng ký thơng tin từ xa theo mơ hình phân tán. Sau đó xử lý để đảm bảo gắn bó dữ liệu khi hệ thống có sự cố xảy ra.

Hệ thống thơng tin trên mạng rất phổ biến, các giải pháp về kỹ thuật “Internet of Thing” dựa trên nền tảng hạ tầng như là dịch vụ (IaaS - Infrastracture as a Service) ngày càng trở nên quan trọng hơn bao giờ hết. Thông qua hạ tầng này, các ứng dụng chạy dịch vụ IoT trở nên hiệu quả hơn và đáng tin cậy hơn. Các ứng dụng liên quan tới cơ sở dữ liệu của IoT ngày càng được chú trọng tại lớp nền tảng như là dịch vụ. Trong bài báo khóa luận này, tôi tập trung nghiên cứu giải pháp kỹ thuật trên hệ thống hạ tầng gồm đa server phân tán kết qua mạng truyền thông, mà mỗi máy trạm có thể thực hiện các dịch vụ đăng ký thông tin tour du lịch từ xa. Vấn đề đặt ra là phải xây dựng bài tốn đảm bảo gắn bó dữ liệu khi hệ thống có sự cố xảy ra nhằm phục vụ cho hệ thống thông tin đăng ký. Tôi chọn và thực hiện đề tài: “Xây dựng hệ thống đa server cho hệ thống đăng ký tour du lịch từ xa qua mạng”. Áp dụng bài tốn này cho các Cơng ty Dịch vụ Lữ hành trong ngành du lịch với mong muốn là những công ty lữ hành luôn tiên phong với những sáng tạo đột phá, khẳng định vững chắc vị trí hàng đầu về chất lượng sản phẩm, dịch vụ, cung cách phục vụ và hiệu quả kinh doanh. Với sự liên kết hàng lạc khách sạn, khu du lịch, nhà hàng cao cấp trong khu vực. Nhiều cơng ty có chi nhánh ở nhiều thành phố khác nhau,

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

với xu hướng tạo ra một hệ kinh doanh từ xa. Đây là một đề tài khá hấp dẫn, phù hợp với xu thế hiện nay, mang tính thực tế cao.

1.2. Tính mới của đề tài

- Internet of things là một thị trường mới kéo theo dịch vụ kỹ thuật số phát triển, giúp kết nối các thiết bị và nâng cao tính tự động hóa của các loại máy. IoT hướng tới những chiếc xe thông minh, smart home, smart city, chăm sóc sức khỏe, kết nối,…mang lại sự thay đổi trong cách con người sống và làm việc. Việc sử dụng công nghệ mới này vào ngành công nghiệp du lịch đã tác động rất lớn tới các doanh nghiệp và khách du lịch. Ngày nay việc đặt mua vé du lịch cho một kỳ nghĩ thật dễ, trong đó có các loại hình dịch vụ được cung cấp như khách sạn, vé máy bay… tất cả đều được thanh tốn trực tuyến. Internet đã thay đổi triệt để mơ hình, mối quan hệ trong kinh doanh.

- Nguyên cứu dựa trên việc kết hợp các giải pháp kỹ thuật “Internet of Thing” cho hệ thống mơ hình gắn bó dữ liệu là rất mới.

1.3. Mục tiêu của đề tài

- Giới thiệu về hệ phân tán, mơ hình client - server.

- Vấn đề tình tốn trong hệ phân tán, các giải pháp kỹ thuật đảm bảo gắn bó dữ liệu.

- Mơ phỏng q trình đồng bộ và cập nhật trên các server. 1.4. Đối tượng và phạm vi nghiên cứu

<i>1.4.1. Đối tượng nghiên cứu </i>

- Giới thiệu về các khái niệm cơ bản về hệ phân tán, nguyên tắt xây dựng hệ phân tán, cơ sở dữ liệu phân tán.

- Để tài nay chúng tôi tập trung nghiên cứu về phần giải pháp kỹ thuật đồng bộ hóa dữ liệu để làm rõ những ưu điểm của mơ hình trên IoT.

- Sử dụng chương trình mơ phỏng bằng ngôn ngữ Java, công cụ NETBEAN, SQL Server để mô phỏng quá đồng bộ dữ liệu trong mạng đa server.

<i>1.4.2. Phạm vi nghiên cứu </i>

- Đề tài nghiên cứu quá trình định tuyến nội miền.

- Trong đề tài tơi cịn mơ phỏng q trình định tuyến của các gói tin trong q trình truyền thơng giữa các node mạng tại những chi nhánh du lịch khác nhau.

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

1.5. Phương pháp nghiên cứu

- Thu thập, phân tích các tài liệu và thông tin liên quan đến đề tài.

- Thảo luận, khảo sát thông tin và lựa chọn phương hướng giải quyết vấn đề. - Triển khai xây dựng chương trình mơ phỏng.

Chương 2: Bài tốn đăng ký từ xa qua mạng với hệ thống đa server

Phát biểu bài tốn, mơ hình ứng dụng hệ thống, kỹ thuật gắn bó dữ liệu và kỹ thuật giải quyết bài tốn.

Chương 3: Chương trình demo

Hướng dẫn cách cài đặt, xây dựng chương trình client, server và hình ảnh mơ phỏng kết quả chương trình.

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

- Hệ phân tán gồm một nhóm các máy tính được kết nối với nhau thông qua mạng máy tính, cùng với một tập phần mềm hệ thống được thiết kế nhằm điều khiển liên kết các tài nguyên, các chức năng và dữ liệu trên mạng.

Hình 1. 1: Kiến trúc hệ phân tán - Trong đó:

+ Mạng máy tính là các loại (A, B, D), các server kết nối mạng trực tiếp (D). + Các máy Client để truy cập qua mạng con (A, B).

+ Các client truy cập trực tiếp (C).

+ Hệ thống viễn thông với các loại đường truyền khác nhau với kiến trúc phân tầng.

Cho phép cập nhật thường xuyên, trả lời được các yêu cầu từ xa, cho phép đăng ký từ xa, thực hiện hai phép cơ bản dọc và ghi một các an toàn. Đảm bảo kết nối thường xuyên qua hệ viễn thông với độ tin cậy cao.

- Một số lớp hệ phân tán:

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

Ứng dụng thương mại phân tán: Hệ thống đặt chỗ máy bay, đặt hàng qua mạng, ngân hàng điện tử; Bảo mật cao. Giá trị thông tin lớn, trả lời thời gian thực, truy cập từ xa, khả năng mở rộng, sẵn sàng.

Giao diện giữa NSD, chương trình ứng dụng và hệ thống; Có tính models, khả năng mở rộng, nhận dạng người sử dụng.

Ứng dụng mạng diện rộng: Thư điện tử, web, hạn chế về băng thông, số lượng về truy cập lớn; Hệ thống định danh, phục vụ số truy cập thay đổi.

Ứng dụng thông tin đa phương tiện và hội nghị: Đào tạo từ xa, hội thảo trực tuyến, thực tại ảo; Truyền thông tin thời gian thực: tiếng nói, hình ảnh, văn bản; Địi hỏi hệ thống truyền tin tốc độ cao, độ trễ nhỏ, băng thơng lớn.

Hình 1. 2: Các thực thể của hệ tin học phân tán

Phần mềm phân tán cung cấp công cụ thích hợp cho phép các máy tính phối hợp các hoạt động với nhau, cùng chia sẻ tài nguyên phần cứng.

Ngoài hệ thống phần cứng, phần mềm, dữ liệu thì hệ phân tán cịn có hệ thống truyền thơng. Song điều cơ bản để phân biệt hệ tin học phân tán với mạng máy tính và hệ điều hành mạng chính là nguyên tắc xây dựng hệ.

1.2. Nguyên tắc xây dựng hệ phân tán

Bảng 1. 1: Nguyên tắc xây dựng hệ phân tán STT Tên gọi Thuyết minh

1 Chia sẻ tài nguyên

Thực tế phát triển mạng máy tính đặt ra một vấn đề lớn là cần dùng chung tài nguyên. Một tiến trình trên một trạm nào đó có thể cung cấp tài nguyên dùng chung ở một trạm khác.

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

2 Liên lạc Khi các hệ thống đã được mắc nối với nhau, các thực thể trong hệ có thể trao đổi thơng tin với nhau.

3 Tin cậy Một trạm trong hệ bị sự cố không làm cho toàn hệ ảnh hưởng, mà ngược lại, cơng việc đó được phân cho các trạm khác đảm nhận. Ngoài ra, trạm bị sự cố có thể tự động phục hồi lại trạng thái ban đầu trước khi có sự cố hay trạng thái ban đầu của nó.

4 Tăng tốc Đây là khái niệm mới về phân tán tải. Một tính tốn lớn nào đó, nếu chỉ sử dụng một trạm thì thời gian cho kết quả lâu.

Tính toán này được chia nhỏ và thực hiện song song trên các trạm. Điều này cũng cần thiết đối với các trạm quá tải.

1.3. Mục tiêu của hệ phân tán

<i>1.3.1. Kết nối người sử dụng với tài nguyên </i>

Giải quyết bài toán chia sẻ tài nguyên trong hệ thống (resource sharing).

Việc chia xẻ tài nguyên trên hệ phân tán - trong đó tài nguyên bị lệ thuộc về mặt vật lý với một máy tính nào đó - được thực hiện thơng qua truyền thơng. Để chia xẻ tài nguyên một cách hiệu quả thì mỗi tài nguyên cần phải được quản lý bởi một chương trình có giao diện truyền thơng, các tài ngun có thể truy nhập, cập nhật được một cách tin cậy và nhất quán. Quản lý tài nguyên ở đây bao gồm lập kế hoạch và dự phòng, đặt tên các lớp tài nguyên, cho phép tài nguyên được truy cập từ nơi khác, ánh xạ tên tài ngun vào địa chỉ truyền thơng.

Mơ hình mạng máy tính thường được sử dụng là:

Mơ hình xử lý Client-Server: Là một mơ hình trong đó có việc xử lý hợp tác đối với các yêu cầu của Client nêu ra với máy Server. Máy Server tiến hành xử lý và gửi trả kết quả về cho Client. Việc xử lý hợp tác Client-Server thực tế là một dạng riêng của xử lý phân tán với tài nguyên (và nhiệm vụ ảnh hưởng tới tài nguyên) được trải qua hai hay nhiều hệ thống tính tốn rời rạc.

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

Hình 1. 3: Mơ hình tương tác chung giữa một client với một server

Mơ hình xử lý Client-Server đã nổi lên như một mức cao hơn của việc xử lý dùng chung thiết bị đã có trong mang cục bộ (LAN). Trong môi trờng xử lý dùng chung thiết bị, các máy tính cá nhân (PC) đợc gắn với thiết bị hệ thống để cho phép các PC này dùng chung tài nguyên tệp trên đĩa cứng và máy in là các thí dụ tiêu biểu. Theo thuật ngữ LAN, các thiết bị dùng chung nh vậy đợc gọi là các Server (phục vụ). Tên phục vụ là thích hợp hơn cả vì các thiết bị dùng chung này dùng để nhận các yêu cầu cần phục vụ từ các PC. Trong xử lý dùng chung thiết bị trên LAN, các yêu cầu của PC này thờng bị giới hạn về các dịch vụ liên quan tới tệp dùng chung hay tệp xử lý in. Nhược điểm hiển nhiên của cách tiếp cận nh vậy là ở chỗ mọi xử lý ứng dụng đều đợc thực hiện trên các PC riêng lẻ, và chỉ một chức năng nào đó (in, vào ra tệp) mới là phân tán. Do đó, tồn bộ tệp phải được gửi cho một PC đã ban ra yêu cầu READ tệp đó. Nếu tệp đợc cập nhật thì tồn bộ tệp đó bị khố bởi PC đã tạo ra yêu cầu cập nhật tệp đó.

Chính vì các lý do trên mà mơ hình xử lý Client-Server là việc mở rộng tự nhiên của việc dùng chung thiết bị và vai trò của các trạm làm việc trở thành khách của máy chủ. Phần có ý nghĩa nhất của mơ hình này là xử lý ứng dụng đợc phân chia (không nhất thiết phải chia đều) giữa Client và Server. Xử lý thực tế đợc khởi đầu và kiểm soát một phần bởi nơi yêu cầu dịch vụ là Client nhng khơng phải theo kiểu chủ-khách. Thay vì điều đó, cả Client và Server đều hợp tác để thực hiện thành công ứng dụng. Chẳng hạn nếu PC chạy chơng trình cần một bản ghi đặc biệt nào đó từ một tệp dùng chung thì nó sẽ chuyển u cầu cho Server CSDL tiến hàng xử lý cục bộ rồi nhận lại đúng bản ghi đã yêu cầu. Như vậy về mặt kiến trúc xử lý Client-Server cho thấy:

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

- Đường liên lạc tin cậy, chắc chắn giữa Client và Server. - Các trờng hợp tương tác Client-Server do Client khởi xướng. - Phân tán xử lý ứng dụng giữa Client và Server.

- Server kiểm soát các dịch vụ mà Client yêu cầu. - Server làm trọng tài cho các yêu cầu tranh chấp.

Với Hệ CSDL phân tán, mơ hình Client-Server có các ưu điểm:

- Các công ty lợi dụng được công nghệ tính tốn của PC. PC ngày nay cung cấp một năng lực tính tốn đáng kể (mà trước đây chỉ các máy tính lớn mới có được) nhưng lại với một giá thành nhỏ.

- Cho phép xử lý được thực hiện tại gần nguồn dữ liệu cần xử lý (các CSDL trên Server). Do đó lưu lượng và thời gian đáp ứng của mạng giảm đi rất nhiều, hiệu năng và khả năng chuyển tải của mạng đợc tăng lên.

- Tạo điều kiện cho việc dùng giao diện đồ hoạ (GUI) có sẵn trên các trạm làm việc hiện có.

- Cho phép và hỗ trợ hệ thống mở: Client và Server có thể chạy trên các nền phần cứng và phần mềm khác nhau.

Tuy nhiên không phải là mơ hình Client-Server đã hồn chỉnh, nó vẫn cịn các nhợc điểm sau đây:

- Nếu có khá nhiều thành phần logic của ứng dụng đợc chuyển về Server thì Server sẽ trở thành cổ chai y như máy tính lớn (main frame) mơ hình thiết bị đầu cuối. Các tài nguyên hạn chế của Server sẽ ở trạng thái bị đòi hỏi làm việc ở mức cao hơn do việc tăng số ngời tiêu thụ tài nguyên (End User).

- Các ứng dụng phân tán, đặc biệt là những ứng dụng đợc thiết kế cho xử lý hợp tác thường phức tạp hơn các ứng dụng khơng phân tán. Tuy nhiên có thể giảm bớt độ phức tạp bằng cách thu nhỏ vấn đề lớn thành một tập hợp vấn đề nhỏ hơn, có thể được tính độc lập nhau, tương tự như trong hệ thiết kế đơn thể.

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

Trong suốt truy cập (Access transparency): che giấu sự khác biệt về cách biểu diễn và cách truy cập tài nguyên.

Trong suốt về vị trí (Location transparency): che giấu vị trí của tài nguyên. Hai dạng trong suốt vừa trình bày được gọi chung là trong suốt mạng (network transparency). Trong suốt di trú (Migration transparency): che giấu khả năng chuyển vị trí của tài nguyên.

Trong suốt về việc định vị lại (Relocation transparency): che giấu việc di chuyển của tài nguyên khi đang được sử dụng.

Trong suốt nhân bản (Replication transparency): che giấu tình trạng tình trạng sử dụng bản sao của tài nguyên.

Che giấu sự che sẻ tài nguyên tương tranh (Concurency transparency). Trong suốt sự cố (Failure transparency): che giấu lỗi hệ thống nếu có.

Trong suốt khả năng di chuyển tài nguyên (Persistence transparency): che giấu việc di chuyển tài nguyên từ bộ nhớ ngoài vào bộ nhớ trong và ngược lại.

<i>1.3.3. Tính mở </i>

Tính mở của một hệ thống máy tính là tính dễ dàng mở rộng phần cứng (thiết bị ngoại vi, bộ nhớ, các giao diện truyền thông ...) và phần mềm (các mơ hình HĐH, các giao thức truyền thơng, các dịch vụ chia xẻ tài nguyên ...) của nó. Nói một cách khác, tính mở của hệ thống phân tán mang ý nghĩa bao hàm tính dễ dàng cấu hình cả phần cứng lẫn phần mềm của nó.

Tính mở của hệ phân tán được thể hiện là hệ thống có thể được tạo nên từ nhiều loại phần cứng và phần mềm của nhiều nhà cung cấp khác nhau với điều kiện các thành phần này phải theo một tiêu chuẩn chung (liên quan đến HĐH là tính đa dạng tài nguyên; liên quan đến nhà cung cấp tài nguyên là tính chuẩn).

Tính mở của Hệ phân tán được xem xét theo mức độ bổ sung thêm các dịch vụ chia xẻ tài nguyên mà không phá hỏng hay nhân đôi các dịch vụ đang tồn tại. Tính mở được hồn thiện bằng cách xác định hay phân định rõ các giao diện chính của hệ phân tán và làm cho nó tương thích với các nhà phát triển phần mềm (tức là các giao diện chính của HĐH phân tán cần phổ dụng).

Tính mở của HĐH phân tán được thi hành dựa trên việc cung cấp cơ chế truyền thông giữa các QT và công khai các giao diện được dùng để truy cập tài nguyên

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

<i>1.3.4. Tính co giãn </i>

Tính co giãn của hệ phán tán được thể hiện qua:

Qui mô: Khi số lượng người dùng và tài nguyên thay đổi hệ phân tán phải thích nghi được.

Khơng gian địa lý: Khi vùng địa lý có tài nguyên và người sử dụng thay đổi. Tổ chức: Khi tổ chức kết cấu của hệ thay đổi.

Nếu hệ phân tán có tính co giãn thường ảnh hưởng đến hiệu năng của hệ thống (hiệu năng của hệ thống là hiệu quả năng lực hoạt động của đối tượng).Có ba giải pháp phổ biến:

Ẩn giấu.

Phân tán: phân nhỏ thành phần hệ thống và phân bố chúng trên phạm vi của hệ thống (quản lý phân cấp). Ví dụ DNS xác định theo cách phân cấp miền lớn thành các miền con. Với phương pháp này sẽ giải quyết được vẫn đề khi thêm người dùng hay tài nguyên vào hệ thống.

Nhân bản: nhân bản một thành phần nào đó của hệ thống. Ví dụ tài nguyên dữ liệu đặt tại các vị trí khác nhau trong hệ thống sử dụng để giải quyết vấn đề co giãn của hệ phân tán.

1.4. Các thành phần của hệ phân tán

<i>1.4.1. Phần cứng hệ phân tán </i>

Bao gồm máy chủ và các hệ thống máy con được đặt ở những vị trí khác nhau và kết nối với nhau qua mạng máy tính.

Có hai loại máy tính:

- Các loại máy tính có chia sẻ bộ nhớ (Shared memory): các loại máy đa xử lý (multiproccessor).

- Các máy tính khơng chia sẻ bộ nhớ, bộ nhớ phân tán (Private memory): các hệ thống multicomputors.

Trong mỗi loại lại chia tiếp theo mạng kết nối bus – based (sử dụng chung 1 kết nối) và switch – base có nhiều đường kết nối từ máy này sang máy khác thông qua các nút trung gian.

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

Hình 1. 4: Hai cách tổ chức vi xử lý và bộ nhớ trong hệ máy tính phân tán

<i>1.4.2. Phần mềm của hệ phân tán </i>

Gồm 3 hệ thống sau:

DOS hay Distributed Operating Systems - Hệ điều hành phân tán: Hệ điều hành gắn chặt với hệ thống phần cứng (máy đa vi xử lý hoặc máy tính đồng bộ), qu. Mục tiêu là ẩn giấu và cung cấp các dịch vụ quản trị tài nguyên.

Đặc điểm là các dịch vụ có thể được thực hiện bởi các lời triệu gọi từ xa.

Hình 1. 5: Cấu trúc chung của DOS

NOS hay Network Operating Systems - Hệ điều hành mạng: cài đặt trên máy tính cục bộ. Cung cấp dịch vụ cục bộ cho các máy tính khác.

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

Hình 1. 6: Cấu trúc chung của NOS

Middleware: Cài đặt các dịch vụ cơ bản để thực hiên, phát triển các ứng dụng. Dịch vụ cơ bản: Truy cập trong suốt, các phương tiện thông tin bậc cao, dịch vụ định danh, dịch vụ lưu trữ bền vững, giao dịch phân tán, bảo mật.

Hình 1. 7: Cấu trúc chung của một hệ Middleware 1.5. Hệ cơ sở dữ liệu phân tán (Distributed database system_ DDBS)

<i>1.5.1. Các khái niệm cơ sở dữ liệu phân tán </i>

Một cơ sở dữ liệu phân tán là tập hợp nhiều cơ sở dữ liệu có liên đới logic và được phân bố trên một mạng máy tính.

Có hai điểm quan trọng đợc nêu ra trong định nghĩa là:

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

- Phân tán: Dữ liệu c trú trên một vị trí, mà được phân bố rộng khắp trên nhiều máy tính đặt tại nhiều vị trí khác nhau.

- Tương quan logic: Dữ liệu có một số các thuộc tính ràng buộc chúng với nhau, điều này giúp chúng ta có thể phân biệt một CSDL phân tán với một tập hợp CSDL cục bộ, các tệp c trú tại các vị trí khác nhau, hay hệ thống CSDL phân quyền trong một mạng máy tính.

Vd: Một ngân hàng có 3 chi nhánh đặt tại các vị trí khác nhau. Tại mỗi chi nhánh (site) có một máy tính điều khiển một số máy giao dịch đầu cuối (tell terminal) và cơ sở dữ liệu của chi nhánh đó. Tại mỗi site được đặt một phần cơ sở dữ liệu phân tán. Các máy tính được nối với nhau bởi mạng truyền thông. Các nút trong một mạng phân tán có hai chức năng: Xử lý thông tin mà nó quản lý, xử lý các yêu cầu về thông tin cần truy cập qua nhiều địa điểm.

Hệ quản trị CSDL phân tán (DDMS): Hệ thống phần mềm cho phép quản lý CSDL phân tán và đảm bảo tính trong suốt và sự phân tán đối với người dùng.

- Ứng dụng cục bộ: được yêu cầu và thực hiện trên máy tính ở một nút trong hệ CSDL phân tán.

- Ứng dụng toàn cục: yêu cầu truy cập dữ liệu ở nhiều nút thơng qua hệ thống truyền thơng.

Hình 1. 8: Môi trường của hệ cơ sở dữ liệu

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

<i>1.5.2. Kiến trúc của một hệ cơ sở dữ liệu phân tán </i>

Hình 1. 9: Kiến trúc cơ bản của hệ cơ sở dữ liệu phân tán

Sơ đồ tổng thể: Sơ đồ này xác định tất cả các dữ liệu sẽ được lưu trữ trong CSDL phân tán. Sơ đồ tổng thể có thể được định nghĩa một cách chính xác theo cách như trong CSDL không phân tán. Ở đây sẽ sử dụng mơ hình quan hệ để hình thành nên sơ đồ này. Sử dụng mơ hình này, sơ đồ tổng thể bao gồm định nghĩa của một tập các quan hệ tổng thể.

Sơ đồ phân đoạn: Mỗi quan hệ tổng thể có thể chia thành một vài phần nhỏ hơn không giao nhau được gọi là đoạn (fragments). Có nhiều cách khác nhau để thực hiện việc phân chia này. Sơ đồ tổng thể mô tả các ánh xạ giữa các quan hệ tổng thể và các đoạn được định nghĩa trong sơ đồ phân đoạn. Ánh xạ này là một- nhiều. Có thể có nhiều đoạn liên kết tới một quan hệ tổng thể, nhưng mỗi đoạn chỉ liên kết tới nhiều nhất là một quan hệ tổng thể. Các đoạn được chỉ ra bằng tên của quan hệ tổng thể cùng với tên của chỉ mục đoạn.

Sơ đồ định vị: Các đoạn là các phần logic của một quan hệ tổng thể được định vị trên một hoặc nhiều vị trí vật lý trên mạng. Sơ đồ định vị xác định đoạn nào ở các trạm nào. Lưu ý rằng, kiểu ánh xạ được định nghĩa trong sơ đồ định vị quyết định CSDL phân tán là dư thừa hay không.Tất cả các đoạn liên kết với cùng một quan hệ tổng thể R và được định vị tại cùng một trạm j cấu thành ảnh vật lý của quan hệ tổng thể R tại trạm j. Bởi vậy, có thể ánh xạ một-một giữa một ảnh vật lý và một

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

cặp (quan hệ tổng thể, trạm). Các ảnh vật lý có thể được chỉ ra bằng tên của một quan hệ tổng thể và một chỉ mục trạm. Ví dụ: ký hiệu Ri chỉ tới đoạn thứ i của quan hệ tổng thể R. Ký hiệu Rj là ảnh vật lý của quan hệ tổng thể R tại trạm j.

Hình 1. 10: Các đoạn và hình ảnh vật lý của một quan hệ tổng thể

Sơ đồ ánh xạ địa phương: Ánh xạ các ảnh vật lý tới các đối tượng được các hệ quản trị CSDL địa phương thao tác tại các trạm. Ánh xạ này phụ thuộc vào các hệ quản trị CSDL địa phương. Do vậy, trong một hệ thống không đồng nhất, phải có các kiểu ánh xạ địa phương khác nhau tại các trạm khác nhau.

<i>1.5.3. Phân loại hệ cơ sở dữ liệu phân tán </i>

- Hệ CSDL phân tán thuần nhất:

+ Tất cả các nút cùng sử dụng một loại hệ quản trị CSDL.

+ Thuận lợi cho việc tăng trưởng và cho phép nâng cao hiệu năng. + Có được bằng cách chia một CSDL thành một tập CSDL cục bộ.

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

Hình 1. 11: Kiến trúc mơ hình hệ quản trị CSDL phân tán thuần nhất - Hệ CSDL phân tán hỗn tạp:

+ Các nút có thể thực hiện trên các hệ quản trị CSDL khác nhau. + Xảy ra khi các nút đã cài đặt CSDL riêng.

+ Có được bằng cách tích hợp các CSDL cục bộ đã có.

Hình 1. 12: Kiến trúc mơ hình hệ quản trị CSDL phân tán hỗn tạp

<i>1.5.4. Ưu điểm và hạn chế hệ cơ sở dữ liệu phân tán </i>

- Ưu điểm của hệ phân tán:

Tuy việc quản trị một hệ thống CSDL phân tán gặp nhiều khó khăn hơn so với hệ CSDL tập trung nhưng xu hớng xây dựng các hệ CSDL phân tán ngày càng phát triển và có nhiều ứng dụng trong thực tế vì các ngun nhân sau:

(1). Xuất phát từ chính yêu cầu thực tế về tổ chức và kinh tế. Trên thực tế nhiều tổ chức là không tập trung, dữ liệu ngày càng lớn và phục vụ cho đa ngời

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">

dùng nằm phân tán vì vậy CSDL phân tán là con đờng thích hợp với cấu trúc tự nhiên của các tổ chức đó. Đây là một trong các yếu tố quan trọng thúc đẩy việc phát triển CSDL phân tán. Một ví dụ minh hoạ cho vấn đề này là hệ thống bán vé máy bay thống nhất trên toàn thế giới. Mỗi hãng hàng khơng có một hệ CSDL riêng, có sự quản lý riêng và khơng thể có lý do nào để CSDL này tập trung ở một chỗ đợc. Tuy vậy các hãng hàng khơng lại có quan hệ với nhau trong việc bán vé hành khách cho những tuyến đờng thuộc phạm vi quản lý của nhiều hãng. Do vậy hệ thống dữ liệu về chuyến bay của các hãng hàng khơng chính là một hệ CSDL phân tán đợc quản lý thống nhất tại trung tâm điều khiển bay đặt tại một địa điểm nào đó.

(2). Sự liên kết các CSDL đang tồn tại. CSDL phân tán là giải pháp tự nhiên khi có các CSDL đang tồn tại và sự cần thiết thực hiện xây dựng một ứng dụng toàn cục. Trong trờng hợp này CSDL phân tán đợc tạo từ dưới lên (bottom-up) từ các CSDL đã tồn tại trớc đó. Tiến trình này có thể địi hỏi cấu trúc lại cục bộ ở một mức độ nhất định. Dù sao, những sửa đổi này là nhỏ hơn rất nhiều so với việc tạo lập một CSDL tập trung hoàn toàn mới.

(3). Sự phát triển mở rộng. Các tổ chức có thể mở rộng bằng cách thêm các đơn vị mới, vừa có tính tự trị vừa có quan hệ t ơng đối với các tổ chức khác. Khi đó CSDL phân tán hỗ trợ một sự mở rộng uyển chuyển với một mức độ ảnh hởng tối thiểu tới các đơn vị đang tồn tại. Với CSDL tập trung, cũng có thể khởi tạo kích thớc lớn cho việc mở rộng trong tơng lai. Điều đó rất khó tiên định và chịu một phí tổn lớn, mặt khác sự mở rộng này có ảnh hởng lớn khơng chỉ trên các ứng dụng mới mà cịn trên các ứng dụng đang tồn tại.

(4). Làm giảm tổng chi phí tìm kiếm. Việc phân tán dữ liệu cho phép các nhóm làm việc cục bộ có thể kiểm sốt tồn bộ dữ liệu của họ. Tuy vậy tại cùng thời điểm, ngời sử dụng có thể truy cập đến dữ liệu ở xa nếu cần thiết. Tại các vị trí cục bộ, thiết bị phần cứng có thể đợc chọn sao cho phù hợp với công việc xử lý dữ liệu cục bộ tại điểm đó.

(5). Trả lời truy vấn nhanh. Dựa trên cách thức dữ liệu đợc phân tán, hầu hết các yêu cầu truy vấn dữ liệu từ ngời dùng tại bất kỳ vị trí cục bộ nào đều đợc thoả mãn bởi dữ liệu ngay tại thời điểm đó. Điều này làm tăng đáng kể tiến trình xử lý các yêu cầu truy vấn dữ liệu của ngời dùng. Hệ thống CSDL phân tán còn cho phép

</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">

tiến trình xử lý song song cùng lúc trên nhiều vị trí cục bộ khác nhau. Kỹ thuật này cũng nâng cao tốc độ xử lý dữ liệu trên hệ thống.

(6). Độ tin cậy và khả năng sử dụng được nâng cao. Khi hệ thống CSDL tập trung bị hỏng, tồn bộ CSDL trở nên vơ dụng với tất cả người sử dụng. Còn đối với hệ thống CSDL phân tán, nếu có một thành phần nào đó của hệ thống bị hỏng, hệ thống vẫn có thể duy trì hoạt động tuy nhiên cũng khơng thể hiệu quả nh khi nó cịn hồn hảo. Dù sao, việc thu đợc mục đích này khơng phải khơng rắc rối và đòi hỏi sử dụng các kỹ thuật vẫn cha đợc hiểu biết hoàn chỉnh. Khả năng xử lý tự trị của các vị trí khác nhau tự nó khơng đảm bảo một tính tin cậy tồn bộ cao của hệ thống, nhng nó đảm bảo một thuộc tính graceful degration. Nói một cách khác, sự cố trong CSDL phân tán có thể thờng xuyên hơn một CSDL tập trung vì có số lợng thành phần lớn hơn, nhng hậu quả của sự cố đợc hạn chế chỉ tới các ứng dụng sử dụng dữ liệu của vị trí có sự cố, đổ vỡ hoàn toàn của hệ thống là điều hiếm xảy ra.

(7). Giá thành truyền thông thấp hơn. Với CSDL phân tán, dữ liệu có thể đặt gần nơi nó đợc sử dụng nhiều nhất.

- Nhược điểm của hệ CSDL phân tán:

Hệ thống CSDL phân tán bên cạnh những ưu điểm nhưng trên cũng có những mặt hạn chế nh sau:

- Giá thành và sự phức tạp của phần mềm: Các phần mềm sử dụng trong môi trờng CSDL phân tán rất phức tạp, đặc biệt là phần mềm sử dụng cho việc quản trị mơi trờng CSDL phân tán.

- Khó khăn trong tiến trình kết nối các vị trí dữ liệu cục bộ: Các vị trí cục bộ phải trao đổi thông điệp với nhau và thực hiện thêm các tính tốn phức tạp để đảm bảo sự kết nối đúng đắn giữa các vị trí đó.

- Sự tồn vẹn dữ liệu: Một sản phẩm mang nhiều tính phức tạp sẽ làm gia tăng khả năng xáo trộn trong việc bảo đảm tính tồn vẹn dữ liệu.

- Tốc độ truy cập sẽ trở nên rất chậm: Nếu dữ liệu không được phân tán theo đúng yêu cầu sử dụng hoặc các bảng truy vấn đợc thiết lập khơng đúng đắn thì việc tìm kiếm và xử lý dữ liệu sẽ rất chậm.

</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">

1.6. Đặc điểm yêu cầu từ xa

Một khách hàng muốn cung cấp thông tin và thể hiện yêu cầu đó qua một truy vấn. Đầu kia sau khi tiếp nhận, việc truy tìm trong CSDL được tiến hành. Nếu có thơng tin cần tìm thì thơng tin đó được chuyển lại cho người yêu cầu.

Giả sử có một vị khách (Client) đang có mặt tại bộ phận ở thành phố A muốn biết thông tin về giá cả của một mặt hàng do bộ phận này quản lý tại thành phố B ở xa.

Thông qua ví dụ thương mại điện tử:

Hình 1. 13: Hệ thống viễn thông yều cầu từ xa Để đáp ứng được yêu cầu đó, hệ thống (server nhận) phải:

- Nhận biết chính xác thơng tin cần thiết. - Ghi lại tất cả các yêu cầu.

- Biên dịch các yêu cầu thành lệnh và máy nhận có thể thực hiện được. - Kiểm tra quyền truy cập hợp thức.

- Tổ chức môi trường kỹ thuật và thực hiện yêu cầu. - Hoàn tất các thủ tục cục bộ trước khi gửi đáp ứng. - Thống kê sự kiện phục vụ quản lý.

- Thực hiện thanh toán tài khoản dịch vụ (nếu có) - Gửi kết quả cho bên truy cập từ xa.

Toàn bộ các thao tác phải được đặt trong một giao dịch. Trong đó hệ thống gửi

</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">

(Server). Theo mơ hình client – server tổng quát phải cài đặt lên cả hai hệ yêu cầu A và đáp ứng yêu cầu B.

Vấn đề cách tiếp cận thực tế: + Cài đặt lên server.

+ Cài đặt lên server và client.

+ Độ tin cậy thông tin khi nghiên cứu và giải pháp cho truy cập đồng thời. Ví dụ : A nhận thơng tin, B khơng cịn nhận thơng tin đó nữa. Hay nói có một khách hàng A đề nghị mua hàng hóa H tại B và C. Trong khi truy cập báo cho khách thì số lượng này cũng vừa cập nhật. Khách nhận được thông tin mà trên thực tế khơng cịn tồn tại.

A là server truy vấn còn B là server đáp ứng truy vấn. Tại server A

phatyeucau(B,yc) nhanlai(ketqua)

Trong đó : B là địa chỉ của server yêu cầu, yc là nội dung yêu cầu, ketqua là kết quả nhận từ server B.

1.7. Đặc điểm đăng ký từ xa

- Đăng ký từ xa dựa vào phương án đầy đủ là phải tính đến các ràng buộc. Ví dụ phép tốn sau phải phụ thuộc vào kết quả của phép toán kề liền trước đó. Cụ thể, trong thực tế phải có hàng hóa mới tính đến hợp đồng phương tiện chuyên chở.

</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">

Thủ tục truy vấn phải có khả năng liên kết tự động với các truyvancsdl.

Thông tin chỉ đúng tại thời điểm khi server đọc nó và sai khi client nhận kết quả.

Điều này liên quan đến việc làm tươi dữ liệu.

Cần có giải pháp hữu hiệu cho truy cập đồng thời vào tài nguyên dùng chung. Ví dụ như: A muốn mua hàng ở B đăng ký phương tiện chuyên chở C và ràng buột trong khoảng thời gian nhất định. Trong DATABASE của hệ cuc bộ thại thành phố A chứa các thông tin về hàng hóa, cong phương tiện vận tải lại chứa trong DATABASE của hệ cục bộ thành phố B. Việc đăng ký hợp đồng của khách hàng được xuất phát từ thành phố A ngay trên hệ cụa bộ của bộ phận này.

1.8. Tổng quan về hệ thống nhiều bản sao (Multiple copy)

Quá trình tổ chức, vận hành các hệ thống cho phép đăng ký từ xa. Trong các hệ loại này, từng hệ thống cục bộ đều có lưu trữ một bản sao của tất cả các thông tin liên quan đang có ở tất cả các hệ cục bộ.

Kiểu tổ chức này có những ưu điểm và nhược điểm:

</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">

- Ưu điểm nỗi bật:

+ Dễ dàng truy cập thông tin. + Cho kết quả nhanh chóng. + Chi phí vận hàng thấp.

- Nhược điểm: Phụ thuộc vào phương pháp và thời hạn cập nhật thông tin ở cơ sở dữ liệu bản sao.

Sự tồn tại nhiều bản sao trong cùng một hệ phân tán trên nhiều trạ khác nhau dẫn đến các hệ quả sao:

- Cập nhật thông tin diễn ra do đăng ký (gần hay từ xa) hoặc sự thay đổi thông tin cụa bộ trên một hệ cục bộ nào đó cần phải được tiến hành cho tất cả các hệ thống cục bộ và không được phép bỏ xót hệ thống cục bộ nào cả. Trong khoảng thời gian làm “tươi” thông tin phải đảm bảo bản sao cho việc truy vấn dữ liệu cho kết quả kiệp thời hay đặt truy vấn trong trạng thái “treo”.

- Cần phải tránh trường hợp các thao tác trên hai bản sao khác nhau nhưng chứa cùng một thông tin được truy cập bởi hai hay nhiều yêu cầu dẫn đến không gắn bó.

- Cần quản lý nhiểu bản sao: là giải pháp kỹ thuật bao gồm tập hợp các thông tin được nhân bản từ một đối tượng thông tin và các chương trình quản lý trong mơi trương phân tán. Với mục đích:

+ Tự động hóa các cơng việc kiểm tra, tính hợp thức, truy cập thơng tin. + Khơi phục, cập nhật thơng tin, an tồn cho các bản sao.

Quan trong nhất là vấn đề cập nhật tự động thông tin vào các bản sao.

</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32">

Hình 1. 15: Hệ thống nhiều bản sao

Qua hệ thống viễn thông, CSDL chứa thông tin giống nhau khi mới thành lập. Sau một khoảng thời gian vận hành trong chế độ đa truy cập. Thông tin trong hệ CSDL loại này trở thành khác nhau. Vấn đề phức tạp này cần được quan tâm, nghiên cứu giải pháp. Vì vậy cần phải gắn bó thơng tin và điều khiển đồng thời phân tán:

Điều khiển đồng thời phân tán:

Điều khiển đồng thời giải quyết các tính chất biệt lập và nhất quán của giao dịch. Cơ chế điều khiển đồng thời phân tán của một hệ quản trị CSDL phân tán bảo đảm rằng tính chất nhất quán của CSDL. Nếu các giao dịch đã nhất quán nội tại (nghĩa là không vi phạm bất kỳ ràng buộc nhất quán nào), thế thì để có thể đạt được mục tiêu này, cách đơn giản nhất là thực hiện lần lượt từng giao dịch một. Rõ ràng điều này làm giảm lưu lượng hệ thống. Mức độ đồng thời (nghĩa là số lượng các giao dịch hoạt động cùng một lúc) có lẽ là một tham số quan trọng nhất trong các hệ phân tán. Do vậy cơ chế điều khiển đồng thời cố gắng tìm ra một phương án thích hợp, vừa duy trì được tính nhất qn của CSDL, vừa duy trì được mức độ đồng thời cao.

Chúng ta có thể chỉ ra rằng chức năng cơ bản của bộ điều khiển đồng thời là tạo ra một lịch biểu khả tuần tự để thực hiện các giao dịch đang chờ đợi.

Có một số cách phân loại các phương pháp điều khiển đồng thời. Một chế độ

</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33">

CSDL nhân bản hoàn toàn, cịn một số khác có thể hoạt tác trên các CSDL phân hoạch hoặc nhân bản một phần. Có hai lớp thuật tốn điều khiển đồng thời là lớp dựa trên các truy xuất độc quyền đến dữ liệu dùng chung (Khoá chốt) và lớp thuật toán cố gắn sắp xếp thứ tự thực hiện giao dịch theo một tập quy tắc (nghi thức). Các lớp thuật toán này dựa trên hai quan điểm khác nhau:

Quan điểm bi quan: Cho rằng có nhiều giao dịch sẽ trương tranh với nhau

Quan điểm lạc quan: cho rằng khơng có q nhiều giao dịch trương tranh với nhau

Vì vậy chúng ta sẽ xếp các cơ chế điều khiển đồng thời thành hai nhóm lớn: Các phương pháp điều khiển đồng thời lạc quan và các phương pháp điều khiển đồng thời bi quan . Các thuật toán bi quan đồng bộ hoá việc thực hiện đồng thời của các giao dịch trước khi thực hiện chúng , trong khi đó các thuật tốn lạc quan để việc đồng bộ hoá các giao dịch cho đến khi chúng kết thúc.

Các thuật toán điều khiển đồng thời phân tán: Điều khiển đồng thời bằng khoá chốt, Điều khiển đồng thời bằng thời dấu, điều khiển đồng thời lạc quan.

Như vậy: Vấn đề gắn bó dữ liệu là vấn đề sống còn của hệ nhiều bản sao.

Các hệ lớn như Microsoft, Yahoo, Google,…đã bắt đầu áp dụng có kết quả lý thuyết nhiều bản sao và mang hiệu quả đáng kể.

</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34">

Chương 2: BÀI TOÁN ĐĂNG KÝ TỪ XA QUA MẠNG VỚI HỆ THỐNG ĐA SERVER

2.1. Phát biểu bài tốn

Thực tế ngày nay khách hàng có thể đăng ký dịch vụ visa, vé tàu xe, đăng ký thuê xe ô tô, vé máy bay…Những mơ hình hệ thống lớn đáp ứng được nhu cầu của khách hàng, cung cấp giải pháp ứng dụng công nghệ thông tin giải quyết những thắc mắc trong mọi dịch vụ, kinh doanh.

Công ty Dịch vụ Lữ hành SaiGonTourist là công ty du lịch chuyên tổ chức các tour du lịch muốn phát triển tiềm năng kinh doanh, ứng dụng công nghệ thông tin vào việc quản lý được dễ dàng hơn. Hiện nay cơng ty có nhiều chi nhánh có thể kể ra như: chi nhánh ở Hà Nội, thành phố Hồ Chí Minh, Đà Nẵng. Từ nhu cầu của khách hàng ta có tình huống xảy ra:

Một khách hàng ở Đà Nẵng lại đăng ký tour du lich tại chi nhánh ở Hà Nội. Một khách hàng khác ở Thành Phố Hồ Chí Minh lại đăng ký tour du lịch tại chi nhánh ở Đà Nẵng trong khoảng thời gian xác định. Khách hàng ở chỗ này lại đăng ký chỗ khác liệu dữ liệu hệ thống có được cập nhật hay không. Cùng một thời gian, nhiều khách hàng truy cập đăng ký tour đồng thời liệu có xảy ra hiện tượng trùng lặp dữ liệu, mã đăng ký hay khơng?

Ví dụ: Khi đăng ký vé máy bay, khi khách hàng đăng ký đồng thời thì tương ứng cùng mã đăng ký, cùng mã ghế…hai vị khách ngồi cùng một chỗ. Vấn đề này khá lớn trong hệ CSDL tập trung và vấn đề của chúng ta là CSDL phân tán.

Vậy những vấn đề khó khăn, phức tạp nào trong khi thiết kế một hệ phân tán đáp ứng yêu cầu vừa nêu.

Từ những thành công của ứng dụng như đăng ký vé máy bay của các hãng hàng khơng lớn có tính phân tán cao. Tơi xây dựng một bài toán nhỏ với hệ thống cho phép khách hàng đăng ký tour du lịch trên mạng Internet với điều kiện sau:

- Hệ thống đa Server và CSDL đặt tại ba Server khác nhau, tương ứng với ba chi nhánh đăng ký tour du lịch Hà Nội, thành phố Hồ Chí Minh, Đà Nẵng.

</div><span class="text_page_counter">Trang 35</span><div class="page_container" data-page="35">

Hình 2. 1: Mơ hình tổng qt hệ thống đa server

- Hệ thống đăng ký phải đảm bảo tính gắn bó dữ liệu và xử lý đa truy cập đồng thời.

Cho phép khách hàng (client) đăng ký tại một máy tính bất kỳ được kết nối vào mạng của công ty, mỗi lần đăng ký thành công hệ thống sẽ cung cấp cho khách hàng một mã đăng ký.

Mỗi hệ thống ghi nhận thông tin (server nhận) biết được hoạt động đăng ký, hủy tour, thông tin của khách hàng.

Bảng 2. 1: Thông tin khách hàng khi đăng ký

1 Tour du lịch Tên tour du lịch mà khách hàng đăng ký. 2 Khách hàng Họ và tên, hộ chiếu, chứng minh nhân dân, địa

chỉ, số điện thoại, email. 3 Dịch vụ Ăn uống, thể thao, phòng..

4 Phương tiện Thông tin phương tiên (tàu, xe máy bay…) - Thực hiện cập nhật dữ liệu trên DB (Database) của nó và các server khác.

</div><span class="text_page_counter">Trang 36</span><div class="page_container" data-page="36">

- Các server có thể giám sát trạng thái của các server khác.

- Hệ thống cho phép khai thác tối đa triệt để khả năng tính tốn của từng server của từng thời điểm, từng trạm.

<i>2.2.2. Cài đặt CSDL trên các Server </i>

Tại ba Server ta cài đặt ba Database khác nhau trên ba Server khác nhau ví dụ:

<i>- Tại Server1 ta cài đặt Database DANGKYTOUR1 - Tại Server2 ta cài đặt Database DANGKYTOUR2 - Tại Server3 ta cài đặt Database DANGKYTOUR3 2.2.3. Mô hình ứng dụng của hệ thống </i>

Hình 2. 2: Mơ hình hệ thống

Trong mơ hình trên User1, User1, User1 là các Client truy cập đến Server1, Server1 tiếp nhận yêu cầu từ các Client, truy vấn DATABASE 1 trên server cục bộ, gửi yêu cầu đến các server có tham gia vào truy vấn để truy vấn các DATABASE tại các server này, nhận kết quả trả về từ các server và trả kết quả về cho Client.

</div><span class="text_page_counter">Trang 37</span><div class="page_container" data-page="37">

Ở đây hệ thống không truy vấn các DATABASE 2 và DATABASE 3 một cách trực tiếp trên ứng dụng ở Client mà chuyển trực tiếp cho ứng dụng trên từng server mà DATABASE đó gắn vào để truy vấn.

Trong q trình giao tiếp giữa các Server có thể xảy ra sự cố, gắn bó dữ liệu ta dùng phương pháp 2PC (hai pha tuyến tính) và các thuật tốn khác để giải quyết như MAONT(Model Advanced of Open Nested Transaction).

* Giải thuật hai pha tuyến tính (Linear two phase commit - 2PC).

Chúng ta giả thiết rằng tại vị trí nguồn của giao dịch một tiến trình thực hiện các thao tác của nó, tiến trình này được gọi là điều phối viên (Coordinator). Điều phối viên trao đổi với các thành viên (Participant – người tham gia) tại những vị trí có tham gia vào việc thực hiện các thao tác của giao dịch.

Có một thứ tự giữa các vị trí trong hệ thống dành cho việc giao tiếp. Thứ tự giữa các vị trí thực hiện giao dịch là 1,2,…,N với điều phối viên là vị trí đầu tiên trong thứ tự này. Nghi thức 2PC được cài đặt bằng cách trong pha đầu tiên truyền tới [tính từ điều phối viên (số 1) đến N] và trong pha thứ hai truyền ngược từ N về điều phối viên.

Điều phối viên gửi thông báo chuẩn bị (prepare) đến thành viên 2. Nếu thành viên 2 chưa sẵn sàng ủy thác giao dich, nó gửi thơng báo biểu quyết hủy bỏ vote-abort (VA) và giao dich bị hủy tại thời điểm này (hủy bỏ đơn phương của 2). Ngược lại nếu thành viên 2 đồng ý ủy thác, nó gửi thơng báo vote-commit (VC - biểu quyết ủy thác) cho thành viên 3 rồi chuyển sang trạng thái READY. Quá trình này tiếp tục cho đến khi một biểu quyết ủy thác đến được thành viên N. Đến đây kết thúc pha đầu tiên. Nếu N quyết định ủy thác, nó gửi cho thành viên N-1 thông báo global-commit (GO -ủy thốt tồn cục) bằng khơng, nó gửi thơng báo tồn cục global-abort (GA - hủy bỏ toàn cục). Theo đó các thành viên chuyển sang trạng thái thích hợp (COMMIT hoặc ABORT) và làm lan truyền thông báo trở về điều phối viên.

* Các giao dịch trong hệ phân tán:

Giao dịch là phép tốn hợp thành lơ gisch hồn chỉnh mà việc triển khai nó có thể dẫn đến tực hiện một tiến trình duy nhất hay nhiều tiến trình được định vị trên các trạm khác nhau. Trường hợp dẫn đến thực hiện nhiều tiến trình trên các trạm ở xa nhau.

</div><span class="text_page_counter">Trang 38</span><div class="page_container" data-page="38">

<i>Một giao dịch là một đơi vị tính tốn nhất quán và đáng tin cậy. Vì thế về mặt trực quan, một giao dịch nhận một CSDL, thực hiện một hành động trên CSDL và sinh ra một “bản” CSDL mới gây ra một dich chuyển trạng thái. Điều này tương tự như điều mà câu vấn tin thực hiện, ngoại trừ trường hợp nếu CSDL nhất quán trước khi thực hiện giao dịch. </i>

Giống như các nghi thức khả tín cục bộ, các phiên bản phân tán nhằm duy trì tính chất nguyên tử và tính chất bền vững của các giao dịch phân tán thực hiện trên một số CSDL. Các nghi thức này tập trung giải quyết các vấn đề thực hiện phân tán các lệnh begin_transection, read, write, commit, recover. Chúng ta giả thiết rằng tại vị trí nguồn của giao dịch có một tiến trình thực hiện các thao tác của nó. Tiến trình này được gọi là điều phối viên, điều phối viên trao đổi với các thành viên tại những vị trí có tham gia vào việc thực hiện các thao tác của giao dịch

- Các thành phần của nghi thức khả tín phân tán:

Kỹ thuật khả tín bao gồm ba nghi thức: uỷ thác, kết thúc và khôi phục. Các nghi thức ủy thác và khôi phục đặc tả cách thức thực hiện các lệnh ủy thác và khôi phục. Còn nghi thức kết thúc là như nhau đối với đối với các hệ phân tán. Giả sử rằng trong khi thực hiện một giao dịch phân tán, một trong các vị trí có tham gia vào việc thực hiện này có sự cố; chúng ta muốn các vị trí cịn lại kết thúc giao dịch bằng cách nào đó. Kỹ thuật nhằm giải quyết tình huống này được gọi là nghi thức kết thúc.

Mỗi vị trí có chứa 2 hệ thống con:

- TM (transaction manager): Quản lý việc thực hiện các giao dịch mà nó truy xuất dữ liệu đến dữ liệu tại vị trí này. Các giao dịch có thể chỉ truy xuất dữ liệu tại 1 vị trí hoặc nhiều vị trí. Mỗi TM thực hiện nhiệm vụ như sau:

+ Duy trì 1 log (nhật ký giao dịch) cho việc khôi phục dữ liệu.

+ Tham gia vào sơ đồ điều khiển tương tranh thích hợp để điều phối thực hiện tương tranh của các giao dịch thực hiện tại vị trí này.

- TC (transaction coordinator): điều phối việc thực hiện của các giao dịch mà được khởi tạo tại vị trí này. Với mỗi giao dịch TC thực hiện nhiệm vụ sau:

+ Việc bắt đầu thực hiện của giao dịch.

+ Chia giao dịch toàn cục thành các giao dịch cục bộ và phân phối chúng thực

</div>

×