周春宏,崔建東
(大同數(shù)字電視公司,山西 大同 037008)
按照國家廣播電影電視總局第67號令《有線廣播電視運營服務(wù)管理暫行規(guī)定》[1]第2章服務(wù)要求第24條規(guī)定,有線廣播電視運營服務(wù)提供者應(yīng)當(dāng)為用戶繳費和查詢費用等提供便利,并為用戶免費提供1年內(nèi)的繳費記錄查詢。為滿足用戶在這方面的需求,筆者在數(shù)字電視的數(shù)據(jù)廣播應(yīng)用之一“云城資訊”中實現(xiàn)了用戶的賬戶余額查詢功能。即通過用戶操作遙控器,由遙控器與機頂盒的交互[2]實現(xiàn)單向機頂盒上用戶的賬戶余額查詢功能。為方便用戶查詢,在運行環(huán)境容許的情況下,力求盡可能簡單地在用戶操作、系統(tǒng)實現(xiàn)等角度實現(xiàn)此功能應(yīng)用[3]。
目前數(shù)字電視用戶管理系統(tǒng)實有用戶個人與集體賬戶約20萬個,每個賬戶配發(fā)1張用戶卡,卡號有7位數(shù),唯一標(biāo)識1個獨立賬戶。此次以整體數(shù)據(jù)量20萬為余額查詢系統(tǒng)的設(shè)計總量,希望通過輸入盡量少的用戶卡號尾數(shù)個數(shù),經(jīng)過簡單的幾步遙控器操作,來找到自己的賬戶余額數(shù)據(jù)。同時兼顧機頂盒軟、硬件配置,不再進行專門的軟硬件升級,在現(xiàn)有條件下實現(xiàn)用戶查詢要求。用戶賬戶余額查詢系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 用戶賬戶余額查詢系統(tǒng)結(jié)構(gòu)框圖
主要考慮全部用戶賬戶余額數(shù)據(jù)量大小、前端播發(fā)服務(wù)器計算能力、機頂盒內(nèi)存容量、主芯片運算速度及當(dāng)前版本軟件瀏覽器支持能力、程序編輯語言的描述范圍等。當(dāng)前機頂盒硬件配置為主芯片ST 5107,CPU工作主頻為 200 MHz,EEPROM 為 32 kbyte,F(xiàn)lash Memory為8 Mbyte,RAM為32 Mbyte。數(shù)據(jù)廣播系統(tǒng)使用茁壯瀏覽器ipanel2.0,當(dāng)前應(yīng)用環(huán)境下最高支持HTML 4.01,JavaScript 1.5。測試結(jié)果表明在此條件約束下進行單用戶查找時所建立的數(shù)據(jù)庫文件大小不超過200條記錄,根本無法滿足20萬條用戶記錄的存儲、查找要求,所以需要另辟蹊徑。
當(dāng)前環(huán)境(見圖2)支持的格式上限為頁面尺寸為640×526;文件格式為htm,html,js,txt,mp3,jpg,bmp,gif等;單圖片大小不大于40 kbyte;單應(yīng)用大小在2~3 Mbyte左右;支持CSS 1.0/2.0,HTTP 1.1;支持cookie功能(通常是為了辨別用戶身份、進行session跟蹤而存儲在用戶本地終端上的數(shù)據(jù),通常經(jīng)過加密。此處用來做特殊使用)。
站在用戶的角度,此功能軟件當(dāng)然要有查詢頁面、數(shù)據(jù)庫,在操作遙控器輸入一定數(shù)量參數(shù)后得出查詢結(jié)果。用戶操作界面主要由兩個文件構(gòu)成,一個為首頁面,輸入用戶卡號的后三位按“查詢”鍵進入二級頁面,需要注意的是在首頁面中要設(shè)計輸入驗證環(huán)節(jié),當(dāng)用戶多輸或少輸了用戶編號后,系統(tǒng)會做出提示告知用戶“輸入錯誤請重新輸入”。進入二級頁面后,系統(tǒng)按照用戶輸入的編號調(diào)用對應(yīng)名稱的文件進行查詢結(jié)果顯示。為方便在電視屏幕上顯示、查找記錄,把結(jié)果分為多行三列的格式進行屏幕顯示,并且按用戶編號順序進行排列。
以20萬用戶計,根據(jù)已有的軟硬件環(huán)境,把系統(tǒng)所需的全部用戶數(shù)據(jù)分成1000個文件,每個文件里有約200組數(shù)據(jù),即200條用戶記錄。使用HTML文件格式,每屏顯示50條記錄,最多翻滾3屏即可找到所要查找的記錄,該方法更具實用性。要達到這樣的操作簡單程度,就需要按用戶卡號后三位提取對應(yīng)的數(shù)據(jù)文件,進行顯示。鑒于瀏覽器的當(dāng)前版本,本文采用JavaScript和HTML寫查詢頁面。在HTML里用生成的1000個文件代替數(shù)據(jù)庫功能,查詢主頁面文件命名為Yecx.html,結(jié)果顯示頁面文件命名為Yecx01.html。具體實現(xiàn)分為3個步驟:數(shù)據(jù)提取、分析生成、格式轉(zhuǎn)換。其中的數(shù)據(jù)提取模塊,從BOSS系統(tǒng)中提取所有用戶相關(guān)信息,包括客戶編碼和賬戶余額兩項;分析生成模塊,以用戶卡號后三位相同的分為一組進行數(shù)據(jù)排序并生成單獨文件(共1000個文件);格式轉(zhuǎn)換模塊,把從BOSS系統(tǒng)直接提取出的一行多列數(shù)據(jù)分成多行,每行三列,便于頁面顯示,也方便用戶操作和查找。
其中,對文件如何劃分合適?主要是從以下角度做出對比分析后確定思路的。如按用戶卡號后四位劃分,全部數(shù)據(jù)從0000~9999共10000個文件每個文件約20條記錄,1屏顯示;按后三位劃分,從000~999共1000個文件每個文件200條記錄,分4屏顯示;按后兩位劃分,從00~99共100個文件每個文件2000條記錄,分40屏顯示。顯然最后一種劃分方法不可取,通過檢索時間對比,按后四位劃分的方法等待時間太長根本無法接受。最終,選擇了按后三位劃分,這樣兼顧了機頂盒性能和用戶快捷查找的要求。各種方法操作的系統(tǒng)反應(yīng)時間對比測試結(jié)果如表1所示,用戶賬戶余額查詢系統(tǒng)設(shè)計思路如圖3所示。
表1 3種方法操作的系統(tǒng)反應(yīng)時間對比測試結(jié)果
程序設(shè)計流程如圖4所示。
圖4 程序設(shè)計流程
查詢系統(tǒng)全部程序分為查詢主程序、模板文件、查詢結(jié)果顯示文件、首頁面文件、位數(shù)校驗、二級頁面文件等6部分。其中:主程序執(zhí)行的結(jié)果是生成從000~999共1000條命令,從BOSS系統(tǒng)數(shù)據(jù)庫中共提取1000個文件,每個文件包含約200條用戶賬戶信息;模板文件的作用在于,預(yù)先做好一個網(wǎng)頁文件即模板,設(shè)置好邊距和要顯示的表格樣式,在其中插入用戶數(shù)據(jù)即可進行最終顯示;用于查詢結(jié)果顯示的文件把1行共200多列記錄分為每行3列共70多行。受環(huán)境限制不能用表單的形式把首頁用戶輸入的編號傳送到二級頁面,就用平臺所支持的cookie進行傳送。在設(shè)計指南中也查到ipanel2.0有一個私有的傳輸代碼,應(yīng)該也可實現(xiàn)同樣功能。
具體的頁面設(shè)計是結(jié)合系統(tǒng)要求和運行環(huán)境限制而設(shè)計完成的(見圖5)。主要由兩個文件構(gòu)成,一個為首頁面,用戶輸入用戶編號的后三位按查詢鍵進入二級頁面,需要注意的是在首頁面中要設(shè)計輸入驗證環(huán)節(jié),當(dāng)用戶多輸或少輸了用戶編號后,系統(tǒng)會做出提示告知用戶輸入錯誤請重新輸入(具體見設(shè)計代碼)。當(dāng)按查詢鍵進入二級頁面后,系統(tǒng)按用戶輸入的編號調(diào)用對應(yīng)名稱的文件進行查詢結(jié)果顯示。結(jié)果分為多行三列的格式進行顯示,并且按用戶編號順序進行排列,方便用戶查找。位數(shù)校驗代碼的使用是為確保正確輸入后三位數(shù)字。
經(jīng)測試,整個查詢操作從運行時間、顯示界面各方面基本可以達到要求。在多次優(yōu)化程序后,基本上達到了最好效果,設(shè)計完成。
查詢首頁面顯示如圖6所示,查詢結(jié)果顯示頁面如圖7所示。
基于機頂盒本身軟硬件配置,以及前端服務(wù)器存儲播發(fā)能力,利用廠家提供的軟件《使用指南》和技術(shù)人員自身所學(xué)知識,通過網(wǎng)上查閱,借鑒其類似功能軟件的源代碼實現(xiàn),可以編寫程序,為數(shù)字電視提供一些小的功能,方便了用戶,也充分發(fā)揮了數(shù)字電視平臺的技術(shù)優(yōu)勢,在一定程度上增強了用戶親和力,拉近了與觀眾之間的距離。
[1]有線廣播電視運營服務(wù)管理暫行規(guī)定[EB/OL].[2012-04-23].http://www.gov.cn/flfg/2011-12/12/content_2018158.htm.
[2]薛冬營,楊云,張大元.一種新型交互電視遙控器軟硬件設(shè)計研究[J].電視技術(shù),2011,35(14):32-34.
[3]于華利.數(shù)字電視用戶界面簡化方法探討[J].電視技術(shù),2008,32(5):31-32.