CN104184635B - 家庭网关基于Android RIL实现一对多数据通讯的方法及装置 - Google Patents
家庭网关基于Android RIL实现一对多数据通讯的方法及装置 Download PDFInfo
- Publication number
- CN104184635B CN104184635B CN201410407988.3A CN201410407988A CN104184635B CN 104184635 B CN104184635 B CN 104184635B CN 201410407988 A CN201410407988 A CN 201410407988A CN 104184635 B CN104184635 B CN 104184635B
- Authority
- CN
- China
- Prior art keywords
- ril
- application program
- message queue
- server end
- request
- 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.)
- Active
Links
Landscapes
- Mobile Radio Communication Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种家庭网关基于Android RIL实现一对多数据通讯的方法及装置,该方法包括以下步骤:通过第一消息队列接收应用程序发出的请求数据,并串行化发送到服务器端RIL;将服务器端RIL返回的处理结果通过第二消息队列异步返回给对应的应用程序。本发明,通过两个消息队列分别接收从应用程序发出的请求数据,并串行化发送到服务器端RIL,将服务器端RIL返回的处理结果异步返回给对应的应用程序,从而实现了Android RIL与多个应用程序进行一对多的数据通讯,提高了RIL的适应性和可移植性。
Description
技术领域
本发明涉及家庭网关,具体涉及家庭网关基于Android RIL实现一对多数据通讯的方法及装置。
背景技术
随着中国国内4G牌照的发放,移动通信已经从3G时代正式迈向了4G时代。4G是指第四代移动通信技术,该技术包括TD-LTE和FDD-LTE两种制式。4G能够以100Mbps以上的速度下载,比目前的家用宽带ADSL(4兆)快20倍,并能够满足几乎所有用户对于无线服务的要求,很明显,4G有着不可比拟的优越性。随着4G的普及以及运营商的要求,家庭网关产品满足4G要求也已经是势在必行。
Android RIL(Radio Interface Layer,无线接口层)位于应用程序框架与内核之间,提供了无线基带与电话应用之间的抽象层。Android RIL分成两个部分,一个部分是rild,负责socket与应用程序框架进行通信;另外一个部分是Vendor RIL,负责向下是通过两种方式与无线基带进行通信,分别是直接与无线基带通信的AT指令通道和用于传输包数据的数据通道,数据通道用于手机的上网功能。Android RIL具有良好的独立性,依赖第三方库较少,所以具有良好的移植性。
家庭网关主要运行于Linux平台,但RIL只能支持一路socket连接,无法直接应用于多任务的Linux平台家庭网关。为此,需要在Linux系统中对RIL进行一个框架层的开发,使RIL与多个应用程序进行一对多的数据通讯。
发明内容
本发明所要解决的技术问题是Android RIL只能支持一路socket连接,无法直接应用于家庭网关以实现与多个应用程序进行一对多的数据通讯的问题。
为了解决上述技术问题,本发明所采用的技术方案是提供一种家庭网关基于Android RIL实现一对多数据通讯的方法,包括以下步骤:
步骤10:通过第一消息队列接收应用程序发出的请求,并将相应的请求数据串行化发送到服务器端RIL;
步骤20:服务器端RIL对应用程序的请求数据进行处理,并将处理结果通过第二消息队列异步返回给对应的应用程序。
在上述方法中,步骤10包括以下步骤:
将每一个应用程序发出的请求分别添加上应用程序编号,然后加入到第一消息队列中;
按照第一消息队列的队列顺序逐一处理每一个应用程序的请求并通过SOCKET将相应的请求数据串行化发给服务器端RIL。
在上述方法中,步骤20包括以下步骤:
服务器端RIL对应用程序的请求数据进行处理,并将处理结果通过SOCKET发给第二消息处理模块,处理结果中包含有相应应用程序的应用程序编号;
第二消息处理模块根据应用程序编号判断该处理结果属于哪一个应用程序,然后放入到第二消息队列中;
按照第二消息队列的队列顺序逐一将处理结果发送给相应的应用程序。
本发明还提供了一种家庭网关基于Android RIL实现一对多数据通讯的装置,包括:
第一消息队列生成模块,将每一个应用程序发出的请求分别添加上应用程序编号,然后加入到第一消息队列中;
第一消息处理模块,按照第一消息队列的队列顺序逐一处理每一个应用程序的请求并通过SOCKET将相应的请求数据串行化发给服务器端RIL;
第二消息处理模块,接收服务器端RIL的处理结果并根据应用程序编号判断该处理结果属于哪一个应用程序,然后放入到第二消息队列中;
第二消息队列生成模块,按照第二消息队列的队列顺序逐一将处理结果发送给相应的应用程序。
在上述装置中,当第一消息队列中没有应用程序发出的请求时阻塞。
在上述装置中,第一消息处理模块和第二消息处理模块分别通过异步非阻塞方式监听服务器端RIL的SOCKET指令。
本发明,通过两个消息队列分别接收从应用程序发出的请求,并串行化发送到服务器端RIL,并将服务器端RIL返回的处理结果异步返回给对应的应用程序,从而实现了Android RIL与多个应用程序进行一对多的数据通讯,提高了RIL的适应性和可移植性。
附图说明
图1为本发明中家庭网关基于Android RIL实现一对多数据通讯的方法流程图。
具体实施方式
为了解决Android RIL只能支持一路socket连接,无法直接应用于家庭网关以实现与多个应用程序进行一对多的数据通讯的问题,本发明提供了一种家庭网关基于Android RIL实现一对多数据通讯的方法及装置,通过数据转发中间层来连接服务器端RIL和客户端应用程序,使得Android RIL可以和多个应用程序进行数据通讯,提高了RIL的适应性,同时可以屏蔽应用程序与RIL代码进行交互的细节,提高了开发效率和可移植性。下面结合说明书附图和具体实施方式对本发明做出详细的说明。
如图1所示,本发明提供的家庭网关基于Android RIL实现一对多数据通讯的装置包括:第一消息队列生成模块10、第二消息队列生成模块20、第一消息处理模块30和第二消息处理模块40。
第一消息队列生成模块10将每一个应用程序发出的请求分别添加上应用程序编号,然后加入到第一消息队列中;
第一消息处理模块30按照第一消息队列的顺序逐一处理每一个应用程序的请求,并通过SOCKET方式将相应的请求数据串行化发给服务器端RIL;
服务器端RIL对应用程序的请求数据进行处理,并将处理结果通过SOCKET方式发给第二消息处理模块,处理结果中包含有相应应用程序的应用程序编号;
第二消息处理模块40接收到服务器端RIL返回的每一个处理结果后,还原得到该处理结果中的应用程序编号和处理结果数据,并放入到第二消息队列中,应用程序编号用于判断该处理结果属于哪一个应用程序;
第二消息队列生成模块20按照第二消息队列的队列顺序,并根据应用程序编号逐一将处理结果数据发送给相应的应用程序。
本发明还提供一一种家庭网关基于Android RIL实现一对多数据通讯的方法,如图1所示,具体步骤如下:
第一步:将每一个应用程序发出的请求分别添加上应用程序编号,然后加入到第一消息队列中;
第二步:第一消息队列按照队列顺序逐一将应用程序发出的请求发送给第一消息处理模块;
第三步:第一消息处理模块通过msgrecv方式接收应用程序发出的请求,并根据应用程序编号判断请求的处理方式,然后再利用write方法通过SOCKET方式将请求数据串行化发给服务器端RIL;
第四步:服务器端RIL对应用程序发出的请求数据进行处理,并将处理结果通过SOCKET方式发给第二消息处理模块,处理结果中包含有相应应用程序的应用程序编号和处理结果数据;
第五步:第二消息处理模块接收到服务器端RIL的处理结果后,还原得到该处理结果中的应用程序编号和处理结果数据,并放入到第二消息队列中,应用程序编号用于判断该处理结果属于哪一个应用程序;
第六步:第二消息队列按照其队列顺序,并根据应用程序编号逐一将处理结果数据发送给相应的应用程序。
在上述方法中,当第一消息队列中没有应用程序发出的请求时,处理线程会自动阻塞直到有新的请求发送过来。第一消息处理模块和第二消息处理模块通过异步非阻塞方式监听SOCKET,从而实现对应用程序的请求的接收以及对处理结果的接收。
本发明不局限于上述最佳实施方式,任何人应该得知在本发明的启示下作出的结构变化,凡是与本发明具有相同或相近的技术方案,均落入本发明的保护范围之内。
Claims (3)
1.家庭网关基于Android RIL实现一对多数据通讯的方法,其特征在于,包括以下步骤:
步骤10:通过第一消息队列接收应用程序发出的请求,并将相应的请求数据串行化发送到服务器端RIL;
步骤20:服务器端RIL对应用程序的请求数据进行处理,并将处理结果通过第二消息队列异步返回给对应的应用程序;
步骤10包括以下步骤:
将每一个应用程序发出的请求分别添加上应用程序编号,然后加入到第一消息队列中;
按照第一消息队列的队列顺序逐一处理每一个应用程序的请求并通过SOCKET将相应的请求数据串行化发给服务器端RIL;
步骤20包括以下步骤:
服务器端RIL对应用程序的请求数据进行处理,并将处理结果通过SOCKET发给第二消息处理模块,处理结果中包含有相应应用程序的应用程序编号;
第二消息处理模块根据应用程序编号判断该处理结果属于哪一个应用程序,然后放入到第二消息队列中;
按照第二消息队列的队列顺序逐一将处理结果发送给相应的应用程序;
在步骤10和步骤20中,分别通过异步非阻塞方式监听服务器端RIL的SOCKET指令。
2.家庭网关基于Android RIL实现一对多数据通讯的装置,其特征在于,包括:
第一消息队列生成模块,将每一个应用程序发出的请求分别添加上应用程序编号,然后加入到第一消息队列中;
第一消息处理模块,按照第一消息队列的队列顺序逐一处理每一个应用程序的请求,并通过SOCKET将相应的请求数据串行化发给服务器端RIL;
第二消息处理模块,接收服务器端RIL的处理结果并根据应用程序编号判断该处理结果属于哪一个应用程序,然后放入到第二消息队列中;
第二消息队列生成模块,按照第二消息队列的队列顺序逐一将处理结果发送给相应的应用程序;
第一消息处理模块和第二消息处理模块分别通过异步非阻塞方式监听服务器端RIL的SOCKET指令。
3.如权利要求2所述的装置,其特征在于,当第一消息队列中没有应用程序发出的请求时阻塞。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410407988.3A CN104184635B (zh) | 2014-08-19 | 2014-08-19 | 家庭网关基于Android RIL实现一对多数据通讯的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410407988.3A CN104184635B (zh) | 2014-08-19 | 2014-08-19 | 家庭网关基于Android RIL实现一对多数据通讯的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104184635A CN104184635A (zh) | 2014-12-03 |
CN104184635B true CN104184635B (zh) | 2018-02-13 |
Family
ID=51965395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410407988.3A Active CN104184635B (zh) | 2014-08-19 | 2014-08-19 | 家庭网关基于Android RIL实现一对多数据通讯的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104184635B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104572316A (zh) * | 2014-12-31 | 2015-04-29 | 福建天晴数码有限公司 | 游戏程序与运行平台交互的方法和系统 |
CN105721438B (zh) * | 2016-01-19 | 2018-10-19 | 烽火通信科技股份有限公司 | 一种基于Linux的LTE网关处理AT指令的方法 |
CN106060011A (zh) * | 2016-05-12 | 2016-10-26 | 浪潮软件集团有限公司 | 内外网交互方法、自助办税系统、外网装置及内网装置 |
CN106102046B (zh) * | 2016-05-24 | 2019-06-11 | 中国科学院信息工程研究所 | 一种加密手机一键入密的通信方法 |
CN108156192A (zh) * | 2016-12-02 | 2018-06-12 | 联芯科技有限公司 | 安卓ril消息处理系统及方法 |
CN109189595A (zh) * | 2018-09-17 | 2019-01-11 | 深圳怡化电脑股份有限公司 | 基于服务器的事件处理方法、装置、设备及介质 |
CN110990163A (zh) * | 2019-10-29 | 2020-04-10 | 北京左江科技股份有限公司 | 一种多应用数据处理过程高并发方法 |
CN113377556A (zh) * | 2021-06-30 | 2021-09-10 | Tcl通讯(宁波)有限公司 | 一种Android平台非侵入式通讯服务的实现方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1219257A (zh) * | 1996-05-24 | 1999-06-09 | 国际商业机器公司 | 在一个计算机网络中提供通信链路 |
CN1748390A (zh) * | 2003-02-05 | 2006-03-15 | 诺基亚有限公司 | 利用消息队列识别以设备中的消息接收作为目标的应用的系统和方法 |
CN102387206A (zh) * | 2011-10-20 | 2012-03-21 | 镇江睿泰信息科技有限公司 | 一种Web服务并发请求合成方法及系统 |
CN102707997A (zh) * | 2012-06-12 | 2012-10-03 | 中兴通讯股份有限公司 | 一种移动宽带设备多pdp数据通讯的驱动装置和方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040198223A1 (en) * | 2002-10-08 | 2004-10-07 | Loh Weng Wah | Flow control in a bluetooth wireless communication system |
-
2014
- 2014-08-19 CN CN201410407988.3A patent/CN104184635B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1219257A (zh) * | 1996-05-24 | 1999-06-09 | 国际商业机器公司 | 在一个计算机网络中提供通信链路 |
CN1748390A (zh) * | 2003-02-05 | 2006-03-15 | 诺基亚有限公司 | 利用消息队列识别以设备中的消息接收作为目标的应用的系统和方法 |
CN102387206A (zh) * | 2011-10-20 | 2012-03-21 | 镇江睿泰信息科技有限公司 | 一种Web服务并发请求合成方法及系统 |
CN102707997A (zh) * | 2012-06-12 | 2012-10-03 | 中兴通讯股份有限公司 | 一种移动宽带设备多pdp数据通讯的驱动装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104184635A (zh) | 2014-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104184635B (zh) | 家庭网关基于Android RIL实现一对多数据通讯的方法及装置 | |
CN106559086B (zh) | 移动终端和无线通信方法 | |
CN105794248B (zh) | 用于无线通信的方法、系统和设备 | |
CN109937607A (zh) | 使用多个传输时间间隔的无线通信系统中的不连续接收和调度技术 | |
EP1498822A3 (en) | State migration in multiple NIC RDMA enabled devices | |
CN107342933A (zh) | 一种智能设备的激活与绑定方法及装置 | |
CN105210435B (zh) | 一种数据传输方法及装置、系统 | |
CN102916833B (zh) | 远程调试方法、系统及调试目标设备 | |
CN104394544A (zh) | 一种WiFi产品自动化射频测试方法 | |
CN102368725A (zh) | 一种多网卡的数据接收方法及系统 | |
CN107205239A (zh) | 一种检测无线网连接的方法及检测设备 | |
JP2006324831A5 (zh) | ||
CN106341784A (zh) | 一种数据通信的方法、装置和系统 | |
CN105517174B (zh) | 一种传输数据的方法及装置 | |
CN106874226A (zh) | 基于stm32f4芯片的串口数据接收、发送、传输装置及方法 | |
CN105282785B (zh) | 媒介配置时间的方法与其无线传输系统 | |
CN103067222B (zh) | 一种基于hinoc的himac帧环回测试方法 | |
CN105391776A (zh) | 长连接消息的通信方法及系统 | |
CN101895441A (zh) | 一种物联网终端java应用的业务调试装置和方法 | |
CN105580341A (zh) | 一种数据处理装置及数据处理方法 | |
CN105898796A (zh) | 一种提高4g设备传输速率的方法和系统 | |
CN106713244A (zh) | 一种能力接入方法及网元 | |
CN105636222B (zh) | 一种数据信道调度方法、装置及系统 | |
CN104580514A (zh) | 基于云计算的软件应用远程调试方法及装置 | |
CN102548053B (zh) | 一种基于2.4g的无线路由器及其实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |