Áp dụng thuật toán duy trì gắn bó, tránh bế tắc và thiếu thốn vô hạn hai pha trong hệ đa Server

39 355 0
Áp dụng thuật toán duy trì gắn bó, tránh bế tắc và thiếu thốn vô hạn hai pha trong hệ đa Server

Đ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

Hiện nay, với sự phát triển nhanh chóng của công nghệ và đặc biệt là số lượng người sử dụng ngày càng tăng, hệ phân tán trở nên phù hợp hơn cho đại bộ phận các ứng dụng như: hệ kinh doanh từ xa (HKDTX), hệ đăng ký giữ chỗ của các công ty hàng không, hệ quản lý và đăng ký tua du lịch từ xa… Đố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. Tuy nhiên, hệ thống trình bày như trên là hệ thống đa server mang tính 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. Do đó, vấn đề gắn bó dữ liệu trong các hệ thống phân tán là một trong những vấn đề đang được các nhà nghiên cứu quan tâm. Có nhiều giải pháp trình bày phương pháp đảm bảo đặc tính gắn bó, trong đó có giải thuật hai pha tuyến tính và giải thuật MAONT (Model Avanced of Open Nested Transaction) . Báo cáo này sẽ trình bày một giải thuật được phát triển trên cơ sở danh sách di chuyển và minh họa thuật toán bằng chương trình đăng ký tua du lịch. Nội dung cụ thể là: 1. Tên đề tài : Hãy viết chương trình áp dụng thuật toán duy trì gắn bó, tránh bế tắc và thiếu thốn vô hạn (2 pha) trong hệ đa Server; 2. Xây dựng hệ thống 3 Server và CSDL (tr. 270 trở đi); 3. Xây dựng chương trình thực hiện cập nhật trong điều kiện đảm bảo gắn bó thông tin; 4. Viết chương trình quan sát quá trình nêu trên. Trong phạm vi của báo cáo này, chương trình được cài đặt demo trên 3 server, tuy nhiên chúng ta có thể cài đặt trên hệ thống gồm nhiều server. Chương trình cũng bao gồm một công cụ tạm gọi là monitor nhằm giám sát việc cập nhật dữ liệu giữa các server, nhằm đánh giá tính gắn bó dữ liệu giữ liệu giữa các server với nhau. Cuối cùng, tập thể nhóm 12 mong muốn nhận được các ý kiến đóng góp, bổ sung của quý Thầy và các bạn. Xin chân thành cảm ơn

