傅梓煥 朱曉鳳 曾鐘渝 馬羨明
(廣州大學華軟軟件學院,廣東 廣州 510990)
基于多數可變規則的校內交友平臺的設計與實現
傅梓煥 朱曉鳳 曾鐘渝 馬羨明
(廣州大學華軟軟件學院,廣東 廣州 510990)
本文詳細分析了基于多數可變規則的校內交友平臺的設計。此平臺為在校生在線上匯聚交友信息,在線下進行社交活動,主要使用java、SQL、PHP等編程語言開發,運行于安卓系統中。
PHP;安卓;Yii框架;校內交友
本設計將打造一個健康、活躍的校內陌生人社交平臺。與其他陌生人社交不同的是,本平臺有“多規則”、O2O、更安全、更健康等幾大特點。“多規則”是指本平臺針對在校學生的特點推出的必須具有連接用戶線上與線下社交的多種社交活動規則,這些規則是不定期更新的,是用戶自選的。“O2O”的特點是建立在“多規則”的特點之上。“更安全”是指本平臺所有用戶必須經過實名認證才能正常使用,用戶通過平臺與校園教務系統對接,可通過教務系統進行實名驗證和資料對接。“更健康”是指與其他陌生人社交應用離不開“約炮”等形象的不同,本平臺要打造的是綠色健康的陌生人社交品牌。
本平臺分為面向用戶的移動前端和面向平臺管理員的后臺服務器端。移動前端運行于安卓系統中,使用java語言進行開發,而后臺服務器端使用PHP語言的Yii框架進行開發,其中后臺采用阿里云的CentOS 6.5云服務器與Bmob后端云運行。阿里云是一種簡單高效、處理能力可彈性伸縮的計算服務,可快速構建更穩定、安全的應用,同時提升運維效率,降低成本。Bmob后端云為專職于移動后端開發的服務,具有安全高效等特點。在項目中的兩種服務器的配合中,Bmob后端云負責處理聊天與登錄注冊部分,阿里云負責處理規則活動后臺管理等部分。在阿里云服務器中使用Apache、MySQL和PHP的組合進行基礎環境搭建,此環境組合有著免費開源、相對高效易用的優點。
3.1 主要功能模塊
根據需求分析,本平臺主要分為以下功能模塊:
(1)登錄注冊模塊,對用戶的身份進行唯一區分;
(2)聯系人和會話模塊,用戶與用戶間的關系和會話;
(3)多規則活動的選擇和顯示模塊,在應用中顯示用戶選擇或系統默認的活動模塊,同時用戶通過該模塊選擇自己感興趣的規則活動;
(4)用戶實名認證,即用戶與用戶所在學校的教務系統進行綁定的模塊;
(5)管理員后臺管理模塊。
實現以上的所有功能都需要數據庫的支持,數據庫中含有多個表,見表1,分別對應不同的功能,其中主要的數據表有:活動規則表、活動動態表、用戶自選規則表、學校表、用戶表等。

表1 數據庫中部分數據表的字段組成
此外,除了以上的功能外,還有其它的應用功能,例如:找回密碼,附近的人,搜索好友,發布動態,資料修改等,但在本文不對這些功能進行詳細的描述。
3.2 登錄注冊模塊
在登錄前需進行用戶注冊,本平臺在新用戶的注冊中使用最為簡便的注冊方式,即在注冊界面輸入用戶名、密碼和重復密碼即可完成注冊,但在注冊后需進行資料的補充與身份的認定(若無身份認定則不能參與社交活動,只能瀏覽活動列表)。注冊完成后為默認為已登錄狀態,運行界面如圖1所示。
注冊的后臺業務處理放在Bmob后端云中,Bmob后端云處理完畢后將在后臺將數據與阿里云的數據進行對接,即保持兩種服務器的用戶數據同步。在用戶二次登錄時也將檢驗其數據是否在兩種服務器中已同步,以確保兩種服務器中用戶的數據相同,也防止其中一個服務的數據的丟失導致所有數據丟失的情況的發生。
3.3 聯系人和會話模塊
聯系人和會話模塊包括添加好友、搜索好友、尋找附近的人、加入黑名單、查看用戶資料等應用功能。
此模塊為基礎的社交功能模塊,為主要的多規則社交提供基礎的交流方式。為使會話功能與多規則社交模塊保持獨立,并在服務器出現宕機或者被入侵時不會受到相互牽連,我們將會話和聯系人的模塊與登錄注冊模塊一起放在Bmob后端云中。但這里的會話數據只放在Bmob后端云中,僅做備份處理,不與阿里云同步,運行界面如圖2所示。

圖1 登錄界面示意圖

圖2 聯系人界面示意圖
3.4 多規則活動的選擇和顯示模塊
此模塊是本平臺最核心的模塊,實現本平臺的特色社交方式。此過程有多個步驟,流程如下:
(1)用戶注冊。為加強用戶線下社交的安全性,在本平臺中未登錄的游客或未實名認證的用戶只能進入本平臺默認放在主頁的六個規則活動列表,但不能參與社交活動,且不能發布社交活動。
(2)登錄平臺。
(3)首次登錄后可進行兩種操作:
1)首次登錄后可進行實名認證,初期的實名認證僅限于對接該用戶所在的校園的教務系統進行認證;
2)首次登錄后將進行主頁的六個用戶自選的社交活動規則的選擇,也可以不選擇。若不選擇則主頁將會顯示系統默認的六個社交活動規則。
(1)用戶選擇某個活動規則,進入該規則頁面,社交規則顯示頁面如圖3所示。。
(2)若成功進行實名認證進入之后可進行兩種操作(若未進行實名認證則必須返回進行實名認證),用戶參與或發布社交活動的流程如圖4所示:
1)發布符合該規則的社交活動;
2)參與自己感興趣的其他用戶發布的社交活動。
在多規則這一模塊中,多規則的提供是由后臺管理人員完成,后臺管理人員提供多種多樣的符合線上與線下相結合的社交活動規則,供用戶選擇,但用戶只能選擇六個社交活動規則放在主頁中。用戶選擇社交活動規則后將改變用戶規則表中的六個字段的值,當用戶登錄本平臺的應用時,應用將自動獲取用戶選擇后的規則活動放置在主頁中。

