基于Java的通知领域垂直型社交网络的设计

时间:2022-08-01 02:27:15

基于Java的通知领域垂直型社交网络的设计

摘 要:随着Facebook、Twitter等社交服务在全球范围内的兴起,社交网络服务进入了急速发展的阶段。互联网的社交服务的发展与时俱进,发展迅速。通知是一个具有高度社会化属性的事物,是人与人之间传达消息的一个重要手段,其本身就含有了社交属性。为了更好的管理通知,以及通过通知包含的社交属性达到社交目的,通知领域的垂直型社交网络的出现显得尤为必要。

关键词:社会化网络服务;通知;垂直型社交网络

中图分类号:TP393.09

本项目是一个通知领域的垂直型社交网络服务。利用灰斗篷,用户可以一站式的管理自己收到与发出的通知,并能通过用户间的关系,进行在线交流。作为通知的发送者,用户可以发送普通文本、会议以及聚会三种类型的通知给其特定的联系人或联系人组;作为通知的接收者,用户可以对通知进行浏览、评论以及标记已读,帮助发送者及时了解通知的传达效果。系统会通过站内通知与邮件通知等方式提醒用户最近的通知动态,让用户不错过关于其通知的任何信息。用户可以对其联系人进行管理,例如添加、删除、分组,这样形成的各种社交圈,可以将信息有效的区隔开来。

1 相关技术

本系统使用了几种当下非常流行且成熟的技术,并将这些技术有机地结合在了一起。

1.1 MySQL正如MySQL官方网站所宣传的那样,MySQL是当今世界上最流行的开源数据库。MySQL一开始以成本低,稳定性高,性能好在中小型应用中广泛流行,目前,很多大型应用也选择了MySQL,Google,Facebook,百度等公司均使用了MySQL[1]。本系统使用MySQL作为关系数据库,负责数据的持久化工作。

1.2 JavaScript和jQuery。JavaScript最初是一种运行在客户端的脚本语言,常用在操作HTML DOM(文档对象模型)上,现在,JavaScript也可以运行在服务端了,Node.js就是一种流行的服务器端JavaScript环境[2]。

jQuery是当下最流行的JavaScript框架之一。它是一套跨浏览器的库,简化了开发人员对HTML DOM的操作和跨浏览器的工作。本系统大量使用了jQuery,以增加网页的交互性。

1.3 Spring framework 3。Spring是Java平台的一个开源的全功能栈的框架。Spring提供了这样一些特性:使用依赖注入实现了控制反转(IoC)[3]。使得应用程序中的各个组件间的耦合度大大降低;提供了优秀的,支持声明式(Declarative)的事务管理器;以资源容器的方式和其他框架(如Hibernate)集成;优秀的面向切面编程(AOP)框架;本系统使用Spring构建,使得系统的各个层级耦合度更低,并且大大降低了开发成本。

2 需求分析

2.1功能需求分析。本项目的初衷是帮助人们更好地管理通知并且围绕通知中产生的互动而进行社交活动,因此,系统的主要模块是为通知和社交两大功能而服务的。经分析,用户模块的功能有:搜索:可以根据用户的姓名或者注册邮箱搜索用户、修改个人资料:修改账户密码以及姓名等资料。通知模块应有以下功能:浏览通知:浏览收到的通知,并可将已读状态反馈给发送者;发送通知:发送通知给指定的联系人或联系人组,通知类型有普通文本、会议以及聚会三种。其中会议通知包含时间、地点属性,聚会通知包含时间、地点、活动、经费属性,会议和聚会通知的地点可以在地图上标记。另外,所有通知都可以选择隐藏接受者名单;评论通知:用户可以对某个通知进行评论,也可以对其他用户的评论进行回复。所有的评论可以被设定为「悄悄话,被设定为悄悄话的评论只能被通知的发送者或回复的对象所见;删除通知:用户可以删除自己发送的通知。联系人模块应有以下功能:添加联系人:添加其他用户为自己的联系人;删除联系人:删除已有的联系人;联系人分组:将联系人分组。首页时间线(Timeline)模块应有以下功能:浏览时间线:首页时间线包含了用户关注的所有动态,包括用户收到的所有通知,以及随这些通知产生的所有动态;提醒模块可以让用户不错过重要的信息,应有以下功能:站内提醒:站内提醒将会在站内页面的显著位置提醒用户未处理的联系人等信息;邮件提醒:邮件提醒将会以Email的形式提醒用户有未读通知等信息。以上模块全部属于前台模块,即普通用户可以访问的模块。为了使得整个系统内的信息可控,管理后台是必不可少的一部分。后台应拥有用户管理、通知管理、评论管理三大模块。

