技术特征:
1.一种规则引擎在线生成方法,其特征在于,包括:通过网页形式获取用户输入的函数信息,所述函数信息包括规则函数的函数名和参数信息,所述参数信息包括输入参数的类型和值的范围;通过网页形式获取用户输入的规则信息,所述规则信息包括至少一个由各输入参数组成的条件表达式、对应于每一条件表达式的优先级、以及对应于每一条件表达式的期望推导结果;基于所述函数名、所述参数信息以及所述规则信息,生成规则引擎配置文件;基于所述规则引擎配置文件和预设的规则引擎,生成候选规则引擎;对所述候选规则引擎进行测试,并将通过测试的候选规则引擎确定为目标规则引擎,所述目标规则引擎用于对输入参数进行推导,得到输出结果。2.根据权利要求1所述的方法,其特征在于,对所述候选规则引擎进行测试的过程,包括:通过网页形式获取用户输入的多组参数及每一组参数的期望的输出结果,各组参数的信息与所述参数信息相符;将每一组参数输入至所述候选规则引擎,得到输出结果;判断所述输出结果是否等同于所述组参数的期望的输出结果;若是,确定所述候选规则引擎通过测试。3.根据权利要求1所述的方法,其特征在于,所述期望推导结果包括变量、常量和脚本。4.根据权利要求1所述的方法,其特征在于,所述函数信息还包括异常抛出规则,用于判断是否需要发起异常抛出。5.根据权利要求1所述的方法,其特征在于,所述目标规则引擎对输入参数进行推导,得到输出结果的过程,包括:对输入参数进行校验,得到校验结果;基于所述校验结果判断所述输入参数是否通过校验;若是,将各优先级从高到低排序,得到优先级序列;获取排在首位的优先级,将所述优先级确定为当前优先级;获取与当前优先级对应的条件表达式;判断所述输入参数是否满足所述条件表达式;若所述输入参数满足所述条件表达式,根据对应于所述条件表达式的期望推导结果,确定输出结果;若所述输入参数不满足所述条件表达式,获取在当前优先级后一位的优先级,将所述优先级确定为新的当前优先级,并返回执行获取与当前优先级对应的条件表达式的步骤。6.根据权利要求5所述的方法,其特征在于,根据对应于所述条件表达式的期望推导结果,确定输出结果的过程,包括:若所述推导结果为变量,将所述变量确定为输出结果;若所述推导结果为常量,将所述常量确定为输出结果;若所述推导结果为脚本,执行所述脚本,并将脚本执行结果确定为输出结果。7.一种规则引擎系统,其特征在于,包括:所述规则引擎系统为依据权利要求1~4中任一项所述的规则引擎在线生成方法生成的目标规则引擎。
8.一种规则引擎在线生成装置,其特征在于,包括:函数信息获取单元,用于通过网页形式获取用户输入的函数信息,所述函数信息包括规则函数的函数名和参数信息,所述参数信息包括输入参数的类型和值的范围;规则信息获取单元,用于通过网页形式获取用户输入的规则信息,所述规则信息包括至少一个由各输入参数组成的条件表达式、对应于每一条件表达式的优先级、以及对应于每一条件表达式的期望推导结果;配置文件生成单元,用于基于所述函数名、所述参数信息以及所述规则信息,生成规则引擎配置文件;规则引擎生成单元,用于基于所述规则引擎配置文件和预设的规则引擎,生成候选规则引擎;规则引擎确定单元,用于对所述候选规则引擎进行测试,并将通过测试的候选规则引擎确定为目标规则引擎,所述目标规则引擎用于对输入参数进行推导,得到输出结果。9.一种规则引擎在线生成设备,其特征在于,包括:存储器和处理器;所述存储器,用于存储程序;所述处理器,用于执行所述程序,实现如权利要求1~6中任一项所述的规则引擎在线生成方法的各个步骤。10.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1~6中任一项所述的规则引擎在线生成方法的各个步骤。
技术总结
本申请公开了一种规则引擎在线生成方法、规则引擎系统及相关设备,该方法包括:通过网页形式获取用户输入的函数信息,所述函数信息包括规则函数的函数名和参数信息;通过网页形式获取用户输入的规则信息,所述规则信息包括至少一个由各输入参数组成的条件表达式及其优先级、期望推导结果;基于所述函数名、所述参数信息以及所述规则信息,生成规则引擎配置文件;基于所述规则引擎配置文件和预设的规则引擎,生成候选规则引擎;对所述候选规则引擎进行测试,并将通过测试的候选规则引擎确定为目标规则引擎,所述目标规则引擎用于对输入参数进行推导,得到输出结果。本申请减少了重复性的工作,提高了整体开发效率,有利于规则引擎的快速迭代。的快速迭代。的快速迭代。
技术研发人员:黎法良
受保护的技术使用者:广州品唯软件有限公司
技术研发日:2022.12.28
技术公布日:2023/3/27