王心妍 毛莉君
摘 要:移動(dòng)4G網(wǎng)絡(luò)和微信公眾平臺(tái)的興起為企業(yè)商貿(mào)提供了更廣闊的發(fā)展機(jī)會(huì),企業(yè)借助微信平臺(tái)可以大大提高用戶體驗(yàn)和粘性,促進(jìn)企業(yè)長遠(yuǎn)發(fā)展。網(wǎng)站基于微信公眾平臺(tái)的獨(dú)特性,結(jié)合企業(yè)自身特點(diǎn),介紹了基于Android平臺(tái)的企業(yè)微信服務(wù)系統(tǒng)的開發(fā)。
關(guān)鍵詞:Mycat集群;Redis集群;微信公眾平臺(tái)
隨著微信和手機(jī)移動(dòng)4G網(wǎng)絡(luò)的發(fā)展,微信已成為智能手機(jī)用戶手機(jī)移動(dòng)應(yīng)用不可或缺的工具,同時(shí)也為企業(yè)帶來了新的機(jī)遇,各大中小企業(yè)為拓展業(yè)務(wù)陸續(xù)開發(fā)屬于自己的APP,深化對微信公眾平臺(tái)的二次開發(fā),使企業(yè)的微信營銷更具有針對性。
1 基于Android平臺(tái)的APP開發(fā)
目前Android手機(jī)占居了絕大多數(shù)的市場,因此我們基于Android平臺(tái)開發(fā)企業(yè)專屬的APP應(yīng)用。首先根據(jù)企業(yè)需求規(guī)劃其業(yè)務(wù)功能,其次采用MySQL進(jìn)行數(shù)據(jù)庫設(shè)計(jì),采用j2ee技術(shù)搭建Server端,采用android+html5做前端展示頁面,主要利用Shiro進(jìn)行權(quán)限管理,用Redis集群解決高并發(fā)以提高響應(yīng)速度。
1.1 后臺(tái)的實(shí)現(xiàn)
1.1.1 后臺(tái)數(shù)據(jù)庫的建立
本系統(tǒng)的后臺(tái)數(shù)據(jù)庫采用MySQL來實(shí)現(xiàn),不僅因?yàn)镸ySQL數(shù)據(jù)庫具有體積小、速度快的優(yōu)點(diǎn),更重要的是因?yàn)樗情_源數(shù)據(jù)庫,使用成本低,可以針對不同的應(yīng)用進(jìn)行相應(yīng)的修改,而且該數(shù)據(jù)庫基于線程的內(nèi)存分配系統(tǒng),具有極高的可持續(xù)性和穩(wěn)定性,可以靈活地為用戶提供各種服務(wù),而不會(huì)占用過多的系統(tǒng)資源。
根據(jù)企業(yè)需求規(guī)劃其業(yè)務(wù)功能,本系統(tǒng)主要有六大功能:賬號(hào)綁定與解除、商品推薦、促銷通知、商品查詢、購買歷史查詢、信息推送。因此在創(chuàng)建后臺(tái)數(shù)據(jù)庫時(shí),主要數(shù)據(jù)表有用戶信息表、用戶權(quán)限表、商品分類表、商品信息表、用戶商品表和商品推薦表等,其中用戶信息表是關(guān)于管理員、維護(hù)人員、客戶、訪客基本信息的數(shù)據(jù)表,用戶權(quán)限表是對各類用戶不同權(quán)限設(shè)定的數(shù)據(jù)表,商品分類表是對商品進(jìn)行分類的數(shù)據(jù)表,商品信息表是所有商品相關(guān)信息的數(shù)據(jù)表,用戶商品表就是用戶購買商品的購買記錄表。
由于單臺(tái)機(jī)子硬盤和單點(diǎn)壓力過大,所以引用了Mycat集群第三方開元軟件來解決,其工作原理如圖1所示。
Mycat是一個(gè)開源的分布式數(shù)據(jù)庫系統(tǒng),是一個(gè)實(shí)現(xiàn)了MySQL協(xié)議的服務(wù)器,前端用戶可以把它看作是一個(gè)數(shù)據(jù)庫代理,用MySQL客戶端工具和命令行訪問,而其后端可以用MySQL原生協(xié)議與多個(gè)MySQL服務(wù)器通信,也可以用JDBC協(xié)議與大多數(shù)主流數(shù)據(jù)庫服務(wù)器通信,其核心功能是分表分庫,即將一個(gè)大表水平分割為N個(gè)小表,存儲(chǔ)在后端MySQL服務(wù)器里或者其他數(shù)據(jù)庫里。
Mycat可以低成本地將現(xiàn)有的單機(jī)數(shù)據(jù)庫和應(yīng)用平滑遷移到“云“端,解決數(shù)據(jù)存儲(chǔ)和業(yè)務(wù)規(guī)模迅速增長情況下的數(shù)據(jù)瓶頸問題,這樣可以使MySQL數(shù)據(jù)庫易于擴(kuò)展,可切分,就可以避免單機(jī)的性能缺陷。
1.1.2 后臺(tái)管理
本系統(tǒng)的后臺(tái)管理采用spring MVC+Mybatis+Shiro整合高性能框架構(gòu)建絕對開源平臺(tái),模擬大型互聯(lián)網(wǎng)架構(gòu),做到高并發(fā),大數(shù)據(jù)處理,整個(gè)項(xiàng)目使用定制化服務(wù)思想,提供原子化、模塊化的方案,將功能模塊進(jìn)行拆分,可以公用到所有的項(xiàng)目中。本平臺(tái)采用分布式部署架構(gòu),對所有模塊進(jìn)行拆分,使項(xiàng)目做到絕對解耦,要保證高穩(wěn)定性的前提下為用戶提供大數(shù)據(jù)、高并發(fā)、服務(wù)集成等功能。
后臺(tái)管理系統(tǒng)在認(rèn)證、授權(quán)和加密管理上采用Shrio來實(shí)現(xiàn)。Shiro是一個(gè)強(qiáng)大易用的Java安全框架,提供了認(rèn)證、授權(quán)、加密和會(huì)話管理等功能。認(rèn)證是對用戶身份的識(shí)別,常被稱為用戶“登錄”;授權(quán)是指用戶的訪問控制;密碼加密是保護(hù)或隱藏?cái)?shù)據(jù)防止被偷窺;會(huì)話管理是指每個(gè)用戶相關(guān)的時(shí)間敏感的狀態(tài)。對于任何一個(gè)應(yīng)用程序,Shiro都可以提供全面的安全管理服務(wù),并且相對于其他安全框架,Shiro要簡單的多。
1.1.3 數(shù)據(jù)的緩存處理
大數(shù)據(jù)時(shí)代對數(shù)據(jù)的訪問和更新速度提出了更高的要求,為了讓數(shù)據(jù)庫能夠及時(shí)地處理微信用戶實(shí)時(shí)響應(yīng)的需求,Redis+Twemproxy集群技術(shù)為后臺(tái)數(shù)據(jù)庫提供了有效的緩存解決方案。Redis是一個(gè)高性能鍵/值存儲(chǔ)的內(nèi)存數(shù)據(jù)庫,它會(huì)定期的把更新的數(shù)據(jù)寫入磁盤并在此基礎(chǔ)上實(shí)現(xiàn)主從同步。應(yīng)用Redis實(shí)現(xiàn)數(shù)據(jù)的讀寫,同時(shí)利用隊(duì)列處理器定時(shí)將數(shù)據(jù)寫入MySQL。實(shí)時(shí)讀寫Redis的同時(shí),MySQL數(shù)據(jù)則通過隊(duì)列異步來處理,這樣則可以緩解MySQL壓力,解決高并發(fā)。Twemproxy是redis協(xié)議的代理服務(wù)器,它應(yīng)用可以使Redis各節(jié)點(diǎn)的位置透明化,每個(gè)Redis節(jié)點(diǎn)都可以知道自己以及其相鄰節(jié)點(diǎn)的位置,這些信息對于節(jié)點(diǎn)的主從復(fù)制以及失敗節(jié)點(diǎn)的修復(fù)是很有幫助的。
由于單臺(tái)Redis服務(wù)器的內(nèi)存管理能力有限,訪問量過大時(shí)服務(wù)器性能便會(huì)急劇下降,而且服務(wù)器一旦發(fā)生故障將直接影響大面積業(yè)務(wù)。為了獲取更好的緩存性能及擴(kuò)展性,可以采用搭建基于Twemproxy的Redis集群來滿足需求,本系統(tǒng)的數(shù)據(jù)緩存處理就是采用Redis+Twemproxy集群技術(shù)來實(shí)現(xiàn)。為集群中的每一個(gè)Redis劃分主、從服務(wù)器,分開存儲(chǔ)以確保數(shù)據(jù)的安全,Twemproxy的應(yīng)用可以有效地緩解大量連接對Redis服務(wù)器性能的影響,它的每個(gè)節(jié)點(diǎn)都連接Redis的主服務(wù)器,當(dāng)Redis主服務(wù)器宕機(jī)了,其從服務(wù)器就會(huì)接替主服務(wù)器來完成任務(wù)。
1.2 前臺(tái)的實(shí)現(xiàn)
目前大多數(shù)移動(dòng)網(wǎng)絡(luò)應(yīng)用軟件都采用html5做為開發(fā)工具,因?yàn)槭褂胔tml5開發(fā)APP的開發(fā)和維護(hù)費(fèi)用較低,其生成的頁面小且性能好,可以降低手機(jī)耗電量,軟件升級方便,所以本系統(tǒng)也采用html5來開發(fā)。本系統(tǒng)使用html5和 CSS3撰寫基于Web的相關(guān)應(yīng)用程式,并將所開發(fā)的系統(tǒng)打包成基于Android手機(jī)平臺(tái)的APK,然后將其上傳到相應(yīng)的服務(wù)器上,手機(jī)用戶只需要下載并安裝該軟件,便會(huì)在手機(jī)上生成相應(yīng)的APP。
2 注冊微信公眾號(hào)
進(jìn)入微信公眾平臺(tái)注冊頁面,輸入注冊郵箱和密碼,并根據(jù)提示激活帳號(hào),選擇企業(yè)類型,隨后填寫該企業(yè)的真實(shí)信息,包括企業(yè)名稱、郵箱、郵編、地址、電話、機(jī)構(gòu)代碼、組織機(jī)構(gòu)加蓋公章掃描件、運(yùn)營者身份證號(hào)碼及名稱、職務(wù)、運(yùn)營者手持證件照片、手機(jī)號(hào)碼、短信驗(yàn)證碼和授權(quán)運(yùn)營書,隨后等待審核。
審核成功后即可進(jìn)行該微信公眾號(hào)的基本設(shè)置,比如頭像、二維碼、公眾號(hào)名稱、微信號(hào)碼的設(shè)置、功能介紹以及消息回復(fù)的設(shè)置。
3 微信和APP對接
企業(yè)微信公眾號(hào)注冊成功之后,就可利用微信公眾平臺(tái)“功能”菜單中的“自定義菜單”實(shí)現(xiàn)對該公眾號(hào)的二次開發(fā)。主菜單最多允許設(shè)置三個(gè),每個(gè)主菜單中可以設(shè)置各自相關(guān)的子菜單選項(xiàng),在每一個(gè)菜單選項(xiàng)的設(shè)置環(huán)節(jié)中配置消息接口,登記該企業(yè)用于消息處理的服務(wù)器資源URL和用于生成簽名的Token值,實(shí)現(xiàn)微信與APP的對接。
企業(yè)開發(fā)了自己專屬的APP之后,用戶只需要掃描二維碼,就可以獲取一個(gè)覆蓋了企業(yè)動(dòng)態(tài)信息的icon,而這個(gè)在用戶手機(jī)上占有“一席之地”的icon,就成為用戶隨時(shí)隨地與企業(yè)交流與互動(dòng)的平臺(tái),成了使用者生活中的一部分。
4 結(jié)語
本文針對企業(yè)微信營銷,對其微信公眾平臺(tái)進(jìn)行二次開發(fā),實(shí)現(xiàn)基于android平臺(tái)的電商微信服務(wù)系統(tǒng)的開發(fā),為企業(yè)更加個(gè)性化、便利化的微信營銷提供支持與服務(wù)。開發(fā)的軟件具有極強(qiáng)的實(shí)際應(yīng)用價(jià)值,將為企業(yè)的商業(yè)營銷創(chuàng)建一種新的模式。
[參考文獻(xiàn)]
[1]邱祝文.基于redis的分布式緩存系統(tǒng)架構(gòu)研究[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2014(10):48-49.
[2]易偉.微信公眾平臺(tái)搭建與開發(fā)揭秘[M].北京:機(jī)械工業(yè)出版社,2013.
[3]鳳偉.Web2.0下基于微信公眾平臺(tái)的設(shè)計(jì)研究[J].無線互聯(lián)科技,2014(10):87-89.
[4]范豐龍.電子商務(wù)中微信服務(wù)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].商場現(xiàn)代化,2013(10):112-113.
[5]微信.微信公眾平臺(tái)[EB/OL].[2013-03-22].http:∥mp.weixin.qq.com/wik-i/index.php?title=消息接口指南.
Exploration on the E-commerce WeChat Service System Based on Android
Wang Xinyan, Mao Lijun
(Xian Peihua University, Xian 710125, China)
Abstract: The rise of 4G mobile network and WeChat offer a wider development for Enterprises trade. Enterprises can highly increase u ser experience and viscosity by micro hurts and promote their own development. The paper introduce the exploration on enterprises WeC hat service system based on Android by analyzing the characteristics of WeChat and enterprises themselves.
Key words: Mycat cluster; Redis cluster; WeChat