[發明專利]服務定位方法和服務定位器有效
| 申請號: | 201310438533.3 | 申請日: | 2013-09-24 |
| 公開(公告)號: | CN103516905A | 公開(公告)日: | 2014-01-15 |
| 發明(設計)人: | 宋照春 | 申請(專利權)人: | 北京奇虎科技有限公司;奇智軟件(北京)有限公司 |
| 主分類號: | H04M1/725 | 分類號: | H04M1/725;G06F17/30 |
| 代理公司: | 北京思睿峰知識產權代理有限公司 11396 | 代理人: | 趙愛軍 |
| 地址: | 100088 北京市西城區新*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 服務 定位 方法 定位器 | ||
技術領域
本發明涉及移動終端領域,具體涉及一種服務定位方法和服務定位器。
背景技術
Android(安卓)是基于Linux的自由及開發源代碼的操作系統,主要使用于移動設備,如智能手機和平板電腦等。在Android系統中,為了安全的需要,App(應用)是被限制并運行在沙箱中的。為了實現App之間的通訊和互動,Android提供了若干種方法,其中之一是利用Servcie(服務)來實現。
任何App可實現特定的服務,通過類似RPC(Remote?Procedute?Call,遠程過程調用)這樣的接口實現App之間的通訊。Android系統在Linux系統的用戶體系基礎上,通過Android定制的binder(綁定)驅動程序,可以提供權限機制,可有效鑒別請求者的身份。另外,Android還在操作系統層面提供比較全面的支持,可以在App之間實現比較靈活、更加高層的業務模型,用來實現復雜的業務。
對Android的服務而言,當作為App的服務運行時,會啟動一個新的進程或者利用App現有的進程,并創建一個服務對象。當其他App調用到此服務時,由此服務對象的代碼完成具體的業務邏輯。
對用戶而言,安裝或卸載App是一件比較容易的事情。為了實現某個通用的功能,通常將業務封裝成一個服務,同時植入到不同的App中(比如公司A開發的不同的App都植入了同一個服務)。在這種情況下,如果用戶安裝了公司A的多個產品,或者其他公司開發的App也內置了該通用功能的服務,這將使得用戶的手機上存在多個類似的服務。這樣,就有可能出現多個App選用所述多個類似的服務中不同的服務的情況,使得系統中有多個服務同時開啟,造成用戶設備的內存消耗和資源浪費。
發明內容
鑒于上述問題,提出了本發明以便提供一種克服上述問題或者至少部分地解決上述問題的服務定位方法和服務定位器。
依據本發明的一個方面,提供了一種服務定位方法,包括:
服務請求者搜索植入有目標服務的服務提供者,將搜索結果添加到服務提供者集合中;
遍歷所述服務提供者集合,獲取首次使用時間最早的目標服務所在的第一服務提供者、APK首次安裝時間最早的目標服務所在的第二服務提供者和APK修改時間最早的目標服務所在的第三服務提供者;
若所述第一服務提供者存在,則選中所述第一服務提供者來提供所述目標服務;若所述第一服務提供者不存在,且第二服務提供者存在,則選中所述第二服務提供者來提供所述目標服務;若所述第一服務提供者和第二服務提供者均不存在,且第三服務提供者存在,則選中所述第三服務提供者來提供所述目標服務。
可選地,在將搜索結果添加到服務提供者集合中之前,該方法還包括:從所述搜索結果中排除禁用所述目標服務的服務提供者。
可選地,在從所述搜索結果中排除禁用所述目標服務的服務提供者之后,該方法還包括:對搜索到的服務提供者進行版本匹配,并從所述搜索結果中排除版本匹配失敗的服務提供者。
可選地,所述對搜索到的服務提供者進行版本匹配,包括:當服務提供者的SDK版本號大于或者等于服務請求者所需的最低版本號,且服務請求者的SDK版本號大于或者等于服務提供者要求的最低版本號時,確定匹配成功,否則確定匹配失敗。
可選地,所述方法還包括:服務請求者在使用目標服務時,對目標服務的數據文件進行保存,以使該服務請求者被選中為服務提供者后,利用保存的數據文件提供服務。
根據本發明的另一方面,提供了一種服務定位器,包括:
服務搜索單元,適于搜索植入有目標服務的服務提供者,將搜索結果添加到服務提供者集合中;
遍歷獲取單元,適于遍歷所述服務提供者集合,獲取首次使用時間最早的目標服務所在的第一服務提供者、APK首次安裝時間最早的目標服務所在的第二服務提供者和APK修改時間最早的目標服務所在的第三服務提供者;
服務定位單元,適于若所述第一服務提供者存在,則選中所述第一服務提供者來提供所述目標服務;若所述第一服務提供者不存在,且第二服務提供者存在,則選中所述第二服務提供者來提供所述目標服務;若所述第一服務提供者和第二服務提供者均不存在,且第三服務提供者存在,則選中所述第三服務提供者來提供所述目標服務。
可選地,所述服務搜索單元中包括排除單元,適于在將搜索結果添加到服務提供者集合中之前,從所述搜索結果中排除禁用所述目標服務的服務提供者。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京奇虎科技有限公司;奇智軟件(北京)有限公司,未經北京奇虎科技有限公司;奇智軟件(北京)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310438533.3/2.html,轉載請聲明來源鉆瓜專利網。





