一种规则引擎字段的命名、使用、装置、设备及存储介质制造方法及图纸

技术编号:38810687 阅读:10 留言:0更新日期:2023-09-15 19:49
本发明专利技术公开了一种规则引擎字段的命名、使用、装置、设备及存储介质,旨在解决现有的数据结构刚性过大,调整困难的不足。该发明专利技术包括报文、关系运算符和待比较值,报文包括若干层级的字段,所述字段之间具有父子关系,所述字段根据次级高度排列,其中,数据类型为数组的字段通过预设方式表示,相邻字段之间通过预规定符号分隔。在层级不定,结构多变的数据场景下,以不变应万变的方式来描述千变万化的数据映射,消除程序中的硬编码,以配置的方式来适配多变的业务所需。多变的业务所需。多变的业务所需。

【技术实现步骤摘要】
一种规则引擎字段的命名、使用、装置、设备及存储介质


[0001]本专利技术涉及数据读取
,更具体地说,它涉及一种规则引擎字段的命名、使用、装置、设备及存储介质。

技术介绍

[0002]国际贸易任何进出口货物通过海关,都必须在向海关递交已填好的报关单的同时,交验有关的货运和商业单据,接受海关审核诸种单证是否一致,并由海关审核后加盖印章,作为提取或发运货物的凭证。除了进出口货物许可证、商检证书等国家规定的单证系列之外,对涉及到国家/国际规定的其他进出口管制货物,报关单位也必须向海关提交由国家主管部门签发的特定的进出口货物批准单证,诸如食品卫生检验,药品检验,动植物检疫,文物出口签定,金银及其制品的管理,珍贵稀有野生动物的管理,进出口射击运动、狩猎用枪支弹药和民用爆破物品的管理,进出口音像制品的管理等等。在实际的业务流程处理中,报关单位向海关申报之前需要先自检是否符合海关的要求以避免因申报内容的不全缺失导致的申报失败而影响业务的正常进行。
[0003]一份报关单的报文通常由一个包含申报单位信息、收(发)货人信息、目的地国家(城市)、港口、包装、总重量、总价等通用的总概型表头信息和包含了一系列的产品细节信息(包括产品编码、产品名、产品规格、单价、数量、相关许可证等)的表体信息所构成。除了各产品细节,还会有集装箱信息、随附单据、企业资质等其他维度的表体信息。更进一步,这些表体内容的每一项也可能包含数个一对多的子项数据,比如一个产品可能会涉及到多个相关许可证。因此概括来说,一个报关单的报文是一个多维度的,多层级的半结构化数据结构。
[0004]对于多维度多层级的半结构化的数据结构描述本身来说目前有很多成熟方案,比如常用的XML和JSON都可以很好的应对。但对于进出口报关的自检校验这个业务场景来说,因为涉及到货物编码更新,各国政策变化,以及因国际形式等因素多变引起的如实体名单等禁限运条例的多变等因素,自检校验的规则需要建立在一个动态可配置易维护的技术体系下方能保证校验系统能够及时跟上各种各样的政策变化而不至于因检测项缺失而引起通关事故导致时间和金钱上的损失。为了实现校验规则的动态可配置能力,除了需要有一个做校验的规则引擎之外,一个可以映射到多层级多维度半结构化数据结构对应内容的扁平化规则引擎字段命名方式也是不可或缺的。

技术实现思路

[0005]本专利技术克服了现有的数据结构刚性过大,调整困难的不足,提供了一种规则引擎字段的命名、使用、装置、设备及存储介质,它能在层级不定,结构多变的数据场景下,以不变应万变的方式来描述千变万化的数据映射,消除程序中的硬编码,以配置的方式来适配多变的业务所需。
[0006]为了解决上述技术问题,本专利技术采用以下技术方案:
一种规则引擎表达式字段的命名方法,包括报文、关系运算符和待比较值,报文包括若干层级的字段,所述字段之间具有父子关系,所述字段根据次级高度排列,其中,数据类型为数组的字段通过预设方式表示,相邻字段之间通过预规定符号分隔。
[0007]作为优选,数据类型为数组的字段通过变量标识具体的数据层级,通过设置变量的方式,使得数组获得弹性,根据实际业务中的数组长度按需伸缩,从而简化规则引擎的判断逻辑。
[0008]一种规则引擎表达式字段的使用方法,包括:获得表达式;根据预规定符号分割报文,获得按层级高低排列的若干字段;读取字段对应的内容形成校验数据;根据关系运算符和待比较值建立判断公式并对校验数据进行逻辑判断并输出对应的布尔值。
[0009]本申请通过上述步骤,根据报文构成的索引,按需爬表,获得相应的内容。由于上层和下层内容之间存在联系,因此,在判断过程前与前层的相应内容进行拼接形成校验数据。通过表达式根据内容和层级可以获得若干个校验数据,逐一的将校验数据根据表达式进行逻辑判断,从而获得相应的布尔值,并根据前述布尔值输出最终布尔值。根据此种方案,解决层级不定,结构多变的数据场景下,以不变应万变的方式来描述千变万化的数据映射,消除程序中的硬编码,以配置的方式来适配多变的业务所需。
[0010]作为优选,读取字段对应的内容包括:获取当前字段;若字段不是数组,则获取其内容与上级内容拼合构成校验数据;若字段是数组,则根据表达式的层级深度遍历所述数组下的各个元素并获取其内容,并与上级内容拼合构成校验数据。
[0011]内容分配在若干张表中,规则引擎根据字段搜索相应表中的对应内容,在层级上由上到下的获取内容,获取后进行组合。对于字段为非数组类型的,直接拼合就可以,而对于是数组的,则根据报文的层级数量与当前字段在报文的层级,相应的深入若干层进行遍历。
[0012]作为优选,根据表达式的层级深度遍历所述数组下的各个元素并获取其内容包括:获取当前字段在表达式中的层级和表达式的总层级;得到遍历深度;根据遍历深度,依次读取各个数组元素的数量,并替换变量为相应的index值;根据index值读取相应的内容。
[0013]作为优选,逻辑判断包括:根据表达式建立判断公式;对各个字段对应的内容逐一进行判断得到相应的布尔值;若至少有一个布尔值为TRUE则输出TRUE;若全部布尔值均为FALSE则输出FALSE。
[0014]一种计算机装置,用于判断规则引擎表达式字段的对应内容,包括:
获取模块,用于获得表达式;分割模块,用于根据预规定符号分割报文,获得按层级高低排列的若干字段;读取模块,用于读取字段对应的内容;判断模块,用于根据关系运算符和待比较值建立判断公式并对内容进行逻辑判断并输出对应的布尔值。
[0015]一种外接存储介质检测设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如前述的规则引擎表达式字段的使用方法。
[0016]一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前述的规则引擎表达式字段的使用步骤。
[0017]与现有技术相比,本专利技术的有益效果是:本申请通过字段表达式,和定义使用字段表达式的使用方法,在层级不定,结构多变的数据场景下以不变应万变的方式来描述千变万化的数据映射,消除程序中的硬编码,以配置的方式来适配多变的业务所需。
附图说明
[0018]图1是本专利技术的步骤示意图;图2是本专利技术的流程图;图3是本专利技术的装置结构框图;图4是本专利技术的示例图;图中:获取模块1、分割模块2、读取模块3、判断模块4。
具体实施方式
[0019]下面结合附图与实施例对本公开作进一步说明。
[0020]应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属
的普通技术人员通常理解的相同含义。
[0021]实施例1:一种规则引擎表达式字段的命名方法,包括报文、关系运算符和待比较值。
[0022]报文为表达式的主体,规则引擎根据报文在若干张表中进行映射查找相应的内容,与待比较值根据关系运算符进行比较,从而输出相应的布尔值。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种规则引擎表达式字段的命名方法,其特征是,包括报文、关系运算符和待比较值,报文包括若干层级的字段,所述字段之间具有父子关系,所述字段根据次级高度排列,其中,数据类型为数组的字段通过预设方式表示,相邻字段之间通过预规定符号分隔。2.根据权利要求1所述的一种规则引擎表达式字段的命名方法,其特征是,数据类型为数组的字段通过变量标识具体的数据层级。3.一种规则引擎表达式字段的使用方法,其特征是,包括:获得表达式;根据预规定符号分割报文,获得按层级高低排列的若干字段;读取字段对应的内容形成校验数据;根据关系运算符和待比较值建立判断公式并对校验数据进行逻辑判断并输出对应的布尔值。4.根据权利要求3所述的一种规则引擎表达式字段的使用方法,其特征是,读取字段对应的内容包括:获取当前字段;若字段不是数组,则获取其内容与上级内容拼合构成校验数据;若字段是数组,则根据表达式的层级深度遍历所述数组下的各个元素并获取其内容,并与上级内容拼合构成校验数据。5.根据权利要求4所述的一种规则引擎表达式字段的使用方法,其特征是,根据表达式的层级深度遍历所述数组下的各个元素并获取其内容包括:获取当前字段在表达式中的层级和表达式的总层级;...

【专利技术属性】
技术研发人员:穆惠明
申请(专利权)人:信号旗智能科技上海有限公司
类型:发明
国别省市:

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

1