1. Trang chủ
  2. » Luận Văn - Báo Cáo

Sao lưu dữ liệu phân tán

77 12 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 77
Dung lượng 1,07 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Mỗi khi thực hiện mới giao dịch máy Client sẽ thực hiện tải lại toàn bộ dữ liệu bán hàng từ máy chủ, dẫn đến việc bán hàng chậm, có thể tắc ngẽn hệ thống, do liên tục phải đọc ghi dữ liệ

Trang 1

-

Đinh Xuân Thọ

SAO LƯU DỮ LIỆU PHÂN TÁN

LUẬN VĂN THẠC SĨ KHOA HỌC CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC :

1 TS Hà Quốc Trung

Hà Nội –2012

Trang 2

L ỜI CAM ĐOAN

Tôi là: Đinh Xuân Thọ

Học viên lớp Cao học: Công nghệ Thông tin

Khóa: 2009 Đại học Bách khoa Hà Nội

Mã số Học viên: CB091352

Tôi cam kết: Luận văn tốt nghiệp là kết quả nghiên cứu của bản thân tôi dưới

sự hướng dẫn của T.S.Hà Quốc Trung

Các kết quả nêu trong Luận văn tốt nghiệp là trung thực, không phải sao chép

toàn văn của bất kì công trình nào khác

Trang 3

L ỜI CẢM ƠN

Trước tiên, em xin được gửi lời cảm ơn chân thành, sâu sắc tới thầy Hà Quốc

Trung, Giám đốc Trung tâm Mạng Thông tin Đại học Bách khoa Hà nội, là người

trực tiếp hướng dẫn em thực hiện luận văn này Trong suốt thời gian thực hiện luận

văn, Thầy đã rất nhiệt tình hướng dẫn, đưa ra những định hướng, góp ý quý báu cho

bản luận văn tốt nghiệp của em

Tôi cũng gửi lời cảm ơn tới bạn Ngô Thị Vinh, Lê Anh Dũng cùng tập thể lớp

Cao học Công nghệ Thông tin khóa 2009 Đại học Bách khoa Hà nội vì đã có những

đóng góp, chia sẻ rất kịp thời các thông tin hữu ích trong suốt quá trình học tập và

thực hiện luận văn tốt nghiệp của tôi

Lời cuối cùng, tôi xin gửi lời cảm ơn tới người thân, gia đình, bạn bè đã luôn

động viên, cổ vũ tôi trong suối thời gian tôi thực hiện bản luận văn này

Hà nội, ngày 05 tháng 3 năm 2012

Đinh Xuân Thọ

Lớp Cao học Công nghệ Thông tin 2009

Đại học Bách khoa Hà Nội

Trang 4

Mục lục

DANH MỤC HÌNH VẼ 6

DANH MỤC CÁC KÍ HIỆU, VIẾT TẮT 7

LỜI NÓI ĐẦU 9

1 Chương 1 11

1.1 Giới thiệu về hệ dữ liệu phân tán 11

1.1.1 Hệ dữ liệu phân tán là gì? 11

1.1.2 Phân loại hệ dữ liệu phân tán 13

1.1.3 Quản lí dữ liệu phân tán và trong suốt 15

1.1.4 Ưu và nhược điểm của hệ dữ liệu phân tán 17

1.2 Sao lưu dữ liệu phân tán 19

1.2.1 Giới thiệu về sao lưu dữ liệu 19

1.2.2 Những vấn đề chính của sao lưu dữ liệu 21

1.2.3 Điều khiển song song 22

1.2.4 Tính nhất quán của sao lưu dữ liệu 23

1.2.5 Phương thức quản lí cập nhật 25

1.2.5.1 Phương pháp cập nhật Eager 25

1.2.5.2 Phương pháp cập nhật Lazy 26

1.2.5.3 Phương pháp Two-Tier Replication 28

Chương 2: 33

2.1 Mô hình hoạt động của hệ thống siêu thị 33

2.1.1 Hoạt động thu ngân, tính tiền của một số hệ thống siêu thị hiện tại 33

2.1.2 Mô hình hoạt động của hệ thống chuỗi siêu thị 34

2.2 Tổ chức dữ liệu và phương thức hoạt động của siêu thị 35

2.2.1 Tổ chức dữ liệu bán hàng của phần mềm Daisy Soft 35

2.2.1.1 Thực hiện thanh toán 35

2.2.1.2 Cập nhật giao dịch bán hàng 37

2.2.2 Tổ chức dữ liệu bán hàng của phần mềm Thành Đô Soft 37

2.2.2.1 Cơ chế bán hàng 37

2.2.3 Ưu nhược điểm của mô hình hệ thống 38

Chương 3: 40

Trang 5

3.1 Sự cần thiết có một giải pháp 40

3.2 Ý tưởng chính của giải pháp 40

3.3 Chiến lược quản lí 42

3.3.1 Tổ chức dữ liệu 42

3.3.2 Phương thức hoạt động 43

3.4 Một số giải pháp đồng bộ dữ liệu 44

3.4.1 Giải pháp sử dụng truyền câu lệnh 44

3.4.2 Giải pháp sử dụng Microsoft Sync Framework 44

3.5 Xây dựng modun đồng bộ dữ liệu bất đối xứng theo chức năng –Phương pháp Two-Tier Replication sửa đổi 48

3.5.1 Phương pháp gửi câu lệnh thực thi 49

3.5.1.1 Theo dõi thay đổi dữ liệu 49

3.5.1.2 Bảng theo dõi thông tin cập nhật từ phía máy chủ: 49

3.5.1.3 Đưa thông tin cần đồng bộ vào bảng theo dõi 50

3.5.1.4 Theo dõi thông tin cập nhật từ phía máy thu ngân: 52

3.5.1.5 Các bước quá trình đồng bộ 52

3.5.2. Phương pháp đồng bộ sử dụng MicroSoft Sync Framework 56

3.5.2.1 Xác định bảng cần đồng bộ: 57

3.5.2.2 Tạo bảng theo dõi cho bảng dữ liệu cần đồng bộ 58

3.5.2.3 Tạo các Triger để cập nhật các thay đổi từ bảng chính vào bảng theo dõi 61

3.5.2.4 Xác định phạm vi đồng bộ 62

3.5.2.5 Tạo các thủ tục (Store Procedure) để lấy những dữ liệu thay đổi, cập nhật 63

3.5.2.6 Tiến hành đồng bộ 66

3.5.2.7 Thiết kế giao diện 67

4.5 Thử nghiệm 69

4.6.1 Đồng bộ trong mạng LAN: 70

4.6.2 Đồng bộ qua mạng internet: 72

4.6 Đánh giá hiệu năng 73

4.7.1 Ưu điểm của mô hình 75

4.7.2 Nhược điểm 75

2 KẾT LUẬN CHUNG 76

TÀI LIỆU THAM KHẢO 77

Trang 6

DANH MỤC HÌNH VẼ

Hình 1.1: Môi trường dữ liệu tập trung trên một mạng 12

Hình 1.2: Môi trường Hệ dữ liệu phân tán 13

Hình 1.3: Môi trường hệ dữ liệu phân tán thuần nhất 14

Hình 1.4: Môi trường hệ dữ liệu phân tán không thuần nhất 15

Hình 1.5: Mô hình sao nhân bản đơn giản 20

Hình 2.1: Hoạt động thu ngân 33

Hình 2.2: Mô hình tổ chức dữ liệu siêu thị 34

Hình 2.3: Truy vấn dữ liệu 36

Hình 2.4:Lưu đồ thực hiện thanh toán tiền tại Daisy soft 36

Hình 2.5: Lưu đồ thực hiện thanh toán tiền tại phần mềm Thành Đô Soft 38

Hình 3.1: Mô hình dữ liệu phân tán bán hàng 41

Hình 3.2: Mô hình đồng bộ 42

Hình 3.3: Mô hình thành phần của Sync Framework 45

Hình 3.4: Mô hình truyền dữ liệu của Sync Framework 47

Hình 3.5: Bảng theo dõi thay đổi 49

Hình 3.6: Đưa dữ liệu vào bảng theo dõi 52

Hình 3.7: Mô hình đồng bộ dữ liệu từ máy chủ về máy thu ngân 53

Hình 3.8: Mô hình đồng bộ giao dịch từ máy thu ngân về máy chủ 56

Hình 3.9: Giao diện đăng kí bảng vào phiên đồng bộ 68

Hình 3.10: Giao diện đăng kí mới phiên và chiều đồng bộ 68

Hình 3.11: Biểu đồ tỉ lệ thời gian đồng bộ và số bản ghi đồng bộ mạng LAN 71

Hình 3.12: Biểu đồ tỉ lệ thời gian đồng bộ và số bản ghi đồng bộ qua internet 73

Trang 7

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

1 DBMS Hệ quản trị cơ sở dữ liệu

2 Global User Người dùng toàn cục

3 Distribute DBMS Hệ quản trị Cơ sở dữ liệu phân tán

4 Global Schema Lược đồ toàn cục

5 Local User Người dùng cục bộ

6 Bottneck Thắt nút cổ chai

7 2 phase-locking protocol(2PL) Giao thức khóa hai pha

9 2PC – two-phase-commit Ủy thác hai pha

10 Dealock - timeout Khóa chốt

11 Deadlock rate Tốc độ ra tăng khóa

12 Replication Nhân bản

13 Timestamps Nhãn thời gian

14 Mobile nodes Các nút luôn di động

15 Base nodes Các nút luôn kết nối

16 Master version Bản chính

17 Tentative Version Bản cục bộ tại các nút di động

18 Transaction Giao dịch

19 Barcode Mã vạch của sản phẩm

21 Extensible Markup Language (XML) Ngôn ngữ đánh dấu mở rộng

22 Metadata Siêu dữ liệu

23 Sync Section Phiên đồng bộ

26 SQL (Structured Query Language) Ngôn ngữ truy vấn mang tính cấu

trúc

Trang 8

DANH MỤC CÁC BẢNG.

Bảng: 3.5-1: Bảng Tracking theo dõi thay đổi 60

Bảng: 3.5-2 Scope_name: lưu trữ thông tin và chiều của phiên đồng bộ 62

Bảng: 3.5-3 Table_updatelist: Lưu trữ danh sách các bảng được đồng bộ theo phiên

62

Bảng: 4.5-1: Thông Số cấu hình máy thử nghiệm 69

Bảng: 4.5-2: Tỉ lệ giữa thời gian và số lượng bản ghi, đồng bộ qua LAN 71

Trang 9

LỜI NÓI ĐẦU

Cùng với sự phát triển mạnh mẽ của mạng máy tính nói riêng, công nghệ thông

tin nói chung, việc tính toán, quản lí, lưu trữ ngày nay không chỉ đơn giản tập trung

trong một máy tính đơn như trước nữa mà đòi hỏi các hệ thông tính toán, lưu trữ

phải được kết hợp từ một số lượng lớn các máy tính kết nối, chia sẻ với nhau thông

qua mạng tốc độ cao Thường được gọi là các hệ phân tán

Ngày nay các hệ phân tán được phát triển rất nhanh và ứng dụng rộng khắp, ứng

dụng vào rất nhiều ngành và lĩnh vực khác nhau, đó có thể là các dịch vụ thông tin

phân tán, các dữ liệu, xử lí phân tán, các ứng dụng phân tán như trong ngân hàng,

viễn thông,…và trong các hoạt động kinh doanh thương mại khác Trong hệ phân

tán đòi hỏi một kĩ thuật quan trọng đó là sự đồng bộ thông tin giữa các điểm phân

tán với nhau, hay còn gọi là sao lưu, đồng bộ dữ liệu phân tán Trong lĩnh vực siêu

thị, bán lẻ cũng là một ví dụ Việc ứng dụng công nghệ thông tin vào quản lí kinh

doanh là một xu thế tất yếu, nhất là hiện nay các siêu thị bán lẻ đã trở thành chuỗi,

hệ thống, vì vậy nhu cầu quản lí đồng bộ, phân tán là yêu cầu cần thiết tất yếu

Đa số các hệ thống bán hàng, thu ngân hiện nay đều chạy với mô hình

Cient-Server, mọi xử lí, lưu trữ đều tập trung tại máy chủ Mỗi khi thực hiện mới giao

dịch máy Client sẽ thực hiện tải lại toàn bộ dữ liệu bán hàng từ máy chủ, dẫn đến

việc bán hàng chậm, có thể tắc ngẽn hệ thống, do liên tục phải đọc ghi dữ liệu,

không đồng bộ kịp thời các thông tin thay đổi hàng hóa, sản phẩm đến máy bán

hàng không kịp thời, thanh toán chậm, sai Hệ thống bán hàng hoàn toàn phụ thuộc

vào máy chủ, khi máy chủ, hoặc mạng bị lỗi, ngừng hoạt động thì toàn bộ hệ thống

cũng ngừng hoạt động theo

Xuất phát từ thực tế đó tác giả đề xuất, nghiên cứu mô hình mới, ứng dụng sao

lưu dữ liệu phân tán, bất đối xứng vào hệ thống tính tiền siêu thị Với ý tưởng chính

là thiết lập một tập dữ liệu thu gọn tại các máy thu ngân, lưu trữ các dữ liệu cần

Trang 10

thiết, truy cập thường xuyên Chuyển các truy vấn thường xuyên khi bán hàng từ

máy chủ sang chính máy thu ngân đó, đồng thời lưu trữ các giao dịch bán hàng của

chính trạm thu ngân này nhằm giảm tải cho máy chủ, tăng hiệu năng, độ tin cậy,

tính sẵn sàng của hệ thống

Đồng thời tác giả đề xuất, thiết kế modun sao lưu, đồng bộ dữ liệu giữa máy chủ

và máy bán hàng, và giữa các máy chủ theo chức năng, có chọn lọc các thông tin,

phân tán xử lí, phân tán dữ liệu truy vấn về máy bán hàng Tác giả sử dụng ứng

dụng công nghệ Sync Framework của MicroSoft, không đồng bộ lại toàn bộ thông

tin hàng hóa, chỉ đồng bộ các dữ liệu mới thay đổi, hai chiều giữa máy chủ và máy

bán hàng

Nội dung của Luận văn bao gồm ba chương:

Chương 1: Tác giả khái quát các khái niệm cơ bản về hệ dữ liệu phân tán, các

đặc điểm chung, các ưu và nhược điểm của hệ dữ liệu phân tán so với tập trung,

đồng thời giới thiệu các khái niệm đặc điểm, những vấn đề chính và phương pháp

sao lưu dữ liệu phân tán, bao gồm một số phương thức quản lí sao lưu phân tán như

Eager, Lazy và Two tier Replication

Chương 2: Tác giả giới thiệu về mô hình tổ chức dữ liệu của hệ thống siêu thị,

mô hình tổ chức hoạt động thu ngân, các bước của hoạt động thu ngân và phương

thức tổ chức hoạt động của một số phần mềm hiện nay trên thị trường (Phần mềm

Daisy Soft, Thành Đô Soft) đồng thời đánh giá ưu và nhược điểm của từng mô hình

Chương 3: Tác giả đề xuất mô hình mới giải quyết một số nhược điểm của mô

hình hiện tại với ý tưởng chính là: phân tán dữ liệu cần truy vấn khi bán hàng của

máy thu ngân từ máy chủ sang máy bán hàng, tạo dữ liệu thu gọn tại máy bán hàng,

thiết kế modun đồng bộ giao tiếp dữ liệu giữa máy bán hàng và máy chủ Tác giả đã

thiết kế, thử nghiệm thành công modun đồng bộ dữ liệu, sử dụng một số thư viện

Sync Framework của hãng Microsoft Tác giả sử dụng phương pháp tạo bảng

tracking để theo dõi các thay đổi của dữ liệu, nhằm tối ưu hóa dữ liệu phải đồng bộ

Trang 11

1 Chương 1

1.1 Giới thiệu về hệ dữ liệu phân tán

Hệ dữ liệu phân tán là sự kết hợp của hai hướng tiếp cận đối với quy trình xử lí

dữ liệu: Công nghệ quản lí dữ liệu và công nghệ truyền thông mạng máy tính Vậy

tại sao lại thực hiện phân tán, phải chăng dữ liệu tập trung không đáp ứng được yêu

cầu? có nhiều câu trả lời cho câu hỏi này chỉ ra rằng việc phân tán là nhằm thích

ứng tốt hơn cho sự phân bố ngày càng rộng rãi của các công ty, xí nghiệp, tập đoàn

đa quốc gia, đồng thời hệ thống phân tán có độ tin cậy cao hơn, khả năng đáp ứng

tốt hơn Quan trọng hơn là, việc phân tán như một hệ quả tất yếu, giao dịch ngân

hàng, các ứng dụng đa phương tiện…Tuy nhiên một cách tổng thể lí do của sự phân

tán là nó có thể giải quyết tốt hơn các vấn đề phức tạp mà chúng ta gặp phải hiện

nay

1.1.1 Hệ dữ liệu phân tán là gì?

Chúng ta có thể định nghĩa một hệ dữ liệu phân tán như sau: Hệ dữ liệu phân tán

là một tập hợp nhiều cơ sở dữ liệu, dữ liệu có liên quan logic và được phân bố trên

một mạng máy tính Hệ quản trị dữ liệu phân tán là một hệ thống phần mềm cho

phép quản lí các dữ liệu phân tán Chúng ta nhấn mạnh rằng một hệ dữ liệu phân tán

là một hệ dữ liệu phân tán đích thực, không phải bao gồm tập hợp các tệp tin Hệ dữ

liệu phân tán vẫn được quản trị như một hệ dữ liệu tập trung, như một nguồn tài

nguyên trong khi vẫn có được sự linh hoạt và tùy biến Mạng phải cho phép người

dùng chia sẻ dữ liệu với người dùng khác hoặc chương trình tại điểm A phải có thể

truy cập dữ liệu đặt tại điểm B và ngược lại Các trạm làm việc của hệ thống phân

tán được trải rộng trên một phạm vi địa lí lớn như một quốc gia hoặc nhỏ như một

tòa nhà, trường học Các trạm máy tính có thể từ máy tính nhỏ đến máy tính lớn

thậm chí siêu máy tính

Trang 12

Điều quan trọng để phân biệt giữa hệ dữ liệu phân tán và hệ dữ liệu phân cấp là:

Một hệ dữ liệu phân cấp cũng được lưu trữ trên các máy tính tại nhiều địa điểm

Nhưng người dùng tại các trạm khác nhau không thể chia sẻ dữ liệu Một hệ dữ liệu

phân cấp chính là một tập các hệ dữ liệu độc lập, chứ không phải là có sự phân bố

địa lí của một hệ dữ liệu duy nhất Ngoài ra một hệ dữ liệu phân tán không phải là

hệ thống mà cứ có sự hiện diện của mạng máy tính, dữ liệu chỉ nằm ở một nút

mạng Trong trường hợp này vấn đề quản trị dữ liệu như là quản trị trong môi

trường tập trung, hệ dữ liệu này được quản lí tập trung, mọi yêu cầu được chuyển

đến trạm đó Điều quan trọng của hệ dữ liệu phân tán là môi trường mà trong đó dữ

liệu được phân tán đến một số vị trí (Hình 1.2)

Trang 13

Nói một cách đơn giản, hệ dữ liệu phân tán là tập hợp dữ liệu logic thuộc về

cùng một hệ thống nhưng trải rộng ra nhiều điểm trên mạng máy tính Như vậy có

hai vấn đề của hệ dữ liệu phân tán với tầm quan trọng tương đương nhau:

- Việc phân tán: Trong thực tế dữ liệu không đặt trên cùng một vị trí vì vậy

đây là đặc điểm để phân biệt hệ dữ liệu phân tán với hệ dữ liệu tập trung và dữ liệu

đơn lẻ

- Liên quan logic: Trong hệ dữ liệu phân tán, dữ liệu có một số đặc tính liên

kết chặt chẽ với nhau như tính kết nối, tính liên quan logíc Trong hệ dữ liệu tập

trung, mỗi vị trí tự quản lý dữ liệu và người sử dụng phải truy cập đến dữ liệu ở

những vị trí khác nhau để lấy thông tin tổng hợp

1.1.2 Phân loại hệ dữ liệu phân tán

Hệ dữ liệu phân tán có thể phân loại thành các làm hai loại:

+ Hệ dữ liệu phân tán thuần nhất: Tức là cùng một hệ quản trị dữ liệu được sử

Hình 1.2: Môi trường Hệ dữ liệu phân tán

Trang 14

- Tự trị: Mỗi hệ quản trị dữ liệu làm việc một cách độc lập, gửi thông điệp qua

dạng mesages và cập nhật vào dữ liệu chia sẻ

- Không tự trị: Một trung tâm hoặc trạm chính, hệ quản trị dữ liệu điều phối

truy cập dữ liệu và cập nhật qua các nút

- Dữ liệu được phân tán qua tất cả các nút

- Cùng một hệ quản trị dữ liệu được sử dụng ở mỗi nút

- Tất cả dữ liệu được quản lí bởi hệ quản trị dữ liệu phân tán

- Tất cả người sử dụng truy cập hệ dữ liệu thông qua một lược đồ tổng thể

- Lược đồ tổng thể đơn giản là kết hợp của tất cả các lược đồ dữ liệu cục bộ

Hình 1.3: Môi trường hệ dữ liệu phân tán thuần nhất

+ Hệ dữ liệu phân tán không thuần nhất: các hệ quản trị dữ liệu khác nhau được

sử dụng mỗi nút

- Hệ quản trị dữ liệu đầy đủ chức năng: Hỗ trợ tất cả các chức năng của một hệ

dữ liệu phân tán

Trang 15

- Một phần- dữ liệu phân tán: Hỗ trợ một số tính năng của một hệ dữ liệu phân

tán

- Dữ liệu được phân tán qua tất cả các nút

- Mỗi nút có thể sử dụng một hệ quản trị dữ liệu riêng

- Một vài người sử dụng yêu cầu chỉ truy cập cục bộ tới hệ dữ liệu, mà có thể

đã hoàn thành bởi chỉ sử dụng lược đồ và hệ quản trị dữ liệu cục bộ

- Tồn tại một lược đồ tổng thể cho phép người dùng cục bộ truy cập vào dữ

liệu từ xa

Hình 1.4: Môi trường hệ dữ liệu phân tán không thuần nhất

1.1.3 Quản lí dữ liệu phân tán và trong suốt

Đặc tính trong suốt muốn nói đến sự tách biệt về ngữ nghĩa của hệ thống ở cấp

độ cao và các vấn đề cài đặt ở cấp độ thấp Nghĩa là một hệ thống vô hình sẽ che

khuất các cài đặt, không cho người dùng nhìn thấy chi tiết phương thức, cách thức

bên trong, như vậy việc trong suốt hoàn toàn là mong muốn của tất cả các hệ quản

trị dữ liệu tập trung và phân tán

- Trong suốt vị trí: Mục tiêu cho thiết kế hệ dữ liệu phân tán là người sử dụng,

chương trình sử dụng dữ liệu không cần biết dữ liệu ở đâu Hệ thống dữ liệu phân

tán cung cấp truy cập dữ liệu một cách dễ dàng cho nhiều người dùng tại nhiểu vị trí

Trang 16

khác nhau, bất kì yêu cầu nào select hay update dữ liệu từ bất kì trạm nào được tự

động chuyển tiếp bởi hệ thống tới trạm hoặc trạm liên quan tới việc xử lí yêu cầu

- Sự độc lập dữ liệu: Độc lập dữ liệu là một dạng trong suốt cần có của một hệ

quản trị dữ liệu Định nghĩa dữ liệu có thể xuất hiện ở hai mức, đặc tả cấu trúc logic

của dữ liệu và đặc tả cấu trúc vật lí của dữ liệu Do vậy có đến 2 loại độc lập dữ liệu

là độc lập logic và độc lập vật lí Độc lập logic nói đến sự không ảnh hưởng của các

ứng dụng đối với sự thay đổi của cấu trúc logic của dữ liệu Độc lập vật lí nghĩa là

các ứng dụng khi viết không quan tâm đến chi tiết tổ chức vật lí của dữ liệu

- Trong suốt kết nối mạng: Là làm cho hệ thống phân tán hoạt động giống như

hệ thống tập trung, làm cho không có sự khác biệt nào so với các hệ tập trung, cố

gắng che dấu ngay cả sự tồn tại của mạng nếu được

- Trong suốt đặt tên: đòi hỏi phải cung cấp một tên duy nhất cho mỗi đối

tượng hệ dữ liệu Khi không có tính trong suốt đặt tên, người dùng phải đặt tên vị

trí, định danh, thành phần của tên đối tượng

- Trong suốt nhân bản: vì các lí do hiệu năng, độ tin cậy, tính sẵn sàng, hệ

thống tự động tạo các bản sao giúp cho tăng hiệu năng, độ tin cậy, khi mà một trạm

ngừng hoạt động thì vẫn còn các trạm khác đáp ứng hoạt động của hệ thống

- Trong suốt phân mảnh: Phân mảnh là tách mỗi quan hệ thành các mảnh dữ

liệu nhỏ hơn và xử lí mỗi mảnh này như một đối tượng dữ liệu độc lập Việc phân

mảnh vì các lí do hiệu năng, tính sẵn sàng và độ tin cậy Việc phân mảnh làm giảm

chi phí cho nhân bản vì mỗi bản sao không phải tất cả các quan hệ đầy đủ mà chỉ là

tập con của nó Có hai kiểu phân mảnh đó là phân mảnh ngang và phân mảnh dọc

- Trong suốt lỗi: Đối với hệ dữ liệu phân tán, khi có lỗi xảy ra thì hệ thống tự

khắc phục và phục hồi hoạt động, không làm ảnh hưởng đến hoạt động của hệ

thống

Trang 17

1.1.4 Ưu và nhược điểm của hệ dữ liệu phân tán

Hệ dữ liệu phân tán có nhiều ưu điểm so với tập trung, trong đó quan trọng nhất

là các ưu điểm sau đây:

- Tăng độ tinh cậy và tính sẵn sàng: Toàn bộ dữ liệu không tập trung tại một

trạm, do đó khi một trạm bị lỗi thì hệ thống vẫn hoạt động Đối với hệ thống tập

trung, trung tâm dữ liệu bị lỗi thì sẽ ngừng hoạt động toàn bộ hệ thống

- Kiểm soát cục bộ: Phân tán dữ liệu khuyến khích các nhóm dữ liệu cục bộ

kiểm soát tốt hơn trên dữ liệu đó, thúc đẩy toàn vẹn và quản trị dữ liệu Tại cùng

một thời điểm người dùng có thể truy cập dữ liệu phi cục bộ nếu cần thiết, phần

cứng có thể lựa chọn cho trạm cục bộ để phụ hợp với điểm cục bộ đó, xử lí cục bộ

dữ liệu

- Khả năng mở rộng và chia sẻ tài nguyên: Dễ dàng mở rộng hệ thống, gia

tăng các trạm, chia sẻ tài nguyên, các điểm làm việc mà không làm gián đoạn hệ

thống

- Giảm chi phí truyền thông: Với hệ thống phân tán, dữ liệu có thể định vị truy

cập gần với người sử dụng cuối nhất, do đó điều này làm giảm chi phí truyền thông

so với hệ thống dữ liệu tập trung

- Nâng cao khả năng đáp ứng: Phụ thuộc vào cách mà dữ liệu được phân tán,

hầu hết các yêu cầu dữ liệu của NSD được đáp ứng bởi dữ liệu được lưu tại trạm

đó, điều này làm tăng tốc độ xử lí truy vấn, độ trễ từ truyền thông và máy tính trung

tâm được giảm thiểu Các truy vấn phức tạp cũng có thể được phân chia thành nhiều

truy vấn con và thực hiện đồng thời tại nhiều trạm khác nhau, làm giảm thời gian

đáp ứng

Các nhược điểm chính của hệ thống dữ liệu phân tán:

Trang 18

- Tính phức tạp: Các vấn đề của hệ thống phân tán phức tạp hơn so với các hệ

thống tập trung đặc biệt là vấn đề khi cập nhật dữ liệu cũng như xử lý khi gặp lỗi,

phục hồi hoạt động sau sự cố

- Chi phí: Các hệ thống phân tán cần có những thiết bị mới, các phần mềm và

phương pháp truyền thông phức tạp hơn nhằm giải quyết các vấn đề kĩ thuật, đặc

biệt là phần mềm quản trị dữ liệu Tăng chi phí nhân sự quản trị dữ liệu do dữ liệu

được đặt ở nhiều nơi khác nhau

- Phân tán quyền điều khiển: Điểm này cũng được nêu ra như một ưu điểm

nhưng cũng là nhược điểm, vì sự phân tán gây ra các vấn đề đồng bộ và nhất quán,

làm ra tăng tính phức tạp

- Tính an ninh, bảo mật: Một trong những ưu điểm của hệ thống tập trung là

đảm bảo kiểm soát được các truy suất dữ liệu, an ninh một cách dễ dàng qua hệ

thống trung tâm thông qua hệ quản trị dữ liệu Tuy nhiên trong hệ thống phân tán

môi trường mạng kèm theo các yêu cầu an ninh, các truy cập sẽ phức tạp hơn, dữ

liệu phân tán cũng khó kiểm soát truy cập hơn

Trang 19

1.2 Sao lưu dữ liệu phân tán.

Trong hệ dữ liệu phân tán cùng một mục dữ liệu được lưu trữ ở nhiều trạm khác

nhau như các bản sao Bản sao có thể cho phép người dùng truy cập dữ liệu nhanh

hơn và tăng khả năng chịu lỗi Trong phần này chúng ta xem xét các vấn đề của sao

lưu dữ liệu phân tán và một số phương pháp sao lưu được nghiên cứu gần đây

1.2.1 Giới thiệu về sao lưu dữ liệu

Sao lưu dữ liệu có thể được coi như quá trình xử lí các bản sao của dữ liệu Dữ

liệu được lưu trữ ở nhiều trạm khác nhau (trên một vùng địa lí phân tán) chứ không

phải một trạm duy nhất Mặc dù có nhiều bản sao của toàn bộ hệ dữ liệu phân tán

hoặc chỉ một phần của dữ liệu, nhưng toàn bộ ứng dụng trông giống như một hệ dữ

liệu lớn trong suốt Người dùng dữ liệu sẽ có ấn tượng rằng chỉ có một ứng dụng

duy nhất và không quan tâm dữ liệu đến từ đâu Nói cách khác một hệ thống sao lưu

dữ liệu phải làm việc như một bản sao duy nhất Sao lưu của tập mục dữ liệu, đối

tượng hoặc tập các đối tượng dữ liệu có thể được áp dụng, cho phép tăng hiệu suất,

độ sẵn sàng cao và chịu lỗi Những đặc tính trên được mô tả chi tiết hơn như sau:

- Hiệu năng hệ thống: Khi dữ liệu được lưu trữ tại một máy chủ duy nhất,

điều này dễ dẫn đến tính trạng thắt nút cổ chai (Bottneck) và toàn bộ hệ thống chạy

chậm, tăng thời gian đáp ứng Khi dữ liệu được nhân bản, phân tán, các yêu cầu có

thể được xử lí một cách song song Đồng thời, nhân bản cho phép chúng ta có thể

xác định vị trí các dữ liệu gần hơn với các điểm truy cập đầu cuối Do đó cục bộ hóa

hầu hết các truy cập đó, đóng góp cho việc giảm thời gian đáp ứng, tăng hiệu năng

hệ thống

- Tin cậy: Dữ liệu được sao lưu thì tăng độ tin cậy của hệ thống Nếu một file

hệ thống sau khi đã được nhân bản thì nó vẫn có thể tiếp tục làm việc nếu nó bị lỗi,

bằng cách đơn giản là chuyển qua sử dụng một trong các bản đã sao lưu Ngoài ra,

bằng cách duy trì nhiều bản sao, có thể bảo vệ tốt hơn chống lại việc dữ liệu bị

hỏng, lỗi Ví dụ, ta có ba bản sao của một tập tin, mọi hoạt động đọc và ghi được

Trang 20

thực hiện trên mỗi bản sao Chúng ta có thể bảo vệ chống lại lỗi thao tác ghi bằng

cách xem xét giá trị được trả về từ ít nhất hai bản sao

- Khả năng mở rộng: Khi hệ thống phát triển về mặt địa lí và tăng số lượng các

điểm truy cập, nhân bản cho phép một cách dễ dàng để hỗ trợ sự phát triển này với

thời gian đáp ứng nhanh

Mạng truyền dữ liệu

Theo mô hình 1.5, dữ liệu X được lưu trữ lại trạm 2 đồng thời được nhân bản ra

tất cả các trạm khác trên mạng NSD 1 muốn truy cập vào tệp X thì có thể truy cập

tệp X thông qua trạm 1 hoặc trạm 3, rõ ràng là gần với NSD hơn so với dữ liệu ban

đầu từ trạm 2 Như vậy chi phí truyền thông được giảm thiểu, đồng thời nếu một vài

trạm lỗi, ngừng hoạt động thì NSD vẫn có thể truy cập được thông qua trạm khác

Nếu nhân rộng giúp cải thiện độ tin cậy và hiệu năng, điều gì chúng ta phải đối

mặt? Thật không may, có một giá phải trả khi dữ liệu được nhân rộng Đó là các

vấn đề với các bản sao có thể dẫn đến các vấn đề nhất quán Bất cứ khi nào một bản

sao được sửa đổi thì nó sẽ trở thành khác với các bản sao còn lại Do đó, sửa đổi

phải được thực hiện trên tất cả các bản sao để đảm bảo tính nhất quán Mỗi bản sao

lại nằm trên một trạm khác nhau và có thể giống nhau toàn bộ (Full copy) dẫn đến

Tệp X

Tr ạm 2 Trạm 1

NSD n

Tệp X Tệp X

Tệp X

Hình 1.5: Mô hình sao nhân bản đơn giản

Trang 21

vấn đề không gian bộ nhớ Chúng ta phải sử dụng nhiều không gian bộ nhớ hơn để

lưu trữ tại từng trạm và mất thời gian để cập nhật cho mỗi bản sao trên mỗi trạm

1.2.2 Những vấn đề chính của sao lưu dữ liệu

Phân biệt giữa hai phương pháp nhân bản khác nhau: Phương pháp tiếp cận theo

kiểu lan truyền và phương pháp xử lí nhóm truyền thông Trong khi phương pháp

tiếp cận lan truyền cập nhật, lan truyền chậm (Lazily) tới tất cả các bản sao Trong

phương pháp nhóm truyền thông cập nhật theo kiểu multicast tới tất cả các bản sao

tại cùng một thời điểm Vấn đề chính là phải xem xét cách mà bản sao được cập

nhật Cập nhật tới một bản sao cũng phải kích hoạt quá trình cập nhật các bản sao

khác Nhiều nghiên cứu đã được thực hiện để tìm ra một chiến lược tuyên truyền,

cập nhật sao cho phù hợp, ta có một số vấn đề sau cần phải chú ý:

- Khi nào thì cập nhật được thực hiện? Ngay lập tức (đồng bộ) hay sau một

khoảng thời gian (không đồng bộ)?

- Làm thế nào xử lí vấn đề một trạm bị lỗi?

- Làm thế nào để giải quyết vấn đề mạng lỗi?

Một điểm quan trọng khác trong sao lưu dữ liệu là sao lưu toàn bộ (Fully

replicated) hoặc chỉ một vào đối tượng của hệ dữ liệu (sao lưu thành phần) Về căn

bản chúng ta có thể phân biệt giữa hai mô hình sao lưu căn bản: đồng bộ hoặc

không đồng bộ Với mô hình đồng bộ (hay còn gọi là phương pháp sao lưu Eager)

chỉ sau khi một yêu cầu cập nhật duy nhất hiện tại đã được xử lí ở tất cả các trạm

lưu giữ bản sao điều khiển mới được gửi trở lại cho trạm mà yêu cầu cập nhật Mô

hình này các bản sao được lưu giữ chính xác đồng bộ bằng cách cập nhật tất cả các

bản sao như một phần của giao dịch, tính nhất quán chặt chẽ được duy trì theo một

thứ tự tổng quát Hạn chế của giải pháp này là tốn thời gian, thời gian đáp ứng chậm

và thông lượng kém, thậm chí kém hơn cả mô hình một máy chủ đơn Ngược lại là

mô hình không đồng bộ (sao lưu Lazy), các cập nhật được lan truyền không đồng

bộ sau khi thao tác cập nhật được thực hiện cục bộ Điều này có thể dẫn đến việc

Trang 22

không nhất quán về mặt dữ liệu Ví dụ: tại một trạm một mục dữ liệu được thay đổi

nhưng cập nhật chưa được lan truyền tới các bản cập nhật khác, khi có hai truy vấn

khác nhau đọc mục dữ liệu này từ hai bản sao khác nhau, chúng có thể nhận được

hai giá trị khác nhau

1.2.3 Điều khiển song song

Một vấn đề chính trong hệ dữ liệu phân tán là vấn đề điều khiển đồng thời Giao

dịch cục bộ cũng như phân tán phải được thực thi một cách tuần tự để đảm bảo tính

nhất quán và ngăn chặn đọc ghi bất thường Một phương pháp cơ bản để tuần tự là

sử dụng giao thức khóa hai pha (2 phase-locking protocol)

Khi thực hiện đọc ghi có ba khả năng gây xung đột khi thực thi:

- Read –Read : không xung đột, có thể có nhiều truy vấn đọc trên cùng một tập

dữ liệu

- Read – Write: xung đột, chỉ một thực thi ghi (write) được thực hiện cho phép

tại một thời điểm, thực thi đọc (read) có thể gây xung đột tại cùng thời điểm

- Write – Write: xung đột (giống như trường hợp trên)

Ngược lại với 2PL tồn tại chiến lược cập nhật khác gọi là ROWA (read one,

write all) mà cơ bản như sau: Giả định rằng để đọc một mục dữ liệu nhân bản ta chỉ

cần gửi một yêu cầu đọc một bản sao duy nhất tùy ý, khi hoạt động ghi được thực

thi thì yêu cầu khóa ghi Tất cả các bản sao sẽ được khóa và được cập nhật (sử dụng

giao thức 2PC – two-phase-commit) Điều này dẫn đến tăng hiệu suất đọc vì có thể

đọc từ một bản sao gần nhất

Ta có quy tắc xung đột như sau:

- Nếu một giao dịch X đã thực thi một thao tác đọc trên một mục dữ liệu thì

một giao dịch đồng thời T phải không được phép ghi cho đến khi X hoàn tất hoặc

bỏ qua

Trang 23

- Nếu một giao dịch X đã thực thi một thao tác ghi trên một mục dữ liệu thì

một giao dịch đồng thời T phải không được phép ghi cho đến khi X xác nhận hoặc

bỏ qua

Việc đọc và ghi có sử dụng các khóa, như vậy sẽ dẫn đến việc các thực thi phải

chờ cho đến khi thực thi trước đó thực hiện xong, dễ gây ra độ trễ về thời gian và

dẫn đến tính trạng Dealock - timeout (khóa chốt)

1.2.4 Tính nhất quán của sao lưu dữ liệu

Tính nhất quán là việc các bản sao hội tụ về cùng giá trị, trong khi giao dịch nhất

quán yêu cầu lịch sử toàn cục được thực hiện tuần tự Có thể có một nhân bản

được hai bên nhất quán, giao dịch xác thực thành công, nhưng lịch sử toàn cục có

thể không được thực hiện tuần tự Điều này được chứng minh trong ví dụ sau đây:

Ví dụ:

Xem xét 3 Sites (A,B và C) và 3 mục dữ liệu (x,y,z) được phân tán như sau: Site

A host x, Site B host x,y, Site C host x,y,z Chúng ta sẽ sử dụng định danh Site như

là chỉ số dưới vào các mục dữ liệu để chỉ một bản sao cụ thể

Bây giờ xem xét 3 giao dịch:

T1 : x ← 20 T2 Read (x) T3 Read(x)

Write(x) y ← x+y Read(y)

Commit Write(y) z ← (x*y)/100

Commit

Chú ý rằng Write của T1 đã được thực thi tại tất cả ba trạm (x được nhân bản ở

tất cả 3 trạm), T2 Write đã được thực thi ở trạm B và C, và T3 write (ghi) đã được

Trang 24

thực thi chỉ ở C Chúng ta đang giả định một giao dịch thực hiện mô hình nơi giao

dịch có thể đọc bản sao cục bộ của nó, nhưng phải cập nhật tất cả các bản sao

Giả sử rằng theo ba lịch sử cục bộ sau được tạo ra tại trạm:

Vì vậy, lịch sử toàn cục là không tuần tự Tuy nhiên, dữ liệu là nhất quán lẫn

nhau Giả định ví dụ: ban đầu xA = xB=xC=10; yB=yC=15, và zC=7 Với lịch sử trên,

các giá trị cuối cùng xA = xB=xC=20; yB=yC=35; zC=3.5 Tất cả các bản sao vật lí đã

hội tụ về cùng một giá trị

Tuy nhiên không phải với lịch sử toàn cục không tuần tự các bản sao lúc nào

cũng hội tụ về cùng một giá trị, như thể hiện trong ví dụ sau đây:

Xem xét 2 trạm (A và B), và một mục dữ liệu item(x) mà được nhân bản trên cả

hai trạm (xA và xB) hơn nữa xem xét hai giao dịch sau đây:

Trang 25

HB= {R2(xB),W2(xB),C2,W1(xA),C1}

Mặc dù cả hai là lịch sử nối tiếp, chúng tuần tự T1 và T2 trong thứ tự đảo ngược

lại, do đó lịch sử toàn cục là không tuần tự Giả sử rằng giá trị của x trước khi thực

hiện các giao dịch này là 1 Khi kết thúc việc thực hiện những lịch trình HA, giá trị

của x là 10 tại trạm A trong khi nó là 6 tại trạm B theo lịch trình HB Như vậy,

trong ví dụ này, lịch sử toàn cục là không tuần tự, và các hệ dữ liệu không nhất

quán lẫn nhau Như vậy là mặc dù dữ liệu được nhân bản nhưng các giao dịch cần

phải được thực hiện như thực hiện tại một điểm, trên một bộ các mục dữ liệu Nói

cách khác, lịch sử tương đương với một số thực hiện nối tiếp không nhân bản các

mục dữ liệu

1.2.5 Ph ương thức quản lí cập nhật

Giao thức cập nhật có thể được phân loại theo cách các bản cập nhật được nhân

bản, nơi mà cập nhật được phép xảy ra, trong phần này chúng ta xem xét một số

phương pháp cập nhật, Eager update, Lazy Update, Two-Tier Replication…

1.2.5.1 P hương pháp cập nhật Eager

Theo phương pháp này cập nhật lan truyền áp dụng thay đổi tới tất cả các bản

sao trong nội dung của giao dịch cập nhật, do đó Khi giao dịch cập nhật được xác

nhận, tất cả các bản sao có cùng trạng thái Thông thường, kĩ thuật nhân bản Eager

sử dụng 2PC tại thời điểm xác thực Hơn nữa nhân bản Eager có thể sử dụng lan

truyền đồng bộ của một lần cập nhật bằng cách áp dụng nó trên tất cả các bản sao

cùng một lúc (khi lệnh write được thực hiện) hoặc lan truyền chậm, theo cách đó

các bản cập nhật được áp dụng cho một bản sao khi chúng được thực hiện, nhưng

những ứng dụng trên các bản sao khác là trì hoãn đến cuối giao dịch Lan truyền trì

hoãn có thể được thực hiện, bao gồm các thông tin cập nhật trong thông điệp

“Chuẩn bị để cam kết” khi bắt đầu thực hiện 2PC

Kĩ thuật Eager thường được thực thi với các tiêu chuẩn nhất quán mạnh Vì tất

cả các bản sao đều nhất quán vào cuối của mỗi giao dịch cập nhật, một thao tác đọc

Trang 26

