基于中文表达式的计算方法、装置、设备及存储介质制造方法及图纸

技术编号:27616242 阅读:15 留言:0更新日期:2021-03-10 10:47
本发明专利技术涉及一种基于中文表达式的计算方法、装置、设备及存储介质。该方法包括:接收用户输入中文表达式;对所述中文表达式进行格式合规性验证;验证通过后,利用递归下降分析法对所述中文表达式进行解析,生成所述中文表达式对应的SQL语句;利用所述SQL语句结合预先获取的待计算数据进行计算,得到计算结果。上述方法中采用递归下降分析法对用户实时输入公式进行解析,当用户改变业务计算逻辑或新增业务时,无需修改代码仅需维护公式表达式就能达到目的,降低了维护成本提高了系统稳定性。降低了维护成本提高了系统稳定性。降低了维护成本提高了系统稳定性。

【技术实现步骤摘要】
基于中文表达式的计算方法、装置、设备及存储介质


[0001]本专利技术涉及计算机数据处理
,具体涉及一种基于中文表达式的计算方法、装置、设备及存储介质。

技术介绍

[0002]随着智能管理系统的发展,越来越多的人事应用系统投入使用。人事系统不可避免地需要处理各式各样的公式,各种人事应用系统内数据的计算公式都是由研发人员通过代码基于用户的业务规则事先定义好,用户可以修改软件计算公式的变量值但不能修改其计算规则。为了在应用系统中表达这些形式多样的公式,主流做法是由研发人员提供基于业务现状定义的已知计算逻辑公式库由终端用户选择。
[0003]目前当应用系统正式上线运行,用户由于企业自身发展需要,某些以前定义的计算公式运算规则将不再适用,这就需要开发人员对原代码程序进行修改升级处理,公式的修改需要开发人员的参与,此种方式极大的降低应用系统计算的实时性和灵活性,且由于规则代码的重新编写还可能导致系统稳定性大打折扣。

技术实现思路

[0004]有鉴于此,本专利技术的目的在于克服现有技术的不足,提供一种基于中文表达式的计算方法、装置、设备及存储介质。
[0005]为实现以上目的,本专利技术采用如下技术方案:
[0006]一种基于中文表达式的计算方法,包括:
[0007]接收用户输入中文表达式;
[0008]对所述中文表达式进行格式合规性验证;
[0009]验证通过后,利用递归下降分析法对所述中文表达式进行解析,生成所述中文表达式对应的SQL语句;
[0010]利用所述SQL语句结合预先获取的待计算数据进行计算,得到计算结果。
[0011]可选的,所述对所述中文表达式进行格式合规性验证,包括:
[0012]对所述中文表达式进行分析,得到所述中文表达式的运算符号和运算因子;
[0013]判断所述运算符号是否满足预设运算符号标准;
[0014]若满足预设运算符号标准,判断所述运算因子是否与预设指标信息集合相匹配;
[0015]若与预设指标信息集合匹配,则对所有的所述运算因子进行预设数据标注的匹配。
[0016]可选的,所述SQL语句包括:字符SQL语句和符号SQL语句;
[0017]所述利用递归下降分析法对所述中文表达式进行解析,生成所述中文表达式对应的SQL语句,包括:
[0018]对所述中文表达式进行分析,得到公式基本元素;所述公式基本元素包括中文字符元素和运算符号元素;
[0019]将所述中文字符元素进行识别并转换成对应的所述字符SQL语句;
[0020]将所述运算符号元素进行识别并转换成对应的所述符号SQL语句。
[0021]可选的,所述利用所述SQL语句结合预先获取的待计算数据进行计算,得到计算结果,包括:
[0022]创建临时表,将所述中文字符元素存入所述临时表中;
[0023]读取预先获取的所述待计算数据存入所述临时表中所述中文字符元素对应的数据字段内;
[0024]执行所述SQL语句对所述数据字段的数据进行计算,得到所述计算结果。
[0025]可选的,所述预设指标信息集合的属性包括:指标名称;
[0026]所述判断所述运算因子是否与预设指标信息集合相匹配,包括:
[0027]将所述运算因子与所述预设指标信息集合中的所述指标名称进行匹配;
[0028]若得到相匹配的所述指标名称,则判定所述运算因子与所述预设指标信息集合相匹配。
[0029]可选的,所述对所有的所述运算因子进行预设数据标注的匹配,包括:
[0030]将所有所述运算因子进行数据类型及数据长度的匹配;
[0031]若匹配成功,则确定所述运算因子的数据类型;
[0032]若所述数据类型为整型,判定所述运算因子间匹配成功;
[0033]若所述数据类型为实型,判断所有所述运算因子的小数位长度是否匹配;
[0034]若匹配成功,判定所述运算因子间匹配成功。
[0035]一种基于中文表达式的计算装置,包括:
[0036]中文表达式接收模块,用于接收用户输入中文表达式;
[0037]合规性验证模块,用于对所述中文表达式进行格式合规性验证;
[0038]SQL语句生成模块,用于验证通过后,利用递归下降分析法对所述中文表达式进行解析,生成所述中文表达式对应的SQL语句;
[0039]计算模块,用于利用所述SQL语句结合预先获取的待计算数据进行计算,得到计算结果。
[0040]可选的,所述合规性验证模块,包括:
[0041]中文表达式分析单元,用于对所述中文表达式进行分析,得到所述中文表达式的运算符号和运算因子;
[0042]运算符判断单元,用于判断所述运算符号是否满足预设运算符号标准;
[0043]指标信息集合匹配单元,用于若满足预设运算符号标准,判断所述运算因子是否与预设指标信息集合相匹配;
[0044]运算因子匹配单元,用于若与预设指标信息集合匹配,则对所有的所述运算因子进行预设数据标注的匹配。
[0045]一种基于中文表达式的计算设备,包括:
[0046]处理器,以及与所述处理器相连接的存储器;
[0047]所述存储器用于存储计算机程序,所述计算机程序至少用于执行上述所述的基于中文表达式的计算方法;
[0048]所述处理器用于调用并执行所述存储器中的所述计算机程序。
[0049]一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现如上述所述的基于中文表达式的计算方法中各个步骤。
[0050]本申请提供的技术方案可以包括以下有益效果:
[0051]本申请中公开了一种基于中文表达式的计算方法,包括:接收用户输入中文表达式;对中文表达式进行合规性验证;验证通过后,利用递归下降分析法对中文表达式进行解析,生成中文表达式对应的SQL语句;利用SQL语句结合预先获取的待计算数据进行计算,得到计算结果。上述方法中通过实时接收用户输入的中文表达式,对该中文表达式进行解析,生成中文表达式对应的SQL语句,利用该SQL语句对待计算数据进行计算,得到最终的计算结果。此种方法简单、灵活、高效的通过自然语言定义中文公式实现目标数据的计算,全程无需开发人员人工参与,节省人工成本。
附图说明
[0052]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0053]图1是本专利技术一实施例提供的基于中文表达式的计算方法流程图;
[0054]图2是本专利技术一实施例提供的生成中文表达式对应的SQL语句的方法流程图;
[0055]图3是本专利技术一实施例提供的基于中文表达式的计算装置模块图;<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于中文表达式的计算方法,其特征在于,包括:接收用户输入中文表达式;对所述中文表达式进行格式合规性验证;验证通过后,利用递归下降分析法对所述中文表达式进行解析,生成所述中文表达式对应的SQL语句;利用所述SQL语句结合预先获取的待计算数据进行计算,得到计算结果。2.根据权利要求1所述的方法,其特征在于,所述对所述中文表达式进行格式合规性验证,包括:对所述中文表达式进行分析,得到所述中文表达式的运算符号和运算因子;判断所述运算符号是否满足预设运算符号标准;若满足预设运算符号标准,判断所述运算因子是否与预设指标信息集合相匹配;若与预设指标信息集合匹配,则对所有的所述运算因子进行预设数据标注的匹配。3.根据权利要求1所述的方法,其特征在于,所述SQL语句包括:字符SQL语句和符号SQL语句;所述利用递归下降分析法对所述中文表达式进行解析,生成所述中文表达式对应的SQL语句,包括:对所述中文表达式进行分析,得到公式基本元素;所述公式基本元素包括中文字符元素和运算符号元素;将所述中文字符元素进行识别并转换成对应的所述字符SQL语句;将所述运算符号元素进行识别并转换成对应的所述符号SQL语句。4.根据权利要求3所述的方法,其特征在于,所述利用所述SQL语句结合预先获取的待计算数据进行计算,得到计算结果,包括:创建临时表,将所述中文字符元素存入所述临时表中;读取预先获取的所述待计算数据存入所述临时表中所述中文字符元素对应的数据字段内;执行所述SQL语句对所述数据字段的数据进行计算,得到所述计算结果。5.根据权利要求1所述的方法,其特征在于,所述预设指标信息集合的属性包括:指标名称;所述判断所述运算因子是否与预设指标信息集合相匹配,包括:将所述运算因子与所述预设指标信息集合中的所述指标名称进行匹配;若得到相匹配的所述指标名称,则判定所述运算因子与所述...

【专利技术属性】
技术研发人员:邓灿
申请(专利权)人:北京宏景世纪软件股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1