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 ( Tiểu luận LẬP TRÌNH MẠNG NÂNG CAO)

39 1.3K 4
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  ( Tiểu luận LẬP TRÌNH MẠNG NÂNG CAO)

Đ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

GIỚI THIỆU Ngày nay, ngành công nghệ thông tin trên thế giới đang được phát triển mạnh mẽ và ngày càng được ứng dụng rộng rải vào nhiều lĩnh vực như: kinh tế, khoa học kỹ thuật, quân sự, y tế, giao dục và nó đã đáp ứng được nhiều yêu cầu trong những lĩnh vực này để phục vụ đời sống của con người. Ở nước ta, hòa nhập chung cùng với sự phát triển của ngành công nghệ thông tin và ứng dụng của nó vào các lĩnh vực của cuộc sống nhằm phục vụ các nhu cầu như: nghiên cứu, học tập và lao động của con người. Nhà nước ta đã có những chính sách cần thiết để đưa ngành công nghệ thông tin vào vị trí then chốt trong chiến lược phát triển kinh tế của Đất nước. Đặc biệt ngành công nghệ phần mềm, một lĩnh vực thuộc ngành công nghệ thông tin, được chú trọng phát triển mạng mẽ để sản sinh ra những phần mềm có giá trị đáp ứng nhu cầu của người dùng trong nước cũng như nhu cầu sử dụng của các nước trên thế giới. Việc áp dụng công nghệ thông tin để quản lý trong ngành đường sắt hiện nay đã và đang được thực hiện có hiệu quả. Song bên cạnh đó thực trạng bán vé tàu trực tuyến hiện nay còn có nhiều vấn đề bất cập đó là việc xử lý thông tin chưa tốt dẫn đến tình trạng xử lý quá tải không đáp ứng được nhu cầu của khách hàng. Vậy giải pháp nào để giải quyết bài toán này:  Như chúng ta đã biết về lợi ích to lớn của cách làm việc theo nhóm và sức mạnh của tập thể mang lại. Lợi ích của việc xử lý đa Server cũng vậy, nó cho phép khai thác tối đa khả năng tính toán của từng Server trong nhóm. Ví dụ như một công việc mà một Server giải quyết thì không hiệu quả và nhanh bằng nhiều Server cùng giải quyết.  Lợi ích thứ hai là nó cho phép khai thác tối đa nguồn dữ liệu của mỗi Server đang có. Thông qua các giao thức triệu gọi từ xa, mỗi Server ở bất kỳ nơi đâu cũng đều có thể xử lý được luồng thông tin do Server khác cung cấp khi có nhu cầu.  Giao thức triệu gọi từ xa và các tác tử (Agent) tạo ra trên mạng là giải pháp chính cho vấn đề xử lý đa Server. Tôi thiết nghĩ giải pháp xử lý đa Server này sẽ rất hữu ích và hiệu quả cho bài toán đăng ký đặt vé tàu trực tuyến.

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN Đề tài: 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 GVHD : PGS.TS. Lê Văn Sơn HVTH : Hồ Hoài Tâm Nguyễn Văn Thẩm LỚP : Khoa học máy tính KHÓA : 11 (2009 – 2011) Đà Nẵng, tháng 03/2010 Giới thiệu Lập trình mạng nâng cao GIỚI THIỆU Ngày nay, ngành công nghệ thông tin trên thế giới đang được phát triển mạnh mẽ và ngày càng được ứng dụng rộng rải vào nhiều lĩnh vực như: kinh tế, khoa học kỹ thuật, quân sự, y tế, giao dục và nó đã đáp ứng được nhiều yêu cầu trong những lĩnh vực này để phục vụ đời sống của con người. Ở nước ta, hòa nhập chung cùng với sự phát triển của ngành công nghệ thông tin và ứng dụng của nó vào các lĩnh vực của cuộc sống nhằm phục vụ các nhu cầu như: nghiên cứu, học tập và lao động của con người. Nhà nước ta đã có những chính sách cần thiết để đưa ngành công nghệ thông tin vào vị trí then chốt trong chiến lược phát triển kinh tế của Đất nước. Đặc biệt ngành công nghệ phần mềm, một lĩnh vực thuộc ngành công nghệ thông tin, được chú trọng phát triển mạng mẽ để sản sinh ra những phần mềm có giá trị đáp ứng nhu cầu của người dùng trong nước cũng như nhu cầu sử dụng của các nước trên thế giới. Việc áp dụng công nghệ thông tin để quản lý trong ngành đường sắt hiện nay đã và đang được thực hiện có hiệu quả. Song bên cạnh đó thực trạng bán vé tàu trực tuyến hiện nay còn có nhiều vấn đề bất cập đó là việc xử lý thông tin chưa tốt dẫn đến tình trạng xử lý quá tải không đáp ứng được nhu cầu của khách hàng. Vậy giải pháp nào để giải quyết bài toán này:  Như chúng ta đã biết về lợi ích to lớn của cách làm việc theo nhóm và sức mạnh của tập thể mang lại. Lợi ích của việc xử lý đa Server cũng vậy, nó cho phép khai thác tối đa khả năng tính toán của từng Server trong nhóm. Ví dụ như một công việc mà một Server giải quyết thì không hiệu quả và nhanh bằng nhiều Server cùng giải quyết.  Lợi ích thứ hai là nó cho phép khai thác tối đa nguồn dữ liệu của mỗi Server đang có. Thông qua các giao thức triệu gọi từ xa, mỗi Server ở bất kỳ nơi đâu cũng đều có thể xử lý được luồng thông tin do Server khác cung cấp khi có nhu cầu.  Giao thức triệu gọi từ xa và các tác tử (Agent) tạo ra trên mạng là giải pháp chính cho vấn đề xử lý đa Server. Tôi thiết nghĩ giải pháp xử lý đa Server này sẽ rất hữu ích và hiệu quả cho bài toán đăng ký đặt vé tàu trực tuyến. Nhóm học viên: Hồ Hoài Tâm – Nguyễn Văn Thẩm Trang 2 Giới thiệu Lập trình mạng nâng cao  Giải pháp xử lý đa Server mà cụ thể là các giao thức triệu gọi từ xa và các tác tử tạo ra trên mạng là giải pháp để khai thác hiệu quả nguồn dữ liệu quý giá này. Có nhiều giải pháp thực hiện đa Server và có nhiều ngôn ngữ bậc cao hỗ trợ cho việc lập trình đa Server như Java, C# và một số ngôn ngữ khác. Ở đây tôi xin dùng ngôn ngữ Java và giao thức RMI (Remote Method Invocation) Với những ưu điểm trên tôi chọn đề tài “Ứng dụng lập trình phân tán để xây dựng hệ thống đặt vé tàu trực tuyến”. Xây dựng ứng dụng phân tán cho việc quản lý hệ thống đăng ký đặt vé tàu trực tuyến. Thông tin đăng ký đặt vé được lưu trữ vào các cơ sở dữ liệu phân tán trên mạng theo nhu cầu của người quản trị và hệ thống cho phép cấu hình ứng dụng từ xa. Do đó, đê tài phải giải quyết được các vấn đề sau:  Nghiên cứu tìm hiểu về mô hình xử lý phân tán  Tìm hiểu kỷ thuật RMI của ngôn ngữ lập trình Java  Xây dựng được mô hình phân tán cho hệ thống đặt vé tàu  Sữ dụng cơ sở dữ liệu Access để thiết kế cơ sở dữ liệu Nhóm học viên: Hồ Hoài Tâm – Nguyễn Văn Thẩm Trang 3 Cơ sở lý thuyết Lập trình mạng nâng cao Chương 1 : CƠ SỞ LÝ THUYẾT I. LẬP TRÌNH PHÂN TÁN I.1. Định nghĩa Có nhiều cách định nghĩa việc tính toán phân tán theo nhiều kiểu khác nhau. Những nhà cung cấp đã tạo ra và quảng bá những hệ thống tính toán phân tán trong nhiều năm, và phát triển những kiến trúc để cho phép xử lý dữ liệu và đối tượng phân tán trên hệ thống mạng. Một đặc trưng của tính toán phân tán đã nhận được nhiều sự đồng tình trong thời gian gần đây và đó là trọng tâm của phần này. Một môi trường mà ta có thể tận dụng chu trình và không gian rỗi của CPU trong hàng chục, hàng trăm hoặc hàng ngàn hệ thống mạng để làm việc và phân chia việc xử lý các vấn đề một cách hiệu quả. Sự phát triển những mô hình xử lý trước đây đã bị giới hạn bởi những băng thông rộng, kết hợp với việc bảo mật, quản lý và những chuẩn hóa quan trọng. Khi công nghệ peer-to-peer xuất hiện, một số nhà cung cấp bao gồm những hãng lớn như Intel, Microsoft và Sun đã tận dụng những công nghệ mới này. Đồng thời, một dự án tính toán phân tán worldwide mang tính thông minh đã được phát triển trong việc xử lý thông tin. Việc gia tăng khản năng làm việc và truyền thông của CPU giúp ích cho sự tính toán phân tán hiệu quả hơn. Một số ứng dụng trong thực tế vẫn còn bị hạn chế về những tiêu chuẩn đặc biệt. Vì vậy việc đáp ứng tốt những yêu cầu của khách hàng về thời gian xử lý phù hợp và việc xử lý phân tán đã đáp ứng được yêu cầu này. I.2. Tính toán phân tán và lưới tính toán Khái niệm tính toán phân tán và lưới phân tán. Theo cách nghĩ khác nhau, tính toán phân tán là lưới tính toán có thể thay thế cho nhau hoặc là tính toán phân tán là một phần nhỏ của lưới tính toán. Lưới tính toán có thể định nghĩa như là chu trình xử lý của hàng triệu hệ thống truy cập trong môi trường mạng. Sun định nghĩa một lưới tính toán "là một cấu trúc phần cứng và phần mềm đáp ứng khả năng tính toán tin cậy, nhanh chóng". Lưới tính toán có thể là hệ thống máy tính để bàn. Nhưng trọng tâm của lưới tính toán là sức mạnh của các trạm làm việc, khả năng giải quết những vấn đề liên quan đến những dữ liệu lớn. Và lưới tính toán được hiểu rộng hơn là những hệ thống chuyên dụng dùng trong việc xử lý những yêu cầu, nhiệm vụ khác nhau. Nhóm học viên: Hồ Hoài Tâm – Nguyễn Văn Thẩm Trang 4 Cơ sở lý thuyết Lập trình mạng nâng cao Những hệ thống tính toán phân tán theo quy mô lớn được định nghĩa tương tự, nhưng để tập hợp những tài nguyên của hàng trăm hay hàng nghìn hệ thống mạng khác nhau thì điều này bị han chế bởi khả năng của bộ nhớ và tốc độ xử lý khi công việc chính chưa được phân tán. Ở phần trên, có những mức kiến trúc phân tán khác nhau là lưới phân tán và tính toán phân tán không được thực hiện trên một quy mô mảng. I.3. Cách thức làm việc trong lập trình phân tán Hầu hết kiến trúc tính toán phân tán gồm có những tác nhân xử lý (agent) được thiết đặt trên một số hệ thống máy trạm, và một hoặc nhiều máy chủ dành cho việc quản lý tính toán phân tán. Có thể đòi hỏi trình duyệt cùng thiết lập những phần mềm cho phép gửi những yêu cầu đến sử dụng tài nguyên của hệ thống. Một Agent chạy trên một trạm, thông báo cho máy chủ quản lý rằng hệ thống sẵn sàng cho việc xử lý, và yêu cầu các gói ứng dụng. Máy trạm tiếp nhận các gói ứng dụng từ máy chủ và chạy phần mềm để xử lý các gói ứng dụng này, và gửi những kết quả trở lại cho máy chủ. Ứng dụng có thể được thực hiện giống như trình bảo vệ màn hình, hay đơn giản như trong hình nền, không ảnh hưởng đến việc sử dụng máy tính. Nếu trình duyệt chạy những ứng dụng của riêng nó vào bất kỳ thời gian nào thì trình điều khiển ngay lập tức được trả lại cho ứng dụng riêng, và quá trình xử lý ứng dụng phân tán kết thúc. Điều này phải thực hiện ngay lập tức, sự chậm trễ trong việc trả lại trình điều khiển sẻ khó có thể được chấp nhận đối với người sử dụng. I.4. Vai trò của máy chủ trong ứng dụng phân tán Máy chủ tiếp nhận yêu cầu của ứng dụng phân tán và phân chia những tác vụ có khối lượng xử lý lớn thành các tác vụ nhỏ hơn để có thể thực hiện ở các máy trạm (agent). Máy chủ chuyển các gói ứng dụng và gói phần mềm đặc biệt đến các agent và theo dõi tiến trình xử lý của các agent này. Sau đó các máy trạm chạy thực hiện các gói ứng dụng. Nhiệm vụ của máy chủ lúc này là tập hợp các kết quả được trả về từ các máy trạm và tổ chức lại cấu trúc các kết quả trình bày. Điều này thường được hổ trợ từ cơ sở dữ liệu. Nếu máy chủ chủ không tiếp nhận việc xử lý từ các máy trạm trong một thời gian nhất định, có thể máy chủ đã hủy kết nối hệ thống hoặc tạm ngừng cho việc bảo trì. Các máy chủ này gởi các gói ứng dụng cho hệ thống khác hoặc cho các hệ thống Nhóm học viên: Hồ Hoài Tâm – Nguyễn Văn Thẩm Trang 5 Cơ sở lý thuyết Lập trình mạng nâng cao dự phòng nhằm đảm bảo cho kết quả được trả lại cho trình duyệt một cách nhanh chóng. Máy chủ cũng thực hiện các chức năng quản lý cần thiết như là việc bảo mật hệ thống, quản lý các kết nối và địa chỉ IP của máy trạm để tránh sự xung đột. Sự phức tạp của kiến trúc phân tán phụ thuộc vào các môi trường khác nhau. Một hệ thống lớn bao gồm nhiều thành phần tham gia hoặc một hệ thống chứa nhiều tài nguyên phức tạp, các chính sách quản lý, mã hóa dữ liệu nhằm đảm bảo cho sự an toàn của hệ thống. Nguồn tài nguyên là một điều cần thiết để định nghĩa các mức chức năng xử lý, bộ nhớ và việc lưu trử của mỗi hệ thống Các chính sách quản lý được sử dụng nhằm thay đổi độ phức tạp trong các trường hợp tính toán trong môi trường xử lý phân tán. Người quản trị có thể định nghĩa công việc nào và người sử dụng có thể truy cập vào hệ thống nào và quyền ưu tiên đối với người dùng, và thấy rõ tầm quan trọng của mỗi dự án. Rõ ràng vấn đề về quyền truy cập, bảo mật, mã hóa dữ liệu là cần thiết để ngăn ngừa những truy cập không hợp pháp nhằm phá hoại hệ thống và dữ liệu trong hệ thống phân tán phải được bảo đảm an toàn. Khi ứng dụng lập trình phân tán được tích hợp vào môi trường internet thì nó phải đáp ứng các tiêu chuẩn và giao thức cho việc truy cập tự động và những tác động của nguồn tài nguyên trên mạng internet và giữa những kiến trúc phân tán khác nhau. Hầu hết các giải pháp của tính toán phân tán bao gồm các công cụ, thư viện, các ứng dụng API để làm nền tảng cho việc tạo ra các ứng dụng phân tán ban đầu. Tuy việc tính toán phân tán thực sự là mô hình peer-to-peer, cấu trúc được mô tả ở trên không thật sự là mô hình peer-to-peer. Chẳng hạn như trình duyệt này không thể giao tiếp với trình duyệt khác. Những giải pháp của các nhà cung cấp bao gồm Entropia, Data Synapse, Sun, Parabon, Avaki, and United Devices. Nền tảng mã nguồn mở của Sun được quan tâm nhiều hơn đối với những hệ thống lớn. Khi máy trạm trả kết quả trở về cho máy chủ. Trong trường hợp của DataSynapse's LiveCluster, một máy trạm có thể làm việc độc lập hoặc chi sẻ tài nguyên đối với các máy trạm khác. Kiến trúc cấp cáo của LiveCluster là việc chia nhỏ ứng dụng thành các công việc nhỏ phụ thuộc vào việc tích hợp trong truyền thông. Nhóm học viên: Hồ Hoài Tâm – Nguyễn Văn Thẩm Trang 6 Cơ sở lý thuyết Lập trình mạng nâng cao Chia nhỏ các công việc thực hiên Sự cải tiến cho những ứng dụng thích hợp đã đem lại lợi ích lớn cho một số công ty. Đối với hãng Intel đã áp dụng việc tổ chức ngân hàng sử dụng nền tảng dữ liệu Synapse's LiveCluster, thời gian tính toán cho một dãy công việc được giảm từ 15 giờ xuống còn 30 phút với 100 máy tính xử lý. Để xử lý 200 tác vụ thì hệ thống đơn cần 44 phút nhưng nó chỉ mất 33giây đối với hệ thống phân tán gồm 100 máy. Những công ty sử dụng công nghệ lập trình phân tán nhằm gia tăng khả năng đáp ứng nhu cầu của khách hàng về thời gian xử lý các công việc. Nhóm học viên: Hồ Hoài Tâm – Nguyễn Văn Thẩm Trang 7 Cơ sở lý thuyết Lập trình mạng nâng cao I.5. Những đặc trưng của ứng dụng phân tán Tất nhiên không phải tất cả các ứng dụng đều phù hợp cho việc tính toán phân tán. Một ứng dụng khép kín chạy trong thời gian thực, ít phù hợp trong ứng dụng phân tán. Ngay cả việc xử lý các tác vụ thông thường có thể lấy đi 1 giờ thì cần cân nhắc giữa việc áp dụng tính toán phân tán và việc đảm bảo cho tính sắn sàng của ứng dụng. Thay vào đó, ta cần áp dụng cho những tác vụ đòi hỏi việc tiêu tốn thời gian nhiều giờ, nhiều ngày, tuần, tháng. Nói chung, những ứng dụng phù hợp nhất, bao gồm: những tác vụ xử lý không tuần tự với khối lượng tính toán dữ liệu lớn. Việc tính toán khối lượng lớn dữ liệu thường đi đôi với việc tính toán trong quá trình truyền thông nhưng việc bạn không thể gởi một số lượng lớn dữ liệu đến mỗi trình duyệt trong môi trường mạng mặc dù bạn có thể làm điều này trong nhiều giờ. Những chương trình với cơ sở dữ liệu lớn có thể dễ dàng phân tích thì rất thích hợp cho mô hình này. Rỏ ràng , bất kỳ ứng dụng nào với những tác vụ truy cập đến tập hợp dữ liệu khổng lồ thì những hệ thống lớn sẽ phù hợp hơn những hệ thống đơn lẻ. Nếu dữ liệu có liên qua thì một siêu máy tính sẽ phù hợp hơn. Một ứng dụng phân tán sẽ phù hợp hơn trong tác vụ yêu cầu thời gian xử lý nhanh đối với một hệ thống dữ liệu lớn. II. VẤN ĐỀ ĐỒNG BỘ HÓA TRONG LẬP TRÌNH PHÂN TÁN II.1. Đặt vấn đề Trong tất cả các hệ thống tin học, ta cần phải 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. Tính cấp thiết về mặt nguyên lý và kỷ thuật của vấn đề này thể hiện ở hai nguyên nhân cơ bản sau đây: 1. 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. Trường hợp này gọi là truy cập tương tranh. Vì vậy, tương tranh là nguyên nhân chính của sự xung đột giữa các tiến trình muốn truy cập vào tài nguyên dùng chung. 2. Các tiến trình của cùng một hệ ứng dụng hoạt động theo kiểu hợp lực để giải quyết các bài toán đặt ra và cho kết quả nhanh chóng 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, 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 hoạt động chung. Nhóm học viên: Hồ Hoài Tâm – Nguyễn Văn Thẩm Trang 8 Cơ sở lý thuyết Lập trình mạng nâng cao 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 bỏ tương hổ thông qua các biến cùng tác động trong một vùng nhớ chung. Trong hệ tin học phân tán, các thông tin cần trao đổi thông qua các kênh thuộc hệ thống viễn thông. II.1.1. Trật tự từng phần Cần chú ý rằng, trong các hệ thống tin học tập trung, vấn đề đồng bộ hóa được giải quyết thông qua cơ chế loại trừ tương hỗ. Cơ chế này cho phép sắp đặt (xác lập trật tự) hoàn toàn các sự kiện. Trong thực tiễn, nói một cách chính xác, có một số hệ thống vấn đề đồng bộ hóa chỉ đòi hỏi trật tự từng phần. Chình vì vậy trật tự hóa từng phần giữa các sự kiện mà các tiến trình của nó cần phải đồng bộ là vấn đề cần phải quan tâm giải quyết. Trong các hệ thông 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. Giả sử rằng ta có thể xác định một trật tự giữa các sự kiện của hệ phân tán nhờ vào quan hệ được ký hiệu là → và gọi là “có trước” hay “ở ngay trước”. Quan hệ này tối thiểu phải thỏa mãn được các ràng buộc thể hiện trong bảng sau đây: C1: Nếu A và B là hai sự kiện của cùng một trạm và nếu A được thực hiện trước B thì theo trật tự cục bộ của trạm ta có: A→B C2: Nếu A là phát thông điệp bởi một trạm nào đó và nếu B là thu của thông điệp này thì ta có: A→B Hình vẽ sau đây cho ta một ví dụ về trật tự hóa từng phần của các sự kiện trong hệ thống. Nhóm học viên: Hồ Hoài Tâm – Nguyễn Văn Thẩm Trang 9 Cơ sở lý thuyết Lập trình mạng nâng cao Mô tả trật tự từng phần Theo hình vẽ trên, ta có thể biểu diễn trật tự như sau: Trật tự từng phần của các sự kiện A1→A2→A3→A4→A5 B1→B2→B3→B4 Trao đổi thông điệp A1→B2 và B3→A4 Chuyển qua A1→A2→B2→B3→B4 B1→B2→B3→A4→A5 A1→A2→B2→B3→A4→A5 Ví dụ về các sự kiện không so sánh B1 và A1, A2, A3 A3 và B2, B3, B4 Ràng buộc C1 thể hiện rằng trật tự có được bởi quan hệ có trước là tương thích với các trật tự cục bộ được định nghĩa trong từng trạm. Ràng buộc C2 nói lên nguyên tắc nhân quả. Quan hệ có trước xác định một trật tự từng phần trên tập hợp các sự kiện của hệ và trật tự này được thể hiện trong hình vẽ trên. Nhóm học viên: Hồ Hoài Tâm – Nguyễn Văn Thẩm Trang 10 [...]... Agent (2 ) (1 ) (6 ) Server Client (5 ) (3 ) (8 ) (7 ) Tram1 Agent Database Tram 2 (4 ) Agent Database Tram 3 Hệ thống đặt vé tàu trực tuyến Cách thức xử lý bài toán cho hệ thống đặt vé tàu trực tuyến Khi một khách hàng (Client) có yêu cầu đặt vé tàu trực tuyến từ một trạm này đến một trạm khác của hệ thống đường sắt  (1 ): Khách hàng (Client) gửi yêu cầu đăng ký đặt vé tàu đến máy chủ (Server)  (2 ): Máy chủ (Server)... kỷ thuật lập trình phân tán  Tìm hiểu kỷ thuật RMI của ngôn ngữ lập trình Java  Xây dựng được mô hình xử lý phân tán  Xây dựng chương trình: Hệ thống đặt vé tàu trực tuyến  Ưu điểm của hệ thống ứng dụng phân tán sử dụng kỷ thuật RMI  Cung cấp một sự liên thông giữa các tiến trình gọi từ xa của các đối tượng trong các máy ảo khác nhau  Cung cấp tiến trình gọi trở lại từ các Sever đến các Client... Trang 33 Phân tích và thiết kế hệ thống Lập trình mạng nâng cao III.2 Sơ đồ khối chương trình Client Sơ đồ khối của Client Nhóm học viên: Hồ Hoài Tâm – Nguyễn Văn Thẩm Trang 34 Phân tích và thiết kế hệ thống Lập trình mạng nâng cao IV CÀI ĐẶT CẤU HÌNH VÀ KẾT QUẢ CHƯƠNG TRÌNH IV.1 Cài đặt cấu hình IV.1.1 Trên hệ thống Server và Agent a Trên Server Cài đặt cấu hình: Máy ảo Java 1.4.0 trở lên Chương trình. .. được trả về từ các máy trạm và cuối cùng là trả lại kết quả đã được xử lý cho khách hàng (Client) Nhóm học viên: Hồ Hoài Tâm – Nguyễn Văn Thẩm Trang 30 Phân tích và thiết kế hệ thống Lập trình mạng nâng cao II THIẾT KẾ HỆ THỐNG II.1 Thiết kế sơ đồ lớp của hệ thống Sơ đồ các lớp của hệ thống Nhóm học viên: Hồ Hoài Tâm – Nguyễn Văn Thẩm Trang 31 Phân tích và thiết kế hệ thống Lập trình mạng nâng cao II.2... đặt chương trình Chứa các hàm cho phép truy cập từ xa, xử lý các yêu cầu do Server gửi đến IV.1.2 Trên hệ thống Client Cài đặt cấu hình: Máy ảo Java 1.4.0 trở lên Có kết nối mạng Internet Cài đặt chương trình Cài đặt chương trình Client của hệ thống Nhóm học viên: Hồ Hoài Tâm – Nguyễn Văn Thẩm Trang 35 Kết luận và hướng phát triển Lập trình mạng nâng cao Chương 3 : KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN I KẾT LUẬN... thuyết  Lập trình mạng nâng cao Định nghĩa các đối tượng từ xa: Một giao diện từ xa chỉ rõ các phương thức có thể được cải tiến một cách biệt lập với một client Lập trình client trong giao diện từ xa chứ không lập trình trong các lớp thể hiện của các giao diện này Thiết kế các giao diện bao gồm việc xác định rõ các kiểu của đối tượng sẽ sử dụng như là các tham số và các giá trị trả về cho các phương...Cơ sở lý thuyết Lập trình mạng nâng cao II.1.2 Giả định chung các điều kiện Các phương pháp mà ta giới thiệu trong chương này sẻ xuất phát từ các giả định với các điều kiện chung như sau: Các hệ phân tán được xây dựng trên cơ sở các trạm làm việc được mắc nối với nhau (nối mạng) Mỗi một trạm có bộ nhớ riêng của mình và tuyệt đối không có bộ nhớ chung Ta áp dụng các ký hiệu trong bảng sau: STT Ký... ThoiGian) • GIÁ VÉ(MaVe, MaTau, MaKieu, GaTruoc, GaSau, GiaVe ) Nhóm học viên: Hồ Hoài Tâm – Nguyễn Văn Thẩm Trang 32 Phân tích và thiết kế hệ thống Lập trình mạng nâng cao • LOẠI KHÁCH HÀNG(MaLoai, TenLoai, TyLeGiam) • GA( MaGa, TenGa, DiaChi, ThongTin) • TÀU(MaTau, TenTau, SoToa, ThongTin) • TOA(MaToa, TenToa, SoGhe, KieuGhe) III THUẬT TOÁN III.1 Sơ đồ khối chương trình Server Sơ đồ khối của server Nhóm... 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à xử lý chúng theo một trật tự nhất định của hàng đợi này Trong các 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 ở trên các trạm khác, 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 theo các kênh của hệ thống viễn thông Chính... tượng phân tán vào trong ngôn ngữ Java theo một phương pháp tự nhiên trong khi vẫn giữ được hầu hết ý nghĩa đối tượng của ngôn ngữ này  Thực thi khác nhau giữa chế độ đối tượng phân tán và chế độ đối tượng Java cục bộ một cách rõ ràng  Xây dựng được các ứng dụng phân tán đáng tin cậy  Có nhiều kiểu tham chiếu khác nhau cho các đối tượng từ xa  Các trình quản lý bảo mật và các trình nạp lớp bảo đảm . xa giống như gọi một phương thức trong Java. Nhóm học viên: Hồ Hoài Tâm – Nguyễn Văn Thẩm Trang 18 Cơ sở lý thuyết Lập trình mạng nâng cao  Định nghĩa lớp cho các đối tượng: Bởi vì RMI cho phép

Ngày đăng: 12/11/2014, 08:52

Từ khóa liên quan

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

Tài liệu liên quan