XÂY DỰNG CHƯƠNG TRÌNH PHÂN TÁN ĐẢM BẢO GẮN BÓ DỮ LIỆU TRÊN CÁC SERVER NGANG HÀNG

18 396 0
XÂY DỰNG  CHƯƠNG TRÌNH PHÂN TÁN ĐẢM BẢO GẮN BÓ DỮ LIỆU TRÊN CÁC SERVER NGANG HÀNG

Đ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

MỤC LỤC PHẦN I: XÂY DỰNG CHƯƠNG TRÌNH PHÂN TÁN ĐẢM BẢO GẮN BÓ DỮ LIỆU TRÊN CÁC SERVER NGANG HÀNG. 1 1. Đặt vấn đề 1 2. Nội dung bài toán: 2 PHẦN II: LẬP TRÌNH HỆ THỐNG ĐA SERVER BẰNG NGÔN NGỮ JAVA 5 1. Giới thiệu mô hình đối tượng phân tán RMI 5 2. Cơ chế hoạt động của RMI: 6 3. Kết nối và truy cập cơ sở dữ liệu : 8 4. Xây dựng bài toán bằng Java RMI: 9 PHẦN III: DANH SÁCH DI CHUYỂN 10 1. Khái niệm: 10 2. Nội dung giải thuật danh sách di chuyển 10 PHẦN IV: VIẾT CHƯƠNG TRÌNH CẬP NHẬP CÁC D VÀ MONITORING TRÊN CÁC SERVER NGANG HÀNG KHI CÁC CLIENT NHẬP DỮ LIỆU 13 TÀI LIỆU THAM KHẢO 15 LỜI NÓI ĐẦU Hiện nay, công nghệ thông tin là mối quan tâm hàng đầu của Việt Nam và toàn thế giới. Cùng với sự phát triển nhanh chóng của khoa học máy tính cũng như nhu cầu trao đổi thông tin trong mọi hoạt động của xã hội đòi hỏi sự phát triển đồng bộ các phương tiện truyền thông, cũng như sự gắn bó chặt chẽ của dữ liệu. Các thành tựu của ngành khoa học trí tuệ này đã góp phần quan trọng vào việc thay đổi bộ mặt của thế giới cả về bề mặt lẫn chiều sâu. Việc ứng dụng các thành tựu của nền công nghệ hiện đại này trở thành vấn đề chủ chốt, quan trọng, quyết định sự thành bại của các thành phần tham gia vào lĩnh vực hoạt động trên thế giới từ kinh tế, văn hóa…… Như chúng ta đã biết, đối với các hệ thống thông tin lớn, cơ sở dữ liệu không chỉ được lưu trữ và quản lý bởi các Server độc lập mà thường được phân tán trên nhiều Server và phân bố ở các vị trí địa lý khác nhau. Hệ thống cho phép xử lý đa truy cập đồng thời và cho phép đăng ký từ xa. Một trong những lợi ích của việc phân tán dữ liệu như vậy là nhằm phân chia yêu cầu xử lý dữ liệu cho nhiều máy nhằm làm tăng năng lực xử lý thông tin của hệ thống và đặc biệt, nó đảm bảo yêu cầu toàn dữ liệu vì dữ liệu được lưu trữ dự phòng ở nhiều nơi khác nhau. Hệ thống trình bày như trên là hệ thống đa server và phức tạp. Một trong các yêu cầu đặt ra cho hệ thống là phải đảm bảo gắn bó dữ liệu giữa các server đồng thời không làm ảnh hưởng đến năng lực xử lý của hệ thống. Trong phạm vi tiểu luận của mình, chúng tôi trình bày đề tài: 1. Xây dựng chương trình phân tán đảm bảo gắn bó dữ liệu trên các server ngang hàng 2. Lập trình hệ thống đa server bằng ngôn ngữ java 3. Xây dựng hệ thống cơ sở dữ liệu D với (d1=d2=…dn) 4. Nghiên cứu thuật toán danh sách di chuyển 5. Viết chương trình cập nhật các D trên các server mỗi khi client nhập dữ liệu 6. Viết chương trình monitoring các D trên các server mỗi khi client nhập dữ Được sự giúp đỡ tận tình của PGS.TS Lê Văn Sơn và các bạn chúng tôi đã hoàn thành được bản báo cáo. Tuy nhiên thời gian và kiến thức có hạn nên bản báo cáo này chắc chắn còn nhiều khuyết điểm, chúng tôi rất mong nhận được sự góp ý của Thầy giáo và các bạn. Cho phép chúng tôi được bày tỏ lòng biết ơn đối với PGS.TS Lê Văn Sơn và các bạn đã ủng hộ, giúp đỡ chúng tôi hoàn thành bản báo cáo này. Trân trọng cảm ơn

