傅梓煥 朱曉鳳 曾鐘渝 馬羨明
(廣州大學華軟軟件學院,廣東 廣州 510990)
基于多數(shù)可變規(guī)則的校內交友平臺的設計與實現(xiàn)
傅梓煥 朱曉鳳 曾鐘渝 馬羨明
(廣州大學華軟軟件學院,廣東 廣州 510990)
本文詳細分析了基于多數(shù)可變規(guī)則的校內交友平臺的設計。此平臺為在校生在線上匯聚交友信息,在線下進行社交活動,主要使用java、SQL、PHP等編程語言開發(fā),運行于安卓系統(tǒng)中。
PHP;安卓;Yii框架;校內交友
本設計將打造一個健康、活躍的校內陌生人社交平臺。與其他陌生人社交不同的是,本平臺有“多規(guī)則”、O2O、更安全、更健康等幾大特點?!岸嘁?guī)則”是指本平臺針對在校學生的特點推出的必須具有連接用戶線上與線下社交的多種社交活動規(guī)則,這些規(guī)則是不定期更新的,是用戶自選的。“O2O”的特點是建立在“多規(guī)則”的特點之上?!案踩笔侵副酒脚_所有用戶必須經(jīng)過實名認證才能正常使用,用戶通過平臺與校園教務系統(tǒng)對接,可通過教務系統(tǒng)進行實名驗證和資料對接?!案】怠笔侵概c其他陌生人社交應用離不開“約炮”等形象的不同,本平臺要打造的是綠色健康的陌生人社交品牌。
本平臺分為面向用戶的移動前端和面向平臺管理員的后臺服務器端。移動前端運行于安卓系統(tǒng)中,使用java語言進行開發(fā),而后臺服務器端使用PHP語言的Yii框架進行開發(fā),其中后臺采用阿里云的CentOS 6.5云服務器與Bmob后端云運行。阿里云是一種簡單高效、處理能力可彈性伸縮的計算服務,可快速構建更穩(wěn)定、安全的應用,同時提升運維效率,降低成本。Bmob后端云為專職于移動后端開發(fā)的服務,具有安全高效等特點。在項目中的兩種服務器的配合中,Bmob后端云負責處理聊天與登錄注冊部分,阿里云負責處理規(guī)則活動后臺管理等部分。在阿里云服務器中使用Apache、MySQL和PHP的組合進行基礎環(huán)境搭建,此環(huán)境組合有著免費開源、相對高效易用的優(yōu)點。
3.1 主要功能模塊
根據(jù)需求分析,本平臺主要分為以下功能模塊:
(1)登錄注冊模塊,對用戶的身份進行唯一區(qū)分;
(2)聯(lián)系人和會話模塊,用戶與用戶間的關系和會話;
(3)多規(guī)則活動的選擇和顯示模塊,在應用中顯示用戶選擇或系統(tǒng)默認的活動模塊,同時用戶通過該模塊選擇自己感興趣的規(guī)則活動;
(4)用戶實名認證,即用戶與用戶所在學校的教務系統(tǒng)進行綁定的模塊;
(5)管理員后臺管理模塊。
實現(xiàn)以上的所有功能都需要數(shù)據(jù)庫的支持,數(shù)據(jù)庫中含有多個表,見表1,分別對應不同的功能,其中主要的數(shù)據(jù)表有:活動規(guī)則表、活動動態(tài)表、用戶自選規(guī)則表、學校表、用戶表等。
表1 數(shù)據(jù)庫中部分數(shù)據(jù)表的字段組成
此外,除了以上的功能外,還有其它的應用功能,例如:找回密碼,附近的人,搜索好友,發(fā)布動態(tài),資料修改等,但在本文不對這些功能進行詳細的描述。
3.2 登錄注冊模塊
在登錄前需進行用戶注冊,本平臺在新用戶的注冊中使用最為簡便的注冊方式,即在注冊界面輸入用戶名、密碼和重復密碼即可完成注冊,但在注冊后需進行資料的補充與身份的認定(若無身份認定則不能參與社交活動,只能瀏覽活動列表)。注冊完成后為默認為已登錄狀態(tài),運行界面如圖1所示。
注冊的后臺業(yè)務處理放在Bmob后端云中,Bmob后端云處理完畢后將在后臺將數(shù)據(jù)與阿里云的數(shù)據(jù)進行對接,即保持兩種服務器的用戶數(shù)據(jù)同步。在用戶二次登錄時也將檢驗其數(shù)據(jù)是否在兩種服務器中已同步,以確保兩種服務器中用戶的數(shù)據(jù)相同,也防止其中一個服務的數(shù)據(jù)的丟失導致所有數(shù)據(jù)丟失的情況的發(fā)生。
3.3 聯(lián)系人和會話模塊
聯(lián)系人和會話模塊包括添加好友、搜索好友、尋找附近的人、加入黑名單、查看用戶資料等應用功能。
此模塊為基礎的社交功能模塊,為主要的多規(guī)則社交提供基礎的交流方式。為使會話功能與多規(guī)則社交模塊保持獨立,并在服務器出現(xiàn)宕機或者被入侵時不會受到相互牽連,我們將會話和聯(lián)系人的模塊與登錄注冊模塊一起放在Bmob后端云中。但這里的會話數(shù)據(jù)只放在Bmob后端云中,僅做備份處理,不與阿里云同步,運行界面如圖2所示。
圖1 登錄界面示意圖
圖2 聯(lián)系人界面示意圖
3.4 多規(guī)則活動的選擇和顯示模塊
此模塊是本平臺最核心的模塊,實現(xiàn)本平臺的特色社交方式。此過程有多個步驟,流程如下:
(1)用戶注冊。為加強用戶線下社交的安全性,在本平臺中未登錄的游客或未實名認證的用戶只能進入本平臺默認放在主頁的六個規(guī)則活動列表,但不能參與社交活動,且不能發(fā)布社交活動。
(2)登錄平臺。
(3)首次登錄后可進行兩種操作:
1)首次登錄后可進行實名認證,初期的實名認證僅限于對接該用戶所在的校園的教務系統(tǒng)進行認證;
2)首次登錄后將進行主頁的六個用戶自選的社交活動規(guī)則的選擇,也可以不選擇。若不選擇則主頁將會顯示系統(tǒng)默認的六個社交活動規(guī)則。
(1)用戶選擇某個活動規(guī)則,進入該規(guī)則頁面,社交規(guī)則顯示頁面如圖3所示。。
(2)若成功進行實名認證進入之后可進行兩種操作(若未進行實名認證則必須返回進行實名認證),用戶參與或發(fā)布社交活動的流程如圖4所示:
1)發(fā)布符合該規(guī)則的社交活動;
2)參與自己感興趣的其他用戶發(fā)布的社交活動。
在多規(guī)則這一模塊中,多規(guī)則的提供是由后臺管理人員完成,后臺管理人員提供多種多樣的符合線上與線下相結合的社交活動規(guī)則,供用戶選擇,但用戶只能選擇六個社交活動規(guī)則放在主頁中。用戶選擇社交活動規(guī)則后將改變用戶規(guī)則表中的六個字段的值,當用戶登錄本平臺的應用時,應用將自動獲取用戶選擇后的規(guī)則活動放置在主頁中。
圖3 用戶選擇后的社交規(guī)則顯示頁面
圖4 用戶參與或發(fā)布社交 活動的流程
3.5 用戶實名認證模塊
本平臺面向的人群是校園用戶,所以在實名認證上,我們采取的是與高校教務學生管理系統(tǒng)對接來獲取用戶的真實資料,這不單是為用戶的真實性做一定的保證,還是保證用戶的資料符合社交平臺的資料需求。
在與高校教務系統(tǒng)對接上,我們使用PHP的CURL系列函數(shù)爬取教務系統(tǒng)的網(wǎng)頁數(shù)據(jù)以及驗證學生賬號的正誤。
用戶在個人資料頁面點擊“綁定學號”按鈕,進而系統(tǒng)會彈出綁定學號的彈框。用戶需選擇自己學校所在的省市后再選擇自己所在的學校,最后進行學號與密碼的輸入并點擊確定按鈕,若用戶輸入的學號和密碼輸入正確,則綁定成功,若輸入的學號和密碼有誤則需重新輸入。
一個用戶賬號只能綁定一個學生學號,一個學生的學號也只能被一個用戶賬號綁定,且綁定后不能更改。
系統(tǒng)綁定學號的界面如圖5所示。
圖5 綁定學號界面示意圖
3.6 后臺管理模塊
后臺管理模塊的功能主要為數(shù)據(jù)庫中的數(shù)據(jù)的管理,即對數(shù)據(jù)表進行“增刪查改”的操作。后臺管理模塊分為:用戶管理、視圖管理、動態(tài)管理、學校管理、系統(tǒng)管理。
在進入后臺管理模塊前,需進行管理員賬號登錄驗證,登錄成功后才可進入后臺管理界面。后臺管理模塊對超鏈接有過濾作用,即無法通過超鏈接直接進入管理界面,只有登錄成功后才可進入后臺管理主頁面。
用戶管理為查看用戶的所有信息(用戶密碼為密文),并且對用戶進行增刪操作,對應的操作是對數(shù)據(jù)庫中的用戶表數(shù)據(jù)進行增刪查改。
視圖管理為應用中的動態(tài)圖片管理,例如首頁的輪播圖片管理,對應的操作是對數(shù)據(jù)庫中的圖片表數(shù)據(jù)的增刪查改。
動態(tài)管理為管理用戶在本平臺發(fā)布的動態(tài),在動態(tài)管理中可對用戶發(fā)布的動態(tài)進行刪除操作。對應的操作是活動動態(tài)表數(shù)據(jù)的刪除。
學校管理為管理學校的數(shù)據(jù),對應的操作是學校表的增刪查改。
系統(tǒng)管理為管理系統(tǒng)管理員的賬號信息,對應的操作是管理員表的增刪查改。
后臺管理中心界面如圖6所示。
圖6 后臺管理中心界面示意圖
4.1 面向對象與MVC架構
本系統(tǒng)的動態(tài)部分采用PHP的Yii框架編寫。Yii框架是一個純面向對象的框架,同時所有采用Yii開發(fā)的應用都使用MVC架構。
面向對象的方法是采用構造模型的觀點,在系統(tǒng)的開發(fā)過程中,各個步驟的共同的目標是建造一個問題域的模型。在面向對象的設計中,初始元素是對象,然后將具有共同特征的對象歸納成類,組織類之間的等級關系,構造類庫。在應用時,在類庫中選擇相應的類[1]。
所有Yii應用是使用模型-視圖-控制器(MVC)架構,Yii強制這種開發(fā)模式,通過提供一個放置MVC代碼的位置,最大限度地減少重復,并有助于代碼的重用性和可維護性。編寫越少的代碼,則需要的時間就越少,應用程序將贏得市場。同樣,越容易維護的應用程序,留在市場的時間就越長[2]。
4.2 Session管理
在計算機專業(yè)術語中,Session是指一個終端用戶與交互系統(tǒng)進行通信的時間間隔,通常指從注冊進入系統(tǒng)到注銷退出系統(tǒng)之間所經(jīng)過的時間。因此,Session實際上是一個特定的時間概念[3]。
當用戶登錄進入本平臺應用后,后臺將創(chuàng)建一個唯一的Session(會話),在用戶注銷登錄之前,用戶在應用中的所有短鏈接的操作都需通過該Session來記錄信息與辨別用戶信息。用戶每次登錄都將產(chǎn)生一個唯一的Session,每次登錄所產(chǎn)生的Session都不相同,直到用戶注銷登錄或者該Session超過系統(tǒng)所設定的Session的存活期時將會刪除該Session,則該Session的生命周期結束。
本文所介紹的校內交友平臺旨在減少陌生人社交的危險性,減弱網(wǎng)絡虛擬社交,加強線下的真實社交,給予學生一個更健康更安全的社交平臺。
本文從平臺設計的概念與部分系統(tǒng)實現(xiàn)上敘述平臺的實現(xiàn),從中探討了平臺應用的前后臺關鍵部分的實現(xiàn)和其中的關鍵技術。但本平臺的實現(xiàn)成果中還存在著許多不足之處,本平臺將不斷地補充、修正和完善。
[1]Stanley B.Lippman,Josee Lajoie,Barbara E.Moo.C++ Primer[M].北京:人民郵電出版社,2010.
[2]杰費里·溫西特.應用Yii1.1和PHP5進行敏捷Web開發(fā)[M].Leanpub,2013.
[3]馬駿.PHP應用開發(fā)與實踐[M].北京:人民郵電出版社,2012.
Analysis and Design of the Campus Dating Platform Based on Majority Variable Rules
Fu Zihuan Zhu Xiaofeng Zeng Zhongyu Ma Xianming
(South China Institute of Software Engineering.GU,Guangzhou 510990,Guangdong)
This article analyzes the design of the campus dating platform which is based on majority variable rules.This platform collects dating information online and takes an activity offline for students.It develops using java,SQL and PHP programming language and runs on android.
PHP develop;Android;Yii framework;make friends at school
TP311.52
A
1008-6609(2015)11-0073-04
傅梓煥,男,廣東汕尾人,本科,研究方向:企業(yè)級數(shù)據(jù)庫應用與開發(fā)。