圖3 用戶選擇后的社交規則顯示頁面

圖4 用戶參與或發布社交 活動的流程
3.5 用戶實名認證模塊
本平臺面向的人群是校園用戶,所以在實名認證上,我們采取的是與高校教務學生管理系統對接來獲取用戶的真實資料,這不單是為用戶的真實性做一定的保證,還是保證用戶的資料符合社交平臺的資料需求。
在與高校教務系統對接上,我們使用PHP的CURL系列函數爬取教務系統的網頁數據以及驗證學生賬號的正誤。
用戶在個人資料頁面點擊“綁定學號”按鈕,進而系統會彈出綁定學號的彈框。用戶需選擇自己學校所在的省市后再選擇自己所在的學校,最后進行學號與密碼的輸入并點擊確定按鈕,若用戶輸入的學號和密碼輸入正確,則綁定成功,若輸入的學號和密碼有誤則需重新輸入。
一個用戶賬號只能綁定一個學生學號,一個學生的學號也只能被一個用戶賬號綁定,且綁定后不能更改。
系統綁定學號的界面如圖5所示。

圖5 綁定學號界面示意圖
3.6 后臺管理模塊
后臺管理模塊的功能主要為數據庫中的數據的管理,即對數據表進行“增刪查改”的操作。后臺管理模塊分為:用戶管理、視圖管理、動態管理、學校管理、系統管理。
在進入后臺管理模塊前,需進行管理員賬號登錄驗證,登錄成功后才可進入后臺管理界面。后臺管理模塊對超鏈接有過濾作用,即無法通過超鏈接直接進入管理界面,只有登錄成功后才可進入后臺管理主頁面。
用戶管理為查看用戶的所有信息(用戶密碼為密文),并且對用戶進行增刪操作,對應的操作是對數據庫中的用戶表數據進行增刪查改。
視圖管理為應用中的動態圖片管理,例如首頁的輪播圖片管理,對應的操作是對數據庫中的圖片表數據的增刪查改。
動態管理為管理用戶在本平臺發布的動態,在動態管理中可對用戶發布的動態進行刪除操作。對應的操作是活動動態表數據的刪除。
學校管理為管理學校的數據,對應的操作是學校表的增刪查改。
系統管理為管理系統管理員的賬號信息,對應的操作是管理員表的增刪查改。
后臺管理中心界面如圖6所示。

圖6 后臺管理中心界面示意圖
4.1 面向對象與MVC架構
本系統的動態部分采用PHP的Yii框架編寫。Yii框架是一個純面向對象的框架,同時所有采用Yii開發的應用都使用MVC架構。
面向對象的方法是采用構造模型的觀點,在系統的開發過程中,各個步驟的共同的目標是建造一個問題域的模型。在面向對象的設計中,初始元素是對象,然后將具有共同特征的對象歸納成類,組織類之間的等級關系,構造類庫。在應用時,在類庫中選擇相應的類[1]。
所有Yii應用是使用模型-視圖-控制器(MVC)架構,Yii強制這種開發模式,通過提供一個放置MVC代碼的位置,最大限度地減少重復,并有助于代碼的重用性和可維護性。編寫越少的代碼,則需要的時間就越少,應用程序將贏得市場。同樣,越容易維護的應用程序,留在市場的時間就越長[2]。
4.2 Session管理
在計算機專業術語中,Session是指一個終端用戶與交互系統進行通信的時間間隔,通常指從注冊進入系統到注銷退出系統之間所經過的時間。因此,Session實際上是一個特定的時間概念[3]。
當用戶登錄進入本平臺應用后,后臺將創建一個唯一的Session(會話),在用戶注銷登錄之前,用戶在應用中的所有短鏈接的操作都需通過該Session來記錄信息與辨別用戶信息。用戶每次登錄都將產生一個唯一的Session,每次登錄所產生的Session都不相同,直到用戶注銷登錄或者該Session超過系統所設定的Session的存活期時將會刪除該Session,則該Session的生命周期結束。
本文所介紹的校內交友平臺旨在減少陌生人社交的危險性,減弱網絡虛擬社交,加強線下的真實社交,給予學生一個更健康更安全的社交平臺。
本文從平臺設計的概念與部分系統實現上敘述平臺的實現,從中探討了平臺應用的前后臺關鍵部分的實現和其中的關鍵技術。但本平臺的實現成果中還存在著許多不足之處,本平臺將不斷地補充、修正和完善。
[1]Stanley B.Lippman,Josee Lajoie,Barbara E.Moo.C++ Primer[M].北京:人民郵電出版社,2010.
[2]杰費里·溫西特.應用Yii1.1和PHP5進行敏捷Web開發[M].Leanpub,2013.
[3]馬駿.PHP應用開發與實踐[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
傅梓煥,男,廣東汕尾人,本科,研究方向:企業級數據庫應用與開發。