Tạo 3 bản sao cho 1 CSDL SQL (có 2 table, mỗi table gồm 5 trường dữ liệu với các kiểu dữ liệu khác nhau ) trên cùng 1 instance viết ứng dụng lan truyền cập nhật từ CSDL đến bản sao 1
Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 14 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
14
Dung lượng
2,38 MB
Nội dung
====o0o==== BÁO CÁO CÁ NHÂN MÔN HỌC: CÁC HỆ THỐNG PHÂN TÁN ĐỀ TÀI 14: Tạo cho CSDL SQL (Có table, table gồm trường liệu với kiểu liệu khác ) Instance Viết ứng dụng lan truyền cập nhật từ CSDL đến Bản 1, đến Giáo viên hướng dẫn: Sinh viên thực hiện: LÊ NGỌC BẢO MSSV TP Hồ Chí Minh, ngày 30 tháng 10 năm 2021 MỤC LỤC Phần I: Câu hỏi cá nhân Phần II: Đồ án Nhóm 1.Cơ sở liệu 2.Thư viện Dotmim 3.Sản phẩm .7 3.1 Công cụ sử dụng 3.2 Giới thiệu sản phẩm 3.3 Demo Sản phẩm 10 Phần I: Câu hỏi cá nhân Câu 7: Một chương trình server viết ngơn ngữ(ví dụ C++) cung cấp ứng dụng cho đối tượng BLOB mà đối tượng có ý định kết nối với clients viết ngơn ngữ khác(ví dụ Java) Máy client server khác phần cứng kết nối đến mạng internet Miêu tả vấn đề khía cạnh khía cạnh không đồng cần phải giải đối tượng client dẫn xuất phương thức server Trả lời: Vì máy tính kết nối tới mạng internet, giả định giao thức Internet xử lý khác biệt mạng lưới Nhưng máy tính có phần cứng khác – Do phải xử lý với khác biệt cách trình bày mục liệu(data items) trình yêu cầu hồi đáp tin nhắn từ máy client đến đối tượng Một tiêu chuẩn chung cần định nghĩa cho loại mục liệu cần truyền đối tượng client Những máy tính để thể chạy hệ điều hành khác nhau, cần phải giải khác biệt hệ điều hành việc gửi nhận tin nhắn hay thể lời gọi hàm Do cấp độ Java/C++ hệ điều hành chung dùng để dịch hệ điều hành riêng biệt hệ thống dùng Chúng ta có ngơn ngữ khác C++ Java, chúng sử dụng cách trình bày khác cho cấu trúc liệu chuỗi, hàm, ghi Một tiêu chuẩn chung dùng để định nghĩa cho loại cách trúc liệu cần truyền đối tượng client Và cách để biên dịch cấu trúc liệu ngơn ngữ khác Chúng ta có người thực khác ví dụ cho C++ cho Java Họ cần phải thống tiêu chuẩn chung đề cập ghi chép lại chúng Câu 116 Giải thích điều kiện liên kết chương trình phải đáp ứng server tải động lên không gian địa kernel, cách để phân biệt trường hợp thực thi server cấp độ người dùng Trả lời: Một phần không gian địa kernel phải cấp phát cho phần code liệu Những kí hiệu code liệu phải phân giải thành mục(item) khơng gian địa kernel Ví dụ, sử dụng hàm xử lý tin nhắn kernel Ngược lại, server thực thi tiến trình riêng biệt chạy địa tiêu chuẩn khơng gian địa tách biệt với liên kết tới thư viện chia sẻ, hình ảnh liên kết độc lập Cấu 225 Giải thích cách mà giao thức xác nhận hai pha cho giao tác lồng đảm bảo giao tác cấp cao thực thi, tất thành phần xác nhận hủy bỏ Trả lời: -Giao thức xác nhận pha đảm bảo giao tác phải xác nhận hết hủy bỏ toàn -Mỗi giao tác lồng thực thi, báo trạng thái trạng thái thành phần cha Vì giao tác đến trạng thái xác nhận, có danh sách cho thành phần xác nhận Do giao tác cấp cao bắt đầu giao thức xác nhận hai pha, liệt kê thành phần xác nhận Nó kiểm tra thành phần đảm bảo chúng xác nhận phải hủy bỏ Ở tồn tài node chạy thành phần không thành công không bao gồm giao thức xác nhận pha Ta biết kết chúng cách chạy truy vấn giao tác cấp cao Phần II: Đồ án Nhóm NHĨM 14 Tên thành viên: Nguyễn Phạm Nhật Minh-N17DCCN095 1.Cơ sở liệu -CSDL gốc lấy tên Demo Demo1,Demo2,Demo3 Table_1 MaSV TenSV NhapHoc HocPhi TinhTrang Tên cột Kiểu liệu int Nvarchar(40) date float bit Table_2 MaGV TenGV NgaySinh LuongGV TinhTrang Tên cột Kiểu liệu int nvarchar(40) date float bit 2.Thư viện Dotmim -Dotmim.Sync(DMS) thư viện thuận tiện để thực đồng liệu CSDL server nhiều tảng quản trị sql khác MySQL, SQL Server, SQLite MariaDB Trong sử dụng SQL server Microsoft -Cấu trúc DMS gồm thành phần chính: -Providers: provider có trách nhiệm giao tiếp với CSDL local Mỗi provider hoạt động bên: Server Client -Orchestrators: Để chuyển đổi tảng quản trị CSDL Provider cần thiết để tạo Orchestrator -SyncAgent: SyncAgent chịu trách nhiệm chuyển đổi liệu Orchestrator Remote Local Công việc SyncAgent bao gồm: +Tạo local Orchestrator với client provider nhập trước + Tạo remote Orchestrator với server provider nhập trước +Đồng liệu client server giao thức có Orchestrator Ví dụ: var serverProvider = new MySqlSyncProvider(serverConnectionString); var clientProvider = new SqliteSyncProvider(clientConnectionString); var tables = new string[] {" ", "" }; var agent = new SyncAgent(clientProvider, serverProvider, tables); var result = await agent.SynchronizeAsync(); Console.WriteLine(result); -Trong code ví dụ khơng tồn Orchestrator thư viện Dotmim tạo sẵn cho người dùng để giúp cho thứ đơn giản hóa 3.Sản phẩm 3.1 Công cụ sử dụng -Ngôn ngữ: C# -IDE: Visual Studio -Nutget Packages cài đặt: +Dotmim.Sync.SqlServer +Dotmim.Sync.SqlServer.ChangeTracking +Dotmim.Sync.Sqlite 3.2 Giới thiệu sản phẩm -Main Form +Nút làm cập nhập liệu từ SQL Server +Nút Synchronize tab Demo đẩy liệu từ Demo -> Demo1 +Nút Synchronize tab Demo1 đẩy liệu từ Demo1 -> Demo2, Demo3 +Các nút Table 1,2 tạo Sub Form giúp chỉnh sửa liệu SubForm để chỉnh sửa liệu nhấn nút Table1,Table2 -Tab Demo1 -Tab Demo2 -Tab Demo tương tự Tab Demo2 3.3 Demo Sản phẩm -Trước tiên ta xóa hết liệu Demo1, Demo2, Demo3 -Thực đẩy liệu từ Demo -> Demo1 -Dữ liệu đẩy xuống Demo1 -Thực đẩy liệu từ Demo1 -> Demo2,Demo3 -Dữ liệu đẩy đến Demo2, Demo3 ... Demo1 đẩy liệu từ Demo1 -> Demo2, Demo3 +Các nút Table 1, 2 tạo Sub Form giúp chỉnh sửa liệu SubForm để chỉnh sửa liệu nhấn nút Table1 ,Table2 -Tab Demo1 -Tab Demo2 -Tab Demo tương tự Tab Demo2 3. 3... -Trước tiên ta xóa hết liệu Demo1, Demo2, Demo3 -Thực đẩy liệu từ Demo -> Demo1 -Dữ liệu đẩy xuống Demo1 -Thực đẩy liệu từ Demo1 -> Demo2,Demo3 -Dữ liệu đẩy đến Demo2, Demo3 ... Demo1,Demo2,Demo3 Table _1 MaSV TenSV NhapHoc HocPhi TinhTrang Tên cột Kiểu liệu int Nvarchar(4 0) date float bit Table _2 MaGV TenGV NgaySinh LuongGV TinhTrang Tên cột Kiểu liệu int nvarchar(40)