Tiểu luận LẬP TRÌNH MẠNG Hãy vận dụng các thuật toán để xây dựng giải pháp cho hệ thống ngân hàng với n server ) quản lý m đủ lớn các tài khoản của khách hàng với yêu cầu hệ phải đảm bảo gắn bó mạnh.

27 836 0
Tiểu luận LẬP TRÌNH MẠNG  Hãy vận dụng các thuật toán để xây dựng giải pháp cho hệ thống ngân hàng với n server ) quản lý m đủ lớn các tài khoản của khách hàng với yêu cầu hệ phải đảm bảo gắn bó mạnh.

Đ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 LẬP TRÌNH MẠNG Hãy vận dụng các thuật toán để xây dựng giải pháp cho hệ thống ngân hàng với n server ) quản lý m đủ lớn các tài khoản của khách hàng với yêu cầu hệ phải đảm bảo gắn bó mạnh. LỜI MỞ ĐẦU Ngày nay hầu hết các ứng dụng tin học đều được xây dựng để thực hiện trên mạng máy tính, các ứng dụng clientserver đang ngày càng được sử dụng phổ biến. Nhưng khi quy mô và mức độ của các ứng dụng tăng lên và yêu cầu về chất lượng, tốc độ xử lý và độ phức tạp cũng tăng theo thì trên thực tế, một xu hướng kỹ thuật mới ra đời – xu hướng phân tán các thành phần tạo nên hệ tin học theo hướng tiếp cận nơi sử dụng và sản xuất thông tin. Song để khai thác có hiệu quả toàn hệ, vấn đề quan trọng hàng đầu cần phải tính đến là các tài nguyên nói chung, đặc biệt là tài nguyên thông tin nói riêng và chiến lược khai thác, sử dụng chúng một cách tối ưu nhất. Chiến lược khai thác các tài nguyên dùng chung này là chức năng cũng như đối tượng nghiên cứu của các hệ tin học phân tán. Trong thực tế, hệ tin học phân tán với những nguyên lý, phương pháp của nó đã và đang được nhiều người quan tâm để có thể vận dụng trong quá trình tác nghiệp của mình. Việc lập trình giải quyết một bài toán hay giải quyết một yêu cầu xử lý phân tán các đối tượng vẫn là một vấn đề nóng bỏng của công nghệ ngày nay. Trong khuôn khổ môn học Lập trình mạng nâng cao, tiểu luận trình bày về vấn đề xây dựng giải pháp để giải quyết một bài toán cụ thể, đó là: Hãy vận dụng các thuật toán để xây dựng giải pháp cho hệ thống ngân hàng với n server (n 2) quản lý m đủ lớn các tài khoản của khách hàng với yêu cầu hệ phải đảm bảo gắn bó mạnh. Vấn đề truy cập, xử lý thông tin và đảm bảo sự gắn bó dữ liệu trên hệ phân tán đã được nghiên cứu trong hàng loạt các công trình. Trong phạm vi tiểu luận của mình, tôi thực hiện những vấn đề sau: Chương I: Các khái niệm cơ bản về hệ phân tán, lập trình mạng và cơ sở dữ liệu phân tán. Chương 2: Kỹ thuật lập trình hướng đối tượng trong Java kết nối cơ sở dữ liệu với JDBC. Chương 3: Chương trình đảm bảo gắn bó dữ liệu khi cập nhật trong các cơ sở dữ liệu phân tán tại các ngân hàng. Chúng tôi xin chân thành cám ơn thầy giáo PGS.TS. Lê Văn Sơn đã tận tình giảng dạy, hướng dẫn và cung cấp tài liệu để chúng tôi nắm vững được kiến thức môn học này. Nhóm học viên thực hiện

Tiểu luận Lập trình mạng nâng cao GVHD: PGS.TS Lê Văn Sơn ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN Tiểu luận Tiểu luận LẬP TRÌNH MẠNG LẬP TRÌNH MẠNG Đề tài: Hãy vận dụng các thuật toán để xây dựng giải pháp cho hệ thống ngân hàng với n server (n ≥ 2) quản lý m đủ lớn các tài khoản của khách hàng với yêu cầu hệ phải đảm bảo gắn bó mạnh. GVHD : PGS. TS. Lê Văn Sơn HVTH : Phan Thị Lệ Thuyền Nguyễn Thị Thùy LỚP : Khoa học máy tính KHÓA : 11 (2009 – 2011) LỜI MỞ ĐẦU HVTH: Phan Thị Lệ Thuyền – Nguyễn Thị Thùy 1 Đà Nẵng, tháng 03/2010 Tiểu luận Lập trình mạng nâng cao GVHD: PGS.TS Lê Văn Sơn Ngày nay hầu hết các ứng dụng tin học đều được xây dựng để thực hiện trên mạng máy tính, các ứng dụng client-server đang ngày càng được sử dụng phổ biến. Nhưng khi quy mô và mức độ của các ứng dụng tăng lên và yêu cầu về chất lượng, tốc độ xử lý và độ phức tạp cũng tăng theo thì trên thực tế, một xu hướng kỹ thuật mới ra đời – xu hướng phân tán các thành phần tạo nên hệ tin học theo hướng tiếp cận nơi sử dụng và sản xuất thông tin. Song để khai thác có hiệu quả toàn hệ, vấn đề quan trọng hàng đầu cần phải tính đến là các tài nguyên nói chung, đặc biệt là tài nguyên thông tin nói riêng và chiến lược khai thác, sử dụng chúng một cách tối ưu nhất. Chiến lược khai thác các tài nguyên dùng chung này là chức năng cũng như đối tượng nghiên cứu của các hệ tin học phân tán. Trong thực tế, hệ tin học phân tán với những nguyên lý, phương pháp của nó đã và đang được nhiều người quan tâm để có thể vận dụng trong quá trình tác nghiệp của mình. Việc lập trình giải quyết một bài toán hay giải quyết một yêu cầu xử lý phân tán các đối tượng vẫn là một vấn đề nóng bỏng của công nghệ ngày nay. Trong khuôn khổ môn học Lập trình mạng nâng cao, tiểu luận trình bày về vấn đề xây dựng giải pháp để giải quyết một bài toán cụ thể, đó là: Hãy vận dụng các thuật toán để xây dựng giải pháp cho hệ thống ngân hàng với n server (n ≥ 2) quản lý m đủ lớn các tài khoản của khách hàng với yêu cầu hệ phải đảm bảo gắn bó mạnh. Vấn đề truy cập, xử lý thông tin và đảm bảo sự gắn bó dữ liệu trên hệ phân tán đã được nghiên cứu trong hàng loạt các công trình. Trong phạm vi tiểu luận của mình, tôi thực hiện những vấn đề sau: Chương I: Các khái niệm cơ bản về hệ phân tán, lập trình mạng và cơ sở dữ liệu phân tán. Chương 2: Kỹ thuật lập trình hướng đối tượng trong Java kết nối cơ sở dữ liệu với JDBC. Chương 3: Chương trình đảm bảo gắn bó dữ liệu khi cập nhật trong các cơ sở dữ liệu phân tán tại các ngân hàng. Chúng tôi xin chân thành cám ơn thầy giáo PGS.TS. Lê Văn Sơn đã tận tình giảng dạy, hướng dẫn và cung cấp tài liệu để chúng tôi nắm vững được kiến thức môn học này. Nhóm học viên thực hiện Phan Thị Lệ thuyền Nguyễn Thị Thùy HVTH: Phan Thị Lệ Thuyền – Nguyễn Thị Thùy 2 Tiểu luận Lập trình mạng nâng cao GVHD: PGS.TS Lê Văn Sơn CHƯƠNG I: CÁC KHÁI NIỆM CƠ BẢN VỀ HỆ PHÂN TÁN LẬP TRÌNH MẠNG VÀ CƠ SỞ DỮ LIỆU PHÂN TÁN 1. HỆ PHÂN TÁN 1.1 Tổng quan về hệ tin học Một cách tổng quát, hệ tin học có thể bao gồm các thành phần bản như phần cứng, hệ điều hành, các chương trình ứng dụng và người sử dụng (NSD) … và có thể được mô tả như hình I.1. sau: Các thiết bị phần cứng bao gồm các thiết bị xử lý trung tâm, bộ nhớ và các thiết bị ngoại vi đóng vai trò là một trong hai loại tài nguyên cơ sở của hệ thống tin học. Các chương trình ứng dụng là thành phần tiếp theo sau hệ điều hành được hiểu như là các phần mềm cơ sở phục vụ cho việc triển khai các ứng dụng cụ thể như chương trình dịch, hệ quản trị cơ sở dữ liệu, các chương trình trợ giúp sử dụng các thiết bị chuyên dụng, các trò chơi điện tử Người sử dụng (NSD) ở đây được hiểu theo nghĩa rộng, dưới góc độ của hệ điều hành, có thể là các nhà chuyên môn, các máy tính, các hệ tự động vận hành, gắn với máy tính đang khai thác hệ thông qua lệnh điều khiển theo một thuật toán nào đó nhằm đạt được mục tiêu xác định từ trước. Hệ điều hành các máy tính và mạng máy tính gọi tắt là hệ điều hành được đặt sát phần cứng, nó gắn kết chặt chẽ với phần thiết bị bởi một hệ thống các chương trình, điều khiển và sắp xếp nhằm khai thác phần cứng phục vụ cho các chương trình ứng dụng khác nhau của NSD khác nhau với kết quả và hiệu năng chấp nhận được. Như vậy, hệ tin học bao gồm ba thực thể: phần cứng, phần mềm và dữ liệu, được mô tả ở hình I-2. HVTH: Phan Thị Lệ Thuyền – Nguyễn Thị Thùy 3 Tiểu luận Lập trình mạng nâng cao GVHD: PGS.TS Lê Văn Sơn Vậy hệ thống tin học (Informatic System) là một hệ thống bao gồm hai thành phần cơ bản phần cứng (hardware) và phần mềm (software) gắn bó hữu cơ với nhau và có khả năng xử lý thông tin. 1.2 Hệ tin học phân tán 1.2.1 Định nghĩa Hệ tin học phân tán hay nói ngắn gọn là hệ phân tán (Distributed System) là hệ thống xử lý thông tin bao gồm nhiều bộ xử lý hoặc bộ vi xử lý nằm tại các vị trí khác nhau được liên kết với nhau thông qua phương tiện viễn thông dưới sự điều khiển thống nhất của một hệ điều hành. 1.2.2 Các thực thể trong hệ phân tán Hệ phân tán gồm 4 thực thể: 1.2.3 Đặc điểm của hệ phân tán HVTH: Phan Thị Lệ Thuyền – Nguyễn Thị Thùy 4 Các hệ thống phần mềm Các hệ thống phần mềm Hệ thống dữ liệu Hệ thống dữ liệu Tập hợp phần cứng Tập hợp phần cứng Hệ thống truyền thông Hệ thống truyền thông Hình I-3: Các thực thể của hệ tin học phân tán Tiểu luận Lập trình mạng nâng cao GVHD: PGS.TS Lê Văn Sơn Đặc điểm cần nhấn mạnh của hệ là các hệ xử lý thông tin thành phần: Không dùng chung hoặc chia sẻ bộ nhớ Không sử dụng chung đồng hồ xung nhịp Chúng liên lạc với nhau thông qua mạng truyền thông Mỗi hệ xử lý có bộ xử lý, bộ nhớ và hệ điều hành riêng của nó. Thành phần của hệ phân tán bao gồm các hệ thống cục bộ trong đó mỗi một hay nhiều hệ thống phát các yêu cầu thông tin còn các hệ khác trả lời các yêu cầu có liên quan đến phần dữ liệu của mình. Nói một cách tổng quát là trong hệ luôn luôn diễn ra việc thực hiện các công việc do các hệ thống yêu cầu. Các hệ thống truyền thống như hệ rời rạc hay tập trung không thể đáp ứng nhanh chóng và chính xác các yêu cầu thông tin từ xa với lưu lượng thông tin lớn. 1.2.4 Các ưu điểm của tài nguyên dùng chung trong hệ phân tán Hệ tin học phân tán thực hiện hàng loạt các chức năng phức tạp nhưng chức năng cơ bản nhất là đảm bảo cung cấp cho người sử dụng khả năng truy cập có kết quả đến các tài nguyên vốn có và rất đa dạng của hệ thống như tài nguyên dùng chung. Việc định nghĩa các tài nguyên của hệ như tài nguyên dùng chung sẽ mang đến cho hệ những hiệu năng tốt trong khai thác ứng dụng: - Tăng tốc độ bình quân trong tính toán xử lý. - Cải thiện tình trạng luôn sẵn sàng của các loại tài nguyên. - Tăng độ an toàn cho dữ liệu. - Đa dạng hóa các loại hình dịch vụ tin học. - Bảo đảm tính toàn vẹn của thông tin. Tuy nhiên nó cũng dẫn đến hàng loạt các vấn đề khó khăn trong việc thiết lập hệ liên quan việc cấp phát tài nguyên dùng chung cho các tiến trình. Điều quan trọng là để đảm bảo các chức năng, yêu cầu nêu ra trên, hệ tin học phân tán cần phải có các cơ chế kỹ thuật đủ mạnh nhằm đồng bộ hóa hoạt động của các tiến trình và sự trao đổi thông tin với nhau sao cho hệ thống tránh được các trường hợp có thể dẫn đến bế tắc. 1.2.5 Các thao tác chuẩn của hệ phân tán HVTH: Phan Thị Lệ Thuyền – Nguyễn Thị Thùy 5 Tiểu luận Lập trình mạng nâng cao GVHD: PGS.TS Lê Văn Sơn - Tiếp nhận và ghi yêu cầu chỉ dẫn. - Dịch yêu cầu để có các thông tin cần thiết. Thực hiện một số công việc của hệ thống cục bộ như kiểm tra quyền truy cập thông tin, lập hóa đơn dịch vụ. - Gửi kết quả cho hệ thống đã phát yêu cầu. 2. LẬP TRÌNH MẠNG 2.1 Địa chỉ IP Để hai hay nhiều máy tính kết nối được với nhau thì chúng phải có chung giao thức (protocol). Trên Internet, việc hai máy có thể trao đổi được với nhau đa số đều dựa vào giao thức TCP/IP, theo giao thức này mỗi máy sẽ được đặt cho một số riêng biệt được gọi là địa chỉ IP, các số IP này là duy nhất và không máy nào được trùng nhau, khi muốn máy của mình có địa chỉ IP để tham gia vào hệ thống Internet toàn cầu như một máy chủ ta phải đăng ký với tổ chức InterNIC (Internet Network Information Center) để nhận một số IP riêng biệt. Tuy nhiên, để gần gũi với con người và có ý nghĩa hơn người ta hay dùng tên thay cho địa chỉ IP, với mỗi hệ thống đều có sự chuyển đổi trực tiếp từ tên thành địa chỉ IP thích hợp trước khi dữ liệu được gửi đi. 2.2 Giao thức TCP và giao thức UDP Giao thức TCP (Transmission Control Protocol) gửi từng gói dữ liệu đi, nơi nhận theo giao thức này phải có trách nhiệm thông báo và kiểm ra xem dữ liệu đã đến đủ hay chưa hoặc có lỗi hay không có lỗi. Trước khi chuyển dữ liệu bao giờ cũng có sự kết nối giữa máy gửi và máy nhận. Do phải đảm bảo dữ liệu được truyền chính xác và luôn duy trì kết nối nên sử dụng giao thức TCP cần phải mất thêm một số tài nguyên của hệ thống. Ngược lại giao thức UDP (User Datagram Prorocol) không đáng tin cậy lắm, không có sự kết nối trước giữa máy gửi và máy nhận, giao thức này cho rằng máy nhận luôn ở trạng thái sẵn sàng để tiếp nhận dữ liệu gửi đến. Nếu dữ liệu gửi đến bị lỗi trong quá trình truyền hay không nhận được đầy đủ thì giao thức UDP không có thông tin phải hồi cho máy gửi. Tuy nhiên, giao thức UDP không đòi hỏi nhiều tài nguyên của hệ thống Do đặc tính của hai giao thức như vậy, nên giao thức TCP thường được sử dụng cho các dịch vụ như truyền tập tin, các dịch vụ trực tuyến trên Internet đòi hỏi độ tin cậy cao… Giao thức UDP thường được dùng trong các ứng dụng không đòi hỏi sự chính xác cao như: dịch vụ báo giờ, dịch vụ báo thông tin… 2.3 Dịch vụ từ máy chủ (server) và khái niệm cổng (port) HVTH: Phan Thị Lệ Thuyền – Nguyễn Thị Thùy 6 Tiểu luận Lập trình mạng nâng cao GVHD: PGS.TS Lê Văn Sơn Khi kết nối vào máy chủ, ta có thể yêu cầu máy chủ cung cấp nhiều dịch vụ khác nhau như: tìm kiếm thông tin, gửi nhận E-mail… Mỗi dịch vụ đều có qui ước riêng cho các cách gửi/ nhận dữ liệu. Giao thức TCP hay UDP chỉ chịu trách nhiệm đưa dữ liệu từ một máy tính này đến máy tính khác, còn dữ liệu đó sẽ được gửi cho dịch vụ nào thì phải thông qua một qui định nữa là cổng (port). Mỗi chương trình dịch vụ sẽ sử dụng một cổng khác nhau để truy xuất thông tin. Cổng là một số nguyên từ 1 đến 16383. Máy chủ sẽ qui định cổng cho mỗi dịch vụ, thông tin giữa máy khách và máy chủ phải sử dụng cổng tương ứng thì mới trao đổi thông tin được, hầu hết các chương trình dịch vụ nổi tiếng đều có qui định cổng chuẩn riêng: Dịch vụ Cổng FTP 21 HTTP 80 Telnet 23 … … Khi xây dựng một ứng dụng làm dịch vụ trên máy chủ ta phải chọn cho mình một cổng có giá trị khác với những giá trị cổng mà những dịch vụ nổi tiếng đã sử dụng. 2.4 Giao tiếp theo mô hình client/server 2.4.1 Giao tiếp theo mô hình client/server Có rất nhiều dịch vụ hỗ trợ trên Internet như E-mail, nhóm tin (newsgroup), chuyển tập tin (file transfer), đăng nhập từ xa (remote login), truy tìm thông tin trên Web… Những mô hình này được kiến trúc theo mô hình khách/chủ (client/server). Các chương trình ở máy khách (client) như trình duyệt Web (web browser), chương trình gửi nhận E- mail…; các chương trình dịch vụ trên máy chủ (server) như web server, mail server… sẽ xử lý những yêu cầu này và gửi kết quả ngược về cho máy khách, thông thường một dịch vụ trên máy chủ phục vụ cho rất nhiều yêu cầu của máy khách. 2.4.2 Các chương trình thường chạy trên máy client Nhìn chung, các chương trình trên máy khách thực hiện những nhiệm vụ sau: - Kết nối máy chủ. - Nhận dữ liệu hay yêu cầu của người sử dụng. - Gửi dữ liệu hoặc yêu cầu của người sử dụng đến máy chủ để lưu trữ hoặc xử lý. - Trình bày kết quả trả về từ máy chủ cho người sử dụng. 2.4.3 Các chương trình thường chạy trên máy server HVTH: Phan Thị Lệ Thuyền – Nguyễn Thị Thùy 7 Tiểu luận Lập trình mạng nâng cao GVHD: PGS.TS Lê Văn Sơn Các chương trình được thiết kế chạy trên máy chủ thực hiện những nhiệm vụ sau: - Lắng nghe các kết nối từ máy khách gửi đến. - Tiếp nhận những yêu cầu từ phía máy khách. - Xử lý những yêu cầu từ phía máy khách. - Gửi trả kết quả về cho máy khách. Như vậy, một chương trình ở trên máy chủ đóng vai trò như một dịch vụ (service) phục vụ cho máy khách. 2.5 Lập trình đối tượng phân tán Lập trình đối tượng phân tán là một trong những vấn đề nóng bỏng của công nghệ phần mềm hiện nay, cộng đồng những người lập trình bắt đầu nghĩ rằng đối tượng có ở mọi nơi. Những đối tượng này được hỗ trợ trao đổi với nhau theo những giao thức chuẩn trên mạng. Java là một trong những ngôn ngữ đi tiên phong trong việc giải quyết vấn đề lập trình phân tán. Ví dụ, có một đối tượng ở máy khách (client), ở đó người sử dụng cần phải điền dữ liệu vào mẫu báo cáo. Đối tượng này có thể gửi một thông điệp cho đối tượng trên máy chủ (server) trên mạng để yêu cầu cung cấp các thông tin cần thiết, đối tượng trên máy chủ truy cập vào các cơ sở dự liệu để có được những thông tin mà máy khách yêu cầu và gửi lại cho đối tượng trên máy khách. 2.5.1 Thiết lập môi trường triệu gọi từ xa Để thực hiện được việc triệu gọi từ xa thì ta phải chạy chương trình ở trên cả máy khách và máy chủ. Những thông tin cần thiết cũng phải được cài đặt tách biệt ở máy khách và máy chủ. Tuy nhiên không nhất thiết phải có hai máy tính riêng biệt. Nhờ có máy ảo Java, khi mở cửa sổ DOS-Prompt (môi trường DOS dưới Window) để chạy chương trình Java, chương trình này được xem như chạy trên một máy (ảo) độc lập. Do đó, nếu hai chương trình Java chạy ở trong hai cửa sổ riêng thì có thể xem như là chúng thực hiện trên hai máy khác nhau. 2.5.2 Mô hình tính toán Client/Server Khi nói tới lập trình mạng ta thường nghĩ đến cách trao đổi giữa chương trình phục vụ (Server) với chương trình khách (Client). Chương trình khách gửi một yêu cầu tới cho chương trình phục vụ, và chương trình này xử lý dữ liệu để trả lời cho chương trình khách. Như vậy, chương trình khách muốn gửi được yêu cầu thì trước hết phải tìm cách kết nối HVTH: Phan Thị Lệ Thuyền – Nguyễn Thị Thùy 8 Tiểu luận Lập trình mạng nâng cao GVHD: PGS.TS Lê Văn Sơn với Server. Server có thể chấp nhận hay từ chối sự kết nối này. Một khi sự kết nối đã được thiết lập thì Client và Server trao đổi với nhau thông qua Sockets. Các lớp trong gói java.net cung cấp các phương thức để kết nối mạng và trao đổi tin giữa các máy với nhau theo mô hình Client/Server. Socket chính là lớp (trừu tượng) thực hiện sự trao đổi giữa Server và Client. Java xem sự trao đổi giữa Server và Client dựa trên Socket gần giống như các thao tác vào/ra, nghĩa là các chương trình có thể đọc, ghi vào Socket dễ dàng như chúng đọc, ghi lên tệp dữ liệu. Lớp Server tạo ra sự kết nối từ máy Client tới Server thông qua các phương thức tạo lập đối tượng. Lớp ServerSocket dùng để tạo kết nối từ máy Server tới máy Client. Đối tượng của lớp này được tạo ra trên Server và lắng nghe những kết nối từ máy Client theo cổng xác định. Server phải chạy thường trực trước khi Client bắt đầu thực hiện. Server chờ sự yêu cầu kết nối của Client. Để thiết lập được một Server, ta phải tạo ra một đối tượng, ví dụ ServerSocket của lớp Server, gắn nó với một cổng nào đó và lắng nghe xem có Client nào cần kết nối hay không. Các Socket được xác định tương ứng với địa chỉ của máy và cổng. serverSock = new ServerSocket(Integer.parseInt(txtPort.getText())); Trong đó port là số hiệu của cổng nằm giữa 0 và 1023. Cổng cho phép trao đổi tin giữa hai chương trình. Tất cả các lớp cơ bản cho việc giao tiếp và làm việc với mạng đều nằm trong gói Java.net, như lớp socket API (Application Program Interface). Socket API của Java cung cấp các công cụ để truy cập đến các giao thức mạng chuẩn được sử dụng để giao tiếp giữa các Host trên mạng Internet. Socket API là công cụ mức thấp nhất, chúng ta có thể sử dụng socket cho bất kỳ kiểu giao tiếp Client/Server nào và các ứng dụng ngang hàng trên mạng nhưng chúng ta phải cài đặt các giao thức ứng dụng mức thấp để điều khiển và thông dịch dữ liệu. Socket là giao diện lập trình mức thấp cho các giao tiếp hướng mạng. Chúng gửi các dòng dữ liệu giữa các ứng dụng có thể hoặc không nằm trên cùng một host. Gói java.net hỗ trợ một giao diện hướng đối tượng, đơn giản hóa socket nên việc giao tiếp mạng trở nên dễ dàng hơn. Java cung cấp các socket để hỗ trợ cho 3 lớp phân biệt của các giao thức bên dưới: Socket, DatagramSocket, MulticastSocket. Lớp Socket sử dụng giao thức hướng kết nối TCP/IP, đảm bảo dữ liệu không bị mất trong quá trình truyền. HVTH: Phan Thị Lệ Thuyền – Nguyễn Thị Thùy 9 Tiểu luận Lập trình mạng nâng cao GVHD: PGS.TS Lê Văn Sơn Lớp ServerSocket được sử dụng để thu nhận các kết nối từ client của server. ServerSocket chỉ được tạo một lần và nhận các kết nối đến từ các client. Phương thức accept của ServerSocket sẽ đợi cho đến khi có kết nối đến và trả về một đối tượng Socket. 3. CƠ SỞ DỮ LIỆU PHÂN TÁN Một cơ sở dữ liệu phân tán là tập hợp nhiều cơ sở dữ liệu có liên đới logic và được phân bố trên một mạng máy tính. Từ đó ta định nghĩa: Hệ quản trị cơ sở dữ liệu phân tán (DDMS) là một hệ thống phần mềm cho phép quản lý các cơ sở dữ liệu phân tán và làm cho việc phân tán trở nên “vô hình” đối với người sử dụng. Môi trường của hệ quản trị cơ sở dữ liệu phân tán được mô tả qua hình I-4. Hình I-4: Môi trường của hệ cơ sở dữ liệu phân tán HVTH: Phan Thị Lệ Thuyền – Nguyễn Thị Thùy 10 Trạm 5 Trạm 5 Mạng truyền dữ liệu Trạm 5 Trạm 5 Trạm 5 Trạm 5 Trạm 5 Trạm 5 Trạm 5 Trạm 5 [...]... đỡ t n tình của thầy giáo cũng như các b n trong lớp và sự n lực của b n th n trong tiểu lu n n y chúng em cũng đã đạt được m t số kết quả nhất định:  Trình bày được các khái ni m cơ b n của hệ thống ph n t n, lập trình m ng cũng như cơ sở dữ liệu ph n t n  Trình bày được kỹ thuật lập trình m ng ph n t n trong Java  N m bắt được kỹ thuật kết n i bằng JDBC Thực hi n kết n i ứng dụng chạy trong m i... trong tài kho n Hình III-4: M hình hệ thống ng n hàng chạy m ng với CSDL ph n t n 4 XÂY DỰNG CÁC PHƯƠNG THỨC TR N SERVER Tr n các Server xây dựng các phương thức: Kết n i cơ sở dữ liệu, phương thức truy v n tài kho n và phương thức cập nhật tài kho n Các phương thức n y khi c n thực hi n thì được triệu gọi từ Client HVTH: Phan Thị Lệ Thuy n – Nguy n Thị Thùy 22 Tiểu lu n Lập trình m ng n ng cao GVHD:... V n S n CHƯƠNG III: CHƯƠNG TRÌNH Đ M BẢO G N BÓ DỮ LIỆU KHI CẬP NHẬT TRONG CÁC CƠ SỞ DỮ LIỆU PH N T N TẠI CÁC NG N HÀNG 1 ĐẶT V N ĐỀ Trong thực tế hi n nay hầu hết các hệ thống ng n hàng đều được xây dựng với hệ thống cơ sở dữ liệu tập trung Việc truy v n tr n cơ sở dữ liệu tập trung có những thu n lợi và khó kh n nhất định Trong những khó kh n đó khó kh n l n nhất phải tính đ n đó chính là việc giải. .. m i trường m y ảo Java và hệ qu n trị cơ sở dữ liệu SQL Server  Ứng dụng các kỹ thuật lập trình để ti n hành m phỏng bài to n đ m bảo g n bó dữ liệu khi cập nhật trong các cơ sở dữ liệu ph n t n tại các ng n hàng Tuy nhi n do thời gian và khả n ng c n h n chế n n đề tài chỉ dừng lại ở m c độ t m hiểu, chưa tri n khai điều khi n tr n các hệ thống thực Tôi xin ch n thành c m n ý ki n đóng góp của thầy... Yêu cầu dịch vụ từ người dùng ở đây được m tả bằng việc xem tài kho n, cộng hoặc trừ tài kho n Khi mu n xem tài kho n người sử dụng c n cung cấp m số tài kho n và m Pin, khi mu n thực hi n gửi vào hoặc rút ra từ tài kho n người sử dụng c n cung cấp th m số ti n Yêu cầu sẽ được gửi đ n các Server, yêu cầu Server ki m tra tài kho n gửi đ n thực hi n giao dịch và gởi trả lại số ti n hi n tại trong tài. .. trình thông dịch n n Java là m t ng n ngữ rất n ng động Trong khi thực thi, m i trường Java có thể tự m rộng để li n kết với các lớp m i n m rải rác tr n các m y chủ khác nhau Đó cũng là thu n lợi l n của Java so với các ng n ngữ lập trình khác 2 RMI VÀ LẬP TRÌNH PH N T N HƯỚNG ĐỐI TƯỢNG TRONG JAVA 2.1 Khái ni m chung Java RMI (Remote Method Invocation): Là m t cơ chế gọi h m từ xa đã được thực hi n. .. số ti n thực hi n giao dịch HVTH: Phan Thị Lệ Thuy n – Nguy n Thị Thùy 23 Tiểu lu n Lập trình m ng n ng cao GVHD: PGS.TS Lê V n S n Xây dựng chức n ng cho phép người sử dụng ch n lựa giao dịch: Xem số dư tài kho n, gửi ti n vào tài kho n và rút ti n Hình III-5: Giao di n phía Client HVTH: Phan Thị Lệ Thuy n – Nguy n Thị Thùy 24 Tiểu lu n Lập trình m ng n ng cao GVHD: PGS.TS Lê V n S n KẾT LU N Được... tượng rs của ResultSet chứa những kết quả truy v n vào CSDL SANPHAM theo câu lệnh SELECT của SQL HVTH: Phan Thị Lệ Thuy n – Nguy n Thị Thùy 19 Tiểu lu n Lập trình m ng n ng cao GVHD: PGS.TS Lê V n S n H m getString(“fieldname ), getInt(“fieldname ), : đọc giá trị các trường dữ liệu H m boolean next (): chuy n sang hàng tiếp theo HVTH: Phan Thị Lệ Thuy n – Nguy n Thị Thùy 20 Tiểu lu n Lập trình m ng n ng... *.class n m rải rác tr n nhiều vùng vật lý khác nhau như ổ đĩa hay các m y chủ ở những vị trí khác nhau tr n Internet Ng n ngữ Java cung cấp các công cụ đủ m nh để thiết kế bất kỳ ứng dụng n o theo m hình khách chủ (client /server) và ph n t n (distributed) Java là m t ng n ngữ thông dịch tr n cơ sở đã bi n dịch trước thành bytecode n n nó trở n n khả chuy n Java được thiết kế cho m c đích đa n n, n n m ... là m số tài kho n của (AccID) Những tài kho n n m ở Server Hà N i, Đà N ng, Sài G n có m số tài kho n l n lượt bắt đầu bằng hai ký tự: “HN”, “DN”, “SG” Ba cơ sở dữ liệu tương ứng: Hình III-1: HNBank Database Hình III-2: DNBank Database HVTH: Phan Thị Lệ Thuy n – Nguy n Thị Thùy 21 Tiểu lu n Lập trình m ng n ng cao GVHD: PGS.TS Lê V n S n Hình III-3: SGBank Database 3 XÂY DỰNG BỘ PH N PHỐI KẾT N I SERVER . trình dịch vụ sẽ sử dụng một cổng khác nhau để truy xuất thông tin. Cổng là một số nguyên từ 1 đến 163 83. Máy chủ sẽ qui định cổng cho mỗi dịch vụ, thông tin giữa máy khách và máy chủ phải sử dụng. chủ. Máy chủ Máy chủ Máy khách và máy chủ Máy chủ Máy khách HVTH: Phan Thị Lệ Thuyền – Nguyễn Thị Thùy 16 Tiểu luận Lập trình mạng nâng cao GVHD: PGS.TS Lê Văn Sơn 2.6 Bộ đăng ký (Registry) Cơ chế làm

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

Từ khóa liên quan

Mục lục

  • 1.2 Hệ tin học phân tán

  • 1.2.1 Định nghĩa

    • 1.2.2 Các thực thể trong hệ phân tán

    • 2. LẬP TRÌNH MẠNG

    • 2.1 Địa chỉ IP

    • 2.2 Giao thức TCP và giao thức UDP

    • 2.4 Giao tiếp theo mô hình client/server

    • 2.5 Lập trình đối tượng phân tán

    • 3. CƠ SỞ DỮ LIỆU PHÂN TÁN

    • 2.1 Khái niệm chung

    • 2.2 Gọi phương thức từ xa và các vấn đề phát sinh

    • 2.3 Vai trò các lớp trung gian STUB và SKELETION

    • 2.4 Cài đặt ứng dụng phân tán của RMI

    • 2.5 Cơ chế gọi hàm từ xa của các đối tượng RMI một cách tổng quát

    • 2.6 Bộ đăng ký (Registry)

    • 3. GIỚI THIỆU JDBC (Java DataBase Connectivity)

    • 3.1 Lớp DriverManager

    • 3.2 Giao diện Connection

    • 3.3 Giao diện Statement

    • 3.4 Giao diện ResultSet

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

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

Tài liệu liên quan