1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tiểu luận môn điện toán lưới và đám mây CÁC VẤN ĐỀ TRONG ĐIỆN TOÁN PHÂN TÁN

18 784 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 18
Dung lượng 723,29 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Xây dựng một hệ thống phân tán có khả năng xử lí đồng thời một bài toán trên nhiều máy tính là một hướng giải quyết khả thi và đã được chứng minh tính hữu dụng.. Đinh nghĩa điện toán phâ

Trang 1

LỜI NÓI ĐẦU

Ngày nay, lĩnh vực công nghệ thông tin và viễn thông ngày càng phát triển, đòi hỏi nhu cầu

về xử lí thông tin ngày càng cao, nhanh hơn nhiều lần tốc độ phát triển của tài nguyên phần cứng

và phần mềm Có nhiều vấn đề đặt ra mà các hệ thống tập trung thông thường không đáp ứng được, do tốc độ xử lí còn hạn chế Xây dựng một hệ thống phân tán có khả năng xử lí đồng thời một bài toán trên nhiều máy tính là một hướng giải quyết khả thi và đã được chứng minh tính hữu dụng Hệ thống phân tán còn tạo nhiều thuận lợi trong việc chia sẻ thông tin trên toàn thế giới Trong bài luận này sẽ trình bày về mơ hình điện toán phân tán Ngoài ra bài tiểu luận cũng sẽ trình bày về công nghệ WCF đươc sử dụng trong lập trình phân tán và ứng dụng vào bài toán thực tiễn Internet Banking của ngân hàng

Trang 2

MỤC LỤC

LỜI NÓI ĐẦU

I KHÁI NIỆM ĐIỆN TOÁN PHÂN TÁN 1

1 Theo dòng lịch sử 1

2 Đinh nghĩa điện toán phân tán: 1

II CÁC VẤN ĐỀ TRONG ĐIỆN TOÁN PHÂN TÁN 2

1 Mục tiêu của hệ phân tán 2

2 Phân loại 3

3 Các mô hình điện toán phân tán 3

III CÔNG NGHỆ LẬP TRÌNH PHÂN TÁN WCF 7

1 Khái niệm 7

2 Kiến trúc của WCF 8

3 Các tính năng của WCF 9

IV) Áp dụng công nghệ phân tán WCF vào phần mềm Internet Banking 10

1 Mục tiêu ứng dụng 10

2 Ứng dụng WCF 10

3 Giao diện, chức năng phần mềm 11

4 Kết quả đạt được 15

V) Xu hướng hiện nay 15

KẾT LUẬN 16

TÀI LIỆU THAM KHẢO 16

Trang 3

I KHÁI NIỆM ĐIỆN TOÁN PHÂN TÁN

1 Theo dòng lịch sử

Các hệ thống máy tính lớn của những năm 1960 và thập niên 1970, như hệ thống IBM System/360, hiếm khi liên lạc với nhau Một trong những chức năng chính của một máy tính lớn là nó sẽ cung cấp cho bạn tất cả mọi thứ cần thiết để thực hiện các khả năng tính toán cho một doanh nghiệp Khi thông tin liên lạc được yêu cầu, dữ liệu được chuyển từ tape này sang một hệ thống khác Theo thời gian, yêu cầu truy cập thời gian thực giữa các hệ thống trở nên cần thiết, đặc biệt là khi số lượng các hệ thống trong một tổ chức ngày càng lớn Yêu cầu thời gian thực này đặc biệt rõ ràng hơn trong các thị trường tài chính, ngân hàng, chứng khoán

Ban đầu, việc truy cập thời gian thực đã được thực hiện thông qua lập trình socket thường được viết bằng ngôn ngữ assembly hoặc C, lập trình socket là phức tạp và đòi hỏi một sự hiểu biết sâu sắc về các giao thức mạng cơ bản Theo thời gian, các giao thức như Network File System (NFS) và File

Transfer Protocol (FTP) càng đem đến sự phức tạp cho lập trình socket Các công ty như Tibco đã phát triển phần mềm trung gian "middleware " được thiết kế để tạo điều kiện truyền tin và giao tiếp giữa các máy chủ Cuối cùng, khả năng tạo ra ứng dụng phân tán trở nên khả thi thông qua sự phát triển của triệu gọi phương thức đối tượng từ xa (RPC)

2 Đinh nghĩa điện toán phân tán:

2.1) Tính toán phân tán

Là một khuôn mẫu lập trình chú trọng vào việc thiết kế các hệ thống phân tán có các tính chất: chịu lỗi, xuyên dụng, mở rộng được, mở Khuôn mẫu này là kết quả tự nhiên của việc dùng máy tính để lập nên các mạng máy tính

Distributed computing : Bao gồm nhiều thành phần phần mềm được chạy trênnhiều máy

tính,nhưng như chạy mộthệ thống duy nhất Các máy tính đang ở trong một hệ thống phân phối

có thể được thể chất gần nhau và nối với nhau bằng một mạng nội bộ, hoặc chúng có thể cách xa

về mặt địa lý và được nối với nhau bằng một mạng diện rộng

Một hệ thống phân phối có thể bao gồmbất kỳ số lượng cấu hình nào chẳng hạn như máy tính lớn, máy tính cá nhân, máy trạm, máy tính mini….Mục đích của tính toán phân tán là làm như như trong một máy tính duy nhất

Tính toán phân tán là tính toán song song được phân quyền, sử dụng hai hay nhiều máy tính liên lạc với nhau qua một mạng để hoàn tất một nhiệm vụ hoặc mục tiêu chung Các loại phần cứng, ngôn ngữ lập trình, hệ điều hành và các tài nguyên khác được sử dụng có thể rất đa dạng

2.2) Định nghĩa về hệ phân tán

Trang 4

II CÁC VẤN ĐỀ TRONG ĐIỆN TOÁN PHÂN TÁN

1 Mục tiêu của hệ phân tán.

1.1) Kết nối người sử dụng và tài nguyên

Giải quyết bài toán chia sẻ tài nguyên trong hệ thống (resource sharing)

1.2) Tính trong suốt

Ẩn giấu sự rời rạc và những nhược điểm nếu có của hệ phân tán đối với người sử dụng (end-user ) và những nhà lập trình ứng dụng (application programmer)

Theo tiêu chuẩn ISO cho hệ phân tán ISO / IS / 10746 tên là "Open distributed processing reference model" 1995 đã cụ thể hóa tám dạng trong suốt:

Trong suốt truy cập (Access transparency): che giấu sự khác biệt về cách biểu diễn và cách truy cập tài nguyên

Trong suốt về vị trí (Location transparency): che giấu vị trí của tài nguyên Hai dạng trong suốt vừa trình bày được gọi chung là trong suốt mạng (network transparency)

Trong suốt di trú (Migration transparency): che giấu khả năng chuyển vị trí của tài nguyên Trong suốt về việc định vị lại (Relocation transparency): che giấu việc di chuyển của tài nguyên khi đang được sử dụng

Trong suốt nhân bản (Replication transparency): che giấu tình trạng tình trạng sử dụng bản sao của tài nguyên

Che giấu sự che sẻ tài nguyên tương tranh (Concurency transparency)

Trong suốt sự cố (Failure transparency): che giấu lỗi hệ thống nếu có

Trong suốt khả năng di chuyển tài nguyên (Persistence transparency): che giấu việc di chuyển tài nguyên từ bộ nhớ ngoài vào bộ nhớ trong và ngược lại

1.3) Tính mở (Openness)

Hệ phân tán được gọi là mở nếu nó cung cấp các dịch vụ theo các quy tắc chuẩn mô tả cú pháp và ngữ nghĩa của dịch vụ đó

Thông thường trong hệ phân tán các dịch vụ thường đặc tả qua các giao diện bằng ngôn ngữ đặc tả giao diện (Interface Definition Language- IDL) Vì thế chỉ quan tâm đến cú pháp Nó cho phép các dịch vụ khác nhau cùng chung sống Nếu các giao diện của hệ phân tán được đặc

tả đầy đủ và đúng đắn

Xét hai khái niệm của hệ phân tán là khái niệm liên tác (Interroperability) và khái niệm chuyển mang (portability)

Liên tác: các cài đặt của các hệ thống hoặc thành phần hệ thống từ các nhà sản xuất khác nhau