tiếp theo có thể đọc từ bất kì bản sao nào (có nghĩa là một có thể ánh xạ Read(x) tới

Read(xi) cho bất kì xi Tuy nhiên, một Write(x) phải áp dụng cho tất cả xi (nghĩa là

Write(xi),All xi), vì vậy các giao thức đó theo phương pháp Eager được biết đến

như là những giao thức Read-one/Write-all (ROWA – ta sẽ thảo luận về giao thức

cập nhật ở phần sau)

Phương pháp cập nhật lan truyền Eager có nhiều lợi ích Đầu tiên, chúng đảm

bảo tính nhất quán lẫn nhau, do đó không có mâu thuẫn giao dịch giữa các bản sao

Thứ hai, một giao dịch có thể đọc một bản sao cục bộ của các mục dữ liệu (nếu một

bản sao cục bộ khả dụng), vì vậy không cần thiết phải đọc từ xa Cuối cùng, những

thay đổi tới bản sao được thực hiện một cách nguyên tử Do đó, phục hồi từ lỗi có

thể được điều chỉnh bởi giao thức Lợi ích chính của phương pháp cập nhật lan

truyền Eager là một giao dịch được cập nhật tới tất cả các bản sao trước khi nó kết

thúc Điều này có hai yếu điểm Thứ nhất, hiệu xuất và thời gian đáp ứng của giao

dịch cập nhật thấp, vì nó thường tham gia trong thực thi 2PC và vì tốc độ cập nhật

bị hạn chế bởi máy chậm nhất Thứ hai, nếu một bản sao không khả dụng, thì giao

dịch không thể kết thúc vì chưa phải tất cả các bản sao đã được cập nhật, nếu nó có

thể phân biệt giữa lỗi của trạm và lỗi của mạng thì có thể kết thúc giao dịch miễn là

chỉ có một bản sao là không hữu dụng, nhưng thường không thể phân biệt giữa hai

loại lỗi trên Ngoài ra phương pháp này tăng nhanh khả năng deadlocks khi số

lượng giao dịch và số nút tăng, vì theo phương pháp này cần phải chờ cho tất cả các

bản sao được xác thực thành công

1.2.5.2 Phương pháp cập nhật Lazy

Phương pháp cập nhật lan truyền LAZY khác với phương pháp Eager Các giao

dịch không đợi tới khi cập nhật được áp dụng cho tất cả các bản sao trước khi kết

thúc, nó cam kết sớm nhất các bản sao được cập nhật Lan truyền tới những bản sao

khác được hoàn thành không đồng bộ từ giao dịch ban đầu, bằng phương tiện của

các giao dịch làm mới được gửi tới các trạm nhân bản một thời gian sau khi giao

dịch cập nhật cam kết Một giao dịch làm mới mang theo chuỗi các bản cập nhật

Trang 27

của các giao dịch cập nhật tương ứng Phương pháp lan truyền Lazy thường được

sử dụng trong những ứng dụng mà nhất quán yếu Các ứng dụng này có thể chấp

nhận được một số không nhất quán giữa các bản sao lại cho hiệu suất tốt hơn.Ví dụ

như ứng dụng DNS, hệ dữ liệu trải rộng phân tán trên nhiều trạm trên phạm vi địa lí

rộng, hệ dữ liệu di động, và hệ dữ liệu phụ trợ kỹ thuật số cá nhân, theo cách đó,

thường nhất quán lẫn nhau yếu

Hình: 1-6: Mô hình giao thức Lazy 1-Cập nhật được áp dụng trên bản sao cục bộ, 2- cam kết cập nhật, 3- cập nhaath

lan truyền tới bản sao khác, 4- Transaction 2 đọc từ một bản sao cục bộ

Lợi ích chính của kĩ thuật cập nhật phân tán Lazy là: Chúng thường có thời gian

đáp ứng thấp hơn cho các giao dịch cập nhật, từ khi giao dịch cập nhật có thể cam

kết ngay sau khi nó đã cập nhật một bản sao Nhưng khó khăn là các bản sao không

nhất quán và một số bản sao có thể lỗi thời, và do đó, đọc một bản sao cục bộ cũ và

không đảm bảo giá trị cập nhật trả lại Hơn nữa, với một vài kịch bản, các giao dịch

có thể không thấy thao tác writes của mình, tức là Readi(x) của một giao dịch cập

nhật Ti có thể không thấy ảnh hưởng của Writei(x) mà được thực hiện trước đó

Điều này đã được gọi là giao dịch đảo ngược Phương pháp này dễ bị sung đột khi

sảy ra việc có hai nudes cùng cập nhật một đối tượng, lúc này cần thiết phải tái điều

giải Giải pháp sử dụng nhãn thời gian (Timestamps) là một phương pháp để giải

quyết vấn đề, mỗi giao dịch đều mang theo một nhãn thời gian toàn cục để khi thực

Trang 28

thi theo thứ tự Nhưng vấn đề phát sinh khi nhãn thời gian bị sai, mỗi đối tượng

mang nhãn thời gian cập nhật gần nhất Mỗi lần cập nhật bản sao mang giá trị mới

và được gắn thẻ với các nhãn thời gian đối tượng cũ Mỗi nodes phát hiện có cập

nhật bản sao sẽ ghi đè lên các bản cập nhật trước đó đã cam kết Kiểm tra nút nếu

nhãn thời gian của bản sao cục bộ và nhãn thời gian cập nhật cũ bằng nhau, thì cập

nhật này là an toàn Nếu nhãn thời gian hiện tại của bản sao cục bộ không phù hợp

với nhãn thời gian cũ được xem xét bởi các giao dịch gốc Do vậy cập nhật có thể là

"nguy hiểm" Trong trường hợp này, nút từ chối các giao dịch

Hình 1.7: So sánh thời gian cập nhật của ba phương pháp khác nhau

Khi được nhân bản, giao dịch đơn giản một node có thể áp dụng các cập nhật

của nó từ xa, hoặc như một phần của một giao dịch (Eager) hoặc là như một giao

dịch riêng biệt (Lazy) Trong cả hai trường hợp, nếu dữ liệu được nhân bản tại N

node, các giao dịch phải thực hiện N lần

1.2.5.3 Phương pháp Two-Tier Replication

+ Mục tiêu của phương pháp này là để đạt được bốn mục đích

- Tính sẵn sàng và mở rộng: Cung cấp tính sẵn sàng cao và khả năng mở rộng

thông qua nhân bản, tránh sự bất ổn định

Trang 29

- Di động: Cho phép các Nudes di động đọc và cập nhật hệ dữ liệu trong khi bị

ngắt kết nối từ mạng

- Khả năng tuần tự hóa: Cung cấp bản sao đơn có khả năng thực thi tuần tự các

giao dịch

- Hội tụ: Hội tụ giá trị để tránh hiểu lầm của hệ thống

+ Phương pháp này sử dụng thủ thuật ngữ nghĩa (nhãn thời gian, và các giao

dịch giao hoán), kết hợp với một lược đồ sao chép hai cấp:

Phương pháp Two-Tier Replication giả định có hai loại Nudes trong hệ thống đó

là:

- Mobile nodes: Loại nudes này hầu hết thời gian là bị ngắt kết nối, nó lưu giữ

một bản sao của hệ dữ liệu, và có thể có một vài tập dữ liệu và các giao dịch ban

đầu

- Base nodes: Là nudes luôn luôn kết nối, nó lưu giữ một bản sao của hệ dữ

liệu, hầu hết các mục dữ liệu nằm ở base node

- Dữ liệu nhân bản tại Mobile node có hai bản, Master version lưu giữ các giá

trị thường xuyên nhận từ trạm chính, nó cũng ngắt kết nối hoặc cập nhập Lazy có

thể có phiên bản cũ Tentative version: đối tượng cục bộ có thể cập nhật các giao

dịch tạm thời, hầu hết các giá trị cập nhật cục bộ là giá trị tạm thời

- Giao dịch: Tương tự như các Nodes, cũng có hai loại giao dịch Base

transaction, chỉ làm việc tại trạm chính, nó liên quan đến nhiều nhất một kết nối di

động và có thể liên quan đến một vài Base node Tentative transaction, làm việc

trên dữ liệu tạm thời cục bộ, chúng tạo ra phiên bản giá trị tạm thời mới, chúng

cũng tạo ra Base transaction mà sau này sẽ thực thi tại Base nodes

Trang 30

Hình 1.8: Mô hình Two-tier-replication Base nodes lưu giữ hệ dữ liệu nhân bản, mỗi đối tượng là chính tại một vài node,

Mobile nodes lưu giữ một bản sao của hệ dữ liệu nhưng thường xuyên bị ngắt kết

nối, Mobile nodes tích lũy các giao dịch tạm thời mà chạy với dữ liệu tạm thời lưu

giữ ở node đó Giao dịch tạm thời được xử lí lại như Base transactions khi Mobile

nodes kết nối lại với Base nodes Giao dịch tạm thời có thể bị lỗi khi được xử lí lại

Khi giao dịch tạm thời được xử lí lại, có thể xảy ra hai trường hợp, lỗi hoặc trả

về một kết quả khác Base transaction có một phạm vi chấp nhận (là một bảng kiểm

tra kết quả đầu ra của việc xử lí lại giao dịch không được khác quá nhiều cho kết

quả chấp nhận được), nếu kết quả giao dịch tạm thời bị trả về là lỗi thì sẽ được

thông báo lỗi và lí do lỗi

+ Phương thức hoạt động của phương pháp Two-Tier Replication (giả định rằng

các giao dịch phát sinh tại Mobile nodes):

Khi trong trường hợp đứt kết nối, Mobile nodes có một hệ dữ liệu cũ gần nhất

với lần được kết nối, nó tạo ra các giao dịch tạm thời trên dữ liệu cũ đó và trên dữ

liệu cục bộ, các giao dịch này là Tentative transaction tại Tentative version của

Mobile nodes

Khi có kết nối tức là Mobile nodes kết nối với Base nodes, Mobile nodes thực

hiện:

Trang 31

- Gửi các cập nhật nhân bản cho bất kì đối tượng từ Mobile nodes sang Base

nodes

- Gửi tất cả các giao dịch tạm thời về Base nodes để thực thi theo thứ tự mà

chúng đã xác thực tại Mobile nodes

- Chấp nhận cập nhật nhân bản từ Base nodes

- Chấp nhận thông báo thành công hoặc thất bại của mỗi giao dịch tạm thời đã

gửi về

Sau khi Mobile nodes kết nối với Base nodes, tại Base nodes thực hiện

- Gửi các giao dịch cập nhật nhân bản đã trì hoãn tới Mobile nodes

- Chấp nhận các giao dịch cập nhật cho các đối tượng mobile-mastered từ

mobile nodes

- Chấp nhận danh sách các giao dịch tạm thời theo thứ tự thực thi tại

Mobile-nodes gửi lên Chạy lại từng giao dịch tạm thời và trả lại kết quả cho Mobile nodes

- Sau khi Base node xác nhận một Base transaction, nó tuyên truyền theo

phương pháp Lazy các cập nhật nhân bản như một giao dịch tới tất cả các node

nhân bản khác

- Sau khi tất cả các giao dịch tạm thời đã được xử lí lại tại Base transaction,

trạng thái của Mobile nodes là được hội tụ cùng với trạng thái của base node

Hình 1.9: Thực thi giao dịch tạm thời và Base transaction trong

Two-tier-replication

Trang 32

Đặc tính chính của Two-tier-replication là:

1 Mobile nodes có thể tạo hệ dữ liệu cập nhật tạm thời

2 Base transactions thực thi với bản sao đơn một cách tuần tự nên kết quả hệ

thống là thực thi một cách tuần tự

3 Một giao dịch trở thành lâu bền khi Base transaction hoàn thành

4 Bản sao tại tất cả các nodes kết nối hội tụ về cùng trạng thái hệ thống

5 Nếu tất cả các giao dịch giao hoán, không cần phải tái điều giải lại

Trang 33

Chương 2:

SIÊU TH Ị

Dưới mỗi quầy tính tiền cho khách hàng tại siêu thị là một hệ thống máy tính

chạy các phần mềm hỗ trợ con người theo dõi, quản lý các hoạt động giao dịch bán

hàng Tuy nhiên, việc ứng dụng công nghệ thông tin để điều hành, quản lý siêu thị

ở mỗi nơi mỗi khác và có những đánh giá khác nhau về tính hiệu quả, điều này còn

tùy thuộc vào chiến lược của từng siêu thị, ở chương này chúng ta tìm hiểu mô hình

tổ chức hoạt động thu ngân của phần mềm của một số phần mềm siêu thị

2.1 Mô hình hoạt động của hệ thống siêu thị

2.1.1 Hoạt động thu ngân, tính tiền của một số hệ thống siêu thị hiện tại

Dữ liệu được tập trung tại trung tâm Mỗi khi thực hiện thao tác thu ngân, nhân

viên bán hàng thực hiện quét mã vạch sản phẩm vào máy bán hàng, lúc này máy

bán hàng thực hiện một truy vấn đến máy chủ, tìm xem mã barcode đó thuộc mã

hàng nào, sau khi máy chủ tìm kiếm trong dữ liệu của mình, trả lại thông tin hàng

hóa, như tên hàng, giá bán, đơn vị tính, quy cách cho máy bán hàng

Máy bán hàng nhận được thông tin hàng hóa từ máy chủ mỗi khi thực hiện quét

barcode, nếu là hàng trong danh sách đã có thì máy bán hàng thực hiện tăng số

lượng theo số lần quét barcode cùng mã, nếu là hàng khác thì tiếp tục gửi thông tin

truy vấn đến máy chủ Sau khi hoàn thành quét mã vạch nhân viên thu ngân xác

nhận việc thanh toán và lưu giao dịch, lúc này máy trạm đọc thông tin từ danh sách

CSDL Siêu thị

Trạm thu ngân 01

Trả lại thông tin

Hình 2.1: Hoạt động thu ngân

Trang 34

tạm thời vừa bán hàng gửi thông tin cập nhật giao dịch tới máy chủ theo câu lệnh

update từ máy trạm

2.1.2 Mô hình hoạt động của hệ thống chuỗi siêu thị

Mô hình tổng quát của hệ thống siêu thị

CSDL

t ổng

CSDL siêu thị 1 Máy chủ siêu thi 1

Switch Trạm thu ngân 01

Trạm thu ngân 02

Trạm thu ngân n

CSDL siêu th ị 2

CSDL siêu thị n Máy chủ siêu thi 2

Máy ch ủ siêu thi n Internet

Internet

Internet

Hình 2.2: Mô hình tổ chức dữ liệu siêu thị

Trang 35

2.2 Tổ chức dữ liệu và phương thức hoạt động của siêu thị

2.2.1 Tổ chức dữ liệu bán hàng của phần mềm Daisy Soft

Dữ liệu được tổ chức dưới mô hình dữ liệu tập trung Client-server, mỗi khi khởi

động chương trình bán hàng, phần mềm bán hàng tải một số danh mục bao gồm, mã

bó, các chương trình khuyến mại,… ra một thư mục dữ liệu tạm thời được thiết lập

trên cục bộ trên máy trạm

2.2.1.1 Thực hiện thanh toán

Khi khách hàng mua hàng và yêu cầu thanh toán, nhân viên thu ngân thực hiện

quét mã code của từng mã hàng vào phần mềm thu ngân Lúc này khi nhân viên thu

ngân quét barcode sản phẩm vào phần mềm thực hiện một truy vấn đến bảng dữ liệu

barcode (barcode,mã hàng), dữ liệu trả lại của bảng barcode là “Mã hàng” Mã hàng

tiếp tục được truy vấn vào bảng “Mặt hàng”, trả lại được các thông tin về mặt hàng

bao gồm (tên hàng, đơn vị tính,…) Mã hàng tiếp tục được truy vấn vào bảng “giá

bán“ và trả lại thông tin giá bán của mặt hàng đó Sau đó hiển thị lên giao diện bán

hàng và lưu trữ tạm thời phục vụ tính toán

Một số bảng, trường dữ liệu chính phục vụ thu ngân mà chúng ta quan tâm

trong phần mềm Daisy Soft:

- Barcode (Barcode,mã hàng)

- Mathang(mã hàng, mã ngành nhóm, tên hàng, đơn vị tính….)

- Giá bán (mã đơn vị,mã hàng,giá bán)

- Giao dịch (mã giao dịch, mã hàng , số lượng, đơn giá vốn, đơn giá bán,…)

Trang 36

Ti ếp nhận yêu cầu thanh toán hóa đơn

Quét code t ừng sản phẩm

Truy v ấn thông tin hàng hóa tại máy

ch ủ (đơn giá, các chương trình KM)

Tính t ổng giá trị hóa đơn

In hóa đơn cho khách và cập nhật lưu trữ hóa đơn về máy chủ

Mã hàng

Mã hàng Tên hàng

Trang 37

2.2.1.2 Cập nhật giao dịch bán hàng

Sau khi thực hiện thao tác lưu trữ hóa đơn, giao dịch bán hàng đã bán, máy bán

hàng gửi danh mục mặt hàng đã tiếp nhận thanh toán về máy chủ, lưu trữ vào bảng

giao dịch: Giao dịch(mã giao dịch, mã hàng, số lượng, đơn giá vốn, đơn giá

bán,…)

2.2.2 Tổ chức dữ liệu bán hàng của phần mềm Thành Đô Soft

Mỗi khi khởi động chương trình bán hàng tại máy thu ngân, phần mềm sẽ kiểm

tra trạng thái kết nối của máy bán hàng tới máy chủ, nếu không có kết nối thì sẽ

thực hiện bán ngắt kết nối tới máy chủ (offline), ngược lại thực hiện bán hàng

online

2.2.2.1 Cơ chế bán hàng

Cơ chế bán hàng online tương tự như cách tổ chức bán hàng của phần mềm

Daisy Soft Mỗi khi khách hàng yêu cầu thanh toán, cũng thực hiện quét từng mã

vạch sản phẩm vào phần mềm bán hàng, và thực hiện truy vấn trực tiếp đến dữ liệu

máy chủ để lấy thông tin sản phẩm Sau khi thanh toán cũng thực hiện gửi danh

mục mặt hàng đã thanh toán về máy chủ

Đồng thời mỗi khi thực hiện xong một giao dịch máy bán hàng thu ngân lại thực

hiện tải toàn bộ danh mục thông tin hàng hóa, thông tin bán hàng về máy bán hàng

như: danh mục mặt hàng, danh mục NSD, danh mục các chương trình khuyến mại,

nhằm mục đích phục vụ bán offline nếu có sau này

Cơ chế bán hàng offline là trạng thái của máy bán hàng là bị ngắt kết nối tới

máy chủ Lúc này các truy vấn bán hàng được thực hiện tại máy trạm trên bộ danh

mục đã được tải về từ máy chủ từ lần bán hàng online gần nhất trước đó dưới dạng

các file danh mục Xml được lưu cục bộ tại máy bán hàng

Các giao dịch thanh toán tiền sau khi thanh toán được lưu cục bộ tại thư mục

tạm của máy bán hàng dưới dạng các file xml với cấu trúc xác định trước

Trang 38

Sau khi có kết nối trở lại phần mềm bán hàng sẽ tự động kiểm tra các giao dịch

bán hàng offline đã lưu trữ, thực hiện đọc và gửi lên máy chủ Nếu tồn tại giao dịch

không thể gửi lên thì sẽ có thông báo cho NSD

2.2.3 Ưu nhược điểmcủa mô hình hệ thống

2.2.3.1 Ưu điểm của hệ thống

- Quản lí dữ liệu tập trung

- Thuận tiện cho việc lưu trữ, bảo trì, nâng cấp

- Việc tính toán được phân tán một phần về phía máy Client

Tiếp nhận yêu cầu

thanh toán hóa đơn

Quét code t ừng

s ản phẩm

Truy v ấn thông tin hàng hóa tại máy

ch ủ (đơn giá, các chương trình KM)

Tính t ổng giá trị hóa

đơn

In hóa đơn cho khách và cập nhật lưu

trữ hóa đơn về máy chủ Tải thông tin

hàng hóa về cục bộ

Bổ xung mã sản phẩm

Không kết nối tới máy chủ

Có k ết nối tới máy

In hóa đơn cho khách và cập nhật lưu trữ hóa đơn cục bộ,tại máy bán hàng Kiểm tra kết nói tới máy chủ

Ngày đăng: 28/02/2021, 00:06

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Abdelsalam A. Helal, Abdelsalam A. Heddaya, Bharat B. Bhargava. (1996), Replication Techniques in Distributed Systems, Kluwer Academic Publishers, tr 14-17 Sách, tạp chí
Tiêu đề: Replication Techniques in Distributed Systems
Tác giả: Abdelsalam A. Helal, Abdelsalam A. Heddaya, Bharat B. Bhargava
Năm: 1996
2. Andrew S.Tanenbaum and Maarten Van Steen. (2007), Distributed Systems Principles and Paradigms, PEARSON Prentice Hall, Second edition, tr 274, 296 Sách, tạp chí
Tiêu đề: Distributed Systems Principles and Paradigms
Tác giả: Andrew S.Tanenbaum and Maarten Van Steen
Năm: 2007
3. Heinz Stockinger. (1999), Data Replication in Distributed Database Systems, CERN, Geneva, Switzerland, tr 4-9 Sách, tạp chí
Tiêu đề: Data Replication in Distributed Database Systems
Tác giả: Heinz Stockinger
Năm: 1999
4. M. Tamer ệzsu and Patrick Valduriez. (2010), Principles of Distributed Database Systems, Third Edition, Prentice-Hall, Englewood Cliffs, New Jersey, Chapter 13, tr 459-466, 492 Sách, tạp chí
Tiêu đề: Principles of Distributed Database Systems
Tác giả: M. Tamer ệzsu and Patrick Valduriez
Năm: 2010
6. Jeffrey Hoffer, V Ramesh, Heikki Topi, (2010), Modern Database Management, Global Edition, chapter 13, Pearson Education , tr 13.4-13.5 Sách, tạp chí
Tiêu đề: Modern Database Management
Tác giả: Jeffrey Hoffer, V Ramesh, Heikki Topi
Năm: 2010
7. M. Wiesmann, F. Pedone, A. Schiper B. Kemme, G. Alonso. (2000), Understanding Replication in Databases and Distributed Systems, Swiss Federal Institute of Technology Sách, tạp chí
Tiêu đề: Understanding Replication in Databases and Distributed Systems
Tác giả: M. Wiesmann, F. Pedone, A. Schiper B. Kemme, G. Alonso
Năm: 2000
5. Jim Gray, Pat Helland, Patrick O'Neil (UMB), Dennis Shasha (NYU) Khác

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w