張 庸
內(nèi)蒙古廣播電視臺(tái) 內(nèi)蒙古 呼和浩特市 010050
目前在IPTV行業(yè),無(wú)論微信電視、智能音箱或者任何其他應(yīng)用,在與IPTV對(duì)接的時(shí)候,均需要一套獨(dú)立的消息管理系統(tǒng)以及相應(yīng)的SDK,消息管理系統(tǒng)負(fù)責(zé)與機(jī)頂盒建立連接,SDK接收并對(duì)接機(jī)頂盒APK執(zhí)行相應(yīng)操作。這樣就會(huì)存在如下幾個(gè)方面問(wèn)題:
(1)各方的SDK要分別和機(jī)頂盒APK對(duì)接,增加了機(jī)頂盒的復(fù)雜度;
(2)各方的SDK要與自家的消息系統(tǒng)對(duì)接,增加了機(jī)頂盒的系統(tǒng)開(kāi)銷(xiāo);
(3)各方的SDK埋點(diǎn),采集機(jī)頂盒信息,用戶的信息安全得不到保障;
(4)各方的SDK會(huì)相互爭(zhēng)搶資源,影響機(jī)頂盒的穩(wěn)定性;
(5)新業(yè)務(wù)需求,各方SDK均需要升級(jí);
(6)各方消息直接推送到機(jī)頂盒APK,不能夠滿足廣電總局對(duì)機(jī)頂盒可管可控的業(yè)務(wù)要求。
因此,內(nèi)蒙古廣播電視臺(tái)通過(guò)建設(shè)統(tǒng)一的消息管理平臺(tái),來(lái)處理微信電視、智能音箱、語(yǔ)音遙控等第三方系統(tǒng)傳遞過(guò)來(lái)的消息命令,同時(shí)實(shí)現(xiàn)日常消息的管理與發(fā)布,從而全面做到播控平臺(tái)對(duì)IPTV業(yè)務(wù)的可管可控。
建立統(tǒng)一的消息管理系統(tǒng),包含兩大模塊(見(jiàn)圖1)。
圖1
(1)消息管理系統(tǒng):對(duì)接各個(gè)業(yè)務(wù)系統(tǒng),與各個(gè)業(yè)務(wù)系統(tǒng)進(jìn)行消息交換,以及與機(jī)頂盒建立連接關(guān)系。
消息管理后臺(tái):管理不同的接入外網(wǎng)系統(tǒng),及外網(wǎng)系統(tǒng)與用戶機(jī)頂盒的關(guān)聯(lián)關(guān)系。
消息能力平臺(tái)集群:與機(jī)頂盒建立長(zhǎng)連接,完成外網(wǎng)系統(tǒng)與機(jī)頂盒之間的消息交換??紤]系統(tǒng)的健壯性,以集群模式提供服務(wù)。
消息網(wǎng)關(guān):對(duì)接第三方系統(tǒng),接收內(nèi)網(wǎng)消息。
(2)消息SDK:對(duì)機(jī)頂盒進(jìn)行控制操作,及相關(guān)指令的執(zhí)行。
“本地服務(wù)”模塊,根據(jù)各業(yè)務(wù)系統(tǒng)業(yè)務(wù)需要部署,消息管理系統(tǒng)只從內(nèi)網(wǎng)接收消息。
同一第三方,不同業(yè)務(wù)可以共用消息網(wǎng)關(guān),如智能家居業(yè)務(wù),既有“小翼App”又有“智能音箱”,可以用同一個(gè)消息網(wǎng)關(guān)。
流程說(shuō)明:
(1)機(jī)頂盒開(kāi)機(jī)后,默認(rèn)自動(dòng)與消息系統(tǒng)建立長(zhǎng)連接。并將機(jī)頂盒相關(guān)信息發(fā)送到消息系統(tǒng),信息包含:用戶ID,機(jī)頂盒類型,區(qū)域等相關(guān)用戶信息;
(2)消息系統(tǒng)匯總管理,機(jī)頂盒發(fā)送的用戶信息;
(3)第三方系統(tǒng)要進(jìn)行用戶綁定的時(shí)候,需要通過(guò)消息系統(tǒng)向該系統(tǒng)請(qǐng)求二維碼;
(4)第三方系統(tǒng)綁定用戶后,通過(guò)消息系統(tǒng)向機(jī)頂盒發(fā)送相關(guān)指令;
(5)語(yǔ)音遙控器,嵌入語(yǔ)音SDK到機(jī)頂盒,當(dāng)用戶使用語(yǔ)音功能時(shí),先將語(yǔ)音信息發(fā)到語(yǔ)音云進(jìn)行語(yǔ)意解析,然后將轉(zhuǎn)化后的文字或者操作指令,通過(guò)消息系統(tǒng)發(fā)送到機(jī)頂盒。
總體分為外網(wǎng)系統(tǒng)設(shè)備和內(nèi)網(wǎng)設(shè)備。外網(wǎng)系統(tǒng)設(shè)備包括智能音箱、小翼App、微信電視、第三方App等互聯(lián)網(wǎng)服務(wù)應(yīng)用。內(nèi)網(wǎng)設(shè)備主要包括語(yǔ)音遙控器。
(1)控制類指令
投屏播放影片,控制播放/暫停、跳轉(zhuǎn)到指定位置(seek)、停止等功能;
跳轉(zhuǎn)到指定EPG頁(yè)面。
(2)按鍵類指令
發(fā)送按鍵消息到機(jī)頂盒APK。
(3)搜索類指令
通過(guò)外網(wǎng)系統(tǒng)文字輸入或者語(yǔ)音輸入,接入到消息管理系統(tǒng)時(shí)是純文字指令,調(diào)用系統(tǒng)的搜索接口,完成搜索功能。
(4)信息類指令
“信息類”指通過(guò)消息系統(tǒng)管理后臺(tái)推送文字消息到機(jī)頂盒APK,如“緊急通知”等信息,以彈出窗口的形式展示到EPG頁(yè)面中間。
商用環(huán)境因?yàn)橛脩袅勘姸啵瑫r(shí)要考慮單點(diǎn)風(fēng)險(xiǎn)。因此消息能力平臺(tái)以集群的方式提供服務(wù)支撐。所以,消息SDK在建立長(zhǎng)連接請(qǐng)求之前,需要先向消息系統(tǒng)請(qǐng)求,分配給該機(jī)頂盒的消息能力服務(wù)器地址,然后再向指定地址發(fā)起長(zhǎng)連接請(qǐng)求。
(1)消息SDK先向指定的消息服務(wù)器發(fā)起請(qǐng)求,獲得分配給該機(jī)頂盒的消息能力服務(wù)器地址;
(2)消息SDK向該能力服務(wù)器地址發(fā)起長(zhǎng)連接請(qǐng)求;
(3)如果斷開(kāi),自動(dòng)重新建立長(zhǎng)連接;
(4)如果嘗試3次仍無(wú)法建立連接,機(jī)頂盒重新向消息服務(wù)器發(fā)起請(qǐng)求,請(qǐng)求新的消息能力服務(wù)器地址。
機(jī)頂盒開(kāi)機(jī)后,默認(rèn)與消息系統(tǒng)建立長(zhǎng)連接。
(1)語(yǔ)音遙控器可以直接控制機(jī)頂盒,不需要建立綁定關(guān)系;語(yǔ)音遙控器在發(fā)送語(yǔ)譯解析命令的時(shí)候,需要包含機(jī)頂盒的用戶ID,最后解析后的語(yǔ)譯,通過(guò)消息系統(tǒng)發(fā)送到機(jī)頂盒。
(2)外網(wǎng)設(shè)備控制機(jī)頂盒,需要判斷綁定關(guān)系。
默認(rèn)采用外設(shè)掃描二維碼綁定機(jī)頂盒。
外網(wǎng)系統(tǒng)如智能音箱、小翼App、微信電視等,統(tǒng)一通過(guò)掃描二維碼進(jìn)行設(shè)備綁定。即在機(jī)頂盒的指定路徑顯示二維碼,一般在設(shè)置菜單,用戶可以通過(guò)微信、支付寶,或者指定第三方應(yīng)用掃描綁定。
用戶打開(kāi)機(jī)頂盒指定頁(yè)面,如“設(shè)置->微信電視”。
(1)機(jī)頂盒向消息系統(tǒng)發(fā)起請(qǐng)求;
(2)消息系統(tǒng)返回兩部分內(nèi)容:綁定的用戶微信ID,沒(méi)有為空;用于綁定的二維碼。綁定原則:一個(gè)機(jī)頂盒終端可以被多個(gè)微信綁定,一個(gè)微信只能綁定一個(gè)機(jī)頂盒終端;
(3)用戶通過(guò)微信、支付寶,或者指定第三方應(yīng)用掃碼,外網(wǎng)系統(tǒng)獲得用戶的二維碼信息;
(4)外網(wǎng)系統(tǒng)設(shè)備發(fā)送綁定請(qǐng)求到消息系統(tǒng);
(5)消息系統(tǒng)確認(rèn)該用戶ID發(fā)起過(guò)綁定請(qǐng)求,并建立綁定關(guān)系;
(6)外網(wǎng)系統(tǒng)設(shè)備綁定后可以控制機(jī)頂盒。
(1)用戶可以從機(jī)頂盒端發(fā)起解除綁定的消息指令;
(2)用戶可以從外網(wǎng)系統(tǒng)設(shè)備端發(fā)起解除綁定的消息指令。
智能語(yǔ)音系統(tǒng)內(nèi)嵌語(yǔ)音SDK,不進(jìn)行設(shè)備的綁定與解綁,默認(rèn)遙控器語(yǔ)音設(shè)備可以控制機(jī)頂盒。
語(yǔ)音遙控器發(fā)送語(yǔ)音消息到語(yǔ)音轉(zhuǎn)譯云平臺(tái)時(shí),帶有機(jī)頂盒的userid信息,云平臺(tái)將解析后的消息指令,根據(jù)userid信息,通過(guò)消息系統(tǒng)發(fā)送到機(jī)頂盒。
機(jī)頂盒APK根據(jù)設(shè)備ID或者賬號(hào)ID組裝生成唯一的序列號(hào),標(biāo)識(shí)機(jī)頂盒信息。消息管理系統(tǒng)將參數(shù)發(fā)送到騰訊微信后臺(tái)服務(wù)系統(tǒng),系統(tǒng)生成二維碼給到消息管理系統(tǒng),EPG頁(yè)面可以展示該二維碼圖片。
(1)生成二維碼(見(jiàn)圖2)。
圖2
(2)掃描二維碼(見(jiàn)圖3)。
圖3
手機(jī)微信通過(guò)代理服務(wù)器把用戶操作命令(消息)發(fā)送到消息隊(duì)列中統(tǒng)一處理。消息隊(duì)列驗(yàn)證消息的格式是否合法。
(1)建立綁定關(guān)系;
(2)權(quán)限管理;
(3)檢索判斷綁定關(guān)系;
(4)查找綁定機(jī)頂盒;
(5)發(fā)送、接收命令;
(6)向其他第三方系統(tǒng)發(fā)送消息;
(7)其他消息推送。
保存手機(jī)微信用戶的信息,以及微信用戶與響應(yīng)的機(jī)頂盒的綁定關(guān)系。系統(tǒng)支持后臺(tái)瀏覽、查詢、修改、刪除等功能。