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

24 1.1K 4
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

Tiểu luận Môn học: Kỹ Thuật Lập Trình Mạng BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA  ĐỀ TÀI TIỂU LUẬN Tên đề tài: 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 Giáo 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 – K16 Đà Nẵng, 4-2012 Học viên thực hiện: Phan Văn Lĩnh 1 Tiểu luận Môn học: Kỹ Thuật Lập Trình Mạng PHẦN I: LÝ THUYẾT ĐỒNG BỘ HÓA CÁC TIẾN TRÌNH I Đặt vấn đề Trong tất cả các hệ thống tin học, người ta cần nghiên cứu các công cụ đủ mạnh và hiệu quả để có thể đồng bộ hóa các tiến trình. Trong hệ phân tán việc đồng bộ hóa chỉ đặt ra duy nhất vấn đề thiết lập một trật tự giữa các sự kiện. Giữa các trạm khác nhau, trật tự đó chỉ có thể thực hiện được thông qua việc trao đổi các thông điệp với nhau. Trong hệ thống tập trung mỗi một loại tài nguyên của hệ thống được quản lý một chương trình cung cấp duy nhất, sau này ta gọi tắt là bộ cung cấp tài nguyên. Chương trình này tiếp nhận tất cả các yêu cầu, khuyến nghị giải phóng và sắp xếp chúng trong một hàng đợi xử lý theo kiểu loại trừ tương hổ và theo một trật tự nhất định của hàng đợi này. Trên hệ phân tán chương trình cung cấp nằm trên một trạm và các tiến trình đề nghị lại ở các trạm khác nhau; các yêu cầu và khuyến nghị giải phóng được truyền cho chương trình cung cấp thông qua hình thức thông điệp chuyển trên các kênh của hệ thống viễn thông. Chính vì vậy, nhu cầu sắp xếp các yêu cầu này theo một trật tự nhất định nào đó luôn luôn được đặt ra. Một sự hoạt động gắn bó của các chương trình cung cấp phân tán quản lý trên cùng một tập hợp các tài nguyên chỉ đạt được nếu tuân thủ các quy tắc sau: • Các bộ cung cấp bắt buộc phải thực hiện cùng một giải thuật. • Các bộ cung cắp đều nhận tất cả các thông điệp phát đi từ các tiến trình. • Các thông điệp phải được xử lý cùng một trật tự như nhau trong các chương trình cung cấp. Quy tắc sau cùng nhấn mạnh đến sự thiết yếu phải có một trật tự duy nhất trên tập hợp các thông điệp của hệ. II Đồng bộ tiến trình Trong hệ tin học phân tán, đồng bộ hóa tiến trình được hiểu như là quá trình tạo nên sự hoạt động nhịp nhàng, ăn khớp với nhau giữa tất cả các đối tượng tham gia có yêu cầu chia sẻ tài nguyên dùng chung.  Đ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. Học viên thực hiện: Phan Văn Lĩnh 2 Tiểu luận Môn học: Kỹ Thuật Lập Trình Mạng • 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. Truy cập tương tranh là nguyên nhân chính của các xung đột giữa các tiến trình khi truy cập vào tài nguyên dùng chung. • 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. 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. Trong hệ máy tính đơn thì vùng găng, loại trừ tương hổ, và những vấn đề đồng bộ hóa thường được giải quyết bằng cách dùng phương pháp cờ hiệu và quan sát. Nhưng những phương pháp này không thể dùng trong hệ phân tán. Ngay cả một vấn đề đơn giản là một sự kiện A xảy ra trước hay sau sự kiện B thì cũng là điều cần suy nghĩ cẫn thận. III Đồng hồ logic Chúng ta thì quan tâm đến thời gian tương đối giữa các sự kiện (thứ tự của chúng), định nghĩa mối quan hệ, xảy ra trước (): • Trên cùng một máy: ab, nếu time(a)<time(b) • Nếu H1 gửi m đến H2: send(m)  receive(m) • Nếu ab và bc thì ac. Học viên thực hiện: Phan Văn Lĩnh 3 Tiểu luận Môn học: Kỹ Thuật Lập Trình Mạng Thuật toán Lamport sử dụng mối quan hệ này để cung cấp một thứ tự sự kiện riêng. IV Các thuật toán đồng bộ hóa tiến trình giải quyết tương tranh IV.1 Đồng bộ hóa đồng hồ logic IV.1.1 Các ký hiệu • Một chương trình phân tán được tạo thành bởi tập hợp n tiến trình độc lập và không đồng bộ P1, P2, ,Pn. Các tiến trình này không chia sẻ một đồng hồ chung. • Mỗi tiến trình có thể xử lý một sự kiện tự động; khi gửi một thông điệp, nó không phải đợi việc phân phát hoàn thành. • Việc xử lý của mỗi tiến trình Pi, sản sinh ra một dãy sự kiện e i 0 , e i 1 , , e i x , e i x+1 , Tập hợp các sự kiện được sản sinh ra bởi Pi có một tổng thứ tự được xác định bởi dãy các sự kiện e i x  e i x+1 Chúng ta nói rằng e i x xảy ra trước e i x+1 Quan hệ xảy ra trước  có tính bắc cầu: e i i  e i j với mọi i<j. • Các sự kiện xảy ra giữa hai tiến trình đồng thời nói chung không quan hệ, ngoại trừ hai tiến trình đó có liên quan theo quan hệ như sau: Đối với mỗi thông điệp m trao đổi giữa hai tiến trình Pi và Pj, chúng ta có e i x = send(m), e j y = receive(m) và e i x  e j y . • Các sự kiện trong một sự xử lý phân tán là được sắp xếp riêng biệt.  Các sự kiện cục bộ là tổng thể được sắp đặt.  Các sự kiện nguyên nhân là tổng thể được sắp đặt.  Tất cả các sự kiện khác là không được sắp đặt. Cho bất kỳ hai sự kiện e 1 và e 2 trong một sự xử lý phân tán, có thể là: (i) e 1  e 2 (ii) e 2  e 1 (iii) e 1 || e 2 (e 1 và e 2 là đồng thời).  Ví dụ: Những sự kiện nào là quan hệ  ? Những sự kiện nào là đồng thời ? Học viên thực hiện: Phan Văn Lĩnh 4 Tiểu luận Môn học: Kỹ Thuật Lập Trình Mạng IV.1.2 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 e 1  e 2 thì C(e 1 ) < C(e 2 ). Trong đó: C(e i ) là timestamp (thời gian đánh dấu) được gán cho sự kiện e i . • 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(e 1 ) < C(e 2 ) thì e 1  e 2 . IV.1.3 Sự cài đặt đồng hồ logic R1: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. R2: 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) R3: 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) C msg , nó xử lý như sau: 1.Ci = Max(C i , C msg ) 2.Xử lý R2. 3.Phát thông điệp. Đồng hồ logic tại bất kỳ tiến trình nào là ngày càng tăng đơn giản. Học viên thực hiện: Phan Văn Lĩnh 5 Tiểu luận Môn học: Kỹ Thuật Lập Trình Mạng Hình 1.1.Các thời gian đánh dấu Lamport (Lamport timestamps) Hình 1.2.Ví dụ thời gian logic Lamport IV.1.4 Cải tiến đồng hồ logic bởi Vectơ thời gian • Phát triển bởi một số người độc lập • Với thời gian logic lamport: e trước f ⇒ timestamp(e) < timestamp(f), nhưng timestamp(e) < timestamp(f) không thể ⇒ e trước f. ⇒ Vector thời gian logic đảm bảo điều này: • Mỗi tiến trình Pi của n tiến trình thành phần duy trì một vector (mảng) nguyên có kích thước n:  vt i [1, ,n], trong đó vt i [i] là đồng hồ logic cục bộ của tiến trình Pi, khởi tạo tất cả bằng 0. Học viên thực hiện: Phan Văn Lĩnh 6 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 Tiểu luận Môn học: Kỹ Thuật Lập Trình Mạng  vt i [j] trình bày sự hiểu biết gần đây nhất của Pi về thời gian cục bộ của Pj. • Giao thức vector đồng hồ: Tại tiến trình Pi: • Trước khi xử lý một sự kiện, Pi cập nhật thời gian cục bộ logic của nó như sau: vt i [i] = vt i [i] + d (d>0, thường d=1). Và gán vector với sự kiện. • Mỗi tiến trình gửi một thông điệp m mang giá trị vector đồng hồ (vector timestamp) của nó tại thời điểm gửi. • Trên việc nhận một thông điệp như vậy (m, vt), Pi cập nhật vector đồng hồ logic của nó như sau: 1.vt i [k] = max(vt i [k] , vt [k]). Với mọi 1 <= k <=n. 2.vt i [i] = vt i [i] + d (d > 0, thường d=1)  Ví dụ: Hình 1.3.Vector timestamp Học viên thực hiện: Phan Văn Lĩnh 7 Tiểu luận Môn học: Kỹ Thuật Lập Trình Mạng Hình 1.4.Vector thời gian logic • Vector đồng hồ: Hệ thống với những vector đồng hồ là bền chặt mạnh:  Mỗi thông điệp được gán một timestamp trong cách như vậy mà thõa mãn điều kiện bền chặt đồng hồ. Nếu e 1  e 2 thì vt(e 1 ) < vt(e 2 ), sử dụng so sánh vector, trong đó vt(e i ) là timestamp gán cho sự kiện e i . • Nếu giao thức thỏa mãn điều kiện sau nữa, thì đồng hồ được nói là gắn bó chặt. Nếu vt(e 1 ) < vt(e 2 ) thì e 1  e 2 , sử dụng sự so sánh vector. • Trong đó sự so sánh vector thực hiện như sau: Cho hai vector V 1 và V 2 , cùng kích thước n: V 1 < V 2 , nếu V 1 [i] <= V 2 [i] với i = 1, 2, , n. Và tồn tại số k, 0 < k < n+1 mà V 1 [k] < V 2 [k]. Học viên thực hiện: Phan Văn Lĩnh 8 Thời gian vật lý Trạm 1 Trạm 2 Trạm 3 Trạm 4 n,m,p, q Vector đồng hồ logic Thông điệp Vector timestamp Tiểu luận Môn học: Kỹ Thuật Lập Trình Mạng  Ví dụ: V 1 = { 1, 2, 3, 4}; V 2 = {2, 3, 4, 5} thì V 1 < V 2 . • Bởi vì vector đồng hồ là bền chặt mạnh, chúng ta có thể sử dụng chúng để quyết định hoặc là hai sự kiện theo quan hệ nguyên nhân bởi việc so sánh vector timestamp (thời gian đánh dấu) của chúng, sử dụng sự so sánh vector. IV.2 Thuật toán Lamport tổng quát (a) Sơ đồ giải thuật Lamport: (b) Giải thích: Gọi n là số trạm trong hệ ; REQ(H m ,i) là một yêu cầu (request) vào đoạn găng tại trạm i, trong đó m là tên của thông điệp và H m là nhãn thời gian của thông điệp (còn gọi là dấu của thông điệp); ACK(H k ,j) là một thông điệp trả lời của trạm j cho trạm i khi j nhận được một REQ(…) của i trong đó H k là dấu của thông điệp trả lời; RELEAS(H w ,i) nếu yêu cầu ra khỏi đoạn găng tại trạm i trong đó w là tên của thông điệp yêu cầu và H w là dấu thông điệp.  Tiến trình P i muốn vào đoạn găng: • P i gởi thông điệp yêu cầu vào m {REQ(H m ,i)} cho tất cả các tiến trình khác trong mạng P j (j=1…n-1) số trạm trong hệ. • P j nhận được thông điệp này thì đưa nó vào hàng đợi cục bộ của trạm và trả lời cho P i {ACK(H k ,j)} • Tại P i khi nhận được thông điệp trả lời thì nó sẽ xem xét yêu cầu của nó và tuỳ theo sự xem xét đó mà được vào đoạn găng hay không.  Tiến trình P i muốn ra khỏi đoạn găng: • P i gởi thông điệp yêu cầu ra w {RELEASE(H w ,i)} cho tất cả các tiến trình khác trong mạng. Học viên thực hiện: Phan Văn Lĩnh 9 …REQ(H m ,i) REQ(H k ,j) …REQ(H m ,i) REQ(H k ,j) P j RELEASE(P j ) P i P i P j ACK(H k ) REQ(H m ,i) P i Hình 1.5. Sơ đồ tổng quát của giải thuật Lamport Tiểu luận Môn học: Kỹ Thuật Lập Trình Mạng • Xoá yêu cầu của nó trong hàng đợi cục bộ. IV.3 Thuật toán Ricart & Agrawala Ricart & Agrawala đưa ra thuật toán loại trừ tương hổ phân tán vào năm 1981. Thuật toán yêu cầu như sau: • Trật tự toàn bộ các event trong hệ thống (ví dụ thuật toán Lamport hay các thuật toán khác) • Các thông điệp là đáng tin cậy (mỗi thông điệp là ACK)  Khi một tiến trình muốn vào đoạn găng, nó: 1. Tạo một thông điệp chứa (nhận dạng tiến trình (máy, số tiến trình), tên của đoạn găng và thời gian hiện thời). 2. 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. 3. Đợi tới khi tất cả các tiến trình khác trong nhóm có chấp nhận. 4. Vào đoạn găng. Khi một tiến trình nhận được thông điệp yêu cầu, nó có thể ở một trong ba trường hợp sau: Trường hợp 1: Bên nhận không muốn vào đoạn găng, gửi OK cho bên gửi Trường hợp 2: Bên nhận đang ở trong đoạn găng; không trả lời và đưa yêu cầu vào hàng đợi yêu cầu cục bộ. Trường hợp 3: Bên nhận muốn vào đoạn găng và đã gửi yêu cầu. Trong trường hợp này, bên nhận so sánh nhãn thời gian (timestamp) trong thông điệp nhận được với nhãn mà nó đã gửi ra, nhãn sớm hơn sẽ chiếm được. Nếu bên nhận không chiếm được nó sẽ gửi OK đến bên gửi. Nếu bên nhận có nhãn thời gian sớm hơn, nó sẽ chiếm được và không trả lời. Thay vào đó, nó sẽ thêm yêu cầu vào hàng đợi của nó. Khi một tiến trình đã hoạt động với đoạn găng của nó, nó gửi OK đến các tiến trình khác trong hàng đợi của nó và xóa tiến trình ra khỏi hàng đợi.  Ví dụ: Có hai tiến trình 0 và 2 yêu cầu cùng truy cập một tài nguyên (đoạn găng). Tiến trình 0 gửi yêu cầu của nó với nhãn thời gian 8 và tiến trình 2 gửi yêu cầu với nhãn thời gian 12. 1. Vì tiến trình 1 không muốn vào đoạn găng, ngay lập tức nó gửi chấp nhận cho cả hai tiến trình 0 và 2. Tiến trình 0 muốn vào đoạn găng. Nó thấy rằng nhãn thời gian của tiến trình 2 là trễ hơn nhãn của nó, vì vậy tiến trình 0 chiếm được. Nó xếp hàng một yêu cầu từ 2. 2. Tiến trình 2 cũng muốn vào đoạn găng. Khi nó so sánh nhãn thời gian của nó với nhãn nó nhận được từ tiến trình 0, nó thấy rằng nó không chiếm Học viên thực hiện: Phan Văn Lĩnh 10 [...]... đối tượng trên tàu và các đối tượng trong hệ phân tán có thể mô tả như sau: TT Tàu Hệ phân tán 1 Khách hàng Tiến trình 2 3 4 5 Thuyết minh Ở đây, tiến trình được xem như đồng nhất(cùng 1 loại) Trong hệ phân tán các tiến trình đa dạng Nhân viên Chương trình Chương trình hoàn toán giống nhau trên các bán vé điều khi n trạm Nơi mua vé Trạm Mỗi ga đặt 1 máy và nối chúng với nhau thông qua đường truyền Vị... Lĩnh 18 Tiểu luận Môn học: Kỹ Thuật Lập Trình Mạng PHẦN II: ỨNG DỤNG ỨNG DỤNG VÀO QUẢN LÝ BÁN VÉ TÀU I Phát biểu bài 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ự.. .Tiểu luận Môn học: Kỹ Thuật Lập Trình Mạng được đoạn găng vì vậy nó trả lời chấp nhận cho tiến trình 0 và tiếp tục đợi cho đến khi tất cả các tiến trình chấp nhận cho nó vào đoạn găng 3 Ngay khi tiến trình 2 gửi chấp nhận đến tiến trình 0, tiến trình 0 nhận được chấp nhận của toàn bộ nhóm và nó có thể vào đoạn găng Khi tiến trình 0 thực hiện xong nó kiểm tra hàng đợi các chấp nhận chưa... đồng nhất Trong thực tế hệ phân tán, tài nguyên có nhiều loại và có các đặc điểm rất khác xa nhau Ma trận vị Hệ CSDL phân Đòi hỏi phải hoàn toàn giống nhau ở mọi trí trên tàu tán thời điểm truy cập (Gắn bó dữ liệu) Học viên thực hiện: Phan Văn Lĩnh 19 Tiểu luận Môn học: Kỹ Thuật Lập Trình Mạng Bài toán bán vé tàu có rất nhiều ga khác nhau, ở đây ta giả sử là có 4 ga, và số vị trí ngồi trên mỗi tàu cũng... Thuật Lập Trình Mạng Học viên thực hiện: Phan Văn Lĩnh 22 Tiểu luận Môn học: Kỹ Thuật Lập Trình Mạng Học viên thực hiện: Phan Văn Lĩnh 23 Tiểu luận Môn học: Kỹ Thuật Lập Trình Mạng MỤC LỤC PHẦN I: LÝ THUYẾT 2 ĐỒNG BỘ HÓA CÁC TIẾN TRÌNH 2 I Đặt vấn đề 2 II Đồng bộ tiến trình 2 III Đồng hồ logic 3 IV Các thuật toán đồng bộ hóa tiến trình giải quyết... điệp từ các tiến trình phát Trên mỗi trạm đều có xây dựng một hàng đợi, dùng để lưu trữ các thông điệp từ các tiến trình phát Học viên thực hiện: Phan Văn Lĩnh 20 Tiểu luận Môn học: Kỹ Thuật Lập Trình Mạng 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. .. một cách chính xác và hiệu quả II Mô hình bài toán Ta có thể xem nhân viên bán vé tàu như là chương trình cung cấp (trạm), còn vị trí ngồi trên tàu là tài nguyên và khách hàng là các tiến trình của hệ Khi một khách hàng mua vé nghĩa là tiến trình yêu cầu sử dụng tài nguyên dùng chung Ngược lại khi một khách hàng rời khỏi tàu nghĩa là tiến trình giải phóng tài nguyên dùng chung Sự tương quan giữa các. .. thể xem hệ thống bán vé tàu này là một hệ thống đa Server bao gồm server1 (ga 1), server2 (ga 2), server3 (ga 3), server (ga 4), … thông qua giao thức mạng TCP/IP Mỗi server đều có một Database riêng rẽ để chứa dữ liệu Tại mỗi thời điểm thì số lượng khách hàng vào ra là không xác định 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ức thời hoặc đĩa cứng của mình trong quá trình. .. dùng chung cho chính trạm đó • Việc trao đổi dữ 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 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 trả lời Đ Xóa thông điệp yêu cầu trong hàng đợi Nếu T=”REL” S Nếu T=”ACK” Ra khỏi đoạn găng + cập nhật thông tin trong CSDL Đ (1) S Kết thúc Học viên thực hiện: Phan Văn Lĩnh Hình 1.10 Giải thuật xử lý khi nhận thông điệp vào đoạn găng 16 Tiểu luận Môn học: Kỹ Thuật Lập Trình Mạng Học viên thực hiện: Phan Văn Lĩnh 17 Tiểu luận Môn học: Kỹ Thuật Lập Trình Mạng (1) Chèn thông điệp nhận được vào . Tiểu luận Môn học: Kỹ Thuật Lập Trình Mạng BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA  ĐỀ TÀI TIỂU LUẬN Tên đề tài: VIẾT CHƯƠNG TRÌNH ĐẢM BẢO CHỐNG TRÙNG VÉ TÀU. LUẬN Tên đề tài: 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 Giáo viên hướng dẫn: PGS.TS. Lê Văn Sơn Học viên thực. Tàu Hệ phân tán Thuyết minh 1 Khách hàng Tiến trình Ở đây, tiến trình được xem như đồng nhất(cùng 1 loại). Trong hệ phân tán các tiến trình đa dạng 2 Nhân viên bán vé Chương trình điều khi n Chương

Ngày đăng: 31/01/2015, 22:55

Từ khóa liên quan

Mục lục

  • PHẦN I: LÝ THUYẾT

  • ĐỒNG BỘ HÓA CÁC TIẾN TRÌNH

  • I Đặt vấn đề

  • II Đồng bộ tiến trình

  • III Đồng hồ logic

  • IV Các thuật toán đồng bộ hóa tiến trình giải quyết tương tranh

    • IV.1 Đồng bộ hóa đồng hồ logic

      • IV.1.1 Các ký hiệu

      • IV.1.2 Những điều kiện đồng hồ

      • IV.1.3 Sự cài đặt đồng hồ logic

      • IV.1.4 Cải tiến đồng hồ logic bởi Vectơ thời gian

      • IV.2 Thuật toán Lamport tổng quát

      • IV.3 Thuật toán Ricart & Agrawala

      • IV.3 Thuật toán Token Ring

      • IV.4 Thuật toán loại trừ tương hổ

        • IV.4.1 Mô tả thuật toán

        • IV.4.2 Thuật toán thô

        • IV.4.3 Sơ đồ thuật toán loại trừ tương hổ

        • PHẦN II: ỨNG DỤNG

        • ỨNG DỤNG VÀO QUẢN LÝ BÁN VÉ TÀU

        • I. Phát biểu bài toán

        • II. Mô hình bài toán

        • III. Demo:

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

  • Đang cập nhật ...

Tài liệu liên quan