即时通讯服务器的用户分配装置和用户分配方法.pdf

上传人:a*** 文档编号:4297612 上传时间:2018-09-13 格式:PDF 页数:17 大小:5.71MB
返回 下载 相关 举报
摘要
申请专利号:

CN201210274419.7

申请日:

2012.08.03

公开号:

CN102769583A

公开日:

2012.11.07

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):H04L 12/58申请日:20120803|||公开

IPC分类号:

H04L12/58

主分类号:

H04L12/58

申请人:

深圳中兴网信科技有限公司

发明人:

段乾; 张晓廷; 李俊敏

地址:

518057 广东省深圳市南山区科技南路中兴研发大楼26楼

优先权:

专利代理机构:

北京友联知识产权代理事务所(普通合伙) 11343

代理人:

尚志峰;汪海屏

PDF下载: PDF下载
内容摘要

本发明提供了一种即时通讯服务器的用户分配装置,包括:用户数据采集模块,计算即时通讯系统内的至少一个用户与其关联用户的亲密度;分组控制模块,依据所述亲密度将所述至少一个用户添加到相应的用户分组中;管理模块,基于所述用户分组将所述至少一个用户及相应的用户数据分配至相应的即时通讯服务器,其中,所述亲密度基于所述用户与其关联用户在预设时间内的通信量计算。本发明还提出一种即时通讯服务器的用户分配方法。通过本发明的技术方案,可以将相互通信量大的用户集中的存放在一个服务器上,使这些用户在通信时消耗较少的资源。

权利要求书

1: 一种即时通讯服务器的用户分配装置, 其特征在于, 包括 : 用户数据采集模块, 计算即时通讯系统内的至少一个用户与其关联用户的亲密度 ; 分组控制模块, 依据所述亲密度将所述至少一个用户添加到相应的用户分组中 ; 管理模块, 基于所述用户分组将所述至少一个用户及相应的用户数据分配至相应的即 时通讯服务器, 其中, 所述亲密度基于所述用户与其关联用户在预设时间内的通信量计算。2: 根据权利要求 1 所述的即时通讯服务器的用户分配装置, 其特征在于, 所述分组控 制模块包括 : 分组创建子模块, 用于实现分组创建过程, 包括 : 创建一个用户分组, 从所述即时通 讯系统中选择一个未分组用户, 添加至所述用户分组中, 并将该未分组用户设置为当前用 户; 用户添加子模块, 用于实现用户添加过程, 包括 : 获取与所述当前用户亲密度最大的前 N 个关联用户, 并根据亲密度的大小顺序, 依次判断每个所述关联用户是否为未分组用户, 若是, 则停止对其他关联用户的判断, 并将该未分组的关联用户添加至所述用户分组中, 以 及将该未分组的关联用户设置为所述当前用户后, 重复执行所述用户添加过程, 否则继续 对其他关联用户进行判断 ; 分组控制子模块, 用于在所述前 N 个关联用户中不存在未分组用户的情况下, 控制所 述分组创建子模块和所述用户添加子模块分别重复进行所述分组创建过程及所述用户添 加过程, 直至所述即时通讯系统中不存在未分组用户。3: 根据权利要求 2 所述的即时通讯服务器的用户分配装置, 其特征在于, 若所述即时 通讯系统中存在多个未分组用户, 所述分组创建子模块优先将通信量大的未分组用户添加 至所述用户分组。4: 根据权利要求 2 所述的即时通讯服务器的用户分配装置, 其特征在于, 所述分组控 制模块还包括 : 数值获取子模块, 确定允许获取的关联用户的数值 N, 其中, 所述数值 N 的取值的影响 因素包括以下至少之一或其组合 : 所述即时通讯服务器的数量、 每个所述即时通讯服务器的容量、 所述即时通讯系统中 用户的数量、 每个所述用户的最大联系人数量、 每个所述用户分组的最长处理时间。5: 根据权利要求 1 至 4 中任一项所述的即时通讯服务器的用户分配装置, 其特征在于, 所述管理模块将处于同一用户分组内的用户及相应的用户数据分配在同一即时通讯服务 器上。6: 一种即时通讯服务器的用户分配方法, 其特征在于, 包括 : 步骤 202, 计算即时通讯系统内的至少一个用户与其关联用户的亲密度 ; 步骤 204, 依据所述亲密度将所述至少一个用户添加到相应的用户分组中 ; 步骤 206, 基于所述用户分组将所述至少一个用户及相应的用户数据分配至相应的即 时通讯服务器, 其中, 所述亲密度基于所述用户与其关联用户在预设时间内的通信量计算。7: 根据权利要求 6 所述的即时通讯服务器的用户分配方法, 其特征在于, 所述步骤 204 包括 : 2 步骤 2042, 创建一个用户分组, 从所述即时通讯系统中选择一个未分组用户, 添加至所 述用户分组中, 并将该未分组用户设置为当前用户 ; 步骤 2044, 获取与所述当前用户亲密度最大的前 N 个关联用户, 并根据亲密度的大小 顺序, 依次判断每个所述关联用户是否为未分组用户, 若是, 则停止对其他关联用户的判 断, 并将该未分组的关联用户添加至所述用户分组中, 以及将该未分组的关联用户设置为 所述当前用户后, 重复执行所述步骤 2044, 否则继续对其他关联用户进行判断 ; 步骤 2046, 若所述前 N 个关联用户中不存在未分组用户, 则重复执行所述步骤 2042 及 所述步骤 2044, 直至所述即时通讯系统中不存在未分组用户。8: 根据权利要求 7 所述的即时通讯服务器的用户分配方法, 其特征在于, 在所述步骤 2042 中, 若所述即时通讯系统中存在多个未分组用户, 则优先将通信量大的未分组用户添 加至所述用户分组。9: 根据权利要求 7 所述的即时通讯服务器的用户分配方法, 其特征在于, 所述步骤 2044 之前, 还包括 : 确定允许获取的关联用户的数值 N, 其中, 所述数值 N 的取值的影响因素包括以下至少 之一或其组合 : 所述即时通讯服务器的数量、 每个所述即时通讯服务器的容量、 所述即时通讯系统中 用户的数量、 每个所述用户的最大联系人数量、 每个所述用户分组的最长处理时间。10: 根据权利要求 6 至 9 中任一项所述的即时通讯服务器的用户分配方法, 其特征在 于, 所述步骤 206 包括 : 将处于同一用户分组内的用户及相应的用户数据分配在同一即时通讯服务器上。

说明书


即时通讯服务器的用户分配装置和用户分配方法

    技术领域 本发明涉及通信技术领域, 具体而言, 涉及一种即时通讯服务器的用户分配装置 和一种即时通讯服务器的用户分配方法。
     背景技术 在 互 联 网 科 技 飞 速 发 展, 各 种 新 技 术 不 断 应 用 的 今 天, 即 时 通 讯 (Instant Messenger, 简称 IM) 软件已经成为了互联网上最常用的软件之一。对于大多数人来说, 即 时通讯软件已经不算新鲜了。提到 IM, 我们马上就会想到 QQ、 MSN。毫无疑问, QQ、 MSN 已 经成为众多电脑工作者的必备即时通讯软件, 这些软件最初的功能仅仅是通过网络进行即 时消息的收发, 而随着技术的进步, 如今人们常常使用这些即时通讯软件进行资源分享, 如 即时或离线的文件传输、 网盘中转空间等。然而, 对企业的管理者而言, QQ、 MSN 等个人即时 通讯软件的普及也给他们带来忧虑。一方面, 不少管理者担心员工利用它们做一些与工作 无关的事情, 而另一个更主要的担心在于, QQ、 MSN 主要面向个人用户, 其安全性、 可管理性 天生不足。基于企业管理者的这些担心, 一个新的即时通讯软件类别—企业级即时通讯软 件 (Enterprise Instant Message, 简称 EIM) 应运而生 , 并逐渐引起 CIO( 企业信息官 ) 们 的关注。企业级 IM 需要自己架设服务器, 对于大型跨国跨地域的集团性企业, 其分支机构 多, 企业员工分散, 跨部门、 跨地域、 异地办公、 移动办公特征明显、 沟通成本较高, 对于这样 的企业, IM 服务器用户分配的方法尤为重要。
     因此, 需要一种即时通讯服务器的用户分配方法, 可以将相互通信量大的用户集 中的存放在一个服务器上, 使这些用户在通信时消耗较少的资源。
     发明内容 本发明的目的在于, 对于企业级即时通讯系统, 提供一种即时通讯服务器的用户 分配方法, 可以将相互通信量大的用户集中的存放在一个服务器上, 使这些用户在通信时 消耗较少的资源。
     根据本发明的一个方面, 提出一种即时通讯服务器的用户分配装置, 包括 : 用户数 据采集模块, 计算即时通讯系统内的至少一个用户与其关联用户的亲密度 ; 分组控制模块, 依据所述亲密度将所述至少一个用户添加到相应的用户分组中 ; 管理模块, 基于所述用户 分组将所述至少一个用户及相应的用户数据分配至相应的即时通讯服务器, 其中, 所述亲 密度基于所述用户与其关联用户在预设时间内的通信量计算。
     即时通讯系统中用户的关联用户指用户的联系人、 好友。 通过该技术方案, 可以根 据相互之间的通信量对即时通讯系统中的用户进行分组, 然后根据用户分组分配服务器。 这样就可以实现将相互之间通信量大的用户存放在一个服务器上, 使得这些用户在通信时 消耗较少的资源。这里的 “预设时间” 可以由用户或厂商根据实际情况进行设置, 比如设置 为每 x 小时进行一次时长为 y 小时的数据采集, 则在某一次亲密度计算完成后 x 小时的时 从而计算出对应的亲密度, 刻, 将再次进行用户与其关联用户在 y 小时内的通信量的采集,
     并依此反复进行上述步骤。
     优选地, 所述分组控制模块包括 : 分组创建子模块, 用于实现分组创建过程, 包括 : 创建一个用户分组, 从所述即时通讯系统中选择一个未分组用户, 添加至所述用户分组中, 并将该未分组用户设置为当前用户 ; 用户添加子模块, 用于实现用户添加过程, 包括 : 获取 与所述当前用户亲密度最大的前 N 个关联用户, 并根据亲密度的大小顺序, 依次判断每个 所述关联用户是否为未分组用户, 若是, 则停止对其他关联用户的判断, 并将该未分组的关 联用户添加至所述用户分组中, 以及将该未分组的关联用户设置为所述当前用户后, 重复 执行所述用户添加过程, 否则继续对其他关联用户进行判断 ; 分组控制子模块, 用于在所述 前 N 个关联用户中不存在未分组用户的情况下, 控制所述分组创建子模块和所述用户添加 子模块分别重复进行所述分组创建过程及所述用户添加过程, 直至所述即时通讯系统中不 存在未分组用户。
     在该技术方案中, 实现了对用户分组的过程, 使得相互之间通信量大的用户处于 同一分组中, 并且每个用户都在且只在一个用户分组中。
     优选地, 若所述即时通讯系统中存在多个未分组用户, 所述分组创建子模块优先 将通信量大的未分组用户添加至所述用户分组。 优选地, 所述分组控制模块还包括 : 数值获取子模块, 确定允许获取的关联用户的 数值 N, 其中, 所述数值 N 的取值的影响因素包括以下至少之一或其组合 : 所述即时通讯服 务器的数量、 每个所述即时通讯服务器的容量、 所述即时通讯系统中用户的数量、 每个所述 用户的最大联系人数量、 每个所述用户分组的最长处理时间。
     在该技术方案中, N 的取值与多种因素有关, 具体地, 即时通讯服务器的数量越多, N 的值越大 ; 即时通讯系统中用户的数量越多, N 的值越大 ; 每个用户的最大联系人数量越 多, N 的值越大 ; 每个即时通讯服务器的容量越大, N 的值越大 ; 每个用户分组的最长处理时 间是指一个分组内的用户数据分配到某一服务器上能够容忍的最长时间, 每个用户分组的 最长处理时间越长, N 的值越大。
     优选地, 所述管理模块将处于同一用户分组内的用户及相应的用户数据分配在同 一即时通讯服务器上。
     在该技术方案中, 处于同一用户分组内的用户相互之间的通信量比较大, 将这些 用户分配在同一服务器上可以在通信时占用较少的系统资源, 提高系统的效率。 另外, 可以 对人数较少的多个用户分组进行合并, 根据用户分组内的人数和即时通讯服务器的剩余容 量进行分配。
     根据本发明的另一方面, 提出一种即时通讯服务器的用户分配方法, 包括 : 步骤 202, 计算即时通讯系统内的至少一个用户与其关联用户的亲密度 ; 步骤 204, 依据所述亲 密度将所述至少一个用户添加到相应的用户分组中 ; 步骤 206, 基于所述用户分组将所述 至少一个用户及相应的用户数据分配至相应的即时通讯服务器, 其中, 所述亲密度基于所 述用户与其关联用户在预设时间内的通信量计算。
     即时通讯系统中用户的关联用户指用户的联系人、 好友。 通过该技术方案, 可以根 据相互之间的通信量对即时通讯系统中的用户进行分组, 然后根据用户分组分配服务器。 这样就可以实现将相互之间通信量大的用户存放在一个服务器上, 使得这些用户在通信时 消耗较少的资源。这里的 “预设时间” 可以由用户或厂商根据实际情况进行设置, 比如设置
     为每 x 小时进行一次时长为 y 小时的数据采集, 则在某一次亲密度计算完成后 x 小时的时 刻, 将再次进行用户与其关联用户在 y 小时内的通信量的采集, 从而计算出对应的亲密度, 并依此反复进行上述步骤。
     优选地, 所述步骤 204 包括 : 步骤 2042, 创建一个用户分组, 从所述即时通讯系统 中选择一个未分组用户, 添加至所述用户分组中, 并将该未分组用户设置为当前用户 ; 步骤 2044, 获取与所述当前用户亲密度最大的前 N 个关联用户, 并根据亲密度的大小顺序, 依次 判断每个所述关联用户是否为未分组用户, 若是, 则停止对其他关联用户的判断, 并将该未 分组的关联用户添加至所述用户分组中, 以及将该未分组的关联用户设置为所述当前用户 后, 重复执行所述步骤 2044, 否则继续对其他关联用户进行判断 ; 步骤 2046, 若所述前 N 个 关联用户中不存在未分组用户, 则重复执行所述步骤 2042 及所述步骤 2044, 直至所述即时 通讯系统中不存在未分组用户。
     在该技术方案中, 实现了对用户分组的过程, 使得相互之间通信量大的用户处于 同一分组中, 并且每个用户都在且只在一个用户分组中。
     优选地, 在所述步骤 2042 中, 若所述即时通讯系统中存在多个未分组用户, 则优 先将通信量大的未分组用户添加至所述用户分组。
     优选地, 所述步骤 2044 之前, 还包括 : 确定允许获取的关联用户的数值 N, 其中, 所 述数值 N 的取值的影响因素包括以下至少之一或其组合 : 所述即时通讯服务器的数量、 每 个所述即时通讯服务器的容量、 所述即时通讯系统中用户的数量、 每个所述用户的最大联 系人数量、 每个所述用户分组的最长处理时间。
     在该技术方案中, N 的取值与多种因素有关, 具体地, 即时通讯服务器的数量越多, N 的值越大 ; 即时通讯系统中用户的数量越多, N 的值越大 ; 每个用户的最大联系人数量越 多, N 的值越大 ; 每个即时通讯服务器的容量越大, N 的值越大 ; 每个用户分组的最长处理时 间是指一个分组内的用户数据分配到某一服务器上能够容忍的最长时间, 每个用户分组的 最长处理时间越长, N 的值越大。
     优选地, 所述步骤 206 包括 : 将处于同一用户分组内的用户及相应的用户数据分 配在同一即时通讯服务器上。
     在该技术方案中, 处于同一用户分组内的用户相互之间的通信量比较大, 将这些 用户分配在同一服务器上可以在通信时占用较少的系统资源, 提高系统的效率。 另外, 可以 对人数较少的多个用户分组进行合并, 根据用户分组内的人数和即时通讯服务器的剩余容 量进行分配。
     通过上述技术方案, 可以将相互通信量大的用户集中的存放在一个服务器上, 使 这些用户在通信时消耗较少的资源。 附图说明
     图 1 示出了根据本发明的一个实施例的即时通讯服务器的用户分配装置的示意 图 2 示出了根据本发明的一个实施例的即时通讯服务器的用户分配方法的流程 图 3 示出了根据本发明的另一个实施例的即时通讯服务器的用户分配装置的示6图;
     图;
     CN 102769583 A说明书4/8 页意图 ;
     图 4 示出了根据本发明的另一个实施例的即时通讯服务器的用户分配方法的流 图 5 是图 4 所示的实施例中单个用户分配分组的流程示意图 ; 图 6 是图 4 所示的实施例中为用户分组添加用户的详细流程图 ; 图 7 是图 4 所示的实施例中数值 N 的影响条件示意图。程图 ;
     具体实施方式
     为了能够更清楚地理解本发明的上述目的、 特征和优点, 下面结合附图和具体实 施方式对本发明进行进一步的详细描述。
     在下面的描述中阐述了很多具体细节以便于充分理解本发明, 但是, 本发明还可 以采用其他不同于在此描述的其他方式来实施, 因此, 本发明的保护范围不受下面公开的 具体实施例的限制。
     下面结合附图和实施例对本发明做进一步说明。需要说明的是, 在不冲突的情况 下, 本申请的实施例及实施例中的特征可以相互组合。 图 1 示出了根据本发明的实施例的即时通讯服务器的用户分配装置的示意图。
     如图 1 所示, 根据本发明的实施例的即时通讯服务器的用户分配装置 100 包括 : 用 户数据采集模块 102, 计算即时通讯系统内的至少一个用户与其关联用户的亲密度 ; 分组 控制模块 104, 依据亲密度将至少一个用户添加到相应的用户分组中 ; 管理模块 106, 基于 用户分组将至少一个用户及相应的用户数据分配至相应的即时通讯服务器, 其中, 亲密度 基于用户与其关联用户在预设时间内的通信量计算。
     即时通讯系统中用户的关联用户指用户的联系人、 好友。 通过该技术方案, 可以根 据相互之间的通信量对即时通讯系统中的用户进行分组, 然后根据用户分组分配服务器。 这样就可以实现将相互之间通信量大的用户存放在一个服务器上, 使得这些用户在通信时 消耗较少的资源。这里的 “预设时间” 可以由用户或厂商根据实际情况进行设置, 比如设置 为每 x 小时进行一次时长为 y 小时的数据采集, 则在某一次亲密度计算完成后 x 小时的时 刻, 将再次进行用户与其关联用户在 y 小时内的通信量的采集, 从而计算出对应的亲密度, 并依此反复进行上述步骤。
     优选地, 分组控制模块 104 包括 : 分组创建子模块 1042, 用于实现分组创建过程, 包括, 创建一个用户分组, 从即时通讯系统中选择一个未分组用户, 添加至用户分组中, 并 将该未分组用户设置为当前用户 ; 用户添加子模块 1044, 用于实现用户添加过程, 包括, 获 取与当前用户亲密度最大的前 N 个关联用户, 并根据亲密度的大小顺序, 依次判断每个关 联用户是否为未分组用户, 若是, 则停止对其他关联用户的判断, 并将该未分组的关联用户 添加至用户分组中, 以及将该未分组的关联用户设置为当前用户后, 重复执行用户添加过 程, 否则继续对其他关联用户进行判断 ; 分组控制子模块 1046, 用于在前 N 个关联用户中不 存在未分组用户的情况下, 控制分组创建子模块 1042 和用户添加子模块 1044 分别重复进 行分组创建过程和用户添加过程, 直至即时通讯系统中不存在未分组用户。
     在该技术方案中, 实现了对用户分组的过程, 使得相互之间通信量大的用户处于 同一分组中, 并且每个用户都在且只在一个用户分组中。
     优选地, 若即时通讯系统中存在多个未分组用户, 分组创建子模块 1042 优先将通 信量大的未分组用户添加至用户分组。
     优选地, 分组控制模块 104 还包括 : 数值获取子模块 1048, 确定允许获取的关联用 户的数值 N, 其中, 数值 N 的取值的影响因素包括以下至少之一或其组合 : 即时通讯服务器 的数量、 每个即时通讯服务器的容量、 即时通讯系统中用户的数量、 每个用户的最大联系人 数量、 每个用户分组的最长处理时间。
     在该技术方案中, N 的取值与多种因素有关, 具体地, 即时通讯服务器的数量越多, N 的值越大 ; 即时通讯系统中用户的数量越多, N 的值越大 ; 每个用户的最大联系人数量越 多, N 的值越大 ; 每个即时通讯服务器的容量越大, N 的值越大 ; 每个用户分组的最长处理时 间是指一个分组内的用户数据分配到某一服务器上能够容忍的最长时间, 每个用户分组的 最长处理时间越长, N 的值越大。
     优选地, 管理模块 106 将处于同一用户分组内的用户及相应的用户数据分配在同 一即时通讯服务器上。
     在该技术方案中, 处于同一用户分组内的用户相互之间的通信量比较大, 将这些 用户分配在同一服务器上可以在通信时占用较少的系统资源, 提高系统的效率。 另外, 可以 对人数较少的多个用户分组进行合并, 根据用户分组内的人数和即时通讯服务器的剩余容 量进行分配。 图 2 示出了根据本发明的实施例的即时通讯服务器的用户分配方法的流程图。
     如图 2 所示, 根据本发明的实施例的即时通讯服务器的用户分配方法, 包括 : 步骤 202, 计算即时通讯系统内的至少一个用户与其关联用户的亲密度 ; 步骤 204, 依据亲密度 将至少一个用户添加到相应的用户分组中 ; 步骤 206, 基于用户分组将至少一个用户及相 应的用户数据分配至相应的即时通讯服务器, 其中, 亲密度基于用户与其关联用户在预设 时间内的通信量计算。
     即时通讯系统中用户的关联用户指用户的联系人、 好友。 通过该技术方案, 可以根 据相互之间的通信量对即时通讯系统中的用户进行分组, 然后根据用户分组分配服务器。 这样就可以实现将相互之间通信量大的用户存放在一个服务器上, 使得这些用户在通信时 消耗较少的资源。这里的 “预设时间” 可以由用户或厂商根据实际情况进行设置, 比如设置 为每 x 小时进行一次时长为 y 小时的数据采集, 则在某一次亲密度计算完成后 x 小时的时 刻, 将再次进行用户与其关联用户在 y 小时内的通信量的采集, 从而计算出对应的亲密度, 并依此反复进行上述步骤。
     优选地, 步骤 204 包括 : 步骤 2042, 创建一个用户分组, 从即时通讯系统中选择一 个未分组用户, 添加至用户分组中, 并将该未分组用户设置为当前用户 ; 步骤 2044, 获取与 当前用户亲密度最大的前 N 个关联用户, 并根据亲密度的大小顺序, 依次判断每个关联用 户是否为未分组用户, 若是, 则停止对其他关联用户的判断, 并将该未分组的关联用户添加 至用户分组中, 以及将该未分组的关联用户设置为当前用户后, 重复执行步骤 2044, 否则继 续对其他关联用户进行判断 ; 步骤 2046, 若前 N 个关联用户中不存在未分组用户, 则重复执 行步骤 2042 和步骤 2044, 直至即时通讯系统中不存在未分组用户。
     在该技术方案中, 实现了对用户分组的过程, 使得相互之间通信量大的用户处于 同一分组中, 并且每个用户都在且只在一个用户分组中。
     优选地, 在步骤 2042 中, 若即时通讯系统中存在多个未分组用户, 则优先将通信 量大的未分组用户添加至用户分组。
     优选地, 步骤 2044 之前, 还包括 : 确定允许获取的关联用户的数值 N, 其中, 数值 N 的取值的影响因素包括以下至少之一或其组合 : 即时通讯服务器的数量、 每个即时通讯服 务器的容量、 即时通讯系统中用户的数量、 每个用户的最大联系人数量、 每个用户分组的最 长处理时间。
     在该技术方案中, N 的取值与多种因素有关, 具体地, 即时通讯服务器的数量越多, N 的值越大 ; 即时通讯系统中用户的数量越多, N 的值越大 ; 每个用户的最大联系人数量越 多, N 的值越大 ; 每个即时通讯服务器的容量越大, N 的值越大 ; 每个用户分组的最长处理时 间是指一个分组内的用户数据分配到某一服务器上能够容忍的最长时间, 每个用户分组的 最长处理时间越长, N 的值越大。
     优选地, 步骤 206 包括 : 将处于同一用户分组内的用户及相应的用户数据分配在 同一即时通讯服务器上。
     在该技术方案中, 处于同一用户分组内的用户相互之间的通信量比较大, 将这些 用户分配在同一服务器上可以在通信时占用较少的系统资源, 提高系统的效率。 另外, 可以 对人数较少的多个用户分组进行合并, 根据用户分组内的人数和即时通讯服务器的剩余容 量进行分配。
     图 3 示出了根据本发明的另一实施例的即时通讯服务器的用户分配装置的示意图。 如图 3 所示, 根据本发明的另一实施例的即时通讯服务器的用户分配装置 300 包 括: 用户数据初始采集模块 302 (相当于前述用户数据采集模块 102) 、 用户服务器更新控制 模块 304 (相当于前述分组控制模块 104) 以及信息分发策略管理模块 306 (相当于前述管理 模块 106) , 用户数据初始采集模块 302 可以向用户服务器更新控制模块 304 传输某单一分 组以及分组内的用户数据, 数据初始采集模块 302 在向用户服务器更新控制模块 304 发起 某单一分组以及分组内的用户数据时, 已经进行了单一分组以及分组内用户数据的组建。
     用户服务器更新控制模块 304 用于在所有用户已经完成了分组, 则根据所有分组 以及分组内的用户数据向信息分发策略管理模块 306 发送分组信息分发请求 ; 其中用户数 据初始采集模块 302 发往用户服务器更新控制模块 304 的数据需要包含分组的组名以及分 组内的用户数据 ; 只有收集到所有用户的用户数据后, 用户服务器更新控制模块 304 才会 将已分配好的所有分组以及分组内用户数据传输到信息分发策略管理模块 306, 信息分发 策略管理模块 306 根据整个即时通讯系统的用户数量、 服务器的数量、 各个服务器内剩余 容量进行一定程度的分组归并之后进行 “分组——服务器” 的策略分发。 信息分发策略管理 模块 306 获取户服务器更新控制模块 304 发送的所有分组以及分组内的用户数据的信息, 对用户较少的分组可以实现一定的归并, 然后将各个分组结果传入信息分发策略管理模块 306 指定的服务器内。用户是指安装了企业级即时通讯软件的 PC 端或者移动终端。进行 “分组——服务器” 策略分发之后, 各个分组信息保存在对应服务器之后, 开始下一个时间 段的用户与其他用户通信量的初始数据收集, 在此时间段运行结束后, 对此时间段内所有 用户信息进行统计, 然后将用户的信息传入到用户数据初始采集模块 302。在进行用户与 其他用户通信量的初始数据收集时, 信息分发策略管理模块 306 根据服务器数量、 单个服
     务器的容量、 整个 IM 系统的用户数量、 单个用户的最大好友数量以及单个用户分组的最长 时间来决定查找用户好友次数 N, 信息分发策略管理模块 306 向用户数据初始采集模块 302 传入查找用户好友次数 N, 其中 : 查找用户好友次数 N 是指当前用户循环查找亲密度最大且 未分组好友的次数, 如果按当前用户好友的亲密度顺序查找 N 次未查找到当前用户的亲密 度最大未分组好友则表示当前用户所在分组已经建立完成。
     下面结合图 4 至图 7 对根据本发明的另一个实施例的即时通讯服务器的用户分配 方法进行说明。
     参见图 4, 该流程至少包括 :
     步骤 402, 获取用户数据 ;
     步骤 404, 获取未分组用户列表, 从所有用户数据中找出未分组的用户列表 (这里, 首次创建分组时, 查找到的未分组用户列表是所有使用即时通讯软件的用户 ; 未完成所有 用户分组时, 未分组用户列表内的用户是整个 IM 系统内所有用户除去已分组用户剩余的 部分) ;
     步骤 406, 创建新分组加入当前用户, 在上一分组添加用户结束后并且获取未分 组用户列表不为空的情况下进行, 首先创建新分组, 并且从未分组用户列表内查找通信量 最大的用户, 将此用户置为新分组的当前用户, 完成新分组的创建以及分组当前用户的添 加;
     步骤 408, 查找当前用户亲密度最大好友, 依据查找用户好友次数 N 进行循环查找 (循环查找的过程参见图 6 所示) , 如果在循环次数以内还未查找到亲密度最大未分组好友, 则进入当前分组结束流程 410 ; 如果在循环次数内查找到了用户亲密度最大且未分组的好 友, 则进入步骤 412, 此好友加入到当前的分组之内, 将加入分组内的新用户置为此分组的 当前用户 ;
     步骤 410, 当前分组划分完毕 ;
     步骤 412, 将当前用户亲密度最大未分组好友加入分组, 通过步骤 418 能够查找 到的当前用户亲密度最大未分组好友, 则在本分组内加入当前用户的亲密度最大未分组好 友, 将本分组内的当前用户替换成新加入的用户, 重新回到步骤 408, 查找当前用户亲密度 最大好友 ;
     步骤 414, 判断所有用户是否分组完成 ; 由当前分组划分结束模块如果所有用户 已经分组完成, 则进入步骤 416 ; 如果未完成所有用户的分组, 则进行到查找用户数据, 回 到步骤 402 ;
     步骤 416, 根据已分配好的所有分组将分组内用户数据分配到对应的服务器。
     参见图 5, 将单个用户分至用户分组的流程至少包括 :
     步骤 502, 当前用户信息传入 ;
     步骤 504, 将该用户加入为分组用户列表 (在当前用户信息传入时, 未分组用户列 表指传入的所有用户 ; 当判断产生单一分组以及分组内的用户数据时, 未分组用户列表指 所有用户中除去已分组的所有用户) ;
     步骤 506, 该用户被当作其他用户的亲密度最大未分组好友加入到一个用户分 组;
     步骤 508, 该用户成为未分组用户列表内通信量最大值用户, 加入新分组成为分组内第一个用户 ;
     步骤 510, 成为分组内成员。
     参见图 6, 为用户分组添加用户至少包括以下流程 :
     步骤 602, 将一个用户设置为当前用户 ;
     步骤 604, 查找当前用户的亲密度最大好友, 该亲密度最大好友是当前用户的好 友, 且在采集关联信息的时间段内, 与当前用户产生信息交换量最大的用户, 并不区分此用 户是否已分组 ;
     步骤 606, 循环查找亲密度最大未分组好友的计数器 N, 判断查找用户好友数量的 次数, 如果次数已经大于 N, 则不再进行判断, 进入步骤 614, 分组完成 ; 如果 N 仍然大于 0, 则进入步骤 608, 判断当前亲密度最大好友是否分组 ;
     步骤 608, 判断当前亲密度最大好友是否分组, 判断由之前查找出的当前用户的 亲密度最大好友是否已经添加到之前产生的分组之中, 如果已经添加到之前产生的分组之 中, 则进入步骤 612, 否则进入步骤 610 ;
     步骤 610, 将当前用户亲密度最大好友加入此分组, 通过步骤 608 判断得出当前亲 密度最大好友并未加入其它分组, 此时将当前用户的亲密度最大好友加入当前分组 ; 步骤 612, 删除亲密度最大好友列表中元素, 将当前用户的亲密度最大好友从当前 用户的亲密度最大好友列表删除, 以免下次循环检测时仍然检测到该好友, 此过程避免了 检测同一好友两次或者两次以上 ;
     步骤 614, 分组完成通过循环查询当前用户的亲密度最大好友, 如果查询次数超过 查找用户好友数量 N 时, 则将保存当前分组以及分组内的用户信息。
     关于查找用户好友数量 N 的取值, 可以参见图 7。如图 7 所示 N 的取值与整个即时 通讯系统中的用户数量 702、 单个用户的最大好友数量 704、 即时通讯服务器数量 706、 每个 时通讯服务器的容量 708、 和单个用户分组的最长时间 710 有关。具体地, 即时通讯系统中 的用户数量 702 是指整个即时通讯系统的用户的总数, 即时通讯用户的数量级可以为千万 级到亿级, 这样的即时通讯系统有 MSN、 QQ 等 ; 而企业级即时通讯的用户的数量级约为十万 级。即时通讯系统的用户数量级越大, 则查找用户好友次数 N 的值越大。
     单个用户的最大好友数量 704 是指在即时通讯系统内, 单个用户能添加好友的最 大值 ; 例如 QQ 的最大好友数量是 500(未使用任何增值业务的情况下) , MSN 的最大好友数 量是 1000。如果单个用户的最大好友数量越多, 则查找用户好友次数 N 的值越大。
     即时通讯服务器数量 706 是指存储整个即时通讯系统用户数据的服务器数量。
     单个服务器的容量 708 是指单个即时通讯服务器能够存储用户数据的最大数量 限制。查找用户好友次数 N 随着服务器数量 706 和单个服务器的容量 708 的增加而增加。
     单个用户分组的最长时间 710 是指一个分组内所有用户数据分配到某一服务器 上能够容忍的最长时间, 如果单个用户分组的最长时间越长, 查找用户好友次数 N 越大。
     综上, 根据本发明的即时通讯服务器的用户分配装置和用户分配方法, 可以将相 互通信量大的用户集中的存放在一个服务器上, 使这些用户在通信时消耗较少的资源。
     以上所述仅为本发明的优选实施例而已, 并不用于限制本发明, 对于本领域的技 术人员来说, 本发明可以有各种更改和变化。 凡在本发明的精神和原则之内, 所作的任何修 改、 等同替换、 改进等, 均应包含在本发明的保护范围之内。
    

即时通讯服务器的用户分配装置和用户分配方法.pdf_第1页
第1页 / 共17页
即时通讯服务器的用户分配装置和用户分配方法.pdf_第2页
第2页 / 共17页
即时通讯服务器的用户分配装置和用户分配方法.pdf_第3页
第3页 / 共17页
点击查看更多>>
资源描述

《即时通讯服务器的用户分配装置和用户分配方法.pdf》由会员分享,可在线阅读,更多相关《即时通讯服务器的用户分配装置和用户分配方法.pdf(17页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 102769583 A (43)申请公布日 2012.11.07 C N 1 0 2 7 6 9 5 8 3 A *CN102769583A* (21)申请号 201210274419.7 (22)申请日 2012.08.03 H04L 12/58(2006.01) (71)申请人深圳中兴网信科技有限公司 地址 518057 广东省深圳市南山区科技南路 中兴研发大楼26楼 (72)发明人段乾 张晓廷 李俊敏 (74)专利代理机构北京友联知识产权代理事务 所(普通合伙) 11343 代理人尚志峰 汪海屏 (54) 发明名称 即时通讯服务器的用户分配装置和用户分配 方法 。

2、(57) 摘要 本发明提供了一种即时通讯服务器的用户分 配装置,包括:用户数据采集模块,计算即时通讯 系统内的至少一个用户与其关联用户的亲密度; 分组控制模块,依据所述亲密度将所述至少一个 用户添加到相应的用户分组中;管理模块,基于 所述用户分组将所述至少一个用户及相应的用户 数据分配至相应的即时通讯服务器,其中,所述亲 密度基于所述用户与其关联用户在预设时间内的 通信量计算。本发明还提出一种即时通讯服务器 的用户分配方法。通过本发明的技术方案,可以 将相互通信量大的用户集中的存放在一个服务器 上,使这些用户在通信时消耗较少的资源。 (51)Int.Cl. 权利要求书2页 说明书8页 附图6页。

3、 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 8 页 附图 6 页 1/2页 2 1.一种即时通讯服务器的用户分配装置,其特征在于,包括: 用户数据采集模块,计算即时通讯系统内的至少一个用户与其关联用户的亲密度; 分组控制模块,依据所述亲密度将所述至少一个用户添加到相应的用户分组中; 管理模块,基于所述用户分组将所述至少一个用户及相应的用户数据分配至相应的即 时通讯服务器, 其中,所述亲密度基于所述用户与其关联用户在预设时间内的通信量计算。 2.根据权利要求1所述的即时通讯服务器的用户分配装置,其特征在于,所述分组控 制模块包括: 分组创建子模块,用。

4、于实现分组创建过程,包括:创建一个用户分组,从所述即时通 讯系统中选择一个未分组用户,添加至所述用户分组中,并将该未分组用户设置为当前用 户; 用户添加子模块,用于实现用户添加过程,包括:获取与所述当前用户亲密度最大的前 N个关联用户,并根据亲密度的大小顺序,依次判断每个所述关联用户是否为未分组用户, 若是,则停止对其他关联用户的判断,并将该未分组的关联用户添加至所述用户分组中,以 及将该未分组的关联用户设置为所述当前用户后,重复执行所述用户添加过程,否则继续 对其他关联用户进行判断; 分组控制子模块,用于在所述前N个关联用户中不存在未分组用户的情况下,控制所 述分组创建子模块和所述用户添加子。

5、模块分别重复进行所述分组创建过程及所述用户添 加过程,直至所述即时通讯系统中不存在未分组用户。 3.根据权利要求2所述的即时通讯服务器的用户分配装置,其特征在于,若所述即时 通讯系统中存在多个未分组用户,所述分组创建子模块优先将通信量大的未分组用户添加 至所述用户分组。 4.根据权利要求2所述的即时通讯服务器的用户分配装置,其特征在于,所述分组控 制模块还包括: 数值获取子模块,确定允许获取的关联用户的数值N,其中,所述数值N的取值的影响 因素包括以下至少之一或其组合: 所述即时通讯服务器的数量、每个所述即时通讯服务器的容量、所述即时通讯系统中 用户的数量、每个所述用户的最大联系人数量、每个所。

6、述用户分组的最长处理时间。 5.根据权利要求1至4中任一项所述的即时通讯服务器的用户分配装置,其特征在于, 所述管理模块将处于同一用户分组内的用户及相应的用户数据分配在同一即时通讯服务 器上。 6.一种即时通讯服务器的用户分配方法,其特征在于,包括: 步骤202,计算即时通讯系统内的至少一个用户与其关联用户的亲密度; 步骤204,依据所述亲密度将所述至少一个用户添加到相应的用户分组中; 步骤206,基于所述用户分组将所述至少一个用户及相应的用户数据分配至相应的即 时通讯服务器, 其中,所述亲密度基于所述用户与其关联用户在预设时间内的通信量计算。 7.根据权利要求6所述的即时通讯服务器的用户分配。

7、方法,其特征在于,所述步骤204 包括: 权 利 要 求 书CN 102769583 A 2/2页 3 步骤2042,创建一个用户分组,从所述即时通讯系统中选择一个未分组用户,添加至所 述用户分组中,并将该未分组用户设置为当前用户; 步骤2044,获取与所述当前用户亲密度最大的前N个关联用户,并根据亲密度的大小 顺序,依次判断每个所述关联用户是否为未分组用户,若是,则停止对其他关联用户的判 断,并将该未分组的关联用户添加至所述用户分组中,以及将该未分组的关联用户设置为 所述当前用户后,重复执行所述步骤2044,否则继续对其他关联用户进行判断; 步骤2046,若所述前N个关联用户中不存在未分组用。

8、户,则重复执行所述步骤2042及 所述步骤2044,直至所述即时通讯系统中不存在未分组用户。 8.根据权利要求7所述的即时通讯服务器的用户分配方法,其特征在于,在所述步骤 2042中,若所述即时通讯系统中存在多个未分组用户,则优先将通信量大的未分组用户添 加至所述用户分组。 9.根据权利要求7所述的即时通讯服务器的用户分配方法,其特征在于,所述步骤 2044之前,还包括: 确定允许获取的关联用户的数值N,其中,所述数值N的取值的影响因素包括以下至少 之一或其组合: 所述即时通讯服务器的数量、每个所述即时通讯服务器的容量、所述即时通讯系统中 用户的数量、每个所述用户的最大联系人数量、每个所述用户。

9、分组的最长处理时间。 10.根据权利要求6至9中任一项所述的即时通讯服务器的用户分配方法,其特征在 于,所述步骤206包括: 将处于同一用户分组内的用户及相应的用户数据分配在同一即时通讯服务器上。 权 利 要 求 书CN 102769583 A 1/8页 4 即时通讯服务器的用户分配装置和用户分配方法 技术领域 0001 本发明涉及通信技术领域,具体而言,涉及一种即时通讯服务器的用户分配装置 和一种即时通讯服务器的用户分配方法。 背景技术 0002 在互联网科技飞速发展,各种新技术不断应用的今天,即时通讯(Instant Messenger,简称IM)软件已经成为了互联网上最常用的软件之一。对。

10、于大多数人来说,即 时通讯软件已经不算新鲜了。提到IM,我们马上就会想到QQ、MSN。毫无疑问,QQ、MSN已 经成为众多电脑工作者的必备即时通讯软件,这些软件最初的功能仅仅是通过网络进行即 时消息的收发,而随着技术的进步,如今人们常常使用这些即时通讯软件进行资源分享,如 即时或离线的文件传输、网盘中转空间等。然而,对企业的管理者而言,QQ、MSN等个人即时 通讯软件的普及也给他们带来忧虑。一方面,不少管理者担心员工利用它们做一些与工作 无关的事情,而另一个更主要的担心在于,QQ、MSN主要面向个人用户,其安全性、可管理性 天生不足。基于企业管理者的这些担心,一个新的即时通讯软件类别企业级即时。

11、通讯软 件(Enterprise Instant Message,简称EIM)应运而生,并逐渐引起CIO(企业信息官)们 的关注。企业级IM需要自己架设服务器,对于大型跨国跨地域的集团性企业,其分支机构 多,企业员工分散,跨部门、跨地域、异地办公、移动办公特征明显、沟通成本较高,对于这样 的企业,IM服务器用户分配的方法尤为重要。 0003 因此,需要一种即时通讯服务器的用户分配方法,可以将相互通信量大的用户集 中的存放在一个服务器上,使这些用户在通信时消耗较少的资源。 发明内容 0004 本发明的目的在于,对于企业级即时通讯系统,提供一种即时通讯服务器的用户 分配方法,可以将相互通信量大的用。

12、户集中的存放在一个服务器上,使这些用户在通信时 消耗较少的资源。 0005 根据本发明的一个方面,提出一种即时通讯服务器的用户分配装置,包括:用户数 据采集模块,计算即时通讯系统内的至少一个用户与其关联用户的亲密度;分组控制模块, 依据所述亲密度将所述至少一个用户添加到相应的用户分组中;管理模块,基于所述用户 分组将所述至少一个用户及相应的用户数据分配至相应的即时通讯服务器,其中,所述亲 密度基于所述用户与其关联用户在预设时间内的通信量计算。 0006 即时通讯系统中用户的关联用户指用户的联系人、好友。通过该技术方案,可以根 据相互之间的通信量对即时通讯系统中的用户进行分组,然后根据用户分组分。

13、配服务器。 这样就可以实现将相互之间通信量大的用户存放在一个服务器上,使得这些用户在通信时 消耗较少的资源。这里的“预设时间”可以由用户或厂商根据实际情况进行设置,比如设置 为每x小时进行一次时长为y小时的数据采集,则在某一次亲密度计算完成后x小时的时 刻,将再次进行用户与其关联用户在y小时内的通信量的采集,从而计算出对应的亲密度, 说 明 书CN 102769583 A 2/8页 5 并依此反复进行上述步骤。 0007 优选地,所述分组控制模块包括:分组创建子模块,用于实现分组创建过程,包括: 创建一个用户分组,从所述即时通讯系统中选择一个未分组用户,添加至所述用户分组中, 并将该未分组用户。

14、设置为当前用户;用户添加子模块,用于实现用户添加过程,包括:获取 与所述当前用户亲密度最大的前N个关联用户,并根据亲密度的大小顺序,依次判断每个 所述关联用户是否为未分组用户,若是,则停止对其他关联用户的判断,并将该未分组的关 联用户添加至所述用户分组中,以及将该未分组的关联用户设置为所述当前用户后,重复 执行所述用户添加过程,否则继续对其他关联用户进行判断;分组控制子模块,用于在所述 前N个关联用户中不存在未分组用户的情况下,控制所述分组创建子模块和所述用户添加 子模块分别重复进行所述分组创建过程及所述用户添加过程,直至所述即时通讯系统中不 存在未分组用户。 0008 在该技术方案中,实现了。

15、对用户分组的过程,使得相互之间通信量大的用户处于 同一分组中,并且每个用户都在且只在一个用户分组中。 0009 优选地,若所述即时通讯系统中存在多个未分组用户,所述分组创建子模块优先 将通信量大的未分组用户添加至所述用户分组。 0010 优选地,所述分组控制模块还包括:数值获取子模块,确定允许获取的关联用户的 数值N,其中,所述数值N的取值的影响因素包括以下至少之一或其组合:所述即时通讯服 务器的数量、每个所述即时通讯服务器的容量、所述即时通讯系统中用户的数量、每个所述 用户的最大联系人数量、每个所述用户分组的最长处理时间。 0011 在该技术方案中,N的取值与多种因素有关,具体地,即时通讯服。

16、务器的数量越多, N的值越大;即时通讯系统中用户的数量越多,N的值越大;每个用户的最大联系人数量越 多,N的值越大;每个即时通讯服务器的容量越大,N的值越大;每个用户分组的最长处理时 间是指一个分组内的用户数据分配到某一服务器上能够容忍的最长时间,每个用户分组的 最长处理时间越长,N的值越大。 0012 优选地,所述管理模块将处于同一用户分组内的用户及相应的用户数据分配在同 一即时通讯服务器上。 0013 在该技术方案中,处于同一用户分组内的用户相互之间的通信量比较大,将这些 用户分配在同一服务器上可以在通信时占用较少的系统资源,提高系统的效率。另外,可以 对人数较少的多个用户分组进行合并,根。

17、据用户分组内的人数和即时通讯服务器的剩余容 量进行分配。 0014 根据本发明的另一方面,提出一种即时通讯服务器的用户分配方法,包括:步骤 202,计算即时通讯系统内的至少一个用户与其关联用户的亲密度;步骤204,依据所述亲 密度将所述至少一个用户添加到相应的用户分组中;步骤206,基于所述用户分组将所述 至少一个用户及相应的用户数据分配至相应的即时通讯服务器,其中,所述亲密度基于所 述用户与其关联用户在预设时间内的通信量计算。 0015 即时通讯系统中用户的关联用户指用户的联系人、好友。通过该技术方案,可以根 据相互之间的通信量对即时通讯系统中的用户进行分组,然后根据用户分组分配服务器。 这。

18、样就可以实现将相互之间通信量大的用户存放在一个服务器上,使得这些用户在通信时 消耗较少的资源。这里的“预设时间”可以由用户或厂商根据实际情况进行设置,比如设置 说 明 书CN 102769583 A 3/8页 6 为每x小时进行一次时长为y小时的数据采集,则在某一次亲密度计算完成后x小时的时 刻,将再次进行用户与其关联用户在y小时内的通信量的采集,从而计算出对应的亲密度, 并依此反复进行上述步骤。 0016 优选地,所述步骤204包括:步骤2042,创建一个用户分组,从所述即时通讯系统 中选择一个未分组用户,添加至所述用户分组中,并将该未分组用户设置为当前用户;步骤 2044,获取与所述当前用。

19、户亲密度最大的前N个关联用户,并根据亲密度的大小顺序,依次 判断每个所述关联用户是否为未分组用户,若是,则停止对其他关联用户的判断,并将该未 分组的关联用户添加至所述用户分组中,以及将该未分组的关联用户设置为所述当前用户 后,重复执行所述步骤2044,否则继续对其他关联用户进行判断;步骤2046,若所述前N个 关联用户中不存在未分组用户,则重复执行所述步骤2042及所述步骤2044,直至所述即时 通讯系统中不存在未分组用户。 0017 在该技术方案中,实现了对用户分组的过程,使得相互之间通信量大的用户处于 同一分组中,并且每个用户都在且只在一个用户分组中。 0018 优选地,在所述步骤2042。

20、中,若所述即时通讯系统中存在多个未分组用户,则优 先将通信量大的未分组用户添加至所述用户分组。 0019 优选地,所述步骤2044之前,还包括:确定允许获取的关联用户的数值N,其中,所 述数值N的取值的影响因素包括以下至少之一或其组合:所述即时通讯服务器的数量、每 个所述即时通讯服务器的容量、所述即时通讯系统中用户的数量、每个所述用户的最大联 系人数量、每个所述用户分组的最长处理时间。 0020 在该技术方案中,N的取值与多种因素有关,具体地,即时通讯服务器的数量越多, N的值越大;即时通讯系统中用户的数量越多,N的值越大;每个用户的最大联系人数量越 多,N的值越大;每个即时通讯服务器的容量越。

21、大,N的值越大;每个用户分组的最长处理时 间是指一个分组内的用户数据分配到某一服务器上能够容忍的最长时间,每个用户分组的 最长处理时间越长,N的值越大。 0021 优选地,所述步骤206包括:将处于同一用户分组内的用户及相应的用户数据分 配在同一即时通讯服务器上。 0022 在该技术方案中,处于同一用户分组内的用户相互之间的通信量比较大,将这些 用户分配在同一服务器上可以在通信时占用较少的系统资源,提高系统的效率。另外,可以 对人数较少的多个用户分组进行合并,根据用户分组内的人数和即时通讯服务器的剩余容 量进行分配。 0023 通过上述技术方案,可以将相互通信量大的用户集中的存放在一个服务器上。

22、,使 这些用户在通信时消耗较少的资源。 附图说明 0024 图1示出了根据本发明的一个实施例的即时通讯服务器的用户分配装置的示意 图; 0025 图2示出了根据本发明的一个实施例的即时通讯服务器的用户分配方法的流程 图; 0026 图3示出了根据本发明的另一个实施例的即时通讯服务器的用户分配装置的示 说 明 书CN 102769583 A 4/8页 7 意图; 0027 图4示出了根据本发明的另一个实施例的即时通讯服务器的用户分配方法的流 程图; 0028 图5是图4所示的实施例中单个用户分配分组的流程示意图; 0029 图6是图4所示的实施例中为用户分组添加用户的详细流程图; 0030 图7。

23、是图4所示的实施例中数值N的影响条件示意图。 具体实施方式 0031 为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实 施方式对本发明进行进一步的详细描述。 0032 在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可 以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围不受下面公开的 具体实施例的限制。 0033 下面结合附图和实施例对本发明做进一步说明。需要说明的是,在不冲突的情况 下,本申请的实施例及实施例中的特征可以相互组合。 0034 图1示出了根据本发明的实施例的即时通讯服务器的用户分配装置的示意图。 0035 如图1所示,根据。

24、本发明的实施例的即时通讯服务器的用户分配装置100包括:用 户数据采集模块102,计算即时通讯系统内的至少一个用户与其关联用户的亲密度;分组 控制模块104,依据亲密度将至少一个用户添加到相应的用户分组中;管理模块106,基于 用户分组将至少一个用户及相应的用户数据分配至相应的即时通讯服务器,其中,亲密度 基于用户与其关联用户在预设时间内的通信量计算。 0036 即时通讯系统中用户的关联用户指用户的联系人、好友。通过该技术方案,可以根 据相互之间的通信量对即时通讯系统中的用户进行分组,然后根据用户分组分配服务器。 这样就可以实现将相互之间通信量大的用户存放在一个服务器上,使得这些用户在通信时 。

25、消耗较少的资源。这里的“预设时间”可以由用户或厂商根据实际情况进行设置,比如设置 为每x小时进行一次时长为y小时的数据采集,则在某一次亲密度计算完成后x小时的时 刻,将再次进行用户与其关联用户在y小时内的通信量的采集,从而计算出对应的亲密度, 并依此反复进行上述步骤。 0037 优选地,分组控制模块104包括:分组创建子模块1042,用于实现分组创建过程, 包括,创建一个用户分组,从即时通讯系统中选择一个未分组用户,添加至用户分组中,并 将该未分组用户设置为当前用户;用户添加子模块1044,用于实现用户添加过程,包括,获 取与当前用户亲密度最大的前N个关联用户,并根据亲密度的大小顺序,依次判断。

26、每个关 联用户是否为未分组用户,若是,则停止对其他关联用户的判断,并将该未分组的关联用户 添加至用户分组中,以及将该未分组的关联用户设置为当前用户后,重复执行用户添加过 程,否则继续对其他关联用户进行判断;分组控制子模块1046,用于在前N个关联用户中不 存在未分组用户的情况下,控制分组创建子模块1042和用户添加子模块1044分别重复进 行分组创建过程和用户添加过程,直至即时通讯系统中不存在未分组用户。 0038 在该技术方案中,实现了对用户分组的过程,使得相互之间通信量大的用户处于 同一分组中,并且每个用户都在且只在一个用户分组中。 说 明 书CN 102769583 A 5/8页 8 0。

27、039 优选地,若即时通讯系统中存在多个未分组用户,分组创建子模块1042优先将通 信量大的未分组用户添加至用户分组。 0040 优选地,分组控制模块104还包括:数值获取子模块1048,确定允许获取的关联用 户的数值N,其中,数值N的取值的影响因素包括以下至少之一或其组合:即时通讯服务器 的数量、每个即时通讯服务器的容量、即时通讯系统中用户的数量、每个用户的最大联系人 数量、每个用户分组的最长处理时间。 0041 在该技术方案中,N的取值与多种因素有关,具体地,即时通讯服务器的数量越多, N的值越大;即时通讯系统中用户的数量越多,N的值越大;每个用户的最大联系人数量越 多,N的值越大;每个即。

28、时通讯服务器的容量越大,N的值越大;每个用户分组的最长处理时 间是指一个分组内的用户数据分配到某一服务器上能够容忍的最长时间,每个用户分组的 最长处理时间越长,N的值越大。 0042 优选地,管理模块106将处于同一用户分组内的用户及相应的用户数据分配在同 一即时通讯服务器上。 0043 在该技术方案中,处于同一用户分组内的用户相互之间的通信量比较大,将这些 用户分配在同一服务器上可以在通信时占用较少的系统资源,提高系统的效率。另外,可以 对人数较少的多个用户分组进行合并,根据用户分组内的人数和即时通讯服务器的剩余容 量进行分配。 0044 图2示出了根据本发明的实施例的即时通讯服务器的用户分。

29、配方法的流程图。 0045 如图2所示,根据本发明的实施例的即时通讯服务器的用户分配方法,包括:步骤 202,计算即时通讯系统内的至少一个用户与其关联用户的亲密度;步骤204,依据亲密度 将至少一个用户添加到相应的用户分组中;步骤206,基于用户分组将至少一个用户及相 应的用户数据分配至相应的即时通讯服务器,其中,亲密度基于用户与其关联用户在预设 时间内的通信量计算。 0046 即时通讯系统中用户的关联用户指用户的联系人、好友。通过该技术方案,可以根 据相互之间的通信量对即时通讯系统中的用户进行分组,然后根据用户分组分配服务器。 这样就可以实现将相互之间通信量大的用户存放在一个服务器上,使得这。

30、些用户在通信时 消耗较少的资源。这里的“预设时间”可以由用户或厂商根据实际情况进行设置,比如设置 为每x小时进行一次时长为y小时的数据采集,则在某一次亲密度计算完成后x小时的时 刻,将再次进行用户与其关联用户在y小时内的通信量的采集,从而计算出对应的亲密度, 并依此反复进行上述步骤。 0047 优选地,步骤204包括:步骤2042,创建一个用户分组,从即时通讯系统中选择一 个未分组用户,添加至用户分组中,并将该未分组用户设置为当前用户;步骤2044,获取与 当前用户亲密度最大的前N个关联用户,并根据亲密度的大小顺序,依次判断每个关联用 户是否为未分组用户,若是,则停止对其他关联用户的判断,并将。

31、该未分组的关联用户添加 至用户分组中,以及将该未分组的关联用户设置为当前用户后,重复执行步骤2044,否则继 续对其他关联用户进行判断;步骤2046,若前N个关联用户中不存在未分组用户,则重复执 行步骤2042和步骤2044,直至即时通讯系统中不存在未分组用户。 0048 在该技术方案中,实现了对用户分组的过程,使得相互之间通信量大的用户处于 同一分组中,并且每个用户都在且只在一个用户分组中。 说 明 书CN 102769583 A 6/8页 9 0049 优选地,在步骤2042中,若即时通讯系统中存在多个未分组用户,则优先将通信 量大的未分组用户添加至用户分组。 0050 优选地,步骤204。

32、4之前,还包括:确定允许获取的关联用户的数值N,其中,数值N 的取值的影响因素包括以下至少之一或其组合:即时通讯服务器的数量、每个即时通讯服 务器的容量、即时通讯系统中用户的数量、每个用户的最大联系人数量、每个用户分组的最 长处理时间。 0051 在该技术方案中,N的取值与多种因素有关,具体地,即时通讯服务器的数量越多, N的值越大;即时通讯系统中用户的数量越多,N的值越大;每个用户的最大联系人数量越 多,N的值越大;每个即时通讯服务器的容量越大,N的值越大;每个用户分组的最长处理时 间是指一个分组内的用户数据分配到某一服务器上能够容忍的最长时间,每个用户分组的 最长处理时间越长,N的值越大。。

33、 0052 优选地,步骤206包括:将处于同一用户分组内的用户及相应的用户数据分配在 同一即时通讯服务器上。 0053 在该技术方案中,处于同一用户分组内的用户相互之间的通信量比较大,将这些 用户分配在同一服务器上可以在通信时占用较少的系统资源,提高系统的效率。另外,可以 对人数较少的多个用户分组进行合并,根据用户分组内的人数和即时通讯服务器的剩余容 量进行分配。 0054 图3示出了根据本发明的另一实施例的即时通讯服务器的用户分配装置的示意 图。 0055 如图3所示,根据本发明的另一实施例的即时通讯服务器的用户分配装置300包 括:用户数据初始采集模块302(相当于前述用户数据采集模块10。

34、2)、用户服务器更新控制 模块304(相当于前述分组控制模块104)以及信息分发策略管理模块306(相当于前述管理 模块106),用户数据初始采集模块302可以向用户服务器更新控制模块304传输某单一分 组以及分组内的用户数据,数据初始采集模块302在向用户服务器更新控制模块304发起 某单一分组以及分组内的用户数据时,已经进行了单一分组以及分组内用户数据的组建。 0056 用户服务器更新控制模块304用于在所有用户已经完成了分组,则根据所有分组 以及分组内的用户数据向信息分发策略管理模块306发送分组信息分发请求;其中用户数 据初始采集模块302发往用户服务器更新控制模块304的数据需要包含。

35、分组的组名以及分 组内的用户数据;只有收集到所有用户的用户数据后,用户服务器更新控制模块304才会 将已分配好的所有分组以及分组内用户数据传输到信息分发策略管理模块306,信息分发 策略管理模块306根据整个即时通讯系统的用户数量、服务器的数量、各个服务器内剩余 容量进行一定程度的分组归并之后进行“分组服务器”的策略分发。信息分发策略管理 模块306获取户服务器更新控制模块304发送的所有分组以及分组内的用户数据的信息, 对用户较少的分组可以实现一定的归并,然后将各个分组结果传入信息分发策略管理模块 306指定的服务器内。用户是指安装了企业级即时通讯软件的PC端或者移动终端。进行 “分组服务器。

36、”策略分发之后,各个分组信息保存在对应服务器之后,开始下一个时间 段的用户与其他用户通信量的初始数据收集,在此时间段运行结束后,对此时间段内所有 用户信息进行统计,然后将用户的信息传入到用户数据初始采集模块302。在进行用户与 其他用户通信量的初始数据收集时,信息分发策略管理模块306根据服务器数量、单个服 说 明 书CN 102769583 A 7/8页 10 务器的容量、整个IM系统的用户数量、单个用户的最大好友数量以及单个用户分组的最长 时间来决定查找用户好友次数N,信息分发策略管理模块306向用户数据初始采集模块302 传入查找用户好友次数N,其中:查找用户好友次数N是指当前用户循环查。

37、找亲密度最大且 未分组好友的次数,如果按当前用户好友的亲密度顺序查找N次未查找到当前用户的亲密 度最大未分组好友则表示当前用户所在分组已经建立完成。 0057 下面结合图4至图7对根据本发明的另一个实施例的即时通讯服务器的用户分配 方法进行说明。 0058 参见图4,该流程至少包括: 0059 步骤402,获取用户数据; 0060 步骤404,获取未分组用户列表,从所有用户数据中找出未分组的用户列表(这里, 首次创建分组时,查找到的未分组用户列表是所有使用即时通讯软件的用户;未完成所有 用户分组时,未分组用户列表内的用户是整个IM系统内所有用户除去已分组用户剩余的 部分); 0061 步骤40。

38、6,创建新分组加入当前用户,在上一分组添加用户结束后并且获取未分 组用户列表不为空的情况下进行,首先创建新分组,并且从未分组用户列表内查找通信量 最大的用户,将此用户置为新分组的当前用户,完成新分组的创建以及分组当前用户的添 加; 0062 步骤408,查找当前用户亲密度最大好友,依据查找用户好友次数N进行循环查找 (循环查找的过程参见图6所示),如果在循环次数以内还未查找到亲密度最大未分组好友, 则进入当前分组结束流程410;如果在循环次数内查找到了用户亲密度最大且未分组的好 友,则进入步骤412,此好友加入到当前的分组之内,将加入分组内的新用户置为此分组的 当前用户; 0063 步骤410。

39、,当前分组划分完毕; 0064 步骤412,将当前用户亲密度最大未分组好友加入分组,通过步骤418能够查找 到的当前用户亲密度最大未分组好友,则在本分组内加入当前用户的亲密度最大未分组好 友,将本分组内的当前用户替换成新加入的用户,重新回到步骤408,查找当前用户亲密度 最大好友; 0065 步骤414,判断所有用户是否分组完成;由当前分组划分结束模块如果所有用户 已经分组完成,则进入步骤416;如果未完成所有用户的分组,则进行到查找用户数据,回 到步骤402; 0066 步骤416,根据已分配好的所有分组将分组内用户数据分配到对应的服务器。 0067 参见图5,将单个用户分至用户分组的流程至。

40、少包括: 0068 步骤502,当前用户信息传入; 0069 步骤504,将该用户加入为分组用户列表(在当前用户信息传入时,未分组用户列 表指传入的所有用户;当判断产生单一分组以及分组内的用户数据时,未分组用户列表指 所有用户中除去已分组的所有用户); 0070 步骤506,该用户被当作其他用户的亲密度最大未分组好友加入到一个用户分 组; 0071 步骤508,该用户成为未分组用户列表内通信量最大值用户,加入新分组成为分组 说 明 书CN 102769583 A 10 8/8页 11 内第一个用户; 0072 步骤510,成为分组内成员。 0073 参见图6,为用户分组添加用户至少包括以下流程。

41、: 0074 步骤602,将一个用户设置为当前用户; 0075 步骤604,查找当前用户的亲密度最大好友,该亲密度最大好友是当前用户的好 友,且在采集关联信息的时间段内,与当前用户产生信息交换量最大的用户,并不区分此用 户是否已分组; 0076 步骤606,循环查找亲密度最大未分组好友的计数器N,判断查找用户好友数量的 次数,如果次数已经大于N,则不再进行判断,进入步骤614,分组完成;如果N仍然大于0, 则进入步骤608,判断当前亲密度最大好友是否分组; 0077 步骤608,判断当前亲密度最大好友是否分组,判断由之前查找出的当前用户的 亲密度最大好友是否已经添加到之前产生的分组之中,如果已。

42、经添加到之前产生的分组之 中,则进入步骤612,否则进入步骤610; 0078 步骤610,将当前用户亲密度最大好友加入此分组,通过步骤608判断得出当前亲 密度最大好友并未加入其它分组,此时将当前用户的亲密度最大好友加入当前分组; 0079 步骤612,删除亲密度最大好友列表中元素,将当前用户的亲密度最大好友从当前 用户的亲密度最大好友列表删除,以免下次循环检测时仍然检测到该好友,此过程避免了 检测同一好友两次或者两次以上; 0080 步骤614,分组完成通过循环查询当前用户的亲密度最大好友,如果查询次数超过 查找用户好友数量N时,则将保存当前分组以及分组内的用户信息。 0081 关于查找用。

43、户好友数量N的取值,可以参见图7。如图7所示N的取值与整个即时 通讯系统中的用户数量702、单个用户的最大好友数量704、即时通讯服务器数量706、每个 时通讯服务器的容量708、和单个用户分组的最长时间710有关。具体地,即时通讯系统中 的用户数量702是指整个即时通讯系统的用户的总数,即时通讯用户的数量级可以为千万 级到亿级,这样的即时通讯系统有MSN、QQ等;而企业级即时通讯的用户的数量级约为十万 级。即时通讯系统的用户数量级越大,则查找用户好友次数N的值越大。 0082 单个用户的最大好友数量704是指在即时通讯系统内,单个用户能添加好友的最 大值;例如QQ的最大好友数量是500(未使。

44、用任何增值业务的情况下),MSN的最大好友数 量是1000。如果单个用户的最大好友数量越多,则查找用户好友次数N的值越大。 0083 即时通讯服务器数量706是指存储整个即时通讯系统用户数据的服务器数量。 0084 单个服务器的容量708是指单个即时通讯服务器能够存储用户数据的最大数量 限制。查找用户好友次数N随着服务器数量706和单个服务器的容量708的增加而增加。 0085 单个用户分组的最长时间710是指一个分组内所有用户数据分配到某一服务器 上能够容忍的最长时间,如果单个用户分组的最长时间越长,查找用户好友次数N越大。 0086 综上,根据本发明的即时通讯服务器的用户分配装置和用户分配。

45、方法,可以将相 互通信量大的用户集中的存放在一个服务器上,使这些用户在通信时消耗较少的资源。 0087 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。 说 明 书CN 102769583 A 11 1/6页 12 图1 图2 说 明 书 附 图CN 102769583 A 12 2/6页 13 图3 说 明 书 附 图CN 102769583 A 13 3/6页 14 图4 说 明 书 附 图CN 102769583 A 14 4/6页 15 图5 说 明 书 附 图CN 102769583 A 15 5/6页 16 图6 说 明 书 附 图CN 102769583 A 16 6/6页 17 图7 说 明 书 附 图CN 102769583 A 17 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1