2Các Dòng Dữ liệu a

Một phần của tài liệu Tìm hiểu cơ chế RMI của Java và xây dựng một môi trường hỗ trợ tính toán song song và phân bố (Trang 64 - 65)

phương án đều có tính tương đối. Tùy vào tính chất từng hệ thống sẽ có những phương án thích hợp để giải quyết vấn đề này.

Ở đây chúng ta chỉ nêu ra vấn đề cần phải giải quyết sau khi Start lại RMIRegistry : • Đăng ký với RMIRegistry lại các tên của các Service đang tồn tại.

Cũng nói thêm rằng nếu một hệ thống được xây dựng có tính ổn định khá cao thì việc các phần tử trong hệ thống bị fail không phải xảy ra thường xuyên. Việc đưa ra những phương án đẻ giải quyết không phải lúc nào cũng thành công. Mục đích quan trọng là làm cho hệ thống có khả năng chịu lỗi cao nhất có thể.

- XXIIVấn đề Data trong chương trình

Khi xây dựng một hệ thống,việc tổ chức dữ liệu hợp lý, hay các dòng di chuyển dữ liệu như thế nào cũng là những vấn đề quan trọng .

- 1Sự không đồng nhất trong biểu diễn Data

Khi xây dựng chương trình sử dụng trên nhiều máy, dữ liệu được truyền từ máy này đến máy khác mà các máy này có kiến trúc khác nhau, ví dụ máy họ Intel thì tổ chức số nguyên 2 byte theo hình thức Byte Low ở địa chỉ thấp và Byte High ở địa chỉ cao, gọi là Litle Endian.Trong khi đó máy Sun thì ngược lại, theo kiểu Big Endian thì vấn đề đặt ra là làm sao việc gửi và nhận dữ liệu phù hợp nhau .Tuy nhiên, hệ thống này sử dụng cơ chế RMI trong Java, các dữ liệu đều được chuẩn theo Network byte order nên người phát triển chương trình không cần quan tâm đến vấn đề này.

- 2Các Dòng Dữ liệu . a . a

Dòng di chuyển trong hệ thống

Dòng dữ liệu trong hệ thống là dòng di chuyển của dữ liệu mang các dữ liệu liên lạc giữa các phần tử bên trong hệ thống nhằm duy trì hoạt động cho hệ thống một các đúng đắn. Với dòng dữ liệu này thì dữ liệu được di chuyển đa số là dữ liệu điều khiển từ Agent đến Server và từ Server trả lại kết quả cho Agent.

Đặc điểm của dòng dữ liệu này là :

• Dữ liệu được di chuyển, hầu hết đều là các Object, là các tham số cho các lời gọi hàm từ xa hoặc là các kết quả trả về và là các lời yêu cầu thực thi hàm.

• Dữ liệu này được đóng gói bởi Stub và Skeleton theo những chuẩn của RMI trong Java.

• Dữ liệu được truyền bằng Protocol TCP/IP do chuẩn của RMI trong Java. • Việc truyền dữ liệu là trong suốt đối với người sử dụng.

Tóm lại, với dòng dữ liệu này hầu hết công việc cần làm là thiết kế nội dung các gói dữ liệu sao cho không những chúng đầy đủ thông tin mà cấu trúc dữ liệu phải hợp lý để có thể tăng hiệu quả của việc truyền dữ liệu và phục vụ tốt nhất cho các giao thức giao tiếp giữa các Object trong hệ thống.

. b

Dữ liệu ra vào hệ thống

Dữ liệu ra vào hệ thống đối với luận văn này là dữ liệu từ phía Client hoặc chương trình Admin đưa vào hệ thống. Dòng dữ liệu này chứa nội dung chính yếu là các tham số cho lời gọi hàm và dữ liệu mà Client cần truyền cho Service để Service có thể xử lý.

Với dòng dữ liệu này các vấn đề cần quan tâm là : • Bố trí dòng di chuyển dữ liệu cho hợp lý

• Mã hóa sao cho dữ liệu truyền đi phải được bảo mật khi cần thiết. Bố trí dòng di chuyển của dữ liệu

Với dòng di chuyển này có hai cách bố trí như sau : ♦Dữ liệu có qua Agent

Với dòng dữ liệu loại này thì bất kỳ dữ liệu nào muốn đến được Service đều phải đi qua Agent. Với cách hoạt động như vậy thì Agent có thể kiểm soát được toàn bộ hoạt động trong hệ thống và dữ liệu trao đổi qua lại giữa Service và Client được kiểm soát một cách chặt chẽ hơn. Điều này làm Agent có thể bảo vệ hệ thống một cách tốt hơn. Tuy nhiên, với cách hoạt động như vậy cũng làm cho Agent phải đảm nhận công việc nhiều hơn, điều đó có nghĩa là tình trạng thắt nút cổ chai sẽ dễ dàng xảy ra cho Agent hơn do lượng công việc cho mỗi yêu cầu tăng lên cao. Hơn thế nữa, do dữ liệu được truyền đi phải thông qua Agent do đó thời gian để truyền dữ liệu đi cần nhiều hơn, điều này làm hiệu quả của hệ thống giảm đi do thời gian Overhead cho việc truyền nhận dữ liệu bị tăng cao.

♦Dữ liệu không qua Agent

Với dòng dữ liệu loại này thì khi Client cần truyền dữ liệu có khối lượng lớn thì dữ liệu sẽ được chuyển trực tiếp từ Client sang những Service nào liên quan. Điều này tiết kiệm thời gian Overhead cho hệ thống, nghĩa là hoạt động của hệ thống sẽ hiệu quả hơn. Đây là một ưu điểm của cách truyền dữ liệu như vậy. Tuy nhiên, việc truyền như vậy sẽ làm chương trình Client sẽ phức tạp hơn do nó phải đảm nhiệm thêm phần mở cầu nối và truyền dữ liệu đi.

Để lựa chọn phương pháp để truyền dữ liệu dùng trong một hệ thống, cần phải xem xét lại đặc tính của từng hệ thống và từng loại dịch vụ trên đó mà có phương pháp truyền dữ liệu thích hợp. Với hệ thống trên, việc truyền dữ liệu được thực hiện thông qua Agent.

Một phần của tài liệu Tìm hiểu cơ chế RMI của Java và xây dựng một môi trường hỗ trợ tính toán song song và phân bố (Trang 64 - 65)

Tải bản đầy đủ (DOC)

(124 trang)
w