CN111291054B - 一种数据处理方法、装置、计算机设备和存储介质 - Google Patents
一种数据处理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN111291054B CN111291054B CN202010110365.5A CN202010110365A CN111291054B CN 111291054 B CN111291054 B CN 111291054B CN 202010110365 A CN202010110365 A CN 202010110365A CN 111291054 B CN111291054 B CN 111291054B
- Authority
- CN
- China
- Prior art keywords
- data
- target
- calculation rule
- acquiring
- current
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/221—Column-oriented storage; Management thereof
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Radar Systems Or Details Thereof (AREA)
Abstract
本发明公开了一种数据处理方法、装置、计算机设备和存储介质,该方法包括:接收追踪对象的对象数据,确定对象数据对应的当前节点的节点信息;根据节点信息从预先配置的计算规则中获取与当前节点对应的目标计算规则;解析目标计算规则,根据解析结果获取计算当前节点的当前阶段数据所需要的目标数据;根据目标计算规则以及目标数据计算生成当前节点的当前阶段数据。本发明通过将跟踪对象的计算逻辑抽象为可解析的数学表达式,实现计算逻辑配置化,可以快速根据表达式匹配数据并计算,通过使用分布式列式数据库作为存储介质实现快速读写,提高读取效率。
Description
技术领域
本发明涉及数据处理技术领域,特别涉及一种数据处理方法、装置、计算机设备和存储介质。
背景技术
目前基于海量数据实时跟踪轨迹信息并快速匹配上下文执行计算存在以下技术难点:
1、海量轨迹数据的结构化保存。一个追踪对象的生命周期会包含多个不同的阶段,每个阶段都会产生不同的轨迹信息,对象的整个生命周期可能会很长,仅使用实时流式计算执行器的内存无法缓存如此长周期的历史轨迹数据,故必须借助外部存储来保存历史数据,针对如此海量历史轨迹数据使用传统关系型数据库难以保存。
2、实时跟踪并快速匹配上下文。同一个追踪对象的每个阶段都可能触发对于此对象的历史轨迹信息的追踪及相关计算,需要一个完整的机制来保证如何实时快速匹配上下文并正确触发计算。
针对上述问题,现有技术中通常比较通用技术方案是针对每个轨迹追踪逻辑进行硬编码定制化开发,以及使用Hive作为存储介质保存海量历史轨迹数据。但是,一方面,当计算逻辑发生变化时,需要人工维护代码,成本较高,另一方面,Hive读取效率低下,适合准实时批量处理,时效性低。
因此,亟需提出一种新的数据处理方案,以解决上述问题。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种数据处理方法、装置、计算机设备和存储介质,以克服现有技术中针对每个轨迹追踪逻辑进行硬编码定制化开发,存在的需要人工维护代码,成本较高以及使用Hive作为存储介质保存海量历史轨迹数据,读取效率低下、时效性低等问题。
为解决上述一个或多个技术问题,本发明采用的技术方案是:
第一方面,提供了一种数据处理方法,该方法包括如下步骤:
接收追踪对象的对象数据,确定所述对象数据对应的当前节点的节点信息;
根据所述节点信息从预先配置的计算规则中获取与所述当前节点对应的目标计算规则;
解析所述目标计算规则,根据解析结果获取计算所述当前节点的当前阶段数据所需要的目标数据;
根据所述目标计算规则以及所述目标数据计算生成所述当前节点的当前阶段数据。
进一步的,所述解析所述目标计算规则,根据解析结果获取计算所述当前节点的当前阶段数据所需要的目标数据包括:
对所述目标计算规则进行解析,获取解析结果;
根据所述解析结果判断是否需要获取历史阶段数据,若不需要,则直接确定所述对象数据为目标数据,否则,获取对应的历史阶段数据,将获取到的所述历史阶段数据与所述对象数据确定为目标数据。
进一步的,所述获取对应的历史阶段数据包括:
查询缓存数据中是否存在所述历史阶段数据,若存在,则从所述缓存中获取所述历史阶段数据,否则将所述对象数据以及所述计算规则发送至分布式消息队列,以便后续执行数据补充流程。
进一步的,所述数据补充流程包括如下步骤:
接收并解析分布式消息队列发送来消息数据,获取所述消息数据中携带的对象数据以及目标计算规则;
解析所述目标计算规则,根据解析结果从分布式列式数据库中获取对应的历史阶段数据;
判断所述历史阶段数据是否完整,若完整,则根据所述对象数据、所述目标计算规则以及所述历史阶段数据计算获取当前阶段数据。
进一步的,在接收到分布式消息队列发送来消息数据后,所述数据补充流程还包括:
判断所述消息数据的下发时间是否满足预设条件,若满足,则对所述消息数据进行解析,否则,等待时间满足所述预设条件后再对所述消息数据进行解析。
进一步的,所述方法还包括将所述当前阶段数据存储至分布式列式数据库的过程,包括:
接收当前阶段数据,对所述当前阶段数据按照预设的存储格式进行封装,生成存储对象;
将所述存储对象写入到所述分布式列式数据库中。
进一步的,所述根据所述节点信息从预先配置的计算规则中获取与所述当前节点对应的目标计算规则包括:
定时通过查询接口从微服务中获取所有的计算规则,并将其解析为预设格式,所述微服务用于管理所述计算规则;
根据所述节点信息从解析后的计算规则中匹配出与所述当前节点对应的目标计算规则。
第二方面,提供了一种数据处理装置,所述装置包括:
信息获取模块,用于接收追踪对象的对象数据,确定所述对象数据对应的当前节点的节点信息;
规则获取模块,用于根据所述节点信息从预先配置的计算规则中获取与所述当前节点对应的目标计算规则;
数据获取模块,用于解析所述目标计算规则,根据解析结果获取计算所述当前节点的当前阶段数据所需要的目标数据;
数据计算模块,用于根据所述目标计算规则以及所述目标数据计算生成所述当前节点的当前阶段数据。
第三方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:
接收追踪对象的对象数据,确定所述对象数据对应的当前节点的节点信息;
根据所述节点信息从预先配置的计算规则中获取与所述当前节点对应的目标计算规则;
解析所述目标计算规则,根据解析结果获取计算所述当前节点的当前阶段数据所需要的目标数据;
根据所述目标计算规则以及所述目标数据计算生成所述当前节点的当前阶段数据。
第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如下步骤:
接收追踪对象的对象数据,确定所述对象数据对应的当前节点的节点信息;
根据所述节点信息从预先配置的计算规则中获取与所述当前节点对应的目标计算规则;
解析所述目标计算规则,根据解析结果获取计算所述当前节点的当前阶段数据所需要的目标数据;
根据所述目标计算规则以及所述目标数据计算生成所述当前节点的当前阶段数据。
本发明实施例提供的技术方案带来的有益效果是:
1、本发明实施例提供的数据处理方法、装置、计算机设备和存储介质,通过接收追踪对象的对象数据,确定所述对象数据对应的当前节点的节点信息,根据所述节点信息从预先配置的计算规则中获取与所述当前节点对应的目标计算规则,解析所述目标计算规则,根据解析结果获取计算所述当前节点的当前阶段数据所需要的目标数据,根据所述目标计算规则以及所述目标数据计算生成所述当前节点的当前阶段数据,通过将跟踪对象的计算逻辑抽象为可解析的数学表达式,实现计算逻辑配置化,可以快速根据表达式匹配数据并计算;
2、本发明实施例提供的数据处理方法、装置、计算机设备和存储介质,通过接收当前阶段数据,对所述当前阶段数据按照预设的存储格式进行封装,生成存储对象,将所述存储对象写入到所述分布式列式数据库中,通过使用分布式列式数据库作为存储介质实现快速读写,提高读取效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的数据处理方法的流程图;
图2是根据一示例性实施例示出的数据补充流程的流程图;
图3是根据一示例性实施例示出的将所述当前阶段数据存储至分布式列式数据库的过程的流程图;
图4是根据一示例性实施例示出的解析为预设格式的计算规则的示意图;
图5是根据一示例性实施例示出的数据处理装置的结构示意图;
图6是根据一示例性实施例示出的计算机设备的内部结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
对于数据处理中,尤其是海量数据实时跟踪轨迹信息并快速匹配上下文执行计算存在的技术难点,本发明实施例创造性的提出采用流式计算引擎来执行计算,同时将跟踪对象的计算逻辑抽象为可解析的数学表达式,实现计算逻辑配置化,可以快速根据表达式匹配数据并计算,海量完整轨迹数据使用分布式列式数据库作为存储介质实现快速读写。
图1是根据一示例性实施例示出的数据处理方法的流程图,参照图1所示,该方法包括如下步骤:
接收追踪对象的对象数据,确定所述对象数据对应的当前节点的节点信息。
具体的,通常一个追踪对象按照生命周期可以拆分为一条追踪轨迹上的不同节点,每个节点上都会有一些特定的属性值,并且每个节点上的阶段信息的计算规则以及计算需要用到的目标数据均可能有所不同。因此,在流式计算引擎接收到追踪对象的对象数据后,首先需要确定接收到的对象数据对应的当前节点的节点信息。例如,当流式计算引擎执行器从缓冲区中拉入一条追踪对象数据后,首先解析出该追踪对象的唯一主键、生命周期对应阶段等节点信息。
根据所述节点信息从预先配置的计算规则中获取与所述当前节点对应的目标计算规则。
具体的,作为对象追踪实时计算的前提,需要为追踪对象的追踪轨迹上的每个节点预先配置好计算规则。作为一种较优的实施方式,本发明实施例中,将追踪对象的计算逻辑抽象为数学表达式。由于每个节点上都会有一些特定的属性值,因此,在具体实施时,可以为追踪轨迹上的每个节点及属性值做固定编码,将不同节点上的属性值之间的计算转换为由固定编码及数学符号组成的数学表达式。实时计算时根据追踪对象生命周期的不同阶段将编码替换为实际值,并解析为完整的数学表达式,最后完成计算。
解析所述目标计算规则,根据解析结果获取计算所述当前节点的当前阶段数据所需要的目标数据。
具体的,对于追踪对象的追踪轨迹的追踪,通常需要根据两个或者两个以上的节点上的属性值以及与当前节点对应的计算规则进行分析计算。因此,在获取到对应的目标计算规则后,还需要对该目标计算规则进行计算,获取解析结果,解析结果中除了包括具体的计算逻辑,还包括计算获取当前节点的当前阶段信息所需要的目标数据(如其他节点的阶段信息等)的相关信息,最后根据该解析结果获取计算当前节点的当前阶段数据所需要的目标数据。
根据所述目标计算规则以及所述目标数据计算生成所述当前节点的当前阶段数据。
具体的,在根据目标计算规则以及目标数据计算生成当前节点的当前阶段数据时,根据对象生命周期的不同阶段(即不同节点)将编码替换为实际值(即从目标数据中提取出对应的字段填充至表达式中),并解析为完整的数学表达式,最后完成计算。
以财务发票计算两分钟内开票成功为例,一张财务发票开票会经过“请求开票”到“开票成功”的过程,这里“请求开票”与“开票成功”即为追踪轨迹上的两个不同节点。计算两分钟内是否开票成功,就需要计算两个节点之间的时间差是否在两分钟内。这里,可以对节点“请求开票”、“开票成功”进行编码。例如两个节点编码依次为“11”、“12”,时间字段编码为“1001”,所以表达式可以用编码表示为(#12.1001#-#11.1001#<=120),其中,使用两个#标识字段编码,括号标识整个表达式。具体进行计算时,将此表达式中需要取值的字段解析出来并进行替换,假设“请求开票”的时间为2019-12-0514:30:00,“开票成功”的时间为2019-12-0514:31:58,将时间转换为时间戳(秒)并代入表达式后,表达式为1575527518-1575527400<=120,计算结果为trrue,故此财务发票符合两分钟内开票成功。
进一步参照图1所示,作为一种较优的实施方式,本发明实施例中,所述解析所述目标计算规则,根据解析结果获取计算所述当前节点的当前阶段数据所需要的目标数据包括:
对所述目标计算规则进行解析,获取解析结果;
根据所述解析结果判断是否需要获取历史阶段数据,若不需要,则直接确定所述对象数据为目标数据,否则,获取对应的历史阶段数据,将获取到的所述历史阶段数据与所述对象数据确定为目标数据。
具体的,对于追踪对象的追踪轨迹的追踪,每个节点的阶段数据的计算,除了所需的计算规则可能不同之外,计算过程中所需要的目标数据也可能不同。例如,可能只需要使用接收到的当前节点的对象数据,也可能需要使用到其他节点的阶段信息。因此,在获取到目标计算规则的解析结果后,需要首先根据该解析结果判断是否需要获取历史阶段数据(这里主要指其他节点的阶段数据),即解析出每个表达式所依赖的生命周期,通常分为两种情况:
1、该表达式只依赖生命周期中的单个阶段(这里指当前节点)进行追踪计算,该情况下,目标数据即为对象数据,此时,直接从对象数据中提取相关信息并完成计算;
2、该表达式依赖生命周期中的多个阶段(即需要依赖其他节点的阶段数据)进行追踪计算,该情况下,目标数据除了包括对象数据,还包括所依赖的其他节点的阶段数据(即历史阶段数据)。
作为一种较优的实施方式,本发明实施例中,所述获取对应的历史阶段数据包括:
查询缓存数据中是否存在所述历史阶段数据,若存在,则从所述缓存中获取所述历史阶段数据,否则将所述对象数据以及所述计算规则发送至分布式消息队列,以便后续执行数据补充流程。
具体的,本发明实施例中,会先将当前节点的对象数据缓存在执行器内存中保留,由于内存空间有限,设置内存中数据可以根据实际情况自行清除。然后从内存中检索该表达式依赖的所有历史轨迹数据,若都能检索到,就直接从缓存中获取历史阶段数据以进行后续计算,否则,将该追踪对象数据附带表达式及当前系统时间发送至分布式消息队列,以便后续执行数据补充流程,进行数据补充处理。
图2是根据一示例性实施例示出的数据补充流程的流程图,参照图2所示,作为一种较优的实施方式,本发明实施例中,所述数据补充流程包括如下步骤:
接收并解析分布式消息队列发送来消息数据,获取所述消息数据中携带的对象数据以及目标计算规则。
具体的,本发明实施例中,可以预先为流式计算引擎配置一个流式计算任务来执行数据补充流程,通过该流式计算任务接收分布式消息队列发送来消息数据,并对该消息数据进行解析,获取其携带的对象数据以及目标计算规则。
解析所述目标计算规则,根据解析结果从分布式列式数据库中获取对应的历史阶段数据。
具体的,同样的,在获取到对应的目标计算规则后,还需要对该目标计算规则进行计算,获取解析结果,解析结果中除了包括具体的计算逻辑,还包括计算获取当前节点的当前阶段信息所需要的历史阶段数据(如其他节点的阶段信息等)的相关信息,最后根据该解析结果从分布式列式数据库中获取计算当前节点的当前阶段数据所需要的历史阶段数据。
判断所述历史阶段数据是否完整,若完整,则根据所述对象数据、所述目标计算规则以及所述历史阶段数据计算获取当前阶段数据。
具体的,在从分布式列式数据库中获取计算当前节点的当前阶段数据所需要的历史阶段数据后,需要先判断获取到的历史阶段数据是否完整,若完整,根据对象数据、目标计算规则以及历史阶段数据计算获取当前阶段数据,若不完整,则说明计算当前节点的当前阶段数据所需要的历史阶段数据有缺失,不能完成后续计算,此时跳过当前节点的当前节点数据的计算,进行下一条消息数据的处理。
作为一种较优的实施方式,本发明实施例中,在接收到分布式消息队列发送来消息数据后,所述数据补充流程还包括:
判断所述消息数据的下发时间是否满足预设条件,若满足,则对所述消息数据进行解析,否则,等待时间满足所述预设条件后再对所述消息数据进行解析。
具体的,为了避免数据批量写入分布式列式数据库带来的延迟导致对于数据轨迹追踪不准确,本发明实施例中,设置在接收到分布式消息队列发送来消息数据时,同时获取该条消息数据的下发时间,将该下发时间与预设条件进行比较,判断该下发时间是否满足预设条件。预设条件可以根据实际需求进行设置,这里不做限制。例如,判断该消息数据的下发时间和当前系统时间是否在一分钟之内,若在一分钟之内则等待一分钟后进行处理,否则解析目标计算规则,根据解析结果从分布式列式数据库中获取对应的历史阶段数据。
图3是根据一示例性实施例示出的将所述当前阶段数据存储至分布式列式数据库的过程的流程图,参照图3所示,作为一种较优的实施方式,本发明实施例中,所述方法还包括将所述当前阶段数据存储至分布式列式数据库的过程,包括:
接收当前阶段数据,对所述当前阶段数据按照预设的存储格式进行封装,生成存储对象;
将所述存储对象写入到所述分布式列式数据库中。
具体的,本发明实施例中,以分布式列式数据库作为存储介质。作为一种较优的示例,具体实施时,可以将追踪对象的唯一标识作为行键,单列簇,追踪对象的追踪轨迹上的每个节点作为列名,每列值存放该节点对应的轨迹属性数据。以财务发票数据为例,一个发票订单会经过“接收处理”、“请求开票”、“接收开票结果”等流程点(即上述节点),每个流程点上都会有“发票状态”、“发票金额”等属性且不同流程点上的属性值可能发生变化。把发票号作为行键,单列簇,每个流程点作为列名,将每个流程点上的发票属性值存放入列值内。
本发明实施例中,设置由分布式日志采集系统实时收集追踪数据并发送至分布式消息队列,然后流式计算引擎实时消费分布式消息队列的数据并解析为按照列式存储设计格式的存储对象,然后批量直接写入到分布式列式数据库。
作为一种较优的实施方式,本发明实施例中,所述根据所述节点信息从预先配置的计算规则中获取与所述当前节点对应的目标计算规则包括:
定时通过查询接口从微服务中获取所有的计算规则,并将其解析为预设格式,所述微服务用于管理所述计算规则;
根据所述节点信息从解析后的计算规则中匹配出与所述当前节点对应的目标计算规则。
具体的,本发明实施例中,采用微服务来管理由计算逻辑抽象成的数学表达式(即计算规则),且支持对于表达式的增删改查,并且提供查询接口。流式计算引擎执行器按照设定的频率(如5分钟)调用查询接口获取所有的数学表达式,并对表达式进行预处理,将表达式解析为预设格式,如图4所示。然后根据节点信息从解析后的表达式中匹配出与当前节点对应的目标计算规则。
图5是根据一示例性实施例示出的的结构示意图,参照图5所示,该装置包括:
信息获取模块,用于接收追踪对象的对象数据,确定所述对象数据对应的当前节点的节点信息;
规则获取模块,用于根据所述节点信息从预先配置的计算规则中获取与所述当前节点对应的目标计算规则;
数据获取模块,用于解析所述目标计算规则,根据解析结果获取计算所述当前节点的当前阶段数据所需要的目标数据;
数据计算模块,用于根据所述目标计算规则以及所述目标数据计算生成所述当前节点的当前阶段数据。
作为一种较优的实施方式,本发明实施例中,所述数据获取模块包括:
第一解析单元,用于对所述目标计算规则进行解析,获取解析结果;
第一获取单元,用于根据所述解析结果判断是否需要获取历史阶段数据,若不需要,则直接确定所述对象数据为目标数据,否则,获取对应的历史阶段数据,将获取到的所述历史阶段数据与所述对象数据确定为目标数据。
作为一种较优的实施方式,本发明实施例中,所述数据获取单元具体用于:
查询缓存数据中是否存在所述历史阶段数据,若存在,则从所述缓存中获取所述历史阶段数据,否则将所述对象数据以及所述计算规则发送至分布式消息队列,以便后续执行数据补充流程。
作为一种较优的实施方式,本发明实施例中,所述装置还包括数据补充模块,包括:
数据解析单元,用于接收并解析分布式消息队列发送来消息数据,获取所述消息数据中携带的对象数据以及目标计算规则;
第二解析单元,用于解析所述目标计算规则;
第二获取单元,用于根据解析结果从分布式列式数据库中获取对应的历史阶段数据;
第一判断单元,用于判断所述历史阶段数据是否完整;
数据计算单元,用于根据所述对象数据、所述目标计算规则以及所述历史阶段数据计算获取当前阶段数据。
作为一种较优的实施方式,本发明实施例中,所述数据补充模块还包括:
第二判断单元,用于判断所述消息数据的下发时间是否满足预设条件,若满足,则对所述消息数据进行解析,否则,等待时间满足所述预设条件后再对所述消息数据进行解析。
作为一种较优的实施方式,本发明实施例中,所述装置还包括数据存储模块,包括:
数据封装单元,用于接收当前阶段数据,对所述当前阶段数据按照预设的存储格式进行封装,生成存储对象;
数据写入单元,用于将所述存储对象写入到所述分布式列式数据库中。
作为一种较优的实施方式,本发明实施例中,所述规则获取模块包括:
规则查询单元,用于定时通过查询接口从微服务中获取所有的计算规则,并将其解析为预设格式,所述微服务用于管理所述计算规则;
规则匹配单元,用于根据所述节点信息从解析后的计算规则中匹配出与所述当前节点对应的目标计算规则。
图6是根据一示例性实施例示出的计算机设备的内部结构示意图,参照图6所示,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种执行计划的优化方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
作为一种较优的实施方式,本发明实施例中,计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
接收追踪对象的对象数据,确定所述对象数据对应的当前节点的节点信息;
根据所述节点信息从预先配置的计算规则中获取与所述当前节点对应的目标计算规则;
解析所述目标计算规则,根据解析结果获取计算所述当前节点的当前阶段数据所需要的目标数据;
根据所述目标计算规则以及所述目标数据计算生成所述当前节点的当前阶段数据。
作为一种较优的实施方式,本发明实施例中,处理器执行计算机程序时还实现以下步骤:
对所述目标计算规则进行解析,获取解析结果;
根据所述解析结果判断是否需要获取历史阶段数据,若不需要,则直接确定所述对象数据为目标数据,否则,获取对应的历史阶段数据,将获取到的所述历史阶段数据与所述对象数据确定为目标数据。
作为一种较优的实施方式,本发明实施例中,处理器执行计算机程序时还实现以下步骤:
查询缓存数据中是否存在所述历史阶段数据,若存在,则从所述缓存中获取所述历史阶段数据,否则将所述对象数据以及所述计算规则发送至分布式消息队列,以便后续执行数据补充流程。
作为一种较优的实施方式,本发明实施例中,处理器执行计算机程序时还实现数据补充步骤,包括:
接收并解析分布式消息队列发送来消息数据,获取所述消息数据中携带的对象数据以及目标计算规则;
解析所述目标计算规则,根据解析结果从分布式列式数据库中获取对应的历史阶段数据;
判断所述历史阶段数据是否完整,若完整,则根据所述对象数据、所述目标计算规则以及所述历史阶段数据计算获取当前阶段数据。
作为一种较优的实施方式,本发明实施例中,处理器执行计算机程序时还实现以下步骤:
判断所述消息数据的下发时间是否满足预设条件,若满足,则对所述消息数据进行解析,否则,等待时间满足所述预设条件后再对所述消息数据进行解析。
作为一种较优的实施方式,本发明实施例中,处理器执行计算机程序时还实现以下步骤:
接收当前阶段数据,对所述当前阶段数据按照预设的存储格式进行封装,生成存储对象;
将所述存储对象写入到所述分布式列式数据库中。
作为一种较优的实施方式,本发明实施例中,处理器执行计算机程序时还实现以下步骤:
定时通过查询接口从微服务中获取所有的计算规则,并将其解析为预设格式,所述微服务用于管理所述计算规则;
根据所述节点信息从解析后的计算规则中匹配出与所述当前节点对应的目标计算规则。
本发明实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如下步骤:
接收追踪对象的对象数据,确定所述对象数据对应的当前节点的节点信息;
根据所述节点信息从预先配置的计算规则中获取与所述当前节点对应的目标计算规则;
解析所述目标计算规则,根据解析结果获取计算所述当前节点的当前阶段数据所需要的目标数据;
根据所述目标计算规则以及所述目标数据计算生成所述当前节点的当前阶段数据。
作为一种较优的实施方式,本发明实施例中,所述计算机程序被处理器执行时,还实现如下步骤:
对所述目标计算规则进行解析,获取解析结果;
根据所述解析结果判断是否需要获取历史阶段数据,若不需要,则直接确定所述对象数据为目标数据,否则,获取对应的历史阶段数据,将获取到的所述历史阶段数据与所述对象数据确定为目标数据。
作为一种较优的实施方式,本发明实施例中,所述计算机程序被处理器执行时,还实现如下步骤:
查询缓存数据中是否存在所述历史阶段数据,若存在,则从所述缓存中获取所述历史阶段数据,否则将所述对象数据以及所述计算规则发送至分布式消息队列,以便后续执行数据补充流程。
作为一种较优的实施方式,本发明实施例中,所述计算机程序被处理器执行时,还实现如下步骤:
接收并解析分布式消息队列发送来消息数据,获取所述消息数据中携带的对象数据以及目标计算规则;
解析所述目标计算规则,根据解析结果从分布式列式数据库中获取对应的历史阶段数据;
判断所述历史阶段数据是否完整,若完整,则根据所述对象数据、所述目标计算规则以及所述历史阶段数据计算获取当前阶段数据。
作为一种较优的实施方式,本发明实施例中,所述计算机程序被处理器执行时,还实现如下步骤:
判断所述消息数据的下发时间是否满足预设条件,若满足,则对所述消息数据进行解析,否则,等待时间满足所述预设条件后再对所述消息数据进行解析。
作为一种较优的实施方式,本发明实施例中,所述计算机程序被处理器执行时,还实现如下步骤:
接收当前阶段数据,对所述当前阶段数据按照预设的存储格式进行封装,生成存储对象;
将所述存储对象写入到所述分布式列式数据库中。
作为一种较优的实施方式,本发明实施例中,所述计算机程序被处理器执行时,还实现如下步骤:
定时通过查询接口从微服务中获取所有的计算规则,并将其解析为预设格式,所述微服务用于管理所述计算规则;
根据所述节点信息从解析后的计算规则中匹配出与所述当前节点对应的目标计算规则。
综上所述,本发明实施例提供的技术方案带来的有益效果是:
1、本发明实施例提供的数据处理方法、装置、计算机设备和存储介质,通过接收追踪对象的对象数据,确定所述对象数据对应的当前节点的节点信息,根据所述节点信息从预先配置的计算规则中获取与所述当前节点对应的目标计算规则,解析所述目标计算规则,根据解析结果获取计算所述当前节点的当前阶段数据所需要的目标数据,根据所述目标计算规则以及所述目标数据计算生成所述当前节点的当前阶段数据,通过将跟踪对象的计算逻辑抽象为可解析的数学表达式,实现计算逻辑配置化,可以快速根据表达式匹配数据并计算;
2、本发明实施例提供的数据处理方法、装置、计算机设备和存储介质,通过接收当前阶段数据,对所述当前阶段数据按照预设的存储格式进行封装,生成存储对象,将所述存储对象写入到所述分布式列式数据库中,通过使用分布式列式数据库作为存储介质实现快速读写,提高读取效率。
需要说明的是:上述实施例提供的数据处理装置在触发数据处理业务时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据处理装置与数据处理入方法实施例属于同一构思,即该装置是基于该数据处理方法的,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种数据处理方法,其特征在于,所述方法包括如下步骤:
接收追踪对象的对象数据,确定所述对象数据对应的当前节点的节点信息;
根据所述节点信息从预先配置的计算规则中获取与所述当前节点对应的目标计算规则;
解析所述目标计算规则,根据解析结果获取计算所述当前节点的当前阶段数据所需要的目标数据;根据所述目标计算规则以及所述目标数据计算生成所述当前节点的当前阶段数据;
其中,所述解析所述目标计算规则,根据解析结果获取计算所述当前节点的当前阶段数据所需要的目标数据,包括:
对所述目标计算规则进行解析,获取解析结果;
根据所述解析结果判断是否需要获取历史阶段数据,若不需要,则直接确定所述对象数据为目标数据,否则,获取对应的历史阶段数据,将获取到的所述历史阶段数据与所述对象数据确定为目标数据。
2.根据权利要求1所述的数据处理方法,其特征在于,所述获取对应的历史阶段数据包括:
查询缓存数据中是否存在所述历史阶段数据,若存在,则从所述缓存中获取所述历史阶段数据,否则将所述对象数据以及所述计算规则发送至分布式消息队列,以便后续执行数据补充流程。
3.根据权利要求2所述的数据处理方法,其特征在于,所述数据补充流程包括如下步骤:
接收并解析分布式消息队列发送来消息数据,获取所述消息数据中携带的对象数据以及目标计算规则;
解析所述目标计算规则,根据解析结果从分布式列式数据库中获取对应的历史阶段数据;
判断所述历史阶段数据是否完整,若完整,则根据所述对象数据、所述目标计算规则以及所述历史阶段数据计算获取当前阶段数据。
4.根据权利要求3所述的数据处理方法,其特征在于,在接收到分布式消息队列发送来消息数据后,所述数据补充流程还包括:
判断所述消息数据的下发时间是否满足预设条件,若满足,则对所述消息数据进行解析,否则,等待时间满足所述预设条件后再对所述消息数据进行解析。
5.根据权利要求1至4任一所述的数据处理方法,其特征在于,所述方法还包括将所述当前阶段数据存储至分布式列式数据库的过程,包括:
接收当前阶段数据,对所述当前阶段数据按照预设的存储格式进行封装,生成存储对象;
将所述存储对象写入到所述分布式列式数据库中。
6.根据权利要求1至4任一所述的数据处理方法,其特征在于,所述根据所述节点信息从预先配置的计算规则中获取与所述当前节点对应的目标计算规则包括:
定时通过查询接口从微服务中获取所有的计算规则,并将其解析为预设格式,所述微服务用于管理所述计算规则;
根据所述节点信息从解析后的计算规则中匹配出与所述当前节点对应的目标计算规则。
7.一种数据处理装置,其特征在于,所述装置包括:
信息获取模块,用于接收追踪对象的对象数据,确定所述对象数据对应的当前节点的节点信息;
规则获取模块,用于根据所述节点信息从预先配置的计算规则中获取与所述当前节点对应的目标计算规则;
数据获取模块,用于解析所述目标计算规则,根据解析结果获取计算所述当前节点的当前阶段数据所需要的目标数据;
数据计算模块,用于根据所述目标计算规则以及所述目标数据计算生成所述当前节点的当前阶段数据;
其中,所述数据获取模块,还用于:
对所述目标计算规则进行解析,获取解析结果;
根据所述解析结果判断是否需要获取历史阶段数据,若不需要,则直接确定所述对象数据为目标数据,否则,获取对应的历史阶段数据,将获取到的所述历史阶段数据与所述对象数据确定为目标数据。
8.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010110365.5A CN111291054B (zh) | 2020-02-21 | 2020-02-21 | 一种数据处理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010110365.5A CN111291054B (zh) | 2020-02-21 | 2020-02-21 | 一种数据处理方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111291054A CN111291054A (zh) | 2020-06-16 |
CN111291054B true CN111291054B (zh) | 2023-05-16 |
Family
ID=71020511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010110365.5A Active CN111291054B (zh) | 2020-02-21 | 2020-02-21 | 一种数据处理方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111291054B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113268409B (zh) * | 2021-02-19 | 2022-11-15 | 南京苏宁软件技术有限公司 | 自动化测试时跟踪逻辑节点的方法、装置、设备和介质 |
CN113064920A (zh) * | 2021-02-26 | 2021-07-02 | 苏宁金融科技(南京)有限公司 | 基于Flink的实时计算方法、装置、计算机设备及存储介质 |
CN113610586B (zh) * | 2021-08-18 | 2024-01-23 | 国网数字科技控股有限公司 | 发票申请数据补偿方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018036549A1 (zh) * | 2016-08-25 | 2018-03-01 | 中兴通讯股份有限公司 | 分布式数据库查询方法、装置及管理系统 |
CN109447787A (zh) * | 2018-10-26 | 2019-03-08 | 平安科技(深圳)有限公司 | 征信报告自动解析方法、装置、计算机设备以及存储介质 |
CN109543942A (zh) * | 2018-10-16 | 2019-03-29 | 平安普惠企业管理有限公司 | 数据校验方法、装置、计算机设备和存储介质 |
CN110008257A (zh) * | 2019-04-10 | 2019-07-12 | 深圳市腾讯计算机系统有限公司 | 数据处理方法、装置、系统、计算机设备和存储介质 |
-
2020
- 2020-02-21 CN CN202010110365.5A patent/CN111291054B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018036549A1 (zh) * | 2016-08-25 | 2018-03-01 | 中兴通讯股份有限公司 | 分布式数据库查询方法、装置及管理系统 |
CN109543942A (zh) * | 2018-10-16 | 2019-03-29 | 平安普惠企业管理有限公司 | 数据校验方法、装置、计算机设备和存储介质 |
CN109447787A (zh) * | 2018-10-26 | 2019-03-08 | 平安科技(深圳)有限公司 | 征信报告自动解析方法、装置、计算机设备以及存储介质 |
CN110008257A (zh) * | 2019-04-10 | 2019-07-12 | 深圳市腾讯计算机系统有限公司 | 数据处理方法、装置、系统、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111291054A (zh) | 2020-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111291054B (zh) | 一种数据处理方法、装置、计算机设备和存储介质 | |
CN114547208B (zh) | 用于全链路追踪事务的方法及原生分布式数据库 | |
US8224834B2 (en) | Database message analysis support technique | |
CN110147470B (zh) | 一种跨机房数据比对系统及方法 | |
CN110109978A (zh) | 基于指标的数据分析方法、装置、服务器及可读存储介质 | |
CN115660880A (zh) | 费用计算管理方法、装置、电子设备、存储介质及产品 | |
CN113407623A (zh) | 数据的处理方法、装置及服务器 | |
CN115858205A (zh) | 基于内存黑板机制的仿真组件交互方法、装置和设备 | |
CN111752945A (zh) | 一种基于容器和层次模型的时序数据库数据交互方法和系统 | |
CN111240772A (zh) | 一种基于区块链的数据处理方法、装置及存储介质 | |
CN111553652A (zh) | 业务处理方法及装置 | |
CN113138906A (zh) | 一种调用链数据采集方法、装置、设备及存储介质 | |
CN111949720B (zh) | 基于大数据和人工智能的数据分析方法及云端数据服务器 | |
CN109542917A (zh) | 数据读取方法及计算机可读介质 | |
CN113360558B (zh) | 数据处理方法、数据处理装置、电子设备及存储介质 | |
CN115510139A (zh) | 数据查询方法和装置 | |
CN115455059A (zh) | 一种基于底层数据解析用户行为的方法、装置及相关介质 | |
CN113986937A (zh) | 一种客户端数据更新的方法、系统和介质 | |
CN111459984B (zh) | 基于流式处理的日志数据处理系统及方法 | |
CN114356454A (zh) | 对账数据处理方法、设备、存储介质及程序产品 | |
CN113342744A (zh) | 调用链的并行构建方法、装置、设备及存储介质 | |
CN117453493B (zh) | 大规模多数据中心的gpu算力集群监控方法及系统 | |
CN113342373B (zh) | 一种用于Prometheus通用采集器的实现方法和系统 | |
CN116962407B (zh) | 分布式链路标签的处理方法和装置、分布式链路追踪系统及分布式系统 | |
CN116431688B (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 |