R F S= (∪ij(Ri F Sj)

Một phần của tài liệu Ứng dụng mô hình cơ sở dữ liệu phân tán trong hệ thống quản lí bảo hiểm nhân thọ (Trang 29 - 45)

- Có thể suy diễn để xác định một số phép kết nối từng phần Ri Sj = ∅

- Mối phép kết nối phân tán được biểu diễn bằng đồ thị kết nối.

1.2.1.3. Sử dụng mạng nội bộ hiện có và nghiên cứu mạng nội bộ hệ thống

1.2.1.4. Nghiên cứu tính năng Replication trong SQL Server 2014

Replication là một tập hợp các công nghệ cho việc sao chép và phân phối các dữ liệu và các đối tượng CSDL từ một CSDL khác và sau đó đồng bộ giữa các CSDL để duy trì tính nhất quán. Sử dụng Replication, bạn có thể phân phối dữ liệu đến các địa điểm khác nhau và cho người dùng từ xa hoặc qua mạng điện thoại di động khu vực địa phương và rộng, kết nối diai- up, kết nối không dây và mạng Internet.

Có 4 loại Replication:

- Snapshot Replication: Snapshot sao chép đề cập đến một phương pháp tái tạo giữa cơ sở dữ liệu. Trong quá trình này, dữ liệu được cập nhật thường xuyên tại những thời điểm cụ thể bằng cách sao chép những thay đổi dữ liệu từ cơ sở dữ liệu ban đầu vào một cơ sở dữ liệu nhận.

- Transactional Replication: là một kỹ thuật được sử dụng để sao chép tự động liên tục hoặc định kỳ các dữ liệu giao dịch (Transaction Data) một chiều từ Publisher đến Subscriber

Kỹ thuật này được sử dụng cho các CSDL quan trọng yêu cầu ít thời gian chết. Nó hữu ích cho các CSDL nơi mà một lượng lớn dữ liệu được thay đổi thường xuyên.

- Peer to peer Replication: cung cấp giải pháp mở rộng quy mô và tính sẵn sàng cao bằng cách duy trì các bản sao dữ liệu trên nhiều phiên bản máy chủ, còn được gọi là các nút . Được xây dựng dựa trên nền tảng của sao chép giao dịch, sao chép ngang hàng truyền bá những thay đổi nhất quán về giao dịch trong thời gian gần thực.

- Merge Replication: cho phép thay đổi được gửi từ một máy chủ chính với một hoặc nhiều máy chủ thứ, gọi là sao chép subscribers. Phân phối dữ liệu đến các máy chủ khác nhau từ một máy chủ chính.

1.2.2. Cơ sở dữ liệu phân tán quản lí bảo hiểm nhân thọ

1.2.2.2. Mô tả thiết kế cơ sở dữ liệu phân tán quản lí bảo hiểm nhân thọ

- Khi nhân viên thực hiện các thay đổi về dữ liệu trên máy thì chỉ tương tác với các khách hàng, giấy tờ tại chi nhánh cố định. Nếu để nhân viên truy cập trực tiếp vào CSDL chính của hệ thống để thực hiện thì dẫn đến hiện tượng nghẽn mạng, tốc độ thực hiện chậm, bảo mật không cao,… vì vậy nên phân tán khách hàng mà nhân viên tương tác ra thành một CSDL phân tán, như vậy thì không ảnh hưởng đến chi nhánh khác. Tùy theo yêu cầu phát triển hệ thống có thể mở rộng nhiều CSDL có cấu trúc và nhiệm vụ giống nhau CSDL phân tán nói trên.

- Tạo một CSDL bản sao của CSDL chính. Hai CSDL này cùng lưu ở Server của hệ thống

1.2.2.3. Lựa chọn vị trí đặt cơ sở dữ liệu và phân nhóm người sử dụng

Đánh giá vị trị đặt CSDL theo một số tiêu chuẩn sao cho vị trí đặt CSDL tiện lợi nhất: - Tần suất sử dụng CSDL

- Các tham chiếu đến CSDL để cập nhật, đọc hay thay đổi. Dựa trên các tiêu chuẩn trên và tính chất của hệ thống quản lý thi trắc nghiệm có thể lựa chọn hệ thống theo ba nhóm chính tương đương với ba CSDL:

a) Cơ sở dữ liệu Bản sao 20

Đây là CSDL dành cho việc nhập và thay đổi dữ liệu hệ thống. CSDL này đặt tại Server của công ty. Do yêu cầu của công việc giữa các nhóm có thể lấy một số phần thông tin của nhau theo quyền.

b) Cơ sở dữ liệu Phân tán

Đây là CSDL dành cho việc xử lí dữ liệu khách hàng, theo yêu cầu phát triển hệ thống có thể mở rộng nhiều CSDL có cấu trúc và nhiệm vụ giống như CSDL Phân tán này. Ở mỗi một chi nhánh của công ty chọn một máy để cài SQL Server và thực hiện Replication tại máy này mọi thông tin của khách hàng, giấy chứng nhận, sau thời gian chỉ định trước, những thông tin này sẽ được cập nhật về CSDL chính, do công ty quản lí, đối với CSDL Bản sao sẽ không nhận được những thay đổi này vì lý do bảo mật, những thông tin của khách hàng, giấy chứng nhận chỉ được cập nhật cho CSDL chính thức của Công ty. Như thế này đã giải quyết được vấn đề về bảo mật. Nếu cùng một lúc tất cả các chi nhánh đều hoạt động thì thời gian ở các máy cài Replication khi gửi dữ liệu về cho Server chính sẽ khác nhau, như vậy lưu lượng đường truyền trên mạng tại một lúc chỉ còn 1/n so với ban đầu, như vậy đã giải quyết được vấn đề về tốc độ đường truyền.

c) CSDL chính

Là CSDL chính phục vụ cho việc truy cập và sử dụng của Công ty. Công ty có thể đọc tất cả thông tin trong CSDL này và có thể thêm quyền sửa đổi với phần báo cáo

1.2.2.4. Thi t k phân m nh ế ế ả

a)Thi t k phân m nh ngang chính cho quan h KhachHangế ế ả ệ

Bước 1: Tìm t p v t đ y đ và t i thi u ậ ị ừ ầ

- Ta tìm được tập vị từ đơn giản Pr={p1, p2, p3, p4, p5} dùng để phân mảnh với: p1: MaCN = ‘CN1’

p2: MaCN = ‘CN2’ p3: MaCN = ‘CN3’ p4: MaCN = ‘CN4’ p5: MaCN = ‘CN5’

- Áp dụng thuật toán COM_MIN: Pr’ = ∅;

F = ∅; (adsbygoogle = window.adsbygoogle || []).push({});

Chuyển các vị từ phân mảnh KhachHang vào Pr’ + p1 ∈ Pr chia KhachHang theo quy tắc 1

Pr’ = {p1};

Pr = {p2, p3, p4, p5}; F = {f1}

+ p2 ∈ Pr chia KhachHang theo quy tắc 1 Pr’ = {p1, p2};

Pr = {p3, p4, p5}; F = {f1, f2}

+ p3 ∈ Pr chia KhachHang theo quy tắc 1 Pr’ = {p1, p2, p3};

Pr = {p4, p5}; F = {f1, f2, f3}

+ p4 ∈ Pr chia KhachHang theo quy tắc 1 Pr’ = {p1, p2, p3, p4};

Pr = {p5}; F = {f1, f2, f3, f4}

+ p5 ∈ Pr chia KhachHang theo quy tắc 1 Pr’ = {p1, p2, p3, p4, p5};

Pr = ∅;

F = {f1, f2, f3, f4, f5}

Vì Pr=∅ nên thuật toán kết thúc ta có Pr’ = {p1, p2, p3, p4, p5} là đầy đủ và tối thiểu.

Bước 2: Tìm tập hợp các vị từ giao tối thiểu M được định nghĩa trên các vị từ trong tập hợp Pr’ Ta tìm được tập M = { m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15, m16} với: m1: p1 ∧ p2 ∧ p3 ∧ p4 ∧ p5 m2: p1 ∧ ¬ (p2 ∧ p3 ∧ p4 ∧ p5) m3: ¬ p1 ∧ (p2 ∧ p3 ∧ p4 ∧ p5) m4: ¬ p1 ∧ ¬ (p2 ∧ p3 ∧ p4 ∧ p5) m5: p2 ∧ ¬ (p1 ∧ p3 ∧ p4 ∧ p5) m6: ¬ p2 ∧ (p1 ∧ p3 ∧ p4 ∧ p5) m7: ¬ p2 ∧ ¬ (p1 ∧ p3 ∧ p4 ∧ p5) m8: p3 ∧ ¬ (p1 ∧ p2 ∧ p4 ∧ p5) m9: ¬ p3 ∧ (p1 ∧ p2 ∧ p4 ∧ p5) m10: ¬ p3 ∧ ¬ (p1 ∧ p2 ∧ p4 ∧ p5)

m11: p4 ∧ ¬ (p1 ∧ p2 ∧ p3 ∧ p5) m12: ¬ p4 ∧ (p1 ∧ p2 ∧ p3 ∧ p5) m13: ¬ p4 ∧ ¬ (p1 ∧ p2 ∧ p3 ∧ p5) m14: p5 ∧ ¬ (p1 ∧ p2 ∧ p3 ∧ p4) m15: ¬ p5 ∧ (p1 ∧ p2 ∧ p3 ∧ p4) m16: ¬ p5 ∧ ¬ (p1 ∧ p2 ∧ p3 ∧ p4)

Bước 3: Tìm tập I các phép suy diễn

i1: p1 ⇒ ¬ p2 ∧ ¬ p3 ∧ ¬ p4 ∧ ¬ p5 i1: p2 ⇒ ¬ p1 ∧ ¬ p3 ∧ ¬ p4 ∧ ¬ p5 i1: p3 ⇒ ¬ p1 ∧ ¬ p2 ∧ ¬ p4 ∧ ¬ p5 i1: p4 ⇒ ¬ p1 ∧ ¬ p2 ∧ ¬ p3 ∧ ¬ p5 i1: p5 ⇒ ¬ p1 ∧ ¬ p2 ∧ ¬ p3 ∧ ¬ p4 I = { i1, i2, i3, i4, i5}

Bước 4: Tìm tập các vị từ giao tối thiểu có nghĩa

Dùng thuật toán PHORIZONTAL

Pr’=COM_MIN(KhachHang, Pr)={p1, p2, p3, p4, p5}

M = {m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15, m16} I = { i1, i2, i3, i4, i5}

Với m1 ∈ M: mâu thuẫn với I nên M=M - m1={m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15, m16}

Với m2∈ M: không mâu thuẫn với I nên M={m2, m3, m4}

Với m3 ∈ M: mâu thuẫn với I nên M – m3={m2, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15, m16}

Với m4 ∈ M: mâu thuẫn với I nên M – m4={m2, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15, m16}

Với m5 ∈ M: không mâu thuẫn với I nên M ={m2, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15, m16}

Với m6∈ M: mâu thuẫn với I nên M – m6={m2, m5, m7, m8, m9, m10, m11, m12, m13, m14, m15, m16}

Với m7 ∈ M: mâu thuẫn với I nên M – m7 ={m2, m5, m8, m9, m10, m11, m12, m13, m14, m15, m16} Với m8 ∈ M: không mâu thuẫn với I nên M = {m2, m5, m8, m9, m10, m11, m12, m13, m14, m15,

m16}

Với m9 ∈ M: mâu thuẫn với I nên M= M – m9 = {m2, m5, m8, m10, m11, m12, m13, m14, m15, m16} Với m10∈ M: mâu thuẫn với I nên M= M – m10 = {m2, m5, m8, m11, m12, m13, m14, m15, m16} Với m11 ∈ M: không mâu thuẫn với I nên M = {m2, m5, m8, m11, m12, m13, m14, m15, m16} Với m12 ∈ M: mâu thuẫn với I nên M = M – m12 = {m2, m5, m8, m11, m13, m14, m15, m16} Với m13 ∈ M: mâu thuẫn với I nên M=M - m13 = {m2, m5, m8, m11, m14, m15, m16} Với m14 ∈ M: không mâu thuẫn với I nên M = {m2, m5, m8, m11, m14, m15, m16} Với m15 ∈ M: mâu thuẫn với I nên M=M - m15 = {m2, m5, m8, m11, m14, m16} Với m16 ∈ M: mâu thuẫn với I nên M = M – m6 = {m2, m5, m8, m11, m14} Kết luận M = {m2, m5, m8, m11, m14} (adsbygoogle = window.adsbygoogle || []).push({});

Từ đây ta định nghĩa năm mảnh F ={KhachHang1, KhachHang2, KhachHang3, KhachHang4, KhachHang5}

b) Phân mảnh ngang dẫn xuất trên quan hệ CTGiayChungNhan, ta được các mảnh ngang CTGiayChungNhan 1, CTGiayChungNhan 2, CTGiayChungNhan 3, CTGiayChungNhan 4, CTGiayChungNhan 5 như sau:

CTGiayChungNhan 1 = CTGiayChungNhan < CTGiayChungNhan.MaKH = KhachHang.MaKH KhachHang1 CTGiayChungNhan 2 = CTGiayChungNhan < CTGiayChungNhan.MaKH = KhachHang.MaKH KhachHang2 CTGiayChungNhan 3 = CTGiayChungNhan < CTGiayChungNhan.MaKH = KhachHang.MaKH KhachHang3 CTGiayChungNhan 4 = CTGiayChungNhan < CTGiayChungNhan.MaKH = KhachHang.MaKH KhachHang4 CTGiayChungNhan 5 = CTGiayChungNhan < CTGiayChungNhan.MaKH = KhachHang.MaKH KhachHang5 Trong đó:

KhachHang1 = σMaCN = ‘CN1’ (KhachHang) KhachHang2 = σMaCN = ‘CN2’ (KhachHang) KhachHang3 = σMaCN = ‘CN3’ (KhachHang) KhachHang4 = σMaCN = ‘CN4’ (KhachHang) KhachHang5 = σMaCN = ‘CN5’ (KhachHang)

Đồng bộ hóa dữ liệu Replication cho phép chia sẻ dữ liệu giữa các CSDL tại nhiều điểm khác nhau. Với một dữ liệu gốc, ta có thể tạo nhiều bản sao và sử dụng tại nhiều nơi. Dữ liệu gốc thay đổi, các dữ liệu bản sao cũng sẽ thay đổi và ngược lại.

Mô hình giải thuật thuật toán nhiều bản sao

Mô hình và giải thuật nghiên cứu phải đảm bảo các đặc tính toàn vẹn và tuân thủ theo các giai đoạn thể hiện trong hình vẽ sau. Mỗi giai đoạn cập nhật thể hiện những đặc điểm riêng biệt về sự gắn bó dữ liệu giữa các bản sao:

Hình 1.9. Trạng thái dữ liệu trong các giai đoạn cập nhật

Việc phát hiện và xử lý lỗi trong quá trình xử lý được tiến hành ngay sau khi tác tử nhận được yêu cầu cập nhật. Nếu mọi cố gắng sửa lỗi không thể thực hiện có kết quả, thì thông điệp sẽ được phát đi để yêu cầu tác tử gửi phát lại thông tin. Trong trường hợp công việc cập nhật kết thúc tốt đẹp, một thông điệp khẳng định cũng được phát đi bởi tác tử nhận. Sau khi phát đi

thông điệp, tác tử gửi chuyển sang trạng thái chờ thông điệp mới, còn tác tử nhận thông điệp chỉ chuyển sang trạng thái chờ khi đã nhận đủ các thông điệp khẳng định.

Hình 1.91. Sơ đồ tổng quát xử lý nhiều bản sao

Đồng bộ hóa dữ liệu trên SQL Server bao gồm các thành phần:

• Publisher: Là một server tạo dữ liệu để nhân bản đến các server khác. Nó xác định dữ liệu nào được nhân bản, dữ liệu nào thay đổi và duy trì những thông tin về các công bố tại site đó.

• Subscriber: Là một server lưu giữ nhân bản và nhận các tác vụ cập nhật. SQL Server cho phép Subsriber cập nhật dữ liệu nhưng quá trình cập nhập ở Subscriber không giống như ở Publisher. Một Subscriber có thể là một Publisher của các Subscriber khác.

• Distributor: Là một server mà chứa CSDL phân tán (distribution database) và lưu trữ metadata, history data và transaction. SQL Server sử dụng CSDL phân tán để lưu và chuyển (store_and_forward) dữ liệu nhân bản từ Publisher đến các Subscriber. Có 2 loại Distributor : Local Distributor và remote Distributor.

1.4. Mô hình Client-Server

