Professional Documents
Culture Documents
Wifi Production
Wifi Production
23/10/2014
Copyright ©VIVAS
Page 1 of 26
_________________________________________________________________________
MỤC LỤC
1 LỊCH SỬ CẬP NHẬT TÀI LIỆU ..................................................................................... 4
2 MỤC ĐÍCH CỦA TÀI LIỆU ............................................................................................ 4
3 THÔNG TIN VẬT LÝ CỦA SERVER............................................................................. 5
3.1 Mô hình các thành phần hệ thống hiện tại: ................................................................. 5
3.2 Thông tin phần cứng thiết bị hệ thống Wifi Production ............................................. 6
3.2.1 FrontEnd Server ................................................................................................... 6
3.2.2 BackEnd Server ................................................................................................... 7
3.2.3 Database Server ................................................................................................... 8
3.2.4 Switch Access 19 ................................................................................................. 9
4 MÔ HÌNH TRIỂN KHAI HỆ THỐNG ............................................................................. 9
4.1 UE – User Equipment ............................................................................................... 10
4.2 Radio Access Network – RAN.................................................................................. 10
4.3 Aggregation Gateway................................................................................................ 10
4.4 SMP ........................................................................................................................... 10
5 CALL FOLLOW ............................................................................................................. 11
5.1 Login via http ............................................................................................................ 12
5.2 Logout via http .......................................................................................................... 16
6 CÀI ĐẶT VÀ CẤU HÌNH .............................................................................................. 17
6.1 Radius server ............................................................................................................. 17
6.2 Tomcat ....................................................................................................................... 17
6.3 Nginx ......................................................................................................................... 18
6.4 Database .................................................................................................................... 18
7 TRIỂN KHAI ỨNG DỤNG ............................................................................................ 18
7.1 Radius server và RadiusGate..................................................................................... 18
7.2 Captive Portal ............................................................................................................ 19
7.2.1 Portal Bách Khoa ............................................................................................... 19
7.2.2 Portal Thái Nguyên: ........................................................................................... 20
7.2.3 Portal Trà Vinh .................................................................................................. 21
7.3 Admin Portal ............................................................................................................. 22
7.4 SMPService ............................................................................................................... 23
7.5 SMPPromotion .......................................................................................................... 25
Copyright ©VIVAS
Page 2 of 26
_________________________________________________________________________
7.6 Thiết kế chi tiết CSDL Database Wifi Production .................................................... 26
Copyright ©VIVAS
Page 3 of 26
_________________________________________________________________________
- Thông tin vật lý của server: vị trí, cấu hình mạng, thông số server…
- Hướng dẫn cài đặt, cấu hình, vận hành Radius server, radiusGate,
- Các thành phần cài đặt trên server: Hướng dẫn chi tiết cách cài đặt, cấu hình Nginx,
tomcat, database Oracle 11G R2.
- Thông tin các ứng dụng hiện tại: Thông tin chi tiết cách triển khai ứng dụng, các
keywork cần chú ý, tài liệu thiết kế CSDL hệ thống.
Copyright ©VIVAS
Page 4 of 26
_________________________________________________________________________
User Portal
Bách Khoa
SMPService Database
User Portal
Thái Nguyên
Radius
Radius Gate
User Portal Server
Trà Vinh
IP: IP:
103.31.126.85 103.31.126.85
Copyright ©VIVAS
Page 5 of 26
_________________________________________________________________________
FrontEnd Server là server HP ProLiant DL360p Gen8 có 24 core, nhân Intel(R) Xeon(R)
CPU E5-2620 0 @ 2.00GHz; Ở cứng bao gồm 2 ổ SAS 300G chạy raid 1; Bộ nhớ RAM
16GB; có 4 port Ethernet 1Gbps phía mặt sau.
Serial: SGH250HVEB
Đang được cấu hình Bond0(mode Active-Backup) trên 2 cổng mạng eth0 và eth1.
Thông số bonding:
Copyright ©VIVAS
Page 6 of 26
_________________________________________________________________________
Serial:SGH250HVFE
Đang được cấu hình Bond0(mode Active-Backup) trên 2 cổng mạng eth0 và eth1.
Thông số bonding:
Copyright ©VIVAS
Page 7 of 26
_________________________________________________________________________
Database Server là server HP ProLiant DL380p Gen8 có 12 chíp xử ý Intel, nhân Intel(R)
Xeon(R) CPU E5-2620 0 @ 2.00GHz ; Ở cứng bao gồm 2 ổ SAS 600G chạy Raid 1; Bộ
nhớ RAM 16GB; có 4 port Ethernet 1Gbps phía mặt sau.
Dán nhãn: WIFIBK-DB
Serial: SGH307MV4R
Đang được cấu hình Bond0(mode Active-Backup) trên 2 cổng mạng eth0 và eth1.
Thông số bonding:
Copyright ©VIVAS
Page 8 of 26
_________________________________________________________________________
OmniSwitch 6400-U24 Alcatel có 24 port quang, 2 port combo, hỗ trợ layer 3, có khả năng
chuyển mạch 48 Gbps Full Duplex; hỗ trợ 16000 MAC; nguồn cung cấp là nguồn DC 48V.
INTERNET
User-Portal Admin-Portal DB
10.84.69.8
FRONT-END SERVER
Si
172.19.0.254
SC7000
172.19.0.253
Access-Point
END-USER
Copyright ©VIVAS
Page 9 of 26
_________________________________________________________________________
4.1 UE – User Equipment
Thiết bị đầu cuối(UE) là những thiết bị hỗ trợ wifi như 3G smartphones, tablets and
laptops. Thiết bị đầu cuối sẽ được nhận thực qua web(Captive Portal) của Service
Management Platform.
- AccessPoint: Cung cấp môi trường truy cập không dây cho người dùng cuối. AP
được điều khiển bởi access controller ("Real" hay "virtual") và theo dõi, cấu hình
thông qua hệ thống quản lý mạng vô tuyến
- Access Controller: đóng vai trò điều khiển và quản lý tập trung các AP. Các AP có thể
kết nối đến AC thông qua lớp 2 hoặc lớp 3. Giao diện giữa AP và AC có nhiệm vụ
phát hiện AC khi kết nối một AP mới và tài firmware từ AC xuống AP ngay sau quá
trình kết nối AP với AC.
4.4 SMP
Hệ thống quản lý dịch vụ (Service Management Platform - SMP) sẽ quản lý toàn bộ
dịch vụ khách hàng, tạo tài khoản, cơ chế tính cước, thanh toán như thẻ cào, thẻ credit…, một
trang web đăng nhập được đưa ra khi khánh hàng bắt đầu sử dụng dịch vụ
Hệ thống bao gồm các thành phần sau:
Copyright ©VIVAS
Page 10 of 26
_________________________________________________________________________
o User Portal (hay Captive Portal): Là trang để người dùng có thể đăng nhập,
quản lý tài khoản, mua gói cước và sử dụng dịch vụ
o Admin Portal: Cung cấp giao diện cho người quản trị có thể quản lý khách
hàng (tra cứu thông tin, lịch sử sử dụng dịch vụ, gia hạn,…); Quản lý các sản
phẩm, dịch vụ của WiFi (tạo service package, định nghĩa giá, policy,…); Quản
lý các voucher, PIN code;…
- Backend: Bao gồm AAA Service và Aplication Service
o AAA Service: (AAA – Authentication, Authorization and Accounting):
Đóng vai trò là trung tâm xử lý các yêu cầu truy nhập, định nghĩa
chính sách sử dụng và tính cước.
Giao tiếp với các Radius Client (AGW/AC…) thông qua các tham số
được chuẩn hóa
o Application Service:
Thành phần chính xử lý các yêu cầu từ front end gửi xuống
- DB:
Bao gồm DB và AAA Back-end Service, trong đó AAA Back-end Service cần thao
tác trực tiếp với DB với tốc độ cao, do đó AAA Back-end Service được triển khai cùng với
DB Server
o DB: sử dụng cho dự án cài Oracle 11g, lưu trữ các thông tin về khách hàng,
gói cước, chính sách sử dụng, lịch sử sử dụng,….
o AAA Back-end Service:
Xử lý các yêu cầu từ AAA Module
Xử lý chính sách liên quan đến service profile mức session
Kiểm soát lưu lượng truy cập của mỗi khách hàng
5 CALL FOLLOW
Trong phần này sẽ giới thiệu call-flow login/logout cơ bản cho mô hình xác thực thông
qua http và CoA:
Copyright ©VIVAS
Page 11 of 26
_________________________________________________________________________
5.1 Login via http
LOGIN FLOW
Mine
End-User Access Point AGW Captive Portal SMP
DHCP REQUEST
DHCP RESPONSE
HTTP REQUEST
Press OK button
Surf Internet
RADIUS: Interim-Update
Used-Time=?/Used-Capacity=?/Acct-Session-Id = zzz
RADIUS: Accounting-Response
Bước 1: Client kết nối Wifi, gửi bản tin dhcp_req tới AGW/AC để yêu cầu địa chỉ IP
Bước 2: AGW/AC gửi bản tin dhcp_reply cấp địa chỉ IP cho client
Bước 3: Người dùng kết nối Internet (vào trang google.com …)
Bước 4: AGW/AC redirect người dùng đến trang Captive Portal của hệ thống SMP
Bước 5: Captive Portal trả về trang chủ cho người dùng
Bước 6: Người dùng điền thông tin đăng nhập vào trang Captive portal (thông tin đăng nhập
có thể là cặp username/password hoặc là mã truy cập). Nếu thông tin truy cập đúng, chuyển
sang bước 7, nếu thông tin truy cập sai sẽ hiển thị thông tin truy cập sai trên Captive Portal.
Bước 7: Captive Portal gửi redirect link cho người dùng, cấu trúc redirect link như sau:
http://{AGG/AC_IP}/login?username=….&password=….&dst=google.com.vn.
Ví dụ:
http://192.168.183.1/login?username=1416;975;0&password=uz5jrs88fcs50ydf7z2l7908324
d563bc69441a76f7fbb71dee7afb1398a&dst=http://google.com.vn?res=success&popup=false
Copyright ©VIVAS
Page 12 of 26
_________________________________________________________________________
Trong đó 192.168.183.1 là địa chỉ IP của AGW/AC, các tham số cần chú ý là username và
password cũng như dst(trang trả về cho người dùng khi đăng nhập thành công hiện tại là
google.com.vn). Các tham số này được cấu hình cụ thể trong file configuration.properties
trong tomcat của portal trong thư mục :
Trên production triển khai tại bách khoa có cấu hình như sau:
Trong thư mục /opt/WEB/tomcat9091/portalbachkhoa/SMPFrontEnd/WEB-INF/classes,
view file configuration.properties ta thấy:
sendredirect.dst=http://google.com.vn?res=success&popup=false
sendredirect.protocol=http://
sendredirect=bachkhoa.vnptwifi.vn/login?
logout.url=http://bk1.bachkhoa.vnptwifi.vn/logout // link direct gửi cho AGW/AC khi
logout
ip_access=113.190.46.190
zone1=bk1
Ở đây ta không sử dụng địa chỉ IP do có nhiều AP nên ta sử dụng zone để group các AP lại,
theo như cấu hình trên production thì zone1=bk1, khi đó link redirect AGG cần cấu hình là
bk1.bachkhoa.vnptwifi.vn
Bước 8: Người dùng redirect theo link đã được gửi tới AGW/AC
Bước 9: Trên cơ sở thông tin gửi từ client, AGW/AC gửi bản tin Radius_req tới AAA server
(trong bản tin Radius_req bao gồm cả username, password của người dùng).
Access-Request packet from host 172.19.0.253 port 45275, id=46, length=238
NAS-Port-Type = Wireless-802.11
Calling-Station-Id = "20:7C:8F:75:BA:26"
Called-Station-Id = "hotspot_BK"
NAS-Port-Id = "bridge_vlan250"
User-Name = "1493;8750;0"
NAS-Port = 2151725540
Acct-Session-Id = "8040b9e4"
Framed-IP-Address = 10.0.8.99
Mikrotik-Host-IP = 10.0.8.99
User-Password = "y9ao0lwzdfimv3d81tl8967630f2ddd8d1c60bfacb34ec4d53adf1c47b92"
Service-Type = Login-User
WISPr-Logoff-URL = "http://10.0.8.1/logout"
NAS-Identifier = "MikroTik"
Copyright ©VIVAS
Page 13 of 26
_________________________________________________________________________
NAS-IP-Address = 172.19.0.253
Hiện tại username của người dùng đã được mã hóa, ví dụ tài khoản tra_truoc_tan, pass:
123456 sẽ được mã hóa dưới dạng "1493;8750;0" và pass là: User-Password =
"y9ao0lwzdfimv3d81tl8967630f2ddd8d1c60bfacb34ec4d53adf1c47b92", password này đã
được mã hóa khác so với password trong database để bảo mật. Password mà AC/AWG gửi
lên được gộp thêm với ValidSession, theo như password ở trên thì nó gồm 2 phần, phần đầu
“y9ao0lwzdfimv3d81tl” chính là validSession còn phần còn lại chính là password đã được
mã hóa và lưu trong DB. Cần lưu ý vấn đề này trog quá trình troubleshoot.
Tiếp đó, AAA server sẽ check thông tin người dùng gửi lên (chứng thực, phân quyền …).
Nếu người dùng được phép truy cập Internet (theo 1 policy nào đó), sẽ chuyển đến bước 10.2,
Nếu người dùng không được truy cập Internet, chuyển sang bước 10.1
Bước 10.1: AAA server gửi bản tin Access_reject, người dùng không được phép truy cập
Internet.
Bước 10.2: AAA server gửi bản tin Access_accept, người dùng được phép truy cập Internet
theo 1 policy đã được định nghĩa trong bản tin access_accept đồng thời chuyển sang bước 11.
Sending Access-Accept of id 46 to 172.19.0.253 port 45275
User-Name = "1493;8750;0"
Session-Timeout = 1410065407
Acct-Session-Id = "8040b9e4" //AGW/AC sẽ gửi lại tham số này khi gửi bản tin
accounting start lên
Mikrotik-Xmit-Limit = 0
WISPr-Bandwidth-Max-Up = 512000
Mikrotik-Xmit-Limit-Gigawords = 1
WISPr-Bandwidth-Max-Down = 5000000
Trong bản tin access-accept, server trả về cho người dùng profile của người dùng như user-
name, băng thông đường lên, đường xuống tối đa, session tính cước…. Các thông tin này
được radiusGate trả về cho Radius server (xem trong autl_perl.pl)
Bước 11: AGW/AC gửi link truy cập internet thành công cho người dùng ( vd: link redirect
sang trang google.com)
Bước 12: AGW/AC gửi bản tin acct-start đến AAA server để bắt đầu tính cước cho phiên
truy cập, chú ý rằng các bản tin tính cước đều là các bản tin accouting request, tuy nhiên có 3
Copyright ©VIVAS
Page 14 of 26
_________________________________________________________________________
loại là start, interim-update và stop. Quan sát log của radius server ta sẽ thấy điều này quy
định ở trường Acct-Status-Type
Accounting-Request packet from host 172.19.0.253 port 53937, id=47, length=154
Acct-Status-Type = Start //Loại bản tin accounting
NAS-Port-Type = Wireless-802.11
Calling-Station-Id = "20:7C:8F:75:BA:26" //Địa chỉ MAC của người dùng
Called-Station-Id = "hotspot_BK"
NAS-Port-Id = "bridge_vlan250"
User-Name = "1493;8750;0"
NAS-Port = 2151725540
Acct-Session-Id = "8040b9e4" //session tính cước
Framed-IP-Address = 10.0.8.99 //địa chỉ IP người dùng
Mikrotik-Host-IP = 10.0.8.99
Event-Timestamp = "Oct 1 2014 23:27:27 ICT"
NAS-Identifier = "MikroTik"
Acct-Delay-Time = 0
NAS-IP-Address = 172.19.0.253
Bước 13: AAA server gửi bản tin acct-ack đến AGW/AC báo hiệu đã nhận được bản tin acct-
start. Đây chỉ là bản tin ACK Accounting Response, không có thông số đi kèm.
Copyright ©VIVAS
Page 15 of 26
_________________________________________________________________________
5.2 Logout via http
LOGOUT FLOW
End-User
Mine Access Point AGW Captive Portal SMP
Surf Internet
RADIUS: Interim-Update
Used-Time=?/Used-Capacity=?/Acct-Session-Id = zzz
RADIUS: Accounting-Response
Http://AGW-ip-address/logout
RADIUS: Accounting-Stop
Username=?/Acct-Session-Id=?/Used-Time=?/Used-Capacity=?
RADIUS: Accounting-Response
Copyright ©VIVAS
Page 16 of 26
_________________________________________________________________________
Calling-Station-Id = "20:7C:8F:75:BA:26"
Called-Station-Id = "hotspot_BK"
NAS-Port-Id = "bridge_vlan250"
User-Name = "1493;8750;0" //Username đã được mã hóa
NAS-Port = 2151725540
Acct-Session-Id = "8040b9e4" //session tính cước
Framed-IP-Address = 10.0.8.99 //Địa chỉ Ip của user
Mikrotik-Host-IP = 10.0.8.99
Event-Timestamp = "Oct 2 2014 00:18:44 ICT"
Acct-Input-Octets = 9901268
Acct-Output-Octets = 189388584
Acct-Input-Gigawords = 0
Acct-Output-Gigawords = 0
Acct-Input-Packets = 103981
Acct-Output-Packets = 153451 //Dung lượng đã sử dụng = Acct-Output-Packets - Acct-Input-
Packets
Acct-Session-Time = 3076 //Thời gian kết nối của user
NAS-Identifier = "MikroTik"
Acct-Delay-Time = 0
NAS-IP-Address = 172.19.0.253
6.2 Tomcat
Copyright ©VIVAS
Page 17 of 26
_________________________________________________________________________
6.3 Nginx
6.4 Database
- Với radius server, hiện tại log được ghi vào file /opt/radius_log/rad_server.log, khi
debug hay cần search thông tin người dùng thì tìm kiếm tại file này. Thực tế khi cần
debug xem log trực tiếp thì gõ lệnh “radius –X”.
- Với radiusGate, log được ghi trong thư mục /opt/RadiusGate/ server chứa DB để xem
cụ thể các tham số mà RadiusGate trả về cho radius server. Câu lệnh xem log là:
+ tailf /opt/RadiusGate/nohup.out
- Khi cần restart lại radius, chạy file restart.sh trong thư mục /opt/freeradius/etc/raddb/
- Restart Radius Gate
+ Lấy tiến trình đang hoạt động:
ps axu | grep RadiusGateh => Có id
+ Stop tiến trình:
kill -9 <Id vừa tìm được ở lệnh trên>
+ Khởi động ứng dùng bằng lệnh:
nouhup java -jar SMPRadiusGate.jar &
Copyright ©VIVAS
Page 18 of 26
_________________________________________________________________________
7.2 Captive Portal
7.2.1 Portal Bách Khoa
Triển khai portal cho người dùng Bách Khoa trên cả hai tomcat9091 và tomcat9092. (path =
/opt/WEB). Server FE
+ path/tomcat9092/portalbachkhoa/SMPFrontEnd
* cat /opt/WEB/tomcat9091/portalbachkhoa/SMPFrontEnd/WEB-INF/classes/service.properties
api.url=http://10.84.80.9:9091/SMPService/ServiceAPI
encrypt.key=RMRJKTCSOXLBHVMZWAL4TD9R21ZHFFCMAVEZAHWK69LGO0FU359WEY
O7UVQNSPXB
default.partner.id=1
Trong đó:
Key api.url: Url gọi tới api service xử lý của hệ thống (server BE)
Key default.partner.id: ID của đối tác tương ứng. (Bách Khoa, Thái Nguyên, Trà Vinh…)
* cat /opt/WEB/tomcat9091/portalbachkhoa/SMPFrontEnd/WEB-INF/classes/configuration.properties
encrypt.key=RMRJKTCSOXLBHVMZWAL4TD9R21ZHFFCMAVEZAHWK69LGO0FU359WEY
O7UVQNSPXB
count.login.invalid=5
record.each.page=5
#Unit are minute ~ 30'
time.lock.account=30
sendredirect.dst=http://google.com.vn?res=success&popup=false
sendredirect.protocol=http://
sendredirect=bachkhoa.vnptwifi.vn/login?
logout.url=http://bk1.bachkhoa.vnptwifi.vn/logout
ip_access=113.190.46.190
zone1=bk1
Trong đó:
- Key count.login.invalid: Số lần user có thể đăng nhập trước khi bị khóa tài khoản do đăng
nhập sai user/password
Copyright ©VIVAS
Page 19 of 26
_________________________________________________________________________
- Key sendredirect…: Tổng hợp đường link user được forward tới khi click vào truy cập
internet
- Key logout.url: Url logout cho user. Chú ý cần có tiền tố zone1 ở trước đường link truy cập
vào portal.
+ path/tomcat9092/portalthainguyen/TNSMPFrontEnd
* cat /opt/WEB/tomcat9091/portalthainguyen/TNSMPFrontEnd/WEB-INF/classes/service.
properties
api.url=http://10.84.80.9:9091/SMPService/ServiceAPI
encrypt.key=RMRJKTCSOXLBHVMZWAL4TD9R21ZHFFCMAVEZAHWK69LGO0FU359WEY
O7UVQNSPXB
default.partner.id=18
Trong đó:
Key api.url: Url gọi tới api service xử lý của hệ thống (server BE)
Key default.partner.id: ID của đối tác tương ứng. (Bách Khoa, Thái Nguyên, Trà Vinh…)
* cat /opt/WEB/tomcat9091/portalthainguyen/TNSMPFrontEnd/WEB-INF/classes/configuration.
properties
encrypt.key=RMRJKTCSOXLBHVMZWAL4TD9R21ZHFFCMAVEZAHWK69LGO0FU359WEY
O7UVQNSPXB
count.login.invalid=5
record.each.page=5
#Unit are minute ~ 30'
time.lock.account=30
sendredirect.dst=http://google.com.vn?res=success&popup=false
sendredirect.protocol=http://
sendredirect=thainguyen.vnptwifi.vn/login?
logout.url=http://tn1.thainguyen.vnptwifi.vn/logout
ip_access=113.190.240.238
zone1=tn1
Copyright ©VIVAS
Page 20 of 26
_________________________________________________________________________
Trong đó:
- Key count.login.invalid: Số lần user có thể đăng nhập trước khi bị khóa tài khoản do đăng
nhập sai user/password
- Key sendredirect…: Tổng hợp đường link user được forward tới khi click vào truy cập
internet
- Key logout.url: Url logout cho user. Chú ý cần có tiền tố zone1 ở trước đường link truy cập
vào portal.
+ path/tomcat9092/portaltravinh/TVSMPFrontEnd
api.url=http://10.84.80.9:9091/SMPService/ServiceAPI
encrypt.key=RMRJKTCSOXLBHVMZWAL4TD9R21ZHFFCMAVEZAHWK69LGO0FU359WEY
O7UVQNSPXB
default.partner.id=19
Trong đó:
Key api.url: Url gọi tới api service xử lý của hệ thống (server BE)
Key default.partner.id: ID của đối tác tương ứng. (Bách Khoa, Thái Nguyên, Trà Vinh…)
encrypt.key=RMRJKTCSOXLBHVMZWAL4TD9R21ZHFFCMAVEZAHWK69LGO0FU359WEY
O7UVQNSPXB
count.login.invalid=5
record.each.page=5
#Unit are minute ~ 30'
time.lock.account=30
sendredirect.dst=http://google.com.vn?res=success&popup=false
Copyright ©VIVAS
Page 21 of 26
_________________________________________________________________________
sendredirect.protocol=http://
sendredirect=dhtv.vnptwifi.vn/login?
logout.url=http://tv1.travinh.vnptwifi.vn/logout
ip_access=113.190.240.238
zone1=tv1
Trong đó:
- Key count.login.invalid: Số lần user có thể đăng nhập trước khi bị khóa tài khoản do đăng
nhập sai user/password
- Key sendredirect…: Tổng hợp đường link user được forward tới khi click vào truy cập
internet
- Key logout.url: Url logout cho user. Chú ý cần có tiền tố zone1 ở trước đường link truy cập
vào portal.
Triển khai Admin Portal cho người quản trị trên tomcat9093 (path = /opt/WEB). Server FE
api.url=http://10.84.80.9:9091/SMPService/ServiceAPI
encrypt.key=RMRJKTCSOXLBHVMZWAL4TD9R21ZHFFCMAVEZAHWK69LGO0FU359WEY
O7UVQNSPXB
default.partner.id=3
Trong đó:
Key api.url: Url gọi tới api service xử lý của hệ thống (server BE)
Key default.partner.id: ID của đối tác tương ứng. (Bách Khoa, Thái Nguyên, Trà Vinh…)
count.login.invalid=5
#Unit are minute ~ 30'
time.lock.account=30
Copyright ©VIVAS
Page 22 of 26
_________________________________________________________________________
record.each.page=5
#la partner cua system admin, co the chon ds partner
partner.admin.id=0
#default cho cac frontend la back khoa
default.partner.id=1
Trong đó:
- Key count.login.invalid: Số lần user có thể đăng nhập trước khi bị khóa tài khoản do đăng
nhập sai user/password
- Key default.partner.id: ID của đối tác tương ứng. (Bách Khoa, Thái Nguyên, Trà Vinh…)
7.4 SMPService
Triển khai core ServiceAPI của hệ thống trên tomcat9091 (path = /opt/WEB). Server BE
* cat /opt/WEB/tomcat9091/webapps/SMPService/WEB-INF/jdbc.properties
jdbc.url=jdbc:oracle:thin:@10.84.80.204:1521:wifi
jdbc.username=radius
jdbc.password=radius1234
#Config worker
#s m H d m y
#0/X: run every X
#X : run at X
#Chay vao 0h0'0s 05 errery month
#export.bill.time=0 0 0 5 * * ?
#0h0m0s ngay 1 hang thang
export.bill.time= 0 0 3 1 * ?
#export.bill.to.file.time=0 0 0 5 * ?
export.group.bill.time= 0 0 1 1 * ?
export.bill.to.txt.file.time= 0 0 15 1 * ?
card.worker.time= 0 0 0 * * ?
#0h0m0s ngay 16 hang thang
check.bill.worker.time=0 0 0 16 * ?
report.total.customer.time= 0 30 0 * * ?
Trong đó:
Copyright ©VIVAS
Page 23 of 26
_________________________________________________________________________
Key jdbc.url: Url gọi tới api kết nối tới db oracle, chú ý IP, Port, SID
Key export.bill.time: Config thời gian xuất cước cá nhân hàng tháng
Key export.group.bill.time: Config thời gian xuất cước nhóm hàng tháng
Key card.worker.time: Config thời gian thay đổi trạng thái status của thẻ
Key check.bill.worker.time: Config thời gian chạy báo cáo biến động khách hàng
Key report.total.customer.time: Config thời gian tổng hợp báo cáo biến động hàng ngày
* cat /opt/WEB/tomcat9091/webapps/SMPService/WEB-INF/classes/configuration.properties
encrypt.key=RMRJKTCSOXLBHVMZWAL4TD9R21ZHFFCMAVEZAHWK69LGO0FU359WEY
O7UVQNSPXB
count.login.invalid=5
record.each.page=5
#Unit are minute ~ 30'
time.lock.account=30
#number of thread for autoext
export.bill.number.thread=5
export.bill.to.file.number.thread=5
#Run mod: 0 production, 1: Test
export.bill.run.mod=0
card.worker.number.thread=2
#production mod
socket.server.host=10.84.80.204
export.txt.file.path=/opt/WEB/tomcat9091/webapps/SMPService/WEB-INF/file_export
socket.server.port=9090
Trong đó:
- Key count.login.invalid: Số lần user có thể đăng nhập trước khi bị khóa tài khoản do đăng
nhập sai user/password
- Key export.txt.file.path: Config đường dẫn chứa file cước txt của hệ thống.
Copyright ©VIVAS
Page 24 of 26
_________________________________________________________________________
* cat /opt/WEB/tomcat9091/webapps/SMPService/WEB-INF/classes/service.properties
api.promotion.url=http://localhost:9091/SMPPromotion/SMPPromotionAPI
encrypt.key=RMRJKTCSOXLBHVMZWAL4TD9R21ZHFFCMAVEZAHWK69LGO0FU359WEY
O7UVQNSPXB
#la partner cua system admin, co the chon ds partner
partner.admin=0
#default cho cac frontend la back khoa
default.partner.id=3
Trong đó:
7.5 SMPPromotion
Triển khai core SMPPromotionAPI của hệ thống trên tomcat9091 (path = /opt/WEB). Server
BE
Mục đích: Xử lý các yêu cầu về tạo chiến dịch khuyến mại cho từng partner của hệ thống
* cat /opt/WEB/tomcat9091/webapps/SMPPromotion/WEB-INF/jdbc.properties
jdbc.driverClassName=oracle.jdbc.driver.OracleDriver
jdbc.dialect=org.hibernate.dialect.Oracle10gDialect
jdbc.show_sql=true
jdbc.url=jdbc:oracle:thin:@10.84.80.204:1521:wifi
jdbc.defaultNChar=true
jdbc.charSet=utf-8
jdbc.useUnicode=true
jdbc.characterEncoding=utf-8
#production mod:
jdbc.username=radius
jdbc.password=radius1234
Trong đó:
Key jdbc.url: Url gọi tới api kết nối tới db oracle, chú ý IP, Port, SID
Copyright ©VIVAS
Page 25 of 26
_________________________________________________________________________
7.6 Thiết kế chi tiết CSDL Database Wifi Production
Copyright ©VIVAS
Page 26 of 26