基于云构建面向特定群体社交网络的研究与实现
2017-11-18杨君陈章黄慧
杨君+陈章+黄慧
摘 要: 文章主要论述了面向学生的基于云端构建校园社交网络的方法,分别介绍校园社交网络系统的各模块以及其实现方法。该校园社交网络不仅可让学生随时随地通过手机了解校园生活和学业信息,还可基于校园社交网络中个体之间的依赖关系和校园数据促进模式发现。
关键词: 社交网络; 云; 特定群体
中图分类号:TP311 文献标志吗:A 文章编号:1006-8228(2017)11-01-03
Research on the construction of cloud based social network for specific group
Yang Jun, Chen Zhang, Huang Hui
(College of Computer Science and Technology, Sanjiang University, Nanjing, Jiangsu 210012, China)
Abstract: This paper mainly discusses the methods of constructing cloud based campus social network for students, and introduces the modules and implementation methods of campus social network system respectively. The campus social network not only allows students to understand campus life and academic information through mobile phones anytime and anywhere, but also promotes the pattern discovery according to the dependency between the individuals in campus social network, and the campus data.
Key words: social network; cloud; specific group
0 引言
隨着移动互联网和移动端设备的迅速普及,人们习惯于使用社交网络交流并建立相互之间的依赖关系[1-2]。本文以校园为例,介绍面向特定群体构建社交网络的方法。大学生作为走在时代潮流前端的群体早已适应基于移动设备的新型生活和学习方式[3]。在当今社会中,带有社交元素的网络和系统非常具有市场潜力[4]。
校园社交网络具有学生主体、学习、教学等独特的关键属性[5-6]。具体而言,校园社交网络除了需要分享校园内的各种资讯新闻、校园社团和学生会各种活动,还需要企业实习机会以及向学生提供课程信息、师生交流等教务功能。因此,校园社交网络不仅可以让学生通过网络和手机随时随地的融入多姿多彩的校园生活,有助于学校各种官方事宜和社团活动的传播,更可以促进教学效果和人才培养。
如上所述,校园社交网络与市场上所推出的普通社交网络有很多不同之处。我们需要在保障校园社交网络功能的前提下,降低成本并快速开发适用于学校的社交网络。本文提出后台基于云端平台构建校园社交网络,并针对校园内大学生移动设备所采用的主流Android系统开发一款移动校园社交软件。该校园社交网络集合学生教务、社团活动、信息交流等多方面功能。本文首先介绍构建校园社交网络的云端后台,然后详细阐述如何设计校园社交网络和实现,最后对本文进行总结。
1 基于云的社交网络架构
云计算可为有偿用户提供所需的各种资源,这种方式省去了用户初期的投入以及繁琐的维护开销。随着移动设备的流行,移动端应用可令用户之间进行实时交互。为了针对校园内的大学生们构建一款校园社交网络,本文基于云和移动端对系统进行开发,其包含后台服务器端和移动客户端两部分。
后台服务器端不仅需要昂贵的硬件成本,还需要移动开发者在掌握后台开发技术的基础上,花费大量的时间和精力进行后台服务器程序的维护。而校园社交网络开发不具备花费大量的资金和人力维护属于自身的硬件设备和软件程序。因此,云平台为移动端应用提供很好的云平台开发并运行后台服务器端,其不仅能节省学校的前期资金投入,并且可以使开发人员将精力更多的投入到符合校园社交网络特征的一系列功能上,从而改善校园社交网络的运行质量。
Bmob云端是一款云存储后台管理服务平台,基于Bmob云端可快速、灵活、稳健、安全地开发校园社交网络的后台管理系统。Bmob云端不仅支持包括Number、String、Date、File等丰富的数据类型、提供SQL语句使开发人员进行数据库管理,还为开发人员提供了简单易学的数据管理接口。开发人员基于Bmob所提供的丰富的API查询接口,可对数据进行基本的增加、删初、修改、查询等基本操作,并且还可进行相对复杂的批量更新和分页查询等复杂操作。除此之外,Bmob云在软件架构层面提供了传输层、应用层以及ACL角色管理等不同粒度的权限控制的方式,从而确保用户数据的安全。为了保证稳健性,云端数据库中每个应用的数据都会进行实时或定时的在线备份,以防止某些突发的事件,从而持续保护业务数据。
目前,人们所使用的移动设备包括智能手机和平板等,移动设备通常采用Android应用系统。本文针对移动设备的主流系统Android,开发校园社交网络系统的移动客户端。Android开发包括系统底层开发和应用层开发,校园社交网络移动端软件的开发属于应用层开发。开发主要包括Activity(用于交互反应)、Service(用于后台运行)、Broadcast Receiver(广播消息接收器)和Content Provider(内容提供)四个组件和Intent(用于不同组建的通信)。endprint
2 面向特定群体社交网络的功能设计
为了凸显特定群体社交网络所具有的独有特性,校园社交网络软件需要包含众多教学有关的功能以促进课堂教学地有效开展。例如该软件需要包括课表功能,不仅为学生推送相关课程安排,并且允许学生在该校园网络平台对相关课程进行讨论,更好地加强乐老师和学生之间的信息交流。因此,本文所构建的校园社交网络软件根据功能需求包括四个板块,分别为登陆板块、校内板块、课程板块和个人中心板块。
登陆板块的基本功能是根据用户登陆的账号和密码以确定是否成功登陆校园社交网络。除了该基本功能之外,登陆板块还需要设计开场动画图片,用于增强良好的用户视觉感受或者后期的广告投放。于此同时,除了匹配用户登陆的账号密码之外,还需要对密码做必须的约束和加密处理以增强安全性。一旦账号和密码匹配成功,则对该用户对应的数据进行后续操作。
校内公告板块的基本功能是发布校园内的各种新闻和消息,包括学校各院系新闻、校园各种社团以及学生会的各种活动、校内跳蚤市场等。该板块可以方便学生及时获取学校课外的各种资讯,并且学生可对自己感兴趣的消息进行留言和互动。由于校内公告板块中的内容具有较强的时效性,因此所有消息都需要实时更新。对于用户自己发布的消息,可自行刷新以获得更高的曝光率。
课程板块的基本功能是用于实现学校的教务有关的事宜,主要用于教辅。学生不仅可从该板块中获得自己班级的课程表、课程主要内容和相关教师介绍,还可以对课堂进行实时讨论和留言。学生可在该板块与教师和同学进行线上和线下的互动,以增进学生掌握各种知识。在用户成功登陆后,系统就会根据获取到的学生用户基本信息查询其相关课程的所有信息。不同院系专业课程的设置和安排都有所区别,因此该板块需要选择合适的布局容器,动态地插入不同的课程表。
个人中心板块的基本功能用于管理学生的个人信息和交流消息,校园社交网络的用户不仅可以编辑本人的基本信息、设置头像以及个性化的个人主题等,还可以编辑个人社交网络中用户的消息以及相关的历史记录。在社交网络中与用户进行即时通信也是一个非常重要的功能。因此,用户可以在这一板块设置自己所关注的用户,并与其他用户即时通信。
此外,校园社交网络的后台服务器端需要基于数据库进行数据管理。本文后台采用Bmob云,需要在Bmob云中设计数据库中的多张表。设计合理的数据库对校园社交网络的用户体验至关重要。根据之前所描述的登录板块、校内公告板块、课程板块以及个人中心板块的功能,本文主要设计了学生基本信息表、根基课程信息表、新闻消息记录表、跳蚤市场交易记录表以及评价信息记录表等。
3 校园社交网络软件的实现
基于上一小节所描述的校园社交网络软件的功能设计,本节给出基于Bmob云端构建校园社交网络的实现。
登录模块需要判断用户名和密码是否正确,并且具有记住密码的单选框可供选择。如果记住密码单选框被选中,那么在输入用户名和密码时,ContentProvider组件的sharepreferences类被创建并生成一个xml文件,其以键值对的方式保存读取到的用户信息。执行登录操作时,如果不存在对应的xml文件,则从前台页面方法获取用户输入的账号密码数据进行判断。由于每次通过网络查询后台会比较耗时,因此登录时可将常用的和用户相关的数据保存在本地。
登陆成功后进入校内公告板块,校内公告板块分为“新鲜事”和“跳蚤市场”两个模块。校内公告板块默认显示“新鲜事”模块,展示最新的校内新闻和活动,校内公告板块新闻列表如图1所示。列表内只展示消息的关键信息,包括消息标题、发布人姓名和时间等,因此每个item设置onclick事件用于显示详细内容。向右滑动手机屏幕就会进入校内公告板块的其他模块。该模块根据客户端所发送的数据,请求从Bmob云后台查询得到后,加载到recyclerview的组件并在Android手机页面上显示。
通过移动端底部导航可进入课程板块,默认显示用户对应的课程表,如图2所示。在登陆时,根据用户账号名从后台Bomb查询并返回包括课程表等基本信息。本板块实现的难点在于如何将课表数据动态插入界面即课程表排版。课程表排版需要在数据库设计时,为每节课设置position字段用于标志其在界面所处的对应位置,匹配成功后插入课程数据。对课程进行评价的功能可创建一个弹出的对话框,输入评价后将评价实时发布。
点击底部个人中心的图标,可进行个人信息编辑、设置头像和主题、个人消息,以及编辑历史消息等功能,如图3所示。其中头像在登录时下载到本地,头像所使用的图片可拍照或从本地获取,如图4所示。为了减少该操作的耗时,设置头像利用子线程实现。另外,手机拍摄照片作为头像时,由于照片比较大清晰度高,上传图片时容易造成超时以及内存溢出等异常。因此,需要将拍摄的照片进行压缩处理。
4 总结
移动互联网的快速发展以及移动设备的普遍使用已经改变了人们平时的生活和学习习惯,如何利用校园社交网络引导大学生适应多姿多彩的大学校园生活至关重要。本文基于云构建校园社交网络,详细阐述了后台采用Bmob云端以及前端基于Android开发移动端软件的方法,实践证明基于云的方式提升了开发的效率和稳定性。
参考文献(References):
[1] 吴信东,李毅,李磊.在线社交网络影响力分析[J].计算机学报,
2014.37(4):735-752
[2] 乾进,袁勤俭,沈洪洲.国外社交网络研究热点与前沿[J].图书
情报知识,2012.5:68-75
[3] 乔歆新,朱吉虹,沈勇.手机移动社交网络的用户研究[J].電信
科学,2010.26(10):109-114
[4] 赖英旭,李健,刘静,杨震.新型社交网络信息传播特点和模型
分析[J].现代情报,2012.32(1):56-59
[5] 常亚平,朱东红.社交网络用户参与动机的测量[J].图书情报
工作,2011.55(14):32-35
[6] 杜炤,赵灿,付小龙.校园社交网络中社会化标签系统的研究
与实现[J].计算机工程与设计,2012.33(8):3235-3238endprint