Như vậy, ngoài vấn đề về ngôn ng và hệ thống, có một số sự khác biệt căn bản gi a RPC và RMI. Gọi phương th c từ a làm việc với các đối tượng, cho phép các phương th c chấp nhận và trả về các đối tượng Java cũng như các kiểu d liệu nguyên tố (premitive type). Ngược lại gọi thủ t c từ a không h trợ khái
niệm đối tượng. Các thông điệp g i cho một dịch v RPC (Remote Procedure Calling) được biểu diễn bởi ngôn ng XDR (External Data Representation): dạng th c biểu diễn d liệu ngoài. Chỉ có các kiểu d liệu có thể được định nghĩa bởi XDR mới có thể truyền đi.
Chương 3 ỨNG DỤNG HỆ PHÂN TÁN
Chương 3 nêu ra một số bài toán mà hệ phân tán được áp ng và đi vào phân tích c thể một bài toán với cấu trúc của hệ thống và cách th c hoạt động của hệ phân tán.
3.1 Một số bài toán ứng dụng hệ phân tán
Một số bài toán mà hệ phân tán được áp ng:
Dịch v g i rút tiền tại các ngân hàng: g i tiền nhiều nơi và rút nhiều nơi. Hệ phân tán đ được ng d ng trong dịch v ngân hàng. Việc khách hàng có thể thực hiện các giao ịch tại nhiều nơi trên Việt Nam hoặc thậm trí trên thế giới. Khách hàng g i tiền tại một chi nhánh A của một ngân hàng
thì có thể rút tại bất k chi nhánh B,C… của ngân hàng đó ch không nhất thiết phải tới đúng chi nhánh A để rút số tiền cần thiết khi mà khách hàng đi công tác hoặc du lịch.
Hệ thống ATM: một ng d ng khác của hệ phân tán cho ngân hàng đó là khách hàng có thể tới các máy ATM được phân phối ở nhiều nơi để rút tiền mặt.
Quản l công ân ra vào c a khẩu: ví như một người khách nước ngoài tới Việt Nam thì nhân viên hải quan sẽ biết người đó đ tới Việt Nam bao nhiêu lần và m i lần đó tới Việt Nam để làm gì. Có thể các lần trước thì người đó tới Việt Nam qua một của khẩu khác nhưng hệ thống vẫn biết là họ đ tới Việt Nam.
3.2 Hệ thống gửi – rút tiền tại các ngân hàng
Bài toán đ được nêu ở phần một. Dịch v g i rút tiền tại các ngân hàng như g i tiền nhiều nơi và rút nhiều nơi. Hệ phân tán đ được ng ng cho ịch v này. Việc khách hàng có thể thực hiện các giao ịch tại nhiều nơi trên Việt Nam hoặc thậm trí trên thế giới. Khách hàng g i tiền tại một chi nhánh A của một ngân hàng thì có thể rút tại bất k chi nhánh B,C… của ngân hàng đó ch không nhất thiết phải tới đúng chi nhánh A để rút số tiền cần thiết khi mà khách hàng đi công tác hoặc u lịch.
3.2.1 Kiến trúc hệ thống
Giả s hệ thống ngân hàng A có 6 chi nhánh được phân phối đều trên 3 miền đất nước. ng với m i chi nhánh ta có 1 máy con. M i miền đồng thời có một máy chủ để lưu tr liệu hệ thống của m i miền. Các máy con ở m i miền có kết nối với máy chủ ở miền đó. Hai máy con ở miền bắc chỉ có thể kết nối với máy chủ miền bắc. Các máy chủ có kết nối với nhau.
Kết nối gi a máy chủ và máy con, máy chủ với nhau thì ta có hai phương pháp bố trí kiến trúc:
Cách 1(hình 3.1 a): các kết nối: máy con – máy chủ, máy chủ - máy chủ đều thông qua mạng nội bộ của ngân hàng A.
Cách 2(hình 3.1 b): các kết nối đều qua Internet.
Hình 3.1 (a): kiến trúc hệ thống ngân hàng kết nối qua mạng nội bộ
3.2.2 Cơ chế hoạt động của hệ thống
Khi có khách hàng tới g i tiền, hệ thống sẽ hoạt động như sau: 1. Nhận yêu cầu g i tiền vào tài khoản X nào đó.
2. Tìm kiếm d liệu tài khoản có được lưu tại máy chủ kết nối với chi nhánh đó không.
3. Nếu có lưu thì cập nhật thông tin về số ư tài khoản của khách hàng và thông báo nếu đ cập nhật thành công.
4. Nếu d liệu trên máy chủ đó không có thì yêu cầu đó sẽ được g i tới hai máy chủ còn lại. Tìm được máy chủ chưa thông tin tài khoản đó thì việc cập nhật sẽ được thực hiện. Thông báo trả lại cho máy chủ ban đầu và máy chủ này sẽ chuyển tiếp thông báo cho máy con tại chi nhánh mà đ g i yêu cầu chuyển tiền lúc đầu.
Tương tự như vậy cho giao ịch khách hàng lúc rút tiền. Việc g i và rút tiền chỉ khác nhau là một giao ịch là thêm tiền vào tài khoản khách hàng còn rút tiền là trừ bớt.
Một ví c thể, một người đến g i tiền tại chi nhánh ở miền bắc và thông tin tài khoản của họ được lưu tại máy chủ miền bắc thì hệ thống sẽ hoạt động như hình 3.2.
Hình 3.2: khách hàng gửi tiền tại miền bắc và tài khoản của khách hàng đó cũng được lưu tại máy chủ miền bắc
Với trường hợp khách hàng g i tiền tại miền bắc nhưng thông tin tài khoản lại lưu tại máy chủ miền nam thì hệ thống sẽ hoạt động như hình 3.3
Hình 3.3: khách hàng gửi tiền tại miền bắc nhưng thông tin tài khoản lại lưu tại máy chủ miền nam
Tóm lại, hệ phân tán có nhiều ng ng trên thực tế. Nó giải quyết một số vấn đề về tính kinh tế, tốc độ hệ thống. Chương này đ nêu c thể kiến trúc của một hệ phân tán trong ngân hàng và cơ chế hoạt động của hệ thống đó.
KẾT LUẬN
Vai trò của hệ phân tán đối với sự phát triển của máy tính là không thể bàn c i, đặc biệt khi quy mô các hệ thống máy tính ngày càng lớn như hiện nay. Các đặc tính của hệ phân tán giúp nó có điều kiện thuận lợi cho việc phát triển.
Tuy nhiên bên cạnh các đặc tính thuận lợi của hệ phân tán, tồn tại rất nhiều vấn đề trong việc ây ựng hệ thống để đảm bảo cá tính chất tốt đó của hệ. Do đó việc nghiên c u hệ phân tán ngày càng đóng vai trò quan trọng trong việc ây ựng các mạng máy tính.
Trong số các đặc tính của hệ phân tán, tính trong suốt là đặc tính quan trọng, tạo điều kiện để khai thác hiệu quả hệ phân tán đồng thời đảm bảo tính tiện d ng cho người ùng. Việc nghiên c u tính trong suốt tạo điều kiện để phát triển và nâng cao hiệu năng của hệ thống, đồng thời vẫn đảm bảo hệ phân tán là hệ thống ph c v người ùng.
TÀI LIỆU THAM KHẢO
[1]. Colin J. Fidge (February 1988). "Timestamps in Message-Passing Systems That Preserve the Partial Ordering". In K. Raymond (Ed.). Proc. of the 11th Australian Computer Science Conference (ACSC'88). pp. 56–66. Retrieved 2009- 02-13.
[2].Mattern, F. (October 1988), "Virtual Time and Global States of Distributed Systems", in Cosnard, M., Proc. Workshop on Parallel and Distributed Algorithms, Chateau de Bonas, France: Elsevier, pp. 215–226.
[3].lmeida, Paulo; Baquero, Carlos; Fonte, Victor (2008), "Interval Tree Clocks: A Logical Clock for Dynamic Systems", in Baker, Theodore P.; Bui, Alain; Tixeuil, Sébastien, Principles of Distribute Systems, Lecture Notes in Computer Science, 5401, Springer-Verlag, Lecture Notes in Computer Science, pp. 259–274
[4]. Torres-Rojas, Francisco; Ahamad, Mustaque (1999), "Plausible clocks: constant size logical clocks for distributed systems", Distributed Computing (Springer Verlag) 12 (4): 179–195.
[5]. S. Mullender ed., "Distributed Systems", 2nd ed., Addison-Wesley, 1993 [6]. Jie Wu, "Distributed Systems Design", Addison-Wesley, 2008
[7]. G. Coulouris, J. Dollimore, T. Kinberg, "Distributed systems : Conceptand Design“, Australia. IASTED, ACTA Press.