Đồ án tốt nghiệp
Nghiên cứu và xây dựng hệ thống
phần mềm hỗ trợ việc dạy học trực
tiếp trên mạng internet
i
KHOA CNTT – ĐH KHTN
LỜI NÓI ĐẦU
Trong thời đại ngày này, công nghệ thông tin đóng vài trò quan trọng hầu như trong
tất cả các lĩnh vực. Do vậy con người phải không ngừng học tập để mở mang, trao
dồi kiến thức. Nếu không bổ sung kiến thức chúng ta sẽ bị tụt hậu trong thời đại
thông tin phát triển một cách nhanh chóng như hiện nay. Nhất là khi internet xuất
hiện, nhu cầu trao đổi thông tin ngày càng cao, nhu cầu học hỏi kiến thức không chỉ
gói gọn trong nhà trường, hoặc trong lớp học., giờ đây với máy vi tính cùng với
mạng internet, chúng ta có thể tham gia vào các lớp học được mở trực tuyến, tham
gia phát biểu trong lớp học. Bây giờ cũng có những trang web hỗ trợ việc học trực
tuyến nhưng giá thành mắc, có khi không hỗ trợ người học tập tham gia trực tiếp vào
lớp học. Các bài giảng được thiết kế trước và được đưa lên mạng để cho người học
chép về học hoặc học trực tiếp trên trang web đó.
Trong những năm trước đây, các dịch vụ truyền thông đa phương tiện đều rất khó
thực hiện bởi ít có sự hỗ trợ về phần cứng, đặc biệt băng thông chính là điều khó
khăn nhất trong việc truyền tín hiệu âm thanh, và hình ảnh. Tuy nhiên, với kỹ thuật
phát triển hiện nay, các tín hiệu âm thanh và hình ảnh có thể được nén lại một cách
dễ dàng, tiết kiệm được băng thông. Do vậy, chúng em chọn đề tài “ Nghiên cứu và
xây dựng hệ thống phần mềm hỗ trợ việc dạy học trực tuyến trên mạng
internet/intranet ” nhằm xây dựng lên một hệ thống đào tạo từ xa, có hỗ trợ âm thanh
và hình ảnh để giúp cho giáo viên có thể giáo tiếp trực tiếp với sinh viên.
KHOA CNTT – ĐH KHTN
MỤC LỤC
LỜI CÁM ƠN i
LỜI NÓI ĐẦU ii
DANH SÁCH HÌNH vii
DANH SÁCH BẢNG xi
Chương 1 : Tổng quan 1
1.1 Tổng quan 1
1.2 Mục tiêu của đề tài : 1
Chương 2 : Tìm hiều chuẩn H323 2
2.1 Giới thiệu chuẩn H323: 2
2.2 Các ưu điểm của chuẩn H323: 2
2.2.1 Cung cấp các bộ mã hoá đã được chuẩn hoá : 2
2.2.2 Tính tương thích cao : 2
2.2.3 Độc lập hệ thống mạng : 3
2.2.4 Độc lập với ứng dụng và hệ điều hành : 3
2.2.5 Hỗ trợ đa điểm : 3
2.2.6 Quản lý băng thông : 3
2.2.7 Hỗ trợ khả năng quản bá thông tin : 3
2.2.8 Linh hoạt : 3
2.2.9 Khả năng hội nghị liên mạng : 3
Chương 3 : Cấu hình mạng theo chuẩn H323 4 5.1.1 Chuẩn nén âm thanh G711: 50
5.1.2 Chuẩn nén âm thanh G723 : 50
5.1.3 Chuẩn nén âm thanh G729 : 50
5.2 Chuẩn nén hình ảnh : 51
5.2.1 Chuẩn nén hình ảnh H261 : 51
5.2.2 Chuẩn nén hình ảnh H263: 51
5.3 Chuẩn T120 : 51
5.3.1 Giới thiệu : 51
5.3.2 Các ưu điểm của T120 : 52
5.4 Phát triển dịch vụ điện thoại thông qua IP (VoIP): 53
5.4.1 Giới thiệu : 53
5.4.2 Các ứng dụng của điện thoại IP : 54
5.4.3 Các ưu điểm của VoIP : 55
5.5 Xây dựng hội nghị đa truyền thông: 56
5.5.1 Hội nghị đa điểm tập trung (Centralized multipoint conference): 56
5.5.2 Hội nghị đa điểm phân tán (Decentralized multipoint conference): 57
5.5.3 Hội nghị đa điểm phân tán tập trung kết hợp: 58
5.6 Bộ thư viện OpenH323: 59
5.6.1 Giới thiệu : 59
5.6.2 Cấu trúc phân lớp của thư viên OpenH323 : 59
5.6.3 Diễn giải ý nghĩa một số lớp : 63
Chương 6 : Student - Hệ thống hỗ trợ học từ xa : 64
6.1 Giới thiệu : 64
6.2 Đối tượng sử dụng hệ thống: 65
6.3 Các chức năng : 66
6.3.1 Chức năng dàng cho Admin : 66
7.5 Phân tích kiến trúc hệ thống : 88
7.6 Phân tích các use-case chính : 90
7.6.1 Phân tích Use case “KetNoi”: 90
7.6.2 Phân tích Use case “DangNhap”: 91
7.6.3 Phân tích Use case “DangKy”: 92
7.6.4 Phân tích Use case “QuanLyLopHoc”: 93
7.6.5 Phân tích Use case “QuanLyThanhVien”: 95
7.6.6 Phân tích Use case “TaoLopHoc”: 97
7.6.7 Phân tích Use case “ThayDoiChuLop”: 98
7.6.8 Phân tích Use case “ThayDoiQuyenNguoiDung”: 99
7.6.9 Phân tích Use case “TruyenAmThanh”: 100
Chương 8 : Thiết kế và cài đặt 101
8.1 Lược đồ triển khai của hệ thống : 101
8.1.1 Các node và chức năng của các node 101
8.1.2 Triển khai hệ thống : 101
8.2 Thiết kế dữ liệu : 102
8.2.1 Sơ đồ lớp : 102
8.2.2 Thiết kế bảng lưu thông tin của lớp học : 102
8.2.3 Thiết kế bảng lưu thông tin người sử dụng : 103
8.3 Thiết kế giao diện : 104
8.3.1 Thiết kế màn hình chính : 104
8.3.2 Thiết kế màn hình đăng nhập : 109
8.3.3 Thiết kế màn hình hiển thị danh sách lớp : 110
8.3.4 Thiết kế màn hình tạo lớp học mới : 112
8.3.5 Thiết kế màn hình xoá một lớp : 113
8.3.6 Thiết kế màn hình thay đổi mật khẩu : 114
8.3.7 Thiết kế màn hình server : 115
8.4 Thiết kế xử lý : 116
8.4.1 Danh sách các xử lý : 116
Hình 4-2: Thủ tục đăng ký với gatekeeper 22
Hình 4-3: Thủ tục đăng ký với gatekeeper 23
Hình 4-4: Các kênh logic trong một cuộc gọi 24
Hình 4-5: Gatekeeper tìm đường báo hiệu cuộc gọi 25
Hình 4-6: Báo hiệu cuộc gọi trực tiếp giữa các Endpoint 26
Hình 4-7: Thiết lập kênh điều khiển H.245 trực tiếp giữa các Endpoint 27
Hình 4-8: Gatekeeper định tuyến kênh điều khiển H.245 27
Hình 4-9: Cuộc gọi cơ bản không có gatekeeper 28
Hình 4-10: Hai điểm cuối đều đăng ký với một gatekeeper 29
Hình 4-11: Hai điểm cuối đều đăng ký với một gatekeeper 30
Hình 4-12: Chỉ có phía chủ gọi đăng ký – Báo hiệu trực tiếp 31
Hình 4-13: Chỉ có phía chủ gọi đăng ký – gatekeeper định tuyến báo hiệu 31
Hình 4-14: Chỉ có phía bị gọi đăng ký – Báo hiệu truyền trực tiếp 32
Hình 4-15: Chỉ có phía bị gọi đăng ký gatekeeper định tuyến báo hiệu 33
Hình 4-16: Hai đầu cuối đăng ký với hai gatekeeper – 34
Hình 4-17: Hai bên đăng ký với hai gatekeeper – Phía gọi truyền trực tiếp còn phía bị
gọi thì định tuyến báo hiệu qua gatekeeper 2 35
Hình 4-18: Hai bên đăng ký với 2 gatekeeper – gatekeeper 1 phía gọi định tuyến báo
hiệu còn phía bị gọi thì truyền trực tiếp 36
Hình 4-19: Hai đầu cuối đều đăng ký - Định tuyến qua hai gatekeeper 37
Hình 4-20: Yêu cầu thay đổi độ rộng của băng tần – thay đổi thông số truyền 43
vii
KHOA CNTT – ĐH KHTN
Hình 8-8: Menu chat 107
Hình 8-9: Menu audio 107
Hình 8-10: Menu video 108
viii
KHOA CNTT – ĐH KHTN
Hình 8-11: Màn hình sau khi kết nối 109
Hình 8-12: Màn hình đăng nhập 109
Hình 8-13: Màn hình danh sách lớp 111
Hình 8-14: Menu lớp học 112
Hình 8-15: Menu người dùng 112
Hình 8-16: Màn hình tạo lớp học 113
Hình 8-17: Màn hình xoá lớp học 113
Hình 8-18: Màn hình thay đổi mật khẩu 114
Hình 8-19: Màn hình server 115
Hình 8-20: Lược đồ tuần tự của xử lý XL1 117
Hình 8-21: Biểu đồ cộng tác của xử lý XL1 118
Hình 8-22: Lược đồ tuần tự của xử lý XL2 119
Hình 8-23: Biểu đồ cộng tác của xử lý XL2 120
Hình 8-24: Lược đồ tuần tự của xử lý XL3 121
Hình 8-25: Biểu đồ cộng tác của xử lý XL3 122
Hình 8-26: Lược đồ tuần tự của xử lý XL5 123
Hình 8-27: Biểu đồ cộng tác của xử lý XL5 124
x
KHOA CNTT – ĐH KHTN
DANH SÁCH BẢNG
Bảng 2-1: Bảng so sánh các chuẩn CODEC 18
Bảng 5-1: Bảng tổng kết các chuẩn trong năm 49
Bảng 7-1: Danh sách các actor 71
Bảng 7-2: Danh sách các use case 72
Bảng 7-3: Danh sách các lớp đối tượng của Use case “KetNoi” 90
Bảng 7-4: Danh sách các lớp đối tượng của Use case “DangNhap” 92
Bảng 7-5: Danh sách các lớp đối tượng của Use case “DangKy” 93
Bảng 7-6: Danh sách các lớp đối tượng của Use case “QuanLyLopHoc” 94
Bảng 7-7: Danh sách các lớp đối tượng của Use case “QuanLyThanhVien” 96
Bảng 7-8: Danh sách các lớp đối tượng của Use case “TaoLopHoc” 97
Bảng 7-9: Danh sách các lớp đối tượng của Use case “ThayDoiChuLop” 99
Bảng 7-10: Danh sách các lớp đối tượng của Use case “ThayDoiNguoiDung” 100
Bảng 7-11: Danh sách các lớp đối tượng của Use case “TruyenAmThanh” 100
Bảng 8-1: Danh sách các thuộc tính của bảng CRoomSet 103
Bảng 8-2: Danh sách các thuộc tính của bảng CUsersSet 103
Bảng 8-3: Các trường trên màn hình chính 105
Bảng 8-4: Các trường trên màn hình thể hiện webcam 106
Bảng 8-5: Các trường trên màn hình danh sách thành viên 107
Bảng 8-6: Các trường trên menu call 107
Bảng 8-27: Danh sách các hành động của xử lý XL16 135
Bảng 8-28: Danh sách các hành động của xử lý XL17 137
Bảng 8-29: Danh sách các hành động của xử lý XL19 139
Bảng 8-30: Danh sách các hành động của xử lý XL24 141
xii
KHOA CNTT – ĐH KHTN Chương 1 : Tổng quan
1.1 Tổng quan
Dạy học trực tuyến là hình thức đào tạo không tập trung, các học viên không cần phải
tập trung tại một địa điểm cụ thể nào, điều này sẽ giúp cho các học viên ở xa không
có điều kiện đến lớp nhưng vẫn có thể tham gia vào lớp học. Điều đặc biệt là giáo
viên có thể trực tham gia giảng dạy tại một địa điểm nào đó. Học viên có thể trao đổi
trực tiếp với giáo viên.
1.2 Mục tiêu của đề tài :
Ở nước ta hiện nay, hình thức đào tạo thông dụng là học viên trực tiếp trên truyền
hình, các bài giảng được các giáo viên thu lại và phát trên truyền hình vào một thời
điểm nhất định. Hình thức này giúp cho học viên có thể tiếp thu bài tốt hơn nhưng lại
thiếu sự giao tiếp trực tiếp với giáo viên.
Các phần mềm hỗ trợ giảng dạy hiện đại hiện nay đều do nước ngoài viết, do vậy giá
thành mắc không phù hợp với điều kiện kinh tế của Việt Nam. Do vậy, chúng em đã
thông tin đa phương tiện và quản lí băng thông và đồng thời còn cung cấp giao diện
giữa mạng LAN và các mạng khác.
2.2 Các ưu điểm của chuẩn H323:
2.2.1 Cung cấp các bộ mã hoá đã được chuẩn hoá :
H.323 thiết lập các chuẩn nén và giải nén cho các luồng dữ liệu audio và video, bảo
đảm cho các thiết bị từ các nhà cung cấp khác nhau có sự hỗ trợ chung.
2.2.2 Tính tương thích cao :
Người sử dụng có thể trao đổi dữ liệu mà không phải lo lắng về tính tương thích ở
bên nhận. Bên cạnh việc đảm bảo bên nhận có thể giải nén thông tin nhận được,
H.323 còn thiết lập những khả năng cho phép bên nhận có thể trao đổi khả năng đối
với bên gởi.
2
KHOA CNTT – ĐH KHTN
2.2.3 Độc lập hệ thống mạng :
H.323 được thiết kế để chạy ở tầng trên của kiến trúc mạng. Những giải pháp cơ bản
của H.323 cho phép tận dụng được những cải tiến về kỹ thuật mạng và sự phát triển
băng thông.
2.2.4 Độc lập với ứng dụng và hệ điều hành :
H.322 không bị ràng buộc với phần cứng hay hệ điều hành.
2.2.5 Hỗ trợ đa điểm :
Tuy H.323 có thể quản lý được những cuộc hội nghị có nhiều kết nối mà không cần
sử dụng thêm một trình điều khiển đa điểm chuyên dụng nào, nhưng việc sử dụng
Chương 3 : Cấu hình mạng theo chuẩn H323
Chuẩn H.323 của ITU là một tập hợp các tiểu chuẩn, giao thức liên quan đến truyền
thông âm thanh và hình ảnh trong mạng LAN mà chất lượng dịch vụ không bảo đảm.
Kiến trúc của H.323 không bao gồm cả mạng LAN hay tầng transport dùng để kết
nối giữa các mạng LAN khác mà chỉ có những thành phần cần thiết cho việc tương
tác với mạng chuyển mạch điện tử SCN (Switched Circuit Network).
H.323 gồm có bốn thành phần chính cho một hệ thống truyền tin trên mạng đó là:
Terminal, Gateway, Gatekeeper và MCU.
Intenet
PSTN
Cell phone
Router
Gateway
Gatekeeper
Mang
H323
MCU
Mang H320
(ISDN)
Gateway
ISDN
videophone
IBM Compatible
H323
terminal
Laptop computer
H323
terminal
Hình 3-2: Cấu hình một terminal
5
KHOA CNTT – ĐH KHTN
3.2 Gateway :
Nhiệm vụ của gateway là thực hiện việc kết nối gữa 2 mạng khác nhau. H323
gateway cung cấp khả năng kết nối giữa 1 mạng H323 và một mạng khác (không
phải H323) . Ví dụ như một gateway có thể kết nối và cung cấp khả năng truyền tin
giữa một đầu cuối H323 và mạng chuyển mạch kênh (bao gồm tất cả các loại mạng
chuyển mạch điện thoại chẳng hạn PSTN). Việc kết nối này được thực hiện nhờ chức
năng chuyển đổi giao thức trong quá trình thiết lập, giải phóng cuộc gọi và chức năng
biến đổi khuôn dạng dữ liệu giữa hai mạng khác nhau của gateway. Như vậy đối với
kết nối giữa hai thiết bị đầu cuối H323 thì không cần thiết phải có gateway, nhưng
đối với cuộc gọi có sự tham gia của mạng chuyển mạch kênh thì gateway là bắt buộc
phải có.
Hình 3-3: Gateway
Gateway là một thành phần tuỳ chọn trong hội nghị H.323, thường là các máy tính có
nhiều giao diện với các mạng khác nhau. Gateway cung cấp nhiều dịch vụ, tổng quát
nhất là chức năng biên dịch giữa các đầu cuối H.323 và các loại đầu cuối khác. Bằng
những bộ chuyển mã thích hợp, Gateway H.323 có thể hỗ trợ những thiết bị đầu cuối
7
KHOA CNTT – ĐH KHTN
3.3 Gatekeeper :
Gatekeeper là một thành phần quan trọng trong mạng H323, nó được xem như bộ não
của mạng. Gatekeeper hoạt động như một bộ chuyển mạch ảo. Gatkeeper có các chức
năng như đánh địa chỉ; cho phép và xác nhận các đầu cuối H323, các gateway; quản
lí giải thông; tính cước cuộc gọi; ngoài ra nó còn có thể cung cấp khả năng định
tuyến cuộc gọi. gatekeeper quản lí giải thông nhờ khả năng cho phép hay không cho
phép các cuộc gọi xảy ra. Khi số cuộc gọi đã vượt qua một ngưỡng nào đó thì nó sẽ
từ chối tất cả các cuộc gọi khác.
Mặc dù vậy, gatekeeper là thành phần tuỳ chọn trong mạng H323 nhưng nó có khả
năng định tuyến các cuộc gọi H323. Bằng cách này, các cuộc gọi thông qua
gatekeeper được kiểm soát hiệu qủa hơn. Nhưng người cung cấp dịch vụ cần khả
năng này để có thể tính tiền cuộc gọi. Dịch vụ này có thể được dùng để định tuyến lại
một cuộc gọi nếu điểm được gọi không xác định được. Khả năng định tuyến của
gatekeeper có thể giúp giải quyết sự cân bằng giữa nhiều gateway. Gatekeeper là một
thành phần độc lập với các thiết bị H323, những nhà cung cấp có thể tích hợp những
chức năng của gatekeeper vào thành phần của MCU.
Một gatekeeper không cần thiết trong mạng H323, tuy nhiên nếu trong mạng có
gatekeeper thì các thiết bị đầu cuối và các Gateway phải sử dụng các thủ tục của
gatekeeper. Các chức năng của một gatekeeper được phân biệt làm 2 loại là các chức
dịch địa chỉ, điều khiển truy nhập, điều khiển độ rộng băng tần, gatekeeper cung cấp
khả năng quản lí miền.
Các chức năng không bắt buộc của Gatekeeper :
- Điều khiển báo hiệu cuộc gọi - gatekeeper có thể lựa chọn giữa hai phương thức
điều khiển báo hiệu cuộc gọi là: nó kết hợp với kênh báo hiệu trực tiếp giữa các đầu
cuối để hoàn thành báo hiệu cuộc gọi hoặc chỉ sử dụng các kênh báo hiệu của nó để
xử lý báo hiệu cuộc gọi.
Khi chọn phương thức định tuyến báo hiệu cuộc gọi trực tiếp giữa các đầu cuối, thì
gatekeeper sẽ không phải giám sát báo hiệu trên kênh H.225.0.
- Hạn chế truy nhập - Gatekeeper có thể sử dụng báo hiệu trên kênh H.225.0 để từ
chối một cuộc gọi của một thiết bị đầu cuối khi nhận thấy có lỗi trong việc đăng ký.
Những nguyên nhân từ chối bao gồm: một Gateway hoặc đầu cuối đăng ký hạn chế
gọi đi mà lại cố
gắng thực hiện một cuộc gọi đi và ngược lại hoặc một đầu cuối đăng ký hạn chế truy
nhập trong những giờ nhất định.
- Giám sát độ rộng băng tần - Gatekeeper có thể hạn chế một lượng nhất định các đầu
cuối H.232 cùng một lúc sử dụng mạng. Nó có thể thông qua kênh báo hiệu H.225.0
từ chối một cuộc gọi do không có đủ băng tần để thực hiện cuộc gọi. Việc từ chối
này cũng có thể xảy ra khi một đầu cuối đang hoạt động yêu cầu thêm độ rộng băng.
9
KHOA CNTT – ĐH KHTN
Đây có thể là một thủ tục rỗng nghĩa là tất cả mọi yêu cầu truy nhập đều được đồng
KHOA CNTT – ĐH KHTN
không thao tác trực tiếp trên các dòng dữ liệu mà nhiệm vụ này được giao cho MP.
MP sẽ thực hiện việc kết hợp, chuyển đổi, xử lí các bít dữ liệu.
3.5 Các giao thức sử dụng trong H323 :
Khuyến nghị H323 đưa ra một tập các giao thức phục vụ cho quá trình truyền dữ liệu
media thời gian thực trên mạng chuyển mạch gói. Kiến trúc phân tầng giao thức được
mô tả trên hình : Hình 3-6: Các giao thức sử dụng trong H323
3.5.1 Giao thức H225 RAS ( Registration/Admission/Status) :
Các bản tin H225 RAS được dùng để trao đổi giữa các điểm cuối (các đầu
cuối, các gateway) và gatekeeper cho các chức năng như tìm gatekeeper, đăng kí,
quản lí giải thông Kênh này độc lập với kênh báo hiệu cuộc gọi và kênh điều khiển
H.245. Thủ tục mở kênh logic H.245 không dùng để thiết lập kênh báo hiệu RAS.
Trong môi trường mạng không có Gatekeeper thì không sử dụng kênh báo hiệu RAS.
Nếu có Gatekeeper thì kênh báo hiệu RAS được mở giữa Endpoint và Gatekeeper và
được mở trước khi thiết lập các kênh khác giữa các H.323 Endpoint.
11
KHOA CNTT – ĐH KHTN
báo hiệu cuộc gọi được mở trước khi thiết lập kênh H.245 và các kênh logic giữa các
12