tiểu luận môn lập trình mạng viết chương trình cài đặt thuật toán sẵp xếp theo kiểu đóng dấu

39 637 3
tiểu luận môn lập trình mạng viết chương trình cài đặt thuật toán sẵp xếp theo  kiểu đóng dấu

Đ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

Tiểu Luận Môn LậpTrình Mạng BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG TIỂU LUẬN –ĐỀ 03 lËp tr×nh m¹ng Đà Nẵng, 05 năm 2012 Nguyễn Văn Đinh –Khóa 24 Trang 1 GVHD : PGS - TS Lê Văn Sơn Học viên : Nguyễn Văn Định Môn học : Lập Trình Mạng Nâng Cao Lớp : Khoa Học Máy Tính –Khóa 24 Tiểu Luận Môn LậpTrình Mạng LỜI NÓI ĐẦU ự phát triển nhanh chóng của công nghệ thông tin và truyền thông trên thế giới trong các năm qua, mạng máy tính ra đời và đóng vai trò hết sức quan trọng trong nhu cầu khai thác, lưu trữ, quảng bá thông tin trên thế giới. Một vấn đề đặt ra là làm sao để đảm bảo môi trường truyền thông hiệu quả, bảo đảm cho hoạt động trao đổi thông tin của các hệ thống truyền thông hoạt động thông suốt, đáp ứng yêu cầu trao đổi thông tin của con người S Cấu trúc của một hệ tin học phân tán gồm: Hệ thống các phần mềm, tập hợp các phần cứng, hệ thống truyền thông, hệ thống dữ liệu. Trong đó hệ thống truyền thông như là hạ tầng của hệ tin học phân tán do vậy chiến lược quản lý truyền thông trong các hệ tin học phân tán là vấn đề quan trọng cần được giải quyết triệt để và tối ưu. Việc lập trình giải quyết một bài toán trong hệ thống truyền thông của hệ tin học phân tán còn mới mẻ và không đơn giản. Trong phạm vi tiểu luận môn học lập trình mạng, với đề tài: “Viết chương trình cài đặt thuật toán sẵp xếp theo kiểu đóng dấu” nội dung tiểu luận bao gồm: - Nghiên cứu bản chất của phương pháp đóng dấu vào thông điệp trước khi gởi đi cho tất cả các server qua hệ thống đường truyền. - Xây dựng hệ thống đa server. - Xây dựng chương trình Monitoring quan sát trường dấu trong hàng đợi các thông điệp tại server nhận. - Viết chương trình cài đặt thuật toán sắp xếp kiểu đóng dấu. Xin chân thành cám ơn sự hướng dẫn của thầy PGS.TS.Lê Văn Sơn và các bạn học viên trong lớp đã giúp tôi hoàn thành tiểu luận này. Nguyễn Văn Đinh –Khóa 24 Trang 2 Tiểu Luận Môn LậpTrình Mạng CHƯƠNG 1: BẢN CHẤT CỦA PHƯƠNG PHÁP SẮP XẾP KIỂU ĐÓNG DẤU VÀO THÔNG ĐIỆP TRƯỚC KHI GỞI ĐI CHO CÁC SERVER QUA HỆ THỐNG ĐƯỜNG TRUYỀN. 1.1.Các vấn đề cơ bản của hệ tin học phân tán. 1.1.1.Định nghĩa. Hệ tin học phân tán hay nói ngắn gọn là hệ phân tán (Distributed System) là hệ thống xử lý thông tin bao gồm nhiều bộ xử lý hoặc bộ vi xử lý nằm tại các vị trí khác nhau được liên kết với nhau thông qua phương tiện viễn thông dưới sự điều khiển thống nhất của một hệ điều hành. 1.1.2. Cung cấp phân tán. Vì lý do ổn định và hiệu quả, chức năng cung cấp phải được phân tán trên nhiều trạm khác nhau. Sự hoạt động gắn bó với nhau giữa các chương trình cung cấp là rất cần thiết để đảm bảo cho hoạt động cung cấp được hoàn toàn chính xác. Một sự gắn bó của các chương trình cung cấp phân tán quản lý trên cùng một tập hợp các tài nguyên chỉ đạt được nếu tuân thủ các quy tắc sau, ở đây các thông điệp được hiểu là các yêu cầu hay khuyến nghị giải phóng tài nguyên. - Các bộ cung cấp bắt buộc phải thực hiện cùng một giải thuật. - Các bộ cung cấp đều nhận tất cả các thông điệp phát đi từ các tiến trình. - Các thông điệp phải được xử lý cùng một trật tự như nhau trong một chương trình cung cấp. 1.1.3. Các yêu cầu cơ bản cần nghiên cứu giải quyết của hệ phân tán. - Lập trình và thực hiện cho hệ thống đa truy cập, ngẫu nhiên, số lượng lớn - Định danh cho các đối tượng qua hệ thống viễn thông - Cấu trúc lập trình được cho các truy vấn đa chiều và đáp ứng lại truy vấn - Trình tự và đồng bộ các tiến trình hoạt động - Gắn bó thông tin (Coherence) và vấn đề nhiều bản sao - Cung cấp từ xa các tài nguyên dùng chung (tài nguyên găng) Nguyễn Văn Đinh –Khóa 24 Trang 3 Tiểu Luận Môn LậpTrình Mạng - Vấn đề xử lý - tính toán đồng thời trong hệ - Vấn đề đa Server và hệ điều khiển - giám sát của người quản trị hệ thống - Vấn đề tin cậy và hiệu năng hệ thống 1.2. Khái quát vấn đề về đóng dấu Đóng dấu là hành vi gán giá trị nguyên cho một thông điệp nhằm ghi nhận thời điểm truyền trên cơ sở tham chiếu đồng hồ logic. Nội dung cơ bản của phương pháp này là trạm phát được gắn một giá trị khi phát đi gọi là dấu. Giá trị này có tính chất thời điểm cho trạm phát thông tin và dựa vào đồng hồ Logic cục bộ của chính trạm. Các đồng hồ này được lấy lại thông qua hội thoại giữa các trạm. 1.3. Sự gắn bó thông tin Là sự ràng buộc toàn vẹn (Integrity constraint) của các tập thông tin, thể hiện ở ràng buộc về cấu trúc (Structure constraint) và hành vi (behavioral constraint), các ràng buộc này thể hiện sâu sắc các đặc tính riêng biệt của hệ. Trạng thái gắn bó: là trạng thái của hệ thoả mãn một tập các ràng buộc toàn vẹn. Lưu ý: Trạng thái của hệ xác định có gắn bó hay không chỉ xác định được ở mức quan sát cho trước. Ta quan tâm đến hai mức quan sát sau: STT Mức Giải thích 1 người sử dụng (NSD) Tiến trình là một dãy các giao dịch. Giao dịch đó là chương trình duy nhất được thực hiện từ một trạng thái gắn bó dẫn hệ đến một trạng thái gắn bó khác 2 Hệ thống Mỗi giao dịch được cấu tạo từ một dãy các tác động Như hình sau ta thể hiện mức quan sát 1 (NSD) Trạng thái I: là trạng thái ban đầu – là gắn bó. Nguyễn Văn Đinh –Khóa 24 Trang 4 Gắn bó Không Gắn bó I II III T Trạng thái I Trạng thái II Trạng thái III t Tiểu Luận Môn LậpTrình Mạng Trạng thái II: thực hiện các thao thác ghi nên là trạng thái không gắn bó Trạng thái III: là trạng thái sau khi ghi - phải là trạng thái gắn bó. Sự gắn bó thông tin có nhiều cơ chế gắn bó đối với đề tài này chỉ xét gắn bó trên cơ sở dấu. 1.4. Gắn bó trên cơ sở dấu 1.4.1. Nguyên lý Tập hợp các yêu cầu cập nhật được sắp xếp theo cùng một kiểu trên tất cả các trạm nhờ cơ chế dấu. Theo đó mỗi một yêu cầu được phát đi cho tập hợp các trạm. Trên mỗi trạm, tồn tại một tiến trình server đảm nhận nhiệm vụ tiếp nhận các yêu cầu theo trật tự của dấu. Điều đó cho phép có được một sự gắn bó yếu giữa các bản sao khác nhau. 1.4.2. Triển khai hệ ổn định Các giao dịch cần xét là các khả năng đọc, ghi hay cập nhật. Cập nhật được xác định như là một dãy các thao tác kiểm tra - đọc tức thì trạng thái hiện hành của một bản sao. Ta giới hạn vấn đề trong phép toán rất quan trọng là phép ghi. Mỗi một server tiếp nhận các yêu cầu ghi đến từ trạm cuc bộ ở thời điểm cho trước. Nó tiếp nhận các yêu cầu và tính toán trên cơ sở dấu theo tiêu chí lâu nhất. Việc xác định yêu cầu không được tiến hành ngay tức khắc vì nguyên do ta không thể biết chắc chắn yêu cầu nào là lâu nhất. Yêu cầu lâu nhất có thể đang truyền trên đường. Tính không chắc chắn này xuất hiện có điều kiện với giả thiết về viễn thông. Khi trạm i truyền các thông điệp cho trạm j, trật tự nhận thông điệp tại j là hoàn toàn giống với trật tự của các thông điệp phát đi. Giả thiết này được kiểm tra trong các mạng thông thường. Việc xác định yêu cầu cần xử lý trên một trạm là hoàn toàn có thể. Có hai trường hợp cần xem xét: - Tập hợp yêu cầu ghi khi chờ chứa các yêu cầu từ tất cả các trạm khác. Trong trường hợp này các yêu cầu đi qua, nếu chúng tồn tại, là mới hơn so với các yêu cầu đã đi qua. Nói cách khác, yêu cầu lâu nhất chính là yêu cầu đang chờ. - Tồn tại các trạm mà không có bất kỳ yêu cầu nào được truyền đến. Ta được đưa đến trường hợp trước đây bằng cách truyền cho tất cả các trạm một thông điệp yêu cầu và Nguyễn Văn Đinh –Khóa 24 Trang 5 Gắn bó Tiểu Luận Môn LậpTrình Mạng bắt buộc phải xác nhận. Do vậy, sau một khoảng thời gian, theo giả thiết về độ ổn định, ta sẽ nhận hoặc là các yêu cầu đi qua, hoặc là các trả lời cho thông điệp yêu cầu. Lúc này, ta có được các thông điệp đến từ tất cả các trạm. Để tăng tốc độ thực hiện thuật toán, ta có thể đưa vào trên mỗi trạm một hàng đợi cho từng trạm của mạng bao gồm cả các trạm cục bộ, các truy vấn được đưa vào đầu hàng đợi theo kỹ thuật FIFO (First In First Out). 1.4.3. Các hành vi bên ngoài của chế độ bình thường Hai vấn đề mở rộng hơn đối với thuật toán này cho phép lấy ra hay chèn vào tuỳ ý một trạm nào đó. Ngược lại, thuật toán chỉ sống trong trường hợp có sự cố, nếu các điều kiện sau đây được tôn trọng: Điều kiện 1: Việc đột nhiên biến mất đi một trạm nào đó phải được các trạm khác nhận biết tự động. Điều kiện 2: Việc phát một thông điệp là một phép toán không chia cắt được nữa. Đó là một thông điệp hoặc là tất cả đều phải nhận được hoặc là không trạm nào nhận được cả. Vì vậy, việc tuân thủ hai điều kiện trên đặt ra cho chúng ta tình hình là nếu điều kiện đầu tiên có thể được khống chế, thì điều kiện thứ hai rất khó đảm bảo. 1.5. Thuật toán sắp xếp trên cơ sở dấu Giải thuật được trình bày ở đây là giải thuật Lamport nhằm cho phép ghi lại các sự kiện của hệ tin học phân tán. Mỗi trạm s đều có trang bị công tơ với các giá trị nguyên gọi là Hs. Đó chính là đồng hồ logic tăng lên giữa 2 sự kiện kế tiếp. Trạm e phát thông điệp ghi dấu E của mình dựa trên giá trị hiện hành của He. Khi nhận được thông điệp, trạm nhận r cập nhật đồng hồ Hr riêng của mình bằng giải thuật sau: Nếu H r , , thì H r :=E+1 Chấm dứt nếu Nguyễn Văn Đinh –Khóa 24 Trang 6 Tiểu Luận Môn LậpTrình Mạng Sự kiện “nhận thông điệp” lúc này được ghi nhận bằng giá trị của H r . Thuật toán này đảm bảo rằng thời gian nhận thông điệp là sau thời gian phát nó đi. Với thời gian này cho phép xác định một quan hệ trật tự toàn bộ mà ta đã ký hiệu → và cho phép kiểm tra được các điều kiện trong C 1 và C 2 của trật tự từng phần. Một sự kiện a sinh ra trong trạm i và được đánh dấu bởi đồng hồ cục bộ gọi là H i (a). Nếu a và b đều là 2 sự kiện trên 2 trạm i và j, ta luôn có quan hệ xác định như sau: a→b <=> H i (a) < H i (b) Đó là trật tự không chặt chẽ do vì hai sự kiện trên 2 trạm khác nhau có thể đến cùng một thời điểm giống nhau. Ta có thể mở rộng quan hệ → thành quan hệ trật tự chặt chẽ => bằng cách kết hợp một số các cố định cho mỗi trạm và bằng cách đánh dấu thời gian cho mỗi sự kiện a của trạm i bằng cặp (H i (a),i). Theo định nghĩa ta có: 1.6. Các thuật toán gắn bó trên cơ sở đóng dấu 1.6.1. Phương pháp đánh nhãn thời gian cơ bản Mục tiêu của phương pháp đánh dấu là các giao tác được sắp xếp theo một thứ tự tổng thể theo thời gian. Trong việc thiết lập thứ tự này, bộ quản lý các giao tác gán cho mỗi giao tác T i một dấu thời gian TS(T i ) duy nhất tại thời điểm nó khởi tạo, một nhãn thời gian có các thuộc tính sau: Nhãn thời gian có các thuộc tính: + TS(T i ): là định danh duy nhất của T i (nghĩa là các giao tác khác nhau có các nhãn thời gian khác nhau). + Với 2 giao tác A, B bất kỳ , nếu A xãy ra trước B thì TS(A)<TS(B). Tại một trạm đơn, quan hệ xảy ra trước ký hiệu  có thể được tổng quát hoá trong môi trường phân tán với các luật như sau Nguyễn Văn Đinh –Khóa 24 Trang 7 a=>b => (H i (a) < H i (b)) hay (H i (a) = H i (b) và i<j) Tiểu Luận Môn LậpTrình Mạng 1. Nếu A và B là 2 giao tác ở cùng 1 trạm và A xãy ra trước B thì AB. 2. Nếu giao tác A có gửi một thông điệp và giao tác B có nhận cùng thông điệp thì AB. 3. Nếu AB và BC thì AC Quan hệ  là quan hệ thứ tự bộ phận, ta gọi 2 giao tác A và B là đồng thời, nếu như không có cả A  B lẫn BA. Với lưu ý, nếu 2 giao tác A và B là đồng thời thì có thể TS(A) < TS(B) hoặc TS(B)<TS(A). Tuy nhiên, sau khi chúng ta đã gán thời gian cho các giao tác thì phải định nghĩa thứ tự tổng thể ngay cả các giao tác đồng thời. Trong 1 hệ thống phân tán, yêu cầu tính duy nhất của nhãn thời gian có thể dễ dàng được thoả mãn bằng cách xác định nhãn thời gian là một bộ 2 thành phần: - Nhãn thời gian cục bộ, định danh của trạm. Định danh của trạm được đưa vào vị trí có trọng số thấp nhất, để tránh khả năng tất cả các nhãn thời gian do cùng một trạm sinh ra đều lớn hơn tất cả các nhãn thời gian do một trạm khác sinh ra. - Yêu cầu thứ 2 của nhãn thời gian thì phức tạp hơn. Tại mỗi trạm ta dùng một bộ đếm để đảm bảo các giao tác cùng một trạm sẽ có thứ tự đúng. Bộ đếm này sẽ tự động tăng giá trị khi có một nhãn thời gian mới được sinh ra. Điều cần lưu ý: là việc đồng bộ hoá giữa các bộ đếm ở các trạm khác nhau sẽ rất khó khăn. Có thể một bộ đếm ở một trạm sẽ được dùng để phát sinh nhãn thời gian nhiều hơn bộ đếm ở trạm khác, do đó sẽ tăng nhanh hơn. Các bộ đếm ở hai trạm có thể gần xấp xỉ nhau, chỉ đơn giản bằng cách bao gồm trong mỗi thông điệp giá trị bộ đếm của trạm đã gởi thông điệp đó. Nếu một trạm nhận được thông điệp với giá trị nhãn thời gian TS lớn hơn giá trị bộ đếm hiện hành của nó thì nó sẽ tăng lên thành TS + 1. Bằng cách này, các bộ đếm của các trạm điều phối sẽ giữ cho đồng bộ hoá một cách xấp xỉ. Nếu 2 trạm không phải là điều phối, việc các bộ đếm của chúng sai biệt nhau không là vấn đề quan trọng. Việc sử dụng bộ đếm là thường dùng hơn đồng bộ hệ thống. Ta đưa ra giải thuật thực hiện thao tác Pre_Write trên cơ sở dấu Nguyễn Văn Đinh –Khóa 24 Trang 8 Tiểu Luận Môn LậpTrình Mạng * GIẢI THUẬT PRE_WRITE (1.1) Begin T i cố gắng pre_write lên khoản mục dữ liệu x If x đã được đọc và ghi bởi giao tác mới hơn có nghĩa là (TS(T i ) <TS(read(x))) or (TS(T i ) <TS(write(x))) Then bỏ qua T i và khởi động lại T i Else Chấp nhận pre_write vào bộ đệm cùng với TS(T i ) Endif end Giải thuật này, có thể có một số pre_write chưa được giải quyết xong trong bộ đệm đối với một khoản mục dữ liệu nào đó và tính khả tuần tự yêu cầu các thao tác ghi tương ứng được tổ chức theo thứ tự nhãn thời gian. Vì vậy, khi một thao tác T i cố gắng thực hiện thao tác ghi lên khoản mục dữ liệu x tại thời điểm chuyển giao. Nó phải kiểm tra đầu tiên là không có thao tác ghi khác lên khoản mục dữ liệu bởi các giao tác cũ hơn T j chưa được giải quyết trong bộ đệm, nếu có giao tác T j nào đó được tìm thấy thì T i phải đợi cho đến khi T j chuyển giao hay được khởi động lại. giải thuật thao tác ghi trên cơ sở dấu được biểu diển ở giải thuật sau: Nguyễn Văn Đinh –Khóa 24 Trang 9 Tiểu Luận Môn LậpTrình Mạng * GIẢI THUẬT WRITE (1.2) Begin Ti cố gắng cập nhật (ghi) lên khoản mục dữ liệu x If có một cập nhật chưa được giải quyết trên x bởi giao tác cũ hơn T i có nghĩa là TS(T j )<TS(T i ) Then T i đợi cho đến khi T j chuyển giao hay khởi động lại Else Ti chuyển giao cập nhật và thiết lập TS(write(x))=TS(T i ) Endif end Tương tự, một thao tác đọc bởi giao tác T i trên khoản mục dữ liệu x, hệ thống không chỉ kiểm tra là dữ liệu không có sự cập nhật bởi thao tác mới hơn, mà còn là không có thao tác ghi chưa giải quyết trong bộ đệm đối với dữ liệu bởi các giao tác cũ hơn T i . Nếu thao tác đọc bởi T i được thừa nhận, thì TS(read(x)) sẽ được cập nhật thành TS(T i ) và thao tác ghi của T j sẽ không có giá trị khi khoản mục dữ liệu x được đọc bởi giao tác mới T i . Do đó, như trường hợp thao tác ghi, T i phải chờ cho đến khi T j chuyển giao hay được khởi động lại. Điều này tương đương với việc ứng dụng khoá tranh chấp trên các khoản mục dữ liệu giữa các thao tác pre_write và write. giải thuật cho thao tác đọc được nêu ra như sau: * GIẢI THUẬT READ (1.3) Begin T i cố gắng thực hiện đọc trên khoản mục dữ liệu x If <x đã được cập nhật bởi một giao tác mới hơn có nghĩa là TS(T i )<TS(write(x))> Then bỏ qua thao tác đọc hay khởi động lại T i Else If có một cập nhật chưa được giải quyết trên x bởi 1 giao tác cũ hơn T i có nghĩa là TS(T j )<TS(T i ) Then T i đợi cho đến khi T j chuyển giao hay khởi động lại Nguyễn Văn Đinh –Khóa 24 Trang 10 [...]... –Khóa 24 Trang 13 Tiểu Luận Môn LậpTrình Mạng CHƯƠNG 2: XÂY DỰNG CHƯƠNG TRÌNH ĐA SERVER CÀI ĐẶT THUẬT TOÁN SẮP XẾP KIỂU ĐÓNG DẤU 2.1 MiddleServer: Là Server đảm nhập nhiệm vụ gửi thông điệp và dấu của thông điệp đó đến các server trung gian Sơ đồ khối Bắt đầu Có server khởi động True Thông báo False 2.1 Server: Nếu một Server gửi thông tin thì đi kèm theo thông tin đó là một dấu Ở đây dấu là con số nguyên... dịch vụ //… //Cắt đứt các kết nối client.close(); server.close(); catch (Exception e){ System.out.println(e); } Nguyễn Văn Đinh –Khóa 24 Trang 28 Tiểu Luận Môn LậpTrình Mạng CHƯƠNG 3: VIẾT CHƯƠNG TRÌNH CÀI ĐẶT THUẬT TOÁN ĐÓNG DẤU 3.1 Chương trình nguồn Chương trình: MiddleServer import java.rmi.*; import java.rmi.registry.*; import java.rmi.server.*; import java.util.*; public class MessageServerImpl... nguyên được đánh theo thứ tự 1, 2, 3,…n và dấu này sẽ được gửi đến tất cả các server trên hệ thống mạng để đảm bảo tính gắn bó giữa các server Nguyễn Văn Đinh –Khóa 24 Trang 14 Tiểu Luận Môn LậpTrình Mạng Sơ đồ khối Khởi động Nhận dấu Gửi thông điệp False True Gửi dấu Server khác 2.3 RMI (Remote Method Invoke) và 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... tiếp trung gian do trình biên dịch rmic tạo ra CalculatorServer.class Nguyễn Văn Đinh –Khóa 24 Máy khách và máy Chương trình dùng chạy trên chủ Trang 24 Tiểu Luận Môn LậpTrình Mạng máy chủ dùng tạo ra đối tượng và đăng ký đối tượng với Máy chủ CalculatorClient.class rmiregistry Chương trình chạy trên máy khách gọi các phương thức của Máy khách đối tượng trên máy chủ 2.3.4 Giao tiếp theo mô hình Client/... 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ị ngắt ngang do mạng gặp sự cố Nguyễn Văn Đinh –Khóa 24 Trang 16 Tiểu Luận Môn LậpTrình Mạng Đố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 đặt vào ngăn xếp (stack) trong khi tham số truyền cho phương thức của các đố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ự 2.3.2... bước cài đặt và thiết kế đối tượng RMI có thể được tóm tắt như sau: 7 Đặc tả lớp giao tiếp của đối tượng (Calculator.java) 8 Dựa vào lớp đặc tả cài đặt chi tiết đối tượng (CalculatorImpl.java) 9 Biên dịch đối tượng (CalculatorImpl.class) Dựa vào đối tượng vừa cài đặt dùng trình rmi.exe (chương trình này nằm trong thư mục \jdk.3\bin) tạo ra hai lớp trung gian Calculator_Stub và Calculator_Skel 10 Viết chương. .. s=InetAddress.getLocalHost().getHostAddress(); }catch(Exception e){} return s; } } 3.2 Chương trình Demo Giao diện của 3 Server Nguyễn Văn Đinh –Khóa 24 Trang 35 Tiểu Luận Môn LậpTrình Mạng Tại bất kỳ Server nào chúng ta cũng có thể gởi thông điệp đến các Server còn lại Ví dụ: Tại Server 1 có nhu cầu gửi thông điệp đến các Server còn, mỗi một thông điệp gởi đi được kèm theo dấu và dấu được cập nhập cho Server 2 và Server 3 Nguyễn Văn... trả lời hoặc thông báo các lỗi ngoại lệ  Gửi trả lời gói các dữ liệu kết quả cho Stub ở trên máy khách Nguyễn Văn Đinh –Khóa 24 Trang 18 Tiểu Luận Môn LậpTrình Mạng 2.3.3 Cài đặt ứng dụng phân tán RMI Sau đây là một ví dụ về cách làm việc của các đối tượng RMI Chương trình là một hệ đối tượng phân tán Đối tượng Calculator chạy trên máy tính Computer 2 sẽ được gọi Computer 1 CalculatorClient Calculator_Skel... gọi phương thức của đối tượng 1 Đối tượng cài đặt các phương thức và gọi hàm Naming.bind() để đăng ký với bộ quản lý rmiregistry trên máy chủ 2 Đối tượng trên máy khách muốn gọi phương thức của đối tượng trên máy chủ trước hết cần gọi hàm Naming.lookup() để truy tìm tham chiếu đến đối tượng ở xa theo tên Nguyễn Văn Đinh –Khóa 24 Trang 22 Tiểu Luận Môn LậpTrình Mạng 3 Bộ đăng ký rmiregistry sẽ trả về... C1_Stub C1_Stub chịu trách nhiệm đóng gói tham số, chuyển tham số qua 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 Nguyễn Văn Đinh –Khóa 24 Trang 17 Tiểu Luận Môn LậpTrình Mạ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 . Trang 13 Tiểu Luận Môn LậpTrình Mạng CHƯƠNG 2: XÂY DỰNG CHƯƠNG TRÌNH ĐA SERVER CÀI ĐẶT THUẬT TOÁN SẮP XẾP KIỂU ĐÓNG DẤU 2.1. MiddleServer: Là Server đảm nhập nhiệm vụ gửi thông điệp và dấu của. đa server. - Xây dựng chương trình Monitoring quan sát trường dấu trong hàng đợi các thông điệp tại server nhận. - Viết chương trình cài đặt thuật toán sắp xếp kiểu đóng dấu. Xin chân thành cám. mạng, với đề tài: Viết chương trình cài đặt thuật toán sẵp xếp theo kiểu đóng dấu nội dung tiểu luận bao gồm: - Nghiên cứu bản chất của phương pháp đóng dấu vào thông điệp trước khi gởi đi cho