Trang 5

có thể làm việc với nhau thông qua liên tác

Chuyển mang: nhờ chuyển mang mà một ứng dụng được phát triển cho hệ phân tán A có thể thực hiện không cần thay đổi gì trên một hệ phân tán B khác, với điều kiện được cài đặ cùng giao diện như A

1.4) Tính co giãn (Scalability)

Một hệ phân tán được gọi là có tính co giãn nếu nó thích nghi với sự thay đổi quy mô của hệ thống Thể hiện trên các khía cạnh sau:

- Dễ bổ sung người sử dụng và tài nguyên hệ thống

- Khi hệ thống thay đổi quy mô về mặt địa lý dẫn đến sự thay đổi về vị trí địa lý của người sử dụng và các tài nguyên

- Hệ thống có thay đổi quy mô về quản trị

Nếu hệ phân tán có tính co giãn thường ảnh hưởng đến hiệu năng của hệ thống (hiệu năng của

hệ thống là hiệu quả năng lực hoạt động của đối tượng)

Có ba giải pháp phổ dụng để giải quyết vấn đề co giãn của hệ phân tán:

- Ẩn giấu

- Phân tán: phân nhỏ thành phần hệ thống và phân bố chúng trên phạm vi của hệ thống (quản

lý phân cấp) Ví dụ DNS xác định theo cách phân cấp miền lớn thành các miền con Với phương pháp này sẽ giải quyết được vẫn đề khi thêm người dùng hay tài nguyên vào hệ thống

- Nhân bản: nhân bản một thành phần nào đó của hệ thống Ví dụ tài nguyên dữ liệu đặt tại các

vị trí khác nhau trong hệ thống

2 Phân loại

Trước đây, hệ phân tán được chia thành ba loại : hệ điều hành hệ phân tán, cơ sở dữ liệu hệ phân tán và các hệ thống tính toán hệ phân tán

Ngày nay, hệ phân tán được phân chia như sau:

- Hệ phân tán mang tính hệ thống: hệ điều hành phân tán

- Hệ phân tán mang tính ứng dụng: các hệ thống truyền tin phân tán

3 Các mô hình điện toán phân tán

Sự phát triển của Internet và sức mạnh của máy tính , mạng tốc độ cao

cũng như các hàng hóa chi phí thấp đang dần thay đổi cách con người

tính toán Điện toán phân tán đã trở thành một thành phần cần thiết

của kỷ thuật điện toán trong nhiều thập kỷ Điện toán phân tán bao gồm một

tập hợp các quá trình hợp tác xử lý để giải quyết một bài toán Công nghệ thông tin và truyền thông (ICT) đã cách mạng hóa điện toán phân tán vào thực tiễn

Ngày nay, mạng xã hội đại diện cho một bước đệm trong quá trình sử dụng Internet để các cá nhân có thể liên kết với nhau về thông tin và văn hóa Hầu hết các trang web xã hội được thực hiện trên các hệ thống tính toán phân tán khổng lồ được vận hành và quản lý tập trung trong các trung tâm dữ liệu (data center) Tuy nhiên , xu hướng của một hệ thống có khả năng mở rộng là hướng tới việc sử dụng điện toán peer-to -peer , utility, cluster, and jungle Điện toán tiện ích (utility computing) về cơ bản là điện toán lưới và điện toán đám mây

Trang 6

3.1) Peer to Peer Computing

Mạng ngang hàng (tiếng Anh: peer-to-peer network), còn gọi là mạng đồng đẳng, là một mạng máy tính trong đó hoạt động của mạng chủ yếu dựa vào khả năng tính toán và băng thông của các máy tham gia chứ không tập trung vào một số nhỏ các máy chủ trung tâm như các mạng thông thường Mạng đồng đẳng có nhiều ứng dụng Ứng dụng thường

xuyên gặp nhất là chia sẻ tệp tin, tất cả các dạng như âm thanh, hình ảnh, dữ liệu, hoặc

để truyền dữ liệu thời gian thực như điện thoại VoIP

