基于多数可变规则的校内交友平台的设计与实现
2015-01-18傅梓焕朱晓凤曾钟渝马羡明
傅梓焕 朱晓凤 曾钟渝 马羡明
(广州大学华软软件学院,广东 广州 510990)
基于多数可变规则的校内交友平台的设计与实现
傅梓焕 朱晓凤 曾钟渝 马羡明
(广州大学华软软件学院,广东 广州 510990)
本文详细分析了基于多数可变规则的校内交友平台的设计。此平台为在校生在线上汇聚交友信息,在线下进行社交活动,主要使用java、SQL、PHP等编程语言开发,运行于安卓系统中。
PHP;安卓;Yii框架;校内交友
1 概述
本设计将打造一个健康、活跃的校内陌生人社交平台。与其他陌生人社交不同的是,本平台有“多规则”、O2O、更安全、更健康等几大特点。“多规则”是指本平台针对在校学生的特点推出的必须具有连接用户线上与线下社交的多种社交活动规则,这些规则是不定期更新的,是用户自选的。“O2O”的特点是建立在“多规则”的特点之上。“更安全”是指本平台所有用户必须经过实名认证才能正常使用,用户通过平台与校园教务系统对接,可通过教务系统进行实名验证和资料对接。“更健康”是指与其他陌生人社交应用离不开“约炮”等形象的不同,本平台要打造的是绿色健康的陌生人社交品牌。
2 技术和开发环境
本平台分为面向用户的移动前端和面向平台管理员的后台服务器端。移动前端运行于安卓系统中,使用java语言进行开发,而后台服务器端使用PHP语言的Yii框架进行开发,其中后台采用阿里云的CentOS 6.5云服务器与Bmob后端云运行。阿里云是一种简单高效、处理能力可弹性伸缩的计算服务,可快速构建更稳定、安全的应用,同时提升运维效率,降低成本。Bmob后端云为专职于移动后端开发的服务,具有安全高效等特点。在项目中的两种服务器的配合中,Bmob后端云负责处理聊天与登录注册部分,阿里云负责处理规则活动后台管理等部分。在阿里云服务器中使用Apache、MySQL和PHP的组合进行基础环境搭建,此环境组合有着免费开源、相对高效易用的优点。
3 平台的设计与实现
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 关键技术问题
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的生命周期结束。
5 结束语
本文所介绍的校内交友平台旨在减少陌生人社交的危险性,减弱网络虚拟社交,加强线下的真实社交,给予学生一个更健康更安全的社交平台。
本文从平台设计的概念与部分系统实现上叙述平台的实现,从中探讨了平台应用的前后台关键部分的实现和其中的关键技术。但本平台的实现成果中还存在着许多不足之处,本平台将不断地补充、修正和完善。
[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
傅梓焕,男,广东汕尾人,本科,研究方向:企业级数据库应用与开发。