Ví dụ ứng dụng ĐKTC từ xanghiệm qua mạng được xem là chương trình sử dụng cơ chế điều khiển việc thực hiện từ xa với các yêu cầu như: Client và yêu cầu gửi bài làm của học viên đến máy
Trang 2Nội dung báo cáo
Điều khiển truy cập từ xa
Trang 3 Yêu cầu từ xa
nhằm làm cơ sở để áp dụng phân tích trình bày trong ví dụ minh họa
muốn biết thông tin về giá cả của một mặt
hàng do một bộ phận ở thành phố B ở xa
quản lý
Trang 4Điều khiển truy cập từ xa
Để đáp ứng được yêu cầu này đòi hỏi hệ thống
phải có khả năng thực hiện hàng loạt các thao tác được xác định
Nhận biết thông tin nằm tại vị trí nào (gọi là vấn đề
trỏ thông tin) phải biến đổi tên của thành phố B
thành tên của hệ thống cục bộ quản lý thông tin
của thành phố A.
Sau khi đã trỏ đúng vào địa chỉ chứa thông tin, hệ phải có khả năng tiếp nhận và ghi lại các yêu cầu chỉ dẫn
Trang 5 Biên dịch các yêu cầu này thành dạng lệnh
có thể thực hiện được để truy tìm thông tin.
thống như: kiểm tra quyền truy cập thông tin, thống kê số lượng người truy cập, lập hóa đơn, thanh toán…
gửi nó cho hệ thống yêu cầu
Trang 6Điều khiển truy cập từ xa
Sau đây là cơ chế hoạt động cài đặt trong A và B
theo mô hình Client/Server:
Hệ thống A Hệ thống B
Phatyeucau(B,yc)
Nếu (yêu cầu hợp thức) thì
Bắt đầu Tracuucsdl Thongke Guiketqua (s, kq) Kết thúc
Nếu không Guithongbao (s,tb) Cho đến khi đúng
Trang 7một khoảng thời gian xác định
Trang 8Điều khiển truy cập từ xa
Đăng ký từ xa
Trang 9 Để đáp ứng yêu cầu đăng ký từ xa vừa nêu trên,
ta có thể cài đặt tại hệ cục bộ ở A một đoạn
chương trình như sau:
Ok:=True Kết thúc Nếu không huy_dang_ky(AB,t)
t:=sau(t)
Kết thúc
Trang 10Điều khiển truy cập từ xa
Đoạn chương trình trên cho thấy rằng sau khi
nhận được thông tin về trạng thái hàng hóa tại B
và phương tiện vận tải tại C chương trình sẽ lần
lượt thực hiện các lệnh sau:
Đăng ký sơ bộ mua hàng tại B trong ngày t
Nếu việc đăng ký đó thành công thì đăng ký tiếp
phương tiện vận tải tại C
Lặp lại cho đến khi hết thời hạn cho phép
Trang 11 Nếu ta vận hành nhiều chương trình cùng một lúc thì hậu quả diễn ra khá nghiêm
trọng Do việc đăng ký hàng hóa chỉ diễn
ra sơ bộ, cho nên nó có thể bị đăng ký bởi NSD khác
ta xây dựng chương trình cài đặt tại hệ cục
bộ A theo một kiểu khác như sau:
Trang 12Điều khiển truy cập từ xa
Nếu không t:=sau(t)
Kết thúc
…
Trang 13[Chương trình tại đây được bao bởi]
Trang 14Ví dụ ứng dụng ĐKTC từ xa
Vận dụng phần lý thuyết ĐKTX xây dựng hệ thống thi trắc nghiệm qua mạng tại trung tâm tin học liên kết với Trung tâm tin học trường Đại học Bách
khoa
Giới thiệu hệ thống thi trắc nghiệm qua mạng:
Hệ thống thi trắc nghiệm qua mạng sử dụng kết
nối giữa máy chủ Server tới các máy trạm Client
được đặt ở những nơi khác nhau cùng sử dụng
chương trình thi trắc nghiệm qua mạng
Trang 15 Hỗ trợ quá trình làm bộ đề thi cho nhiều chuyên
ngành khác nhau.
Tổ chức thi và quản lý kỳ thi dễ dàng và khách quan.
Chấm điểm ngay sau khi học viên kết thúc bài thi của mình
Lưu trữ tự động bài làm của học viên vào csdl.
Trang 16Ví dụ ứng dụng ĐKTC từ xa
nghiệm qua mạng được xem là chương
trình sử dụng cơ chế điều khiển việc thực hiện từ xa với các yêu cầu như:
Client và yêu cầu gửi bài làm của học viên đến máy chủ Server
Trang 17 Mô hình Client/Server là mô hình tổ chức trao đổi thông tin, mô tả cách mà các máy tính có thể giao tiếp với nhau theo một
phương thức nhất định
Client process
4.Client handles
reponse
Resource
Server process
2.Server handles request
3.Server sends response
1.Client sends request
Mô hình Client-Server
Trang 18Ví dụ ứng dụng ĐKTC từ xa
Trong mô hình Cilent/Server, các bước
cơ bản của việc thực hiện từ xa:
gởi lên.
Trang 19 Bài toán minh họa
mạng liên kết với Trung tâm Tin học
trường Đại học Bách khoa Đà Nẵng
thông báo cho trường Đại học Bách Khoa
Đà Nẵng và việc quản lý ngân hàng đề thi,
ra đề thi cũng do trường quản lý.
Trang 20Ví dụ ứng dụng ĐKTC từ xa
nhất để đăng nhập tại máy Client ở trung tâm tin học.
được đặt tại máy Server tại trường Bách
Khoa Đà Nẵng và sau đó sẽ tải về máy của các thí sinh
Trang 21 Giải quyết yêu cầu từ xa
Client gửi yêu cầu đề thi đến Server đặt tai trường Bách Khoa
Server tiếp nhận các yêu cầu từ phía các Client
Server kiểm tra, xử lý và trả lời yêu cầu cho phía Client
Kết thúc quá trình giao dịch tại đây và đợi các yêu cầu khác từ phía các Client
Trang 22Ví dụ ứng dụng ĐKTC từ xa
Phatyeucau(B,yc)
Nếu (yêu cầu hợp thức) thì
Bắt đầu Tracuucsdl Xacnhanyeucau Guiketqua (s, kq) Kết thúc
Nếu không Guithongbao (s,tb) Cho đến khi đúng
Trang 23 Thực hiện đăng ký từ xa
tâm tin học (A) phải gửi thông tin bài làm của
mình đến máy chủ
trường ĐH BKĐN (B) nhận được yêu cầu thì
sẽ xem xét và tra cứu trong cơ sở dữ liệu.
Trang 24t:=sau(t)
Trang 25Việc đồng bộ giữa các thực thể trao đổi thông tin qua lại:
Có ít nhất là 2 hàm nguyên thuỷ (sơ cấp) cần thiết cho quá trình gửi và nhận một thông điệp:
Dạng không treo: Tiến trình gửi thông điệp tiếp tục
thực hiện các công việc của nó.
Dạng treo: Tiến trình gửi thông điệp chờ nhận lời
khẳng định (confirm) từ phía nhận đang ở trong
trạng thái sẵn sàng nhận
Trang 26Vấn đề đảm bảo liên lạc giữa các tiến trình
Bản chất của các thông điệp:
Một thông điệp trong quá trình xử lý truyền thông được xem như là một dãy các ký tự có cấu trúc thống nhất được trạm
phát truyền đi và trạm nhận có thể hiểu được.
Về mặt NNLT, việc cải tiến các hàm nguyên thuỷ (sơ cấp)
chính là gắn kiểu dữ liệu cho mỗi loại thông điệp, nhờ đó kiểm tra tính tương thích giữa thông điệp gửi và thông điệp nhận
Nhằm đảm bảo một cuộc trao đổi thật gắn bó giữa các tiến
trình với nhau, bên nhận cần phải có khả năng phân loại và lựa
chọn giữa các thông điệp gửi đến, các thông điệp cần phải
được xử lý theo đúng chức năng riêng biệt của nó
Trang 27Thể hiện việc chờ đợi một thông điệp và khả năng lựa chọn này theo dạng sau:
Trang 28Vấn đề đảm bảo liên lạc giữa các tiến trình
Các dạng hàm nguyên thuỷ liên lạc và các khả năng của nó sẽ thay đổi dựa vào việc xác định chính xác hay không lai lịch của tiến trình liên lạc với nó
VD: Ta sẽ biểu diễn tiến trình truyvan1 thuộc loại
server, trong điều kiện có hai tiến trình có nhu cầu
thông tin về giá cả là phongvan1 và phongvan2.
Trang 29Đối với phongvan1
Đối với phongvan2
Tiến trình phongvan1
Chấm dứt phongvan1
Tiến trình phongvan2
Trang 30Vấn đề đảm bảo liên lạc giữa các tiến trình
Đối với tiến trình truyvan1
Tiến trình truyvan1
Vòng lặp
(ten,mahh)=ChoThongDiep
gia= … GuiThongDiep(gia,ten) Chấm dứt vòng lặp
Chấm dứt truyvan1
Trang 31 Ví dụ minh họa: trường hợp có 2 tiến trình
Ta giả sử tiến trình 1 là server, còn tiến trình 2 là tiến trình yêu cầu
;Xácđịnh loại yêu cầu
;Tìm kết quả
Gửi thông điệp (kết quả)
Trang 32Vấn đề đảm bảo liên lạc giữa các tiến trình
Không cần phải kiểm tra định danh của tiến trình gửi
mà chỉ xác định loại yêu cầu, ta cần xây dựng 3 hàm
cơ sở sau đây:
GuiThongDiep(X): hàm gửi yêu cầu X cho tiến trình
khác
LoaiYeuCau(Y): Xác định, phân loại loại yêu cầu (Y)
của tiến trình gửi tới
ChoThongDiep: hàm chờ thông điệp của tiến trình
gửi tới
Trang 33Tiến trình 1
……
Vòng lặp:
Y= ChoThongDiep LoaiYeuCau(Y) Ketqua=Lấy kết quả từ yêu cầu phân tích được GuiThongDiep(ketqua)
Trang 34Vấn đề đảm bảo liên lạc giữa các tiến trình
Tiến trình 2 (yêu cầu)
Tiến trình 3 (yêu cầu)
Tiến trình 3 (yêu cầu)
Tiến trình n (yêu cầu)
Tiến trình n (yêu cầu)
Trang 35Trường hợp n tiến trình
Trong trường hợp này, có tất cả n tiến trình liên lạc gắn bó với nhau
Để liên lạc được thông suốt, khi gửi một thông điệp,
một tiến trình thứ i phải gửi luôn cả định danh của
mình để tiến trình nhận biết nhận được từ đâu
Trang 36Vấn đề đảm bảo liên lạc giữa các tiến trình
Tiến trình thứ i (i>1) { Đối với phía yêu cầu}
Ten=GuiThongDiep(<yêu cầu>,<Tiến trình 1>)
Kết quả= ChoTraLoi(<Tiến trình 1>)
Kết thúc tiến trình i
Tiến trình 1 {Đối với phía phục vụ - Server}
Trang 37trình
3
Tuy nhiên, việc đưa ra các mô hình, giải thuật vẫn chưa thật sự
cụ thể, chỉ mang tính nguyên lý, mô phỏng do thời
gian hạn hẹp.
Trang 38Thầy và các bạn đã lắng nghe