Client server là mô hình mạng máy tính bao gồm 2 thành phần chính là máy khách (client) và máy chủ (server). Trong mô hình này, server là nơi lưu trữ tài nguyên, cài đặt các chương trình dịch vụ và thực hiện các yêu cầu của client. Client đón vai trò gửi yêu cầu đến server. Client gồm máy tính và thiết bị điện tử nói chung.

Mô hình Client server cho phép mạng tập trung các ứng dụng và chức năng tại một hoặc nhiều máu dịch vụ file chuyên dụng. Các máy này trở thành trung tâm của hệ thống. Hệ điều hành

của Client server cho phép người dùng chia sẻ đồng thời cùng một tài nguyên, không quan trọng vị trí địa lý.

Mô hình web client-server là một mô hình nổi tiếng trong mạng máy tính, được áp dụng rất

rộng rãi và là mô hình của mọi trang web hiện có. Một mô hình ngược lại là mô hình master- slaver, trong đó máy chủ (đóng vai trò ông chủ) sẽ gửi dữ liệu đến máy con (đóng vai trò nô lệ) bất kể máy con có cần hay không.

Mô hình client/server như sau: Client/Server là mô hình tổng quát nhất, trên thực tế thì một server có thể được nối tới nhiều server khác nhằm làm việc hiệu quả và nhanh hơn. Khi nhận được 1 yêu cầu từ client, server này có thể gửi tiếp yêu cầu vừa nhận được cho server khác ví dụ như database server vì bản thân nó không thể xử lý yêu cầu này được. Máy server có thể thi hành các nhiệm vụ đơn giản hoặc phức tạp.

Toàn bộ quá trình giao tiếp giữa server và client phải dựa trên các giao thức chuẩn. TCP/IP, SAN (IBM), ISDN, OSI, X.25, LAN-to-LAN Netbios là những giao thức chuẩn được sử dụng phổ biến hiện nay.

Client server là giải pháp phần mềm hiệu quả, giúp khắc phục tình trạng quá tải của hệ thống mạng. Bên cạnh đó, mô hình này còn vượt qua sự khác biệt trong cấu trúc vật lý và hệ điều hành của các hệ thống máy tính. Mô hình Client server gồm có 2 phần là client & server. Client hay chính là máy khách, máy trạm – là nơi gửi yêu cầu đến server. Nó tổ chức giao tiếp với người dùng, server và môi trường bên ngoài tại trạm làm việc. Client tiếp nhận yêu cầu của người dùng sau đó thành lập các query string để gửi cho server. Khi nhận được kết quả từ server, client sẽ tổ chức và trình diễn những kết quả đó.

Server xử lý yêu cầu gửi đến từ client. Sau khi xử lý xong, server sẽ gửi trả lại kết quả, client có thể tiếp tục xử lý các kết quả này để phục vụ người dùng. Server giao tiếp với môi trường bên ngoài và client tại server, tiếp nhận yêu cầu dưới dạng query string (xâu ký tự). Khi phân tích xong các xâu ký tự, server sẽ xử lý dữ liệu và gửi kết quả về cho client.

Chương 2. Mô hình phân tán dữ liệu 2.

Server có chức năng điều khiển, lưu trữ CSDL, xử lý truy vấn và quản lý việc khai thác tài nguyên trên mạng của các máy tính khác. Client được sử dụng để chỉ người khai thác tài nguyên mạng

Ở đây em làm 1 Server – 2 Clients, Server sẽ chứa cơ sở dữ liệu chính. Clients1 sẽ chứa cơ sở dữ liệu của khách hàng tại chi nhánh 1, Clients2 sẽ chứa cơ sở dữ liệu của khách hàng tại chi nhánh 2.

2.3. Mô hình dữ liệu

2.4. Đồng bộ hóa dữ liệu (adsbygoogle = window.adsbygoogle || []).push({});

Chương 3. Cài đặt ứng dụng 3.

3.2. Môi trường cài đặt

3.3. Cài đặt máy chủ

3.4. Cài đặt máy khách

3.5. Một số kết quả đạt được

3.5.2. Dữ liệu phân tán

Một phần của tài liệu Ứng dụng mô hình cơ sở dữ liệu phân tán trong hệ thống quản lí bảo hiểm nhân thọ (Trang 29 - 45)