一种传输心跳消息的方法和装置
技术领域
本发明涉及通信技术领域,特别涉及一种传输心跳消息的方法和装置。
背景技术
随着网络技术的发展,网络业务的种类越来越丰富,网络中长连接业务的业务量越来越大,长连接业务是需要用户账户保持长时间在线状态的业务,如微信、微博等。
长连接业务的过程中,终端可以向服务器发送心跳消息来维持账户的在线状态。终端需要按照预设的心跳周期(如3分钟)向业务的后台服务器发送心跳消息,如果服务器持续没有接收到终端发送的消息达到预设的断链时长(如15分钟),则断开相应账户的连接。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
在现有技术中,对于长连接业务的应用程序向后台服务器传输的心跳消息,终端是将心跳消息作为业务数据进行传输的,在传输过程中,需要对心跳消息进行多层的封装,并在各层内进行分段/级联等处理,处理量较大,导致终端耗电量较大。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种传输心跳消息的方法和装置,以降低终端传输心跳消息过程的耗电量。所述技术方案如下:
第一方面,提供了一种传输心跳消息的方法,所述方法包括:
获取待传输的消息;
如果所述待传输的消息为心跳消息,则将所述心跳消息在分组数据汇聚协议PDCP层和/或无线链路控制RLC层的传输模式设置为透明模式,并向基站传输所述心跳消息。
在所述第一方面的第一种可能的实现方式中,所述将所述心跳消息在PDCP层和/或RLC层的传输模式设置为透明模式,并向基站传输所述心跳消息,包括:
通过预先定义的心跳专用数据无线承载,向基站传输所述心跳消息;其中,所述预先定义的心跳专用数据无线承载对应的PDCP层和/或RLC层的预设传输模式为透明模式。
结合所述第一方面的第一种可能的实现方式,在所述第一方面的第二种可能的实现方式中,如果本地未建立所述预先定义的心跳专用数据无线承载,所述通过预先定义的心跳专用数据无线承载,向基站传输所述心跳消息,包括:
请求建立所述预先定义的心跳专用数据无线承载;
通过所述预先定义的心跳专用数据无线承载,向基站传输所述心跳消息。
结合所述第一方面的第一种可能的实现方式,在所述第一方面的第三种可能的实现方式中,所述方法还包括:
当由所述基站向目标基站切换时,如果所述目标基站不支持所述心跳专用数据无线承载,则删除本地建立的所述心跳专用数据无线承载,后续的心跳消息使用其业务特性信息对应的数据无线承载进行传输。
在所述第一方面的第四种可能的实现方式中,所述如果所述待传输的消息为心跳消息,则将所述心跳消息在PDCP层和/或RLC层的传输模式设置为透明模式,并向基站传输所述心跳消息,包括:
如果所述待传输的消息中携带有心跳标识,则将所述心跳消息在PDCP层和/或RLC层的传输模式设置为透明模式,并向基站传输所述心跳消息。
在所述第一方面的第五种可能的实现方式中,所述方法还包括:
如果所述向基站传输所述心跳消息出现传输错误,且所述心跳消息所属的应用程序连续出现心跳消息传输错误的次数达到预设的次数阈值,则对所述心跳消息进行重传;和/或
如果所述向基站传输所述心跳消息出现传输错误,且所述心跳消息所属的应用程序连续出现心跳消息传输错误的次数未达到预设的次数阈值,则阻止对所述心跳消息进行重传。
结合所述第一方面的第五种可能的实现方式,在所述第一方面的第六种可能的实现方式中,所述预设的次数阈值,具体为:所述应用程序的断链时间与心跳周期的比值减1得到的差值。
在所述第一方面的第七种可能的实现方式中,所述PDCP层和/或RLC层,具体为:PDCP层和RLC层。
第二方面,提供了一种传输心跳消息的装置,其特征在于,所述装置包括:
获取模块,用于获取待传输的消息;
传输模块,用于如果所述待传输的消息为心跳消息,则将所述心跳消息在分组数据汇聚协议PDCP层和/或无线链路控制RLC层的传输模式设置为透明模式,并向基站传输所述心跳消息。
在所述第一方面的第一种可能的实现方式中,所述传输模块,用于:
通过预先定义的心跳专用数据无线承载,向基站传输所述心跳消息;其中,所述预先定义的心跳专用数据无线承载对应的PDCP层和/或RLC层的预设传输模式为透明模式。
结合所述第一方面的第一种可能的实现方式,在所述第一方面的第二种可能的实现方式中,所述传输模块,用于:
如果本地未建立所述预先定义的心跳专用数据无线承载,则请求建立所述预先定义的心跳专用数据无线承载;
通过所述预先定义的心跳专用数据无线承载,向基站传输所述心跳消息。
结合所述第一方面的第一种可能的实现方式,在所述第一方面的第三种可能的实现方式中,还包括切换模块,用于:
当由所述基站向目标基站切换时,如果所述目标基站不支持所述心跳专用数据无线承载,则删除本地建立的所述心跳专用数据无线承载,后续的心跳消息使用其业务特性信息对应的数据无线承载进行传输。
在所述第一方面的第四种可能的实现方式中,所述传输模块,用于:
如果所述待传输的消息中携带有心跳标识,则将所述心跳消息在PDCP层和/或RLC层的传输模式设置为透明模式,并向基站传输所述心跳消息。
在所述第一方面的第五种可能的实现方式中,所述传输模块,还用于:
如果所述向基站传输所述心跳消息出现传输错误,且所述心跳消息所属的应用程序连续出现心跳消息传输错误的次数达到预设的次数阈值,则对所述心跳消息进行重传;和/或
如果所述向基站传输所述心跳消息出现传输错误,且所述心跳消息所属的应用程序连续出现心跳消息传输错误的次数未达到预设的次数阈值,则阻止对所述心跳消息进行重传。
结合所述第一方面的第五种可能的实现方式,在所述第一方面的第六种可能的实现方式中,所述预设的次数阈值,具体为:所述应用程序的断链时间与心跳周期的比值减1得到的差值。
在所述第一方面的第七种可能的实现方式中,所述PDCP层和/或RLC层,具体为:PDCP层和RLC层。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例中,如果待传输的消息为心跳消息,则将心跳消息在PDCP层和/或RLC层的传输模式设置为透明模式,并向基站传输该心跳消息,这样,在传输心跳消息的过程中,在PDCP层和/或RLC层,可以不对心跳消息进行任何处理,从而,简化终端传输心跳消息的处理过程,降低该处理过程的耗电量。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的传输心跳消息的方法流程图;
图2是本发明实施例提供的心跳消息的重传处理的流程图;
图3是本发明实施例提供的建立心跳专用数据无线承载的流程图;
图4是本发明实施例提供的X2切换的流程图;
图5是本发明实施例提供的S1切换的流程图;
图6是本发明实施例提供的传输心跳消息的装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
本发明实施例提供了一种传输心跳消息的方法,如图1所示,该方法的处理过程可以包括如下的步骤:
步骤101,获取待传输的消息。
步骤102,如果待传输的消息为心跳消息,则将心跳消息在PDCP(Packet DataConvergence Protocol,分组数据汇聚协议)层和/或RLC(Radio Link Control,无线链路控制)层的传输模式设置为透明模式,并向基站传输该心跳消息。
本发明实施例中,如果待传输的消息为心跳消息,则将心跳消息在PDCP层和/或RLC层的传输模式设置为透明模式,并向基站传输该心跳消息,这样,在传输心跳消息的过程中,在PDCP层和/或RLC层,可以不对心跳消息进行任何处理,从而,简化终端传输心跳消息的处理过程,降低该处理过程的耗电量。
实施例二
本发明实施例提供了一种传输心跳消息的方法,该方法的执行主体可以为终端,如手机、平板电脑等移动终端。
终端与基站通信的过程中,消息会经过多个协议层的处理,多个协议层按顺序可以包括RRC(Radio Resource Control,无线资源控制协议)层、PDCP层、RLC层、MAC(MediumAccess Control,媒体访问控制层)层,终端(或基站)发送消息时,在终端(或基站)内部,消息可以按照该顺序分别经过各层的处理,终端(或基站)接收消息时,在终端(或基站)内部,消息可以按照相反的顺序分别经过各层的处理。
下面将结合具体的处理方式,对图1所示的处理流程进行详细的说明,该方法包括:
步骤101,获取待传输的消息。
在实施中,应用程序在与后台服务器通信的过程中,会向服务器发送各种消息,例如,即时通信的文本消息、视频通信的消息等。应用程序如果长时间没有向对应的后台服务器发送任何消息,且持续时长达到预设的心跳周期,则触发生成心跳消息,该心跳信息即待传输的消息,此待传输的消息会被传输到RRC(Radio Resource Control,无线资源控制协议)层。
步骤102,如果待传输的消息为心跳消息,则将心跳消息在PDCP层和/或RLC层的传输模式设置为透明模式,并向基站传输该心跳消息。
其中,PDCP层、RLC层的传输模式可以包括TM(Transparent Mode,透明模式)、UM(UN-Acknowledge Mode,非确认模式)、AM(Acknowledge Mode)确认模式,透明模式是一种无需本层做任何处理直接将消息传输到下一层的模式。优选的,可以将PDCP层和RLC层都设置为透明模式。
在实施中,判断待传输的消息是否为心跳消息的方式可以有多种,优选的,应用程序在生成心跳消息时,可以在其中携带预设的心跳标识(例如心跳标识可以为HITY(HeartInformation Type,心跳信息类型)),RRC层可以判断如果待传输的消息中携带有心跳标识则为心跳消息,否则不是心跳消息。相应的,步骤102的处理可以是:如果待传输的消息中携带有心跳标识,则将心跳消息在PDCP层和/或RLC层的传输模式设置为透明模式,并向基站传输心跳消息。基站接收到心跳消息后可以将心跳消息传输给对应的后台服务器,基站接收心跳消息的方式以及向后台服务器传输心跳消息的方式,本发明实施例不做限制。另外,如果待传输的消息不是心跳消息,可以按照常规的方式进行处理,根据消息的业务特性信息(业务特性信息是能够反映消息所属业务的特点的信息,如端口号等)进行相应的传输设置(根据业务特性信息可以确定出消息的QoS属性,进而可以选择对应的DRB(Data RadioBear,数据无线承载)用于传输)。
具体的,将心跳消息在PDCP层和/或RLC层的传输模式设置为透明模式并向基站传输该心跳消息的处理可以是:通过预先定义的心跳专用数据无线承载,向基站传输所述心跳消息。
其中,预先定义的心跳专用数据无线承载对应的PDCP层和/或RLC层的预设传输模式为透明模式。心跳专用数据无线承载可以是一种新定义的DRB,该心跳专用数据无线承载的DRB_ID(Identity,DRB标识)可以定义为32,优先级取值范围可以为1-16,心跳专用数据无线承载可称作DRB32或DRBH(Data Radio Bear Heart,心跳专用数据无线承载)。以下为RRC层的心跳专用数据无线承载的配置信息:
相应的,新增心跳专用数据无线承载后的QCI(QoS Class Identifier,QoS类别标识)值列表可以如下面表1。QCI值可以与DRB_ID一一对应。
表1
在实施中,在DRBH的建立过程中,根据DRBH的配置信息,RRC层为DRBH建立的PDCP层实体和RLC层实体的传输模式可以为透明模式,PDCP层实体、RLC层实体和MAC层实体分别是建立的用于执行PDCP层、RLC层和MAC层的功能的逻辑模块。当RRC层接收到待传输的消息时,如果确定待传输的消息为心跳消息,则RRC层可以为该心跳消息分配DRBH,这样,心跳消息被传输到PDCP层后,PDCP层实体可以不对心跳消息进行任何处理,直接将其传输到RLC层,RLC层实体也可以不对心跳消息进行任何处理,直接将其传输到MAC(Medium AccessControl,媒体访问控制层)层。MAC层实体对心跳消息进行处理时,可能涉及到对数据包进行分段、级联、添加MAC头等,在MAC层还可以设置一定的重传机制,具体的重传处理过程在后面内容中会有详细说明。MAC实体对心跳消息处理后,会将心跳消息发送给物理层,进行编码、封装等处理后,向基站发送。
另外,如果终端本地未建立上述预先定义的心跳专用数据无线承载,则相应的处理过程可以是:请求建立上述预先定义的心跳专用数据无线承载;通过此预先定义的心跳专用数据无线承载,向基站传输心跳消息。请求建立心跳专用数据无线承载的处理过程在后面内容中会有详细阐述。
本发明实施例还提供了对心跳消息的重传机制,相应的处理方式可以包括:如果向基站传输心跳消息出现传输错误,且心跳消息所属的应用程序连续出现心跳消息传输错误的次数达到预设的次数阈值,则对心跳消息进行重传;如果向基站传输心跳消息出现传输错误,且心跳消息所属的应用程序连续出现心跳消息传输错误的次数未达到预设的次数阈值,则阻止对心跳消息进行重传。
其中,终端可以记录不同应用程序对应的TEC(Transmission Error Counter,传输错误数),用于记录某一应用程序连续出现心跳信息传输错误的次数,TEC的初始值可以为0。次数阈值(可记作TECmax),可以是触发重传的阈值,即当传输错误次数较少时不需要重传,当传输错误次数达到次数阈值时则进行重传。
具体的重传处理过程可以如图2所示,包括以下步骤:
步骤201,终端将心跳消息向基站传输时,可以对应该心跳消息建立传输线程,并将心跳消息发出。
在实施中,RRC层接收到待发送的消息时,如果其中携带有心跳标识,则在消息中加入应用标识,应用标识可以如下面表2所示,长度可以为8bits。MAC层接收到心跳消息后,可以根据其中的应用标识的不同来区分不同的应用程序,以对不同应用程序的TEC进行维护。MAC层可以将心跳消息中的应用标识删除后,再将其封装成TB(Translate Block,传输块),给物理层进行后续传输过程。
表2
应用标识 |
应用程序 |
00000001 |
QQ |
00000010 |
微博 |
00000011 |
微信 |
… |
其他长连接业务的应用程序 |
步骤202,如果终端接收到基站反馈的对应该传输线程的ACK(ACKnowledgment,确认)消息,则将该心跳消息所属应用程序的TEC归零,并取消该传输线程。
在实施中,MAC层根据ACK消息的传输线程,确定其为心跳消息的ACK消息,并确定其对应的应用程序,然后,将该应用程序的TEC归零,并取消该传输线程。
步骤203,如果终端接收到基站反馈的对应该传输线程的NACK(Non-ACKnowledgment,否定确认)消息,或在预设的反馈时长内没有接收到基站反馈的对应该传输线程的消息,则将该心跳消息所属应用程序的TEC加1,再判断TEC是否达到TECmax,如果达到则进行重传,否则阻止对心跳消息进行重传,取消该传输线程。
在实施中,对于接收到NACK或超时的传输线程,MAC层可以确定该传输线程传输的心跳消息所属的应用程序,将该应用程序的TEC加1,然后,将TEC与TECmax进行比较,如果TEC大于或等于TECmax,则对心跳消息进行重传,如果TEC小于TECmax,则阻止对心跳消息进行重传,取消该传输线程。
优选的,上述预设的次数阈值,可以为应用程序的断链时间与心跳周期的比值减1得到的差值,即TECmax=(断链时间/心跳周期)-1。
通过上述心跳消息的重传机制,可以在保证应用程序账户在线的基础上,减少心跳消息的重传次数,可以减少终端的电能消耗,也可以节约网络资源。
另外,可选的,本发明实施例还可以采用如下的心跳消息重传机制:如果向基站传输心跳消息出现传输错误,则对心跳消息进行重传。
本发明实施例还提供了终端建立心跳专用数据无线承载的处理流程,流程执行之前,用户已经通过应用程序登录长连接业务的账户,例如,登录微信账户。终端建立心跳专用数据无线承载的处理流程,可以如图3所示,包括以下步骤:
步骤301,当预设心跳周期内应用程序没有与后台服务器的数据交互,终端则生成心跳信息。应用程序可以在心跳消息中携带心跳标识HITY。此生成心跳信息的处理由终端的应用层执行。
步骤302,终端检测到待发送的心跳消息,向MME(Mobility Management Entity,移动性管理实体)发起承载建立请求,承载建立请求中可以包含HITY。此检测心跳消息和发起承载建立请求的处理由终端的RRC层执行。
步骤303,MME查询HSS(Home Subscriber Server,归属用户服务器)完成对承载建立请求的安全认证。
步骤304,MME向SGW(Servicing Gateway,服务网关)发送承载建立请求,请求中包含PGW(Packet Gateway,分组数据网关)的地址、终端的IMSI(International MobileSubscriber Identification Number,国际移动用户识别码)和QoS属性。请求中还可以包含HITY。
步骤305,SGW转发该承载建立请求到PGW。
步骤306,PGW向PCRF(Policy And Charging Rules Function,策略计费规则功能)指示IP-CAN(Internet Protocol Connectivity Access Network,互联网协议连接访问网络)会话建立,其中包含PGW的地址、终端的IMSI和QoS属性,还可以包含HITY。
步骤307,PCRF根据QoS属性(还可以根据HITY),产生相应的QoS策略,携带于IP-CAN会话响应中下发给PGW。在PCRF中,预先增加了心跳消息对应的QoS属性和相应的QoS策略。
步骤308,PGW根据接收到的QoS策略,选择QCI、ARP(Address ResolutionProtocol,地址解析协议)、GBR(Guaranteed Bit Rate,保证比特率)和MBR(Maximum BitRate,最大比特率)参数,此时的QCI值为10,对应于心跳专用数据无线承载。在PGW中,预先增加了心跳消息对应的QoS策略。
步骤309,PGW向SGW返回承载建立响应,其中包含终端的IMSI以及EPS(EvolvedPacket System,演进分组系统)承载的QoS。
步骤310,SGW向MME转发该承载建立响应。
步骤311,MME为相应的承载分配EPS承载ID,并向eNB(Evolution Node Base,演进型基站)发送初始上下文建立请求。EPS承载可以与DRB一一对应,该EPS承载对应DRBH。
步骤312,eNB向终端发送RRC重配置请求消息,消息中包含QCI=10对应的RLC、PDCP、MAC的配置信息。
步骤313,终端根据RRC重配置请求消息中的RRC层配置信息完成心跳专用数据无线承载(DRBH)的配置,并向eNB返回RRC重配置完成消息。
步骤314,eNB向MME返回上下文建立完成响应。
步骤315,终端通过DRBH将待发送的心跳消息传输给基站。
步骤316,基站通过PGW将心跳消息发送给其对应的后台服务器。
上述流程中,PCRF可以预先存储DRBH的QoS(Quality of Service,服务质量)属性和对应的QoS策略,PGW中可以预先存储DRBH对应的QCI、ARP、GBR和MBR等参数,基站可以预先记录DRBH的配置信息。
本发明实施例还提供了已建立心跳专用数据无线承载的终端进行小区切换的处理方式:当终端由当前基站向目标基站切换时,如果目标基站不支持心跳专用数据无线承载,则删除本地建立的心跳专用数据无线承载,后续的心跳消息使用其业务特性信息对应的数据无线承载进行传输。
在实施中,终端可以删除DRBH的相关配置信息,并关闭RRC层对心跳消息识别的功能处理,即在RRC层的配置信息中设置对后续的心跳消息使用其业务特性信息对应的数据无线承载进行传输。这样,后续的心跳消息可以按照常规的方式进行处理,对于后续的心跳消息的处理可以不区别于一般业务数据,RRC层可以获取心跳消息中的业务特性信息(如端口号、目的地址等),然后根据预先存储的业务特性信息与QoS属性的对应关系,确定相应的QoS属性,并进一步选择对应的DRB,通过该DRB对心跳消息进行传输。
以下给出了目标基站不支持心跳专用数据无线承载的情况下,X2切换和S1切换的处理流程,对于目标基站支持心跳专用数据无线承载的情况,处理流程与常规切换流程类似,本实施例不再累述。
其中,X2切换是指通过源eNB和目标eNB之间的X2接口的通信来实现的终端服务基站的切换过程。S1切换是指通过源MME和目标MME之间的S1接口的通信(源eNB和目标eNB不进行直接通信)来实现的终端服务基站的切换过程。一般情况下,如果源eNB和目标eNB之间设置有X2接口,则优先采用X2切换,如果源eNB和目标eNB之间未设置有X2接口,则采用S1切换。
如图4所示,为X2切换的处理流程,可以包括如下步骤:
步骤401,源eNB为终端配置测量规则,并发送给终端。其中,该测量规则用于终端测量与基站之间的信号强度和/或信号质量。
步骤402,终端根据源eNB发送的测量规则向源eNB发送测量报告。
步骤403,如果测量报告满足切换条件,则源eNB向目标eNB发送切换请求,其中包含源eNB中保存的EPS承载列表。
步骤404,目标eNB根据接收的EPS承载列表、自身能够支持的EPS承载列表和RRM(Radio Resource Management,无线资源管理)规则进行接入控制判断。若允许接入,目标eNB为终端分配C-RNTI(Cell Radio Network Temporary Identifier,小区无线网络临时标识)及随机接入使用的前导码。
步骤405,目标eNB向源eNB发送切换请求应答,其中切换请求应答包含目标eNB为终端分配的C-RNTI和前导码。
步骤406,源eNB向终端发送RRC重配置请求消息,其中重配置请求消息包含目标eNB为终端分配的C-RNTI、前导码,以及目标eNB能接受的DRB列表和删除的DRB列表。这里,假设目标eNB不支持DRBH,即删除的DRB列表中包括DRBH。
步骤407,终端收到RRC重配置请求消息后,删除DRBH的相关配置信息,并关闭RRC层对心跳消息识别的功能处理。
步骤408,源eNB将缓冲区中的该终端的数据和尚未收到应答的该终端的数据分组转发到目标eNB。可以理解的是,步骤407和步骤408在时序上没有必然的先后关系。
步骤409,终端通过C-RNTI、前导码,进行随机接入,获得与目标eNB的上行同步。
步骤410,终端向目标eNB返回RRC重配置成功消息。此时,目标eNB可以确定终端已切换到了目标eNB,即终端的服务小区已改变。
步骤411,目标eNB向MME发起路径转换请求,告知MME终端已改变服务小区。
步骤412,MME和SGW交互完成用户面更新。此用户面更新用于后续终端通过基站与有线网进行通信。
步骤413,MME向目标eNB返回路径转换响应。
步骤414,目标eNB向源eNB发送终端上下文释放消息。
步骤415,源eNB释放终端上下文。终端上下文是源eNB存储的关于该终端的所有信息。
步骤416,终端通过DRB1传输后续心跳消息和业务数据。其中,因为DRBH被取消,所以将心跳消息作为普通业务数据进行处理,使用DRBH之外的DRB,DRB1只是一个例子,也可以采用DRBH之外的其它DRB,如DRB2、DRB3等。
如图5所示,为S1切换的处理流程,可以包括如下步骤:
步骤501,当X2切换不能进行时,就触发S1切换。源eNB决定发起一个到目标eNB的基于S1接口的切换,可能由以下原因触发:源eNB和目标eNB间没有X2接口;在X2切换后得到来自目标eNB的错误指示。
步骤502,源eNB向源MME发送切换请求,其中包含目标eNB的ID。
步骤503,源MME确定目标eNB所属的目标MME,向目标MME发送重定位消息,重定位消息中包含EPS承载列表,其中的承载包括DRB1以及DRBH。
步骤504,目标MME向目标SGW发送会话建立请求,消息中包含PGW地址和TEID(Tunnel Endpoint ID,隧道端点标识符)。
步骤505,目标SGW根据PGW地址和TEID建立与PGW之间的通道后,向目标MME发送会话建立响应。
步骤506,目标MME向目标eNB发送切换请求,其中包含待建立的EPS承载列表。目标MME在重定位消息中的EPS承载列表中删除不支持的承载,得到待建立的EPS承载列表。这里,目标eNB和目标MME不支持DRBH,所以,在待建立的EPS承载列表中不包含DRBH的相关信息。
步骤507,目标eNB向目标MME返回切换响应。
步骤508,目标MME向源MME返回重定位响应。
步骤509,源MME向源eNB发送切换命令,其中包含待建立的EPS承载列表。
步骤510,源eNB向终端发送切换命令,其中包含待建立的EPS承载列表。
步骤511,终端接收到切换命令后,会删除所有在待建立的EPS承载列表不包含的承载的配置信息,因为上面已经交代EPS承载列表中不包含DRBH,所以这里删除DRBH的配置信息,同时终端关闭RRC层对心跳消息识别的功能处理。
步骤512,终端通过随机接入获得与目标eNB的上行同步后,向目标eNB发送切换确认消息。
步骤513,目标eNB向目标MME发送切换通知消息。
步骤514,目标MME向源MME发送重定位完成消息。
步骤515,源MME向目标MME发送重定位完成响应。
步骤516,目标MME与PGW交互,更新数据下发路径。
步骤517,源MME通知源eNB释放终端的上下文。
步骤518,源eNB释放终端的上下文。
步骤519,源eNB向源MME返回释放完成消息。
步骤520,源MME收到释放完成消息后,删除与SGW之间的连接。
步骤521,终端采用DRB1传输后续心跳消息和业务数据。其中,因为DRBH被取消,所以将心跳消息作为普通业务数据进行处理,使用DRBH之外的DRB,DRB1只是一个例子,也可以采用DRBH之外的其它DRB,如DRB2、DRB3等。
本发明实施例中,如果待传输的消息为心跳消息,则将心跳消息在PDCP层和/或RLC层的传输模式设置为透明模式,并向基站传输该心跳消息,这样,在传输心跳消息的过程中,在PDCP层和/或RLC层,可以不对心跳消息进行任何处理,从而,简化终端传输心跳消息的处理过程,降低该处理过程的耗电量。
实施例三
基于相同的技术构思,本发明实施例还提供了一种传输心跳消息的装置,如图6所示,所述装置包括:
获取模块610,用于获取待传输的消息。
传输模块620,用于如果所述待传输的消息为心跳消息,则将所述心跳消息在分组数据汇聚协议PDCP层和/或无线链路控制RLC层的传输模式设置为透明模式,并向基站传输所述心跳消息。
优选的,所述传输模块620,用于:
通过预先定义的心跳专用数据无线承载,向基站传输所述心跳消息;其中,所述预先定义的心跳专用数据无线承载对应的PDCP层和/或RLC层的预设传输模式为透明模式。
优选的,所述传输模块620,用于:
如果本地未建立所述预先定义的心跳专用数据无线承载,则请求建立所述预先定义的心跳专用数据无线承载;
通过所述预先定义的心跳专用数据无线承载,向基站传输所述心跳消息。
优选的,还包括切换模块,用于:
当由所述基站向目标基站切换时,如果所述目标基站不支持所述心跳专用数据无线承载,则删除本地建立的所述心跳专用数据无线承载,后续的心跳消息使用其业务特性信息对应的数据无线承载进行传输。
优选的,所述传输模块620,用于:
如果所述待传输的消息中携带有心跳标识,则将所述心跳消息在PDCP层和/或RLC层的传输模式设置为透明模式,并向基站传输所述心跳消息。
优选的,所述传输模块620,还用于:
如果所述向基站传输所述心跳消息出现传输错误,且所述心跳消息所属的应用程序连续出现心跳消息传输错误的次数达到预设的次数阈值,则对所述心跳消息进行重传;和/或
如果所述向基站传输所述心跳消息出现传输错误,且所述心跳消息所属的应用程序连续出现心跳消息传输错误的次数未达到预设的次数阈值,则阻止对所述心跳消息进行重传。
优选的,所述预设的次数阈值,具体为:所述应用程序的断链时间与心跳周期的比值减1得到的差值。
优选的,所述PDCP层和/或RLC层,具体为:PDCP层和RLC层。
本发明实施例中,如果待传输的消息为心跳消息,则将心跳消息在PDCP层和/或RLC层的传输模式设置为透明模式,并向基站传输该心跳消息,这样,在传输心跳消息的过程中,在PDCP层和/或RLC层,可以不对心跳消息进行任何处理,从而,简化终端传输心跳消息的处理过程,降低该处理过程的耗电量。
实施例四
本发明实施例还提供了一种终端,该终端包括存储器和至少一个处理器,处理器被配置为执行如下操作:
获取待传输的消息;
如果所述待传输的消息为心跳消息,则将所述心跳消息在分组数据汇聚协议PDCP层和/或无线链路控制RLC层的传输模式设置为透明模式,并向基站传输所述心跳消息。
可选的,所述将所述心跳消息在PDCP层和/或RLC层的传输模式设置为透明模式,并向基站传输所述心跳消息,包括:
通过预先定义的心跳专用数据无线承载,向基站传输所述心跳消息;其中,所述预先定义的心跳专用数据无线承载对应的PDCP层和/或RLC层的预设传输模式为透明模式。
可选的,如果本地未建立所述预先定义的心跳专用数据无线承载,所述通过预先定义的心跳专用数据无线承载,向基站传输所述心跳消息,包括:
请求建立所述预先定义的心跳专用数据无线承载;
通过所述预先定义的心跳专用数据无线承载,向基站传输所述心跳消息。
可选的,所述操作还包括:
当由所述基站向目标基站切换时,如果所述目标基站不支持所述心跳专用数据无线承载,则删除本地建立的所述心跳专用数据无线承载,后续的心跳消息使用其业务特性信息对应的数据无线承载进行传输。
可选的,所述如果所述待传输的消息为心跳消息,则将所述心跳消息在PDCP层和/或RLC层的传输模式设置为透明模式,并向基站传输所述心跳消息,包括:
如果所述待传输的消息中携带有心跳标识,则将所述心跳消息在PDCP层和/或RLC层的传输模式设置为透明模式,并向基站传输所述心跳消息。
可选的,所述操作还包括:
如果所述向基站传输所述心跳消息出现传输错误,且所述心跳消息所属的应用程序连续出现心跳消息传输错误的次数达到预设的次数阈值,则对所述心跳消息进行重传;和/或
如果所述向基站传输所述心跳消息出现传输错误,且所述心跳消息所属的应用程序连续出现心跳消息传输错误的次数未达到预设的次数阈值,则阻止对所述心跳消息进行重传。
可选的,所述预设的次数阈值,具体为:所述应用程序的断链时间与心跳周期的比值减1得到的差值。
可选的,所述PDCP层和/或RLC层,具体为:PDCP层和RLC层。
本发明实施例中,如果待传输的消息为心跳消息,则将心跳消息在PDCP层和/或RLC层的传输模式设置为透明模式,并向基站传输该心跳消息,这样,在传输心跳消息的过程中,在PDCP层和/或RLC层,可以不对心跳消息进行任何处理,从而,简化终端传输心跳消息的处理过程,降低该处理过程的耗电量。
需要说明的是:上述实施例提供的传输心跳消息的装置在传输心跳消息时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的传输心跳消息的装置与传输心跳消息的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。