Đề tài này sẽ chỉ ra nếu nhà mạng áp dụng các công nghệ mới thì tốc độ import dữ liệu có thể tăng lên đến 1,5 đến 2 lần so với công nghệ cũ.Các số liệu trong đề tài là được chạy trên hệ
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Người hướng dẫn khoa học: PGS TS Nguyễn Hải Châu
Hà Nội - 2019
Trang 3Mục lục
Trang
1 Đặt vấn đề về bài toán tính cước đang dùng tại Viettel 41.1 Mô hình, hiện trạng và nghiệp vụ của hệ thống Viettel Billing 41.1.1 Giới thiệu mô hình hệ thống Viettel Billing 41.1.2 Các nghiệp vụ tính cước 51.2 Những tồn tại của hệ thống 11
2 Phân tích, lựa chọn và thiết kế giải pháp 132.1 Mô hình giải pháp cũ 132.1.1 Mô hình vật lý hệ thống Billing hiện tại 132.1.2 Mô hình logic hệ thống Billing hiện tại 152.2 Mô hình giải pháp hệ thống Billing mới và hoàn toàn miễn
phí 162.3 Mô hình giải pháp miễn phí kết hợp có phí 202.4 So sánh giải pháp miễn phí hoàn toàn và giải pháp kết hợp
Trang 4Danh sách hình vẽ
1.1 Mô hình hệ thống Viettel Billing 4
2.1 Mô hình vật lý hệ thống Billing 14
2.2 Mô hình logic hệ thống Billing 15
2.3 Mô hình giải pháp hoàn toàn miễn phí 16
2.4 Mô hình giải pháp kếp hợp có phí và miễn phí 20
3.1 Mô hình thực nghiệm với công nghệ cũ 27
3.2 Mô hình thực nghiệm với công nghệ mới 27
3.3 Công thức và kết quả tính cỡ mẫu thực nghiệm 37
3.4 Import số liệu vào hệ thống 38
3.5 Mối liên hệ giữa thời gian thực nghiệm và dung lượng dữ liệu 39 3.6 So sánh thời gian import giữa hai hệ thống 40
3.7 Biểu diễn phân bố dữ liệu thực nghiệm của hai hệ thống 41
Trang 5Thuật ngữ và từ viết tắt
Từ viết tắt Từ gốc Giải nghĩa - Tạm dịch
KPI Key Performance
Indicator
Là chỉ số đánh giá công việc, công
cụ đo lường nhằm phản ảnh hiệuquả hoạt động của một đối tượngCNTT - Công nghệ thông tin
Load Balacing - Bộ cân bằng tải
Firewall - Tường lửa
Trang 6Lời cam đoan
Tôi xin cam đoan đây là công trình nghiên cứu do tôi thực hiện dưới sựhướng dẫn của PGS TS Nguyễn hải Châu tại bộ môn Hệ thống Thôngtin, Khoa Công nghệ Thông tin, Trường Đại học Công nghệ, Đại học Quốcgia Hà Nội Các số liệu và kết quả trình bày trong luận án là trung thực,chưa được công bố bởi bất kỳ tác giả nào hay ở bất kỳ công trình nàokhác
Tác giả
Nguyễn Văn Thức
Trang 7Lời cảm ơn
Trước tiên tôi xin gửi lời cảm ơn chân thành và sâu sắc đến thầy giáo,PGS TS Nguyễn Hải Châu – người đã hướng dẫn, khuyến khích, truyềncảm hứng, chỉ bảo và tạo cho tôi những điều kiện tốt nhất từ khi bắt đầunghiên cứu đến khi hoàn thành luận văn này
Tôi xin chân thành cảm ơn các thầy cô giáo khoa Công nghệ thông tin,trường Đại học Công nghệ, Đại học Quốc Gia Hà Nội, đặc biệt là các Thầy
Cô trong Bộ môn Hệ thống Thông tin đã tận tình đào tạo, cung cấp chotôi những kiến thức vô cùng quý giá, đã tạo điều kiện tốt nhất cho tôi đểhoàn thành luận văn này
Đồng thời tôi xin chân thành cảm ơn các bạn trong lớp HHT24 đã tạomọi điều kiện, giúp đỡ và bố trí thời gian tốt nhất dành cho tôi trong suốtquá trình làm luận văn
Cuối cùng, tôi xin chân thành cảm ơn những người thân trong gia đìnhcùng toàn thể bạn bè đã luôn giúp đỡ, động viên tôi những lúc gặp phảikhó khăn trong suốt quá trình học tập và nghiên cứu
Trang 8Giới thiệu
Đặt vấn đề
Công nghệ thông tin ngày càng đóng vai trò quan trọng trong phát triểnkinh tế, xã hội Công nghệ thông tin và viễn thông là một trong nhữngđộng lực chính tạo nên bộ mặt thế kỷ 21 Ngoài ra, công nghệ thông tin
và viễn thông còn là một trong những điều kiện chính quyết định sự pháttriển của nền kinh tế thế giới Nó tác động sâu sắc đến cách chúng ta đangsống, học tập và làm việc; đến cách thức nhà nước giao tiếp với dân Nócũng tạo ra những thách thức kinh tế, xã hội trước các cá nhân, doanhnghiệp, cộng đồng ở mọi nơi trên trái đất nhằm đạt hiệu quả và tính sángtạo cao hơn Tất cả chúng ta đang đứng trước và cần nắm bắt cơ hội này.Theo nghiên cứu của IDC Group - một trong năm công ty hàng đầu vềlĩnh vực công nghệ thông tin tại Việt Nam, ngành công nghệ thông tin sẽđóng góp khoảng 1,16 nghìn tỷ USD vào GDP của châu Á - Thái BìnhDương với tỷ lệ tăng trưởng hằng năm 0,8% Năm 2017, chiếm khoảng 6%GDP của châu Á - Thái Bình Dương đến từ các sản phẩm và dịch vụ côngnghệ thông tin, thông qua việc sử dụng các công nghệ số IDC dự báo con
số này sẽ tăng lên 60% GDP khu vực châu Á - Thái Bình Dương vào năm
2021 Cũng theo số liệu IDC, khoảng 84% các tổ chức, doanh nghiệp trongkhu vực đã và đang trong hành trình chuyển đổi số Tuy nhiên, chỉ có 7%
là các doanh nghiệp tiên phong và đây là những đơn vị có chiến lược pháttriển công nghệ thông tin
Trong cuộc đua phát triển và đổi mới công nghệ, ai nhanh hơn người
đó sẽ chiếm thế thượng phong và đạt được nhiều thành tựu Chính vì vậy,một điều rất quan trọng đó là các doanh nghiệp phải thường xuyên đổimới công nghệ, cập nhật các công nghệ mới để áp dụng vào quá trình sảnxuất kinh doanh Đặc biệt là đối với các công ty công nghệ, ngoài việc cậpnhật công nghệ mới nhất còn phải đầu tư để nghiên cứu chuyên sâu vềcông nghệ Một công ty phát triển bền vững cần phải có các nghiên cứu
cơ bản hoặc có các sản phẩm cốt lõi làm nền tảng cho công ty mình
Đo lường cũng là một trong những thành phần rất quan trọng trongviệc phát triển và đổi mới công nghệ Các công ty và doanh nghiệp cầnphải sử dụng các chỉ số đo lường (Key Performance Indicator-KPI) để đo
Trang 9các chỉ số như hiệu quả của quy trình, vốn dữ liệu, sự ủng hộ của kháchhàng, sự hài lòng của khách hàng, tài nguyên hệ thống Bất kỳ sự pháttriển hoặc thay đổi nào đều phải đo đạc được trước và sau khi áp dụngcông nghệ mới, từ đó mới có đánh giá chính xác được sự thay đổi này cóthực sự hiệu quả hay không.
Tuy nhiên việc thực hiện áp dụng và nghiên cứu áp dụng công nghệthông tin vào quá trình sản xuất tại các doanh nghiệp còn chậm Nhiềucông ty vẫn còn sử dụng các công nghệ trước thời điểm hiện tại cả chụcnăm, mặc dù công nghệ thay đổi hàng ngày và đặc biệt là đối với ngànhcông nghệ thông tin Đối với các công ty chuyên sâu về công nghệ vẫn chưa
có những nghiên cứu cơ bản hoặc có các sản phẩm cốt lõi có tiếng vangtrên thị trường Đây là một điểm yếu làm cho ngành công nghệ thông tincủa nước ta chưa phát triển đạt được như kỳ vọng
Xuất phát từ thực trạng này, tác giả đưa ra một vấn đề không mớinhưng vẫn chưa được khắc phục tại một số các doanh nghiệp lớn về viễnthông Viễn thông và công nghệ thông tin phải đi liền với nhau và viễnthông cần áp dụng rất nhiều các công nghệ mới của ngành công nghệ thôngtin Đề tài "Áp dụng công nghệ mới vào việc lưu trữ và xử lý dữ liệu" sẽchỉ ra những hạn chế của hệ thống Billing hiện tại và đưa ra phương ánkhắc phục
Mục tiêu nghiên cứu
Áp dụng những công nghệ mới vào việc lưu trữ và xử lý dữ liệu lớn.Trong ngành viễn thông thì dữ liệu là cực kỳ lớn, nhất là đối với dữ liệuliên quan đến cuộc gọi, tin nhắn và hành vi sử dụng dữ liệu Đối với nhàmạng Viettel thì những dữ liệu này phát sinh khoảng 2,5TB đến 3T trongmột tháng, đối với nhà mạng VinaPhone thì dữ liệu này khoảng 1,5T đến2TB một tháng Độ lớn của dữ liệu phụ thuộc vào số lượng thuê bao củamỗi nhà mạng và các thông tin liên quan mà tổng đài sẽ ghi nhận lại
Đề tài này sẽ chỉ ra nếu nhà mạng áp dụng các công nghệ mới thì tốc
độ import dữ liệu có thể tăng lên đến 1,5 đến 2 lần so với công nghệ cũ.Các số liệu trong đề tài là được chạy trên hệ thống LAB có cấu hình cao,dung lượng mỗi mẫu từ 1 ngày đến 3 ngày so với dữ liệu thật Kết quả sosánh là thực nghiệm của việc sử dụng bởi ngôn ngữ R giữa hai mẫu dữliệu sử dụng công nghệ mới và công nghệ cũ
Trong phạm vi đề tài này, tác giả chỉ tập trung vào phần tối ưu import
dữ liệu CDR vào Database, chưa tối ưu phần xử lý và hiển thị dữ liệu chokhách hàng
Trang 10Bố cục của luận văn
Luận văn được tình bày chia làm 3 chương:
Chương 1: Đặt vấn đề về bài toán tính cước đang dùng tại Viettel.Chương 2: Phân tích, lựa chọn và thiết kế giải pháp
Chương 3: Đánh giá thực nghiệm so sánh giải pháp cũ và giải pháp mới
Trang 11Chương 1
Đặt vấn đề về bài toán tính cước
đang dùng tại Viettel
Billing
1.1.1 Giới thiệu mô hình hệ thống Viettel Billing.
Hình 1.1: Mô hình hệ thống Viettel Billing.
Mô hình hệ thống Viettel Billing được xây dựng từ những năm 2006 vàđược phát triển cho tới ngày nay Nhưng cơ bản không có sự khác biệt lớn
về mặt công nghệ, chủ yếu là được bổ sung thêm tài nguyên để hệ thống
có thể xử lý được khối lượng dữ liệu lớn hơn
Tuy vậy, việc bổ sung thêm tài nguyên không thể bù đắp được cho sựphát triển nhanh chóng về mặt dữ liệu Ngoài ra, việc bổ sung thêm nhiềutài nguyên sẽ làm cồng kềnh bộ máy vận hành khai thác do số lượng nodemạng tăng lên nhanh, kết nối giữa các hệ thống cũng phức tạp hơn
Hệ thống được chia làm ba nhóm chính:
- Nhóm hệ thống tổng đài thuộc nhóm các thiết bị viễn thông, các hệthống tổng đài sau khi kết nối để thực hiện cuộc gọi cho khách hàng sẽ
Trang 12đẩy ra CDR để tính cước cho khách hàng Năm 2006 có khoảng 5 tổngđài, nhưng đến năm 2019 thì số lượng tổng đài đã lên tới con số 30;
- Nhóm hệ thống Billing Gateway, dùng để chung chuyển dữ liệu CDR
về hệ thống Billing Toàn bộ dữ liệu tổng đài sẽ được đẩy về hệ thốngBilling Gateway Hiện tại có khoảng 15 máy chủ để phục vụ cho hệ thốngBilling gateway, tổng dữ liệu chung chuyển lên tới 100G/ngày;
- Nhóm hệ thống Billing dùng để import dữ liệu vào trong Database,tính cước cuộc gọi và hiển thị dữ liệu cho khách hàng tra cứu
Cụ thể mô tả chức năng của từng nhóm như sau:
a Hệ thống tổng đài
+ Hệ thống có khoảng 30 tổng đài thuộc nhiều đối tác khác nhau.+ Toàn bộ các thông tin về cuộc goi, tin nhắn và lịch sử truy nhập dữliệu đều được các tổng đài ghi nhận lại
+ Dữ liệu này định kỳ sẽ được đẩy về hệ thống Billing Gateway
b Hệ thống Billing Gateway
+ Đây là nơi lưu trữ trung gian toàn bộ dữ liệu chuyển từ tổng đài về
hệ thống Billing
+ Dữ liệu được lưu dưới dạng text hoặc dạng binary
+ Dữ liệu trên hệ thống này sẽ được lưu ngắn hạn và sẽ được backuptrước khi xóa
+ Mục đính của hệ thống này để: lưu dữ liệu tập trung cho hệ thốngBilling, có đủ dung lượng để lưu khi hệ thống Billing cần tính lại cước(Tổng đài không đủ dung lượng để lưu), backup dữ liệu tập chung
c Hệ thống Billing
+ Đây là hệ thống lưu trữ toàn bộ dữ liệu tổng đài dưới dạng bảng.+ Hệ thống chạy trên nền tảng máy chủ Linux và cơ sở dữ liệu Oracle.+ Dữ liệu import 1 tháng khoảng gần 2 TB
+ Sau khi dữ liệu được import vào thì các nghiệp vụ tính cước đềuchạy trên dữ liệu này
1.1.2 Các nghiệp vụ tính cước
Các nghiệm vụ tính cước đều rất phức tạp, mỗi lần chạy đều chiếm mộtlượng lớn tài nguyên máy chủ, xử lý với một khối lượng lớn dữ liệu Kếtquả cuối cùng là tính ra được tiền sử dụng của từng thuê bao đã phát sinhcước
Để có thể hiểu được độ phức tạp của quá trình xử lý, dưới đây là các
mô tả của quá trình xử lý hệ thống tính cước[11]:
Trang 13a Nghiệp vụ Lấy dữ liệu từ hệ thống Billing Gateway.
+ Bước 1: Quét thư mục chứa dữ liệu tổng đài
+ Bước 2: Kiểm tra mẫu định dạng của file CDR
- Nếu không đúng mẫu định dạng thì không xử lý file đó
- Nếu đúng mẫu định dạng file:
• Nếu tiến trình được chia thành nhiều tiến trình nhỏ: thực hiệnlọc file theo MOD(sequence, 10), chuyển sang Bước 3
• Nếu chỉ 1 tiến trình không thực hiện lọc file theo MOD(sequence,10), chuyển sang Bước 3
+ Bước 3: Kiểm tra dung lượng ổ cứng trên máy Local
- Nếu dung lượng ổ cứng đủ thì chuyển sang Bước 4
- Nếu dung lượng ổ cứng không đủ thì nhắn tin cảnh báo và quaylại Bước 1
+ Bước 4: Download về thư mục trên máy Local và chuyển sangBước 5
+ Bước 5: Xử lý với những file đã được download với 1 trong 4 tùychọn:
- Xóa file
- Thay đổi tên file
- Chuyển file sang một thư mục khác trên FTP Server
b Nghiệp vụ Import dữ liệu vào Database
+ Bước 1: Quét thư mục chứa file đã download về
Format: Tên dịch vụ + ngày + tháng +năm
+ Bước 2: Kiểm tra mẫu định dạng file
- Nếu không đúng mẫu định dạng thì không xử lý
- Nếu đúng mẫu định dạng file thì chuyển sang Bước 3
+ Bước 3: Đọc nội dung trong file
+ Bước 4: Kiểm tra cấu trúc nội dung file
- Nếu không đúng cấu trúc thì lưu file đến thư mục Unrate và ghilog
- Nếu đúng cấu trúc thì chuyển sang Bước 5
+ Bước 5: Insert theo batch vào Database
- Nếu insert không thành công thì ghi thông tin ra log và lưu fileđến thư mục Unrate và chuyển sang Bước 6
- Nếu insert thành công thì lưu file đến thư mục Rate và chuyểnsang Bước 6
+ Bước 6: Backup file
- Tất cả các file chứa trong thư mục tạm trên máy Local được lưulại vào thư mục Backup
Trang 14c Nghiệp vụ Tổng hợp cước định kỳ.
+ Bước 1: Khi được kích hoạt hệ thống sẽ tự load các bill item.+ Bước 2: Hệ thống Billing đọc dữ liệu chi tiết cước trong chu kỳchốt sổ
+ Bước 3: Hệ thống tổng hợp theo các tiêu chí
+ Bước 4: Cập nhật dữ liệu tổng hợp vào bảng tổng hợp
+ Bước 2: Thực hiện chốt cước nóng
- Sau khi tìm kiếm thông tin cần chốt, người dùng kích hoạt sựkiện chốt cước nóng cho thuê bao, hợp đồng + Bước 3: Tính toán sốliệu phát sinh trong kỳ cho thuê bao, hợp đồng
- Hệ thống sẽ tính toán số liệu phát sinh từ đầu chu kỳ cho đếnthời điểm chốt cước nóng của thuê bao, hợp đồng cần chốt
+ Bước 4: Tính toán số liệu điều chỉnh trong kỳ cho thuê bao, hợpđồng
- Đối với các điều chỉnh cho thuê bao, hợp đồng cần chốt cước nóng
từ đầu kỳ, hệ thống cũng tổng hợp số liệu các điều chỉnh này
+ Bước 5: Tính toán công nợ cho các thuê bao, hợp đồng của kháchhàng
- Công nợ của các thuê bao, hợp đồng cần chốt cước nóng đượctính theo công thức như sau:
Cước nóng = Tổng số đầu kỳ - tổng số tiền đã thanh toán + tổng số
phát sinh trong kỳ + tổng số điều chỉnh trong kỳ
+ Bước 6: Nhân viên tính cước chuẩn bị câu lệnh SQL để kiểm traviệc thực hiện khóa sổ
e Nghiệp vụ Phân tích giao dịch treo
Giao dịch treo là các giao dịch phát sinh trong thời điểm đang khóa
sổ, hoặc sau thời điểm khóa sổ, nhưng giao dịch trước đấy của hợpđồng đang là giao dịch treo
+ Bước 1: Lấy danh sách tất cả các giao dịch treo, thông tin cầnlấy bao gồm(bao gồm cả 2 trường hợp khách hàng chỉ ra thuê bao vàkhông chỉ ra thuê bao cần thanh toán)
+ Bước 2: Phân tích giao dịch treo theo nguyên tắc gạch nợ, phần
Trang 15này tham khảo nguyên tắc gạch nợ bên payment (cập nhật thông tinthanh toán chi tiết từng tháng theo thuê bao và theo hợp đồng), sau
đó đánh dấu là giao dịch đã được phân tích
- Đối với số tiền đã fill vào thuê bao thì sẽ phân tích xuống theothuê bao theo nguyên tắc từ tháng xa đến tháng gần
- Đối với số tiền chưa fill vào thuê bao nào thì phân tích theonguyên tắc như một thanh toán mới từ đầu, tức là sẽ phải chọn thuêbao theo nguyên tắc trên hệ thống, sau mới fill số tiền theo nguyêntắc phân tích nợ
+ Bước 3: Kiểm tra lại xem còn giao dịch nào được đẩy vào thêmkhông
+ Bước 4: Nếu không còn giao dịch thì kết thúc Nếu còn giao dịchthì quay lại Bước 1
f Nghiệp vụ Khóa sổ
+ Bước 1: Tìm kiếm danh sách cần điều chỉnh
- Đối với quy trình điều chỉnh thì phải xác định được danh sáchcác thuê bao (hoặc hợp đồng) để điều chỉnh Các thông tin cơ bản đểtìm kiếm bao gồm:
• Số CMT/Hộ chiếu, mã số thuế
• Số hợp đồng có thuê bao cần điều chỉnh
• Số thuê bao cần điều chỉnh
+ Bước 2: Nhập số liệu điều chỉnh
- Sau khi xác định được danh sách thuê bao (hoặc hợp đồng) cầnđiều chỉnh, phải thực hiện nhập số tiền cần điều chỉnh cho các thuêbao (hợp đồng) đó
+ Bước 3: Kiểm tra xem có phải điều chỉnh cho hợp đồng hay không?Nếu là điều chỉnh cho hợp đồng thì thực hiện Bước 3, nếu là điềuchỉnh cho thuê bao thì thực hiện Bước 4
+ Bước 4: Tính toán số liệu điều chỉnh cho thuê bao trong hợp đồngtheo quy tắc cấu hình
- Hệ thống có các tham số cấu hình để áp dụng các quy tắc phân
bổ điều chỉnh cho các thuê bao trong hợp đồng, các quy tắc phân bổnày có thể là:
• Phân bổ đều cho các thuê bao trong hợp đồng
• Phân bổ theo tỷ lệ phần trăm của cước phát sinh
• Phân bổ theo tỷ lệ phần trăm của số tiền phải thanh toán
- Sau khi áp dụng quy tắc phân bổ cho từng hợp đồng sẽ tính toánđược số liệu điều chỉnh cho từng thuê bao trong hợp đồng đó
+ Bước 5: Thực hiện điều chỉnh cho thuê bao
- Đối với điều chỉnh thuê bao thì bắt đầu thực hiện điều chỉnh, đối
Trang 16với điều chỉnh hợp đồng thì sau khi tính toán ra số liệu điều chỉnh chotừng thuê bao trong hợp đồng, sẽ bắt đầu thực hiện điều chỉnh.+ Bước 6: Xác định xem loại điều chỉnh công nợ có phải là điều chỉnh
âm không? Nếu là giao dịch điều chỉnh âm thì thực hiện Bước 8, nếu
là giao dịch điều chỉnh dương thì thực hiện Bước 7
+ Bước 7: Nếu giao dịch điều chỉnh là giao dịch điều chỉnh dương thìlưu lại giá trị điều chỉnh để thực hiện chốt sổ cuối kỳ
+ Bước 8: Phân tích lại công nợ của thuê bao
- Nếu loại điều chỉnh là giao dịch điều chỉnh âm thì lập danh sáchcông nợ chi tiết của thuê bao với thứ tự từ kỳ nợ cước xa đến kỳ nợcước gần, sau đó đối với mỗi bản ghi công nợ chi tiết thực hiện
- Xác định số tiền điều chỉnh đối với thuê bao đó (ĐC0)
- Nếu số tiền điều chỉnh lớn hơn số tiền còn nợ của kỳ nợ xa (N0)nhất thì:
• Ghi số tiền điều chỉnh cho kỳ nợ xa nhất bằng số tiền nợ (N0)
• Số tiền điều chỉnh cho kỳ nợ gần hơn (N1) = ĐC0 – N0
• Thực hiện liên lục cho đến khi số tiền điều chỉnh mới (ĐCn)nhỏ hơn số tiền nợ (Nn)
- Nếu số tiền điều chỉnh nhỏ hơn số tiền còn nợ của kỳ nợ xa nhấtthì:
• Trừ bớt nợ cuối kỳ trước của thuê bao đó số tiền bằng với sốtiền điều chỉnh
+ Bước 9: Cập nhật công nợ của thuê bao, hợp đồng
g Nghiệp vụ Khuyến mại
+ Bước 1: Liệt kê các chương trình khuyến mại còn hiệu lực
- Khi thực hiện tính toán số liệu khuyến mại cần lên danh sách cácchương trình khuyến mại đang có hiệu lực Các chương trình khuyếnmại đang có hiệu lực lấy trong danh mục khuyến mại
+ Bước 2: Tìm kiếm danh sách thuê bao, hợp đồng thõa mãn chươngtrình khuyến mại
- Mỗi chương trình khuyến mại sẽ tham chiếu đến một danh sáchcác thuê bao thõa mãn các điều kiện của chương trình khuyến mại đó,bước này thiết lập để tìm ra được danh sách thuê bao, hợp đồng.+ Bước 3: Sắp xếp các chương trình khuyến mại theo thứ tự ưu tiên
- Các chương trình khuyến mại sẽ được sắp xếp theo thứ tự ưutiên phục vụ cho việc chạy chương trình khuyến mại nào trước trong
hệ thống
- Các thông tin cơ bản:
• Mã chương trình khuyến mại
• Thứ tự ưu tiên của các chương trình khuyến mại
Trang 17+ Bước 4: Khuyến mại là dành cho các hợp đồng hay là cho thuêbao? Nếu là khuyến mại dành cho hợp đồng thì chuyển sang Bước 5,nếu không thì chuyển sang Bước 6.
+ Bước 5: Tìm kiếm danh sách của các thuê bao trong hợp đồng
- Đối với khuyến mại cho hợp đồng, phải tìm được danh sách cácthuê bao trong hợp đồng để phân bổ các khuyến mại cho các thuê bao
đó, sau đó sẽ tổng hợp khuyến mại lên mức hợp đồng
+ Bước 6: Áp dụng và tính số khuyến mại cho thuê bao
- Khi đã tìm được danh sách các thuê bao được khuyến mại, hệthống sẽ thực hiện tính toán các chương trình khuyến mại cho từngthuê bao Cách tính khuyến mại được lưu trữ trong các script của từngchương trình khuyến mại
+ Bước 7: Cập nhật số liệu khuyến mại cho hợp đồng
- Số liệu khuyến mại sau khi được tính toán cho thuê bao sẽ đượccập nhật lên mức hợp đồng
h Nghiệp vụ Kiểm tra
+ Bước 1: Nhân viên tính cước chuẩn bị câu lệnh SQL để kiểm traviệc thực hiện khóa sổ
+ Bước 2: Thực hiện câu lệnh kiểm tra dữ liệu đã tổng hợp với dữliệu vừa thực hiện tổng hợp, Nếu dữ liệu đúng thì kết thúc Nếu dữliệu bị sai lệch thì sẽ thực hiện tiếp Bước 3
+ Bước 3: Thực hiện kiểm tra dữ liệu theo các hướng (Bill Item), nếu
có hướng sai thì sẽ kiểm tra tại Bước 4 Ở bước này ta sẽ có danhsách các hướng bị lệch, ta thực hiện tiếp kiểm tra từng hướng bị lệch.+ Bước 4: Thực hiện kiểm tra dữ liệu theo ngày của hướng bị lệch Ởbước này ta sẽ có danh sách các ngày bị lệch của hướng đấy, và thựchiện kiểm tra tiếp đến mức nhỏ hơn
+ Bước 5: Kiểm tra dữ liệu tổng hợp của thuê bao, và đưa ra danhsách các thuê bao bị lệch cước
và lưu vào CSDL Kèm theo việc gán là tạo ra một mã barcode (như
mô tả ở tài liệu THNV) Và tạo ra một mã jobin cho khách hàng,mỗi khách hàng sẽ thuộc một nhóm có chung một mã jobin, trongmột jobin sẽ có khoảng 3000-4000 item no liên tiếp nhau, tuân theonguyên tắc một jobin không được thuộc 2 nhóm in, một jobin không
Trang 18được thuộc 2 tổ thu (Nhóm in là một bảng danh mục, danh mục này
sẽ chỉ ra một hình thức quản lý sẽ thuộc một nhóm in nào đấy, ví dụnhóm 1 gồm KNT và N1K, nhóm 2 gồm nợ đọng, nhóm 3 KXĐ )
j Nghiệp vụ Phát hành thông báo cước
+ Bước 1: Thực hiện Import các dữ liệu đã tính cước vào CSDL.+ Bước 2: Kiểm tra lại số lượng các bản ghi trong CSDL được Importcủa Công ty cước và dữ liệu trên cơ sở dữ liệu Billing có chính xáckhông Nếu không chính xác phải Import lại
+ Bước 3: Tìm khách hàng có đầy đủ các hướng gọi( ví dụ: điều kiện
là đầy đủ dịch vụ, đầy đủ các gói sản phẩm, đầy đủ các khuyến mạihiệu lực, đầy đủ các dịch vụ VAS )
+ Bước 4: Tiến hành in thử khách hàng vừa tìm được thỏa mãn cácđiều kiện trên
+ Bước 5: Kiểm tra thông tin trên thông báo cước, chi tiết cước inthử, nếu chính các thì nhân viên phòng Billing ký xác nhận
Với độ phức tạp của quá trình xử lý như trên, dữ liệu của hệ thống ngàycàng lớn, vì vậy việc thay đổi công nghệ để hệ thống có thể đáp ứng đượcyêu cầu của thực tế là việc bắt buộc phải làm
a Các nhược điểm của hệ thống:
- Theo quy định KPI về hệ thống, dữ liệu về cuộc gọi của khách hàngchậm nhất là 45 phút phải hiển thị lên để CSKH thực hiện tra cứu vàgiải đáp cho khách hàng nếu có khiếu nại [9]
- Khi hệ thống gặp sự cố, dữ liệu không import được vào Database(lỗi trên hệ thống Billing Gateway, lỗi hệ thống mạng hoặc lỗi do tiếntrình import cước, lỗi Database lưu dữ liệu cước) thì dữ liệu hiện thịlên cho CSKH tra cứu sẽ bị chậm Thực tế, nếu sự cố xảy ra khoảng
1 giờ mới có thể khắc phục thì hệ thống cần đến 2 giờ để import hết
số lượng dữ liệu tồn trong khoảng thời gian sự cố
- Dữ liệu trung bình tháng trong năm 2018 là khoảng 1.5TB, nhưngsang đến năm 2019 thì dữ liệu trung bình tháng khoảng 2TB tươngứng với khoảng 50 triệu thuê bao Dữ liệu chi tiết này tăng cao do sốlượng thuê bao tăng hàng năm, ngoài ra nhu cầu sử dụng của kháchhàng cũng tăng
- Qua các thông số trên ta thấy hệ thống có nguy cơ quá tải rất cao,nhu cầu cấp thiết là phải nâng cấp hệ thống Việc nâng cấp hệ thống
Trang 19có 2 giải pháp là: nâng cấp tài nguyên phần cứng và nâng cáp giảipháp phần mềm.
b Những yêu cầu cải tiến:
- Nếu xảy ra sự cố thì hệ thống phải hoàn thành import cước chậmnhất để không bị tồn là 45 phút Đây là KPI của Tập đoàn cũng như
là KPI của Bộ Thông tin và truyền thông
- Nâng khả năng import của hệ thống lên khoảng 1.5 đến 2 lần so vớihiện tại để phục vụ được nhu cầu thực tế Với chính sách chuyển mạng
dữ số thì việc các thuê bao của mạng khác có thể chuyển sang dùngmạng của Viettel là hoàn toàn có khả năng xảy ra, vì vậy cần nângcấp hệ thống sẵn sàng để có thể đáp ứng được nhu cầu kinh doanh
Trang 20Chương 2
Phân tích, lựa chọn và thiết kế giải pháp
2.1.1 Mô hình vật lý hệ thống Billing hiện tại.
Đây là mô hình vật lý truyền thống của một hệ thống công nghệ thôngtin, bao gồm các thiết bị mạng, thiết vị máy chủ và thiết bị lưu trữ Cácthành phần vật lý đều có dự phòng đảm bảo rằng một node mạng vật lý
bị down sẽ không ảnh hưởng đến hệ thống
Với mô hình này, việc mở rộng các thành phần vật lý rất đơn giản, trongkhoảng từ năm 2006 đến năm 2018 [10] thì số lượng node mạng đã tănglên khoảng 10 lần, tương ứng với khoảng 3.000 node mạng (bao gồm cácthiết bị như: firewall, switch, load blancer, server, storage, tape) Số lượngnode mạng lớn sẽ làm cho công tác vận hành khai thác khó hơn, tốn nhiềunhân sự để thực hiện công tác vận hành khai thác
Trang 21b Nhóm các thiết bị máy chủ
- Thiết bị máy chủ được chia làm hai nhóm chính, nhóm ứng dụngvào nhóm Database Nhóm ứng dụng có cấu hình thấp hơn so với máychủ nhóm Database nhưng có số lượng nhiều hơn
Trang 222.1.2 Mô hình logic hệ thống Billing hiện tại.
Mô hình được phân theo các khối chức năng khác nhau, được chia làmbốn khối:
- Khối import chi tiết cước;
- Khối tính cước;
- Khối giao diện với cửa hàng;
- Khối lưu trữ dữ liệu
Hình 2.2: Mô hình logic hệ thống Billing.
a Khối import chi tiết cước
Đây là khối cung cấp dữ liệu đầu vào cho hệ thống Toàn bộ thông tinchi tiết về cuộc gọi, tin nhắn, dữ liệu đều được import vào Databasephục vụ cho việc tính cước và tra cứu cước
b Khối tính cước
Khối tính cước có chức năng tổng hợp cước định kỳ, tính khuyến mại
và khóa sổ cuối tháng và in thông báo cước cho khách hàng Toàn bộnghiệp vụ tính cước đều nằm trên khối này, đây cũng là khối chứcnăng chiếm tài nguyên nhiều nhất
c Khối giao diện với khách hàng
Khối này là giao diện cho nhân viên tại cửa hàng Các chức năng chínhnhư: đăng ký thuê bao mới, cập nhật thuê bao, thu cước, in chi tiếtcước
d Khối lưu trữ dữ liệu
Trang 23Toàn bộ dữ liệu đều được lưu trữ trên hai Database Oracle Databasethứ nhất lưu toàn bộ dữ liệu về cuộc gọi của khách hàng Databasethứ hai lưu dữ liệu về khách hàng và thông tin về tiền cước của kháchhàng.
phí
Hiện nay có nhiều giải pháp sử dụng công nghệ Open Source, trong đềtài này tác giả chọn mô hình giải pháp của Hortonworks Giải pháp này
do Apache phát triển và đang được sử dụng rộng rãi, phù hợp với việc xử
lý dữ liệu lớn và có cấu trúc hoặc phi cấu trúc
Hình 2.3: Mô hình giải pháp hoàn toàn miễn phí.
a Khối chức năng import (ETL)
Red Hat Fuse: là một nền tảng tích hợp mã nguồn mở dựa trênApache Camel Nó là một nền tảng tích hợp phân tán cung cấp mộtphương pháp, cơ sở hạ tầng và công cụ được chuẩn hóa để tích hợpcác dịch vụ, các dịch vụ nhỏ và các thành phần ứng dụng JBoss Fuse
sử dụng công nghệ (Java Business Integration-JBI) làm nền tảng tíchhợp ứng dụng Nhờ vậy, JBoss Fuse thừa kế các tính năng trên JBInhư: các bộ định tuyến và chuẩn hoá thông điệp, các tác vụ để quản
lý và cài đặt các thành phần trong trục tích hợp
b Khối chức năng lưu tạm thời (cache)
Kafka: là hệ thống truyền thông điệp phân tán, độ tin cậy cao, dễdàng mở rộng và có thông lượng cao Kafka cung cấp cơ chế offset (cóthể hiểu như tương tự như chỉ số của một mảng) để lấy thông điệpmột cách linh hoạt, cho phép các ứng dụng xử lý có thể xử lý lại dữ
Trang 24liệu nếu việc xử lý trước đó bị lỗi Ngoài ra, cơ chế “đăng ký” theo dõicho phép việc lấy thông điệp ra gần như tức thời ngay khi dữ liệu đivào hàng đợi Kafka được thiết kế hỗ trợ tốt cho việc thu thập dữ liệuthời gian thực.
• Tốc độ nhanh: Với một máy đơn cài đặt Kafka có thể xử lý sốlượng dữ liệu từ việc đọc và ghi lên tới hàng trăm megabyte trong mộtgiây từ hàng ngàn máy khách
• Khả năng mở rộng: Kafka được thiết kế cho phép dễ dàng được
mở rộng và trong suốt với người dùng (nghĩa là không có thời gian chết– ngừng hoạt động trong khi thêm một nút máy chủ mới vào cụm).Khi Kafka chạy trên một cụm, luồng dữ liệu sẽ được phân chia vàđược vận chuyển tới các nút trong cụm, do đó cho phép trung chuyểncác dữ liệu mà có khối lượng lớn hơn nhiều so với sức chứa của mộtmáy đơn
• Độ tin cậy: Dữ liệu vào hàng đợi sẽ được lưu trữ trên ổ đĩa vàđược sao chép tới các nút khác trong cụm để ngăn ngừa việc mất dữliệu, như vậy Kafka đảm bảo tính chịu lỗi cao
c Khối quản lý, lưu trữ dữ liệu(storage)
HDFS: là 1 hệ thống lưu trữ chính được dùng bởi Hadoop Nó cungcấp truy cập hiệu suất cao đến dữ liệu trên các cụm Hadoop Nóthường được triển khai trên các phần cứng chi phí thấp Các máy chủchi phí thấp này rất dễ xảy ra lỗi phần cứng Vì lý do này mà HDFSđược xây dựng để có khả năng chịu lỗi cao Tốc độ truyền dữ liệu giữacác nodes trong HDFS là rất cao, dẫn đến giảm thiểu nguy cơ lỗi.YARN: là một framework hỗ trợ phát triển ứng dụng phân tán.YARN cung cấp daemons và APIs cần thiết cho việc phát triển ứngdụng phân tán, đồng thời xử lý và lập lịch sử dụng tài nguyên tínhtoán (CPU hay memory) cũng như giám sát quá trình thực thi cácứng dụng đó
MapReduce: Đây là hệ thống dựa trên YARN dùng để xử lý songsong các tập dữ liệu lớn MapReduce framework gồm một single master(máy chủ) JobTracker và các slave (máy trạm) TaskTracker trên mỗicluster-node Master có nhiệm vụ quản lý tài nguyên, theo dõi quátrình tiêu thụ tài nguyên và lập lịch quản lý các tác vụ trên các máytrạm, theo dõi chúng và thực thi lại các tác vụ bị lỗi Những máy slaveTaskTracker thực thi các tác vụ được master chỉ định và cung cấpthông tin trạng thái tác vụ (task-status) để master theo dõi
Zookeeper: là một dịch vụ tập trung để duy trì thông tin cấu hình,đặt tên, cung cấp sự đồng bộ phân tán và cung cấp các dịch vụ nhóm.Nói đơn giản trong Hadoop Cluster có nhiều nodes khác nhau và có
Trang 25một node là master Giả sử master node bị lỗi với bất kỳ lý do gìthì vai trò của master node được chuyển cho một node khác Vai tròchính của master node là quản lý việc ghi theo thứ tự giữa các nodes.Zookeeper sẽ gán master node mới và đảm bảo rằng Hadoop clusterthực hiện tiếp việc xử lý và không gặp vấn đề gì Zookeeper là phươngpháp phối hợp tất cả các yếu tố của hệ thống phân tán Hadoop.HBase: là một hệ cơ sở dữ liệu mã nguồn mở được xây dựng dựatrên BigTable được mô tả trong nghiên cứu “BigTable: A DistributedStorage Systemystem for Structure Data” HBase cung cấp khả nănglưu trữ dữ liệu lớn lên tới hàng tỷ bản ghi, hàng triệu cột khác nhaucũng như hàng petabytes dung lượng HBase là một NoSQL điển hìnhbởi vậy các tables của HBase không có một schemas cố định và không
có các quan hệ giữa các bảng, không cung cấp phép join giữa các bảng.Hadoop có khả năng mở rộng tốt và được thiết kế để mở rộng theochiều ngang (Scale horizontally)
d Khối truy cập dữ liệu (access)
Apache Oozie: có khả năng định nghĩa một luồng tiến trình trong
đó các tiến trình con có thể được thực hiện song song hay kết hợp mộtcách rất linh hoạt Oozie còn hỗ trợ một thành phần đóng vai trò nhưmột máy chủ sẽ kiểm soát và thống kê số liệu về những tiến trình đãđang và sẽ được thực thi Đối với một tiến trình đơn lẻ hay đối vớiluồng dữ liệu kiểu micro, việc tiến trình sẽ chỉ được định nghĩa chứkhông thể được thực thi một cách tự động, việc khởi chạy một tiếntrình nào đó sẽ phải thực hiện một cách thủ công Còn đối với Oozie,các luồng tiến trình có thể được thực thi tự động tại một thời điểm cụthể với một tần suất cụ thể được định nghĩa ra bởi các coordinatorscủa nó
Pig: là một nền tảng cấp cao để tạo các chương trình MapReduceđược dùng với Hadoop và ngôn ngữ chúng ta dùng cho nền tảng nàyđược gọi là PIG Latin Pig được thiết kế để giúp Hadoop thân thiệnvới người dùng hơn và thích hợp hơn PIG là một môi trường thực thitương tác hỗ trợ ngôn ngữ Pig Latin Ngôn ngữ Pig Latin hỗ trợ nạp
và xử lý dữ liệu đầu vào với một chuỗi các biến đổi để tạo ra kết quảmong muốn PIG có hai môi trường thực thi khác nhau 1) Local Mode– tất cả scripts chạy trên 1 máy đơn 2) Hadoop – tất cả scripts chạytrên Hadoop Cluster
Hive: là hạ tầng kho dữ liệu cho Hadoop Nhiệm vụ chính là cung cấp
sự tổng hợp dữ liệu, truy vấn và phân tích Nó hỗ trợ phân tích các tập
dữ liệu lớn được lưu trong HDFS của Hadoop cũng như trên AmazonS3 Điểm hay của HIVE là hỗ trợ truy xuất giống SQL đến dữ liệu