周春宏,崔建東
(大同數字電視公司,山西 大同 037008)
按照國家廣播電影電視總局第67號令《有線廣播電視運營服務管理暫行規定》[1]第2章服務要求第24條規定,有線廣播電視運營服務提供者應當為用戶繳費和查詢費用等提供便利,并為用戶免費提供1年內的繳費記錄查詢。為滿足用戶在這方面的需求,筆者在數字電視的數據廣播應用之一“云城資訊”中實現了用戶的賬戶余額查詢功能。即通過用戶操作遙控器,由遙控器與機頂盒的交互[2]實現單向機頂盒上用戶的賬戶余額查詢功能。為方便用戶查詢,在運行環境容許的情況下,力求盡可能簡單地在用戶操作、系統實現等角度實現此功能應用[3]。
目前數字電視用戶管理系統實有用戶個人與集體賬戶約20萬個,每個賬戶配發1張用戶卡,卡號有7位數,唯一標識1個獨立賬戶。此次以整體數據量20萬為余額查詢系統的設計總量,希望通過輸入盡量少的用戶卡號尾數個數,經過簡單的幾步遙控器操作,來找到自己的賬戶余額數據。同時兼顧機頂盒軟、硬件配置,不再進行專門的軟硬件升級,在現有條件下實現用戶查詢要求。用戶賬戶余額查詢系統結構如圖1所示。

圖1 用戶賬戶余額查詢系統結構框圖
主要考慮全部用戶賬戶余額數據量大小、前端播發服務器計算能力、機頂盒內存容量、主芯片運算速度及當前版本軟件瀏覽器支持能力、程序編輯語言的描述范圍等。當前機頂盒硬件配置為主芯片ST 5107,CPU工作主頻為 200 MHz,EEPROM 為 32 kbyte,Flash Memory為8 Mbyte,RAM為32 Mbyte。數據廣播系統使用茁壯瀏覽器ipanel2.0,當前應用環境下最高支持HTML 4.01,JavaScript 1.5。測試結果表明在此條件約束下進行單用戶查找時所建立的數據庫文件大小不超過200條記錄,根本無法滿足20萬條用戶記錄的存儲、查找要求,所以需要另辟蹊徑。
當前環境(見圖2)支持的格式上限為頁面尺寸為640×526;文件格式為htm,html,js,txt,mp3,jpg,bmp,gif等;單圖片大小不大于40 kbyte;單應用大小在2~3 Mbyte左右;支持CSS 1.0/2.0,HTTP 1.1;支持cookie功能(通常是為了辨別用戶身份、進行session跟蹤而存儲在用戶本地終端上的數據,通常經過加密。此處用來做特殊使用)。

站在用戶的角度,此功能軟件當然要有查詢頁面、數據庫,在操作遙控器輸入一定數量參數后得出查詢結果。用戶操作界面主要由兩個文件構成,一個為首頁面,輸入用戶卡號的后三位按“查詢”鍵進入二級頁面,需要注意的是在首頁面中要設計輸入驗證環節,當用戶多輸或少輸了用戶編號后,系統會做出提示告知用戶“輸入錯誤請重新輸入”。進入二級頁面后,系統按照用戶輸入的編號調用對應名稱的文件進行查詢結果顯示。為方便在電視屏幕上顯示、查找記錄,把結果分為多行三列的格式進行屏幕顯示,并且按用戶編號順序進行排列。
以20萬用戶計,根據已有的軟硬件環境,把系統所需的全部用戶數據分成1000個文件,每個文件里有約200組數據,即200條用戶記錄。使用HTML文件格式,每屏顯示50條記錄,最多翻滾3屏即可找到所要查找的記錄,該方法更具實用性。要達到這樣的操作簡單程度,就需要按用戶卡號后三位提取對應的數據文件,進行顯示。鑒于瀏覽器的當前版本,本文采用JavaScript和HTML寫查詢頁面。在HTML里用生成的1000個文件代替數據庫功能,查詢主頁面文件命名為Yecx.html,結果顯示頁面文件命名為Yecx01.html。具體實現分為3個步驟:數據提取、分析生成、格式轉換。其中的數據提取模塊,從BOSS系統中提取所有用戶相關信息,包括客戶編碼和賬戶余額兩項;分析生成模塊,以用戶卡號后三位相同的分為一組進行數據排序并生成單獨文件(共1000個文件);格式轉換模塊,把從BOSS系統直接提取出的一行多列數據分成多行,每行三列,便于頁面顯示,也方便用戶操作和查找。
其中,對文件如何劃分合適?主要是從以下角度做出對比分析后確定思路的。如按用戶卡號后四位劃分,全部數據從0000~9999共10000個文件每個文件約20條記錄,1屏顯示;按后三位劃分,從000~999共1000個文件每個文件200條記錄,分4屏顯示;按后兩位劃分,從00~99共100個文件每個文件2000條記錄,分40屏顯示。顯然最后一種劃分方法不可取,通過檢索時間對比,按后四位劃分的方法等待時間太長根本無法接受。最終,選擇了按后三位劃分,這樣兼顧了機頂盒性能和用戶快捷查找的要求。各種方法操作的系統反應時間對比測試結果如表1所示,用戶賬戶余額查詢系統設計思路如圖3所示。

表1 3種方法操作的系統反應時間對比測試結果

程序設計流程如圖4所示。

圖4 程序設計流程
查詢系統全部程序分為查詢主程序、模板文件、查詢結果顯示文件、首頁面文件、位數校驗、二級頁面文件等6部分。其中:主程序執行的結果是生成從000~999共1000條命令,從BOSS系統數據庫中共提取1000個文件,每個文件包含約200條用戶賬戶信息;模板文件的作用在于,預先做好一個網頁文件即模板,設置好邊距和要顯示的表格樣式,在其中插入用戶數據即可進行最終顯示;用于查詢結果顯示的文件把1行共200多列記錄分為每行3列共70多行。受環境限制不能用表單的形式把首頁用戶輸入的編號傳送到二級頁面,就用平臺所支持的cookie進行傳送。在設計指南中也查到ipanel2.0有一個私有的傳輸代碼,應該也可實現同樣功能。
具體的頁面設計是結合系統要求和運行環境限制而設計完成的(見圖5)。主要由兩個文件構成,一個為首頁面,用戶輸入用戶編號的后三位按查詢鍵進入二級頁面,需要注意的是在首頁面中要設計輸入驗證環節,當用戶多輸或少輸了用戶編號后,系統會做出提示告知用戶輸入錯誤請重新輸入(具體見設計代碼)。當按查詢鍵進入二級頁面后,系統按用戶輸入的編號調用對應名稱的文件進行查詢結果顯示。結果分為多行三列的格式進行顯示,并且按用戶編號順序進行排列,方便用戶查找。位數校驗代碼的使用是為確保正確輸入后三位數字。

經測試,整個查詢操作從運行時間、顯示界面各方面基本可以達到要求。在多次優化程序后,基本上達到了最好效果,設計完成。
查詢首頁面顯示如圖6所示,查詢結果顯示頁面如圖7所示。


基于機頂盒本身軟硬件配置,以及前端服務器存儲播發能力,利用廠家提供的軟件《使用指南》和技術人員自身所學知識,通過網上查閱,借鑒其類似功能軟件的源代碼實現,可以編寫程序,為數字電視提供一些小的功能,方便了用戶,也充分發揮了數字電視平臺的技術優勢,在一定程度上增強了用戶親和力,拉近了與觀眾之間的距離。
[1]有線廣播電視運營服務管理暫行規定[EB/OL].[2012-04-23].http://www.gov.cn/flfg/2011-12/12/content_2018158.htm.
[2]薛冬營,楊云,張大元.一種新型交互電視遙控器軟硬件設計研究[J].電視技術,2011,35(14):32-34.
[3]于華利.數字電視用戶界面簡化方法探討[J].電視技術,2008,32(5):31-32.