一种数据流程表达式处理方法及系统与流程

文档序号:31633198发布日期:2022-09-24 02:34阅读:75来源:国知局
一种数据流程表达式处理方法及系统与流程

1.本发明属于数据流程处理技术领域,尤其涉及一种数据流程表达式处理方法及系统。


背景技术:

2.数据流程是数据的采集、输入、处理、加工和输出的全过程。信息原始数据经采集后,输入计算机系统,进行模式或统计运算,或按用户的特殊要求编制某种专门程序来加工处理数据,然后输出结果数据。对于企业项目的数据流程处理过程中,通常包含了一系列逻辑信息,这些逻辑信息之间具有相互衔接的逻辑顺序或因果关系,而在构建和处理过程中,非技术人员很难构建复杂的自定义业务处理逻辑,因此不能够完成对应业务的处理,影响非技术人员的工作效率。


技术实现要素:

3.本发明实施例的目的在于提供一种数据流程表达式处理方法及系统,旨在解决背景技术中提出的问题。
4.为实现上述目的,本发明实施例提供如下技术方案:一种数据流程表达式处理方法,所述方法具体包括以下步骤:接收用户的选择、排列、连接操作,构建由多个功能块组成的业务数据处理流程;接收用户发起的数据流请求,对所述业务数据处理流程进行识别验证,并在识别验证成功之后,生成数据流处理指令;根据所述数据流处理指令,对所述业务数据处理流程进行节点运算,得到节点运算结果;根据所述节点运算结果,执行节点查询,在操作数据库, 完成一次动态的数据查询。
5.作为本发明实施例技术方案进一步的限定,所述接收用户的选择、排列、连接操作,构建由多个功能块组成的业务数据处理流程具体包括以下步骤:接收用户的选择操作,确定多个功能块;接收用户的排列操作,将多个所述功能块进行排列;接收用户的连接操作,将多个所述功能块进行连接;构建由多个所述功能块组成的业务数据处理流程。
6.作为本发明实施例技术方案进一步的限定,所述接收用户发起的数据流请求,对所述业务数据处理流程进行识别验证,并在识别验证成功之后,生成数据流处理指令具体包括以下步骤:接收用户发起的数据流请求;根据所述数据流请求,对所述业务数据处理流程进行表达式基类识别,生成识别信息;
按照所述识别信息,对所述业务数据处理流程进行合理性验证,生成验证结果;根据所述验证结果,在验证成功之后,生成数据流处理指令。
7.作为本发明实施例技术方案进一步的限定,所述根据所述数据流处理指令,对所述业务数据处理流程进行节点运算,得到节点运算结果具体包括以下步骤:根据所述数据流处理指令,进入判断节点,确定流程走向;按照所述流程走向,在两个分支流程的变量赋值节点,进行动态赋值给对应变量;在配置查询条件节点,将所述对应变量组成到sql语句中,得到节点运算结果。
8.作为本发明实施例技术方案进一步的限定,所述根据所述节点运算结果,执行节点查询,在操作数据库, 完成一次动态的数据查询具体包括以下步骤:在执行节点查询,根据所述节点运算结果,生成查询指令;按照所述查询指令,在操作数据库, 完成一次动态的数据查询,得到数据查询结果;按照数据查询结果,生成并输出结果数据。
9.一种数据流程表达式处理系统,所述系统包括业务流程构建单元、流程识别验证单元、流程节点运算单元和节点查询处理单元,其中:业务流程构建单元,用于接收用户的选择、排列、连接操作,构建由多个功能块组成的业务数据处理流程;流程识别验证单元,用于接收用户发起的数据流请求,对所述业务数据处理流程进行识别验证,并在识别验证成功之后,生成数据流处理指令;流程节点运算单元,用于根据所述数据流处理指令,对所述业务数据处理流程进行节点运算,得到节点运算结果;节点查询处理单元,用于根据所述节点运算结果,执行节点查询,在操作数据库, 完成一次动态的数据查询。
10.作为本发明实施例技术方案进一步的限定,所述业务流程构建单元具体包括:选择处理模块,用于接收用户的选择操作,确定多个功能块;排列处理模块,用于接收用户的排列操作,将多个所述功能块进行排列;连接处理模块,用于接收用户的连接操作,将多个所述功能块进行连接;流程构建模块,用于构建由多个所述功能块组成的业务数据处理流程。
11.作为本发明实施例技术方案进一步的限定,所述流程识别验证单元具体包括:请求接收模块,用于接收用户发起的数据流请求;基类识别模块,用于根据所述数据流请求,对所述业务数据处理流程进行表达式基类识别,生成识别信息;合理验证模块,用于按照所述识别信息,对所述业务数据处理流程进行合理性验证,生成验证结果;处理指令生成模块,用于根据所述验证结果,在验证成功之后,生成数据流处理指令。
12.作为本发明实施例技术方案进一步的限定,所述流程节点运算单元具体包括:节点判断模块,用于根据所述数据流处理指令,进入判断节点,确定流程走向;节点赋值模块,用于按照所述流程走向,在两个分支流程的变量赋值节点,进行动
态赋值给对应变量;节点配置模块,用于在配置查询条件节点,将所述对应变量组成到sql语句中,得到节点运算结果。
13.作为本发明实施例技术方案进一步的限定,所述节点查询处理单元具体包括:查询指令生成模块,用于在执行节点查询,根据所述节点运算结果,生成查询指令;数据查询模块,用于按照所述查询指令,在操作数据库, 完成一次动态的数据查询,得到数据查询结果;数据输出模块,用于按照数据查询结果,生成并输出结果数据。
14.与现有技术相比,本发明的有益效果是:本发明实施例通过接收用户的选择、排列、连接操作,构建由多个功能块组成的业务数据处理流程;接收用户发起的数据流请求,对业务数据处理流程进行识别验证,并在识别验证成功之后,生成数据流处理指令;根据数据流处理指令,对业务数据处理流程进行节点运算,得到节点运算结果;根据节点运算结果,执行节点查询,在操作数据库, 完成一次动态的数据查询。能够通过抽象解耦的编程思维, 设计出一套简单、易扩展、低耦合高内聚的软件功能,将传统编程范畴内的代码抽象成各种节点和功能块, 让操作者可以使用拖拽的方式完成一个复杂的业务数据处理流程,用户可以根据提供的表达式表写规则,自定编写表达式。
附图说明
15.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例。
16.图1示出了本发明实施例提供的方法的流程图。
17.图2示出了本发明实施例提供的方法中构建数据处理流程的流程图。
18.图3示出了本发明实施例提供的方法中处理流程识别验证的流程图。
19.图4示出了本发明实施例提供的方法中处理流程节点运算的流程图。
20.图5示出了本发明实施例提供的方法中执行节点查询处理的流程图。
21.图6示出了本发明实施例提供的系统的应用架构图。
22.图7示出了本发明实施例提供的系统中业务流程构建单元的结构框图。
23.图8示出了本发明实施例提供的系统中流程识别验证单元的结构框图。
24.图9示出了本发明实施例提供的系统中流程节点运算单元的结构框图。
25.图10示出了本发明实施例提供的系统中节点查询处理单元的结构框图。
具体实施方式
26.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
27.可以理解的是,现有技术中,对于企业项目的数据流程处理过程中,通常包含了一
系列逻辑信息,这些逻辑信息之间具有相互衔接的逻辑顺序或因果关系,而在构建和处理过程中,非技术人员很难构建复杂的自定义业务处理逻辑,因此不能够完成对应业务的处理,影响非技术人员的工作效率。
28.为解决上述问题,本发明实施例提出了“表达式”这一构想, 将传统代码封装为一个一个表达式,不同的表达式类型有各自功能的聚焦点,比如:变量表达式、常量表达式和函数表达式,表达式就像机器的零件一样,是整个数据流运转的最小单位。数据流设计过程中可使用的各种节点就是由若干个表达式组成的, 能够完成不同的功能。通过将传统编程范畴内的代码抽象成各种节点和功能块, 让操作者可以使用拖拽的方式完成一个复杂的业务数据处理流程,流程处理程序的核心模块就是表达式。能够将软件行业内的各种算法以及函数都内置为表达式,以节点和功能块的行驶轻而易举访问第三方的api,扩展自身的能力。这种通过抽象解耦的编程思维,设计出一套简单、易扩展、低耦合高内聚的软件功能块,能为数据流的能力提供理论上无上限的增强。
29.图1示出了本发明实施例提供的方法的流程图。
30.具体的,一种数据流程表达式处理方法,所述方法具体包括以下步骤:步骤s101,接收用户的选择、排列、连接操作,构建由多个功能块组成的业务数据处理流程。
31.在本发明实施例中,用户在实际使用的过程中,可以先讨论分析某项项目业务的过程,项目业务的过程中可能包含了一系列逻辑单元(可细分为任务),且这些逻辑单元之间具有相互衔接的逻辑顺序和因果关系,用户可以按照相应的逻辑单元,使用拖拽的方式进行选择操作,确定多个功能块,并使用拖拽的方式进行排列操作,将多个功能块按照逻辑顺序进行排列,再进行连接操作,按照因果关系将完成排列的多个功能块进行连接,在完成选择、排列、连接的一系列操作之后,构建由多个功能块组成的业务数据处理流程。
32.具体的,图2示出了本发明实施例提供的方法中构建数据处理流程的流程图。
33.其中,在本发明提供的优选实施方式中,所述接收用户的选择、排列、连接操作,构建由多个功能块组成的业务数据处理流程具体包括以下步骤:步骤s1011,接收用户的选择操作,确定多个功能块。
34.步骤s1012,接收用户的排列操作,将多个所述功能块进行排列。
35.步骤s1013,接收用户的连接操作,将多个所述功能块进行连接。
36.步骤s1014,构建由多个所述功能块组成的业务数据处理流程。
37.进一步的,所述数据流程表达式处理方法还包括以下步骤:步骤s102,接收用户发起的数据流请求,对所述业务数据处理流程进行识别验证,并在识别验证成功之后,生成数据流处理指令。
38.在本发明实施例中,接收用户发起的数据流请求,按照数据流请求,对业务数据处理流程进行表达式基类识别,能够获取识别信息,并按照识别信息,对业务数据处理流程进行合理性验证,生成验证结果,并按照验证结果进行验证判断,若判断为验证成功,则生成数据流处理指令。
39.具体的,表达式基类对应的算法为:public abstract class computeunitbase{
ꢀꢀꢀꢀꢀꢀꢀꢀ
public string id { get; set; } = string.empty;
ꢀꢀꢀꢀꢀꢀꢀꢀ
public virtual list《computeunitbase》 children { get; set; } = new list《computeunitbase》 ();
ꢀꢀꢀꢀꢀꢀꢀꢀ
public abstract taskcomputevalue(dataflowcontext context)。
40.具体的,图3示出了本发明实施例提供的方法中处理流程识别验证的流程图。
41.其中,在本发明提供的优选实施方式中,所述接收用户发起的数据流请求,对所述业务数据处理流程进行识别验证,并在识别验证成功之后,生成数据流处理指令具体包括以下步骤:步骤s1021,接收用户发起的数据流请求。
42.步骤s1022,根据所述数据流请求,对所述业务数据处理流程进行表达式基类识别,生成识别信息。
43.步骤s1023,按照所述识别信息,对所述业务数据处理流程进行合理性验证,生成验证结果。
44.步骤s1024,根据所述验证结果,在验证成功之后,生成数据流处理指令。
45.进一步的,所述数据流程表达式处理方法还包括以下步骤:步骤s103,根据所述数据流处理指令,对所述业务数据处理流程进行节点运算,得到节点运算结果。
46.在本发明实施例中,按照数据流处理指令,进入判断节点,判断节点需要一个“返回布尔值”的表达式, 以此来决定流程走向,流程进入下游的两个分支中,在变量赋值节点里,按照“赋值表达式”将动态的值赋值给一个对应变量,进而在下游的配置查询条件节点里,再次使用“赋值表达式
”ꢀ
将对应变量组成到sql语句中,得到节点运算结果。
47.具体的,操作符表达式
‑ꢀ
返回布尔对应的算法为:public class operatorcomputeunit : computeunitbase
ꢀꢀꢀꢀꢀꢀ
public override task computevalue(执行上下文)return operatortype switchexpressionoperatortype.plus =》 支持加法 computeplusvalue(),expressionoperatortype.equal =》 支持判断
ꢀꢀ
computeeqvalue(),............其他若干操作符的支持调用return (new operatorcomputeunit ()).computevalue(等于) , 返回布尔类型。
48.常量表达式
‑ꢀ
用作赋值对应的算法为:public class constantcomputeunit : computeunitbasepublic
ꢀꢀ
value { get; set; }public override task computevalue(执行上下文)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
if (value == null) throw new argumentnullexception(nameof(value));return task.fromresult(value);//赋值给变量
set @parm = (new constantcomputeunit ).computevalue()。
49.具体的,图4示出了本发明实施例提供的方法中处理流程节点运算的流程图。
50.其中,在本发明提供的优选实施方式中,所述根据所述数据流处理指令,对所述业务数据处理流程进行节点运算,得到节点运算结果具体包括以下步骤:步骤s1031,根据所述数据流处理指令,进入判断节点,确定流程走向。
51.步骤s1032,按照所述流程走向,在两个分支流程的变量赋值节点,进行动态赋值给对应变量。
52.步骤s1033,在配置查询条件节点,将所述对应变量组成到sql语句中,得到节点运算结果。
53.进一步的,所述数据流程表达式处理方法还包括以下步骤:步骤s104,根据所述节点运算结果,执行节点查询,在操作数据库, 完成一次动态的数据查询。
54.在本发明实施例中,在执行节点查询,根据节点运算结果,生成查询指令,按照查询指令,在操作数据库,进行数据查询,生成数据查询结果,进而按照数据查询结果,生成结果数据,并将结果数据输出。
55.具体的,图5示出了本发明实施例提供的方法中执行节点查询处理的流程图。
56.其中,在本发明提供的优选实施方式中,所述根据所述节点运算结果,执行节点查询,在操作数据库, 完成一次动态的数据查询具体包括以下步骤:步骤s1041,在执行节点查询,根据所述节点运算结果,生成查询指令。
57.步骤s1042,按照所述查询指令,在操作数据库, 完成一次动态的数据查询,得到数据查询结果。
58.步骤s1043,按照数据查询结果,生成并输出结果数据。
59.进一步的,图6示出了本发明实施例提供的系统的应用架构图。
60.其中,在本发明提供的又一个优选实施方式中,一种数据流程表达式处理系统,包括:业务流程构建单元101,用于接收用户的选择、排列、连接操作,构建由多个功能块组成的业务数据处理流程。
61.在本发明实施例中,用户在实际使用的过程中,可以先讨论分析某项项目业务的过程,项目业务的过程中可能包含了一系列逻辑单元(可细分为任务),且这些逻辑单元之间具有相互衔接的逻辑顺序和因果关系,用户可以按照相应的逻辑单元,使用拖拽的方式进行选择操作,确定多个功能块,并使用拖拽的方式进行排列操作,将多个功能块按照逻辑顺序进行排列,再进行连接操作,按照因果关系将完成排列的多个功能块进行连接,在完成选择、排列、连接的一系列操作之后,业务流程构建单元101构建由多个功能块组成的业务数据处理流程。
62.具体的,图7示出了本发明实施例提供的系统中业务流程构建单元101的结构框图。
63.其中,在本发明提供的优选实施方式中,所述业务流程构建单元101具体包括:选择处理模块1011,用于接收用户的选择操作,确定多个功能块。
64.排列处理模块1012,用于接收用户的排列操作,将多个所述功能块进行排列。
65.连接处理模块1013,用于接收用户的连接操作,将多个所述功能块进行连接。
66.流程构建模块1014,用于构建由多个所述功能块组成的业务数据处理流程。
67.进一步的,所述数据流程表达式处理系统还包括:流程识别验证单元102,用于接收用户发起的数据流请求,对所述业务数据处理流程进行识别验证,并在识别验证成功之后,生成数据流处理指令。
68.在本发明实施例中,流程识别验证单元102接收用户发起的数据流请求,按照数据流请求,对业务数据处理流程进行表达式基类识别,能够获取识别信息,并按照识别信息,对业务数据处理流程进行合理性验证,生成验证结果,并按照验证结果进行验证判断,若判断为验证成功,则生成数据流处理指令。
69.具体的,图8示出了本发明实施例提供的系统中流程识别验证单元102的结构框图。
70.其中,在本发明提供的优选实施方式中,所述流程识别验证单元102具体包括:请求接收模块1021,用于接收用户发起的数据流请求。
71.基类识别模块1022,用于根据所述数据流请求,对所述业务数据处理流程进行表达式基类识别,生成识别信息。
72.合理验证模块1023,用于按照所述识别信息,对所述业务数据处理流程进行合理性验证,生成验证结果。
73.处理指令生成模块1024,用于根据所述验证结果,在验证成功之后,生成数据流处理指令。
74.进一步的,所述数据流程表达式处理系统还包括:流程节点运算单元103,用于根据所述数据流处理指令,对所述业务数据处理流程进行节点运算,得到节点运算结果。
75.在本发明实施例中,流程节点运算单元103按照数据流处理指令,进入判断节点,判断节点需要一个“返回布尔值”的表达式, 以此来决定流程走向,流程进入下游的两个分支中,在变量赋值节点里,按照“赋值表达式”将动态的值赋值给一个对应变量,进而在下游的配置查询条件节点里,再次使用“赋值表达式
”ꢀ
将对应变量组成到sql语句中,得到节点运算结果。
76.具体的,图9示出了本发明实施例提供的系统中流程节点运算单元103的结构框图。
77.其中,在本发明提供的优选实施方式中,所述流程节点运算单元103具体包括:节点判断模块1031,用于根据所述数据流处理指令,进入判断节点,确定流程走向。
78.节点赋值模块1032,用于按照所述流程走向,在两个分支流程的变量赋值节点,进行动态赋值给对应变量。
79.节点配置模块1033,用于在配置查询条件节点,将所述对应变量组成到sql语句中,得到节点运算结果。
80.进一步的,所述数据流程表达式处理系统还包括:节点查询处理单元104,用于根据所述节点运算结果,执行节点查询,在操作数据库, 完成一次动态的数据查询。
81.在本发明实施例中,节点查询处理单元104在执行节点查询,根据节点运算结果,生成查询指令,按照查询指令,在操作数据库,进行数据查询,生成数据查询结果,节点查询处理单元104按照数据查询结果,生成结果数据,并将结果数据输出。
82.具体的,图10示出了本发明实施例提供的系统中节点查询处理单元104的结构框图。
83.其中,在本发明提供的优选实施方式中,所述节点查询处理单元104具体包括:查询指令生成模块1041,用于在执行节点查询,根据所述节点运算结果,生成查询指令。
84.数据查询模块1042,用于按照所述查询指令,在操作数据库, 完成一次动态的数据查询,得到数据查询结果。
85.数据输出模块1043,用于按照数据查询结果,生成并输出结果数据。
86.综上所述,本发明实施例能够通过抽象解耦的编程思维, 设计出一套简单、易扩展、低耦合高内聚的软件功能,将传统编程范畴内的代码抽象成各种节点和功能块, 让操作者可以使用拖拽的方式完成一个复杂的业务数据处理流程,用户可以根据提供的表达式表写规则,自定编写表达式。
87.应该理解的是,虽然本发明各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
88.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink) dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
89.以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
90.以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
91.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1