Nghiên cứu các thuật toán giám sát và xử lý cạnh tranh giữa các thành phần phần mềm trên môi trường phân tán : Luận văn ThS. Công nghệ thông tin : 1 01 10

77 40 0
Nghiên cứu các thuật toán giám sát và xử lý cạnh tranh giữa các thành phần phần mềm trên môi trường phân tán : Luận văn ThS. Công nghệ thông tin : 1 01 10

Đ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

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CƠNG NGHỆ NGUYỄN THỊ BÍCH NGỌC NGHIÊN CỨU CÁC THUẬT TOÁN GIÁM SÁT VÀ XỬ LÝ CẠNH TRANH GIỮA CÁC THÀNH PHẦN PHẦN MỀM TRÊN MÔI TRƯỜNG PHÂN TÁN LUẬN VĂN THẠC SĨ HÀ NỘI - 2007 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN THỊ BÍCH NGỌC NGHIÊN CỨU CÁC THUẬT TỐN GIÁM SÁT VÀ XỬ LÝ CẠNH TRANH GIỮA CÁC THÀNH PHẦN PHẦM MỀM TRÊN MƠI TRƯỜNG PHÂN TÁN Chun ngành: Cơng nghệ thông tin Mã số: 1.01.10 LUẬN VĂN THẠC SĨ Người hưóng dẫn khoa học: PGS.TS Hồ Sĩ Đàm MỤC LỤC Mở đầu Chương Thành phần phần mềm (software component) 11 1.1 Kỹ nghệ phần mềm hướng thành phần 11 1.1.1 Tổng quan kỹ nghệ phần mềm hướng thành phần 11 1.1.2 Thành phần phần mềm 14 1.2 Mơ hình thành phần 15 1.3 Giám sát dò vết thành phần 17 1.3.1 Giới thiệu 17 1.3.2 Dò vết thành phần 18 1.3.3 Cơ chế tăng khả dò vết cho thành phần 20 1.3.4 Mô hình hướng kiện Java giúp hỗ trợ dị vết 22 1.3.5 Gói dị vết Java 25 3.2.5 Mơi trường dị vết cho phần mềm thành phần 26 Chương Hệ thống đối tượng phân tán 28 2.1 Giới thiệu 28 2.2 Sự phân tán môi trường Java: RMI 30 2.2.1 Hệ thống đối tượng phân tán môi trường Java 30 2.2.2 Giới thiệu ứng dụng phân tán với RMI 31 2.2.3 Kiến trúc chế RMI 33 Chương Thuật toán phân tán 38 3.1 Tổng quan thuật toán phân tán 38 3.2 Thuật toán mạng đồng 38 3.2.1 Leader election mạng vòng đồng 39 3.2.2 Leader Election mạng đồng tổng quát 42 3.2.3 Leader election mạng vịng khơng đồng 43 3.3 Thuật tốn mạng khơng đồng 46 3.3.1 Mutual Exclusion 49 3.3.2 Thuật toán mutual exclution Dijkstra 52 3.3.3 Thuật toán Two-process Peterson 56 3.3.4 Thuật toán mutual exclusion Burn 57 3.3.5 Thuật toán Bakery Lamport 59 Chương Áp dụng thuật toán phân tán cho hệ thống ATM ngân hàng 64 4.1 Giới thiệu hệ thống ATM ngân hàng 64 4.2 Chuẩn ISO 8583 65 4.3 Xử lý phân tán 72 4.4 Áp dụng thuật toán Mutual Exclution Burn 73 Kết luận 76 Tài liệu tham khảo 78 Danh mục chữ viết tắt thuật ngữ Chữ viết tắt/Thuật Giải thích ngữ CBSE Component-based software engineering - Kỹ nghệ phần mềm hướng thành phần UID Unique Identifier - Định danh Leader Election Bầu đại biểu – Trong mơ hình mạng vịng đồng bộ, cần tìm tiến trình có định danh lớn làm Leader phép thực tiến trình, tiến trình khác phải chờ lượt LCR Lelann, Chang-Roberts – tên thuật tốn Mutual Exclution Vấn đề tương tranh– mơ hình mạng khơng đồng bộ, vấn đề xảy có nhiều tiến trình truy cập tài nguyên chia xẻ, cần phải có phân phối tài ngun tiến trình HSC Hội sở ngân hàng Danh mục hình vẽ Hình 1.1: Mơ hình hệ thống ứng dụng ngân hàng Hình 1.2: Các kiểu dị vết thành phần 16 Hình 1.3: Cấu trúc mơ hình dị vết hướng kiện 19 Hình 1.4: Chuỗi tương tác 20 Hình 1.5: Gói dị vết 21 Hình 1.6: Bộ theo Tracker 21 Hình 1.7: Sự thi hành bindBeanTraker 22 Hình 1.8 Mơi trường dị vết phân tán 23 Hình 2.1 : Mơ hình đối tượng phân tán 25 Hình 2.2 : Đăng ký tham chiếu đối tượng từ xa 29 Hình 2.3: Kiến trúc RMI 30 Hình 2.4: Sự hỗ trợ thi hành RMI 30 Hình 2.5 : Quan hệ giao diện lớp 31 Hình 2.6: Các tầng kiến trúc RMI 32 Hình 2.7 : Kết nối máy ảo 34 Hình 3.1: Thơng điệp liên tiếp gửi thuật tốn Hirshberg-Sinclair38 Hình 3.2: Hệ thống nhớ chia sẻ 43 Hình 3.3 : Chu kỳ hoạt động tiến trình 47 Hình 3.4: Đặc tả giao diện NSD 47 Hình 3.5: Kiến trúc tổng thể vấn đề mutual exclution 48 Hình 3.6: Tại thời điểm t1, pi thiết đặt flag[i]=2; thời điểm t2, pj lại thấy flag[i] ≠ 2; thời điểm t3 pi rời khỏi vùng C 51 Hình 4.1 : Qui trình xử lý giao dịch ATM 67 Mở đầu Trước vào giới thiệu nội dung luận văn, nghiên cứu mô hình ứng dụng ngân hàng[1] Hình 1.1 : Mơ hình hệ thống ứng dụng ngân hàng Trong mơ hình hệ thống, hệ thống nghiệp vụ cốt lõi bao gồm phân hệ nghiệp vụ ngân hàng, là: Thơng tin khách hàng(Customer Information File-CIF), Tiền gửi(Deposit), Khoản vay(Loan), Tài trợ thương mại(Trade Finance), Chuyển tiền(Remittance), Ngân quỹ(Tresury) Sổ tổng hợp(General Ledger-GL) Các phân hệ xử lý tất nghiệp vụ cốt lõi ngân hàng giao tiếp với phân hệ khác, hệ thống khác thông qua phần xử lý dịch vụ phân phối Trên sở nghiệp vụ này, ngân hàng phát triển sản phẩm dịch vụ qua kênh phân phối sản phẩm gồm có: hệ thống giao dịch chi nhánh(Branch Delivery System BDS), SWIFT/TELEX, IPBS, T5, ATM, POS, HomeBanking, Internet Banking…Đồng thời hệ thống cịn có khả tích hợp với hệ thống chương trình khác như: Quản lý mẫu dấu chữ ký, Trái phiếu, CIC, Quản lý TSCĐ, Quản lý phải thu/phải trả… 10 Dữ liệu toàn hệ thống lưu trữ tập trung kho liệu (Data warehouse) HSC Giao dịch chi nhánh toàn quốc xử lý trực tuyến máy chủ Với mơ hình hoạt động ta thấy ứng dụng ngân hàng ứng dụng phân tán phát triển từ nhiều thành phần phần mềm ghép nối lại Mục tiêu ngân hàng đặt ngày phát triển nhiều sản phẩm dịch vụ khách hàng chất lượng cao, an toàn, tiện lợi Để đạt điều này, bênh cạch việc tìm hiểu thị trường nhu cầu khách hàng, nghiệp vụ đáp ứng cầu đó, khía cạnh khơng phần quan trọng mà ngân hàng hướng tới lĩnh vực công nghệ thông tin Vấn đề nghiên cứu, nắm bắt làm chủ hệ thống để từ phát triển hệ thống yêu cầu cấp thiết đặt ngân hàng Với mục tiêu đó, luận văn đề cập đến nội dung sau: Chương 1: Thành phần phần mềm Giới thiệu khái niệm kỹ nghệ phần mềm hướng thành phần, giám sát dò vết thành phần phần mềm Chương 2: Hệ thống đối tượng phân tán Giới thiệu tổng quan hệ thống phân tán, mơ hình áp dụng nhiều phần mềm ngân hàng Chương 3: Thuận tốn ứng dụng mơi trường phân tán, giới thiệu vấn đề nảy sinh môi trường phân tán, thuật tốn giải vấn đề Chương 4: Áp dụng thuật toán phân tán cho hệ thống ATM ngân hàng Kết luận Tài liệu tham khảo 11 Chương Thành phần phần mềm (software component) 1.1 Kỹ nghệ phần mềm hướng thành phần 1.1.1 Tổng quan kỹ nghệ phần mềm hướng thành phần Kỹ nghệ phần mềm hướng thành phần(CBSE) có nghĩa lắp rắp thành phần phần mềm có sẵn trước thành phần mềm lớn hơn[9] Khái niệm tiến trình thành phần phần mềm viết để cung cấp chức chung cho nhiều hệ thống khác Dựa ý tưởng thành phần phần cứng, mục đích CBSE cho phép phần hệ thống phần mềm thay thành phần có chức tương tự Ý tưởng Phần mềm thành phần hoá (Componentizing software) đưa Mcllorys nói khủng hoảng phần mềm Ngày nay, ngày có nhiều thành phần phần mềm thương mại thị trường thay xây dựng, việc phát triển phần mềm hướng tới mua thành phần lắp ráp chúng lại với Mục đích CBSE giảm chi phí phát triển phần mềm: hệ thống thành phần có tính linh hoạt dễ trì theo xu hướng plug-and-play thành phần Tiến trình phát triển[9] Phát triển phần mềm có hai tiến trình chính: - Lắp ráp hệ thống phần mềm từ thành phần phần mềm - Phát triển phần mềm để sử dụng lại Các hoạt động lắp ráp thành phần phần mềm thành hệ thống phần mềm chia thành hoạt động sau: - Đánh giá chất lượng thành phần (Component qualification) - Chỉnh sửa lại thành phần cho phù hợp (Component adaptation) - Lắp ráp thành phần(Component assemblly) - Phát triển trì hệ thống Mặc dù tiến trình khác biệt so với việc phát triển phần mềm truyền thống chúng có điểm chung, ví dụ vấn đề quản lý thay đổi trì phát triển phần mềm Sau vào mô tả chi tiết cho hoạt động Đánh giá chất lượng Đánh giá chất lượng xác định khả thích ứng phần mềm sử dụng hệ thống tạo cuối Khi có nhiều sản phẩm cạnh tranh thị trường vấn đề đặt phải lựa chọn sản phẩm phù hợp Sự lựa chọn phụ thuộc vào so sánh thành phần với thành phần khác thích ứng 12 sử dụng thành phần Vấn đề nảy sinh suốt hoạt động tính tin cậy(trust) chứng thực(certification) Tiến trình chứng thực gồm có hai phần: Thiết lập kiện (fact) thành phần xác định thuộc tính thành phần có phù hợp với đặc tả công bố, Thiết lập tin cậy kiện hợp lệ này, nhờ tổ chức tin cậy thứ ba chứng thực cho độ tin cậy phù hợp cấp cho bảng chứng thực để xác nhận điều Động thúc đẩy việc chứng thực thành phần liên hệ thuộc tính chứng thực thành phần với thuộc tính hệ thống cuối Nếu ta hiểu biết thành phần lựa chọn để lắp ráp ta đốn thuộc tính chúng hệ thống cuối Độ xác việc tiên đoán phụ thuộc vào độ tin cậy thành phần độ hiểu biết gắn kết thành phần Đối với nhiều thành phần thị thường, tiên đoán thường khó khăn thiếu thơng tin khả thành phần thông tin độ tin cậy chúng Theo học thuyết phần mềm cổ điển, việc đặc tả thành phần phải đầy đủ, hoàn thành ổn định Tuy nhiên việc đặc tả đầy đủ khơng thực tế: số thành phần có thuộc tính biểu lộ lại khơng thể làm thành tài liệu được, chưa kể tài liệu dùng ký hiệu chuyên biệt Chỉnh sửa cho phù hợp(adaption) Các thành phần khác viết để đáp ứng yêu cầu khác nhau, thành phần đảm đương bối cảnh mà triển khai Mục đích việc chỉnh sửa đảm bảo xung đột thành phần nhỏ Việc sử dụng cách chỉnh sửa khác phụ thuộc vào khả truy nhập vào cấu trúc bên thành phần - Các thành phần hộp trắng (white-box) viết lại đáng kể để vận hành với thành phần khác - Các thành phần hộp xám (grey-box) cung cấp ngôn ngữ mở rộng giao diện lập trình ứng dụng (API) - Các thành phần hộp đen (balck-box) không cung cấp ngôn ngữ mở rộng API Nói chung, thành phần thường hộp đen, dịch vụ truy cập thông qua giao diện cho trước Tuy nhiên, theo logic quan tâm đến thành phần hộp trắng hộp xám Lắp ráp thành phần Lắp ráp tích hợp thành phần số cơng cụ có sẵn để ghép thành phần lại tạo hệ thống Ví dụ, thành phần thương mại thường viết theo mô hình thành phần Enterprise JavaBeans, COM, CORBA gần NET Phát triển trì hệ thống ... 11 1. 1 .1 Tổng quan kỹ nghệ phần mềm hướng thành phần 11 1. 1.2 Thành phần phần mềm 14 1. 2 Mơ hình thành phần 15 1. 3 Giám sát dò vết thành phần 17 1. 3 .1 Giới... NỘI TRƯỜNG ĐẠI HỌC CƠNG NGHỆ NGUYỄN THỊ BÍCH NGỌC NGHIÊN CỨU CÁC THUẬT TOÁN GIÁM SÁT VÀ XỬ LÝ CẠNH TRANH GIỮA CÁC THÀNH PHẦN PHẦM MỀM TRÊN MÔI TRƯỜNG PHÂN TÁN Chuyên ngành: Công nghệ thông tin. .. luận văn đề cập đến nội dung sau: Chương 1: Thành phần phần mềm Giới thiệu khái niệm kỹ nghệ phần mềm hướng thành phần, giám sát dò vết thành phần phần mềm Chương 2: Hệ thống đối tượng phân tán

