• / 10
  • 下載費用:30 金幣  

進程內工程交互方法和裝置.pdf

摘要
申請專利號:

CN201510629753.3

申請日:

2015.09.28

公開號:

CN105260204A

公開日:

2016.01.20

當前法律狀態:

實審

有效性:

審中

法律詳情: 實質審查的生效IPC(主分類):G06F 9/445申請日:20150928|||公開
IPC分類號: G06F9/445 主分類號: G06F9/445
申請人: 北京奇虎科技有限公司; 奇智軟件(北京)有限公司
發明人: 楊德立
地址: 100088北京市西城區新街口外大街28號D座112室(德勝園區)
優先權:
專利代理機構: 北京鼎佳達知識產權代理事務所(普通合伙)11348 代理人: 王偉鋒; 劉鐵生
PDF完整版下載: PDF下載
法律狀態
申請(專利)號:

CN201510629753.3

授權公告號:

|||

法律狀態公告日:

2016.02.17|||2016.01.20

法律狀態類型:

實質審查的生效|||公開

摘要

本發明提供了一種進程內工程交互方法和裝置,方法其包括:獲取預封裝的第一工程的接口,所述接口用于觸發所述第一工程執行預設的操作,并將所述接口實例化以生成用于執行所述操作的模塊;與所述第一工程位于相同進程的第二工程在調用所述接口時,獲取所述模塊并通過所述模塊為所述第二工程執行所述操作。根據本發明,以讓用戶在不升級主版本的情況下,對單獨的工程(主應用或插件)的功能進行更新后,仍能夠實現工程之間共享其功能,有利于減少重復接口的定義和相互之間的耦合。

權利要求書

1.一種進程內工程交互方法,其包括:
獲取預封裝的第一工程的接口,所述接口用于觸發所述第一工程執行預
設的操作,并將所述接口實例化以生成用于執行所述操作的模塊;
與所述第一工程位于相同進程的第二工程在調用所述接口時,獲取所述
模塊并通過所述模塊為所述第二工程執行所述操作。
2.根據權利要求1所述的進程內工程交互方法,其中,
所述第一工程為主應用的工程或為所述主應用所設置的插件的工程;
所述第二工程為主應用的工程或為所述主應用所設置的插件的工程。
3.根據權利要求1所述的進程內工程交互方法,其中,
在所述第一工程初始化時,進入獲取預封裝的第一工程的接口的步驟。
4.根據權利要求1所述的進程內工程交互方法,其中,還包括:
根據所述第一工程的標識和所述接口的標識設置所述模塊的標識;
獲取所述模塊并通過所述模塊為所述第二工程執行所述操作,具體包括:
按所述模塊的標識獲取所述模塊,以執行所述操作。
5.根據權利要求4所述的進程內工程交互方法,其中,還包括:
在預設的第一管理器中加入所述第一工程的標識和所述第二工程的標識,
所述第一管理器用于表示其中工程間進行交互;
在預設的第二管理器中加入所述模塊的標識,所述第二管理器用于表示
其中模塊用于供使用;
按所述模塊的標識獲取所述模塊,以執行所述操作,具體包括:
從所述第一管理器中查詢所述第一工程的標識,從所述第二管理器中查
詢所述模塊的標識,拼接得到所述模塊的標識以進行獲取。
6.根據權利要求4所述的進程內工程交互方法,其中,
所述第一工程的標識為所述第一工程對應的包名,所述接口的標識為所
述接口對應的類名。
7.一種進程內工程交互裝置,其包括:
接口實例化模塊,用于獲取預封裝的第一工程的接口,所述接口用于觸
發所述第一工程執行預設的操作,并將所述接口實例化以生成用于執行所述
操作的模塊;
接口調用模塊,用于與所述第一工程位于相同進程的第二工程在調用所
述接口時,獲取所述模塊并通過所述模塊為所述第二工程執行所述操作。
8.根據權利要求7所述的進程內工程交互裝置,其中,
所述第一工程為主應用的工程或為所述主應用所設置的插件的工程;
所述第二工程為主應用的工程或為所述主應用所設置的插件的工程。
9.根據權利要求7所述的進程內工程交互裝置,其中,
在所述第一工程初始化時,所述接口實例化模塊獲取預封裝的第一工程
的接口。
10.根據權利要求7所述的進程內工程交互裝置,其中,還包括:
標識設置模塊,用于根據所述第一工程的標識和所述接口的標識設置所
述模塊的標識;
所述接口調用模塊按所述模塊的標識獲取所述模塊,以執行所述操作。

說明書

進程內工程交互方法和裝置

技術領域

本發明涉及計算機技術領域,具體而言,涉及一種進程內工程交互方法
和裝置。

背景技術

現在的應用的擴展功能多使用插件的方式實現,如何保證多插件間的信
息同步、服務共享,就成為一個重要的課題。

以Android平臺的瀏覽器為例,目前瀏覽器使用的插件多使用獨立APK
的方式,通過動態加載,和主應用運行在同進程運行。如小說插件、浮窗插
件,通過插件化處理可以實現插件的獨立更新,且可以減少主應用包大小,
方便對外推廣。

但是插件之間的數據交互和服務共享隨著插件的越來越多需求場景也越
來越多,如何實現相互直線的服務共享,如何實現相互之間的數據共享成了
推進插件化的一個必須要解決的問題。

發明內容

鑒于上述問題,提出了本發明以便提供一種克服上述問題或者至少部分
地解決上述問題的進程內工程交互方法和裝置。

依據本發明的一個方面,提供了一種進程內工程交互方法,其包括:獲
取預封裝的第一工程的接口,所述接口用于觸發所述第一工程執行預設的操
作,并將所述接口實例化以生成用于執行所述操作的模塊;與所述第一工程
位于相同進程的第二工程在調用所述接口時,獲取所述模塊并通過所述模塊
為所述第二工程執行所述操作。

依據本發明的另一方面,還提供了一種進程內工程交互裝置,其包括:
接口實例化模塊,用于獲取預封裝的第一工程的接口,所述接口用于觸發所
述第一工程執行預設的操作,并將所述接口實例化以生成用于執行所述操作
的模塊;接口調用模塊,用于與所述第一工程位于相同進程的第二工程在調
用所述接口時,獲取所述模塊并通過所述模塊為所述第二工程執行所述操作。

根據以上的技術方案,可知本發明的進程內工程交互方法和裝置至少具
有以下優點:

本發明的技術方案基于工程之間(包括主應用與插件之間、插件與插件
之間)用之間頻繁的交互需求而設計,通過封裝接口并將接口實例化來實現
接口的共享,有利于工程之間有效地進行交互通信;根據本發明的技術方案,
可以讓用戶在不升級主版本的情況下,對單獨的工程(主應用或插件)的功
能進行更新后,仍能夠實現工程之間共享其功能,使工程之間狀態統一、UI
效果統一、統計統一等等,有利于于減少重復接口的定義和相互之間的耦合。

上述說明僅是本發明技術方案的概述,為了能夠更清楚了解本發明的技
術手段,而可依照說明書的內容予以實施,并且為了讓本發明的上述和其它
目的、特征和優點能夠更明顯易懂,以下特舉本發明的具體實施方式。

附圖說明

通過閱讀下文優選實施方式的詳細描述,各種其他的優點和益處對于本
領域普通技術人員將變得清楚明了。附圖僅用于示出優選實施方式的目的,
而并不認為是對本發明的限制。而且在整個附圖中,用相同的參考符號表示
相同的部件。在附圖中:

圖1示出了根據本發明的一個實施例的進程內工程交互方法的流程圖;

圖2示出了根據本發明的一個實施例的進程內工程交互方法的流程圖;

圖3示出了根據本發明的一個實施例的進程內工程交互裝置的框圖;

圖4示出了根據本發明的一個實施例的進程內工程交互裝置的框圖。

具體實施方式

下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示
了本公開的示例性實施例,然而應當理解,可以以各種形式實現本公開而不
應被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地
理解本公開,并且能夠將本公開的范圍完整的傳達給本領域的技術人員。

如圖1所示,本發明的一個實施例中提供了一種進程內工程交互方法,
其包括:

步驟110,在第一工程初始化時,獲取預封裝的第一工程的接口,接口用
于觸發第一工程執行預設的操作,并將接口實例化以生成用于執行操作的模
塊。其中,第一工程為主應用的工程或為主應用所設置的插件的工程;第二
工程為主應用的工程或為主應用所設置的插件的工程。在本實施例中,第一
工程和第二工程可以是主應用與相應的插件,也可以是兩個插件,例如,主
應用可以是瀏覽器主應用,而插件可以是瀏覽器的用于閱讀的小說插件,用
于在頁面上設置浮窗的浮窗插件。

在本實施例的技術方案中,封裝接口的方式可以是:對于第一工程需要
定義其對外的接口類,在第一工程中加入實現該接口功能的方法類。在該工
程發生更新時,其對應的接口和方法類也可隨之更新。在本實施例的技術方
案中,在第一工程初始化時即獲取接口進行實例化,使得第二工程可以盡快
調用該接口。

步驟120,與第一工程位于相同進程的第二工程在調用接口時,獲取模塊
并通過模塊為第二工程執行操作。在本實施例的技術方案中,例如,第一工
程是提供了夜間模式狀態切換接口的插件,第二工程為瀏覽器的主應用,則
主應用獲取該接口實例化的模塊后,可以在主應用中切換夜間模式,或者第
一工程是提供了亮度調節接口的插件,則主應用獲取該接口實例化的插件后,
可以在主應用中進行亮度調節。

如圖2所示,本發明的一個實施例中提供了一種進程內工程交互方法,
其包括:

步驟210,在第一工程初始化時,獲取預封裝的第一工程的接口,接口用
于觸發第一工程執行預設的操作,并將接口實例化以生成用于執行操作的模
塊,并根據第一工程的標識和接口的標識設置模塊的標識。其中,第一工程
的標識為第一工程對應的包名(packagename),接口的標識為接口對應的類
(class)名。在本實施例的技術方案中,對設置標識的方式不進行限制,例
如,可以直接進行拼接。

步驟220,在預設的第一管理器中加入第一工程的標識和第二工程的標識,
第一管理器用于表示其中工程間進行交互。在本實施例的技術方案中,第一
管理器用來管理多個工程,包括主應用和多個插件,提供初始化、加載等操
作,第一管理器全局持有,表示其中的主應用和插件之間全局都可以進行接
口的相互調用。

步驟230,在預設的第二管理器中加入模塊的標識,第二管理器用于表示
其中模塊用于供使用。在本實施例的技術方案中,第二管理器用來管理多個
實例化的模塊,每個實例化的模塊對應的接口都被添加在其中,則其他工程
可以從查詢出相應的接口來獲取實例化的模塊進行使用。第二管理器全局持
有方便其中的接口可以全局被調用。

步驟240,與第一工程位于相同進程的第二工程在調用接口時,從第一管
理器中查詢第一工程的標識,從第二管理器中查詢模塊的標識,拼接得到模
塊的標識以進行獲取模塊,以執行操作。在本實施例的技術方案中,當第二
工程對第一工程的接口調用時,首先可知其與共同位于第一管理器的第一工
程可以進行功能交互,同時從第二管理器中可查詢到相應的接口,則將第一
工程的標識和第二工程的標識進行拼接就可以得到對應的模塊標識,則按該
標識即可獲取實例化的模塊來進行使用。

如圖3所示,本發明的一個實施例中提供了一種進程內工程交互裝置,
其包括:

接口實例化模塊310,在第一工程初始化時,獲取預封裝的第一工程的接
口,接口用于觸發第一工程執行預設的操作,并將接口實例化以生成用于執
行操作的模塊。其中,第一工程為主應用的工程或為主應用所設置的插件的
工程;第二工程為主應用的工程或為主應用所設置的插件的工程。在本實施
例中,第一工程和第二工程可以是主應用與相應的插件,也可以是兩個插件,
例如,主應用可以是瀏覽器主應用,而插件可以是瀏覽器的用于閱讀的小說
插件,用于在頁面上設置浮窗的浮窗插件。

在本實施例的技術方案中,封裝接口的方式可以是:對于第一工程需要
定義其對外的接口類,在第一工程中加入實現該接口功能的方法類。在該工
程發生更新時,其對應的接口和方法類也可隨之更新。在本實施例的技術方
案中,在第一工程初始化時即獲取接口進行實例化,使得第二工程可以盡快
調用該接口。

接口調用模塊320,與第一工程位于相同進程的第二工程在調用接口時,
獲取模塊并通過模塊為第二工程執行操作。在本實施例的技術方案中,例如,
第一工程是提供了夜間模式狀態切換接口的插件,第二工程為瀏覽器的主應
用,則主應用獲取該接口實例化的模塊后,可以在主應用中切換夜間模式,
或者第一工程是提供了亮度調節接口的插件,則主應用獲取該接口實例化的
插件后,可以在主應用中進行亮度調節。

如圖4所示,本發明的一個實施例中提供了一種進程內工程交互裝置,
其包括:

接口實例化模塊410,在第一工程初始化時,獲取預封裝的第一工程的接
口,接口用于觸發第一工程執行預設的操作,并將接口實例化以生成用于執
行操作的模塊。

標識設置模塊420,根據第一工程的標識和接口的標識設置模塊的標識。
其中,第一工程的標識為第一工程對應的包名(packagename),接口的標識
為接口對應的類(class)名。在本實施例的技術方案中,對設置標識的方式
不進行限制,例如,可以直接進行拼接。

第一管理器模塊430,在預設的第一管理器中加入第一工程的標識和第二
工程的標識,第一管理器用于表示其中工程間進行交互。在本實施例的技術
方案中,第一管理器用來管理多個工程,包括主應用和多個插件,提供初始
化、加載等操作,第一管理器全局持有,表示其中的主應用和插件之間全局
都可以進行接口的相互調用。

第二管理器模塊440,在預設的第二管理器中加入模塊的標識,第二管理
器用于表示其中模塊用于供使用。在本實施例的技術方案中,第二管理器用
來管理多個實例化的模塊,每個實例化的模塊對應的接口都被添加在其中,
則其他工程可以從查詢出相應的接口來獲取實例化的模塊進行使用。第二管
理器全局持有方便其中的接口可以全局被調用。

接口調用模塊450,與第一工程位于相同進程的第二工程在調用接口時,
從第一管理器中查詢第一工程的標識,從第二管理器中查詢模塊的標識,拼
接得到模塊的標識以進行獲取模塊,以執行操作。在本實施例的技術方案中,
當第二工程對第一工程的接口調用時,首先可知其與共同位于第一管理器的
第一工程可以進行功能交互,同時從第二管理器中可查詢到相應的接口,則
將第一工程的標識和第二工程的標識進行拼接就可以得到對應的模塊標識,
則按該標識即可獲取實例化的模塊來進行使用。

在此提供的算法和顯示不與任何特定計算機、虛擬系統或者其它設備固
有相關。各種通用系統也可以與基于在此的示教一起使用。根據上面的描述,
構造這類系統所要求的結構是顯而易見的。此外,本發明也不針對任何特定
編程語言。應當明白,可以利用各種編程語言實現在此描述的本發明的內容,
并且上面對特定語言所做的描述是為了披露本發明的最佳實施方式。

在此處所提供的說明書中,說明了大量具體細節。然而,能夠理解,本發
明的實施例可以在沒有這些具體細節的情況下實踐。在一些實例中,并未詳
細示出公知的方法、結構和技術,以便不模糊對本說明書的理解。

類似地,應當理解,為了精簡本公開并幫助理解各個發明方面中的一個或
多個,在上面對本發明的示例性實施例的描述中,本發明的各個特征有時被
一起分組到單個實施例、圖、或者對其的描述中。然而,并不應將該公開的
方法解釋成反映如下意圖:即所要求保護的本發明要求比在每個權利要求中
所明確記載的特征更多的特征。更確切地說,如下面的權利要求書所反映的
那樣,發明方面在于少于前面公開的單個實施例的所有特征。因此,遵循具
體實施方式的權利要求書由此明確地并入該具體實施方式,其中每個權利要
求本身都作為本發明的單獨實施例。

本領域那些技術人員可以理解,可以對實施例中的設備中的模塊進行自
適應性地改變并且把它們設置在與該實施例不同的一個或多個設備中。可以
把實施例中的模塊或單元或組件組合成一個模塊或單元或組件,以及此外可
以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者
單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴
隨的權利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或
者設備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴
隨的權利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相
似目的的替代特征來代替。

此外,本領域的技術人員能夠理解,盡管在此所述的一些實施例包括其它
實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合
意味著處于本發明的范圍之內并且形成不同的實施例。例如,在下面的權利
要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。

本發明的各個部件實施例可以以硬件實現,或者以在一個或者多個處理器
上運行的軟件模塊實現,或者以它們的組合實現。本領域的技術人員應當理
解,可以在實踐中使用微處理器或者數字信號處理器(DSP)來實現根據本發
明實施例的進程內工程交互裝置中的一些或者全部部件的一些或者全部功能。
本發明還可以實現為用于執行這里所描述的方法的一部分或者全部的設備或
者裝置程序(例如,計算機程序和計算機程序產品)。這樣的實現本發明的
程序可以存儲在計算機可讀介質上,或者可以具有一個或者多個信號的形式。
這樣的信號可以從因特網網站上下載得到,或者在載體信號上提供,或者以
任何其他形式提供。

應該注意的是上述實施例對本發明進行說明而不是對本發明進行限制,并
且本領域技術人員在不脫離所附權利要求的范圍的情況下可設計出替換實施
例。在權利要求中,不應將位于括號之間的任何參考符號構造成對權利要求
的限制。單詞“包含”不排除存在未列在權利要求中的元件或步驟。位于元
件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發明可以借
助于包括有若干不同元件的硬件以及借助于適當編程的計算機來實現。在列
舉了若干裝置的單元權利要求中,這些裝置中的若干個可以是通過同一個硬
件項來具體體現。單詞第一、第二、以及第三等的使用不表示任何順序。可
將這些單詞解釋為名稱。

A1、一種進程內工程交互方法,其包括:

獲取預封裝的第一工程的接口,所述接口用于觸發所述第一工程執行預
設的操作,并將所述接口實例化以生成用于執行所述操作的模塊;

與所述第一工程位于相同進程的第二工程在調用所述接口時,獲取所述
模塊并通過所述模塊為所述第二工程執行所述操作。

A2、根據A1所述的進程內工程交互方法,其中,

所述第一工程為主應用的工程或為所述主應用所設置的插件的工程;

所述第二工程為主應用的工程或為所述主應用所設置的插件的工程。

A3、根據A1所述的進程內工程交互方法,其中,

在所述第一工程初始化時,進入獲取預封裝的第一工程的接口的步驟。

A4、根據A1所述的進程內工程交互方法,其中,還包括:

根據所述第一工程的標識和所述接口的標識設置所述模塊的標識;

獲取所述模塊并通過所述模塊為所述第二工程執行所述操作,具體包括:

按所述模塊的標識獲取所述模塊,以執行所述操作。

A5、根據A4所述的進程內工程交互方法,其中,還包括:

在預設的第一管理器中加入所述第一工程的標識和所述第二工程的標識,
所述第一管理器用于表示其中工程間進行交互;

在預設的第二管理器中加入所述模塊的標識,所述第二管理器用于表示
其中模塊用于供使用;

按所述模塊的標識獲取所述模塊,以執行所述操作,具體包括:

從所述第一管理器中查詢所述第一工程的標識,從所述第二管理器中查
詢所述模塊的標識,拼接得到所述模塊的標識以進行獲取。

A6、根據A4所述的進程內工程交互方法,其中,

所述第一工程的標識為所述第一工程對應的包名,所述接口的標識為所
述接口對應的類名。

A7、一種進程內工程交互裝置,其包括:

接口實例化模塊,用于獲取預封裝的第一工程的接口,所述接口用于觸
發所述第一工程執行預設的操作,并將所述接口實例化以生成用于執行所述
操作的模塊;

接口調用模塊,用于與所述第一工程位于相同進程的第二工程在調用所
述接口時,獲取所述模塊并通過所述模塊為所述第二工程執行所述操作。

A8、根據A7所述的進程內工程交互裝置,其中,

所述第一工程為主應用的工程或為所述主應用所設置的插件的工程;

所述第二工程為主應用的工程或為所述主應用所設置的插件的工程。

A9、根據A7所述的進程內工程交互裝置,其中,

在所述第一工程初始化時,所述接口實例化模塊獲取預封裝的第一工程
的接口。

A10、根據A7所述的進程內工程交互裝置,其中,還包括:

標識設置模塊,用于根據所述第一工程的標識和所述接口的標識設置所
述模塊的標識;

所述接口調用模塊按所述模塊的標識獲取所述模塊,以執行所述操作。

A11、根據A10所述的進程內工程交互裝置,其中,還包括:

第一管理器模塊,用于在預設的第一管理器中加入所述第一工程的標識
和所述第二工程的標識,所述第一管理器用于表示其中工程間進行交互;

第二管理器模塊,用于在預設的第二管理器中加入所述模塊的標識,所
述第二管理器用于表示其中模塊用于供使用;

所述接口調用模塊從所述第一管理器中查詢所述第一工程的標識,從所
述第二管理器中查詢所述模塊的標識,拼接得到所述模塊的標識以進行獲取。

A12、根據A10所述的進程內工程交互裝置,其中,

所述第一工程的標識為所述第一工程對應的包名,所述接口的標識為所
述接口對應的類名。

關 鍵 詞:
進程 工程 交互 方法 裝置
  專利查詢網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:進程內工程交互方法和裝置.pdf
鏈接地址:http://www.rgyfuv.icu/p-6345470.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服客服 - 聯系我們

[email protected] 2017-2018 zhuanlichaxun.net網站版權所有
經營許可證編號:粵ICP備17046363號-1 
 


收起
展開
山东11选5中奖结果走势图