1. Trang chủ
  2. » Công Nghệ Thông Tin

Tài liệu vận hành hệ thống SMS

92 474 1

Đ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 92
Dung lượng 2,04 MB

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

Nội dung

1.1.2 Các thành phần của hệ thống dịch vụ tin nhắn Hình 2 : Các thành phần của hệ thống tin nhắn Hệ thống dịch vụ tin nhắn bao gồm:  SMS Gateway: là một ứng dụng tin cậy để thực hiện c

Trang 1

VietNamNet ICom JSC

30/09/2009

-

Tài liệu vận hành hệ thống SMS System for Thong Tan Xa Viet Nam

Trang 2

MỤC LỤC

Chương 1 MÔ HÌNH TỔNG QUAN HỆ THỐNG SMS _ 3

1.1 Tổng quan về hệ thống SMS _ 3

1.1.1 Mô hình tổng quan hệ thống 3 1.1.2 Các thành phần của hệ thống dịch vụ tin nhắn 4

1.2 Chi tiết kỹ thuật kết nối của SMS Gateway _ 4 1.3 Hệ thống xử lý tin nhắn 8 1.4 Hệ thống webservice 9 1.5 Cơ sở dữ liệu SMS 10

Chương 2 VẬN HÀNH HỆ THỐNG SMS 11

2.1 Quản lý hệ thống _ 11 2.2 Vận hành hệ thống tin nhắn 22

2.2.1 Vận hành hệ thống Gateway _ 23 2.2.2 Vận hành hệ thống Process 32 2.2.3 Vận hành và quản lý hệ thống CDR _ 36 2.2.4 Build và vận hành hệ thống Webadmin, Report, Webservice 39

Chương 3 QUẢN TRỊ DATABASE MYSQL _ 52

3.1 Quản trị user 52 3.2 Tạo database và cơ sở dữ liệu bảng _ 56 3.3 Câu lệnh truy vấn trong MYSQL _ 59 3.4 Vận hành database _ 62

Trang 3

Chương 1 MÔ HÌNH TỔNG QUAN HỆ THỐNG SMS 1.1 Tổng quan về hệ thống SMS

1.1.1 Mô hình tổng quan hệ thống

Hình 1 : Mô hình tổng quan của hệ thống SMSC: Short Message Service Center

SMSS: Short Message Service Server

SCP: Service Control Point

CCBS: Customer Care and Billing System

VSSS: SMS Service System

Trang 4

1.1.2 Các thành phần của hệ thống dịch vụ tin nhắn

Hình 2 : Các thành phần của hệ thống tin nhắn

Hệ thống dịch vụ tin nhắn bao gồm:

SMS Gateway: là một ứng dụng tin cậy để thực hiện chức năng kết nối với SMSS dựa trên

một tập hợp các modules ứng dụng để quản lý các tác vụ truyền dẫn tin nhắn chuẩn

Process System: là hệ thống xử lý các bản tin SMS đã được SMS Gateway nhận về và lưu

trữ trong hệ thống Database, Process System có thể liên hệ với các hệ thống bên ngoài để lấy thông tin cần thiết trả về cho khách hang

Billing System: là hệ thống ghi cước các bản tin SMS để đối soát với telcos

SMS Database: hệ thống lưu trữ các bản tin khách hàng gửi đến và các bản tin trả về cho

khách hàng

1.2 Chi tiết kỹ thuật kết nối của SMS Gateway

SMS Gateway của ICOM được xây dựng trên tảng công nghệ JAVA có thể thực thi trên nhiều hệ điều hành khác nhau: Sun Solaris, Windows, Linux … Với các tính năng cơ bản sau:

- Khả năng đóng gói các bản tin SMS và EMS

Trang 5

Hình 3 : Mô hình kết nối SMS Gateway

- Hỗ trợ gửi các thành phần Optional Parameter để phục vụ cho các yêu cầu đặc biệt: như gửi kèmsource subaddress, cdr_key_request & response field và charging flag

- Hỗ trợ ghi CDR file chuyển sang CCBS: Hệ thống hỗ trợ với các bản tin có trừ cước sau khi gửi thành công sang SMSS (Nhận được respond trả về thành công), SMS Gateway sẽ tiến hành kết nối với CCBS qua các giao thức kết nối, để thông báo cước

Trang 6

- Hỗ trợ đóng gói các bản tin Wap Push gửi tới SMSC với các telcos

- Phân loại, định tuyến tin nhắn theo nội dung bản tin để xác định dịch vụ trước khi chuyển các tin nhắn này vào Database để các thành phần phía sau xử lý trả tin về cho khách hàng

Trang 7

- SMS Gateway được xây dựng trên cơ chế xử lý đa luồng (Multithread ) tăng hiệu năng của hệ thống tùy theo cấu hình của Server và yêu cầu kỹ thuật có thể thay đổi số luồng xử lý cho phù hợp với từng yêu cầu cụ thể

- Các chế độ config hệ thống mềm dẻo qua file config, thay đổi các thông tin liên quan đến giao thức kết nối SMPP:

- Ngoài ra còn có các tham số config cho cho Database, và cho các dịch vụ đang sử dụng, đồng thời có thể đặt trả lời cho các tin nhắn sai cú pháp theo từng đầu số khác nhau

Trang 8

1.3 Hệ thống xử lý tin nhắn

Hình 4: Hệ thống xử lý tin nhắn

Hệ thống này là tập hợp các ứng dụng xử lý chuỗi là nội dung tin nhắn khách hàng gửi yêu cầu, hoặc là hệ thống gửi các bản tin MT –PUSH xuống cho khách hàng:

- Xử lý trả nội dung về ngay cho khách hàng

- Xử lý cần có các yêu cầu nhận thông tin từ các hệ thống bên ngoài để trả thông tin

về cho khách hàng thông qua External Database, hoặc thông quan Webservice, và các giao thức nội bộ khác

- Xử lý tự động gửi tin đến khách hàng và các bản tin MT – Push gửi cho khách hàng

Trang 9

1.4 Hệ thống webservice

MÔ HÌNH KẾT NỐI

Mô hình kết nối SMS giữa Công ty và đối tác cung cấp nội dung qua webservice qua giao thức SOAP/XML:

- MO (Mobile Originated) : Nội dung tin khách hàng yêu cầu

- MT (Mobile Terminated): Nội dung tin đối tác trả về cho khách hàng

MÔ TẢ WEB SERVICE GỬI MO

To receive MO from terminal mobile then components must have one web service with following format:

- Service Name: MOReceiver

- Operator Name: messageReceiver

- Response Type: String (Text)

- Response: “-1”: failse; “1”: successful

- Input parameters:

o String User_ID: Số di động gửi đến (Theo chuẩn international, bắt đầu bằng 84)

o String Service_ID: Đầu số dịch vụ của Công ty (XXXX), là số dịch vụ của MO

tương ứng với MT này

o String Command_Code : Mã của dịch vụ (Tùy theo từng dịch vụ), mã này sẽ phục

vụ cho việc thống kê và quản lý MT phát sinh Lấy giá trị Command_code của MO tương ứng

o String Message: Nội dung tin nhắn, nếu không phải là ringtone, logo, picture message thì nội dung phải được mã hóa theo chuẩn BASE64 (Hệ thống sẽ tự động cắt các MT

có độ dài lớn hơn quy định thành nhiều MT )

o String Request_ID: ID của MO gửi sang yêu cầu dịch vụ, giá trị này sẽ do VietNamNet ICOM chuyển sang kèm với nội dung SMS của khách hàng ở kết nối

chiều MO Giá trị này dùng để xác định MT này là của MO nào

Trang 10

o String Operator : Mobile Operator tương ứng với User_ID (VD: GPC, VMS,

VIETTEL, SFONE, EVN, VNM)

MÔ TẢ WEB SERVICE NHẬN MT

Công ty đã xây dựng một hệ thống web services nhận MT từ các đối tác

Các thông số kết nối:

- Service Name: Receiver

- Operator Name: mtReceiver

- Kiểu dữ liệu trả về: Int (Number)

- Response: -1: thất bại, 1: thành công

- Input parameters:

o String User_ID: Số di động gửi đến (Theo chuẩn international, bắt đầu bằng 84)

o String Message: Nội dung tin nhắn, nếu không phải là ringtone, logo, picture message thì nội dung phải được mã hóa theo chuẩn BASE64 (Hệ thống sẽ tự động cắt các MT

có độ dài lớn hơn quy định thành nhiều MT )

o String Service_ID: Đầu số dịch vụ của Công ty (XXXX), là số dịch vụ của MO tương ứng với MT này

o String Command_Code : Mã của dịch vụ (Tùy theo từng dịch vụ), mã này sẽ phục

vụ cho việc thống kê và quản lý MT phát sinh Lấy giá trị Command_code của MO tương ứng

o String Message_Type: Giá trị này quy định MT có tính tiền khách hàng hay không,

Các giá trị của trường này là: 0,1,2

- 0: SMS phát sinh từ dịch vụ, không tính tiền khách hàng

- 1: thành công tính cước khi SMS đến được SMSC

- 2: Tin nhắn không hợp lệ, không trừ cước khách hàng và hoàn tiền lại cho các Công ty di động trừ cước online

o String Request_ID : ID của MO gửi sang yêu cầu dịch vụ, giá trị này sẽ do VietNamNet ICOM chuyển sang kèm với nội dung SMS của khách hàng ở kết nối chiều MO Giá trị này dùng để xác định MT này là của MO nào

o String Total_Message : Tổng số MT phản hồi cho MO này

o String Message_Index : Số thứ tự của MT cho một MO (bắt đầu từ 1)

o String IsMore: Giá trị này cho biết có phải là MT cuối cùng phản hồi cho 1 MO; 0:

MT cuối cùng; 1 là còn MT tiếp theo

o String Content_Type: Loại nội dung gửi cho khách hàng (0: Text; 1: ringtone; 2:

logo; 4: picture message, 8: wappush …)

o String Operator : Mobile Operator tương ứng với User_ID (VD: GPC, VMS,

VIETTEL, SFONE, EVN, VNM)

1.5 Cơ sở dữ liệu SMS

Hệ thống lưu trữ dữ liệu lưu trữ toàn bộ dữ liệu bản tin gửi đến và gửi đi cho khách hàng

Hệ quản trị cơ sở dữ liệu được sử dụng trong hệ thống SMS là hệ quản trị cơ sở dữ liệu MySQL 5.0

Trang 11

Chương 2 VẬN HÀNH HỆ THỐNG SMS 2.1 Quản lý hệ thống

 Cài đặt hệ thống:

o Cấu hình ổ cứng dưới dạng RAID-1 (Mirror)

o Phân chia Partition:

o Tùy chọn một số package cần thiết: Webserver, Mysql

o Chuyển hệ điều hành sang chế độ console bằng cách chỉnh sửa file cấu hình /etc/inittab từ level 5 sang level 3 như dưới đây:

id:3:initdefault:

o Disable một số service không cần thiết Dưới đây là một số service của hệ điều hành LINUX:

Sử dụng lệnh #chkconfig list để list ra các service của hệ thống

1 yum: dùng để update các package rpm (nếu cần thì dùng)

2 dovecot: để Secure IMAP server và POP3 server (không cần thiết)

3 nscd: là một deamon cung cấp cache cho hầu hết các service request

4 gpm: là tiện ích để cut / paste dùng chuột khi dùng virtual consoles

5 auditd: để ghi lại các thông tin về hệ thống và view ra dùng các tiện ích

như auseseache và ausereport

6 crond: cho các ứng dụng chạy schedule

7 mysqld: database mysql

Trang 12

8 ntpd: là một daemon dùng để set và đồng bộ thời gian hệ thống theo

server thời gian chuẩn quốc tế khi có kêt nối internet hoặc đồng bộ thời

gian theo một time server nào đó

9 cups: (Common UNIX Printing System) có thể dùng thay cho default

LPRng printing system Nó hỗ trợ:

IPP (network printing protocol)

Tự động detect máy in mạng

Có công cụ cấu hình từ web

Hỗ trợ các máy in trong máy diện rộng (Wan) Service này cho phép các hacker remote từ xa để thực hiện tấn công từ chối dịch vụ theo giao thức UDP trên port IPP

10 nfslock: hỗ trợ network file system

11 xinetd: là một service để listen các service port đựợc configure trong

file cấu hình

12 diskdump: là một tiện ích setup kernel để save memory image tới một

partion

13 acpid: dùng để listen và send signal ACPI từ kernel Disable nó nếu

không có một BIOS mới mà có thể điều khiển được bật tắt nguồn máy

14 anacron: để chạy crontab khi system down Nên disable

15 apmd: để quản lý power Disable nó nếu không dùng máy desktop ko

dùng nguồn pin

16 arpwatch: là tool để monitor ethernet hay hoạt động của fddi và duy trì

một database của cặp điạ chỉ ethernet/ip Có thể disable

17 atd: điều khiển lệnh at, dùng cho crontab Nếu ko dùng lệnh at thì

disable nó

18 autofs: dùng để mounting network share Disable cho desktop system

19 bluetooth: dùng giao tiếp hồng ngoại nếu ko thì disable

20 canna: hỗ trợ ngôn ngữ japan

21 cpuspeed: để điều chỉnh tốc độ cpu

22 httpd: Ứng dụng apache web server

Trang 13

23 httpsd : giồng httpd nhưng secure (https://)

24 inetd/xinetd để listen các service phục vụ cho việc track hệ thống do

vậy ko nên disable

25 iptables : Firewall trên linux

26 irda: dùng giao tiếp hồng ngoại

27 isdn: cho kết nối ISDN

28 kuzdu: tiện ích để detect phần cứng disable nó nếu như ko thay đổi

setup

29 lm_sensors: để monitoring motherboard sensor Cần disable

30 mpmpd/mdmonitor: mdadm package gồm các phần mềm để create

quản lý và monitor software RAID

31 named: là mộ Domain Name Server Ko cần trừ khi dùng làm DNS

server

32 netfs: để mount/umount tất cả các network file system Disable nếu

không cần tự động mount qua mạng

33 nfs/nfslock/portmap: là server chuyên dụng cho share file qua giao thức

TCP/IP

34 ntp/ntpd: dùng để đồng bộ thời gian qua mạng cần disable

35 pcmcia: để hỗ trợ ethernet và modem cho các máy laptop

36 pop3d: để chạy pop3 server Cần disable nếu ko chạy mail server

37 rhnsd: là service Redhat network

38 rpcgssd/rpcidmapd/rpcsvcgssd: là các Network File System daemon

Nếu không dùng NFS thì disable

39 sendmail/smtpd: dùng cho mail server

40 smb/smbd/nmbd/winbind: dùng khi kết nối mạng gồm cả máy linux và

window

41 snmpd/snmptrapd: là Simple Network Management Protocol

42 squid: để quan sát các request tới internet từ mạng local(firewal)

43 sshd/telnetd/rshd: cho phép các user remote từ xa

44 syslog: để log các hoạt động của hệ thống

45 vsftpd: cho ftp server

Trang 14

46 wine: để copy WINE loaded do đó có thể kích đúp đựợc file exe cần

disable

Các service cần thiết bật chế độ ON (active trên hệ thống LINUX):

Hình 6: Các service cần active trên hệ điều hành LINUX

o Cấu hình syslog để audit các thông tin liên quan đến hệ thống như: Kernel,

daemon, dmesg, measage… Các thông tin này rất cần thiết cho việc debug phần cứng cũng như bug phần mềm hệ thống, ngoài ra nó còn tìm ra dấu vết của hacker khi xâm nhập vào hệ thống

Các log cần debug được cấu hình trong file /etc/rsyslog.conf

# Log anything (except mail) of level info or higher

# Don't log private authentication messages!

Trang 15

cron.* -/var/log/cron.log daemon.* -/var/log/daemon.log kern.* /var/log/kern.log mail.* -/var/log/mail.log lpr.* -/var/log/lpr.log user.* -/var/log/user.log news.=notice -/var/log/news/news.not mail.warn -/var/log/mail/mail.warn

Service syslogd nằm trong thư mục /etc/init.d/rsyslogd

Start /stop service: #/etc/init.d/rsyslogd restart

o Cấu hình network:

Địa chỉ IP và gateway được cấu hình trong file /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth1 Cấu trúc file:

DEVICE=eth0 BOOTPROTO=static ONBOOT=yes

Trang 16

TYPE=Ethernet IPADDR=172.16.72.50 NETMASK=255.255.255.0 GATEWAY=172.16.72.4 Sau khi add địa chỉ IP và gateway, restart service để active IP

#/etc/init.d/network restart

Sử dụng lệnh #ifconfig –a để kiểm tra IP đã được gán chưa

#netstat –rn  để kiểm tra bảng routing đã được định tuyến chưa

#dmesg để kiểm tra interface đó đã active chưa

#ping địa chỉ IP lookback để check Interface

#ping địa chỉ cùng mạng và địa chỉ Internet nếu có add default gw

o Quản trị người dùng

Hai file lưu account người dùng đăng nhập hệ thống là:

/etc/passwd /etc/shadow /etc/group

Trang 17

Tạo user mới

#useradd [-c comment] [-d home_dir] [-e expire_date] [-f inactive_time] -g initial_group] [-G group[, ]] -m [-k skeleton_dir] | -M] [-n] [-o] [-p passwd] [- r] -s shell] [-u uid] login

o Quản lý hệ thống file trên LINUX

Do Linux là một hệ điều hành multitasking và multiuser, nhiều người cùng

có thể sử dụng một máy Linux và một người có thể cho chạy nhiều chương trình khác nhau Có hai vấn đề lớn được đặt ra : quyền sở hữu các dữ liệu trên đĩa và phân chia tài nguyên hệ thống như CPU, RAM giữa các process Chúng ta sẽ bàn về sở hữu các tập tin và các quyền truy xuất tập tin

Tất cả các tập tin và thư mục của Linux đều có người sở hữu và quyền truy nhập Bạn có thể đổi các tính chất này cho phép nhiều hay ít quyền truy nhập hơn đối với một tập tin hay thư mục Quyền của tập tin còn cho phép xác định tập tin có là một chương trình (application) hay không (khác với MSDOS và

MSWindows xác định tính chất này qua phần mở rộng của tên tập tin) Ví dụ với lệnh ls –l chúng ta có thể thấy:

-rw-r—r— 1 fido users 163 Dec 7 14:31 myfile

Cột đầu chỉ ra quyền truy cập tập tin Cột 2 chỉ số liên kết (link) đối với tập tin hay thư mục Cột 3, 4 chỉ chủ sở hữu và nhóm sở hữu

Trang 18

Cột 5 chỉ độ dài của tập tin Cột 6 chỉ thời gian thay đổi cuối cùng Cột 7 là tên tập tin hay thư mục

Quyền truy cập cơ bản của tập tin

Hình 7: Quyền truy cập bản tin

Mỗi số là tổng của các quyền theo quy tắc sau :

read permission

Write permission

Execute permission

Hình 8: Đặc quyền file trên LINUX

Vì vậy, một tập tin với quyền 751 có nghĩa là sở hữu có quyền read, write, và execute bằng 4+2+1=7, Nhóm có quyền read và execute bằng 4+1=5

Một số lệnh thao tác trên file: chown, chgrp và chmod

chmod quyền_truy_cập_mới tên_file

ví dụ:

# chmod 345 myfile

#chmod go+x myfile

Trang 19

Cách dùng lệnh chown:

chown tên_user tên_tập_tin chown tên_user tên_thư_mục chown -R tên_user tên_thư_mục Liên kết (link) tập tin

Trong Unix có 2 hình thức liên kết hoàn toàn khác nhau, đó là hard link và soft link hay symbolic link Hard link cho phép tạo một tên mới cho tập tin Các tên này có vai trò hoàn toàn như nhau và tập tin chỉ bị hoàn toàn xóa bỏ khi hard link cuối cùng của nó bị xóa Lệnh ls –l cho phép hiển thị số hard link đến tập tin Symbolic link có chức năng giống như shortcut của MS Windows Khi ta đọc/ghi soft link, ta đọc/ghi tập tin; khi ta xóa symbolic link, ta chỉ xóa symbolic link và tập tin được giữ nguyên Link được tạo bởi lệnh ln Tự chọn ln –s cho phép tạo symbolic link Ví dụ :

#ln –s security securproj Cây thư mục trên LINUX:

Hình 9: Cấu trúc cây thư mục

Thư mục /etc

Thư mục chứa các file cấu hình tất cả các dịch vụ và các tham số hệ thống

Thư mục /dev

Trang 20

Thư mục chứa các thiết bị phần cứng Có 2 dạng thiết bị là character devices và block devices

Thư mục /bin, /sbin, /usr

Thư mục chứa các tập tin thực thi, các lệnh cấu hình và quản trị hệ thống

o Cài đặt package trên LINUX sử dụng lệnh RPM

Lưu ý rằng bạn phải thực hiện rpm với người dùng quản trị (root)

RPM có 5 chế độ thực hiện là cài đặt (installing), xóa (uninstalling), nâng cấp (upgrading), truy vấn (querying) và thẩm tra (verifying)

Installing

Package RPM thường chứa các tập tin giống như foo-1.0-1.i386.rpm

Tên tập tin này bao gồm tên package (foo), phiên bản (1.0), số hiệu phiên bản (1), kiến trúc sử dụng (i386) Lệnh cài đặt :

# rpm –ivh tên-tập-tinRPM

Ví dụ:

#rmp –ivh foo-1.0-1.i386.rpm

Một số trường hợp lỗi khi cài đặt

#rpm –ivh replacepkgs tên-tập-tin-package

Để cài đè lên bằng sử dụng tùy chọn

#rpm –ivh nodeps tên-tập-tin-package

Để bỏ qua phụ thuộc thư viện

Trang 21

Uninstalling

Xóa package thì đơn giản hơn cài Lệnh xóa

# rpm -e tên-package Lưu ý là khi xóa chúng ta dùng tên-package chứ không dùng tên tập tin

RPM

Upgrading

# rpm –Uvh tên-tập-tinRPM Tìm package

# rpm -q tên-package

o Một số lệnh để kiểm tra tài nguyên hệ thống:

Top, w, vmstat, iostat……

o Cấu hình Time server và đồng bộ thời gian giữa các server Cấu hình TIME SERVER trên linux:

Thực thi trên file /etc/ntp.conf

server 127.127.1.0 # local clock fudge 127.127.1.0 stratum 10 driftfile /var/lib/ntp/drift broadcastdelay 0.008 keys /etc/ntp/keys Sau khi cấu hình cần restart service NTP:

/etc/init.d/ntpd start Cấu hình NTP trên Client

Tạo một script lấy đồng bộ từ time server:

#!/bin/sh NTPDATE=/usr/sbin/ntpdate

Trang 22

SERVER="time 192.168.45.81"

if ! test -t 0; then MYRAND=$RANDOM MYRAND=${MYRAND:=$$}

if [ $MYRAND -gt 9 ]; then sleep `echo $MYRAND | sed 's/.*\( \)$/\1/' | sed 's/^0//'`

fi

fi

$NTPDATE -su $SERVER

if [ -f /sbin/hwclock ]; then /sbin/hwclock systohc

fi Đặt script này vào crontab và để chạy tự động vào 1h đêm để get đồng bộ thời gian

Trang 23

Sơ đồ khối các ứng dụng hệ thống

2.2.1 Vận hành hệ thống Gateway

Chương trình gateway được viết bằng JAVA

 User chạy ứng dụng gateway là smsgw

Từ user root login sang user smsgw

#su – smsgw

$bash

 Thư mục chạy ứng dụng gateway:

/home/smsgw/GPC/Gateway (là thư mục chạy cho Telcos GPC và với telcos khác như VIETTEL, VMS, EVN)

Trong thư mục này có 2 thư mục: trx, log Hiện tại chạy tại thư mục trx:

/home/smsgw/GPC/Gateway /trx Trong thư mục này có các file:

o gateway.cfg: file này để cấu hình các tham số của gateway như: # IP address, port để bind đến SMSC… Hiện tại các tham số gateway được cấu hình qua giao diện Webs

Trang 24

Async: Không đồng bộ bit Sync: Đồng bộ bit

addr_ton Định nghĩa Type of Number (TON) được sử

dụng trong tham số địa chỉ SME

addr_npi Định nghĩa Numeric Plan Indicator (NPI) được

sử dụng trong tham số địa chỉ SME source_addr_ton Type of number for the MS

which has become availabl

If not known, set to NULL

message originator Nó sử dụng để kiểm tra và

phải khớp với submit_sm Nếu không xác định

sẽ set là NULL

source_addr Originating address của short message được

thay thế Nó sử dụng vì mục đích kiểm tra và

phải phù hợp với submit_sm

dest_addr_ton Type of Number cho destination dest_addr_npi Số Plan Indicator cho destionation

Trang 25

time_rebind Thời gian rebind lại bản tin (giây) time_enquire_link Thời gian gửi bản tin enquire_link để trao đổi

qua lại với SMPP server

o File database.cfg: cấu hình các tham số kết nối đến database sử dụng

pool primrose

# Database gateway poolName=gateway base=30

log= /log/dbgateway${yyyy-MM-dd}.log idleTime=300000

#logLevel=verbose,info,warn,error,crisis logLevel=info,error,crisis

#driverClass=oracle.jdbc.driver.OracleDriver driverClass=com.mysql.jdbc.Driver

driverURL=jdbc:mysql://localhost:3306/smsgwttx user=smsgwttx

password=smsgw1122334455 killActiveConnectionsOverAge=-1 cycleConnections=-1

queueConnectionRequests=true waitForConnectionIfDatabaseIsDown=true

#Database Alert poolName=alert

Trang 26

base=6 log= /log/dbalert${yyyy-MM-dd}.log idleTime=300000

#logLevel=verbose,info,warn,error,crisis logLevel=info,error,crisis

#driverClass=oracle.jdbc.driver.OracleDriver driverClass=com.mysql.jdbc.Driver

driverURL=jdbc:mysql://localhost:3306/smsgwttx user=smsgwttx

password=smsgw1122334455 killActiveConnectionsOverAge=-1 cycleConnections=-1

queueConnectionRequests=true waitForConnectionIfDatabaseIsDown=true Giải thích các tham số của Pool primrose:

Trang 27

Khoảng thời gian duy trì connection inactive trong pool Giá trị là

số nguyên đơn vị là milliseconds (ms) Khi thời gian này expired thì connection sẽ remove và sẵn sàng cho kết nối mới

logLevel

Log ra file để debug, nó có các mức log như sau:

verbose – log toàn bộ info – ít hơn verbose – bao gồm các thủ tục gọi pool, và các câu lệnh SQL

warn – log chỉ view các sự kiện warning

error – log view các error khi sử dụng pool

crisis – log view khi pool failure

Trang 28

Để check connection đến database là invalid

checkSQL=select 1 from test runPooledMode

Nếu là false  disable pool

Trang 29

start : pool started

stop : pool stopped

unclose : Unclosed ResultSet hay trạng thái object tìm thấy khi connection closed

kill : Một connection bị killed nếu vượt quá thời gian được set trong tham số này (killActiveConnectionsOverAge property) exception : Khi có SQLException sảy ra (như close(), execute(), executeQuery() etc)

dbcrash : Thông báo khi DB die nofree : Hết connection trong pool

onExceptionCheckSQL

Câu lệnh check trạng thái database:

Ví dụ: onExceptionCheckSQL=select 1 from dual

dumpConnectionOnSQLException

Có giá trị là true hay false để dump các SQLException ra file

o Các file thư viện LIB cho các hàm JAVA của ứng dụng gateway gọi: bao gồm các file:

Trang 30

mysql-connector-java-5.0.5-bin.jar : file lib cho pool connect tới

 Thư mục lưu log để debug trong thư mục /home/smsgw/GPC/Gateway/log: lưu các file log của hệ thống gateway có định dạng theo ngày, ví dụ như gateway_DDMMYYYY, có thể sửa tùy biến

 Thực thi chạy ứng dụng gateway:

Sau khi cấu hình xong các tham số gateway, tham số kết nối đến database thì việc thực thi chạy như sau:

Đang ở quyền root, su sang user smsgw

#su – smsgw

#bash

$pwd /home/smsgw

$cd GPC/Gateway/trx

Trang 31

$./smsgw.sh start

Việc chạy run.sh có dấu & để chạy tiến trình background trên hệ thống LINUX, khi đó tắt cửa sổ putty màn hình console đã thực thi script run.sh, tiến trình vẫn chạy ngầm Sau khi thực thi xong cần kiểm tra việc chạy có thành công bằng câu lệnh:

$ps -ef |grep “GPC/Gateway”

Và vào thư mục log để tail các sự kiện lưu log:

$cd log

$tail -f gateway_20090514.log

Hình 11: Log hệ thống Gateway

Các sự kiện log gateway gồm:

o Log một bản tin SMS gồm các thông tin: MO đến, MT trả, ghi CDR, resend…  phục vụ cho việc debug tin nhắn đến hệ thống: việc nhận và trả MT ra sao

o Lưu log sự kiện mất kết nối đến server SMPP server hay không Bind được (Bind Fail), và một số bug do kết nối mạng đường truyền

Trang 32

o Lưu log sự kiện mất kết nối đến database mysql, hay hết pool conection

o Một số log Exception khác mà hệ thống gateway gặp phải

Để stop ứng dụng gateway, sử dụng lệnh sau:

$ cd /home/smsgw/GPC/Gateway/trx

$./smsgw.sh stop Tương tự với các Telcos khác: VIETTEL, VMS, EVN tại các thư mục:

/home/smsgw/VIETTEL/Gateway/trx  cho telcos VIETTEL

/home/smsgw/VMS/Gateway/trx  cho telocs VMS

/home/smsgw/EVN/Gateway/trx  cho telcos EVN

2.2.2 Vận hành hệ thống Process

Chương trình Process được viết bằng JAVA

 User để chạy ứng dụng Process là smsgw

 Thư mục chạy ứng dụng gateway

/home/smsgw/Process

Trong thư mục này có các file:

o Config.cfg: file cấu hình các tham số:

NUM_THREAD=30  số lượng thread xử lý NUM_THREAD_LOAD_MO=2  số lượng tread load MO từ database NUM_THREAD_INSERTLOG=1  số lượng thread thực thi INSERT vào bảng log của database

TIME_DELAY_LOAD_MO=100  thời gian trễ để load MO từ database

Và một số tham số khác được cấu hình tùy biến với việc deploy lại ứng dụng process

Ngoài ra trong file cấu hình này còn có các tham số kết nối đến database mysql:

Trang 33

# Database gateway poolName=gateway base=50

log=log/dbgateway${yyyy-MM-dd}.log idleTime=300000

logLevel=info,warn,error,crisis driverClass=com.mysql.jdbc.Driver driverURL=jdbc:mysql://localhost:3306/smsgwttx user=smsgwttx

password=smsgw1122334455 killActiveConnectionsOverAge=-1 cycleConnections=-1

queueConnectionRequests=true waitForConnectionIfDatabaseIsDown=true

#Database Alert poolName=alert base=6

log=log/dbalert${yyyy-MM-dd}.log idleTime=300000

#logLevel=verbose,info,warn,error,crisis logLevel=info,error,crisis

#driverClass=oracle.jdbc.driver.OracleDriver driverClass=com.mysql.jdbc.Driver

driverURL=jdbc:mysql://localhost:3306/smsgwttx

Trang 34

user=smsgwttx password=smsgw1122334455 killActiveConnectionsOverAge=-1 cycleConnections=-1

queueConnectionRequests=true waitForConnectionIfDatabaseIsDown=true

Cấu hình các tham số trong file Config.cfg này sử dụng pool Primrose, các thông số pool

primrose tham khảo file database.cfg phần 2.2.1 vận hành hệ thống gateway

o Các file thư viện cho ứng dụng process:

mysql-connector-java-5.0.5-bin.jar : lib kết nối đến database mysql primrose.jar: quản lý connection sử dụng pool primrose

ProcessServer.jar : file ứng dụng Process

o File run.sh: thực thi ứng dụng Process

Cấu trúc file run.sh

#!/bin/sh /usr/java/ jdk1.6.0_14/bin/java -cp /home/smsgw/Process:/home/smsgw/Process/ProcessServer.jar:./primrose.jar:./mysql-connector-java-5.0.5-

logging.jar:./lib/http_client.jar:./lib/mailapi.jar:./lib/mail.jar:./lib/smtp.jar:./lib/soap.jar:./lib/commons-codec-1.3.jar:./lib/commons-httpclient-

bin.jar:./lib/activation.jar:./lib/classes12.jar:./lib/commons-1.0.4.jar:./lib/xstream-1.2.1.jar:./lib/SB.jar:./lib/commons-discovery-0.2.jar:./lib/jaxrpc.jar:./lib/classes12.zip:./lib/log4j-

3.0.jar:./lib/axis.jar:./lib/axis-ant.jar:./lib/commons-logging-1.2.8.jar:./lib/saaj.jar:./lib/wsdl4j-1.5.1.jar:./lib/sqljdbc.jar com.vmg.sms.process.ConsoleSRV 2>&1

Trang 35

 Thực thi ứng dụng Process:

#su – smsgw

$cd /home/smsgw/Process

$./prosms.sh start

Chạy hệ thống process cũng chạy ngầm

Kiểm tra tiến trình Process đang chạy:

$ps –ef |grep Process

Vào thư ra mục log để kiểm tra các sự kiện log:

Hình 12: sự kiện log hệ thống Process

Các sự kiện log của Process bao gồm:

o Log thực hiện các câu lệnh trên database khi có lỗi

o Log view Pool quản lý connection của primrose, khi hết pool hay connection Invalid nó đều ném các Execption ra

o Log view mất kết nối đến database

o …

 Stop ứng dụng process

Trang 36

 Thư mục chạy ứng dụng CDR của telcos GPC:

Thư mục: /home/smsgw/GPC/cdr (tương tự cho các telcos khác như VMS, VIETTEL, EVN)

Trong thư mục này có các file:

o ftp2cdrserver.cfg: file cấu hình việc ghi cước sang Telcos bao gồm các thông số:

FTP_SERVER = ftp://203.162.20.93/ FTP server để đẩy file cước sang

FTP_PASSWORD = ftpcdr  password FTP

LOCAL_FOLDER = \\CDROUT  thư mục lưu file cước trước khi FTP SENT_FOLDER = \\CDRSENT  thư mục lưu file cước khi đã send tới FTP server

FILE_EXTENSION = txt định dạng đuôi file cdr

#Frequency for sending CDR file, in minutes SCHEDULE_TIME = 10  tần số ghi CDR tính bằng phút

o File database.config: cấu hình kết nối đến các database, sử dụng pool quản lý connection primrose:

# Database gateway poolName=gateway

Trang 37

base=15 log=log/${yyyy-MM-dd}.log idleTime=300000

#logLevel=verbose,info,warn,error,crisis logLevel=error,crisis

#driverClass=oracle.jdbc.driver.OracleDriver driverClass=com.mysql.jdbc.Driver

driverURL=jdbc:mysql://localhost:3306/smsgwttx user=smsgwttx

password=smsgw1122334455 killActiveConnectionsOverAge=-1 cycleConnections=-1

queueConnectionRequests=true waitForConnectionIfDatabaseIsDown=true

# Database alert poolName=alert base=3

log=log/${yyyy-MM-dd}.log idleTime=300000

logLevel=error,crisis driverClass=com.mysql.jdbc.Driver driverURL=jdbc:mysql://localhost:3306/smsgwttx user=smsgwttx

password=smsgw1122334455

Trang 38

killActiveConnectionsOverAge=-1 cycleConnections=-1

queueConnectionRequests=true waitForConnectionIfDatabaseIsDown=true

o Thư mục lib: chứa các file thư viện chạy ứng dụng CDR:

mysql-connector-java-5.0.5-bin.jar : lib kết nối đến database mysql primrose.jar: quản lý connection sử dụng pool primrose

Vào thư ra mục log để kiểm tra các sự kiện log

Các sự kiện log của Process bao gồm:

o Log thực hiện các câu lệnh trên database khi có lỗi

o Log view Pool quản lý connection của primrose, khi hết pool hay connection Invalid nó đều ném các Execption ra

o Log view mất kết nối đến database

o Log view không kết nối được đến FTP server để ghi cước

o …

 Stop ứng dụng CDR

Trang 39

$cd /home/smsgw/GPC/cdr

$./cdrsms.sh stop CDR của các telcos VIETTEL, VMS, EVN vận hành cũng tương tự

2.2.4 Build và vận hành hệ thống Webadmin, Report, Webservice

Ứng dụng Webadmib, Report dùng để cấu hình các tham số gateway, Alert hệ thống qua SMS, qua mail cho người quản trị, và Report sản lượng MO, MT, MP theo các tùy biến khác nhau và có kết xuất ra file exel, ứng dụng Webservice để đón MT của đối tác

Trang 40

OS400*) os400=true;;

Darwin*) darwin=true;;

esac export JAVA_HOME=/usr/java/jdk1.6.0_05

# resolve links - $0 may be a softlink PRG="$0"

while [ -h "$PRG" ] ; do ls=`ls -ld "$PRG"`

link=`expr "$ls" : '.*-> \(.*\)$'`

if expr "$link" : '/.*' > /dev/null; then PRG="$link"

else PRG=`dirname "$PRG"`/"$link"

fi done PRGDIR=`dirname "$PRG"`

EXECUTABLE=catalina.sh

# Check that target executable exists

if $os400; then # -x will Only work on the os400 if the files are:

# 1 owned by the user # 2 owned by the PRIMARY group of the user # this will not work if the user belongs in secondary groups eval

Ngày đăng: 04/12/2014, 16:29

HÌNH ẢNH LIÊN QUAN

Hình 1 : Mô hình tổng quan của hệ thống  SMSC:    Short Message Service Center - Tài liệu vận hành hệ thống SMS
Hình 1 Mô hình tổng quan của hệ thống SMSC: Short Message Service Center (Trang 3)
Hình 2 : Các thành phần của hệ thống tin nhắn - Tài liệu vận hành hệ thống SMS
Hình 2 Các thành phần của hệ thống tin nhắn (Trang 4)
Hình 3 : Mô hình kết nối SMS Gateway - Tài liệu vận hành hệ thống SMS
Hình 3 Mô hình kết nối SMS Gateway (Trang 5)
Hình 4: Hệ thống xử lý tin nhắn - Tài liệu vận hành hệ thống SMS
Hình 4 Hệ thống xử lý tin nhắn (Trang 8)
Hình 6: Các service cần active trên hệ điều hành LINUX - Tài liệu vận hành hệ thống SMS
Hình 6 Các service cần active trên hệ điều hành LINUX (Trang 14)
Hình 7: Quyền truy cập bản tin - Tài liệu vận hành hệ thống SMS
Hình 7 Quyền truy cập bản tin (Trang 18)
Hình 8: Đặc quyền file trên LINUX - Tài liệu vận hành hệ thống SMS
Hình 8 Đặc quyền file trên LINUX (Trang 18)
Sơ đồ khối các ứng dụng hệ thống - Tài liệu vận hành hệ thống SMS
Sơ đồ kh ối các ứng dụng hệ thống (Trang 23)
Hình 12: sự kiện log hệ thống Process - Tài liệu vận hành hệ thống SMS
Hình 12 sự kiện log hệ thống Process (Trang 35)
Hình 10: Cấu trúc cây các quyền cho User - Tài liệu vận hành hệ thống SMS
Hình 10 Cấu trúc cây các quyền cho User (Trang 54)
Hình 11: Bảng phân quyền trên database Mysql - Tài liệu vận hành hệ thống SMS
Hình 11 Bảng phân quyền trên database Mysql (Trang 56)

TỪ KHÓA LIÊN QUAN

w