Hệ thống Multiprocessor Sử dụng 1 máy tính có nhiều cpu trên main Chỉ có một không gian địa chỉ duy nhất được chia sẻ cho các CPU Được liên kết kiểu Bus Khó có khả năng mở rộngcác cpu gắ
Trang 1ĐỀ CƯƠNG ÔN TẬP HỆ PHÂN TÁN Câu 1: Các dạng trong suốt của hệ phân tán: 7 dạng
1.Trong suốt truy cập: che dấu cách biểu diễn dữ liệu và cách thức truy cập tài nguyên
2.Trong suốt vị trí: che dấu vị trí đích thực của tài nguyên
3.Trong suốt di trú: che dấu khả năng di trú của tài nguyên
4.Trong suốt định vị lại: che dấu khả năng di trú của tài nguyên ngay cả khi đang được sử dụng
5.Trong suốt bản sao: che dấu các bản sao được nhân ra
6.Trong suốt về tương tranh: che dấu việc chia sẻ tài nguyên
7.Trong suốt về lỗi: che dấu lỗi hệ thống nếu có
Câu 2: Tính có giãn của hệ thống, các biện pháp nâng cao tính co giãn của hệ thống:
Tính co giãn của hệ thống: và việc hệ thống thích nghi được
với những thay đổi về quy mô, được thể hiện qua các khía cạnh sau: 2 khía cạnh
1 Dễ bổ sung người sử dụng và tài nguyên hệ thống
2 Đáp ứng được thay đổi về quy mô quản trị hệ thống
Các biện pháp nâng cao tính co giãn: 3 biện pháp chính
1 Rút ngắn thời gian đợi:
2 Phân tán hệ thống:
3 Sao chép hệ thống:
Câu 3: Phân biện kiến trúc phân tầng(Architecture Layered) và kiến trúc đa tầng(Architecture Multitiered): Giống nhau: đều là mô hình client-server.
Server cung cấp các dịch vụ; client yêu cầu các dịch vụ từ server Client gửi các yêu cầu tới server và server tiếp nhận và phản hồi các yêu cầu của client(không có chiều ngược lại)
Khác nhau:
Kiến trúc phân tầng
Kiến trúc này dưới góc nhìn
logic, hệ thống được chia làm
các tầng, liên kết giữa các
tầng là liên kết logic
Đây là mô hình kiến trúc hệ
thống theo chiều dọc
Gồm các tầng:
Giao diện người dùng
Mức xử lý(cốt lõi)
Mức dữ liệu
Eg: tìm kiếm thông tin trên
internet
Kiến trúc đa tầng
Kiến trúc này dưới góc nhìn vật lý, các phần khác nhau của
hệ thống sẽ nằm ở các máy tính khác nhau, liên kết giữa các tầng là liên kết vật lý
Đây là mô hình kiến trúc theo chiều ngang
Client: cung cấp giao diện người dùng
Server: cung cấp chương trình
xử lý và dữ liệu
Câu 4: Trình bày Thin client, fat client trong hệ phân tán, nêu ứng dụng.
Thin client: client cung cấp giao diện người dùng, server cung
cấp dịch vụ gồm cả dữ liệu và quá trình xử lý
Trang 2Kiến trúc này dễ quản lý nên có khả năng mở rộng, tin cậy hơn, máy client không cần cấu hình cao, nhược điểm mất khả năng nhận thức của client
Ứng dụng: học trực tuyến; liên lạc qua mạng; Game Web…
Fat client: client sẽ cung cấp giao diện người xử dụng và xử lý
một phần dữ liệu được lưu trữ, giảm tải công việc cho server
Kiến trúc này khó quản lý khó mở rộng, độ tin cậy kém, yêu cầu client phải có cấu hình cao Ứng dụng: Game Online,…
Câu 5: Đặc điểm phần cứng của hệ phân tán: máy tính và kiểu kết nối
2 loại máy tính: hệ thống máy tính đa xử lý(Multiprocessor) loại
máy có chia sẻ bộ nhớ; hệ thống đa máy tính(Multicomputer) loại máy không chia sẻ bộ nhớ
2 kiểu kết nối: kết nối dạng Bus-based(đơn) chỉ có một đường
kết nối; kết nối dạng Switch-based(đa) có nhiều đường kết nối đến các máy khác
Phân biệt hệ thống multiprocessor và multicomputer.
Hệ thống Multiprocessor
Sử dụng 1 máy tính có nhiều cpu trên
main
Chỉ có một không gian địa chỉ duy
nhất được chia sẻ cho các CPU
Được liên kết kiểu Bus
Khó có khả năng mở rộng(các cpu
gắn trên main)
Hệ thống Multicomputer
Sử dụng nhiều máy tính Mỗi CPU có một không gian địa chỉ riêng
Kết nối kiểu Switch
Dễ mở rộng(chỉ cần thêm máy tính) chạy nhanh hơn
Câu 6: Phân biệt truyển thông RPC-Remote Procedure Call(gọi thủ tục từ xa) và truyền thông ROI-Remote Object Invocation(gọi đối tượng từ xa).
Giống nhau: Sử dụng mô hình client-Server dùng để triệu gọi
phương thức/ hàm từ xa Máy A gọi phương thức và hàm đặt trên máy B(máy ở xa) Phương thức chạy trên máy tính ở xa nên sử dụng tài nguyên của máy ở xa Máy gọi hàm phải đợi một thời gian để cho máy ở xa thực hiện hàm và trả về kết quả
Khác nhau:
PRC
Cho phép gọi hàm và thủ tục từ
máy khác(ở xa)
Mô hình hướng thủ tục
Triển khai được cho cho 2 hệ
thống khác nhau
Viết bằng nhiều ngôn ngữ, chỉ
cần client-server cùng một ngôn
ngữ
ROI
Cho phép gọi đối tượng ở máy khác(từ xa), có dịch vụ định vị đối tượng
Mô hình hướng đối tượng, cho phép tham chiếu đối tượng
Nền tảng sử dụng trên java và được tích hợp sẵn trong java
Câu 7: Truyền thông RPC:
Các thông điệp được truyền tải có tính trong suốt, có mô hình truyền thông không đồng bộ; đồng bộ và đơn tuyến
Trang 3Các bước của RPC: Đóng gói các tham số; Truyền (tham số; tham trị; tham biến)
Yếu tố nào đảm bảo các lời triệu gọi thủ tục từ xa khác nhau thì thực hiện các công việc khác nhau:
Đóng gói tham số: Việc đóng gói các tham số để chuyển bị truyền
đi do client stub thực hiện Client stub sẽ sắp xếp các tham số theo thứ tự và đưa vào hàng đợi Các tham số được truyền đi giúp cho server hiểu được công việc mình cần thực hiện tương ứng là gì để xác định lời gọi đến thủ tục thích hợp
Trang 4Câu 8: Truyền thông hướng thông điệp và trường hợp vận dụng:
Truyền thông hướng thông điệp là tập hợp các đối tượng dữ liệu được định kiểu nhằm dễ dàng chuyển đổi dữ liệu trong hệ thống hỗn tạp
Thông điệp gồm đầu và thân: đầu chứa thông tin phụ thuộc hệ thống; thân có kích thước cố định hoặc thay đổi
Các loại truyền thông hướng thông điệp và trường hợp vận dụng:
Truyền thông cơ bản:
Truyền thông kiên trì: Sử dụng trong gửi thư điện tử
Truyền thông nhất thời: thông điệp đó chỉ được lưu trong phiên giao dịch và bị xóa trên server khi thông điệp đã được gửi hoặc mất kết nối
Truyền thông đồng bộ: Thông điệp sẽ ở trạng thái khóa tại trạm gửi tin cho đến khi thông điệp đến đích
Truyền thông dị bộ: Thông điệp sẽ được lưu tại trạm, server cục bộ; khi gửi thông điệp xong máy trạm sẽ thực hiện các công việc khác
Truyền thông hỗn hợp:
Truyền thông đồng bộ kiên trì: Thông điệp sẽ được khóa tại máy trạm gửi cho đến khi thông điệp được máy trạm nhận lưu lại lâu dài Truyền thông đồng bộ nhất thời: Thông điệp được lưu trên máy trạm trong thời gian gửi, và sẽ bị xóa khi máy trạm nhận không được kết nối hoặc đã nhận
Truyền thông dị bộ nhất thời: bản tin không được lưu lâu dài và máy trạm đợi khi thông tin được gửi đến máy nhận mới thực hiện tiếp công việc của mình
Truyền thông dị bộ kiên trì: thông điệp được lưu trữ lâu dài tại máy trạm hoặc server
Câu 9: Truyền thông hướng dòng: 3 phương thức truyền
Truyền thông dị bộ: gói tin được truyền tuần tự không ràng buộc thời gian
Truyền thông đồng bộ: quy định độ chễ tối đa cho mỗi gói tin Truyền thông đẳng thời: độ trễ thời gian nhỏ nhất
Thông tin được truyền: media, data stream
Đồng bộ hóa các dòng lại ý nghĩa quan trọng: 2 loại(đơn,
phức tạp)
Vì thời gian có ý nghĩa quan trọng nên phải đồng bộ dòng nhằm
có được kết quả theo ý muốn của các thông tin cần trao đổi
Câu 10: Tiến trình trong các hệ phân tán:
Là việc thực hiện các công việc được mô tả thông qua các chương trình
Một tiến trình được thực hiện yêu cầu cần phải được cung cấp đủ tài nguyên và được CPU tiếp nhận và xử lý
Mỗi tiến trình có một dòng xử lý và không gian địa chỉ riêng Và việc điều phối các tiến trình do hệ điều hành đảm nhiệm
Câu 11: Luồng trong các hệ phân tán:
Trang 5Luồng là đơn vị xử lý cơ bản của máy tính, một luồng đang được
xử lý thì các luồng khác phải chờ, một tiến trình có thể cần nhiều luồng để xử lý, đối với tiến trình ko hỗ trợ đa luồng sẽ bị khóa bởi lời gọi hệ thống
Ý nghĩa của việc sử dụng các hệ thống đa luồng: khả năng
đáp ứng tốt hơn, một luồng bị treo hoặc quá tải, thì các luồng khác vẫn có thể làm việc được
Tận dụng thế mạnh của các hệ thống có kiến trúc đa xử lý, mỗi CPU một luồn riêng nên việc chuyển từ luồng này sang luồng khác là rất nhanh
Chia sẻ tài nguyên dễ dàng; tiết kiệm hơn trong việc cấp phát bộ nhớ và tài nguyên cho tiến trình, việc tạo lập và chuyển ngữ cảnh nhanh hơn
Câu 12: Mô hình đa luồng phía client và mô hình đa luồng phía server:
Mô hình đa luồng khách hàng là những người được hưởng lợi ích những mô hình đa luồng lại được ứng dụng trong hệ phân tán lại nằm trên máy chủ
Mỗi client gửi thông điệp đến server chính là việc thực hiện việc thiết lập một luồng riêng biệt để lấy dữ liệu từ máy server
Server được xây dựng trên mô hình đa luồng giúp hệ thống có thể làm việc được với nhiều client trong một lúc, giúp các hệ thống
có thể xử lý song song đạt được hiệu năng cao
Ví dụ: Khi có các yêu cầu máy chủ sẽ chọn 1 luồng Ram rỗi và giải quyết yêu cầu đó mà không cần chú ý đến các luông đang xử lý trước đó, dẫn đến máy chủ có thể giải quyết được nhiều yêu cầu mà
hệ thống vẫn hoạt động tốt
Câu 13: Mô hình di trú mã: gồm 3 thành phần và 2 mô hình
Các thành phần của mã di trú: Code segment(tập lệnh chương trình); Resource segment(chứa các tham chiếu đến tài nguyên bên ngoài mà tiến trình cần); Execution segment(chứa trạng thái thực thi tiến trình)
Mô hình di động yếu: chỉ có Code segment được chuyển kèm điều kiện ban đầu, và một chương trình được chuyển luôn bắt đầu ở trạng thái bắt đầu, lợi thế đơn giản, chỉ cần máy đích thực thi được
mã là được
Mô hình di động mạnh: chuyển cả 3 thành phần, tiến trình đang thực thi có thể dừng được và chuyển sang máy khác thực hiện tiếp, khó thực hiện
Ý nghĩa: có thể toàn bộ tiến trình được di chuyển sang máy
khác Nhược điểm di chuyển cả tiến trình sang máy khác là công việc tốn kém và phức tạp
Hiệu xuất của hệ thống được cải thiện nếu việc di chuyển tiến trình được thực hiện nhẹ nhàng
Câu 14: Trình bày các hiểu biết về tên, địa chỉ và điểm truy cập.
Trang 6Tên: Tên có ý nghĩa quan trọng, nó cần thiết để xác định được
thực thể, hướng dẫn vị trí lưu trữ và tìm được thực thể
1 Tên theo kiểu tên người không thích hợp
2 Tên để phân biệt với các thực thể di động
3 Tên theo đường dẫn ko tồn tại => xóa(rác hệ thống)
Tên là dòng bit hoặc các ký tự để chỉ dẫn đến các thực thể chúng
ta có thể làm việc ví dụ: thực thể máy in để in, ổ cứng lưu dữ liệu, hòm thư, website…
Điểm truy cập là một thực thể đặc biệt, tên điểm truy cập là
một địa chỉ; điểm truy cập có thể thay đổi; một thực thể có thể có nhiều điểm truy cập
Địa chỉ: là một dạng đặc biệt của điểm truy cập, ví dụ địa chỉ Ip,
VIP4, VIP6
Ví dụ mỗi website có một FTP(địa chỉ dạng số dạng ID- có thể thay đổi) khó nhở => sử dụng mặt lạ(địa chỉ dạng chữ) dễ nhớ, dễ sử dụng
Câu 15+ 16 +17: Ý nghĩa của phân giải tên:
Có nhiều cách tổ chức tên trong không gian tên trong hệ thống những thông thường hơn cả là tổ chức theo cấu trúc cây có hướng (với các nhãn và ghi chú)
Giúp việc quản lý và khai thác các hệ thống tốt hơn, cùng mạng, server thì cùng giải tên Tại Việt Nam là vn, edu: giáo dục .mid: quân sự
Phương pháp phân giải tên tuần tự: được thực hiện bằng cách
truyền và nhận qua lại giữa client và các name server ở các mức khác nhau Theo cách này thì các server không trao đổi trực tiếp với nhau, mỗi server chỉ phân giải nhãn tương ứng với lớp để xác định địa chỉ của server tiếp theo, kết quả trả lại cho client là địa chỉ của name server tiếp theo, và việc liên kết với server tiếp theo là do client đảm nhiệm
Được sử dụng trong trường hợp: server ít và ở gần client nhiều, chi phí truyền thông thấp
Phương pháp phân giải tên đệ quy: Mỗi name server sẽ gửi kết
quả đến name server tiếp theo mà nó tìm thấy Và cứ như vậy cho đến khi hoàn thành phân giải toàn bộ đường dẫn
Được sử dụng trong trường hợp: server nhiều và ở xa,việc client giảm, server tăng, chi phí truyền thông cao
Câu 18+ 19+20: Cách tổ chức phân giải tên cho thực thể di dộng:
Các hệ thống định danh truyền thống không phù hợp cho các
thực thể di động, đòi hỏi phải có cơ chế định vị những thực thể di động vì thực thể di động có thể thay đổi vị trí việc tổ chức này sao cho chúng hiệu quả là không hề đơn giản
Định vị thực thể di động bằng truyền thông nhóm rộng rãi:
Thông tin được truyền đến tất cả các nhóm để xác định có phải thực thể cần liên hệ hay không ? Khi mạng truyền thông lớn phương pháp này tốn thời gian hiệu quả kém và không khả thi
Trang 7Định vị thực thể di động bằng chuyển con trỏ: Với một thực
thể di động rời khỏi vị trí A của nó đến vị trí B thì nó sẽ để lại một tham chiếu tới vị trí mới của nó Nhờ đó, khi định vị được thực thể, client có thể xác định ngay được địa chỉ hiện tại của thực thể này nhờ vết địa chỉ đó
Các vấn đề gặp phải khi sử dụng phương pháp này là: Nếu
thực thể luôn luôn thay đổi thì phương pháp này không hiệu quả, bởi
nó phải duyệt qua quá nhiều địa chỉ khác Ví dụ như các hệ thống lưu trữ file trên Internet
Các thực thể trung gian phải lưu trữ con trỏ rất lâu khi thực thể vẫn tồn tại
Khi thông tin về địa chỉ bị mất trên một host trung gian bất kì thì
nó không thể được tìm thấy nữa
Định vị thực thể di động bằng thông qua điểm gốc: Cấp
phát cho mỗi thực thể một vị trí gốc (home) thường là nơi thực thể được tạo ra
Địa chỉ của home được đăng kí tại naming service
Home đăng kí địa chỉ ngoài của các thực thể
Client luôn đến home trước tiên, và sau đó tiếp tục với các vị trí bên ngoài
Như vậy việc bảo vệ điểm gốc này là vô cùng quan trọng và cần
áp dụng một số phương pháp đặc biệt, bởi nếu điểm này down thì tất
cả các thực thể do nó quản lí sẽ không thể tìm thấy Mọi liên hệ với host đều thông qua điểm gốc này
Khi thực thể muốn thay đổi vị trí thì phải đăng kí tại điểm gốc Như vậy quá trình làm việc với thực thể có thể mô tả qua 4 bước:
Gửi thông tin đến điểm gốc ; Điểm gốc gửi địa chỉ thực thể
Chuyển thông tin đến thực thể; Chuyển các thông tin tiếp theo đến thực thể
Câu 21: Khái niệm đồng bộ hóa: Đồng bộ hóa là việc đồng bộ
các đồng hồ trên các máy tính trong hệ phân tán, để đồng bộ hóa giờ trên toàn cầu người ta đưa ra khái niệm giờ chuẩn UTC Đảm bảo các tiến trình làm việc đúng tuần tự
Lý do phải đồng bộ hóa: Việc đồng bộ hóa đồng hồ là cần thiết
và không hề đơn giản vì trên mỗi máy tính trong hệ phân tán có một đồng hồ riêng.Ví dụ khi máy A hỏi giờ trước máy B, những vẫn có khả năng nhận được giờ chậm hơn hoặc bằng máy B điều này khó có thể chấp nhận được nên việc đồng bộ hóa là cần thiết để hệ thống đạt được sự thống nhất về thời gian
Câu 22: Ý nghĩa của đồng bộ hóa đồng hồ vật lý: Liên quan
đến vấn đề thời gian vật lý và thời gian áp dụng phương pháp tính toán Internation Automic Time được sử dụng cứ 86400 s sẽ chậm hơn 3ms so với thời gian vật lý, nên cần đồng bộ để thời gian thực và thời gian trên các hệ phân tán được giống nhau
Các giải thuật đồng bộ hóa đồng hồ vật lý:
Giải thuật Cristian: Trong hệ phân tán xây dựng một máy Time Server và đồng bộ các máy còn lại với máy này.Trong khoảng thời
Trang 8gian δ/2p mỗi máy sẽ gửi một thông điệp đến máy chủ hỏi thời gian hiện tại Máy chủ nhanh sẽ phản hồi bằng một thông điệp mang giá trị thời gian C(utc).Bên gửi nhận được sẽ thiết lập lại clock thành C(uct)
Đánh giá: giải thuật này có 2 vấn đề :
- Một là nếu clock bên gửi chạy nhanh thì lúc này C(uct) sẽ nhỏ hơn thời gian hiên tại C(uct) của bên gửi Có thể giải quyết bằng cách thay đổi nhịp ngắt lại nhanh hơn hoặc chậm hơn cho đến lúc khớp nhau
- Hai là sự chênh lệch từ lúc C(uct) được gửi cho đến lúc nhận được có thể gây lỗi Giải quyết bằng cách ghi nhận khoản thời gian giữa lúc gửi và nhận
Giải thuật Berkeley: Server time sẽ chủ động cho các máy khác biết thời gian chuẩn của mình CUTC sau đó sẽ yêu cầu thông tin
về thời gian của các client
Client sẽ trả lời khoảng thời gian chênh lệch giữa nó và server Server sẽ tính khoảng thời gian mà các client so với thời gian chuẩn của server lúc đó và gửi cho các máy khách cách điều chỉnh thời gian cho phù hợp
Giải thuật trung bình: Vào thời điểm bắt đầu của mỗi lần
đồng bộ tất cả các máy của mạng sẽ broadcast thời gian của mình Sau khi broadcast nó sẽ bắt đầu thu thập thời gian mà các máy khác gửi đến trong khoảng thời gian S Bỏ đi giá trị lớn nhất và nhỏ nhất rồi tính trung bình của các giá trị thời gian còn lại
Câu 23: Đồng bộ hóa đồng hồ logic:Trong nhiều trường hợp, giữa các tiến trình không nhất thiết phải phù hợp theo thời gian thực
tế mà chỉ cần khớp với nhau về thời gian Do đó người ta đưa ra khái niệm đồng hồ logic
Trường hợp vận dụng: Khi sự kiện A, B,C cùng một tiến trình,
thứ tự xảy ra là A, B,C thì khi xử lý đưa ra kết quả A phải xảy ra trước
B, B phải xảy ra trước C, => A phải xảy ra trước X;
Nếu không cùng tiến trình thì việc thực hiện các yêu cầu đưa ra kết quả có thể do trong quá trình truyển tải và xử lý có thể các sự kiện được gửi trước có thể nhận kết quả sau tùy theo mức độ ưu tiên
Câu 24: Các giải thuật bầu trọn trong đồng bộ hóa đồng hồ logic:
Giải thuật áp đảo: Mỗi tiến trình có một ID duy nhất, các tiến
trình đều biết ID và địa chỉ của nhau trong hệ thống
Các bước giải thuật:
1 P gửi thông điệp ELEC đến tất cả các tiến trình có ID cao hơn
2 Nếu không tiến trình nào phản hồi thì P sẽ trở thành tiến trình điều phối
3 Nếu tiến trình có ID cao hơn phản hồi thì nó trở thành tiến tình điều phối
Giải thuật vòng: Các tiến trình có một ID duy nhất, được sắp
xếp thành vòng tròn Logic Mỗi một tiến trình có thể nhận biết được tiến trình bên cạnh mình
Trang 9Các bước giải thuật:
1 Một tiến trình bắt đầu gửi thông điệp ELEC tới các nút còn tồn tại gần nhất, quá trình gửi theo 1 hướng nhất định Thăm dò liên tiếp trên vòng cho đến khi tìm được 1 nút còn tồn tại
2 Mỗi một tiến trình sẽ gắn ID của mình vào thông điệp gửi
3 Cuối cùng sẽ chọn ra 1 tiến trình có ID cao nhất trong số các
tiến trình còn hoạt động và gửi thông điệp điều phối cho tiến trình đó
Câu 25: Nêu các giải pháp cấp khóa, khóa file và thu hồi khóa trong các hệ thống file phân tán:
+ Thiết lập khóa Việc tạo ra khóa bí mật giữa bên truyền và bên nhận được thực hiện như sau:
Bên A và bên B đều tạo ra hai số lớn là n và g - hai số này có thể được công khai Bên A sẽ tạo ra một số lớn khác là x, bên B tạo ra số lớn y và giữ bí mật chúng Bên A sẽ gửi cho bên B: n, g và (gx mod n) Bên B sẽ thực hiện tính (gx mod n)y= gxy mod n do đó sẽ xác định được khóa bí mật x của bên A Đồng thời, bên B cũng gửi cho bên A (gy mod n) Bên A thực hiện tính toán (gy mod n)x= gxy mod n nhờ
đó cũng xác định được khóa bí mật y của bên B
+ Phân phát khóa: Trong hệ mã mật đối xứng, khóa bí mật tạo ra phải được truyền đi trên kênh mật riêng Trong hệ mật mã dùng khóa công khai, khóa công khai phải đảm bảo cùng một cặp với một khóa
bí mật Khóa công khai được truyền đi như một bản rõ trên đường truyền và phải có hỗ trợ xác thực Khóa bí mật được truyền đi trên một kênh riêng và cũng phải được xác thực Thông thường, khóa công khai thường đượcthay bằng một chứng chỉ khóa công khai (public - key certificate) Chứng chỉ này bao gồm một khóa công khai
và một xâu định danh để xác định được khóa mật liên kết với nó Câu 26: Nhất quán và nhân bản trong hệ phân tán:
Dùng bản sao để 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
Dùng bản sao để 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
Trang 10Các mô hình đảm bảo tính nhất quản khi nhân bản:
Lấy dữ liệu làm trung tâm: Mô hình nhất quán chặt;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 nhân quả; Mô hình nhất quán FIFO; Mô hình nhất quán yếu;
Mô hình nhất quán đi ra; Mô hình nhất quán đi vào
Lấy Client làm trung tâm: Nhất quán cuối cùng; Nhất quán
đọc đều; Nhất quán ghi đều; Nhất quán đọc kết quả ghi; Nhất quán ghi theo sau đọc
Câu 27: Các giao thức kéo và đẩy trong quản lý các bản sao:
Giao thức kéo cập nhật: là giao thức do server hoặc client khởi tạo khi muốn được cập nhật Giao thức này hoạt động hiệu quả trong các hệ thống có tỷ lệ đọc/cập nhật thấp Giao thức này thường được
sử dụng bởi cache trên máy client
Giao thức đẩ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 thay đổi xảy ra mà không cần các server khác yêu cầu /giao thức đẩy hoạt động hiệu quả trong các hệ thống có tỷ lệ đọc/cập nhật ở các bản sao tương đối lớn Bên cạnh đó, giao thức đẩy cập nhật cũng thích hợp với hệ thống có yêu cầu cao về mức độ nhất quán giấu các bản sao
Câu 28: Phân biệt bản sao khởi tạo bởi client và bản sao khởi tạo
bởi server:
Bản sao do Server khởi tạo: 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
Đặc điểm: Giảm tải trên máy chủ; Các tệp tin được chỉ định sẽ được đưa tới các vị trí gần với máy khách hơn
Mỗi máy chủ theo dõi việc truy cập vào các tệp tin và vị trí mà yêu cầu đến
Ví dụ: mỗi máy chủ có thể biết được máy khách nào là gần với một máy chủ nào đó nhất, nếu có hai máy trạm cùng chung một máy chủ gần nhất nào đó thì tất cả các yêu cầu tới máy chủ ban đầu sẽ được chuyển tới máy chủ đó Nếu như số yêu cầu tới máy chủ ban đầy mà giảm xuống dưới một giá trị nào đó thì tệp tin đó sẽ bị xóa khỏi máy chủ đó Điều đó sẽ làm giảm số lượng các bản sao và làm tăng các yêu cầu tới các bản sao khác Tuy nhiên vẫn phải đảm bảo rằng ít nhất còn có một bản sao tồn tại
Các bản sao do client khởi tạo : Một loại bản sao quan trọng
là bản sao được tạo ra bởi máy khách, nó thông thường được gọi là bộ nhớ đệm (cache) 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 Bộ nhớ đệm của máy khách được sử dụng để tăng thời gian truy cập dữ liệu Thông thường, khi máy khách muốn truy cập một số dữ liệu nào đó nó kết nối tới bản sao gần nhất của dữ liệu đó và lấy dữ liệu nó cần về để đọc và lưu trữ
dữ liệu mà nó mới thay đổi Nếu các thao tác đều là đọc dữ liệu thì hiệu năng có thể tăng lên nhờ để máy trạm lưu trữ dữ liệu trong bộ