论文部分内容阅读
近年来,随着Internet用户群的不断增长和软件开发水平的显著提高,在线咨询系统普遍应用在企业、政府、教育等机构以及娱乐、购物、社交网络。目前一般采用Ajax、Comet、XHR等轮询和长连接等技术,实现咨询信息的实时交互,但这些技术存在信息延迟、乱序甚至丢失,导致实时性和可靠性不高。另一方面,面对海量的信息,对推荐算法的精确度和扩展性也有更高的要求。因此,如何保证在线咨询系统的实时性和可靠性,并提高推荐的精确度和可扩展性,成为亟待解决的问题。本文研究基于Web套接字和协同过滤算法的在线咨询系统,主要的工作如下:(1)针对在线咨询系统的实时性和可靠性问题,本文对Ajax Polling、Comet、Web套接字等技术进行了分析比较,并提出一种基于Web套接字和Flash桥接的实现方案。该方案采用HTML5 Web套接字实现实时数据的交换,采用Flash桥接机制达到低版本浏览器对Web套接字的兼容的目的。实验结果表明,该方案能够显著提高在线咨询的实时性和可靠性。(2)针对于协同过滤算法中的准确性和扩展性问题,本文首先分析了现有的Slope one和加权Slope One算法因内存瓶颈存在扩展性不高的问题。在此基础上,提出一种基于分布式的加权Slope One改进算法,该算法通过分布式训练,将每个任务中的中间数据直接载入内存并行计算,解决内存瓶颈;此外依据项目相似度来改进加权Slope One。实验结果表明,改进算法在扩展性和精确度方面都优于原有的算法。(3)结合以上研究工作,本文实现了一个在线咨询系统,并进行了实验和系统测试,验证了本文提出的设计方案和提出的改进算法。