CN110457662B - 一种基于表达式来实现数据交互的方法 - Google Patents
一种基于表达式来实现数据交互的方法 Download PDFInfo
- Publication number
- CN110457662B CN110457662B CN201910665314.6A CN201910665314A CN110457662B CN 110457662 B CN110457662 B CN 110457662B CN 201910665314 A CN201910665314 A CN 201910665314A CN 110457662 B CN110457662 B CN 110457662B
- Authority
- CN
- China
- Prior art keywords
- expression
- field
- attribute
- data
- service
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于表达式来实现数据交互的方法,该方法包括前期的模板准备阶段,即根据web图形化配置而产生的元数据,建立不同领域或行业对应的业务系统模型的模板;还包括业务设计阶段,即在web或移动端建立应用时,根据适应的领域或行业,选取相应的业务系统模型的模板,根据业务需求对业务系统模型中的表单进行修改或创建;还包括在业务设计完成后,激发应用的部署,以及设置权限,控制使用者对应用的使用权限;在业务设计阶段时,在对表单进行修改或创建后,根据业务需求对表单的每个组件设置定义与其相对应的表达式,通过所述表达式实现应用内数据关系的定义;其中,所述表单由字段组成,且每一个字段继承于一个组件。
Description
技术领域
本发明涉及计算机技术领域,更具体地说,涉及一种基于表达式来实现数据交互的方法。
背景技术
随着社会的不断发展和进步,业务领域的创新和变化日益频繁,但面临业务领域或行业众多而且场景多(例如移动的,办公的;财务的,供应链的;复杂的,简单的等)。对于不同的业务领域、行业或场景,需要各种各样的基础表,并且各种表展示到前端页面中关系复杂多样,而开发人员在开发过程中也不一定能很好的切合客户的数据展示要求,而业务人员也不懂代码开发。该技术是通过无代码表达式方式解决页面展示和过滤数据。
发明内容
本发明要解决的技术问题在于,针对现有技术的缺陷,提供一种基于无代码表达式形式,实现设计页面表达式执行和条件过滤的方法及系统。
本发明解决其技术问题所采用的技术方案是:构造一种基于表达式来实现数据交互的方法,该方法包括前期的模板准备阶段,即根据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。
本实施例公开的一种基于表达式来实现数据交互的方法,在用户录入时,通过分析属性间的表达式关系,来决定是否需要执行对应的表达式,在执行表达式时,动态更改业务逻辑、业务流程和业务数据,进一步降低了应用的复杂度。基于使用者的业务数据,可以动态计算表达式,从而改变业务逻辑。综上所述,采用本发明提供的方法,能够显著的提高企业应用软件的效率,实时、动态的改变业务功能和流程,节约生产成本。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
Claims (7)
1.一种基于表达式来实现数据交互的方法,该方法包括前期的模板准备阶段,即根据web图形化配置而产生的元数据,建立不同领域或行业对应的业务系统模型的模板;还包括业务设计阶段,即在web或移动端建立应用时,根据适应的领域或行业,选取相应的业务系统模型的模板,根据业务需求对业务系统模型中的表单进行修改或创建;还包括在业务设计完成后,激发应用的部署,以及设置权限,控制使用者对应用的使用权限;其特征在于,在业务设计阶段,在对表单进行修改或创建后,根据业务需求对表单的每个组件设置定义与其相对应的表达式,通过所述表达式实现应用内数据关系的定义;其中,所述表单由字段组成,且每一个字段继承于一个组件。
2.根据权利要求1所述的基于表达式来实现数据交互的方法,其特征在于,针对表单中的每个字段,定义用于描述其特征的属性定义模型和用于定义业务数据格式的数据定义模型,其中,属性定义模型用于定义字段的交互行为、业务逻辑、展现形式特征;对于每个字段,通过属性定义模型定义与其对应的特征属性值,并针对所有的字段和特征属性值,建立字段与属性关系的关系集合。
3.根据权利要求2所述的基于表达式来实现数据交互的方法,其特征在于,当引用数据定义模型来定义表达式时,所述表达式的内容通过引用属性定义模型中定义的字段属性特征,当定义的字段属性特征发生变化时,表达式的计算值随之发生改变。
4.根据权利要求3所述的基于表达式来实现数据交互的方法,其特征在于,当用户录入或点击表单时,首先,根据当前用户与字段的交互行为,更新字段的属性特征值;其次,针对当前字段,比较当前更新的属性特征与所述关系集合中对应的属性特征之间的关联性,其中,两者之间有关联性的时候,则执行表达式,进一步更新对应的业务数据。
5.根据权利要求4所述的基于表达式来实现数据交互的方法,其特征在于,在执行表达式时,通过抽象语法树-AST,针对传入的数据信息,进一步解析出表达式结果。
6.根据权利要求5所述的基于表达式来实现数据交互的方法,其特征在于,该方法在运行时,通过获取到先前录入的表达式信息,分析出表达式与属性之间的表达式关系,以及字段之间的表达式关系,进一步去除不合理的表达式。
7.根据权利要求5所述的基于表达式来实现数据交互的方法,其特征在于,该方法在用户录入时,通过分析属性间的表达式关系,来决定是否需要执行对应的表达式,在执行表达式时,动态更改业务逻辑、业务流程和业务数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910665314.6A CN110457662B (zh) | 2019-07-23 | 2019-07-23 | 一种基于表达式来实现数据交互的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910665314.6A CN110457662B (zh) | 2019-07-23 | 2019-07-23 | 一种基于表达式来实现数据交互的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110457662A CN110457662A (zh) | 2019-11-15 |
CN110457662B true CN110457662B (zh) | 2022-11-29 |
Family
ID=68483129
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910665314.6A Active CN110457662B (zh) | 2019-07-23 | 2019-07-23 | 一种基于表达式来实现数据交互的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110457662B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114138425B (zh) * | 2022-02-07 | 2022-06-10 | 广州市玄武无线科技股份有限公司 | 一种基于公式生成表单的方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101706720B (zh) * | 2009-11-23 | 2013-07-24 | 浪潮集团山东通用软件有限公司 | 一种运行时根据用户自定义信息进行界面展示方法 |
US8874621B1 (en) * | 2011-10-09 | 2014-10-28 | LockPath, Inc. | Dynamic content systems and methods |
-
2019
- 2019-07-23 CN CN201910665314.6A patent/CN110457662B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110457662A (zh) | 2019-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11620117B2 (en) | Systems and methods for code clustering analysis and transformation | |
US11188319B2 (en) | Systems and methods for entry point-based code analysis and transformation | |
US10481884B2 (en) | Systems and methods for dynamically replacing code objects for code pushdown | |
US11436006B2 (en) | Systems and methods for code analysis heat map interfaces | |
CN105511873B (zh) | 用户界面控件展示方法及装置 | |
KR101130525B1 (ko) | 서식 유형들을 사용하여 서식을 생성하기 위한 방법 및장치 | |
US8392873B2 (en) | Methods and apparatus for implementing model-based software solution development and integrated change management | |
US9098544B2 (en) | Lifecycle marketing object oriented system and method | |
US20240045850A1 (en) | Systems and methods for database orientation transformation | |
CN103593456B (zh) | 表单自定义设计方法及装置 | |
WO2012092214A2 (en) | Platform for distributed applications | |
CN106407170A (zh) | 数据报表快速生成方法及系统 | |
CN115658041A (zh) | 基于在线业务流程编排的低代码增强业务实现方法 | |
US20130326470A1 (en) | Domain-specific generation of programming interfaces for business objects | |
CN110020356A (zh) | 一种页面模块的代码生成方法、装置及系统 | |
US20170060542A1 (en) | System and method for efficiently managing enterprise architecture using resource description framework | |
CN111984256A (zh) | 一种基于云原生架构的低代码应用流程系统和运行方法 | |
US7949946B2 (en) | Layout and line routing composition | |
CN111524008A (zh) | 一种规则引擎及其建模方法、建模装置及指令处理方法 | |
CN110457662B (zh) | 一种基于表达式来实现数据交互的方法 | |
CN115469860A (zh) | 基于指令集的需求到软件领域模型的自动生成方法及系统 | |
CN117850764B (zh) | 基于集成式模型驱动架构的设计建模方法及装置 | |
CN114638203A (zh) | 基于图元的可编程在线文档编辑方法 | |
CN112507011A (zh) | 一种程序自动化数据库模型建立的方法 | |
CN115268876A (zh) | 一种基于类自然语言的规则引擎构建方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |