CN102739340A - At命令主动上报响应处理系统及方法 - Google Patents
At命令主动上报响应处理系统及方法 Download PDFInfo
- Publication number
- CN102739340A CN102739340A CN2011100879763A CN201110087976A CN102739340A CN 102739340 A CN102739340 A CN 102739340A CN 2011100879763 A CN2011100879763 A CN 2011100879763A CN 201110087976 A CN201110087976 A CN 201110087976A CN 102739340 A CN102739340 A CN 102739340A
- Authority
- CN
- China
- Prior art keywords
- response
- string
- initiatively
- encoded
- keyword string
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
一种AT命令主动上报响应处理系统,包括:提取模块,用于从一个待处理的主动上报响应中提取出关键字串,其中,该主动上报响应为一组包含冒号的字符串或不包含冒号的字符串;编码模块,用于对上述提取出的关键字串进行编码,得到一个编码值;及执行模块,用于根据上述得到的编码值,调用一个相应的函数,并执行该函数对所述主动上报响应进行处理。本发明还提供一种AT命令主动上报响应处理方法。本发明可提高AT命令主动上报响应的处理效率。
Description
技术领域
本发明涉及AT命令处理方法,尤其涉及一种AT命令主动上报响应处理系统及方法。
背景技术
移动通讯设备在实现电话服务时,会使用一个无线接口层(Radio Interface Layer)来达成操作系统(OS)与底层硬件(modem)之间的资讯交流。常用的做法是使用符合3GPP中的TS27.007规范的AT命令来控制modem的行为。在实现操作系统与modem之间资讯交流的过程中,需要对AT命令的响应进行处理。AT命令的响应包括主动上报响应(业界术语为“Unsolicited Response”,又称为“未经请求的响应”)和请求的响应两种。所述主动上报响应是指当所述Modem在接收到通讯设备网络端的事件时,如接收到网络信号变化、来电以及短信等事件时,所述无线接口层会从该Modem读取到一个响应事件,该响应事件则为一种待处理的主动上报响应,其表现形式为一组字符串。
业界对所述主动上报响应的常用处理方法是将该主动上报响应中包含的关键字串与通讯设备中内建的关键字串(业界术语为unsolicited message headers)一一做字串比较(string comparison),从而找到该字串所对应的函数来处理该主动上报响应。上述字串比较的方式在时间复杂度上会用到O(N),针对不同的响应会有不同的运算时间,需要花费较长的时间来对该主动上报响应进行处理,处理效率较低,从而会影响到通讯设备的系统稳定性。因此如何提高所述主动上报响应的处理效率是一个重要的课题。
发明内容
鉴于以上内容,有必要提供一种AT命令主动上报响应处理方法,其可提高AT命令主动上报响应的处理效率。
所述AT命令主动上报响应处理方法,包括:提取步骤,从一个待处理的主动上报响应中提取出关键字串,其中,该主动上报响应为一组包含冒号的字符串或一组不包含冒号的字符串;编码步骤:对上述提取出的关键字串进行编码,得到一个编码值;以及执行步骤:根据上述得到的编码值,调用一个相应的函数,并执行该函数对所述主动上报响应进行处理。
还有必要提供一种AT命令主动上报响应处理系统,其可提高AT命令主动上报响应的处理效率。
所述AT命令主动上报响应处理系统,包括:提取模块,用于从一个待处理的主动上报响应中提取出关键字串,其中,该主动上报响应为一组包含冒号的字符串或不包含冒号的字符串;编码模块,用于对上述提取出的关键字串进行编码,得到一个编码值;及执行模块,用于根据上述得到的编码值,调用一个相应的函数,并执行该函数对所述主动上报响应进行处理。
相较于现有技术,该AT命令主动上报响应处理系统及方法通过对所述主动上报响应中的关键字串进行编码,然后根据该编码所得到的编码值即可直接调用相应的函数对该主动上报响应进行处理,提高了AT命令主动上报响应的处理效率。
附图说明
图1是本发明中通讯设备的操作系统层通过一个无线接口层与底层硬件进行资讯交流的示意图。
图2是本发明AT命令主动上报响应处理系统应用环境的架构图。
图3是本发明AT命令主动上报响应处理方法较佳实施例的流程图。
主要元件符号说明
通讯设备 | 1 |
操作系统层 | 2 |
无线接口层 | 3 |
底层硬件 | 4 |
响应处理系统 | 10 |
提取模块 | 101 |
编码模块 | 102 |
执行模块 | 103 |
存储设备 | 11 |
处理器 | 12 |
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
如图1所示,是本发明中通讯设备1的操作系统层(OS)2通过一个无线接口层(Radio Interface Layer,RIL)3与底层硬件4进行资讯交流的示意图。在本实施例中,所述底层硬件(Modem)4由通讯设备1的基带处理器、射频以及其它外围芯片组成,从而形成该Modem 4,例如,GSM Modem或GPRS Modem。该Modem 4提供AT命令接口与所述无线接口层3通过AT命令进行通信。所述无线接口层3是一个抽象的中间层,是所述操作系统层2与Modem 4进行沟通的桥梁。
如图2所示,是本发明AT命令主动上报响应处理系统应用环境的架构图。该AT命令主动上报响应处理系统(以下简称“响应处理系统10”)应用在通讯设备1中,更具体地,该响应处理系统10应用于所述无线接口层3。当该无线接口层3中的相关函数(如reader loop 函数)从所述Modem 4中接收到AT命令的主动上报响应(unsolicited response)时,该响应处理系统10用于对该AT命令的主动上报响应进行处理。该响应处理系统10可安装在通讯设备1的存储设备11中,由该通讯设备1的处理器12执行。进一步地,该响应处理系统10包括提取模块101、编码模块102以及执行模块103。
所述提取模块101用于从一个待处理的主动上报响应中提取出关键字串。具体地,当所述Modem 4接收到通讯设备1网络端的事件时,如接收到网络信号变化、来电以及短信等事件时,所述无线接口层3会从该Modem 4读取到一个响应事件,该响应事件则为一种主动上报响应,即所述待处理的主动上报相应。该主动上报响应的表现形式为一组字符串,该字符串又分为包含冒号的字符串和不包含冒号的字符串两种固定的格式,并由大写英文字母和个别的特殊符号组成。若该主动上报响应中不包含冒号,提取模块101则提取出该主动上报响应中的所有字符作为所述关键字串。若该主动上报响应中包含冒号,提取模块101则提取出该冒号前的所有字符作为所述关键字串。
本实施例中,不包含冒号的主动上报响应为主动上报响应中的特殊情况,其包括“NO CARRIER”、“BUSY”和“RING”三种。在其它实施例中,根据设计的需要也可定义更多的不包含冒号的主动上报响应。其次,包含冒号的主动上报响应最为常见,例如,“+CCWA: <status>,<class1>…”,此处,只需提取出冒号之前的字串即可确定一个对应的函数对该主动上报响应中冒号之后的参数进行处理。
所述编码模块102用于对上述提取出的关键字串进行编码,得到一个编码值。在本实施例中,该编码模块102对该关键字串进行编码的方法请参考下面的描述。
若所述关键字串为“NO CARRIER”、“BUSY”或“RING”,编码模块102则直接将该关键字串“NO CARRIER”、“BUSY”以及“RING”依次对应十进制数字1、2、3进行编码,得到所述编码值。
若所述关键字串不是所述“NO CARRIER”、“BUSY”或“RING”,按照下述方法编码:首先将主动上报响应中经常出现的常用组合字串“+C”以及“*PS”依次对应十进制数字29和30进行编码,将大写英文字母A、B、C…Z依次对应十进制数字0、1、2…25进行编码,将特殊符号‘^’、‘+’、‘*’以及空格符依次对应十进制数字26、27、28、31进行编码,然后再将对所述组合字串、大写英文字母以及特殊符号进行编码的结果进行组合即得到所述编码值。在其它实施例中,也可采用其它的编码规则对所述关键字串进行编码,本领域技术人员应当容易理解。
例如,若所述提取出的关键字串为“+CCWA”,编码方法如下:
首先,常用组合字符“+C”编码为29,对应二进制数为11101。
然后,大写英文字母C、W、A依次编码为2、22和0,对应二进制数依次为00010、10110以及00000。
最后,将上述编码结果进行组合即得到二进制数编码值为00000101100001011101,对应的十六进制数编码值为0x0000585D。
再如,若所述提取出的关键字串为“NO CARRIER”,则直接将该关键字串编码为00001的二进制数,对应的十六进制数为0x00000001。
所述执行模块103用于根据上述得到的编码值,调用一个相应的函数对所述主动上报响应进行处理。具体而言,AT命令的主动上报响应为有限的数十种。在本实施例中,可将用于处理每一种主动上报响应的函数一一对应一个唯一的编码值。每当所述无线接口层3接收到一个主动上报响应时,将该主动上报响应中的关键字串编码后即可找到相对应的函数来处理该主动上报响应。
例如,所述执行模块103可通过以下伪代码所表述的方法来调用相应的函数来处理所述主动上报响应。
switch (result.value[0]) //result.value[0]表示编码值
{
case 0x00000001: //NO CARREIR
call function(A); break;
case 0x0000585D: //+CCWA:
call function(B); break;
case 0x00000002: //BUSY
call function(C); break;
case 0x000781BD: //+CNAP:
call function(D);
}
如图3所示,是本发明AT命令主动上报响应处理方法较佳实施例的流程图。
步骤S01,所述提取模块101从一个待处理的主动上报响应中提取出关键字串。关键字串提取方法的详细说明见上述对该提取模块101的描述。
步骤S02,所述编码模块102对上述提取出的关键字串进行编码,得到一个编码值。对该关键字串进行编码的详细说明见上述对该编码模块102的描述。
步骤S03,所述执行模块103根据上述得到的编码值,调用一个相应的函数,并执行该函数对所述主动上报响应进行处理。具体的函数调用方法见上述对该执行模块103的描述。
综上所述,当所述无线接口层3接收到一个AT命令的主动上报响应时,实施该AT命令主动上报响应处理系统及方法对该主动上报响应中的关键字串进行编码,然后根据该编码所得到的编码值即可直接调用相应的函数对该主动上报响应进行处理,提高了AT命令主动上报响应的处理效率。
以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (6)
1.一种AT命令主动上报响应处理方法,其特征在于,该方法包括:
提取步骤,从一个待处理的主动上报响应中提取出关键字串,其中,该主动上报响应为一组包含冒号的字符串或一组不包含冒号的字符串;
编码步骤,对上述提取出的关键字串进行编码,得到一个编码值;及
执行步骤,根据上述得到的编码值,调用一个相应的函数,并执行该函数对所述主动上报响应进行处理。
2.如权利要求1所述的AT命令主动上报响应处理方法,其特征在于,所述提取步骤包括:
若该主动上报响应中不包含冒号,则提取出该主动上报响应中的所有字符作为所述关键字串;及
若该主动上报响应中包含冒号,则提取出该冒号之前的所有字符作为所述关键字串。
3.如权利要求1所述的AT命令主动上报响应处理方法,其特征在于,所述编码步骤包括:
若所述关键字串为“NO CARRIER”、“BUSY”或“RING”,直接将该关键字串“NO CARRIER”、“BUSY”以及“RING”依次对应十进制数字1、2、3进行编码,得到所述编码值;及
若所述关键字串不是“NO CARRIER”、“BUSY”或“RING”,首先将组合字串“+C”以及“*PS”依次对应十进制数字29和30进行编码,将大写英文字母A、B、C…Z依次对应十进制数字0、1、2…25进行编码,以及将特殊符号‘^’、‘+’、‘*’、空格符依次对应十进制数字26、27、28、31进行编码,然后将对该组合字串、大写英文字母以及特殊符号进行编码的结果进行组合,得到所述编码值。
4.一种AT命令主动上报响应处理系统,其特征在于,该系统包括:
提取模块,用于从一个待处理的主动上报响应中提取出关键字串,其中,该主动上报响应为一组包含冒号的字符串或不包含冒号的字符串;
编码模块,用于对上述提取出的关键字串进行编码,得到一个编码值;及
执行模块,用于根据上述得到的编码值,调用一个相应的函数,并执行该函数对所述主动上报响应进行处理。
5.如权利要求4所述的AT命令主动上报响应处理系统,其特征在于,所述提取模块通过以下方法提取所述关键字串:
若所述主动上报响应中不包含冒号,则提取出该主动上报响应中的所有字符作为所述关键字串;及
若所述主动上报响应中包含冒号,则提取出该冒号之前的所有字符作为所述关键字串。
6.如权利要求4所述的AT命令主动上报响应处理系统,其特征在于,所述编码模块通过以下方法对所述关键字串进行编码:
若所述关键字串为“NO CARRIER”、“BUSY”或“RING”,直接将该关键字串“NO CARRIER”、“BUSY”以及“RING”依次对应十进制数字1、2、3进行编码,得到所述编码值;及
若所述关键字串不是“NO CARRIER”、“BUSY”或“RING”,首先将组合字串“+C”以及“*PS”依次对应十进制数字29和30进行编码,将大写英文字母A、B、C…Z依次对应十进制数字0、1、2…25进行编码,以及将特殊符号‘^’、‘+’、‘*’、空格符依次对应十进制数字26、27、28、31进行编码,然后将对该组合字串、大写英文字母以及特殊符号进行编码的结果进行组合,得到所述编码值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110087976.3A CN102739340B (zh) | 2011-04-08 | 2011-04-08 | At命令主动上报响应处理系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110087976.3A CN102739340B (zh) | 2011-04-08 | 2011-04-08 | At命令主动上报响应处理系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102739340A true CN102739340A (zh) | 2012-10-17 |
CN102739340B CN102739340B (zh) | 2016-03-16 |
Family
ID=46994199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110087976.3A Expired - Fee Related CN102739340B (zh) | 2011-04-08 | 2011-04-08 | At命令主动上报响应处理系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102739340B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4716567A (en) * | 1985-02-08 | 1987-12-29 | Hitachi, Ltd. | Method of transmitting digital data in which error detection codes are dispersed using alternate delay times |
CN101119522A (zh) * | 2007-08-22 | 2008-02-06 | 中兴通讯股份有限公司 | 一种模拟at命令上报的方法 |
CN101155359A (zh) * | 2006-09-30 | 2008-04-02 | 中兴通讯股份有限公司 | At命令中传输编码串的实现方法 |
CN101179790A (zh) * | 2007-11-03 | 2008-05-14 | 青岛海信移动通信技术股份有限公司 | 一种移动终端处理器之间的串口通信方法 |
CN101378548A (zh) * | 2008-09-23 | 2009-03-04 | 中兴通讯股份有限公司 | At命令与业务消息的转换实现方法及装置 |
CN101754149A (zh) * | 2009-11-17 | 2010-06-23 | 华为终端有限公司 | 输入长串数字的方法及移动终端 |
-
2011
- 2011-04-08 CN CN201110087976.3A patent/CN102739340B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4716567A (en) * | 1985-02-08 | 1987-12-29 | Hitachi, Ltd. | Method of transmitting digital data in which error detection codes are dispersed using alternate delay times |
CN101155359A (zh) * | 2006-09-30 | 2008-04-02 | 中兴通讯股份有限公司 | At命令中传输编码串的实现方法 |
CN101119522A (zh) * | 2007-08-22 | 2008-02-06 | 中兴通讯股份有限公司 | 一种模拟at命令上报的方法 |
CN101179790A (zh) * | 2007-11-03 | 2008-05-14 | 青岛海信移动通信技术股份有限公司 | 一种移动终端处理器之间的串口通信方法 |
CN101378548A (zh) * | 2008-09-23 | 2009-03-04 | 中兴通讯股份有限公司 | At命令与业务消息的转换实现方法及装置 |
CN101754149A (zh) * | 2009-11-17 | 2010-06-23 | 华为终端有限公司 | 输入长串数字的方法及移动终端 |
Also Published As
Publication number | Publication date |
---|---|
CN102739340B (zh) | 2016-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101350858B (zh) | 一种短信解码的方法和用户终端 | |
US20190317954A1 (en) | Method and apparatus for processing text information | |
CN106375942B (zh) | 一种数据信息的传输的方法以及装置 | |
CN102695148B (zh) | 短信发送和短信接收的方法、装置及短信收发系统 | |
CN102833411A (zh) | 基于双音多频的信息处理方法及系统、接收终端 | |
CN102769937A (zh) | 一种安卓系统的多待终端及终端实现多待的方法 | |
CN111225414A (zh) | 多模通信装置及其通信方法、多模通信系统 | |
CN101840394B (zh) | 数据解码方法 | |
CN1972494A (zh) | 信令跟踪的处理方法 | |
CN106788888A (zh) | 弱网络环境下提高安卓移动终端通信成功率的方法及系统 | |
CN1988709A (zh) | 信令跟踪装置 | |
NO20031674D0 (no) | Fremgangsmåte for fremvisning av driftsoppförselen til anlegg | |
CN111654555A (zh) | 用于消息分发的方法、电子设备和存储介质 | |
TW201242411A (en) | System and method for processing unsolicited responses of AT commands | |
CN102739340A (zh) | At命令主动上报响应处理系统及方法 | |
CN102073983B (zh) | Png图片资源优化处理方法及装置 | |
CN101872409A (zh) | 调用数据卡中应用程序的方法及装置 | |
CN104683432A (zh) | 激活或禁用集群终端的方法及系统、终端和中心设备 | |
CN1988480A (zh) | 信令跟踪处理方法 | |
CN102970661A (zh) | 一种对短消息进行编码转换的方法及装置 | |
CN103152464A (zh) | 通过无线方式获取固话来电信息的设备、方法和系统 | |
CN115718676A (zh) | 一种GoIP设备电子数据的恢复方法和系统 | |
CN112448932B (zh) | 消息处理的方法及装置 | |
CN102073693A (zh) | 基于xml的数据通讯方法及系统 | |
CN103024116B (zh) | 基于双音多频编码矩阵的信息处理方法和信息处理系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160316 Termination date: 20180408 |
|
CF01 | Termination of patent right due to non-payment of annual fee |