[发明专利]基于SARP数据处理规则编译方法及数据处理方法在审

专利信息
申请号: 202111034066.9 申请日: 2021-09-03
公开(公告)号: CN113741873A 公开(公告)日: 2021-12-03
发明(设计)人: 叶剑秋;王一翔 申请(专利权)人: 江苏维邦软件有限公司
主分类号: G06F8/30 分类号: G06F8/30;G06F8/41;G06F8/71
代理公司: 南京明杰知识产权代理事务所(普通合伙) 32464 代理人: 葛红
地址: 213000 江苏省常*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 sarp 数据处理 规则 编译 方法
【权利要求书】:

1.一种基于SARP数据处理规则编译方法,其特征在于,所述数据编译方法包括以下步骤:

步骤S100:预先整理SARP的规则,并将整理后的规则写入一个字符型数据组,设该个字符型数据组为规则数组;

步骤S200:查询数据库中某条数据处理规则记录,获取该条数据处理规则记录的更新时间作为该条数据的版本号;

步骤S300:生成定义Java程序中的公共的类,包括分开申明主进程程序中使用的变量和线程程序中使用的变量;

步骤S400:遍历规则数组找到名录表,将各个名录库相关参数信息以及相关参数信息的取值存入名录表数组中;

步骤S500:遍历规则数组找到报表,将各个报表相关参数信息以及相关参数信息的取值存入报表数组中;

步骤S600:遍历规则数组找到语法关键字,对规则数组中SARP的规则中的条件语句、循环语句、审核语句、直接转换语句、计算语句、汇总语句和表达式进行编译处理,转换成JAVA程序;

步骤S700:将执行审核语句、计算语句和汇总语句时的生成数据写入数据库的JAVA程序中。

2.根据权利要求1所述的一种基于SARP数据处理规则编译方法,其特征在于:所述步骤S600中对循环语句进行编译处理包括:

如果规则数组中某条SARP规则的格式为“DO循环变量=开始值终止值步长”,判断该条SARP规则中是否包含特征规则后,线程程序生成对应开始值、终止值和步长的JAVA格式的循环语句;

如果规则数组中某条SARP规则的格式为“DO循环变量=值1,值2,…,值a”,a为自然数,那么,线程程序生成遍历值1到值a的JAVA格式的循环语句;

其中,所述判断该条SARP规则中是否包含特征规则包括:当该条SARP规则中包含“.RLEN”或“.CLEN”,主进程程序生成各种报表的主栏或宾栏长度变量值的代码,当该条SARP规则中包含“.COUNT”,主进程程序生成单位名录库的单位个数的变量值的代码。

3.根据权利要求1所述的一种基于SARP数据处理规则编译方法,其特征在于:所述步骤S600中对汇总语句进行编译处理包括:

所述汇总语句包括汇总总条件语句、汇总取数语句、汇总条件语句和分组汇总语句,其中,

当规则数组中某条SARP规则为汇总总条件语句时,将汇总总条件语句中的表达式转换成条件判断程序,执行完条件判断程序后筛选出满足条件的单位进行汇总;

当规则数组中某条SARP规则为汇总取数语句时,包括以下步骤:

①将所有的汇总取数语句分别存入各个取数标签数组;

②遍历各个取数标签数组,解析各取数标签数组的元素后,将元素存入汇总取数数组;

③遍历汇总取数数组,将各报表取数坐标存到数组中并生成JAVA格式的线程程序;

当规则数组中某条SARP规则为汇总条件语句时,包括以下步骤:

①将所有的汇总条件语句分别存入各个条件标签数组;

②遍历各个条件标签数组,解析各条件标签数组中的元素后,将元素存入汇总条件数组;

③遍历汇总条件数组,如果汇总条件数组中的条件以“T_GROUP”开始,那么采集参数指定的名录库分组属性中的分组值作为条件表达式,否则,提取汇总条件数组中的名录库中的单位属性条件作为条件表达式;

④分解汇总条件数组的条件表达式得到多个表达式,对表达式进行编译处理,生成JAVA格式的线程程序;

当规则数组中某条SARP规则为分组汇总语句时,包括以下步骤:

①遍历分组汇总语句中的每个字符,获取其中的分组汇总标签,并根据分组汇总标签从分组汇总语句中提取条件组和取数组,并获取条件组和取数组中的取数分量,设提取的条件组和取数组分别为总T、总Q,如果条件T组中的内容包括取数Q的内容,那么交换总T和总Q的内容,并用变量记录左括号组中的是主条件,

其中,分组汇总标签包括两组括号,条件组为分组汇总标签中两种括号组中括号括起来的内容仅包括条件标签的那一组,取数组为分组汇总标签中两种括号组中的另一组,条件T组为分组汇总标签中两组括号括起的条件分量和取数组中的条件分量,取数Q为分组汇总标签中的两组括号括起的条件分量和取数组中的取数分量,左括号组为分组汇总标签中的两组括号位于左边那个括号组,主条件为两组括号内只有条件分量没有取数分量的那个条件组;

②执行编译取数组中的取数标签,返回各种相关变量与状态值,并追加到线程代码供主程序调用;

③将总Q的取数分量存入二维数组,其中,二维数组的第一维是“+”分隔的段,二维数组的第二维是“*”分隔的段;

④循环处理各个取数组,如果总Q的某个分量的格式不是Q*T格式,其中,Q为取数标签,T为条件标签,那么将该个分量的格式转化为Q*T格式后,再对Q*T进行处理后,并将处理后的数据存入相关数组;

⑤执行编译汇总条件语句中的条件标签,返回各种相关变量与状态值,并追加到线程代码;

⑥线程代码增加各单位遍历循环代码,开始处理汇总名录表中的各单位的数据,汇总对所有单位只处理一次,满足条件的单位调取相关数据汇总即可;

⑦分解组合各汇总条件语句的段与层,

如果汇总条件语句的段与层中包括T、*和Q,那么某个汇总条件语句的某个分量便为T*Q型,生成判断T*Q中的T的真假的程序,其中,生成判断T*Q中的T的真假的程序为判断T*Q中的Q是否满足T当中的条件,如果Q满足T当中的条件,那么Q参与后续的汇总;

接着,如果发现汇总条件语句存在(T1+T2)格式,那么合并T1和T2中的条件内容,其中,T1,T2为汇总条件语句中的两个不同的条件标识;

⑧处理第一个汇总名录表中的单位时获取所有条件标签的长度,在执行汇总条件时获取T_GROUP中的条件的个数;

⑨循环遍历所有条件组中的条件,如果某个条件组中的条件满足汇总条件语句中的分组条件,那么再循环遍历所有并汇总到相应的汇总表单元格,如果汇总条件语句中出现了“T_GROUP”,那么遍历条件组的元素并汇总到相应的汇总表单元格,否则,汇总计数数量加1,其中,汇总计数数量的初始值为0。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏维邦软件有限公司,未经江苏维邦软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202111034066.9/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top