2.2 可行性分析。SS2H(Spring、Struts 2与Hibernate的组合)是一种Java企业级开发的解决方案[4]。相对企业级应用,灰斗篷这种互联网应用的业务逻辑相对简单,所以,使用SS2H可以很好的处理系统的业务逻辑方面的工作。而想对于企业级应用来说,互联网应用的特点是数据量大,并发高。MySQL是一种流行的开源关系型数据库,很多成功的互联网应用,例如百度贴吧,Facebook等等,因此选择了MySQL作为主要的关系数据库,解决了大数据量储存的问题。高并发带来的性能问题可以用反向(Reverse Proxy)技术来解决,在nginx后启动多个Web服务器实例。当访问量增大之后,还可以使用redis等工具提高网站的整体性能。

3 总体设计

3.1 设计实现的主要目标。本系统设计的主要目标是利用互联网给用户提供更好的通知管理体验,并围绕通知进行在线社交。

3.2 功能框架。普通用户的功能如图1所示。

管理员用户除了拥有普通用户的全部功能以外,还有一些后台管理的功能。

3.3 功能模块设计。根据需求分析,系统前台可以分为用户模块、通知模块、联系人模块、时间线模块和提醒模块;系统后台可以分为用户管理模块、通知管理模块和评论管理模块。

用户模块:搜索:可以根据用户的姓名或者注册邮箱搜索用户;修改个人资料:修改账户密码以及姓名等资料。通知模块:浏览通知:浏览收到的通知,并可将已读状态反馈给发送者;发送通知:发送通知给指定的联系人或联系人组,通知类型有普通文本、会议以及聚会三种。其中会议通知包含时间、地点属性,聚会通知包含时间、地点、活动、经费属性,会议和聚会通知的地点可以在地图上标记。另外,所有通知都可以选择隐藏接受者名单;评论通知:用户可以对某个通知进行评论,也可以对其他用户的评论进行回复。所有的评论可以被设定为「悄悄话,被设定为悄悄话的评论只能被通知的发送者或回复的对象所见;删除通知:用户可以删除自己发送的通知。联系人模块:添加联系人:添加其他用户为自己的联系人;删除联系人:删除已有的联系人;联系人分组:将联系人分组。首页时间线模块:浏览时间线:首页时间线包含了用户关注的所有动态,包括用户收到的所有通知,以及随这些通知产生的所有动态;除了这几个主要的模块之外,还有一些小模块可以帮助用户获得更好的体验。提醒模块:站内提醒:站内提醒将会在站内页面的显著位置提醒用户未处理的联系人等信息;邮件提醒:邮件提醒将会以Email的形式提醒用户有未读通知等信息。用户管理模块:修改用户资料:修改用户的密码、姓名等资料;锁定用户:锁定指定用户,被锁定的用户不能做任何操作。通知管理模块:删除通知:删除指定的通知。评论管理模块:删除评论:删除指定的评论。

4 系统实现的流程图

系统前台的流程图如图2所示。

5 结束语

对于基于Java的通知领域垂直型社交网络的设计与实现的过程中,阅读了很多相关资料,了解到了社交网络和垂直型社交网络的历史、现状和发展趋势。在为整个系统编码时,对Struts 2、Spring、Hibernate这些常用框架有了新的理解,还收获了一些非常优秀的绘图和排版工具。成功的互联网产品除了要有技术基础之外,还需要拥有良好的设计和运营,要做好一个互联网产品必须要有多方面的知识和技能。

参考文献:

[1]danah boyd,Nicole B.Ellison.Social Network Sites:Definition,History,and Scholarship[A].Journal of Computer-Mediated Communication[C],2007.

[2]Ching-man Au Yeung,Ilaria Liccardi, Kanghao Lu.Decentralization:The Future of Online Social Networking[R].In W3C Workshop on the Future of Social Networking Position Pages,2009.

[3]Martin Fowler.Inversion of Control Containers and the Dependency Injection pattern[J/OL],2004.

[4]Rod Johnson,Juergen Hoeller,Keith Donald.The Spring framework Reference Manual[J/OL],2004.

作者简介:姜新(1981-),女,辽宁营口人,讲师,学士学位,研究方向:计算机教育。

作者单位:营口职业技术学院,辽宁营口 115000

上一篇:互联网背景下企业级产品定义系统构建实践 下一篇:基于ASP技术的精品课程网站开发