即时通讯服务器的负载均衡方法和负载均衡服务器的制造方法

文档序号:7795663阅读:119来源:国知局
即时通讯服务器的负载均衡方法和负载均衡服务器的制造方法
【专利摘要】本发明实施例公开了一种即时通讯服务器的负载均衡方法和负载均衡服务器。其中所述方法包括:负载均衡服务器接收普通用户的登录信息;根据保存的普通用户与商户的历史会话记录数据确定普通用户与第一商户中各商户的交互次数和最近访问时间,第一商户是与普通用户存在会话历史的商户的集合;根据普通用户与第一商户中各商户的交互次数和最近访问时间,对第一商户中各商户排序得到有序第一商户;根据有序第一商户的排序结果从第一商户中选取目标商户,或根据普通用户的历史访问记录对有序第一商户进行优化并从优化结果中选取目标商户;将普通用户接入目标商户所处的服务器。采用本发明,可减少会话延迟,尤其适用于存在大量会话的场景。
【专利说明】即时通讯服务器的负载均衡方法和负载均衡服务器
【技术领域】
[0001]本发明涉及通信领域,尤其涉及一种即时通讯服务器的负载均衡方法和负载均衡服务器。
【背景技术】
[0002]现有技术中,即时通讯工具一般通过集群支持大规模的用户,即时通讯工具服务器的集群方案大体上可以分为两大类:非对称集群方案和对称集群方案。非对称集群方案是指即时通讯服务器由不同类型的服务器组成,各种类型的服务器完成对应的功能,包括登录、系统消息传递、查找用户等。对称集群方案是指用户客户端只连接一种类型的服务器即可完成所有的通讯过程。
[0003]对称集群方案是现有即时通讯工具使用最普遍的一种集群方案。在对称集群的方案中,每一台服务器不仅管理用户的在线状态,还负责转发消息。如果用户之间的会话是跨服务器的,那么消息的传输时间为T=T1+T2+T3,其中Tl表示消息上行传输时间,Τ2表示消息下行传输时间,Τ3表示消息在服务器之间的转发时间。服务器间消息的转发是通过服务器间有限的连接来完成的。当服务器之间拥有大量的会话时,服务器之间存在大量的消息转发,由于服务器之间的连接数有限,这就会导致消息队列中消息拥挤,进而导致用户会话时间延迟非常大。

【发明内容】

[0004]为解决上述技术问题,本发明提供了一种即时通讯服务器的负载均衡方法和负载均衡服务器,能减少会话的延迟时间。
[0005]本发明实施例提供了一种即时通讯服务器的负载均衡方法,包括:
[0006]负载均衡服务器接收普通用户的登录信息;
[0007]根据保存的所述普通用户与商户的历史会话记录数据确定所述普通用户与第一商户中各商户的交互次数和最近访问时间,所述第一商户是与所述普通用户存在会话历史的商户的集合;
[0008]根据所述普通用户与所述第一商户中各商户的交互次数和最近访问时间,对所述第一商户中各商户进行排序得到有序第一商户;
[0009]根据所述有序第一商户的排序结果从所述第一商户中选取目标商户,或,
[0010]根据所述普通用户的历史访问记录对所述有序第一商户进行优化并从优化结果中选取目标商户;
[0011]将所述普通用户接入所述目标商户所处的服务器。
[0012]相应地,本发明实施例还提供了一种负载均衡服务器,包括:
[0013]接收单元,用于接收普通用户的登录信息;
[0014]会话存储单元,用于存储所述普通用户与商户的历史会话记录数据;
[0015]第一处理单元,用于根据所述普通用户与商户的历史会话记录数据确定所述普通用户与第一商户中各商户的交互次数和最近访问时间,所述第一商户是与所述普通用户存在会话历史的商户的集合;
[0016]第二处理单元,用于根据所述普通用户与所述第一商户中各商户的交互次数和最近访问时间对所述第一商户中各商户进行排序得到有序第一商户;
[0017]目标选取单元,用于根据所述有序第一商户的排序结果从所述第一商户中选取目标商户,或,用于根据所述普通用户的历史访问记录对所述有序第一商户进行优化并从优化结果中选取目标商户;
[0018]接入单元,用于将所述普通用户接入所述目标商户所处的服务器。
[0019]实施本发明实施例,具有如下有益效果:针对现有的负载均衡方法所存在的较高会话延迟问题,通过将普通用户接入最有可能与其产生会话的商户所处的服务器,使得可能产生会话的普通用户和商户在同一台服务器上,从而减少会话延迟时间;尤其在存在大量会话的场景下,本发明能有效减少网络整体的会话延迟时间。
【专利附图】

【附图说明】
[0020]图1是根据本发明实施例的一种即时通讯服务器的负载均衡方法的流程示意图;
[0021]图2是根据本发明实施例的一种对有序第一商户进行优化的流程示意图;
[0022]图3是根据本发明实施例的一种负载均衡服务器的方块示意图;
[0023]图4是根据本发明实施例的一种负载均衡服务器的方块示意图;
[0024]图5是根据本发明实施例的一种负载均衡服务器的方块示意图;
[0025]图6是根据本发明实施例的一种负载均衡服务器的方块示意图。
【具体实施方式】
[0026]下面将结合附图对本发明实施例中的技术方案进行清楚、完整的描述。
[0027]图1是根据本发明实施例的一种即时通讯服务器的负载均衡方法的流程示意图,参照图1,该方法包括:
[0028]100:负载均衡服务器接收普通用户的登录信息。
[0029]可选的,在100中具体可通过以下方式实现:负载均衡服务器接收用户的登录信息,根据登录信息中的用户属性(例如:uSer_attr字段)判断用户是普通用户还是商户用户,如果是普通用户(例如:uSer_attr字段的值为1),则继续后续步骤;如果是商户用户(例如:uSer_attr字段的值为0),则通过现有的负载均衡策略/方法得到该商户用户的目标接入服务器。
[0030]102:根据保存的所述普通用户与商户的历史会话记录数据确定所述普通用户与第一商户中各商户的交互次数和最近访问时间,所述第一商户是与所述普通用户存在会话历史的商户的集合。
[0031]需要说明的是,“所述第一商户是与所述普通用户存在会话历史的商户的集合”可以理解为:所述第一商户是在一段时间范围内与所述普通用户存在会话历史的商户的集合,对于所述一段时间范围可以进行预先设置以进行相应的筛选,本发明对此不做限制。
[0032]在102中,由于保存有普通用户与商户的历史会话记录数据,因此可以积累用户的会话习惯,进而进行会话记录数据分析。[0033]104:根据所述普通用户与所述第一商户中各商户的交互次数和最近访问时间,对所述第一商户中各商户进行排序得到有序第一商户。
[0034]可选的,在本实施例的一种实现方式中,104可以通过步骤实现:
[0035]步骤1:对交互次数和最近访问时间这两个属性分别设置权重值。例如:交互次数的权重值和最近访问时间的权重值均设置为I。
[0036]步骤2:根据所述普通用户与所述第一商户中各商户的交互次数和最近访问时间以及设置的权重值,进行加权计算得到所述第一商户中各商户的排序值,根据所述排序值对所述第一商户中各商户进行排序得到所述有序第一商户,其中,与所述普通用户交互次数越多且最近访问时间越接近当前时间的商户排序越靠前。例如:
[0037]首先,根据交互次数对商户进行排序,排序为X的商户的加权基值取为(50-X+1);根据最近访问时间对商户进行排序,排序为Y的商户的加权基值取为(50-Y+1)。然后,根据加权基值与权重值进行计算得到排序值=(IX (50-X+D+1X (50-Y+1)),当然,对交互次数和最近访问时间这两个属性设置的权重值可以根据需要改变,例如,可以分别是1:2、或2:1的关系等。最后,对应所述第一商户中各商户均得到一个排序值,根据该排序值进行排序即得到所述有序第一商户。
[0038]106:从所述有序第一商户中选取目标商户。
[0039]108:将所述普通用户接入所述目标商户所处的服务器。
[0040]在本发明的一种实施例中,也可以根据所述第一商户中各商户所在的服务器,统计所述第一商户中各商户与服务器的对应关系,如果存在一个服务器对应了最多数目的商户,则可以将该服务器作为目标接入服务器。
[0041]可选的,在本实施例的一种实现方式中,106包括:根据所述有序第一商户的排序结果从所述第一商户中选取目标商户,例如,选取所述有序第一商户中排序最前的商户作为所述目标商户。
[0042]可选的,在本实施例的一种实现方式中,106包括:根据所述普通用户的历史访问记录对所述有序第一商户进行优化并从优化结果中选取目标商户。此时,参照图2,可以通过以下方式对所述有序第一商户进行优化:
[0043]200:根据所述普通用户的历史访问记录,利用聚类方法确定所述普通用户经常访问的商品类别,并对所述商品类别排序。所述商品类别可以是至少两类。
[0044]示例性的,一种对所述商品类别排序的方法如下:通过商品类别信息找到对应每个商品类别的最受欢迎的若干商户用户(对应每个类别选取的商户数量可以设置),综合商品类别下的各商户的受欢迎程度(例如,诸如信用评价排序、月平均销售量、历史销售量、访问量、收藏量等可以反应商户品质的信息)对商品类别进行排序。
[0045]当然,对所述商品类别的排序可以通过许多方法实现,只要能反映商品类别的整体性受欢迎程度即可。
[0046]202:对于所述第一商户中属于所述商品类别的商户,增加排序值,增加的量由所述商品类别的排序确定。
[0047]示例性的,假设所述第一商户中的一个商户属于排序为Z的商品类别,则该商户的排序值增加的量为50-3Z( (50-3Z)的最小取值为O),即该商户优化后的排序值为:102-X-Y+50-3Z。(50-3Z)可以看作是排序为Z的商品类别的加权基值,在本实施例的一些实现方式中,也可以设置商品类别的权重值,然后根据商品类别的加权基值和权重值进行计算,例如,设置商品类别的权重值为2,则上述商品优化后的排序值为102-X-Y+2X(50-3Z)。
[0048]通过202可以得到所述第一商户中各商户更新后的排序值。
[0049]204:根据更新后的排序值调整所述有序第一商户中各商户的排序。调整后即得到了优化结果,然后可以从调整后的所述有序第一商户中选取排序最前的商户作为所述目标商户。
[0050]本实施例所提供的负载均衡方法,针对现有的负载均衡方法所存在的较高会话延迟问题,通过将普通用户接入最有可能与其产生会话的商户所处的服务器,使得可能产生会话的普通用户和商户在同一台服务器上,从而减少会话延迟时间;尤其在存在大量会话的场景下,本发明能有效减少网络整体的会话延迟时间。
[0051]图3是根据本发明实施例的一种负载均衡服务器的方块示意图,参照图3,负载均衡服务器30包括:接收单元31、会话存储单元32、第一处理单元33、第二处理单元34、目标选取单元35和接入单元36,下面分别进行说明。
[0052]接收单元31,用于接收普通用户的登录信息。
[0053]可选的,接收单元31可以在接收到登录信息后,根据登录信息中的用户属性判断用户未普通用户还是商户用户,如果是普通用户,则继续调用后续单元进行处理。
[0054]会话存储单元32,用于存储所述普通用户与商户的历史会话记录数据。由于负载均衡服务器30中设置了会话存储单元32,因此,负载均衡服务器30能够根据相应的历史会话记录数据进行数据挖掘和分析。
[0055]第一处理单元33,用于根据所述会话存储单元32保存的所述普通用户与商户的历史会话记录数据确定所述普通用户与第一商户中各商户的交互次数和最近访问时间,所述第一商户是与所述普通用户存在会话历史的商户的集合。
[0056]第二处理单元34,用于根据所述普通用户与所述第一商户中各商户的交互次数和最近访问时间对所述第一商户中各商户进行排序得到有序第一商户。
[0057]可选的,在本实施例的一种实现方式中,参照图4,第二处理单元34包括:
[0058]权重值设置模块341,用于对交互次数和最近访问时间这两个属性分别设置权重值。例如,将交互次数和最近访问时间这两个属性的权重值分别设置为I。
[0059]排序值计算模块342,用于根据所述普通用户与所述第一商户中各商户的交互次数和最近访问时间以及设置的权重值,进行加权计算得到所述第一商户中各商户的排序值。一种示例性排序方法请参照图2所示实施例中的相应说明。
[0060]排序模块343,用于根据所述排序值对所述第一商户中各商户进行排序得到所述有序第一商户,其中,与所述普通用户交互次数越多且最近访问时间越接近当前时间的商户排序越靠前。
[0061]进一步的,目标选取单元35可包括第一选取模块351,用于选取所述有序第一商户中排序最前的商户作为所述目标商户。
[0062]目标选取单元35,用于根据所述有序第一商户的排序结果从所述第一商户中选取目标商户,或,用于根据所述普通用户的历史访问记录对所述有序第一商户进行优化并从优化结果中选取目标商户。[0063]可选的,在本实施例的一种实现方式中,参照图5或图6,目标选取单元35包括:
[0064]预处理模块352,用于根据所述普通用户的历史访问记录,利用聚类方法确定所述普通用户经常访问的商品类别,并对所述商品类别排序。一种示例性的排序方法请参照图2所示实现方式中的相应描述。
[0065]优化模块353,用于对所述第一商户中属于所述商品类别的商户增加排序值,增加的量由所述商品类别的排序确定,然后根据更新后的排序值调整所述有序第一商户中各商户的排序。一种示例性的优化方法请参照图2所示实现方式中的相应描述。
[0066]进一步的,目标选取单元35还可包括第二选取模块354,用于从调整后的所述有序第一商户中,选取排序最前的商户作为所述目标商户。
[0067]接入单元36,用于将所述普通用户接入所述目标商户所处的服务器。
[0068]本发明实施例所提供的负载均衡服务器30,能够分析普通用户与商户的历史会话记录数据,将普通用户和最有可能与普通用户进行会话的商户接入同一服务器,减少消息转发次数,降低会话延时;尤其在存在大量会话的场景,能有效降低整体网络的会话延迟。
[0069]本领域技术人员应当理解,本发明所提供的各种实施例尤其适用于电子商务系统,能有效降低电子商务系统的整体会话延迟,提高诸多用户的用户体验。
[0070]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件结合硬件平台的方式来实现,当然也可以全部通过硬件来实施。基于这样的理解,本发明的技术方案对【背景技术】做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0071]以上所揭露的仅为本发明的优选实施例而已,当然不能以此来限定本发明的保护范围,因此依本发明权利要求的教导对上述实施例所作的等同变化,仍属于本发明权利要求所涵盖的范围内。
【权利要求】
1.一种即时通讯服务器的负载均衡方法,其特征在于,该方法包括: 负载均衡服务器接收普通用户的登录信息; 根据保存的所述普通用户与商户的历史会话记录数据确定所述普通用户与第一商户中各商户的交互次数和最近访问时间,所述第一商户是与所述普通用户存在会话历史的商户的集合; 根据所述普通用户与所述第一商户中各商户的交互次数和最近访问时间,对所述第一商户中各商户进行排序得到有序第一商户; 根据所述有序第一商户的排序结果从所述第一商户中选取目标商户,或, 根据所述普通用户的历史访问记录对所述有序第一商户进行优化并从优化结果中选取目标商户; 将所述普通用户接入所述目标商户所处的服务器。
2.如权利要求1所述的方法,其特征在于,根据所述普通用户与所述第一商户中各商户的交互次数和最近访问时间,对所述第一商户中各商户进行排序得到有序第一商户包括: 对交互次数和最近访问时间这两个属性分别设置权重值; 根据所述普通用户与所述第一商户中各商户的交互次数和最近访问时间以及设置的权重值,进行加权计算得到所述第一商户中各商户的排序值,根据所述排序值对所述第一商户中各商户进行排序得到所述有序第一商户,其中,与所述普通用户交互次数越多且最近访问时间越接近当前时间的商户排序越靠前。
3.如权利要求2所述的方法,其特征在于,根据所述有序第一商户的排序结果从所述第一商户中选取目标商户包括: 选取所述有序第一商户中排序最前的商户作为所述目标商户。
4.如权利要求2所述的方法,其特征在于,根据所述普通用户的历史访问记录对所述有序第一商户进行优化包括: 根据所述普通用户的历史访问记录,利用聚类方法确定所述普通用户经常访问的商品类别,并对所述商品类别排序; 对于所述第一商户中属于所述商品类别的商户,增加排序值,增加的量由所述商品类别的排序确定; 根据更新后的排序值调整所述有序第一商户中各商户的排序。
5.如权利要求4所述的方法,其特征在于,从优化结果中选取目标商户包括: 从调整后的所述有序第一商户中,选取排序最前的商户作为所述目标商户。
6.—种负载均衡服务器,其特征在于,包括: 接收单元,用于接收普通用户的登录信息; 会话存储单元,用于存储所述普通用户与商户的历史会话记录数据; 第一处理单元,用于根据所述普通用户与商户的历史会话记录数据确定所述普通用户与第一商户中各商户的交互次数和最近访问时间,所述第一商户是与所述普通用户存在会话历史的商户的集合; 第二处理单元,用于根据所述普通用户与所述第一商户中各商户的交互次数和最近访问时间对所述第一商户中各商户进行排序得到有序第一商户;目标选取单元,用于根据所述有序第一商户的排序结果从所述第一商户中选取目标商户,或,用于根据所述普通用户的历史访问记录对所述有序第一商户进行优化并从优化结果中选取目标商户; 接入单元,用于将所述普通用户接入所述目标商户所处的服务器。
7.如权利要求6所述的服务器,其特征在于,所述第二处理单元包括: 权重值设置模块,用于对交互次数和最近访问时间这两个属性分别设置权重值; 排序值计算模块,用于根据所述普通用户与所述第一商户中各商户的交互次数和最近访问时间以及设置的权重值,进行加权计算得到所述第一商户中各商户的排序值; 排序模块,用于根据所述排序值对所述第一商户中各商户进行排序得到所述有序第一商户,其中,与所述普通用户交互次数越多且最近访问时间越接近当前时间的商户排序越
8.如权利要求7所述的服务器,其特征在于,所述目标选取单元包括: 第一选取模块,用于选取所述有序第一商户中排序最前的商户作为所述目标商户。
9.如权利要求7所述的服务器,其特征在于,所述目标选取单元包括: 预处理模块,用于根据所述普通用户的历史访问记录,利用聚类方法确定所述普通用户经常访问的商品类别 ,并对所述商品类别排序; 优化模块,用于对所述第一商户中属于所述商品类别的商户增加排序值,增加的量由所述商品类别的排序确定,然后根据更新后的排序值调整所述有序第一商户中各商户的排序。
10.如权利要求9所述的服务器,其特征在于,所述目标选取单元还包括: 第二选取模块,用于从调整后的所述有序第一商户中,选取排序最前的商户作为所述目标商户。
【文档编号】H04L29/08GK103795788SQ201410025783
【公开日】2014年5月14日 申请日期:2014年1月20日 优先权日:2014年1月20日
【发明者】郭友德, 周振, 王伟, 赵金鑫, 李建华, 胡立强, 包辰明, 何小锋, 林挺, 廖继逢 申请人:中国建设银行股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1