两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

基于樹(shù)結(jié)構(gòu)的API差異比對(duì)方法、裝置、設(shè)備和介質(zhì)與流程

文檔序號(hào):40647611發(fā)布日期:2025-01-10 18:54閱讀:6來(lái)源:國(guó)知局
基于樹(shù)結(jié)構(gòu)的API差異比對(duì)方法、裝置、設(shè)備和介質(zhì)與流程

本發(fā)明涉及計(jì)算機(jī),特別是涉及一種基于樹(shù)結(jié)構(gòu)的api差異比對(duì)方法、裝置、設(shè)備和介質(zhì)。


背景技術(shù):

1、在軟件系統(tǒng)的開(kāi)發(fā)和維護(hù)過(guò)程中,由于api的不斷演進(jìn)和變更,如何有效地對(duì)比和分析api之間的差異,已經(jīng)成為一個(gè)重要的問(wèn)題。目前api差異比對(duì)的需求主要體現(xiàn)在:1.版本控制:隨著軟件版本的升級(jí),不同版本的api可能會(huì)發(fā)生變化,需要一種方法來(lái)對(duì)比不同版本之間的api差異。2.兼容性檢測(cè):在集成多個(gè)系統(tǒng)時(shí),必須確保新版本的api與舊版本的api兼容,差異比對(duì)有助于發(fā)現(xiàn)不兼容的地方。3.變更影響分析:當(dāng)api發(fā)生變更時(shí),需要分析這些變更可能帶來(lái)的影響,如對(duì)前端頁(yè)面、api用例、上游系統(tǒng)調(diào)用是否帶來(lái)影響。針對(duì)api的差異比對(duì),目前常用的方法包括:1.文本比對(duì):利用文本比對(duì)工具(如diff)對(duì)api文檔進(jìn)行逐行對(duì)比。這種方法簡(jiǎn)單直接,但只適用于小規(guī)模和簡(jiǎn)單的api文檔。當(dāng)api文檔內(nèi)容龐大且結(jié)構(gòu)復(fù)雜時(shí),文本比對(duì)的方法顯得力不從心,難以直觀地反映api結(jié)構(gòu)的變化。2.工具化比對(duì):利用專(zhuān)門(mén)的api比對(duì)工具(如swagger?diff、openapidiff)對(duì)api的定義文件(如swagger、openapi)進(jìn)行比對(duì)。這種方法能夠自動(dòng)化地進(jìn)行api差異比對(duì),效率較高,但受限于工具的功能和api描述文件的格式。

2、可見(jiàn),現(xiàn)有方案在功能上存在一定的局限性,無(wú)法處理復(fù)雜的api結(jié)構(gòu),并且對(duì)于大規(guī)模的api文檔,比對(duì)過(guò)程繁瑣且耗時(shí),無(wú)法滿(mǎn)足使用需求。

3、針對(duì)上述問(wèn)題,目前尚未提出有效的解決方案。


技術(shù)實(shí)現(xiàn)思路

1、基于此,有必要針對(duì)上述技術(shù)問(wèn)題,提供一種基于樹(shù)結(jié)構(gòu)的api差異比對(duì)方法、裝置、設(shè)備和介質(zhì)。本發(fā)明支持復(fù)雜api結(jié)構(gòu)的參數(shù)及屬性的差異比對(duì),在樹(shù)結(jié)構(gòu)上直觀展示api的差異,為api變更影響分析提供清晰的依據(jù)。

2、根據(jù)本發(fā)明的第一方面,提供了一種基于樹(shù)結(jié)構(gòu)的api差異對(duì)比方法,包括:

3、api獲取步驟,獲取需要對(duì)比的api;

4、轉(zhuǎn)換步驟,將api文檔轉(zhuǎn)換為樹(shù)結(jié)構(gòu);

5、對(duì)比步驟,將需要對(duì)比的api通過(guò)所述樹(shù)結(jié)構(gòu)進(jìn)行對(duì)比;

