Tải bản đầy đủ (.ppt) (16 trang)

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ể

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (206.45 KB, 16 trang )

ĐỀ 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
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ơ.
NộI DUNG TRÌNH BÀY


Phần lý thuyết

Demo chương trình

Kết luận
VÍ Dụ Về Hệ PHÂN TÁN - MộT
INTRANET TIÊU BIểU
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.
KIẾN TRÚC HỆ PHÂN TÁN(tt)
Client
Client
Server
Server
Invocation
Invocation
Result
Result

Mô hình Client/Server.

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
Vấn đề cung cấp tài nguyên trong hệ phân tán
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.




 

!
"#$ 
%

&'
()

*
()
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.
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
SƠ Đồ MINH HọA THUậT TOÁN
+!,
,,
,,
,,
-,./01
,./01
2! ,3"4/5


2! ,3"46

-,.7801

,./7801
 ,
+!,
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.
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
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(){

try {

while (true) {

//Doc thong diep do tram khac gui den

strMes = in.readLine();

if (strMes!=null){

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

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

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

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

String strContent = strMes.substring(strMes.indexOf("|")
+1,strMes.length());
DEMO CHƯƠNG TRÌNH

Giới thiệu về chương trình
SetServer.java
Congto.java
Các &le BATCH
delClass.bat
9
:;<<==
(,!>!
Compile.bat
??:,@
!
;????A!=!,BBB
C>C
;????A!A!=!,BBB
DEF;
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
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.
CảM ƠN THầY VÀ BạN ĐÃ LắNG NGHE!

×