[發(fā)明專(zhuān)利]一種配置加載方法和系統(tǒng)有效
| 申請(qǐng)?zhí)枺?/td> | 201710264030.7 | 申請(qǐng)日: | 2017-04-21 |
| 公開(kāi)(公告)號(hào): | CN107092491B | 公開(kāi)(公告)日: | 2021-04-16 |
| 發(fā)明(設(shè)計(jì))人: | 寧志超;林志遠(yuǎn) | 申請(qǐng)(專(zhuān)利權(quán))人: | 網(wǎng)宿科技股份有限公司 |
| 主分類(lèi)號(hào): | G06F9/4401 | 分類(lèi)號(hào): | G06F9/4401 |
| 代理公司: | 北京華智則銘知識(shí)產(chǎn)權(quán)代理有限公司 11573 | 代理人: | 田建濤 |
| 地址: | 200030 上海市徐匯區(qū)*** | 國(guó)省代碼: | 上海;31 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 配置 加載 方法 系統(tǒng) | ||
1.一種配置加載方法,其特征在于,包括:
接收通過(guò)接口輸入的配置信息;
根據(jù)所述配置信息生成配置對(duì)象,為所述配置對(duì)象分配唯一的序號(hào)并確定配置對(duì)象之間的依賴關(guān)系;所述配置對(duì)象的成員包括屬性、方法和存儲(chǔ);
以鄰接表的形式存儲(chǔ)所有配置對(duì)象及其依賴關(guān)系,得到第一鄰接表;
對(duì)所述第一鄰接表進(jìn)行遍歷,得到配置對(duì)象的加載序列;
按照所述加載序列,依次加載所述配置對(duì)象。
2.如權(quán)利要求1所述的方法,其特征在于,結(jié)合深度優(yōu)先遍歷和廣度優(yōu)先遍歷,對(duì)所述第一鄰接表進(jìn)行遍歷,得到配置對(duì)象的加載序列,包括:
從所述第一鄰接表中的指定節(jié)點(diǎn)開(kāi)始進(jìn)行深度優(yōu)先遍歷,對(duì)于每一個(gè)被訪問(wèn)的節(jié)點(diǎn),均執(zhí)行以下步驟A1至步驟A4,直至所述第一鄰接表中的所有節(jié)點(diǎn)都已被遍歷:
步驟A1,記錄該節(jié)點(diǎn)的訪問(wèn)次數(shù);
步驟A2,判斷所述節(jié)點(diǎn)的訪問(wèn)次數(shù)是否等于存儲(chǔ)在該節(jié)點(diǎn)處的配置對(duì)象的出度;
步驟A3,如果是,則說(shuō)明當(dāng)前節(jié)點(diǎn)被遍歷,繼續(xù)進(jìn)行深度優(yōu)先遍歷,訪問(wèn)依賴于所述當(dāng)前節(jié)點(diǎn),若沒(méi)有節(jié)點(diǎn)依賴于所述當(dāng)前節(jié)點(diǎn),則返回到被所述當(dāng)前節(jié)點(diǎn)依賴的節(jié)點(diǎn)處,進(jìn)行廣度優(yōu)先遍歷,訪問(wèn)下一個(gè)未被遍歷的節(jié)點(diǎn);
步驟A4,如果否,則暫時(shí)停止深度優(yōu)先遍歷,返回到被所述當(dāng)前節(jié)點(diǎn)依賴的節(jié)點(diǎn)處,轉(zhuǎn)為廣度優(yōu)先遍歷,訪問(wèn)下一個(gè)未被遍歷的節(jié)點(diǎn);將所述配置對(duì)象被遍歷的先后順序作為所述加載序列。
3.如權(quán)利要求2所述的方法,其特征在于,所述指定節(jié)點(diǎn)存儲(chǔ)有虛擬根配置對(duì)象,所述虛擬根配置對(duì)象被實(shí)體配置對(duì)象依賴,其中,所述實(shí)體配置對(duì)象存在對(duì)應(yīng)的實(shí)體配置文件;
虛擬配置對(duì)象不存在對(duì)應(yīng)的實(shí)體配置文件,依賴于實(shí)體配置對(duì)象或其他虛擬配置對(duì)象。
4.如權(quán)利要求1所述的方法,其特征在于,在得到配置對(duì)象的加載序列之后,所述方法還包括:
按照預(yù)設(shè)時(shí)間間隔檢測(cè)是否有配置文件更新;
如果檢測(cè)到有配置文件更新,按照預(yù)設(shè)方式生成更新的配置文件對(duì)應(yīng)的校驗(yàn)掩碼;
根據(jù)所述校驗(yàn)掩碼、所有配置對(duì)象的更新掩碼以及所述加載序列,確定需要更新的其他配置對(duì)象,其中,所述更新掩碼是預(yù)先按照所述配置對(duì)象的序號(hào)和依賴關(guān)系分別為每個(gè)配置對(duì)象生成的;
按照所述加載序列對(duì)需要更新的配置對(duì)象進(jìn)行更新。
5.如權(quán)利要求4所述的方法,其特征在于,根據(jù)所述校驗(yàn)掩碼、所有配置對(duì)象的更新掩碼以及所述加載序列,確定需要更新的其他配置對(duì)象,包括:
按照所述加載序列,分別對(duì)每個(gè)配置對(duì)象的更新掩碼和所述校驗(yàn)掩碼進(jìn)行與運(yùn)算;
如果運(yùn)算結(jié)果為真,則確定所述配置對(duì)象需要更新;
如果運(yùn)算結(jié)果為假,則確定所述配置對(duì)象不需要更新。
6.如權(quán)利要求1至5中任一項(xiàng)所述的方法,其特征在于,所述配置信息至少包括:配置文件是否為實(shí)體配置文件、配置文件的路徑、初始化方法、加載方法、析構(gòu)方法和依賴關(guān)系。
7.如權(quán)利要求1至5中任一項(xiàng)所述的方法,其特征在于,在按照所述加載序列,依次加載所述配置對(duì)象之后,所述方法還包括:
根據(jù)通過(guò)接口輸入的新的配置信息,在所述第一鄰接表中增加新的配置對(duì)象及其依賴關(guān)系;
通過(guò)遍歷,得到該新的配置對(duì)象的加載次序。
8.一種配置加載系統(tǒng),其特征在于,包括:
接收單元,用于接收通過(guò)接口輸入的配置信息;
配置對(duì)象生成單元,用于根據(jù)所述配置信息生成配置對(duì)象,為所述配置對(duì)象分配唯一的序號(hào)并確定配置對(duì)象之間的依賴關(guān)系;所述配置對(duì)象的成員包括屬性、方法和存儲(chǔ);
存儲(chǔ)單元,用于以鄰接表的形式存儲(chǔ)所有配置對(duì)象及其依賴關(guān)系,得到第一鄰接表;
遍歷單元,用于對(duì)所述第一鄰接表進(jìn)行遍歷,得到配置對(duì)象的加載序列;
加載單元,用于按照所述加載序列,依次加載所述配置對(duì)象。
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于網(wǎng)宿科技股份有限公司,未經(jīng)網(wǎng)宿科技股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710264030.7/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 上一篇:水平列表的展示方法及裝置
- 下一篇:虛擬對(duì)象的控制方法和裝置
- 同類(lèi)專(zhuān)利
- 專(zhuān)利分類(lèi)
- 一種數(shù)據(jù)庫(kù)讀寫(xiě)分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





