Hệ thống là một dịch vụ Web có khả năng kết nối với các DSLAM, thực hiện ñóng gói các yêu cầu theo ñịnh dạng PDU của phương thức SNMP tương ứng, thực hiện phương thức ño và nhận kết quả trả ra của DSLAM. Các hệ thống liên quan triển khai nhúng và thực hiện gọi các phương thức của dịch vụ Web tương ứng với yêu cầu của người sử dụng. Với kiến trúc như trên hệ thống cho phép nhiều người dùng cuối có thể gửi lệnh vào DSLAM, không cần qua các tác nhân trung gian, rút ngắn thời gian truy vấn thông tin. Hệ thống có thể ñáp ứng ñược các nghiệp vụ:
Truy vấn tham số cổng: Chức năng cho phép người sử dụng thu thập các thông tin:
- Tên gói cước ñang dùng.
- Tốc ñộ hiện tại hai chiều up/down
- Tốc ñộ lớn nhất có thể ñạt ñược hai chiều up/down - Suy hao hai chiều up/down
- Tỷ số tín hiệu/ tạp âm hai chiều up/down - Trạng thái thuê bao
ðể quyết ñịnh hướng xử lý với các yêu cầu về báo hỏng, thay ñổi tốc ñộ, phát
triển thêm dịch vụ của thuê bao. Chức năng này thường ñược sử dụng trước khi thực hiện hai mục dưới.
Thực hiện lệnh thay ñổi trạng thái cổng: ñược thực hiện mỗi khi cổng bị treo hoặc kích hoạt trạng thái sử dụng của thuê bao.
Thực hiện lệnh thay ñổi gói cước: ñược thực hiện mỗi khi có yêu cầu về thay ñổi tốc ñộ truy nhập của thuê bao, hoặc gán tốc ñộ truy nhập cho thuê bao mới.
81
3.2.2 Thiết kế hệ thống
3.2.2.1Mô hình và kiến trúc hệ thống 3.2.2.1.1 Mô hình hệ thống
Hình 3.2.2.1.1 - Mô hình hệ thống mở rộng khai thác thuê bao Internet Hệ thống ñược cài ñặt trên một máy chủ nằm trong mạng NMS, giao tiếp với mạng các thiết bị DSLAM và mạng ðiều hành sản xuất kinh doanh(SXKD).
3.2.2.1.2 Kiến trúc hệ thống
Hình 3.2.2.1.2 – Kiến trúc hệ thống
Kiến trúc của dịch vụ Web bao gồm module quản trị dữ liệu về thông tin của các DSLAM như ñịa chỉ IP, chủng loại. ðể module ñiều khiển trung tâm sẽ kết nối và tìm kiếm thông tin về DSLAM mỗi khi có yêu cầu từ ngoài vào, sau ñó module
Webservice
Sql server
Gửi lênh SNMP
ðiều khiển trung tâm
- Kết nôi DB - Tìm kiếm IP - Nhận biết họ DSLAM - Tính index cổng Ping/ Ktra kết nối
82
này thực hiện kiểm tra kết nối thông quan module Ping, nếu kết nối thành công nó tiếp tục gửi lệnh SNMP vào DSLAM, và sau ñó nhận và gửi kết quả về cho hệ thống ñã gửi yêu cầu ñó, trường hợp kết nối không thành công thì gửi thông báo không kết nối ñược và kết thúc yêu cầu không gửi lệnh SNMP nữa.
3.2.2.2 Biểu ñồ ca sử dụng kiemtraketnoi kiemtraketnoi Dslam Kich_hoat_lai_trang_thai thay_doi_goi_cuoc DoThu_thamso_chatluong hethong_dieuhanh _tacnghiep <<users>> <<uses>> <<users>> quantri_tt_dslam Nguoi_quantri <<uses>> <<uses>> <<uses>> kiemtra_tontai_dslam <<users>> <<uses>> <<users>> Hình 3.2.2.2 - Biểu ñồ ca sử dụng 3.2.2.2.1 Danh sách các tác nhân
Hethong_dieuhanh_tacnghiep: Là các ứng dụng thực hiện chức năng ñiều hành tác nghiệp của ñơn vị, kết nối và thông qua dịch vụ Web yêu cầu thực hiện các chức năng ño thử các tham số chất lượng, thay ñổi trạng thái, thay ñổi gói cước của cổng.
Nguoi_quantri: Thực hiện cập nhật các thông tin về mã(code), ñịa chỉ ip của DSLAM.
Dslam: Thiết bị cung cấp dịch vụ truy internet.[1]
3.2.2.2.2 ðặc tả các Use Case
DoThu_thamso_chatluong:
83
o Mô tả: Người sử dụng dùng giao diện chương trình ñiều hành tác nghiệp nhập thông tin về mã dslam, ñịa chỉ vật lý của cổng thuê bao trên dslam ñó và yêu cầu thực hiện lệnh ño các tham số chất lượng.
o Chức năng: Tìm ñịa chỉ ip của dslam, kiểm tra kết nối mạng, tính toán Ifindex và OID tương ứng với cổng thuê bao ñược yêu cầu, thực hiện thao tác Get của SNMP vào dslam thông qua ñịa chỉ IP.
thay_doi_goi_cuoc:
o Tác nhân tham gia: hethong_dieuhanh_tacnghiep, dslam.
o Mô tả: Người sử dụng dùng giao diện chương trình ñiều hành tác nghiệp nhập thông tin về mã dslam, ñịa chỉ vật lý của cổng thuê bao trên dslam ñó và yêu cầu thực hiện lệnh thay ñổi gói cước của thuê bao.
o Chức năng: Tìm ñịa chỉ ip của dslam, kiểm tra kết nối mạng, tính toán Ifindex và OID tương ứng với cổng thuê bao ñược yêu cầu, thực hiện thao tác Set của SNMP vào dslam thông qua ñịa chỉ IP.
Kich_hoat_lai_trang_thai:
o Tác nhân tham gia: hethong_dieuhanh_tacnghiep, dslam.
o Mô tả: Người sử dụng dùng giao diện chương trình ñiều hành tác nghiệp nhập thông tin về mã dslam, ñịa chỉ vật lý của cổng thuê bao trên dslam
ñó và yêu cầu thực hiện lệnh Thực hiện chức năng thay ñổi trạng thái
hoạt ñộng của một cổng thuê bao, ví dụ: chuyển từ trạng thái hoạt ñộng(active) về trạng thái ñóng(deactive), hoặc ngược lại..
o Chức năng: Tìm ñịa chỉ ip của dslam, kiểm tra kết nối mạng, tính toán Ifindex và OID tương ứng với cổng thuê bao ñược yêu cầu, thực hiện thao tác Set của SNMP vào dslam thông qua ñịa chỉ IP.
quantri_tt_dslam:
o Tác nhân: Nguoi_quantri.
o Mô tả: Cung cấp gia diện và kết nối cơ sở dữ liệu cho phép người quản trị cập nhật thông tin về mã và ñịa chỉ IP của một dslam.
84
o Chức năng: kết nối cơ sở dữ liệu, thêm mới, sửa, xóa và truy vấn thông tin về dslam.
kiemtra_tontai_dslam: Các use case a,b,c trước khi kết nối và thực hiện lệnh snmp vào dslam, sử dụng use case này ñể kiểm tra xem có tồn tại dslam ñó trên mạng khai thác không, nếu có thì nó trả về ñịa chỉ ip của dslam ñó, nếu không thì thông báo không tồn tại dslam.
Kiemtraketnoi: Sau khi tìm ñược ñịa chỉ ip của dslam, các use case a,b,c sử dụng use case này kiểm tra xem có thể kết nối ñược tới dslam không.[1]
3.2.2.3 Biểu ñồ lớp
SNMP
read_community : String = public write_community : String = private udp_port : Integer = 161 snmpGet(ip,oid)() snmpSet(ip,oid,valuetype,value)() Ping PingTest(ip)() Dslams dbname : String dbuser : String dbpassword : String servername : String Dslams(db,server,user,password)() getIpByCode(code)() LenhSNMP oids : String ip : String port : Integer tinhIfindex() getThamSoChatLuong() setTrangThaiCong(status)() setGoiCuoc(profile)() DoThu loaiDslam : String getPortInfByCode(code,port)() getSnmpInf(ip,loaidslam, port, oid)() setPortStatus(code,loaidslam,port,status)() setLineProfile(code,loaidslam,port,profile)() +* +1 +* +1 +* +1 Hình 3.2.2.3 - Biểu ñồ lớp Lớp SNMP
o Chức năng: Là lớp supper ñược kế thừa bởi lớp lenhSNMP, chịu trách nhiệm chính trong việc xây dựng các phương thức get, set,… của giao thức SNMP.
o Các thuộc tính
Read_community: kiểu dữ liệu là String, lưu trữ và thể hiện thông
tin về mật khẩu(community) quyền ñọc(read-only) các thông tin của thiết bị khi thực hiện phương thức get. ñược mô tả trong phần bảo mật của SNMP, thường mặc ñịnh là “public”.
Write_community: kiểu dữ liệu là String, lưu trữ và thể hiện thông
85
của thiết bị khi thực hiện phương thức set. ñược mô tả trong phần bảo mật của SNMP, thường mặc ñịnh là “private”.
udp_port: số cổng mà thiết bị ñang mở ñể giao tiếp với hệ thống
quản lý bằng giao thức SNMP, mặc ñịnh là 161.
o Các phương thức
snmpGet: ñây chính là nội dung cài ñặt của phương thức get trong
mô tả giao thức SNMP.
snmpSet: ñây chính là nội dung cài ñặt của phương thức set trong
mô tả giao thức SNMP. Lớp LệnhSNMP
o Chức năng: ðịnh nghĩa các ñối tượng cho từng loại dslam cụ thể, tùy vào từng loại mà việc tính Ifindex, OID và có thể là ñịa chỉ IP khác nhau. Kế thừa các thuộc tính và phương thức của lớp SNMP ñể thực hiện gửi lệnh SNMP và Dslam theo từng yêu cầu cụ thể.
o Các thuộc tính
Oids: khai báo thông tin về ñịnh danh của một ñối tượng quản lý
trong MIB.
IP: ñịa chỉ IP quản lý của Dslam.
Port: ðịa chỉ vật lý cổng thuê bao internet cần thực hiện lệnh ñể
nhận hoặc thiết lập thông tin. Nó xác ñịnh vị trí vật lý của một thuê bao trên Dslam, nó bao gồm các thông số frame(mã số rack chứa Dslam), slot(sô thứ tự chỉ vị trí card thuê bao trên rack), port(số hiệu của thuê bao trên slot, mỗi slot có thể có 32 hoặc 64 port)
o Các phương thức
TinhIfindex: Port cần ñược chuyển ñổi ra dạng index phù hợp với
quy ñịnh ñánh số của mỗi loại Dslam. Việc chuyển ñổi phải dựa theo một công thức ñược cung cấp riêng của từng hãng cung cấp Dslam.
86
getThamSoChatLuong: phương thức thực hiện thao tác snmpGet
của lớp SNMP sau khi ñã tính Ifindex.
setTrangThaiCong: phương thức này cũng thực hiện tính Ifindex
và sau ñó gọi phương thức snmpSet của lớp cha SNMP, thiết lập trạng thái của một cổng thuê bao.
setGoiCuoc: thiết lập tên gói cước sử dụng cho một cổng thuê bao.
Sau khi tính Ifindex nó gọi phương thức snmpSet của lớp cha SNMP.
Lớp Dothu
o Chức năng: Tạo một ñối tượng lenhSNMP ñể thực hiện các lệnh ño các tham số ñanh giá chất lượng cổng.
o Các thuộc tính: Thuộc tính loaiDslam cho phép chương trình biết phải tạo ra ñối tượng lenhSNMP phù hợp với Dslam tương ứng.
o Các phương thức:
getPortInfByCode: Thực hiện một loạt các lệnh tương ứng với các
tham số chất lượng cổng.
setPortStaus: Phương thức thực hiện lệnh thiết lập trạng thái cổng setLineProfile: Phương thức thực hiện lệnh gán tên một gói cước
cho một cổng. Lớp Dslams
o Chức năng: Mở một kết nối tới cơ sở dữ liệu lưu trữ thông tin về ñịa chỉ IP và mã(code) của các DSLAM trên mạng. Trả về ñịa chỉ IP và chủng loại dslam tương ứng với code ñó.
o Các thuộc tính:
Dbname: tên cơ sở dữ liệu
Username: tên ñăng nhập cơ sở dữ liệu Password; mật khẩu ñăng nhập cơ sở dữ liệu
Servername; tên hoặc ñịa chỉ ip của máy chủ cơ sở dữ liệu
87
getIpFromCode: mở kết nối và truy vấn thông tin dslam theo
mã(code). Lớp Ping
o Chức năng: kiểm tra kết nối từ máy chủ thực hiện lệnh và dslam.
o Các phương thức:
PingTest: thực hiện lệnh “ping” tới ñịa chỉ Ip cần kiểm tra.[1]
3.2.2.4 Biểu ñồ tuần tự : hethong_dieuhanh_tacnghiep : hethong_dieuhanh_tacnghiep : DoThu
: DoThu : Dslams : Dslams : Ping : Ping sn : LenhSNMP sn : LenhSNMP : Dslam : Dslam getPortInforByCode(code,port) getIP(code)
khong ton tai code khong ton tai code
pingtest(ip)
ping command reply
khong ket noi duoc
getSnmpInfor(ip,port,oidindex) new(ip,oidindex,port,community,udpport) getThamsoChatLuong() snmpGet(ip,OID+Ifindex) msg msg msg while(param<max_param) end while tinhIfindex( ) Hình 3.2.2.4 - Biểu ñồ tuần tự 3.2.2.5 Kết quả triển khai sử dụng
Chúng tôi xin trình bày giao diện web của chương trình ñiều hành sửa chữa sử dụng dịch vụ Web trên:
88 - ðo chất lượng cổng
Hình 3.2.2.5.1 - Giao diện ño thử chất lượng - ðổi tốc ñộ cổng - ðổi tốc ñộ cổng
Hình 3.2.2.5.2 -Giao diện ñổi tốc ñộ cổng - Xem và reset trạng thái - Xem và reset trạng thái
Hình 3.2.2.5.3 -Giao diện xem trạng thái và reset cổng - Kiểm tra khả năng phát triển dịch vụ - Kiểm tra khả năng phát triển dịch vụ
89
3.3 Thuê bao ñiện thoại cốñịnh 3.3.1 Chức năng hệ thống
Hệ thống là một Dịch vụ Web kết nối bằng phương thức telnet tới ñịa chỉ IP tương ứng với mỗi tổng ñài. Mỗi khi có yêu cầu từ hệ thống người dùng bên ngoài, chuyển các yêu cầu thành dạng lệnh khai thác tương ứng với loại tổng ñài, gửi lệnh vào tổng ñài, nhận và gửi trả kết quả cho hệ thống ñã yêu cầu vào. Hệ thống cung cấp các phương thức xử lý các nghiệp vụ:
ðo thử các tham số chất lượng ñường dây thuê bao: Mỗi khi thuê bao thông báo yêu cầu kiểm tra sửa chữa, bộ phận tiếp nhận sẽ sử dụng chức năng này ñể thu thập thông tin về chất lượng thuê bao, ñánh giá, gửi cho bộ phận hỗ trợ trực tiếp nếu cần, bộ phần này sẽ căn cứ vào các thông tin ñó ñể có cách sửa chữa phù hợp.
Thực hiện thay ñổi các dịch vụ giá trị gia tăng của thuê bao: mở/ñóng hướng gọi liên tỉnh, quốc tế, di ñộng, 108, vvv, treo do nợ cước hoặc thuê bao yêu cầu, khôi phục nợ cước hoặc thuê bao yêu cầu, tháo hủy thuê bao không sử dụng ñể giải phóng cổng của tổng ñài.
Truy vấn thông tin cấu hình thuê bao: Khi tiếp nhận yêu cầu chăm sóc từ thuê bao, trước khi thực hiện hai mục trên, nhân viên tiếp nhận dựa vào yêu cầu của thuê bao ñể thực hiện tính năng này ñể kiểm tra tình trạng thuê bao xem ñã tồn tại dịch vụ thuê bao yêu cầu hay chưa?, ñang ñóng hay mở cước?, hoặc bị cấm hướng gọi? Sau ñó sẽ thực hiện một trong hai chức năng trên.
90
3.3.2 Thiết kế hệ thống
3.3.2.1 Mô hình và kiến trúc hệ thống 3.3.2.1.1 Mô hình hệ thống
Hình 3.3.2.1.1 – Mô hình triển khai dịch vụ Web(webservice)
dịch vụ Web ñược cài ñặt trên một máy chủ nằm giữa mạng liên kết giữa các tổng ñài (Host) và mạng các máy tính ñiều hành sản xuất.
3.3.2.1.2 Kiến trúc hệ thống
Do hệ thống tổng ñài chuyển mạch chỉ cho phép thực hiện tuần tự lệnh vì vậy tại một thời ñiểm chỉ thực hiện một lệnh của một tổng ñài. Hệ thống cung cấp các hàng ñợi tương ứng với từng tổng ñài như vậy tại một thời ñiểm có thể gửi ñồng thời nhiều lệnh ño cho nhiều tổng ñài khác nhau. Các yêu cầu ñược hệ thống phân loại và ñưa vào hàng ñợi tương ứng, sau ñó hệ thống tự ñộng lấy yêu cấu từ hàng ñợi phân tích nội dung, thành lập lệnh theo ñúng cú pháp của tổng ñài, kết nối và gửi lệnh váo tổng ñài, khi tổng ñài trả về kết quả hệ thống gửi kết quả ñó vào hàng ñợi kết quả, hoàn tất quy trình thức hiện một yêu cầu. Quy trình trên ñược hệ thống lặp lại với các yêu cầu ñược gửi lên hàng ñợi cho ñến khi hàng ñợi không còn yêu cầu nào. Hệ thống là một dịch vụ Web thực hiện cơ chế không ñồng bộ, các yêu cầu ñược gửi lên hàng ñợi qua một phương thức của dịch vụ Web, sau ñó kết quả ñược gửi trả lại vào một hàng ñợi khác, hệ thống tác nghiệp sẽ ñăng ký ñể nhận kết quả này thông qua một phương thức khác của dịch vụ Web[7].
Các ứng dụng sử dụng WS Webservice Nport 1 Host 1 Nport 2 Host 2 Nport n Host n …. Mạng Metronet Mạng ðHSXKD
91
Hình 3.3.2.1.2.1 - Thông ñiệp ñi qua các hàng ñợi tương ứng với các tổng ñài(Host) Hình 3.3.2.1.2.2 - Kiến trúc hệ thống tổng quát Hàng ñợi yêu cầu Hàng ñợi kết quả File XML danh sách Host,IP, Acc ðiều khiển trung tâm Ping/Ktra kết nối Telnet Ghi log
92 3.3.2.2 Biểu ñồ ca sử dụng Queue Host KiemTraTonTaiHost KiemTraKetNoi LayYCTuHangDoi GuiYC_vaoHangDoi GuiLenhVaoHost GuiKetQuaVaoHangDoiTopic HeThong_DieuHanh_TacNghie p Topic DangKyNhanKetQua QuanTri KhoiDongQueueListener NguoiQuantriHeThong <<uses>> <<uses>> <<communicate>> <<communicate>> <<uses>> Hình 3.3.2.2 - Biểu ñồ ca sử dụng 3.3.2.2.1 Các tác nhân Hethong_DieuHanh_Tacnghiep: Là các hệ thống phần mềm thực hiện các nghiệp vụ khác nhau của ñơn vị, thực hiện kết nối với dịch vụ Web ñể thực hiện một nghiệp vụ nào ñó, ví dụ như truy vấn hồ sơ thuê bao, do thử chất lượng ñường dây,..
Queue: Là hàng ñợi lưu các yêu cầu do người sử dụng thông qua giao diện các hệ thống tác nghiệp gửi lên, chờ ñược dịch vụ Web thực hiện.
Topic: Là hàng ñợi lưu kết quả của một yêu cầu sau khi dịch vụ Web ñã thực hiện.
NguoiQuantriHeThong: Quản lý, cập nhật thông tin về các tổng ñài, như mã,
ñịa chỉ IP, port telnet. Thực hiện khởi ñộng các luồng chờ(Listenner) nhận
yêu cầu lên hàng ñợi.
Host: Tổng ñài chuyển mạch, cung cấp dịch vụ ñiện thoại cố ñịnh.[1]
3.3.2.2.2 Các ca sử dụng
GuiYC_vaoHangDoi: Phương thức cho phép các hệ thống tác nghiệp gửi yêu cầu vào hàng ñợi.
93
DangKyNhanKetQua: Các hệ thống tác nghiệp sử dụng phương thức này ñăng ký là một thuê bao của dịch vụ Web ñể nhận kết quả của yêu cầu. LayYCTuHangDoi: Các yêu cầu trên hàng ñợi tự ñộng ñược lấy ra ñể thực hiện.
GuiLenhVaoHost: Gửi lệnh vào tổng ñài và ñợi kết quả từ tổng ñài.
GuiKetQuaVaoHangDoiTopic: Sau khi có kết quả thì gửi vào hàng ñợi kết quả.
KiemTraTonTaiHost: Truy vấn và kiểm tra xem mã tổng ñài có tồn tại không, nếu có thì trả về IP và Port telnet ñể chuẩn bị kết nối, nếu không thì trả thông báo không tồn tại.