安卓RIL消息处理系统及方法技术方案

技术编号:18208539 阅读:40 留言:0更新日期:2018-06-13 08:13
本发明专利技术提供一种安卓RIL消息处理系统及方法,扩展现有的安卓RIL消息处理机制,对接收的请求消息进行优先级分类处理,并根据请求消息的优先级来动态选取当前要进入处理流程的请求消息,由此可以达到优先处理重要消息的目的,解决重要消息不能及时处理的问题。

【技术实现步骤摘要】
安卓RIL消息处理系统及方法
本专利技术涉及通信
,尤其涉及一种安卓RIL消息处理系统及方法。
技术介绍
随着无线通信技术以及移动互联网技术的发展,目前许多电子产品都配备有无线通信模块来实现无线通信和网络访问。在Android(安卓)系统的无线通信模块内部软件架构中,AndroidRIL(RadioInterfaceLayer,无线接口层)位于应用程序框架与内核之间,提供了无线基带与电话应用之间的抽象层,主要是负责数据的可靠传输、AT命令的收发以及响应的解析等,并且RIL还可以支持SMS(短信)和语音通话等功能。现有安卓系统中,RIL消息处理的机制是FIFO(FirstInFirstOut,即先进先出)模式,其流程如下:应用框架层的RIL-Java模块101通过socket端口向RILdaemon层发送请求消息;RIL层的消息接收模块102从socket端口中接收消息,然后按照先到先加的方式将消息加入到请求消息队列模块103的消息队列中;消息处理模块104从请求消息队列模块103的消息队列中按照先后顺序提取消息,并根据消息请求来与内核层的modem模块105进行通信,获取处理结果后将消息加入到RIL层的应答消息队列模块106的应答消息队列中;消息发送模块107从应答消息队列模块106中按照先后顺序提取应答消息,将应答消息通过socket发送给RIL-Java模块101。此流程最大的好处是简单、可靠,但缺点也很明显,即所有请求都需要排队逐个处理,对于智能手机而言,其对外通信功能是排在第一位的,而如果当前RILdaemon层有很多请求在排队(例如开机时读取卡上的电话本会有大量请求消息),则用户发起的拨打电话等重要的业务请求很可能会在RILdaemon层不能及时处理,从而极大影响了用户体验。更严重的是,一旦某个消息在消息处理模块104中因为处理延迟而阻塞,则后续所有消息都得不到处理,相当于整个通信系统都瘫痪了。
技术实现思路
本专利技术的目的在于提供一种安卓RIL消息处理系统及方法,扩展了现有的安卓RIL消息处理机制,加入优先级概念,以解决现有技术中重要消息不能及时处理的问题。为了实现上述目的,本专利技术提供一种安卓RIL消息处理系统,包括:RIL-Java模块,用于通过socket端口向消息接收模块发送请求消息;消息接收模块,用于从socket端口中接收所述请求消息,并为所述请求信息分配相应的优先级,并按照所述优先级将所述请求消息插入到请求消息队列模块的请求消息队列中;请求消息队列模块,用于根据各个请求消息的优先级顺序来形成请求消息队列;消息处理模块,用于从所述请求消息队列中按照优先级顺序提取请求消息,并根据提取的请求消息与Modem模块通信,且将获得的处理结果消息加入到应答消息队列模块的应答消息队列中;应答消息队列模块,用于将所述消息处理模块发送的处理结果消息形成应答消息队列;消息发送模块,用于从所述应答消息队列模块中提取相应的应答消息,并将提取的应答消息通过socket端口发送给所述RIL-Java模块。进一步的,所述消息接收模块按照所述请求消息对应的业务类型来给所述请求消息分配相应的优先级。进一步的,所述消息接收模块对于相同优先级的请求消息,按照先进先去的原则将所述请求消息插入到所述请求消息队列模块的请求消息队列中。进一步的,所述应答消息队列模块按照先进先去的原则,将所述消息处理模块发送的处理结果消息形成应答消息队列。进一步的,所述消息处理模块还用于根据当前正在处理的请求消息的优先级和所述请求消息处理队列中队首的新请求消息的优先级的高低,来决定是否中断处理所述当前正在处理的请求消息。进一步的,当所述当前正在处理的请求消息的优先级低于所述请求消息处理队列中队首的新请求消息的优先级时,所述消息处理模块中断处理所述当前正在处理的请求消息,转而处理所述请求消息处理队列中队首的新请求消息;当所述当前正在处理的请求消息的优先级高于所述请求消息处理队列中队首的新请求消息的优先级,所述消息处理模块继续处理所述当前正在处理的消息。进一步的,当所述当前正在处理的请求消息的优先级与于所述请求消息处理队列中队首的新请求消息的优先级相同时,所述消息处理模块判断当前正在处理的请求消息的处理时间是否已经达到预设的阀值,若否,则所述消息处理模块继续处理所述当前正在处理的消息;若是,所述消息处理模块中断处理所述当前正在处理的请求消息,转而处理所述请求消息处理队列中队首的新请求消息。本专利技术还提供一种安卓RIL消息处理方法,包括以下步骤:接收上层发来的请求信息,并为所述请求信息分配相应的优先级;按照所述请求消息的优先级,将所述请求消息插入到请求消息队列中;按照所述请求消息队列中的请求消息的优先级顺序提取并处理相应的请求消息,以获得相应的处理结果消息;将所述处理结果消息加入到应答消息队列中,并从所述应答消息队列中提取相应的应答消息发送给所述上层。进一步的,按照所述请求消息对应的业务类型来给所述请求消息分配相应的优先级。进一步的,对于相同优先级的多个请求消息,按照先进先去的原则,将所述多个请求消息插入到所述请求消息队列中。进一步的,按照先进先去的原则,将新的处理结果消息加入到应答消息队列。进一步的,按照所述请求消息队列中的请求消息的优先级顺序提取相应的请求消息的过程包括:当新的请求消息加入请求消息队列后,先判断当前是否有请求消息正在处理;若无,则按照所述请求消息队列中的请求消息的优先级顺序提取相应的请求消息进行处理;若有,则进一步判断当前正在处理的请求消息的优先级和请求消息处理队列中队首的新请求消息的优先级高低,若所述队首的新请求消息的优先级高,则中断处理所述当前正在处理的请求消息,并提取所述队首的新请求消息进行处理;若所述队首的新请求消息的优先级低,则继续处理所述当前正在处理的请求消息。进一步的,若所述队首的新请求消息的优先级与所述当前正在处理的请求消息的优先级相同,则进一步判断所述当前正在处理的请求消息的处理时间是否已经达到预设的阀值,如果尚未超时则继续处理所述当前正在处理的请求消息,如果已经超时则中断处理所述当前正在处理的请求消息,并提取所述队首的新请求消息进行处理。进一步的,对当前正在处理的请求消息的处理时间进行计时,并判断所述处理时间是否已经达到预设的阀值,如果尚未超时则继续处理所述当前正在处理的请求消息,如果已经超时则中断处理所述当前正在处理的请求消息,并按照所述请求消息队列中的请求消息的优先级顺序提取的新的请求消息进行处理。进一步的,当中断处理所述当前正在处理的请求消息时,将所述当前正在处理的请求消息的处理结果消息加入到应答消息队列中,以发送给所述上层。与现有技术相比,本专利技术的技术方案具有以下有益效果:1、本专利技术的安卓RIL消息处理系统及方法,扩展现有的安卓RIL消息处理机制,对接收的请求消息进行优先级分类处理,并根据请求消息的优先级来动态选取当前要进入处理流程的请求消息,由此可以达到优先处理重要消息的目的,解决重要消息不能及时处理的问题。2、本专利技术的安卓RIL消息处理系统及方法,进一步地在对消息处理过程中引入中断机制,可以根据预设的策略来打断现有消息的执行,避免整个通信系统因某个消息的处理阻塞而无法正常运转的缺陷。附图说本文档来自技高网
...
安卓RIL消息处理系统及方法

【技术保护点】
一种安卓RIL消息处理系统,其特征在于,包括:RIL‑Java模块,用于通过socket端口向消息接收模块发送请求消息;消息接收模块,用于从socket端口中接收所述请求消息,并为所述请求信息分配相应的优先级,并按照所述优先级将所述请求消息插入到请求消息队列模块的请求消息队列中;请求消息队列模块,用于根据各个请求消息的优先级顺序来形成请求消息队列;消息处理模块,用于从所述请求消息队列中按照优先级顺序提取请求消息,并根据提取的请求消息与Modem模块通信,且将获得的处理结果消息加入到应答消息队列模块的应答消息队列中;应答消息队列模块,用于将所述消息处理模块发送的处理结果消息形成应答消息队列;消息发送模块,用于从所述应答消息队列模块中提取相应的应答消息,并将提取的应答消息通过socket端口发送给所述RIL‑Java模块。

【技术特征摘要】
1.一种安卓RIL消息处理系统,其特征在于,包括:RIL-Java模块,用于通过socket端口向消息接收模块发送请求消息;消息接收模块,用于从socket端口中接收所述请求消息,并为所述请求信息分配相应的优先级,并按照所述优先级将所述请求消息插入到请求消息队列模块的请求消息队列中;请求消息队列模块,用于根据各个请求消息的优先级顺序来形成请求消息队列;消息处理模块,用于从所述请求消息队列中按照优先级顺序提取请求消息,并根据提取的请求消息与Modem模块通信,且将获得的处理结果消息加入到应答消息队列模块的应答消息队列中;应答消息队列模块,用于将所述消息处理模块发送的处理结果消息形成应答消息队列;消息发送模块,用于从所述应答消息队列模块中提取相应的应答消息,并将提取的应答消息通过socket端口发送给所述RIL-Java模块。2.如权利要求1所述的安卓RIL消息处理系统,其特征在于,所述消息接收模块按照所述请求消息对应的业务类型来给所述请求消息分配相应的优先级。3.如权利要求1所述的安卓RIL消息处理系统,其特征在于,所述消息接收模块对于相同优先级的请求消息,按照先进先去的原则将所述请求消息插入到所述请求消息队列模块的请求消息队列中。4.如权利要求1所述的安卓RIL消息处理系统,其特征在于,所述应答消息队列模块按照先进先去的原则,将所述消息处理模块发送的处理结果消息形成应答消息队列。5.如权利要求1所述的安卓RIL消息处理系统,其特征在于,所述消息处理模块还用于根据当前正在处理的请求消息的优先级和所述请求消息处理队列中队首的新请求消息的优先级的高低,来决定是否中断处理所述当前正在处理的请求消息。6.如权利要求5所述的安卓RIL消息处理系统,其特征在于,当所述队首的新请求消息的优先级高时,所述消息处理模块中断处理所述当前正在处理的请求消息,转而处理所述请求消息处理队列中队首的新请求消息;当所述中队首的新请求消息的优先级低时,所述消息处理模块继续处理所述当前正在处理的消息。7.如权利要求1所述的安卓RIL消息处理系统,其特征在于,当所述当前正在处理的请求消息的优先级与于所述队首的新请求消息的优先级相同时,所述消息处理模块判断当前正在处理的请求消息的处理时间是否已经达到预设的阀值,若否,则所述消息处理模块继续处理所述当前正在处理的消息;若是,所述消息处理模块中断处理所述当前正在处理的请求消息,转而处理所述请求消息处理队列中队首的新请求消息。8.一种安卓RIL消息处理方法,其特征在于,包括以下步骤:...

【专利技术属性】
技术研发人员:邹锋
申请(专利权)人:联芯科技有限公司大唐半导体设计有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1