báo cáo tiểu luận môn lập trình mạng nâng cao đảm bảo gắn bó dữ liệu khi cập nhật trong các cơ sở dữ liệu tập trung

18 619 2
báo cáo tiểu luận môn lập trình mạng nâng cao đảm bảo gắn bó dữ liệu khi cập nhật trong các cơ sở dữ liệu tập trung

Đ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

BỘ GIÁO DỤC & ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG    BÁO CÁO TIỂU LUẬN MÔN: LẬP TRÌNH MẠNG GVHD: PGS.TS. LÊ VĂN SƠN HVTH: NGUYỄN TUẤN TRUNG LỚP: KHOA HỌC MÁY TÍNH KHÓA: 24 NỘI DUNG GIỚI THIỆU ĐỀ TÀI Giả sử rằng ta có hệ thống CSDL phối hợp với một hoạt động được gọi từ xa nhằm phục vụ cho việc cập nhật hay tra cứu thông tin cần thiết. Viết chương trình trên ngôn ngữ Java cho phép cập nhật CSDL có kiểm tra tính gắn bó. YÊU CẦU  Đây là hệ đơn Server, có thể hoạt động theo mô hình Client/Server thường gặp.  Viết chương trình theo kiểu đa truy cập, ngẫu nhiên, từ xa với số lượng truy cập lớn.  Xây dựng Monitoring để Manager hệ thống có thể kiểm tra và điều khiển quá trình thực hiện. GIẢI QUYẾT VẤN ĐỀ NGÔN NGỮ LẬP TRÌNH XÂY DỰNG CƠ SỞ DỮ LIỆU   Cơ sở dữ liệu được thiết kế không nhằm mục đích quản lý mà chỉ phục vụ cho yêu cầu về cập nhật, tra cứu thông tin.   Do đó có thể thiết kế rất đơn giản: - Thiết kế cơ sở dữ liệu PhoneBooks sử dụng hệ quản trị cơ sở dữ liệu MySQL. - Cơ sở dữ liệu PhoneBooks sẽ bao gồm table tbl_telephone. - Table tbl_telephone gồm một trường Name và Telephone để lưu Tên và Số điện thoại. KẾT NỐI CSDL  Sử dụng đăng kết JDBC  Nạp trình điều khiển Class.forName("com.mysql.jdbc.Driver");  Thực hiện kết nối. knoi = DriverManager.getConnection (url,userName, password); KIỂM TRA TÍNH GẮN BÓ DỮ LIỆU  Thông thường một ứng dụng có nhiều user làm việc với CSDL, ta sẽ gặp phải trường hợp hai hay nhiều user truy xuất và cập nhật trên cùng một dữ liệu, ta gọi đó là trạng thái xung đột. Và khi đó số liệu dễ bị sai lạc và làm mất tính toàn vẹn, gắn bó của dữ liệu. KIỂM TRA TÍNH GẮN BÓ DỮ LIỆU  Do đó, mỗi khi cập nhật thông tin hay tra cứu thông tin, phải kiểm tra để xác định quyền truy cập để đọc hay sửa đổi nội dung các bảng cơ sở dữ liệu. Chỉ cho phép cập nhật khi không có truy vấn nào đang tiến hành.  Các hệ CSDL có hỗ trợ transaction sẽ sử dụng cơ chế lock, khoá các khối dữ liệu đang ở trong một transaction, ngăn không cho các truy cập từ những người dùng khác. [...]... thúc KẾT LUẬN  Các vấn đề được giải quyết:  Thực hiện kết nối Client/Server, trong đó một Server có thể nhận kết nối từ nhiều Client cùng lúc Mỗi Client có thể kết nối vào cơ sở dữ liệu tại Server và thực hiện các hoạt động thêm, sửa, xoá, xuất, thoát  Quá trình này có kiểm tra tính gắn bó về dữ liệu  Xây dựng Monitoring dùng để kiểm tra quá trình cập nhật dữ liệu  Hạn chế:  Chương trình được... HÌNH CLIENT – SERVER  Các chương trình ở máy khách (client) sẽ tạo ra kết nối (connection) với một máy chủ ở xa (server) sau đó gửi các yêu cầu đến máy chủ, các chương trình dịch vụ trên máy chủ sẽ xử lý các yêu cầu này và gửi kết quả ngược về cho máy khách  Trước khi yêu cầu một dịch vụ trên máy chủ, máy khách (client) phải có khả năng kết nối được với máy chủ (server) Quá trình kết nối này được... (client) phải có khả năng kết nối được với máy chủ (server) Quá trình kết nối này được Java thực hiện thông qua một cơ chế trừu tượng hóa gọi là Socket  Nếu kết nối socket thành công thì máy khách và máy chủ có thể trao đổi dữ liệu với nhau, thực hiện các yêu cầu về dịch vụ trên máy chủ LẬP TRÌNH SOCKET Client Server int port = 8000 int port = 8000 DataInputStream in String host = “localhost” DataOutputStream... Xây dựng Monitoring dùng để kiểm tra quá trình cập nhật dữ liệu  Hạn chế:  Chương trình được viết chỉ mới mang tính chất thử nghiệm, chưa phải là một chương trình hoàn chỉnh  Chưa thử nghiệm được khi số lượng Client kết nối lớn, cũng như khi dữ liệu yêu cầu lớn Xin chân thành cảm ơn!!! ... (socket.getInputStream()); Các luồng trao đổi out = new DataOutputStream (socket.getOutputStream()); System.out.println out.writeDouble(aNumber); (socket.getInputStream()); out = new DataOutputStream (socket.getOutputStream()); (in.readDouble()); in = new DataInputStream Các luồng I/O out.writeDouble(aNumber); System.out.println(in.readDouble() ); Sự trao đổi giữa Server và Client bằng socket trong java XÂY DỰNG... Các luồng I/O out.writeDouble(aNumber); System.out.println(in.readDouble() ); Sự trao đổi giữa Server và Client bằng socket trong java XÂY DỰNG SERVER Sơ đồ thuật toán chương trình chính Server Bắt đầu Tạo giao diện Đợi kết nối từ các Client Sai Nhận kết nối Đúng Tạo một Thread mới kết nối với a (MultipleSocketServer) Kết thúc XÂY DỰNG SERVER Sơ đồ thuật toán MultipleSocketServer Bắt đầu Tạo kết nối với . cập nhật trên cùng một dữ liệu, ta gọi đó là trạng thái xung đột. Và khi đó số liệu dễ bị sai lạc và làm mất tính toàn vẹn, gắn bó của dữ liệu. KIỂM TRA TÍNH GẮN BÓ DỮ LIỆU  Do đó, mỗi khi. tin.   Do đó có thể thiết kế rất đơn giản: - Thiết kế cơ sở dữ liệu PhoneBooks sử dụng hệ quản trị cơ sở dữ liệu MySQL. - Cơ sở dữ liệu PhoneBooks sẽ bao gồm table tbl_telephone. - Table. hiện. GIẢI QUYẾT VẤN ĐỀ NGÔN NGỮ LẬP TRÌNH XÂY DỰNG CƠ SỞ DỮ LIỆU   Cơ sở dữ liệu được thiết kế không nhằm mục đích quản lý mà chỉ phục vụ cho yêu cầu về cập nhật, tra cứu thông tin.   Do

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

Từ khóa liên quan

Mục lục

  • BỘ GIÁO DỤC & ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG -----  -----

  • NỘI DUNG

  • GIỚI THIỆU ĐỀ TÀI

  • YÊU CẦU

  • GIẢI QUYẾT VẤN ĐỀ

  • NGÔN NGỮ LẬP TRÌNH

  • XÂY DỰNG CƠ SỞ DỮ LIỆU

  • KẾT NỐI CSDL

  • KIỂM TRA TÍNH GẮN BÓ DỮ LIỆU

  • Slide 10

  • MÔ HÌNH CLIENT – SERVER

  • LẬP TRÌNH SOCKET

  • XÂY DỰNG SERVER

  • Slide 14

  • XÂY DỰNG CLIENT

  • XÂY DỰNG MONITORING

  • KẾT LUẬN

  • Slide 18

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

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

Tài liệu liên quan