本發(fā)明涉及插件擴(kuò)展,更具體地說,本發(fā)明涉及基于xml-pull的動態(tài)插件擴(kuò)展系統(tǒng)和方法。
背景技術(shù):
1、插件是指在軟件或應(yīng)用程序中添加的額外功能模塊,用于擴(kuò)展軟件或應(yīng)用程序的功能,使用戶能夠根據(jù)自己的需求進(jìn)行定制和增強(qiáng)軟件的功能,xml-pull是一個用于解析xml的輕量級庫,能夠?qū)Σ寮男畔?nèi)容進(jìn)行解讀,為了確保插件能夠與應(yīng)用程序進(jìn)行動態(tài)擴(kuò)展,就需要利用xml-pull對插件的擴(kuò)展內(nèi)容進(jìn)行讀取和解析。
2、參考公開號為cn118484244a的專利申請公開了一種可擴(kuò)展插件系統(tǒng)、方法、設(shè)備及存儲介質(zhì),包括可執(zhí)行插件確定模塊,用于提供插件標(biāo)準(zhǔn);插件注冊與發(fā)現(xiàn)模塊,用于對所述可執(zhí)行插件的元信息進(jìn)行注冊;插件加載與卸載模塊,用于對所述可運(yùn)行插件類進(jìn)行加載;插件周期與服務(wù)管理模塊,用于利用所述目標(biāo)管理器對所述可運(yùn)行插件類運(yùn)行的生命周期進(jìn)行管理,以完成對所述插件方法的調(diào)用,并基于應(yīng)用程序編程接口進(jìn)行插件服務(wù)管理;
3、現(xiàn)有的動態(tài)擴(kuò)展系統(tǒng)在對插件進(jìn)行擴(kuò)展時,采用直接獲取插件的擴(kuò)展信息的方式,并以擴(kuò)展信息為基礎(chǔ),在應(yīng)用程序上配置出擴(kuò)展協(xié)議,實現(xiàn)插件的擴(kuò)展效果,由于不同的插件具有不同類型的擴(kuò)展信息,當(dāng)插件的擴(kuò)展信息與應(yīng)用程序的擴(kuò)展環(huán)境不兼容時,此時插件進(jìn)行擴(kuò)展的合理性會大大降低,容易導(dǎo)致后續(xù)插件與應(yīng)用程序擴(kuò)展時出現(xiàn)動態(tài)擴(kuò)展無法完成的現(xiàn)象,也容易對應(yīng)用程序的原始程序造成負(fù)面干擾現(xiàn)象。
4、鑒于此,本發(fā)明提出基于xml-pull的動態(tài)插件擴(kuò)展系統(tǒng)和方法以解決上述問題。
技術(shù)實現(xiàn)思路
1、為了克服現(xiàn)有技術(shù)的上述缺陷,為實現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:基于xml-pull的動態(tài)插件擴(kuò)展系統(tǒng),應(yīng)用于擴(kuò)展平臺,包括:
2、文件構(gòu)建模塊,用于提取出插件的基礎(chǔ)信息,從基礎(chǔ)信息中篩選出插件特征,插件特征包括依賴特征、兼容特征、格式特征和許可特征,并基于文件構(gòu)建準(zhǔn)則,將插件特征構(gòu)建成xml文件;
3、需求判定模塊,用于獲取xml文件的擴(kuò)展屬性,擴(kuò)展屬性包括類型量值和形式量值,計算出xml文件的需求系數(shù),并判定是否滿足動態(tài)擴(kuò)展需求;
4、接口篩選模塊,用于逐一識別出應(yīng)用程序接口的屬性狀態(tài),屬性狀態(tài)包括忙碌接口和空閑接口,并根據(jù)屬性狀態(tài),從接口中篩選出可擴(kuò)展接口;
5、系數(shù)計算模塊,用于獲取可擴(kuò)展接口的擴(kuò)展參數(shù),擴(kuò)展參數(shù)包括并發(fā)請求數(shù)、有效響應(yīng)時長和錯誤占比值,根據(jù)擴(kuò)展參數(shù),計算出可擴(kuò)展接口的擴(kuò)展系數(shù),并從可擴(kuò)展接口中篩選出目標(biāo)接口;
6、動態(tài)擴(kuò)展模塊,用于通過目標(biāo)接口將xml文件導(dǎo)入應(yīng)用程序中,基于xml-pull解析器對xml文件進(jìn)行解析,并控制插件動態(tài)擴(kuò)展。
7、進(jìn)一步的,依賴特征、兼容特征、格式特征和許可特征的篩選方法包括:
8、通過信息管理系統(tǒng)查詢出插件的綜合信息,逐一標(biāo)記出綜合信息的身份備注框,并識別出身份備注框內(nèi)的備注詞;
9、將備注詞為插件的身份備注框記為基礎(chǔ)備注框,并將基礎(chǔ)備注框?qū)?yīng)的綜合信息記為基礎(chǔ)信息;
10、通過自然語言處理技術(shù)逐一識別出基礎(chǔ)信息的關(guān)鍵語義,并將關(guān)鍵語義進(jìn)行拆分,獲得文字語義和數(shù)字語義;
11、將文字語義為依賴、兼容、格式和許可的關(guān)鍵語義分別記為依賴語義、兼容語義、格式語義和許可語義,并將依賴語義、兼容語義、格式語義和許可語義與對應(yīng)的數(shù)字語義首尾組合,生成依賴特征、兼容特征、格式特征和許可特征。
12、進(jìn)一步的,文件構(gòu)建準(zhǔn)則為:一個特征位內(nèi)只包含一個插件特征;
13、xml文件的構(gòu)建方法包括:
14、通過文件構(gòu)建工具構(gòu)建出空白的基礎(chǔ)文件,并在基礎(chǔ)文件內(nèi)依次繪制出四個一字形排列的特征位;
15、按照從前往后的方式,依次對四個特征位升序編號,獲得第一特征位、第二特征位、第三特征位和第四特征位;
16、分別在第一特征位、第二特征位、第三特征位和第四特征位的兩端標(biāo)記出文件關(guān)聯(lián)點,并在相鄰兩個文件關(guān)聯(lián)點之間建立關(guān)聯(lián)通道;
17、將依賴特征、兼容特征、格式特征和許可特征逐一導(dǎo)入到第一特征位、第二特征位、第三特征位和第四特征位內(nèi),生成xml文件。
18、進(jìn)一步的,類型量值和形式量值的獲取方法包括:
19、通過技術(shù)參數(shù)表查詢出xml文件的i個屬性信息,并逐一標(biāo)記出i個屬性信息的屬性字,將屬性字為類型和形式的屬性信息分別記為第一信息和第二信息;
20、通過時間戳逐一查詢出所有的第一信息和第二信息的構(gòu)建時間,并按照時間的先后順序?qū)?gòu)建時間逐一排列,生成第一排列行和第二排列行;
21、將第一排列行內(nèi)具有相同構(gòu)建時間的第一信息記為類型信息,并統(tǒng)計出類型信息的數(shù)量,獲得類型量值;
22、將第二排列行內(nèi)沒有相同構(gòu)建時間的第二信息記為形式信息,并統(tǒng)計出形式信息的數(shù)量,獲得形式量值;
23、需求系數(shù)的表達(dá)式為:;
24、式中,為xml文件的需求系數(shù),為xml文件的類型量值,為xml文件的形式量值。
25、進(jìn)一步的,是否滿足動態(tài)擴(kuò)展需求的判定方法包括:將xml文件的需求系數(shù)與預(yù)設(shè)的需求閾值比較;
26、當(dāng)大于等于時,判定滿足動態(tài)擴(kuò)展需求;
27、當(dāng)小于時,判定不滿足動態(tài)擴(kuò)展需求。
28、進(jìn)一步的,忙碌接口和空閑接口的識別方法包括:
29、通過數(shù)據(jù)庫逐一查詢出應(yīng)用程序p個接口的工作日志,并從工作日志中標(biāo)記出狀態(tài)指示欄,獲得p個狀態(tài)指示欄;
30、逐一識別出p個狀態(tài)指示欄內(nèi)的電位值,并統(tǒng)計出所有電位值的數(shù)量,獲得p個總量值;
31、逐一統(tǒng)計出p個狀態(tài)指示欄內(nèi)電位值為0的數(shù)量,獲得p個工作低位值;
32、當(dāng)接口的工作低位值大于等于三分之二總量值時,將接口的屬性狀態(tài)記為空閑接口;
33、當(dāng)接口的工作低位值小于三分之二總量值時,將接口的屬性狀態(tài)記為忙碌接口;
34、可擴(kuò)展接口的篩選方法包括:
35、當(dāng)接口的屬性狀態(tài)為忙碌狀態(tài)時,不將接口記為可擴(kuò)展接口;
36、當(dāng)接口的接口屬性為忙碌狀態(tài)時,將接口記為可擴(kuò)展接口,獲得個可擴(kuò)展接口。
37、進(jìn)一步的,有效響應(yīng)時長的獲取方法包括:
38、通過日志管理系統(tǒng)分別查詢出個可擴(kuò)展接口的歷史運(yùn)行日志,并標(biāo)記出歷史運(yùn)行日志中的執(zhí)行請求,獲得個執(zhí)行請求;
39、通過時間戳逐一查詢出個執(zhí)行請求的接收時刻和執(zhí)行時刻,并將接收時刻至執(zhí)行時刻之間的時長記為子時長,獲得個子時長;
40、將個子時長累加后求平均,獲得個有效響應(yīng)時長;
41、有效響應(yīng)時長的表達(dá)式為:;
42、式中,為第個可擴(kuò)展接口的有效響應(yīng)時長,為第個可擴(kuò)展接口的第個子時長。
43、進(jìn)一步的,錯誤占比值的獲取方法包括:
44、以當(dāng)前時刻為起始點,并向前倒推一個預(yù)設(shè)的返回周期,生成請求追溯時段;
45、通過系統(tǒng)監(jiān)控工具逐一查詢出個可擴(kuò)展接口在請求追溯時段內(nèi)所有的返回請求,并逐一標(biāo)記出所有的返回請求的狀態(tài)框,識別出狀態(tài)框內(nèi)的狀態(tài)值;
46、將狀態(tài)值為1的狀態(tài)框記為錯誤框,將錯誤框?qū)?yīng)的返回請求記為錯誤請求,并統(tǒng)計出錯誤請求的數(shù)量,獲得個錯誤量值;
47、逐一統(tǒng)計出個可擴(kuò)展接口的返回請求的總量,獲得個請求總值,并將個錯誤量值依次與個請求總值比較,獲得個錯誤占比值;
48、錯誤占比值的表達(dá)式為:;
49、式中,為第個可擴(kuò)展接口的錯誤占比值,為第個可擴(kuò)展接口的錯誤量值,為第個可擴(kuò)展接口的請求總值;
50、擴(kuò)展系數(shù)的表達(dá)式為:;
51、式中,為第個可擴(kuò)展接口的擴(kuò)展系數(shù),為第個可擴(kuò)展接口的并發(fā)請求數(shù),為大于0的權(quán)重因子。
52、進(jìn)一步的,xml文件的解析方法包括:
53、將目標(biāo)接口的工作狀態(tài)切換為開啟狀態(tài),將xml文件導(dǎo)入應(yīng)用程序的目標(biāo)接口中,并將目標(biāo)接口的工作狀態(tài)切換為關(guān)閉狀態(tài);
54、在xml文件中分別標(biāo)記出第一個信息位和最后一個信息位,記為解析起點和解析終點;
55、在應(yīng)用程序中引入?xml-pull解析器,并按照從解析起點至解析終點的順序,讀取并解析xml文件內(nèi)的信息,直至xml文件被解析完。
56、基于xml-pull的動態(tài)插件擴(kuò)展方法,應(yīng)用于擴(kuò)展平臺,基于所述的基于xml-pull的動態(tài)插件擴(kuò)展系統(tǒng)實現(xiàn),包括:
57、s1:提取出插件的基礎(chǔ)信息,從基礎(chǔ)信息中篩選出插件特征,插件特征包括依賴特征、兼容特征、格式特征和許可特征,并基于文件構(gòu)建準(zhǔn)則,將插件特征構(gòu)建成xml文件;
58、s2:獲取xml文件的擴(kuò)展屬性,擴(kuò)展屬性包括類型量值和形式量值,計算出xml文件的需求系數(shù),并判定是否滿足動態(tài)擴(kuò)展需求;
59、s3:若滿足動態(tài)擴(kuò)展需求,逐一識別出應(yīng)用程序接口的屬性狀態(tài),屬性狀態(tài)包括忙碌接口和空閑接口,并根據(jù)屬性狀態(tài),從接口中篩選出可擴(kuò)展接口;
60、s4:獲取可擴(kuò)展接口的擴(kuò)展參數(shù),擴(kuò)展參數(shù)包括并發(fā)請求數(shù)、有效響應(yīng)時長和錯誤占比值,根據(jù)擴(kuò)展參數(shù),計算出可擴(kuò)展接口的擴(kuò)展系數(shù),并從可擴(kuò)展接口中篩選出目標(biāo)接口;
61、s5:通過目標(biāo)接口將xml文件導(dǎo)入應(yīng)用程序中,基于xml-pull解析器對xml文件進(jìn)行解析,并控制插件動態(tài)擴(kuò)展。
62、本發(fā)明基于xml-pull的動態(tài)插件擴(kuò)展系統(tǒng)和方法的技術(shù)效果和優(yōu)點:
63、本發(fā)明通過提取出插件的基礎(chǔ)信息,從基礎(chǔ)信息中篩選出插件特征,并基于文件構(gòu)建準(zhǔn)則,將插件特征構(gòu)建成xml文件,獲取xml文件的擴(kuò)展屬性,計算出xml文件的需求系數(shù),并判定是否滿足動態(tài)擴(kuò)展需求,逐一識別出應(yīng)用程序的接口的屬性狀態(tài),并根據(jù)屬性狀態(tài),從接口中篩選出可擴(kuò)展接口,獲取可擴(kuò)展接口的擴(kuò)展參數(shù),根據(jù)擴(kuò)展參數(shù),計算出可擴(kuò)展接口的擴(kuò)展系數(shù),并從可擴(kuò)展接口中篩選出目標(biāo)接口,通過目標(biāo)接口將xml文件導(dǎo)入應(yīng)用程序中,基于xml-pull解析器對xml文件進(jìn)行解析,并控制插件動態(tài)擴(kuò)展;相對于現(xiàn)有技術(shù),通過文件構(gòu)建準(zhǔn)則,可以將插件的插件特征構(gòu)建成xml文件,并在對xml文件的擴(kuò)展系數(shù)進(jìn)行計算后,可以對插件是否滿足動態(tài)擴(kuò)展需求進(jìn)行初步判定,避免不合理的插件在動態(tài)擴(kuò)展時出現(xiàn)擴(kuò)展失敗的現(xiàn)象,達(dá)到了插件動態(tài)擴(kuò)展的前序識別效果,同時結(jié)合擴(kuò)展參數(shù)來計算出擴(kuò)展系數(shù),即可從可擴(kuò)展接口中準(zhǔn)確的篩選出目標(biāo)接口,從而保障了xml文件與應(yīng)用程序的動態(tài)連接效果,確保xml文件能夠通過目標(biāo)接口在應(yīng)用程序中進(jìn)行高效且準(zhǔn)確的動態(tài)擴(kuò)展操作,同時也防止插件動態(tài)擴(kuò)展時影響應(yīng)用程序的穩(wěn)定運(yùn)行,避免發(fā)生插件動態(tài)擴(kuò)展時對應(yīng)用程序的原始程序造成干擾的問題。