基于B/S的在线新闻平台的设计与实现

来源 :西安电子科技大学 | 被引量 : 0次 | 上传用户:hongmaomi
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
最近几年时间越来越多的新闻应用产生。究其原因,一方面是随着人们的阅读需求越来越强,需要有更多在内容上具有特色的应用,另一方面是很多公司希望推出自己的新闻应用,让应用的文章能够更多的应用到公司的其它产品上,从而增加产品对用户的吸引力。现在,新闻应用不仅需要提供给用户阅读功能,还需要提供更多的用户操作和互动功能。在增加了很多功能后,出现了一些问题需要解决。例如,需要将文章的评论中出现的敏感词汇过滤掉。在一些场景下,新闻应用的服务端需要将提醒消息实时的推送给在线的用户。很多的新闻应用缺乏个性化推荐的能力,它们没有根据用户的兴趣来推荐相应文章,从而难以满足用户的需求。本文的在线新闻平台提供了丰富的功能并对上面提到的问题给出了解决方案。该平台采用了B/S架构,服务基于Node.js技术,数据存储基于Mongo DB和Redis。本文在对平台的业务和需求进行了分析后,将其从架构上分为了三层:数据存储层、基于多进程工作模型的服务支撑层、功能应用层。其中,数据存储层承担整个平台的数据的存储和缓存工作。为了保障平台的稳定和性能,在服务支撑层中设计并实现了一个Node.js的多进程工作模型,用来支撑整个平台的服务。针对此模型,本文根据真实业务场景设计了三个进程角色,并设计了多进程间的通信方案以及请求均衡分配策略,针对进程的各种错误退出提供了相应的解决方法。根据平台的业务需求,在功能应用层中设计并实现了多个功能模块,分别是:账号模块、权限模块、运营管理模块、用户活动模块、消息推送模块、个性化推荐模块。这些功能模块通过提供对应的功能来共同完成整个平台的需求。在设计和实现它们的过程中,涉及到了一些重难点内容。在用户活动模块中,设计实现了敏感词过滤算法,对平台中的评论内容进行实时的过滤检测;在消息推送模块中,设计了基于socket.io的实时消息推送方案,可以对在线的某个用户的所有页面进行消息的实时推送,同时借助于Redis的发布/订阅功能,实现了在集群和多进程服务下的推送;在个性化推荐模块中,设计了针对文章的个性化推荐的算法,通过对收集的用户的历史行为记录进行数据建模分析来建立对应的用户兴趣模型,从而根据其进行计算来推荐文章。平台经过了完整的功能测试和性能测试后,目前已经在实际中运行使用。平台的各方面都很稳定,为用户提供了良好的新闻阅读体验。本文完成了预期的工作。
其他文献
婴幼儿腹泻或称腹泻病,是由于多种病因引起的以腹泻和电解质紊乱为主的一组临床综合症,发病年龄以2岁以下为主,一年四季均可发病,夏秋季发病率最高.
目的探讨老年人戊型病毒肝炎(戊肝)的临床特点.方法比较分析两组戊肝患者的临床主要症状;血清谷丙转氨酶(ALT)、总胆红素(TBI)、白蛋白(ALB)、甘油三脂(TG)、碱性磷酸酶(AKP)
目的对头孢菌素导致双硫仑样反应进行分析。方法对本院急诊科2003~2006年期间收治由于使用头孢菌素(主要是头孢哌酮)及饮酒导致的严重双硫仑样反应致低血压45例病例进行回顾
探讨了在VC++环境下BMP图像文件与GIF图像文件的转换。首先分析了BMP与GIF2种图像的具体格式,然后在VC++环境下建立自己的函数库文件DIB.H和DIB.CPP,对即将使用的数据成员和函数成员进行初始化,从而实现BMP图像的读取、显示和保存等相关操作。在理解LZW编码算法原理的基础上,在VC++下实现该算法。同时,通过前面建立的BMP图像函数库,调用相关函数,就可以找到相应的具体的图像数
介绍了无限冲激响应(IIR)滤波器的设计原理,给出了利用Matlab信号处理工具箱设计IIR滤波器的方法及其详细的设计步骤。利用信号处理工具箱的FDATool工具设计了一种应用于磁力轴
随着科技水平的提高,各变电站大多采用无人值守的方式。在变电站监控中心,对于关注目标的监控完全靠人工盯着,难免出现遗漏的情况。尤其是火灾如未及早的发现和扑救,将会造成