CN102222110A - 数据处理装置和数据处理方法 - Google Patents
数据处理装置和数据处理方法 Download PDFInfo
- Publication number
- CN102222110A CN102222110A CN 201110177665 CN201110177665A CN102222110A CN 102222110 A CN102222110 A CN 102222110A CN 201110177665 CN201110177665 CN 201110177665 CN 201110177665 A CN201110177665 A CN 201110177665A CN 102222110 A CN102222110 A CN 102222110A
- Authority
- CN
- China
- Prior art keywords
- node
- data processing
- data
- nodes
- business operation
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种数据处理方法和数据处理装置,数据处理方法包括:步骤102,创建一个或多个节点,每个节点用于执行业务流程中对应的业务操作;步骤104,通过一个或多个节点,执行业务流程中的所有业务操作,取得业务流程的输出数据。通过本发明,对应不同的业务操作设置不同的节点,由多个不同节点实现各种业务流程中的业务操作,以取得最后的结果数据。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种数据处理方法和一种数据处理装置。
背景技术
在信息化***中,需要处理大量(有时是海量)的数据,而且,不管何种信息***(ERP、HR、SCM、CRM、OA、医疗卫生、政务管理、税务稽查等等),其中的数据之间都有着千丝万缕、错综复杂的关系,这种关系随着信息化程度的深入还在不断的复杂化。
要处理数据,首先需要把要处理的数据从***中抽取出来。
在传统方法上,一般都是***设计开发人员负责准备数据。
伴随着ORMapping(对象关系映射)和MDA(模型驱动开发)技术的出现,软件开发人员找到了通过预定义的实体结构获取数据的方法(例如,从多个实体获取数据的技术方案,其中一般将实体属性称为数据源),这种方法为数据获取提供了一定的灵活性,但是它必须基于已有的实体,实现范围受到很大局限。
后来,软件设计人员抽象出了数据获取接口,针对不同的数据源类型实现该接口,这样,就为数据消费者提供了统一的访问模型,方便了数据获取。但是这种方式只是提供了一种规范,并没有给出如何获取数据的实现方法。(例如,现有技术存在一种多数据源集成的技术方案,可用于单点登录***,其中把来自不同***的数据称为数据源)。
目前的数据源获取手段越来越不能适应快速发展的信息化需求:
1.现在的信息化,越来越多的要求跨模块甚至跨***的数据处理。
随着社会分工的不断细化,设计人员和开发人员往往只熟悉自己的模块和***中的数据关系,跨模块和跨***的数据处理需要来自不同模块不同***的设计人员和开发人员参与。
2.使用信息化***的用户,对自主处理数据的热情高涨。
在使用信息化***的过程中,用户(包括用户中的信息化管理人员)对***越来越熟悉,信息化***的维护工作逐渐地过渡到用户手中;另一方面,在使用一段***后,只有用户才熟悉***中的数据,用户希望自己能够处理这些数据。
3.传统方法准备的数据是封闭的、僵化的,不支持或者不容易扩展。
为应付上述情况,信息化领域迫切需要提供一种方法和***,为各种各样的数据处理场景提供数据源,支持跨模块跨***的数据处理,便于用户自主处理数据,且容易针对不同场景进行扩展。
发明内容
本发明所要解决的技术方案在于,提供一种方法和***,为各种各样的数据处理场景提供数据源,支持跨模块跨***的数据处理,便于用户自主处理数据,且容易针对不同场景进行扩展。
有鉴于此,本发明提供一种数据处理方法,包括:步骤102,创建一个或多个节点,每个节点用于执行业务流程中对应的业务操作;步骤104,通过一个或多个节点,执行业务流程中的所有业务操作,取得业务流程的输出数据。通过该技术方案,对应不同的业务操作设置不同的节点,由多个不同节点实现各种业务流程中的业务操作,以取得最后的结果数据。具体地,可提供给用户可视的创建节点的模块,根据用户的输入内容来创建不同的节点。且对业务流程扩展时,只需添加新的节点对应扩展的业务操作即可,使扩展容易实现。
在上述技术方案中,优选地,在步骤102之后,步骤104之前,还包括:创建一个或多个顺序执行控制流,其中,每个顺序执行控制流连接预定的两个节点,并决定所述预定的两个节点的执行顺序。通过该技术方案,保证了节点的正常工作执行顺序,与业务流程中的业务操作的顺序相匹配。
在上述技术方案中,优选地,在步骤102之后,步骤104之前,还包括:创建一个或多个运算结果传递控制流,其中,每个运算结果传递控制流将预定节点的输出数据作为另一预定节点的数据源。通过该技术方案,实现不同节点之间的数据流入流出,与业务流程中的业务操作相匹配。
在上述技术方案中,优选地,每个节点上设置有属性,在步骤102中,根据业务操作,设置每个节点的属性,以完成每个节点的创建。通过该技术方案,可设置每个节点对应的业务操作的类型,该业务操作的查询条件以及结果的格式等,以完成整个节点的创建。属性具体可以包括节点定义、查询条件定义、结果列定义。
在上述技术方案中,优选地,节点的类型包括:sql脚本节点,通过执行预先设置的sql(结构化查询语言)语句来实现业务操作;存储过程节点,通过执行预先设置的数据库存储过程来实现业务操作;实体节点,通过获取预置的实体数据以实现业务操作;程序节点,通过预先设置的程序代码以实现业务操作;union(组合)节点,通过数据库中的union(组合)操作,来实现业务操作;join(连接)节点,通过数据库中的join(连接)操作,来实现业务操作。
本发明还提供一种数据处理装置,包括:节点管理模块,创建一个或多个节点,每个节点用于执行业务流程中对应的业务操作;流程执行模块,通过一个或多个节点,执行业务流程中的所有业务操作,取得业务流程的输出数据。通过该技术方案,对应不同的业务操作设置不同的节点,由多个不同节点实现各种业务流程中的业务操作,以取得最后的结果数据。具体地,可提供用户可视的节点管理模块,可根据用户的输入内容来创建不同的节点。且对业务流程扩展时,只需添加新的节点对应扩展的业务操作即可,使扩展容易实现。
在上述技术方案中,优选地,还包括:顺序执行控制流管理模块,创建一个或多个顺序执行控制流,其中,每个顺序执行控制流连接预定的两个节点,并决定预定的两个节点的执行顺序。通过该技术方案,保证了节点的正常工作执行顺序,与业务流程中的业务操作的顺序相匹配。
在上述技术方案中,优选地,还包括:运算结果传递控制流管理模块,创建一个或多个运算结果传递控制流,其中,每个运算结果传递控制流将预定节点的输出数据作为另一预定节点的数据源。通过该技术方案,实现不同节点之间的数据流入流出,与业务流程中的业务操作相匹配。
在上述技术方案中,优选地,每个节点上设置有属性,节点管理模块根据业务操作,设置每个节点的属性,以完成每个节点的创建。通过该技术方案,可设置每个节点对应的业务操作的类型,该业务操作的查询条件以及结果的格式等,以完成整个节点的创建。属性具体可以包括节点定义、查询条件定义、结果列定义。
在上述技术方案中,优选地,节点的类型包括:sql脚本节点,通过执行预先设置的sql(结构化查询语言)语句来实现业务操作;存储过程节点,通过执行预先设置的数据库存储过程来实现业务操作;实体节点,通过获取预置的实体数据以实现业务操作;程序节点,通过预先设置的程序代码以实现业务操作;union(组合)节点,通过数据库中的union(组合)操作,来实现业务操作;join(连接)节点,通过数据库的join(连接)操作,来实现业务操作。
通过以上技术方案,可以实现一种数据处理方法和一种数据处理装置,为各种各样的数据处理场景提供数据源,支持跨模块跨***的数据处理,便于用户自主处理数据,且容易针对不同场景进行扩展。
附图说明
图1是根据本发明的一个实施例的数据处理方法的流程图;
图2是根据本发明的一个实施例的数据处理装置的框图;
图3是根据本发明的一个实施例的数据处理装置的示例流程的示意图;
图4是根据本发明的一个实施例的数据处理装置的界面示意图;
图5是根据本发明的一个实施例的数据处理装置的界面示意图;
图6是根据本发明的一个实施例的数据处理装置的界面示意图;
图7是根据本发明的一个实施例的数据处理装置的界面示意图;
图8是根据本发明的一个实施例的数据处理装置的界面示意图;
图9是根据本发明的一个实施例的数据处理装置的界面示意图;
图10是根据本发明的一个实施例的数据处理装置的界面示意图;
图11是根据本发明的一个实施例的数据处理装置的界面示意图;
图12是根据本发明的一个实施例的数据处理装置的界面示意图;
图13是根据本发明的一个实施例的数据处理装置的界面示意图;
图14是根据本发明的一个实施例的数据处理装置的界面示意图;
图15是根据本发明的一个实施例的数据处理装置的程序节点的原理示意图;
图16是根据本发明的一个实施例的数据处理装置的界面示意图;
图17是根据本发明的一个实施例的数据处理装置的界面示意图;
图18是根据本发明的一个实施例的数据处理装置的界面示意图;
图19是根据本发明的一个实施例的数据处理装置的界面示意图;
图20是根据本发明的一个实施例的数据处理装置的界面示意图;
图21是根据本发明的一个实施例的数据处理装置的界面示意图;
图22是根据本发明的一个实施例的数据处理装置的界面示意图;
图23是根据本发明的一个实施例的数据处理装置的界面示意图;
图24是根据本发明的一个实施例的数据处理装置的界面示意图;
图25是根据本发明的一个实施例的数据处理装置的界面示意图;
图26是根据本发明的一个实施例的数据处理装置的界面示意图;
图27是根据本发明的一个实施例的数据处理装置的界面示意图;
图28是根据本发明的一个实施例的数据处理装置的示例流程扩展的示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明并不限于下面公开的具体实施例的限制。
图1是根据本发明的一个实施例的数据处理方法的流程图。
如图1所示,本发明提供一种数据处理方法,包括:步骤102,创建一个或多个节点,每个节点用于执行业务流程中对应的业务操作;步骤104,通过一个或多个节点,执行业务流程中的所有业务操作,取得业务流程的输出数据。通过该技术方案,对应不同的业务操作设置不同的节点,由多个不同节点实现各种业务流程中的业务操作,以取得最后的结果数据。具体地,可提供给用户可视的创建节点的模块,根据用户的输入内容来创建不同的节点。且对业务流程扩展时,只需添加新的节点对应扩展的业务操作即可,使扩展容易实现。
在上述技术方案中,在步骤102之后,步骤104之前,还包括:创建一个或多个顺序执行控制流,其中,每个顺序执行控制流连接预定的两个节点,并决定预定的两个节点的执行顺序。通过该技术方案,保证了节点的正常工作执行顺序,与业务流程中的业务操作的顺序相匹配。
在上述技术方案中,在步骤102之后,步骤104之前,还包括:创建一个或多个运算结果传递控制流,其中,每个运算结果传递控制流将预定节点的输出数据作为另一预定节点的数据源。通过该技术方案,实现不同节点之间的数据流入流出,与业务流程中的业务操作相匹配。
在上述技术方案中,每个节点上设置有属性,在步骤102中,根据业务操作,设置每个节点的属性,以完成每个节点的创建。通过该技术方案,可设置每个节点对应的业务操作的类型,该业务操作的查询条件以及结果的格式等,以完成整个节点的创建。属性具体可以包括节点定义、查询条件定义、结果列定义。
在上述技术方案中,节点的类型包括:sql脚本节点,通过执行预先设置的sql(结构化查询语言)语句来实现业务操作;存储过程节点,通过执行预先设置的数据库存储过程来实现业务操作;实体节点,通过获取预置的实体数据以实现业务操作;程序节点,通过预先设置的程序代码以实现业务操作;union(组合)节点,通过数据库中的union(组合)操作,来实现业务操作;join(连接)节点,通过数据库中的join(连接)操作,来实现业务操作。
图2是根据本发明的一个实施例的数据处理装置的框图。
如图2所示,本发明还提供一种数据处理装置200,包括:节点管理模块202,创建一个或多个节点,每个节点用于执行业务流程中对应的业务操作;流程执行模块204,通过一个或多个节点,执行业务流程中的所有业务操作,取得业务流程的输出数据。通过该技术方案,对应不同的业务操作设置不同的节点,由多个不同节点实现各种业务流程中的业务操作,以取得最后的结果数据。具体地,可提供用户可视的节点管理模块,可根据用户的输入内容来创建不同的节点。且对业务流程扩展时,只需添加新的节点对应扩展的业务操作即可,使扩展容易实现。
在上述技术方案中,还包括:顺序执行控制流管理模块206,创建一个或多个顺序执行控制流,其中,每个顺序执行控制流连接预定的两个节点,并决定预定的两个节点的执行顺序。通过该技术方案,保证了节点的正常工作执行顺序,与业务流程中的业务操作的顺序相匹配。
在上述技术方案中,还包括:运算结果传递控制流管理模块208,创建一个或多个运算结果传递控制流,其中,每个运算结果传递控制流将预定节点的输出数据作为另一预定节点的数据源。通过该技术方案,实现不同节点之间的数据流入流出,与业务流程中的业务操作相匹配。
在上述技术方案中,每个节点上设置有属性,节点管理模块202根据业务操作,设置每个节点的属性,以完成每个节点的创建。通过该技术方案,可设置每个节点对应的业务操作的类型,该业务操作的查询条件以及结果的格式等,以完成整个节点的创建。属性具体可以包括节点定义、查询条件定义、结果列定义。
在上述技术方案中,节点的类型包括:sql脚本节点,通过执行预先设置的sql(结构化查询语言)语句来实现业务操作;存储过程节点,通过执行预先设置的数据库存储过程来实现业务操作;实体节点,通过获取预置的实体数据以实现业务操作;程序节点,通过预先设置的程序代码以实现业务操作;union(组合)节点,通过数据库中的union(组合)操作,来实现业务操作;join(连接)节点,通过数据库的join(连接)操作,来实现业务操作。
以下对本发明的技术方案的原理进行说明。
其中,首先对本发明的流程图图例进行说明:
开始节点。
→顺序执行控制流,流程中没有判断节点,只有“顺序执行控制流”,每个节点都是按照顺序执行控制流的顺序依次执行的。
运算结果传递控制流。
ORMapping(Object Relational Mapping,对象关系映射,简称ORM)--是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。
MDA(Model Driven Architecture,模型驱动框架)--由OMG定义的一个软件开发框架,它是一种基于UML以及其他工业标准的框架,支持软件设计和模型的可视化、存储和交换。
union节点,等价于数据库的Union操作,把各种来源的表union在一起,支持union和union all操作。来源表包括物理表、视图、其他节点的结果表。
join节点,等价于数据库的join操作,把各种来源的表join在一起,支持left join、right join、inner join、cross join操作。来源表包括物理表、视图、其他节点的结果表。
结束节点。
以下是流程图约束规则:
1)流程由节点和控制流组成,有且只能有一个开始节点和结束节点。
2)只能有一条顺序执行控制流链路,顺序执行控制流指示流程的运算过程。
3)各节点可以设置该步骤的描述标题。
4)运算结果传递控制流指示把某个步骤的运算结果作为另一个步骤节点的输入数据源。
如图3所示,是根据本发明的技术方案的一个流程的举例。
在以销定产的商业模式中,经常需要根据订单计算需要下达生成的数量,其中涉及到的数据来源包括:
1)委托销售订单,来源于分销与渠道***。
2)标准销售订单,来源于直销***。
3)产品的存量情况,来源于库管***。
根据这些数据来源,最终计算出需要下达生产的数量:
流程描述:
步骤302,假定已经建立了委托销售订单的OR Mapping数据实体模型,这里直接通过数据实体获取委托销售订单。
步骤304,假定已经建立了标准销售订单的OR Mapping数据实体模型,这里直接通过数据实体获取标准销售订单。
步骤306,把步骤302和步骤304结果作为输入,把他们按照规则合并在一起。
步骤308,把步骤306的结果作为输入,用存储过程计算出需要下达生产的数量。
以下对根据本发明的技术方案的数据处理装置进行详细说明。
首先对名词进行解释,节点表:节点运算之后的输出结果表。
该数据处理装置可以定义各种类型的节点,每个节点包括三个部分内容:节点定义、查询条件定义、结果列定义。
以下详细说明各类型的节点。
Sql脚本节点:
1.Sql脚本定义如图4所示。
节点表:列出作为数据源的其他节点。
ID:显示节点的ID。
名称:默认显示节点的名称,可编辑为一个有意义的名称。
别名:可编辑,必须输入,不能为空字符串。在sql脚本中使用这个别名,在运行时根据这个别名解析为节点的临时表。
Select:sql脚本的select部分。
Where:sql脚本的where部分。
Group by:sql脚本的group by部分。
Having:sql脚本的having部分。
Orderby:sql脚本的orderby部分。
校验按钮:用于把sql脚本按照以上部分拼写完成后执行一下,看是否有语法错误。
2.结果列定义如图5所示。
其中,刷新按钮:执行sql脚本,把结果列填充到表格里。
字段名称:不可改。
字段类型:必须输入。
保证结果列名称不重复。
3.查询条件定义如图6所示。
刷新按钮:执行sql脚本,把结果列填充到表格里,作为备选条件。
增加按钮:增加条件,因为并不是sql脚本的结果列才能作为条件,其他有效的物理列也可以作为条件。
删除按钮:删除当前行选中的条件。
原始字段名称:这里指的是物理列的字段名称,可编辑。在执行刷新按钮后,这里填充的是结果列的字段名称,它有可能是物理列字段名称的别名(通过as子句)。注意:如果select部分连接(join)了多个物理表或者视图,这里的原始字段名称可能需要附加表名前缀,例如department.createdon。
字段类型:必须输入。
别名:查询条件ID,可编辑。
比较符:为空时表示在运行时条件画面中可以修改比较符,否则不支持修改比较符。
是否必须输入:标识该条件必须有值,且在条件画面中必须显示。
是否常量条件:只要执行查询,常量条件就要起作用,不在条件画面中显示。
条件值:当是常量条件时有效且必须输入,支持设置为上下文变量和常量。
存储过程节点:
1.存储过程定义如图7所示。
节点表:列出作为数据源的其他节点。
ID:显示节点的ID。
名称:默认显示节点的名称。可编辑为一个有意义的名称。
别名:可编辑,必须输入,不能为空字符串。在存储过程脚本中使用这个别名,在运行时根据这个别名解析为节点的临时表[解析方案:把临时表表名作为查询条件,最终传入到存储过程的参数中-存储过程有接收临时表表名的参数]。
存储过程名称:输入,也可以从数据库中查找和选择一个存储过程名称。
2.查询条件定义如图8所示。
刷新按钮:通过执行sql,把存储过程的输入参数读取出来,如果刷新前列表中已经存在内容,则比对参数名称:
如果列表中参数已存在则不处理;
如果列表中参数不存在则新增;
如果列表中的参数不再是存储过程的参数,则删除。
参数名称:可改。
参数类型:必须输入。
别名:查询条件ID,可编辑。
比较符:为空时表示在运行时条件画面中可以修改比较符,否则不支持修改比较符。
是否必须输入:标识该条件必须有值,且在条件画面中必须显示。
是否常量条件:只要执行查询,常量条件就要起作用,不在条件画面中显示。
条件值:当是常量条件时有效且必须输入,支持设置为上下文变量和常量。
3.结果列定义如图9所示。
刷新按钮:执行存储过程,把结果集的列填充到表格里,在执行前需要弹出如图10所示的参数值设置画面,以便用户输入执行存储过程的参数值。
参数名称:存储过程包含的参数名称。
字段类型:必须输入。
实体节点:
在应用***,业务对象可以很好的描述具体的业务特征,在实现方式上,业务对象由多个实体及其关系组成,是实体面向应用领域的再封装,所以这里使用业务对象代替实体,这样更能贴近业务。
1.业务对象选择如图11所示。
显示出已选择的业务对象。
选择业务对象按钮:弹出业务对象选择对话框,只能选择一个业务对象。如果是从一个业务对象修改为另一个业务对象,要给出确认提示“确认变更业务对象吗?”,用户确认后才能修改业务对象,并把结果列和查询条件页签的内容清空。
2.结果列定义如图12所示。
删除列:把列表选中的当前行从结果列中去掉。
增加列:点击后弹出如图13所示的画面,
在该画面中可以选择业务对象包含的业务实体,
在列表中列出所选择业务实体的字段,
在列表中选择需要增加的字段,
点击“确定”按钮把选择的结果带入到结果列列表中。
3.查询条件定义如图14所示。
增加条件:弹出“选择列”的画面,可在该画面选择实体字段后,带入到条件列表中。
删除条件:把列表选中的当前行从条件中去掉。
字段名称:只读。
字段标题:只读。
业务实体:只读。
别名:查询条件ID,可编辑。
比较符:为空时表示在运行时条件画面中可以修改比较符,否则不支持修改比较符。
是否必须输入:标识该条件必须有值,且在条件画面中必须显示。
是否常量条件:只要执行查询,常量条件就要起作用,不在条件画面中显示。
条件值:当是常量条件时有效且必须输入,支持设置为上下文变量、谓词和常量。
程序节点:
在这里使用C#程序实现程序节点。
1.C#程序节点的实现原理如图15所示。
数据流程的执行引擎公开一个接口ICustomQuery,接口中包含一个Query方法,方法中有两个参数,一个是运行时上下文RuntimeContext,一个是查询参数集合QueryParameters,每个查询参数是一个<查询条件ID,参数值,比较符>的三元组。
MyQuery是一个实现接口ICustomQuery的C#类。
C#程序集的定义如图16所示。
节点表:列出作为数据源的其他节点。
ID:显示节点的ID。
名称:默认显示节点的名称。可编辑为一个有意义的名称。
别名:可编辑,必须输入,不能为空字符串。在存储过程脚本中使用这个别名,在运行时根据这个别名解析为节点的临时表,解析方案:把临时表表名作为查询条件,最终传入到参数中-存储过程有接收临时表表名的参数。
程序集文件:显示已经选择的程序集文件名称,只读。点击选择按钮后弹出如图17所示的画面。
在这个画面中完成程序集文件及类的选择:
在选择一个程序集文件后,对象类型列表中列出实现指定接口(这里是ICustomQuery)的类,在一个程序集中,这样的类可能有多个。
选择要注册的类,点击确定按钮。
类名称:显示已经选择的类名称,只读。
2.查询条件定义如图18所示。
增加按钮:增加条件,在条件类表里增加行。
删除按钮:删除当前行选中的条件。
条件名称:这里指的ICustomQuery接口中Query方法需要的条件<键\值\比较符>对的键名称,可编辑,必须输入。
字段类型:必须输入。
别名:查询条件ID,设置为和其他节点中的相同意义的条件项相同,可编辑,必须输入。
比较符:为空时表示在运行时条件画面中可以修改比较符,否则不支持修改比较符。
是否必须输入:标识该条件必须有值,且在条件画面中必须显示。
是否常量条件:只要执行查询,常量条件就要起作用,不在条件画面中显示。
条件值:当是常量条件时有效且必须输入,支持设置为上下文变量和常量。
3.结果列定义如图19所示。
增加按钮:增加一个空行。
删除按钮:删除当前选中行。
字段名称:可改。
字段类型:必须输入。
Union节点:
1.Union关系定义如图20所示。
Union关系定义支持Union和Union All两种Union类型;
可以增加数据库中的物理表和视图,支持弹出物理表和视图的列表画面供用户选择。
ID:如果是来源节点,则显示节点的ID;如果是物理表和视图,则显示表名称或视图名称,可编辑。
名称:如果是来源节点,则默认显示节点的名称,如果是物理表和视图,则默认显示表名称和视图名称。可编辑为一个有意义的名称。
别名:可编辑,必须输入,不能为空字符串。
类型:包括节点、物理表、视图
2.查询条件定义如图21所示。
这里设置的查询条件是各个表Union之后的结果的过滤条件,如:
Select*from(
Select f1,f2 from a
Union All
Select f11,f22 from b
)t
Where[查询条件在这里]
可以通过增加条件按钮,弹出如图22所示的字段选择画面,列出所有的结果列。
删除条件按钮:删除当前行选中的条件。
字段名称:只读。
字段类型:必须输入。
别名:查询条件ID,可编辑。
比较符:为空时表示在运行时条件画面中可以修改比较符,否则不支持修改比较符。
是否必须输入:标识该条件必须有值,且在条件画面中必须显示。
是否常量条件:只要执行查询,常量条件就要起作用,不在条件画面中显示。
条件值:当是常量条件时有效且必须输入,支持设置为上下文变量和常量。
3.结果列定义如图23所示。
刷新按钮:根据结果列的名相同合并在一起的规则,生成结果列。
增加按钮:增加一个空行。
删除按钮:删除当前选中行。
字段名称:输入,可编辑。
字段类型:必须输入。
DelegateSO:来源表别名1,支持选择字段和输入字段名称。
StandardSO:来源表别名2,支持选择字段和输入字段名称。
Join节点:
1.Join关系定义如图24所示。
可以增加数据库中的物理表和视图,支持弹出物理表和视图的列表画面供用户选择。
仅支持Left Join关系,以后版本考虑其他join关系。
可以通过上移和下移按钮调整各表的先后关系。
ID:如果是来源节点,则显示节点的ID;如果是物理表和视图,则显示表名称和视图名称,可编辑。
名称:如果是来源节点,则默认显示节点的名称,如果是物理表和视图,则默认显示表名称和视图名称。可编辑为一个有意义的名称。
别名:可编辑,必须输入,不能为空字符串。
类型:包括节点、物理表、视图。
On条件:第一行不用设置,其他行:可编辑,必须输入,不能为空字符串。
至少有两个来源表。
此列表中的行顺序就是每来源表的Join顺序,处于第一行的来源表是主表。
节点类型的表,在运行时要解析为具体的临时表。
2.查询条件定义如图25所示。
这里设置的条件是各个表join之后的where条件,不是On条件。如:
Select*from a left join b on xxxx where[查询条件在这里]
可以通过增加条件按钮,进入如图26所示的字段选择画面。
表:用下拉框列出所有来源节点的结果表(别名)。
选择一个表后,在列表中列出这个结果表的所有字段。
删除条件按钮:删除当前行选中的条件。
字段名称:只读。
所属表:显示字段所属的来源表(别名),只读。
字段类型:必须输入。
别名:查询条件ID,可编辑。
比较符:为空时表示在运行时条件画面中可以修改比较符,否则不支持修改比较符。
是否必须输入:标识该条件必须有值,且在条件画面中必须显示。
是否常量条件:只要执行查询,常量条件就要起作用,不在条件画面中显示。
条件值:当是常量条件时有效且必须输入,支持设置为上下文变量和常量。
3.结果列定义如图27所示。
增加刷新按钮:把结果列预置出来。
增加按钮:弹出“选择来源表的字段”的画面,选择作为结果列的字段。
删除按钮:删除当前选中行。
字段名称:只读。
所属表:只读。
字段类型:必须输入。
别名:默认为空(表示没有别名),可改。
流程执行引擎:
根据顺序执行控制流的链路,解析链路上的每个节点,根据节点类型不同选择不同的执行方法,执行结果缓存到临时表里,并记录临时表的表名称;根据运算结果传递控制流,如果节点表作为另一个节点的输入数据源,则把临时表的表名称传给节点,流程执行引擎,解析节点元数据,把节点表的别名用临时表表名代替,并执行节点。最后一个节点的输出结果就是整个流程对外输出的数据源。
扩展性:
根据上面的分析,可以从两方面进行扩展:
1.扩展新的节点类型
如果有新的节点类型需要加入到流程中来,本发明可以很容易的支持,只需提供新的节点类型的以下方面的信息:
节点类型的定义;
查询条件定义;
结果列定义;
解析执行算法。
2.扩展已经存在的流程
如果基于本发明的技术方案解决复杂数据源,在信息***开发完毕后,开发者已经预置了大量的数据源获取流程。信息***的使用者如果需要扩展已有的流程,只需要在流程最后一个节点后面增加一个节点就可以了。
例如,前面例子中的订单下达生产的流程,在用户使用后,发现需要增加产品的维度,如产品的规格型号、品牌、单位重量,只需在流程中增加一个节点就可以了,修改后的流程如图28所示,即流程上增加了步骤310。
通过以上技术方案,可以实现一种数据处理方法和一种数据处理装置,其特点是:
1.支持用户设计数据获取流程,分步骤获取数据,这样各模块和***可以在自己的步骤内准备数据,然后通过流程把各个步骤的数据整合在一起;
2.把复杂数据源分为多个步骤处理,从而简化了每个步骤的数据处理算法,让用户自己处理数据成为可能。
3.流程很容易扩展,这样就可以通过增加步骤对已有数据源进行再处理。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据处理装置,其特征在于,包括:
节点管理模块,创建一个或多个节点,每个节点用于执行业务流程中对应的业务操作;
流程执行模块,通过所述一个或多个节点,执行所述业务流程中的所有业务操作,取得所述业务流程的输出数据。
2.根据权利要求1所述的数据处理装置,其特征在于,还包括:
顺序执行控制流管理模块,创建一个或多个顺序执行控制流,其中,每个顺序执行控制流连接预定的两个节点,并决定所述预定的两个节点的执行顺序。
3.根据权利要求1所述的数据处理装置,其特征在于,还包括:
运算结果传递控制流管理模块,创建一个或多个运算结果传递控制流,其中,每个运算结果传递控制流将预定节点的输出数据作为另一预定节点的数据源。
4.根据权利要求1所述的数据处理装置,其特征在于,所述每个节点上设置有属性,所述节点管理模块根据所述业务操作,设置所述每个节点的属性,以完成所述每个节点的创建。
5.根据权利要求1至4中任一项所述的数据处理装置,其特征在于,所述节点的类型包括:
脚本节点,通过执行预先设置的结构化查询语言语句来实现所述业务操作;
存储过程节点,通过执行预先设置的数据库存储过程来实现所述业务操作;
实体节点,通过获取预置的实体数据以实现所述业务操作;
程序节点,通过预先设置的程序代码以实现所述业务操作;
组合节点,通过数据库中的组合操作,来实现所述业务操作;
连接节点,通过数据库中的连接操作,来实现所述业务操作。
6.一种数据处理方法,其特征在于,包括:
步骤102,创建一个或多个节点,每个节点用于执行业务流程中对应的业务操作;
步骤104,通过所述一个或多个节点,执行所述业务流程中的所有业务操作,取得所述业务流程的输出数据。
7.根据权利要求6所述的数据处理方法,其特征在于,在所述步骤102之后,所述步骤104之前,还包括:
创建一个或多个顺序执行控制流,每个顺序执行控制流连接预定的两个节点,并决定所述预定的两个节点的执行顺序。
8.根据权利要求6所述的数据处理方法,其特征在于,在所述步骤102之后,所述步骤104之前,还包括:
创建一个或多个运算结果传递控制流,其中,每个运算结果传递控制流将预定节点的输出数据作为另一预定节点的数据源。
9.根据权利要求6所述的数据处理方法,其特征在于,所述每个节点上设置有属性,
在所述步骤102中,根据所述业务操作,设置所述每个节点的属性,以完成所述每个节点的创建。
10.根据权利要求6至9中任一项所述的数据处理方法,其特征在于,所述节点的类型包括:
脚本节点,通过执行预先设置的结构化查询语言语句来实现所述业务操作;
存储过程节点,通过执行预先设置的数据库存储过程来实现所述业务操作;
实体节点,通过获取预置的实体数据以实现所述业务操作;
程序节点,通过预先设置的程序代码以实现所述业务操作;
组合节点,通过数据库中的组合操作,来实现所述业务操作;
连接节点,通过数据库中的连接操作,来实现所述业务操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110177665 CN102222110A (zh) | 2011-06-28 | 2011-06-28 | 数据处理装置和数据处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110177665 CN102222110A (zh) | 2011-06-28 | 2011-06-28 | 数据处理装置和数据处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102222110A true CN102222110A (zh) | 2011-10-19 |
Family
ID=44778662
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110177665 Pending CN102222110A (zh) | 2011-06-28 | 2011-06-28 | 数据处理装置和数据处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102222110A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103176896A (zh) * | 2011-12-23 | 2013-06-26 | 阿里巴巴集团控股有限公司 | 一种测试用例的生成方法及装置 |
CN106777076A (zh) * | 2016-12-13 | 2017-05-31 | 广东金赋科技股份有限公司 | 一种sql限定查询子句生成方法和组合逻辑过滤器 |
CN109508242A (zh) * | 2017-09-14 | 2019-03-22 | 河南理工大学 | 地球科学多源传感器数据软件管线流处理技术 |
CN109616213A (zh) * | 2018-11-14 | 2019-04-12 | 金色熊猫有限公司 | 数据处理方法及装置、存储介质和电子设备 |
CN110019207A (zh) * | 2017-11-02 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 数据处理方法和装置以及脚本显示方法和装置 |
CN110413605A (zh) * | 2018-04-26 | 2019-11-05 | 中移(苏州)软件技术有限公司 | 一种数据可视化的方法和装置 |
CN110632878A (zh) * | 2019-10-08 | 2019-12-31 | 上海宝阶智能科技有限公司 | 一种异构嵌入式表格化处理及执行动作流程的方法和装置 |
CN111049916A (zh) * | 2019-12-18 | 2020-04-21 | 腾讯云计算(北京)有限责任公司 | 一种控制方法、装置、代理服务器及存储介质 |
CN111435938A (zh) * | 2019-01-14 | 2020-07-21 | 阿里巴巴集团控股有限公司 | 一种数据请求的处理方法、装置及其设备 |
CN112328216A (zh) * | 2020-11-03 | 2021-02-05 | 成都中科大旗软件股份有限公司 | 基于画布节点进行数据开发的方法、***、计算机设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6904448B2 (en) * | 2001-12-20 | 2005-06-07 | International Business Machines Corporation | Dynamic quorum adjustment |
CN101216906A (zh) * | 2007-12-29 | 2008-07-09 | 中国建设银行股份有限公司 | 一种流程控制方法及一种流程引擎 |
CN101256492A (zh) * | 2008-03-31 | 2008-09-03 | 宋乃辉 | 一种进行模型驱动架构的软件开发方法及其*** |
-
2011
- 2011-06-28 CN CN 201110177665 patent/CN102222110A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6904448B2 (en) * | 2001-12-20 | 2005-06-07 | International Business Machines Corporation | Dynamic quorum adjustment |
CN101216906A (zh) * | 2007-12-29 | 2008-07-09 | 中国建设银行股份有限公司 | 一种流程控制方法及一种流程引擎 |
CN101256492A (zh) * | 2008-03-31 | 2008-09-03 | 宋乃辉 | 一种进行模型驱动架构的软件开发方法及其*** |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103176896B (zh) * | 2011-12-23 | 2015-08-26 | 阿里巴巴集团控股有限公司 | 一种测试用例的生成方法及装置 |
CN103176896A (zh) * | 2011-12-23 | 2013-06-26 | 阿里巴巴集团控股有限公司 | 一种测试用例的生成方法及装置 |
CN106777076B (zh) * | 2016-12-13 | 2020-05-05 | 广东金赋科技股份有限公司 | 一种sql限定查询子句生成方法和组合逻辑过滤器 |
CN106777076A (zh) * | 2016-12-13 | 2017-05-31 | 广东金赋科技股份有限公司 | 一种sql限定查询子句生成方法和组合逻辑过滤器 |
CN109508242A (zh) * | 2017-09-14 | 2019-03-22 | 河南理工大学 | 地球科学多源传感器数据软件管线流处理技术 |
CN109508242B (zh) * | 2017-09-14 | 2023-07-25 | 河南理工大学 | 地球科学多源传感器数据软件管线流处理技术 |
CN110019207A (zh) * | 2017-11-02 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 数据处理方法和装置以及脚本显示方法和装置 |
CN110019207B (zh) * | 2017-11-02 | 2023-07-21 | 阿里巴巴集团控股有限公司 | 数据处理方法和装置以及脚本显示方法和装置 |
CN110413605A (zh) * | 2018-04-26 | 2019-11-05 | 中移(苏州)软件技术有限公司 | 一种数据可视化的方法和装置 |
CN109616213A (zh) * | 2018-11-14 | 2019-04-12 | 金色熊猫有限公司 | 数据处理方法及装置、存储介质和电子设备 |
CN111435938A (zh) * | 2019-01-14 | 2020-07-21 | 阿里巴巴集团控股有限公司 | 一种数据请求的处理方法、装置及其设备 |
CN110632878A (zh) * | 2019-10-08 | 2019-12-31 | 上海宝阶智能科技有限公司 | 一种异构嵌入式表格化处理及执行动作流程的方法和装置 |
CN111049916A (zh) * | 2019-12-18 | 2020-04-21 | 腾讯云计算(北京)有限责任公司 | 一种控制方法、装置、代理服务器及存储介质 |
CN112328216A (zh) * | 2020-11-03 | 2021-02-05 | 成都中科大旗软件股份有限公司 | 基于画布节点进行数据开发的方法、***、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102222110A (zh) | 数据处理装置和数据处理方法 | |
Ceri et al. | Web Modeling Language (WebML): a modeling language for designing Web sites | |
CN105849726B (zh) | 用于高效地支持通过分层标记数据的即席查询的通用索引 | |
US7668860B2 (en) | Apparatus and method for constructing and using a semantic abstraction for querying hierarchical data | |
CN102693310B (zh) | 一种基于关系数据库的资源描述框架查询方法和*** | |
KR102330547B1 (ko) | 보고 생성 방법 | |
US10579678B2 (en) | Dynamic hierarchy generation based on graph data | |
US20050010550A1 (en) | System and method of modelling of a multi-dimensional data source in an entity-relationship model | |
JP5147952B2 (ja) | システムのモデルを変換する方法、コンピュータ・プログラム及びシステムモデル変換装置 | |
CN102609402B (zh) | 一种基于实时策略的本体模型生成及管理装置及方法 | |
US20120317096A1 (en) | Relational Query Planning for Non-Relational Data Sources | |
US20150331928A1 (en) | User-created members positioning for olap databases | |
CN111078094B (zh) | 分布式机器学习可视化装置 | |
CN103246704A (zh) | 一种基于通用数据结构描述的实体与关系数据的映射方法 | |
CN107729396A (zh) | 数据动态查询方法及装置 | |
CN101408909B (zh) | 一种产品多专业一体化实现方法 | |
CN104317936A (zh) | 一种基于星型模型的rolap解析引擎设计方法及装置 | |
US20230350899A1 (en) | Query engine for recursive searches in a self-describing data system | |
KR100899616B1 (ko) | 관계형 데이터베이스를 이용한 메타데이터 관리 방법 및시스템 | |
US9471640B2 (en) | Automatic conversion of units of measure during data stream processing | |
CN113342325A (zh) | 可视化建模方法、***、电子设备及存储介质 | |
JP5196924B2 (ja) | データベース処理装置、方法及びプログラム | |
Zhu et al. | Integrating Spatial Data Linkage and Analysis Services in a Geoportal for C Hina Urban Research | |
CN116991923A (zh) | 一种基于浏览器的拖拽式数据模型可视化建模***及方法 | |
Elmasri et al. | Conceptual modeling for customized XML schemas |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20111019 |