史國(guó)強(qiáng) SHI Guo-qiang;朱銘果 ZHU Ming-guo;劉士愛(ài) LIU Shi-ai;趙軍 ZHAO Jun
(①東營(yíng)市大數(shù)據(jù)中心,東營(yíng) 257091;②利津縣大數(shù)據(jù)中心,東營(yíng) 257400;③東營(yíng)市農(nóng)業(yè)農(nóng)村局,東營(yíng) 257091)
政務(wù)服務(wù)是政府與市民、企業(yè)之間的重要交互方式,是衡量政府治理水平和公共服務(wù)能力的重要指標(biāo)。近年來(lái),與群眾生活息息相關(guān)的社保、公積金、醫(yī)保、房產(chǎn)證等服務(wù)都集中到了政務(wù)服務(wù)中心辦理或網(wǎng)上辦理,實(shí)現(xiàn)了“最多跑一次”及“一窗受理”。但是仍然存在部分無(wú)法網(wǎng)上辦理,必須本人去政務(wù)服務(wù)中心辦理的業(yè)務(wù),而有些群眾居住地離政務(wù)服務(wù)中心較遠(yuǎn),交通成本、時(shí)間成本仍然過(guò)高,特別是對(duì)于那些戶籍在本地,長(zhǎng)期在外工作的人群來(lái)說(shuō),尤為不便。視頻辦理業(yè)務(wù)作為一種新興的政務(wù)服務(wù)模式,可利用實(shí)時(shí)音視頻技術(shù)打破時(shí)間和空間的限制,可解決上述難題,實(shí)現(xiàn)政府與市民、企業(yè)之間的遠(yuǎn)程的面對(duì)面溝通和協(xié)作,提高政務(wù)服務(wù)效率和質(zhì)量,增強(qiáng)市民、企業(yè)的便利性和滿意度。
視頻辦理業(yè)務(wù)的核心技術(shù)點(diǎn)是音視頻通信技術(shù),目前主流的音視頻通信技術(shù)包括WebRTC、RTMP、SIP、H.323等,而因WebRTC(Web Real-Time Communication)開(kāi)源免費(fèi)、互操作性強(qiáng),因此成為目前較為主流的音視頻通話技術(shù)方案。該技術(shù)允許網(wǎng)頁(yè)或移動(dòng)應(yīng)用通過(guò)簡(jiǎn)單的API 實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)的音視頻通話或數(shù)據(jù)傳輸,無(wú)需安裝插件或下載客戶端,且具有跨平臺(tái)、低延遲、高安全、易擴(kuò)展等特點(diǎn),適合于構(gòu)建各種實(shí)時(shí)通信應(yīng)用場(chǎng)景。
本方案基于WebRTC 技術(shù),設(shè)計(jì)并實(shí)現(xiàn)了政務(wù)服務(wù)“視頻辦”系統(tǒng),實(shí)現(xiàn)了市民通過(guò)手機(jī)APP 發(fā)起視頻請(qǐng)求,政務(wù)服務(wù)大廳坐席接收市民請(qǐng)求,開(kāi)啟視頻在線服務(wù),并集成面部識(shí)別身份核驗(yàn)功能,在保證業(yè)務(wù)辦理安全性和準(zhǔn)確性的同時(shí),將傳統(tǒng)柜臺(tái)延伸到云端,從而提高政務(wù)服務(wù)效率和質(zhì)量,增強(qiáng)市民的便利性和滿意度。
政務(wù)服務(wù)在進(jìn)行柜面辦理的時(shí)候,通常是市民攜帶證件到附近的政務(wù)服務(wù)大廳辦理,業(yè)務(wù)流程一般為:
①取號(hào)排隊(duì)。在叫號(hào)機(jī)上選擇辦理業(yè)務(wù),取號(hào)排隊(duì),等待辦理業(yè)務(wù)。
②業(yè)務(wù)辦理。柜面服務(wù)員按號(hào)給客戶辦理業(yè)務(wù)。辦理過(guò)程中,需要通過(guò)身份證核對(duì)市民身份,查看市民攜帶的相關(guān)材料,然后在政務(wù)系統(tǒng)中為客戶辦理相關(guān)業(yè)務(wù);如在辦理過(guò)程中,涉及其他業(yè)務(wù)時(shí),柜員可將市民分轉(zhuǎn)到其他柜臺(tái)辦理。
③完成服務(wù)。為市民辦理完成后,市民離開(kāi)柜臺(tái),柜員開(kāi)始服務(wù)下一位客戶。
參照以上的柜面業(yè)務(wù),通過(guò)視頻辦理業(yè)務(wù)時(shí),主要的辦理環(huán)節(jié)都要通過(guò)APP 實(shí)現(xiàn),系統(tǒng)流程設(shè)計(jì)如圖1 所示。
圖1 業(yè)務(wù)流程圖
①業(yè)務(wù)選擇。市民在手機(jī)APP 端首先選擇需要辦理的業(yè)務(wù)和服務(wù)大廳。
②視頻請(qǐng)求。市民發(fā)起業(yè)務(wù)辦理的視頻請(qǐng)求,因在同一時(shí)刻每個(gè)柜員只能服務(wù)一人,因此系統(tǒng)通過(guò)采用排隊(duì)機(jī)制將該次請(qǐng)求編入隊(duì)列。
③待柜員空閑時(shí),接入請(qǐng)求服務(wù)的市民,開(kāi)始提供一對(duì)一的視頻服務(wù),在視頻服務(wù)過(guò)程中,同線下服務(wù)一致,需要核對(duì)市民身份、并通過(guò)文件上傳的方式,核對(duì)市民提供的材料;核對(duì)完成后,柜員為市民辦理業(yè)務(wù);在業(yè)務(wù)辦理過(guò)程中,如市民還有其他的業(yè)務(wù)服務(wù)請(qǐng)求,提供服務(wù)的柜員可將其他柜員拉入該視頻隊(duì)列中,形成多方視頻通話。
④完成服務(wù)。在完成服務(wù)后,柜員或市民均可掛斷視頻,由系統(tǒng)進(jìn)行服務(wù)結(jié)束的相關(guān)處理。
本方案采用了基于WebRTC 技術(shù)的分布式架構(gòu),如圖2 所示。
圖2 系統(tǒng)架構(gòu)圖
該架構(gòu)主要包括以下幾個(gè)部分:
①(Stun/Turn)穿透/轉(zhuǎn)發(fā)服務(wù)器:穿透/轉(zhuǎn)發(fā)服務(wù)器主要負(fù)責(zé)處理視頻兩端點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)不通問(wèn)題,包括STUN/TURN 兩種服務(wù)器。
1)STUN 服務(wù)器:通過(guò)STUN 服務(wù)器,客戶終端可以了解他們的公共地址、擋在他們前面的NAT 類型和通過(guò)NAT 與特定局部端口相連的因特網(wǎng)方端口。這些信息將被用于建立客戶終端與VOIP 服務(wù)商之間的UDP 通信,以便實(shí)現(xiàn)通話。STUN 服務(wù)器使用了多個(gè)開(kāi)源谷歌的服務(wù)器。
2)TURN 服務(wù)器:TURN 是STUN 協(xié)議的擴(kuò)展,主要是添加了relay 的功能。如果兩臺(tái)主機(jī)處在不同的NAT 之后,它們之間想要互相通信,要么通過(guò)P2P 穿越,要么通過(guò)一臺(tái)帶公網(wǎng)IP 的機(jī)器來(lái)中轉(zhuǎn),TURN 服務(wù)器提供了中繼(relay)的功能,幫助主機(jī)間進(jìn)行通信。
②信令服務(wù)器:信令服務(wù)器主要負(fù)責(zé)協(xié)調(diào)客戶端之間的音視頻通話或數(shù)據(jù)傳輸,采用nodejs 技術(shù)搭建。包括以下幾個(gè)子功能:
1)信令交換:信令服務(wù)器使用socket.io 組件基于WebSocket 協(xié)議,實(shí)現(xiàn)客戶端之間的信令交換,如,用于建立和維護(hù)音視頻通話或數(shù)據(jù)傳輸?shù)倪B接。
2)房間管理:信令服務(wù)器通過(guò)nodejs 房間共享變量,實(shí)現(xiàn)客戶端之間的房間管理,如創(chuàng)建房間、加入房間、離開(kāi)房間等,用于組織和控制音視頻通話或數(shù)據(jù)傳輸?shù)臅?huì)話。
3)排隊(duì)管理:信令服務(wù)器通過(guò)nodejs 排隊(duì)隊(duì)列共享變量,實(shí)現(xiàn)文字和咨詢排隊(duì)管理,包括加入隊(duì)列、離開(kāi)隊(duì)列等。
③WEB 應(yīng)用服務(wù)器:應(yīng)用服務(wù)器主要負(fù)責(zé)提供核心業(yè)務(wù)功能和服務(wù),包括以下幾個(gè)子功能:
1)業(yè)務(wù)邏輯:應(yīng)用服務(wù)器通過(guò)java springboot 框架,實(shí)現(xiàn)系統(tǒng)的業(yè)務(wù)邏輯,如坐席狀態(tài)管理(上線/下線)、咨詢服務(wù)排隊(duì)等功能的流程控制和數(shù)據(jù)處理。
2)服務(wù)接口:應(yīng)用服務(wù)器通過(guò)RESTful API,提供系統(tǒng)的服務(wù)接口,如APP 平臺(tái)的身份驗(yàn)證接口、政務(wù)服務(wù)接口、電子證照接口等,用于與客戶端或其他系統(tǒng)進(jìn)行數(shù)據(jù)交互和服務(wù)調(diào)用。
④客戶端:客戶端主要指市民和坐席使用的設(shè)備,如智能手機(jī)、PC、平板電腦等。客戶端通過(guò)安裝APP(本方案市民端APP 直接采用山東省通用政務(wù)服務(wù)手機(jī)端“愛(ài)山東”APP),可以實(shí)現(xiàn)視頻請(qǐng)求發(fā)起、視頻請(qǐng)求接收、視頻在線服務(wù)、面部識(shí)別身份核驗(yàn)、視頻咨詢服務(wù)排隊(duì)等功能,并通過(guò)WebRTC 實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)的音視頻通話或數(shù)據(jù)傳輸。
系統(tǒng)模塊的主要實(shí)現(xiàn)功能如下:
①視頻請(qǐng)求發(fā)起模塊:該模塊主要使用了APP 平臺(tái)提供的政務(wù)服務(wù)接口和電子證照接口,實(shí)現(xiàn)了市民通過(guò)APP 發(fā)起視頻請(qǐng)求的功能。具體步驟如下:
1)市民打開(kāi)手機(jī)端APP,進(jìn)入政務(wù)服務(wù)頁(yè)面,選擇需要辦理的業(yè)務(wù)類型和具體事項(xiàng),并填寫(xiě)相關(guān)信息。
2)市民點(diǎn)擊視頻請(qǐng)求按鈕,向應(yīng)用服務(wù)器發(fā)送視頻請(qǐng)求,并攜帶業(yè)務(wù)類型等參數(shù)。
3)應(yīng)用服務(wù)器接收到視頻請(qǐng)求后,調(diào)用APP 平臺(tái)的電子證照接口,獲取市民的電子證照信息,并將其作為信令信息發(fā)送給信令服務(wù)器。
4)信令服務(wù)器接收到信令信息后,創(chuàng)建一個(gè)房間,并將房間號(hào)返回給應(yīng)用服務(wù)器。
5)應(yīng)用服務(wù)器將房間號(hào)返回給市民,并提示市民等待客服接收。
②視頻請(qǐng)求接收模塊:該模塊主要使用了信令服務(wù)器提供的信令交換和房間管理功能,實(shí)現(xiàn)了政務(wù)服務(wù)大廳坐席通過(guò)APP 接收市民發(fā)來(lái)的視頻請(qǐng)求的功能。具體步驟如下:
1)坐席打開(kāi)APP,進(jìn)入視頻辦理頁(yè)面,查看當(dāng)前有哪些市民發(fā)來(lái)的視頻請(qǐng)求,并篩選自己能夠處理的視頻請(qǐng)求。
2)坐席點(diǎn)擊視頻請(qǐng)求按鈕,向應(yīng)用服務(wù)器發(fā)送視頻請(qǐng)求,并攜帶業(yè)務(wù)類型等參數(shù)。
3)應(yīng)用服務(wù)器接收到視頻請(qǐng)求后,調(diào)用APP 平臺(tái)的身份驗(yàn)證接口,獲取坐席的身份信息,并將其作為信令信息發(fā)送給信令服務(wù)器。
4)信令服務(wù)器接收到信令信息后,根據(jù)業(yè)務(wù)類型和業(yè)務(wù)事項(xiàng)匹配一個(gè)合適的房間,并將房間號(hào)返回給應(yīng)用服務(wù)器。
5)應(yīng)用服務(wù)器將房間號(hào)返回給坐席,并提示坐席與市民建立視頻在線服務(wù)連接。
③視頻在線服務(wù)模塊:該模塊主要使用了WebRTC技術(shù)提供的音視頻通話和數(shù)據(jù)傳輸功能,實(shí)現(xiàn)了市民和坐席之間通過(guò)APP 進(jìn)行視頻在線服務(wù)的功能。具體步驟如下:
1)市民和坐席根據(jù)房間號(hào)加入相同的房間,并通過(guò)getUserMedia API 獲取本地設(shè)備的音頻和視頻流,并通過(guò)video 或audio 元素進(jìn)行播放。
2)市民和坐席通過(guò)RTCPeerConnection API 建立兩個(gè)或多個(gè)瀏覽器之間的點(diǎn)對(duì)點(diǎn)連接,并通過(guò)SDP 協(xié)議進(jìn)行信令交換,使用ICE 框架進(jìn)行NAT 穿越,使用DTLS 協(xié)議進(jìn)行安全傳輸,使用SRTP 協(xié)議進(jìn)行音視頻編解碼,實(shí)現(xiàn)音視頻通話的功能。
3)市民和坐席通過(guò)RTCDataChannel API 建立雙向的數(shù)據(jù)通道,并通過(guò)SCTP 協(xié)議進(jìn)行數(shù)據(jù)通信,實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)墓δ堋?/p>
4)市民和坐席通過(guò)APP 提供的業(yè)務(wù)辦理接口,實(shí)現(xiàn)業(yè)務(wù)辦理的功能,如填寫(xiě)表單、簽署證件等。
④面部識(shí)別身份核驗(yàn)?zāi)K:該模塊主要使用了媒體服務(wù)器提供的媒體處理功能和APP 平臺(tái)提供的身份驗(yàn)證接口,實(shí)現(xiàn)了市民和坐席之間通過(guò)APP 進(jìn)行面部識(shí)別身份核驗(yàn)的功能。具體步驟如下:
1)市民和坐席在開(kāi)始或結(jié)束音視頻通話時(shí),可以點(diǎn)擊面部識(shí)別按鈕,向應(yīng)用服務(wù)器發(fā)送面部識(shí)別請(qǐng)求,并攜帶房間號(hào)等參數(shù)。
2)應(yīng)用服務(wù)器接收到面部識(shí)別請(qǐng)求后,向媒體服務(wù)器發(fā)送媒體處理請(qǐng)求,并攜帶房間號(hào)等參數(shù)。
3)媒體服務(wù)器接收到媒體處理請(qǐng)求后,從房間中獲取市民和坐席的音視頻流,并使用OpenCV 庫(kù)進(jìn)行人臉檢測(cè)和人臉識(shí)別,將人臉信息返回給應(yīng)用服務(wù)器。
4)應(yīng)用服務(wù)器接收到人臉信息后,調(diào)用APP 平臺(tái)的身份驗(yàn)證接口,將人臉信息與數(shù)據(jù)庫(kù)中存儲(chǔ)的人臉信息進(jìn)行比對(duì),并返回比對(duì)結(jié)果給市民和坐席。
5)市民和坐席可以通過(guò)APP 查看比對(duì)結(jié)果,并根據(jù)結(jié)果進(jìn)行相應(yīng)的操作,如繼續(xù)業(yè)務(wù)辦理或終止業(yè)務(wù)辦理。
⑤視頻咨詢服務(wù)排隊(duì)模塊:該模塊主要使用了信令服務(wù)器提供的房間管理功能和應(yīng)用服務(wù)器提供的服務(wù)接口功能,實(shí)現(xiàn)了市民通過(guò)APP 查看當(dāng)前的排隊(duì)情況,并根據(jù)客服數(shù)量、服務(wù)時(shí)長(zhǎng)、等待人數(shù)等參數(shù)進(jìn)行合理的預(yù)估和選擇的功能。具體步驟如下:
1)市民在發(fā)起視頻請(qǐng)求前或后,可以點(diǎn)擊排隊(duì)信息按鈕,向應(yīng)用服務(wù)器發(fā)送排隊(duì)信息請(qǐng)求,并攜帶業(yè)務(wù)類型、業(yè)務(wù)事項(xiàng)等參數(shù)。
2)應(yīng)用服務(wù)器接收到排隊(duì)信息請(qǐng)求后,向信令服務(wù)器發(fā)送房間信息請(qǐng)求,并攜帶業(yè)務(wù)類型、業(yè)務(wù)事項(xiàng)等參數(shù)。
3)信令服務(wù)器接收到房間信息請(qǐng)求后,從Redis 數(shù)據(jù)庫(kù)中獲取當(dāng)前的房間信息,如客服數(shù)量、服務(wù)時(shí)長(zhǎng)、等待人數(shù)等,并將其返回給應(yīng)用服務(wù)器。
4)應(yīng)用服務(wù)器接收到房間信息后,根據(jù)一定的算法進(jìn)行排隊(duì)時(shí)間的預(yù)估,并將排隊(duì)信息和預(yù)估時(shí)間返回給市民。
5)市民可以通過(guò)APP 查看排隊(duì)信息和預(yù)估時(shí)間,并根據(jù)自己的需求和情況選擇不同的排隊(duì)方式,如立即排隊(duì)、取消排隊(duì)等。
圖3 選擇辦理業(yè)務(wù)
圖4 坐席為群眾通過(guò)視頻辦理業(yè)務(wù)
圖5 人臉識(shí)別身份認(rèn)證
“視頻辦”政務(wù)服務(wù)的上線,實(shí)現(xiàn)了政務(wù)服務(wù)線上線下相融合,市、縣(區(qū))、鎮(zhèn)(街道)、村(社區(qū))四級(jí)共用、協(xié)同聯(lián)辦,將“實(shí)體窗口”升級(jí)為“云端窗口”,市民通過(guò)手機(jī)APP即可與政務(wù)服務(wù)大廳窗口工作人員“面對(duì)面”交流,進(jìn)行遠(yuǎn)程咨詢、查詢和辦理業(yè)務(wù),無(wú)需到政務(wù)窗口現(xiàn)場(chǎng)排隊(duì)等候,真正實(shí)現(xiàn)了“不見(jiàn)面”“非接觸”在線政務(wù)服務(wù),減少了群眾辦事跑動(dòng)次數(shù),解決了群眾在業(yè)務(wù)辦理中遇到的“本人不到無(wú)法辦理”等難題,提高了辦事效率,事項(xiàng)申報(bào)準(zhǔn)確率、“一次審核”通過(guò)率大幅提升。自“視頻辦”系統(tǒng)試運(yùn)行以來(lái),已實(shí)現(xiàn)多個(gè)事項(xiàng)通過(guò)“視頻辦”進(jìn)行辦理。
本方案采用WebRTC 技術(shù),設(shè)計(jì)并實(shí)現(xiàn)政務(wù)服務(wù)“視頻辦”系統(tǒng),實(shí)現(xiàn)了市民通過(guò)手機(jī)APP 發(fā)起視頻請(qǐng)求,政務(wù)服務(wù)大廳坐席通過(guò)APP 接收市民請(qǐng)求,并開(kāi)啟視頻在線服務(wù)的功能。本方案為政務(wù)服務(wù)提供了一種新的模式和思路,有助于提高政務(wù)服務(wù)效率和質(zhì)量,增強(qiáng)市民、企業(yè)的便利性和滿意度。作者希望通過(guò)本方案的研究和實(shí)踐,為政務(wù)服務(wù)的創(chuàng)新和發(fā)展做出一些貢獻(xiàn)。