6、記錄步驟,根據(jù)對(duì)比結(jié)果記錄參數(shù)的差異信息,以及每個(gè)參數(shù)在樹(shù)節(jié)點(diǎn)的層級(jí)路徑;

7、重建樹(shù)步驟,根據(jù)所述層級(jí)路徑重新構(gòu)建一顆攜帶api差異信息的樹(shù)。

8、在一些實(shí)施例中,在api獲取步驟與轉(zhuǎn)換步驟之間,還包括,

9、解析步驟,將api的參數(shù)定義中引用的模型解析為具體參數(shù)。

10、在一些實(shí)施例中,所述引用的模型為父子遞歸引用的數(shù)據(jù)模型時(shí),只進(jìn)行第一層引用關(guān)系的解析。

11、在一些實(shí)施例中,在轉(zhuǎn)換步驟與對(duì)比步驟之間,還包括,

12、噪點(diǎn)移除步驟,檢查所述樹(shù)結(jié)構(gòu),移除與差異對(duì)比無(wú)關(guān)的屬性;

13、在一些實(shí)施例中,還包括,

14、差異查詢(xún)步驟,通過(guò)對(duì)所述攜帶api差異信息的樹(shù)進(jìn)行過(guò)濾條件篩選查看api差異;

15、所述篩選條件包括:僅顯示差異、僅顯示破壞性變更。

16、在一些實(shí)施例中,所述樹(shù)結(jié)構(gòu)為jsonnode樹(shù)。

17、在一些實(shí)施例中,jsonnode樹(shù)中的節(jié)點(diǎn)類(lèi)型包括:對(duì)象類(lèi)型、數(shù)組類(lèi)型、值類(lèi)型;

18、不同節(jié)點(diǎn)類(lèi)型處理時(shí)進(jìn)行分別處理。

19、根據(jù)本發(fā)明的第二方面,提供了一種基于樹(shù)結(jié)構(gòu)的api差異對(duì)比裝置,包括:

20、api獲取模塊,用于獲取需要對(duì)比的api;

21、轉(zhuǎn)換模塊,用于將api文檔轉(zhuǎn)換為樹(shù)結(jié)構(gòu);

22、對(duì)比模塊,用于將需要對(duì)比的api通過(guò)所述樹(shù)結(jié)構(gòu)進(jìn)行對(duì)比;

23、記錄模塊,用于根據(jù)對(duì)比結(jié)果記錄參數(shù)的差異信息,以及每個(gè)參數(shù)在樹(shù)節(jié)點(diǎn)的層級(jí)路徑;

24、重建樹(shù)模塊,用于根據(jù)所述層級(jí)路徑重新構(gòu)建一顆攜帶api差異信息的樹(shù)。

25、根據(jù)本發(fā)明的第三方面,提供了一種計(jì)算機(jī)設(shè)備,包括存儲(chǔ)器、處理器及存儲(chǔ)在存儲(chǔ)器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,其特征在于,處理器執(zhí)行計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)上述任一實(shí)施例方法的步驟。

26、根據(jù)本發(fā)明的第四方面,提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述任一實(shí)施例方法的步驟。

27、本發(fā)明的有益效果:

28、1.將api版本對(duì)比抽象為兩個(gè)樹(shù)結(jié)構(gòu)的對(duì)比,并根據(jù)樹(shù)節(jié)點(diǎn)路徑及節(jié)點(diǎn)數(shù)據(jù)類(lèi)型進(jìn)行逐一比對(duì),確保算法的一致性和穩(wěn)定性。并且對(duì)于一些無(wú)需參與比對(duì)的參數(shù)或?qū)傩缘脑朦c(diǎn)數(shù)據(jù)進(jìn)行移除提高了處理效率。

29、2.支持?jǐn)?shù)據(jù)模型的檢測(cè)及自動(dòng)解析,確保比對(duì)準(zhǔn)入的一致性。支持?jǐn)?shù)據(jù)模型遞歸引用的檢測(cè),避免遞歸引用導(dǎo)致重復(fù)比對(duì)造成的系統(tǒng)棧溢出。

30、3.重新構(gòu)建一顆攜帶api差異信息的樹(shù),可直觀的在一個(gè)api詳情的基礎(chǔ)上,看出與另外一個(gè)版本的差異,通過(guò)篩選破壞性變更能夠直觀的判斷api的變更是否會(huì)對(duì)上游調(diào)用方造成影響。



技術(shù)特征:

1.一種基于樹(shù)結(jié)構(gòu)的api差異對(duì)比方法,其特征在于,包括:

2.根據(jù)權(quán)利要求1所述的基于樹(shù)結(jié)構(gòu)的api差異對(duì)比方法,其特征在于,在api獲取步驟與轉(zhuǎn)換步驟之間,還包括,

3.根據(jù)權(quán)利要求2所述的基于樹(shù)結(jié)構(gòu)的api差異對(duì)比方法,其特征在于,

4.根據(jù)權(quán)利要求1所述的基于樹(shù)結(jié)構(gòu)的api差異對(duì)比方法,其特征在于,

5.根據(jù)權(quán)利要求1所述的基于樹(shù)結(jié)構(gòu)的api差異對(duì)比方法,其特征在于,還包括,

6.根據(jù)權(quán)利要求1所述的基于樹(shù)結(jié)構(gòu)的api差異對(duì)比方法,其特征在于,

7.根據(jù)權(quán)利要求6所述的api差異對(duì)比方法,其特征在于,

8.一種基于樹(shù)結(jié)構(gòu)的api差異對(duì)比裝置,其特征在于,包括:

9.一種計(jì)算機(jī)設(shè)備,包括存儲(chǔ)器、處理器及存儲(chǔ)在存儲(chǔ)器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,其特征在于,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)權(quán)利要求1至7中任一項(xiàng)所述方法的步驟。

10.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)權(quán)利要求1至7中任一項(xiàng)所述的方法的步驟。


技術(shù)總結(jié)
本發(fā)明涉及基于樹(shù)結(jié)構(gòu)的API差異對(duì)比方法、裝置、設(shè)備和介質(zhì)。方法包括:API獲取步驟,獲取需要對(duì)比的API;轉(zhuǎn)換步驟,將API文檔轉(zhuǎn)換為樹(shù)結(jié)構(gòu);對(duì)比步驟,將需要對(duì)比的API通過(guò)所述樹(shù)結(jié)構(gòu)進(jìn)行對(duì)比;記錄步驟,根據(jù)對(duì)比結(jié)果記錄參數(shù)的差異信息,以及每個(gè)參數(shù)在樹(shù)節(jié)點(diǎn)的層級(jí)路徑;重建樹(shù)步驟,根據(jù)所述層級(jí)路徑重新構(gòu)建一顆攜帶API差異信息的樹(shù)。本發(fā)明支持復(fù)雜API結(jié)構(gòu)的參數(shù)及屬性的差異比對(duì),在樹(shù)結(jié)構(gòu)上直觀展示API的差異,為API變更影響分析提供清晰的依據(jù)。

技術(shù)研發(fā)人員:趙孟彬
受保護(hù)的技術(shù)使用者:上海數(shù)禾信息科技有限公司
技術(shù)研發(fā)日:
技術(shù)公布日:2025/1/9
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
青州市| 临澧县| 山丹县| 靖远县| 大洼县| 珲春市| 新蔡县| 丹棱县| 彭山县| 鸡泽县| 忻州市| 永仁县| 阿巴嘎旗| 故城县| 耿马| 云龙县| 扎赉特旗| 通州区| 仪征市| 武汉市| 桐乡市| 梁河县| 新巴尔虎左旗| 句容市| 自治县| 田东县| 彰化县| 卓尼县| 鹤山市| 新建县| 凉山| 奉节县| 台中县| 翼城县| 东海县| 盈江县| 印江| 郧西县| 伊川县| 太白县| 永定县|