BỘ GIÁO DỤC & ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG  TIỂU LUẬN Môn: LẬP TRÌNH MẠNG Đề tài: XÂY DỰNG CHƯƠNG TRÌNH PHÂN TÁN ĐẢM BẢO GẮN BÓ DỮ LIỆU TRÊN CÁC SERVER NGANG HÀNG Giảng viên: PGS TS. Lê Văn Sơn Học viên : Hoàng Như Quỳnh Trần Nhật Vinh Lớp : Khoa học máy tính K11 Khóa : 02/2009 - 2011 ĐÀ NẴNG, 03/2010 MỤC LỤC PHẦN I: XÂY DỰNG CHƯƠNG TRÌNH PHÂN TÁN ĐẢM BẢO GẮN BÓ DỮ LIỆU TRÊN CÁC SERVER NGANG HÀNG 4 1. Đặt vấn đề 4 2. Nội dung bài toán: 5 PHẦN II: LẬP TRÌNH HỆ THỐNG ĐA SERVER BẰNG NGÔN NGỮ JAVA 8 1. Giới thiệu mô hình đối tượng phân tán RMI 8 2. Cơ chế hoạt động của RMI: 9 3. Kết nối và truy cập cơ sở dữ liệu : 11 4. Xây dựng bài toán bằng Java RMI: 12 PHẦN III: DANH SÁCH DI CHUYỂN 13 1. Khái niệm: 13 2. Nội dung giải thuật danh sách di chuyển 13 PHẦN IV: VIẾT CHƯƠNG TRÌNH CẬP NHẬP CÁC D VÀ MONITORING TRÊN CÁC SERVER NGANG HÀNG KHI CÁC CLIENT NHẬP DỮ LIỆU 16 LỜI NÓI ĐẦU Hiện nay, công nghệ thông tin là mối quan tâm hàng đầu của Việt Nam và toàn thế giới. Cùng với sự phát triển nhanh chóng của khoa học máy tính cũng như nhu cầu trao đổi thông tin trong mọi hoạt động của xã hội đòi hỏi sự phát triển đồng bộ các phương tiện truyền thông, cũng như sự gắn bó chặt chẽ của dữ liệu. Các thành tựu của ngành khoa học trí tuệ này đã góp phần quan trọng vào việc thay đổi bộ mặt của thế giới cả về bề mặt lẫn chiều sâu. Việc ứng dụng các thành tựu của nền công nghệ hiện đại này trở thành vấn đề chủ chốt, quan trọng, quyết định sự thành bại của các thành phần tham gia vào lĩnh vực hoạt động trên thế giới từ kinh tế, văn hóa…… Như chúng ta đã biết, đối với các hệ thống thông tin lớn, cơ sở dữ liệu không chỉ được lưu trữ và quản lý bởi các Server độc lập mà thường được phân tán trên nhiều Server và phân bố ở các vị trí địa lý khác nhau. Hệ thống cho phép xử lý đa truy cập đồng thời và cho phép đăng ký từ xa. Một trong những lợi ích của việc phân tán dữ liệu như vậy là nhằm phân chia yêu cầu xử lý dữ liệu cho nhiều máy nhằm làm tăng năng lực xử lý thông tin của hệ thống và đặc biệt, nó đảm bảo yêu cầu toàn dữ liệu vì dữ liệu được lưu trữ dự phòng ở nhiều nơi khác nhau. Hệ thống trình bày như trên là hệ thống đa server và phức tạp. Một trong các yêu cầu đặt ra cho hệ thống là phải đảm bảo gắn bó dữ liệu giữa các server đồng thời không làm ảnh hưởng đến năng lực xử lý của hệ thống. Trong phạm vi tiểu luận của mình, chúng tôi trình bày đề tài: 1. Xây dựng chương trình phân tán đảm bảo gắn bó dữ liệu trên các server ngang hàng 1 2. Lập trình hệ thống đa server bằng ngôn ngữ java 2 3. Xây dựng hệ thống cơ sở dữ liệu D với (d1=d2=…dn) 3 4. Nghiên cứu thuật toán danh sách di chuyển 4 5. Viết chương trình cập nhật các D trên các server mỗi khi client nhập dữ liệu 6. Viết chương trình monitoring các D trên các server mỗi khi client nhập dữ Được sự giúp đỡ tận tình của PGS.TS Lê Văn Sơn và các bạn chúng tôi đã hoàn thành được bản báo cáo. Tuy nhiên thời gian và kiến thức có hạn nên bản báo cáo này chắc chắn còn nhiều khuyết điểm, chúng tôi rất mong nhận được sự góp ý của Thầy giáo và các bạn. Cho phép chúng tôi được bày tỏ lòng biết ơn đối với PGS.TS Lê Văn Sơn và các bạn đã ủng hộ, giúp đỡ chúng tôi hoàn thành bản báo cáo này. GẮN BÓ DỮ LIỆU TRÊN CÁC SERVER NGANG HÀNG Trang 4 Trân trọng cảm ơn! PHẦN I: XÂY DỰNG CHƯƠNG TRÌNH PHÂN TÁN ĐẢM BẢO GẮN BÓ DỮ LIỆU TRÊN CÁC SERVER NGANG HÀNG. 1. Đặt vấn đề Vấn đề gắn bó dữ liệu trong các hệ thống phân tán nói chung và các hệ thống thông tin đăng ký trên mạng nói riêng như việc đăng ký các tua du lịch, mua bán trong các giao dịch thương mại điện tử, đăng ký giữ chỗ trong giao thông vận tải, đăng ký dự thi trong các hệ thống thông tin đào tạo, đã trở thành một lĩnh vực thu hút nhiều sự quan tâm của các nhà nghiên cứu lý thuyết lẫn các nhà sản xuất phần mềm nhằm tìm ra các giải pháp hữu hiệu đảm bảo tính gắn bó thông tin trong các cơ sở dữ liệu truy cập ngẫu nhiên với số lượng truy cập lớn Ta xét bài toán đảm bảo gắn bó dữ liệu trong các hệ thống thông tin lớn, đa truy cập. Hệ thống thông tin được triển khai trên hệ thống gồm nhiều Server kêt nối với nhau qua đường truyền viễn thông. Các hệ thống này thông tin này có thể chia thành nhiều cơ sở dữ liệu đặt trên các server khác nhau hay chỉ bao gồm một cơ sở dữ liệu nhưng được cài đặt trên các server khác nhau dưới dạng các bản sao. Hệ thống trình bày ở trên là hệ thống thông tin phức tạp sẽ bao gồm các đặc điểm sau đây: - Cập nhật thường xuyên để làm tươi cơ sở dữ liệu. - Cho phép truy cập từ xa các thông tin cần thiết. - Cho phép đăng ký từ xa. GVHD: PGS.TS. Lê Văn Sơn TH: Trần Nhật Vinh & Hoàng Như Quỳnh GẮN BÓ DỮ LIỆU TRÊN CÁC SERVER NGANG HÀNG Trang 5 Hệ thống với những đặc điểm trên đòi hỏi phải đảm bảo tính gắn bó dữ liệu bằng những giải pháp kỹ thuật đáng tin cậy. Giải thuật danh sách di chuyển được phát triển nhằm giải quyết triệt để các vấn đề gắn bó dữ liệu trình bày ở trên. 2. Nội dung bài toán: Xây dựng hệ thống đa Server (n>2), xây dựng chương trình đảm bảo gắn bó dữ liệu trên các cơ sở dữ liệu phân tán trên các Server đó. Sử dụng ngôn ngữ lập trình Java với sự kết hợp với cơ chế truy cập triệu gọi phương thức từ xa (RMI – Remote Method Invoke). Ở góc độ mô phỏng chúng ta xây dựng 03 Server chứa các cơ sở dữ liệu phân tán và 01 Client truy cập đến cơ sở dữ liệu phân tán đó và cập nhập. Chúng ta quan sát sự thay đổi thông tin cập nhập tại cơ sở dữ liệu phân tán, quan sát và khẳng định tính gắn bó (nhất quán) trong các cơ sử dữ liệu phân tán. Bài toán minh hoạ: Với bài toán cơ sở dữ liệu bán hàng từ xa hệ thống mạng phân tán có những đặt điểm sau: 1. Hệ thống gồm nhiều server ( 3 Server ) được bố trí tại nhiều nơi khác nhau và các server chứa CSDL giống nhau. 2. Cho phép nhiều đại lý cập nhật thông tin khách hàng đồng thời. GVHD: PGS.TS. Lê Văn Sơn TH: Trần Nhật Vinh & Hoàng Như Quỳnh GẮN BÓ DỮ LIỆU TRÊN CÁC SERVER NGANG HÀNG Trang 6 3. Hệ thống phải tuyệt đối đảm bảo gắn bó dữ liệu tránh trình trạng hàng hoá cung cấp hết cho khách hàng A tại đại lý A nhưng vẫn được bán cho khách hàng B ở một đại lý nào đó. Đây là một hệ thống thông tin phức tạp gồm nhiều ứng dụng được thiết kế để giải quyết bài toán một cách tổng thể toàn diện. Ở đây với mục đích tìm hiểu và nghiên cứu ta có thể thu nhỏ bài toán cơ sở dữ liệu gồm bảng khách hàng. Sanpham(Masp,Tensp, Soluong,Dongia) Người sử dụng muốn được cung cấp thông tin về một yêu cầu nào đó qua câu truy vấn trên Server tiếp nhận câu truy vấn và xử lý câu truy vấn rồi chuyển lại cho người yêu cầu. Có một khách hàng ở địa điểm A muốn biết thông tin về giá cả, số lượng của mặt hàng có tại đại lý B tại địa điểm B ở xa để làm được việc này hệ thống phải xử lý các công việc nhất định. Trước hết khi Client ra yêu cầu hệ thống phải xác định Client đang ở vị trí nào . đây chính là vấn đề trỏ thông tin nội dung chủ yếu của việc trỏ thông tin là biến đổi địa điểm B thành tên của hệ thống cục bộ quản lý để hệ thống có thể nhận dang được. Tên của hệ thống cục bộ phải duy nhất không được trùng với các hệ thống cục bộ khác và không được phép thay đổi. Sau khi đã trỏ đúng vào địa chỉ chứa thông tin, hệ thống phải có khả năng tiếp nhận và ghi lại những yêu cầu. Biên dịch các yêu cầu thành dạng lệnh để truy tìm thông tin. Thực hiện công việc cục bộ mang tính chất cục bộ của hệ thống cục bộ như kiểm tra quyền truy cập thông tin, thống kê số lượng khách hàng lập hoá đơn bán hàng,… Nếu tìm được đúng thông tin yêu cầu sau đó gởi thông tin này đến hệ thống có yêu cầu. Đây là mô hình Client / Server ( khách / chủ) Client gởi yêu cầu ( thông điệp) đến server. Sự tác động này gọi là sự giao dịch. Client A : {Goiyeucau(B,yc) // client gởi server B Nhanyeucau(ketqua)} Sever B GVHD: PGS.TS. Lê Văn Sơn TH: Trần Nhật Vinh & Hoàng Như Quỳnh GẮN BÓ DỮ LIỆU TRÊN CÁC SERVER NGANG HÀNG Trang 7 { Nhanyeucau(s,nh) Nếu(hợp lệ) Bắt đầu Tracuucsdl Thongke Traketqua(s,kq) } Câu truy vấn có thể cài đặt tại Client hoặc tại máy Server. Hai giải pháp này khác nhau ở khối lượng thông tin trao đổi giữa các client với nhau. Giả sử rằng ta đang theo tác trên môi trường Web. Vậy chương trình có thể triển khai trên Server và trên Client chỉ cần trình duyệt Web mà thôi (các trình duyệt Web như Internet Explorer, Netcape Navigator). Web Server xử lý các yêu cầu từ Client gởi lên sau khi xử lý xong và trả về kết quả Client. Như vậy với mô hình này thì chương chình được cài đặt toàn bộ trên Server. Với mô hình trên ta thấy độ tin cậy của thông tin. Thông tin là đúng tại thời điểm Server nhận được thông điệp và đọc nó, có thể không đúng khi khi client nhận được. Điều này liên quan đến việc làm tươi dữ liệu. Vì vậy ta phải có giải pháp cho việc truy cập đồng thời vào dữ liệu dùng chung. Hiện tại ta có một số hệ quản trị CSDL như SQL Server 2005 hoặc Oracle có tính năng bảo mật và phân quyền rất tốt do đó đảm bảo tính an toàn cho hệ thống thông tin. Có một số hệ quản trị CSDL có tính năng Transaction ( lập phiên giao dịch) cho phép đảm bảo tính thống nhất trong khi lưu trữ dữ liệu đảm bảo không xẩy ra treo hệ khi nhiều Client cùng truy xuất vào một CSDL. Trong thực tế việc treo hệ vẫn có thể xảy ra ví dụ : một khách hàng A mua hàng hoá K tại đại lý B và C khách hàng này nhận được lời chấp nhận với một số lượng cụ thể, nhưng số lượng mặt hàng này không có hoặc có mà không đủ tại đại lý B và C. trong khi ra lệnh thì yêu cầu của khách hàng vẫn được chấp nhận vì số lượng vẫn còn ở một địa điểm khác. Vì vậy xảy ra vấn đề khách hàng A nhận được phản hồi chấp nhận mà trên thực tế số lượng hàng hoá tại vị trí ấy không có. GVHD: PGS.TS. Lê Văn Sơn TH: Trần Nhật Vinh & Hoàng Như Quỳnh GẮN BÓ DỮ LIỆU TRÊN CÁC SERVER NGANG HÀNG Trang 8 PHẦN II: LẬP TRÌNH HỆ THỐNG ĐA SERVER BẰNG NGÔN NGỮ JAVA 1. Giới thiệu mô hình đối tượng phân tán RMI RMI (Remote Method Invocation) là một công nghệ Java cho phép một máy ảo Java này tương tác với một máy ảo Java khác và gọi các phương thức đối tượng. Ứng dụng phân tán trong Java thông qua cơ chế RMI thực chất là sự kết hợp nhiều đối tượng đang tồn tại trên các máy khác nhau để giải quyết vấn đề. Đối tượng này sử dụng hàm của đối tượng khác ở xa để thực thi công việc. Khi đó việc gọi thực thi đối tượng ở xa cũng giống như gọi đối tượng địa phương. Để làm được điều này, ứng dụng phân tán RMI dùng bộ phận đăng ký dịch vụ (registry) để quản lý hoạt động của các đối tượng trên mạng. Khi đó thông qua bộ phận đăng ký này, máy ảo Java đóng vai trò server sẽ liên kết với đối tượng ở xa (remote object). Client tìm đến đối tượng ở xa thông qua tên đã đăng ký với bộ phận đăng ký server này. Bộ phận đăng ký dịch vụ được thiết lập mặc định ở cổng 1099 thông qua rmiregistry, có trong bộ công cụ phát triển Java (J2SDK). Vị trí của hệ thống RMI trong ứng dụng phân tán được mô tả như hình dưới. Trong đó các chương trình client và server trao đổi với nhau qua cầu nối của hệ thống RMI. Kiến trúc của hệ thống RMI bao gồm các tầng như sau: GVHD: PGS.TS. Lê Văn Sơn TH: Trần Nhật Vinh & Hoàng Như Quỳnh RMI Registry RMI Client RMI Server GẮN BÓ DỮ LIỆU TRÊN CÁC SERVER NGANG HÀNG Trang 9 Để quá trình truyền tin là trong suốt với người lập trình, truyền tin giữa client và server được cài đặt theo mô hình phân tầng như hình vẽ dưới đây Các ứng dụng RMI được chia thành hai chương trình độc lập là: chương trình Client và chương trình Server. Chương trình Server tạo ra các đối tượng từ xa và cung cấp các tham chiếu đến chúng và chờ các chương trình Client triệu gọi các đối tượng này. Chương trình Client nhận tham chiếu đến các đối tượng ở xa (đối tượng do chương trình Server tạo ra) và triệu gọi chúng như các đối tượng cục bộ. 2. Cơ chế hoạt động của RMI: Các hệ thống RMI phục vụ cho việc truyền tin thường được chia thành hai loại: client và server. Một server cung cấp dịch vụ RMI, và client gọi các phương thức trên đối tượng của dịch vụ này. Server RMI phải đăng ký với một dịch vụ tra tìm và đăng ký tên. Dịch vụ này cho phép các client truy tìm chúng, hoặc chúng có thể tham chiếu tới dịch vụ trong một mô hình khác. Một chương trình đóng vai trò như vậy có tên là rmiregistry, chương trình này chạy như một tiến trình độc lập và cho phép các ứng dụng đăng ký dịch vụ RMI hoặc nhận một tham chiếu tới dịch vụ được đặt tên. Mỗi khi server đựơc đăng ký, nó sẽ chờ các yêu cầu RMI từ các client. Gắn với mỗi đăng ký dịch vụ là một tên được biểu diễn bằng một xâu ký tự để cho phép các client lựa chọn dịch vụ thích hợp. Nếu một dịch vụ chuyển từ server này sang một server khác, client chỉ cần tra tìm trình đăng ký để tìm ra vị trí mới. Điều này làm cho hệ thống có khả năng dung thứ lỗi-nếu một dịch vụ không khả dụng do một máy bị sập, người quản trị hệ GVHD: PGS.TS. Lê Văn Sơn TH: Trần Nhật Vinh & Hoàng Như Quỳnh Đường logic Chương trình Server Skeleton Tầng tham chiếu từ xa Tầng giao vận Chương trình Client Stub Tầng tham chiếu từ xa Tầng giao vận Network GẮN BÓ DỮ LIỆU TRÊN CÁC SERVER NGANG HÀNG Trang 10 thống có thể tạo ra một thể hiện mới của dịch vụ trên một hệ thống khác và đăng ký nó với trình đăng ký RMI. Các client RMI sẽ gửi các thông điệp RMI để gọi một phương thức trên một đối tượng từ xa. Trước khi thực hiện gọi phương thức từ xa, client phải nhận được một tham chiếu từ xa. Tham chiếu này thường có được bằng cách tra tìm một dịch vụ trong trình đăng ký RMI. Ứng dụng client yêu cầu một tên dịch vụ cụ thể, và nhận một URL trỏ tới tài nguyên từ xa. Khuôn dạng dưới đây được sử dụng để biểu diễn một tham chiếu đối tượng từ xa: rmi://hostname:port/servicename Trong đó hostname là tên của máy chủ hoặc một địa chỉ IP, port xác định dịch vụ, và servicename là một xâu ký tự mô tả dịch vụ. Mỗi khi có được một tham chiếu, client có thể tương tác với dịch vụ từ xa. Các chi tiết liên quan đến mạng hoàn toàn được che dấu đối với những người phát triển ứng dụng-làm việc với các đối tượng từ xa đơn giản như làm việc với các đối tượng cục bộ. Điều này có thể có được thông qua sự phân chia hệ thống RMI thành hai thành phần, stub và skeleton. Đối tượng stub là một đối tượng ủy quyền, truyền tải yêu cầu đối tượng tới server RMI. Cần nhớ rằng mỗi dịch vụ RMI được định nghĩa như là một giao tiếp, chứ không phải là một chương trình cài đặt, các ứng dụng client giống như các chương trình hướng đối tượng khác. Tuy nhiên ngoài việc thực hiện công việc của chính nó, stub còn truyền một thông điệp tới một dịch vụ RMI ở xa, chờ đáp ứng, và trả về đáp ứng cho phương thức gọi. Người phát triển ứng dụng không cần quan tâm đến tài nguyên RMI nằm ở đâu, nó đang chạy trên nền nào, nó đáp ứng đầy đủ yêu cầu như thế nào. Client RMI đơn giản gọi một phương thức trên đối tượng ủy quyền, đối tượng này quản lý tất cả các chi tiết cài đặt. GVHD: PGS.TS. Lê Văn Sơn TH: Trần Nhật Vinh & Hoàng Như Quỳnh [...]... sách kết quả và xử lý dựa trên danh sách kết quả GVHD: PGS.TS Lê Văn Sơn TH: Trần Nhật Vinh & Hoàng Như Quỳnh GẮN BÓ DỮ LIỆU TRÊN CÁC SERVER NGANG HÀNG GVHD: PGS.TS Lê Văn Sơn Trang 15 TH: Trần Nhật Vinh & Hoàng Như Quỳnh GẮN BÓ DỮ LIỆU TRÊN CÁC SERVER NGANG HÀNG Trang 16 PHẦN IV: VIẾT CHƯƠNG TRÌNH CẬP NHẬP CÁC D VÀ MONITORING TRÊN CÁC SERVER NGANG HÀNG KHI CÁC CLIENT NHẬP DỮ LIỆU Module Client: phần... ta có thể căn cứ vào các form dữ liệu này để đánh giá tính gắn bó dữ liệu giữa các server trong hệ thống GVHD: PGS.TS Lê Văn Sơn TH: Trần Nhật Vinh & Hoàng Như Quỳnh GẮN BÓ DỮ LIỆU TRÊN CÁC SERVER NGANG HÀNG GVHD: PGS.TS Lê Văn Sơn Trang 17 TH: Trần Nhật Vinh & Hoàng Như Quỳnh GẮN BÓ DỮ LIỆU TRÊN CÁC SERVER NGANG HÀNG Trang 18 TÀI LIỆU THAM KHẢO [1] Lê Văn Sơn, Hệ tin học phân tán, Nxb Đại học Quốc... đối tượng phân tán RMI Hệ thống gồm nhiều Server chứa các chương trình và cơ sở dữ liệu giống nhau, cơ sở dữ liệu tại các Server phải đảm bảo gắn bó, công việc này được thực hiện tự động mỗi khi Client cập nhật dữ liệu vào một Server nào đó Trên mỗi server chứa hai module xử lý chính: • Module giao tiếp với Client Module này có tên là ClientHandle, nó có chức năng nhận dữ liệu từ các chương trình Client... kết nối với dữ liệu trên các hệ quản trị cơ sở dữ liệu cho phép tạo ra các trang Web mang tính "động" hơn Làm cho các trang văn bản Web không còn là các văn bản với các liên kết như buổi ban đầu mới sáng tạo ra GVHD: PGS.TS Lê Văn Sơn TH: Trần Nhật Vinh & Hoàng Như Quỳnh GẮN BÓ DỮ LIỆU TRÊN CÁC SERVER NGANG HÀNG Trang 12 4 Xây dựng bài toán bằng Java RMI: Chúng ta xây dựng bài toán nêu trên theo mô... từ các module server khác nhằm triển khai giải thuật gắn bó dữ liệu là giải thuật danh sách di chuyển trình bày ở trên Ngoài ra, để giám sát quá trình cập nhật dữ liệu của hệ thống, chúng ta còn xây dựng thêm module giám sát hệ thống gọi là module monitor Module monitor hiện thị form dữ liệu phân tán tại tất cả các server trong hệ thống, sau đó hiện thị tức thời tất cả dữ liệu cập nhật vào từng server, ... cho phép NSD cập nhật dữ liệu từ các chương trình Client 2 Module ClientHandle nhận dữ liệu từ Client và thành lập danh sách di chuyển, sau đó chuyển danh sách cho module MobListHandle GVHD: PGS.TS Lê Văn Sơn TH: Trần Nhật Vinh & Hoàng Như Quỳnh GẮN BÓ DỮ LIỆU TRÊN CÁC SERVER NGANG HÀNG Trang 14 3 MobListHandle mở ra một giao dịch, thực hiện truy vấn dữ liệu ngay trên cơ sở dữ liệu cục bộ của mình Sau... việc xây dựng những chương trình máy tính, người ta thường cài đặt dưới dạng giao diện làm việc trên Web Các chương trình làm việc không chỉ giới hạn trên một máy đơn lẽ mà còn phân tán trên nhiều máy đặt ở những vị trí địa lý khác nhau Ví dụ từ client với Web browser, chúng ta có thể truy cập đến những server khác nhau như: • Server chứa cơ sở dữ liệu (Database server) , • Server quản trị Web (Web server) ,... thị form nhập dữ liệu Module client sau đó sẽ triệu gọi đối tượng từ xa trên hệ thống đa server để cập nhật dữ liệu vào cơ sở dữ liệu (Hình – Giao diện nhập liệu trên Client ) Module Server: Module này đảm nhận toàn bộ các chức năng chính của giải thuật danh sách di chuyển Module này được cài trên các server khác nhau được đánh thứ tự từ 1 đến 3 Mỗi server thực hiện chức năng lắng nghe các yêu cầu từ... • Server chứa chương trình ứng dụng (Application server) Trong các Server kể trên, Server quản trị cơ sở dữ liệu đóng vai trò hết sức quan trọng Hầu hết các hệ thống thông tin đều cần đến Server này Người ta có con số thống kê chỉ ra rằng có khoảng trên 80% ứng dụng máy tính liên quan đến cơ sở dữ liệu Với Java, ngôn ngữ được phát triển nhằm hướng về với mạng Internet Việc truy cập đến cơ sở dữ liệu. .. chương trình Client để lưu vào cơ sở dữ liệu Module xử lý danh sách di chuyển Module này có tên MobListHandle, nó có chức năng nhận dữ liệu từ module ClientHandle và cập nhật vào tất cả các server theo giải thuật danh sách di chuyển mà chúng ta sẽ trình bày ở phần sau GVHD: PGS.TS Lê Văn Sơn TH: Trần Nhật Vinh & Hoàng Như Quỳnh GẮN BÓ DỮ LIỆU TRÊN CÁC SERVER NGANG HÀNG Trang 13 PHẦN III: DANH SÁCH DI . Văn Sơn TH: Trần Nhật Vinh & Hoàng Như Quỳnh GẮN BÓ DỮ LIỆU TRÊN CÁC SERVER NGANG HÀNG Trang 7 { Nhanyeucau(s,nh) Nếu(hợp lệ) Bắt đầu Tracuucsdl Thongke Traketqua(s,kq) } Câu truy vấn có. chuyển sang trạng thái khôi phục (Rollback transaction) và trả kết quả về null cho ClientHandle. 7. ClientHandle nhận được danh sách kết quả và xử lý dựa trên danh sách kết quả. GVHD: PGS.TS. Lê. Văn Sơn TH: Trần Nhật Vinh & Hoàng Như Quỳnh GẮN BÓ DỮ LIỆU TRÊN CÁC SERVER NGANG HÀNG Trang 17 GVHD: PGS.TS. Lê Văn Sơn TH: Trần Nhật Vinh & Hoàng Như Quỳnh GẮN BÓ DỮ LIỆU TRÊN CÁC SERVER

Ngày đăng: 12/11/2014, 08:51

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan