一种模拟Modem上报消息的方法、存储介质及终端与流程

文档序号:11254558阅读:1348来源:国知局
一种模拟Modem上报消息的方法、存储介质及终端与流程

本发明涉及通讯技术领域,尤其涉及的是一种模拟modem上报消息的方法、存储介质及终端。



背景技术:

手机系统可以分为ap(accesspoint,无线访问节点、会话点或存取桥接器)和modem(一种计算机硬件,俗称“猫”)两部分,ap主要是负责ui界面的显示功能,modem包含网络协议栈和sim交互,主要负责与网络和sim交互,当modem注册到网络或者sim卡加载完毕之后,会通知ap,ap再更新ui界面并呈现给用户终端。modem上报到ap端的at消息分为主动上报和请求响应两种at消息,modem通过ccc串口把at消息传递给ap端,ap端的rild进程负责接收at消息,接收到的消息再通过socket传递到ril-java部分,rild-java接收到的消息封装到parcel(数据包)中并进行处理,最后,控制ui更新界面显示。

实际的研发过程中,工程师在开发网络和sim卡相关的ui界面时,通常需要在终端(手机)中插入特定运营商的卡并注册特定运营商的网络才能测试其性能。即开发工程师修改代码之后,需要到实验室进行模拟网络和模拟sim卡进行以上ap端和modem端信息的交互测试以检测所开发的ui界面的性能,但实验室的仪器资源非常宝贵(实验室的仪器通常一台就需要几十万元人民币,资源非常稀少),因此,导致开发成本高而开发效率低。

因此现有技术有待于进一步的改进。



技术实现要素:

鉴于上述现有技术中的不足之处,本发明的目的在于为用户提供一种模拟modem上报消息的方法、存储介质及终端,使得开发和测试工程师不需要到实验室占用网络仪器和sim卡仪器资源,而只需在用户ui界面配置相应的网络数据或sim卡数据,就可以模拟网络或sim卡进行性能测试,从而提高开发效率。

本发明解决技术问题所采用的技术方案如下:

一种模拟modem上报消息的方法,其中,所述方法包括步骤:

a、终端接收到用户的操作指令时,获取ui界面配置的需模拟的sim卡文件和网络消息,标识为模拟at消息并发送至服务进程;

b、服务进程接收到模拟at消息,将其转化为相应的普通at消息,并上报至ril-java消息代理模块;

c、ril-java消息代理模块判断所接收到的普通at消息类型并处理,再上报至其上层ril-java模块;

d、ril-java模块控制ui界面更新相应的消息。

所述的模拟modem上报消息的方法,其中,所述模拟at消息包括模拟主动上报at消息和模拟请求响应at消息。

所述的模拟modem上报消息的方法,其中,所述普通at消息包括普通主动上报at消息和普通请求响应at消息。

所述的模拟modem上报消息的方法,其中,所述步骤b具体包括:

b1、服务进程接收到模拟at消息,将其转化为相应的普通at消息;

b2、若所述普通at消息为普通主动上报at消息,则直接将其上报至ril-java消息代理模块;

b3、若所述普通at消息为普通请求响应at消息,则请求ril-java消息代码模块缓存所述普通请求响应at消息,再将其上报至ril-java消息代理模块。

所述的模拟modem上报消息的方法,其中,所述步骤c具体包括:

c1、ril-java消息代理模块判断所接收到的普通at消息类型;

c2、若ril-java消息代理模块判断所接收到的为普通主动上报at消息,则直接将其上报至ril-java模块;

c3、若ril-java消息代理模块判断所接收到的为普通请求响应at消息,则从缓存中获取用户配置的sim卡和网络消息的模拟请求响应at消息,并将modem上报的普通请求响应at消息替换为用户配置的模拟请求响应at消息,再上报至ril-java模块。

所述的模拟modem上报消息的方法,其中,步骤c3中,若缓存中不存在用户配置的sim卡和网络消息的模拟请求响应at消息,则直接上报至ril-java模块。

