本发明涉及软件数据计算验证应用领域,具体是指一种数据查询分析方法。
背景技术:
1、随着科技不断进步,获取消息流的方式越来越多,用户获取到的信息量急剧增加。海量的时序数据铺天盖地,其中隐藏着非常有价值的信息。
2、如申请号为cn200610000534.x公开了一种将梯形逻辑例程转换为布尔逻辑的方法。在定义该梯形逻辑例程的多个梯形梯级中每个梯形梯级的相应逻辑表达式中采集梯形逻辑元素的布尔表示形式。接着从所述逻辑表达式中解析出布尔逻辑元素。然后以解析所述布尔逻辑元素的次序将布尔逻辑元素存储在存储器中,从而按照该梯形逻辑例程的执行次序来表示该梯形逻辑例程。
3、现有的技术案例通常设计上都是提前设置好指标数据之间的关系,没有自定义的规范各个指标之间的限制关系,导致会存储大量的指标关系逻辑式子,不仅增加了指标关系数据存储的磁盘数据占用率,而且还会致使指标关系维护复杂化。导致不能方便对软件自定义指标关系的拓展和维护,且减少数据关系的维护所占据的数据库磁盘占用率和cpu处理器计算时使用的算力。
技术实现思路
1、本发明要解决上述技术问题,提供一种数据查询分析方法。
2、为解决上述技术问题,本发明提供的技术方案为:
3、一种数据查询分析方法,包括if逻辑模型运算、withoutif逻辑模型运算、布尔逻辑模型运算、比较逻辑模型运算和后缀和函数表达式逻辑模型运算,且通过正则匹配、哈希映射等数值化操作方式dop把公式表达式f变为数值表达式d,数值表达式由布尔函数表达式b和逻辑函数表达式l通过逻辑运算lop组成,通过计算每一个函数表达式的值得到它们返回的布尔值,再进行布尔逻辑模型运算,从而得到输入表达式最终的布尔值;
4、关系式如下所示:
5、d=dop(f);
6、dop(f)=(b|l)log(b|l);
7、b=bf(opd,opd);
8、l=(df|opd)rop(df|opd)。
9、优选地,所述的dop为数值化操作,所述的rop为关系运算符,所述的lop为逻辑运算符。
10、优选地,所述的if逻辑模型运算步骤如下:
11、步骤1:转换公式表达式为数值表达式;
12、步骤2:处理数值表达式中的布尔函数模块,把布尔函数结果替换对应的式子;
13、步骤3:对数值表达式子中的字符串序列通过if/elseif/else关键字截取判断逻辑的字符串序列,
14、步骤4:根据if/elseif的调节为真,提取不同分支内容;
15、步骤5:处理分支内容,对分支内容进行布尔模型处理,对分支内容布尔结果进行验真判断处理。
16、优选地,所述的withoutif逻辑模型运算步骤如下:
17、步骤1:转换公式表达式为数值表达式
18、步骤2:处理数值表达式中的布尔函数模块,把布尔函数结果替换对应的式子
19、步骤3:对数值表达式进行布尔模型处理,对分支内容布尔结果进行验真判断处理。
20、优选地,所述的步骤1是先对公式表达式式子做正则匹配,然后对每个变量名进行变换处理,对变换后的变量名以及输入的hash存储数据做映射处理,生成数值逻辑表达式式子。
21、优选地,所述的步骤2是判断式子中是否存在布尔函数,截取布尔函数表达式字符串,并对该字符串序列做布尔函数匹配处理,获取到布尔函数表达式函数运算结果,然后替换数值表达式。
22、优选地,所述的布尔逻辑模型运算步骤如下:
23、步骤1:根据布尔运算分割符分割运算序列,提取逻辑运算符序列;
24、步骤2:遍历各个分割逻辑运算符,如是||或者&&的话压入存储栈中,不是的话判断是否含有比较运算符号,若含有则进行比较逻辑模型运算,返回的布尔结果压入存储核中,不存在则进行布尔值类型转换,计算出来的布尔结果压入栈中;
25、步骤3:对栈中的元素进行合并布尔计算返回最终的布尔结果。
26、优选地,所述的比较逻辑模型运算步骤如下:
27、步骤1:通过比较运算符进行分割和初始化相同长度的数组来缓存对应的分割比较运算符每个式子结果;
28、步骤2:对于每个分割的比较运算符式子采用后缀和函数表达式逻辑模型运算处理返回对应的式子结果,然后替换中间结果数组中的元素;
29、步骤3:对于中间结果中的元素进行比较运算,返回计算之后的布尔结果。
30、优选地,所述的后缀和函数表达式逻辑模型运算步骤如下:
31、步骤1:通过正则表达式判断逻辑字符串序列是否是数字序列,如果是的话直接返回结果;
32、步骤2:给所有的操作符左右增加空格便于字符串分割;
33、步骤3:把字符串序列转换成中级表达式便于后续处理;
34、步骤4:把转换好的中缀表达式转换成后缀表达式便于后续运算;
35、步骤5:对后缀表达式序列数组进行运算返回逻辑运算结果。
36、采用以上方法后,本发明具有如下优点:
37、本发明采用if和withoutif模型运算,能够根据传入的公式表达式和对应的映射内容进行模型运算处理,验证内容规则是否合规,是否在规定的阈值和限制之内;从而更好的对维护的指标关系和减少指标变量关系复杂化,同时减少维护内容所占的磁盘空间,减少验算所带来的cpu算力,同时可以给用户带来更好的操作性,减少用户操作以及更方便的引导。
38、上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本发明进一步的方面、实施方式和特征将会是容易明白的。
1.一种数据查询分析方法,其特征在于,包括if逻辑模型运算、withoutif逻辑模型运算、布尔逻辑模型运算、比较逻辑模型运算和后缀和函数表达式逻辑模型运算,且通过正则匹配、哈希映射等数值化操作方式dop把公式表达式f变为数值表达式d,数值表达式由布尔函数表达式b和逻辑函数表达式l通过逻辑运算lop组成,通过计算每一个函数表达式的值得到它们返回的布尔值,再进行布尔逻辑模型运算,从而得到输入表达式最终的布尔值;
2.根据权利要求1所述的一种数据查询分析方法,其特征在于:所述的dop为数值化操作,所述的rop为关系运算符,所述的lop为逻辑运算符。
3.根据权利要求1所述的一种数据查询分析方法,其特征在于:所述的if逻辑模型运算步骤如下:
4.根据权利要求1所述的一种数据查询分析方法,其特征在于:所述的withoutif逻辑模型运算步骤如下:
5.根据权利要求3或4所述的一种数据查询分析方法,其特征在于:所述的步骤1是先对公式表达式式子做正则匹配,然后对每个变量名进行变换处理,对变换后的变量名以及输入的hash存储数据做映射处理,生成数值逻辑表达式式子。
6.根据权利要求3或4所述的一种数据查询分析方法,其特征在于:所述的步骤2是判断式子中是否存在布尔函数,截取布尔函数表达式字符串,并对该字符串序列做布尔函数匹配处理,获取到布尔函数表达式函数运算结果,然后替换数值表达式。
7.根据权利要求1所述的一种数据查询分析方法,其特征在于:所述的布尔逻辑模型运算步骤如下:
8.根据权利要求1所述的一种数据查询分析方法,其特征在于:所述的比较逻辑模型运算步骤如下:
9.根据权利要求1所述的一种数据查询分析方法,其特征在于:所述的后缀和函数表达式逻辑模型运算步骤如下: