System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及人工智能,尤其涉及智能博弈引擎配置文件解析方法、装置、设备和存储介质。
技术介绍
1、智能博弈引擎是一种用于模拟和解决各种类型博弈问题的人工智能计算机系统,通常集成了如机器学习、强化学习和深度学习等多种人工智能算法,以实现对复杂博弈策略的建模和优化。在开发智能博弈引擎时,开发者通常利用专门的智能博弈引擎开发平台进行训练和学习,这个过程涉及到在开发平台上对智能博弈引擎的参数配置。
2、在相关技术中,智能博弈引擎的参数通常以数据序列化语言(yaml,即yaml ain'tmarkup language)文件的形式存储。然而,yaml文件的参数配置通常繁琐,且不同智能博弈引擎之间的yaml文件缺乏统一的规范化,这导致直接解析yaml文件的处理效率较低。如果将yaml文件转化成json对象或者xml文件,这两种转换方式的过程都相对复杂,转化效率不高。
技术实现思路
1、本申请实施例的主要目的在于提出智能博弈引擎配置文件解析方法、装置、设备和存储介质,提高智能博弈引擎的配置文件的解析效率。
2、为实现上述目的,本申请实施例的第一方面提出了一种智能博弈引擎配置文件解析方法,包括:
3、获取智能博弈引擎的至少一个初始配置yaml文件,并从所述初始配置yaml文件中提取至少一个配置项和每个所述配置项的配置参数;
4、根据业务逻辑和所述初始配置yaml文件中所述配置项的配置类型生成至少一个目标配置类;
5、根据所述配置项生成所述目
6、获取所述配置参数对应的属性规则,基于所述属性规则对所述配置参数进行参数校验,当所有的属性值都校验通过后,对所述目标配置类进行实例化,得到配置文件解析结果。
7、在一些实施例,所述根据业务逻辑和所述初始配置yaml文件中所述配置项的配置类型生成至少一个目标配置类,包括:
8、获取所述至少一个初始配置yaml文件的所述配置项的所述配置类型;
9、生成所有的所述配置类型对应的所述目标配置类;
10、根据所述业务逻辑确定每个所述初始配置yaml文件的业务配置流程,基于所述业务配置流程确定所述初始配置yaml文件与所述目标配置类的对应关系。
11、在一些实施例,所述生成所有的所述配置类型对应的所述目标配置类,包括:
12、当所述配置类型为元信息配置类型,生成引擎元信息配置类作为所述目标配置类;当所述配置类型为静态配置类型,生成引擎静态配置信息类作为所述目标配置类;当所述配置类型为动态配置类型,生成引擎动态配置信息类作为所述目标配置类。
13、在一些实施例,当所述目标配置类为所述引擎动态配置信息类,所述根据所述配置参数生成所述字段名称对应的属性值,包括:
14、从所述配置参数中确定至少一个配置步骤,并获取所述配置步骤中用于传递至下一配置步骤的配置信息,所述配置信息用于指示下一所述配置步骤的执行动作;
15、将所述配置步骤的所述配置信息写入所述字段名称对应的所述属性值。
16、在一些实施例,所述获取所述配置参数对应的属性规则,基于所述属性规则对所述配置参数进行参数校验,包括:
17、基于所述业务逻辑,从所述初始配置yaml文件中获取所述配置参数对应的所述属性规则,从所述属性规则中获取类型约束、值范围约束和/或候选值约束;
18、根据所述类型约束校验所述配置参数的参数类型,和/或,基于所述值范围约束校验所述配置参数的默认值、最大值和最小值中至少一种,和/或,基于所述候选值约束校验所述配置参数的候选值。
19、在一些实施例,所述对所述目标配置类进行实例化,得到配置文件解析结果,包括:
20、对所述目标配置类进行事务化操作;
21、当所述事务化操作的结果指示全部成功执行,根据所述目标配置类得到所述配置文件解析结果,当所述事务化的结果指示全部回滚,生成解析错误结论。
22、在一些实施例,所述根据所述目标配置类得到所述配置文件解析结果,包括:
23、将所述目标配置类实例化,得到配置类实例,对所述配置类实例进行序列化,得到所述配置文件解析结果;
24、对所述配置文件解析结果进行持久化存储。
25、为实现上述目的,本申请实施例的第二方面提出了一种智能博弈引擎配置文件解析装置,包括:
26、配置数据获取模块:用于获取智能博弈引擎的至少一个初始配置yaml文件,并从所述初始配置yaml文件中提取至少一个配置项和每个所述配置项的配置参数;
27、目标配置类生成模块:用于根据业务逻辑和所述初始配置yaml文件中所述配置项的配置类型生成至少一个目标配置类;
28、属性值填充模块:用于根据所述配置项生成所述目标配置类的字段名称和字段类型,根据所述配置参数生成所述字段名称对应的属性值;
29、实例化模块:用于获取所述配置参数对应的属性规则,基于所述属性规则对所述配置参数进行参数校验,当所有的属性值都校验通过后,对所述目标配置类进行实例化,得到配置文件解析结果。
30、为实现上述目的,本申请实施例的第三方面提出了一种电子设备,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的方法。
31、为实现上述目的,本申请实施例的第四方面提出了一种存储介质,所述存储介质为存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法。
32、本申请实施例提出的智能博弈引擎配置文件解析方法、装置、设备和存储介质,通过获取智能博弈引擎的至少一个初始配置yaml文件,并从初始配置yaml文件中提取至少一个配置项和每个配置项的配置参数,根据业务逻辑和初始配置yaml文件中配置项的配置类型生成至少一个目标配置类,根据配置项生成目标配置类的字段名称,根据配置参数生成字段名称对应的属性值,获取配置参数对应的属性规则,基于属性规则对配置参数进行参数校验,当所有的属性值都校验通过后,对目标配置类进行实例化,得到配置文件解析结果。本申请的实施例将初始配置的yaml文件转换成类实例的形式,通过动态解析和动态校验的过程,将配置相关信息描述为类对象。不同于相关技术中json或xml等转换解析过程中涉及到更多的字符串操作和数据结构转换,导致这些过程通常较为复杂且计算量大。本实施例中直接将初始配置yaml文件中的数据映射到类对象的属性上,从而避免对每个层级进行逐个解析,提高配置相关数据的处理速度和效率。
本文档来自技高网...【技术保护点】
1.一种智能博弈引擎配置文件解析方法,其特征在于,包括:
2.根据权利要求1所述的智能博弈引擎配置文件解析方法,其特征在于,所述根据业务逻辑和所述初始配置YAML文件中所述配置项的配置类型生成至少一个目标配置类,包括:
3.根据权利要求2所述的智能博弈引擎配置文件解析方法,其特征在于,所述生成所有的所述配置类型对应的所述目标配置类,包括:
4.根据权利要求3所述的智能博弈引擎配置文件解析方法,其特征在于,当所述目标配置类为所述引擎动态配置信息类,所述根据所述配置参数生成所述字段名称对应的属性值,包括:
5.根据权利要求1所述智能博弈引擎配置文件解析方法,其特征在于,所述获取所述配置参数对应的属性规则,基于所述属性规则对所述配置参数进行参数校验,包括:
6.根据权利要求1所述的智能博弈引擎配置文件解析方法,其特征在于,所述对所述目标配置类进行实例化,得到配置文件解析结果,包括:
7.根据权利要求1所述的智能博弈引擎配置文件解析方法,其特征在于,所述根据所述目标配置类得到所述配置文件解析结果,包括:
9.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的智能博弈引擎配置文件解析方法。
10.一种存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的智能博弈引擎配置文件解析方法。
...【技术特征摘要】
1.一种智能博弈引擎配置文件解析方法,其特征在于,包括:
2.根据权利要求1所述的智能博弈引擎配置文件解析方法,其特征在于,所述根据业务逻辑和所述初始配置yaml文件中所述配置项的配置类型生成至少一个目标配置类,包括:
3.根据权利要求2所述的智能博弈引擎配置文件解析方法,其特征在于,所述生成所有的所述配置类型对应的所述目标配置类,包括:
4.根据权利要求3所述的智能博弈引擎配置文件解析方法,其特征在于,当所述目标配置类为所述引擎动态配置信息类,所述根据所述配置参数生成所述字段名称对应的属性值,包括:
5.根据权利要求1所述智能博弈引擎配置文件解析方法,其特征在于,所述获取所述配置参数对应的属性规则,基于所述属性规则对所述配置参数进行参数校验,包括:...
【专利技术属性】
技术研发人员:田永鸿,李论通,聂建政,彭佩玺,许芬,
申请(专利权)人:鹏城实验室,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。