CN112882803A - 一种数据处理方法及系统 - Google Patents
一种数据处理方法及系统 Download PDFInfo
- Publication number
- CN112882803A CN112882803A CN202110252250.4A CN202110252250A CN112882803A CN 112882803 A CN112882803 A CN 112882803A CN 202110252250 A CN202110252250 A CN 202110252250A CN 112882803 A CN112882803 A CN 112882803A
- Authority
- CN
- China
- Prior art keywords
- data
- tool
- transaction
- processing
- event
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 31
- 238000012545 processing Methods 0.000 claims abstract description 151
- 238000000034 method Methods 0.000 claims abstract description 52
- 230000008569 process Effects 0.000 claims abstract description 31
- 230000015654 memory Effects 0.000 claims description 18
- 238000013507 mapping Methods 0.000 claims description 13
- 230000008859 change Effects 0.000 claims description 12
- 230000004048 modification Effects 0.000 claims description 6
- 238000012986 modification Methods 0.000 claims description 6
- 230000001502 supplementing effect Effects 0.000 claims description 5
- 230000000977 initiatory effect Effects 0.000 claims description 2
- 230000001960 triggered effect Effects 0.000 claims description 2
- 238000011161 development Methods 0.000 description 18
- 238000004422 calculation algorithm Methods 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 9
- 238000013461 design Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 4
- 238000005538 encapsulation Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 238000010195 expression analysis Methods 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000005096 rolling process Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 241000533950 Leucojum Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 238000010219 correlation analysis Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000009545 invasion Effects 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5011—Pool
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5017—Task decomposition
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种数据处理方法及装置,其中,该方法包括:判断是否满足数据事务启动的条件,数据事务是指通过数据处理工具来完成对数据的加工处理的过程;当满足数据事务启动的条件时,获取要执行的数据事务;加载数据事务所需的工具配置,将工具配置解析生成相应的一个或多个工具任务;依次执行工具任务;接收到数据事务的工具任务执行完成信号或终止信号时停止数据事务,将执行结果返回。本发明在加载数据事务所需的工具配置后,将工具配置解析成一个或多个工具任务,依次执行工具任务即可完成对数据的复杂处理,由此可见,实施本发明可以通过配置的方式实现对数据的复杂处理,减少了开发成本和建设成本。
Description
技术领域
本发明涉及数据处理技术领域,具体涉及一种数据处理方法及系统。
背景技术
目前为了使企业数字化能更好落地,需要让更多的人才参与到业务系统建设中来,并使业务人员能够直接进行业务系统迭代建设,这已形成普遍认知,所以目前低代码/零代码开发平台已经成为一种新的趋势。要实现零代码开发,数据加工处理需要支持零代码配置方式来实现。目前现有的低代码/零代码开发平台对数据的采集、检索、排序等处理大部分都能满足,但在数据加工、分类、归并、计算、转换等处理上支撑粒度不足,对于多表复杂的数据加工计算处理,如多表多数据统计分析、递归计算等,需要第三方工具或通过代码编写算法来实现。
通过第三方工具实现复杂计算时,低代码/零代码开发平台与第三方数据处理工具在交互上会有一定的延迟,并且,低代码/零代码开发平台需要向第三方开放数据库连接信息,导致低代码/零代码开发平台存在较大的安全隐患。
若通过代码编写算法实现复杂计算,开发工作要求工作人员有较强的专业能力,且代码编写效率较低,低代码/零代码开发平台优势就在业务的快速实现与快速迭代上,二次开发的设计思路会降低新开发平台的优势,且当需求不确定或经常变更时,优势将越来越低。
发明内容
因此,本发明要解决的技术问题在于克服现有技术中的零代码开发平台无法实现对复杂数据的直接处理,从而提供一种数据处理方法及系统。
本发明第一方面提供了一种数据处理方法,包括:判断是否满足数据事务启动的条件,数据事务是指通过数据处理工具来完成对数据的加工处理的过程;当满足数据事务启动的条件时,获取要执行的数据事务;加载数据事务所需的工具配置,将工具配置解析生成相应的一个或多个工具任务;根据数据事务对应的处理过程依次执行工具任务;接收到该数据事务的工具任务执行完成信号或终止信号时,停止数据事务,将执行结果返回。
可选地,在本发明提供的数据处理方法中,数据事务启动的条件,包括:通过数据事件来进行触发式启动,或通过定时器定时来自动启动。
可选地,在本发明提供的数据处理方法中,数据事件包括以下一种或多种:判断事件或分支事件:用于逻辑运算来决定是否执行事件的处理;编辑事件:用于对变更数据相关影响的数据进行增删改处理;补充事件:用于对变更数据体进行补充处理;接口事件:用于调用通知接口、数据事务接口或第三方接口中的一种或多种;日志事件:用于记录数据的变更历史信息。
可选地,在本发明提供的数据处理方法中,通过数据事件来进行触发式启动,包括:获取变更数据,根据变更数据确定相关的数据事件,加载并解析配置,然后调用事件执行接口;根据参数配置对所需的参数进行参数数据值映射处理,参数数据值来源于变更数据及当前系统中的时间;根据配置条件,确定该变更数据是否需要启动数据事务;需要启动数据事务时,根据数据事务唯一编号调用相应的数据事务执行接口,将变更数据和变更时间作为接口中的参数传入。
可选地,在本发明提供的数据处理方法中,若数据事务为多个,判断数据事务中是否有相同的一个或多个数据事务;当存在相同的数据事务时,将相同的数据事务合并处理。
可选地,在本发明提供的数据处理方法中,依次执行工具任务,包括:工具任务对输入数据进行检查,满足预设条件时进行任务执行;获取任务执行中的处理信息;将计算的结果数据分发给下个工具任务;记录工具执行的状态信息并清空已处理的输入数据,并判断该工具任务是否完成,完成时则同时事务执行控制并释放空闲线程,未完成时则重新开始执行。
可选地,在本发明提供的数据处理方法还包括:若数据事件存在相关事件,执行相关事件。
本发明第二方面提供了一种数据处理装置,包括:判断模块,用于判断是否满足数据事务启动的条件,数据事务是指通过数据处理工具来完成对数据的加工处理的过程;数据事务获取模块,当满足数据事务启动的条件时,数据事务获取模块用于获取要执行的数据事务;工具任务生成模块,用于加载数据事务所需的工具配置,将工具配置解析生成相应的一个或多个工具任务;工具任务执行模块,用于根据数据事务对应的处理过程依次执行工具任务;执行结果反馈模块,接收到该数据事务的工具任务执行完成信号或终止信号时,执行结果反馈模块用于停止数据事务,将执行结果返回。
本发明第三方面提供了一种计算机设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,从而执行如本发明第一方面提供的数据处理方法。
本发明第四方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令用于使计算机执行如本发明第一方面提供的数据处理方法。
本发明技术方案,具有如下优点:
本发明提供的数据处理方法及装置,在加载数据事务所需的工具配置后,将工具配置解析成一个或多个工具任务,相当于将复杂的数据处理过程拆分为多个工具任务,依次执行工具任务即可完成对数据的复杂处理,由此可见,实施本发明可以使零代码开发平台通过配置的方式实现对数据的复杂处理,不依赖于第三方工具,也无需专业人员编写代码,拓宽了零代码开发平台以零代码方式开发业务系统的场景范围,使零代码开发平台更利于支撑企业数字化建设,并能缩短企业数字化建设周期,同时也能减少开发成本和建设成本。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中数据处理方法的一个具体示例的流程图;
图2为本发明实施例中数据事务的数据处理总体架构示意图;
图3为本发明实施例中对数据处理的总体设计框架示意图;
图4为本发明实施例中数据事件总体执行的流程图;
图5为本发明实施例中通过数据事件调用数据事务时数据处理方法的一个具体示例的流程图;
图6a为本发明实施例中事务调度执行的流程图;
图6b为本发明实施例中数据事务的工具执行的流程图;
图7为本发明实施例中出库明细数据发生变更后,重新统计当前月库存统计时执行数据事件的流程图;
图8为本发明实施例中出库明细数据发生变更后,重新统计当前月库存统计时执行数据事务的流程图;
图9为本发明实施例中数据处理装置的一个具体示例的示意框图;
图10为本发明实施例中计算机设备的一个具体示例的示意框图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
本发明实施例提供了一种数据处理方法,应用于零代码开发平台,该软件平台具有供用户使用的用户终端,以及执行数据处理的后台服务器端。该数据处理方法,接收用户的操作,在服务器中执行对应的数据处理。当平台中的数据发生变更时,根据数据的关联关系,平台中的相关数据需要同步处理,调整为对应的更新数据。
为了加快处理效率,避免资源浪费,在本实施例提供的零代码开发平台中,对数据的处理可以由数据相关接口、数据事件、数据事务三个部分组成。
数据操作接口包括用来提供数据事件所需要参数列表的接口和用来调用并执行数据事件的接口,通过提供的数据相关接口来自动启动后续的数据处理,并将处理后的数据按需返回给接口。
数据事件是指对数据的简单处理,通过简单的逻辑控制和配置来完成对数据的增、删、改等简单处理,一般通过数据事件来完成开发平台大部分的简单数据处理,例如产品的出库数量进行调整后,对应的库存数量也要更新,这些属于简单的数据处理,对应此处的数据事件,通过数据事件的处理来实现。
数据事务是指通过数据处理工具来完成对数据的加工处理的过程,例如产品的出库数量进行调整后,对应于多种产品,每个月度、季度的一个统计情况,需要数据事务来完成。对于数据事件不能处理的数据加工提交给数据事务,由数据事务来完复杂的数据加工处理,并且整个过程可以根据数据间的相关影响进行循环联动处理。作为一种方式,数据事务可以通过数据事件来调用。
如图1所示,本实施例提供一种数据处理方法,用于进行数据事务的处理,该方法包括:
步骤S10:判断是否满足数据事务启动的条件。
数据事务启动的条件包括:通过数据事件来进行触发式启动,通过定时器定时来自动启动,通过指令指定启动等,当满足以上任一条件时,则判定此时满足数据事务启动的条件。在一可选实施例中,零代码开发平台支持数据事件和数据事务,为了加快处理效率,避免资源浪费,对数据进行处理时,零代码开发平台会优先执行数据事件,当数据事件无法满足处理需求时,可以调用数据事务,通过执行数据事务实现对数据的复杂处理。
当满足数据事务启动的条件时,执行如下步骤:
步骤S20:获取要执行的数据事务。
在一可选实施例中,可以在零代码开发平台中预先设定多个不同的数据事务,不同的数据事务用于执行不同的数据处理过程。在获取到所要执行的数据事务后,通过执行数据事务即可完成对数据的处理。
步骤S30:加载数据事务所需的工具配置,将工具配置解析生成相应的一个或多个工具任务。
在一可选实施例中,数据事务是由多个数据处理工具组成的,数据事务通过数据处理工具集来完成对数据的加工处理,更丰富的数据处理工具可以提升对数据处理的支撑能力。数据处理工具集包括以下一种或多种:
基础工具集:用于运行调试、系统环境获取、建立数据通道所需要的基础工具,如:服务器工具(支持:TCP、UDP、物联网等协议)、客户端工具、系统信息工具、运行过程信息工具等;
输入工具集:用于获取处理数据或协助处理数据的工具,如:数据库外部加载工具、内部数据输入工具、文本导入工具、excel导入工具、外部参数工具等;
计算逻辑工具集:用于数据计算所需的推理过程,如:流程分支工具、递归循环工具、判断工具、过滤工具等;
数据处理工具集:用于对数据分组、合并、计算等的工具,且工具有丰富的计算函数支持(包括:所有的excel函数),如:流查询工具、缓存工具、合并工具、分组统计工具、计算工具、外部算法工具等;
输出工具集:用于输出处理结果的工具,如:数据库外部输出工具、内部输出工具、excel导出工具、文本导出工具、word导出工具、PDF导出工具等。
步骤S40:根据数据事务对应的处理过程依次执行工具任务。
每个数据处理工具都是独立的个体,工具间仅通过数据进行交互,工具自身要进行的运算和其它工具无关。每个数据处理工具按通用易懂的设计原则,其配置逻辑可分为以下几个部分:
基础配置:该配置主要用来控制工具执行时的风险,为整个数据加工处理提供一种安全机制,如:最大缓存数据量、阻塞控制、最大并发量等;
输入配置:该配置用来接收上个工具的数据输出,并定义本工具的使用数据项;
处理配置:该配置用于定义数据处理工具要完成的事情;
输出配置:该配置用于指定需要输出的输入数据和计算的结果数据。
步骤S50:接收到数据事务的工具任务执行完成信号或终止信号时,停止数据事务,将执行结果返回。
在一可选实施例中,若数据事务包括多个工具任务,则在接收到所有工具任务执行完成的信号或任意一个工具任务的终止信号时,停止数据事务,返回执行结果,在返回执行结果时,可以将执行结果返回至调用数据事务的接口处。
本发明提供的数据处理方法,在加载数据事务所需的工具配置后,将工具配置解析成一个或多个工具任务,相当于将复杂的数据处理过程拆分为多个工具任务,依次执行工具任务即可完成对数据的复杂处理,由此可见,实施本发明可以使零代码开发平台通过配置的方式实现对数据的复杂处理,不依赖于第三方工具,也无需专业人员编写代码,拓宽了零代码开发平台以零代码方式开发业务系统的场景范围,使零代码开发平台更利于支撑企业数字化建设,并能缩短企业数字化建设周期,同时也能减少开发成本和建设成本。
在一可选实施例中,数据事务的数据处理总体架构如图2所示,包括Jar引用封装层、数据结构层、基础算法层、数据通道辅助层、语法通道辅助层、表达式函数层、表达式解析执行层、事务处理标准定义层、处理工具库、事务执行控制层、日志中心、系统配置、内存管理、数据处理接口层,其中,各层功能作用为:
Jar引用封装层:隔离第三方jar对系统的侵入性,避免后期jar的升级、修改、替换、重写对整个系统造成重大影响。
数据结构层:对基础数据类型、常用数据格式、通用数据结构,及其操作进行封装。封装的目的为:实现真实世界逻辑结构的程序支撑,为上层的逻辑处理提供高效支持;简化上层使用难度。数据结构层主要包含:基本数据类型(字符串、数值、时间、文件、字节流、Map、List、Array等);常用数据格式(json、xml等);通用数据结构(树、图、向量、矩阵、数学函数、字段、表、加载型通用缓存、自动反射型数据实体基类)。
基础算法层:利用数据结构层提供的数学理论、数据定义和方法封装的数据逻辑处理的集合,该层的方法只考虑数据间的逻辑关系,不考虑数据间的物理载体形式。主要包含:math函数、mysql函数、excel函数、向量运算、矩阵运算、基本统计运算、雪花算法、数据相似性、反向传播神经网络算法等。
数据通道辅助层:对各种载体中的数据提供安全、高效的增删改查方法,为上层处理提供数据操作支撑。主要包含:数据库连接池管理、数据库操作、文件操作、协议接口处理、网络协议端口处理等;数据库操作包括mysql、mssql、oracle、phoenix、mongodb;文件操作包括txt、xsr、excel、pdf、word;协议接口处理包括HTTP、HTTPS;网络协议端口处理包括TCP协议、UDP协议、MQTT协议、COAP协议。
语法通道辅助层:对各种语法的算法文件提供调用方法,为上层处理提供算法引入支撑。主要包含:R语法、Javascript语法、Python语法、系统命令等。
表达式函数层:综合利用数据通道、语法通道、基础算法、数据结构等内容,实现各种业务处理逻辑,此层的处理只考虑数据处理逻辑,不考虑控制流的状态控制。
表达式解析执行层:将用户配置的表达式字符串,解析为处理流程,执行并返回结果。
事务处理标准定义层:定义事务处理各环节的标准,保证系统的稳定性、开放性、扩展性。
处理工具库:综合利用以上各层内容实现某类业务处理逻辑并包装成一个线程任务。主要包括:基础工具集、输入工具集、计算逻辑工具集、数据处理工具集、输出工具集等。
事务执行控制层:根据配置规范解析用户配置含义,生成对应的事务处理流程、调度分配资源、执行业务处理逻辑并返回结果。
日志中心:负责系统各环节的运行日志打印、调试日志打印与管理。
系统配置:存储和维护系统各环节的总控开关。
内存管理:负责系统主要环节的内存监测与控制。
在一可选实施例中,该方法使新开发平台支持绝大部分业务数据处理要求,其总体设计框架如图3所示。
数据事件包括以下一种或多种:
判断事件或分支事件:用于逻辑运算来决定是否执行事件的处理;
编辑事件:用于对变更数据相关影响的数据进行增删改处理;
补充事件:用于对变更数据体进行补充处理;
接口事件:用于调用通知接口、数据事务接口或第三方接口中的一种或多种。包括事务事件、通知事件、自定义接口事件,事务事件用于调用数据事务,当执行数据事件无法对满足对数据的处理需求时,所要执行事务事件,通过事务事件调用数据事务接口,从而通过执行数据事务实现对数据的处理。
日志事件:用于记录数据的变更历史信息。
数据事件按通用易懂的设计原则,其配置逻辑可分为以下几个部分:
基础参数配置:事件调用时所需的参数内容,包括:元数据、系统变量、常量、外部变量;
扩展参数配置:能够将基础参数关联的内容检索出来,做为扩展执行处理需要的内容;
条件配置:能够使用判断事件的执行结果做为是否进行事件处理的事情;
处理配置:该事件要处理的事情,如增、删、改、调用数据事务接口等;
相关配置:用于构建事件间的关联执行,关联事件为当前事件执行完后,下一步要执行的事件,且支持多个相关事件,通过相关配置构建关联事件,可以实现业务联动处理。
每个数据事件的执行逻辑基本一致,区别仅仅体现在事件本身要处理的事情上,如:事务事件在处理上是调用数据事务,并将事务结果进行格式化输出;编辑事件在处理上是对数据进行增加、修改、删除处理等。每个数据事件总体执行步骤如图4所示:
数据事件中的控制中心会根据数据相关接口提供的数据变更信息自动识别需要执行的数据事件。在一可选实施例中,在监测到数据变更后,会启动数据事件,数据事件的执行过程中,可能会引发新的数据变更,从而启动新一轮的数据事件,由此可见,在本发明实施例中,对数据的加工是一个循环体系,为了防止数据事件执行过程中发生死循环,可以通过对事件执行链上的各事件实例做标记,通过标记来防止死循环,例如,可以为不同的事件实例提供唯一标记,在执行事件实例前,先判断包含有该标记的事件实例是否被已被执行,若未被执行,执行该实例,并记录包含有该标记的事件实例执行一次,若已被执行,判断包含有该标记的事件实例执行次数是否小于预设阈值,若小于预设阈值,则执行该实例,并将包含有该标记的事件实例的执行次数加一,若大于或等于预设阈值,则不执行该事件实例,并报告错误信息,从而避免了同一事件实例被重复执行,在具体实施例中,预设阈值可以根据实际需求进行设置,例如,可以将预设阈值设置为2,表示同一实例最多仅能被执行2次。
将数据相关接口提供的环境数据和基础参数做关联分析,得到参数与值映射列表;当基础参数无映射值时,如果该基础参数是元数据,则分析其它有值的基础参数,如果也是元数据并且符合查询条件时,系统自动查询出数据值并补充到对应的参数与值映射列表中;
如果存在扩展参数配置,则利用参数与值映射列表中的数据,结合扩展参数配置来查询所需要的参数数据,并补充到对应的参数与值映射中;
如果存在条件配置,则利用参数与值映射列表中的数据结合判断事件的配置,来调用执行判断事件,并根据判断事件的执行结果来判断是否继续执行,如果需要继续执行,则根据处理配置对进行相关处理,如果不继续执行,且判定执行成功,则提交并返回执行结果,若不继续执行,且判定执行失败,则将整个事件链路的数据进行回滚,返回回滚后的执行结果。
对于处理配置,根据事件的类型不同,其处理内容也不一样。但都是利用参数与值映射列表中的数据来执行事件的相关处理。
如果存在相关配置,则利用参数与值映射列表中的数据结合下个事件的配置,来调用执行下一个事件,直到所有的相关配置中的数据事件都执行完成。如果不存在相关配置,则判定当前数据事件是否执行成功,若执行成功,则提交并返回执行结果,若执行失败,则将整个事件链路的数据进行回滚,返回回滚后的执行结果。
需要说明的是,对不同的数据变更信息,所需加载的配置是不同的,并非执行所有的数据事件都需加载全部的配置,扩展参数配置、条件配置、相关配置等可以根据实际情况选择性加载。
在一可选实施例中,如图5所示,在本发明实施例提供的数据处理方法中,通过数据事件调用数据事务的步骤包括:
步骤S11:获取变更数据,根据变更数据确定相关的数据事件,加载并解析配置,然后调用事件执行接口。加载的配置为上述基础参数配置、扩展参数配置、条件配置、处理配置、相关配置中的一个或多个。
步骤S12:根据参数配置对所需的参数进行参数数据值映射处理,参数数据值来源于变更数据及当前系统中的时间,参数配置可以只包括基础参数配置,也可以包括基础参数配置和扩展参数配置。
步骤S13:根据配置条件,确定该变更数据是否需要启动数据事务;
步骤S14:需要启动数据事务时,根据数据事务唯一编号调用相应的数据事务执行接口,将变更数据和变更时间作为接口中的参数传入。在一可选实施例中,若零代码开发平台中存在多个用于对数据进行不同类型的处理的数据事务,可以为不同的数据事务设定唯一的编号,通过该编号可以准确调用所需的数据事务。若不需要执行数据事务,则执行数据事件,通过执行数据事件对数据进行处理。
在一可选实施例中,在本发明实施例提供的数据处理方法中,若存在多个待执行的数据事务,判断数据事务中是否有相同的一个或多个数据事务;当存在相同的数据事务时,将相同的数据事务合并处理。由于相同的数据事务的工具任务及处理过程是相同的,因此,相同的数据事务可以合并处理,并且,将相同的数据事务合并处理可以节约资源。
在一可选实施例中,在本发明实施例提供的数据处理方法中,数据事务执行由事务调度执行和组成该事务的工具执行两部分组成。如图6a所示为事务调度执行过程,数据事务开始执行后,先对将要执行的数据事务进行安全扫描,根据扫描结果判断是否可以启动该数据事务,如果可以启动,则执行前预处理加载数据事务所需的工具配置,并将工具配置解析生成相应的一个或多个工具任务,当线程池中存在空闲线程时,依次执行工具任务,工具任务停止执行后,判断数据事务是否已经完成,若未完成,数据事务线程休眠片刻后再次返回对将要执行的数据事务进行安全扫描的步骤,直到数据事务全部完成。若在对数据事务进行安全扫描后,判定不可以启动该数据事务,且该数据事务正在执行,基于上述过程不难得出,若该数据事务正在执行,则可以确定该数据事务的工具任务已经解析得到,此时可以直接执行工具任务,无需执行前预处理。
如图6b所示为数据事务的工具执行过程,工具任务开始执行后,输入数据进行检查,若执行状态满足运行条件,则进行任务执行,若不满足运行条件,释放当前线程,并等待激活。在工具任务执行过程中,获取并记录任务执行中的处理信息,处理信息包括执行结果、错误信息、日志、控制信息等,得到计算结果后,将计算的结果数据分发给下个工具任务,记录工具执行的状态信息并清空已处理的输入数据,然后判断该工具任务是否完成,完成时则同时事务执行控制并释放空闲线程,未完成时则重新开始执行。在工具任务执行过程中,若存在异常或接收到工具控制要求,需要对异常及工具控制要求进行处理,必要时可以通知事务执行控制来停止当前数据事务。
本发明实施例还提供了一个利用上述实施例中提供的数据处理方法进行数据处理的具体示例,该具体示例的业务场景为出库明细数据发生变更后,重新统计当前月库存统计数据,将当月出库统计结果记录到月统计表中,并将月统计表中的剩余库存量进行变更。如图7所示,数据加工处理包括以下步骤:
步骤101:业务系统进行出库操作后,出库明细数据会发生变更,数据变更后会通知事件控制中心,事件控制中心根据变更数据特征找到相关的数据事件并执行,然后等待处理结果。具体地,在执行数据事件时,需要先加载并解析配置,然后调用事件执行接口执行数据事件。
步骤102,根据场景参数配置,对事务事件所需的参数进行数据值映射处理,参数数据值来源于变更数据及当前系统变量中的时间。
步骤103,根据场景条件配置,对事务事件执行条件进行解析处理,即,对该变更数据的状态进行识别,判断是否需要进行月统计处理。
步骤104,若执行上述步骤S103后,判断需要进行月统计处理,则根据场景处理配置,调用数据事务执行接口,并将指定的数据事务唯一编号、变更数据和变更时间作为接口中的参数传入,等待数据事务执行结果。
如图8所示,数据事务执行过程包括:
步骤201:在事务执行控制中心对步骤104中要执行的事务进行预处理,包括事务的处理工具配置加载、生成工具任务;
具体地,在事务执行控制层先判断事务是否存在相同的执行实例,然后根据事务唯一编码加载事务配置并解析配置,从事务配置中得到需要的数据处理工具,每个数据处理工具都生成一个工具任务实例,并根据线程池的使用情况来调度执行工具任务实例。
步骤202:通过数据通道辅助层将接口参数值映射到外部参数工具中,外部参数工具任务将映射的参数值作为输入数据,并结合相关配置参数,完成场景执行所需的参数数据列表,并把参数数据列表作为输出数据分发给下个工具,本发明实例中参见步骤203、步骤205,步骤203和步骤205在本实例中为并发执行。
步骤203,通过数据通道辅助层得到符合输入参数的所有当月出库明细数据,形成当月出库明细数据表,且作为输出数据分发给下个工具,本实例中参见步骤204。
步骤204,将分组配置并通过表达式解析执行层进行解析,对输入的数据进行分组,并通过基础算法层,将分组的数据进行统计得到当月出库统计数据列表,且作为输出数据分发给下个工具,本实例中参见步骤207。
步骤205,通过数据通道辅助层得到符合输入参数的所有当月库存统计数据,形成当月库存数据表,且作为输出数据分发给下个工具,本实例中参见步骤206。
步骤206,将输入的数据表进行缓存,并通知下个工具数据缓存已完成,本实例中参见步骤207。
步骤207,在得到步骤206完成状态通知后,对步骤204的每条输出数据利用步骤206中的缓存数据完成相关数据查询,得到每条输出数据及相关当月库存数据,且将该数据作为输出数据分发给下个工具,本实例中参见步骤208。
步骤208,通过基础算法层完成对当月库存数据的出库数量变更及剩余库存量变更,并将变更后的数据作为输出数据分发给下个工具,本实施例中参见步骤209。
步骤209,通过数据通道辅助层将变更后的数据进行落盘。
图8所示的实施例中,结束后将通过事务执行控制层把事务执行结果返回给数据事件,本实施例中不用返回变更的数据,仅返回执行状态。
步骤105,在步骤104等待数据事务执行完成后,根据场景配置是否需要执行下个相关事件,本实施例中没有相关数据事件需要执行。
图7中所示的实施例中,结束后将通过事件执行控制中心对当前的数据事件执行状态进行识别,成功执行时则进行数据提交动作,并完成相关执行日志的输出。
由上述实施例可知,本发明实施例提供的数据处理方法可以通过配置的方式实现对数据的复杂处理。
本发明实施例还提供了一种数据处理装置,如图9所示,包括:
判断模块10,用于判断是否满足数据事务启动的条件,数据事务是指通过数据处理工具来完成对数据的加工处理的过程,详细内容参见上述实施例中对步骤S10的描述。
数据事务获取模块20,当满足数据事务启动的条件时,数据事务获取模块用于获取要执行的数据事务,详细内容参见上述实施例中对步骤S20的描述。
工具任务生成模块30,用于加载数据事务所需的工具配置,将工具配置解析生成相应的一个或多个工具任务,详细内容参见上述实施例中对步骤S30的描述。
工具任务执行模块40,用于依次执行工具任务,详细内容参见上述实施例中对步骤S40的描述。
执行结果反馈模块50,接收到该数据事务的工具任务执行完成信号或终止信号时,执行结果反馈模块用于停止数据事务,将执行结果返回,详细内容参见上述实施例中对步骤S50的描述。
本发明提供的数据处理装置,在加载数据事务所需的工具配置后,将工具配置解析成一个或多个工具任务,相当于将复杂的数据处理过程拆分为多个工具任务,依次执行工具任务即可完成对数据的复杂处理,由此可见,实施本发明可以使零代码开发平台通过配置的方式实现对数据的复杂处理,不依赖于第三方工具,也无需专业人员编写代码,拓宽了零代码开发平台以零代码方式开发业务系统的场景范围,使零代码开发平台更利于支撑企业数字化建设,并能缩短企业数字化建设周期,同时也能减少开发成本和建设成本。
本发明实施例提供了一种计算机设备,如图10所示,该计算机设备主要包括一个或多个处理器61以及存储器62,图10中以一个处理器61为例。
该计算机设备还可以包括:输入装置63和输出装置64。
处理器61、存储器62、输入装置63和输出装置64可以通过总线或者其他方式连接,图10中以通过总线连接为例。
处理器61可以为中央处理器(Central Processing Unit,CPU)。处理器61还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。存储器62可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据数据处理装置的使用所创建的数据等。此外,存储器62可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器62可选包括相对于处理器61远程设置的存储器,这些远程存储器可以通过网络连接至数据处理装置。输入装置63可接收用户输入的计算请求(或其他数字或字符信息),以及产生与数据处理装置有关的键信号输入。输出装置64可包括显示屏等显示设备,用以输出计算结果。
本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储计算机指令,计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的数据处理方法。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(FlashMemory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;存储介质还可以包括上述种类的存储器的组合。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
判断是否满足数据事务启动的条件,所述数据事务是指通过数据处理工具来完成对数据的加工处理的过程;
当满足数据事务启动的条件时,获取要执行的数据事务;
加载所述数据事务所需的工具配置,将所述工具配置解析生成相应的一个或多个工具任务;
根据数据事务对应的处理过程依次执行所述工具任务;
接收到所述数据事务的工具任务执行完成信号或终止信号时,停止所述数据事务,将执行结果返回。
2.根据权利要求1所述的方法,其特征在于,所述数据事务启动的条件,包括:
通过数据事件来进行触发式启动,或
通过定时器定时来自动启动。
3.根据权利要求2所述的方法,其特征在于,所述数据事件包括以下一种或多种:
判断事件或分支事件:用于逻辑运算来决定是否执行事件的处理;
编辑事件:用于对变更数据相关影响的数据进行增删改处理;
补充事件:用于对变更数据体进行补充处理;
接口事件:用于调用通知接口、数据事务接口或第三方接口中的一种或多种;
日志事件:用于记录数据的变更历史信息。
4.根据权利要求2所述的方法,其特征在于,所述通过数据事件来进行触发式启动,包括:
获取变更数据,根据所述变更数据确定相关的数据事件,加载并解析配置,然后调用事件执行接口;
根据参数配置对所需的参数进行参数数据值映射处理,所述参数数据值来源于变更数据及当前系统中的时间;
根据配置条件,确定该变更数据是否需要启动数据事务;
需要启动数据事务时,根据数据事务唯一编号调用相应的数据事务执行接口,将变更数据和变更时间作为接口中的参数传入。
5.根据权利要求1所述的方法,其特征在于,还包括:
若所述数据事务为多个,判断所述数据事务中是否有相同的一个或多个数据事务;
当存在相同的数据事务时,将相同的数据事务合并处理。
6.根据权利要求1或2所述的方法,其特征在于,所述依次执行所述工具任务,包括:
工具任务对输入数据进行检查,满足预设条件时进行任务执行;
获取任务执行中的处理信息;
将计算的结果数据分发给下个工具任务;
记录工具执行的状态信息并清空已处理的输入数据,并判断该工具任务是否完成,完成时则同时事务执行控制并释放空闲线程,未完成时则重新开始执行。
7.根据权利要求4所述的方法,其特征在于,还包括:
若所述数据事件存在相关事件,执行所述相关事件。
8.一种数据处理装置,其特征在于,包括:
判断模块,用于判断是否满足数据事务启动的条件,所述数据事务是指通过数据处理工具来完成对数据的加工处理的过程;
数据事务获取模块,当满足数据事务启动的条件时,所述数据事务获取模块用于获取要执行的数据事务;
工具任务生成模块,用于加载所述数据事务所需的工具配置,将工具配置解析生成相应的一个或多个工具任务;
工具任务执行模块,用于根据数据事务对应的处理过程依次执行所述工具任务;
执行结果反馈模块,接收到该所述数据事务的工具任务执行完成信号或终止信号时,所述执行结果反馈模块用于停止所述数据事务,将执行结果返回。
9.一种计算机设备,其特征在于,包括:
至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,从而执行如权利要求1-7中任一项所述的数据处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行如权利要求1-7中任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110252250.4A CN112882803B (zh) | 2021-03-08 | 2021-03-08 | 一种数据处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110252250.4A CN112882803B (zh) | 2021-03-08 | 2021-03-08 | 一种数据处理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112882803A true CN112882803A (zh) | 2021-06-01 |
CN112882803B CN112882803B (zh) | 2024-05-14 |
Family
ID=76053796
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110252250.4A Active CN112882803B (zh) | 2021-03-08 | 2021-03-08 | 一种数据处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112882803B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060161886A1 (en) * | 2005-01-19 | 2006-07-20 | Dr. David Ge | Three-Layer Property Implementation for Codeless Programming |
CN101076793A (zh) * | 2004-08-31 | 2007-11-21 | 国际商业机器公司 | 企业数据集成系统的体系结构 |
CN101996100A (zh) * | 2010-11-30 | 2011-03-30 | 深圳市五巨科技有限公司 | 一种用于移动终端开发系统的任务管理方法及装置 |
CN103514028A (zh) * | 2012-06-14 | 2014-01-15 | 北京新媒传信科技有限公司 | 一种处理分布式事务的方法和装置 |
US20160171002A1 (en) * | 2014-12-12 | 2016-06-16 | International Business Machines Corporation | Merging database operations for serializable transaction execution |
CN107924342A (zh) * | 2015-07-27 | 2018-04-17 | 微软技术许可有限责任公司 | 从移动应用竖井向授权的第三方应用的自动化数据传送 |
CN110245110A (zh) * | 2019-05-20 | 2019-09-17 | 深圳壹账通智能科技有限公司 | 数据处理方法、装置及存储介质 |
CN110989983A (zh) * | 2019-11-28 | 2020-04-10 | 深圳航天智慧城市系统技术研究院有限公司 | 一种零编码的应用软件快速构建系统 |
CN111212112A (zh) * | 2019-12-17 | 2020-05-29 | 中国建设银行股份有限公司 | 信息处理方法和装置 |
US20200183901A1 (en) * | 2014-04-11 | 2020-06-11 | Douglas T. Migliori | No-Code, Event-Driven Edge Computing Platform |
CN111753013A (zh) * | 2020-06-24 | 2020-10-09 | 中国银行股份有限公司 | 分布式事务处理方法及装置 |
CN112328220A (zh) * | 2020-11-06 | 2021-02-05 | 江苏云坤信息科技有限公司 | 基于拖拽编排方式的流式数据处理系统及其处理方法 |
-
2021
- 2021-03-08 CN CN202110252250.4A patent/CN112882803B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101076793A (zh) * | 2004-08-31 | 2007-11-21 | 国际商业机器公司 | 企业数据集成系统的体系结构 |
US20060161886A1 (en) * | 2005-01-19 | 2006-07-20 | Dr. David Ge | Three-Layer Property Implementation for Codeless Programming |
CN101996100A (zh) * | 2010-11-30 | 2011-03-30 | 深圳市五巨科技有限公司 | 一种用于移动终端开发系统的任务管理方法及装置 |
CN103514028A (zh) * | 2012-06-14 | 2014-01-15 | 北京新媒传信科技有限公司 | 一种处理分布式事务的方法和装置 |
US20200183901A1 (en) * | 2014-04-11 | 2020-06-11 | Douglas T. Migliori | No-Code, Event-Driven Edge Computing Platform |
US20160171002A1 (en) * | 2014-12-12 | 2016-06-16 | International Business Machines Corporation | Merging database operations for serializable transaction execution |
CN107924342A (zh) * | 2015-07-27 | 2018-04-17 | 微软技术许可有限责任公司 | 从移动应用竖井向授权的第三方应用的自动化数据传送 |
CN110245110A (zh) * | 2019-05-20 | 2019-09-17 | 深圳壹账通智能科技有限公司 | 数据处理方法、装置及存储介质 |
CN110989983A (zh) * | 2019-11-28 | 2020-04-10 | 深圳航天智慧城市系统技术研究院有限公司 | 一种零编码的应用软件快速构建系统 |
CN111212112A (zh) * | 2019-12-17 | 2020-05-29 | 中国建设银行股份有限公司 | 信息处理方法和装置 |
CN111753013A (zh) * | 2020-06-24 | 2020-10-09 | 中国银行股份有限公司 | 分布式事务处理方法及装置 |
CN112328220A (zh) * | 2020-11-06 | 2021-02-05 | 江苏云坤信息科技有限公司 | 基于拖拽编排方式的流式数据处理系统及其处理方法 |
Non-Patent Citations (1)
Title |
---|
洪眉, 许炜, 彭卫: "基于Saga模型的事务工作流实现机制", 兵工自动化, no. 05, 15 October 2004 (2004-10-15) * |
Also Published As
Publication number | Publication date |
---|---|
CN112882803B (zh) | 2024-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220027195A1 (en) | System and method for batch evaluation programs | |
CN110069572B (zh) | 基于大数据平台的hive任务调度方法、装置、设备及存储介质 | |
CN107239335B (zh) | 分布式系统的作业调度系统及方法 | |
US9471370B2 (en) | System and method for stack-based batch evaluation of program instructions | |
US11182353B2 (en) | Stored-procedure execution method and device, and system | |
CN111543037A (zh) | 事件驱动的无服务器函数编排 | |
US10885127B2 (en) | Machine-learning to alarm or pre-empt query execution | |
US20200310863A1 (en) | Worker thread manager | |
US20180189871A1 (en) | Systems and methods for cross-platform batch data processing | |
US10459760B2 (en) | Optimizing job execution in parallel processing with improved job scheduling using job currency hints | |
US8407713B2 (en) | Infrastructure of data summarization including light programs and helper steps | |
CN112527600A (zh) | 监控日志处理方法、装置、设备及存储介质 | |
CN113157411A (zh) | 一种基于Celery的可靠可配置任务系统及装置 | |
CN112882803B (zh) | 一种数据处理方法及系统 | |
US20140372488A1 (en) | Generating database processes from process models | |
CN111259042A (zh) | 一种动态查询方法及系统 | |
CN114880386B (zh) | 一种任务调度平台及任务调度方法 | |
CN111538491B (zh) | 数据事件处理方法、装置、设备和存储介质 | |
US20220114469A1 (en) | Methods and apparatus for parallel quantum computing | |
US10713085B2 (en) | Asynchronous sequential processing execution | |
CN113986495A (zh) | 一种任务执行方法、装置、设备及存储介质 | |
CN113722141A (zh) | 数据任务的延迟原因确定方法、装置、电子设备及介质 | |
CN113722349A (zh) | 基于分布式数据库的sql审核方法、装置和计算机设备 | |
CN108694046B (zh) | 容器装配方法和装置 | |
CN113138772A (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 |