主权项 |
一种海量数字信息的分布式推荐方法,其特征在于:所述分布式推荐方法包括以下步骤:第一步,建立对等的分布式局域网络,网络中每台计算机可直接相互通讯,网络中计算机的数量至少为10台;第二步,收集当前用户行为的数字信息,存入面向文档的分布式数据库mongodb中;第三步,将第二步中收集的数字信息进行预处理;第四步,统计与当前用户有关系的数字信息的集合:通过Hadoop的Map和Reduce两个阶段并行统计与当前用户有关系的数字信息的集合;其中,将数据库mongodb中的当前用户行为的数字信息作为Map阶段的输入数据源;Map 阶段完成后开始 Reduce阶段的并行运算, Reduce阶段的输入数据源为Map阶段的输出结果,将与当前用户有关系的数字信息集合进行汇总;第五步,构建数字信息之间的相似度关系矩阵:运行并行的Map阶段运算,将第四步中Reduce阶段的输出结果作为本步骤中Map阶段运算的输入数据源,进而构建数字信息之间的相似度矩阵;第六步,统计数字信息之间相似度的总数矩阵:运行并行的Reduce阶段运算,将第五步中Map阶段的输出结果作为本步骤中Reduce阶段运算的输入数据源,统计数字信息之间相似度的总数矩阵;第七步,统计向当前用户候选推荐的数字信息的评分值的Map阶段运算:运行并行的Map阶段运算,将第四步中Reduce阶段的输出结果作为本步骤中Map阶段运算的输入数据源,统计向当前用户候选推荐的数字信息的评分值;第八步,统计向当前用户候选推荐的数字信息的评分值的Reduce阶段运算:第七步中Map阶段运算完成后,开始Reduce阶段的并行运算,将第六步的运算结果和第七步中Map阶段运算的输出结果作为本步骤中Reduce阶段运算的输入数据源;第九步,为当前用户推荐数字信息的Map阶段运算:运行并行的Map阶段运算,将第八步中Reduce阶段的输出结果作为本步骤中Map阶段运算的输入数据源,运算规则为直接输出第八步中Reduce阶段的输出结果;第十步,为当前用户推荐数字信息的Reduce阶段运算:第九步中Map阶段运算完成后开始Reduce阶段的并行运算,将第九步中Map阶段运算的结果作为本步骤中Reduce阶段运算的输入数据源,运算规则为:排序比较与用户没有发生过关系的数字信息的总评分值,按总评分值的高低依次选择前N 项数字信息作为最终的推荐结果;结果格式为:<用户标示,推荐的数字信息项集合>;其中,所述N为设定的正整数;第十一步,根据向当前用户推荐的数字信息项集合,进入mongodb数字信息库中获取作为推荐结果的数字信息的详细内容,最后将所获取的数字信息的详细内容返回给当前用户。 |