Ngày đăng: 23/09/2020, 21:03

Mục lục

  • Danh mục các chữ viết tắt và thuật ngữ

  • Danh mục các hình vẽ

  • 1.1 Kỹ nghệ phần mềm hướng thành phần

  • 1.1.1 Tổng quan kỹ nghệ phần mềm hướng thành phần

  • 1.1.2 Thành phần phần mềm

  • 1.2 Mô hình thành phần

  • 1.3 Giám sát và dò vết thành phần

  • 1.3.2 Dò vết thành phần

  • 1.3.3 Cơ chế tăng khả năng dò vết cho thành phần

  • 1.3.4 Mô hình hướng sự kiện của Java giúp hỗ trợ dò vết

  • 1.3.5 Gói dò vết của Java

  • 3.2.5. Môi trường dò vết cho phần mềm thành phần

  • Chương 2. Hệ thống đối tượng phân tán

  • 2.2 Sự phân tán trong môi trường Java: RMI

  • 2.2.1 Hệ thống đối tượng phân tán trong môi trường Java

  • 2.2.2 Giới thiệu ứng dụng phân tán với RMI

  • 2.2.3 Kiến trúc của cơ chế RMI

  • Chương 3. Thuật toán phân tán

  • 3.1 Tổng quan về các thuật toán phân tán

  • 3.2 Thuật toán trong mạng đồng bộ

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

Tài liệu liên quan