XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÝ THƯVIỆN TRƯỜNG VĂN LANG
Tiểu luận: “Hệ phân tán” LỜI MỞ ĐẦU Cùng với sự phát triển ngày càng cao của công nghệ thông tin. Sự ra đời và phát triển ồ ạt của máy vi tính và các phương tiện xử lý thông tin khác, cũng như nhu cầu trao đổi thông tin trong mọi hoạt động xã hội loài người. Đòi hỏi sự phát triển đồng bộ các phương pháp truyền thông. Mạng máy tính ra đời làm cho mọi người trên thế giới trở nên gần nhau hơn. Hệ tin học phân tán ra đời nhằm phát triển nhu cầu của công nghệ thông tin . Hệ tin học phân tán hay nói ngắn gọn là hệ phân tán (Distributed System) là hệ thống xử lý thông tin bao gồm nhiều bộ xử lý hoặc bộ vi xử lý nằm tại các vị trí khác nhau và được liên kết với nhau thông qua phương tiện viễn thông dưới sự điều khiển thống nhất của một hệ điều hành. Để đảm bảo tính gắn bó của hệ, yêu cầu đặt ra trước hết là đồng bộ hóa các tiến trình. Trình tự và đồng bộ các tiến trình trong hệ phân tán chỉ ra cho ta các vấn đề đồng bộ có thể sẽ dẫn đến phải thiết chế một trật tự tổng quát của các sự kiện diễn ra trong hệ. Cần phải xác định mối liên hệ trao đổi thông qua các thông điệp với thời gian truyền khác nhau, những thông tin tạm thời trao đổi không có giá trị tuyệt đối và trình tự tổng quát cần phải được thể hiện bằng phương tiện giải thuật đảm bảo hoạt động nhịp nhàng giữa các tiến trình dữ liệu có liên quan với nhau. Mục tiêu nghiên cứu của đề tài nhằm tìm hiểu về sự gắn bó dữ liệu trong hệ quản lý bãi đỗ xe và cũng như đưa ra giải thuật sắp xếp các message đến dựa trên đồng hồ lôgíc để giải quyết trình tự cập nhật thông tin nhất thiết phải giống nhau trên các trạm trong hệ phân tán. Nội dung chủ yếu trình bày của đề tài được phân bố trên ba chương : - Chương 1 : Phần cơ sở lý thuyết những vấn đề chung nhất của hệ tin học phân tán làm cơ sở cho các phần sau của đề tài. - Chương 2 : Phương pháp đảm bảo gắn bó dữ liệu - Chương 3 : Nội dung của bài toán hệ quản lý bãi đổ xe và nêu ra những vấn đề không gắn bó dữ liệu trên các trạm. - Chương 4 : Những nguyên lý và thuật toán sắp xếp các thông điệp đến dựa trên đồng hồ lôgíc. (nội dung của giải thuật được trình bày theo giải thuật Lamport). Để hoàn thành tiểu luận này, chúng tôi xin chân thành cám ơn sự chỉ bảo tận tình của Thầy giáo: PGS.TS.Lê Văn Sơn và các bạn học viên trong lớp đã nhiệt tình góp ý. Học viên: Nguyễn Hà Huy Cường, Nguyễn Văn Khương Trang 1 Tiểu luận: “Hệ phân tán” CHƯƠNG 1 CÁC KHÁI NIỆM CƠ BẢN VỀ HỆ TIN HỌC PHÂN TÁN 1.1. TỔNG QUAN VỀ HỆ TIN HỌC Một cách tổng quát, hệ tin học có thể bao gồm các thành phần cơ bản như phần cứng, hệ điều hành, các chương trình ứng dụng. Hệ tin học nói chung có thể được mô hình hoá như sau: Hình 1.1 Các thành phần của hệ tin học Các thiết bị phần cứng bao gồm bộ xử lý trung tâm, bộ nhớ và các thiết bị ngoại vi và đóng vai trò là một trong hai loại tài nguyên cơ sở của hệ thống tin học. Các chương trình ứng dụng là thành phần tiếp theo sau hệ điều hành, là các phần mềm cơ sở phục vụ cho việc triển khai các ứng dụng cụ thể. Ví dụ như chương trình dịch, hệ quản trị cơ sở dữ liệu, các chương trình trợ giúp sử dụng các thiết bị chuyên dụng, các trò chơi điện tử . Người sử dụng là một khái niệm được hiểu theo nghĩa rộng, dưới góc độ hệ điều hành. Đó có thể là các nhà chuyên môn, các máy tính, các hệ tự động vận hành gắn với máy tính. . . đang khai thác hệ thống qua các lệnh điều khiển theo một thuật toán nào đó nhằm đạt được mục tiêu xác định từ trước. Hệ điều hành các máy tính và mạng máy tính được đặt sát phần cứng. Nó gắn kết chặt chẽ với thiết bị bởi một hệ thống các chương trình điều khiển và sắp xếp nhằm khai thác phần cứng phục vụ cho các chương trình ứng dụng khác nhau với kết quả và hiệu năng chấp nhận được. Như vậy, xét về mặt quản lý - điều hành các hoạt động của hệ thống thì các thực thể vừa nêu trên bao gồm phần cứng, phần mềm và dữ liệu. Là những đối tượng mà hệ điều Học viên: Nguyễn Hà Huy Cường, Nguyễn Văn Khương Trang 2 II III . I HỆ ĐIỀU HÀNH PHẦN CỨNG Tiểu luận: “Hệ phân tán” hành phải quan tâm. Những đối tượng này chính là thực thể cơ bản của hệ tin học và được mô tả hình 1.2 Hình 1.2 Ba thực thể của hệ tin học Như vậy, hệ thống tin học là một hệ thống bao gồm hai phần cơ bản là phần cứng và phần mềm gắn bó hữu cơ với nhau và có khả năng xử lý thông tin. 1.2. HỆ TẬP TRUNG Tiêu biểu là hệ thống máy đơn, là máy không kết nối vật lý và logic với các máy khác như hình vẽ sau: Hình 1.3 Hệ thống máy đơn Ở một thời điểm nhất định, máy đơn được điều hành bởi một hệ điều hành duy nhất. Hệ thống như vậy được gọi là hệ tin học tập trung, thích hợp với các máy tính loại trung và loại lớn. Tóm lại, hệ tin học tập trung bao gồm một hệ thống máy đơn được điều khiển bởi một hệ điều hành duy nhất và quản lý toàn bộ thông tin trên thiết bị nhớ cục bộ của mình. Học viên: Nguyễn Hà Huy Cường, Nguyễn Văn Khương Trang 3 Phần cứng Phần mềm Dữ liệu Bộ nhớ trong U 1 U 2 U n . . . Tiểu luận: “Hệ phân tán” 1.3. HỆ TIN HỌC PHÂN TÁN Hệ tin học phân tán (Distributed System) là hệ thống không chia sẻ bộ nhớ và đồng hồ, khác với xu hướng phân tán các tính toán trên nhiều bộ xử lý của hệ thống đa xử lý. Như vậy, hệ tin học phân tán đòi hỏi hệ thống phần cứng của mình phải trang bị bộ nhớ cục bộ, các bộ xử lý trao đổi thông tin với nhau thông qua các hệ thống đường truyền như cáp chuyên dụng, đường điện thoại, cáp quang. . . Như vậy, hệ tin học phân tán có thể bao gồm bốn thực thể như sau: Hình 1.4 Các thực thể của hệ phân tán Một tư tưởng lớn của hệ tin học phân tán là phân tán hoá các quá trình xử lý thông tin và thực hiện công việc đó trên các trạm khác nhau. Đó là cơ sở căn bản cho việc xây dựng các ứng dụng lớn như thương mại điện tử, giáo dục điện tử, chính phủ điện tử, thư viện điện tử, . . . Hiện nay, đứng trên những phương diện khác nhau, có thể có các định nghĩa khác nhau về hệ tin học phân tán, nhưng phổ biến hơn cả là định nghĩa sau: Hệ tin học phân tán (hệ phân tán) là hệ thống xử lý thông tin bao gồm nhiều bộ xử lý hay vi xử lý nằm tại các vị trí khác nhau và được liên kết với nhau thông qua phương tiện viễn thông dưới sự điều khiển thống nhất của một hệ điều hành. Từ định nghĩa trên, hệ phân tán có các ưu điểm căn bản so với hệ tập trung, như sau: - Tăng tốc độ bình quân trong tính toán, xử lý. - Cải thiện tình trạng luôn sẵn sàng của các loại tài nguyên. - Tăng độ an toàn cho dữ liệu. - Đa dạng hoá các loại hình dịch vụ tin học. - Đảm báo tính toàn vẹn của thông tin. Học viên: Nguyễn Hà Huy Cường, Nguyễn Văn Khương Trang 4 Phần cứng Phần mềm Dữ liệu Truyề n thông Tiểu luận: “Hệ phân tán” CHƯƠNG 2 PHƯƠNG PHÁP ĐẢM BẢO GẮN BÓ DỮ LIỆU 2.1. ĐẶT VẤN ĐỀ 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 nhằm tìm ra các giải pháp hữu hiệu đảm bảo tính gắn bó thông tin trong các cơ sở dữ liệu truy cập ngẫu nhiên với số lượng truy cập lớn [6,5,4,1]. Việc nghiên cứu, phát triển các phương pháp đảm bảo gắn bó dữ liệu trong môi trường phân tán đến nay đã có một số thành công đáng kể. Trước hết, phải nói đến sự tích hợp hàng loạt các hàm vào các hệ điều hành, hệ quản trị cơ sở dữ liệu, ngôn ngữ lập trình với phương thức riêng rẽ của từng hệ cho phép đảm bảo phần cơ bản của việc gắn bó thông tin nói chung trong quá trình đa truy cập thông qua hệ thống viễn thông. Việc triển khai phương pháp cho phép gắn bó dữ liệu trong môi trường phân tán trong điều kiện lý tưởng (không có bất kỳ sự cố nào) đã được áp dụng và mang lại những hiệu quả nhất định cho các hệ thống đăng ký [4,5,1]. Tuy nhiên, trong quá trình triển khai lập trình và vận hành các hệ thống đăng ký, vấn đề gắn bó dữ liệu trong các cơ sở dữ liệu khi hệ thống bị sự cố đang đặt ra như là vấn đề quan trọng và có ý nghĩa sống còn trong việc phát triển toàn hệ nói chung. Nói tóm lại, sự cố trong các hệ thống nói chung, hệ thống đăng ký nói riêng có thể xảy ra và là nguyên nhân dẫn đến hệ thống cơ sở dữ liệu không thể đảm bảo tính gắn bó được nữa. Trong phạm vi của bài viết này, chúng tôi giới thiệu một giải pháp được phát triển dựa trên giải thuật hai pha tuyến tính và giải thuật MAONT kết hợp với mô hình xử lý phân tán JavaRMI và các kỹ thuật chuyển tác trong SQL Server 2000 nhằm đảm bảo tính gắn bó dữ liệu phân tán trong điều kiện có sự cố phục vụ cho các hệ thống thông tin đăng ký. 2.2. TÁC ĐỘNG CỦA SỰ CỐ ĐỐI VỚI GẮN BÓ DỮ LIỆU Nhằm nghiên cứu và phát triển phương pháp đảm bảo gắn bó dữ liệu một cách khả thi trong điều kiện có sự cố cho các hệ thống thông tin đăng ký nói riêng, các hệ thống tin học phân tán nói chung, bản chất của vấn đề gắn bó dữ liệu cũng như nguyên nhân dẫn đến sự cố làm cho dữ liệu không còn gắn bó được chỉ ra và nhóm ghép trong quá trình phân tích, thiết kế hệ thống. Học viên: Nguyễn Hà Huy Cường, Nguyễn Văn Khương Trang 5 Tiểu luận: “Hệ phân tán” Một cơ sở dữ liệu nào đó được gọi là gắn bó, nếu nó thỏa mãn một tập các ràng buộc về toàn vẹn ngữ nghĩa. Để đảm bảo tính gắn bó dữ liệu nhiều cơ chế khác nhau như điều khiển hoạt động đồng thời [5], kiểm soát tính toàn vẹn ngữ nghĩa, … được sử dụng [4]. Việc kiểm soát tính toàn vẹn ngữ nghĩa tốt sẽ đảm bảo được tính gắn bó dữ liệu của hệ thống thông tin. Hiện nay, người ta đang áp dụng hai phương pháp chủ yếu : 1. Loại bỏ các chương trình/thủ tục cập nhật có thể dẫn đến trạng thái không gắn bó dữ liệu trong các cơ sở dữ liệu [CKP 1 ] 2. Triệu gọi các chương trình/thủ tục đặc biệt đã được cài đặt trên hệ thống nhằm khôi phục trạng thái ban đầu trước khi cập nhật [CKP 2 ]. Các ràng buộc toàn vẹn được phân làm hai loại chủ yếu : 1. Ràng buộc cấu trúc (Structural Constraint) diễn tả những đặc tính ngữ nghĩa cơ bản vốn có trong mô hình. Ví dụ như ràng buộc thể hiện bằng khóa duy nhất trong mô hình quan hệ hoặc các liên kết theo kiểu 1 – n, (n > 1) giữa các đối tượng trong mô hình mạng 2. Ràng buộc hành vi (Behavioral Constraint) nhằm điều hòa các hoạt động của các ứng dụng. Trong quá trình nghiên cứu bài toán, các tác giả vận dụng phương pháp tổng quát đảm bảo gắn bó dữ liệu và các ràng buộc toàn vẹn thông tin phục vụ công tác phân tích, thiết kế hệ quản trị cơ sở dữ liệu cho hệ thống cơ sở dữ liệu đăng ký với thông tin gắn bó trong điều kiện phân tán. Những thông tin chi tiết có thể tham khảo trong tài liệu [7]. Để có thể khôi phục lại dữ liệu và trạng thái gắn bó thông tin của toàn hệ thống khi có sự cố diễn ra, một trong những vấn đề quan trọng hàng đầu là cần phải xác định được loại, bản chất và vị trí diễn ra sự cố mà từ đó nhận biết một cách tự động và chuyển đến phương án giải quyết nào cho phù hợp. Bản chất (mã) sự cố và thủ tục giải quyết sự cố có liên quan đến gắn bó được lưu trữ tại trung tâm hoặc phân tán trên các trạm của hệ đăng ký phân tán. Trong trường hợp các thủ tục được phân tán, thì bản thân các thủ tục đó cũng đòi hỏi phải có giải pháp đảm bảo gắn bó giống như dữ liệu bình thường [5]. Về tổng quan, các sự cố được chia làm hai loại chính là sự cố xảy ra do các trạm trên hệ thống phân tán và sự cố do hệ thống viễn thông gây ra [4,5]. Song để tiện lập trình giải pháp, người ta cụ thể hoá ra thành bốn mức với các nguyên nhân tương ứng thể hiện trong bảng 1. Học viên: Nguyễn Hà Huy Cường, Nguyễn Văn Khương Trang 6 Tiểu luận: “Hệ phân tán” Bảng 1. Các loại sự cố và nguyên nhân gây ra sự cố TT Loại sự cố Tiếng Anh Nguyên nhân 1 Sự cố giao dịch Transaction Failure Do một lỗi nào đó trong bản thân giao dịch gây nên. Ví dụ như dữ liệu nhập không đúng hoặc do phát hiện ra một khóa gài tiềm tàng hoặc hiện hữu 2 Sự cố Vị trí Site Failure Do một lỗi phát sinh trong quá trình vận hành hệ thống. Lỗi này có thể bắt nguồn từ phần thiết bị như bộ xử lý/bộ vi xử lý, bộ nhớ, các thiết bị ngoại vi, . bị sự cố. Khi bị sự cố, hệ thống lập tức bị ngừng hoạt động. Hệ thống chương trình, đặc biệt là các chương trình điều khiển cũng có thể sinh lỗi. Đó là các lỗi do thuật toán, do lệnh viết sai, do phần lưu trữ chương trình hay do virus. Các lỗi này thường là ở các chương trình và cơ sở dữ liệu 3 Sự cố phương tiện Media Failure Do sự cố của các thiết bị lưu trữ thứ cấp dùng để lưu cơ sở dữ liệu. Khi có sự cố này thì một phần hoặc tất cả cơ sở dữ liệu trên thiết bị đó được xem như bị hủy hoại hoặc không thể truy cập một cách bình thường được 4 Sự cố đường truyền Transmission Failure Do lỗi trong các thông điệp, các thông điệp vô trật tự, thông điệp bị thất lạc hoặc không phân phối thông điệp và sự cố khác liên quan đến đường truyền. Phương pháp tổng quát cho việc khắc phục bốn loại sự cố này được trình bày trong bảng 2 [4]. Học viên: Nguyễn Hà Huy Cường, Nguyễn Văn Khương Trang 7 Tiểu luận: “Hệ phân tán” Bảng 2. Phương pháp tổng quát khắc phục sự cố TT Loại sự cố Cách khắc phục 1 Sự cố giao dịch [CKP 1 ] + [CKP 2 ] Hủy bỏ giao dịch, sau đó đặt lại cơ sở dữ liệu về trạng thái của nó trước khi khởi động giao dịch này 2 Sự cố vị trí [CKP 2 ] Thiết kế nghi thức ủy thác nguyên tử không bị phong tỏa 3 Sự cố phương tiện [CKP 0 ] Được xem như những vấn đề cục bộ của một vị trí, vì vậy không xem xét trong trường hợp các hệ thống phân tán 4 Sự cố đường truyền [CKP 2 ] Sử dụng bộ đếm thời gian và cơ chế quá hạn để theo dõi xem đã qua bao lâu kể từ khi vị trí gửi không nhận được thông điệp trả lời của vị trí đến. 2.3. PHÁT TRIỄN GIẢI PHÁP KỸ THUẬT ĐẢM BẢO GẮN BÓ DỮ LIỆU Để dễ dàng mô tả các giải thuật đảm bảo gắn bó dữ liệu phân tán, 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) 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ải tiến giải thuật hai pha tuyến tính ( Linear 2PC ) [4], giải thuật MAONT [1], ta thiết kế giải thuật mà trong đó các thành viên có thể trao đổi với nhau. Có một thứ tự giữa các vị trí trong hệ thống dành cho việc giao tiếp. Chúng ta hãy giả thiết rằng thứ tự giữa các vị trí có tham gia vào việc thực hiện một 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 (Giải thuật được minh họa bằng hình 1). Theo mô hình trong hình vẽ, ta có các đối tượng sau : 1. C 1 , C 2 , ., C n là các Client truy cập Web Server bằng trình duyệt Web 2. Servlets là các đối tượng xử lý yêu cầu được gửi từ các C i , i=1,n Học viên: Nguyễn Hà Huy Cường, Nguyễn Văn Khương Trang 8 Tiểu luận: “Hệ phân tán” 3. TPC-Server-App1, TPC-Server-App2, , TPC-Server-AppN là các RMI Server cài đặt thuật toán 2PC tuyến tính (Linear Two Phase Commit - TPC) 4. TPCMonitorServer là một trình giám sát cho phép hiển thị quá trình dịch chuyển của danh sách di chuyển [6] trong quá trình xử lý của các TPC-Server-Appi, i = 1,N 5. ConnectionPool là chương trình điều khiển các liên kết cơ sở dữ liệu dùng chung 6. Database1, Database2, ., DatabaseN là các cơ sở dữ liệu quan hệ phân tán trên mạng. Mô tả hoạt động : Các C 1 , C 2 , , C n là các Client truy cập vào Web Server bằng trình duyệt Web. Các yêu cầu này đòi hỏi việc xử lý phải truy vấn đến các cơ sở dữ liệu phân tán. Do đó việc xử lý thành công hay không phụ thuộc vào kết quả của tất cả các truy vấn này. Điều đó có nghĩa là, xử lý sẽ thành công nếu tất cả các truy vấn đều thành công, ngược lại, xử lý sẽ không thành công nếu có bất kỳ một truy vấn nào bị lỗi hoặc không thực hiện được. Khi nhận được một yêu cầu từ các C i , i=1,n, các Servlet sẽ dựa vào yêu cầu này để thành lập nên một danh sách các Database Server sẽ truy vấn và các câu lệnh SQL tương ứng được thực hiện tại mỗi Server. Việc thành lập danh sách các câu lệnh SQL truy vấn tại mỗi Database Server được dựa theo thứ tự ưu tiên SELECT, DELETE, UPDATE, INSERT. Sau khi thành lập danh sách di chuyển, Servlet chuyển danh sách di chuyển này cho TPC-Server-App đầu tiên trong danh sách di chuyển thông qua phương thức gọi từ xa RMI. Học viên: Nguyễn Hà Huy Cường, Nguyễn Văn Khương Trang 9 Tiểu luận: “Hệ phân tán” Mỗi TPC-Server-App cài đặt một giao diện cung cấp phương thức xử lý theo thuật toán 2PC tuyến tính với tham số là danh sách di chuyển, chỉ mục hiện tại của danh sách và trả về kết quả là danh sách kết quả truy vấn của chính nó và các Server đứng phía sau nó trong danh sách di chuyển. public interface TPCApp extends Remote { public ResultQueryList queryApp(MovableList movableList,int index) throws RemoteException; } Nếu quá trình xử lý tại bất kỳ một TPC-Server-App nào bị lỗi thì kết quả trả về là null. Dựa vào kết quả trả về này, các TPC-Server-App commit hoặc rollback transaction đang quản lý. Như vậy, khi TPC-Server-App đầu tiên nhận được danh sách di chuyển, TPC-Server-App bắt đầu một transaction để thực hiện các câu lệnh SQL truy vấn CSDL cục bộ thông qua kết nối CSDL được lấy từ ConnectionPool cục bộ .Tiếp theo, TPC-Server-App tăng chỉ mục hiện tại của danh sách di chuyển lên 1 và chuyển danh sách di chuyển này đến TPC-Server-App kế tiếp. Quá trình này được lặp lại cho đến khi kết thúc danh sách di chuyển. Tại Server cuối cùng trong danh sách di chuyển, nếu việc truy vấn CSDL cục bộ thành công, TPC- Server-App commit transaction và trả về kết quả là ResultQueryList khác null. Dựa vào kết quả trả về này, Server đứng trước trong danh sách di chuyển sẽ commit hoặc rollback transaction cục bộ và trả về kết quả cho Server liền trước. Khi Servlet nhận được kết quả là null có nghĩa là xử lý không thành công. Ngược lại, Servlet sẽ tiếp tục xử lý kết quả nhận được để trả về cho Client. Các bước cơ bản của giải thuật đề xuất nhằm minh họa cho việc cải tiến giải thuật MAONT và giải thuật hai pha tuyến tính được mô tả qua hình 2. Việc triển khai xây dựng chương trình bằng ngôn ngữ lập trình Java cùng với thư viện RMI và tiến hành thực nghiệm sau đó đã đạt được kết quả nhất định. Học viên: Nguyễn Hà Huy Cường, Nguyễn Văn Khương Trang 10 [...]... Nguyễn Văn Khương Trang 16 Tiểu luận: “Hệ phân tán” CHƯƠNG 4 SẮP XẾP CÁC THÔNG ĐIỆP ĐẾN DỰA TRÊN ĐỒNG HỒ LOGIC 4.1 CƠ SỞ LÝ THUYẾT 4 1.1 Các quy tắc STT Quy tắc 1 Các bộ cung cấp bắt buộc phải thực hiện cùng một giải thuật 2 Các bộ cung cấp đều nhận tất cả các thông điệp phát đi từ các tiến trình 3 Các thông điệp phải được xử lý cùng một trật tự như nhau trong các chương trình cung cấp 4.1.2 Lý do sử... phân tán” Học viên: Nguyễn Hà Huy Cường, Nguyễn Văn Khương Trang 11 Tiểu luận: “Hệ phân tán” CHƯƠNG 3 SỰ GẮN BÓ DỮ LIỆU TRONG HỆ QUẢN LÝ BÃI ĐỖ XE 3.1 ĐẶT VẤN ĐỀ 1 Nhìn chung, các tiến trình kể các tiến trình xuất phát từ các ứng dụng độc lập muốn truy cập vào các tài nguyên với số lượng vốn rất hạn chế hay truy cập vào thông tin dùng chung cùng một lúc Trường hợp này gọi là truy cập tương tranh Vì vậy,... giữa các bảo vệ 3.6 KẾT LUẬN Trong bài toán hệ quản lý đổ xe việc không gắn bó dữ liệu luôn luôn xảy ra ở các trạm nếu không có một cơ chế để thực hiện đồng bộ hoá các tiến trình (cho phép các ô tô vào bãi đậu theo một trình tự) Khi thực hiện phân tán chức năng cung cấp trên nhiều trạm khác nhau (các bảo vệ) sự hoạt động gắn bó với nhau giữa các chương trình cung cấp là rất cần thiết để đảm bảo cho... 2 các khái niỆm cơ bẢN VỀ HỆ TIN HỌC PHÂN TÁN .2 CHƯƠNG 2 5 PHƯƠNG PHÁP ĐẢM BẢO GẮN BÓ DỮ LIỆU 5 CHƯƠNG 3 12 SỰ GẮN BÓ DỮ LIỆU TRONG HỆ QUẢN LÝ BÃI ĐỖ XE 12 CHƯƠNG 4 17 SẮP XẾP CÁC THÔNG ĐIỆP ĐẾN DỰA TRÊN ĐỒNG HỒ LOGIC 17 Học viên: Nguyễn Hà Huy Cường, Nguyễn Văn Khương Trang 24 ... các xung đột giữa các tiến trình muốn truy cập vào tài nguyên dùng chung đây là một trong những nguyên nhân phải thực hiện cơ chế đổng bộ hoá các tiến trình 2 Các tiến trình của cùng một hệ ứng dụng hoạt động theo kiểu hợp lực để giải quyết các bài toán đặt ra và cho kết quả nhanh chóng nhất Điều này cho phép tăng hiệu năng sử dụng thiết bị và hiệu quả hoạt động của chương trình Đây là một trong những... M2 M3 M2 M3 M3 Hình 2.1 : Thời hạn truyền và nhận thông điệp có trật tự Học viên: Nguyễn Hà Huy Cường, Nguyễn Văn Khương Trang 14 Tiểu luận: “Hệ phân tán” 3.5 GẮN BÓ DỮ LIỆU BÀI TOÁN QUẢN LÝ BÃI ĐỖ XE Trật Bảo vệ 1 tự Bảo vệ 2 Bảo vệ 3 Bảo vệ 4 Thông Giá Thông Giá Thông Giá Thông Giá điệp xử lý Trị điệp Trị điệp Trị điệp Trị 100 100 100 100 1 M1 120 M1 120 M1 120 M1 120 2 M2 110 M2 110 M2 110 M2 110... Sự cố hay gián đoạn vật lý tại một trạm nào đó được phát hiện sẽ lập tức thông báo đến tất cả các trạm có ý định liên lạc với nó 3.4 BÀI TOÁN QUẢN LÝ BÃI ĐỖ XE Trong đó BV - người bảo vệ có nhiệm vụ phân phối chổ cho các xe ô tô VT - Vị trí cho từng xe ô tô cụ thể BV VT VT VT VT VT VT VT BV VT BV VT VT VT Trong bài toán - Bãi đậu xe chính là tài nguyên - Xe chính là các tiến trình - Nếu một cửa là tập... thực hiện, sự kiện tính a xảy ra trước sự kiện tính b, ký hiệu a → b, nếu 1 a và b xuất hiện trên cùng một bộ xử lý và a xảy ra trước b trong thực hiện trên bộ xử lý đó, hoặc 2 a gây ra việc gửi thông báo m và b bao hàm việc nhận thông báo m, hoặc • Học viên: Nguyễn Hà Huy Cường, Nguyễn Văn Khương Trang 17 Tiểu luận: “Hệ phân tán” • • 3 ∃ sự kiện tính c sao cho a → c và c → b Xảy ra trước có nghĩa... trạng thái các bộ xử lý mà cả trạng thái các thông báo đang di chuyển • Giải pháp với nhát cắt gần nhất – Mỗi thành phần của mảng store chứa thêm số thông báo nhận được (trực tiếp) từ mỗi bộ xử lý hàng xóm – Để tính nhát cắt nhất quán gần nhất, mỗi pi thực hiện • Duyệt mảng store từ chỉ số nhỏ nhất đến chỉ số lớn nhất, giả lập lại các bước tính • Ghi dấu các thông báo định gửi trong quá trình giả lập •... Hinit , i) Trong đó, i, Hinit là thời điểm khởi sự giống nhau cho tất cả các trạm Tiêu chí để sắp xếp dựa vào Hi Mỗi trạm quản lý một hàng đợi các thông điệp được sắp xếp hoàn toàn bởi quan hệ ⇒ theo cặp của từng thông điệp Học viên: Nguyễn Hà Huy Cường, Nguyễn Văn Khương Trang 22 Tiểu luận: “Hệ phân tán” Thuật toán được mô tả theo sơ đồ sau : Khởi tạo hàng đợi, mỗi máy tự phát thông