0 0

做过人脉社区或者交通线路图的大虾请进!10

最近公司要开发一人脉社区,
其中人脉系统部门需求必要变态了点,

好友分为三种:
一度好友:用户的好友
二度好友:用户好友的好友
三度好友:用户好友的好友的好友


要将这三类好友的数量统计出来,如:

一度好友:10
二度好友:300
三度好友:3500


并在地图上标识每一个好友的地理分布,
然后还有将所有好友进行地区排行 ,
哪位大虾有做过类似的功能,算法上该如何实现?请教啊
2009年3月23日 11:39
  • 大小: 12.3 KB

1个答案 按时间排序 按投票排序

0 0

采纳的答案


确实是个蛮bt的问题,不过可以折衷一下给出解决方法.

因为还要给出每一位好友的地理分布,所以一定要有好友的资料.之前考虑下想说每个人的个人信息里面增加一个自己好友数目的字段,这样查询一个人的好友数目,只需要把它的好友的好友数目加起来就可以了,效率很高.不过这样的设计符合不了下面标识地理位置的功能.所以,只能换个做法.

个人的建议是增加一个中间表

userid friendid
1      2
1      3
1      4
3      1
3      4

1度好友,最简单 通过userid查询
2度好友,需要一点小小的技巧,就是自身表连接,比如说给中间表起2个别名,叫a1,a2,那么查询的条件就是 a1.userid=1 and a1.friendid=a2.userid.关于自身表连接的具体用法,可以自己查找一下sql方面的资料
3度好友,其实就是在2度的基础上再加一层自表连接.逻辑思维上需要再拐个弯.查询条件应该是a1.userid=1 and a1.friendid=a2.userid and a2.friendid=a3.userid 我也有点拐不过来..但是其实从数据库设计的角度来说,自身表连接就是跟你所谓的2度,3度这样的连接是对应的,如果还要个4度,那也就是4层的自表连接而已.

这样的查询跟普通的查询在效率上没什么区别,不会有什么性能问题.统计一个人只要3条sql而已.

你还要做在地图上显示地点的,只要用获得的id去取用户数据就行了.如果还要加上什么地区排行,就在中间表再增加一个zoneid来标识地区就可以了.

如果担心在线用户非常多会出现并发效率问题的话,除了索引之类的常规手段之外,其实可以做查询缓存,3度好友数据量比较大,其实变动不会非常频繁,这个数据也没有实时精确的要求,对于3度好友,可以几个小时查询一次,更新一下字段就好了.谁会这么清楚的要求算明白自己的3度好友有多少个呢?

2009年3月23日 13:04

相关推荐

    社群人脉搭建源码,用于加人脉

    上传文件 群多多人脉--解压 回到网站 复制自己域名 在新窗口打开 install.php 进入安装>>--继续--继续 打开宝塔--找到数据库--复制密码 不熟悉尽量设置用户密码一样 管理账号自己设置 演示我就随便设置了 7.进入...

    培养人脉的106个技巧(有心人,请珍藏!!!) .zip

    在现代社会,人脉关系的重要性不言而喻,无论是在职场、商业还是个人生活中,拥有广泛而深厚的人脉网络都能为我们的成功之路提供巨大的助力。本文将根据标题“培养人脉的106个技巧(有心人,请珍藏!!!)”以及...

    互联网社交人脉PPT背景图片.zip

    标题中的“互联网社交人脉PPT背景图片.zip”表明这是一个包含与互联网社交人脉相关的PPT背景图片的压缩文件。这些背景图片通常被用作演示文稿的设计元素,以增强PPT的专业性和视觉吸引力,同时传达出关于互联网社交...

    社群人脉小程序源码-自动采集 一款云开发版本的微群人脉小程序源码。

    社群人脉小程序源码是一款基于云开发技术的微信小程序应用,主要功能是自动采集和管理人脉资源,为用户提供高效的人脉拓展和维护平台。云开发(Cloud Development)是腾讯云提供的后端服务平台,允许开发者在无需...

    人脉社群系统带流量主小程序源码独立版/Thinkphp开发的人脉社群小程序源码

    人脉社群系统带流量主小程序源码独立版,Thinkphp开发的人脉社群小程序源码,带有流量主功能。 源码特点: 1、一个集发布、展示社群信息、人脉推广的裂变工具/平台。 2、通过人脉广场,将商家信息通过名片进行展示...

    FREER的人脉曼陀罗模板.rar

    在现代快节奏的工作环境中,有效管理人脉关系变得至关重要。"FREER的人脉曼陀罗模板"提供了一种创新的电子化方式,帮助用户优化人脉网络,提升工作效率。这个压缩包包含两个文件:《小程序人脉曼陀罗.doc》和《大人...

    人脉管理器人脉管理器.rar

    人脉管理器是一款旨在帮助用户有效管理和维护人际关系的软件工具。在当今社会,人脉网络对于个人和职业发展至关重要,因此,拥有一款好的人脉管理器能够极大地提升效率,保持联系的活跃性,避免重要联系人信息的丢失...

    社群人脉小程序源码-自动采集

    《社群人脉小程序源码-自动采集》 在数字化时代的今天,社群人脉的建立与管理已经成为企业和个人提升影响力、拓展业务的重要途径。社群人脉小程序凭借其便捷性与互动性,深受用户喜爱。本篇将深入探讨一款基于云...

    2024最新独立人脉社群源码

    1、一个集发布、展示社群信息、人脉推广的裂变工具/平台。 2、通过人脉广场,将商家信息通过名片进行展示,让同城服务、资源对接、人脉推广更加便捷高效。 低门槛创建商家名片,通过分享转发,在实现推广宣传自己...

    鸿言人脉管理软件

    鸿言人脉管理软件是一套用来管理人际关系及人际圈子的共享软件,通过本软件可以方便、快捷、安全地管理您的人脉信息。它比普通的通讯录功能强大,不但可以管理联系人,还可以管理你所有的人际圈子,同时可以设置备忘...

    人脉社群系统带流量主小程序源码独立版

    人脉社群系统带流量主小程序源码独立版 功能介绍: 1、微信社群是一个集发布、展示社群信息、人脉推广的裂变工具/平台。 2、通过人脉广场,将商家信息通过名片进行展示,让资源对接、人脉推广更加便捷高效。为平台...

    微信社群人脉系统社群空间站源码

    微信社群人脉系统社群空间站源码是一款专门针对微信社交平台设计的软件系统,旨在帮助用户管理和扩大其在微信上的社交网络。这个系统的核心是通过提供一系列功能,促进用户在微信群内的互动、信息共享和人脉拓展。...

    微信人脉圈源码

    【微信人脉圈源码】是一款基于.NET框架的社交平台源代码,主要针对微信用户的人脉扩展和管理。本文将深入探讨这款源码的核心技术、功能实现以及与C#编程语言的关联。 首先,源码使用C#语言编写,C#是微软开发的一种...

    PHP人脉社群系统源码人脉推广裂变源码群发布源码下载

    第二、搭建出来以后有很多原有的数据图片是存储在别人的OSS上的(这里我没去找,感兴趣的朋友自己找一下oss配置的位置哈第三、不知道是没有配置oss的问题还是源码本身有问题还是我环境或者二没有替换教程里面说的...

    老板必备人脉管理器

    【人脉管理器简介】 在IT行业中,有效的人脉管理对于业务拓展、合作建立以及团队协作至关重要。"老板必备人脉管理器"是一款专为IT领域的决策者、部门经理、销售人员和技术人员设计的高效人脉管理工具。它旨在帮助...

    群多多社群人脉H5_优化采集等功能

    在IT行业中,"群多多社群人脉H5_优化采集等功能"这一标题暗示了这是一个关于社交媒体应用更新或优化的项目,特别关注于社群管理和数据采集。群多多作为一个折扣社交购物平台,其核心价值在于为用户提供丰富的购物...

    人脉管理数据库版

    《人脉管理数据库版》是一个专为管理个人及企业人脉资源设计的应用程序,它利用数据库技术高效地存储、处理和检索大量的联系人信息。这个系统的核心是通过编程语言与数据库进行连接,实现对数据的CRUD操作,即创建...

    D3人脉关系网+圆形头像

    《D3.js实现人脉关系网络图详解》 在数字化时代,人脉关系的管理与可视化成为了一个重要的需求。D3.js,全称为Data-Driven Documents,是一个强大的JavaScript库,专用于数据驱动的文档处理,尤其在数据可视化方面...

    微信社群人脉系统3.1.1 社群空间站源码.zip

    社群人脉 3.1.1 微信独立版 社群空间 带搭建教程 人脉推广 代理 1、微信社群是一个集发布、展示社群信息、人脉推广的裂变工具/平台。 2、通过人脉广场,将商家信息通过名片进行展示,让资源对接、人脉推广更加便捷...

    2021_8_18开源人脉5.66.zip

    【标题】"2021_8_18开源人脉5.66.zip"是一个包含微信人脉小程序前端源代码的压缩文件,发布于2021年8月18日。这个开源项目允许开发者深入理解并自定义微信小程序的人脉功能。 【描述】"微信人脉小程序前端开源"意味...

Global site tag (gtag.js) - Google Analytics