所述的模拟modem上报消息的方法,其中,步骤d中,ril-java模块通过handler机制通知ui界面更新相应的消息。

所述的模拟modem上报消息的方法,其中,所述ui界面用于加载用户需配置的sim卡和网络数据。

一种存储介质,其中,所述存储介质存储有计算机程序,所述计算机程序能够被执行以实现如上任一项所述的方法。

一种终端,其中,包括:处理器、与处理器通信连接的存储器,所述存储器存储有计算机程序,所述计算机程序用于被执行时实现如上任一项所述的方法;所述处理器用于调用所述存储器中的计算机程序,以实现如上任一项所述的方法。

有益效果:本发明所提供的一种模拟modem上报消息的方法、存储介质及终端,方法包括:终端接收到用户的操作指令时,获取ui界面配置的需模拟的sim卡文件和网络消息,标识为模拟at消息并发送至服务进程;服务进程接收到模拟at消息,将其转化为相应的普通at消息,并上报至ril-java消息代理模块;ril-java消息代理模块判断所接收到的普通at消息类型并处理,再上报至其上层ril-java模块;ril-java模块控制ui界面更新相应的消息。本发明通过模拟modem上报消息,使得开发和测试工程师不需要到实验室占用实验室的网络仪器和sim卡仪器资源,而只需在用户ui界面配置相应的网络数据或sim数据,就可以模拟网络或sim卡,不仅方便工程师在手机ui界面高效地模拟网络仪器和sim卡,提高开发工程师开发androidui和framework(架构)的效率,提高测试工程师执行测试case的效率,还可以节约实验室的网络仪器和sim卡仪器的资源。

附图说明

图1是本发明所述的模拟modem上报消息的方法较佳实施例的流程图。

图2是本发明所述的模拟modem上报消息的方法与现有通讯ap端与modem的关系流程图。

图3是本发明所述的模拟modem上报消息的方法较佳实施例中模拟modem主动上报消息的流程图。

图4是本发明所述的模拟modem上报消息的方法较佳实施例中模拟modem请求响应消息的流程图。

图5是本发明所述的模拟modem上报消息的方法较佳实施例中服务进程工作流程图。

图6是本发明所述的模拟modem上报消息的方法较佳实施例中ril-java消息代理模块的工作流程图。

图7是本发明所述的终端的功能原理框图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。

请参见图1,图1为本发明所述模拟modem上报消息的方法较佳实施例的流程图。如图1所示,所述方法包括步骤:

步骤s100、终端接收到用户的操作指令时,获取ui界面配置的需模拟的sim卡文件和网络消息,标识为模拟at消息并发送至服务进程。

步骤s200、服务进程接收到模拟at消息,将其转化为相应的普通at消息,并上报至ril-java消息代理模块。

步骤s300、ril-java消息代理模块判断所接收到的普通at消息类型并处理,再上报至ril-java模块。

步骤s400、ril-java模块控制ui界面更新相应的消息。

需要说明的是,modem是一种计算机硬件,根据modem的谐音,通常称之为“猫”,它是在发送端通过调制将数字信号转换为模拟信号,而在接收端通过解调再将模拟信号转换为数字信号的一种装置。at(英文全称为attention,协议里面通常写为at)消息是一种计算机术语,通常也叫at指令,一般应用于终端设备与pc应用之间的连接与通信。服务进程,计算机术语,负责将用户配置的sim卡和网络数据转化为相应的at消息,并将其上报至ril-java消息代理模块。ui(userinterface,用户界面),泛指用户的操作界面,包含移动app、网页、智能穿戴设备等,本发明所述的ui界面主要用于加载用户配置sim卡和网络数据。通俗地说,手机可以分为cpu芯片和modem两部分,modem主要负责具体的通信模块,负责和基站通信,比如注册2/3/4g网络,发送短信,拨打电话;cpu芯片负责上层的ui显示部分。cpu芯片和modem之间的通信消息为at消息。at消息可分为两种,第一种消息是请求响应,比如拨打电话的at,cpu芯片发送拨打电话的at消息:atd133345555(atd电话号码)到modem,modem执行具体的拨打电话流程,拨打电话成功之后,modem会返回成功的消息给cpu芯片,上传ui显示成功;第二种消息是主动上报消息,比如,手机的信号强度,cpu芯片不需要发送任何消息给modem,modem一旦检测到手机信号强度改变,就主动上报信号强度给cpu芯片,ui更新信号强度显示。modem和cpu芯片at消息交互主要通过ril-java模块和ril-c模块,ril-java模块主要功能是发送at消息到modem,以及接收modem的at消息;ril-java消息代理模块主要是模拟modem的at消息。

具体实施时,步骤s100中,所述模拟at消息包括模拟主动上报at消息和模拟请求响应at消息,而步骤s200中所述普通at消息包括普通主动上报at消息和普通请求响应at消息。当终端接收到用户的操作指令时,获取ui界面配置的需模拟的sim卡文件和网络消息,标识为模拟主动上报at消息和模拟请求响应at消息后,发送至服务进程。服务进程接收到模拟at消息,先将其转化为相应的普通at消息,并上报至ril-java消息代理模块,这里所述的普通at消息是指正常通讯时的at消息。ril-java消息代理模块判断所接收到的普通at消息类型并作相应的处理后,再上报至ril-java模块,最后ril-java模块控制ui界面更新相应的消息。其中,步骤s400中ril-java模块是通过handler机制通知ui界面更新相应的消息的。handler是一种通信机制,主要用于异步消息的处理。

可见,本发明通过模拟modem上报到ap端的at消息,实现模拟网络仪器和sim卡仪器开发和测试的作用。开发工程师和测试工程师通常在开发某些运营商的需求或者执行运营商的测试case(事件)时,需要手机模拟运营商的网络和sim卡文件,而本发明只需在用户界面配置相应的sim卡数据和网络信息的数据,即可模拟sim卡文件和网络信息,这样既可以提高开发工程师开发androidsystemui和framework层的效率和提高测试工程师执行某些测试case的效率,也可以节省实验室网络仪器和sim卡仪器资源。比如开发工程师在开发plmn和spn的显示规则或者测试工程师测试plmn显示规则的case时,plmn和spn最终在用户界面的显示是由sim卡文件ef_imsi(6f07)、ef_spn(6f46)、ef_pnn(6fc5)、ef_opl(6fc6)以及手机注册上的网络mcc、mnc决定,这样的显示规则测试case多达几十个测试case,通常测试工程师每测试一个case,就需要使用到模拟sim卡的仪器加载相应的sim配置文件,模拟网络仪器注册网络的mcc、mnc等信息,然后,手机重启开机注册模拟网路,再查看plmn和spn在用户界面是否显示正确。显然,此种操作非常的繁琐,如果一个测试工程师执行完所有的case,通常至少会花费一天的时间。而如果采用本发明所述的模拟modem上报消息的方法,则只需测试工程师在手机的用户界面配置sim卡和网络的信息,即可模拟sim卡文件和注册网络的mcc、mnc,可以高效地执行测试case。同样,对于开发工程师也是如此,其可通过在用户界面模拟sim卡和网络的信息,从而提升开发androidui或者framework的效率。

目前,市场上的android手机系统分为ap(accesspoint,无线访问节点、会话点或存取桥接器)端和modem端两部分,ap主要接收modem的消息,并且更新接收到的消息到用户界面;modem主要包含网络协议栈,负责实现与网络、sim卡交互功能。ap和modem之间通过ccc(computercommunicationconverter,计算机通信转换器)进行通信,在ap端有rild(rildemon,上层猫)进程负责和modem通信,rild进程可分为rild-java和rild-c部分。当modem端注册到网络或者sim卡有修改的变化之后,modem会通过ccc通道通知rild进程,rild进程再通知androidui更新用户界面。因此,为了实现模拟modem消息,可以在ap端开启一个新的进程,使其与rild-java进程进行通信,这样新的进程模拟modem的消息数据,并将模拟的modem的数据发送到rild-java进程,rild-java进程通知androidui更新用户界面,从而实现模拟modem上报的网络或者sim卡信息。如图2所示,现有通迅是从ap端与modem端通过应用app(如systemui、settings等)、手机进程(又称phone进程)、rild-java、rild-java消息代理模块、rild-c实现相互通信,其中rild-java消息代理模块与rild-c之间通过socket通信,而modem端与rild-c之间通过ccc串口、主动上报at消息和请求响应at消息完成数据传输。而本发明通过在ui界面配置的需模拟的sim卡文件和网络消息,标识为模拟at消息并发送至服务进程,服务进程将其转化为相应的普通at消息,上报至ril-java消息代理模块,然后ril-java消息代理模块将相应的at消息转发至其上层ril-java模块,然后handler机制通知ui界面更新相应的消息,至此就完成了模拟modem上报消息。

具体的,modem为网络协议栈,包含l4层、nas层、和as层,主要功能负责和网络和sim卡进行交互;ril-c为rild进程的c部分;ril-java消息代理模块作为rild-c和rild-java的消息代理模块,接收从服务进程传递过来的at消息,所述at消息即为用户模拟的sim卡和网络数据at,如果接收到用户配置的消息为主动上报消息,则直接将该at消息转发至rild-java模块,实现模拟modem上报sim卡和网络的at消息;如果接收到用户配置的消息为请求响应at,则缓存该at消息,当有modem上报该消息时,则从缓存中读取用户配置的sim卡和网络数据,再转发至ril-java模块。ril-java模块为rild进程的java部分,属于framework层;phone进程即手机进程,vowifi相关的界面,比如在拨号界面显示vowifi的按钮,在设置界面显示vowifi的开关;androidsystemui、settings等app为显示sim卡和网络状态的用户界面;sim卡和网络消息ui,即提供用户配置sim卡和网络数据的ui;服务进程,即service进程,负责将用户配置的sim卡和网络数据转化为相应的at消息,并且将at消息上报至ril-java消息代理模块。

进一步地,如图3所示,模拟modem上报消息的流程为:用户在ui界面配置需上报的sim卡文件或网络消息,标识为模拟主动上报at消息,发送至service进程,service进程将其转化为普通主动上报at消息,并上报至ril-java消息代理模块,ril-java消息代理模块判断出其为普通主动上报at消息,直接上报所述普通主动上报at消息至ril-java模块,再经手机进程通知ui界面更新应用app(如systemui、settings等)。

进一步地,如图4所示,模拟modem请求响应消息的流程为:用户在ui界面配置需请求响应的sim卡文件或网络消息,并标识为模拟请求响应at消息,发送至service进程,service进程将其转化为普通请求响应at消息,并请求ril-java消息模块缓存所述普通请求响应at消息再上报至ril-java消息代理模块,此时,ril-java消息代理模块需要判断是否存在缓存的modem返回的普通at消息,如果存在缓存,则从缓存中获取modem返回的普通at消息替换ril-java消息模块缓存的由模拟请求响应at消息转化来的普通请求响应at消息,再上报至ril-java模块;如果不存在缓存,则直接上报至ril-java模块,再经手机进程通知ui界面更新应用app(如systemui、settings等)。

进一步地,如图5所示,所述步骤s200具体包括:

步骤s201、服务进程接收到模拟at消息,将其转化为相应的普通at消息。

步骤s202、若所述普通at消息为普通主动上报at消息,则直接将其上报至ril-java消息代理模块。

步骤s203、若所述普通at消息为普通请求响应at消息,则请求ril-java消息代码模块缓存所述普通请求响应at消息,再将其上报至ril-java消息代理模块。

