1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo tiểu luận môn lập trình mạng đồng bộ hóa và gắn bó dữ liệu thông qua một bài toán cụ thể

16 447 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 16
Dung lượng 653,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

YÊU CẦU ĐỀ TÀI  Ta cài đặt trên N trạm một “ảnh” của công tơ sự kiện phân tán, được tăng một số gia truyền cho mỗi lần sự kiện đến.. KIẾN TRÚC HỆ PHÂN TÁNApplications, Services Middlew

Trang 1

ĐỀ TÀI 38:

BÀI TOÁN ĐỒNG BỘ HÓA

VÀ GẮN BÓ DỮ LIỆU

GVHD: PGS.TS LÊ VĂN SƠN HVTH: LÊ QUANG VŨ

ĐẠ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

ĐÀ NẴNG, 05/2012

Trang 2

YÊU CẦU ĐỀ TÀI

Ta cài đặt trên N trạm một “ảnh” của công tơ sự kiện phân tán,

được tăng một số gia truyền cho mỗi lần sự kiện đến Bạn hãy cho biết các vấn đề gì sẽ đặt ra khi ta sử dụng phương pháp này

 Đây là bài toán đồng bộ hóa và gắn bó dữ liệu

Hãy viết chương trình cho biết giá trị “ảnh” của các công tơ.

Trang 3

NộI DUNG TRÌNH BÀY

 Phần lý thuyết

 Demo chương trình

 Kết luận

Trang 4

VÍ Dụ Về Hệ PHÂN TÁN - MộT

INTRANET TIÊU BIểU

Trang 5

KIẾN TRÚC HỆ PHÂN TÁN

Applications, Services

Middleware

Operating System Computer and Network hardware

Platform

Middleware: Cung cấp mô hình lập trình cho các ứng dụng, như RMI, CORBA, DCOM,…

Các lớp dịch vụ phần mềm và phần cứng.

Trang 6

KIẾN TRÚC HỆ PHÂN TÁN(tt)

Client

Client

Server

Server Invocation

Invocation

Result Result

Mô hình Client/Server.

Trang 7

 Trong hệ phân tán, chương trình cung cấp tài nguyên nằm trên một trạm và các tiến trình đề nghị lại nằm trên 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 đi theo các kênh của hệ thống viễn thông

 Vì vậy, nhu cầu sắp xếp các yêu cầu này theo một thứ tự nhất định nào đó luôn luôn được đặt ra

 Sự họat động gắn bó với nhau giữa các chương trình cung cấp là rất cần thiết để đảm bảo cho họat động cung cấp được hoàn toàn chính xác

Vấn đề cung cấp tài nguyên trong hệ phân tán

Trang 8

TÌM HIểU Về NGÔN NGữ LậP TRÌNH JAVA

Java được thiết kế cho mục đích đa nền, mã của chương trình Java (tập tin java) sau khi biên dịch là một file nhị phân gọi là byte-code (tập tin class) và được triệu gọi thực thi trong máy ảo Java (JVM – Java

Virtual Machine) Việc dịch chương trình Java sang bytecode có thể làm cho chương trình chạy được trên nhiều môi trường hơn vì chỉ cần có mỗi trình thông dịch JVM cho mỗi môi trường

Hình 3.1 Sơ đồ hoạt động của các trình Java

Trình soạn thảo Các tập tin nguồn Java Các tập tin .class chương trìnhKết quả

Trình biên dịch

Trình thông dịch

Tập tin nguồn Java là một tập tin văn bản thuần (text file), tuân theo hệ thống cú pháp chặt chẽ của Java, gồm các chú thích, khai báo lớp, biến, phương thức

Java là một ngôn ngữ thiên về lập trình mạng và Internet, tích hợp khả năng

đa luồng trong ngôn ngữ, và có thể dùng để viết các chương trình ứng dụng

không thua gì các ngôn ngữ lập trình khác.

Trang 9

NỘI DUNG BÀI TOÁN

 1 Xây dựng hệ thống phân tán 3 server thể hiện khả năng phát/nhận thông điệp

 2 Xây dựng giải pháp kỹ thuật tăng số gia

 3 Viết chương trình bằng Java

Trang 10

SƠ Đồ MINH HọA THUậT TOÁN

false

Server

Connect other Server

ReMsg =“”

SeMg=“”

Value(CTSK) =0

Sta rt

Value(CTSK)+1

Stop

ReMsg <>“” or SeMsg=<>“”

True false

Trang 11

CÀI ĐặT ĐA SERVER

Dịch vụ từ máy chủ và khái niệm cổng, Khi kết nối vào

máy chủ ta có thể yêu cầu từ máy chủ nhiều dịch vụ khác nhau như: tìm và đọc các trang web trên Internet; gởi – nhận thông điệp; dò tìm hệ thống tên miền DNS;…Mỗi dịch vụ đều có cách gởi – nhận dữ liệu theo quy ước riêng 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 dương có giá trị từ 1 đến 16383

Trang 12

THUậT TOÁN

//Them muc vao list servers - this servers

 String strItem1 = strLocalHost +"("+ intLocalPort+ ")"+".";

 vtServers.addElement(strItem);//vtServer là Vectơ chứa các server trong hê thống

 lstServers.setListData(vtServers);

//tao doi tuong Server Socket de lang nghe ket noi tu cac may khac goi den cong intLocalPort

 server = new ServerSocket(intLocalPort);

 int intLocalPort = server.getLocalPort();

//Tiếp tục tìm để kết nối với server khác

 while(true){

 Socket skConnect = server.accept();

 //Neu la server trong he ket noi - chi cho phep mot server trong he ket noi

 //Va chuyen ket noi cho mot luong xu ly

 if(!bConMaster){

 bConMaster = true;

 conMaster = new Congto(skConnect,1,txtReceive,lblClock);

 conMaster.start();

 strMaster = conMaster.getInfoClient();

 String strMaster = strLocalHost +"("+ intLocalPort+ ")"+".";

 vtServers.addElement(strMaster);

 lstServers.setListData(vtServers);

//hiển thị Server được kết nối này vào danh sách server

Trang 13

GIảI PHÁP Kỹ THUậT TĂNG Số GIA

 //Lay ve luong nhap de nhan du lieu tu tram khac gui den

 in = new BufferedReader(new InputStreamReader(client.getInputStream()));

 //có thể viết khác cho tường minh

 //Lay ve luong xuat de gui du lieu cho tram khac

 out = new PrintWriter(client.getOutputStream(), true);

 }catch(Exception e){

 }

 public void run(){

 while (true) {

 //Doc thong diep do tram khac gui den

 strMes = in.readLine();

 //Lay cac thong tin trong thong diep: clock#code|message

 strMes.substring(0,strMes.indexOf("#")); String strClockRev =

 int intClockRev = Integer.parseInt(strClockRev);

 // neu co thong diep goi den thi tang so gia len 1

 int intClock = intClockRev + 1;

 //Hien thi thong diep vao text area tren form

 +1,strMes.indexOf("|")); String strCode = strMes.substring(strMes.indexOf("#")

 +1,strMes.length()); String strContent = strMes.substring(strMes.indexOf("|")

Trang 14

DEMO CHƯƠNG TRÌNH

SetServer.java Congto.java

Các file BATCH

delClass.bat

CLS

@ECHO OFF

del *.class

Compile.bat

@echo off

cls

Echo Compiling Files !!!

javac *.java

Echo Compilingimpl Files !!!

PAUSE

server1.bat

@echo off echo 'This is Server1' java SetServer 60

server2.bat

@echo off echo 'This is Server2' java SetServer 70

server3.bat

@echo off echo 'This is Server3' java SetServer 80

Trang 15

KếT LUậN

Đề tài đã đạt một số kết quả đáng kể sau:

 Nắm vững nguyên tắc hoạt động của đa server

 Nắm vững các kiến thức liên quan đến hệ phân tán và lập trình mạng trên cơ sở nền Java

 Cài đặt bài toán thể hiện đa server phát nhận thông điệp và tính toán giá trị công tơ sự kiện phân tán tại mỗi server

 Đảm bảo được căn bản các yêu cầu đặt ra của bài tóan

Trang 16

CảM ƠN THầY VÀ BạN ĐÃ LắNG NGHE!

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

HÌNH ẢNH LIÊN QUAN

SƠ Đồ MINH HọA THUậT TOÁN - báo cáo tiểu luận môn lập trình mạng đồng bộ hóa và gắn bó dữ liệu thông qua một bài toán cụ thể
SƠ Đồ MINH HọA THUậT TOÁN (Trang 10)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w