一种处理at指令的方法及装置的制作方法

文档序号:7753092阅读:240来源:国知局
专利名称:一种处理at指令的方法及装置的制作方法
技术领域
本发明涉及通信领域,尤其涉及一种处理AT指令的方法及装置。
背景技术
目前,移动双待终端已经渐成主流,由于AT指令比较标准,且几乎所有的平台供 应商都能够支持标准的AT指令,因此,市场上大部分移动双待终端都是通过AT指令来控制 处理双网双待,通过AT指令来控制主从两个芯片,从而实现对双网双待的控制。目前,处理AT指令的方式主要为所有AT发送指令缓存在命令队列中,采用AT循 环处理方式处理命令队列中的AT发送指令;应用直接调用AT处理,通过AT控制模块将AT 指令发送出去,期间采用阻塞的技术,只有在接收到该AT指令对应的AT响应时,才发送命 令队列中的下一个AT指令,依此类推。AT处理模块接收到AT响应时,根据经验设定将AT 响应的类型传送给认为需要该AT响应的应用;当调用该AT响应的应用较多时,由各应用添 加响应的事件轮询,并需要各应用记住各自是否处在发送AT指令并等待AT响应的状态。采用现有技术的AT处理方式,针对每一个AT指令,在发送该AT指令之后,需要等 待接收与该AT指令相对应的AT响应,只有在接收到该AT指令对应的AT响应时,再对下一 条AT指令进行处理,其所带来的技术缺陷有以下几点(1)移动双待终端的从模块响应较慢,在进行一些特殊处理(如读取 SIM (Subscriber Identity Module,客户识别模块)数据、UIM (User Identity Model,用户 识别模块)卡数据)时显得尤为明显,由于从模块处理时间较长,响应速度较慢,若当前正 在处理一个较为耗时的AT指令的从模块,接收到较高优先级的AT指令(如该AT指令的类 型通话)时,必须等待上一条耗时的AT指令处理完成后才能处理高优先级的AT指令。由 于AT指令没有优先级,属于串行的发送(一个处理完之后再处理下一个的方式),从而使 得当需要持续处理AT指令时,易导致AT指令的堆积,从而不能及时的处理掉一些比较重要 的AT指令,尤其是在频繁操作和双待相关的操作时,无法将需要及时解决的AT指令及时发 送,从而导致双待终端在频繁操作时,对于业务处理反应较慢。(2)现有技术对AT指令的处理,由于发起AT指令的应用不自带handle,因此,在 对接收到的AT响应进行解析后,不能准确的解析后的AT响应发送到需要该AT响应的应 用,因此,需要采用国轮询的方式将解析后的AT响应发送给多个应用,如应用A、B、C、D都 需要接收类型为通话的AT响应,当接收到第一个类型为通话类型的AT响应(用第一 AT响 应表示)时,需要将该AT响应分别发送给应用A、B、C、D,由该应用A、B、C、D来确定第一 AT 响应是否为自身所期望的AT响应;当接收到第二个类型为通话类型的AT响应(用第二 AT 响应表示)时,还需要将该第二 AT响应分别发送给A、B、C、D,依此类推。采用轮询的方式 将解析之后的AT响应发送给每个应用,采用该种轮询方式不仅加大了应用的处理复杂度, 还可能导致同一个AT响应可能被不同的应用重复处理;并且,该种方式使得多个应用不能 同时调用相同的AT响应,因此,加大了 AT处理控制难度。

发明内容
本发明提供一种处理AT指令的方法及装置,以提高AT指令的处理效率。一种发送AT指令的方法,包括接收应用发送的与该应用相对应的句柄handle,该handle携带有待发送的AT指 令;将接收到的handle在设定的handle处理队列中进行排队;按照排队顺序,从handle处理队列中提取至少一个handle放入到设定的handle 处理容器中,并发送提取的handle所携带的AT指令。一种处理AT响应的方法,包括接收AT响应,并从设定的handle处理容器中确定出当前期望接收该AT响应的一 个或多个handle ;将接收到的AT响应发送给确定出的handle中的其中一个handle。一种发送AT指令的装置,包括接收模块,用于接收应用发送的与该应用相对应的句柄handle,该handle携带有 待发送的AT指令;处理模块,用于将所述接收模块接收到的handle在设定的handle处理队列中进 行排队;发送模块,用于按照排队顺序,从handle处理队列中提取至少一个handle放入到 设定的handle处理容器中,并发送提取的handle所携带的AT指令。一种处理AT响应的装置,包括接收模块,用于接收AT响应;确定模块,用于从设定的handle处理容器中确定出当前期望接收所述接收模块 接收到的AT响应的一个或多个handle ;发送模块,用于将所述接收模块接收到的AT响应发送给确定模块确定出的 handle中的其中一个handle。一种移动终端,包括COMM处理机,用于接收AT响应和发送AT指令;并在接收AT响应时,接收中断触 发数据,并将接收到的中断触发数据拼接组包成完整的一条或多条AT响应并输出;AT处理机,用于针对COMM处理机输出的每条AT响应,确定出该AT响应的AT类型 并输出;Handle处理机,用于针对AT处理机输出的每条AT响应,从handle处理容器中 确定出一个或多个当前期望接收该AT响应的handle,并将该AT响应发送给确定出的 handle中的其中一个handle ;以及,用于接收应用分发处理机发送的handle,并将接收到 的handle在设定的handle处理队列中进行排队;按照排队顺序,从handle处理队列中提 取至少一个handle放入到设定的handle处理容器中,并发送提取的handle所携带的AT 指令;应用分发处理机,用于调用通用接口为应用生成相应的handle,所述handle携带 有待发送的AT指令并输出;以及,接收handle处理机发送的响应结果。本发明实施例中, 在发送AT指令时,可以同时发送handle容器中的多个handle对应的AT指令,提高了发送AT指令的效率,从而使得在AT指令堆积的情况下能够及时的处理掉堆积的handle。在接 收AT响应时,直接将接收到的AT响应发送给当前期望接收该AT响应的一个handle,从而 将接收到的AT响应高效、准确地发送给需要该AT响应的应用,提高了 AT响应的分发效率 与准确性,避免了现有技术中针对一个AT响应需要采用轮询的方式发送给需要该AT响应 的应用,从而导致AT响应分发效率较低的问题。


图IA为本发明实施例中发送AT指令的方法流程图;图IB为本发明实施例中接收AT响应的方法流程图;图IC为本发明实施例中处理AT的方法流程图;图2为本发明实施例中处理AT的TASK的架构图;图3为本发明实施例中COMM单元接收数据的处理流程图;图4为本发明实施例中AT处理机处理AT响应的流程图;图5为本发明实施例中handle处理机发送AT指令的方法流程图;图6为本发明实施例中handle处理机接收并处理AT响应的方法流程图;图7为本发明实施例中发送AT指令的装置的结构示意图;图8为本发明实施例中处理AT响应的装置的结构示意图。
具体实施例方式针对现有技术处理AT指令效率较低的问题,本发明实施例提供一种处理AT指令 的方法,该方法包括在移动终端设置有handle处理机;在发送AT指令时,应用向handle 处理机发送携带有待发送AT指令的handle ;handle处理机根据该handle的优先级将该 handle插入到设定的handle处理队列中合适的位置进行排队;handle处理机按排队顺序 从handle处理队列中提取至少一个handle放入到设定的handle处理容器进行处理,并发 送提取的handle所携带的AT指令,实现了并行发送handle容器中的多个handle对应的 AT指令,提高了发送AT指令的效率,并且,handle按照优先级从高到低的顺序在handle处 理队列中排队,从而使得在AT指令堆积的情况下能够及时的处理掉高优先级的handle。在 接收AT响应时,从设定的handle处理容器中确定出当前期望接收该AT响应的一个或多个 handle,并将接收到的AT响应发送给确定出的handle中的其中一个handle,从而将接收到 的AT响应高效、准确地发送给需要该AT响应的应用,提高了 AT响应的分发效率与准确性, 避免了现有技术中针对一个AT响应需要采用轮询的方式发送给需要该AT响应的应用,从 而导致AT响应分发效率较低的问题。下面结合说明书附图对本发明技术方案进行详细的描述。参见图1A,为本发明实施例中发送AT指令的方法流程图,该流程包括步骤101a、接收应用发送的与该应用相对应的handle,该handle携带有待发送的 AT指令。步骤102a、将接收到的handle在设定的handle处理队列中进行排队。步骤103a、按照排队顺序,从handle处理队列中提取至少一个handle放入到设定 的handle处理容器中,并发送提取的handle所携带的AT指令。
参见图1B,为本发明实施例中接收AT响应的方法流程图,该流程包括步骤101b、handle处理容器中的多个handle设置当前期望接收的AT响应。步骤102b、接收AT响应,并确定出当前期望接收该AT响应的一个或多个handle ;步骤103b、将接收到的AT响应发送给确定出的handle中的其中一个handle。上述步骤IOlaUOlb中的handle都是由应用发送,并且该handle包括应用标识 号(如ID值)、handle的优先级、handle的回调、待发送AT指令和该handle期望接收的 AT响应序列,AT响应序列是指该handle发送AT指令之后期望得到的多个按照时序排列的 AT响应所构成的序列。应用通过调用通用接口,由该通用接口初始化应用申请的handle所 包括的应用ID值、handle的优先级、handle的回调、handle自身的AT指令和该handle期 望接收的AT响应序列。较佳地,本发明实施例中,handle处理队列中的handle按照优先级从高到低的 顺序进行排队,优先级高的handle先被提取到handle处理容器中进行处理,优先级低的 handle后被提取到handle处理容器中进行处理。上述流程中的步骤101a,将接收到的 handle的优先级与handle处理队列中待处理的其他handle的优先级进行比较,并确定出 一个或多个优先级低于接收到的handle优先级的handle,并将所述接收到的handle插入 到确定出的任意一个handle之前进行排队。一般情况下,将该handle插入到优先级比该 handle低一级的handle的前面。较佳地,为避免低优先级的handle长时间不能被处理,本发明实施例,针对 handle处理队列中的每一个handle,判断该handle被插入handle的次数是否达到设定的 次数阈值,若是,则对该handle设置用于表征禁止在该handle前插入其他handle的标记, 或者将该handle的优先级调高。较佳地,上述流程步骤IOla还包括步骤当接收到应用发送的handle时,设置handle处理信号,handle处理机在接收到 handle处理信号时判断handle处理容器是否已满,若是,则忽略该handle处理信号。较佳地,上述步骤103b具体包括根据确定出的当前期望接收所述AT响应的 一个或多个handle被提取到所述handle处理容器的先后顺序,确定出最先被提取到所 述handle处理容器的handle ;并将接收到的AT响应发送给确定出的最先被提取到所述 handle处理容器的handle。较佳地,上述流程的步骤103b之后还包括判断接收到的AT响应是否为接收该AT响应的handle期望接收的最后一个AT响 应,若是,则根据该handle接收到的AT响应向与该handle对应的应用反馈响应结果;若 否,则为该handle设置下一个期望接收的AT响应。较佳地,上述流程步骤103b,还包括步骤若接收到的AT响应不为所述handle处理容器中任何一个handle所期望接收的 AT响应时,将接收到的AT响应发送给常驻容器,所述常驻容器为用于处理主动上报事件的 handle的容器。本发明实施例中的handle处理容器可以设置为先进先出的容器,被提取到该 handle容器中进行处理的handle按照被提取的先后顺序依次发送对应的AT指令,并且在 接收到AT响应时,将该AT响应直接发送给需要该AT响应的handle中最先进入handle处理容器的handle。较佳地,为进一步提高分发AT响应的效率,本发明实施例中,handle处理容器中 的各handle在每接收到一个期望的AT响应时,将期望的下一 AT响应的标识信息确定出 来,以便handle处理机在接收到AT响应时,直接按照handle处理容器中各handle当前 期望返回的AT响应的标识信息确定出当前需要该AT响应的一个或多个handle,再从多个 handle中确定出最先进入handle处理容器的handle,将接收到的AT响应发送给确定出的 handle。本发明实施例还提供一种处理AT的方法流程图,该方法流程如图IC所示,该方法 流程包括图IA的步骤IOla 步骤103a和图IB的步骤IOlb 步骤103b。在实际应用中,handle处理容器设置有5个容体,可以并行处理5个handle, handle与容体一一对应;并且针对每个容体设置有对应的发送定时器,每个发送定时器为 一个特殊的数据结构集成,包含发送出去的数据、发送数据的次数等。Handle处理容器中的 每个handle记录有其所用到的发送定时器的索引信息;当handle从该handle处理容器中 注销时,将该handle所使用的定时器清空。参见图2,为本发明实施例中,移动终端处理AT的TASK系统架构图,该TASK系统 包括C0MM处理机、AT处理机、handle处理机和应用分发处理机,其中COMM处理机,用于接收AT响应和发送AT指令;并在接收AT响应时,接收中断触 发数据,并将接收到的中断触发数据拼接组包成完整的一条或多条AT响应并输出;AT处理机,用于针对COMM处理机输出的每条AT响应,确定出该AT响应的AT类型 并输出;Handle处理机,用于处理应用请求的AT handle,该AT handle为一个句柄,用于 存储应用需要发送的AT指令的类型及期望接收的AT响应序列,还包括一个用于对AT响 应处理的call back函数指针;用于针对AT处理机输出的每条AT响应,从handle处理容 器中确定出一个或多个当前期望接收该AT响应的handle,并将该AT响应发送给确定出的 handle中的其中一个handle ;以及,用于接收应用分发处理机发送的handle,并将接收到 的handle在设定的handle处理队列中进行排队;按照排队顺序,从handle处理队列中提 取至少一个handle放入到设定的handle处理容器中,并发送提取的handle所携带的AT 指令;应用分发处理机,用于调用通用接口为应用生成相应的handle,所述handle携带 有待发送的AT指令并输出;以及,接收handle处理机发送的响应结果。采用如图2所示的TASK系统对待发送AT指令进行处理的原理如下位于TASK系统最高层的应用分发处理机调用通用接口为各应用生成与该应用相 对应的handle,并将个应用对应的handle发送给handle处理机;handle处理机将接收 到的handle按照优先级的顺序在handle处理队列中进行排队,并按照排队先后顺序从 handle处理队列中提取至少一个handle放至handle处理容器中,该handle处理容器可并 行处理固定数量的handle,从handle处理队列中提取handle的数量根据handle处理容器 还能并行处理的handle的数量而定;handle处理机通过AT处理机和COMM处理机发送提 取的handle对应的AT指令。本发明实施例中的handle处理容器可以是先进先出的容器, handle处理机按照进入handle处理容器的先后顺序依次发送各handle对应的AT指令。
采用如图2所示的TASK系统对接收到的AT响应进行处理的原理如下位于TASK系统最底层的COMM处理机对数据端口接收到的数据进行分析,得到一 条或多条完整的AT响应,并将得到的AT响应发送给AT处理机;AT处理机对COMM处理机发 送的AT响应进行分析,确定出COMM处理机发送的AT响应的AT类型,将确定出的AT类型 的结构发送给handle处理机;handle处理机将接收到的AT响应发送给handle处理容器中 当前期望接收该AT响应的一个或多个handle中的一个handle ;并判断该AT响应是否为 接收该AT响应的handle所期望的AT响应序列中的最后一个AT响应,若是,handle处理 机将该handle从handle处理容器中注销,根据该handle接收到的AT响应向与该handle 对应的应用反馈响应结果,并从handle处理队列中提取一个handle放入到handle处理容 器中;若否,则在该handle存储该AT响应,并设定该handle下一个期望接收的AT响应。在实际的应用中,COMM处理机通过调用SIO(Super Input Output chip,超级输入 输出芯片)发送AT指令。较佳地,为避免由于发送的AT指令在传输过程中丢失而导致发送失败的问题,本 发明实施例中,预先在待发送的AT指令的结构中设置有是否重发AT指令的标识以及重发 AT指令的时间阈值,该时间阈值为发送AT指令之后未收到AT相应的最长设定时间;COMM 处理机制在发送AT指令之后的时间阈值内未收到与该AT指令相对应的AT响应时,重新发 送该AT指令。COMM处理机接收数据时,一般具有以下三种情况情况一、中断触发,一次接收,数据完整并刚好形成一条完整的信息;情况二、中断触发,一次接收,数据不完整不足以形成一条完整的信息;情况三、中断触发,一次接收,数据超出一条完整的信息。该三种情况还可能夹杂出现,如第一次中断触发,接收到一条完整的数据和半条 不完整的数据;第二次中断触发,接收到第一次中断触发接收到的半条不完整的数据的后 续30%的数据;第三次中断触发,接收后续20%的数据。上述例子仅仅是一种情况,在实际应用中,还包括各种各样的组合情况,因此, COMM处理机如何正确的将多次中断触发接收到的数据拼装组合成至少一条完整的AT响 应,则直接决定着AT处理机对AT响应的类型的确定,从而影响到后续handle处理机对AT 响应进行处理的准确性。较佳地,为使得COMM处理机更好的将多次中断接触接收到的数据拼装成较为 完整AT响应,本发明技术方案中,COMM处理机将每次中断触发接收到的数据缓存到缓冲 buffer中,并在缓冲buffer中逐一查找是否包含有多个数据结尾标识,如“/r/n”(当一条 数据发送完时都是以“/r/n”结尾),若有,则将任意两个“/r/n”之间的数据作为一条完整 的AT响应发送给AT处理机,最后将不完整的数据继续保存在缓冲buffer中,并设置定时 器;当设定时间到达时,重新接收数据并取消定时器,当设定时间没有到达时有中断触发, 则取消该定时器。为更清楚的描述本发明实施例中COMM处理机对接收到的数据进行处理, 以图3所示的流程图为例进行描述。参见图3,为本发明实施例中COMM处理机接收数据的处理流程图,该流程包括步 骤步骤301、接收中断触发。
步骤302、取消设定的定时器。步骤303、接收中断触发数据,并将接收到的中断触发数据按照接收先后顺序依次 存储在缓冲buffer中。步骤304、从缓冲buffer接收到的数据中依次查找“/r/n”标识。步骤305、判断该数据中是否包含多个“/r/n”标识,若是则执行步骤306,否则执 行步骤307。步骤306、将任意相邻的两个“/r/n”标识之间的数据拼接组包成一条完整的AT响 应,并将得到的一条或多条AT响应发送给AT处理机。步骤307、判断是否已经对缓冲buffer中的数据分析完毕,若是则执行步骤308, 否则执行步骤304。步骤308、判断缓冲buffer中是否还包含有不完整的数据,若是则执行步骤309, 否则执行步骤310。步骤309、为该不完整数据设置定时器,当设定时间达到时,则行步骤302。步骤310、结束一次中断触发数据的接收。在实际应用中,AT类型较多,AT处理机在接收到COMM处理机发送的完整数据时, 对该完整数据进行分析,并根据分析结果与所有的AT类型逐一进行匹配,以确定出该数据 的AT类型,由于AT类型的种类繁多,通过该种匹配方式确定出AT类型的工作量较大,耗时 较长,较佳地,为提高AT处理机确定AT类型的效率,本发明实施例中,还对AT类型做进 一步的划分,将多个较为近似的AT类型划分到同一个较大范围的AT类型中,如发短信的AT 类型和接收短信的AT类型都归类到短信AT中;依此,可将AT类型划分为通用AT、呼叫 AT、短信AT、电话簿AT、补充业务AT、数据业务AT、控制AT、扩展AT、安全选项AT等。为进 一步对AT处理机确定AT类型进行详细的说明,以如图4所示的流程图为例进行说明。参见图4,为本发明实施例中AT处理机确定AT类型的流程图,该流程包括步骤步骤401、接收COMM处理机发送的AT处理请求,该AT处理请求中携带有AT响应。步骤402、判断接收到的AT响应是否为通用AT,若是则执行步骤412,否则执行步 骤 403。步骤403、判断AT响应是否为呼叫AT,若是则执行步骤412,否则执行步骤404。步骤404、判断AT响应是否为短信AT,若是则执行步骤412,否则执行步骤405。步骤405、判断AT响应是否为电话簿AT,若是则执行步骤412,否则执行步骤406。步骤406、判断AT响应是否为补充业务AT,若是则执行步骤412,否则执行步骤
407。步骤407、判断AT响应是否为数据业务AT,若是则执行步骤412,否则执行步骤
408。步骤408、判断AT响应是否为控制AT,若是则执行步骤412,否则执行步骤409。步骤409、判断AT响应是否为扩展AT,若是则执行步骤412,否则执行步骤410。步骤410、判断AT响应是否为安全选项AT,若是则执行步骤412,否则执行步骤 411。步骤411、确定接收到的AT响应为异常AT响应,并删除该AT响应。
步骤412、对接收到的AT响应进行解析。步骤413、将解析之后的AT响应发送给handle处理机。Handle处理机对数据进行处理包括发送处理与接收处理两部分,发送处理与接收 处理相对独立但又有关联,在接收处理时需要根据发送处理的发送机制来进行相应的数据处理。下面结合图5和图6对handle处理机处理AT的流程进行详细的描述。参见图5,为本发明实施例中handle处理机发送AT指令的方法流程图,该流程包 括步骤501、接收应用发送的与该应用相对应的handle,该handle包括应用的ID 值、handle优先级、handle的回调、handle自身的AT指令和该handle期望接收的AT响应 序列。步骤502、handle处理机将接收到的handle加入到设定的handle处理队列中,并 判断handle处理队列中是否有待处理的handle,若有则执行步骤503,否则执行步骤504。步骤503、将当前接收到的handle的优先级与handle处理队列中的所有待处理 handle的优先级进行比较,将接收到的handle插入到优先级低于该handle的任意一个 handle前面进行排队,handle处理机向handle处理容器发送handle处理信号。步骤504、handle处理容器接收handle处理信号。步骤505、handle处理容器判断handle处理容器是否已满,若是则执行步骤508, 若否则执行步骤506。步骤506、清除handle处理信号,并按照排队顺序从handle处理队列中提取至少 一个handle放入到handle处理容器中,并调用AT函数发送提取的handle携带的AT指令。步骤507、判断handle处理队列是否为空,若是则执行步骤508,否则执行步骤 509。步骤508、采用定时器对handle处理信号进行定时,设定时间到达时,重新向 handle处理容器发送handle处理信号。步骤509、结束流程。参见图6,为本发明实施例中handle处理机接收并处理AT响应的方法流程图,该 流程包括步骤601、接收AT处理机发送的AT响应。步骤602、将AT响应发送给handle处理容器中第η个handle。步骤603、该AT响应是该第η个handle期望的AT响应么,若是则执行步骤604, 否则执行步骤608。步骤604、在该第η个handle中保存该AT响应。步骤605、判断该AT响应是该第η个handle期望的AT响应序列中最后一个AT响 应,若是则执行步骤606,否则执行步骤607。步骤606、采用call back函数将该第η个handle对应的AT响应序列组合成完整 的响应结果并发送给相应的应用。步骤607、设置该第η个handle的下一个期望的AT响应。步骤608、判断handle处理容器中的所有handle都已经遍历,若是则执行步骤610,否则执行步骤609。步骤609、η计算器加一。步骤610 JfAT响应发送给常驻handle处理器,并判断该常驻handle处理器是否 处理该AT响应,若是则执行步骤612,否则执行步骤611。步骤611、确定该AT响应为异常响应,并删除该AT响应。步骤612、结束流程。基于上述方法流程相同的构思,本发明实施例还提供一种发送AT指令的装置和 一种处理AT响应的装置。参见图7,为本发明实施例中发送AT指令的装置,该装置包括接收模块71,用于接收应用发送的与该应用相对应的句柄handle,该handle携带 有待发送的AT指令;处理模块72,用于将接收模块71接收到的handle在设定的handle处理队列中进 行排队;发送模块73,用于按照排队顺序,从handle处理队列中提取至少一个handle放入 到设定的handle处理容器中,并发送提取的handle所携带的AT指令。处理模块72具体应用为将接收到的handle的优先级与handle处理队列中 待处理的其他handle的优先级进行比较,并确定出一个或多个优先级低于所述接收到的 handle优先级的handle ;将所述接收到的handle插入到确定出的任意一个handle之前进 行排队。处理模块72进一步用于,针对handle处理队列中的每个handle,判断该handle 被插入handle的次数是否达到设定的次数阈值,若是,则为所述handle设置用于表征禁止 在该handle前面插入其他handle的标记,或者,将handle的优先级调高。上述各模块具体如何实现相应的功能与前述的方法中的处理方式一致,在此不再 赘述。参见图8,为本发明实施例中处理AT响应的装置,该装置包括接收模块81,用于接收AT响应;确定模块82,用于从设定的handle处理容器中,确定出当前期望接收所述接收模 块接收到的AT响应的一个或多个handle ;发送模块83,用于将所述接收模块81接收到的AT响应发送给确定模块82确定出 的handle中的其中一个handle。确定模块82具体应用为根据确定出的一个或多个需要接收的AT响应的handle 进入所述handle处理容器的先后顺序,确定出最先进入所述handle处理容器的handle ; 并将接收到的AT响应发送给确定出的最先进入所述handle处理容器的handle。发送模块83进一步用于,判断所述接收到的AT响应是否为所述handle期望接收 的最后一个AT响应,若是,则将该handle接收到的AT响应整合成一条反馈结果并发送给 与该handle对应的应用;若否,则为该handle设置下一个期望接收的AT响应。接收模块81进一步用于,若接收到的AT响应不为handle处理容器中任何一个 handle所期望接收的AT响应时,将接收到的AT响应通过发送模块83发送给常驻容器,所 述常驻容器用于处理主动上报事件的handle。
上述模块具体如何实现其对应的功能如前述方法的处理方式一致,在此不再赘 述。本发明实施例还提供一种移动终端,该移动终端包括COMM处理机,用于接收AT响应和发送AT指令;并在接收AT响应时,接收中断触 发数据,并将接收到的中断触发数据拼接组包成完整的一条或多条AT响应并输出;AT处理机,用于针对COMM处理机输出的每条AT响应,确定出该AT响应的AT类型 并输出;Handle处理机,用于针对AT处理机输出的每条AT响应,从handle处理容器中 确定出一个或多个当前期望接收该AT响应的handle,并将该AT响应发送给确定出的 handle中的其中一个handle ;以及,用于接收应用分发处理机发送的handle,并将接收到 的handle在设定的handle处理队列中进行排队;按照排队顺序,从handle处理队列中提 取至少一个handle放入到设定的handle处理容器中,并发送提取的handle所携带的AT 指令;应用分发处理机,用于调用通用接口为应用生成相应的handle,所述handle携带 有待发送的AT指令并输出;以及,接收handle处理机发送的响应结果。COMM处理机将接收到的中断触发数据拼接组包成完整的一条或多条AT响应,具 体包括将接收到的中断触发数据按照接收的先后顺序存储在缓冲中;从缓冲接收到的数据中查找数据结尾标识;当查找到多个结尾标识时,将任意相邻的两个数据结尾标识之间的数据拼接组包 成一条完整AT响应。本发明技术方案并不仅限于处理AT指令的处理,对于其他握手通信协议的指令 也可采取本发明提供的技术方案。本发明实施例中,一方面,在发送AT指令时,可以同时发送handle容器中的多个 handle对应的AT指令,提高了发送AT指令的效率,并且,handle按照优先级从高到低的顺 序在handle处理队列中排队,从而使得在AT指令堆积的情况下能够及时的处理掉高优先 级的handle ;另一方面,在接收AT响应时,直接将接收到的AT响应发送给最先进入handle 容器的且需要该AT响应的handle,从而将接收到的AT响应高效、准确地发送给需要该AT 响应的应用,提高了 AT响应的分发效率与准确性,避免了现有技术中针对一个AT响应需要 采用轮询的方式发送给需要该AT响应的应用,从而导致AT响应分发效率较低的问题。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精 神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围 之内,则本发明也意图包含这些改动和变型在内。
权利要求
一种发送AT指令的方法,其特征在于,包括接收应用发送的与该应用相对应的句柄handle,该handle携带有待发送的AT指令;将接收到的handle在设定的handle处理队列中进行排队;按照排队顺序,从handle处理队列中提取至少一个handle放入到设定的handle处理容器中,并发送提取的handle所携带的AT指令。
2.如权利要求1所述的方法,其特征在于,所述应用发送的handle通过调用通用接口 生成,该handle包括该应用的标识号、该handle优先级、handle回调、待发送AT指令和该 handle期望接收的AT响应序列。
3.如权利要求2所述的方法,其特征在于,将接收到的handle在设定的handle处理队 列中进行排队,具体为将接收到的handle的优先级与handle处理队列中待处理的其他handle的优先级进 行比较,并确定出一个或多个优先级低于接收到的handle优先级的handle ;将所述接收到的handle插入到确定出的任意一个handle之前进行排队。
4.如权利要求3所述的方法,其特征在于,还包括步骤针对handle处理队列中的每个handle,判断该handle被插入handle的次数是否达到 设定的次数阈值,若是,则为该handle设置用于表征禁止在该handle前面插入其他handle 的标记,或者,将该handle的优先级调高。
5.一种处理AT响应的方法,其特征在于,包括接收AT响应,并从设定的handle处理容器中确定出当前期望接收该AT响应的一个或 多个 handle ;将接收到的AT响应发送给确定出的handle中的其中一个handle。
6.如权利要求5所述的方法,其特征在于,handle为与该handle对应的应用通过调用 通用接口生成,handle包括应用的标识号、handle的优先级、handle回调、待发送AT指令 和该handle期望接收的AT响应序列。
7.如权利要求5所述的方法,其特征在于,将接收到的AT响应发送给确定出的handle 中的其中一个handle,具体为根据确定出的当前期望接收所述AT响应的一个或多个handle被提取到所述handle 处理容器的先后顺序,确定出最先被提取到所述handle处理容器的handle ;并将接收到的 AT响应发送给确定出的最先被提取到所述handle处理容器的handle。
8.如权利要求5 7任一项所述的方法,其特征在于,将接收到的AT响应发送给确定 出的handle中的其中一个handle之后,还包括步骤判断所述接收到的AT响应是否为接收该AT响应的handle期望接收的最后一个AT响 应,若是,则根据该handle接收到的AT响应向与该handle对应的应用反馈响应结果;若 否,则为该handle设置下一个期望接收的AT响应。
9.如权利要求8所述的方法,其特征在于,还包括步骤若接收到的AT响应不为所述handle处理容器中任何一个handle所期望接收的AT 响应时,将接收到的AT响应发送给常驻容器,所述常驻容器为用于处理主动上报事件的 handle的容器。
10.如权利要求5所述的方法,其特征在于,接收AT响应之前,还包括步骤接收中断触发数据,并将接收到的中断触发数据按照接收先后顺序保存在缓冲中; 从缓冲接收到的数据中查找数据结尾标识;当查找到多个结尾标识时,将任意相邻的两个数据结尾标识之间的数据拼接组包成一 条完整的AT响应。
11.一种发送AT指令的装置,其特征在于,包括接收模块,用于接收应用发送的与该应用相对应的句柄handle,该handle携带有待发 送的AT指令;处理模块,用于将所述接收模块接收到的handle在设定的handle处理队列中进行排队;发送模块,用于按照排队顺序,从handle处理队列中提取至少一个handle放入到设定 的handle处理容器中,并发送提取的handle所携带的AT指令。
12.如权利要求11所述的装置,其特征在于,所述处理模块,具体应用为将接收到的handle的优先级与handle处理队列中待处理的其他handle的优先级进 行比较,并确定出一个或多个优先级低于接收到的handle优先级的handle ;将所述接收到 的handle插入到确定出的任意一个handle之前进行排队。
13.一种处理AT响应的装置,其特征在于,包括 接收模块,用于接收AT响应;确定模块,用于从设定的handle处理容器中确定出当前期望接收所述接收模块接收 到的AT响应的一个或多个handle ;发送模块,用于将所述接收模块接收到的AT响应发送给确定模块确定出的handle中 的其中一个handle。
14.如权利要求13所述的装置,其特征在于,所述发送模块,具体应用为根据所述确定模块确定出的当前期望接收所述AT响应的一个或多个handle被提取到 所述handle处理容器的先后顺序,确定出最先被提取到所述handle处理容器的handle ; 并将接收到的AT响应发送给确定出的最先被提取到所述handle处理容器的handle。
15.一种移动终端,其特征在于,包括COMM处理机,用于接收AT响应和发送AT指令;并在接收AT响应时,接收中断触发数 据,并将接收到的中断触发数据拼接组包成完整的一条或多条AT响应并输出;AT处理机,用于针对COMM处理机输出的每条AT响应,确定出该AT响应的AT类型并输出;Handle处理机,用于针对AT处理机输出的每条AT响应,从handle处理容器中确定出 一个或多个当前期望接收该AT响应的handle,并将该AT响应发送给确定出的handle中 的其中一个handle ;以及,用于接收应用分发处理机发送的handle,并将接收到的handle 在设定的handle处理队列中进行排队;按照排队顺序,从handle处理队列中提取至少一个 handle放入到设定的handle处理容器中,并发送提取的handle所携带的AT指令;应用分发处理机,用于调用通用接口为应用生成相应的handle,所述handle携带有待 发送的AT指令并输出;以及,接收handle处理机发送的响应结果。
16.如权利要求15所述的移动终端,其特征在于,所述COMM处理机具体用于 将接收到的中断触发数据按照接收的先后顺序存储在缓冲中;从缓冲接收到的数据中查找数据结尾标识;当查找到多个结尾标识时,将任意相邻的两个数据结尾标识之间的数据拼接组包成一 条完整的AT响应。
全文摘要
本发明公开了一种处理AT指令的方法及装置,以提高处理AT指令的效率。该方法包括接收应用发送的与该应用相对应的句柄handle,该handle携带有待发送的AT指令;将接收到的handle在设定的handle处理队列中进行排队;按照排队顺序,从handle处理队列中提取至少一个handle放入到设定的handle处理容器中进行处理,并发送提取的handle所携带的AT指令。采用本发明技术方案,可并行发送多个handle的AT指令,从而提高了处理AT指令的效率。
文档编号H04W88/02GK101883345SQ201010216129
公开日2010年11月10日 申请日期2010年6月30日 优先权日2010年6月30日
发明者刘刚 申请人:青岛海信移动通信技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1