Báo cáo thu hoạch môn Lập trình mạng nâng cao PHẦN I : ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA  BÁO CÁO LẬP TRÌNH MẠNG BÁO CÁO LẬP TRÌNH MẠNG NHÓM 12 - ĐỀ 22 NHÓM 12 - ĐỀ 22 Áp dụng thuật toán duy trì gắn bó, Áp dụng thuật toán duy trì gắn bó, tránh bế tắc và thiếu thốn vô hạn hai tránh bế tắc và thiếu thốn vô hạn hai pha trong hệ đa Server pha trong hệ đa Server Nhóm 12 – Đề số 22 Trang 1 Báo cáo thu hoạch môn Lập trình mạng nâng cao Giảng viên Giảng viên : PGS.TS. LÊ VĂN SƠN : PGS.TS. LÊ VĂN SƠN Học viên Học viên : Thái Thị Bích Thủy : Thái Thị Bích Thủy Nguyễn Thị Diễm Thúy Nguyễn Thị Diễm Thúy Lớp Lớp : Cao học KHMT khóa 11 : Cao học KHMT khóa 11 Đà Nẵng, tháng 03/2010 Nhóm 12 – Đề số 22 Trang 2 Báo cáo thu hoạch môn Lập trình mạng nâng cao LỜI MỞ ĐẦU    Hiện nay, với sự phát triển nhanh chóng của công nghệ và đặc biệt là số lượng người sử dụng ngày càng tăng, hệ phân tán trở nên phù hợp hơn cho đại bộ phận các ứng dụng như: hệ kinh doanh từ xa (HKDTX), hệ đăng ký giữ chỗ của các công ty hàng không, hệ quản lý và đăng ký tua du lịch từ xa… Đố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. Tuy nhiên, hệ thống trình bày như trên là hệ thống đa server mang tính 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. Do đó, vấn đề gắn bó dữ liệu trong các hệ thống phân tán là một trong những vấn đề đang được các nhà nghiên cứu quan tâm. Có nhiều giải pháp trình bày phương pháp đảm bảo đặc tính gắn bó, trong đó có giải thuật hai pha tuyến tính và giải thuật MAONT (Model Avanced of Open Nested Transaction) . Báo cáo này sẽ trình bày một giải thuật được phát triển trên cơ sở danh sách di chuyển và minh họa thuật toán bằng chương trình đăng ký tua du lịch. Nội dung cụ thể là: 1. Tên đề tài : Hãy viết chương trình áp dụng thuật toán duy trì gắn bó, tránh bế tắc và thiếu thốn vô hạn (2 pha) trong hệ đa Server; 2. Xây dựng hệ thống 3 Server và CSDL (tr. 270 trở đi); Nhóm 12 – Đề số 22 Trang 3 Báo cáo thu hoạch môn Lập trình mạng nâng cao 3. Xây dựng chương trình thực hiện cập nhật trong điều kiện đảm bảo gắn bó thông tin; 4. Viết chương trình quan sát quá trình nêu trên. Trong phạm vi của báo cáo này, chương trình được cài đặt demo trên 3 server, tuy nhiên chúng ta có thể cài đặt trên hệ thống gồm nhiều server. Chương trình cũng bao gồm một công cụ tạm gọi là monitor nhằm giám sát việc cập nhật dữ liệu giữa các server, nhằm đánh giá tính gắn bó dữ liệu giữ liệu giữa các server với nhau. Cuối cùng, tập thể nhóm 12 mong muốn nhận được các ý kiến đóng góp, bổ sung của quý Thầy và các bạn. Xin chân thành cảm ơn! NHÓM 12. Nhóm 12 – Đề số 22 Trang 4 Computer A A2 2 A1 Computer C C1 C2 C3 Computer B B1 Báo cáo thu hoạch môn Lập trình mạng nâng cao I. Kỹ thuật lập trình phân tán đối tượng trong java I.1 Lập trình phân tán đối tượng Thông thường các chương trình của chúng ta được viết dưới dạng thủ tục hay hàm gọi. Mã lệnh của hàm hay thủ tục được nạp thẳng vào kí ức và thực thi ngay tên máy cục bộ. Đối với các hàm (hoặc đối tượng) thư viện như System.out.println () chẳng hạn bạn thường không phải quan tâm đến cách thức mà hàm thư viện này được cài đặt. Điều mà hầu hết các lập trình viên quan tâm là đối số truyền cho hàm và kết quả trả về. Vậy thì có cách nào nạp nội dung của hàm hay đối tượng ở một máy nào đó và gọi chúng từ một máy khác hay không? Đây chính là nội dung của lập trình phân tán mã lệnh. Việc triệu gọi phương thức từ xa – là cách thức giao tiếp giữa các đối tượng Java có mã lệnh cài đặt (bao gồm phương thức và thuộc tính) nằm trên các máy khác nhau có thể triệu gọi lẫn nhau. Hình 1 - Mô hình triệu gọi các đối tượng từ xa Trên máy A các đối tượng A1, A2 gọi phương thức của nhau được gọi là triệu gọi phương thức cục bộ (local methol Invoke), đây là cách mà lập trình hướng đối Nhóm 12 – Đề số 22 Trang 5 Báo cáo thu hoạch môn Lập trình mạng nâng cao tượng truyền thống vẫn sử dụng. Tương tự, tương tác giữa C1, C2, C3 là tương tác cục bộ. Tuy nhiên, đối tượng của Java có thể gọi phương thức của đối tượng nằm trên một máy khác dựa vào giao thức triệu gọi từ xa RMI (như A1 gọi C1, A2 gọi B1, C3 gọi B1). I.2 Gọi phương thức từ xa và các vấn đề phát sinh Việc gọi phương thức của các đối tượng từ xa thoạt nhìn có vẻ đơn giản nhưng thực tế lại phức tạp hơn triệu gọi phương thức cục bộ. Các đối tượng trên hai máy khác nhau hoạt động trên hai tiến trình (hay không gian địa chỉ) khác nhau cho nên việc tham chiếu biến, địa chỉ đối tượng là hoàn toàn khác nhau. Ví dụ, khi bạn truyền con trỏ cho một phương thức ở xa, trên máy bạn con trỏ này tồn tại nhưng trên máy khác (nơi có đối tượng thực thi phương thức) sẽ không có bất kỹ vùng nhớ nào được cấp phát dành cho con trỏ. Lời gọi các phương thức cục bộ thường luôn trả về kết quả trong khi lời gọi các phương thức từ xa phải thông qua kết nối mạng và luôn có thể bị cắt ngang do mạng gặp sự cố. Đối với lời gọi hàm trên máy cục bộ, các tham số truyền cho hàm thường được dặt vào ngăn xếp (stack) trong khi tham số truyền cho phương thức của đối tượng ở xa phải được đóng gói và chuyển qua mạng để đến được với phương thức thực sự. I.3 Các lớp trung gian (stub và skeletion) Để giải quyết các vấn đề trên, đối tượng Java trên hai máy khác nhau không gọi nhau trực tiếp mà thông qua lớp trung gian. Lớp trung gian này tồn tại ở cả hai phía: máy khách (nơi gọi phương thức của các đối tượng ở xa) và máy chủ (nơi đối tượng thực sự được cài đặt để thực thi mã lệnh của phương thức). Phía máy khách lớp trung gian này được gọi là stub (lớp móc), phía máy chủ lớp trung gian này được Nhóm 12 – Đề số 22 Trang 6 Báo cáo thu hoạch môn Lập trình mạng nâng cao gọi là skeletion (lớp nối). Ta hình dung stub và skeletion là hai người môi giới giúp các đối tượng ở xa giao dịch với nhau. Hình 2 - Gọi các phương thức của các đối tượng thông qua lớp trung gian Ví dụ bạn có đối tượng C1 được cài đặt chạy trên máy C. Trình biên dịch Java sẽ giúp bạn tạo ra hai lớp trung gian C1_Skel và C1_stub. Lớp C1_Stub sẽ được đem về máy computer A. Khi A1 trên máy Computer A gọi C1 nó sẽ chuyển lời gọi đến lớp C1_Stub. C1_Stub chịu trách nhiệm đóng gói tham số, chuyển tham số quan mạng đến máy Computer C. trên máy Computer C lớp nối C1-Skel sẽ nhận tham số chuyển vào vùng không gian địa chỉ tương thích với đối tượng C1 sau đó gọi phương thức tương ứng. Kết quả nếu có do phương thức của đối tượng C1 trả về sẽ được lớp C1_Skel đóng gói trả ngược về cho C1_stub. C1-Stub chuyển giao kết quả cuối cùng lại cho A1. Bằng cơ chế này, A1 luôn nghĩ rằng nó đang hoạt động trực tiếp với đối tượng C1 ngay trên máy cục bộ. Hơn nữa, nhờ sự giúp đỡ của lớp trung gian C1-Stub, khi kết nối mạng gặp sự cố lớp trung gian Stub sẽ luôn biết cách Nhóm 12 – Đề số 22 Trang 7 Computer A A1 A2 B1_stub C1_ stub Computer B B1_skel B1 Computer C C1 C1_ skel Báo cáo thu hoạch môn Lập trình mạng nâng cao thông báo lỗi đến đối tượng A1. Thực tế làm cách nào A1 tham chiếu được đến C1, một khi không có lớp C1 nào được cài đặt ở máy A? C1_Stub trên máy A chỉ làm lớp nền trung gian chuyển đổi tham số và thực hiện các giao thức mạng, nó không phải là hình ảnh của đối tượng C1. Để làm được điều này, đối tượng C1 cần cung cấp một giao tiếp interface tương ứng với các phương thức cho phép đối tượng A1 gọi nó trên máy A. Chúng ta sẽ tiếp tục làm sáng tỏ vấn đề hơn trong quá trình xây dựng một ứng dụng RMI thật sự sau đây. I.4 Bộ đăng ký (rmiregistry), classpath và codebase Với ví dụ trên bạn đã biết đến bộ đăng kí rmiregistry dùng để tiếp nhận đăng kí tên của đối tượng. Hầu như trước khi máy khách muốn sử dụng được các phương thức và được gọi đối tượng ở xa nó phải liên lạc với rmiregistry để lấy về tham chiếu đến đối tượng trên máy chủ. Dịch vị dăng kí và truy tìm tên đối tượng (các bước , ,  ở hình 4) được Java quản lý bằng các hàm giao tiếp API JNDI (Java Naming Directory Interface). Các hàm JNDI ở máy khách (Naming.lookup()) sẽ liên lạc với rmiregistry để nhận về tham chiếu của đối tượng trong khi các hàm JNDI ở máy chủ (Naming.bind()) có nhiệm vụ đăng kí tên của đối tượng với rmiregistry. Trong Windows khi mở cửa sổ DOS-Prompt để chạy một chương trình Java, về lý thuyết chương trình này được xem là chạy độc lập trên một máy (máy ảo). Do đó nếu 3 chương trình Java chạy trên 3 cửa sổ DOS-Prompt khác nhau bạn có thể xem đây là kết quả kiết xuất từ hai máy tính khác nhau. Hay nói cách khác dựa vào máy ảo Java bạn có thể tuỳ thích tạo ra các máy tính ảo để giao tiếp với nhau giả lập mạng. Dữ liệu chuyển từ máy ảo Java này sang máy ảo Java khác hoàn toàn tương tự quá trình giao tiếp và chuyển dữ liệu giữa hai máy tính kết nối vật lý thực sự trên mạng. Nhóm 12 – Đề số 22 Trang 8 Báo cáo thu hoạch môn Lập trình mạng nâng cao Hình 4 - Cơ chế làm việc của các máy ảo Java khi đăng kí và gọi đối tượng giữa trình khách và trình chủ Tuy nhiên cũng có một số hạn chế đó là tất cả các máy ảo Java đều dùng chng một địa chỉ IP vật lý trong khi hai máy ảo Java chạy trên hai máy tính vật lý khác nhau sẽ có địa chỉ IP khác nhau. Các máy ảo Java chạy trên cùng một máy vật lý sẽ sử dụng cùng thư viện Java, cùng một chính sách bảo mật, điều này làm bạn rất dễ nhầm tưởng là chương trình chạy tốt trên cả hai phía máy khách và máy chủ. Trong khi thực tế nếu máy khách và máy chủ dùng hai thư viện Java (cũng như biến môi trường CLASSPATH) khác nhau hoặc chính sách bảo mật khác nhau sẽ làm cho kết nối từ phía máy khách và máy chủ không thực hiện được. Bạn nên lưu ý đến vấn đề này khi cài đặt các ứng dụng Java trên các máy mạng vật lý thực sự. I.4.1 Đăng ký rmiregistry Hình 5 trình bày cơ chế làm việc của trình khách và trình chủ trên máy ảo Java khi đăng kí và truy xuất rmiregistry Nhóm 12 – Đề số 22 Trang 9 Máy tính vật lý 1 (IP: 172.16.11.13) C. Máy ảo Java chạy chương trình khách (CalculatorClient) Máy tính vật lý 2 (IP: 172.16.11.12)  A. Máy ảo Java chạy rmiregisty B. Máy ảo Java chạy đối tượng Báo cáo thu hoạch môn Lập trình mạng nâng cao Hình 5 Cơ chế hoạt động của các máy ảo Java trên mô hình máy mạng vật lý thật sự  Đối tượng trên máy ảo Java B dùng hàm Naming.bind() hoặc Naming.rebind() để đăng kí đối tượng với chương trình rmiregistry đang chạy trên máy ảo Java A  Chương trình khách chạy trên máy ảo Java dùng hàm Naming.lookup() để yêu cầu bộ quản lý rmiregistry trên máy ảo A trả về bộ tham chiếu đến đối tượng  Bộ quản lý rmiregistry trên máy ảo A trả về tham chiếu đến đối tượng đang tồn tại trên máy ảo B  Chương trình khách chạy trên máy ảo Java sử dụng tham chiếu do hàm Naming.lookup() trả về để truy và gọi phương thức của đối tượng đang chạy trên máy ảo B từ xa. Như đã nêu, cả 3 máy ảo đều có thể xem như 3 máy vật lý kết nối trực tiếp với nhau qua mô hình mạng. Tuy nhiên nếu 3 máy ảo này chạy trên 3 máy khác nhau chúng sẽ khác nhau số đại chỉ IP. Do cùng chạy trên một máy vật lý nên cả 3 máy ảo này sẽ mang cùng một địa chỉ IP cục bộ 127.0.0.1 (hay localhost) Thực tế với mô hình trên, nếu hoạt động thật sự qua mạng thì chỉ có thể tách ra làm 2 máy vật lý chứ không thể là 3. Máy ảo A chạy chương trình rmiregistry và máy ảo B chạy phần cài đặt của đối tượng phải chạy trên cùng một máy vật lý. Tức là máy ảo A và B phải trùng địa chỉ IP của nhau. Hiện tại, Java không cho phép rmiregistry chạy trên máy vật lý khác với nơi mà đối tượng đang hoạt động. Hình 5 là cơ chế hoạt động của các máy ảo Java trên mô hình máy mạng vật lý thật sự. Máy khách có địa chỉ mạng IP là 172.16.11.13 truy xuất đến bộ đăng kí Nhóm 12 – Đề số 22 Trang 10 [...]... ứng dụng Trong quá trình nghiên cứu bài toán, các tác giả vận dụng phương pháp tổng quát đảm bảo gắn bó dữ liệu và các ràng buộc toàn vẹn thông tin phục vụ công tác phân tích, thiết kế hệ quản trị cơ sở dữ liệu cho hệ thống cơ sở dữ liệu đăng ký với thông tin gắn bó trong điều kiện phân tán Để có thể khôi phục lại dữ liệu và trạng thái gắn bó thông tin của toàn hệ thống khi có sự cố diễn ra, một trong. .. sự cố cho các hệ thống thông tin đăng ký nói riêng, các hệ thống tin học phân tán nói chung, bản chất của vấn đề gắn bó dữ liệu cũng như nguyên nhân dẫn đến sự cố làm cho dữ liệu không còn gắn bó được chỉ ra và nhóm ghép trong quá trình phân tích, thiết kế hệ thống Một cơ sở dữ liệu nào đó được gọi là gắn bó, nếu nó thỏa mãn một tập các ràng buộc về toàn vẹn ngữ nghĩa Để đảm bảo tính gắn bó dữ liệu... yêu cầu được gửi từ các Ci, i=1,n 3 TPC -Server- App1, TPC -Server- App2, , TPC -Server- AppN là các RMI Server cài đặt thuật toán 2PC tuyến tính (Linear Two Phase Commit - TPC) 4 TPCMonitorServer là một trình giám sát cho phép hiển thị quá trình dịch chuyển của danh sách di chuyển [6] trong quá trình xử lý của các TPC -Server- Appi, i = 1,N 5 ConnectionPool là chương trình điều khiển các liên kết cơ sở dữ... …được sử dụng Việc kiểm soát tính toàn vẹn ngữ nghĩa tốt sẽ đảm bảo được tính gắn bó dữ liệu của hệ thống thông tin Hiện nay, người ta đang áp dụng hai phương pháp chủ yếu: 1 Loại bỏ các chương trình/thủ tục cập nhật có thể dẫn đến trạng thái không gắn bó dữ liệu trong các cơ sở dữ liệu [PP1] Nhóm 12 – Đề số 22 Trang 23 Báo cáo thu hoạch môn Lập trình mạng nâng cao 2 Triệu gọi các chương trình/thủ... hay chia xẻ tác vụ giữa hai hay nhiều Server này diễn ra đều thực hiện được nhờ vào giải pháp xử lý đa Server và xử lý song song thông qua giao thức triệu gọi từ xa (RMI mà Java cung cấp) và các tác tử (Agent) điều kiển được tạo ra Một ví dụ cụ thể cho các bước xây dựng một giải pháp xử lý đa Server dùng RMI + Xây dựng Interface cho các phương thức triệu gọi từ xa cho Server1 (Server1 .java) import java.rmi.Remote;... chương trình rmiregistry trong khi đó máy ảo Java B chạy phần cài đặt của đối tượng I.4.2 Thiết lập và cài đặt hệ đa server dùng Java và RMI Mô hình xử lý thông tin có thể được trình bày ngắn gọn như sau: Khi Server1 nhận yêu cầu cần xử lý từ Client gửi đến , Server1 xử lý một phần, và có thể xảy ra việc thiếu dữ liệu và cần lấy dữ liệu từ Server2 để xử lý tiếp hay gửi phần xử lý còn lại cho Server2 ... xét trong trường hợp các hệ thống phân tán cố truyền đường [PP2] Sử dụng bộ đếm thời gian và cơ chế quá hạn để theo dõi xem đã qua bao lâu kể từ khi vị trí gửi không nhận được thông điệp trả lời của vị trí đến II.5 Phát triển giải pháp kỹ thuật đảm bảo gắn bó dữ liệu Để dễ dàng mô tả các giải thuật đảm bảo gắn bó dữ liệu phân tán, chúng ta giả thiết rằng, tại vị trí nguồn của giao dịch một tiến trình... nó, tiến trình này được gọi là điều phối viên (Coordinator) Điều phối viên trao đổi với các thành viên (Participant) tại những vị trí có tham gia vào việc thực hiện các thao tác của giao dịch Chúng ta có Cải tiến giải thuật hai pha tuyến tính ( Linear 2PC ), giải thuật MAONT, ta thiết kế giải thuật mà trong đó các thành viên có thể trao đổi với nhau Có một thứ tự giữa các vị trí trong hệ thống dành... hoặc global-abort đến các vị trí chưa có hồi áp và đợi hồi áp của chúng II.3.2 Quá hạn ở thành viên Có thể xảy ra trong 2 trạng thái INITAL và READY Trong trạng thái INITAL thành viên đang đợi thông báo prepare từ điều phối viên trong khi điều phối viên bị sự cố trong trạng thái INITAL thì thành viên có thể hủy bỏ giao dịch sau một thời gian quá hạn Nếu thông báo prepare này đến được với thành... tiếp Chúng ta hãy giả thiết rằng thứ tự giữa các vị trí có tham gia vào việc thực hiện một giao dịch là 1, 2,…, N với điều phối viên là vị trí đầu tiên trong thứ tự này Nghi thức 2PC được cài đặt bằng cách trong pha đầu tiên truyền tới [ tính từ điều phối viên (số 1) đến N] và trong pha thứ hai truyền ngược từ N về điều phối viên Thuật toán 2PC tuyến tính hoạt động theo cách sau: Điều phối viên gửi thông . với nhau. Cuối cùng, tập thể nhóm 12 mong muốn nhận được các ý kiến đóng góp, bổ sung của quý Thầy và các bạn. Xin chân thành cảm ơn! NHÓM 12. Nhóm 12 – Đề số 22 Trang 4 Computer A A2 2 A1 Computer. đến bộ đăng kí Nhóm 12 – Đề số 22 Trang 10 Báo cáo thu hoạch môn Lập trình mạng nâng cao rmiregistry của máy chủ có địa chỉ IP là 172.16.11 .12. Trên máy chủ 172.16.11 .12 chúng ta có cả. xuất rmiregistry Nhóm 12 – Đề số 22 Trang 9 Máy tính vật lý 1 (IP: 172.16.11.13) C. Máy ảo Java chạy chương trình khách (CalculatorClient) Máy tính vật lý 2 (IP: 172.16.11 .12)  A. Máy ảo Java

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

Từ khóa liên quan

Mục lục

  • PHẦN I : ĐẠI HỌC ĐÀ NẴNG

  • LỜI MỞ ĐẦU

  • I. kỹ thuật lập trình phân tán đối tượng trong java

    • I.1 Lập trình phân tán đối tượng

    • I.2 Gọi phương thức từ xa và các vấn đề phát sinh

    • I.3 Các lớp trung gian (stub và skeletion)

    • I.4 Bộ đăng ký (rmiregistry), classpath và codebase

    • I.4.1 Đăng ký rmiregistry

    • I.4.2 Thiết lập và cài đặt hệ đa server dùng Java và RMI

    • II. THUẬT TOÁN TWO PHASE COMMIT (2PC)

      • II.1 Thuật toán Linear Two Phase Commit – TPC

      • II.2 Nghi thức ủy thác 2 pha 2PC

        • II.2.1 Cấu trúc 2PC tập quyền

        • II.2.2 Cấu trúc 2PC phân quyền

        • II.3 Nghi thức kết thúc và phụ hồi cho 2PC

          • II.3.1 Quá hạn ở điều phối viên

          • II.3.2 Quá hạn ở thành viên

          • II.4 Tác động của sự cố đối với việc gắn bó dữ liệu

          • II.5 Phát triển giải pháp kỹ thuật đảm bảo gắn bó dữ liệu

          • III. PHÁT BIỂU BÀI TOÁN

            • III.1 Giải quyết bài toán

            • III.2 Một số kết quả

            • III.3 Một số đoạn mã mẫu

            • IV. KẾT LUẬN

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

Tài liệu liên quan