专利名称:一种提高协议栈at指令响应速度的处理方法
技术领域:
本发明涉及到提高无线移动通信系统中用户终端的高层协议栈(简称为协议栈)与其应用层之间使用AT指令进行通信处理速度的方法,特别涉及到第三代无线通讯系统中处理并发业务时,使AT指令能够并行处理,对应用层的请求可以做出快速响应,以提高协议栈AT指令响应速度的处理方法。
背景技术:
AT指令作为一种信息沟通方式,最早应用于终端设备(简称为TE)与终端适配器(简称为TA),或数据终端设备(简称为DTE)与数据电路终端设备(简称为DCE)之间的信息沟通,现已作为一种通信标准广泛应用于无线移动通信系统的用户终端。通过用户终端的应用层发送AT指令,协议栈对接收到的指令进行解析处理,可以实现对用户终端的控制以及与网络业务的交互,如功能设置、呼叫、短信、电话簿、数据业务、传真等。
在第二代或更早时期的无线移动通讯系统中,用户终端的应用层和协议栈的AT指令处理采用的都是串行通信机制,即一问一答的方式。应用层必须等到协议栈的响应后才可以发送下一条指令,协议栈只有响应了前一条指令才可以处理下一条指令。而在第三代无线移动通讯系统中的并发业务,应用层可以同时发送多条AT指令到协议栈,但当前的串行处理机制使得协议栈只能按先后顺序逐条处理,在没有得到前一条指令的响应时,后面的指令只能在消息队列中做延迟等待。如果由于无线环境或者网络延迟等原因,致使前一条指令等待的响应时间较长,后一条指令将在延迟队列中无法得到执行,用户终端就会处于等待状态或等待画面中,出现所谓“死机”现象。这种串行处理机制的处理速度比较缓慢,影响了用户终端的性能。显然,不能有效支持第三代无线移动通讯系统中的并发业务的是现有AT指令处理机制的瓶颈。
发明内容
为了克服现有AT指令串行通信处理机制的不足,本发明提出了一种新的AT指令处理方法,能够有效地提高AT指令的处理速度,提高用户终端的性能。
本发明处理方法在协议栈设置多个AT指令缓存区,分别存储用户终端发出的不同业务的AT指令及相关信息,协议栈对不同AT指令缓存区中的信息进行处理,使应用层同时发出的多个不同业务的AT指令在协议栈得到并行响应。
本发明处理方法在协议栈设置的AT指令缓存区(以下简称为缓存区)的数量与用户终端能够支持的业务功能(如呼叫,短信,网络,电话簿等)种类数量存在如下关系缓存区的数量m=Σi=1nki+1]]>式中m表示AT指令缓存区数量i表示用户终端能够支持的某种业务功能的索引值n表示用户终端能够支持的业务功能种类数量的最大值ki表示第i类业务能够同时支持的最大实例数,即对同一个用户终端的同一种业务,网络能够同时支持的最大业务数量另外一个缓存区(即式中加上的一个)用于存储公共信息或者是与无线业务无关的信息处理,该缓存区被称为附加缓存区。
用户终端业务功能的划分要单一,避免出现交集的情况。当应用层发送的AT指令所对应的某个业务的实例数超过ki时,超出的AT指令将被延迟处理。
本发明处理方法缓存区的标识包括业务功能、业务实例等信息,采用缓存区标识可以寻找到符合缓存区标识内容(即相应的业务功能、业务实例等)的唯一缓存区。
本发明处理方法缓存区的划分,既可以静态方式实现,也可以动态方式实现。所谓静态实现,是指在操作前就申请与缓存区数量m相等的静态数组,分别存储不同业务的AT指令及相关信息,并实际占有相应的内存物理空间。当用户终端能够支持的业务功能种类数量达到最大值,且不同业务能够同时支持的最大实例数也达到最大值时,这些静态缓存区才会被全部占有。所谓动态实现,是指在操作时,即用户终端协议栈在接收到应用层发出的AT指令时,通过动态分配内存物理空间的方式获取该操作对应的一个缓存区。随着用户终端发出的AT指令的增加,实际动态分配的内存物理空间相应增加。显然,相对于静态方式,动态方式相对要节约内存空间。
本发明处理方法所称的AT指令及相关信息,包括命令标识、命令类型、命令内容等。协议栈利用缓存区中存储的这些信息,可以实现对不同业务,或者同种业务不同实例的处理和响应。
本发明处理方法中应用层可以在协议栈对前一种业务操作没有返回响应前,而要求另外一种不同业务,或者是同一种业务不同实例的并发操作。这两种或多种并发业务,或者同一种业务的不同实例的相关信息存储在协议栈的不同缓存区中,相互独立,能够并行处理。
AT指令在协议栈的处理步骤步骤1、当协议栈接收到应用层的操作请求后,先对AT指令进行解析,获取该指令所对应的用户终端业务功能,并判断是否为与公共信息操作相关的指令,是则将该指令存储在附加缓存区内,否则执行下一步骤;步骤2、判断该指令业务功能对应的缓存区是否被全部占用,是则该指令将被延迟处理,否则执行下一步骤;步骤3、根据该指令的业务功能确定对应的业务功能标识(简称业务功能ID),又根据该业务当前已创建的实例数量确定对应的实例标识(简称实例ID),使用业务功能ID和实例ID确定缓存区标识(简称缓存区ID),并将该指令及相关信息存入相应的缓存区内;步骤4、协议栈对该指令进行相关处理;步骤5、指令处理完毕,使用缓存区的相关信息完成对用户终端应用层的响应,清空保存相关信息的缓存区,以便下一个AT指令的处理;步骤6、检查延迟队列是否有被延迟处理的AT指令,如有则继续步骤1的操作,否则处理结束。
本发明方法的有益效果是,可以使协议栈对AT指令的处理由串行转变成并行,提高了对第三代无线通讯系统中的并发业务的处理速度,避免出现“死机”现象,从而有效地提高了用户终端的性能。需要强调的是,由于串行是一种特殊的并行,对于仅支持串行处理的应用层,支持并行处理的协议栈也同样可以与其接口,实现无线业务的处理。
图1、现有技术AT指令串行处理的流程图;图2、本发明处理方法AT指令并行处理时的缓存区静态划分示意图;图3、本发明处理方法两种AT指令(呼叫和短信)在协议栈并行处理的流程图。
下面结合附图及具体实施例对本发明处理方法对进一步的说明。
图1是现有技术AT指令串行处理的流程图。由图可知,在串行处理机制下,从应用层发送的AT指令在协议栈只能逐条处理,未处理的指令被延迟直到前一条处理完成才能被处理。
图2是本发明处理方法AT指令并行处理时的缓存区静态划分示意图。由图可知,不同业务功能的实例占用不同的内存物理空间,且数量可以不同。与缓存区的动态划分比较,静态划分要占用较大的内存物理空间,只有所有业务的所有实例全部被触发时,这些缓存区才会全部使用。
图3是本发明处理方法两种AT指令(呼叫和短信)在协议栈并行处理的流程图。由图可知,当应用层同时发下关于手机呼叫业务和短信业务的AT指令时,协议栈也同时开辟不同的缓存区来进行相关信息的存储,在处理的呼叫业务指令同时,也在处理短信指令,达到了真正的并行的效果,使得3G终端的并发业务能够确切地得到实现,提高了处理速度,提升了用户终端性能。
本发明方法还可有其他多种实施例,在不背离本发明方法的精神及其实质的情况下,本领域技术人员当可相据本发明方法作出各种相应的改变或变形,但这些相应的改变或变形均属于本发明方法的权利要求保护范围。
权利要求
1.一种提高协议栈AT指令响应速度的处理方法,其特征在于在协议栈设置多个AT指令缓存区,分别存储用户终端发出的不同业务的AT指令及相关信息,协议栈对不同AT指令缓存区中的信息进行处理,使应用层同时发出的多个不同业务的AT指令在协议栈得到并行响应。
2.根据权利要求1所述处理方法,其特征在于协议栈设置的AT指令缓存区(以下简称为缓存区)的数量与用户终端能够支持的业务功能(如呼叫,短信,网络,电话簿等)种类数量存在如下关系缓存区的数量m=Σi=1nki+1]]>式中m表示AT指令缓存区数量i表示用户终端能够支持的某种业务功能的索引值n表示用户终端能够支持的业务功能种类数量的最大值ki表示第i类业务能够同时支持的最大实例数,即对同一个用户终端的同一种业务,网络能够同时支持的最大业务数量另外一个缓存区(即式中加上的一个)用于存储公共信息或者是与无线业务无关的信息处理,该缓存区被称为附加缓存区。
3.根据权利要求1所述处理方法,其特征在于当应用层发送的AT指令所对应的某个业务的实例数超过ki时,超出的AT指令将被延迟处理。
4.根据权利要求1所述处理方法,其特征在于缓存区的标识包括业务功能、业务实例等信息,采用缓存区标识可以寻找到符合缓存区标识内容(即相应的业务功能、业务实例等)的唯一缓存区。
5.根据权利要求1所述处理方法,其特征在于缓存区的划分,既可以静态方式实现,也可以动态方式实现。
6.根据权利要求1所述处理方法,其特征在于AT指令及相关信息包括命令标识、命令类型、命令内容等,协议栈利用缓存区中存储的这些信息,可以实现对不同业务,或者同神业务不同实例的处理和响应。
7.根据权利要求1所述处理方法,其特征在于根据AT指令的业务功能确定对应的业务功能标识(简称业务功能ID),又根据该业务当前已创建的实例数量确定对应的实例标识(简称实例ID),使用业务功能ID和实例ID确定缓存区标识(简称缓存区ID),并将该指令及相关信息存入相应的缓存区内。
全文摘要
一种提高协议栈AT指令响应速度的处理方法,根据本发明处理方法在协议栈设置多个AT指令缓存区,分别存储用户终端发出的不同业务的AT指令及相关信息,协议栈对不同AT指令缓存区中的信息进行处理,使应用层同时发出的多个不同业务的AT指令在协议栈得到并行响应。本发明方法的有益效果是,可以使协议栈对AT指令的处理由串行转变成并行,提高了对第三代无线通讯系统中的并发业务的处理速度,避免出现“死机”现象,从而有效地提高了用户终端的性能。需要强调的是,由于串行是一种特殊的并行,对于仅支持串行处理的应用层,支持并行处理的协议栈也同样可以与其接口,实现无线业务的处理。
文档编号H04Q7/32GK101030975SQ200710078238
公开日2007年9月5日 申请日期2007年2月15日 优先权日2007年2月15日
发明者赵春泽, 罗勇, 李小文 申请人:重庆重邮信科股份有限公司