Android終端及其實現TR069網管代理的方法
2023-05-31 10:50:36 4
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日
【發明者】蔡磊 申請人:烽火通信科技股份有限公司