Android终端及其实现TR069网管代理的方法

文档序号:7811227阅读:567来源:国知局
Android终端及其实现TR069网管代理的方法
【专利摘要】本发明公开了一种Android终端及其实现TR069网管代理的方法,该方法如下:延用原Linux平台上c代码本地模块的TR069协议处理单元与网络侧的网络管理平台进行交互,延用原Linux平台上适用于Android环境的本地信息管理单元对本地信息库进行维护,利用Java编写的与Android版本相应的代理服务模块和AIDL服务端模块与用户侧Android应用程序的进行交互;其中,代理服务模块和AIDL服务端模块通过JNI与TR069协议处理单元进行相互调用,实现系统配置上报注册、系统配置更新和Android应用程序相关功能的调用。本发明充分利用Android系统的JNI机制,实现Java和本地C代码的相互调用实现TR069网管代理;克服了Android系统碎片化的缺点;并且可直接移植现有的Linux平台C的方案。
【专利说明】Android终端及其实现TR069网管代理的方法

【技术领域】
[0001]本发明涉及网络用户侧终端设备(CPE)管理领域,具体涉及Android终端及其实现TR069网管代理的方法。

【背景技术】
[0002]随着宽带网络的普及以及技术的发展,电信运营商已经在大规模推广使用网关和IPTV机顶盒等用户侧终端设备(CPE),并且此类终端设备所使用的操作系统也从嵌入式Linux逐渐过渡到Andrο i d系统,以利用Andrο i d系统开放的接口,提供更多样化,更智能化的应用。目前,运营商对于CPE的管理主要是基于TR069协议进行统一管理,并且已经积累了丰富的管理经验。
[0003]网管代理是指存在于CPE中,配合位于网络侧的网络管理平台(ACS),实现对终端设备的参数和业务进行配置、查询等功能的服务程序。现有基于嵌入式Linux平台的终端设备普遍具有TR069网管代理功能,使得其可以统一纳入终端网管平台的管理之下。
[0004]然而,随着终端设备由Linux向Android智能平台进一步转移,如何在基于Android智能平台的终端设备中实现TR069网管代理,使得现有的终端统一网管平台也可以管理这些智能终端已成为迫切需要解决的问题。


【发明内容】

[0005]本发明所要解决的技术问题是如何在基于Android智能平台的终端设备上实现TR069网管代理使得现有的终端统一网管平台也可以管理这些智能终端的问题。
[0006]为了解决上述技术问题,本发明所采用的技术方案是提供一种Android终端,包括系统平台,所述系统平台包括Android操作系统、Android广播接收器、与Android版本相应的代理服务模块以及本地模块和AIDL服务端模块;所述本地模块包括延用原Linux平台c代码的TR069协议处理单元和本地信息管理单元;
[0007]所述Android操作系统用于向Android广播接收器发送广播消息和接收所述代理服务模块发送的广播消息并执行相关操作;
[0008]所述Android广播接收器用于监听并接收Android操作系统广播消息,根据所述Android操作系统广播调用相关服务接口启动所述代理服务模块;
[0009]所述代理服务模块用于向所述Android操作系统发送广播消息和接收并解析所述Android操作系统广播消息内容,并利用JNI调用所述本地模块的TR069协议处理单元;
[0010]所述本地模块的TR069协议处理单元用于所述本地模块与ACS进行交互,并利用JNI调用所述代理服务模块;所述本地信息管理单元用于对本地信息库进行维护或者通过所述TR069协议处理单元执行ACS命令对本地信息库进行更新;
[0011]所述AIDL服务端模块用于实现AIDL接口服务,通过AIDL接口接收和处理Android应用程序,并调用所述代理服务模块或者所述本地模块实现Android应用程序相关功能。
[0012]本发明还提供了一种Android终端实现TR069网管代理的方法,具体实现方法如下:
[0013]延用原Linux平台上的TR069协议处理单元与网络侧的网络管理平台进行交互,延用原Linux平台上适用于Android环境的本地信息管理单元对本地信息库进行维护,利用Java编写的与Android版本相应的代理服务模块和AIDL服务端模块与用户侧Android应用程序的进行交互;
[0014]其中,代理服务模块和AIDL服务端模块通过JNI与TR069协议处理单元进行相互调用,实现系统配置上报注册、系统配置更新和Android应用程序相关功能的调用。
[0015]在上述方法中,延用原Linux平台可在Android环境下继续使用的通信机制。
[0016]在上述方法中,系统配置上报注册包括用户终端开机上报注册和配置改变上报注
ΠΠ
册;
[0017]所述用户终端开机上报注册具体步骤如下:
[0018]步骤SlUAndroid终端开机;
[0019]步骤S12、Android广播接收器监听并接收Android终端开机消息;
[0020]步骤S13、Android广播接收器调用startService接口,以启动代理服务模块;
[0021]步骤S14、代理服务模块进行初始化工作,并利用JNI调用本地模块的相应接口启动Tr069协议处理单元;
[0022]步骤S15、Tr069协议处理单元启动后,与ACS建立TCP连接;
[0023]步骤S16、向ACS上报Android终端的设备参数和业务配置参数,完成开机注册;
[0024]所述配置改变上报注册具体步骤如下:
[0025]步骤S21、当用户通过设置操作界面改变配置时,Android广播接收器会接收到Android操作系统的设置模块发出的配置改变广播消息;
[0026]步骤S22、代理服务模块解析配置改变广播消息,得到配置改变内容;
[0027]步骤S23、代理服务模块通过JNI机制调用本地模块的相应接口,开启tr069协议;
[0028]步骤S24、通过tr069协议上报配置改变内容到网络侧的网络管理平台。
[0029]在上述方法中,系统配置更新包括以下步骤:
[0030]步骤S31、ACS下发新配置命令;
[0031]步骤S32、TR069协议处理单元接收并解析新配置命令,得到新配置参数;
[0032]步骤S33、TR069协议处理单元调用本地信息管理单元对照得到新配置参数对本地信息库进行更新;
[0033]步骤S34、TR069协议处理单元利用JNI调用代理服务模块;
[0034]步骤S35、代理服务模块向Android操作系统发送新配置广播消息;
[0035]步骤S36、Android操作系统接收该广播消息,并执行配置参数更新操作;
[0036]步骤S37、结束系统配直更新;
[0037]在步骤S34中,如果需要代理服务模块通过发送广播来通知其他的模块,则代理服务模块发送广播消息给相应模块,相应模块对此消息进行相关处理,完成配置生效。
[0038]在上述方法中,Android应用程序相关功能的调用包括以下步骤:
[0039]步骤S41、AIDL服务端模块的AIDL接口接收Android应用程序;
[0040]步骤S42、AIDL服务端模块调用代理服务模块,完成Android应用程序相关功能调用;
[0041]步骤S43、判断是否需要通过JNI调用本地模块继续完成相关功能,如果需要,则执行步骤S44 ;否则执行步骤S46 ;
[0042]步骤S44、代理服务模块通过JNI调用本地模块;
[0043]步骤S45、本地模块继续完成相关功能调用;
[0044]步骤S46、结束功能调用进程。
[0045]本发明,充分利用Android系统的JNI (Java本地调用)机制,实现Java和本地C/C++代码的相互调用,使用C语言完成TR069协议解析及功能调用,以提供更有效的协议解析效率及方便的维护办法;而Java层完成对Android系统相关的功能适配,比如系统消息的接收,与Android应用程序之间的交互等等,结构清晰;并且只需修改Java部分即可实现不同Android版本之间的适配,克服了 Android系统碎片化的缺点;本地代码部分还能够完成与不同ACS平台的适配,可直接移植现有的Linux平台C/C++的方案,由于Android对Linux的继承性,相关工作也较为简单。

【专利附图】

【附图说明】
[0046]图1为本发明的Android终端的系统平台结构框图;
[0047]图2为本发明中本发明中用户终端开机上报注册流程图;
[0048]图3为本发明中配置改变的上报注册流程图;
[0049]图4为在本发明中ACS下发新配置进行系统配置更新流程图;
[0050]图5为在本发明中Android应用程序相关功能调用的流程图。

