2.5.1 Kiến trúc bảo mật
Sử dụng cơ chế tự nhận diện số điện thoại (auto detect MSISDN) để thay thế cho cơ chế đăng nhập thông thường bằng tên đăng nhập và mật khẩu.
Không cho phép người dùng sao chép lại đường dẫn để xem khi chưa đăng nhập.
Giải pháp bảo mật: mã hóa URL sử dụng thuật toán mã hóa DES và Base64 cho 3 tham số thời gian, MSIDN và URL.
2.5.2 Kiến trúc sao lưu và phục hồi dữ liệu
2527 hàng tháng.
2.5.3 Các giải pháp đối với các yêu cầu đặc biệt khác
N/A
2.6 Xây dựng kiến trúc hệ thống Streaming
2.6.1 Mô hình tổng quan hệ thống streaming
ing ing nicast. các máy chủ . máy chủ ing ing .
Xét về mặt nghiệp vụ thì hệ thống Streaming được chia làm 2 nghiệp vụ đó là: xử lý Media và phân phối nội dung Media sau khi xử lý đến cho người dùng cuối.
Xử lý Media (Media Process): có chức nằng mã hóa file Video được nhà cung cấp dịch vụ Upload lên hệ thống, cán tín hiệu mà đài truyền hình bắn về theo luồng UDP. Các tín hiệu này được mã hóa theo các chuẩn mã hóa Video (video codec) khác nhau đề đáp ứng được tất cả các yêu cầu Streaming của các dòng điện thoại 3G.
- Mã hóa Video (offline encoder): được cài đặt trên các máy chủ, mỗi máy chủ có thể chạy nhiều tiến trình mã hóa Video và các tiến trình này tự động chia sẻ tải với nhau
- Mã hóa tín hiệu truyền hình (Live encoder): được cài đặt trên các máy chủ cấu hình cao, mỗi máy chủ chạy thực hiện mã hóa cho 4 kênh tín hiệu.
Phân phối nội dung Media (Media Streaming): có chức năng đọc các file Video đã được mã hóa hoặc các luồng tín hiệu đã được mã hóa sau đó đóng gói theo các giao thức phù hợp rồi truyền trên môi trường mạng đến cho người sử dụng điện thoại. Điện thoại sau khi nhận được tín hiệu sẽ giải mã và tái tạo lại hình ảnh ban đầu.
- Video Streaming (VOD Streaming): Thực hiện truyền tải nội dung file Video đến cho người dùng cuối theo luồng.
luồng tín hiệu đến cho người dùng cuối theo luồng. INTERNET VIETTEL DCN Live Encoder VLAN 4 Network3G VLAN 2 EXTERNAL Trunk Trunk IPCORE VLAN 4 Network3G SW-VAS VLAN 2 EXTERNAL VLAN 6 Tv Sign Note: external internal internet Tv-Sign Internet FW-VAS FW-VAS Database Offline encoder SAN storage HA firewall VAS Charging LB Streaming LiveTV Streaming VOD
Hinh 2-11: Mô hình tổng quan hệ thốngstreaming
2.6.2 Phân hệ mã hóa video – mã hóa không trực tuyến (offline encoder)
Transcoder Hint & Split m3u8
MobileTV DB
Interaction service API XML-RPC/TCP
SAN
MobileTV Service
Offline encoder
Hinh 2-12:Các Module của phân hệ mã hóa VOD
Module giao tiếp: thực hiện truy xuất cơ sở dữ liệu để quét các tệp mới được Upload lên hệ thống, lấy thông tin đầu vào và ghi thông tin đầu ra.
Module chuyển đổi: thực hiện giải mãtệpVideo đầu vào và mã hóa ra theo tín Profile khác nhau.
Module tạo chỉ mục và đóng gói: thực hiện đóng gói các tệp sau khi mã hóa thành các rãnh để ModuleStreaming có thể đọc được và truyền đi. Bămtệp sau khi mã hóa ra thành chuỗi tệp cho chuẩn Adaptive Streaming của Apple.
Thực hiện quét định kỳ tệpVideo đầu vào được các nhà cung cấp dịch vụ (Content provider)đẩy lên hệ thống và chuyển đổi thành các tệp với profile khác nhau. Các Profile này đảm bảo phục vụ được tất cả các dòng máy điện thoại trên thị trường. Profile ở đây là thông tin về các chuẩn mã hóa của video.
MobileTV services Media process Bắt đầu Kết thúc Có file cần cần encode không ?
Gửi yêu cầu lấy file cần encode Xử lý yêu cầu lấy thông tin file chưa encode
Gửi yêu cầu lấy số lượng profile
cần cho convert Xử lý yêu cầu lấy số profile cần encode
Có profile nào không ?
Tiến hành encode Gửi yêu cầu cập nhập tiến độ
encode file
Xử lý yêu cầu cập nhật phần trăm
encode yes
yes
no
no
Xử lý yêu cầu lấy thông tin đưưng dưn đưn thư mưc chưa file chưa
encode Gửi yêu cầu lấy đường dẫn đến
file cần encode
Gửi yêu cầu lấy danh sách profile Xử lý yêu cầu lấy profile encode Gửi yêu cầu cập nhật trạng thái file
đầu vào Xử lý yêu cầu cập nhật trạng thái encode
Gửi yêu cầu kiểm tra file đầu ra đã
có trong csdl chưa Xử lý yêu cầu
tra trưng thái file đã encode
yes
Gửi yêu cầu cập nhật file Xử lý yêu cầu cập nhật file đã encode
Gửi yêu cầu thêm file Xử lý yêu cầu thêm file đã encode
Lây thông tin profile Iphone Xử lý yêu cầu lấy profile encode cho iphone
Gửi yêu cầu kiểm tra file đầu ra đã có trong csdl chưa
Xử lý yêu cầu tra trưng thái file đã encode
Đã có trong CSDL?
yes
Gửi yêu cầu cập nhật file Xử lý yêu cầu cập nhật file đã encode
Gửi yêu cầu thêm file Xử lý yêu cầu thêm file đã encode
Đã có trong CSDL?
Tiến hành snapshoot ảnh Tiến hành encode
Hinh 2-13: Biểu đồ luồng sự kiện phân hệ mã hóa Video (offline encoder)
Bước 1: Gửi yêu cầu lấy đường dẫn đến tệp cần encode đến mô đun dịch vụ MobileTV.
Bước 2: Gửi yêu cầu lấy một tệp cần encode đến mô đun dịch vụ MobileTV. Bước 3: Có tệp cần encode không? Nếu có thì chuyển sang bước 3, không thì chuyển sang bước 6.
Bước 4: Gửi yêu cầu cập nhật trạng thái tệp encode đến mô đun dịch vụ MobileTV.
Bước 5: Gửi yêu cầu lấy số lượng profile đến module mô đun dịch vụ MobileTV.
Bước 6: Gửi yêu cầu lấy danh sách profile đến mô đun dịch vụ MobileTV. Bước 7: Có profile nào không? Nếu có thì chuyển sang bước 5, không thì chuyển sang bước 6.
Bước 8: Tiến hành encode tệp và gửi yêu cầu cập nhập tiến độ đến mô đun dịch vụ MobileTV.
Bước 9: Gửi yêu cầu kiếm tra tệp đầu ra đã có trong CSDL hay chưa mô đun dịch vụ MobileTV.
Bước 10: Nếu co thì tiến hành cập nhật thông tin tệp đầu ra, nếu không thì thêm thông tin tệp đầu ra vào CSDL.
Bước 11: Gửi yêu cầu lấy thông tin profile cho Iphone mô đun dịch vụ MobileTV.
Bước 12: Tiến hành encode tệp và gửi yêu cầu cập nhập tiến độ đến mô đun dịch vụ MobileTV.
Bước 13: Gửi yêu cầu kiếm tra tệp đầu ra đã có trong CSDL hay chưa mô đun dịch vụ MobileTV.
Bước 14: Nếu co thì tiến hành cập nhật thông tin tệp đầu ra, nếu không thì thêm thông tin tệp đầu ra vào CSDL.
Bước 15: Tiến hành snapshot ảnh. Bước 16: Cập nhật trạng thái tệpmã hóa. Bước 17: Lặp lại bước 2 cho tệp tiếp theo.
2.6.3 Phân hệ mã hóa trực tuyến (live encode)
Phân hệ gồm có mô đun chính sau:
Mô đun truy nhập: mô đun này cho phép nhận các luồng Stream đầu vào thông qua giao thức RTSP hoặc các thiết bị thu hình.
Mô đun mã hóa: mã hóa dữ liệu hình ảnh, âm thanh theo các định dạng H264, MPEG4, ACC.
Mô đun nhận chuyển đổi luồng: Nhận stream đầu vào và chuyển đổi thành stream đầu ra theo profile đã được cấu hình.
Mô đun RTP: đóng gói dữ liệu đã mã hóa và gửi đi theo giao thức RTP. Mô đun nhân bản luồng: nhân bản một luồn dữ liệu đầu vào thành nhiều luồn dữ liệu đầu ra. Cấu trúc dữ liệu không thay đổi.
Mô đun trích xuất ảnh: phân tách ảnh từ một luồng stream để lấy ra ảnh đại diện theo thời gian.
Chịu trách nhiệm nhận tín hiệu đầu vào từ các thiết bị hay đài truyền hình bắn về và chuyển định dạng tín hiệu thành các profile đã được cấu hình. Sau đó tín hiện được chuyền sang cho hệ thống các mô đun streaming để săn sàng phục vụ người dùng khi có yêu cầu. Tín hiệu được mã hóa theo các profile khác nhau để đáp ứng phục vụ cho tập tất cả các máy điện thoại di động 3G trên hiện nay.
Live Encode/Transcode
MobileTV services Media process
Bắt đầu
Kết thúc Có kênh nào không
?
Gửi yêu cầu lấy danh sách kênh Xử lý yêu cầu lấy danh sách kênh
Gửi yêu cầu lấy danh sách profile Xử lý yêu cầu lấy danh sách profile
Có profile nào không ?
Tạo tiến trình xử lý từng kênh
Gửi yêu cầu cập nhập trạng thái kênh
Sinh file SDP và upload file SDP
Truyền dữ liệu streaming đến media service
Xử lý yêu cầu cập nhập trang thái kênh yes yes no no Stop kênh ? yes no
Hình 2-14: Biểu đồ luồng phân hệ mã hóa trực tuyến (live encoder)
Bước 1: Gửi yêu cầu lấy danh sách kênh đến mô đun dịch vụ MobileTV. Bước 2: Nhận danh sách kênh và kiểm tra xem có kênh nào không? Nếu có thì chuyển sang bước 3, không thì chuyển sang bước 9.
Bước 3: Gửi yêu cầu lấy danh sách profile đến MobileTV servcies.
Bước 4: Nhận danh sách profile và kiểm tra có profile nào không? Nếu có thì chuyển sang bước 5, không thì chuyển sang bước 9.
Bước 5: Tạo ra các tiến trình xử lý cho từng kênh với các profile được cấu hình, và gửi yêu cầu cập nhập trạng thái kênh đến mô đun dịch vụ MobileTV.
Bước 6: Sinh tệp SDP và upload tệp SDP lên máy chủ streaming kênh truyền hình.
Bước 7: Truyền dữ liệu luồng tín hiệu đến streaming.
Bước 8: Quản trị hệ thống yêu cầu stop? Nếu đúng thì chuyển sang bước, không thì quay lại bước 7.
Bước 9: Kết thúc.
2.6.4 Phân hệ RTSP streaming
xem
, thể hiện tải về
thể hiện p
tua nhanh, dừng, khởi chạy hay tạm dừng. Phân hệ gồm 5mô đun chính sau:
Validate URL Count user SAN VTSS Logging RTSP/RTP request SubTime Live encoder
Hinh 2-15: Xác thực yêu cầu
Xác thực yêu cầu (Validate URL): thực hiện nhân yêu cầu đã được mã hóa từ người dùng. Nếu yêu cầu từ người dùng đến hệ thống vượt quá 15s. Hệ thống sẽ không thực hiện giải mã và báo về cho người dùng theo các kịch bản cụ thể. Nếu thỏa mã điều kiện trên hệ thống sẽ thực hiện giải mã yêu cầutheo chuẩn DES và Base64. Dữ liệu giải mã này sẽ được tryền cho các mô đun khác trong phân hệ.
Ghi thông tin log (Logging): thực hiện ghi log về hiện trang hệ thống cùng các yêu cầu của người dùng, các hành động của người dùng nhằm phục vụ quá trình dò lỗi hệ thống.
Trừ giờ xem live - SubTime: thực hiện trừ thơi gian khi khách hàng xem các kênh truyền hinh trên hệ thống. Thời gian ở đâu được khách hàng mua khi đăng ký dịch vụ
Đếm số người dùng (Count use): đếm số người dùng đang thực hiện xem video, kênh truyền hình trên hệ thống.
Đáp ứng yêu cầu RTSP/RTP (RTSP/RTP request): nhận yêu cầu RTSP từ người dùng cuối (client) từ đó thực hiện các nghiệp vụ trả lời các yêu cầu sau đó là gửi luồng tín hiệu RTP cho người dùng.
Mô hình luồng nghiệp vụ xem Video trên hệ thống
Mô hình luồng dữ liệu VOD Streaming
Streaming
Service
SAN storage Database
3. Load thông tin cho request
4.Load thông tin cho request
5.Láy thông tin từ DB
Đọc thông tin VOD
12 .L uồ ng tín hi ệu Vi de o g ửi ch o c lie nt Wap Hiển thị thông tin mà người dùng request. Eg: link tới kênh HTV1
Gửi request tới DB Lấy trả về thông tin request từ WAP
Xử lý các thao tác với DB.
Chứa DB, VOD các file do CP uploads Đọc tín hiệu và đóng gói theo giao
thức thích hợp rồi gửi gói tín hiệu đến thiết bị đầu cuối
8. Dư liệ u t rả về 7. Dư liệ u t rả về 6. Dư liệ u t rả về 9.Hiển thị trên WAP 10.C lick Xem V OD 11.G ửi yêu c ầu xe m VO D 1.Request HA proxy LB
Hinh 2-16: Mô hình luồng dữ liệu VOD Streaming
Thực hiện nghiệp vụ đáp ứng yêu cầu xem LiveTV hoăc VOD của khách hàng thông qua giao thức RTSP/RTP.
Hình 2-17: Biểu đồ luồng sự kiện phân hệ VOD Streaming
Bước 1: Khách hàng kết nối đến streaming thông qua URL đã được mã hóa. Bước 2: Streaming nhận kết nối từ khách hàng, và gửi yêu cầu xác thực URL tới mô đun dịch vụ MobileTV.
Bước 3: Mô đun dịch vụ MobileTVgiải mã URL và kiểm tra có hợp lệ hay không sau đó gửi lại kết quả cho streaming.
Bước 4: Nếu kết quả trả về là hợp lệ thì streaming tạo phiên làm việc với khách hàng, không thì chuyển đến bước 10.
Bước 5: Streaming gửi yêu cầu trừ tiền xem VOD (MSISDN + VOD_ID) tới hệ thống trừ tiền (billing service).
Bước 6: Hệ thống trừ tiến (Billing service) tiến hành trừ tiền và trả lại kết quả cho streaming.
Bước 7: Streaming nhận kết quả trừ tiền thành công thì chuyển đến bước 8, không thì chuyển đến bước 9.
Dịch vụ xem VOD
Media service
Khách hàng MobileTV services Billing service
Bắt đầu
Bật player và kết nối đến media service thông qua URL đã được
mã hóa
URL có hợp lệ hay không ?
Kết thúc Nội dung VOD
Nhận yêu cầu kết nối từ khách hàng
Gửi yêu cầu giải mã URL Xử lý yêu cầu giải mã URL
Tạo phiên làm việc với khách hàng
Gửi yêu cầu trừ tiền xem VOD Xử lý yêu cầu trừ tiền xem VOD
Trừ tiền xem VOD thành công ?
Nhận và xử lý dữ liệu từ Media process
Truyền tải nội dung VOD đến khách hàng
Khách hàng STOP hoặc xem xong VOD ?
Kết thúc phiên làm việc yes yes yes no no no
Bước 8: Streaming nhận và xử lý dữ liệu từ xử lý media (Media Process) và truyền dữ liệu streaming tới khách hàng. Trong quá trình đó, nếu người dùng gửi lệnh STOP thì chuyển đến bước 9.
Bước 9: Streaming kết thúc phiên làm việc.
Bước 10: Streaming đóng kết nối với khách hàng và kết thúc.
Dịch vụ xem Live TV
Media service
Khách hàng MobileTV services Billing service
Bắt đầu
Bật player và kết nối đến media service thông qua URL đã được
mã hóa URL có hợp lệ hay không ? Kết thúc Nội dung LiveTV
Nhận yêu cầu kết nối từ khách hàng
Gửi yêu cầu giải mã URL Xử lý yêu cầu giải mã URL
Tạo phiên làm việc với khách hàng
Gửi yêu cầu trừ giờ Xử lý yêu cầu trừ giờ
Trừ giờ thành công ?
Nhận và xử lý dữ liệu từ Media process
Truyền tải nội dung LiveTV đến khách hàng trong thời gian block
Khách hàng STOP?
Cộng giờ còn lại cho người dùng Xử lý yêu cầu cộng giờ
Kết thúc phiên làm việc yes yes yes no no no
Hinh 2-18: Biểu đồ luồng sự kiện phân hệ xem truyền hình (Live Streaming)
Bước 1: Khách hàng kết nối đến streaming thông qua URL đã được mã hóa. Bước 2: Streaming nhận kết nối từ khách hàng, và gửi yêu cầu xác thực URL tới mô đun dịch vụ MobileTV.
Bước 3: Mô đun dịch vụ MobileTVgiải mã URL và kiểm tra có hợp lệ hay không sau đó gửi lại kết cho streaming.
Bước 4: Nếu kết quả trả về là hợp lệ thì streaming tạo phiên làm việc với khách hàng, không thì chuyển đến bước 11.
Bước 5: Streaming gửi yêu cầu trừ giờ (MSISDN + second) tới billingservice. Bước 6: Billing service tiến hành trừ giờ và trả lại kết quả cho streaming. Bước 7: Streaming nhận kết quả trừ giờ thành công thì chuyển đến bước 8, không thì chuyển đến bước 10.
Bước 8: Streaming nhận và xử lý dữ liệu từ xử lý media (Media Process) và truyền dữ liệu streaming tới khách hàng trong thời gian block là second. Trong quá trình đó, nếu người dùng gửi lệnh STOP thì chuyển đến bước 9. Nếu hết thời gian block thì chuyển đến bước 5.
Bước 9: Streaming tính toán thời gian chưa xem hết của khách hàng trong một block và gửi lệnh cộng giờ tới billing service.
Bước 10: Streaming kết thúc phiên làm việc.
Bước 11: Streaming đóng kết nối với khách hàng và kết thúc.
2.6.5 Phân hệ streaming theo băng thông mạng - http adaptive streaming
Apple đã đưa ra chuẩn giao tiếp adaptive streaming, adaptive streaming tự động điều chỉnh băng thông mạng theo các điều kiện khác nhau. Ví dụ, trong điều kiện chất lượng mạng thấp thì máy chủ chạy Streaming sẽ tự động chọn luồng tín hiệu có chất lượng thấp để phục vụ khách hàng và ngược lại.
Trong khi hầu như tất cả các giao thực streaming video cũ sử dụng giao thức rtsp/rtp