一种基于表达式来实现数据交互的方法与流程

文档序号:19156083发布日期:2019-11-16 00:47阅读:194来源:国知局
一种基于表达式来实现数据交互的方法与流程

本发明涉及计算机技术领域,更具体地说,涉及一种基于表达式来实现数据交互的方法。



背景技术:

随着社会的不断发展和进步,业务领域的创新和变化日益频繁,但面临业务领域或行业众多而且场景多(例如移动的,办公的;财务的,供应链的;复杂的,简单的等)。对于不同的业务领域、行业或场景,需要各种各样的基础表,并且各种表展示到前端页面中关系复杂多样,而开发人员在开发过程中也不一定能很好的切合客户的数据展示要求,而业务人员也不懂代码开发。该技术是通过无代码表达式方式解决页面展示和过滤数据。



技术实现要素:

本发明要解决的技术问题在于,针对现有技术的缺陷,提供一种基于无代码表达式形式,实现设计页面表达式执行和条件过滤的方法及系统。

本发明解决其技术问题所采用的技术方案是:构造一种基于表达式来实现数据交互的方法,该方法包括前期的模板准备阶段,即根据web图形化配置而产生的元数据,建立不同领域或行业对应的业务系统模型的模板;还包括业务设计阶段,即在web或移动端建立应用时,根据适应的领域或行业,选取相应的业务系统模型的模板,根据业务需求对业务系统模型中的表单进行修改或创建;还包括在业务设计完成后,激发应用的部署,以及设置权限,控制使用者对应用的使用权限;在业务设计阶段,在对表单进行修改或创建后,根据业务需求对表单的每个组件设置定义与其相对应的表达式,通过所述表达式实现应用内数据关系的定义;其中,所述表单由字段组成,且每一个字段继承于一个组件。

进一步的,针对表单中的每个字段,定义用于描述其特征的属性定义模型和用于定义业务数据格式的数据定义模型,其中,属性定义模型用于定义字段的交互行为、业务逻辑、展现形式特征;对于每个字段,通过属性定义模型定义与其对应的特征属性值,并针对所有的字段和特征属性值,建立字段与属性关系的关系集合。

进一步的,当引用数据定义模型来定义表达式时,所述表达式的内容通过引用属性定义模型中定义的字段属性特征,当定义的字段属性特征发生变化时,表达式的计算值随之发生改变。

进一步的,当用户录入或点击表单时,首先,根据当前用户与字段的交互行为,更新字段的属性特征值;其次,针对当前字段,比较当前更新的属性特征与所述关系集合中对应的属性特征之间的关联性,其中,两者之间有关联性的时候,则执行表达式,进一步更新对应的业务数据。

进一步的,在执行表达式时,通过抽象语法树-ast,针对传入的数据信息,进一步解析出表达式结果。

进一步的,该方法在运行时,通过获取到先前录入的表达式信息,分析出表达式与属性之间的表达式关系,以及字段之间的表达式关系,进一步去除不合理的表达式。

进一步的,该方法在用户录入时,通过分析属性间的表达式关系,来决定是否需要执行对应的表达式,在执行表达式时,动态更改业务逻辑、业务流程和业务数据。

在本发明所述的一种基于表达式来实现数据交互的方法中,根据基于web录入的表达式数据,自动解析录入数据的内容,其中,根据业务表单录入的内容变化,自动有序执行相关联的表达式并计算出结果。

实施本发明的一种基于表达式来实现数据交互的方法,通过多个表达式之间的表达式逻辑关系,自动有序嵌套递归执行,从而使复杂的业务逻辑简单配置化。

附图说明

下面将结合附图及实施例对本发明作进一步说明,附图中:

图1是本发明实施方法的流程图;

图2是表达式的定义说明;

图3是表达式运行时的执行流程。

具体实施方式

为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。

本发明基于表达式来实现数据交互的方法,其中,通过多个表达式之间的表达式逻辑关系,自动有序嵌套递归执行,从而使复杂的业务逻辑简单配置化。

请参考图1,其为本发明实施方法的流程图,该实施方法包括前期的模板准备阶段:即根据web图形化配置而产生的元数据,建立不同领域或行业对应的业务系统模型的模板;还包括业务设计阶段:即在web或移动端建立应用时,根据适应的领域或行业,选取相应的业务系统模型的模板,根据业务需求对业务系统模型中的表单进行修改或创建;还包括在业务设计完成后,激发应用的部署,以及设置权限,控制使用者对应用的使用权限;其中:

根据适应领域或行业选择相应模板;示例性的,当需要crm(客户关系管理系统)时,可以选择标准的crm模板;当需要oa时,可以选择标准的企业oa模板;当所有模板都不合适时,可以选择最接近的或者空白模板。

根据业务需求对业务系统模型中的表单进行修改或创建,利用基于web的图形化设计器和系统提供的各种通用及行业专用的组件,搭建适合业务需求的表单,并通过表单及组件属性定义其行为特性。

本发明的创新处在于,在业务设计阶段,在对表单进行修改或创建后,根据业务需求对表单的每个组件设置定义与其相对应的表达式,通过所述表达式实现应用内数据关系的定义;其中,所述表单由字段组成,且每一个字段继承于一个组件。本实施例中,首先进入图形化设计器,选中具有业务流程的组件,针对组件的属性,设置与其相对应的表达式。本实施例中,针对表单中,所有有可能变化的区域,均使用表达式来描述其变化关系。本实施例中,定义的表达式能够被系统自动识别,并自动建立关系,一旦录入数据有变更时,则进一步驱动表达式的进行进一步更新。针对录入数据的查询、存储、校验等交互行为,均可以根据表达式的计算结果,实现动态的变更。

请参考图2,其为表达式的定义说明,其中,表单包含的每个字段,均是在基于操作平台,通过拖动组件到图形化设计器上,进一步生产得到的。针对表单中的每个字段,本实施例中,定义用于描述其特征的属性定义模型和用于定义业务数据格式的数据定义模型,其中,属性定义模型用于定义字段的交互行为、业务逻辑、展现形式特征,用户可以设置表达式,当使用者与该字段发生交互时,属性的值就会发生变动;对于每个字段,通过属性定义模型定义的其对应的特征属性值,并针对所有的字段和特征属性值,建立字段与属性关系的关系集合。

当引用数据定义模型来定义表达式时,对应的表达式的内容是通过引用属性定义模型中定义的字段属性特征,当定义的字段属性特征发生变化时,表达式的计算值随之发生改变。

例如:有字段f1和f2,字段f1和f2的数据定义通过表达式设置都引用各自属性「值」,其中f2的属性定义「值」通过设置了表达式为f1*0.8。因此,当用户在f1上录入数字10的时候,f2的是就会变为0.8。

请参考图3,其为表达式运行时的执行流程,首先,在程序运行时,通过api获取设计时即先前录入的数据,通过录入的数据分析出业务数据、解析后的组件、表达式相关信息(具体的表达式、属性之间的表达式关系、字段之间的表达式关系、去除不合理的表达式);其次,通过获取到的表达式相关信息,判断当前表单是否定义的有表达式,具体为:首先,执行初始化表达式操作,获得初始字段信息;其次,当用户和字段发生交互时即用户录入或点击表单等,具体为,首先,根据当前用户与字段的交互行为,更新字段的属性特征值;其次,针对当前字段,比较当前更新的属性特征与所述关系集合中对应的属性特征之间的关联性,其中,两者之间有关联性的时候,则执行表达式,进一步更新对应的业务数据;其中,在执行表达式时,本实施例,通过抽象语法树-ast,针对传入的数据信息,进一步解析出表达式结果;

其中,在判断没有表达式的时候,通过获取到的业务数据,进一步根据字段类型(数字、文本、日期等)和字段的属性定义,获取实际的值;例如,数字类型字段传入123.111实际值可能是123.11或者是123.111000。

本实施例公开的一种基于表达式来实现数据交互的方法,在用户录入时,通过分析属性间的表达式关系,来决定是否需要执行对应的表达式,在执行表达式时,动态更改业务逻辑、业务流程和业务数据,进一步降低了应用的复杂度。基于使用者的业务数据,可以动态计算表达式,从而改变业务逻辑。综上所述,采用本发明提供的方法,能够显著的提高企业应用软件的效率,实时、动态的改变业务功能和流程,节约生产成本。

上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1