Một mạng đồng đẳng đúng nghĩa không có khái niệm máy chủ và máy khách, nói cách khác, tất cả các máy tham gia đều bình đẳng và được gọi là peer, là một nút mạng đóng vai trò đồng thời là máy khách và máy chủ đối với các máy khác trong mạng

3.2) Cluster Computing

Một cụm máy tính bao gồm một tập hợp các máy tính độc lập được kết nối với nhau thông qua mạng máy tính, cùng hợp tác với nhau để hoạt động như một máy tính tích hợp duy nhất Các thành phần trong cluster được quản lý trong cùng domain Các thành phần của cluster kết nối với nhau thông qua mạng cục bộ

Trang 7

3.3) Grid Computing

Grid là một loại hệ thống phân tán, bố trí song song, cho phép linh hoạt chia sẻ, tuyển lựa và tập hợp các nguồn tài nguyên độc lập và rải rác về địa lý, tùy theo khả năng sẵn có, công suất, hoạt động, chi phí và yêu cầu về chất lượng dịch vụ của người sử dụng

Điện toán mạng lưới (ĐTML) có nghĩa là tất cả hoặc một phần của một nhóm máy tính, máy chủ

và thiết bị lưu trữ trong mạng doanh nghiệp, được “ảo hóa” (virtualize) thành một cỗ máy tính lớn

Vì ĐTML giải phóng những khả năng tính toán không được sử dụng vào một thời điểm bất kỳ, chúng có thể cho phép các doanh nghiệp tăng cường rất nhiều về tốc độ, sức mạnh xử lý thông tin

và sự liên kết, thúc đẩy các quy trình tính toán mật độ cao Trong khi đó, chi phí vẫn sẽ được giữ ở mức thấp vì ĐTML có thể được xây dựng từ chính hạ tầng hiện có, góp phần đảm bảo sự huy động tối ưu các khả năng tính toán

Điện toán mạng lưới cho phép ảo hóa các chức năng tính toán phân tán cũng như các nguồn xử lý, băng thông mạng và khả năng lưu trữ, để từ đó tạo ra một hệ thống đơn đồng nhất, cho phép người

sử dụng và các ứng dụng truy cập thông suốt vào các tính năng điện toán rộng lớn Giống như người lướt web xem một nội dung thống nhất qua web, người sử dụng ĐTML cũng nhìn thấy một máy tính ảo cực lớn duy nhất

Điện toán lưới (grid computing) sử dụng tập hợp các tài nguyên máy tính có hoạt động giống máy chủ (server), thông qua mạng tốc độ cao để đáp ứng công việc tính toán

Có thể hình dung môi trường tính toán lưới tương tự như mạng lưới điện Các trạm phát điện phân

bổ rải rác, liên kết với nhau qua mạng lưới điện để chia tải và bổ sung nguồn điện cho nhau khi cần thiết Khách hàng sử dụng điện không cần quan tâm đến nguồn gốc trạm phát Việc sử dụng điện có lúc nhiều (giờ cao điểm) lúc ít, có khách hàng dùng nhiều và khách hàng dùng ít, mạng lưới điện sẽ thực hiện việc điều phối thích hợp

Trong tính toán lưới, các máy tính đóng vai trò giống như những trạm phát điện Người dùng có thể truy cập tới máy tính ảo có đủ năng lực xử lý đáp ứng nhu cầu của mình Máy tính ảo này có thể bao gồm nhiều nguồn tài nguyên tính toán không đồng nhất (phần cứng máy tính và hệ điều hành khác nhau), tuy nhiên người dùng không nhận biết các tài nguyên cụ thể này, cũng giống như người dùng điện không nhận biết nguồn điện phát sinh từ đâu

Trang 8

3.4) Cloud Computing

Mô hình Điện toán đám mây là mô hình điện toán với sự cân bằng động và các tài nguyên ảo hóa được cung cấp như dịch vụ trên mạng Internet

Trong Điện toán đám mây, người sử dụng truy cập các dịch vụ tính toán từ nhà cung cấp nào đó

“trong đám mây” mà không cần phải có các kiến thức và kinh nghiệm về công nghệ đó cũng như không quan tâm đến các cơ sở hạ tầng phục vụ công nghệ đó

Cloud Computing ra đời để giải quyết các vấn đề sau:

