Đăng ký Đăng nhập
Trang chủ Kỹ thuật - Công nghệ Điện - Điện tử Vấn đề nhiều bản sao trong điều kiện số lượng cập nhật lớn...

Tài liệu Vấn đề nhiều bản sao trong điều kiện số lượng cập nhật lớn

.PDF
29
82
83

Mô tả:

Vấn đề nhiều bản sao trong điều kiện số lượng cập nhật lớn Tiểu luận Hệ Phân Tán LỜI NÓI ĐẦU Hệ phân tán là lĩnh vực kiến thức tiên tiến nhằm giúp cho các chuyên viên công nghệ thông tin trong công tác nghiên cứu, phân tích và thiết kế các hệ thống tin học. Đây là lĩnh vực có tầm ứng dụng cao đang trên đà phát triển nhanh chóng và đã đạt được những thành tựu ứng dụng đáng kể. Thành phần của hệ phân tán bao gồm các hệ thống cục bộ (mạng hay máy đơn), trong đó một (hay nhiều) hệ thống phát các yêu cầu thông tin còn các hệ thống khác trả lời các yêu cầu có liên quan đến phần dữ liệu của mình. Các hệ thống truyền thống như hệ rời rạc hay tập trung không thể đáp ứng chính xác và nhanh chóng các yêu cầu thông tin từ xa với lưu lượng thông tin lớn. Các thao tác chuẩn của hệ phân tán bao gồm :  Tiếp nhận và ghi yêu cầu chỉ dẫn.  Dịch yêu cầu để có thể tìm thông tin cần thiết. Thực hiện một số việc riêng của hệ thống cục bộ như : kiểm tra quyền truy cập thông tin …  Gửi kết quả cho hệ thống đã phát yêu cầu. Các đặc điểm cơ bản của tất cả các hệ thống tin học phân tán là :  Thời hạn truyền thông tin trong hệ thống không giống nhau, các thông điệp có thể bị mất trong quá trình chuyển tải, các thông điệp có thể được truyền kép và hệ thống có thể rơi vào sự cố bất cứ lúc nào.  Một (hay nhiều) máy tính cấu thành của hệ phân tán có thể bị sự cố và hoạt động của toàn hệ trở nên bị đình trệ hoặc kém hiệu quả. Quản lý nhiều bản sao (multicopies) 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ý chúng trong môi trường phân tán. Nội dung quản lý nhiều bản sao là các giải pháp cho phép tự động hóa các công việc kiểm tra tính hợp thức của truy cập thông tin, khôi phục thông tin, cập nhật thông tin, an toàn cho các bản sao, sử dụng các bộ nhớ, đĩa, lưu lịch sử, mở/ghi lịch sử, chuyển các bản loại bỏ vào vùng có thể khôi phục,...Trong các nội dung nêu trên, vấn đề quan trọng nhất là cập nhật tự động thông tin vào các bản sao. Trong giới hạn của một báo cáo tiểu luận kết thúc môn học “Hệ phân tán”, báo cáo này trình bày những nội dung sau: Về phần lý thuyết + Giải quyết vấn đề nhiều bản sao. Về phần bài tập Hãy trình bày và giải thích bằng sơ đồ thuật toán xử lý : 1. Các thao tác đọc. 2. Các thao tác đọc-ghi. Do thời gian và kiến thức còn hạn chế, tiểu luận này chắc chắn còn những thiếu sót, tôi rất mong nhận được sự góp ý chân thành của Thầy giáo Lê Văn Sơn và các bạn trong lớp. Cho phép tôi được bày tỏ lòng biết ơn chân thành Thầy giáo Lê Văn Sơn và các bạn trong lớp đã giúp đỡ tôi hoàn thành công việc này. Trân trọng cám ơn! GVHD: PGS.TS. Lê Văn Sơn Trang 1 HVTH: Lê Quốc Dũng -KHMT K16 Vấn đề nhiều bản sao trong điều kiện số lượng cập nhật lớn Tiểu luận Hệ Phân Tán A. PHẦN LÝ THUYẾT CHƯƠNG I: TỔNG QUAN VỀ HỆ PHÂN TÁN I. Hệ phân tán (Distributed System): Hệ tin học phân tán là một hệ thống đa dạng, nhiều thành phần và phức tạp về mặt cấu trúc, là vùng tri thức hiện đại đang được các chuyên gia công nghệ thông tin đặc biệt quan tâm nghiên cứu và đỗi mới một cách nhanh chóng. Trong điều kiện đó, đứng trên một quan điểm khác nhau người ta đã đưa ra các định nghĩa khác nhau về hệ phân tán như sau: Theo định nghĩa của Andrew Tanenbanum: Hệ phân tán là một tập hợp các máy tính độc lập mà xuất hiện đối với các người sử dụng như một máy tính đơn. Với các đặc điểm:  Nhiều bộ phận.  Kết nối thông qua mạng truyền thông.  Chia xẻ các tài nguyên. Hình 1.1. Ví dụ về hệ phân tán - Một Intranet tiêu biểu Nói chung, một định nghĩa phổ biến và khá đầy đủ về hệ phân tán được trình bày trong tài liệu [1] như sau: “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 các 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ục tiêu của hệ phân tán: GVHD: PGS.TS. Lê Văn Sơn Trang 2 HVTH: Lê Quốc Dũng -KHMT K16 Tiểu luận Hệ Phân Tán Vấn đề nhiều bản sao trong điều kiện số lượng cập nhật lớn  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 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 hóa 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. II.Các mô hình hệ phân tán: 1.Các lớp dịch vụ phần mềm và phần cứng: Các lớp phần mềm: Kiến trúc phần mềm: cấu trúc của phần mềm như là các lớp và các module trong các thuật ngữ của các dịch vụ đưa ra và yêu cầu giữa các tiến trình trên cùng hoặc trên các máy tính khác nhau. Platform (hệ nền): phần cứng mức thấp nhất và các lớp phần mềm (hệ điều hành). Middleware: một lớp của phần mềm mà mục đích của nó là đánh dấu heterogeneity và để cung cấp một mô hình lập trình cho các ứng dụng, như: CORBA, RMI (Remote Method Invocation), DCOM (Distributed Component Object Model),... 2.Kiến trúc hệ thống phân tán: 2.1.Mô hình Client/Server: Một WebServer thường là một client của một File Server cục bộ. Các WebServer và các Server của Internet khác là các client của một DNS Server cái mà dịch các tên miền Internet thành các địa chỉ mạng. GVHD: PGS.TS. Lê Văn Sơn Trang 3 HVTH: Lê Quốc Dũng -KHMT K16 Tiểu luận Hệ Phân Tán Vấn đề nhiều bản sao trong điều kiện số lượng cập nhật lớn Một máy tìm kiếm là một Server, nhưng nó chạy chương trình được gọi là Web Crawlers cái mà truy cập các Web server thông qua Internet cho thông tin yêu cầu.  Dịch vụ cung cấp bởi nhiều server: Nhiều Server có thể:  Mỗi phần là một tập hợp các đối tượng.  Duy trì các bản copy của toàn bộ tập hợp các đối tượng trên một vài máy.  Ví dụ Web Proxy Server: Web Proxy Server cung cấp một bộ nhớ cache chia xẻ cho các máy client tại một site hoặc băng qua một vài site khác nhau. 2.2.Mô hình kiến trúc hệ phân tán ngang hang Đặc điểm nổi bật của hệ thống này là dữ liệu được tổ chức ở các nút có chức năng như nhau. Đồng thời sự tổ chức dữ liệu ở các nút này lại có thể rất khác nhau, từ đó cần phải có: GVHD: PGS.TS. Lê Văn Sơn Trang 4 HVTH: Lê Quốc Dũng -KHMT K16 Tiểu luận Hệ Phân Tán  Vấn đề nhiều bản sao trong điều kiện số lượng cập nhật lớn Định nghĩa dữ liệu tại mỗi vị trí : tại mỗi phút phải xây dựng lược đồ dữ liệu cục bộ LIS (local Internal Schema)  Mô tả cấu trúc logic toàn cục: Lược đồ khái niệm toàn cục GCS(Global Conceptual Schema)  Mô tả cấu trúc logic tại mỗi vị trí , điều nảy xảy ra do nhân bản và phân mảnh , gọi là lược đồ khái niệm cục bộ LCS (Local Conceptual Schema)  Mô tả cấu trúc dữ liệu của các ứng dụng gọi là lược đồ ngoại giới ES (External Schema) Cấu trúc hệ thống bao gồm hai thành phần chính : Bộ tiếp nhận người dùng (User Processor) và bộ phận xử lý dữ liệu (Data Processor).Hai modul này được đặt chung trên mỗi máy chứ không tách biệt như hệ thống khách đại lý . Các chức năng cơ bản của từng modul như sau :  User Interface Handler – Giao tiếp người sử dụng : Diễn dịch yêu cầu , định dạng kết quả .  Semantic Data Controler – Kiểm soát dữ liệu ngữ nghĩa. Dựa vào lược đồ khái niệm toàn cục để kiểm tra câu truy vấn tin có thực hiện được hay không  Global Query Optimizer – Tối ưu hóa câu hỏi toàn cục : Định ra chiến lược thực thi tốt nhất trên các nút .  Global Execution Monitor – Điều khiển thực thi câu truy vấn toàn cục .  Local Query Processor – Xử lý câu truy vấn cục bộ .  Local Recovery Manager – Quản lý khôi phục cục bộ : Quản lý sự nhất quán khi có sự cố  Run-time Support Processor – Bộ hận hỗ trợ thực thi : Quản lý truy xuất cơ sở dữ liệu. GVHD: PGS.TS. Lê Văn Sơn Trang 5 HVTH: Lê Quốc Dũng -KHMT K16 Tiểu luận Hệ Phân Tán Vấn đề nhiều bản sao trong điều kiện số lượng cập nhật lớn 2.3.Mô hình tương tác trong hệ phân tán:  Thực hiện truyền thông:  Sự tiềm ẩn (Latency): Sự trì hoãn lan truyền: thời gian cần thiết để một bit đầu tiên của một thông điệp truyền đến được đích. • Sự trì hoãn truyền: là khoảng thời gian giữa sự truyền bit đầu tiên và bit sau cùng của một thông điệp. • • Sự trì hoãn xử lý: là thời gian cần để hệ điều hành xử lý/gữi/nhận thông điệp. GVHD: PGS.TS. Lê Văn Sơn Trang 6 HVTH: Lê Quốc Dũng -KHMT K16 Tiểu luận Hệ Phân Tán Vấn đề nhiều bản sao trong điều kiện số lượng cập nhật lớn Sự trì hoãn xếp hàng: thời gian cần để một thông điệp xếp hàng ở cuối máy chủ hoặc ở các node trung gian đợi để truyền đi. •  Băng thông (bandwidth): Tổng số thông tin có thể được truyền đi trong một thời gian đã cho.  Sự biến đống tạp (Jitter): thời gian khác nhau giữa các sự trì hoãn ảnh hưởng bởi các thông điệp khác nhau.  Đồng hồ và thứ tự các sự kiện:  Không có khái niệm toàn cục của thời gian.  Nhịp độ đồng hồ trôi: nhịp độ tương đối ở một đồng hồ máy tính trôi dạt ra khỏi từ một đồng hồ tham chiếu hoàn hảo.  Đồng bộ hóa đồng hồ:  Hệ thống định vị toàn cầu (GPS): một ít máy tính có thể sử dụng máy thu radio để nhận thời gian đọc từ GPS với độ chính xác là 1 micro-giây. Chúng có thể gữi các thông điệp thời gian đến các máy tính khác trong mạng tương ứng của chúng.  Các đồng hồ logic: mỗi thông điệp là thời gian đóng dấu lên với một số nối tiếp mà phản chiếu thứ tự lôgic của chúng. GVHD: PGS.TS. Lê Văn Sơn Trang 7 HVTH: Lê Quốc Dũng -KHMT K16 Vấn đề nhiều bản sao trong điều kiện số lượng cập nhật lớn Tiểu luận Hệ Phân Tán CHƯƠNG II: GIẢI QUYẾT VẤN ĐỀ NHIỀU BẢN SAO I.Đặt vấn đề Tại sao sử dụng bản sao? Có hai lý do sau đây: - Tăng độ tin cậy và tính sẵn sàng của hệ thống: khi dữ liệu bị lỗi hay vì một nguyên nhân nào đó mà không thể dùng được, ta có thể dùng ngay bản sao dữ liệu đó để hệ thống không phải dừng lại và tránh được tình trạng sử dụng các dữ liệu không chính xác. - Tăng hiệu năng của hệ thống: có thể tăng quy mô hệ thống cả về số lượng lẫn phạm vi địa lý. Tuy nhiên việc sử dụng nhân bản cũng phải trả giá, đó là tính nhất quán dữ liệu của hệ thống bị suy giảm. Do sử dụng bản sao nên có thể xảy ra trường hợp có sự thay đổi trên một dữ liệu mà không cập nhật trên các bản sao của nó. Điều này sẽ gây ra các sai sót trong hệ thống. Do đó phải tốn nhiều công sức để xây dựng các mô hình đảm bảo tính nhất quán của dữ liệu. II.Các mô hình nhất quán lấy dữ liệu làm trung tâm 1. Mô hình nhất quán chặt Thao tác đọc bất kỳ trên mục dữ liệu x đều trả về một giá trị tương ứng với kết quả của thao tác ghi gần nhất trên x đó. Mô hình này khó áp dụng cho hệ phân tán. 2. Mô hình nhất quán tuần tự và mô hình nhất quán tuyến tính Mô hình nhất quán tuần tự Là mô hình lỏng lẻo hơn, yếu hơn mô hình nhất quán chặt. Kết quả của sự thực hiện bất kỳ là như nhau nếu thao tác đọc và ghi do các tiến trình thực hiện trên mục dữ liệu một cách tuần tự và các thao tác của mỗi tiến trình xuất hiện trong chuỗi thao tác này chỉ ra bởi chương trình của nó Mô hình nhất quán tuyến tính Là mô hình yếu hơn mô hình nhất quán chặt nhưng mạnh hơn mô hình nhất quán tuần tự. Kết quả của bất kì sự thực hiện nào là như nhau nếu các thao tác (đọc và ghi) của tất cả các tiến trình lên dữ liệu được thực hiện môt cách tuần tự và các thao tác của mỗi tiến trình xuất hiện trong chuỗi thao tác này phải theo thứ tự đã được chỉ ra trong chương trình của nó. Thêm vào đó, nếu tsop1(x) < tsop2(y) thì thao tác op1(x) phải được thực hiện trước op2(y) trong chuỗi thao tác. 3. Mô hình nhất quán nhân quả Nếu sự kiện b được gây ra hoặc bị tác động bởi một sự kiện a xảy ra sớm hơn thì tính nhân quả đòi hỏi mọi thực thể khác phải “nhìn” thấy a trước rồi mới thấy b sau. Các thao tác ghi có quan hệ nhân quả tiềm năng phải được nhận biết bởi tất cả các tiến trình khác trong cùng một thứ tự. Các thao tác ghi đồng thời có thể nhận biết được theo thứ tự khác nhau trên các máy khác nhau. 4. Mô hình nhất quán FIFO Nhất quán FIFO còn được gọi là nhất quán PRAM. Đây là mô hình yếu nhất vì mô hình này bỏ qua giới hạn về trật tự của bất kì thao tác đồng thời nào. Các thao tác ghi bởi một tiến trình đơn phải được tất cả các tiến trình khác nhìn thấy theo cùng một trật tự mà chúng đề ra. Nhưng thao tác GVHD: PGS.TS. Lê Văn Sơn Trang 8 HVTH: Lê Quốc Dũng -KHMT K16 Tiểu luận Hệ Phân Tán Vấn đề nhiều bản sao trong điều kiện số lượng cập nhật lớn ghi bởi nhiều tiến trình khác nhau có thể được thấy theo những trật tự khác nhau bởi các tiến trình khác nhau. 5. Mô hình nhất quán yếu Mô hình nhất quán yếu không tập trung vào các thao tác trên dữ liệu như các mô hình trên mà chúng quan tâm đến trật tự các nhóm lệnh bằng việc sử dụng các biến được đồng bộ. - Việc truy cập đến một biến đồng bộ hóa được kết hợp với kho dữ liệu là một nhất quán tuần tự. - Không có thao tác nào lên các biến đồng bộ hóa được phép thực hiện cho đến khi tất cả các thao tác ghi trước đó được hoàn thành ở mọi nơi. - Không có thao tác đọc hay ghi dữ liệu lên các mục dữ liệu nào được phép thực hiện cho đến khi tất cả các thao tác trước đó lên các biến đồng bộ hóa được thực hiện. 6. Mô hình nhất quán đi ra - Trước khi thực hiện một thao tác đọc hay ghi lên dữ liệu chia sẻ thì tất cả các thao tác acquire do tiến trình này thực hiện trước đó phải hoàn tất. - Trước khi một thao tác release được phép thực hiện thì tất cả các thao tác đọc và ghi do tiến trình này thực hiện trước đó phải được hoàn tất. - Truy cập vào các biến đồng bộ hóa là nhất quán FIFO (Không yêu cầu nhất quán tuần tự). 7. Mô hình nhất quán đi vào Cũng giống mô hình nhất quán đi ra, mô hình nhất quán đi vào cũng sử dụng hai lệnh acquired và release khi muốn sử dụng vào vùng tới hạn. Nhưng các lệnh này thao tác trên từng mục dữ liệu của vùng dữ liệu chia sẻ. Tiến trình nào muốn sử dụng mục dữ liệu thì phải đợi cho tất cả các tiến trình khác giải phóng mục dữ liệu đó. - Một thao tác acquire để truy cập vào một biến đồng bộ hóa không được phép thực hiện trong một tiến trình cho đến khi tất cả các cập nhật lên mục dữ liệu trong tiến trình đó được thực hiện. - Trước khi một truy cập trong chế độ dành riêng của một tiến trình tới một biến đồng bộ hóa được phép thực hiện thì không tiến trình nào khác còn được giữ các biến đồng bộ hóa, trong chế độ không dành riêng thì không cần yêu cầu như vậy. - Sau khi một truy cập trong chế độ dành riêng lên một biến đồng bộ hóa được thực hiện thì bất kì sự truy cập của tiến trình nào khác trong chế độ không dành riêng lên biến đó cũng không được thực hiện cho đến khi chủ nhân của biến đồng bộ thực hiện xong việc truy cập của mình. III. Các mô hình nhất quán lấy client làm trung tâm 1. Nhất quán cuối cùng Khi một dữ liệu có nhiều bản sao thì yêu cầu đưa ra là sau các thao tác cập nhật thì tất cả các bản sao cuối cùng là phải bằng nhau.. Phải luôn đảm bảo rằng ngay cả khi client thay đổi về vị trí vật lý thì việc sử dụng các bản sao cũng phải chính xác. Tức là các bản sao luôn luôn là nhất quán. 2. Nhất quán đọc đều Một tiến trình thực hiện thao tác đọc trên một mục dữ liệu thì phải đảm bảo bất kì thao tác đọc nào cũng đều cho cùng một kết quả hay kết quả gần đây nhất. Client sẽ luôn nhìn thấy những dữ GVHD: PGS.TS. Lê Văn Sơn Trang 9 HVTH: Lê Quốc Dũng -KHMT K16 Tiểu luận Hệ Phân Tán Vấn đề nhiều bản sao trong điều kiện số lượng cập nhật lớn liệu mới hơn và không bao giờ phải nhìn thấy những dữ liệu cũ hơn những gì mà mình đã đọc trước đó. 3. Nhất quán ghi đều Thao tác ghi trên mục dữ liệu x của một tiến trình phải được hoàn thành trước bất kỳ một thao tác ghi nào khác trên x bởi cùng một tiến trình. 4. Nhất quán đọc thao tác ghi Tác động của một thao tác ghi của một tiến trình lên mục dữ liệu x sẽ luôn được nhìn thấy bởi một thao tác đọc lần lượt trên x của cùng tiến trình đó. 5. Nhất quán ghi theo sau đọc Tác động bởi một thao tác ghi của một tiến trình lên mục dữ liệu x sẽ luôn được nhìn thấy bởi một thao tác đọc liên tiếp lên x của cùng tiến trình đó. IV. Các giao thức phân phối 1. Phân loại bản sao Có 3 loại bản sao: Các bản sao thường trực: Trong tiến trình hay trên máy luôn có một bản sao. Số lượng các bản sao thường xuyên này rất ít, thường được tập hợp lại thành nhóm các máy trạm (COWs) hoặc trong các hệ thống phản chiếu (mirrored), thường là các Web server hay là các server có chứa cơ sở dữ liệu dự phòng. Bản sao khởi đầu từ server: Các bản sao này được sử dụng để làm tăng hiệu năng. Các bản sao này được xếp đặt động dựa vào yêu cầu của server khác. Một ví dụ điển hình là chúng được các công ty web hosting sử dụng để định vị vị trí địa lý của các bản sao gần nhất khi họ cần. Các bản sao khởi đầu từ client: Các bản sao này được tạo ra từ yêu cầu của client, chẳng hạn như việc cache dữ liệu của một trình duyệt. Chúng được xếp đặt động dựa vào yêu cầu của client. 2. Lan truyền cập nhật Có 3 cách lan truyền các cập nhật: Chỉ thông báo là có cập nhật: Thường dùng trong việc cache dữ liệu.Thông báo về việc mất hiệu lực của một giao thức.Phương pháp này tốt khi tỉ lệ các thao tác đọc so với thao tác ghi nhỏ. Truyền dữ liệu cập nhật từ bản sao này tới một bản sao khác. Thực hiện tốt khi có nhiều thao tác đọc. Ghi lại các thay đổi và tập hợp các cập nhật lại để truyền đi (chỉ truyền đi các thay đổi chứ không truyền cả dữ liệu đã bị thay đổi, vì thế tiết kiệm được băng thông). Lan truyền các thao tác cập nhật tới các bản sao khác (nhân bản chủ động). Tốn ít băng thông nhưng đòi hỏi năng lực xử lý cao vì trong nhiều trường hợp thì các thao tác là rất phức tạp. GVHD: PGS.TS. Lê Văn Sơn Trang 10 HVTH: Lê Quốc Dũng -KHMT K16 Tiểu luận Hệ Phân Tán Vấn đề nhiều bản sao trong điều kiện số lượng cập nhật lớn Hai các tiếp cận lan truyền cập nhật: Đẩy cập nhật: là giao thức do server khởi tạo, trong giao thức này các cập nhật được lan truyền mỗi khi có một server khác yêu cầu. Kéo cập nhật: là giao thức do client khởi tạo khi client muốn được cập nhật. V. Phân tích vấn đề Hệ tin học phân tán hay nói ngắn gọn là hệ phân tán 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 hệ thống viễn thông dưới sự điều hành thống nhất của một hệ điều hành. Hệ phân tán được xây dựng nhằm mục đích 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 xa nhau. Đó là những 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ử, thư viện điện tử số, xây dựng các cơ sở dữ liệu tìm kiếm… Thời gian truy cập trung bình vào thông tin trong hệ phân tán có thể được rút ngắn, nhờ vào phương pháp nhân nhiều bản và được gọi là nhiều bản sao của một đối tượng thông tin. 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ộ. Ưu điểm nổi bậc của kiểu tổ chức này là: 1. Dễ dàng thực hiện việc truy cập thông tin cần thiết cho các yêu cầu ngay tại hệ thống cục bộ của mình. 2. Cho kết quả truy cập một cách nhanh chóng. Tuy nhiên, kiểu truy vấn này chỉ cho kết quả tương đối chính xác và phụ thuộc rất nhiều vào phương pháp và thời hạn cập nhật thông tin trong các cơ sở dữ liệu cục bộ. Sự tồn tại nhiều bản sao trong hệ phân tán có thể dẫn đến các hệ quả sau : 1. Cập nhật thông tin diễn (gần hoặc xa) hoặc sự thay đổi thông tin cục 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ỏ sót hệ nào cả. Trong khoảng thời gian làm tươi thông tin phải đảm bảo sao cho việc truy vấn dữ liệu cho kết quả kịp thời hoặc đặt truy vấn trong trạng thái treo. 2. 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 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ó . Ví dụ : một mặt hàng nào đó đã cung cấp cho khách hàng rồi thì không được phép cung cấp cho khách hàng tiếp theo nữa. Hai vấn đề vừa nêu trên xác định về các ràng buộc đối với đề gắn bó dữ liệu . Nhằm đảm bảo sự gắn bó này điều kiện đủ là bắt buộc tuân thủ trình tự nào đó cho tất cả các bản sao, các cập nhật thông tin. Biện pháp hàng đầu là áp dụng cơ chế then cài nhằm thực hiện việc loại trừ tương hỗ tổng quát trên tập hợp các bản sao, biện pháp này có mặt hạn chế là không cho phép các chương trình thực hiện song song. Một biện pháp khác là cho phép thực hiện các giao dịch trên tất cả các bản sao và thực hiện cùng một trình tự cho mỗi hệ thống cục bộ. Khó khăn trong việc triển khai trình tự tổng quát có thể GVHD: PGS.TS. Lê Văn Sơn Trang 11 HVTH: Lê Quốc Dũng -KHMT K16 Vấn đề nhiều bản sao trong điều kiện số lượng cập nhật lớn Tiểu luận Hệ Phân Tán so sánh với khó khăn của biện pháp đầu tiên đã nêu, nhưng lại cho phép các chương trình hoạt động song song. Trong môi trường phân tán, sơ đồ vị trí của các bản sao và việc cập nhật chúng có thể mô tả trong hình vẽ sau đây. Các bản sao có thể đặt trên các server S1, S2,...,Sn trên các tập tin hay vùng nhớ đặc biệt eij, i=1..n, j=1..m, trong đó i chỉ server, j chỉ bản sao, n là số lượng server được mắc nối trong mạng, m là số lượng các bản sao cần phải cập nhật. Mỗi server có thể quản lý một mạng con. Ngoài ra, các bản sao có thể được bố trí trên các trạm thể hiện bằng các tk, k=1..q, k là trạm và q là số trạm được mắc nối. Nếu ta có n bản sao của đối tượng e nào đó, thì ràng buộc toàn vẹn phải là: Trên bản sao của 1 đối tượng e1=e2=e3=...=en Trên các bản sao của toàn bộ các đối tượng e11=e21=...=en1 e12=e22=...=en2 ... e1m=e2m=...=enm Để tham chiếu đến đối tượng e, cần thực hiện giao dịch sau (áp dụng thuật toán then cài): V_doc(ei) Doc(ei) Giai_phong(ei) Để thực hiện việc cập nhật vào các bản sao , ta cần phải cài then chúng như sau (áp dụng thuật toán then cài): Để cho i:=1 đến n thực hiện V_viet(ei) < thực hiện các cập nhật và chép lại chúng vào tất cả các bản > Để cho i:=1 đến n thực hiện Giai_phong(ei) GVHD: PGS.TS. Lê Văn Sơn Trang 12 HVTH: Lê Quốc Dũng -KHMT K16 Tiểu luận Hệ Phân Tán Vấn đề nhiều bản sao trong điều kiện số lượng cập nhật lớn Để tránh bế tắc diễn ra, việc cài then các bản sao luôn luôn phải được thực hiện trong cùng một trật tự. Nói cách khác, hoặc là đối tượng đang trong quá trình cập nhật và tất cả các bản sao của nó được dự trữ cho tiến trình thực hiện cập nhật, hoặc là tất cả các bản sao được truy cập chỉ để đọc và giống nhau hoàn toàn. Gọi M là cực đại của các cập nhật có thể diễn ra đồng thời, thì M có thể tính theo công thức M=n x m. Căn cứ vào nội dung thông tin cần phải đảm bảo sự gắn bó mà người ta chia ra hai loại giải thuật: • Giải thuật toán gắn bó mạnh • Giải thuật toán gắn bó yếu. Hệ thống viễn thông là đối tượng có thể diễn ra các sự cố kỹ thuật và ùn tắt đường truyền, ta có số lần truy cập bản sao trên thực tế sẽ lớn hơn M rất nhiều; hiệu năng hoạt động của hệ trong trường hợp này sẽ bị giảm. Một trong những giải pháp khắc phục vấn đề vừa nêu là áp dụng kỹ thuật đánh dấu bản điều khiển và căn cứ vào hệ thống tín hiệu này, người ta có thể chọn các giải thuật cập nhật thích hợp, rút ngắn được tốc độ cập nhật bình quân. GVHD: PGS.TS. Lê Văn Sơn Trang 13 HVTH: Lê Quốc Dũng -KHMT K16 Tiểu luận Hệ Phân Tán Vấn đề nhiều bản sao trong điều kiện số lượng cập nhật lớn CHƯƠNG III: MỘT SỐ THUẬT TOÁN QUẢN LÝ NHIỀU BẢN SAO I.Thuật toán đảm bảo sự gắn bó yếu nhờ dấu 1.Nguyên lý Tập hợp các yêu cầu cập nhật được sắp xếp theo cùng một kiểu trên tất cả các trạm nhờ cơ chế dấu. Theo đó mỗi một yêu cầu được phát đi cho tập hợp các trạm. Trên mỗi trạm, tồn tại một tiến trình Server đảm nhận nhiệm vụ tiếp nhận các yêu cầu theo trật tự của dấu. Điều đó cho phép có được một sự gắn bó yếu giữa các bản sao. 2.Triển khai hệ ổn định Các giao dịch cần xét là các khả năng đọc, ghi hay cập nhật. Cập nhật được xác định như là một dãy các thao tác đọc và ghi, thao tác kiểm tra đọc tức thì trạng thái hiện hành của một bản sao. Mỗi một server tiếp nhận các yêu cầu ghi đến từ trạm cục bộ ở thời điểm cho trước. Nó tiếp nhận các yêu cầu và tính toán trên cơ sở dấu theo tiêu chí lâu nhất. Khi trạm i truyền các thông điệp cho trạm j, Trật tự nhận các thông điệp tại j là hoàn toàn giống với trật tự của các thông điệp phát đi. Giả thiết này được kiểm tra trong các mạng thông thường. Việc xác định các yêu cầu cần xử lý trên một trạm là hoàn toàn có thể . Có 2 trường hợp cần xem xét: STT Trường hợp 1 Tập hợp các yêu cầu ghi khi chờ chứa các yêu cầu từ tất cả các trạm khác. Trong trường hợp này các yêu cầu đi qua, nếu chúng tồn tại, là mới hơn so với các yêu cầu đã đi qua. Nói cách khác, yêu cầu lâu nhất chính là yêu cầu đang chờ. 2 Tồn tại các trạm mà không có bất kỳ yêu cầu nào được truyền đến. Ta được đưa các trường hợp trước đây bằng cách truyền cho tất cả các trạm một thông điệp yêu cầu và bắt buột phải xác nhận. Do vây, sau một khoảng thời gian, theo giả thiết về độ ổn định, ta sẽ nhận hoặc là các yêu cầu đi qua, hoặc là các trả lời cho thông điệp yêu cầu. Lúc này, ta có được các thông điệp đến từ tất cả các trạm. 3. Các hành vi ngoài chế độ bình thường Hai vấn đề mở rộng hơn đối với thuật toán này cho phép rút ra hay chen vàotùy ý một trạm nào đó. Ngược lại, thuật toán chỉ sống trong trường hợp có sự cố, nếu các điều kiện sau đây được tôn trọng: Điều kiện STT 1 Việc đột nhiên biến mất đi một trạm nào đó phải được các trạm khác nhận biết tự động. 2 Việc phát một thông điệp là một phép toán không chia cắt được nữa. Đó là một thông điệp hoặc là tất cả đều phải nhận được hoặc là không trạm nào nhận được cả. GVHD: PGS.TS. Lê Văn Sơn Trang 14 HVTH: Lê Quốc Dũng -KHMT K16 Tiểu luận Hệ Phân Tán Vấn đề nhiều bản sao trong điều kiện số lượng cập nhật lớn Vì vậy, việc tuân thủ hai điều kiện trên đặt ra cho chúng ta tình hình là nếu điều kiện đầu tiên có thể được khống chế, thì điều kiện thứ hai rất khó đảm bảo II.Thuật toán đảm bảo sự gắn bó yếu nhờ bộ tuần tự tuần hoàn. 1.Nguyên lý Trước khi phát một yêu cầu, một trạm nào đó cần phải kết hợp với nó một số thứ tự được cấp từ bộ tuần tự tuần hoàn. Các yêu cầu được tiếp nhận tại mỗi trạm theo cùng một trật tự thống nhất. Điều đó giúp ta có được một sự gắn bó yếu. Cần quan tâm rằng cơ chế phân phối các số dựa trên nền tảng tổ chức các trạm theo kiểu vòng tròn ảo. 2.Triển khai hệ ổn định Bộ tuần hoàn tự cung cấp cho mỗi một yêu cầu số sắp tới còn chưa dùng, giả sử đó là T. Khi đến phiên của trạm nhận bộ tuần tự, nó yêu cầu một số lượng n số đúng bằng số lượng các yêu cầu cập nhật đang chờ trên trạm này. Các số này là: T, T + l , … , T + n - 1 Nó tiếp tục chuyển bộ tuần tự cho trạm kề liền sau nó và số sắp tới chưa dùng đến là T+n. Khi một trạm đã có số, nó phát yêu cầu cập nhật cùng với số này. Trên mỗi trạm, các cập nhật được thực hiện bằng cách tiếp nhận các yêu cầu cùng các số liên tiếp nhau. Để xác định yêu cầu sắp đến cần phải xử lý, mỗi trạm một duy trì một biến chứa số V được phối hợp với yêu cầu xử lý cuối cùng. Các yêu cầu mang số lớn hơn V + 1 được lưu trữ trong khi chờ xử lý yêu cầu V+1. Chú ý 1: Việc phát đi các yêu cầu có thể sử dụng trong vòng tròn, nhưng điều đó không phải là bắt buộc. Chú ý 2: Một trạm khi đã rút một lượng số cần phải được sử dụng hết khi nó đến lượt tiếp theo tiếp nhận bộ tuần tự, nếu không các trạm khác sẽ phải chờ. 3.Các hành vi ngoài chế độ bình thường Hiện tại, người ta đã chế tạo thành công và đưa vào sử dụng một cách ổn định trong mạng một số giao thức cho phép tái sinh bộ tuần tự khi bộ này bị mất và đặt cấu hình vòng tròn ảo trở lại theo kiểu tự động. Các giao thức này hoạt động trong điều kiện giả định là mạng viễn thông cho phép phát hiện các sự cố của một trạm và cần phải được bổ khuyết đầy đủ nhằm duy trì trật tự toàn phần cần thiết cho việc gắn bó: 1. Việc tái sinh bộ tuần tự cần phải tiến hành song song với việc tính toán số sắp đến có sẵn để dùng. 2. Khi ta phát hiện có một trạm bị sự cố, ta cần phải xác định các số mà trạm này đã lấy và các số còn chưa sử dụng, rồi gửi các yêu cầu có mang các số này. 3. Việc cho hội nhập một trạm vào lại trong vòng tròn cần phải tiến hành song song với việc cập nhật lại bản sao của nó. Sử dụng các số liên tục cho phép tránh được hiện tượng một vài cập nhật bị mất và các lần mất mà không được phát hiện. Việc triển khai một bộ tuần tự tuần hoàn cũng làm cho ta gặp phải một số khó khăn của nó. Trên thực tế, các trạm bị sự cố không thể nào phục vụ số được, bộ cung cấp cần phải tìm lại số lượng và giá trị của các số đó. Để thực hiện được điều đó, cần phải hội thoại với các trạm khác. GVHD: PGS.TS. Lê Văn Sơn Trang 15 HVTH: Lê Quốc Dũng -KHMT K16 Vấn đề nhiều bản sao trong điều kiện số lượng cập nhật lớn Tiểu luận Hệ Phân Tán III.Thuật toán đảm bảo sự gắn bó mạnh 1.Nguyên lý Tập hợp bao gồm các trạm được tổ chức theo kiểu vòng tròn ảo. Các cập nhật được thực hiện theo hai thì: 1. Thống nhất giữa các trạm 2. Thực hiện cập nhật Do vậy, thuật toán này đảm bảo một sự gắn bó mạnh. Nếu có nhiều yêu cầu cập nhật diễn ra đồng thời thì ta phải có quy tắc để có thể quyết định yêu cầu nào được tiếp nhận và thỏa mãn. Nhằm phục vụ cho ý tưởng đó, ta thường hay sử dụng dấu phối hợp cho mỗi cập nhật và ta xử lý yêu cầu có thời gian dấu lâu nhất. 2.Triển khai hệ ổn định Trạng thái có thể của mỗi trạm là: STT Trạng thái Giải thích 1 Nghỉ ngơi Trạm không thực hiện cập nhật nào cả. 2 Hoạt động Trạm đã nhận một yêu cầu cập nhật cục bộ mà yêu cầu này đã được truyền cho các trạm khác để kiểm tra. 3 Thụ động Trạm đã đồng ý cho một cập nhật và chờ trật tự tương ứng. Cập nhật Trạm đang trong tình trạng chuyển của cập nhật, trong khi đó tất cả các yêu cầu khác truyền đến đều được lưu trữ. Chúng sẽ được xử lý khi quay về một trong các trạng thái khác. 4 Lúc khởi sự, tất cả các trạm đều trong trạng thái nghỉ ngơi. Trạm khởi sự việc cập nhật, đầu tiên, cần phải gửi một yêu cầu cho phép cập nhật, nó chỉ làm được công việc đó trong trạng thái nghỉ ngơi. Lúc này nó được nhận dấu và được gửi vào vòng tròn, trạm khởi sự chuyển trạng thái từ nghỉ ngơi sanhg hoạt động. Nếu chỉ có một yêu cầu duy nhất được đưa vào vòng tròn, nó đi qua tất cả các trạm để chuyển các trạm này từ nghỉ ngơi sang thụ động, Khi nó đã trở về nơi khởi sự thì việc thống nhất coi như hoàn tất. Việc cập nhật nói riêng lúc này được gởi đi và mỗi trạm sau khi thực hiện lại trở về trạng thái nghỉ ngơi. Nếu có nhiều yêu cầu được đưa ra đồng thời trong vòng tròn, thì tình hình đó dễ dàng diễn ra xung đột. Lúc này, ta phải chọn một yêu cầu có thời gian dấu lâu nhất. Để tiến hành công việc đó, ta nêu bật vai trò của "bộ chắn đường" (barrage) cho các trạm khởi sự. Một trạm nào đó trong trạng thái nghỉ ngơi hay thụ động phải chuyển toàn bộ yêu cầu đã đến với nó; một trạm trong trạng thái hoạt động chỉ phải chuyển các yêu cầu có thời gian lâu hơn các yêu cầu mà chính nó đã phát đi; các yêu cầu khác đều bị dừng lại và được lưư trữ. Các yêu cầu bị lưu lại sẽ được gửi tiếp vào vòng tròn, khi trạm lưư trữ chúng hoàn thành việc cập nhật riêng của mình. GVHD: PGS.TS. Lê Văn Sơn Trang 16 HVTH: Lê Quốc Dũng -KHMT K16 Tiểu luận Hệ Phân Tán Vấn đề nhiều bản sao trong điều kiện số lượng cập nhật lớn 3.Các hành vi ngoài chế độ bình thường Các giao thức đặt lại cấu hình vòng tròn theo kiểu tự động được sử dụng nhằm rút ra hay cho vào tùy ý một số trạm nhất định. Các sự cố kỹ thuật là rất khó khăn phát hiện trong các chiến lược mà ở đó các yêu cầu không được ghi lại khắp nơi trong mạng. GVHD: PGS.TS. Lê Văn Sơn Trang 17 HVTH: Lê Quốc Dũng -KHMT K16 Vấn đề nhiều bản sao trong điều kiện số lượng cập nhật lớn Tiểu luận Hệ Phân Tán CHƯƠNG III: KỶ THUẬT ĐÁNH DẤU BẢN ĐIỀU KHIỂN I.Kỹ thuật đánh dấu bản điều khiển Kỹ thuật đánh dấu bản điều khiển gọi tắt là TOMCP (Technique Of Marking the Control Panel) là một hệ thống bao gồm các chương trình, danh sách tài nguyên cần thiết để thực hiện các lệnh và tổ hợp các tín hiệu cho phép nhận biết trạng thái của toàn bộ các bản sao đang được sử dụng trong hệ. Thành phần cơ bản của TOMCP có thể mô tả trong hình vẽ sau đây: Chương trình quản lý TOMCP được xây dựng dưới dạng thủ tục tiện ích với chức năng chủ yếu là kiểm tra tính hợp thức của việc truy cập vào bản, dò tìm thông tin, cập nhật các tín hiệu và yêu cầu được cung cấp tài nguyên theo danh sách,... Thủ tục này là một trong những thành phần cơ bản của tác tử. Danh sách các tài nguyên cần thiết là tổ hợp các các thiết bị, chương trình và dữ liệu phục vụ cho việc quản lý TOMCP. Hệ thống các tín hiệu nhận dạng là tập hợp các chuẩn hình thành trong quá trình thiết kế hệ phục vụ cho việc nhận biết tự động trạng thái của hệ quản lý nhiều bản sao và xác định GTl cần thực hiện. Nội dung cơ bản của kỹ thuật này là tại mỗi tác tử di động, trạng thái các bản sao trên toàn bộ hệ thống được thể hiện một cách chính xác và nhờ đó các tác tử biết cần phải hành động như thế nào là tối ưu nhất. Mỗi khi cập nhật, thay vì phải kích hoạt một trình điều khiển như mô hình Client/Server chứa sẵn trên Server và gửi toàn bộ các yêu cầu thay đổi, thì kỹ thuật này cho phép chỉ gửi những chi tiết cần thay đổi là đủ. Việc làm tươi thông tin trong bản điều khiển sẽ do các tác tử thực hiện tự động căn cứ vào dữ liệu mà nó có được. Những thông tin này có khối lượng không lớn và được các tác tử trao đổi với nhau bằng thông điệp. Hai tác tử quan trọng trong tiến trình truy cập bản để đọc và ghi bản là tác tử gửi thông điệp (tác tử yêu cầu) và tác tử nhận thông điệp (tác tử đáp ứng yêu cầu). II.Cấu trúc của các thông điệp. Cấu trúc của các thông điệp trao đổi giữa các tác tử có thể mô tả trong hình vẽ dưới đây. GVHD: PGS.TS. Lê Văn Sơn Trang 18 HVTH: Lê Quốc Dũng -KHMT K16 Vấn đề nhiều bản sao trong điều kiện số lượng cập nhật lớn Tiểu luận Hệ Phân Tán Các trường của thông điệp trao đổi là: 1 START Bắt đầu Giá trị 8 bít cho phép bắt đầu thông điệp. Địa chỉ tác tử gửi thông điệp với độ dài từ 8 bít đến 16 bít đủ để biểu diễn số lượng địa chỉ của các tác tử trong các hệ thống lớn. 2 SOURCE Địa chỉ nguồn 3 TARGET Địa chỉ đích Địa chỉ của tác tử nhận với độ dài của trường từ 8 bít đến 16 bít. Mã sử dụng để nhận biết phép toán trên bản với độ dài là 8 bít. 4 CODE Mã 5 INFORMATION Thông tin Thông tin cần thiết để truy cập vào các bản sao. Kiểm tra Trường kiểm tra phục vụ cho việc truyền dữ liệu qua mạng và các giá trị được quy ước cho từng loại mạng cụ thể. Kết thúc Giá trị 8 bít cho phép kết thúc thông điệp. 6 CONTROL 7 END Giá trị các bít của trường CODE được thể hiện trong hình dưới đây. Ưu điểm căn bản của kỹ thuật đánh dấu bản điều khiển là: 1 Gắn bó 2 Tin cậy Đảm bảo tính gắn bó thông tin. Hệ thống hoạt động với kỹ thuật này chịu đựng được trạng thái lỗi của mạng nói chung, trong đó có lỗi của hệ thống đường truyền. 3 Nhạy Phản ứng được với các tình huống sinh lỗi. 4 Liên tục Cho phép phân phối động các tài nguyên cần cập nhật. 5 Phát hiện sự cố Phát hiện các lỗi phát sinh trong quá trình vận hành. 6 Thống kê Biết được trạng thái cập nhật ở mọi thời điểm. GVHD: PGS.TS. Lê Văn Sơn Trang 19 HVTH: Lê Quốc Dũng -KHMT K16 Tiểu luận Hệ Phân Tán Vấn đề nhiều bản sao trong điều kiện số lượng cập nhật lớn B. PHẦN BÀI TẬP THUẬT TOÁN XỬ LÝ CÁC THAO TÁC ĐỌC – GHI I.Trình tự thực hiện cập nhật bản điều khiển Các thông điệp trao đổi được sử dụng với các mục đích khác nhau căn cứ vào nội dung của trường CODE. Tác tử gửi ghi thông tin yêu cầu dưới dạng mã vào trường này, còn tác tử nhận sẽ căn cứ vào mã đó để nhận biết sẽ phải hành động như thế nào trên bản sao. Việc xử lý trạng thái điều khiển do tác tử nhận tiến hành trên cơ sở tham chiếu thông tin trong bản điều khiển và theo yêu cầu thể hiện trong hình sau đây. Sau khi hoàn thành trọn vẹn công việc, tác tử nhận tiến hành phát thông điệp đến toàn bộ các tác tử của hệ thống để cập nhật vào bản điều khiển, đồng thời tự động cập nhật vào bản cục bộ của mình. II.Sơ đồ tổng quát xử lý nhiều bản sao Các bước thể hiện công việc xử lý thông tin điều khiển được tiến hành tuần tự như sau: GVHD: PGS.TS. Lê Văn Sơn Trang 20 HVTH: Lê Quốc Dũng -KHMT K16
- Xem thêm -

Tài liệu liên quan