tiểu luận các hệ phân tán dựa trên web

21 764 1
tiểu luận các hệ phân tán dựa trên web

Đ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

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG    TIỂU LUẬN ĐỀ TÀI CÁC HỆ PHÂN TÁN DỰA TRÊN WEB Giảng viên TS. Vũ Thị Hương Giang Nhóm thực hiện Nhóm 14 Trương Thủy Phương Nguyễn Xuân Trường Trần Thị Mơ Trần Đăng Minh Lớp 12BCNTT2 Hà Nội, Năm 2012 MỤC LỤC 1. Định nghĩa 3 1.1 Định nghĩa 3 1.2 Mục tiêu của hệ phân tán 4 1.2.1 Kết nối người sử dụng và tài nguyên 4 1.2.2 Tính trong suốt 4 1.2.3 Tính mở 5 1.2.4 Tính co giãn (Scalability) 5 1.3 Các khái niệm phần cứng 5 1.3.1 Phân loại máy tính 5 1.4 Các khái niệm phần mềm 6 1.5 Mô hình client - server 6 TÀI LIỆU THAM KHẢO 19 LỜI MỞ ĐẦU Ngày nay, với sự phát triển như vũ bão của Internet, đòi hỏi cần có một hệ thống quản lý cơ sở dữ liệu cho trang Web mạnh và đáp ứng nhu cầu truy cập của người sử dụng. Nếu như hệ thống quản trị cơ sở dữ liệu theo hình thức tập trung thì việc đáp ứng những yêu cầu của người dùng sẽ gây ra tắc nghẽn và đòi hỏi yêu cầu lưu trữ của hệ thống dữ liệu lớn hơn rất nhiều. Với việc xây dựng các hệ phân tán, giúp hệ thống phân tán dữ liệu trên các trạm của mạng máy tính, giúp xóa bỏ việc dư thừa dữ liệu của các hệ xử lý tệp truyền thống. Đồng thời đảm bảo tính nhất quán của dữ liệu sử dụng. Internet cũng là một hệ thống phân tán rất lớn. World Wide Web đã thay đổi cách chúng ta làm kinh doanh, học tập và nghiên cứu… Nó cũng mang lại một rất nhiều thách thức, hẳng hạn như nội dung gần như vô hạn, tài nguyên đa dạng, và nội dung thường xuyên được cập nhật. Với quyên truy cập chính đáng, nó cho phép người sử dụng, bất cứ nơi nào có thể sử dụng các dịch vụ như Web Wide World (WWW). email và truyền tập tin Ở bài tiểu luận này, chúng tôi tập trung tìm hiểu về đặc điểm và cách xử lý dữ liệu của các hệ phân tán dựa trên Web. Chương 1 : Tổng quan về hệ phân tán. 1. Định nghĩa. 1.1 Định nghĩa Có nhiều định nghĩa về hệ phân tán: - Định nghĩa 1: Hệ phân tán là tập hợp các máy tính tự trị được kết nối với nhau bởi một mạng máy tính và được cài đặt phần mềm hệ phân tán. - Định nghĩa 2: Hệ phân tán là một hệ thống có chức năng và dữ liệu phân tán trên các trạm (máy tính) được kết nối với nhau bởi một mạng máy tính. - Định nghĩa 3: Hệ phân tán là một tập các máy tính độc lập giao tiếp với người dùng như một hệ thống thống nhất, toàn vẹn. Như vậy, có thể nói : Hệ phân tán = mạng máy tính + phần mềm hệ phân tán. Phân loại hệ phân tán. 1.2 Mục tiêu của hệ phân tán. 1.2.1 Kết nối người sử dụng và tài nguyên Hệ phân tán giải quyết bài toán chia sẻ tài nguyên trong hệ thống (resource sharing). 1.2.2 Tính trong suốt Hệ phân tán giúp ẩ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). Tính trong suốt thể hiện qua các đặc trưng: - Truy nhập (Access transparency): che giấu sự khác biệt trong cách biểu hiện dữ liệu và cách thức truy nhập tài nguyên. - Vị trí (Location transparency): che giấu vị trí tài nguyên → người dùng hoàn toàn không biết về vị trí vật lý của tài nguyên trong hệ thống. - Di trú (Migration transparency): che giấu việc tài nguyên di chuyển sang máy khác → tài nguyên có thể không nằm ở vị trí cố định, mà nó có thể được di chuyển sang các máy khác nhau trong hệ thống để phục vụ các yêu cầu khác nhau mà không ảnh hưởng tới việc truy nhập tài nguyên. - Di chuyển (Relocation transparency): che giấu việc tài nguyên có thể bị di chuyển sang nơi khác → tài nguyên có thể di chuyển sang nơi khác ngay cả khi nó đang bị truy cập. - Nhân bản (Repilcation transparency): che giấu việc sao chép tài nguyên → việc sao chép tài nguyên giúp đơn giản hóa và tăng tốc độ truy cập dữ liệu, các bản sao đặt gần hoặc ngay tại nơi truy cập dữ liệu. Các bản sao này phải có cùng tên, để che giấu với người dùng; và hệ thống cần có tính trong suốt về vị trí, để đảm bảo khả năng quản lý các bản sao khác nhau trên các máy trong hệ thống. - Tương tranh (Concurrency transparency): che giấu sự chia sẻ tài nguyên bởi một số người sử dụng, nhiều người dùng có thể cùng truy cập dữ liệu tại cùng một thời điểm, đặc biệt sử dụng nhiều trong mạng truyền thông. - Lỗi (Failure transparency): che giấu lỗi và khắc phục lỗi → đảm bảo người dùng hoàn toàn không biết về các lỗi xảy ra trong hệ thống và sự khắc phục các lỗi này. 1.2.3 Tính mở 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. 1.2.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ị. 1.3 Các khái niệm phần cứng. 1.3.1 Phân loại máy tính a. Máy tính có chia sể bộ nhớ/máy tính không chia sẻ bộ nhớ - Các loại máy tính có chia sẻ bộ nhớ (Shared memory): các loại máy đa xử lý (multiproccessor). - Các máy tính không chia sẻ bộ nhớ (Private memory): các hệ thống multicomputors. b. Hệ thuần nhất / hệ không thuần nhất; - Hệ thống thuần nhất: mạng máy tính cùng sử dụng một công nghệ, các bộ xử lý là như nhau, truy cập đến cùng một bộ nhớ giống nhau. Thường dùng trong hệ thống có tính toán song song. - Hệ không thuần nhất: những máy tính khác nhau kết nối với nhau. 1.4 Các khái niệm phần mềm. a. DOS (distributed OS): Là hệ điều hành cho các hệ multiproccessor và các hệ homogenous multicomputer. Mục tiêu là ẩn giấu và cung cấp các dịch vụ quản trị tài nguyên. Đặc điểm là các dịch vụ có thể được thực hiện bởi các lời triệu gọi từ xa. b. NOS (Network OS): Là hệ điều hành cho các hệ thống heterogenous multicomputer (LAN, WAN). Mục tiêu của NOS là cung cấp các dịch vụ từ xa. c. Middleware: Là tầng phụ nằm giữa tầng dịch vụ của NOS và tầng ứng dụng phân tán. 1.5 Mô hình client - server Tổng quan về mô hình Client – server Mô hình client - server trong một hệ phân tán được phân chia thành hai nhóm chính là nhóm các server và nhóm các client. Nhóm các server chứa các dịch vụ đặc biệt. Nhóm các client là nhóm gửi yêu cầu đến server để được sử dụng các dịch vụ đó trên server. Phân tầng các ứng dụng: Việc phân định rạch ròi chức năng của client và server đến giờ cũng rất khác biệt và không thuần nhất. Do đó người ta đưa ra ý tưởng là chia thành ba mức chức năng: User – interface - level: bao gồm các chương trình cung cấp giao diện cho phép người sử dụng tương tác với chương trình ứng dụng. Chương trình ứng dụng bao gồm 2 nhóm: - Processing level: làm nhiệm vụ xử lý các tác vụ của người dùng trên cơ sở dữ liệu - Data level: gồm các chương trình duy trì các dữ liệu mà các chương trình ứng dụng xử lý. 2. Truyền thông Truyền thông đa tiến trình là trái tim của hệ phân tán. Hệ phân tán hiện đại chứa hàng nghìn, thậm chí hàng triệu tiến trình đồng thời hoạt động trong mạng, tiêu biểu như Internet. Trong phần này, ta sẽ xét tới vai trò của các mô hình truyền thông hiện đại trong việc đảm bảo tính trong suốt của hệ phân tán: • Gọi thủ tục từ xa RPC (Remote Procedure Call) • Triệu gọi đối tượng từ xa ROI(Remote Object Invocation) • Truyền thông điệp MOM (Message Oriented Middleware) • Truyền thông hướng dòng (Stream Oriented Middleware) 2.1. Gọi thủ tục từ xa RPC Rất nhiều hệ phân tán dựa trên việc trao đổi thông điệp chi tiết giữa các tiến trình. Tuy nhiên các thủ tục truyền và nhận trong giao tiếp không hoàn toàn được che giấu, trong khi tính trong suốt trong truy cập là một trong những đặc tính quan trọng của hệ phân tán. Vấn đề này đã được đặt ra từ lâu nhưng chỉ cơ bản được giải quyết khi Birrell và Nelson (1984) đề ra một cách xử lý giao tiếp hoàn toàn khác. Hai người đã đề ra một số quy tắc cho phép chương trình gọi các hàm trên máy khác. Khi một tiến trình trên máy A gọi một hàm trên máy B, tiến trình trên máy A sẽ tạm thời bị treo và việc xử lý hàm được gọi được thực hiện trên máy B. Thông tin có thể truyền đến máy được gọi qua các tham số và trả kết quả về trong hàm kết quả. Không có bất kì thông điệp của tiến trình này biểu hiện ra bên ngoài đối với người lập trình. Đây chính là nội dung của phương pháp RPC. Mặc dù ý tưởng đưa ra có vẻ rất đơn giản và hiệu quả nhưng vẫn tồn tại một số vấn đề như : các hàm trên máy gọi và được gọi chạy trên các máy khác nhau và các máy này xử lý trên các không gian địa chỉ khác nhau , điều này sẽ tạo ra một số rắc rối,bên cạnh đó các tham số và kết quả phải được truyền giữa các máy, tuy nhiên nếu các máy này không đồng bộ sẽ dẫn đến một số vấn đề rất phức tạp. Cuối cùng có thể một trong hai máy hoặc thậm chí cả hai máy đều hoạt động không đúng và mỗi lỗi lại gây ra cac vấn đề khác nhau. Tuy nhiên, hầu hết các vấn đề trên đều có thể xử lý được và RPC đang trở thành một công nghệ được sử dụng rộng rãi trên rất nhiều hệ phân tán. Hoạt động của RPC Các quy ước trong thủ tục gọi - Khi một thủ tục được thực hiện , các tham số của nó đươc đẩy vào trong ngăn xếp. Sau khi thủ tục được thực hiện xong , kết quả được lưu trong thanh ghi. Thủ được trả quyền điều khiển, các tham số trong ngăn xếp được xóa và ngăn xếp trở về trạng thái trước khi có lời gọi hàm. - Các cách truyền tham số: • Truyền bằng tham trị • Truyền bằng tham biến • Truyền bằng cách sao chép và phục hồi ( không phổ biến) Client stub và Server stub Cách thức hoạt động của RPC ( cách thức RPC hoạt động một cách trong suốt) - Client stub và server stub ở máy client và server là thành phần nhằm giảm nhẹ công việc cho client và server, làm cho hệ thống hoạt động một cách trong suốt hơn. - Trong mô hình client – server thì lời gọi thủ tục từ xa được thực hiện qua các bước sau: Một phiên làm việc theo giao thức RPC (1) Tiến trình muốn thực hiện thủ tục ở máy client sẽ gọi client stub. (2) Client stub sẽ tạo một bản tin và có lời gọi đến hệ điều hành của client đó. (3) Hệ điều hành của máy client sẽ gửi bản tin đó tới hệ điều hành của máy server. (4) Hệ điều hành của server sẽ gửi bản tin tới server stub. (5) Server stub lấy các thông tin của gói tin và gọi server tương ứng. (6) Server thực hiện công việc được yêu cầu và trả kết quả về cho server stub. (7) Server stub đóng gói kết quả đó vào bản tin rồi gọi hệ điều hành của server đó. (8) Hệ điều hành của máy server này sẽ gửi bản tin kết quả đó hệ điều hành của máy client. (9) Hệ điều hành của máy client sẽ gửi bản tin cho client stub. (10) Client stub sẽ mở gói tin kết quả và trả về cho client. Các mô hình RPC mở rộng: - RPC dị bộ (Asynchronous RPC): Client gửi tới Server lời gọi thủ tục và chờ bản tin chấp nhận từ Server. Server sẽ gửi bản tin chấp nhận và thực hiện yêu cầu RPC. Client tiếp tục thực hiện công việc của mình mà không chờ kết quả từ Server. - RPC đồng bộ trễ (Deferred Asynchronous RPC): Client gửi tới Server lời gọi thủ tục và chờ bản tin chấp nhận từ Server. Server sẽ gửi bản tin chấp nhận và thực hiện yêu cầu RPC. Client tiếp tục thực hiện công việc của mình. Khi thực hiện thủ tục xong Server sẽ thực hiện lời gọi tới Client báo nhận kết quả. Client thực hiện ngắt, nhận kết quả và thông báo đã nhận kết quả thành công. - RPC đơn tuyến (one – way RPC): Sau khi thực hiện lời gọi thủ tục từ xa tới server, client không chờ đợi thông báo nhận yêu cầu thành công mà thực hiện ngay các công việc khác của mình. 2.2 Triệu gọi đối tượng từ xa ROI(Remote Object Invocation) Đối tượng phân tán: - State: các dữ liệu đã được đóng gói. - Method: Các thao tác có thể thực hiện trên dữ liệu. - Interface: nơi để giao tiếp với các phương thức của đối tượng. Các bước thực hiện triệu gọi đối tượng từ xa. - Khi cần triệu gọi các phương thức từ xa, client sẽ gửi yêu cầu đến proxy – một thể hiện của interface. - Proxy sẽ marshal (sắp xếp và đưa vào hàng theo thứ tự) các phương thức được yêu cầu vào một bản tin rồi gửi cho hệ điều hành của máy client. - Hệ điều hành của client sẽ gửi bản tin yêu cầu đó đến hệ điều hành của server. [...]... năng chia sẻ tài nguyên, mở rộng mà minh bạch… Web - Based Database Distributed Systems (WBDB): Kiến trúc hệ phân tán dựa trên Web được thiết kế dựa trên sự phản ánh, sắp xếp không gian dữ liệu ứng dụng và các phân phối tính toán Các hệ cơ sở dữ liệu phân tán trên Web khác nhau tùy theo công nghệ và các yêu cầu khác nhau WBDB có thể được sử dụng cho một loạt các chức năng: - Tạo danh mục sản phẩm; - Thương... là các dòng liên tục cần phải được đồng bộ Chương 2 : Các hệ phân tán dựa trên Web 1 Giới thiệu World Wide Web đã thay đổi cách chúng ta làm kinh doanh, học tập và nghiên cứu Web cũng mang lại rất nhiều thách thức, chẳng hạn như nội dung gần như vô hạn, tài nguyên đa dạng, và việc bảo trì và cập nhật nội dung thường xuyên Việc tạo ra một hệ thống phân tán giúp giải quyết các thách thức trên Ở đó, các. .. nhau công nghệ vào Web hoặc một cơ sở dữ liệu tăng cường hiệu suất của WBDB Lớp Application Server có chứa các Web Server thành phần và các đại lý) Trong một kịch bản dựa trên đại lý, khách hàng sẽ gửi một trong hai dữ liệu hoặc dữ liệu và các chương trình trên Web Server kích hoạt các đại lý Các đại lý sau đó xử lý dữ liệu yêu cầu sử dụng riêng của mình các chương trình, bằng cách sử dụng các chương... liệu Hiện có rất nhiều công nghệ mà có thể được sử dụng cho việc thiết kế hệ cơ sở dữ liệu Ngôn ngữ cho các ứng dụng web và máy chủ web là Java, PHP, Perl, HTML, DHTML, XML, SQL và công nghệ truy cập bao gồm CGI, JavaScript, Servlet, JDBC, và ODBC Cơ sở dữ liệu doanh nghiệp thường gặp bao gồm Oracle, Sysbase, Informix, DB2, MySQL, SQLServer 2 Các hệ phân tán dựa trên Web 2.1 Kiến trúc hai lớp (tầng)... Server cơ sở dữ liệu xử lý các yêu cầu, kết quả trả về cho trình duyệt Web của khách hàng Trong quá trình chuyển đổi, các trang Web Server có thể xử lý các kết quả từ cơ sở dữ liệu Trong MBDB, các yêu cầu của máy chủ MBDB để lấy dữ liệu cần thiết Các máy chủ thực thi bằng cách phát ra một loạt các truy vấn SQL MBDB thực hiện truy vấn và tạo ra các truy vấn địa phương theo các tính năng khác nhau của... Sau khi hoàn thành việc xử lý sơ bộ, các đại lý sẽ gửi dữ liệu của chương trình và kết quả cho Application Server xử lý tiếp Sau đó, các Web Server giao tiếp với cơ sở dữ liệu và cơ sở dữ liệu Server kết thúc thao tác với cơ sở dữ liệu và chuyển kết quả cho Web Server Các Web Server sẽ trả lại kết quả sao cho khách hàng trực tiếp hoặc thông qua các đại lý 3 Web dựa trên cơ sở dữ liệu Access Technologies... (thế hệ 2) - JavaScript, Server-side API; - Web dựa trên Java (thế hệ 3) - Java, JDBC, Servlet - XML, Khách hàng / Đại lý điện thoại di động / Server (a thế hệ mới) Do thị trường rất lớn cho WBDBs, có rất nhiều công nghệ phát triển để đáp ứng yêu cầu thực tế: CORBA, RMI, DCOM / Net Remoting, JavaScript, Server-side API WBDB Mặc dù có lợi thế khuôn khổ dựa trên CGI (Ngôn ngữ đơn giản, độc lập, Web Server... Server Sau đó, các truy vấn địa phương có thể được cấp cho các máy chủ cơ sở dữ liệu tương ứng có thể được quản lý bởi các máy chủ DBMS Tuy nhiên, các máy chủ DBMS có thể được truy cập thông qua tất cả các loại công nghệ truy cập cơ sở dữ liệu MBDB thực hiện tích hợp các kết quả địa phương nhận được từ tất cả các máy chủ cơ sở dữ liệu và cuối cùng trình bày một kết quả tổng thể lên Web Server Trong... công nghệ, chẳng hạn như cơ sở dữ liệu, Web server, trình duyệt Web, Application Server, SQL, CGI, JAVA và như vậy Một số công nghệ cho giao diện, những người khác có thể đối phó với cơ sở dữ liệu truy cập, hoặc kết hợp tất cả mọi thứ lại với nhau, hoặc chỉ ứng dụng Hiện tại công nghệ được sử dụng trong WBDB có thể được phân loại như sau: - Web truyền thống (thế hệ 1) - HTML, HTTP, và CGI; - Web tương... cung cấp tất cả các chi tiết của dịch vụ ứng dụng Quản lý nguồn có thể cung cấp tất cả các tầng dịch vụ thấp hơn, chẳng hạn như giao tiếp giữa cơ sở dữ liệu và các dịch vụ ứng dụng Các khách hàng / máy chủ mở rộng mô hình là một điển hình của kiến trúc ba tầng Trong mô hình này, khách hàng truy cập thông qua trình duyệt Web Trình duyệt web gửi yêu cầu tới Web Server Web Server chuyển các yêu cầu đến . mềm hệ phân tán. - Định nghĩa 2: Hệ phân tán là một hệ thống có chức năng và dữ liệu phân tán trên các trạm (máy tính) được kết nối với nhau bởi một mạng máy tính. - Định nghĩa 3: Hệ phân tán. minh bạch… Web - Based Database Distributed Systems (WBDB): Kiến trúc hệ phân tán dựa trên Web được thiết kế dựa trên sự phản ánh, sắp xếp không gian dữ liệu ứng dụng và các phân phối tính toán. Các hệ. trữ của hệ thống dữ liệu lớn hơn rất nhiều. Với việc xây dựng các hệ phân tán, giúp hệ thống phân tán dữ liệu trên các trạm của mạng máy tính, giúp xóa bỏ việc dư thừa dữ liệu của các hệ xử lý

Ngày đăng: 28/01/2015, 20:27

Từ khóa liên quan

Mục lục

  • 1. Định nghĩa.

    • 1.1 Định nghĩa

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

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

      • 1.2.2 Tính trong suốt

      • 1.2.3 Tính mở

      • 1.2.4 Tính co giãn (Scalability)

      • 1.3 Các khái niệm phần cứng.

        • 1.3.1 Phân loại máy tính

        • 1.4 Các khái niệm phần mềm.

        • 1.5 Mô hình client - server

        • TÀI LIỆU THAM KHẢO

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

Tài liệu liên quan