具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请的各实施例进行详细的阐述。然而,本领域的普通技术人员可以理解,在本申请各实施例中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施例的种种变化和修改,也可以实现本申请所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本申请的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
本申请的一个实施例中提供了一种链路保持方法,应用于终端,终端可以为用于承载低时延、对功耗不敏感但对时延要求高的终端,比如可以具体为:电力客户前置设备(Customer Premise Equipment,简称:CPE)、车联网终端等。下面对本实施例的链路保持方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
本实施方式中的链路保持方法的流程示意图如图1所示,具体包括:
步骤101:当向网络侧发起第一业务后,确定第一业务的结束时间点;
步骤102:在接收到网络侧发送的第一业务对应的RRC release消息时,确定接收到RRC release消息的时间点;
步骤103:根据结束时间点和接收到RRC release消息的时间点,预估网络侧设置的不活动定时器的定时时长;
步骤104:当向网络侧发起第二业务后,从第二业务结束开始计时,并在计时时长达到定时时长之前,向网络侧发送虚拟数据包,以保持终端和网络侧之间的RRC连接。
其中,网络侧接收到虚拟数据包后会将不活动定时器的当前计时时长归零,以保持终端和网络侧之间的RRC连接。
本实施例中,考虑到网络侧实际设置的不活动定时器的定时时长为网络侧参数,不会随信令下发给终端,因此提供一种终端自行预估不活动定时器的定时时长的方式,即以第一业务的结束时间点为起点,以接收到RRC release消息的时间点为终点可以合理的预估不活动定时器的定时时长。当向网络侧发起第二业务后,从第二业务结束开始计时,并在计时时长达到定时时长之前,向网络侧发送虚拟数据包,以保持终端和网络侧之间的RRC连接。本实施例,无需对网络侧进行改造,通过终端自行定时时长,并在计时时长达到定时时长之前,向网络侧发送虚拟数据包,以保持终端和网络侧的RRC连接,使得终端和网络侧一直处于连接态,从而降低业务时延,以满足对时延有较高要求的业务需求,即主要满足低时延业务的要求。
在步骤101中,当终端向网络侧发起第一业务后,终端确定第一业务的结束时间点。其中,网络侧可以为基站,第一业务可以为终端正常开机,成功注册网络后发起的业务。比如可以为:终端正常开机并成功注册网络后发起的第一个业务,终端可以从开机注册后的第一个业务起就开始为终端和网络侧之间的RRC连接的保持做准备,使得终端和网络侧之间能够快速进入RRC连接的保持状态。
在一个例子中,终端确定第一业务的结束时间点可以包括:终端确定第一业务对应的最后一个确认(Acknowledgement,简称:ACK);其中,最后一个ACK为终端向网络侧发送的最后一个ACK,或者为终端接收的网络侧发送的最后一个ACK;然后,终端将发送或接收最后一个ACK的时间点确定为第一业务的结束时间点。通过接收或发送的最后一个ACK可以方便且准确的判断出第一业务是否结束。
在一个例子中,终端确定第一业务对应的最后一个ACK的方式可以为:当终端接收或发送的针对第一业务的ACK时,将该ACK更新为参考ACK,当终端继续接收或发送针对第一业务的ACK时,将继续接收或发送的ACK更新为参考ACK,直到终端接收不到或不发送针对第一业务的ACK,则将参考ACK作为第一业务对应的最后一个ACK的时间点。
在另一个例子中,终端确定第一业务对应的最后一个ACK的方式可以为:终端记录终端接收和发送的每个ACK的时间点,当终端接收到RRC release消息时,将距离终端接收到RRC release消息的时间点最近的一个ACK的时间点作为最后一个ACK的时间点。
在步骤102中,终端在接收到网络侧发送的第一业务对应的RRC release消息时,确定接收到RRC release消息的时间点。其中,第一业务对应的RRC release消息可以理解为:第一业务结束后,网络侧计时达到实际设置的定时时长后发送的RRC release消息。终端在接收到网络侧发送的第一业务对应的RRC release消息时,表明理论上网络侧从第一业务结束时开始计时的时长已经达到网络侧实际设置的不活动定时器的定时时长,即第一业务已经结束一段时间,终端在接收到RRC release消息时断开与网络侧的连接。
在步骤103中,终端可以将结束时间点作为需要预估的定时时长的起点,并将接收到RRC release消息的时间点作为需要预估的定时时长的终点,根据起点和终端预估网络侧设置的不活动定时器的定时时长。在具体实现中,可以以终端发送或接收的最后一个ACK为起点,以收到网络侧下发的RRC release消息为终点计算T值预估的定时时长,即计算网络侧设置的不活动定时器的定时时长。比如,可以参考图2,通过图2可以看出,预估的inactivity timer的初始值T即预估的定时时长为最后一个ACK的结束时间点到RRCrelease消息的结束时间点之间的持续时长。
在步骤104中,当终端向网络侧发起第二业务后,终端可以从第二业务结束开始计时,并在计时时长达到定时时长之前,向网络侧发送虚拟数据包。其中,第二业务可以为终端在发起第一业务之后,再次发起的第二业务。终端可以从第二业务结束开始计时即终端可以从第二业务结束的时间点开始计时,第二业务结束的时间点的确定方式与上述第一业务结束的时间点的确定方式类似,为避免重复,本实施例对此不作具体限定。终端在计时时长达到定时时长之前即在计时时长未超过预估的定时时长之前,向网络侧发送虚拟数据包,使得网络侧在接收到虚拟数据包时,将不活动定时器的当前计时时长归零,以保持终端和网络侧之间的RRC连接,直至终端关机,否则终端与网络侧之间可以一直保持RRC连接,从而在终端重新发起业务时,无需再次建立RRC连接,以降低业务时延,满足对时延有较高要求的业务需求。
在一个实施例中,步骤104的实现方式可以为:当向网络侧发起第二业务后,从第二业务结束开始计时,并在计时时长达到定时时长对应的防碰撞时长之前,向网络侧发送虚拟数据包;其中,防碰撞时长小于定时时长。
在具体实现中,防碰撞时长可以根据实际需要进行设置,比如,防碰撞时长可以设置为:定时时长(记为T)与预设的时间提前量(记为t)之间的差值(T-t)。时间提前量可以根据实际需要进行设置,本实施例对此不做具体限定。终端在第二业务结束后,在T-t之前向网络侧发送虚拟数据包,有利于避免终端在需要发送数据时与收到的RRC release消息发生碰撞。
在一个例子中,在计时时长达到所述定时时长对应的防碰撞时长之前,向所述网络侧发送虚拟数据包,包括:在计时时长达到所述定时时长对应的防碰撞时长之前,当未接收到所述第二业务对应的RRC release消息时,向所述网络侧发送虚拟数据包。其中,第二业务对应的RRC release消息,可以为:第二业务结束后,网络侧计时达到实际设置的定时时长后发送的RRC release消息。比如,如果防碰撞时长为T-t,则终端可以判断是否在T-t之前收到RRC release消息,如果终端判定在T-t之前未收到RRC release消息,则向网络侧发送虚拟数据包,有利于在避免与RRC release消息发生碰撞的同时,为虚拟数据包的发送提供保障,确保虚拟数据包能够准确的发送至网络侧。
在一个实施例中,在计时时长达到所述定时时长对应的防碰撞时长之前,向所述网络侧发送虚拟数据包,包括:在计时时长达到所述定时时长对应的防碰撞时长之前,当接收到所述第二业务对应的RRC release消息时,对所述不活动定时器的定时时长进行更新,得到更新后的定时时长;其中,所述更新后的定时时长为所述第二业务的结束时间点与接收到所述第二业务对应的RRC release消息之间的持续时长;当向所述网络侧发起第三业务后,从所述第三业务结束开始计时,并在计时时长达到所述更新后的定时时长对应的防碰撞时长之前之前,当未接收到所述第三业务对应的RRC release消息时,向所述网络侧发送虚拟数据包。其中,第三业务可以为终端在第二业务结束后发起的业务。也就是说,如果终端在计时时长达到定时时长对应的防碰撞时长之前,接收到第二业务对应的RRCrelease消息,说明终端预估的定时时长不是特别准确,则终端会对之前预估的定时时长进行更新,将定时时长更新为:第二业务的结束时间点与接收到第二业务对应的RRC release消息之间的持续时长,通过终端对定时时长的更新,有利于更准确的得到网络侧实际设置的不活动定时器的定时时长。
在具体实现中,当向网络侧发起第三业务后,从第三业务结束开始计时,如果在计时时长达到更新后的定时时长对应的防碰撞时长之前之前,接收到第三业务对应的RRCrelease消息,说明更新后的定时时长还是不太准确,则终端可以再次更新定时时长,再次更新后的定时时长为第三业务结束的时间点和接收到第三业务对应的RRC release消息的时间点之间的持续时长。其中,第三业务对应的RRC release消息可以为:第三业务结束后,网络侧计时达到实际设置的定时时长后发送的RRC release消息。通过对预估的定时时长的准确性的判断,不断对预估的定时时长进行更新,直到从某一业务结束开始计时,计时时长达到更新后的定时时长对应的防碰撞时长之前之前,未接收到该业务对应的RRCrelease消息,停止对预估的定时时长的更新。
在一个实施例中,如图3所示,终端包括:控制单元301和调制解调器Modem单元302,Modem单元302用于向控制单元301上报用于预估定时时长的相关信息,相关信息包括:接收或发送的最后一个ACK的时间点和网络侧下发RRC release消息的时间点。控制单元301用于根据Modem单元302上报的相关信息计算预估的inactivity timer的定时时长T并保存,控制单元301还用于向Modem单元302下发虚拟数据包,Modem单元302将虚拟数据包发送至网络侧。
在一个实施例中,链路保持方法的流程示意图如图4所示,具体包括:
步骤401:终端正常开机,成功注册网络,发起业务;
其中,终端正常开机并成功注册网络所发起的业务可以理解为上述的第一业务,也可以理解为终端正常开机成功注册网络后发起的首个业务。
步骤402:终端以发送或收到的最后一个ACK为起点,以收到网络侧下发的RRCrelease消息为终点计算T值;
其中,T值即为上述的终端预估的网络侧设置的不活动定时器的定时时长。
步骤403:终端再次发起业务;
其中,终端再次发起的业务可以为上述的第二业务,即在第一业务结束后发起的业务。
步骤404:终端判断是否在T-t之前收到RRC release消息;
其中,t为预设的时间提前量,避免终端需要发送的数据与RRC release消息发生碰撞,T-t即为上述的定时时长对应的防碰撞时长。时间提前量可以根据实际需要进行设置,本实施例对此不做具体限定。步骤404中,如果终端判定在T-t之前收到RRC release消息,则表明之前预估的T值不准确,需要重新估算,比如可以回到步骤402重新计算并更新T值。如果终端判定在T-t之前未收到RRC release消息,则表示之前的预估的T值准确,则执行步骤405。
步骤405:终端向网络侧发送虚拟数据包,以保持RRC连接不释放;
在具体实现中,如果终端与网络侧之间的RRC连接一直保持连接态,直至终端关机。
本实施例中,无需对网络侧进行改造,终端本身对网络侧的不活动定时器的定时时长进行预估,并根据实际需要更新定时时长,使得预估的定时时长能够接近最终等于网络侧的不活动定时器的实际定时时长,有利于使终端一直处于连接态降低业务时延,主要满足低时延业务的要求。而且,考虑到终端需要发送的数据与终端接收到的RRC release消息如果发生碰撞,终端将无法确定当前需要发送数据还是断开RRC连接,本实施例中设置了预估的定时时长T对应的防碰撞时长T-t,有利于避免终端需要发送的数据与终端接收到的RRC release消息发生碰撞。
需要说明的是,本申请实施例中的上述各示例均为为方便理解进行的举例说明,并不对本发明的技术方案构成限定。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本申请实施例还提供了一种链路保持装置,如图5所示,包括:第一确定模块501,用于当向网络侧发起第一业务后,确定所述第一业务的结束时间点;第二确定模块502,用于在接收到所述网络侧发送的所述第一业务对应的无线资源控制释放RRC release消息时,确定接收到所述RRC release消息的时间点;预估模块503,用于根据所述结束时间点和所述接收到所述RRC release消息的时间点,预估所述网络侧设置的不活动定时器的定时时长;发送模块504,用于当向所述网络侧发起第二业务后,从所述第二业务结束开始计时,并在计时时长达到所述定时时长之前,向所述网络侧发送虚拟数据包,以保持所述终端和所述网络侧之间的RRC连接。
不难发现,本实施例为与上述方法实施例对应的装置实施例,本实施例可与上述方法实施例互相配合实施。上述方法实施例中提到的相关技术细节和技术效果在本实施例中依然有效,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在上述方法实施例中。
本申请实施例还提供了一种链路保持系统,如图6所示,包括:终端601和网络侧602;
终端601用于当向网络侧602发起第一业务后,确定第一业务的结束时间点;网络侧602用于向终端601发送第一业务对应的RRC release消息;终端601还用于确定接收到RRC release消息的时间点,并根据结束时间点和接收到RRC release消息的时间点,预估网络侧设置的不活动定时器的定时时长;终端601,还用于当向网络侧602发起第二业务后,从第二业务结束开始计时,并在计时时长未超过定时时长之前,向网络侧602发送虚拟数据包;网络侧602,还用于在接收到虚拟数据包后,将不活动定时器的当前计时时长归零,以保持终端601和网络侧602之间的RRC连接。
不难发现,本实施例为与上述方法实施例对应的系统实施例,本实施例可与上述方法实施例互相配合实施。上述方法实施例中提到的相关技术细节和技术效果在本实施例中依然有效,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在上述方法实施例中。
本申请实施例还提供了一种终端,如图7示,包括至少一个处理器701;以及,与至少一个处理器701通信连接的存储器702;其中,存储器702存储有可被至少一个处理器701执行的指令,指令被至少一个处理器701执行,以使至少一个处理器701能够执行上述实施例中的链路保持方法。
其中,存储器702和处理器701采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器701和存储器702的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器701处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器701。
处理器701负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器702可以被用于存储处理器701在执行操作时所使用的数据。
本申请实施例还提供了一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。