System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術(shù)實現(xiàn)步驟摘要】
本專利技術(shù)涉及數(shù)據(jù)分析,特別涉及一種表達式去重方法、裝置、設(shè)備及計算機可讀存儲介質(zhì)。
技術(shù)介紹
1、當(dāng)前實時決策場景通常使用java(編碼軟件)代碼編寫描述規(guī)則邏輯,其中java方法的參數(shù)通常被描述為一段lamda表達式(簡潔的方式來表示單方法接口的實例)邏輯。lamda表達式入?yún)⒃趈ava中會變?yōu)閘amda對象,該對象不具備比較、判斷的方法。且由于復(fù)雜的引用關(guān)系等情況,導(dǎo)致基于源碼的字符串分析會存在大量錯誤。同時,決策樹的執(zhí)行效率跟其節(jié)點數(shù)量正相關(guān),多個規(guī)則構(gòu)成同一個決策樹時,會存在大量重復(fù)謂詞節(jié)點導(dǎo)致性能浪費。
2、可見,如何智能地對lamda表達式進行去重,是本領(lǐng)域技術(shù)人員急需解決的技術(shù)問題。
技術(shù)實現(xiàn)思路
1、有鑒于此,本專利技術(shù)的目的在于提供一種表達式去重方法、裝置、設(shè)備及計算機可讀存儲介質(zhì),解決了現(xiàn)有技術(shù)中無法智能地對表達式進行去重的技術(shù)問題。
2、為解決上述技術(shù)問題,本專利技術(shù)提供了一種表達式去重方法,包括:
3、確定每個目標(biāo)表達式對應(yīng)的對象節(jié)點;
4、對每個對象節(jié)點進行分析,得到每個目標(biāo)表達式對應(yīng)的可比較對象;
5、將每個目標(biāo)表達式對應(yīng)的可比較對象進行對比,對所有的目標(biāo)表達式進行去重處理,得到最終的目標(biāo)表達式集合。
6、可選的,所述確定每個目標(biāo)表達式對應(yīng)的對象節(jié)點,包括:
7、根據(jù)字節(jié)碼對象讀取字節(jié)碼文件,并對所述字節(jié)碼文件進行解析,得到類節(jié)點對象;其中,所述字節(jié)碼對象為基于所述目標(biāo)
8、基于所述類節(jié)點對象確定初始對象節(jié)點,并基于目標(biāo)表達式中所調(diào)用的方法名稱對所述初始對象節(jié)點進行匹配,得到所述對象節(jié)點。
9、可選的,在根據(jù)字節(jié)碼對象讀取字節(jié)碼文件,并對所述字節(jié)碼文件進行解析,得到類節(jié)點對象之前,還包括:
10、定義一個目標(biāo)函數(shù)接口;其中,所述目標(biāo)函數(shù)接口繼承函數(shù)式接口和序列化接口;
11、將規(guī)則中所有的表達式轉(zhuǎn)化為目標(biāo)函數(shù)接口形式,得到所述目標(biāo)表達式;
12、加載所有編譯好的代碼文件,獲取所述代碼文件中需要加載的規(guī)則對象;
13、遍歷所有規(guī)則對象中的所述目標(biāo)表達式,確定所述目標(biāo)表達式所使用的字節(jié)碼對象,以及在所述目標(biāo)表達式中所調(diào)用的方法名稱。
14、可選的,對每個對象節(jié)點進行分析,得到每個目標(biāo)表達式對應(yīng)的可比較對象,包括:
15、對每個對象節(jié)點進行分析,得到每個目標(biāo)表達式對應(yīng)的哈希值。
16、可選的,對每個對象節(jié)點進行分析,得到每個目標(biāo)表達式對應(yīng)的哈希值,包括:
17、確定每個對象節(jié)點對應(yīng)的所有哈希值;
18、對每個對象節(jié)點對應(yīng)的所有的哈希值進行相加,得到綜合哈希值;
19、將所述綜合哈希值作為每個目標(biāo)表達式對應(yīng)的哈希值。
20、可選的,在將每個目標(biāo)表達式對應(yīng)的可比較對象進行對比,對所有的目標(biāo)表達式進行去重處理,得到最終的目標(biāo)表達式集合之后,還包括:
21、基于所述最終的目標(biāo)表達式集合,確定目標(biāo)決策樹謂詞節(jié)點;
22、基于所述目標(biāo)決策樹謂詞節(jié)點構(gòu)造決策樹。
23、可選的,將每個目標(biāo)表達式對應(yīng)的可比較對象進行對比,對所有的目標(biāo)表達式進行去重處理,得到最終的目標(biāo)表達式集合,包括:
24、判斷每個目標(biāo)表達式對應(yīng)的可比較對象是否相等;
25、當(dāng)相等時,保留重復(fù)的目標(biāo)表達式中的任意一個表達式;
26、當(dāng)不相等時,保留所有的目標(biāo)表達式。
27、本專利技術(shù)實施例還提供了一種表達式去重裝置,包括:
28、對象節(jié)點確定模塊,用于確定每個目標(biāo)表達式對應(yīng)的對象節(jié)點;
29、可比較對象確定模塊,用于對每個對象節(jié)點進行分析,得到每個目標(biāo)表達式對應(yīng)的可比較對象;
30、去重模塊,用于將每個目標(biāo)表達式對應(yīng)的可比較對象進行對比,對所有的目標(biāo)表達式進行去重處理,得到最終的目標(biāo)表達式集合。
31、本專利技術(shù)實施例還提供了一種表達式去重設(shè)備,包括:
32、存儲器,用于存儲計算機程序;
33、處理器,用于執(zhí)行所述計算機程序以實現(xiàn)如上述表達式去重方法的步驟。
34、本專利技術(shù)實施例還提供了一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)上存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)如上述表達式去重方法的步驟。
35、本專利技術(shù)實施例還提供了一種計算機程序產(chǎn)品,包括計算機程序/指令,所述計算機程序/指令被處理器執(zhí)行時實現(xiàn)如上述表達式去重方法的步驟。
36、可見,本專利技術(shù)通過確定每個目標(biāo)表達式對應(yīng)的對象節(jié)點;對每個對象節(jié)點進行分析,得到每個目標(biāo)表達式對應(yīng)的可比較對象;將每個目標(biāo)表達式對應(yīng)的可比較對象進行對比,對所有的目標(biāo)表達式進行去重處理,得到最終的目標(biāo)表達式集合。和當(dāng)前只能人工對表達式進行分析進行去重相比,本專利技術(shù)通過對構(gòu)建決策樹所需的所有目標(biāo)表達式進行處理,使得目標(biāo)表達式可以成為可比較的對象,從而基于可比較的對象對各個表達式進行對比,利用得到的比較的結(jié)果進行代碼的去重,提高了對目標(biāo)表達式進行去重的準(zhǔn)確性和效率。
37、此外,本專利技術(shù)還提供了一種表達式去重裝置、設(shè)備及計算機可讀存儲介質(zhì),同樣具有上述有益效果。
本文檔來自技高網(wǎng)...【技術(shù)保護點】
1.一種表達式去重方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的表達式去重方法,其特征在于,所述確定每個目標(biāo)表達式對應(yīng)的對象節(jié)點,包括:
3.根據(jù)權(quán)利要求2所述的表達式去重方法,其特征在于,在根據(jù)字節(jié)碼對象讀取字節(jié)碼文件,并對所述字節(jié)碼文件進行解析,得到類節(jié)點對象之前,還包括:
4.根據(jù)權(quán)利要求1所述的表達式去重方法,其特征在于,對每個對象節(jié)點進行分析,得到每個目標(biāo)表達式對應(yīng)的可比較對象,包括:
5.根據(jù)權(quán)利要求4所述的表達式去重方法,其特征在于,對每個對象節(jié)點進行分析,得到每個目標(biāo)表達式對應(yīng)的哈希值,包括:
6.根據(jù)權(quán)利要求1至5任一項所述的表達式去重方法,其特征在于,在將每個目標(biāo)表達式對應(yīng)的可比較對象進行對比,對所有的目標(biāo)表達式進行去重處理,得到最終的目標(biāo)表達式集合之后,還包括:
7.根據(jù)權(quán)利要求1所述的表達式去重方法,其特征在于,將每個目標(biāo)表達式對應(yīng)的可比較對象進行對比,對所有的目標(biāo)表達式進行去重處理,得到最終的目標(biāo)表達式集合,包括:
8.一種表達式去重裝置,其特征在于,包括:
< ...【技術(shù)特征摘要】
1.一種表達式去重方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的表達式去重方法,其特征在于,所述確定每個目標(biāo)表達式對應(yīng)的對象節(jié)點,包括:
3.根據(jù)權(quán)利要求2所述的表達式去重方法,其特征在于,在根據(jù)字節(jié)碼對象讀取字節(jié)碼文件,并對所述字節(jié)碼文件進行解析,得到類節(jié)點對象之前,還包括:
4.根據(jù)權(quán)利要求1所述的表達式去重方法,其特征在于,對每個對象節(jié)點進行分析,得到每個目標(biāo)表達式對應(yīng)的可比較對象,包括:
5.根據(jù)權(quán)利要求4所述的表達式去重方法,其特征在于,對每個對象節(jié)點進行分析,得到每個目標(biāo)表達式對應(yīng)的哈希值,包括:
6.根據(jù)權(quán)利要求1至5任一項所...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:陳剛,陳純,王新宇,伍賽,王新根,宋明黎,王剛,魯萍,黃滔,
申請(專利權(quán))人:浙江邦盛科技股份有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。