Định nghĩa hệ tin học phân tán Hệ tin học phân tán là hệ thống xử lý thông tin bao gồm nhiều bộ xử lý hoặc các bộ xử lý nằm ở xa ở các vị trí khác nhau và được liên kết với nhau thông q
Trang 1LỜI MỞ ĐẦU
Hệ tin học phân tán là hệ thống rất đa dạng, đa diện, phức tạp về mặt cấu trúc, là vùng tri thức hiện đại đang được các chuyên gia công nghệ thông tin đặc biệt quan tâm và đổi mới rất nhanh chóng
Một trong những tư tưởng lớn của các hệ phân tán là phân tán hóa các quá trình xử lý thông tin và thực hiện các công việc đó trên các trạm xa nhau Đó là cơ
sở để xây dựng các hệ ứng dụng lớn như thương mại điện tử, giáo dục điện tử, chính phủ điện tử
Để ứng dụng phần lý thuyết đã học về Hệ tin học phân tán vào trong đề tài của tiểu luận, em sẽ trình bày hai vấn đề :
Vấn đề thực hiện từ xa và vai trò của nó trong các hệ thống hiện đại
Ứng dụng lý thuyết về cơ chế điều khiển việc thực hiện từ xa trong bài toán Hệ kinh doanh từ xa
Em xin chân thành cảm ơn thầy giáo PGS.TS Lê Văn Sơn đã cung cấp
kiến thức và tài liệu để em có thể hoàn thành tiểu luận này
Trong tiểu luận không thể tránh khỏi những thiếu sót về mặt nội dung lẫn hình thức, em rất mong nhận được sự góp ý, đánh giá của Thầy và các anh, chị học viên nhằm giúp cho em có một cái nhìn hoàn thiện hơn và bổ sung thêm những kiến thức về Hệ phân tán
Học viên thực hiện
Đoàn Xuân Lộc
Trang 2CHƯƠNG I
CÁC KHÁI NIỆM VỀ HỆ TIN HỌC PHÂN TÁN
1.1 Định nghĩa hệ tin học phân tán
Hệ tin học phân tán là hệ thống xử lý thông tin bao gồm nhiều bộ xử lý hoặc các bộ
xử lý nằm ở xa ở các vị trí khác nhau và đượ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 hệ điều hành
Hệ phân tán là một tập hợp bao gồm các bộ xử lý hoặc bộ vi xử lý với bộ nhớ và đồng hồ độc lập Điều này đồng nghĩa với việc các bộ xử lý không sử dụng chung bộ nhớ và đồng hồ Trong hệ tin học phân tán, các tính toán có thể được tính trên nhiều bộ xử lý hay trên vi xử lý của hệ thống đa bộ xử lý Như vậy hệ thống hệ tin học phân tán đòi hỏi hệ thống của mình phải trang bị bộ nhớ cục bộ Các bộ xử lý trao đổi thông tin qua các hệ thống đường truyền khác nhau như là cáp chuyên dụng, bus trao đổi, đường điện thoại, cáp quang, vv
Khác với hệ thống máy đơn, mạng máy tính là tập hợp các thiết bị đầu cuối được kết nối với nhau thông qua hệ thống đường truyền Các thiết bị đầu cuối của máy tính rất đa dạng, bao gồm tập hợp các máy tính, các thiết bị chuyên dụng, các thiết bị truyền tin, các thiết bị tiếp nhận và hiển thị thông tin Hệ thống mạng máy tính được điều khiển bằng hệ điều hành mạng Hệ thống tin học này có thể là hệ tập trung hoặc hệ phân tán
Căn cứ vào các thành phần của hệ tin học, ta nhận thấy hệ tin học có thể bao gồm bốn thực thể sau:
Các
hệ thống phần mềm
Hệ thống
dữ liệu
Tập hợp phần cứng
Hệ thống truyền thông
Trang 3Trong hệ tin học phân tán, cấu hình phần cứng của mạng có thể bao gồm các bộ xử lý có cấu tạo hoàn toàn khác nhau về khả năng, tốc độ và được thiết kế cho các chức năng khác nhau Chúng có thể là các bộ xử lý, các trạm làm làm việc, các máy tính tập trung và các máy tính điện tử vạn năng lớn Chúng được gọi bằng các tên khác nhau như trạm, node căn cứ vào ngữ cảnh mà ở đó nó được nêu ra
Ngoài hệ thống phần cứng, phần mềm, dữ liệu thì hệ phân tán còn có hệ thống truyền thông được mô tả như ở trên Song điều cơ bản để phân biệt hệ tin học phân tán với mạng máy tính là và hệ điều hành mạng chính là nguyên tắc xây dựng hệ
1.2 Các thành phần của hệ tin học phân tán
Các thành phần của hệ tin học phân tác có thể phản ánh trong bảng sau:
1 Bộ xử lý dùng cho các máy tính lớn hoặc máy trung
2 Bộ vi xử lý
3 Bộ xử lý hay vi xử lý với các bộ nhớ chính
4 Bộ xử lý hay vi xử lý với các bộ nhớ chính và kèm theo một vài bộ nhớ
truy cập nhanh
5 Máy lớn, trung hay vi tính hoàn chỉnh với điều kiện không sử dụng đồng
hồ chung
6 Trạm làm việc của mạng máy tính
7 Thiết bị đầu cuối của mạng
8 Các hệ thống tin học đóng vai trò nút trung chuyển
9 Các mạng cục bộ hoạt động độc lập trong mạng lớn
1.3 Ưu điểm và hạn chế của hệ thống phân tán
1.3.1 Ưu điểm
Chia xẻ tài nguyên: Chia xẻ tài nguyên trong hệ thống phân tán cung cấp
một cơ chế để chia xẻ tập tin ở vị trí xa, xử lý thông tin trong một cơ sở dữ liệu phân tán, in ấn tại một vị trí xa, sử dụng những thiết bị ở xa để thực hiện các thao tác…
Tăng tốc độ tính toán: Hệ thống phân tán cho phép phân chia việc tính toán
trên nhiều vị trí khác nhau để tính toán song song
Trang 4 An toàn: Nếu một vị trí trong hệ thống phân tán bị hỏng, các vị trí khác vẫn
tiếp tục làm việc mà không ảnh hưởng đến toàn bộ hệ thống
Thông tin liên lạc với nhau: Có nhiều lúc, chương trình cần chuyển đổi dữ
liệu từ vị trí này sang vị trí khác Khi các vị trí được nối kết với nhau trong một hệ thống mạng, việc trao đổi dữ liệu diễn ra rất dễ
1.3.2 Hạn chế
Giá phát triển phần mềm cao: Do các khó khăn khi cài đặt một hệ thống
phân tán, giá thành sẽ tăng lên
Dễ mắc lỗi hơn: Vì các trạm trong hệ phân tán làm việc song song, khó có
thể đảm bảo thuật toán được thực hiện đúng trên tất cả các trạm Do vậy mà
số lỗi sẽ tăng lên
Khối lượng các xử lý tăng: Hệ thống phân tán cần truyền nhiều thông báo,
nhiều tính toán phụ Do vậy khối lượng xử lý tăng lên so với hệ thống tập trung
1.4 Nguyên tắc xây dựng hệ phân tán
Chia sẻ tài nguyên: Thực tế phát triển mạng máy tính đặt ra một vấn đề lớn là cần
phải dùng chung tài nguyên Một tiến trình trên một trạm nào đó có thể cung cấp tài nguyên dùng chung ở một trạm khác
Liên lạc: Khi các hệ thống đã được mắc nối với nhau, các thực thể trong hệ có thể
trao đổi thông tin với nhau
Tin cậy: Một trạm trong hệ bị sự cố không làm cho toàn hệ ảnh hưởng, mà ngược
lại, công việc đó được phân cho các trạm khác đảm nhận Ngoài ra, trạm bị sự cố
có thể tự động phục hồi lại trạng thái ban đầu trước khi có sự cố hay trạng thái ban đầu của nó
Tăng tốc: Đây là khái niệm mới về phân tán tải Một tính toán lớn nào đó, nếu chỉ
sử dụng một trạm thì thời gian cho kết quả lâu Tính toán này được chia nhỏ và thực hiện song song trên các trạm Điều này cần thiết đối với các trạm quá tải
1.5 Điều kiện của hệ phân tán
Để đảm bảo hoạt động thì các hệ thống kết nối với nhau phải thỏa mãn hai điều
Trang 5kiện cơ bản sau đây :
Bất kỳ một hệ thống thành phần nào (hệ cục bộ) đều có thể liên lạc thông suốt với các hệ thống thành phần khác
Mỗi một hệ thống cục bộ được đặc trưng bằng một tên duy nhất và tên này
có thể được nhận biết bởi các hệ thống viễn thông
1.6 Sự khác nhau giữa hệ tin học phân tán và hệ tin học
Sự khác nhau cơ bản của hệ tin học phân tán và hệ tin học đó là “hệ thống truyền thông
Các máy tính đơn được nối vào lại với nhau thành một hệ thống mạng thì hệ thông đó gọi là hệ tin học phân tán
Các
hệ thống phần mềm
Hệ thống
dữ liệu
Tập hợp phần cứng
Hệ thống truyền thông
Các thực thể của hệ tin học phân tán
PhÇn cøng
PhÇn mÒm
D÷ liÖu
H×nh I-2 Ba thùc thÓ cña hÖ tin häc.
Các thực thể của hệ tin học
Trang 6M2
HÖ thèng truyÒn th«ng
U3
M4
U1
n
Mn
U5
M5
H×nh I-5 HÖ thèng m¹ng m¸y tÝnh.
H×nh I-5 HÖ thèng m¹ng m¸y tÝnh.
Trang 7CHƯƠNG II ỨNG DỤNG THỰC HIỆN TỪ XA
Trong chương này chủ yếu là vận dụng phần lý thuyết về vấn đề điều khiển từ
xa đã nêu trong chương I (ví dụ Hệ kinh doanh từ xa (HKDTX) trong Thương mại điện tử) Sau đó là phần ứng dụng minh họa về cơ chế điều khiển việc thực hiện từ
xa vào việc lập chương trình tạo website giới thiệu và bán các sản phẩm máy tính bằng ASP
Kết luận về những khía cạnh phân tán của ASP
II.1 Tổng quan về E-commerce(thương mại điện tử)
eCommerce: Thương mại điện tử Là các ứng dụng cho phép trao đổi giữa người mua và người bán, hỗ trợ khách hàng và quản lý cơ sở dữ liệu hàng hoá bán hoàn toàn trên mạng Đây là hình thức giao dịch giữa người bán và người mua (Business To Customer hay viết tắt là B2C)
Thương mại điện tử được tiến hành trên mạng nên không bị ảnh hưởng bởi khoảng cách địa lý, do đó bạn có là nhà cung cấp nhỏ hay lớn thì điều đó cũng không ảnh hưởng gì, bạn vẫn được nhiều người biết đến nhờ tính toàn cầu của mạng Khách hàng cũng có nhiều sự lựa chọn hơn nhờ mạng máy tính cung cấp cho họ Thương mại điện tử đem lại sự hiện diện trên toàn cầu cho nhà cung cấp
và sự lựa chọn toàn cầu cho khách hàng
Trong thương mại điện tử, người bán và người mua không gặp nhau trực tiếp mà thông qua mạng, do đó vấn đề cập nhật thông tin cho các bên sẽ nhanh hơn, nhưng đòi hỏi người tham gia phải có khả năng sử dụng Hơn nữa, thương mại điện tử là việc kinh doanh trên các thiết bị điện tử nên nó sẽ bị tác động theo
sự thay đổi của công nghệ Vì vậy người tham gia kinh doanh cũng phải luôn học hỏi để theo kịp sự thay đổi đó
II.2 Cơ cấu của E-commerce
Hệ thống E-commerce được tổ chức từ các bộ phận:
Hệ thống khách hàng
Hệ thống người quản trị thông tin hàng hoá
Các bộ phận này thực hiện những nội dung: Quản lý khách hàng, quản lý hàng hoá, thực hiện việc mua bán từ xa thông qua mạng
Trang 8I.1.1 Hệ thống quản lý khách hàng
Khách hàng tìm kiếm, lựa chọn, đặt mua và theo dõi tình hình xử lý, thanh thoán hợp đồng của họ thông qua Internet
I.1.2 Hệ thống người quản trị
Chương trình đòi hỏi người quản lý thường xuyên theo dõi các thông tin về hàng hoá, xử lý đúng yêu cầu của khách hàng, theo dõi hợp đồng của khách hàng và giao hàng đúng số lượng và thời hạn Công việc quản lý dữ liệu phải đáp ứng các yêu cầu:
1 Nhân viên phải nhập thông tin các sản phẩm mới vào trong dữ liệu có sự kiểm tra về tính đúng đắn và chính xác của dữ liệu
2 Được phép chỉnh sửa, xoá những thông tin sai, không phù hợp về sản phẩm
3 Theo dõi thông tin khách hàng khi nhập vào, cho phép xoá thông tin sai của khách hàng
4 Theo dõi quá trình thanh toán hợp đồng
5 Xử lý việc giao hàng
II Mô hình Client-Server
II.1 Giới thiệu
Mô hình Client/Server là mô hình tổ chức trao đổi thông tin trong đó mô tả cách mà các máy tính có thể giao tiếp với nhau theo một phương thức nhất định Phương thức này là một chiến lược tổ chức phân cấp mà trong đó có một máy tính đặc biệt phục vụ các yêu cầu về lưu trữ, xử lý, tính toán tất cả các máy trên mạng Kiểu tổ chức tổng quát của mô hình này là một mạng LAN được thiết lập từ nhiều máy tính khác nhau, trong đó một máy tính gọi là Server Một chương trình client chạy từ bất kỳ máy tính nào trong mạng cũng có thể gởi yêu cầu của mình đến Server, khi server nhận được các yêu cầu này thì nó sẽ thực hiện và gởi kết quả về cho Client
Client process
4.Client handles
reponse
Resource Server
process
2.Server handles request 3.Server sends response
1.Client sends request
Trang 9Hình 5 Mô hình Client/Server
Có nhiều mô hình được sử dụng trong các chương trình mạng nhưng mô hình Client/Server là mô hình chuẩn Một Server là một quá trình, quá trình này chờ sự liên hệ từ một Client Một phiên làm việc điển hình của mô hình này như sau:
Phía Client gởi một yêu cầu thông qua mạng đến Server để yêu cầu một
số dạng dịch vụ nào đó như lấy tên máy Server, lấy đồng hồ hệ thống, đăng ký cấp bằng …
Phía Server được khởi động trước trên hệ thống máy tính Sau khi khởi động nó sẽ chờ Client liên hệ nó để yêu cầu một số dịch vụ Quá trình của Server thành chia ra 2 kiểu:
Khi chỉ có một yêu cầu của Client được Server phục vụ tại một thời điểm thì gọi đó là Server lặp
Khi Server có thể phục vụ đồng thời nhiều yêu cầu từ Client gởi đến gọi đó là Server đồng thời
Client/Server là mô hình tổng quát nhất, trên thực tế thì một Server có thể được nối tới nhiều Server khác nhằm làm việc hiệu quả hơn Khi nhận được một yêu cầu từ Client, Server này có thể gửi tiếp yêu cầu vừa nhận được cho Server khác ví dụ như Database Server vì bản thân nó không thể xử lý yêu cầu này được Máy Server có thể thi hành các nhiệm vụ đơn giản hoặc phức tạp
Ví dụ như một máy chủ trả lời thời gian hiện tại trong ngày, khi một máy Client yêu cầu lấy thông tin về thời gian nó sẽ phải gửi một yêu cầu theo một tiêu chuẩn do Server định ra, nếu yêu cầu được chấp nhận thì máy Server sẽ trả về thông tin mà Client yêu cầu Có rất nhiều các dịch vụ Server trên mạng nhưng nó đều hoạt động theo nguyên lý là nhận các yêu cầu từ Client sau đó xử lý và trả kết quả cho client yêu cầu Thông thường chương trình Server và Client được thi hành trên hai máy khác nhau Cho dù lúc nào Server cũng ở trạng thái sẵn sàng chờ nhận yêu cầu từ Client nhưng trên thực tế một tiến trình liên tác qua lại (interaction) giữa Client và Server lại bắt đầu ở phía Client, khi mà Client gửi tín hiệu yêu cầu tới Server Các chương trình Server thường đều thi hành ở mức ứng dụng (tầng ứng dụng của mạng)
Sự thuận lợi của phương pháp này là nó có thể làm việc trên bất cứ một mạng máy tính nào có hỗ trợ giao thức truyền thông chuẩn cụ thể ở đây là giao thức TCP/IP Với các giao thức chuẩn này cũng giúp cho các nhà sản xuất có thể tích hợp nhiều sản phẩm khác nhau của họ lên mạng mà không gặp phải khó khăn
gì Với các chuẩn này thì các chương trình Server cho một dịch vụ nào đấy có thể
Trang 10thi hành trên một hệ thống chia sẻ thời gian (timesharing system) với nhiều
chương trình và dịch vụ khác hoặc nó có thể chạy trên chính một máy tính các nhân bình thường Có thể có nhiều chương Server cùng làm một dịch vụ, chúng có thể nằm trên nhiều máy tính hoặc một máy tính
II.2 Client
Trong mô hình Client/Server, người ta còn định nghĩa cụ thể cho một máy Client là một máy trạm mà chỉ được sử dụng bởi một người dùng với để muốn thể hiện tính độc lập cho nó Máy Client có thể sử dụng các hệ điều hành bình thường như Win9x, DOS, OS/2
Bản thân mỗi một Client cũng đã được tích hợp nhiều chức năng trên hệ điều hành mà nó chạy, nhưng khi được nối vào một mạng LAN, WAN theo mô hình Client/Server thì nó còn có thể sử dụng thêm các chức năng do hệ điều hành mạng cung cấp với nhiều dịch vụ khác nhau (cụ thể là các dịch vụ do các Server trên mạng này cung cấp), ví dụ như nó có thể yêu cầu lấy dữ liệu từ một Server hay gửi dữ liệu lên Server đó Thực tế trong các ứng dụng của mô hình Client/Server, các chức năng hoạt động chính là sự kết hợp giữa Client và Server với sự chia sẻ tài nguyên, dữ liệu trên cả hai máy
Trong mô hình Client/Server, Client được coi như là người sử dụng các dịch vụ trên mạng do một hoặc nhiều máy chủ cung cấp và Server được coi như là người cung cấp dịch vụ để trả lời các yêu cầu của các Clients Điều quan trọng là phải hiểu được vai trò hoạt động của nó trong một mô hình cụ thể, một máy Client trong mô hình này lại có thể là Server trong một mô hình khác Ví dụ cụ thể như một máy trạm làm việc như một Client bình thường trong mạng LAN nhưng đồng thời nó có thể đóng vai trò như một máy in chủ (printer server) cung cấp dịch vụ in
ấn từ xa cho nhiều người khác (Clients) sử dụng Client được hiểu như là bề nổi của các dịch vụ trên mạng, nếu có thông tin vào hoặc ra thì chúng sẽ được hiển thị trên máy Client
II.3 Server
Server còn được định nghĩa như là một máy tính nhiều người sử dụng (multiuser computer) Vì một Server phải quản lý nhiều yêu cầu từ các Client trên mạng cho nên nó hoạt động sẽ tốt hơn nếu hệ điều hành của nó là đa nhiệm với các tính năng hoạt động độc lập song song với nhau như hệ điều hành UNIX, WINDOWS Server cung cấp và điều khiển các tiến trình truy cập vào tài nguyên của hệ thống
Các ứng dụng chạy trên Server phải được tách rời nhau để một lỗi của ứng dụng này không làm hỏng ứng dụng khác Tính đa nhiệm đảm bảo một tiến trình không sử dụng toàn bộ tài nguyên hệ thống Server như là một nhà cung cấp dịch