Ngày đăng: 31/01/2015, 22:54

Từ khóa liên quan

Mục lục

  • LỜI NÓI ĐẦU

  • CHƯƠNG 1:

  • BẢN CHẤT CỦA PHƯƠNG PHÁP SẮP XẾP KIỂU ĐÓNG DẤU VÀO THÔNG ĐIỆP TRƯỚC KHI GỞI ĐI CHO CÁC SERVER QUA HỆ THỐNG ĐƯỜNG TRUYỀN.

    • 1.1.Các vấn đề cơ bản của hệ tin học phân tán.

      • 1.1.1.Định nghĩa.

      • 1.1.2. Cung cấp phân tán.

      • 1.1.3. Các yêu cầu cơ bản cần nghiên cứu giải quyết của hệ phân tán.

      • 1.2. Khái quát vấn đề về đóng dấu

      • 1.3. Sự gắn bó thông tin

      • 1.4. Gắn bó trên cơ sở dấu

        • 1.4.1. Nguyên lý

        • 1.4.2. Triển khai hệ ổn định

        • 1.4.3. Các hành vi bên ngoài của chế độ bình thường

        • 1.5. Thuật toán sắp xếp trên cơ sở dấu

        • 1.6. Các thuật toán gắn bó trên cơ sở đóng dấu

          • 1.6.1. Phương pháp đánh nhãn thời gian cơ bản

            • Begin

              • Endif

              • Begin

              • 1.6.2 Phương pháp đánh nhãn thời gian bảo toàn

              • CHƯƠNG 2:

              • XÂY DỰNG CHƯƠNG TRÌNH ĐA SERVER CÀI ĐẶT THUẬT TOÁN SẮP XẾP KIỂU ĐÓNG DẤU

                • 2.1. MiddleServer:

                • 2.1. Server:

                • 2.3. RMI (Remote Method Invoke) và lập trình phân tán đối tượng

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

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

  • Đang cập nhật ...

Tài liệu liên quan