具体实施时,本发明的较佳实施例中,当服务进程接收到模拟at消息时,首先将其转化为相应的普通at消息,即转化为普通主动上报at消息或普通请求响应at消息。当判断出普通at消息为普通主动上报at消息,即可直接将其上报至ril-java消息代理模块,当判断出转化后的普通at消息为普通请求响应at消息时,则请求ril-java消息代码模块缓存所述普通请求响应at消息,再根据是否存在缓存的modem返回的普通at消息,处理后,将其上报至ril-java消息代理模块。

进一步的实施例,如图6所示,所述步骤s300具体包括:

步骤s301、ril-java消息代理模块判断所接收到的普通at消息类型。

步骤s302、若ril-java消息代理模块判断所接收到的为普通主动上报at消息,则直接将其上报至ril-java模块。

步骤s303、若ril-java消息代理模块判断所接收到的为普通请求响应at消息,则从缓存中获取用户配置的sim卡和网络消息的模拟请求响应at消息,并将modem上报的普通请求响应at消息替换为用户配置的模拟请求响应at消息,再上报至ril-java模块。其中,若缓存中不存在用户配置的sim卡和网络消息的模拟请求响应at消息,则直接上报至ril-java模块。

具体实施时,首先,ril-java消息代理模块判断所接收到的普通at消息类型,由于两种类型的at消息处理过程不同,所以需要先进行类型的判断。如果判断出所接收到的为普通主动上报at消息,则直接将其上报至ril-java模块,而如果判断出所接收到的为普通请求响应at消息,则需要判断是否存在缓存的modem返回的普通at消息,如果存在,则从缓存中获取用户配置的sim卡和网络消息的模拟请求响应at消息,并将modem上报的普通请求响应at消息替换为用户配置的模拟请求响应at消息,再上报至ril-java模块。若缓存中不存在用户配置的sim卡和网络消息的模拟请求响应at消息,则直接上报至ril-java模块。

本发明还提供了一种终端,如图7所示,所述终端包括:处理器(processor)10、存储器(memory)20、通信接口(communicationsinterface)30和总线40;其中,

所述处理器10、存储器20、通信接口30通过所述总线40完成相互间的通信;

所述通信接口30用于所述终端的通信设备之间的信息传输;

所述处理器10用于调用所述存储器20中的计算机程序,以执行上述各方法实施例所提供的方法,例如包括:终端接收到用户的操作指令时,获取ui界面配置的需模拟的sim卡文件和网络消息,标识为模拟at消息并发送至service进程;service进程接收到模拟at消息,将其转化为相应的普通at消息,并上报至ril-java消息代理模块;ril-java消息代理模块判断所接收到的普通at消息类型并处理,再上报至ril-java模块;ril-java模块控制ui界面更新相应的消息。

本发明还提供一种存储介质,其中,所述存储介质存储有计算机程序,所述计算机程序能够被执行以实现所述模拟modem上报消息的方法。

综上所述,本发明所提供的一种模拟modem上报消息的方法、存储介质及终端,方法包括:终端接收到用户的操作指令时,获取ui界面配置的需模拟的sim卡文件和网络消息,标识为模拟at消息并发送至service进程;service进程接收到模拟at消息,将其转化为相应的普通at消息,并上报至ril-java消息代理模块;ril-java消息代理模块判断所接收到的普通at消息类型并处理,再上报至ril-java模块;ril-java模块控制ui界面更新相应的消息。本发明通过模拟modem上报消息,使得开发和测试工程师不需要到实验室占用实验室的网络仪器和sim卡仪器资源,而只需在用户ui界面配置相应的网络数据或sim数据,就可以模拟网络或sim卡,不仅方便工程师在手机ui界面高效地模拟网络仪器和sim卡,提高开发工程师开发androidui和framework(架构)的效率,提高测试工程师执行测试case的效率,还可以节约实验室的网络仪器和sim卡仪器的资源。

当然,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关硬件(如处理器,控制器等)来完成,所述的程序可存储于一计算机可读取的存储介质中,该程序在执行时可包括如上述各方法实施例的流程。其中所述的存储介质可为存储器、磁碟、光盘等。

可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1