CN107635253B - 一种针对移动通信用户数据进行负载均衡的方法及装置 - Google Patents
一种针对移动通信用户数据进行负载均衡的方法及装置 Download PDFInfo
- Publication number
- CN107635253B CN107635253B CN201710879199.3A CN201710879199A CN107635253B CN 107635253 B CN107635253 B CN 107635253B CN 201710879199 A CN201710879199 A CN 201710879199A CN 107635253 B CN107635253 B CN 107635253B
- Authority
- CN
- China
- Prior art keywords
- load balancing
- mobile communication
- output port
- communication user
- balancing output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种针对移动通信用户数据进行负载均衡的方法及装置。所述方法包括:步骤1:接收包含移动通信用户标识的移动通信用户数据;步骤2:根据移动通信用户标识对移动通信用户数据进行负载均衡,其中,所述移动通信用户标识至少包括IMSI、IMEI、MSISDN中的一项。可以按照移动用户进行负载均衡,可以根据均衡输出端口的状态变化进行负载均衡,可以避免负载均衡输出端口数变化时引起的用户数据丢失和抖动。
Description
技术领域
本发明涉及移动通信领域。更具体地,本发明涉及一种针对移动通信用户数据进行负载均衡的方法及装置。
背景技术
IP网设备对负载做均衡处理时,通常都依据OSI标准定义的五元组信息对负载进行散列输出,如按照IP地址散列输出,按照负载均衡输出端口分类输出等。业界对此有个标准称谓,即负载均衡。业界也标准化了一系列常用的负载均衡方式,其中包括:轮询法、加权轮询法、平滑轮询、随机法、加权随机法、参量哈希法、加权参量哈希法、最小连接数法等。
随着三网融合大踏步前进,以及移动网自身的发展,移动通信用户量逐年增加,业务日趋复杂,造成后端处理系统(例如,监控系统、存储系统、分析系统)压力日趋增大。为避免瓶颈,处理系统多以分布式形式存在,因此需要特种设备,以旁路的方式部署并对移动用户的数据进行采集、过滤、解析、还原、识别出不同移动用户的数据并按照用户进行数据负载输出。在实际应用中,目前基本上还是采用IP网的负载均衡方法。
另外,在实际运营场景中,传统负载均衡通常不考虑负载均衡输出端口状态的变化,不考虑负载均衡输出端口个数的变化,因此就会面临或无法解决如下问题:(1)因无法感知负载均衡输出端口状态变化,当负载均衡输出端口、线缆、远端处理节点发生故障后,该故障影响的负载均衡输出端口依然在转发用户数据;(2)即使系统可以检测到负载均衡输出端口状态发生了变化,但仍无法自动将本属于该负载均衡输出端口的用户数据调度到其他负载均衡输出端口上,这类用户数据面临着丢失的问题;(3)当输出的总负载量超过原规定的负载均衡输出端口总带宽的控制线时,用户数据将不可避免的随机丢失,此时需要根据实际情况增加输出负载均衡输出端口,以保证输出带宽和输出负载量匹配;(4)基于上述第(3)点,增加负载均衡输出端口后,将造成其他负载均衡输出端口上原映射关系的抖动,因此仍无法保证将该抖动的影响降到最小。
至少为了解决上述技术问题,需要提出新的技术方案。
发明内容
本发明的目的是通过以下技术方案实现的。
根据本发明的针对移动通信用户数据进行负载均衡的方法,包括:
步骤1:接收包含移动通信用户标识的移动通信用户数据;
步骤2:根据移动通信用户标识对移动通信用户数据进行负载均衡,
其中,所述移动通信用户标识至少包括IMSI、IMEI、MSISDN中的一项。
根据本发明的针对移动通信用户数据进行负载均衡的方法,其步骤2包括:
步骤2-1:创建负载均衡输出端口组,并在已创建的负载均衡输出端口组中添加并初始化负载均衡输出端口和/或删除已经添加的负载均衡输出端口;
步骤2-2:根据移动通信用户标识确定用于转发该移动通信用户数据的负载均衡输出端口;
步骤2-3:使用所确定的负载均衡输出端口转发移动通信用户数据。
根据本发明的针对移动通信用户数据进行负载均衡的方法,其步骤2还包括:
步骤2-4:检测包括已经添加的负载均衡输出端口和未添加的负载均衡输出端口的所有负载均衡输出端口的状态;
步骤2-5:在已创建的负载均衡输出端口组中添加并初始化由掉线状态转变为在线状态的负载均衡输出端口和/或删除已经添加的且由在线状态转变为掉线状态的负载均衡输出端口。
根据本发明的针对移动通信用户数据进行负载均衡的方法,其步骤2还包括:
步骤2-6:确定包括已经添加的负载均衡输出端口和未添加的负载均衡输出端口的所有负载均衡输出端口的状态是否稳定;
步骤2-7:在已创建的负载均衡输出端口组中添加并初始化由掉线状态转变为在线状态且状态稳定的负载均衡输出端口和/或删除已经添加的且由在线状态转变为掉线状态且状态稳定的负载均衡输出端口。
根据本发明的针对移动通信用户数据进行负载均衡的方法,其步骤2-2包括:
步骤2-2-1:根据移动通信用户标识所属的移动通信用户标识子集确定用于转发该移动通信用户数据的负载均衡输出端口,
其中,移动通信用户标识子集用于指示被分配到各个负载均衡输出端口上转发的移动通信用户数据所包含的移动通信用户标识的集合。
根据本发明的针对移动通信用户数据进行负载均衡的方法,在其步骤2-2-1之前,其步骤2-2还包括:
步骤2-2-2:确定移动通信用户标识总集合所包含的各个移动通信用户标识和处于在线状态的各个负载均衡输出端口标识,并且确定移动通信用户标识总集合所包含的移动通信用户标识的第一总数和处于在线状态的负载均衡输出端口的第二总数;
步骤2-2-3:根据第一总数和第二总数将移动通信用户标识总集合所包含的移动通信用户标识平均分配至各移动通信用户标识子集。
根据本发明的针对移动通信用户数据进行负载均衡的方法,其步骤2-2包括:
步骤2-2-4:获取移动通信用户标识的第一hash散列值,根据第一hash散列值对端口映射空间寻址以确定用于转发该移动通信用户数据的负载均衡输出端口,
其中,端口映射空间存储了与移动通信用户标识的第一hash散列值对应的负载均衡输出端口标识。
根据本发明的针对移动通信用户数据进行负载均衡的方法,在其步骤2-2-4之前,其步骤2-2还包括:
步骤2-2-5:确定端口映射空间中的可用存储单元的总数目、处于在线状态的各个负载均衡输出端口标识、处于在线状态的负载均衡输出端口的第二总数;
步骤2-2-6:根据可用存储单元的总数目、处于在线状态的各个负载均衡输出端口标识、第二总数,采用随机平均分配算法分配每个可用存储单元中需要存储的负载均衡输出端口标识。
根据本发明的针对移动通信用户数据进行负载均衡的装置,包括:
数据接收模块,用于接收包含移动通信用户标识的移动通信用户数据;
负载均衡模块,用于根据移动通信用户标识对移动通信用户数据进行负载均衡,
其中,所述移动通信用户标识至少包括IMSI、IMEI、MSISDN中的一项。
根据本发明的针对移动通信用户数据进行负载均衡的装置,其负载均衡模块包括:
负载均衡输出端口组管理模块,用于创建负载均衡输出端口组,并在已创建的负载均衡输出端口组中添加并初始化负载均衡输出端口和/或删除已经添加的负载均衡输出端口;
负载均衡输出端口分配模块,用于根据移动通信用户标识确定用于转发该移动通信用户数据的负载均衡输出端口;
用户数据转发模块,用于使用所确定的负载均衡输出端口转发移动通信用户数据。
根据本发明的针对移动通信用户数据进行负载均衡的装置,其负载均衡模块还包括:
端口状态检测模块,用于检测包括已经添加的负载均衡输出端口和未添加的负载均衡输出端口的所有负载均衡输出端口的状态,
其中,所述负载均衡输出端口组管理模块还用于,在已创建的负载均衡输出端口组中添加并初始化由掉线状态转变为在线状态的负载均衡输出端口和/或删除已经添加的且由在线状态转变为掉线状态的负载均衡输出端口。
根据本发明的针对移动通信用户数据进行负载均衡的装置,其负载均衡模块还包括:
端口抖动状态确定模块用于确定包括已经添加的负载均衡输出端口和未添加的负载均衡输出端口的所有负载均衡输出端口的状态是否稳定,
其中,所述负载均衡输出端口组管理模块还用于,在已创建的负载均衡输出端口组中添加并初始化由掉线状态转变为在线状态且状态稳定的负载均衡输出端口和/或删除已经添加的且由在线状态转变为掉线状态且状态稳定的负载均衡输出端口。
根据本发明的针对移动通信用户数据进行负载均衡的装置,其负载均衡输出端口分配模块包括:
负载均衡输出端口第一确定模块,用于根据移动通信用户标识所属的移动通信用户标识子集确定用于转发该移动通信用户数据的负载均衡输出端口,
其中,移动通信用户标识子集用于指示被分配到各个负载均衡输出端口上转发的移动通信用户数据所包含的移动通信用户标识的集合。
根据本发明的针对移动通信用户数据进行负载均衡的装置,其负载均衡输出端口分配模块还包括:
第一参数确定模块,用于确定移动通信用户标识总集合所包含的各个移动通信用户标识和处于在线状态的各个负载均衡输出端口标识,并且确定移动通信用户标识总集合所包含的移动通信用户标识的第一总数和处于在线状态的负载均衡输出端口的第二总数;
平均分配模块,用于根据第一总数和第二总数将移动通信用户标识总集合所包含的移动通信用户标识平均分配至各移动通信用户标识子集。
根据本发明的所述的针对移动通信用户数据进行负载均衡的装置,其负载均衡输出端口分配模块包括:
负载均衡输出端口第二确定模块,用于获取移动通信用户标识的第一hash散列值,根据第一hash散列值对端口映射空间寻址以确定用于转发该移动通信用户数据的负载均衡输出端口,
端口映射空间存储模块,用于存储与移动通信用户标识的第一hash散列值对应的负载均衡输出端口标识。
根据本发明的所述的针对移动通信用户数据进行负载均衡的装置,其负载均衡输出端口分配模块还包括:
第二参数确定模块,用于确定端口映射空间中的可用存储单元的总数目、处于在线状态的各个负载均衡输出端口标识、处于在线状态的负载均衡输出端口的第二总数;
随机平均分配模块,用于根据可用存储单元的总数目、处于在线状态的各个负载均衡输出端口标识、第二总数,采用随机平均分配算法分配每个可用存储单元中需要存储的负载均衡输出端口标识。
本发明的优点在于:可以按照移动用户进行负载均衡,可以根据均衡输出端口的状态变化进行负载均衡,可以避免负载均衡输出端口数变化时引起的用户数据丢失和抖动。
附图说明
通过阅读下文具体实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出具体实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明实施方式的针对移动通信用户数据进行负载均衡的方法的示意流程图。
图2示出了根据本发明实施方式的将用户标识分配到不同在线端口的分配方法的示意图。
图3示出了根据本发明实施方式的针对移动通信用户数据进行负载均衡的装置的示意框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明实施方式的针对移动通信用户数据进行负载均衡的方法100的示意流程图。
如图1所示,针对移动通信用户数据进行负载均衡的方法100包括以下步骤:
步骤S102:接收包含移动通信用户标识的移动通信用户数据。
步骤S104:根据移动通信用户标识对移动通信用户数据进行负载均衡。
其中,所述移动通信用户标识至少包括IMSI、IMEI、MSISDN中的一项。
尽管在图1中未示出,但是针对移动通信用户数据进行负载均衡的方法100中的步骤S104可以包括以下步骤:
步骤2-1:创建负载均衡输出端口组,并在已创建的负载均衡输出端口组中添加并初始化负载均衡输出端口和/或删除已经添加的负载均衡输出端口。
即,创建负载均衡输出端口组,初始化负载均衡输出端口,将规划的负责负载均衡输出的一个或多个负载均衡输出端口加入到该负载均衡输出端口组中。和/或删除已经添加的负载均衡输出端口。
例如,上述操作可以由管理员通过人为操作进行,从而确定最终的负载均衡输出端口组的各个端口形成的拓扑结构。
步骤2-2:根据移动通信用户标识确定用于转发该移动通信用户数据的负载均衡输出端口。
即,根据IMSI、IMEI、MSISDN中的至少一项确定用于转发该移动通信用户数据的负载均衡输出端口。
步骤2-3:使用所确定的负载均衡输出端口转发移动通信用户数据。
即,将移动通信用户数据通过所确定的负载均衡输出端口输出。
尽管在图1中未示出,但是针对移动通信用户数据进行负载均衡的方法100中的步骤S104还可以包括以下步骤:
步骤2-4:检测包括已经添加的负载均衡输出端口和未添加的负载均衡输出端口的所有负载均衡输出端口的状态。
例如,可以启动监控负载均衡输出端口组的检测程序。该程序负责对负载均衡输出端口(包括已经添加到组内的负载均衡输出端口和未添加到组内的负载均衡输出端口)的物理状态进行检测。例如,检测程序可以检测到(例如,可以通过定期轮询检测的方式)某些负载均衡输出端口发生了状态变迁,并通过和历史状态比较,确认变迁过程是从“在线态”变迁到“掉线态”,还是从“掉线态”变迁到“在线态”。
步骤2-5:在已创建的负载均衡输出端口组中添加并初始化由掉线状态转变为在线状态的负载均衡输出端口和/或删除已经添加的且由在线状态转变为掉线状态的负载均衡输出端口。
例如,检测程序可以告知管理员或负载均衡输出端口组管理模块,某些负载均衡输出端口发生了状态变迁,管理员或负载均衡输出端口组管理模块可以对已创建的负载均衡输出端口组的负载均衡输出端口进行调整。即,管理员或负载均衡输出端口组管理模块可以在已创建的负载均衡输出端口组中添加并初始化由掉线状态转变为在线状态的负载均衡输出端口和/或删除已经添加的且由在线状态转变为掉线状态的负载均衡输出端口。
可选地,在步骤2-5执行完之后可以执行步骤2-2。
尽管在图1中未示出,但是针对移动通信用户数据进行负载均衡的方法100中的步骤S104还可以包括以下步骤:
步骤2-6:确定包括已经添加的负载均衡输出端口和未添加的负载均衡输出端口的所有负载均衡输出端口的状态是否稳定。
例如,只有在检测到端口状态检测模块输出的端口状态的变迁(从“在线态”变迁到“掉线态”,或从“掉线态”变迁到“在线态”)的次数在指定的时间(例如,1分钟)内不超过预先设定的阈值(2n次)且最终维持在初始状态时,才确定该端口的状态稳定。
步骤2-7:在已创建的负载均衡输出端口组中添加并初始化由掉线状态转变为在线状态且状态稳定的负载均衡输出端口和/或删除已经添加的且由在线状态转变为掉线状态且状态稳定的负载均衡输出端口。
可选地,在步骤2-7执行完之后可以执行步骤2-2。
尽管在图1中未示出,然而,可选地,针对移动通信用户数据进行负载均衡的方法100中的步骤2-2可以包括以下步骤:
步骤2-2-1:根据移动通信用户标识所属的移动通信用户标识子集确定用于转发该移动通信用户数据的负载均衡输出端口。
其中,移动通信用户标识子集用于指示被分配到各个负载均衡输出端口上转发的移动通信用户数据所包含的移动通信用户标识的集合。
尽管在图1中未示出,然而,可选地,在步骤2-2-1之前,针对移动通信用户数据进行负载均衡的方法100中的步骤2-2还可以包括以下步骤:
步骤2-2-2:确定移动通信用户标识总集合所包含的各个移动通信用户标识和处于在线状态的各个负载均衡输出端口标识,并且确定移动通信用户标识总集合所包含的移动通信用户标识的第一总数和处于在线状态的负载均衡输出端口的第二总数。
即,确定为负载均衡输出端口组内的每个负载均衡输出端口平均(平摊)分配移动通信用户标识所需要的参数。可以为每个负载均衡输出端口分配唯一的端口标识,作为为组内各个物理(实际)负载均衡输出端口分配映射空间的唯一索引。例如,假如一共存在2个物理负载均衡输出端口,则可以为物理负载均衡输出端口1分配唯一标识“Port_1”,可以为物理负载均衡输出端口2分配唯一标识Port_2。
步骤2-2-3:根据第一总数和第二总数将移动通信用户标识总集合所包含的移动通信用户标识平均分配至各移动通信用户标识子集。
例如,在一共存在2个物理负载均衡输出端口时,可以将移动通信用户标识为奇数的移动通信用户标识分配给“Port_1”,可以将移动通信用户标识为偶数的移动通信用户标识分配给“Port_2”。
尽管在图1中未示出,然而,可选地,针对移动通信用户数据进行负载均衡的方法100中的步骤2-2可以包括以下步骤:
步骤2-2-4:获取移动通信用户标识的第一hash散列值,根据第一hash散列值对端口映射空间寻址以确定用于转发该移动通信用户数据的负载均衡输出端口。
其中,端口映射空间存储了与移动通信用户标识的第一hash散列值对应的负载均衡输出端口标识。
即,端口映射空间以移动通信用户标识的第一hash散列值作为访问地址。例如,如果映射空间一共有32707个存储单元的话,那么第一hash散列值至少是15比特的二进制数值。如果组内负载均衡输出端口标识的总数为128个的话,那么存储单元的长度则至少是7比特。
当获取了移动通信用户标识(例如,MSISDN)后,先根据移动通信用户标识计算第一hash散列值,然后查找端口映射空间中该地址处的存储单元,从而得到其中存储的负载均衡输出端口标识。
尽管在图1中未示出,然而,可选地,在步骤2-2-4之前,针对移动通信用户数据进行负载均衡的方法100中的步骤2-2还可以包括以下步骤:
步骤2-2-5:确定端口映射空间中的可用存储单元的总数目、处于在线状态的各个负载均衡输出端口标识、处于在线状态的负载均衡输出端口的第二总数。
即,确定用于生成每个可用存储单元(例如,可以通过第一hash散列值进行地址索引)中需要存储的负载均衡输出端口标识所需要的参数。
步骤2-2-6:根据可用存储单元的总数目、处于在线状态的各个负载均衡输出端口标识、第二总数,采用随机平均分配算法分配每个可用存储单元中需要存储的负载均衡输出端口标识。
例如,可以采用以下方式完成针对每个负载均衡输出端口标识随机平均分配第一hash散列值(即,相当于分配移动通信用户标识)。
例如,可以按照图2所示的方式为每个负载均衡输出端口分配移动通信用户标识。
图2示出了根据本发明实施方式为不同在线(负载均衡输出)端口分配用户标识(即,用户标识数据)的方法的示意图。
如图2所示,映射空间S的大小(即,端口映射空间中的可用存储单元的总数目)可以取经验值。例如,映射空间S的大小可以取32707。
通过“空间平摊法”计算每个在线端口在映射空间S上映射的次数(即,分配给每个在线端口的第一hash散列值的个数)。
例如,当端口映射空间中的可用存储单元的总数目为900、在线端口总数为3时,分配给每个在线端口的第一hash散列值的个数(即,存储单元的个数)为300。
计算在线端口标识P[1]、P[2],…,P[n](图2中左侧第一列)的第二hash散列值p1,p2,…,pn(图2中左侧第二列)。
通过“空间选择法”实现第二hash散列值p1,p2,…,pn至端口映射空间S的映射。即,通过“空间选择法”为各个映射空间S[0],S[1],…,S[n]分配一个唯一的第二hash散列值p1,p2,…,pn。
“空间选择法”遍历所有第二hash散列值p1,p2,…,pn,执行以下步骤:
步骤A:以rnd[p](对应第二hash散列值p的随机值)为基础取随机数r,由r指定一个映射空间S[r]。
步骤B:在S[r]没有被占用的情况下,将S[r]映射为当前负载均衡输出端口,即S[r]=p。
最终,所有的第二hash散列值p1,p2,…,pn都通过随机平均分配方式存储到了映射空间S。由于P[1]、P[2],…,P[n](图2中左侧第一列)的第二hash散列值p1,p2,…,pn(图2中左侧第二列)的对应关系,所以负载均衡输出端口P也都通过随机平均分配方式存储到了映射空间S。
图3示出了根据本发明实施方式的针对移动通信用户数据进行负载均衡的装置300的示意框图。
如图3所示,针对移动通信用户数据进行负载均衡的装置300包括:数据接收模块301和负载均衡模块303。
数据接收模块301用于接收包含移动通信用户标识的移动通信用户数据。
负载均衡模块303用于根据移动通信用户标识对移动通信用户数据进行负载均衡。
其中,所述移动通信用户标识至少包括IMSI、IMEI、MSISDN中的一项。
尽管在图3中未示出,但是针对移动通信用户数据进行负载均衡的装置300中的负载均衡模块303可以包括负载均衡输出端口组管理模块、负载均衡输出端口分配模块和用户数据转发模块。
负载均衡输出端口组管理模块用于创建负载均衡输出端口组,并在已创建的负载均衡输出端口组中添加并初始化负载均衡输出端口和/或删除已经添加的负载均衡输出端口。
即,负载均衡输出端口组管理模块用于创建负载均衡输出端口组,初始化负载均衡输出端口,将规划的负责负载均衡输出的一个或多个负载均衡输出端口加入到该负载均衡输出端口组中。和/或删除已经添加的负载均衡输出端口。
例如,负载均衡输出端口组管理模块可以根据管理员的控制进行操作,从而确定最终的负载均衡输出端口组的各个端口形成的拓扑结构。
负载均衡输出端口分配模块用于根据移动通信用户标识确定用于转发该移动通信用户数据的负载均衡输出端口。
即,负载均衡输出端口分配模块用于根据IMSI、IMEI、MSISDN中的至少一项确定用于转发该移动通信用户数据的负载均衡输出端口。
用户数据转发模块用于使用所确定的负载均衡输出端口转发移动通信用户数据。
即,用户数据转发模块用于将移动通信用户数据通过所确定的负载均衡输出端口输出。
其中,移动通信用户标识子集用于指示被分配到各个负载均衡输出端口上转发的移动通信用户数据所包含的移动通信用户标识的集合。
即,每个负载均衡输出端口所分配的映射空间指示被分配到各个负载均衡输出端口上转发的移动通信用户数据所包含的移动通信用户标识的集合。
尽管在图3中未示出,但是针对移动通信用户数据进行负载均衡的装置300中的负载均衡模块303还可以包括端口状态检测模块。
端口状态检测模块用于检测包括已经添加的负载均衡输出端口和未添加的负载均衡输出端口的所有负载均衡输出端口的状态。
例如,端口状态检测模块可以启动监控负载均衡输出端口组的检测程序。该程序负责对负载均衡输出端口(包括已经添加到组内的负载均衡输出端口和未添加到组内的负载均衡输出端口)的物理状态进行检测。例如,检测程序可以检测到(例如,可以通过定期轮询检测的方式)某些负载均衡输出端口发生了状态变迁,并通过和历史状态比较,确认变迁过程是从“在线态”变迁到“掉线态”,还是从“掉线态”变迁到“在线态”。
此时,所述负载均衡输出端口组管理模块还用于,在已创建的负载均衡输出端口组中添加并初始化由掉线状态转变为在线状态的负载均衡输出端口和/或删除已经添加的且由在线状态转变为掉线状态的负载均衡输出端口。
例如,端口状态检测模块可以告知负载均衡输出端口组管理模块,某些负载均衡输出端口发生了状态变迁,负载均衡输出端口组管理模块可以对已创建的负载均衡输出端口组的负载均衡输出端口进行调整。即,负载均衡输出端口组管理模块可以在已创建的负载均衡输出端口组中添加并初始化由掉线状态转变为在线状态的负载均衡输出端口和/或删除已经添加的且由在线状态转变为掉线状态的负载均衡输出端口。
可选地,在负载均衡输出端口组管理模块完成针对已创建的负载均衡输出端口组的负载均衡输出端口的调整之后,可以通知负载均衡输出端口分配模块为调整之后的负载均衡输出端口组内的每个负载均衡输出端口重新分配移动通信用户标识子集。
尽管在图3中未示出,但是针对移动通信用户数据进行负载均衡的装置300中的负载均衡模块303还可以包括端口抖动状态确定模块。
端口抖动状态确定模块用于确定包括已经添加的负载均衡输出端口和未添加的负载均衡输出端口的所有负载均衡输出端口的状态是否稳定。
例如,端口抖动状态确定模块只有在检测到端口状态检测模块输出的端口状态的变迁(从“在线态”变迁到“掉线态”,或从“掉线态”变迁到“在线态”)的次数在指定的时间(例如,1分钟)内不超过预先设定的阈值(2n次)且最终维持在初始状态时,才确定该端口的状态稳定。
此时,所述负载均衡输出端口组管理模块还用于,在已创建的负载均衡输出端口组中添加并初始化由掉线状态转变为在线状态且状态稳定的负载均衡输出端口和/或删除已经添加的且由在线状态转变为掉线状态且状态稳定的负载均衡输出端口。
可选地,在负载均衡输出端口组管理模块完成针对已创建的负载均衡输出端口组的负载均衡输出端口的调整之后,可以通知负载均衡输出端口分配模块为调整之后的负载均衡输出端口组内的每个负载均衡输出端口重新分配移动通信用户标识子集。
尽管在图3中未示出,然而,可选地,针对移动通信用户数据进行负载均衡的装置300中的负载均衡模块303中的负载均衡输出端口分配模块可以包括负载均衡输出端口第一确定模块。
负载均衡输出端口第一确定模块用于根据移动通信用户标识所属的移动通信用户标识子集确定用于转发该移动通信用户数据的负载均衡输出端口。
其中,移动通信用户标识子集用于指示被分配到各个负载均衡输出端口上转发的移动通信用户数据所包含的移动通信用户标识的集合。
尽管在图3中未示出,然而,可选地,针对移动通信用户数据进行负载均衡的装置300中的负载均衡模块303中的负载均衡输出端口分配模块还可以包括第一参数确定模块和平均分配模块。
第一参数确定模块用于确定移动通信用户标识总集合所包含的各个移动通信用户标识和处于在线状态的各个负载均衡输出端口标识,并且确定移动通信用户标识总集合所包含的移动通信用户标识的第一总数和处于在线状态的负载均衡输出端口的第二总数。
即,第一参数确定模块用于确定为负载均衡输出端口组内的每个负载均衡输出端口平均(平摊)分配移动通信用户标识所需要的参数。可以为每个负载均衡输出端口分配唯一的端口标识,作为为组内各个物理(实际)负载均衡输出端口分配映射空间的唯一索引。例如,假如一共存在2个物理负载均衡输出端口,则可以为物理负载均衡输出端口1分配唯一标识“Port_1”,可以为物理负载均衡输出端口2分配唯一标识Port_2。
平均分配模块用于根据第一总数和第二总数将移动通信用户标识总集合所包含的移动通信用户标识平均分配至各移动通信用户标识子集。
例如,在一共存在2个物理负载均衡输出端口时,平均分配模块可以将移动通信用户标识为奇数的移动通信用户标识分配给“Port_1”,可以将移动通信用户标识为偶数的移动通信用户标识分配给“Port_2”。
尽管在图3中未示出,然而,可选地,针对移动通信用户数据进行负载均衡的装置300中的负载均衡模块303中的负载均衡输出端口分配模块可以包括负载均衡输出端口第二确定模块和端口映射空间。
负载均衡输出端口第二确定模块用于获取移动通信用户标识的第一hash散列值,根据第一hash散列值对端口映射空间寻址以确定用于转发该移动通信用户数据的负载均衡输出端口。
端口映射空间存储模块用于存储与移动通信用户标识的第一hash散列值对应的负载均衡输出端口标识。
即,端口映射空间以移动通信用户标识的第一hash散列值作为访问地址。例如,如果映射空间一共有32707个存储单元的话,那么第一hash散列值至少是15比特的二进制数值。如果组内负载均衡输出端口标识的总数为128个的话,那么存储单元的长度则至少是7比特。
当获取了移动通信用户标识(例如,MSISDN)后,先根据移动通信用户标识计算第一hash散列值,然后查找端口映射空间中该地址处的存储单元,从而得到其中存储的负载均衡输出端口标识。
尽管在图3中未示出,然而,可选地,针对移动通信用户数据进行负载均衡的装置300中的负载均衡模块303中的负载均衡输出端口分配模块还可以包括第二参数确定模块和随机平均分配模块。
第二参数确定模块用于确定端口映射空间中的可用存储单元的总数目、处于在线状态的各个负载均衡输出端口标识、处于在线状态的负载均衡输出端口的第二总数。
即,第二参数确定模块用于确定用于生成每个可用存储单元(例如,可以通过第一hash散列值进行地址索引)中需要存储的负载均衡输出端口标识所需要的参数。
随机平均分配模块用于根据可用存储单元的总数目、处于在线状态的各个负载均衡输出端口标识、第二总数,采用随机平均分配算法分配每个可用存储单元中需要存储的负载均衡输出端口标识。
例如,随机平均分配模块可以采用以下方式完成针对每个负载均衡输出端口标识随机平均分配第一hash散列值(即,移动通信用户标识)。
例如,可以按照图2所示的方式为每个负载均衡输出端口分配移动通信用户标识。
图2示出了根据本发明实施方式为不同在线(负载均衡输出)端口分配用户标识(即,用户标识数据)的方法的示意图。
如图2所示,映射空间S的大小(即,端口映射空间中的可用存储单元的总数目)可以取经验值。例如,映射空间S的大小可以取32707。
通过“空间平摊法”计算每个在线端口在映射空间S上映射的次数(即,分配给每个在线端口的第一hash散列值的个数)。
例如,当端口映射空间中的可用存储单元的总数目为900、在线端口总数为3时,分配给每个在线端口的第一hash散列值的个数(即,存储单元的个数)为300。
计算在线端口标识P[1]、P[2],…,P[n](图2中左侧第一列)的第二hash散列值p1,p2,…,pn(图2中左侧第二列)。
通过“空间选择法”实现第二hash散列值p1,p2,…,pn至端口映射空间S的映射。即,通过“空间选择法”为各个映射空间S[0],S[1],…,S[n]分配一个唯一的第二hash散列值p1,p2,…,pn。
“空间选择法”遍历所有第二hash散列值p1,p2,…,pn,执行以下步骤:
步骤A:以rnd[p](对应第二hash散列值p的随机值)为基础取随机数r,由r指定一个映射空间S[r]。
步骤B:在S[r]没有被占用的情况下,将S[r]映射为当前负载均衡输出端口,即S[r]=p。
最终,所有的第二hash散列值p1,p2,…,pn都通过随机平均分配方式存储到了映射空间S。由于P[1]、P[2],…,P[n](图2中左侧第一列)的第二hash散列值p1,p2,…,pn(图2中左侧第二列)的对应关系,所以负载均衡输出端口P也都通过随机平均分配方式存储到了映射空间S。
根据本发明的上述技术方案,具有以下优点:可以基于移动通信用户将移动通信用户数据分配到负载均衡输出端口组中的各个输出端口;可以基于负载均衡输出端口组的负载均衡输出端口监控和管理,实现负载均衡输出端口拓扑实时更新;可以使用线性分区算法为用户数据分配输出负载均衡输出端口,保证一致性;查找时间复杂度为O(1)。
通过本发明的上述技术方案,可以完美解决移动网领域,用户数据一致性输出问题。还可以避免因负载均衡输出端口工作状态或负载均衡输出端口数变化时引起的用户数据丢失、抖动等问题,间接避免后期大量数据的迁移。
以上所述,仅为本发明示例性的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种针对移动通信用户数据进行负载均衡的方法,其特征在于,包括:
步骤1:接收包含移动通信用户标识的移动通信用户数据;
步骤2:根据移动通信用户标识对移动通信用户数据进行负载均衡,
其中,所述移动通信用户标识至少包括IMSI、IMEI、MSISDN中的一项;
步骤2包括:
步骤2-1:创建负载均衡输出端口组,并在已创建的负载均衡输出端口组中添加并初始化负载均衡输出端口和/或删除已经添加的负载均衡输出端口;
步骤2-2:根据移动通信用户标识确定用于转发该移动通信用户数据的负载均衡输出端口;
步骤2-3:使用所确定的负载均衡输出端口转发移动通信用户数据;
步骤2-2包括:
步骤(1):确定移动通信用户标识总集合所包含的各个移动通信用户标识和处于在线状态的各个负载均衡输出端口标识,并且确定移动通信用户标识总集合所包含的移动通信用户标识的第一总数和处于在线状态的负载均衡输出端口的第二总数;
步骤(2):根据第一总数和第二总数将移动通信用户标识总集合所包含的移动通信用户标识平均分配至各移动通信用户标识子集;
步骤(3):根据移动通信用户标识所属的移动通信用户标识子集确定用于转发该移动通信用户数据的负载均衡输出端口,
其中,移动通信用户标识子集用于指示被分配到各个负载均衡输出端口上转发的移动通信用户数据所包含的移动通信用户标识的集合。
2.根据权利要求1所述的针对移动通信用户数据进行负载均衡的方法,其特征在于,步骤2还包括:
步骤2-4:检测包括已经添加的负载均衡输出端口和未添加的负载均衡输出端口的所有负载均衡输出端口的状态;
步骤2-5:在已创建的负载均衡输出端口组中添加并初始化由掉线状态转变为在线状态的负载均衡输出端口和/或删除已经添加的且由在线状态转变为掉线状态的负载均衡输出端口。
3.根据权利要求1所述的针对移动通信用户数据进行负载均衡的方法,其特征在于,步骤2还包括:
步骤2-6:确定包括已经添加的负载均衡输出端口和未添加的负载均衡输出端口的所有负载均衡输出端口的状态是否稳定;
步骤2-7:在已创建的负载均衡输出端口组中添加并初始化由掉线状态转变为在线状态且状态稳定的负载均衡输出端口和/或删除已经添加的且由在线状态转变为掉线状态且状态稳定的负载均衡输出端口。
4.根据权利要求1所述的针对移动通信用户数据进行负载均衡的方法,其特征在于,步骤2-2包括:
步骤2-2-4:获取移动通信用户标识的第一hash散列值,根据第一hash散列值对端口映射空间寻址以确定用于转发该移动通信用户数据的负载均衡输出端口,
其中,端口映射空间存储了与移动通信用户标识的第一hash散列值对应的负载均衡输出端口标识。
5.根据权利要求4所述的针对移动通信用户数据进行负载均衡的方法,其特征在于,步骤2-2-4之前,步骤2-2还包括:
步骤2-2-5:确定端口映射空间中的可用存储单元的总数目、处于在线状态的各个负载均衡输出端口标识、处于在线状态的负载均衡输出端口的第二总数;
步骤2-2-6:根据可用存储单元的总数目、处于在线状态的各个负载均衡输出端口标识、第二总数,采用随机平均分配算法分配每个可用存储单元中需要存储的负载均衡输出端口标识。
6.一种针对移动通信用户数据进行负载均衡的装置,其特征在于,包括:
数据接收模块,用于接收包含移动通信用户标识的移动通信用户数据;
负载均衡模块,用于根据移动通信用户标识对移动通信用户数据进行负载均衡,
其中,所述移动通信用户标识至少包括IMSI、IMEI、MSISDN中的一项;
负载均衡模块包括:
负载均衡输出端口组管理模块,用于创建负载均衡输出端口组,并在已创建的负载均衡输出端口组中添加并初始化负载均衡输出端口和/或删除已经添加的负载均衡输出端口;
负载均衡输出端口分配模块,用于根据移动通信用户标识确定用于转发该移动通信用户数据的负载均衡输出端口;
用户数据转发模块,用于使用所确定的负载均衡输出端口转发移动通信用户数据;
负载均衡输出端口分配模块包括:
负载均衡输出端口第一确定模块,用于根据移动通信用户标识所属的移动通信用户标识子集确定用于转发该移动通信用户数据的负载均衡输出端口,
其中,移动通信用户标识子集用于指示被分配到各个负载均衡输出端口上转发的移动通信用户数据所包含的移动通信用户标识的集合;
负载均衡输出端口分配模块还包括:
第一参数确定模块,用于确定移动通信用户标识总集合所包含的各个移动通信用户标识和处于在线状态的各个负载均衡输出端口标识,并且确定移动通信用户标识总集合所包含的移动通信用户标识的第一总数和处于在线状态的负载均衡输出端口的第二总数;
平均分配模块,用于根据第一总数和第二总数将移动通信用户标识总集合所包含的移动通信用户标识平均分配至各移动通信用户标识子集。
7.根据权利要求6所述的针对移动通信用户数据进行负载均衡的装置,其特征在于,负载均衡模块还包括:
端口状态检测模块,用于检测包括已经添加的负载均衡输出端口和未添加的负载均衡输出端口的所有负载均衡输出端口的状态,
其中,所述负载均衡输出端口组管理模块还用于,在已创建的负载均衡输出端口组中添加并初始化由掉线状态转变为在线状态的负载均衡输出端口和/或删除已经添加的且由在线状态转变为掉线状态的负载均衡输出端口。
8.根据权利要求6所述的针对移动通信用户数据进行负载均衡的装置,其特征在于,负载均衡模块还包括:
端口抖动状态确定模块用于确定包括已经添加的负载均衡输出端口和未添加的负载均衡输出端口的所有负载均衡输出端口的状态是否稳定,
其中,所述负载均衡输出端口组管理模块还用于,在已创建的负载均衡输出端口组中添加并初始化由掉线状态转变为在线状态且状态稳定的负载均衡输出端口和/或删除已经添加的且由在线状态转变为掉线状态且状态稳定的负载均衡输出端口。
9.根据权利要求6所述的针对移动通信用户数据进行负载均衡的装置,其特征在于,负载均衡输出端口分配模块包括:
负载均衡输出端口第二确定模块,用于获取移动通信用户标识的第一hash散列值,根据第一hash散列值对端口映射空间寻址以确定用于转发该移动通信用户数据的负载均衡输出端口,
端口映射空间存储模块,用于存储与移动通信用户标识的第一hash散列值对应的负载均衡输出端口标识。
10.根据权利要求9所述的针对移动通信用户数据进行负载均衡的装置,其特征在于,负载均衡输出端口分配模块还包括:
第二参数确定模块,用于确定端口映射空间中的可用存储单元的总数目、处于在线状态的各个负载均衡输出端口标识、处于在线状态的负载均衡输出端口的第二总数;
随机平均分配模块,用于根据可用存储单元的总数目、处于在线状态的各个负载均衡输出端口标识、第二总数,采用随机平均分配算法分配每个可用存储单元中需要存储的负载均衡输出端口标识。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710879199.3A CN107635253B (zh) | 2017-09-26 | 2017-09-26 | 一种针对移动通信用户数据进行负载均衡的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710879199.3A CN107635253B (zh) | 2017-09-26 | 2017-09-26 | 一种针对移动通信用户数据进行负载均衡的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107635253A CN107635253A (zh) | 2018-01-26 |
CN107635253B true CN107635253B (zh) | 2021-01-01 |
Family
ID=61103312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710879199.3A Active CN107635253B (zh) | 2017-09-26 | 2017-09-26 | 一种针对移动通信用户数据进行负载均衡的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107635253B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110191064B (zh) * | 2019-03-22 | 2023-02-10 | 星融元数据技术(苏州)有限公司 | 流量负载均衡方法、装置、设备、系统及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101867976A (zh) * | 2010-07-22 | 2010-10-20 | 杭州华三通信技术有限公司 | 基于移动终端号码的负载均衡方法和设备 |
CN102710419A (zh) * | 2011-12-21 | 2012-10-03 | 大唐软件技术股份有限公司 | 一种用户认证的方法及装置 |
CN103974331A (zh) * | 2013-02-06 | 2014-08-06 | 电信科学技术研究院 | 一种异构网络的负载均衡方法、设备及系统 |
CN105338058A (zh) * | 2015-09-24 | 2016-02-17 | 新浪网技术(中国)有限公司 | 一种应用更新的方法及装置 |
-
2017
- 2017-09-26 CN CN201710879199.3A patent/CN107635253B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101867976A (zh) * | 2010-07-22 | 2010-10-20 | 杭州华三通信技术有限公司 | 基于移动终端号码的负载均衡方法和设备 |
CN102710419A (zh) * | 2011-12-21 | 2012-10-03 | 大唐软件技术股份有限公司 | 一种用户认证的方法及装置 |
CN103974331A (zh) * | 2013-02-06 | 2014-08-06 | 电信科学技术研究院 | 一种异构网络的负载均衡方法、设备及系统 |
CN105338058A (zh) * | 2015-09-24 | 2016-02-17 | 新浪网技术(中国)有限公司 | 一种应用更新的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107635253A (zh) | 2018-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3829117B1 (en) | Packet path recording with fixed header size | |
CN104468201A (zh) | 一种网络设备离线的自动删除方法和设备 | |
CN105450540A (zh) | 一种负载均衡方法、装置及dhcp服务器 | |
CN105472048A (zh) | 一种地址分配方法、信息聚合方法及相关设备 | |
CN113438172A (zh) | 基于多级节点网络的数据传输方法和装置 | |
CN106254265A (zh) | 处理报文的方法、装置和系统 | |
CN106412143A (zh) | 一种集群节点ip地址的可视化分配方法 | |
CN111163008A (zh) | 一种IPv6单播地址压缩方法、系统及汇聚分流设备 | |
CN104754070A (zh) | 地址解析协议表项学习方法、装置及网络设备 | |
CN112765035A (zh) | 分布式压力测试系统、方法、装置、电子设备、存储介质 | |
CN107635253B (zh) | 一种针对移动通信用户数据进行负载均衡的方法及装置 | |
CN107666401B (zh) | 一种配置信息获取方法及终端 | |
CN108810881B (zh) | 一种配网方法、设备及系统 | |
CN105827474A (zh) | 网络监控方法、过滤数据包的方法及装置 | |
CN101783742A (zh) | 一种网络拓扑的发现方法和设备 | |
CN103945015A (zh) | 一种节点逻辑id的分配装置、方法及通信系统 | |
CN111404719B (zh) | 网络拓扑信息采集方法及系统 | |
CN101877845B (zh) | Wlan接入网关、分场景计费系统及方法 | |
CN104380694A (zh) | IPv6地址分配方法及装置 | |
CN105227422A (zh) | 一种基于聚合网口的视频数据传输方法和装置 | |
CN110545336A (zh) | Ip地址替换方法、装置、计算机设备和存储介质 | |
CN116112572A (zh) | 一种业务处理方法、装置、网络设备及存储介质 | |
CN108124285B (zh) | 一种报文传输方法和装置 | |
CN115118635A (zh) | 一种时延检测方法、装置、设备及存储介质 | |
CN106559439B (zh) | 一种业务处理方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20201210 Address after: Room 805, building 15, North Tower office building, Jinmao Plaza, 1177 Huanhu Road, Tianding street, Yuelu District, Changsha City, Hunan Province Applicant after: Changsha Xingrong Metadata Technology Co.,Ltd. Address before: C-1501, century science and trade building, 66 Zhongguancun East Road, Haidian District, Beijing 100080 Applicant before: BEIJING ZHONGCHUANG TENGRUI TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |