楚嘉琦,劉從軍
(1.江蘇科技大學(xué)計(jì)算機(jī)科學(xué)學(xué)院,江蘇 鎮(zhèn)江 212003; 2.江蘇科大匯峰科技有限公司,江蘇 鎮(zhèn)江 212003)
隨著現(xiàn)代計(jì)算機(jī)、網(wǎng)絡(luò)通信等技術(shù)的不斷發(fā)展,信息化建設(shè)愈加受到各個(gè)政府部門的重視。而傳統(tǒng)的政府網(wǎng)站由于訪問不方便,相關(guān)政務(wù)、行政服務(wù)信息更新不及時(shí),導(dǎo)致網(wǎng)站瀏覽量低,政務(wù)信息披露不及時(shí)。已無法滿足在當(dāng)今快節(jié)奏的生活中,民眾對(duì)于政務(wù)及行政服務(wù)信息的及時(shí)了解、查詢的需求[1-3]。在這種形勢(shì)下,智能手機(jī)的發(fā)展和微信等社交平臺(tái)的普及,為現(xiàn)代政府部門信息化建設(shè)帶來了新的機(jī)遇及挑戰(zhàn)。政務(wù)微信服務(wù)平臺(tái)具有傳統(tǒng)政府網(wǎng)站無可比擬的優(yōu)越性。微信本身的跨平臺(tái)性,使政務(wù)微信服務(wù)平臺(tái)具有一個(gè)統(tǒng)一入口,方便管理。利用微信本身的多媒體功能,使政務(wù)微信服務(wù)平臺(tái)可以提供更豐富的功能,提高辦事效率。微信以手機(jī)為終端,使政務(wù)微信服務(wù)平臺(tái)可以真正意義上實(shí)現(xiàn)政務(wù)信息及行政服務(wù)隨處可查,隨處可得,簡化了行政服務(wù)流程,確保了政務(wù)信息的及時(shí)披露[4-6]。因此,對(duì)于政務(wù)微信服務(wù)平臺(tái)的研究具有一定的現(xiàn)實(shí)意義。本文基于微信公眾號(hào)設(shè)計(jì)一個(gè)電子政務(wù)服務(wù)平臺(tái)。該平臺(tái)旨在促進(jìn)政府部門信息化建設(shè)的全面、協(xié)調(diào)、可持續(xù)發(fā)展。
自2012年8月23日正式上線以來,微信公眾平臺(tái)的宗旨是為用戶創(chuàng)造一種良好的體驗(yàn),在媒體中創(chuàng)建一種全新的生態(tài)循環(huán)。微信公眾平臺(tái)的賬號(hào)根據(jù)運(yùn)營的目的和運(yùn)營主體的差異性分為以下2種,一種稱為服務(wù)號(hào),其運(yùn)營只能由組織來負(fù)責(zé),這些組織既可以包括盈利為主的企業(yè)、媒體,也可以包括以非盈利為目的的政府和公益組織,另一種稱為訂閱號(hào),其運(yùn)營既可以是組織,也可以是個(gè)人,但個(gè)人不能參與運(yùn)營服務(wù)號(hào)。
作為微信公眾平臺(tái)的賬號(hào)類型之一的服務(wù)號(hào)與微型官網(wǎng)相似,是組織開展微信社交的站點(diǎn),其宗旨是為廣大用戶提供能夠自定義的多樣化服務(wù),這種服務(wù)通過自定義的菜單來提供,菜單與后臺(tái)基于移動(dòng)設(shè)備的網(wǎng)站相互結(jié)合,與現(xiàn)有的系統(tǒng)進(jìn)行對(duì)接,從而實(shí)現(xiàn)了服務(wù)的跨平臺(tái)性[7-8]。
通過對(duì)現(xiàn)有的大量的政務(wù)微信公眾號(hào)分析和研究,發(fā)現(xiàn)現(xiàn)在的政務(wù)微信公眾號(hào)的技術(shù)方案主要依靠微信公眾號(hào)的2大功能來實(shí)現(xiàn)自身的業(yè)務(wù),分別為:
1)推送圖文消息。該功能需要政務(wù)微信運(yùn)營者使用微信官方的后臺(tái)管理系統(tǒng)對(duì)要推送的圖文信息進(jìn)行編輯,并完成推送操作。使用該功能,主要可以實(shí)現(xiàn)將每日的重點(diǎn)新聞、政策實(shí)施和解讀等重要的政務(wù)信息推送給公眾。
2)自定義菜單。該功能在現(xiàn)在的政務(wù)微信的技術(shù)方案中,是實(shí)現(xiàn)政務(wù)微信絕大部分業(yè)務(wù)功能的主要技術(shù)手段。微信所提供的自定義菜單有2種行為:一是點(diǎn)擊會(huì)推送圖文信息;二是點(diǎn)擊后打開一個(gè)Web頁面。
在現(xiàn)行的技術(shù)方案中,主要依靠自定義菜單的第2種行為,通過在微信公眾號(hào)中打開一級(jí)Web頁面,并在一級(jí)Web頁面中設(shè)置鏈接鏈到二級(jí)Web頁面,乃至三級(jí)Web頁面,并使用Web頁面來完成政務(wù)微信的各種功能。通過這種機(jī)制,開發(fā)者可以將微信公眾號(hào)實(shí)質(zhì)性地建設(shè)成一個(gè)Web網(wǎng)站,或者說是一個(gè)Web應(yīng)用,并將微信客戶端實(shí)質(zhì)性地轉(zhuǎn)變成微信瀏覽器。微信所提供的這種將微信公眾號(hào)轉(zhuǎn)變?yōu)閃eb網(wǎng)站、Web應(yīng)用的機(jī)制,使得開發(fā)者可以在微信公眾號(hào)的基礎(chǔ)平臺(tái)之上,通過使用傳統(tǒng)Web開發(fā)方式和技術(shù)對(duì)微信公眾號(hào)進(jìn)行二次開發(fā),從而極大地?cái)U(kuò)展了微信公眾號(hào)所能提供的服務(wù),豐富了微信公眾號(hào)的功能[9-10]。
本文基于上述技術(shù)方案,通過微信提供的自定義菜單,將本平臺(tái)建設(shè)為一個(gè)Web網(wǎng)站、Web應(yīng)用,并使用Web開發(fā)技術(shù)和Web頁面的方式,實(shí)現(xiàn)本平臺(tái)的所有主體功能。
基于微信公眾號(hào)的政務(wù)服務(wù)平臺(tái)系統(tǒng)的建設(shè)是為了改變我國政務(wù)信息披露、更新不及時(shí),公眾查詢政務(wù)、公共服務(wù)等信息不方便的現(xiàn)狀。實(shí)現(xiàn)政務(wù)信息及行政服務(wù)隨處可查,隨處可得。本系統(tǒng)以微信公眾號(hào)為平臺(tái),集政務(wù)信息、行政服務(wù)查詢、事務(wù)辦理、費(fèi)用繳納等功能為一體,利用現(xiàn)代信息技術(shù)作為支撐,為政府部門在加快信息化建設(shè)、及時(shí)公開政務(wù)信息、提高部門工作效率等方面發(fā)揮作用。
引入微信后,微信將成為電子政務(wù)系統(tǒng)的平臺(tái)和統(tǒng)一入口。微信的開發(fā)模式可以將系統(tǒng)的功能和服務(wù)引入到特定的服務(wù)器來實(shí)現(xiàn)??梢哉J(rèn)為,引入微信是對(duì)已有電子政務(wù)系統(tǒng)前端的部分改造,新的微信政務(wù)服務(wù)平臺(tái)可以方便快捷地與現(xiàn)有的電子政務(wù)系統(tǒng)進(jìn)行無縫銜接。引入微信后的電子政務(wù)系統(tǒng)架構(gòu)如圖1所示。
圖1 引入微信后的電子政務(wù)系統(tǒng)架構(gòu)
本系統(tǒng)功能由3部分組成,分別為:政務(wù)公開、事務(wù)辦理和繳納費(fèi)用。
2.3.1 政務(wù)公開
政務(wù)公開模塊是政府部門通過本平臺(tái)實(shí)施“問政于民”政策的一個(gè)窗口,即有選擇性地將政府部門的一些日常政務(wù)信息向廣大民眾公開,并接受民眾的監(jiān)督。參與政務(wù)公開的用戶主體為部門用戶和民眾。政務(wù)公開由新聞動(dòng)態(tài)、規(guī)劃計(jì)劃、重大項(xiàng)目、社會(huì)公益、統(tǒng)計(jì)數(shù)據(jù)和人事信息等子欄目組成。這些政務(wù)信息都是由所在部門用戶負(fù)責(zé)編輯完成的。其用例圖如圖2所示。
圖2 政務(wù)公開用例圖
2.3.2 事務(wù)辦理
事務(wù)辦理是政府部門和廣大民眾的一個(gè)橋梁,為廣大民眾提供了事務(wù)辦理流程查詢和辦理等功能,更好地提升政府部門的公共服務(wù)能力。該模塊中主要包括5個(gè)子模塊,即發(fā)布服務(wù)章程和事宜、查看服務(wù)章程和事宜、請(qǐng)求服務(wù)、辦理服務(wù)請(qǐng)求和查看辦理結(jié)果。其中,由部門用戶負(fù)責(zé)完成的模塊是發(fā)布服務(wù)章程和辦理服務(wù)請(qǐng)求,而民眾可以查看服務(wù)章程,請(qǐng)求服務(wù)并查看請(qǐng)求的最終處理結(jié)果。其用例圖如圖3所示。
圖3 事務(wù)辦理用例圖
2.3.3 繳納費(fèi)用
傳統(tǒng)的政務(wù)微信公眾號(hào)主要以信息發(fā)布、政務(wù)信息查詢功能為主。隨著微信團(tuán)隊(duì)對(duì)于各種認(rèn)證類型的微信服務(wù)號(hào)和訂閱號(hào)微信支付功能的開通,為政務(wù)微信公眾號(hào)帶來新的活力和機(jī)遇。通過微信支付接口實(shí)現(xiàn)繳納費(fèi)用功能是本系統(tǒng)的特色功能。應(yīng)用于不同的場景,可以完成不同的功能,諸如:水電費(fèi)繳納、交通罰款繳納等,從而能夠真正實(shí)現(xiàn)完整的在線服務(wù)。政務(wù)微信的在線支付功能及其支付方式的多樣化是其區(qū)別于傳統(tǒng)的電子化公共服務(wù)平臺(tái)的主要特征之一。其擴(kuò)充了政務(wù)微信公眾號(hào)的功能,并解決某些政府部門的收費(fèi)項(xiàng)目收費(fèi)困難等問題,同時(shí)極大地方便了公眾繳納相關(guān)費(fèi)用,提高了政府部門辦事效率。該模塊主要包括2個(gè)子模塊:發(fā)布繳納費(fèi)用項(xiàng)目和繳納費(fèi)用。部門用戶通過后臺(tái)系統(tǒng)的發(fā)布繳納費(fèi)用項(xiàng)目模塊發(fā)布收費(fèi)項(xiàng)目。公眾通過繳納費(fèi)用模塊查看需要繳費(fèi)的事項(xiàng)并通過微信支付繳納費(fèi)用。
本平臺(tái)的后臺(tái)程序使用Java開發(fā),保證平臺(tái)的穩(wěn)定性與可靠性。前臺(tái)頁面基于HTML5、CSS3、JavaScript以及Ajax技術(shù)進(jìn)行設(shè)計(jì)和開發(fā)。在保證功能性的同時(shí),提升頁面的美觀程度,并對(duì)用戶操作流程進(jìn)行優(yōu)化,保證本平臺(tái)的用戶友好性,使本平臺(tái)簡潔、易使用。平臺(tái)的主界面為微信公眾號(hào)頁面,通過設(shè)置微信公眾號(hào)的自定義菜單以及二級(jí)自定義菜單的跳轉(zhuǎn)鏈接,來實(shí)現(xiàn)平臺(tái)的各個(gè)功能頁面。平臺(tái)的功能頁面主要有:新聞動(dòng)態(tài)、重大項(xiàng)目、統(tǒng)計(jì)數(shù)據(jù)、事務(wù)辦理、繳納費(fèi)用等。部分頁面如圖4所示。
圖4 部分頁面展示
平臺(tái)的整體業(yè)務(wù)由3部分組成:
1)政務(wù)公開。部門員工登錄PC端管理系統(tǒng)后,進(jìn)入信息發(fā)布頁面,選擇待發(fā)布信息的欄目并填寫信息的標(biāo)題。完成標(biāo)題的填寫后,即可填寫信息的正文部分。如果正文部分需要插入圖片,則員工需要將待插入的圖片上傳到系統(tǒng)中。上傳過程中,系統(tǒng)會(huì)對(duì)上傳圖片的大小、格式等信息進(jìn)行驗(yàn)證,如果驗(yàn)證通過,則提示上傳成功,并可以將該圖片插入到政務(wù)部分;如果驗(yàn)證失敗,則彈出驗(yàn)證失敗提示信息窗口,并要求員工修改后重新上傳。最后保存信息并提交給系統(tǒng)。信息發(fā)布成功后,公眾就可以在公眾號(hào)里相應(yīng)的Web頁面查看信息[11-13]。信息發(fā)布流程如圖5所示。
圖5 發(fā)布信息流程圖
2)事務(wù)辦理。民眾在向政府部門提出事務(wù)辦理請(qǐng)求時(shí),其過程為:首先,民眾用戶打開請(qǐng)求頁面,選擇請(qǐng)求服務(wù)的類別,然后輸入服務(wù)的標(biāo)題,系統(tǒng)驗(yàn)證該標(biāo)題是否符合規(guī)范,如果不符合規(guī)范則彈出提示信息,并讓用戶重新輸入,如果符合規(guī)范則輸入服務(wù)的詳細(xì)內(nèi)容,最后提交給系統(tǒng)驗(yàn)證,如果驗(yàn)證失敗將彈出驗(yàn)證失敗的提示信息,反之則保存服務(wù)請(qǐng)求,并返回到公共服務(wù)管理頁面[14]。其流程如圖6所示。
圖6 請(qǐng)求服務(wù)流程圖
公眾除了以上述方式請(qǐng)求服務(wù)外,也可在公眾號(hào)中發(fā)送文本信息,如各類咨詢、與公眾號(hào)進(jìn)行互動(dòng)、獲取相關(guān)服務(wù)。平臺(tái)后臺(tái)系統(tǒng)在接收到民眾發(fā)送的文本信息后,對(duì)其進(jìn)行文本分析,并提取其中的關(guān)鍵字。后臺(tái)系統(tǒng)根據(jù)提取到的關(guān)鍵字,在數(shù)據(jù)庫中的關(guān)鍵字匹配規(guī)則表中進(jìn)行檢索。如果檢索失敗,即系統(tǒng)中沒有關(guān)于該關(guān)鍵字的匹配規(guī)則,則向用戶發(fā)送一條預(yù)設(shè)的匹配失敗的信息,包括:關(guān)鍵字匹配失敗信息、幫助信息和熱點(diǎn)問題。如果檢索成功,則將該關(guān)鍵字所對(duì)應(yīng)的文章或信息發(fā)送給用戶。部門用戶可以通過后臺(tái)系統(tǒng)中的關(guān)鍵字匹配管理模塊新增新的關(guān)鍵字匹配規(guī)則,并對(duì)現(xiàn)有的關(guān)鍵字匹配規(guī)則進(jìn)行修改和刪除等操作。
3)繳納費(fèi)用。公眾通過點(diǎn)擊繳納費(fèi)用菜單打開繳納費(fèi)用的Web頁面。此時(shí)公眾需要在頁面中輸入繳納費(fèi)用所需的個(gè)人信息。根據(jù)應(yīng)用場景的不同,所需的個(gè)人信息也不同。比如繳納水電費(fèi),需要公眾輸入自己的家庭住址、室號(hào)等信息;又比如繳納交通罰款,需要公眾輸入自己的車牌、車架編號(hào)等信息。通過這些個(gè)人信息,在系統(tǒng)中對(duì)公眾進(jìn)行標(biāo)識(shí),從而查詢出公眾需要繳納的金額等信息。本系統(tǒng)在此基礎(chǔ)上,將上述個(gè)人信息與公眾的微信標(biāo)識(shí)OpenId進(jìn)行綁定,以方便公眾的再次使用。
公眾提交個(gè)人信息后,系統(tǒng)根據(jù)這些信息在數(shù)據(jù)庫中查詢待繳費(fèi)事項(xiàng)、金額等信息,系統(tǒng)將這些信息以及政務(wù)微信的應(yīng)用表示AppId、用戶標(biāo)識(shí)OpenId、簽名Sign等參數(shù)封裝成XML,并將該XML發(fā)送給微信的統(tǒng)一下單地址,得到prepay_id,paySign等支付參數(shù)。公眾選擇待繳事項(xiàng)后,進(jìn)入支付頁面。在支付頁面中,輸入繳納金額后,點(diǎn)擊支付,發(fā)起支付請(qǐng)求。微信客戶端接收到支付請(qǐng)求后,在頁面中調(diào)用JS API接口向微信支付系統(tǒng)請(qǐng)求支付,并將得到的prepay_id,paySign等支付參數(shù)通過HTTPS協(xié)議傳輸給微信支付系統(tǒng)。微信支付系統(tǒng)驗(yàn)證得到的支付參數(shù)的合法性和支付發(fā)起域名的權(quán)限。驗(yàn)證通過后,將驗(yàn)證結(jié)果返回給微信客戶端,并要求用戶給予支付授權(quán)。此時(shí)支付頁面上會(huì)要求用戶輸入支付密碼,用戶確認(rèn)支付并輸入支付密碼后,微信支付系統(tǒng)驗(yàn)證該授權(quán)并完成支付操作。政務(wù)微信后臺(tái)系統(tǒng)收到支付結(jié)果后,將支付信息加密存儲(chǔ)在數(shù)據(jù)庫,以便用戶可以查詢歷史支付記錄,并且通知微信客戶端,顯示支付成功頁面,展示支付信息。繳納費(fèi)用的時(shí)序如圖7所示。
圖7 繳納費(fèi)用時(shí)序圖
通過對(duì)現(xiàn)有的大量政務(wù)微信公眾號(hào)以及其他類型公眾號(hào)的技術(shù)方案的分析和研究,發(fā)現(xiàn)現(xiàn)有的公眾號(hào)都可以視為一種以微信為入口的Web網(wǎng)站或Web應(yīng)用。微信所提供的這種將微信公眾號(hào)轉(zhuǎn)變?yōu)閃eb網(wǎng)站或Web應(yīng)用的機(jī)制,使得微信公眾號(hào)得以突破微信的限制,通過Web的方式實(shí)現(xiàn)更多的功能。然而這種方式同樣帶來新的問題。
微信公眾號(hào)是運(yùn)行在微信APP之上的,微信官方團(tuán)隊(duì)對(duì)微信自身的性能做了優(yōu)化,諸如信息的發(fā)送和接收、請(qǐng)求的響應(yīng)的方面,所以在使用微信的基本功能,諸如聊天、公眾號(hào)中接收?qǐng)D文消息等,并沒有明顯的延遲感。然而微信官方團(tuán)隊(duì)并沒有,也沒辦法對(duì)于微信公眾號(hào)中所使用的Web頁面進(jìn)行性能優(yōu)化。而在微信公眾號(hào)中使用Web頁面,將微信公眾號(hào)建設(shè)成一個(gè)Web網(wǎng)站的技術(shù)方案已是業(yè)界主流的方案。所以本文針對(duì)微信在Web優(yōu)化方面的不足,對(duì)本平臺(tái)運(yùn)用Web優(yōu)化技術(shù)進(jìn)行性能優(yōu)化,以減少頁面加載時(shí)間。
1)設(shè)置緩存。
微信瀏覽器使用緩存來減少HTTP請(qǐng)求數(shù)量和HTTP響應(yīng)大小。通過對(duì)頁面中靜態(tài)資源使用緩存可以避免重復(fù)加載資源,提高資源的重復(fù)利用率,同時(shí)可以減少服務(wù)器通信壓力、提高前端頁面性能。
設(shè)置Expires頭部是啟用緩存最常用的方式之一,通過設(shè)置HTTP頭部的Expires字段來通知瀏覽器對(duì)于數(shù)據(jù)報(bào)中的數(shù)據(jù)進(jìn)行緩存,并設(shè)置失效時(shí)間,在每次請(qǐng)求時(shí)對(duì)其驗(yàn)證,來規(guī)定瀏覽器的行為:使用緩存數(shù)據(jù)或到服務(wù)器中抓取新的數(shù)據(jù)。然而以這種方式進(jìn)行緩存時(shí),必須對(duì)服務(wù)器及瀏覽器的時(shí)間進(jìn)行同步,從而確保Expires頭部中設(shè)定的失效時(shí)間可以正確地運(yùn)行。
通過設(shè)置Cache-Control中的max-age字段的方式來對(duì)數(shù)據(jù)進(jìn)行瀏覽器端的緩存時(shí),可以避免每次請(qǐng)求時(shí)在瀏覽器與服務(wù)器之間進(jìn)行時(shí)間同步,不過在HTTP1.1協(xié)議中才可以使用這種方式。
ETag用于檢測(cè)微信瀏覽器緩存中的組件是否與服務(wù)器上的組件一致。設(shè)置或移除ETag頭部信息,會(huì)對(duì)前端頁面的加載速度產(chǎn)生較大影響。在適當(dāng)?shù)那闆r下除ETag頭部可以提升系統(tǒng)整體效率,避免瀏覽器在本地緩存時(shí),對(duì)數(shù)據(jù)的重復(fù)性下載[14]。
在政務(wù)微信公眾號(hào)的開發(fā)中對(duì)相關(guān)資源設(shè)置緩存,可以有效提高公眾在使用政務(wù)公眾號(hào)時(shí)的流暢度,減少政務(wù)微信公眾號(hào)推送圖文消息時(shí)的響應(yīng)延遲,并且通過設(shè)置緩存的有效時(shí)間,定期清理緩存,可有效避免因?yàn)樵O(shè)置緩存帶來的微信占用內(nèi)存過大所導(dǎo)致的微信加載速度、響應(yīng)速度過慢的問題。
2)使用CDN。
由于HTTP協(xié)議的無狀態(tài)特性,為了在Web系統(tǒng)中存儲(chǔ)用戶信息,記錄用戶的登錄狀態(tài),引入了Cookie技術(shù)。Cookie技術(shù)可以在HTTP無狀態(tài)的環(huán)境中,標(biāo)識(shí)Web系統(tǒng)中的用戶,然而Cookie技術(shù)的引入使得HTTP請(qǐng)求數(shù)據(jù)大大增加,增加了HTTP請(qǐng)求響應(yīng)時(shí)間。
在這個(gè)前提下,有必要減少帶有Cookie信息的HTTP請(qǐng)求數(shù),以減少整體Web系統(tǒng)的響應(yīng)時(shí)間。將靜態(tài)資源(圖片、CSS文件、JS文件等)放在一個(gè)不需要Cookie的獨(dú)立域名之上,這是優(yōu)化這個(gè)問題的一個(gè)基本思想,而內(nèi)容分發(fā)網(wǎng)絡(luò)(Content Delivery Network,CDN)則是基于這個(gè)思想的一個(gè)解決方案。
CDN優(yōu)化了用戶網(wǎng)絡(luò)請(qǐng)求過程,它根據(jù)當(dāng)前網(wǎng)絡(luò)中,實(shí)時(shí)的網(wǎng)絡(luò)流量情況,以及各個(gè)節(jié)點(diǎn)之間的連接速度、負(fù)載狀況和節(jié)點(diǎn)到用戶間的地理位置距離等信息,將用戶的請(qǐng)求重新導(dǎo)向至于當(dāng)前用戶來說最優(yōu)的節(jié)點(diǎn)。CDN系統(tǒng)通過網(wǎng)絡(luò)定位重定向等技術(shù),減少了資源請(qǐng)求響應(yīng)時(shí)間,從而提高資源的加載速度。
通過使用CDN網(wǎng)絡(luò)系統(tǒng),可以加快政務(wù)微信公眾號(hào)中靜態(tài)資源的加載速度,提升政務(wù)微信公眾號(hào)的整體性能,以及公眾的用戶體驗(yàn),加快政務(wù)公眾號(hào)對(duì)公眾請(qǐng)求的響應(yīng)速度。
1)通過在系統(tǒng)服務(wù)器中的Apache的配置文件中添加如下內(nèi)容來對(duì)本系統(tǒng)中的圖片、CSS文件、JS文件等靜態(tài)資源啟用微信瀏覽器端的緩存。
Expires Active On
Expires By Type image/gif A2592000
Expires By Type image/jpeg A2592000
Expires By Type application/x-JavaScript A604800
Expires By Type text/css A604800
用戶在第一次通過公眾號(hào)訪問頁面時(shí),公眾號(hào)通過微信服務(wù)器向系統(tǒng)服務(wù)器發(fā)出頁面請(qǐng)求。系統(tǒng)服務(wù)器根據(jù)請(qǐng)求報(bào)中的數(shù)據(jù),返回相應(yīng)頁面的HTML文檔數(shù)據(jù),以及其中包含的圖片、CSS文件、JS文件等靜態(tài)資源。與此同時(shí),系統(tǒng)服務(wù)器根據(jù)Apache配置文件中的標(biāo)注,在返回靜態(tài)資源的報(bào)文的報(bào)頭中,添加Expires、Cache-Control(MaxAge)、mod_expires、Etag等頭部信息,通知微信瀏覽器,對(duì)這些靜態(tài)資源進(jìn)行本地緩存,并通知瀏覽緩存最大時(shí)間、本地緩存資源與服務(wù)器資源驗(yàn)證方式等。在公眾后續(xù)請(qǐng)求相同頁面時(shí),瀏覽器驗(yàn)證本地緩存資源是否失效,同時(shí)向系統(tǒng)服務(wù)器發(fā)出請(qǐng)求,驗(yàn)證頁面資源是否在緩存期間發(fā)生了改變。如果系統(tǒng)服務(wù)器返回304狀態(tài)碼,即通知瀏覽器頁面資源無改變,并且瀏覽器本地資源未過期,則瀏覽器直接使用本地緩存數(shù)據(jù)渲染頁面[15]。
2)本系統(tǒng)使用CDN技術(shù)來應(yīng)對(duì)網(wǎng)絡(luò)擁塞、命中率低等影響數(shù)據(jù)傳輸效率的問題,改善頁面請(qǐng)求過程,提高用戶訪問響應(yīng)速度,數(shù)據(jù)的傳輸速率、穩(wěn)定性以及命中率。
使用CDN優(yōu)化后的頁面請(qǐng)求過程如下:
①公眾訪問頁面,微信公眾號(hào)通過微信APP發(fā)出頁面請(qǐng)求,提供頁面URL。
②微信瀏覽器調(diào)用本地DNS解析庫對(duì)請(qǐng)求里的URL進(jìn)行解析。CDN系統(tǒng)對(duì)域名解析過程進(jìn)行了調(diào)整,本地解析后得到的是該URL所對(duì)應(yīng)的CNAME記錄。此時(shí)瀏覽器會(huì)對(duì)得到的CNAME記錄再次進(jìn)行解析。
③此次解析后得到CDN專用DNS服務(wù)器的IP地址,瀏覽器向該IP地址發(fā)出地址解析請(qǐng)求,CDN專用DNS服務(wù)器解析后,將CDN的緩存服務(wù)器IP地址返回用戶。用戶向CDN的緩存服務(wù)器發(fā)起內(nèi)容URL訪問請(qǐng)求。
④CDN的緩存服務(wù)器捕獲用戶的URL訪問請(qǐng)求后,根據(jù)請(qǐng)求中的URL,在cache中查找記錄,得到URL所對(duì)應(yīng)的IP地址。然后服務(wù)器對(duì)該IP地址提交訪問請(qǐng)求,系統(tǒng)服務(wù)器響應(yīng)訪問請(qǐng)求后,將所請(qǐng)求的數(shù)據(jù)返回給緩存服務(wù)器。
⑤緩存服務(wù)器從系統(tǒng)服務(wù)器得到數(shù)據(jù)后,首先會(huì)本地進(jìn)行緩存,以備之后請(qǐng)求相同數(shù)據(jù)時(shí)直接返回給客戶端;同時(shí)把獲取的數(shù)據(jù)返回給客戶端,完成數(shù)據(jù)服務(wù)過程。
⑥客戶端接收到返回的數(shù)據(jù)后,渲染頁面,展示給用戶,完成整個(gè)頁面請(qǐng)求過程[16]。
從表1本系統(tǒng)與傳統(tǒng)政務(wù)微信公眾號(hào)優(yōu)化前后的對(duì)比數(shù)據(jù)分析可以看出,在傳統(tǒng)的政務(wù)微信技術(shù)方案的基礎(chǔ)上,運(yùn)用優(yōu)化技術(shù)對(duì)政務(wù)微信公眾號(hào)的相關(guān)環(huán)節(jié)進(jìn)行優(yōu)化,可以有效減少政務(wù)微信的響應(yīng)時(shí)間,提升政務(wù)微信整體性能,以及公眾在使用政務(wù)微信時(shí)的用戶體驗(yàn)。
表1 本系統(tǒng)與傳統(tǒng)政務(wù)微信公眾號(hào)優(yōu)化前后的對(duì)比數(shù)據(jù)分析/ms
傳統(tǒng)微信公眾號(hào)本平臺(tái)請(qǐng)求響應(yīng)時(shí)間約5000不到1000靜態(tài)資源加載時(shí)間6134整體加載時(shí)間約15000約2300渲染時(shí)間5836腳本執(zhí)行時(shí)間3511
本文根據(jù)系統(tǒng)的需求分析,完成了基于微信公眾號(hào)的政務(wù)服務(wù)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)。將該平臺(tái)分為系統(tǒng)管理、政務(wù)公開和公共服務(wù)3個(gè)子系統(tǒng),實(shí)現(xiàn)政務(wù)信息隨處可查,行政服務(wù)便捷辦理,對(duì)確保政務(wù)信息及時(shí)披露,提高政府部門辦事效率方面具有非常重要的價(jià)值。在實(shí)現(xiàn)功能的基礎(chǔ)上,本文對(duì)于系統(tǒng)的整體性能進(jìn)行了優(yōu)化。對(duì)于系統(tǒng)中的諸如圖片、CSS文件、JS文件等靜態(tài)資源,使用瀏覽器本地緩存技術(shù),加快了靜態(tài)資源的加載速度,并且使用CDN技術(shù)改善頁面請(qǐng)求過程,以實(shí)現(xiàn)負(fù)載均衡,降低網(wǎng)絡(luò)擁塞,調(diào)高公眾訪問頁面的響應(yīng)速度。
微信已成為現(xiàn)代人不可或缺的社交工具,將微信應(yīng)用于電子政務(wù)系統(tǒng)當(dāng)中,既能發(fā)揮微信作為社交工具使用率高、影響范圍廣的優(yōu)點(diǎn),也可以借助電子政務(wù)系統(tǒng)強(qiáng)大的后臺(tái)支持功能完善政府的服務(wù),對(duì)更好地推進(jìn)政府工作,為公眾提供更優(yōu)質(zhì)、更貼心的公共服務(wù)具有重要的意義。
[1] 薛張偉. 我國政務(wù)微信公共服務(wù)研究[D]. 合肥:安徽大學(xué), 2016.
[2] 王芳,張璐陽. 中國政務(wù)微信的功能定位及公眾利用情況調(diào)查研究[J]. 電子政務(wù), 2014(10):58-69.
[3] 臧超. 政府新媒體背景下電子政務(wù)微信面臨的問題與對(duì)策[J]. 科技創(chuàng)新導(dǎo)報(bào), 2015(35):207-208.
[4] 房輝,常盛. 微信在電子政務(wù)服務(wù)中的應(yīng)用[J]. 辦公自動(dòng)化, 2015(20):38-39.
[5] 高云鶯. 微信在面向公眾服務(wù)的電子政務(wù)系統(tǒng)中的應(yīng)用研究[J]. 中共福建省委黨校學(xué)報(bào), 2013(10):43-47.
[6] 王益民. 全球電子政務(wù)發(fā)展現(xiàn)狀、特點(diǎn)趨勢(shì)及對(duì)中國的啟示——《2016年聯(lián)合國電子政務(wù)調(diào)查報(bào)告》解讀[J]. 電子政務(wù), 2016(9):62-69.
[7] 劉紅衛(wèi). 微信小程序應(yīng)用探析[J]. 無線互聯(lián)科技, 2016(23):11-12.
[8] 王安. 面對(duì)微信小程序的火爆很多人卻陷入了這8個(gè)誤區(qū)[J]. 計(jì)算機(jī)與網(wǎng)絡(luò), 2016,42(19):46-48.
[9] 陳潔,吳勝林. 新形勢(shì)下政務(wù)微信公眾號(hào)研究[J]. 新聞戰(zhàn)線, 2016(6X):131-132.
[10] 亞文輝. 小程序上線 鞏固微信入口地位[N]. 中國證券報(bào), 2017-01-14(A09).
[11] 畢永蕓. 信息技術(shù)對(duì)我國電子政務(wù)發(fā)展的影響與應(yīng)用探究[J]. 電腦知識(shí)與技術(shù), 2017,13(4):265-266.
[12] 張蛟. 淺談“互聯(lián)網(wǎng)+”時(shí)代下的電子政務(wù)[J]. 黑龍江科技信息, 2017(4):160.
[13] 周錦蔚. 服務(wù)型政府視角下的政務(wù)微信研究[D]. 上海:華東政法大學(xué), 2016.
[14] 王成,李少元,鄭黎曉,等. Web前端性能優(yōu)化方案與實(shí)踐[J]. 計(jì)算機(jī)應(yīng)用與軟件, 2014,31(12):89-95.
[15] 李雨晨,張大方,張繼,等. 一種針對(duì)瀏覽器并發(fā)連接限制的Web前端性能優(yōu)化算法[J]. 計(jì)算機(jī)應(yīng)用與軟件, 2013,30(12):4-7.
[16] 王亞楠,吳華瑞,黃鋒. 高并發(fā)Web應(yīng)用系統(tǒng)的性能優(yōu)化分析與研究[J]. 計(jì)算機(jī)工程與設(shè)計(jì), 2014,35(8):2976-2981.