本申請(qǐng)涉及人工智能,尤其涉及智能博弈引擎配置文件解析方法、裝置、設(shè)備和存儲(chǔ)介質(zhì)。
背景技術(shù):
1、智能博弈引擎是一種用于模擬和解決各種類型博弈問題的人工智能計(jì)算機(jī)系統(tǒng),通常集成了如機(jī)器學(xué)習(xí)、強(qiáng)化學(xué)習(xí)和深度學(xué)習(xí)等多種人工智能算法,以實(shí)現(xiàn)對(duì)復(fù)雜博弈策略的建模和優(yōu)化。在開發(fā)智能博弈引擎時(shí),開發(fā)者通常利用專門的智能博弈引擎開發(fā)平臺(tái)進(jìn)行訓(xùn)練和學(xué)習(xí),這個(gè)過程涉及到在開發(fā)平臺(tái)上對(duì)智能博弈引擎的參數(shù)配置。
2、在相關(guān)技術(shù)中,智能博弈引擎的參數(shù)通常以數(shù)據(jù)序列化語(yǔ)言(yaml,即yaml?ain'tmarkup?language)文件的形式存儲(chǔ)。然而,yaml文件的參數(shù)配置通常繁瑣,且不同智能博弈引擎之間的yaml文件缺乏統(tǒng)一的規(guī)范化,這導(dǎo)致直接解析yaml文件的處理效率較低。如果將yaml文件轉(zhuǎn)化成json對(duì)象或者xml文件,這兩種轉(zhuǎn)換方式的過程都相對(duì)復(fù)雜,轉(zhuǎn)化效率不高。
技術(shù)實(shí)現(xiàn)思路
1、本申請(qǐng)實(shí)施例的主要目的在于提出智能博弈引擎配置文件解析方法、裝置、設(shè)備和存儲(chǔ)介質(zhì),提高智能博弈引擎的配置文件的解析效率。
2、為實(shí)現(xiàn)上述目的,本申請(qǐng)實(shí)施例的第一方面提出了一種智能博弈引擎配置文件解析方法,包括:
3、獲取智能博弈引擎的至少一個(gè)初始配置yaml文件,并從所述初始配置yaml文件中提取至少一個(gè)配置項(xiàng)和每個(gè)所述配置項(xiàng)的配置參數(shù);
4、根據(jù)業(yè)務(wù)邏輯和所述初始配置yaml文件中所述配置項(xiàng)的配置類型生成至少一個(gè)目標(biāo)配置類;
5、根據(jù)所述配置項(xiàng)生成所述目標(biāo)配置類的字段名稱和字段類型,根據(jù)所述配置參數(shù)生成所述字段名稱對(duì)應(yīng)的屬性值;
6、獲取所述配置參數(shù)對(duì)應(yīng)的屬性規(guī)則,基于所述屬性規(guī)則對(duì)所述配置參數(shù)進(jìn)行參數(shù)校驗(yàn),當(dāng)所有的屬性值都校驗(yàn)通過后,對(duì)所述目標(biāo)配置類進(jìn)行實(shí)例化,得到配置文件解析結(jié)果。
7、在一些實(shí)施例,所述根據(jù)業(yè)務(wù)邏輯和所述初始配置yaml文件中所述配置項(xiàng)的配置類型生成至少一個(gè)目標(biāo)配置類,包括:
8、獲取所述至少一個(gè)初始配置yaml文件的所述配置項(xiàng)的所述配置類型;
9、生成所有的所述配置類型對(duì)應(yīng)的所述目標(biāo)配置類;
10、根據(jù)所述業(yè)務(wù)邏輯確定每個(gè)所述初始配置yaml文件的業(yè)務(wù)配置流程,基于所述業(yè)務(wù)配置流程確定所述初始配置yaml文件與所述目標(biāo)配置類的對(duì)應(yīng)關(guān)系。
11、在一些實(shí)施例,所述生成所有的所述配置類型對(duì)應(yīng)的所述目標(biāo)配置類,包括:
12、當(dāng)所述配置類型為元信息配置類型,生成引擎元信息配置類作為所述目標(biāo)配置類;當(dāng)所述配置類型為靜態(tài)配置類型,生成引擎靜態(tài)配置信息類作為所述目標(biāo)配置類;當(dāng)所述配置類型為動(dòng)態(tài)配置類型,生成引擎動(dòng)態(tài)配置信息類作為所述目標(biāo)配置類。
13、在一些實(shí)施例,當(dāng)所述目標(biāo)配置類為所述引擎動(dòng)態(tài)配置信息類,所述根據(jù)所述配置參數(shù)生成所述字段名稱對(duì)應(yīng)的屬性值,包括:
14、從所述配置參數(shù)中確定至少一個(gè)配置步驟,并獲取所述配置步驟中用于傳遞至下一配置步驟的配置信息,所述配置信息用于指示下一所述配置步驟的執(zhí)行動(dòng)作;
15、將所述配置步驟的所述配置信息寫入所述字段名稱對(duì)應(yīng)的所述屬性值。
16、在一些實(shí)施例,所述獲取所述配置參數(shù)對(duì)應(yīng)的屬性規(guī)則,基于所述屬性規(guī)則對(duì)所述配置參數(shù)進(jìn)行參數(shù)校驗(yàn),包括:
17、基于所述業(yè)務(wù)邏輯,從所述初始配置yaml文件中獲取所述配置參數(shù)對(duì)應(yīng)的所述屬性規(guī)則,從所述屬性規(guī)則中獲取類型約束、值范圍約束和/或候選值約束;
18、根據(jù)所述類型約束校驗(yàn)所述配置參數(shù)的參數(shù)類型,和/或,基于所述值范圍約束校驗(yàn)所述配置參數(shù)的默認(rèn)值、最大值和最小值中至少一種,和/或,基于所述候選值約束校驗(yàn)所述配置參數(shù)的候選值。
19、在一些實(shí)施例,所述對(duì)所述目標(biāo)配置類進(jìn)行實(shí)例化,得到配置文件解析結(jié)果,包括:
20、對(duì)所述目標(biāo)配置類進(jìn)行事務(wù)化操作;
21、當(dāng)所述事務(wù)化操作的結(jié)果指示全部成功執(zhí)行,根據(jù)所述目標(biāo)配置類得到所述配置文件解析結(jié)果,當(dāng)所述事務(wù)化的結(jié)果指示全部回滾,生成解析錯(cuò)誤結(jié)論。
22、在一些實(shí)施例,所述根據(jù)所述目標(biāo)配置類得到所述配置文件解析結(jié)果,包括:
23、將所述目標(biāo)配置類實(shí)例化,得到配置類實(shí)例,對(duì)所述配置類實(shí)例進(jìn)行序列化,得到所述配置文件解析結(jié)果;
24、對(duì)所述配置文件解析結(jié)果進(jìn)行持久化存儲(chǔ)。
25、為實(shí)現(xiàn)上述目的,本申請(qǐng)實(shí)施例的第二方面提出了一種智能博弈引擎配置文件解析裝置,包括:
26、配置數(shù)據(jù)獲取模塊:用于獲取智能博弈引擎的至少一個(gè)初始配置yaml文件,并從所述初始配置yaml文件中提取至少一個(gè)配置項(xiàng)和每個(gè)所述配置項(xiàng)的配置參數(shù);
27、目標(biāo)配置類生成模塊:用于根據(jù)業(yè)務(wù)邏輯和所述初始配置yaml文件中所述配置項(xiàng)的配置類型生成至少一個(gè)目標(biāo)配置類;
28、屬性值填充模塊:用于根據(jù)所述配置項(xiàng)生成所述目標(biāo)配置類的字段名稱和字段類型,根據(jù)所述配置參數(shù)生成所述字段名稱對(duì)應(yīng)的屬性值;
29、實(shí)例化模塊:用于獲取所述配置參數(shù)對(duì)應(yīng)的屬性規(guī)則,基于所述屬性規(guī)則對(duì)所述配置參數(shù)進(jìn)行參數(shù)校驗(yàn),當(dāng)所有的屬性值都校驗(yàn)通過后,對(duì)所述目標(biāo)配置類進(jìn)行實(shí)例化,得到配置文件解析結(jié)果。
30、為實(shí)現(xiàn)上述目的,本申請(qǐng)實(shí)施例的第三方面提出了一種電子設(shè)備,所述電子設(shè)備包括存儲(chǔ)器和處理器,所述存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)上述第一方面所述的方法。
31、為實(shí)現(xiàn)上述目的,本申請(qǐng)實(shí)施例的第四方面提出了一種存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)為存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述第一方面所述的方法。
32、本申請(qǐng)實(shí)施例提出的智能博弈引擎配置文件解析方法、裝置、設(shè)備和存儲(chǔ)介質(zhì),通過獲取智能博弈引擎的至少一個(gè)初始配置yaml文件,并從初始配置yaml文件中提取至少一個(gè)配置項(xiàng)和每個(gè)配置項(xiàng)的配置參數(shù),根據(jù)業(yè)務(wù)邏輯和初始配置yaml文件中配置項(xiàng)的配置類型生成至少一個(gè)目標(biāo)配置類,根據(jù)配置項(xiàng)生成目標(biāo)配置類的字段名稱,根據(jù)配置參數(shù)生成字段名稱對(duì)應(yīng)的屬性值,獲取配置參數(shù)對(duì)應(yīng)的屬性規(guī)則,基于屬性規(guī)則對(duì)配置參數(shù)進(jìn)行參數(shù)校驗(yàn),當(dāng)所有的屬性值都校驗(yàn)通過后,對(duì)目標(biāo)配置類進(jìn)行實(shí)例化,得到配置文件解析結(jié)果。本申請(qǐng)的實(shí)施例將初始配置的yaml文件轉(zhuǎn)換成類實(shí)例的形式,通過動(dòng)態(tài)解析和動(dòng)態(tài)校驗(yàn)的過程,將配置相關(guān)信息描述為類對(duì)象。不同于相關(guān)技術(shù)中json或xml等轉(zhuǎn)換解析過程中涉及到更多的字符串操作和數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換,導(dǎo)致這些過程通常較為復(fù)雜且計(jì)算量大。本實(shí)施例中直接將初始配置yaml文件中的數(shù)據(jù)映射到類對(duì)象的屬性上,從而避免對(duì)每個(gè)層級(jí)進(jìn)行逐個(gè)解析,提高配置相關(guān)數(shù)據(jù)的處理速度和效率。
1.一種智能博弈引擎配置文件解析方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的智能博弈引擎配置文件解析方法,其特征在于,所述根據(jù)業(yè)務(wù)邏輯和所述初始配置yaml文件中所述配置項(xiàng)的配置類型生成至少一個(gè)目標(biāo)配置類,包括:
3.根據(jù)權(quán)利要求2所述的智能博弈引擎配置文件解析方法,其特征在于,所述生成所有的所述配置類型對(duì)應(yīng)的所述目標(biāo)配置類,包括:
4.根據(jù)權(quán)利要求3所述的智能博弈引擎配置文件解析方法,其特征在于,當(dāng)所述目標(biāo)配置類為所述引擎動(dòng)態(tài)配置信息類,所述根據(jù)所述配置參數(shù)生成所述字段名稱對(duì)應(yīng)的屬性值,包括:
5.根據(jù)權(quán)利要求1所述智能博弈引擎配置文件解析方法,其特征在于,所述獲取所述配置參數(shù)對(duì)應(yīng)的屬性規(guī)則,基于所述屬性規(guī)則對(duì)所述配置參數(shù)進(jìn)行參數(shù)校驗(yàn),包括:
6.根據(jù)權(quán)利要求1所述的智能博弈引擎配置文件解析方法,其特征在于,所述對(duì)所述目標(biāo)配置類進(jìn)行實(shí)例化,得到配置文件解析結(jié)果,包括:
7.根據(jù)權(quán)利要求1所述的智能博弈引擎配置文件解析方法,其特征在于,所述根據(jù)所述目標(biāo)配置類得到所述配置文件解析結(jié)果,包括:
8.一種智能博弈引擎配置文件解析裝置,其特征在于,包括:
9.一種電子設(shè)備,其特征在于,所述電子設(shè)備包括存儲(chǔ)器和處理器,所述存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)權(quán)利要求1至7任一項(xiàng)所述的智能博弈引擎配置文件解析方法。
10.一種存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)權(quán)利要求1至7中任一項(xiàng)所述的智能博弈引擎配置文件解析方法。