【具体实施方式】
[0051]下面结合说明书附图和具体实施例对本发明做出详细的说明。
[0052]如图1所示,本发明提供的Android终端包括系统平台,所述系统平台包括Android操作系统10、Android广播接收器20、与Android版本相应的代理服务模块30以及本地模块40和AIDL服务端模块50 ;本地模块40包括TR069协议处理单元41和本地信息管理单元42 ;
[0053]Android操作系统10用于向Android广播接收器20发送广播消息和接收所述代理服务模块30发送的广播消息并执行相关操作;
[0054]Android广播接收器20用于监听并接收Android操作系统10发送的系统广播消息,并根据所述系统广播调用相关服务接口启动代理服务模块30 ;
[0055]代理服务模块30用于向Android操作系统10发送广播消息和解析Android操作系统10广播消息内容,并利用JNI调用本地模块40的TR069协议处理单元31 ;
[0056]本地模块40的TR069协议处理单元41用于本地模块40与ACS进行交互,并利用JNI调用代理服务模块30 ;本地信息管理单元42用于对本地信息库进行维护或者通过TR069协议处理单元41执行ACS命令对本地信息库进行更新;
[0057]AIDL服务端模块50用于实现AIDL接口服务,通过AIDL接口接收和处理Android应用程序,并通过调用代理服务模块30或者本地模块40实现Android应用程序相关功能。
[0058]本发明提供的Android终端实现TR069网管代理的方法如下:
[0059]延用原Linux平台上的TR069协议处理单元与网络侧的网络管理平台进行交互,延用原Linux平台上适用于Android环境的本地信息管理单元对本地信息库进行维护,利用Java编写的与Android版本相应的代理服务模块和AIDL服务端模块与用户侧Android应用程序的进行交互;这样不仅充分利用c代码高效的网络通信和解析功能,同时还保证了基于Android的代理服务与原有基于Linux的网络侧的网络管理平台(ACS)可以进行正常交互。
[0060]其中,代理服务模块和AIDL服务端模块通过JNI (Java Native Interface)与TR069协议处理单元进行相互调用,实现系统配置上报注册、系统配置更新和Android应用程序相关功能的调用。
[0061]系统配置上报注册包括=Android终端开机上报注册和配置改变上报注册。
[0062]在本发明中,还可以延用原Linux平台可在Android环境下继续使用的通信机制,该通信机制利用JNI通过代理服务模块接口与Android系统操作系统进行交互;通过TR069协议处理单元与ACS交互。
[0063]图2为本发明中用户终端开机上报注册,具体包括以下步骤:
[0064]步骤SI 1、Android终端开机;
[0065]步骤S12、Android广播接收器监听并接收Android终端开机消息(Β00Τ_COMPLETED);
[0066]步骤S13、Android广播接收器调用startService接口,以启动代理服务模块;
[0067]步骤S14、代理服务模块进行初始化工作,并利用JNI调用本地模块的相应接口启动Tr069协议处理单元;
[0068]步骤S15、Tr069协议处理单元启动后,与ACS建立TCP连接;
[0069]步骤S16、向ACS上报Android终端的设备参数和业务配置参数,完成开机注册。
[0070]图3为本发明中配置改变上报注册,具体包括以下步骤:
[0071]步骤S21、当用户通过设置操作界面改变配置时,Android广播接收器会收到Android操作系统的设置模块发出的配置改变广播消息;
[0072]步骤S22、代理服务模块解析该配置改变广播消息,得到配置改变内容;
[0073]步骤S23、代理服务模块通过JNI机制调用本地模块的相应接口,开启TR069协议处理单元中的tr069协议处理线程;
[0074]步骤S24、通过tr069协议上报配置改变内容到ACS。
[0075]系统配置更新是网络侧的网络管理平台(ACS)下发新配置给网络用户侧终端设备(CPE),网络用户侧终端设备将原配置参数更新为新配置参数。
[0076]如图4所示,在本发明系统配置更新包括以下步骤:
[0077]步骤S31、ACS下发新配置命令;
[0078]步骤S32TR069协议处理单元接收并解析新配置命令,得到新配置参数;
[0079]步骤S33、TR069协议处理单元调用本地信息管理单元对照得到新配置参数对本地信息库进行更新;
[0080]步骤S34、TR069协议处理单元利用JNI调用代理服务模块;
[0081]步骤S35、代理服务模块向Android操作系统发送新配置广播消息;
[0082]步骤S36、Android操作系统接收该广播消息,并执行配置参数更新操作;
[0083]步骤S37、结束系统配置更新;
[0084]在步骤S34中,如果需要代理服务模块通过发送广播来通知其他的模块(比如视频播放模块,设置模块等),则代理服务模块发送广播消息给相应模块,相应模块对此消息进行相关处理,完成配置生效。
[0085]如图5所示,在本发明中Android应用程序相关功能调用是通过指定AIDL(Android Interface Definit1n Language)接口调用设置、查询等功能,具体包括以下步骤:
[0086]步骤S41、AIDL服务端模块的AIDL接口接收Android应用程序;
[0087]步骤S42、AIDL服务端模块调用代理服务模块,完成Android应用程序相关功能调用;
[0088]步骤S43、判断是否需要通过JNI调用本地模块继续完成相关功能,如果需要,则执行步骤S44 ;否则执行步骤S46 ;
[0089]步骤S44、代理服务模块通过JNI调用本地模块;
[0090]步骤S45、本地模块继续完成相关功能调用;
[0091]步骤S46、结束功能调用进程。
[0092]通过AIDL接口调用Android应用程序(APK),来实现服务端的功能,完成与其它应用程序之间的进程间通信,可保证安全性。
[0093]以上所述实施方式仅为本发明的一种实例,并不用于限制本发明,凡在本发明精神和原则之内所做的任何修改、等同替换和改进等,均含于本发明的保护范围之内。
【权利要求】
1.一种Android终端,包括系统平台,其特征在于,所述系统平台包括Android操作系统、Android广播接收器、与Android版本相应的代理服务模块以及本地模块和AIDL服务端模块;所述本地模块包括延用原Linux平台c代码的TR069协议处理单元和本地信息管理单元; 所述Android操作系统用于向Android广播接收器发送广播消息和接收所述代理服务模块发送的广播消息并执行相关操作; 所述Android广播接收器用于监听并接收Android操作系统广播消息,根据所述Android操作系统广播调用相关服务接口启动所述代理服务模块; 所述代理服务模块用于向所述Android操作系统发送广播消息和接收并解析所述Android操作系统广播消息内容,并利用JNI调用所述本地模块的TR069协议处理单元; 所述本地模块的TR069协议处理单元用于所述本地模块与ACS进行交互,并利用JNI调用所述代理服务模块;所述本地信息管理单元用于对本地信息库进行维护或者通过所述TR069协议处理单元执行ACS命令对本地信息库进行更新; 所述AIDL服务端模块用于实现AIDL接口服务,通过AIDL接口接收和处理Android应用程序,并调用所述代理服务模块或者所述本地模块实现Android应用程序相关功能。
2.—种Android终端实现TR069网管代理的方法,其特征在于,具体实现方法如下: 延用原Linux平台上的TR069协议处理单元与网络侧的网络管理平台进行交互,延用原Linux平台上适用于Android环境的本地信息管理单元对本地信息库进行维护,利用Java编写的与Android版本相应的代理服务模块和AIDL服务端模块与用户侧Android应用程序的进行交互; 其中,所述代理服务模块和所述AIDL服务端模块通过JNI与TR069协议处理单元进行相互调用,实现系统配置上报注册、系统配置更新和Android应用程序相关功能的调用。
3.如权利要求2所述的方法,其特征在于,延用原Linux平台可在Android环境下继续使用的通信机制。
4.如权利要求2所述的方法,其特征在于,系统配置上报注册包括用户终端开机上报注册和配置改变上报注册; 所述用户终端开机上报注册具体步骤如下: 步骤SlUAndroid终端开机; 步骤S12、Android广播接收器监听并接收Android终端开机消息; 步骤S13、Android广播接收器调用startService接口,以启动代理服务模块; 步骤S14、代理服务模块进行初始化工作,并利用JNI调用本地模块的相应接口启动Tr069协议处理单元; 步骤S15、Tr069协议处理单元启动后,与ACS建立TCP连接; 步骤S16、向ACS上报Android终端的设备参数和业务配置参数,完成开机注册; 所述配置改变上报注册具体步骤如下: 步骤S21、当用户通过设置操作界面改变配置时,Android广播接收器会接收到Android操作系统的设置模块发出的配置改变广播消息; 步骤S22、代理服务模块解析配置改变广播消息,得到配置改变内容; 步骤S23、代理服务模块通过JNI机制调用本地模块的相应接口,开启tr069协议; 步骤S24、通过tr069协议上报配置改变内容到网络侧的网络管理平台。
5.如权利要求2所述的方法,其特征在于,系统配置更新包括以下步骤: 步骤S31、ACS下发新配置命令; 步骤S32、TR069协议处理单元接收并解析新配置命令,得到新配置参数; 步骤S33、TR069协议处理单元调用本地信息管理单元对照得到新配置参数对本地信息库进行更新; 步骤S34、TR069协议处理单元利用JNI调用代理服务模块; 步骤S35、代理服务模块向Android操作系统发送新配置广播消息; 步骤S36、Android操作系统接收该广播消息,并执行配置参数更新操作; 步骤S37、结束系统配置更新; 在步骤S34中,如果需要代理服务模块通过发送广播来通知其他的模块,则代理服务模块发送广播消息给相应模块,相应模块对此消息进行相关处理,完成配置生效。
6.如权利要求2所述的方法,其特征在于,Android应用程序相关功能的调用包括以下步骤: 步骤S41、AIDL服务端模块的AIDL接口接收Android应用程序; 步骤S42、AIDL服务端模块调用代理服务模块,完成Android应用程序相关功能调用;步骤S43、判断是否需要通过JNI调用本地模块继续完成相关功能,如果需要,则执行步骤S44 ;否则执行步骤S46 ; 步骤S44、代理服务模块通过JNI调用本地模块; 步骤S45、本地模块继续完成相关功能调用; 步骤S46、结束功能调用进程。
【文档编号】H04L12/24GK104184618SQ201410394932
【公开日】2014年12月3日 申请日期:2014年8月12日 优先权日:2014年8月12日
【发明者】蔡磊 申请人:烽火通信科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1