CN108156192A - 安卓ril消息处理系统及方法 - Google Patents
安卓ril消息处理系统及方法 Download PDFInfo
- Publication number
- CN108156192A CN108156192A CN201611100041.3A CN201611100041A CN108156192A CN 108156192 A CN108156192 A CN 108156192A CN 201611100041 A CN201611100041 A CN 201611100041A CN 108156192 A CN108156192 A CN 108156192A
- Authority
- CN
- China
- Prior art keywords
- message
- request message
- queue
- processing
- priority
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明提供一种安卓RIL消息处理系统及方法,扩展现有的安卓RIL消息处理机制,对接收的请求消息进行优先级分类处理,并根据请求消息的优先级来动态选取当前要进入处理流程的请求消息,由此可以达到优先处理重要消息的目的,解决重要消息不能及时处理的问题。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种安卓RIL消息处理系统及方法。
背景技术
随着无线通信技术以及移动互联网技术的发展,目前许多电子产品都配备有无线通信模块来实现无线通信和网络访问。在Android(安卓)系统的无线通信模块内部软件架构中,Android RIL(Radio Interface Layer,无线接口层)位于应用程序框架与内核之间,提供了无线基带与电话应用之间的抽象层,主要是负责数据的可靠传输、AT命令的收发以及响应的解析等,并且RIL还可以支持SMS(短信)和语音通话等功能。现有安卓系统中,RIL消息处理的机制是FIFO(First In First Out,即先进先出)模式,其流程如下:应用框架层的RIL-Java模块101通过socket端口向RIL daemon层发送请求消息;RIL层的消息接收模块102从socket端口中接收消息,然后按照先到先加的方式将消息加入到请求消息队列模块103的消息队列中;消息处理模块104从请求消息队列模块103的消息队列中按照先后顺序提取消息,并根据消息请求来与内核层的modem模块105进行通信,获取处理结果后将消息加入到RIL层的应答消息队列模块106的应答消息队列中;消息发送模块107从应答消息队列模块106中按照先后顺序提取应答消息,将应答消息通过socket发送给RIL-Java模块101。
此流程最大的好处是简单、可靠,但缺点也很明显,即所有请求都需要排队逐个处理,对于智能手机而言,其对外通信功能是排在第一位的,而如果当前RIL daemon层有很多请求在排队(例如开机时读取卡上的电话本会有大量请求消息),则用户发起的拨打电话等重要的业务请求很可能会在RIL daemon层不能及时处理,从而极大影响了用户体验。更严重的是,一旦某个消息在消息处理模块104中因为处理延迟而阻塞,则后续所有消息都得不到处理,相当于整个通信系统都瘫痪了。
发明内容
本发明的目的在于提供一种安卓RIL消息处理系统及方法,扩展了现有的安卓RIL消息处理机制,加入优先级概念,以解决现有技术中重要消息不能及时处理的问题。
为了实现上述目的,本发明提供一种安卓RIL消息处理系统,包括:
RIL-Java模块,用于通过socket端口向消息接收模块发送请求消息;
消息接收模块,用于从socket端口中接收所述请求消息,并为所述请求信息分配相应的优先级,并按照所述优先级将所述请求消息插入到请求消息队列模块的请求消息队列中;
请求消息队列模块,用于根据各个请求消息的优先级顺序来形成请求消息队列;
消息处理模块,用于从所述请求消息队列中按照优先级顺序提取请求消息,并根据提取的请求消息与Modem模块通信,且将获得的处理结果消息加入到应答消息队列模块的应答消息队列中;
应答消息队列模块,用于将所述消息处理模块发送的处理结果消息形成应答消息队列;
消息发送模块,用于从所述应答消息队列模块中提取相应的应答消息,并将提取的应答消息通过socket端口发送给所述RIL-Java模块。
进一步的,所述消息接收模块按照所述请求消息对应的业务类型来给所述请求消息分配相应的优先级。
进一步的,所述消息接收模块对于相同优先级的请求消息,按照先进先去的原则将所述请求消息插入到所述请求消息队列模块的请求消息队列中。
进一步的,所述应答消息队列模块按照先进先去的原则,将所述消息处理模块发送的处理结果消息形成应答消息队列。
进一步的,所述消息处理模块还用于根据当前正在处理的请求消息的优先级和所述请求消息处理队列中队首的新请求消息的优先级的高低,来决定是否中断处理所述当前正在处理的请求消息。
进一步的,当所述当前正在处理的请求消息的优先级低于所述请求消息处理队列中队首的新请求消息的优先级时,所述消息处理模块中断处理所述当前正在处理的请求消息,转而处理所述请求消息处理队列中队首的新请求消息;当所述当前正在处理的请求消息的优先级高于所述请求消息处理队列中队首的新请求消息的优先级,所述消息处理模块继续处理所述当前正在处理的消息。
进一步的,当所述当前正在处理的请求消息的优先级与于所述请求消息处理队列中队首的新请求消息的优先级相同时,所述消息处理模块判断当前正在处理的请求消息的处理时间是否已经达到预设的阀值,若否,则所述消息处理模块继续处理所述当前正在处理的消息;若是,所述消息处理模块中断处理所述当前正在处理的请求消息,转而处理所述请求消息处理队列中队首的新请求消息。
本发明还提供一种安卓RIL消息处理方法,包括以下步骤:
接收上层发来的请求信息,并为所述请求信息分配相应的优先级;
按照所述请求消息的优先级,将所述请求消息插入到请求消息队列中;
按照所述请求消息队列中的请求消息的优先级顺序提取并处理相应的请求消息,以获得相应的处理结果消息;
将所述处理结果消息加入到应答消息队列中,并从所述应答消息队列中提取相应的应答消息发送给所述上层。
进一步的,按照所述请求消息对应的业务类型来给所述请求消息分配相应的优先级。
进一步的,对于相同优先级的多个请求消息,按照先进先去的原则,将所述多个请求消息插入到所述请求消息队列中。
进一步的,按照先进先去的原则,将新的处理结果消息加入到应答消息队列。
进一步的,按照所述请求消息队列中的请求消息的优先级顺序提取相应的请求消息的过程包括:
当新的请求消息加入请求消息队列后,先判断当前是否有请求消息正在处理;若无,则按照所述请求消息队列中的请求消息的优先级顺序提取相应的请求消息进行处理;若有,则进一步判断当前正在处理的请求消息的优先级和请求消息处理队列中队首的新请求消息的优先级高低,若所述队首的新请求消息的优先级高,则中断处理所述当前正在处理的请求消息,并提取所述队首的新请求消息进行处理;若所述队首的新请求消息的优先级低,则继续处理所述当前正在处理的请求消息。
进一步的,若所述队首的新请求消息的优先级与所述当前正在处理的请求消息的优先级相同,则进一步判断所述当前正在处理的请求消息的处理时间是否已经达到预设的阀值,如果尚未超时则继续处理所述当前正在处理的请求消息,如果已经超时则中断处理所述当前正在处理的请求消息,并提取所述队首的新请求消息进行处理。
进一步的,对当前正在处理的请求消息的处理时间进行计时,并判断所述处理时间是否已经达到预设的阀值,如果尚未超时则继续处理所述当前正在处理的请求消息,如果已经超时则中断处理所述当前正在处理的请求消息,并按照所述请求消息队列中的请求消息的优先级顺序提取的新的请求消息进行处理。
进一步的,当中断处理所述当前正在处理的请求消息时,将所述当前正在处理的请求消息的处理结果消息加入到应答消息队列中,以发送给所述上层。
与现有技术相比,本发明的技术方案具有以下有益效果:
1、本发明的安卓RIL消息处理系统及方法,扩展现有的安卓RIL消息处理机制,对接收的请求消息进行优先级分类处理,并根据请求消息的优先级来动态选取当前要进入处理流程的请求消息,由此可以达到优先处理重要消息的目的,解决重要消息不能及时处理的问题。
2、本发明的安卓RIL消息处理系统及方法,进一步地在对消息处理过程中引入中断机制,可以根据预设的策略来打断现有消息的执行,避免整个通信系统因某个消息的处理阻塞而无法正常运转的缺陷。
附图说明
图1是现有的安卓RIL消息处理系统框架图;
图2是本发明实施例一的安卓RIL消息处理系统框架图;
图3是本发明实施例一中的消息接收模块的消息接收与分类流程图;
图4是本发明实施例二的安卓RIL消息处理系统框架图;
图5是本发明实施例二中的消息处理模块的消息处理与中断流程图。
具体实施方式
本发明提供的安卓RIL消息处理系统及方法,其核心在于,扩展现有的RIL消息处理机制,根据具体业务对请求消息进行分类,在现有的RIL消息处理机制中加入优先级的概念,以达到优先处理重要消息的目的,解决重要消息不能及时处理的问题。进一步地,在消息处理过程引入中断机制,可以根据预设的策略来打断现有消息的执行,避免整个通信系统因某个消息的处理阻塞而无法正常运转。
为使本发明的目的、特征更明显易懂,下面结合附图对本发明的具体实施方式作进一步的说明,然而,本发明可以用不同的形式实现,不应只是局限在所述的实施例。
实施例一
请参考图2,本实施例提供一种安卓RIL消息处理系统,构建在Android操作系统平台上,包括RIL-Java模块201、消息接收模块202、请求消息队列模块203、消息处理模块204、Modem(即通信)模块205、应答消息队列模块206以及消息发送模块207。
其中,所述Android操作系统平台是一个架构良好的层次化软硬件平台,一般可以分为四层:最上层为应用程序层,由操作系统厂商或者第三方开发人员提供多种功能的应用程序;第二层为应用框架层,提供应用程序运行的Java层框架及必要的基础服务等;第三层为系统运行库层,提供系统库和Android运行时库;最底层为Linux内核层,提供必要的操作系统内核驱动和硬件驱动。因此,本发明的安卓RIL消息处理系统构建在Android操作系统平台的后三层上,安卓系统中,上层应用(即应用程序层)发起的电信业务相关请求都会转换为相应的请求消息的形式,并发送到本发明的安卓RIL消息处理系统,因此本发明的安卓RIL消息处理系统的消息可以涵盖所有电信业务,具体地,RIL-Java模块201位于应用框架层,能够接收转换过来的请求消息,并通过socket端口向消息接收模块202发送请求消息;消息接收模块202、请求消息队列模块203、消息处理模块204、应答消息队列模块206以及消息发送模块207位于系统运行库层,并构成本发明的安卓RIL消息处理系统的RIL层,Modem模块(即通信模块)205位于Linux内核层。消息接收模块202包括接收单元2021和分类单元2022,接收单元2021从socket端口中接收所述RIL-Java模块201发来的请求消息,分类单元2022可以按照请求消息对应的业务类型来给每个请求消息分配相应的优先级,业务类型包括信号业务、数据业务、短信、电话、传真等。例如,可以从用户感知的角度,定义“拨打电话”的消息为高优先级,“读取卡电话本”消息为低优先级,具体的优先级定义可以根据产品需求灵活调整。消息接收模块202之后按照所述请求消息的优先级将其插入到请求消息队列模块203的请求消息队列中,请参考图3,具体流程如下:
步骤301,接收单元2021从socket端口中收到上层发来的新的请求消息;
步骤302,分类单元2022根据新的请求消息对应的业务类型为其分配优先级,并根据该优先级和插入算法在请求消息队列模块203的请求消息队列中寻找到合适的插入位置,具体的插入算法有很多现成的算法,如插入排序等,这里不作详述。需要注意的是,对于相同优先级的请求消息,应保持FIFO(先进先去)的原则,以免业务发生异常;
步骤303,请求消息队列模块203根据步骤302找到的位置将新的请求消息放入请求消息队列中;
步骤304,消息接收模块202完成新的请求消息的接收,并通知消息处理模块204。
由此可见,请求消息队列模块203用于根据各个请求消息的优先级顺序来形成请求消息队列,其中的请求消息队列是动态更新的,即当一个新的请求消息插入时,请求消息队列的顺序会发生相应的变化,如果新的请求消息的优先级非常高,它有可能被插入到请求队列的队首位置(即图2中的“请求消息-1”位置),会稍作等待后处理或者直接被优先处理。消息处理模块204会从所述请求消息队列中按照优先级顺序提取相应的请求消息,并在提取之后清除请求消息队列模块203的请求消息队列中的该请求消息,请求消息队列中的其他请求消息的队列位置依次提前一位。消息处理模块204解析提取的请求消息的内容,根据该请求消息的内容来与Modem模块205通信,以调用内核层中相应的函数进行实际处理操作,获得的处理结果后,将处理结果消息加入到应答消息队列模块206的应答消息队列中。应答消息队列模块206会将所述消息处理模块204发送的处理结果消息作为应答消息形成应答消息队列,形成应答消息队列的原则可以是FIFO(先进先去)的原则,也可以是按照每个处理结果消息对应的请求消息的优先级顺序来排列的原则。
优选地,消息处理模块204对每个当前正在处理的请求消息的处理过程进行计时,并判断其处理时间是否已经达到预设的阀值,如果尚未超时,则继续处理所述当前正在处理的请求消息,如果已经超时则中断处理所述当前正在处理的请求消息,并按照所述请求消息队列中的请求消息的优先级顺序提取的新的请求消息进行处理,以此避免由于一个请求消息的处理过程发生阻塞而导致整个通信系统无法工作的情况。当消息处理模块204中断处理所述当前正在处理的请求消息时,停止当前正在处理的请求消息的处理计时,并将当前正在处理的请求消息停止处理的通知发送给Modem模块205,同时生成所述当前正在处理的请求消息的处理结果消息(即应答消息,可以是“超时失败”),放入到应答消息模块206的应答消息队列中,应答消息模块206通过socket端口和RIL-Java模块201发送所述处理结果消息(即应答消息,可以是“超时失败”)给上层。
结合上述安卓RIL消息处理系统,本实施例还提供一种安卓RIL消息处理方法,包括以下步骤:
S11,接收上层发来的请求信息,并为所述请求信息分配相应的优先级;
S12,按照所述请求消息的优先级,将所述请求消息插入到请求消息队列中;
S13,按照所述请求消息队列中的请求消息的优先级顺序提取并处理相应的请求消息,以获得相应的处理结果消息;
S14,将所述处理结果消息加入到应答消息队列中,并从所述应答消息队列中提取相应的应答消息发送给所述上层。
在步骤S11中,为所述请求信息分配相应的优先级时,可以按照所述请求消息对应的业务类型来给所述请求消息分配相应的优先级。
在步骤S12中,对于相同优先级的多个请求消息,按照先进先去的原则,将所述多个请求消息插入到所述请求消息队列中。
在步骤S13中,对每个当前正在处理的请求消息的处理过程进行计时,当新的请求消息加入请求消息队列后,先判断当前是否有请求消息正在处理;若无,则按照所述请求消息队列中的请求消息的优先级顺序提取相应的请求消息进行处理;若有,则进一步判断当前正在处理的请求消息的处理时间是否已经达到预设的阀值,如果尚未超时,则继续处理所述当前正在处理的请求消息,如果已经超时则中断处理所述当前正在处理的请求消息,并按照所述请求消息队列中的请求消息的优先级顺序提取的新的请求消息进行处理,以此避免由于一个请求消息的处理过程发生阻塞而导致整个通信系统无法工作的情况。当中断处理所述当前正在处理的请求消息时,停止当前正在处理的请求消息的处理计时,并将当前正在处理的请求消息的应答消息(即停止处理结果消息,可以是“超时失败”)放入到应答消息队列中,进而发回给上层。
在步骤S14中,将所述处理结果消息加入到应答消息队列中时,按照先进先去的原则,将新的处理结果消息加入到应答消息队列。
综上所述,本实施例的安卓RIL消息处理系统及方法,能够对上层发来的请求消息进行优先级分类,并根据请求消息的优先级来动态选取当前要进入处理流程的请求消息以进行处理,保证了重要消息(即特定业务)的及时处理。进一步地,设立超时中断的简单中断机制,以避免因一个消息处理时间过长而导致整个通信系统无法工作的问题。
实施例二
请参考图4,本实施例提供一种安卓RIL消息处理系统,构建在Android操作系统平台上,包括RIL-Java模块401、消息接收模块402、请求消息队列模块403、消息处理模块404、Modem(即通信)模块405、应答消息队列模块406以及消息发送模块407。
本实施例的安卓RIL消息处理系统是在实施例一的安卓RIL消息处理系统的基础上进一步的改进,主要是在消息处理模块404中加入根据优先级高低和处理时间是否超时的中断机制,本实施例的安卓RIL消息处理系统的RIL-Java模块401、消息接收模块402、请求消息队列模块403、Modem(即通信)模块405、应答消息队列模块406以及消息发送模块407分别与实施例一的安卓RIL消息处理系统中的RIL-Java模块201、消息接收模块202、请求消息队列模块203、Modem(即通信)模块205、应答消息队列模块206以及消息发送模块207相同,而消息处理模块404是对消息处理模块204的扩展,包括处理单元4041和中断单元4042,处理单元4041用于从所述请求消息队列模块403的请求消息队列中按照优先级顺序提取请求消息,并根据提取的请求消息与Modem模块405通信,且将获得的处理结果消息加入到应答消息队列模块406的应答消息队列中;中断单元4042用于根据当前正在处理的请求消息的优先级和所述请求消息队列模块403的请求消息处理队列中队首的新请求消息的优先级的高低,来决定是否中断处理所述当前正在处理的请求消息,请参考图5,具体流程如下:
步骤501,请求消息队列模块403的请求消息队列更新后,通知消息处理模块404有新的请求消息;
步骤502,消息处理模块404的处理单元4041收到通知后,判断当前有无请求消息正在处理中,如果没有,则跳转到步骤508,如果有,则进入步骤503;
步骤503,中断单元4042判断当前正在处理的请求消息的优先级和所述请求消息队列队首的新的请求消息优先级的高低,如果新的请求消息的优先级高(步骤5031),则跳转到步骤505,如果新的请求消息的优先级低(步骤5033),则继续处理所述当前正在处理的请求消息,如果新的请求消息的优先级和当前正在处理的请求消息的优先级相同(步骤5032),则跳转到步骤504;
步骤504,中断单元4042判断当前消息的处理时间是否已经达到预设的阀值,如果尚未超时,则继续处理所述当前正在处理的请求消息,并跳转到步骤510,如果已经超时,则跳转到步骤505;
步骤505,中断单元4042停止当前正在处理的请求消息的处理计时,发起取消当前正在处理的请求消息的中断请求,处理单元4041根据所述中断请求中断,中断当前正在处理的请求消息的处理;
步骤506,处理单元4041将当前正在处理的请求消息停止处理的通知发送给Modem模块405,并将当前正在处理的请求消息的处理结果消息(即应答消息)放入应答消息队列模块406的应答消息队列中;
步骤507,应答消息队列模块406发送当前正在处理的请求消息对应的应答消息给上层,应答消息可以是“超时失败”;
步骤508,消息处理模块404的处理单元4041从请求消息队列中取出队首的新的请求消息;
步骤509,消息处理模块404的处理单元4041开始处理步骤508中获取的新的请求消息,并开启处理计时;
步骤510,结束本轮请求消息处理流程,如果请求消息队列中还有待处理的消息,则回到步骤501继续处理;否则等待下一个新的请求消息。
结合本实施例的安卓RIL消息处理系统,本实施例还提供一种安卓RIL消息处理方法,包括以下步骤:
S21,接收上层发来的请求信息,并为所述请求信息分配相应的优先级,可以按照所述请求消息对应的业务类型来给所述请求消息分配相应的优先级。
S22,按照所述请求消息的优先级,将所述请求消息插入到请求消息队列中,对于相同优先级的多个请求消息,可以按照先进先去的原则,将所述多个请求消息插入到所述请求消息队列中;
S23,按照所述请求消息队列中的请求消息的优先级顺序提取并处理相应的请求消息,以获得相应的处理结果消息,且当新的请求消息加入请求消息队列后,先判断当前是否有请求消息正在处理;若无,则按照所述请求消息队列中的请求消息的优先级顺序提取相应的请求消息进行处理;若有,则进一步判断当前正在处理的请求消息的优先级和请求消息处理队列中队首的新请求消息的优先级高低,若所述队首的新请求消息的优先级高,则中断处理所述当前正在处理的请求消息,并提取所述队首的新请求消息进行处理;若所述队首的新请求消息的优先级低,则继续处理所述当前正在处理的请求消息;若所述队首的新请求消息的优先级与所述当前正在处理的请求消息的优先级相同,则进一步判断所述当前正在处理的请求消息的处理时间是否已经达到预设的阀值,如果尚未超时则继续处理所述当前正在处理的请求消息,如果已经超时则中断处理所述当前正在处理的请求消息,并提取所述队首的新请求消息进行处理;
S24,将所述处理结果消息(即应答消息)加入到应答消息队列中,并从所述应答消息队列中提取相应的应答消息发送给所述上层,其中,当所述当前正在处理的请求消息被中断处理时,将所述当前正在处理的请求消息的应答消息发送给所述上层。
可见,本实施例的安卓RIL消息处理系统及方法,相对实施例一的安卓RIL消息处理系统及方法而言,不仅能够对请求消息进行优先级排序处理,以保证重要消息(即特定业务)的及时处理,而且还能根据请求消息的优先级以及处理时间来对当前正在处理的请求消息进行相应的中断,可以避免因消息处理阻塞而导致整个通信系统无法工作的问题。
显然,本领域的技术人员可以对发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (15)
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消息处理方法,其特征在于,包括以下步骤:
接收上层发来的请求信息,并为所述请求信息分配相应的优先级;
按照所述请求消息的优先级,将所述请求消息插入到请求消息队列中;
按照所述请求消息队列中的请求消息的优先级顺序提取并处理相应的请求消息,以获得相应的处理结果消息;
将所述处理结果消息加入到应答消息队列中,并从所述应答消息队列中提取相应的应答消息发送给所述上层。
9.如权利要求8所述的安卓RIL消息处理方法,其特征在于,按照所述请求消息对应的业务类型来给所述请求消息分配相应的优先级。
10.如权利要求8所述的安卓RIL消息处理方法,其特征在于,对于相同优先级的多个请求消息,按照先进先去的原则,将所述多个请求消息插入到所述请求消息队列中。
11.如权利要求8所述的安卓RIL消息处理方法,其特征在于,按照先进先去的原则,将新的处理结果消息加入到应答消息队列。
12.如权利要求8所述的安卓RIL消息处理方法,其特征在于,按照所述请求消息队列中的请求消息的优先级顺序提取相应的请求消息的过程包括:
当新的请求消息加入请求消息队列后,先判断当前是否有请求消息正在处理;若无,则按照所述请求消息队列中的请求消息的优先级顺序提取相应的请求消息进行处理;若有,则进一步判断当前正在处理的请求消息的优先级和请求消息处理队列中队首的新请求消息的优先级高低,若所述队首的新请求消息的优先级高,则中断处理所述当前正在处理的请求消息,并提取所述队首的新请求消息进行处理;若所述队首的新请求消息的优先级低,则继续处理所述当前正在处理的请求消息。
13.如权利要求12所述的安卓RIL消息处理方法,其特征在于,若所述队首的新请求消息的优先级与所述当前正在处理的请求消息的优先级相同,则进一步判断所述当前正在处理的请求消息的处理时间是否已经达到预设的阀值,如果尚未超时则继续处理所述当前正在处理的请求消息,如果已经超时则中断处理所述当前正在处理的请求消息,并提取所述队首的新请求消息进行处理。
14.如权利要求8所述的安卓RIL消息处理方法,其特征在于,对当前正在处理的请求消息的处理时间进行计时,并判断所述处理时间是否已经达到预设的阀值,如果尚未超时则继续处理所述当前正在处理的请求消息,如果已经超时则中断处理所述当前正在处理的请求消息,并按照所述请求消息队列中的请求消息的优先级顺序提取的新的请求消息进行处理。
15.如权利要求12至14中任一项所述的安卓RIL消息处理方法,其特征在于,当中断处理所述当前正在处理的请求消息时,将所述当前正在处理的请求消息的处理结果消息加入到应答消息队列中,以发送给所述上层。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611100041.3A CN108156192A (zh) | 2016-12-02 | 2016-12-02 | 安卓ril消息处理系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611100041.3A CN108156192A (zh) | 2016-12-02 | 2016-12-02 | 安卓ril消息处理系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108156192A true CN108156192A (zh) | 2018-06-12 |
Family
ID=62470439
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611100041.3A Pending CN108156192A (zh) | 2016-12-02 | 2016-12-02 | 安卓ril消息处理系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108156192A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113132121A (zh) * | 2019-12-30 | 2021-07-16 | 成都鼎桥通信技术有限公司 | 广播消息的处理方法、装置和终端设备 |
CN114978962A (zh) * | 2022-07-28 | 2022-08-30 | 广东电网有限责任公司东莞供电局 | 一种面向电网大数据分析的模型算法选型评价方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070291765A1 (en) * | 2006-06-20 | 2007-12-20 | Harris Corporation | Systems and methods for dynamic mode-driven link management |
CN101778101A (zh) * | 2009-12-31 | 2010-07-14 | 卓望数码技术(深圳)有限公司 | 一种消息传送方法和消息传送系统 |
CN102447628A (zh) * | 2011-12-22 | 2012-05-09 | 苏州阔地网络科技有限公司 | 一种数据包传输处理方法及系统 |
CN102946362A (zh) * | 2012-09-13 | 2013-02-27 | 杭州华三通信技术有限公司 | 一种套接字资源分配方法及设备 |
CN104184635A (zh) * | 2014-08-19 | 2014-12-03 | 烽火通信科技股份有限公司 | 家庭网关基于Android RIL实现一对多数据通讯的方法及装置 |
CN104753769A (zh) * | 2015-03-24 | 2015-07-01 | 新余兴邦信息产业有限公司 | 用于消息队列下发消息的方法和消息下发装置 |
-
2016
- 2016-12-02 CN CN201611100041.3A patent/CN108156192A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070291765A1 (en) * | 2006-06-20 | 2007-12-20 | Harris Corporation | Systems and methods for dynamic mode-driven link management |
CN101778101A (zh) * | 2009-12-31 | 2010-07-14 | 卓望数码技术(深圳)有限公司 | 一种消息传送方法和消息传送系统 |
CN102447628A (zh) * | 2011-12-22 | 2012-05-09 | 苏州阔地网络科技有限公司 | 一种数据包传输处理方法及系统 |
CN102946362A (zh) * | 2012-09-13 | 2013-02-27 | 杭州华三通信技术有限公司 | 一种套接字资源分配方法及设备 |
CN104184635A (zh) * | 2014-08-19 | 2014-12-03 | 烽火通信科技股份有限公司 | 家庭网关基于Android RIL实现一对多数据通讯的方法及装置 |
CN104753769A (zh) * | 2015-03-24 | 2015-07-01 | 新余兴邦信息产业有限公司 | 用于消息队列下发消息的方法和消息下发装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113132121A (zh) * | 2019-12-30 | 2021-07-16 | 成都鼎桥通信技术有限公司 | 广播消息的处理方法、装置和终端设备 |
CN113132121B (zh) * | 2019-12-30 | 2023-01-31 | 成都鼎桥通信技术有限公司 | 广播消息的处理方法、装置和终端设备 |
CN114978962A (zh) * | 2022-07-28 | 2022-08-30 | 广东电网有限责任公司东莞供电局 | 一种面向电网大数据分析的模型算法选型评价方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106528193B (zh) | 一种应用更新方法及终端 | |
CN106161480B (zh) | 基于网关资源池的短信平台服务调度方法 | |
CN109302686B (zh) | 一种宽窄带集群调度台的实现方法 | |
CN105721941B (zh) | 云电视的空中下载升级控制方法和装置 | |
EP2521340A1 (en) | Resources allocation method and device for foreground switch of java 2 platform micro edition (j2me) application | |
CN110366276A (zh) | 服务化架构基站 | |
CN108287751A (zh) | 任务执行方法及装置、分布式系统 | |
CN103124402A (zh) | 漏话提示系统及方法 | |
CN110764881A (zh) | 分布式系统后台重试方法及装置 | |
CN104936282A (zh) | 一种融合通信业务的注册方法及装置 | |
CN103516759A (zh) | 云系统资源管理方法、云呼叫中心坐席管理方法和云系统 | |
CN108156192A (zh) | 安卓ril消息处理系统及方法 | |
CN100563285C (zh) | 呼叫转移方法、计算机电话集成平台、话务资源设备、呼叫中心系统和通信系统 | |
KR20170028380A (ko) | 트렁킹 통신 서비스 처리 방법, 코어 네트워크 설비 및 ue, 저장 매체 | |
CN108710304A (zh) | 一种客户端运行管理方法及客户端 | |
CN103686300B (zh) | 业务指南的同步方法及系统 | |
CN110213154A (zh) | 即时通信方法、装置、计算机装置及存储介质 | |
CN105812178B (zh) | 一种终端升级方法及终端 | |
CN102457777A (zh) | 一种电视网络问题分级处理方法、处理系统及电视 | |
CN106060031A (zh) | 一种多媒体通信控制的方法、服务器及系统 | |
CN107609843A (zh) | 合同更新方法及服务器 | |
CN109286996A (zh) | 基于蓝牙连接的模式切换方法、蓝牙设备、装置及系统 | |
CN115412610A (zh) | 故障场景下的流量调度方法及装置 | |
CN109064382A (zh) | 图像信息处理方法及服务器 | |
KR20130108605A (ko) | 이벤트 처리 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20180612 Assignee: Shanghai Li Ke Semiconductor Technology Co., Ltd. Assignor: Leadcore Technology Co., Ltd. Contract record no.: 2018990000159 Denomination of invention: Android RIL message handling systems and method License type: Common License Record date: 20180615 |
|
EE01 | Entry into force of recordation of patent licensing contract | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180612 |
|
RJ01 | Rejection of invention patent application after publication |