專利名稱:應用加載方法及系統的制作方法
應用加載方法及系統
技術領域:
本發明涉及網絡通信技術,特別涉及一種應用加載方法及系統。
背景技術:
開放成為互聯網發展的必然趨勢,許多公司競相推出自己的開放平臺。在開放平臺上,可承載大量的第三方應用,用戶可以從這些應用列表中選擇自己需要的應用進行安裝。隨著應用的增多,開放平臺負責加載的應用也越來越多,可能使得開放平臺不堪重負,降低了開放平臺加載應用的性能,且對應用的加載方式單一。
發明內容基于此,有必要提供一種能提高開放平臺性能的應用加載方法。一種應用加載方法,包括以下步驟:獲取應用加載請求;根據所述應用加載請求獲取應用類型;判斷進程策略管理器中是否已存在與所述應用類型對應的進程,若是,則將所述應用加載到所述進程中,若否,則創建一個與所述應用類型對應的新進程,將所述應用加載到所述新進程中。此外,還有必要提供一種能提高開放平臺性能應用加載系統。—種應用加載系統,包括:獲取模塊,用于獲取應用加載請求,并根據所述應用加載請求獲取應用類型;判斷模塊,用于判斷進程策略管理器中是否已存在與所述應用類型對應的進程;加載模塊,用于在所述判斷模塊判斷出已存在與所述應用標識對應的進程時,將所述應用加載到所述進程中;創建模塊,用于在所述判斷模塊判斷出不存在與所述應用標識對應的進程時,創建一個與所述應用類型對應的新進程,所述加載模塊還用于將所述應用加載到所述新進程中。上述應用加載方法及系統,根據應用加載請求中應用類型,判斷是否存在與應用類型對應的進程,若存在,則將應用加載到進程,若不存在,則將創建與應用類型對應的新的進程,將應用加載到新的進程, 如此將應用加載在開放平臺之外的進程中,減輕了開放平臺的加載負擔,提高了開放平臺的性能。
圖1為一個實施例中應用加載方法的流程示意圖;圖2為另一個實施例中應用加載方法的流程示意圖;圖3為一個實施例中應用加載系統的內部結構示意圖4為另一個實施例中應用加載系統的內部結構示意圖。
具體實施方式下面結合具體的實施例及附圖對技術方案進行詳細的描述。如圖1所示,在一個實施例中,一種應用加載方法,包括以下步驟:步驟S110,獲取應用加載請求。本實施例中,應用是指制作并在平臺上發布的應用程序,如壓縮應用程序。為方便用戶使用,需加載應用。步驟S120,根據該應用加載請求獲取應用類型。本實施例中,平臺上的進程策略管理器(ExeAgentMgr)預設了應用類型。平臺獲取到加載應用的請求后,從應用加載請求中獲取應用類型。具體的,根據應用加載請求獲取應用配置文件,從該應用配置文件中獲取該應用類型。應用配置文件中包含type字段,該type字段用于標識應用類型。應用類型可如Web應用或本地應用等。該應用類型預設方式包括:(I) 一個應用為一個應用類型,如應用A、B、C等各位一個應用類型。(2) 一類應用為一個應用類型,如應用A和B為一個應用類型,應用C和D為一個
應用類型等。(3)所有應用為一個應用類型,如應用A、B、C等所有應用為一個應用類型。
步驟S130,判斷進程策略管理器中是否已存在與該應用類型對應的進程,若是,執行步驟S140,若否,執行步驟S150。本實施例中,預先設定一個應用類型對應一個進程。判斷平臺的進程策略管理器中是否已存在與應用類型對應的進程,若存在,則將該應用加載到進程中,若不存在,則創建一個與該應用類型對應的新的進程,將該應用加載到新的進程中。具體的,如應用A的應用類型為001,判斷進程策略管理器中是否存在與應用類型001對應的進程,若存在,則將應用A加入進程中,若不存在創建一個與應用類型001對應的進程,將應用A加入創建的新的進程中。步驟S140,將該應用加載到該進程中。步驟S150,創建一個與該應用類型對應的新進程,將該應用加載到該新進程中。在一個實施例中,預設一個應用為一個應用類型時,則如圖2所示,上述應用加載方法包括步驟:步驟S201,獲取應用加載請求。步驟S203,根據該應用加載請求獲取應用標識。具體的,獲取的應用加載請求中包含應用標識,從該加載請求中獲取應用標識。應用標識是用于唯一標識一個應用,如應用A的標識為0001。步驟S205,根據該應用標識從進程策略管理器中按照預設的應用標識與進程的對應關系查找對應的進程。具體的,可預先設置應用標識與進程的對應關系。步驟S207,判斷該進程策略管理器中是否已存在與該應用標識對應的進程,若是,則執行步驟S209,若否,則執行步驟S211。
具體的,平臺上的進程策略管理器(ExeAgentMgr)查詢是否已存在與該應用標識對應的進程,若存在,則將該應用加載到該存在的進程中,若不存在,則創建一個新進程,然后將該應用加載到新進程中。步驟S209,將該應用加載到該進程。步驟S211,創建一個與該應用標識對應的新進程,將該應用加載到該新進程。具體的,進程策略管理器申請創建一個新進程exe,將該應用加載到該新進程中。在一個實施例中,預設一類應用為一個應用類型時,可按照步驟S130至步驟S150將應用加載。如此可將一類應用加載在一個進程中。在一個實施例中,預設所有應用為一個應用類型時,按照步驟S130至步驟S150完成應用加載。具體的,根據該應用加載請求,將該應用加載到平臺所在的進程。如圖3所不,在一個實施例中,一種應用加載系統,包括獲取模塊10、判斷模塊20、加載模塊30和創建模塊40。其中:獲取模塊10用于獲取應用加載請求,并根據該應用加載請求獲取應用類型。本實施例中,應用是指制作并在平臺上發布的應用程序,如壓縮應用程序。為方便用戶使用,需加載應用。平臺上的進程策略管理器(ExeAgentMgr)預設了應用類型。獲取模塊10獲取到加載應用的請求后,從應用加載請求中獲取應用類型。具體的,獲取模塊10根據應用加載請求獲取應用配置文件,從該應用配置文件中獲取該應用類型。應用配置文件中包含type字段,該type字段用于標識應用類型。應用類型可如Web應用或本地應用
坐寸ο判斷模塊20用于判斷進程策略管理器中是否已存在與該應用類型對應的進程。本實施例中,預先設定一個應用類型對應一個進程。判斷模塊20判斷平臺的進程策略管理器中是否已存在與應用類型對應的進程,若存在,則加載模塊30將該應用加載到進程中,若不存在,則創建模塊40創建一個與該應用類型對應的新的進程,將該應用加載到新的進程中。具體的,如應用A的應用類型為001,判斷進程策略管理器中是否存在與應用類型001對應的進程,若存在,則加載模塊30將應用A加入進程中,若不存在,則創建模塊40創建一個與應用類型001對應的進程,加載模塊30將應用A加入創建的新的進程中。在一個實施例中,如圖4所示,上述應用加載系統,除了包括獲取模塊10、判斷模塊20、加載模塊30和創建模塊40,還包括預設模塊50和查找模塊60。預設模塊50預設一個應用為一個應用類型,如應用A、B、C等各位一個應用類型。則獲取模塊10還用于根據該應用加載請求獲取應用標識。具體的,獲取的應用加載請求中包含應用標識,從該應用加載請求中獲取該應用標識。應用標識是用于唯一標識一個應用,如應用A的標識為0001。查找模塊60用于根據該應用標識從進程策略管理器中按照預設的應用的標識與進程的對應關系查找對應的進程。具體的預先設置應用標識與進程的對應關系。查找模塊60根據獲取的應用標識從數據庫中的預先設置的應用標識與進程的對應關系查找與該應用對應的進程。判斷模塊20用于判斷進程策略管理器中是否已存在與該應用標識對應的進程。具體的,然后,從平臺上的進程策略管理器(ExeAgentMgr)查詢是否已存在與該應用標識對應的進程。
加載模塊30還用于在判斷模塊20判斷出已存在與該應用標識對應的進程時,將該應用加載到與該應用標識對應的進程。創建模塊40用于在判斷模塊20判斷出不存在與該應用標識對應的進程時,創建一個與應用標識對應的新進程,加載模塊30還用于將該應用加載到該新進程。在一個實施例中,預設模塊50預設一類應用為一個應用類型,如應用A和B為一個應用類型,應用C和D為一個應用類型等。則獲取模塊10還用于根據該應用加載請求,獲取該應用類型。查找模塊60根據該應用類型從進程策略管理器中按照預設的應用的類型與進程的對應關系查找對應的進程。具體的預先設置應用類型與進程的對應關系。查找模塊60根據獲取的應用類型從進程策略管理器中按照預先設置的應用類型與進程的對應關系查找與該應用對應的進程。判斷模塊20還用于判斷進程策略管理器中是否已存在與該應用類型對應的進程。加載模塊30還用于在判斷模塊20判斷出已存在與該應用類型對應的進程時,將該應用加載到該進程中。創建模塊40還用于在判斷模塊20判斷出不存在與該應用類型對應的進程時,創建一個與應用類型對應的新進程,加載模塊20還用于將應用加載到該新進程。具體的,創建模塊40申請創建一個新進程exe,將該應用加載到該新進程中。如此,可將相同類型的應用加載到相同的進程中。在一個實施例中,預設模塊50預設所有應用為一個應用類型,如應用A、B、C等所有應用為一個應用類型。判斷模塊20判斷進程策略管理器中是否已存在與該應用類型對應的進程,若存在,則加載模塊30將該應用加載到該進程中,若否,則加載模塊30還用于根據該應用加載請求,將該應用加載到平臺所在的進程。若不存在,則創建模塊40創建一個與該應用類型對應的新的進程,加載模塊30將該應用加載到新的進程中。上述應用加載方法及系統,根據應用加載請求中應用類型,判斷是否存在與應用類型對應的進程,若存在,則將應用加載到進程,若不存在,則將創建與應用類型對應的新的進程,將應用加載到新的進程,如此將應用加載在開放平臺之外的進程中,減輕了開放平臺的加載負擔,提高了開放平臺的性能。此外,將相同類型的應用加載到相同的進程中,進一步減輕了開放平臺的負擔,且提高了進程的利用率。以上所述實施例僅表達了本發明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對本發明專利范圍的限制。應當指出的是,對于本領域的普通技術人員來說,在不脫離本發明構思的前提下,還可以做出若干變形和改進,這些都屬于本發明的保護范圍。因此,本發明專利的保護范圍應以所附權利要求為準。
權利要求
1.一種應用加載方法,包括以下步驟: 獲取應用加載請求; 根據所述應用加載請求獲取應用類型; 判斷進程策略管理器中是否已存在與所述應用類型對應的進程,若是,則將所述應用加載到所述進程中,若否,則創建一個與所述應用類型對應的新進程,將所述應用加載到所述新進程中。
2.根據權利要求1所述的應用加載方法,其特征在于,還包括步驟:預設一個應用為一個應用類型; 所述根據所述加載請求獲取應用類型的步驟為: 根據所述應用加載請求獲取應用標識; 所述應用加載方法還包括: 根據所述應用標識從進程策略管理器中按照預設的應用標識與進程的對應關系查找對應的進程; 判斷所述進程策略管理器中是否已存在與所述應用標識對應的進程,若是,則將所述應用加載到所述進程,若否,則創建一個與所述應用標識對應的新進程,將所述應用加載到所述新進程。
3.根據權利要求1所述的 應用加載方法,其特征在于,還包括步驟:預設一類應用為一個應用類型。
4.根據權利要求1所述的應用加載方法,其特征在于,還包括步驟:預設所有應用為一個應用類型。
5.根據權利要求1所述的應用加載方法,其特征在于,所述根據所述加載請求獲取應用類型的步驟為: 根據所述應用加載請求獲取應用配置文件; 從所述配置文件中獲取所述應用類型。
6.—種應用加載系統,其特征在于,包括: 獲取模塊,用于獲取應用加載請求,并根據所述應用加載請求獲取應用類型; 判斷模塊,用于判斷進程策略管理器中是否已存在與所述應用類型對應的進程; 加載模塊,用于在所述判斷模塊判斷出已存在與所述應用標識對應的進程時,將所述應用加載到所述進程中; 創建模塊,用于在所述判斷模塊判斷出不存在與所述應用標識對應的進程時,創建一個與所述應用類型對應的新進程,所述加載模塊還用于將所述應用加載到所述新進程中。
7.根據權利要求6所述的應用加載系統,其特征在于,還包括: 預設模塊,用于預設一個應用為一個應用類型; 所述獲取模塊還用于根據所述應用加載請求獲取應用標識; 查找模塊,用于根據所述應用標識從進程策略管理器中按照預設的應用標識與進程的對應關系查找對應的進程; 所述判斷模塊還用于判斷進程策略管理器中是否已存在與所述應用標識對應的進程; 所述加載模塊還用于在所述判斷模塊判斷出已存在與所述應用標識對應的進程時,將所述應用加載到所述進程; 所述創建模塊還用于在所述判斷模塊判斷出不存在與所述應用標識對應的進程時,創建一個與所述應用標識對應的新進程,所述加載模塊還用于將所述應用加載到所述新進程。
8.根據權利要求6所述的應用加載系統,其特征在于,還包括: 預設模塊,用于預設一類應用為一個應用類型。
9.根據權利要求6所述的應用加載系統,其特征在于,還包括: 預設模塊,用于預設所有應用對應一個應用類型。
10.根據權利要求6所述的應用加載系統,其特征在于,所述獲取模塊還用于根據所述應用加載請求獲取應用配置文件 ,再從所述配置文件中獲取所述應用類型。
全文摘要
本發明涉及一種應用加載方法及系統。該方法包括以下步驟獲取應用加載請求;根據所述應用加載請求獲取應用類型;判斷進程策略管理器中是否已存在與所述應用類型對應的進程,若是,則將所述應用加載到所述進程中,若否,則創建一個與所述應用類型對應的新進程,將所述應用加載到所述新進程中。上述應用加載方法及系統,根據應用加載請求中應用類型,判斷是否存在與應用類型對應的進程,若存在,則將應用加載到進程,若不存在,則將創建與應用類型對應的新的進程,將應用加載到新的進程,如此將應用加載在開放平臺之外的進程中,減輕了開放平臺的加載負擔,提高了開放平臺的性能。
文檔編號G06F9/445GK103197935SQ20121000469
公開日2013年7月10日 申請日期2012年1月9日 優先權日2012年1月9日
發明者鄒代柱, 彭勇, 游晶 申請人:騰訊科技(深圳)有限公司