-Vấn đề về lưu trữ dữ liệu:

Dữ liệu được lưu trữ tập trung ở các kho dữ liệu khổng lồ Các công ty lớn như

Microsoft, Google có hàng chục kho dữ liệu trung tâm nằm rải rác khắp nơi trên thế giới Các công ty lớn này sẽ cung cấp các dịch vụ cho phép doanh nghiệp có thể lưu trữ và quản lý dữ liệu của họ trên các kho lưu trữ trung tâm

-Vấn đề về sức mạnh tính toán:

Có 2 giải pháp chính:

o Sử dụng các siêu máy tính (super-computer) để xử lý tính toán

o Sử dụng các hệ thống tính toán song song, phân tán, tính toán lưới (grid computing)

Vấn đề về cung cấp tài nguyên, phần mềm:

Cung cấp các dịch vụ như IaaS (infrastructure as a service), PaaS (platform as a service), SaaS (software as a service)

3.5) Jungle Computing

Là sự kết hợp tính toán tài nguyên không đồng nhất, phân bậc , và phân tán Trong nhiều lĩnh vực nghiên cứu khoa học, các chuyên gia buộc phải vào sử dụng đồng thời nhiều điện toán cụm, lưới, đám mây, máy tính cá nhân…Vì vậy điện toán rừng được giao cho giải

quyết việc sử dụng hệ thống máy tính đa dạng, phân tán và hiệu suất không đồng đều để

đạt được hiệu suất cao nhất

Trang 9

III CÔNG NGHỆ LẬP TRÌNH PHÂN TÁN WCF

1 Khái niệm

WCF là công nghệ nền tảng nhằm thống nhất nhiều mô hình lập trình giao tiếp được hỗ trợ

trong NET 2.0 thành một mô hình duy nhất Vào tháng 11 năm 2005, NET 2.0 được Microsoft phát hành trong đó có cung cấp các hàm API riêng biệt cho các liên lạc dựa trên SOAP để tối đa hoá sự làm việc giữa các nền tảng sử dụng Web Services, đồng thời NET 2.0 còn cung cấp các API để tối ưu việc liên lạc dựa trên mã nhị phân giữa các ứng dụng chạy trên hệ thống Windows gọi là NET Remoting, các API cho các giao dịch phân tán, và API cho liên lạc dị bộ WCF thống nhất các API này thành một mô hình duy nhất nhằm đáp ứng mô hình lập

trình hướng dịch vụ.WCF có thể sử dụng các bản tin SOAP giữa hai tiến trình, do đó làm cho các ứng dụng dựa trên WCF có thể làm việc với các tiến trình khác thông qua việc giao tiếp sử dụng bản tin SOAP Khi một tiến trình WCF liên lạc với một tiến trình không là WCF, các bản tin SOAP được mã hoá trên cơ sở XML, nhưng khi nó liên lạc với một tiến trình WCF khác, bản tin SOAP có thể được tối

ưu hoá dựa trên mã hoá nhị phân

2 Kiến trúc của WCF

Hình sau mô tả các lớp chủ yếu trong kiến trúc của Windows Communication

Trang 10

2.1) Các contracts

Các contract trong WCF cũng giống như các hợp đồng/hiệp định mà bạn ký trong đời

sống thật Một hợp đồng bạn ký có thể chứa các thông tin như kiểu công việc bạn sẽ làm, và những thông tin mà bạn muốn đưa ra cho các bên khác WCF contract cũng chứa các thông tin tương tự như vậy Contract định nghĩa các đặc tả trong hệ thống bản tin.Thông thường có các loại contract sau:

- Contract dữ liệu mô tả các tham số cho các bản tin mà một dịch vụ có thể

tạo ra hay sử dụng Các tham số bản tin được định nghĩa bằng các tài liệu sử dụng ngôn ngữ đặc tả XML Schema (XSD), điều này cho phép các hệ thống hiểu XML có thể xử lý

tài liệu dễ dàng Các dịch vụ khi liên lạc với nhau có thể không cần đồng ý với nhau về các kiểu, nhưng cần đồng ý về contract dữ liệu, nghĩa là đồng ý về các tham số và các kiểu trả về

- Contract bản tin định nghĩa các phần có trong bản tin sử dụng các giao

thức SOAP, và nó cho phép điều khiển sâu hơn tới các phần trong bản tin khi có yêu cầu sự chính xác như vậy

- Contract dịch vụ đặc tả chi tiết các phương thức của dịch vụ, và được

phân phối như là một giao diện trong các ngôn ngữ lập trình như Visual Basic hay Visual C# Có thể hình dung về contract dịch vụ một cách gián tiếp như sau: „Đây là các kiểu dữ liệu của các bản tin của tôi, đây là nơi tôi cung cấp, và đây là các giao thức mà tôi có thể liên lạc”

- Các chính sách và các kết nối (bindings) mô tả các điều kiện cần có để

giao tiếp với một dịch vụ Các chính sách sẽ bao gồm cả các yêu cầu về bảo mật và các

điều kiện khác cần phải có khi kết nối với một dịch vụ

2.2) Runtime service

Lớp dịch vụ thực thi chứa các hành xử sẽ xảy ra trong quá trình thực hiện của dịch vụ,

nghĩa là các hành xử thực thi của dịch vụ Ta sẽ thấy một số các hành xử như sau:

- Throttling behavior: Điều khiển luồng nhằm quy định xem có bao nhiêu

bản tin được xử lý

- Error behavior: Hành xử lỗi quy định những hành động khi lỗi xảy ra

trong hệ thống

- Metadata behavior: Hành xử với các siêu dữ liệu quy định xem làm thế

nào và khi nào thì các siêu dữ liệu được đưa ra bên ngoài dịch vụ

- Instance behavior: Hành xử thực thể quy định xem có bao nhiêu thực thể

của dịch vụ đó được chạy

- Transaction behavior: Hành xử giao dịch cho phép việc rollback các

giao dịch nếu xảy ra lỗi

- Message inspection: Kiểm tra bản tin đem lại cho dịch vụ khả năng kiểm

tra tất cả hay một số phần của bản tin

- Dispatch behavior: Khi một bản tin được xử lý bởi nền tảng WCF, dịch

vụ Dispatch behavior xác định xem bản tin được xử lý như thế nào

- Concurrency behavior: Hành xử đồng thời xác định xem việc xử lý thế

nào với việc đa luồng của mỗi dịch vụ hay mỗi thực thể của dịch vụ Hành xử này giúp

cho việc điều khiển số lượng luồng có thể truy nhập tới một thực thể của dịch vụ

- Parameter filtering: Khi một bản tin được đưa tới một dịch vụ, sẽ xảy ra

một số hành động dựa trên nội dung phần đầu đề của bản tin Phần lọc tham số sẽ thực

hiện lọc các đầu đề bản tin và thực hiện các hành động đặt sẵn dựa trên việc lọc đầu đề

bản tin

2.3) Message

Lớp bản tin là tập hợp các kênh Mỗi kênh là một thành phần xử lý bản tin theo một cách nào đó Một tập các kênh thường được gọi là ngăn xếp kênh Các kênh làm việc trên bản tin và trên đầu đề của bản tin Lớp này khác với lớp thực thi dịch vụ chủ yếu bởi sự khác nhau trong việc xử lý nội dung bản tin

Có hai kênh khác nhau là kênh vận chuyển (transport channel) và kênh điều khiển

(control channel)

- Kênh vận chuyển phụ trách việc đọc và ghi các bản tin từ mạng (network)

hoặc từ một số điểm giao dịch bên ngoài)

- Kênh điều khiển thực hiện xử lý bản tin theo giao thức, thông thường làm

việc bằng cách đọc và ghi thêm các đầu đề cho bản tin

2.4) Host and activation

Ngày đăng: 20/05/2015, 05:48

HÌNH ẢNH LIÊN QUAN

Hình  sau  mô  tả  các  lớp  chủ  yếu  trong  kiến  trúc  của  Windows  Communication - Tiểu luận môn điện toán lưới và đám mây CÁC VẤN ĐỀ TRONG ĐIỆN TOÁN PHÂN TÁN
nh sau mô tả các lớp chủ yếu trong kiến trúc của Windows Communication (Trang 9)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w