本发明专利技术涉及一种数据查询分析方法,属于软件数据计算验证应用领域,主要目的是判断填写了某表单某字段的值是否符合特定条件,从而判断填写内容是否符合预期,或是查找出符合条件的单位(例如企业、个人、组织等)。本方法对表单、字段、字段内容进行编码以记录其对应信息,根据传入的公式表达式和对应的映射内容,使用正则表达式、栈、字符串匹配与分割、中后缀表达式等算法及数据结构进行模型运算处理,验证内容规则是否合规,是否在规定的阈值和限制之内。可以更好地维护指标关系,减小指标变量关系复杂度,减少维护内容所占的磁盘空间,减少验算所带来的CPU算力,减轻用户操作,引导方式更加清晰,从而给用户带来更好的操作方式和体验感。验感。验感。
【技术实现步骤摘要】
一种数据查询分析方法
[0001]本专利技术涉及软件数据计算验证应用领域,具体是指一种数据查询分析方法。
技术介绍
[0002]随着科技不断进步,获取消息流的方式越来越多,用户获取到的信息量急剧增加。海量的时序数据铺天盖地,其中隐藏着非常有价值的信息。
[0003]如申请号为CN200610000534.X公开了一种将梯形逻辑例程转换为布尔逻辑的方法。在定义该梯形逻辑例程的多个梯形梯级中每个梯形梯级的相应逻辑表达式中采集梯形逻辑元素的布尔表示形式。接着从所述逻辑表达式中解析出布尔逻辑元素。然后以解析所述布尔逻辑元素的次序将布尔逻辑元素存储在存储器中,从而按照该梯形逻辑例程的执行次序来表示该梯形逻辑例程。
[0004]现有的技术案例通常设计上都是提前设置好指标数据之间的关系,没有自定义的规范各个指标之间的限制关系,导致会存储大量的指标关系逻辑式子,不仅增加了指标关系数据存储的磁盘数据占用率,而且还会致使指标关系维护复杂化。导致不能方便对软件自定义指标关系的拓展和维护,且减少数据关系的维护所占据的数据库磁盘占用率和CPU处理器计算时使用的算力。
技术实现思路
[0005]本专利技术要解决上述技术问题,提供一种数据查询分析方法。
[0006]为解决上述技术问题,本专利技术提供的技术方案为:
[0007]一种数据查询分析方法,包括if逻辑模型运算、withoutif逻辑模型运算、布尔逻辑模型运算、比较逻辑模型运算和后缀和函数表达式逻辑模型运算,且通过正则匹配、哈希映射等数值化操作方式dop把公式表达式F变为数值表达式D,数值表达式由布尔函数表达式B和逻辑函数表达式L通过逻辑运算lop组成,通过计算每一个函数表达式的值得到它们返回的布尔值,再进行布尔逻辑模型运算,从而得到输入表达式最终的布尔值;
[0008]关系式如下所示:
[0009]D=dop(F);
[0010]dop(F)=(B|L)log(B|L);
[0011]B=BF(opD,opD);
[0012]L=(DF|opD)rop(DF|opD)。
[0013]优选地,所述的dop为数值化操作,所述的rop为关系运算符,所述的lop为逻辑运算符。
[0014]优选地,所述的if逻辑模型运算步骤如下:
[0015]步骤1:转换公式表达式为数值表达式;
[0016]步骤2:处理数值表达式中的布尔函数模块,把布尔函数结果替换对应的式子;
[0017]步骤3:对数值表达式子中的字符串序列通过if/elseif/else关键字截取判断逻
辑的字符串序列,
[0018]步骤4:根据if/elseif的调节为真,提取不同分支内容;
[0019]步骤5:处理分支内容,对分支内容进行布尔模型处理,对分支内容布尔结果进行验真判断处理。
[0020]优选地,所述的withoutif逻辑模型运算步骤如下:
[0021]步骤1:转换公式表达式为数值表达式
[0022]步骤2:处理数值表达式中的布尔函数模块,把布尔函数结果替换对应的式子
[0023]步骤3:对数值表达式进行布尔模型处理,对分支内容布尔结果进行验真判断处理。
[0024]优选地,所述的步骤1是先对公式表达式式子做正则匹配,然后对每个变量名进行变换处理,对变换后的变量名以及输入的hash存储数据做映射处理,生成数值逻辑表达式式子。
[0025]优选地,所述的步骤2是判断式子中是否存在布尔函数,截取布尔函数表达式字符串,并对该字符串序列做布尔函数匹配处理,获取到布尔函数表达式函数运算结果,然后替换数值表达式。
[0026]优选地,所述的布尔逻辑模型运算步骤如下:
[0027]步骤1:根据布尔运算分割符分割运算序列,提取逻辑运算符序列;
[0028]步骤2:遍历各个分割逻辑运算符,如是||或者&&的话压入存储栈中,不是的话判断是否含有比较运算符号,若含有则进行比较逻辑模型运算,返回的布尔结果压入存储核中,不存在则进行布尔值类型转换,计算出来的布尔结果压入栈中;
[0029]步骤3:对栈中的元素进行合并布尔计算返回最终的布尔结果。
[0030]优选地,所述的比较逻辑模型运算步骤如下:
[0031]步骤1:通过比较运算符进行分割和初始化相同长度的数组来缓存对应的分割比较运算符每个式子结果;
[0032]步骤2:对于每个分割的比较运算符式子采用后缀和函数表达式逻辑模型运算处理返回对应的式子结果,然后替换中间结果数组中的元素;
[0033]步骤3:对于中间结果中的元素进行比较运算,返回计算之后的布尔结果。
[0034]优选地,所述的后缀和函数表达式逻辑模型运算步骤如下:
[0035]步骤1:通过正则表达式判断逻辑字符串序列是否是数字序列,如果是的话直接返回结果;
[0036]步骤2:给所有的操作符左右增加空格便于字符串分割;
[0037]步骤3:把字符串序列转换成中级表达式便于后续处理;
[0038]步骤4:把转换好的中缀表达式转换成后缀表达式便于后续运算;
[0039]步骤5:对后缀表达式序列数组进行运算返回逻辑运算结果。
[0040]采用以上方法后,本专利技术具有如下优点:
[0041]本专利技术采用if和withoutif模型运算,能够根据传入的公式表达式和对应的映射内容进行模型运算处理,验证内容规则是否合规,是否在规定的阈值和限制之内;从而更好的对维护的指标关系和减少指标变量关系复杂化,同时减少维护内容所占的磁盘空间,减少验算所带来的CPU算力,同时可以给用户带来更好的操作性,减少用户操作以及更方便的
引导。
[0042]上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本专利技术进一步的方面、实施方式和特征将会是容易明白的。
附图说明
[0043]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0044]图1是本专利技术的if逻辑模型运算的流程图。
[0045]图2是本专利技术的withoutif逻辑模型运算的流程图。
[0046]图3是本专利技术的布尔逻辑模型运算的流程图。
[0047]图4是本专利技术的比较逻辑模型运算的流程图。
[0048]图5是本专利技术的后缀和函数表达式逻辑模型运算的流程图。
具体实施方式
[0049]现在将详细提及本专利技术的具体实施方案。尽管结合这些具体的实施方案描述本专利技术,但应认识到不打算限制本专利技术到这些具体实施方案。相反,这些实施方案意欲覆盖可包括本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种数据查询分析方法,其特征在于,包括if逻辑模型运算、withoutif逻辑模型运算、布尔逻辑模型运算、比较逻辑模型运算和后缀和函数表达式逻辑模型运算,且通过正则匹配、哈希映射等数值化操作方式dop把公式表达式F变为数值表达式D,数值表达式由布尔函数表达式B和逻辑函数表达式L通过逻辑运算lop组成,通过计算每一个函数表达式的值得到它们返回的布尔值,再进行布尔逻辑模型运算,从而得到输入表达式最终的布尔值;关系式如下所示:D=dop(F);dop(F)=(B|L)lop(B|L);B=BF(opD,opD);L=(DF|opD)rop(DF|opD)。2.根据权利要求1所述的一种数据查询分析方法,其特征在于:所述的dop为数值化操作,所述的rop为关系运算符,所述的lop为逻辑运算符。3.根据权利要求1所述的一种数据查询分析方法,其特征在于:所述的if逻辑模型运算步骤如下:步骤1:转换公式表达式为数值表达式;步骤2:处理数值表达式中的布尔函数模块,把布尔函数结果替换对应的式子;步骤3:对数值表达式子中的字符串序列通过if/elseif/else关键字截取判断逻辑的字符串序列,步骤4:根据if/elseif的调节为真,提取不同分支内容;步骤5:处理分支内容,对分支内容进行布尔模型处理,对分支内容布尔结果进行验真判断处理。4.根据权利要求1所述的一种数据查询分析方法,其特征在于:所述的withoutif逻辑模型运算步骤如下:步骤1:转换公式表达式为数值表达式步骤2:处理数值表达式中的布尔函数模块,把布尔函数结果替换对应的式子步骤3:对数值表达式进行布尔模型处理,对分支内容布尔结果进行验真判断处理。5.根据权利要求3或4所述的一种数据查询分析方法,其特征在于:所述的步骤1是先对公式表达式式子做正则匹配,然后对每个变量名进行变换...
【专利技术属性】
技术研发人员:周安顺,张汉宁,张立,冯俊玮,王冠生,纪龙,童远浩,杨日华,
申请(专利权)人:联通海南产业互联网有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。