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