báo cáo tiểu luận môn lập trình mạng viết chương trình đảm bảo chống trùng vé tàu hỏa khi phân tán chức năng bán vé cho các ga trong hệ thống đường sắt

17 777 2
báo cáo tiểu luận môn lập trình mạng viết chương trình đảm bảo chống trùng  vé tàu hỏa khi phân tán chức năng bán vé cho các ga trong hệ thống đường sắt

Đ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

1 ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA ************** TIỂU LUẬN MÔN LẬP TRÌNH MẠNG Đề tài: (đề 14) VIẾT CHƯƠNG TRÌNH ĐẢM BẢO CHỐNG TRÙNG VÉ TÀU HỎA KHI PHÂN TÁN CSDL TRÊN TẤT CẢ CÁC GA TRONG HỆ THỐNG ĐƯỜNG SẮT Giảng viên hướng dẫn: PGS.TS Lê Văn Sơn Học viên thực hiện: Phan Văn Lĩnh Lớp: Khoa Học Máy Tính-CHK16 Đà Nẵng, tháng 5 năm 2012 2 LÝ THUYẾT 3 ĐỒNG BỘ TIẾN TRÌNH  Điều kiện chủ yếu của việc đồng bộ hóa tiên trình trong hệ phân tán là: • Các tiến trình của hệ phải được phát triển trong cùng một chu kỳ thực hiện với các thời gian thực hiện lệnh khác nhau do khả năng xử lý của các bộ xử lý (hoặc vi xử lý) thành phần khác nhau; • Các tiến trình phát triển trong các hệ thống thành phần khác nhau, nằm ở các địa điểm khác nhau và được nối nhau qua đường truyền trong điều kiện có diễn ra sự cố kỹ thuật; • Không sử dụng bộ nhớ và đồng hồ chung  Xuất phát từ yêu cầu và điều kiện kỹ thuật cụ thể nêu trên, rõ ràng người ta cần phải nghiên cứu các giải pháp đủ mạnh và hiệu quả để có thể đồng bộ hóa các tiến trình như là đối tượng chủ yếu tham gia tạo nên sự hoạt động của hệ không đồng bộ.  Tính cấp thiết của vấn đề đồng bộ hóa tiến trình thể hiện ở hai điểm mấu chốt sau đây: • Nhìn chung, các tiến trình kể cả các tiến trình xuất phát từ các ứng dụng độc lập muốn truy cập vào các tài nguyên với số lượng vốn rất hạn chế hay truy cập vào thông tin dùng chung cùng một lúc làm phát sinh vấn đề truy cập tương tranh. • Các tiến trình của cùng một hệ hoạt động theo kiểu hợp lực để giải quyết các chức năng xác định nhằm cho kết quả nhanh và hiệu quả nhất, điều này cho phép tăng hiệu năng sử dụng thiết bị và hiệu quả hoạt động của chương trình. 4 ĐỒNG BỘ TIẾN TRÌNH (TT) Vì vậy, tương tranh và hợp lực là nguyên nhân chính của sự tác động tương hổ được lập trình giữa các tiến trình nhằm cho phép chúng tham gia vào các hành động chung. Đây là quá trình phức tạp. Sự tương tranh và hợp lực giữa các tiến trình đòi hỏi phải có trao đổi thông tin qua lại với nhau. Trong các hệ thống tập trung, điều đó được thực hiện nhờ thuật toán loại trừ tương hổ thông qua các biến cùng tác động trong một vùng nhớ hoặc một biến chung là đủ. Trong hệ phân tán, các thông tin cần trao đổi phải thông qua các kênh thuộc hệ thống viễn thông dưới dạng các thông điệp. 5 ĐỒNG HỒ LOGIC LAMPORT  Những điều kiện đồng hồ • Trong một hệ thống các đồng hồ logic, các tiến trình riêng biệt có một đồng hồ logic mà được áp dụng theo một giao thức. • Mỗi sự kiện được gán một timestamp (thời gian đánh dấu) trong cách thức mà thỏa mãn điều kiện bền chặt đồng hồ: nếu e1  e2 thì C(e1) < C(e2). Trong đó: C(ei) là timestamp (thời gian đánh dấu) được gán cho sự kiện ei. • Nếu giao thức thỏa mãn các điều kiện theo sau nữa, thì đồng hồ được nói rằng bền chặt mạnh: nếu C(e1) < C(e2) thì e1  e2. 6 ĐỒNG HỒ LOGIC LAMPORT  Sự cài đặt đồng hồ logic • Tất cả các máy (tiến trình - Pi) sử dụng một bộ đếm (đồng hồ - Ci) với giá trị khởi tạo là 0. • Trước khi xử lý một sự kiện (gửi, nhận hoặc ngắt), Pi xử lý như sau: tăng bộ đếm và gán cho mỗi sự kiện, như là timestamp (thời gian đánh dấu) của nó. Ci = Ci + d (d>0, thường d=1) • Mỗi thông điệp mang giá trị đồng hồ của người gửi nó tại thời điểm gửi. Khi Pi nhận một thông điệp với timestamp (thời gian đánh dấu) Cmsg, nó xử lý như sau: • Ci = Max(Ci, Cmsg) • Xử lý R2. • Phát thông điệp. Các thời gian đánh dấu Lamport (Lamport timestamps) 7 ĐỒNG HỒ LOGIC LAMPORT Ví dụ thời gian logic Lamport Trạm 1 Trạm 2 Trạm 3 Trạm 4 0 1 0 0 2 2 3 3 4 5 5 6 7 8 9 10 7 Thời gian vật lý n Giá trị đồng hồ. timestamp Thông điệp 0 1 2 3 4 6 8 7 Các sự kiện logic đồng thời 8 THUẬT TOÁN LARMPORT TỔNG QUÁT (a) cả hai tiến trình 0 và 2 yêu cầu vào đoạn găng (b) tiến trình 0 vào đoạn găng vì nó có yêu cầu đầu tiên (c) tiến trình 0 rời đoạn găng, tiến trình 2 vào đoạn găng. 9 THUẬT TOÁN RICART & AGRAWALA 2 Process 0 releases resource  Khi một tiến trình muốn vào đoạn găng • Gửi một thông điệp yêu cầu tới tất cả các tiến trình khác trong nhóm • Đợi tới khi tất cả các tiến trình khác trong nhóm có chấp nhận • Vào đoạn găng 10 THUẬT TOÁN TOKEN RING (a) Nhóm các tiến trình không có trật tự trong một mạng (b) Cấu trúc vòng tròn logic trong phần mềm [...]... TOÁN Giả sử có N ga tàu ở tại N thành phố khác nhau, có một chiếc tàu SE1 đi lần lượt từ ga đầu tiên đến ga cuối cùng và tại mỗi ga đều bán vé cho chiếc tàu đó Quy định ga đầu tiên có thể bán vé tự do, kể từ ga thứ hai trở đi chỉ bán 5% của số vé trống còn lại và sau 30 phút có thể bán tự do số vé trống đó Như vậy, xảy ra trường hợp là các ga tiếp theo không biết vị trí nào có người và vị trí nào không... liệu của hệ thống được tiến hành thông qua sự trao đổi thông điệp giữa các trạm với nhau Mỗi khi có sự cố trên một trạm thì các trạm trong hệ đều phải biết • • 14 MÔ HÌNH BÀI TOÁN Mỗi trạm cài đặt một chương trình gồm hai tiến trình. Trong đó một tiến trình có nhiệm vụ phát đi các thông điệp yêu cầu cung cấp hoặc kiến nghị vị trị có khách hàng, tiến trình còn lại nhận các thông điệp từ các tiến trình phát... đến ga đó khách đã rời tàu, … Vậy, vấn đề đặt ra là phải tạo ra một cơ chế đồng bộ hóa các tiến trình để cho các nhân viên biết mới có thể bán vé tàu được một cách chính xác và hiệu quả 13 MÔ HÌNH BÀI TOÁN S2 Mạng TCP/IP S1 S3 S4  Các trạm phải tuân thủ các nguyên tắc sau • Mỗi trạm sử dụng bộ nhớ tất thời hoặc đĩa cứng của mình trong quá trình xử lý thông tin và cập nhật cơ sở dữ liệu dùng chung cho. .. trữ các thông điệp từ các tiến trình phát Như vậy, tại mỗi trạm nào đó, nếu có một khách hàng muốn mua một vé tàu thì tiến trình phát tại trạm này sẽ gởi thông điệp đến các trạm khác và ngay cả chính nó Những thông điệp này sẽ được tiến trình nhận và đưa vào hàng đợi cục bộ tại trạm Sau đó tùy theo giải thuật xử lý mà ta biết được là nó có thể mua được hay không? 15 MÔ HÌNH BÀI TOÁN Thông báo đã mua vé. .. state := RELEASED; Để một tiến trình chuẩn bị vào được đoạn găng state := WANTED; Gởi thông điệp yêu cầu vào đoạn găng cho N-1 trạm còn lại H := request’s timestamp; {Thời gian dấu của yêu cầu} Wait until ( Số lượng các thông điệp trả lời cho nó = (N - 1)); state := HELD; Để một tiến trình ra khỏi đoạn găng state := RELEASED; Gởi thông điệp cho mọi tiến trình khác trong hệ Khi nhận một yêu cầu :... của mình để xem các thông điệp có giá trị T=”REQ”, IREQ=IACK ở đầu hàng đợi Các thông điệp có giá trị T=”ACK” đã nhận đầy đủ từ các trạm khác trong hệ để trả lời cho nó Nếu đã hội đủ hai vấn đề trên thì cho vào đoạn găng Ngược lại thì bỏ thông điệp vào hành đợi Nếu T= “REL” 11 Xoá thông điệp có T=”REQ” tương đương với nó ra khỏi hàng đợi ỨNG DỤNG 12 PHÁT BIỂU BÀI TOÁN Giả sử có N ga tàu ở tại N thành... được là nó có thể mua được hay không? 15 MÔ HÌNH BÀI TOÁN Thông báo đã mua vé được Cập nhật dữ liệu tại trạm Ra khỏi hàng đợi S Nhận Tiến trình nhận Ghi * T Queue của Trạm Tiến trình yêu cầu mua vé *: Xử lý theo giải thuật Ch ờ Hình 1.13 Mô hình tại trạm với yêu cầu mua vé 16 Cảm ơn! 17 . KHOA ************** TIỂU LUẬN MÔN LẬP TRÌNH MẠNG Đề tài: (đề 14) VIẾT CHƯƠNG TRÌNH ĐẢM BẢO CHỐNG TRÙNG VÉ TÀU HỎA KHI PHÂN TÁN CSDL TRÊN TẤT CẢ CÁC GA TRONG HỆ THỐNG ĐƯỜNG SẮT Giảng viên hướng. sử có N ga tàu ở tại N thành phố khác nhau, có một chiếc tàu SE1 đi lần lượt từ ga đầu tiên đến ga cuối cùng và tại mỗi ga đều bán vé cho chiếc tàu đó. Quy định ga đầu tiên có thể bán vé tự do,. thông qua các biến cùng tác động trong một vùng nhớ hoặc một biến chung là đủ. Trong hệ phân tán, các thông tin cần trao đổi phải thông qua các kênh thuộc hệ thống viễn thông dưới dạng các thông

Ngày đăng: 31/01/2015, 23:04

Từ khóa liên quan

Mục lục

  • Slide 1

  • LÝ THUYẾT

  • ĐỒNG BỘ TIẾN TRÌNH

  • ĐỒNG BỘ TIẾN TRÌNH (TT)

  • ĐỒNG HỒ LOGIC LAMPORT

  • Slide 6

  • Slide 7

  • THUẬT TOÁN LARMPORT TỔNG QUÁT

  • THUẬT TOÁN RICART & AGRAWALA

  • THUẬT TOÁN TOKEN RING

  • THUẬT TOÁN LOẠI TRỪ TUƠNG HỔ

  • Slide 12

  • PHÁT BIỂU BÀI TOÁN

  • MÔ HÌNH BÀI TOÁN

  • Slide 15

  • Slide 16

  • Cảm ơn!

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

Tài liệu liên quan