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

77 25 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

Đ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 65 hệ thống phát triển rộng khắp bắt đầu nảy sinh vấn đề hệ thống phân tán Các vấn đề hệ thống phân tán liên quan đến: phần mềm thực hệ thống, vấn đề nảy sinh mạng kết nối, vấn đề an tồn bảo mật mạng Trong khn khổ luận văn, tài liệu nghiên cứu đến vấn đề xung đột xảy có nhiều giao dịch (trên ATM) xử lý lúc 4.2 Chuẩn ISO 8583 Một giao dịch thẻ thông thường phải di chuyển qua số hệ thống[1] Ví dụ việc mua bán kho hàng di chuyển từ thiết bị đầu cuối bán hàng, qua mạng, đến ngân hàng phát hành thẻ Giao dịch mang thông tin kiểu giao dịch, thẻ sử dụng, việc mua bán, khối lượng giao dịch, thông tin bảo mật, …Đáp lại việc đồng ý hay từ chối giao dịch trả theo lộ trình tương tự thiết bị đầu cuối Chuẩn ISO 8583 định nghĩa khuôn dạng thông điệp luồng giao tiếp để cho hệ thống khác trao đổi giao dịch[] Hầu hết giao dịch từ thẻ ATM sử dụng chuẩn ISO 8583 số điểm dây chuyền kết nối, diễn giao dịch khách hàng sử dụng thẻ để mua hàng Hiện thẻ Master thẻ Visa dựa chuẩn ISO 8583 Cấu trúc thông điệp Một thông điệp theo chuẩn ISO 8583 có phần sau: Chỉ báo loại thơng điệp Bitmap, thành phần liệu thể Các thành phần liệu, trường thông điệp Chỉ báo loại thông điệp(Message Type Indicator - MTI) Đây trường số dùng để phân loại chức mức cao thông điệp Một báo kiểu thông điệp bao gồm phiên chuẩn ISO 8583, lớp thông điệp lớp thông điệp Phiên thông điệp Các phiên chuẩn ISO 8583 số MTI 0xxx – ISO 8583-1: 1987 version 1xxx – ISO 8583-2: 1993 version 2xxx – ISO 8583-3: 2003 version Chú ý việc xếp trường phiên khác khác nhau; ví dụ thành phần tiền tệ phiên 1987 1993 khơng cịn sử dụng phiên 2003, phiên để phần tiền tệ thành phần thành phần giá trị tài 66 Lớp thông điệp Lớp x1xx – thông điệp chuẩn chi Lớp x2xx – thơng điệp tài Lớp x3xx – thơng điệp cập nhật file Lớp x4xx – thông điệp giao dịch phục hồi Lớp x5xx – thơng điệp hồ giải Lớp x6xx – thông điệp quản trị Lớp x8xx – thông điệp quản lý mạng Lớp thông điệp xx00: chấp nhận yêu cầu, đòi hỏi xx10: trả lời yêu cầu xx20: thông báo dẫn hành động thực hiện, chấp nhận yêu cầu mà trả lời yêu cầu xx30: trả lời cho thơng báo dẫn Vị trí thứ tư dãy số lặp lại yêu cầu (trừ thơng điệp x300), ví dụ 1100: u cầu chuẩn cho 1101 lặp lại yêu cầu chuẩn chi Bitmaps(s) Một bitmap kỹ thuật xếp (index) thông điệp ISO 8583 để thành phần liệu (Data Element) thể Một thơng điệp chứa bitmap gọi bitmap sở, thể thành phần liệu từ đến 64 Bitmap thứ hai nằm thành phần liệu thứ nhất, bit Bitmap thứ cho ta biết có bitmap thứ hai hay khơng Bitmap thứ hai thể thành phần liệu từ 65 đến 128 Một thông điệp có đến bitmap phiên chuẩn ISO 8583 Bitmap truyền thành byte(dạng nhị phân), chuyển byte thành 16 ký tự theo hệ hexa 1-9, A-F(dạng ASCII) Thành phần liệu (Data Element) Thành phần liệu trường mang thông tin giao dịch Theo chuẩn ISO 1983 gốc (1987) có tối đa 128 thành phần liệu, theo chuẩn lên tới 192 thành phần liệu Mỗi thành phần liệu có ý nghĩa đặc tả khn dạng Theo chuẩn ISO 8583 thành phần liệu có số mục đích chung việc đặc tả hệ thống phiên khác khác 67 Khuôn dạng thành phần liệu Mỗi thành phần liệu có khn dạng chuẩn bao gồm nội dung cho phép(kiểu numeric, kiểu binary, …) trường độ dài cho phép trường, mô tả chi tiết phần Các kiểu trường liệu Chữ viết Ý nghĩa A Alpha, gồm Blanks N Kiểu Numeric tắt S Kiểu ký Characters) tự đặc biệt (Special An Alphanumeric As Kiểu Alpha & Special Characters Ns Kiểu Numeric and Special Chars B Dữ liệu Binary Ans Alphabetic, characters numeric special Độ dài trường Mỗi thành phần liệu có độ dài cố định biến thiên Trong thơng điệp, trường có độ dài biến thiên phần báo độ dài Thành phần liệu có độ dài cố định Thành phần liệu có độ dài cố định xác định chuẩn ISO 8583, thơng điệp khơng cần có phần báo độ dài Trường có độ dài cố định phần độ dài đứng sau phần nội dung cho phép Ví dụ thành phần liệu có khn dạng n6, có nghĩa trường có độ dài cố định số Thành phần liệu có độ dài biến thiên Các thành phần liệu khác có chiều dài biến thiên phần độ dài thành phần liệu đứng trước Ví dụ, phần báo độ dài 1-digit 68 trường có độ dài biến thiên có giá trị từ đến 9, phần báo độ dài 3-digit hỗ trợ giá trị đến 999 Trường có chiều dài biến thiên nhận biết hai dấu chấm „ ‟ sau độ dài tối đa trường Phần báo độ dài thể số lượng ký tự „L‟ tương ứng với độ dài phần độ dài theo sau „VAR‟ Ví dụ, thành phần liệu thứ hai có khn dạng n 19,LLVAR có nghĩa trường có kiểu số với tối đa 19 số phần độ dài có số Kiểu thơng điệp n4 – giá trị số có chữ số Trường bắt buộc phải có tất thông điệp nhằm phần loại lớp thông điệp Kiểu thơng điệp có giá trị sau (chưa hoàn thành): ISO8583 message number Description 0100 Authorisation request – Yêu cầu chuẩn chi 0101 Authorisation request repeat – Lặp lại yêu cầu chuẩn chi 0102 Authorisation completion confirmation – Xác nhận chuẩn chi thành công 0103 Authorisation completion confirmation repeat - Lặp lại việc xác nhận chuẩn chi thành công 0110 Authorisation request response - Trả lời yêu cầu chuẩn chi 0112 Authorisation completion response - Trả lời chuẩn chi thành công 0120 Authorisation advice – Thông báo chuẩn chi 0121 Authorisation advice repeat – Lặp lại thông báo chuẩn chi 0122 Authorisation advice completion confirmation – Xác nhận đề xuất chuẩn chi thành công 0123 Authorisation advice completion confirmation rpt - Lặp lại đề xuất chuẩn chi thành công 0130 Authorisation advice response - Trả lời thông báo chuẩn chi 0132 Authorisation advice completion response - Trả lời đề xuất chuẩn chi 0200 Financial Transaction request – Yêu cầu tài giao dịch 0201 Financial Transaction request repeat - Lặp lại yêu cầu tài giao dịch 0202 Financial transaction completion confirmation – Xác nhận yêu cầu tài thành cơng 0203 Financial transaction completion confirmation rpt - Lặp lại xác nhận yêu cầu tài 69 thành cơng 0210 Financial transaction request response - Trả lời yêu cầu tài giao dịch 0212 Financial transaction completion response - Trả lời yêu cầu tài giao dịch thành công 0220 Financial transaction advice – Thơng báo tài giao dịch 0221 Financial transaction advice repeat - Lặp lại thơng báo tài giao dịch 0222 Financial transaction advice completion confirmati – Xác nhận hồn thành thơng báo giao dịch tiền tệ 0223 Financial txn advice completion confirmation rpt - Lặp lại xác nhận hồn thành thơng báo giao dịch tiền tệ 0230 Financial txn advice response - Trả lời thông báo giao dịch tiền tệ 0232 Financial txn advice completion response - Trả lời hồn thành thơng báo giao dịch tiền tệ 0300 Acquirer file update request – Yêu cầu cập nhật file Tổ chức toán 0302 Card issuer file update request – Yêu cầu cập nhật file Tổ chức phát hành thẻ 0310 Acquirer file update request response - Trả lời yêu cầu cập nhật file Tổ chức toán 0312 Card issuer file update request response - Trả lời yêu cầu cập nhật file Tổ chức phát hành thẻ 0320 Acquirer file update advice – Thông báo cập nhật file Tổ chức phát hành thẻ 0322 Card issuer file update advice – Thông báo cập nhật file Tổ chức phát hành thẻ 0330 Acquirer file update advice response - Trả lời thông báo cập nhật file Tổ chức toán thẻ 0332 Card issuer file update advice response - Trả lời thông báo cập nhật file Tổ chức phát hành thẻ 0400 Acquirer reversal request – Yêu cầu giao dịch phục hồi Tổ chức toán thẻ 0401 Acquirer reversal request response - Trả lời yêu cầu giao dịch phục hồi Tổ toán thẻ 0402 Card issuer reversal request – Yêu cầu giao dịch phục hồi tổ chức phát hành thẻ 0403 Card issuer reversal request repeat – Lặp lại Yêu cầu giao dịch phục hồi tổ chức phát hành thẻ 70 0410 Acquirer reversal request response - Trả lời yêu cầu giao dịch phục hồi Tổ chức toán thẻ 0412 Card issuer reversal request response-Trả lời yêu cầu giao dịch phục hồi tổ chức phát hành thẻ 0420 Acquirer reversal advice – Thông báo giao dịch phục hồi Tổ chức toán thẻ 0421 Acquirer reversal advice repeat - lặp lại thông báo giao dịch phục hồi tổ chức tốn thẻ 0422 Card issuer reversal advice – Thơng báo giao dịch phục hồi tổ chức phát hành thẻ 0423 Card issuer reversal advice repeat - Lặp lại thông báo giao dịch phục hồi tổ chức phát hành thẻ 0430 Acquirer reversal advice response - Trả lời thông báo giao dịch phục hồi Tổ chức toán thẻ 0432 Card issuer reversal advice response - Trả lời thông báo giao dịch phục hồi tổ chức phát hành thẻ 0500 Acquirer reconciliation request – Yêu cầu hồi giải Tổ chức tốn 0501 Acquirer reconciliation request repeat - Lặp lại yêu cầu hoà giải tổ chức toán 0502 Card issuer reconciliation request – Yêu cầu hoà giải tổ chức phát hành 0503 Card issuer reconciliation request repeat - Lặp lại yêu cầu hoà giải tổ chức phát hành 0510 Acquirer reconcilaition request response - Trả lời yêu cầu hoà giải tổ chức toán 0512 Card issuer reconciliation request response - Trả lời yêu cầu hoà giải tổ chức phát hành 0520 Acquirer reconciliation advice – Thơng báo hồ giải Tổ chức toán 0521 Acquirer reconciliation advice repeat - Lặp lại Thơng báo hồ giải tổ chức tốn thẻ 0522 Card issuer reconciliation advice- Thơng báo hoà giải tổ chức phát hành thẻ 0523 Card issuer reconciliation advice repeat – Lặp lại thông báo hoà giải Tổ chức phát hành thẻ 0530 Acquirer reconciliation advice response - Trả lời thơng báo hồ giải tổ chức toán thẻ 0532 Card issuer reconciliation advice response- Trả lời thơng báo hồ giải tổ chức phát hành thẻ 71 0600 Administrative request – Yêu cầu quản trị 0601 Administrative request repeat - Lặp lại yêu cầu quản trị 0610 Administrative request response – Trả lời yêu cầu quản trị 0620 Administrative advice – Thông báo quản trị 0621 Administrative advice repeat - Lặp lại thông báo quản trị 0630 Administrative advice response - Trả lời thông báo quản trị 0800 Network management request – Yêu cầu quản lý mạng 0801 Network management request repeat - Lặp lại yêu cầu quản lý mạng 0810 Network management request response - Trả lời yêu cầu quản trị mạng 0820 Network management advice – Thông báo quản trị mạng 0821 Network management advice repeat - Lặp lại thông báo quản trị mạng 0830 Network management advice response - Trả lời thơng báo quản trị mạng Q trình xử lý giao dịch ATM[1] ATM AS400 ATM system 12 Visa Switch 11 Sun – Visa interface 10 VisaNet Issuer HSM Hình 4.1 : Qui trình xử lý giao dịch ATM - Khách hàng thực giao dịch ATM, máy ATM gửi message yêu cầu đến ATM Host AS400 Các thông tin message bao gồm: số thẻ, liệu track 2, loại giao dịch, PIN mã hóa số tiền (nếu giao dịch rút tiền) - Host phân loại giao dịch thẻ: + Nếu giao dịch thẻ BIDV (card_on_us) chuyển sang HSM kiểm tra PIN xử lý AS400 + Nếu thẻ Visa (not_on_us) chuyển giao dịch sang Visa Switch Visa Switch xử lý tiếp message - Visa Switch gửi PIN đến HSM để mã hóa khóa tổ chức toán (Acquier Working Key- AWK) - HSM sau mã hóa PIN với AWK gửi PIN mã hóa Visa Switch 72 - Visa Switch gửi message (bao gồm PIN mã hóa AWK) tới Visa Interface - Visa Interface nhận message gửi từ Visa Switch, định dạng message theo tiêu chuẩn Visa gửi message tới VisaNet thông qua hệ thống VAP - VisaNet giải mã AWK, đồng thời mã hóa khóa tổ chức phát hành (Issuer Working Key- IWK), gửi message tổ chức phát hành Tổ chức phát hành nhận message, xác thực PIN kiểm tra giao dịch xử lý giao dịch (nếu giao dịch hợp lệ, post tài khoản khách hàng) - Tổ chức phát hành gửi message phản hồi xác nhận chấp thuận không chấp thuận giao dịch - VisaNet gửi phản hồi Visa interface - Visa Interface gửi phản hồi Visa Switch (message định dạng lại theo tiêu chuẩn SIBS) Visa Switch gửi yêu cầu AS400 hạch toán với tài khoản BIDV (nếu mã phản hồi chấp thuận giao dịch) - Visa Switch gửi phản hồi Host - Host gửi phản hồi ATM: + Nếu mã phản hồi chấp thuận giao dịch: trả tiền cho khách hàng hiển thị thông tin tài khoản + Nếu mã phản hồi không chấp thuận: đưa lý từ chối Theo quy định Visa, trình giao dịch khách hàng (từ lúc lựa chọn giao dịch đến nhận phản hồi từ ATM) tối đa 20 giây 4.3 Xử lý phân tán Trong luận văn này, quan tâm đến vấn đề thuật toán giải vấn đề xung đột nhiều thẻ ATM giao dịch tài khoản Lúc ban đầu, hệ thống không quản lý vấn đề mà quan tâm đến vấn đề khách hàng gửi tiền điểm giao dịch ngân hàng rút tiền điểm giao dịch máy ATM hệ thống Tuy nhiên hệ thống lúc lại khơng giả vấn đề tương tranh xảy có nhiều thẻ ATM giao dịch tài khoản xảy tượng hai thẻ ATM rút tiền số tiền rút vượt số tiền khách hàng tài khoản ngân hàng bị tiền Sau đó, để giải vấn đề này, người ta đưa giải pháp thêm trường trạng thái vào bảng sở liệu tài khoản khách hàng Khi có giao dịch tài khoản, trường trạng thái chuyển sang chế độ bận để khơng có giao dịch khác truy cập vào được, sau giao dịch hồn tất trường trạng thái trả lại chế độ rỗi, cho phép giao dịch khác thực Như có hai giao dịch rút tiền tài khoản giao dịch truy cập vào trước đổi trường trạng thái sang chế độ bận, giao dịch rút tiền thứ hai nhận thông báo “Account in use” để thông báo cho khách hàng biết tài khoản bận có giao dịch khác thực tài khoản Khách hàng thực giao dịch rút tiền 73 sau đợi giao dịch rút tiền trước hồn tất rút tiền Với giải pháp này, ngân hàng khơng cịn bị tiền trước Giải thuật áp dụng cho ngân hàng đảm bảo cho ngân hàng khơng cịn bị tiền trước nữa, nhiên khơng đảm bảo hồn tồn hệ thống hoạt động tốt ngun nhân sau đâu : Thứ việc kết nối tới sở liệu cách liên tục để lấy trạng thái tài khoản góp phần làm chậm trình xử lý giao dịch Thứ hai với cách giải trên, khách hàng nhận thơng báo “Account in use” cố gắng thử lại giao dịch lượng thông điệp đường truyền tăng lên, gây ảnh hưởng đến lưu thông đường truyền Ngân hàng bị xảy tượng nghẽn mạng với lí Thứ ba, ta xét trường hợp giao dịch tài khoản thực chừng bị lỗi (ví dụ trường hợp xấu máy chủ ngừng hoạt động), giao dịch khơng thực việc thiết lập lại trường trạng thái chế độ rỗi Như vậy, tất giao dịch rút tiền, chuyển khoản… sau truy cập vào tài khoản nhận thông báo “Account in use” khơng thực Khi đó, để thiết lập lại trạng thái cho tài khoản, khách hàng chủ tài khoản phải viết đơn đề nghị với ngân hàng Lúc phía ngân hàng thực thao tác thiết đặt lại trạng thái khách hàng thực lại giao dịch Tất nhiên, cách giải chấp nhận với nguyên nhân đảm bảo ngân hàng thiết lập lại trạng thái cho tài khoản bị lỗi tài khoản giao dịch Tuy nhiên điều phiền tối cho khách hàng, gây khó chịu cho khách hàng, hệ thống bị lỗi phía ngân hàng khơng phải phía khách hàng 4.4 Áp dụng thuật tốn Mutual Exclution Burn Bài toán đặt giải vấn đề xung đột có nhiều giao dịch thực tài khoản để đảm bảo an tồn cho ngân hàng khơng gây phiền toái cho khách hàng Để giải toán này, ta áp dụng số thuật tốn phân tán, thuật tốn có ưu nhược điểm riêng Trong luận văn này, sử dụng thuật toán Mutual Exclution Burn áp dụng cho tốn để minh hoạ Sau phần mơ tả cách thức giải tốn Phân tích: biết, vấn đề tương tranh xảy giao dịch tài khoản Hệ thống ngân hàng có nhiều tài khoản thuật toán xử lý tương tranh áp dụng tài khoản, ta coi tài khoản có kênh xử lý Khi nhận thơng điệp u cầu giao dịch đầu tiên, lấy số tài khoản tiến trình đó, sau đặt vào kênh giải tương ứng Để thực điều tất tiến trình giao dịch đặt vào hàng đợi thông điệp Một vấn đề mà cần quan tâm việc đánh số tiến trình Theo thuật tốn mà nghiên cứu trước đây, vòng lặp thực dựa số lượng tiến trình n Số n lớn thời gian thực vịng 74 lặp nhiều Vì giải pháp đưa số tiến trình thiết lập lại sau ngày hoạt động Thông thường chọn để thiết lập lại việc đánh số tiến trình thời điểm có giao dịch nhất, sáng Việc đánh số tiến trình khơng phải theo tổng số giao dịch toàn hệ thống mà dựa tài khoản tiến trình Áp dụng giải thuật Burn: Các biến chia xẻ tk: số lượng tài khoản khách hàng tối đa mà hệ thống có n: số lượng giao dịch tối đa khách hàng ngày Số n tính số lượng thẻ ATM tối đa cấp cho khách hàng nhân với số lượng giao dịch tối đa thẻ thực ngày id: mảng số tự nhiên lưu số hiệu tiến trình giao dịch cho tài khoản [1 tk], nhận giá trị miền [1 n+1] Mỗi biến id[j] đọc ghi tất tiến trình tài khoản j flag: mảng hai chiều [1 tk][1 n] có giá trị nằm tập {0,1}, flag[j][i] viết tiến trình pi tài khoản j đọc tất tiến trình tài khoản j Đoạn mã thiết lập lại số cho tiến trình: For i  {1, , tk} id[i]1 End for Đoạn mã đánh số tiến trình: Với tiến trình đến, đặt tiến trình vào hàng đợi thơng điệp Với tiến trình lấy từ hàng đợi - Lấy số tài khoản j tiến trình - Gán số hiệu cho tiến trình id[j] - Tăng giá trị id[j] thêm - Đặt tiến trình vào kênh tài khoản j Đoạn mã cho tiến trình pi tài khoản j L: flag[j][i]  For x  {1,2, , i-1} if ( flag[j][x] = ) then goto L ; end if end for flag[j][i]  For x  {1, 2, , i-1} if( flag[j][x] = 1) then goto L 75 end if end for M: for x  {i+1, , id[j]-1} if flag[j][x] = then goto M end if end for ******Critical region********* Thực xử lý giao dịch cho tiến trình flag[j][i]  ****** Remainder******** Nhận xét : Chúng ta thấy chất thuật toán phân tán mà đề cập trước giải vấn đề cho thời điểm có tiến trình phép truy nhập vào tài khoản khách hàng để thực giao dịch Sự khác biệt thuận toán phân tán với cách xử lý hệ thống trạng thái bận tài khoản không lưu trường sở liệu mà lưu vào mảng flag tương ứng cho tài khoản Việc lưu trạng thái tài khoản vào mảng flag đem lại cải tiến sau :  giảm bớt việc kết nối đến sở liệu, làm tăng tốc độ giao dịch khách hàng  giao dịch tài khoản chưa xử lý đợi tài khoản chế độ rỗi sau thực Như giảm số lượng số lượng thông điệp đường truyền khách hàng thực lại giao dịch 76 Kết luận Như vậy, nghiên cứu số khía cạnh liên quan đến việc phát triển hệ thống phần mềm phân tán hướng thành phần ứng dụng vào ứng dụng ngân hàng nay, bao gồm:  Thứ vấn đề kỹ nghệ phần mềm hướng thành phần, lĩnh vực cần thiết để trợ giúp nhà phát triển phần mềm có phương pháp luận việc quản lý trình phát triển phần mềm hướng thành phần Luận văn đề cập cách tổng quan giúp người đọc có nhìn khái quát lĩnh vực Luận văn giới thiệu khía cạnh quan trọng lĩnh vực này, vấn đề giám sát dò vết thành phần phần mềm, đưa phương pháp dị vết để trợ giúp việc tìm kiếm, xác định lỗi trình phát triển phần mềm  Vấn đề thứ hai mà luận văn đề cập tới mơ hình đối tượng phân tán Đây phương thức lập trình khác hẳn với mơ hình truyền thơng điệp trước ứng dụng nhiều ứng dụng triển khai ngân hàng nhằm nâng cao lực tính tốn hệ thống  Phần thứ ba thuật toán phân tán, lĩnh vực cốt lõi toán xử lý môi trường phân tán Luận văn trình bày số thuật tốn xử lý tương tranh áp dụng cho mơ hình đồng khơng đồng để từ ta lựa chọn thuật toán áp dụng vào toán xử lý phân tán thực tế  Cuối cùng, luận văn trình bày tốn xử lý giao dịch hệ thống ATM, tốn điển hình phân tán hệ thống ngân hàng Luận văn trình bày chuẩn ISO 8583 áp dụng cho máy ATM, cách thức xử lý phân tán vấn đề lỗi nảy sinh cách thức xử lý Từ việc xác định nguyên nhân gây lỗi, áp dụng thuật toán phân tán cho mơ hình khơng đồng bộ, luận văn giới thiệu minh hoạ thuật toán Burn nhằm cải thiện trình xử lý giao dịch Với nội dụng trình bày trên, có khái niệm việc phát triển ứng dụng phần mềm hướng thành phần môi trường phân tán Việc nghiên cứu thuật toán xử lý môi trường phân tán vấn đề nảy sinh qua trình phát triển hệ thống phân tán Như biết, Việt Nam chưa có cơng ty phần mềm có khả cung cấp phần mềm phân tán áp dụng cho ngân hàng có hiệu quả, xử lý online tất giao dịch ngân hàng với số lượng lớn Tất ngân hàng (có ngân hàng) tiểu dự án Hiện đại hoá ngân hàng phải trang bị hệ thống ngân hàng cốt lõi từ nhà cung cấp nước Với trạng nước ta nay, việc nghiên cứu để xây dựng hệ thống khơng có khả năng, buộc phải mua Nhưng khơng có hiểu biết để chọn lựa sản phẩm mua thứ không đánh giá chất lượng sản phẩm phần mềm khơng mua sản phẩm chất lượng tương ứng với số tiền bỏ Vấn đề thứ hai bị phụ thuộc hoàn toàn vào nhà cung cấp, điều quan trọng tính chủ động việc phát triển sản phẩm dịch vụ ngân hàng Mỗi phát triển sản phẩm dịch vụ mới, 77 hệ thống không cung cấp sẵn ta lại phải mời nhà cung cấp phần mềm sang xây dựng, chi phí tốn Ngay quy trình nghiệp vụ phải phụ thuộc, nhiều vấn đề khác xung quanh vấn đề Hiện tại, mặt kỹ thuật công nghệ, xét tất bước mơ hình phát triển phần mềm luận văn có ý nghĩa việc xây dựng yêu cầu người sử dụng, giai đoạn kiểm thử triển khai hệ thống Bản yêu cầu người sử dụng nội dung hợp đồng ngân hàng với nhà cung cấp phần mềm Để có yêu cầu người sử dụng chất lượng, bao quát chiến lược phát triển ngân hàng, lường trước khả xảy hệ thống buộc phải có hiểu biết định hệ thống phân tán Đối với giai đoạn kiểm thử vậy, ta xác định vấn đề cần giải ta xây dựng chiến lược kiểm thử hệ thống phù hợp, đảm bảo chất lượng hệ thống Với thuật tốn trình bày ta có bước cải thiện đáng kể tốc độ xử lý giao dịch giảm thiểu lưu lượng truyền tin mạng Tuy nhiên thuật toán chưa giải vấn đề lỗi hệ thống xảy trạng thái tài khoản không trả chế độ rỗi (vấn đề thứ ba phần 4.3 Xử lý phân tán tại) Do việc phải làm phải nghiên cứu vấn đề thứ lỗi hệ thống, nghiên cứa thuật toán giải vấn đề để áp dụng, nâng cao chất lượng xử lý hệ thống Ngoài ta nghiên cứu thuật toán hai mơ hình đồng khơng đồng ta thấy thuật tốn mơ hình khơng đồng dễ cài đặt so với mơ hình khơng đồng bộ, vấn đề mơ hình hố mơ hình khơng đồng trở thành mơ hình đồng để áp dụng thuật tốn đơn giản xu hướng mà cần nghiên cứu tương lai Như vậy, luận văn cung cấp nhìn tổng quan hệ thống ngân hàng, đưa vấn đề nảy sinh hệ thống phân tán, phương pháp giải vấn đề Trong tương lai, ngân hàng trang bị trang thiết bị đại cần thiết để đáp ứng yêu cầu việc nghiên cứu hệ thống Với sở phương pháp luận mà đề cập đây, công việc cần phải làm tiếp tục nghiên cứu công nghệ liên quan trực tiếp đến hệ thống để từ đưa giải pháp tốt cho việc xây dựng sản phẩm dịch vụ ngân hàng, cung cấp cho người sử dụng sản phẩm chất lượng nhất, nâng cao lực cạnh tranh ngân hàng với ngân hàng khác 78 Tài liệu tham khảo Tiếng Việt Các tài liệu hệ thống ngân hàng Tiếng Anh C Szyperski et al, Component Software – Beyond Object-Oriented Programming, Second Edition, Addison-Wesley/ACM Press, 2002 D D' Souza and A Wills Objects, Components, and Frameworks with UML, Addison-Wesley, 1998 Distributed Algorithms, Nancy A Lynch Boaz Patt-Shamir, Janury 1993 Distributed Systems: Principles and Paradigms, Andrew S Tanenbaum Maarten van Steen, January 2002 Microsoft Corporation Distributed Component Object Model ProtocolDCOM/1.0, draft, November 1996 M L Liu, Distributed Computing – Principles and Applications, Pearson Addison-Wesley, 2004 A Component Architecture for Java July 1996 http://tec.uno.edu/george/thesis/news/JavaBeans.WhitePaper.html Component-Based Software Development – An Overview, (http://cbs.colognet.org/overview.php) 10 Java Remote Method Invocation, http://java.sun.com/j2se/1.4.2/docs/guide/rmi/spec/rmiTOC.html 11 Monitoring Software Component and Component-Base Software, (http://www.engr.sjsu.edu/gaojerry/report/compsac2000.pdf) 12 Software Component Basics – (http://www.webbasedprogramming.com/PresentingJavaBeans/html/ch01.htm) 13 Một số trang Web: http://www.Inprise.com, www.sun.com ; http://fsl.cs.uiuc.edu/papers/chen-wang-mei-yang-02.pdf; http://www.softwarereality.com/programming/ComponentOrientedSoftware.pdf Thank you for evaluating AnyBizSoft PDF Merger! To remove this page, please register your program! Go to Purchase Now>> AnyBizSoft PDF Merger  Merge multiple PDF files into one  Select page range of PDF to merge  Select specific page(s) to merge  Extract page(s) from different PDF files and merge into one ... 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ẦM MỀM TRÊN MÔI TRƯỜNG PHÂN TÁN Chuyên ngành: Công... biểu đồ trên, máy ảo đa thành phần kết nối TCP/IP đơn Chương Thuật toán phân tán 3.1 Tổng quan thuật toán phân tán Thuật toán phân tán phạm vi rộng lớn thuật toán song song, phân loại nhiều cách... 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,

Ngày đăng: 16/03/2021, 11:18

Từ khóa liên quan

Mục lục

  • 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ẽ

  • Mở đầu

  • 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.1 Giới thiệu

  • 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.1 Giới thiệu

  • 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

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

Tài liệu liên quan