欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 一种会话管理功能SMF负载均衡的方法及其设备独创技术33272字

一种会话管理功能SMF负载均衡的方法及其设备

2021-03-04 08:31:53

一种会话管理功能SMF负载均衡的方法及其设备

  技术领域

  本申请涉及通信领域,并且更具体地,涉及一种会话管理功能(essionManagement Function,SMF)负载均衡的方法及其设备。

  背景技术

  在5G核心网中,SMF是5G基于服务架构的一个功能单元,主要负责会话管理,通过3GPP TS 29.502-g00知,SMF主要负责与分离的数据面交互,创建、更新和删除PDU 会话,并管理与UPF的会话连接(session context)。

  UE和gNB采用NGAP(Next Generation ApplicationProtocol)协议传递NAS(NonAccess Stratum)消息,经由N1或N2接口来请求新的会话。AMF接收这些请求并处理所有与接入和移动性管理有关的任务,并通过N11接口向SMF转发会话管理需求。AMF通过NRF确定选择哪一个SMF处理该会话请求。SMF内部包含Sm(会话管理模块)、Sc (服务模块)等多个服务模块,传统SMF不具备监控管理内部模块资源分配和模块资源监控,不能动态启动关闭内部模块,会导致设备资源浪费。

  因此,继续一种SMF负载均衡的方法及设备,能够合理利用资源。

  发明内容

  本申请提供一种会话管理功能SMF负载均衡的方法,能够提高资源利用率。

  一方面,提供了一种会话管理功能SMF负载均衡的方法,所述SMF包括Su群,所述方法包括:向所述Su群中当前处于工作状态的每个Su发送资源请求消息,所述资源请求消息用于指示所述第i个Su上报资源信息,Su群包括N个当前处于工作状态的Su,所述N中第i个Su运行M个Sm和S个Sc,监控软件soft配置于所述N个Su中第j个Su 所在的设备上,;接收所述第i个Su发送的资源信息,所述第i个Su上报的资源信息包括所述第i个Su拥有的计算和网络资源大小,所述第i个Su已经使用的计算和网络资源,所述Su上每个注册的用户消耗的计算和网络资源,所述Su运行的用户数量;根据所述N 个Su发送的资源信息,确定所述SMF当前的进程负载Threshold_smf,所述Threshold_smf 用于表征所述SMF当前服务进程容量占所述SMF总容量的比重;将所述Threshold_smf 与所述SMF的负载阈值范围作比较,当所述Threshold_smf高于所述SMF的阈值上限时,向所述Su群中的待机Su发送启动信号,指示所述Su群中的待机Su进入工作状态;或者,当所述Threshold_smf低于所述SMF的阈值下限时,将所述N个Su中负载最小的Su置为待机Su,并将所述待机Su中的数据转移到所述N个Su中负载倒数第二的接管Su中;或者,当所述Threshold_smf在所述SMF的阈值范围内时,所述soft向NRF发起会话注册,以指示AMF与所述SMF建立会话;其中,i为1到N之间的任意整数,j为1到N 之间的任意整数,N为正整数,M和S为非负整数。

  结合第一方面,在第一方面的第一种可能的实现方式中,所述soft配置的最大承载阈值Threshold_max为90%,最小承载阈值Threshold_min配置为50%。

  结合第一方面及其上述实现方式,在第一方面的第二种可能的实现方式中,所述Soft 包括记录进程服务的信息表list_work和用户数量表list_sesion,其中,所述list_session记录了当前处于工作状态的Su中每个Su里中Sm服务程序里用户会话数量,所述list_work 记录了当前处于工作状态的Su中每个Su上每个用户的会话服务内容。

  结合第一方面及其上述实现方式,在第一方面的第三种可能的实现方式中,所述根据所述N个Su发送的资源信息,确定所述SMF当前的进程负载Threshold_smf,还包括:根据下式,确定所述第i个Su的剩余容量:

  volume_su(i)={(J(CPU主频)-K(CPU主频))/L(CPU主频/用户),J(内存)-K(内存))/L(内存/用户),(J(带宽)-K(带宽))/L(带宽/用户)...}min,其中,J(CPU主频)表示所述第i个Su 总主频拥有的计算和网络资源大小,K(CPU主频)表示所述第i个Su已经使用主频占用的计算和网络资源,L(CPU主频/用户)表示所述第i个Su上所有注册用户主频消耗的计算和网络资源;J(内存)表示所述第i个Su总内存拥有的计算和网络资源大小,K(内存)表示所述第i个Su已经使用内存占用的计算和网络资源,L(CPU内存/用户)表示所述第i个Su上所有注册用户使用内存消耗的计算和网络资源;J(带宽)表示所述第i个Su总带宽拥有的计算和网络资源大小,K(带宽)表示所述第i个Su已经使用带宽占用的计算和网络资源, L(CPU带宽/用户)表示所述第i个Su上所有注册用户使用带宽消耗的计算和网络资源。

  结合第一方面及其上述实现方式,在第一方面的第四种可能的实现方式中,所述根据所述N个Su发送的资源信息,确定所述SMF当前的进程负载Threshold_smf,包括:

  根据下式确定Threshold_smf:

  Threshold_smf=

  (Sm_volume1+Sm_volume2+…+Sm_volume(i)…+Sm_volumeN)/ {(Sm_volume1+Sm_volume2+…+Sm_volume(i)…+Sm_volumeN)+

  volume_su(1)+volume_su(2)+…+volume_su(i)+…+volume_su(n)}*100%,

  其中,所述Sm_volume(i)为所述第i个Su负责会话管理的服务程序下发的工作用户容量。

  第二方面,提供一种SMF负载均衡的设备,所述SMF包括Su群,所述设备包括:

  发送单元,所述发送单元用于向所述Su群中当前处于工作状态的每个Su发送资源请求消息,所述资源请求消息用于指示所述第i个Su上报资源信息,Su群包括N个当前处于工作状态的Su,所述N中第i个Su运行M个Sm和S个Sc,监控软件soft配置于所述N个Su中第j个Su所在的设备上,;

  接收单元,所述接收单元用于接收所述第i个Su发送的资源信息,所述第i个Su 上报的资源信息包括所述第i个Su拥有的计算和网络资源大小,所述第i个Su已经使用的计算和网络资源,所述Su上每个注册的用户消耗的计算和网络资源,所述Su运行的用户数量;

  处理单元,所述处理单元用于根据所述N个Su发送的资源信息,确定所述SMF当前的进程负载Threshold_smf,所述Threshold_smf用于表征所述SMF当前服务进程容量占所述SMF总容量的比重;

  所述处理单元还用于将所述Threshold_smf与所述SMF的负载阈值范围作比较,当所述Threshold_smf高于所述SMF的阈值上限时,向所述Su群中的待机Su发送启动信号,指示所述Su群中的待机Su进入工作状态;

  或者,当所述Threshold_smf低于所述SMF的阈值下限时,将所述N个Su中负载最小的Su置为待机Su,并将所述待机Su中的数据转移到所述N个Su中负载倒数第二的接管Su中;

  或者,当所述Threshold_smf在所述SMF的阈值范围内时,所述soft向NRF发起会话注册,以指示AMF与所述SMF建立会话;

  其中,i为1到N之间的任意整数,j为1到N之间的任意整数,N为正整数,M和 S为非负整数。

  结合第二方面,在第二方面的第一种可能的实现方式中,所述soft配置的最大承载阈值Threshold_max为90%,最小承载阈值Threshold_min配置为50%。

  结合第二方面及其上述实现方式,在第二方面的第二种可能的实现方式中,Soft包括记录进程服务的信息表list_work和用户数量表list_sesion,其中,所述list_session记录了当前处于工作状态的Su中每个Su里中Sm服务程序里用户会话数量,所述list_work 记录了当前处于工作状态的Su中每个Su上每个用户的会话服务内容。

  结合第二方面及其上述实现方式,在第二方面的第三种可能的实现方式中,所述处理单元具体用于:根据下式,确定所述第i个Su的剩余容量:

  volume_su(i)={(J(CPU主频)-K(CPU主频))/L(CPU主频/用户),J(内存)-K(内存))/L(内存/用户),(J(带宽)-K(带宽))/L(带宽/用户)...}min,其中,J(CPU主频)表示所述第i个Su 总主频拥有的计算和网络资源大小,K(CPU主频)表示所述第i个Su已经使用主频占用的计算和网络资源,L(CPU主频/用户)表示所述第i个Su上所有注册用户主频消耗的计算和网络资源;J(内存)表示所述第i个Su总内存拥有的计算和网络资源大小,K(内存)表示所述第i个Su已经使用内存占用的计算和网络资源,L(CPU内存/用户)表示所述第i个Su上所有注册用户使用内存消耗的计算和网络资源;J(带宽)表示所述第i个Su总带宽拥有的计算和网络资源大小,K(带宽)表示所述第i个Su已经使用带宽占用的计算和网络资源, L(CPU带宽/用户)表示所述第i个Su上所有注册用户使用带宽消耗的计算和网络资源。

  结合第二方面及其上述实现方式,在第二方面的第三种可能的实现方式中,所述处理单元具体用于:根据下式确定Threshold_smf:

  Threshold_smf=

  (Sm_volume1+Sm_volume2+…+Sm_volume(i)…+Sm_volumeN)/ {(Sm_volume1+Sm_volume2+…+Sm_volume(i)…+Sm_volumeN)+

  volume_su(1)+volume_su(2)+…+volume_su(i)+…+volume_su(n)}*100%,所述Sm_volume(i)为所述第i个Su负责会话管理的服务程序下发的工作用户容量。

  因此,本申请具有以下有益效果:

  1.本发明使用了Threshold_smf生成算法生成动态的Threshold_smf,可以动态地计算出Su群的工作负载百分比;

  2.本发明使用了volume_su(i)生成算法算出每台Su的最大客户容量,可以有效地计算出SMF的最大用户承载容量;

  3.本发明使用了list_session记录了每个Su里每个Sm服务程序里用户会话数量;

  4.本发明使用了list_work记录了每个用户在对应Su上的的会话服务内容;

  5.本发明使用了Soft,它能根据volume_su(i)计算生成Threshold_smf,并判断它是否在设定最大负载区间以实现控制Su群设备开关机。待机时,Soft能根据list_session找出服务最少的Su,并通过list_work转移会话服务,并根据list_session找出目标Su相对用户数量较少的Sm服务模块作为转移终点以达到负载均衡,实现设备最大利用,实现环保节能。繁忙时,Soft能启动相应Su,使Threshold_smf回到设定工作负载区间,并通过list_session实现Sm会话服务分配的负载均衡,提高资源利用率。

  附图说明

  图1是本申请一个实施例的架构示意图。

  图2是本申请一个实施例的初始化通信流程图。

  图3示出了本申请一个实施例的示意性流程图。

  图4示出了本申请一个实施例的示意性流程图。

  图5示出了本申请一个实施例的示意性流程图。

  图6示出了本申请一个实施例的示意性流程图。

  图7示出了本申请一个实施例的示意性流程图。

  具体实施方式

  下面将结合附图,对本申请中的技术方案进行描述。

  图1是本申请一个实施例的架构示意图,

  如图1所示,对图中,主要网元说明:

  NRF(Network Repository Function):网络存储功能

  AMF(Access and Mobility Management Function):接入和移动性管理功能

  SMF(Session Management Function):会话管理功能

  Su(Service unit):搭载虚拟系统的服务单位设备

  Sm(SessionManager):负责会话session管理的服务程序

  Sc(SessionConnection):负责连接各种服务的服务程序

  N11是5G标准中定义的AMF和SMF通信接口

  具体地,一个SMF包括Su群,Su群包括多个Su,一个Su包括Sm和Sc。

  如图2所示,首先,在监控软件soft上配置SMF的承载阈值,该承载阈值用于表征该SMF上运行的服务进程占用容量占用总容量的比重,包括最大承载阈值Threshold_max,本申请配置为90%,和最小承载阈值Threshold_min,本申请配置为50%;

  其次,Soft会初始化一张用于记录进程服务的信息表list_work和记录各个Su运行用户数量表list_sesion;

  进一步地,Soft会向Su群中每个su发送资源请求消息,具体地,基于http协议向Su群中每个su以get形式发送url(”ip:port/v1/iplook/now”,此ip为目标su ip,接口port为目标suport);

  进一步地,目标su接收到资源请求消息后,向soft返回资源报告,该资源报告也就是目标su接收到url后将资源消息打包成的一个json格式表单,该目标su返回的资源报告具体内容包括目标su设备拥有的计算和网络资源大小,该su已经使用的计算和网络资源,以及在该su设备每个注册的用户消耗的计算和网络资源,当前su运行的用户数量(此用户本公司面向为手机用户);

  进一步地,Soft接收到Su返回的资源报告,会计算出Su群剩余的容量-volume_su(n) 和工作承载百分比-Threshold_smf,而后向NRF注册信息。这时候AMF就可以向NRF查询到SMF,与SMF建立pdu会话连接(AMF向NRF查询SMF是3GPP协议规定,查询到的SMF管理用户的会话规则,AMF向soft发送Nsmf_PDUSession_CreateSMContext Request请求创建SM上下文,soft就是smf里面一个小单元)。AMF和SMF完成建立会话服务时,soft会自动更新list_work和list_session。

  1)volume_su(i)={(J(CPU主频)-K(CPU主频))/L(CPU主频/用户),J(内存)-K(内存))/L(内存/用户),(J(带宽)-K(带宽))/L(带宽/用户)...}min,其中,J(CPU主频)表示所述第 i个Su总主频拥有的计算和网络资源大小,K(CPU主频)表示所述第i个Su已经使用主频占用的计算和网络资源,L(CPU主频/用户)表示所述第i个Su上所有注册用户主频消耗的计算和网络资源;J(内存)表示所述第i个Su总内存拥有的计算和网络资源大小,K(内存)表示所述第i个Su已经使用内存占用的计算和网络资源,L(CPU内存/用户)表示所述第i 个Su上所有注册用户使用内存消耗的计算和网络资源;J(带宽)表示所述第i个Su总带宽拥有的计算和网络资源大小,K(带宽)表示所述第i个Su已经使用带宽占用的计算和网络资源,L(CPU带宽/用户)表示所述第i个Su上所有注册用户使用带宽消耗的计算和网络资源。

  2)Threshold_smf=

  (Sm_volume1+Sm_volume2+…+Sm_volume(i)…+Sm_volumeN)/ {(Sm_volume1+Sm_volume2+…+Sm_volume(i)…+Sm_volumeN)+

  volume_su(1)+volume_su(2)+…+volume_su(i)+…+volume_su(n)}*100%,

  其中,所述Sm_volume(i)为所述第i个Su负责会话管理的服务程序下发的工作用户容量。

  3)List_session实现形式和具体记录内容:

  List_session(n):

  [“Su_name”:[{Sm_pid:Count_SUPI}…],“Su_name”:[{Sm_pid:Count_SUPI}…],…]

  Su_name:虚拟机设备名称

  Sm_pid:Sm session进程号

  Count_SUPI:对应单个Sm、Sc运行的用户个数

  上表使用JSON实现,一个Su_name对应多个Sm_pid,Sm_pid对应一个Count_SUPI。先是记录每个Su,然后获得里面每个Sm的pid号,然后得到每个Sm服务模块运行的客户数。当Soft向Su群分配任务时,就可以根据此表,找出Count_SUPI最少的Su分配任务,实现负载均衡。

  4)List_work实现形式和具体记录内容:

  List_work(n):

  [“user_SUPI”:{“Su_name:XXX”,

  “Sm_pid:XXX”,“Su_ip”:“XXX”,“Su_port”:“XXX”,“FLAG”},{…},…]

  user_SUPI:用户SUPI码

  Su_name:Soft为用户分配的虚拟机设备名称

  Sm_pid:虚拟机为用户服务的Sm session进程号

  Su_ip:虚拟机ip

  Su_port:用户连接ip使用的接口

  FLAG:为资源信息是否转移的标记

  上表使用JSON实现,一个user_SUPI对应一个Su_name、Sm_pid、Su_ip、Su_port,先是记录每个用户的SUPI,然后记录分配到相应任务的Su,然后再找出Su里面对应服务的Sm的pid号Su_ip和Su_port,最后记录此Sm服务是否在转移状态。

  图3示出了本申请一个实施例的数据转移的通信流程图。

  如图3所示,具体地,Soft会周期性的向Su群中的每个su发送资源请求消息,也就是每经过系统预设的时间T后,Soft都会基于http协议向Su群中每个su以get形式发送url(”ip:port/v1/iplook/resource_now”,此ip为目标su ip,port为目标suport),而收到资源请求消息的su会返回资源自己的资源报告,soft会根据收到的各个su的资源报告,更新list_work(进程服务信息表)和list_session(用户数量表),计算出当前su 群的工作承载百分比Threshold_smf,soft当检测到当前Threshold_smf负载低于设置阈值时,

  Soft会从Su群中找出进程运行用户数量最少的su,确定为待机su,从Su群中找出进程运行用户数量第二少的su,确定为接管su,也就是说soft会根据list_session中的Count_SUPI(单个Sm、Sc进程运行的用户个数)找出用户最少的待机su,并将该待机su 标记为转移态,就是说说该待机su不再接收AMF发送的请求消息,该待机su不会再向 nrf注册(以HTTP2协议为基础post一段url,格式为{nrfApiRoot}/oauth2/token),这样 amf就不能通过nrf查询到su,根据list_session中的Su_name将对应设置为转移态(在 list_work中的FLAG设置为MOVE),这样此待机su就不会再接收AMF的Request请求。

  下一步,soft会向待机su发送数据转移指令,具体地,会以post形式向待机su发送url(“ip:port/v1/iplook/move”),soft会将记载在list_work上的待机su信息传输给接管Su。

  当待机su完成对接管su信息转移时,soft会指示待机su宕机,也就是会post一段url(ip:port/v1/iplook/Soft_down)待机su会宕机。

  接管su则会自动为转移用户重启sm、sc进程服务,最后Soft会重新下发(”ip:port/v1/iplook/resource_now”)更新list_session和list_work。

  具体地,

  1、每经过time(soft)上传容量信息:

  resource_now(当前容量),携带当前每个独立su的容量信息

  2、断开待机su与AMF的连接:

  Soft_threaddown(soft服务进程中断指示命令),携带一个信号,可远程使目标su的进程exit

  3、发送转移命令:

  post一段url,格式为(”ip:port/v1/iplook/move”),携带一个信号move,可使待机su上的用户信息转移到目标su

  4、转移服务数据:

  post一段url,格式为ip:port/v1/iplook/workjson,携带一串json格式数据workjson,里面有转移用户的信息

  5、重启建立会话:

  重新让AMF向NRF查询SMF,查询到的SMF管理用户的会话规则,AMF向soft 发送Nsmf_PDUSession_CreateSMContext Request请求创建SM上下文,soft就是smf里面一个小单元

  6、上传容量信息:

  resource_now(当前容量),携带当前每个独立su的容量信息

  7、下发关机命令:

  post一段url(ip:port/v1/iplook/Soft_down),携带一个信号Soft_down,可远程使目标su exit

  图4示出,每经过系统预设的时间T后,Soft都会向su群中的每个su发送资源请求消息,也就是基于http协议向Su群中每个su以get形式发送url(”ip:port/v1/iplook/resource_now”,此ip为目标su ip,port为目标su port),以获得su群中每个su的资源信息,具体地,目标su接收到此url后会将资源消息打包成一个json格式的表 (resource_now)回复给soft。Soft接收到后会计算出Threshold_msf,然后通过与设置的工作负载区间比较,选择进行待机过载或正常工作。

  每经过TIME(soft)下发查下命令:

  post一段url,格式为(”ip:port/v1/iplook/resource_now”)

  接收资源请求消息的目标su会上报自己当前的资源信息:

  resource_now(当前资源),携带当前每个独立su的volume_su(n)公式的参数和当前su运行的用户数量

  如图5所示,每经过系统预设的time(soft)后,Soft都会基于http协议向Su群中每个su以get形式发送url(”ip:port/v1/iplook/resource_now”,此ip为目标su ip,port 为目标su port),以获得资源信息(volume_su(n)公式的参数和当前su运行的用户数量),目标su接收到此url后会将资源消息打包成一个json格式的表(resource_now)回复给soft。Soft接收到后会更新list_session和list_work并计算Threshold_msf,然后通过与负载区间比较。当在区间内则正常工作,soft向NRF注册信息(smf向nrf基于http2 协议put一段uri(“ip:port/nf-instance/{nfinstanceID}(NFProfile)”)NFProfile具体内容可看3GPP-29510-g206.1.6.2.2)。这时候AMF就可以向NRF查询到SMF,与SMF建立 pdu会话连接(AMF向NRF查询SMF是3GPP协议规定,查询到的SMF管理用户的会话规则,AMF向soft发送Nsmf_PDUSession_CreateSMContext Request请求创建SM上下文。),在建立会话服务前soft会根据list_session找出Sm_pid数量较少的Su_name,然后让服务进程在这些su上工作,以实现负载均衡,AMF和SMF完成建立会话服务时,soft 会自动更新list_work和list_session。

  如图6所示,每经过系统预设的time(soft)后,Soft都会基于http协议向Su群中每个su以get形式发送url(”ip:port/v1/iplook/resource_now”,此ip为目标su ip,port 为目标su port),以获得资源信息(volume_su(n)公式的参数和当前su运行的用户数量),目标su接收到此url后会将资源消息打包成一个json格式的表(resource_now)回复给soft。Soft接收到后会更新list_session和list_work并计算Threshold_msf,然后通过与负载区间比较。当低于负载设定阈值时,判断su群为待机工作。此时Soft会根据 list_session,找出拥有最少Count_SUPI的Su_name,这就是待机su,soft会根据list_session 中的Su_name将对应设置为转移态(在list_work中的FLAG设置为MOVE),这样此待机 su就不会再接收AMF的Request请求。下一步soft会以post形式向待机su发送url(”ip: port/v1/iplook/move”),待机su将list_work通过http协议以post形式向待机su发送url (”ip:port/v1/iplook/workjson”)传输给目标Su(此su为寻找待机su时排第二待机的 su)。当待机su完成对目标su转移信息时soft更新list_work,soft会post一段url(ip: port/v1/iplook/Soft_down)待机su会宕机。然后soft以get形式给每个su发送url(”ip: port/v1/iplook/resource_now”)并重新计算volume_vm(n)、threshold_smf和更新 list_session、list_work。然后目标sm则会自动为转移用户重启sm、sc进程服务,soft向 NRF注册信息(smf向nrf基于http2协议put一段uri(“ip:port/nf-instance/{nfinstanceID} (NFProfile)”)NFProfile具体内容可参照3GPP-29510-g206.1.6.2.2)。这时候AMF就可以向NRF查询到SMF,与SMF建立pdu会话连接(AMF向NRF查询SMF是3GPP 协议规定,查询到的SMF管理用户的会话规则,AMF向soft发送 Nsmf_PDUSession_CreateSMContext Request请求创建SM上下文。),在建立会话服务前 soft会根据list_session找出Sm_pid数量较少的Su_name,然后让服务进程在这些su上工作,以实现负载均衡。最后Soft会重新下发(”ip:port/v1/iplook/resource_now”)更新 list_session和list_work。

  如图7所示,每经过系统预设的time(soft)后,Soft都会基于http协议向Su群中每个su以get形式发送url(”ip:port/v1/iplook/resource_now”,此ip为目标su ip,port为目标suport),以获得资源信息(volume_su(n)公式的参数和当前su运行的用户数量),目标su接收到此url后会将资源消息打包成一个json格式的表(resource_now)回复给soft。Soft接收到后会更新list_session和list_work并计算Threshold_msf,然后通过与负载区间比较。当高于负载设定阈值时,判断su群为负载工作,然后soft会向su群中的待机su 发送启动信号(开机方式为linux网卡启动,在Linux下使用Wake On LAN实现远程开机),此时volume_su(n+1),Threshold_smf的计算公式中分母的增加远大于分子,以实现Threshold_smf的值剧降。然后soft以get形式给每个su发送url(”ip:port/v1/iplook/resource_now”)并重新计算volume_vm(n)、threshold_smf和更新list_session、list_work。 Soft为新启动的su向NRF注册信息(smf向nrf基于http2协议put一段uri (“ip:port/nf-instance/{nfinstanceID}(NFProfile)”)NFProfile具体内容可看3GPP-29510-g20 6.1.6.2.2)。这时候AMF就可以向NRF查询到SMF中新的su,与SMF建立pdu会话连接(AMF向NRF查询SMF是3GPP协议规定,查询到的SMF管理用户的会话规则,AMF 向soft发送Nsmf_PDUSession_CreateSMContext Request请求创建SM上下文。),在建立会话服务前soft会根据list_session找出Sm_pid数量较少的Su_name,然后让服务进程在这些su上工作,以实现负载均衡。最后Soft会重新下发(”ip:port/v1/iplook/ resource_now”)更新list_session和list_work。

  本申请还提供一种SMF负载均衡的设备,所述SMF包括Su群,所述设备包括:

  发送单元,所述发送单元用于向所述Su群中当前处于工作状态的每个Su发送资源请求消息,所述资源请求消息用于指示所述第i个Su上报资源信息,Su群包括N个当前处于工作状态的Su,所述N中第i个Su运行M个Sm和S个Sc,监控软件soft配置于所述N个Su中第j个Su所在的设备上,;

  接收单元,所述接收单元用于接收所述第i个Su发送的资源信息,所述第i个Su 上报的资源信息包括所述第i个Su拥有的计算和网络资源大小,所述第i个Su已经使用的计算和网络资源,所述Su上每个注册的用户消耗的计算和网络资源,所述Su运行的用户数量;

  处理单元,所述处理单元用于根据所述N个Su发送的资源信息,确定所述SMF当前的进程负载Threshold_smf,所述Threshold_smf用于表征所述SMF当前服务进程容量占所述SMF总容量的比重;

  所述处理单元还用于将所述Threshold_smf与所述SMF的负载阈值范围作比较,当所述Threshold_smf高于所述SMF的阈值上限时,向所述Su群中的待机Su发送启动信号,指示所述Su群中的待机Su进入工作状态;

  或者,当所述Threshold_smf低于所述SMF的阈值下限时,将所述N个Su中负载最小的Su置为待机Su,并将所述待机Su中的数据转移到所述N个Su中负载倒数第二的接管Su中;

  或者,当所述Threshold_smf在所述SMF的阈值范围内时,所述soft向NRF发起会话注册,以指示AMF与所述SMF建立会话;

  其中,i为1到N之间的任意整数,j为1到N之间的任意整数,N为正整数,M和 S为非负整数。

  可选地,所述soft配置的最大承载阈值Threshold_max为90%,最小承载阈值Threshold_min配置为50%。

  可选地,Soft包括记录进程服务的信息表list_work和用户数量表list_sesion,其中,所述list_session记录了当前处于工作状态的Su中每个Su里中Sm服务程序里用户会话数量,所述list_work记录了当前处于工作状态的Su中每个Su上每个用户的会话服务内容。

  可选地,所述处理单元具体用于:根据下式,确定所述第i个Su的剩余容量:

  volume_su(i)={(J(CPU主频)-K(CPU主频))/L(CPU主频/用户),J(内存)-K(内存))/L(内存/用户),(J(带宽)-K(带宽))/L(带宽/用户)...}min,其中,J(CPU主频)表示所述第i个Su 总主频拥有的计算和网络资源大小,K(CPU主频)表示所述第i个Su已经使用主频占用的计算和网络资源,L(CPU主频/用户)表示所述第i个Su上所有注册用户主频消耗的计算和网络资源;J(内存)表示所述第i个Su总内存拥有的计算和网络资源大小,K(内存)表示所述第i个Su已经使用内存占用的计算和网络资源,L(CPU内存/用户)表示所述第i个Su上所有注册用户使用内存消耗的计算和网络资源;J(带宽)表示所述第i个Su总带宽拥有的计算和网络资源大小,K(带宽)表示所述第i个Su已经使用带宽占用的计算和网络资源, L(CPU带宽/用户)表示所述第i个Su上所有注册用户使用带宽消耗的计算和网络资源。

  可选地,所述处理单元具体用于:根据下式确定Threshold_smf:

  Threshold_smf=

  (Sm_volume1+Sm_volume2+…+Sm_volume(i)…+Sm_volumeN)/ {(Sm_volume1+Sm_volume2+…+Sm_volume(i)…+Sm_volumeN)+

  volume_su(1)+volume_su(2)+…+volume_su(i)+…+volume_su(n)}*100%,所述Sm_volume(i)为所述第i个Su负责会话管理的服务程序下发的工作用户容量。

  因此,本申请具有以下有益效果:

  1.本发明使用了Threshold_smf生成算法生成动态的Threshold_smf,可以动态地计算出Su群的工作负载百分比;

  2.本发明使用了volume_su(i)生成算法算出每台Su的最大客户容量,可以有效地计算出SMF的最大用户承载容量;

  3.本发明使用了list_session记录了每个Su里每个Sm服务程序里用户会话数量;

  4.本发明使用了list_work记录了每个用户在对应Su上的的会话服务内容;

  5.本发明使用了Soft,它能根据volume_su(i)计算生成Threshold_smf,并判断它是否在设定最大负载区间以实现控制Su群设备开关机。待机时,Soft能根据list_session找出服务最少的Su,并通过list_work转移会话服务,并根据list_session找出目标Su相对用户数量较少的Sm服务模块作为转移终点以达到负载均衡,实现设备最大利用,实现环保节能。繁忙时,Soft能启动相应Su,使Threshold_smf回到设定工作负载区间,并通过list_session实现Sm会话服务分配的负载均衡,提高资源利用率。

  本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例

  的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

  所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

  在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

  所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

  另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

  所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者第二设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

  以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

《一种会话管理功能SMF负载均衡的方法及其设备.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)