fWX228941 / project

all by myself
1 stars 0 forks source link

公网专网切换方案 #57

Open fWX228941 opened 6 months ago

fWX228941 commented 6 months ago

 


PDTeChat自动切换方案

1、整体方案

在自动切换过程中,共有五个网元参与,分别是APPDT模块,eChat模块,窄带核心网,自动切换服务。

1)PDT模块在任何模式下都要能在信号变化主动上报当前信号给AP

2)窄带核心网在检测到某个终端的PDT模块注册上后,通知echat模式切换到PDT,然后模式切换到PDT模式,避免同一个终端同时在PDTeChat模块上。。

3)AP作为主控,被动监听或主动获取PDT模块的信号强度,通过信号强度的变化情况,来判断是否需要进入切换模式;当满足切换条件时,会先通知目标模块,等目标模块满足切换条件之后再把当前模块去注册,同时告知目标模块目标集群、目标网络等信息。

整体流程如下(以PDT模块信号号,切换到PDT模块为例)

 

2、自动切换条件

可变参数:

名称 | 说明 -- | -- PDT门限 | 此门限值用于PDT网络达到差的判断标准,值越大触发切换的网络信号需要越好。 灵敏度 | 此值用于调整自动切换触发的延时,取值范围为[0-10],值越大触发切换的延时越短越容易进行自动切换。 防乒乓时间 | 指的是防止乒乓切换的时间,取值范围为[1-10],切换之后需要经过这么长时间之后再进行切换 PDT优先 | 此开关是判断是否以切换到PDT优先为条件,只要PDT信号大于PDT门限,那么就会切换到PDT模块 公网门限 | 此门限和PDT门限一起作为判断是否达到切换条件门限,当公网信号越好,PDT信号越差越容易切换到echat模块,如果pdt优先开关打开那么该门限设置无效。

 

1、当PDT优先开关打开,当前处于PDT模式时,PDT信号低于切换门限,会尝试使用PDT去注册,去注册成功了才切换到echat模式。

2、当PDT优先开关打开,当前处于echat模式时,PDT的信号远好于切换门限(目前是PDT信号高于门限加几个dbm),会尝试使用PDT注册,注册成功了才切换到PDT模式。

3、当PDT优先开关关闭,当处于PDT模式时,PDT信号低于门限并且公网门限高于门限(目前是公网信号高于门限加几个dbm),会尝试使用PDT去注册,去注册成功了才切换到echat模式。

4、当PDT优先开关关闭,当处于eChat模式时,PDT的信号远好于切换门限(目前是PDT信号高于门限加几个dbm)并且公网信号低于门限那么切换到PDT模块

5、飞行模式,专网开关等其他情况下不进行自动切换。

3、自动切换处理策略

3.1、信号检测

  主动获取:

    AP周期性调用PDT模块的信号获取接口,主动查询当前信号好坏。使用Alarm(待机时)与Handle消息(不待机时)实现周期性查询信号。

被动监听:

    PDT模块调用查询信号的接口,之后会每隔2s主动将当前信号上报给AP,由于此动作是由模块触发所以终端待机时也可上报。

 

3.2、切换量以及切换标准

  自动切换延迟触发采用判决方式实现。达到判决条件时,启动周期性检测进行判决切换量的增加或减少,直到切换量大于切换标准后开始进行切换。切换条件不满足时,切换量减小,切换量为0时停止周期性检测。

切换量的增减是非线性的,它根据当前信号与门限的差距进行阶梯式增减。

切换量的计算公式为:

切换量 =   累计求和效果 相应的每次切换量的计算公式如下

SwitchValue:切换量。

SignalPDT的信号质量。

PubSingal:公网的信号质量。

Pdt ThresholdPDT切换阈值。

Pub Threshold:公网的切换阈值或者门限

切换标准根据灵敏度来计算:

切换标准 =max(shreshold)- shreshold) * factor

max(shreshold) 指的是最大灵敏度,shreshold指的是当前设置的灵敏度,factor指的是灵敏因子(目前这个值为10)。

3.3、功耗与周期

当前功耗检测周期,实际上PDT返回PDT信号时间都是固定的,每隔2s中会返回一次信号,故PDTechat切换没有动态检测的概念,在判决状态时会增加查询信号的频率。

3.4、防止乒乓

  1)一次切换后必须等10秒后才能进行下一次切换。

  2)通话中不进行切换。

  3)切换条件判断时目标网络并非单纯的优于切换门限,而是要好于切换门限至少几个dbm(动态调整),动态调整根据信号等级信号值差值进行调整。

 

    

  4)当长时间处于判决状态的时候启用动态门限打破僵持状态,当判决时间过长时动态调整门限值大小,一定时间后恢复到原有门限。

 

3.5、灵敏度

  灵敏度改变的是判决器的切换标准,灵敏度越高切换标准量越小,也就是判决器切换量越容易达到切换标准,越容易进行自动切换。按目前设计,理论上灵敏度最大时切换检测时间为(1-10)秒,灵敏度最小时切换检测时间为(10-100)秒。

4、PDT的相关的流程

4.1 提供启动注册接口

4.2 提供去注册接口

4.3 提供信号监控的接口

5、核心网的相关的流程

6、AP的切换流程

从一个模式切换到另一个模式要经历两个状态,分别是判决状态和切换状态,判决状态主要判决是否满足切换到另一个模式的条件,同时有防止兵乓功能。切换状态主要是等待目标模式注册成功。

6.1开机状态(DefaultState

设备开机完成后,给PDT模块发送主动上报信号指令。然后倒计时30s,如果此时PDT环境良好,PDT能顺利注册上,这时只需要被动监听PDT信号变化。如果倒计时结束后,PDT还没注册上,也无信号上报并且当前的4G网络开启并且良好则直接进入切换状态,如果有信号上报,则根据信号判断是否需要进入监听状态。如果终端在飞行模式下或者专网开关关闭,则进入IdelState闲置状态,等待专网开关打开和飞行模式关闭。

 

6.2 监听状态(MonitorState)

进入该状态后,查询一次PDT的信号,之后间隔10s查询一次,获取到信号后,根据信号质量做如下处理:

1、如果处于PDT状态,同时设置专网优先开关,判断PDT信号质量是否小于PDT门限,并且不处于通话中,同时本次切换时间大于上次切换时间+切换间隔时间,那么进入判决状态

2、如果处于eChat状态,同时设置专网优先开关,判断PDT信号质量是否大于(PDT门限+动态门限),并且不处于通话中,同时本次切换时间大于上次切换时间+切换间隔时间,那么进入判决状态

3、如果处于PDT状态,同时设置专网不优先,判断PDT信号质量是否小于PDT门限同时公网信号质量大于公网门限,并且不处于通话中,同时本次切换时间大于上次切换时间+切换间隔时间,那么进入判决状态

4、如果处于eChat状态,同时设置专网不优先,判断PDT信号质量是否大于PDT门限同时公网信号质量小于公网门限,并且不处于通话中,同时本次切换时间大于上次切换时间+切换间隔时间,那么进入判决状态

具体的流程图如下:

 

 

6.3判决状态(JudgeState

进入判决状态,首先持锁保证AP不休眠,然后主动查询一次PDT信号,信号越低查询速度越快。在判决状态下,每隔1s判断一次最新信号与门限的情况,如果低于门限条件,判决器的切换量增加,低得越多,增加得越多;如果高于门限条件,判决器的切换量减小,高的越多,减小的越多。判决器的切换量变化后,如果同时满足非通话中,距离上一次切换超过10s,判决器的切换量大于切换标准三个条件,则退出判决状态,进入切换状态。如果不满足,则看判决器的切换量是否大于0,大于0,则继续判决,如果小于0,说明不需要切换,则退出判决状态,回到监听状态。

具体流程图如下:

 

 

6.4 PDT切换到eChat (SwitchToeChatState)

进入切换状态后,忽略PDT信号,启动超时器,判断PDT是否处于通话中,如果处于通话中,去超市器等待通话结束重新走一遍以上逻辑,如果不处于通话中,PDT直接向窄带核心网发送去注册的消息,当前的模式切换到eChat模式,最后切换到MonitorState状态。

具体的路程图如下:

 

6.5  eChat切换到PDT(SwitchToPDTState)

进入切换状态后,忽略PDT信号,给PDT模块发送启动注册指令。然后启动超时器,等待PDT注册。如果超时器触发,说明PDT也无法注册上,那就退出切换状态,回到正常状态,这时如果PDT信号仍然很低,则又会重新走一次流程。如果在超时器触发之前,PDT注册上了,就给PDT模块发送注册指令,同时核心网也要主动下发PDT注册的消息,最后AP切换到PDT模式,切换成功之后退出当前状态进入MonitorState状态。

 

具体流程图如下:

 

 

 

 

6.6  闲置状态(IdleState)

闲置状态主要是等待专网开关打开和飞行模式关闭,如果专网开关打开和飞行模式关闭那么进入开机状态

7、需要各个模块提供的接口

各模块补充接口的具体格式,参数含义等

7.1 PDT模块

PDT 模块需要提供如下接口

去注册接口

启动注册接口

设置主动上报信号接口

查询信号接口

eChat 模块:

暂时没有接口