Công Nghệ Thông Tin, it, phầm mềm, website, web, mobile app, trí tuệ nhân tạo, blockchain, AI, machine learning - Công Nghệ Thông Tin, it, phầm mềm, website, web, mobile app, trí tuệ nhân tạo, blockchain, AI, machine learning - Quản trị kinh doanh Quảng Nam, tháng 02 năm 2019 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 XÂY DỰNG HỆ THỐNG ĐA SERVER CHO HỆ THỐNG ĐĂNG KÝ TỪ XA QUA MẠNG. KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC Quảng Nam, tháng 5 năm 2019 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 TS. NGUYỄN HÀ HUY CƯỜNG Quảng Nam, tháng 5 năm 2019 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à hoà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 đã luôn ủ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 để hoà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 hoà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 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.4.2. Phạm vi nghiên cứu ....................................................................................... 2 1.5. Phương pháp nghiên cứu .................................................................................. 3 1.6. Cấu trúc đề tài................................................................................................... 3 NỘI DUNG ............................................................................................................. 4 Chương 1: TỔNG QUAN VỀ HỆ PHÂN TÁN ....................................................... 4 1.1. Hệ phân tán....................................................................................................... 4 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.3.2. Tính trong suốt .............................................................................................. 8 1.3.3. Tính mở ......................................................................................................... 9 1.3.4. Tính co giãn ................................................................................................. 10 1.4. Các thành phần của hệ phân tán ...................................................................... 10 1.4.1. Phần cứng hệ phân tán ................................................................................. 10 1.4.2. Phần mềm của hệ phân tán ........................................................................... 11 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 SERVER ............................................................................................................... 25 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 toá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 Phần 3. KẾT LUẬN VÀ KIẾN NGHỊ ................................................................... 64 3.1. Kết luận .......................................................................................................... 64 3.2. Kiến nghị ........................................................................................................ 64 Phần 4. TÀI LIỆU THAM KHẢO ......................................................................... 65 DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT Từ viết tắt Ký hiệu Tiếng Việt Tiếng Anh 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 TM Quản lý giao dịch Transaction manager TC Điều phối viên giao dịch Transaction coordinator 2PC Uỷ thác hai pha Tow-phare commit FIFO Vào trước ra sau First in first out 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 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 quát 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 yê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 Hình 3. 5: Màn hình Client khi đăng ký thành công. .............................................. 62 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 Trang 1 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 toá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 toá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 toá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, Trang 2 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 toá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 toá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 quá 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 1.4.1. Đối tượng nghiên cứu - 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. 1.4.2. Phạm vi nghiên cứu - Đề 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 quá trình định tuyến của các gói tin trong quá 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. Trang 3 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. 1.6. Cấu trúc đề tài Nội dung khóa luận gồm 3 chương: Chương 1: Tổng quan về hệ phân tán Giới thiệu tổng quan về hệ phân tán, hệ cơ sở dữ liệu phân tán, mục tiêu, nguyên tắc xây dựng hệ phân tán. Đặc điểm đăng ký, yêu cầu từ xa và mục đích quản lý hệ thống nhiều bản sao. Chương 2: Bài toán đăng ký từ xa qua mạng với hệ thống đa server Phát biểu bài toá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 toá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. Trang 4 NỘI DUNG Chương 1: TỔNG QUAN VỀ HỆ PHÂN TÁN 1.1. Hệ phân tán - Hệ phân tán là hệ xử lý thông tin gồm nhiều bộ xử lývi xử lý, nằm ở các vị trí khác nhau. Hệ điều hành và kiểu tổ chức máy tính khác nhau và được nối với nhau qua đường truyền. Hoạt động thống nhất theo mục tiêu chung. - 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: Trang 5 Ứ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. Trang 6 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 toá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 1.3.1. Kết nối người sử dụng với tài nguyên 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 nguyên 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 nguyên 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 toán rời rạc. Trang 7 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 đó, toà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ì toàn bộ tệp đó bị khoá 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 yê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: Trang 8 - Đườ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 toán của PC. PC ngày nay cung cấp một năng lực tính toá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 đã hoà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ể. 1.3.2. Tính trong suốt Ẩn giấu sự rời rạc và những nhược điểm nếu có của hệ phân tán đối với người sử dụng (end-user) và những nhà lập trình ứng dụng (application programmer). Theo tiêu chuẩn ISO cho hệ phân tán ISO IS 10746 tên là "Open distributed processing reference model" 1995 đã cụ thể hóa tám dạng trong suốt: Trang 9 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. 1.3.3. Tính mở 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 hoà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 chung. Trang 10 1.3.4. Tính co giãn 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 1.4.1. Phần cứng hệ phân tán 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. Trang 11 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 1.4.2. Phần mềm của hệ phân tán 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. Trang 12 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) 1.5.1. Các khái niệm cơ sở dữ liệu phân tán 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à: Trang 13 - 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 Trang 14 1.5.2. Kiến trúc của một hệ cơ sở dữ liệu phân tán 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 Trang 15 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. 1.5.3. Phân loại hệ cơ sở dữ liệu phân tán - 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ộ. Trang 16 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 1.5.4. Ưu điểm và hạn chế hệ cơ sở dữ liệu phân tán - Ư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 nguyên 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 Trang 17 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 soát toà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 các bảng truy vấn phức tạp có thể chia thành nhiều bảng nhỏ để có thể thực hiện Trang 18 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, toà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 hoà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 toà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 toán phức tạp để đảm bảo sự kết nối đúng đắn giữa các vị trí đó. - Sự toà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 toà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. Trang 19 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 yêu cầu thông tin gọi là khác (client), hệ thống tiếp nhận và giải quyết yêu cầu chủ Trang 20 (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 toá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ở. Trang 21 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. Hình 1. 14: Mô tả về ví dụ đăng ký từ xa Nếu ta vận hành nhiều chương trình đồng thời sẽ gây ra hậu quả khá nghiêm trong. Ví dụ như hàng hóa đăng ký có thể bị đăng ký bởi người khác. Trong tường hợp đó danh sách hàng hóa mà ta cứ tưởng là chính thức trở thành hàng hóa ảo. 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: Trang 22 - Ư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 toà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. Trang 23 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 quán 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ế độ hiển nhiên là phân tán CSDL. Một số thuật toán đã được đề xuất đòi hỏi có một Trang 24 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 toán điều khiển đồng thời là lớp dựa trên các tr...
Trang 1
Quảng Nam, tháng 02 năm 2019
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
XÂY DỰNG HỆ THỐNG ĐA SERVER CHO HỆ THỐNG ĐĂNG KÝ TỪ XA QUA MẠNG
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC
Quảng Nam, tháng 5 năm 2019
Trang 2UBND 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
TS NGUYỄN HÀ HUY CƯỜNG
Quảng Nam, tháng 5 năm 2019
Trang 3Xin 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à hoà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 đã luôn ủ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 để hoà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 hoà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
Trang 4MỤ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.4.2 Phạm vi nghiên cứu 2
1.5 Phương pháp nghiên cứu 3
1.6 Cấu trúc đề tài 3
NỘI DUNG 4
Chương 1: TỔNG QUAN VỀ HỆ PHÂN TÁN 4
1.1 Hệ phân tán 4
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.3.2 Tính trong suốt 8
1.3.3 Tính mở 9
1.3.4 Tính co giãn 10
1.4 Các thành phần của hệ phân tán 10
1.4.1 Phần cứng hệ phân tán 10
1.4.2 Phần mềm của hệ phân tán 11
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
Trang 52.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 toá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
Phần 3 KẾT LUẬN VÀ KIẾN NGHỊ 64
3.1 Kết luận 64
3.2 Kiến nghị 64
Phần 4 TÀI LIỆU THAM KHẢO 65
Trang 6DANH 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
Trang 7DANH 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
Trang 8DANH 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 quát 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 yê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
Trang 9Hì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
Trang 10MỞ ĐẦ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 toá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 toá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 toá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,
Trang 11vớ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 toá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 toá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 quá 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
1.4.1 Đối tượng nghiên cứu
- 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
1.4.2 Phạm vi nghiên cứu
- Đề 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 quá trình định tuyến của các gói tin trong quá 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
Trang 121.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
1.6 Cấu trúc đề tài
Nội dung khóa luận gồm 3 chương:
Chương 1: Tổng quan về hệ phân tán
Giới thiệu tổng quan về hệ phân tán, hệ cơ sở dữ liệu phân tán, mục tiêu, nguyên tắc xây dựng hệ phân tán Đặc điểm đăng ký, yêu cầu từ xa và mục đích quản lý hệ thống nhiều bản sao
Chương 2: Bài toán đăng ký từ xa qua mạng với hệ thống đa server
Phát biểu bài toá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 toá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
Trang 13NỘI DUNG Chương 1: TỔNG QUAN VỀ HỆ PHÂN TÁN 1.1 Hệ phân tán
- Hệ phân tán là hệ xử lý thông tin gồm nhiều bộ xử lý/vi xử lý, nằm ở các vị trí khác nhau Hệ điều hành và kiểu tổ chức máy tính khác nhau và được nối với nhau qua đường truyền Hoạt động thống nhất theo mục tiêu chung
- 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:
Trang 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
Trang 152 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 toá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
1.3.1 Kết nối người sử dụng với tài nguyên
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 nguyên 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 nguyên 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 toán rời rạc
Trang 16Hì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 đó, toà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ì toàn bộ tệp đó bị khoá 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 yê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:
Trang 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 toán của PC PC ngày nay cung cấp một năng lực tính toá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 đã hoà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ể
1.3.2 Tính trong suốt
Ẩn giấu sự rời rạc và những nhược điểm nếu có của hệ phân tán đối với người
sử dụng (end-user) và những nhà lập trình ứng dụng (application programmer) Theo tiêu chuẩn ISO cho hệ phân tán ISO / IS / 10746 tên là "Open distributed processing reference model" 1995 đã cụ thể hóa tám dạng trong suốt:
Trang 18Trong 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
1.3.3 Tính mở
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 hoà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
Trang 191.3.4 Tính co giãn
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
1.4.1 Phần cứng hệ phân tán
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
Trang 20Hì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
1.4.2 Phần mềm của hệ phân tán
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
Trang 21Hì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)
1.5.1 Các khái niệm cơ sở dữ liệu phân tán
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à:
Trang 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
Trang 231.5.2 Kiến trúc của một hệ cơ sở dữ liệu phân tán
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
Trang 24cặ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
1.5.3 Phân loại hệ cơ sở dữ liệu phân tán
- 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ộ
Trang 25Hì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
1.5.4 Ưu điểm và hạn chế hệ cơ sở dữ liệu phân tán
- Ư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 nguyên 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
Trang 26dù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 soát toà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
Trang 27tiế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, toà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 hoà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 toà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 toán phức tạp để đảm bảo sự kết nối đúng đắn giữa các vị trí đó
- Sự toà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 toà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
Trang 281.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
Trang 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
- Đă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 toá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ở
Trang 30Thủ 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
Hình 1 14: Mô tả về ví dụ đăng ký từ xa Nếu ta vận hành nhiều chương trình đồng thời sẽ gây ra hậu quả khá nghiêm trong
Ví dụ như hàng hóa đăng ký có thể bị đăng ký bởi người khác Trong tường hợp
đó danh sách hàng hóa mà ta cứ tưởng là chính thức trở thành hàng hóa ảo
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:
Trang 31- Ưu điểm nỗi bật:
+ Dễ dàng truy cập thông tin
+ Cho kết quả nhanh chóng
- 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 toà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
Trang 32Hì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 quán 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ế độ
Trang 33CSDL 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 toá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ó quá 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 toá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ể
Trang 34Chươ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 toá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
Trang 35Hình 2 1: Mô hình tổng quát 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
Trang 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 toán của từng server của từng thời điểm, từng trạm
- Thông tin đăng ký
2.2.2 Cài đặt CSDL trên các Server
Tại ba Server ta cài đặt ba Database khác nhau trên ba Server khác nhau ví dụ:
- 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
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
Trang 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 quá 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 toá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 thoát toàn cục) bằng không, nó gửi thông báo toà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 toán hợp thành lô gisch hoà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
Trang 38Một giao dịch là một đơi vị tính toá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
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