[go: up one dir, main page]

CN116303853A - A data processing method, device, equipment and storage medium - Google Patents

A data processing method, device, equipment and storage medium Download PDF

Info

Publication number
CN116303853A
CN116303853A CN202310173160.5A CN202310173160A CN116303853A CN 116303853 A CN116303853 A CN 116303853A CN 202310173160 A CN202310173160 A CN 202310173160A CN 116303853 A CN116303853 A CN 116303853A
Authority
CN
China
Prior art keywords
executed
node
operators
operator
data
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
Application number
CN202310173160.5A
Other languages
Chinese (zh)
Inventor
李华东
刘立歆
李建昆
胡伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Automotive Innovation Corp
Original Assignee
China Automotive Innovation Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Automotive Innovation Corp filed Critical China Automotive Innovation Corp
Priority to CN202310173160.5A priority Critical patent/CN116303853A/en
Publication of CN116303853A publication Critical patent/CN116303853A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Remote Sensing (AREA)
  • Data Mining & Analysis (AREA)
  • Instructional Devices (AREA)

Abstract

The invention discloses a data processing method, a device, equipment and a storage medium, wherein the method comprises the following steps: acquiring target map data; determining a plurality of operators to be executed based on the target map data; based on operator dependency relations of a plurality of operators to be executed, constructing a directed acyclic graph of the operators to be executed to obtain a target directed acyclic graph corresponding to the operators to be executed; each operator to be executed corresponds to one node in the target directed acyclic graph; determining the execution sequence corresponding to each of a plurality of operators to be executed based on the degree information of each node in the target directed acyclic graph; and processing the target map data based on the execution sequence corresponding to each of the plurality of operators to be executed to obtain a target processing result. The invention completes the construction of the target directed acyclic graph based on a plurality of operators to be executed, determines the execution sequence of the operators to be executed corresponding to each node in the directed acyclic graph, and can improve the efficiency of data processing.

Description

一种数据处理方法、装置、设备以及存储介质A data processing method, device, equipment and storage medium

技术领域technical field

本发明涉及一种车辆智能驾驶领域,具体为一种数据处理方法、装置、设备以及存储介质。The present invention relates to the field of vehicle intelligent driving, in particular to a data processing method, device, equipment and storage medium.

背景技术Background technique

高精地图又称面向车端的自动驾驶地图,目前大多采用众包模式实现高精地图的制作及更新;众包采集模式中,车端识别场景地图要素,云端进行矢量数据预处理优化,然后通过半自动加人工辅助成图。High-precision maps are also known as car-oriented autonomous driving maps. At present, most of them use the crowdsourcing mode to realize the production and update of high-precision maps; Semi-automatic plus human-assisted mapping.

云端预处理环节中,针对数据来源、格式、类型不同,采用对应的算子对数据进行处理,这一过程需要不断更新参数,根据返回结果判断是否需要引入其他算法对数据进行优化;使用多个算子完成数据处理的情况下,需要对多个算子分别进行多次遍历,且并未确定多个算子的执行顺序;参数的设置及不同顺序的算子组合对数据预处理的结果以及效率影响较大。In the cloud preprocessing link, according to different data sources, formats, and types, corresponding operators are used to process the data. This process requires constant updating of parameters, and judging whether other algorithms need to be introduced to optimize the data according to the returned results; using multiple When an operator completes data processing, it is necessary to traverse multiple operators separately, and the execution order of multiple operators is not determined; parameter settings and combinations of operators in different orders affect the results of data preprocessing and Efficiency has a greater impact.

发明内容Contents of the invention

有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提高数据处理的效率。In view of the above-mentioned defects of the prior art, the technical problem to be solved by the present invention is to improve the efficiency of data processing.

为了解决上述提出的至少一个技术问题,本发明公开一种数据处理方法、装置、设备以及存储介质。In order to solve at least one technical problem raised above, the present invention discloses a data processing method, device, device and storage medium.

根据本公开的一方面,提供了一种数据处理方法,包括:According to an aspect of the present disclosure, a data processing method is provided, including:

获取目标地图数据;Obtain target map data;

基于所述目标地图数据确定多个待执行算子;所述待执行算子指示与所述目标地图数据对应的多种数据处理操作;determining a plurality of operators to be executed based on the target map data; the operators to be executed indicate various data processing operations corresponding to the target map data;

基于所述多个待执行算子的算子依赖关系,对所述多个待执行算子进行有向无环图构建,得到与所述多个待执行算子对应的目标有向无环图;每个待执行算子对应所述目标有向无环图中的一个节点;Based on the operator dependencies of the plurality of operators to be executed, constructing a directed acyclic graph of the plurality of operators to be executed to obtain a target directed acyclic graph corresponding to the plurality of operators to be executed ;Each operator to be executed corresponds to a node in the target DAG;

基于所述目标有向无环图中各个节点的入度信息,确定所述多个待执行算子各自对应的执行顺序;Based on the in-degree information of each node in the target DAG, determine the corresponding execution order of the plurality of operators to be executed;

基于所述多个待执行算子各自对应的执行顺序,对所述目标地图数据进行处理,得到目标处理结果。The target map data is processed based on the execution order corresponding to each of the plurality of operators to be executed to obtain a target processing result.

在一些可能的实施例中,所述基于所述目标地图数据确定多个待执行算子,包括:In some possible embodiments, the determining a plurality of operators to be executed based on the target map data includes:

对所述目标地图数据进行数据格式检测,得到格式检测结果;Performing data format detection on the target map data to obtain a format detection result;

在所述格式检测结果指示,所述目标地图数据的数据格式与预设数据格式不一致的情况下,确定与所述目标地图数据的数据格式对应的数据转换算子;When the format detection result indicates that the data format of the target map data is inconsistent with the preset data format, determine a data conversion operator corresponding to the data format of the target map data;

对所述目标地图数据进行数据处理分析,得到数据处理分析结果;Performing data processing and analysis on the target map data to obtain a data processing and analysis result;

基于所述数据处理分析结果,确定与所述目标地图数据对应的数据处理算子;determining a data processing operator corresponding to the target map data based on the data processing analysis result;

基于所述数据转换算子的数据格式,确定与所述数据转换算子的数据格式对应的数据输出算子;determining a data output operator corresponding to the data format of the data conversion operator based on the data format of the data conversion operator;

基于所述数据转换算子、所述数据处理算子,以及所述数据输出算子,确定所述多个待执行算子。The plurality of operators to be executed are determined based on the data conversion operator, the data processing operator, and the data output operator.

在一些可能的实施例中,所述基于所述多个待执行算子的算子依赖关系,对所述多个待执行算子进行有向无环图构建,得到与所述多个待执行算子对应的目标有向无环图之前,所述方法还包括:In some possible embodiments, based on the operator dependencies of the multiple operators to be executed, a directed acyclic graph is constructed for the multiple operators to be executed to obtain Before the target directed acyclic graph corresponding to the operator, the method further includes:

获取所述多个待执行算子各自对应的算子类型参数;Obtain operator type parameters corresponding to each of the plurality of operators to be executed;

基于所述多个待执行算子各自对应的算子类型参数,确定所述各个节点之间的依赖关系。Based on the operator type parameters corresponding to the plurality of operators to be executed, the dependencies among the nodes are determined.

在一些可能的实施例中,所述基于所述多个待执行算子的算子依赖关系,对所述多个待执行算子进行有向无环图构建,得到与所述多个待执行算子对应的目标有向无环图,包括:In some possible embodiments, based on the operator dependencies of the multiple operators to be executed, a directed acyclic graph is constructed for the multiple operators to be executed to obtain The target directed acyclic graph corresponding to the operator includes:

基于所述各个节点之间的依赖关系,对任意两个节点进行节点校验,得到节点校验结果;所述节点校验结果包括依赖关系校验结果和图形校验结果;Based on the dependency relationship between the nodes, node verification is performed on any two nodes to obtain a node verification result; the node verification result includes a dependency verification result and a graph verification result;

基于所述节点校验结果对所述任意两个节点之间的连接关系进行校验,得到所述目标有向无环图。Verifying the connection relationship between the arbitrary two nodes based on the node verification result to obtain the target directed acyclic graph.

在一些可能的实施例中,所述基于所述多个待执行算子的算子依赖关系,对所述多个待执行算子进行有向无环图构建,得到与所述多个待执行算子对应的目标有向无环图之后,所述方法包括:In some possible embodiments, based on the operator dependencies of the multiple operators to be executed, a directed acyclic graph is constructed for the multiple operators to be executed to obtain After the target directed acyclic graph corresponding to the operator, the method includes:

获取所述目标有向无环图中各个节点对应的数据操作信息;Obtaining data operation information corresponding to each node in the target DAG;

基于所述数据操作信息,对所述目标有向无环图中各个节点执行信息填充操作,得到更新后的目标有向无环图。Based on the data operation information, an information filling operation is performed on each node in the target DAG to obtain an updated target DAG.

在一些可能的实施例中,所述基于所述目标有向无环图中各个节点的入度信息,确定所述多个待执行算子各自对应的执行顺序,包括:In some possible embodiments, the determining the execution sequence corresponding to each of the plurality of operators to be executed based on the in-degree information of each node in the target DAG includes:

基于所述更新后的目标有向无环图确定当前节点;所述当前节点为所述更新后的目标有向无环图中节点入度值为0的节点;Determining a current node based on the updated target DAG; the current node is a node with a node in-degree value of 0 in the updated target DAG;

将所述当前节点加入节点队列;Add the current node to the node queue;

从当前有向无环图中删除所述当前节点,以及所述当前节点的每一条出度边,得到更新后的有向无环图;Deleting the current node and each outgoing edge of the current node from the current DAG to obtain an updated DAG;

确定所述更新后的有向无环图中,所述节点入度值为0的节点为所述当前节点;Determining that in the updated directed acyclic graph, the node whose in-degree value is 0 is the current node;

重复执行:将所述当前节点加入所述节点队列,至确定所述更新后的有向无环图中,节点入度值为0的节点为当前节点,直至所述当前节点为所述更新后的有向无环图中,最后一个节点入度值为0且出度值也为0的节点;Repeated execution: add the current node to the node queue until it is determined that in the updated directed acyclic graph, the node with a node in-degree value of 0 is the current node, until the current node is the updated In the directed acyclic graph of , the last node whose in-degree value is 0 and whose out-degree value is also 0;

基于所述节点队列,确定所述多个待执行算子各自对应的执行顺序。Based on the node queue, an execution sequence corresponding to each of the plurality of operators to be executed is determined.

在一些可能的实施例中,所述基于所述多个待执行算子各自对应的执行顺序,对所述目标地图数据进行处理,得到目标处理结果,包括:In some possible embodiments, the processing of the target map data based on the corresponding execution order of the plurality of operators to be executed to obtain a target processing result includes:

基于所述多个待执行算子各自对应的执行顺序,对各个节点进行遍历;Traversing each node based on the execution sequence corresponding to each of the plurality of operators to be executed;

基于当前遍历的节点,对所述目标地图数据执行与所述当前遍历的节点对应的数据处理操作,得到与所述当前遍历的节点对应的数据处理结果;Based on the currently traversed node, performing a data processing operation corresponding to the currently traversed node on the target map data to obtain a data processing result corresponding to the currently traversed node;

基于与各个节点对应的数据处理结果,生成所述目标处理结果。The target processing result is generated based on the data processing result corresponding to each node.

根据本公开的第二方面,提供了一种数据处理装置,包括:According to a second aspect of the present disclosure, a data processing device is provided, including:

数据获取模块,用于获取目标地图数据;A data acquisition module, configured to acquire target map data;

算子确定模块,用于基于所述目标地图数据确定多个待执行算子;所述待执行算子指示与所述目标地图数据对应的多种数据处理操作;An operator determination module, configured to determine a plurality of operators to be executed based on the target map data; the operators to be executed indicate various data processing operations corresponding to the target map data;

图形构建模块,用于基于所述多个待执行算子的算子依赖关系,对所述多个待执行算子进行有向无环图构建,得到与所述多个待执行算子对应的目标有向无环图;每个待执行算子对应所述目标有向无环图中的一个节点;A graph construction module, configured to construct a directed acyclic graph for the plurality of operators to be executed based on the operator dependencies of the plurality of operators to be executed, to obtain the corresponding to the plurality of operators to be executed Target DAG; each operator to be executed corresponds to a node in the target DAG;

顺序确定模块,用于基于所述目标有向无环图中各个节点的入度信息,确定所述多个待执行算子各自对应的执行顺序;A sequence determination module, configured to determine the execution sequence corresponding to each of the plurality of operators to be executed based on the in-degree information of each node in the target DAG;

数据处理模块,用于基于所述多个待执行算子各自对应的执行顺序,对所述目标地图数据进行处理,得到目标处理结果。The data processing module is configured to process the target map data based on the respective execution sequences of the plurality of operators to be executed to obtain a target processing result.

根据本公开的第三方面,提供一种电子设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令和至少一段程序,所述至少一条指令和所述至少一段程序由所述处理器加载并执行以实现如上所述的数据处理方法。According to a third aspect of the present disclosure, there is provided an electronic device, the device includes a processor and a memory, at least one instruction and at least one program are stored in the memory, and the at least one instruction and the at least one program are controlled by the The above-mentioned processor is loaded and executed to realize the above-mentioned data processing method.

根据本公开的第四方面,提供了一种计算机存储介质,所述计算机存储介质中存储有至少一条指令和至少一段程序,所述至少一条指令和所述至少一段程序由处理器加载并执行以实现如上所述的数据处理方法。According to a fourth aspect of the present disclosure, a computer storage medium is provided, at least one instruction and at least one program are stored in the computer storage medium, and the at least one instruction and the at least one program are loaded and executed by a processor to Implement the data processing method as described above.

实施本发明,具有如下有益效果:Implement the present invention, have following beneficial effect:

本发明基于目标地图数据确定对应的多个待执行算子,并构建与多个待执行算子对应的目标有向无环图,以确定目标有向无环图中各个节点对应的入度信息;进一步地,基于目标有向无环图中各个节点的入度信息,得到多个待执行算子的执行顺序,根据多个待执行算子的执行顺序对目标地图数据进行数据处理,能够避免在处理目标地图数据的过程中多次遍历多个待执行算子,从而提高待执行算子确定的效率;进而在基于有向无环图合理地确定了多个算子的执行顺序的基础上,能够提高对目标地图数据处理的准确性。The present invention determines a plurality of corresponding operators to be executed based on the target map data, and constructs a target directed acyclic graph corresponding to the plurality of operators to be executed, so as to determine the in-degree information corresponding to each node in the target directed acyclic graph ; Further, based on the in-degree information of each node in the target directed acyclic graph, the execution sequence of multiple operators to be executed is obtained, and the target map data is processed according to the execution sequence of multiple operators to be executed, which can avoid In the process of processing the target map data, multiple operators to be executed are traversed multiple times, thereby improving the efficiency of determining the operators to be executed; and then on the basis of reasonably determining the execution order of multiple operators based on the directed acyclic graph , which can improve the accuracy of target map data processing.

附图说明Description of drawings

为了更清楚地说明本发明的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。In order to illustrate the technical solution of the present invention more clearly, the accompanying drawings that need to be used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the accompanying drawings in the following description are only some embodiments of the present invention , for those skilled in the art, other drawings can also be obtained based on these drawings without creative work.

图1为本发明实施例提供的数据处理方法对应的流程示意图;FIG. 1 is a schematic flowchart corresponding to a data processing method provided by an embodiment of the present invention;

图2为本发明实施例提供的算子确定对应的流程示意图;FIG. 2 is a schematic flowchart of operator determination corresponding to an embodiment of the present invention;

图3为本发明实施例提供的节点依赖关系确定对应的流程示意图;FIG. 3 is a schematic flow diagram corresponding to determining node dependency provided by an embodiment of the present invention;

图4为本发明实施例提供的目标有向无环图构建对应的流程示意图;Fig. 4 is a schematic flow chart corresponding to the construction of the target directed acyclic graph provided by the embodiment of the present invention;

图5为本发明实施例提供的信息填充对应的流程示意图;FIG. 5 is a schematic flow diagram corresponding to information filling provided by an embodiment of the present invention;

图6为本发明实施例提供的执行顺序确定对应的流程示意图;FIG. 6 is a schematic flow diagram corresponding to the determination of the execution sequence provided by the embodiment of the present invention;

图7为本发明实施例提供的目标地图数据处理对应的流程示意图;FIG. 7 is a schematic flow chart corresponding to target map data processing provided by an embodiment of the present invention;

图8为本发明的一种实施例对应的数据处理工具箱结构示意图;Fig. 8 is a schematic structural diagram of a data processing toolbox corresponding to an embodiment of the present invention;

图9为本发明的一种实施例对应的单趟数据清洗的执行顺序示意图;FIG. 9 is a schematic diagram of the execution sequence of single-pass data cleaning corresponding to an embodiment of the present invention;

图10为本发明的一种实施例对应的多趟组合融合的执行顺序示意图;FIG. 10 is a schematic diagram of the execution sequence of multi-pass combination fusion corresponding to an embodiment of the present invention;

图11为本发明一种实施例提供的地图数据对应的可视化图像;Fig. 11 is a visualized image corresponding to map data provided by an embodiment of the present invention;

图12为本发明一种实施例提供的去噪后的地图数据对应的可视化图像;FIG. 12 is a visualized image corresponding to denoised map data provided by an embodiment of the present invention;

图13为本发明一种实施例提供的拟合后的地图数据对应的可视化图像;Fig. 13 is a visualized image corresponding to the fitted map data provided by an embodiment of the present invention;

图14为本发明一种实施例提供的融合后地图数据对应的可视化图像;Fig. 14 is a visualized image corresponding to fused map data provided by an embodiment of the present invention;

图15为本发明一种实施例提供的数据处理结果对应的可视化图像;Fig. 15 is a visualized image corresponding to a data processing result provided by an embodiment of the present invention;

图16为本发明实施例提供的数据处理装置的结构示意图。FIG. 16 is a schematic structural diagram of a data processing device provided by an embodiment of the present invention.

具体实施方式Detailed ways

下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。The following will clearly and completely describe the technical solutions in the embodiments of the present specification in combination with the drawings in the embodiments of the present specification. Obviously, the described embodiments are only some of the embodiments of the present specification, not all of them. Based on the embodiments in this specification, all other embodiments obtained by persons of ordinary skill in the art without making creative efforts fall within the protection scope of the present invention.

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。It should be noted that the terms "first" and "second" in the description and claims of the present invention and the above drawings are used to distinguish similar objects, but not necessarily used to describe a specific sequence or sequence. It is to be understood that the data so used are interchangeable under appropriate circumstances such that the embodiments of the invention described herein can be practiced in sequences other than those illustrated or described herein. Furthermore, the terms "comprising" and "having", as well as any variations thereof, are intended to cover a non-exclusive inclusion, for example, a process, method, system, product or server comprising a series of steps or elements is not necessarily limited to the expressly listed instead, may include other steps or elements not explicitly listed or inherent to the process, method, product or apparatus.

以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。Various exemplary embodiments, features, and aspects of the present disclosure will be described in detail below with reference to the accompanying drawings. The same reference numbers in the figures indicate functionally identical or similar elements. While various aspects of the embodiments are shown in drawings, the drawings are not necessarily drawn to scale unless specifically indicated.

在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。The word "exemplary" is used exclusively herein to mean "serving as an example, embodiment, or illustration." Any embodiment described herein as "exemplary" is not necessarily to be construed as superior or better than other embodiments.

本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。The term "and/or" in this article is just an association relationship describing associated objects, which means that there can be three relationships, for example, A and/or B can mean: A exists alone, A and B exist simultaneously, and there exists alone B these three situations. In addition, the term "at least one" herein means any one of a variety or any combination of at least two of the more, for example, including at least one of A, B, and C, which may mean including from A, Any one or more elements selected from the set formed by B and C.

另外,为了更好地说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。In addition, in order to better illustrate the present disclosure, numerous specific details are given in the following specific implementation manners. It will be understood by those skilled in the art that the present disclosure may be practiced without some of the specific details. In some instances, methods, means, components and circuits that are well known to those skilled in the art have not been described in detail so as to obscure the gist of the present disclosure.

图1示出本发明实施例提供的数据处理方法对应的流程示意图;执行主体可以是能够运行数据处理方法的任一终端;具体的,任一终端可以是车身控制器、服务器终端等。Fig. 1 shows a schematic flow chart corresponding to the data processing method provided by the embodiment of the present invention; the execution subject may be any terminal capable of running the data processing method; specifically, any terminal may be a vehicle body controller, a server terminal, and the like.

如图1所示,一种数据处理方法,包括:As shown in Figure 1, a data processing method includes:

步骤S101:获取目标地图数据;Step S101: Obtain target map data;

在本发明实施例中,目标地图数据可以是通过众包采集模式获取,且用于高精地图的制作或更新的地图数据。In the embodiment of the present invention, the target map data may be map data obtained through a crowdsourcing collection mode and used for making or updating a high-precision map.

步骤S102:基于所述目标地图数据确定多个待执行算子;所述待执行算子指示与所述目标地图数据对应的多种数据处理操作;Step S102: Determine a plurality of operators to be executed based on the target map data; the operators to be executed indicate various data processing operations corresponding to the target map data;

在本发明实施例中,算子即用于对目标地图数据进行数据处理的算法,不同的算子对应不同的数据处理方法;多个待执行算子根据目标地图数据的数据格式以及处理要求确定,即可以从算子中选择适配于当前目标地图数据的多个待执行算子。In the embodiment of the present invention, an operator is an algorithm for data processing of the target map data, and different operators correspond to different data processing methods; multiple operators to be executed are determined according to the data format and processing requirements of the target map data , that is, multiple operators to be executed that are suitable for the current target map data can be selected from the operators.

步骤S103:基于所述多个待执行算子的算子依赖关系,对所述多个待执行算子进行有向无环图构建,得到与所述多个待执行算子对应的目标有向无环图;每个待执行算子对应所述目标有向无环图中的一个节点;Step S103: Based on the operator dependencies of the plurality of operators to be executed, construct a directed acyclic graph for the plurality of operators to be executed, and obtain target directed graphs corresponding to the plurality of operators to be executed Acyclic graph; each operator to be executed corresponds to a node in the target directed acyclic graph;

在本发明实施例中,算子依赖关系即算子间执行的先后顺序。具体的,如算子A用于处理数据,算子B用于获取数据,算子C用于输出数据,则算子A、算子B、算子C之间的执行顺序为算子B-算子A-算子C。In the embodiment of the present invention, the operator dependency refers to the order in which operators are executed. Specifically, if operator A is used to process data, operator B is used to obtain data, and operator C is used to output data, the execution sequence among operator A, operator B, and operator C is operator B- Operator A-Operator C.

在一个具体的实施例中,每一个待执行算子对应目标有向无环图中的一个节点;对多个待执行算子进行有向无环图构建时,除了需要考虑算子依赖关系外,还需要考虑多个待执行算子关联后是否能够得到有向无环图。具体的,例如根据获取到的目标地图数据确定算子1、算子2、算子3及算子4为多个待执行算子,且算子依赖关系指示:算子1可以连接算子2,算子2可以连接算子3,算子3可以连接算子2以及算子4;根据算子依赖关系生成的有向无环图中,算子2以及算子3形成了闭环,不符合有向无环图的要求,在进行有向无环图构建时,算子2可以连接算子3,算子3不可以连接算子2。In a specific embodiment, each operator to be executed corresponds to a node in the target directed acyclic graph; when constructing a directed acyclic graph for multiple operators to be executed, in addition to considering operator dependencies , it is also necessary to consider whether a directed acyclic graph can be obtained after associating multiple operators to be executed. Specifically, for example, according to the acquired target map data, it is determined that operator 1, operator 2, operator 3, and operator 4 are multiple operators to be executed, and the operator dependency indicates that operator 1 can be connected to operator 2 , operator 2 can be connected to operator 3, and operator 3 can be connected to operator 2 and operator 4; in the directed acyclic graph generated according to operator dependencies, operator 2 and operator 3 form a closed loop, which does not conform to According to the requirement of directed acyclic graph, when constructing a directed acyclic graph, operator 2 can be connected to operator 3, and operator 3 cannot be connected to operator 2.

步骤S104:基于所述目标有向无环图中各个节点的入度信息,确定所述多个待执行算子各自对应的执行顺序;Step S104: Based on the in-degree information of each node in the target DAG, determine the execution order corresponding to each of the plurality of operators to be executed;

在本发明实施例中,得到目标有向无环图后,需要确定目标有向无环图中各个节点的执行顺序,执行顺序根据各个节点的入度信息计算。In the embodiment of the present invention, after the target DAG is obtained, the execution sequence of each node in the target DAG needs to be determined, and the execution sequence is calculated according to the in-degree information of each node.

具体的,入度信息指各个节点对应的入度值,对于目标有向无环图中的每一个节点,其入度值为以当前节点为终点的边的个数。Specifically, the in-degree information refers to the in-degree value corresponding to each node, and for each node in the target DAG, the in-degree value is the number of edges with the current node as the end point.

步骤S105:基于所述多个待执行算子各自对应的执行顺序,对所述目标地图数据进行处理,得到目标处理结果。Step S105: Process the target map data based on the respective execution sequences of the plurality of operators to be executed to obtain a target processing result.

在本发明实施例中,各个节点的执行顺序即各个待执行算子的执行顺序,根据各个待执行算子的执行顺序,处理目标地图数据。In the embodiment of the present invention, the execution order of each node is the execution order of each operator to be executed, and the target map data is processed according to the execution order of each operator to be executed.

具体的,按照各个节点在节点队列中先进先出的顺序执行对应的待执行算子,将当前待执行算子反射解析,再结合数据操作信息实现任务调度;反射解析用于动态获取或调用各个节点的数据信息,例如算子类型参数、数据操作信息等。每个待执行算子完成任务后,使用内存消息监听触发下一环节的待执行算子执行对应的数据处理操作,上阶段数据处理结果作为下阶段输入,最终得到目标处理结果。Specifically, the corresponding operators to be executed are executed according to the first-in-first-out order of each node in the node queue, and the current operator to be executed is reflected and analyzed, and then combined with data operation information to realize task scheduling; reflection analysis is used to dynamically obtain or call each Node data information, such as operator type parameters, data operation information, etc. After each operator to be executed completes the task, the memory message monitoring is used to trigger the operator to be executed in the next stage to perform the corresponding data processing operation, and the data processing result of the previous stage is used as the input of the next stage, and finally the target processing result is obtained.

在本发明实施例中,基于目标地图数据确定对应的多个待执行算子,并构建多个待执行算子对应的目标有向无环图,以确定目标有向无环图中各个节点对应的入度信息;进一步地,基于目标有向无环图中各个节点的入度信息,可以得到多个待执行算子的执行顺序,根据多个待执行算子的执行顺序对目标地图数据进行数据处理,能够避免在处理目标地图数据的过程中多次遍历多个待执行算子,从而提高待执行算子确定的效率;进而在基于有向无环图合理地确定了多个算子的执行顺序的基础上,能够提高对目标地图数据处理的准确性。In the embodiment of the present invention, the corresponding multiple operators to be executed are determined based on the target map data, and the target directed acyclic graph corresponding to the multiple operators to be executed is constructed to determine the corresponding In-degree information; further, based on the in-degree information of each node in the target DAG, the execution sequence of multiple operators to be executed can be obtained, and the target map data is processed according to the execution sequence of multiple operators to be executed Data processing can avoid traversing multiple operators to be executed multiple times in the process of processing target map data, thereby improving the efficiency of operator determination to be executed; Based on the execution order, the accuracy of processing the target map data can be improved.

图2示出本发明实施例提供的算子确定对应的流程示意图,如图2所示,所述基于所述目标地图数据确定多个待执行算子,包括:Fig. 2 shows a schematic flow diagram corresponding to operator determination provided by an embodiment of the present invention. As shown in Fig. 2, the determination of multiple operators to be executed based on the target map data includes:

步骤S201:对所述目标地图数据进行数据格式检测,得到格式检测结果;Step S201: Perform data format detection on the target map data to obtain a format detection result;

在本发明实施例中,数据处理工具箱中包括数据源算子集、数据处理算子集以及数据输出算子集,数据输入算子集、数据处理算子集、数据输出算子集都分别对应一种算子类型,且每一种算子类型中分别包括多种算子。因此,待执行算子的确定从数据输出开始,到数据输出结束。In the embodiment of the present invention, the data processing toolbox includes a data source operator set, a data processing operator set, and a data output operator set. The data input operator set, the data processing operator set, and the data output operator set are respectively Corresponds to an operator type, and each operator type includes multiple operators. Therefore, the determination of the operator to be executed starts from data output and ends with data output.

具体的,获取到目标地图数据后,首先对目标地图数据的数据格式进行数据格式检测,以确定目标地图数据的数据格式是否适配数据源算子集提供的数据格式。Specifically, after the target map data is acquired, the data format detection is first performed on the data format of the target map data to determine whether the data format of the target map data is compatible with the data format provided by the data source operator set.

步骤S202:在所述格式检测结果指示,所述目标地图数据的数据格式与预设数据格式不一致的情况下,确定与所述目标地图数据的数据格式对应的数据转换算子;Step S202: If the format detection result indicates that the data format of the target map data is inconsistent with the preset data format, determine a data conversion operator corresponding to the data format of the target map data;

在本发明实施例中,基于格式检测结果确定目标地图数据是否需要格式转换,若目标地图数据的数据格式与预设数据格式不一致,确定能够对目标地图数据的数据格式进行转换的数据转换算子;若目标地图数据的数据格式与预设数据格式一致,无需从数据源算子集中确定算子。In the embodiment of the present invention, it is determined whether the target map data needs format conversion based on the format detection result, and if the data format of the target map data is inconsistent with the preset data format, a data conversion operator capable of converting the data format of the target map data is determined ; If the data format of the target map data is consistent with the preset data format, there is no need to determine the operator from the data source operator set.

在另一个具体的实施例中,目标地图数据的数据格式可以直接转换成数据处理工具箱适配的格式。即对于任意格式的目标地图数据,基于数据处理工具箱中的数据源算子集,将目标地图数据的数据格式转换成geojson格式。In another specific embodiment, the data format of the target map data can be directly converted into a format compatible with the data processing toolbox. That is, for target map data in any format, based on the data source operator set in the data processing toolbox, convert the data format of the target map data into geojson format.

在另一个具体的实施例中,若数据源算子集中不存在与目标地图数据的数据格式对应的数据转换算子,根据目标地图数据的数据格式,可以开发对应数据格式的数据转换算子,并保存至数据源算子集。In another specific embodiment, if there is no data conversion operator corresponding to the data format of the target map data in the data source operator set, a data conversion operator corresponding to the data format can be developed according to the data format of the target map data, And save it to the data source operator set.

步骤S203:对所述目标地图数据进行数据处理分析,得到数据处理分析结果;Step S203: Perform data processing and analysis on the target map data to obtain a data processing and analysis result;

在本发明实施例中,通过对目标地图数据进行分析,得到数据处理分析结果,以确定目标地图数据需要进行的数据处理操作。In the embodiment of the present invention, the data processing and analysis results are obtained by analyzing the target map data, so as to determine the data processing operations required for the target map data.

步骤S204:基于所述数据处理分析结果,确定与所述目标地图数据对应的数据处理算子;Step S204: Based on the data processing and analysis results, determine a data processing operator corresponding to the target map data;

在本发明实施例中,根据数据处理分析结果,在数据处理算子集中确定与目标地图数据需要进行的数据处理操作对应的待执行算子。根据不同的目标地图数据,从数据处理算子集确定的待执行算子可以包括一个或多个。In the embodiment of the present invention, according to the data processing analysis result, the operator to be executed corresponding to the data processing operation required for the target map data is determined in the data processing operator set. According to different target map data, the operators to be executed determined from the data processing operator set may include one or more.

步骤S205:基于所述数据转换算子的数据格式,确定与所述数据转换算子的数据格式对应的数据输出算子;Step S205: Based on the data format of the data conversion operator, determine a data output operator corresponding to the data format of the data conversion operator;

在本发明实施例中,使用OGC(Open Geospatial Consortium,开放地理空间信息联盟)标准规定的数据格式,作为数据处理工具箱中统一的矢量要素数据传输格式,以屏蔽各算子连接时的差异。因此,根据目标地图数据的实际应用,输出处理结果时需要对数据进行数据格式转换,数据输出格式可以与数据转换算子对应的数据格式一致,即数据输出算子对应的数据格式与数据转换算子对应的数据格式一致。In the embodiment of the present invention, the data format stipulated by the OGC (Open Geospatial Consortium, Open Geospatial Information Consortium) standard is used as the unified vector element data transmission format in the data processing toolbox, so as to shield the differences when the operators are connected. Therefore, according to the actual application of the target map data, it is necessary to convert the data format when outputting the processing results. The corresponding data format of the child is the same.

在另一个实施例中,数据输出格式也可以根据存放输出数据的存储层对应的数据格式确定,即数据输出算子对应的数据格式与存储层对应的数据格式一致。In another embodiment, the data output format may also be determined according to the data format corresponding to the storage layer storing the output data, that is, the data format corresponding to the data output operator is consistent with the data format corresponding to the storage layer.

步骤S206:基于所述数据转换算子、所述数据处理算子,以及所述数据输出算子,确定所述多个待执行算子。Step S206: Based on the data conversion operator, the data processing operator, and the data output operator, determine the plurality of operators to be executed.

在本发明实施例中,根据目标地图数据确定的数据转换算子、数据处理算子以及数据输出算子,即多个待执行算子。In the embodiment of the present invention, a data conversion operator, a data processing operator, and a data output operator determined according to the target map data, that is, a plurality of operators to be executed.

在本发明实施例中,通过统一目标地图数据在数据处理工具箱中的数据格式,能够屏蔽各算子连接时的差异;通过数据格式转换,能够兼容不同数据格式的目标地图数据,从而提高了数据处理工具箱应用的广泛性;根据目标地图数据确定对应的多个待执行算子,能够提高对目标地图数据处理的精确性。In the embodiment of the present invention, by unifying the data format of the target map data in the data processing toolbox, the difference when each operator is connected can be shielded; through the data format conversion, it can be compatible with target map data in different data formats, thereby improving The data processing toolbox is widely used; determining the corresponding multiple operators to be executed according to the target map data can improve the accuracy of the target map data processing.

图3示出本发明实施例提供的节点依赖关系确定对应的流程示意图,如图3所示,所述基于所述多个待执行算子的算子依赖关系,对所述多个待执行算子进行有向无环图构建,得到与所述多个待执行算子对应的目标有向无环图之前,所述方法还包括:Fig. 3 shows a schematic flow diagram corresponding to the node dependency determination provided by the embodiment of the present invention. As shown in Fig. 3 , based on the operator dependencies of the multiple operators to be executed, the Before constructing a directed acyclic graph and obtaining the target directed acyclic graph corresponding to the plurality of operators to be executed, the method also includes:

步骤S301:获取所述多个待执行算子各自对应的算子类型参数;Step S301: Obtain operator type parameters corresponding to each of the plurality of operators to be executed;

在本发明实施例中,使用图编辑引擎对多个待执行算子进行有向无环图的构建,在构建目标有向无环图之前,需要确定目标有向无环图中的各个节点。In the embodiment of the present invention, a graph editing engine is used to construct a directed acyclic graph for multiple operators to be executed. Before constructing a target directed acyclic graph, each node in the target directed acyclic graph needs to be determined.

具体的,算子类型参数包括待执行算子的名称以及待执行算子的类型;例如算子m用于对目标地图数据执行多趟拟合操作,算子m对应的算子类型参数为(数据处理,多趟拟合);进一步地,可以设置标识去表示待执行算子的名称以及待执行算子的类型,例如01代表数据处理,fitting代表多趟拟合,则算子m对应的算子类型参数为(01,fitting)。Specifically, the operator type parameter includes the name of the operator to be executed and the type of the operator to be executed; for example, operator m is used to perform multiple fitting operations on the target map data, and the operator type parameter corresponding to operator m is ( data processing, multi-pass fitting); further, you can set the logo to indicate the name of the operator to be executed and the type of the operator to be executed, for example, 01 represents data processing, and fitting represents multi-pass fitting, then the operator m corresponds to The operator type parameter is (01, fitting).

在本发明实施例中,目标有向无环图每一个节点对应一个待执行算子,根据待执行算子的个数确定目标有向无环图中节点的个数;确定节点个数后,需要将待执行算子的算子类型参数与各个节点对应,以确定目标有向无环图中每一个节点代表的待执行算子。In the embodiment of the present invention, each node in the target directed acyclic graph corresponds to an operator to be executed, and the number of nodes in the target directed acyclic graph is determined according to the number of operators to be executed; after the number of nodes is determined, It is necessary to correspond the operator type parameter of the operator to be executed with each node, so as to determine the operator to be executed represented by each node in the target DAG.

步骤S302:基于所述多个待执行算子各自对应的算子类型参数,确定所述各个节点之间的依赖关系。Step S302: Based on the operator type parameters corresponding to the plurality of operators to be executed, determine the dependencies among the nodes.

在本发明实施例中,各个节点之间的依赖关系即算子依赖关系,即算子间执行的先后顺序。具体的,根据算子参数类型,判断算子执行的先后顺序,从而确定算子依赖关系。例如算子A用于处理数据,算子B用于获取数据,算子C用于输出数据,则算子A、算子B、算子C之间的执行顺序为算子B-算子A-算子C。In the embodiment of the present invention, the dependency relationship among the nodes is the operator dependency relationship, that is, the order in which operators are executed. Specifically, according to the type of operator parameters, the sequence of operator execution is judged, so as to determine the operator dependency. For example, operator A is used to process data, operator B is used to obtain data, and operator C is used to output data, then the execution sequence among operator A, operator B, and operator C is operator B-operator A -Operator C.

在另一个具体实施例中,算子A1为数据处理算子1,算子A2为数据处理算子2,算子B1为数据转换算子,算子C1为数据输出算子,算子A1、算子A2、算子B1、算子C1之间的执行顺序可以是算子B1-算子A1-算子A2-算子C1,也可以是算子B1-算子A2-算子A1-算子C1,具体适用哪一种算子依赖关系,需要根据具体的目标地图数据确定,即根据具体的目标地图数据,结合有向无环图的构建要求确定对应的算子依赖关系。In another specific embodiment, operator A1 is a data processing operator 1, operator A2 is a data processing operator 2, operator B1 is a data conversion operator, operator C1 is a data output operator, and operators A1, The execution sequence among operator A2, operator B1, and operator C1 can be operator B1-operator A1-operator A2-operator C1, or operator B1-operator A2-operator A1-operator Sub-C1, which operator dependency relationship is applicable needs to be determined according to the specific target map data, that is, according to the specific target map data and combined with the construction requirements of the directed acyclic graph to determine the corresponding operator dependency relationship.

在另一个具体的实施例中,算子依赖关系可以根据具体的目标地图数据包含的数据信息,由用户预先设定。In another specific embodiment, the operator dependency can be preset by the user according to the data information contained in the specific target map data.

在本发明实施例中,基于不同的目标地图数据,生成对应算子依赖关系,能够提高算子间连接的多样性。In the embodiment of the present invention, based on different target map data, corresponding operator dependencies are generated, which can improve the diversity of connections between operators.

图4示出本发明实施例提供的目标有向无环图构建对应的流程示意图,如图4所示,所述基于所述多个待执行算子的算子依赖关系,对所述多个待执行算子进行有向无环图构建,得到与所述多个待执行算子对应的目标有向无环图,包括:Fig. 4 shows a schematic flow diagram corresponding to the construction of the target directed acyclic graph provided by the embodiment of the present invention. As shown in Fig. The operator to be executed carries out the directed acyclic graph construction, and the target directed acyclic graph corresponding to the plurality of operators to be executed is obtained, including:

步骤S401:基于所述各个节点之间的依赖关系,对任意两个节点进行节点校验,得到节点校验结果;所述节点校验结果包括依赖关系校验结果和图形校验结果;Step S401: Based on the dependency relationship between the nodes, perform node verification on any two nodes to obtain a node verification result; the node verification result includes a dependency verification result and a graph verification result;

在本发明实施例中,在使用图编辑引擎构建目标有向无环图的过程中,节点之间是随机连接的,除了需要考虑算子依赖关系外,还需要考虑多个待执行算子关联后是否能够得到有向无环图。节点连接之后,需要对任意两个节点进行节点校验,以判断节点连接是否正确合理。In the embodiment of the present invention, in the process of using the graph editing engine to construct the target directed acyclic graph, the nodes are randomly connected. In addition to the operator dependencies, multiple operator associations to be executed also need to be considered Whether it is possible to obtain a directed acyclic graph. After the nodes are connected, node verification needs to be performed on any two nodes to determine whether the node connection is correct and reasonable.

进一步地,节点校验包括依赖关系校验和图形校验,节点校验结果包括依赖关系校验结果和图形校验结果。依赖关系校验指基于各个节点之间的依赖关系,对每两个节点之间的连接关系进行校验,生成依赖关系校验结果;图形校验指在两个节点之间的连接关系符合各个节点之间的依赖关系的基础上,对初始无环图是否符合有向无环图的要求进行校验,生成图形校验结果。Further, node verification includes dependency verification and graph verification, and node verification results include dependency verification results and graph verification results. Dependency verification refers to verifying the connection relationship between each two nodes based on the dependency relationship between each node, and generates a dependency verification result; graphic verification refers to the connection relationship between two nodes conforming to each On the basis of the dependencies between nodes, check whether the initial acyclic graph meets the requirements of the directed acyclic graph, and generate a graph verification result.

步骤S402:基于所述节点校验结果对所述任意两个节点之间的连接关系进行校验,得到所述目标有向无环图。Step S402: Verify the connection relationship between the arbitrary two nodes based on the node verification result, and obtain the target DAG.

在本发明实施例中,根据节点校验结果,若依赖关系校验结果指示两个节点之间的连接关系符合各个节点之间的依赖关系,进行图形校验,以判断节点间连接是否符合有向无环图;若图形校验结果指示两个节点之间的连接关系符合有向无环图,则节点连接成功。In the embodiment of the present invention, according to the node verification result, if the dependency verification result indicates that the connection relationship between two nodes conforms to the dependency relationship between each node, a graph verification is performed to determine whether the connection between nodes conforms to the Directed acyclic graph; if the graph verification result indicates that the connection relationship between the two nodes conforms to the directed acyclic graph, the node connection is successful.

在另一个实施例中,若依赖关系校验结果指示两个节点间的连接关系不符合各个节点之间的依赖关系,重新选取节点进行连接,并对其进行节点校验。In another embodiment, if the result of the dependency verification indicates that the connection relationship between the two nodes does not conform to the dependency relationship between the nodes, a new node is selected for connection, and node verification is performed on it.

在另一个实施例中,若依赖关系校验结果指示两个节点之间的连接关系符合各个节点之间的依赖关系,但其图形校验结果不符合有向无环图的要求,根据具体的目标地图数据对其连接关系进行修正,再次进行节点校验。In another embodiment, if the result of dependency checking indicates that the connection relationship between two nodes conforms to the dependency between each node, but the graph checking result does not meet the requirements of directed acyclic graph, according to the specific The connection relationship of the target map data is corrected, and the node verification is performed again.

在一个具体的实施例中,具体的,如根据获取到的目标地图数据确定算子1、算子2、算子3及算子4为多个待执行算子,且算子依赖关系指示:算子1可以连接算子2,算子2可以连接算子3,算子3可以连接算子2及算子4;根据算子依赖关系生成的有向无环图中,算子2以及算子3形成了闭环,不符合有向无环图的要求,在进行有向无环图构建时,算子2可以连接算子3,算子3不可以连接算子2。In a specific embodiment, specifically, according to the acquired target map data, it is determined that Operator 1, Operator 2, Operator 3, and Operator 4 are multiple operators to be executed, and the operator dependency indicates: Operator 1 can be connected to operator 2, operator 2 can be connected to operator 3, and operator 3 can be connected to operator 2 and operator 4; in the directed acyclic graph generated according to operator dependencies, operator 2 and operator Sub3 forms a closed loop, which does not meet the requirements of a directed acyclic graph. When constructing a directed acyclic graph, operator 2 can be connected to operator 3, but operator 3 cannot be connected to operator 2.

在本发明实施例中,通过节点校验,能够保证目标有向无环图构建的准确性,从而能够提高:基于有向无环图确定算子执行顺序,以实现对目标地图数据进行处理这一过程的效率。In the embodiment of the present invention, the accuracy of the construction of the target directed acyclic graph can be ensured through node verification, thereby improving: determining the execution order of operators based on the directed acyclic graph, so as to realize the process of processing the target map data. the efficiency of a process.

图5为本发明实施例提供的信息填充对应的流程示意图,如图5所示,所述基于所述多个待执行算子的算子依赖关系,对所述多个待执行算子进行有向无环图构建,得到与所述多个待执行算子对应的目标有向无环图之后,所述方法包括:Fig. 5 is a schematic flow diagram corresponding to information filling provided by an embodiment of the present invention. As shown in Fig. 5, the multiple operators to be executed are effectively executed based on the operator dependencies of the plurality of operators to be executed. After constructing a directed acyclic graph and obtaining the target directed acyclic graph corresponding to the plurality of operators to be executed, the method includes:

步骤S501:获取所述目标有向无环图中各个节点对应的数据操作信息;Step S501: Obtain data operation information corresponding to each node in the target DAG;

在本发明实施例中,数据操作信息包括待执行算子的实体属性,实体属性基于待执行算子对应的数据处理操作的参数确定。例如,待执行算子对应的数据处理操作为距离抽稀,该待执行算子对应的节点的实体属性包括设定的长度等,例如设定按照一米的长度执行距离抽稀,即代表距离抽稀的节点对应的参数为1。In the embodiment of the present invention, the data operation information includes the entity attribute of the operator to be executed, and the entity attribute is determined based on the parameters of the data processing operation corresponding to the operator to be executed. For example, the data processing operation corresponding to the operator to be executed is distance thinning, and the entity attributes of the node corresponding to the operator to be executed include the set length, etc. The parameter corresponding to the sparse node is 1.

步骤S502:基于所述数据操作信息,对所述目标有向无环图中各个节点执行信息填充操作,得到更新后的目标有向无环图。Step S502: Based on the data operation information, perform an information filling operation on each node in the target DAG to obtain an updated target DAG.

在本发明实施例中,目标有向无环图中,每一个节点都包括一个待执行算子的算子类型参数,但并未包括待执行算子的实体属性,因此需要将待执行算子对应的实体属性填充至节点中。In the embodiment of the present invention, in the target directed acyclic graph, each node includes an operator type parameter of the operator to be executed, but does not include the entity attribute of the operator to be executed, so the operator to be executed needs to be The corresponding entity attributes are populated into the nodes.

在本发明实施例中,将数据操作信息填充至目标有向无环图,以得到更新后的目标有向无环图,能够直接根据节点中填充的数据操作信息,执行待执行算子对应的数据处理操作,从而提高数据处理的便利性。In the embodiment of the present invention, the data operation information is filled into the target DAG to obtain the updated target DAG, and the operation corresponding to the operator to be executed can be executed directly according to the data operation information filled in the node. Data processing operations, thereby improving the convenience of data processing.

图6示出本发明实施例提供的执行顺序确定对应的流程示意图,如图6所示,所述基于所述目标有向无环图中各个节点的入度信息,确定所述多个待执行算子各自对应的执行顺序,包括:Fig. 6 shows a schematic flow diagram corresponding to the determination of the execution order provided by the embodiment of the present invention. As shown in Fig. 6, the determination of the multiple to-be-executed The corresponding execution order of operators, including:

步骤S601:基于所述更新后的目标有向无环图确定当前节点;所述当前节点为所述更新后的目标有向无环图中节点入度值为0的节点;Step S601: Determine a current node based on the updated target DAG; the current node is a node with a node in-degree value of 0 in the updated target DAG;

在本发明实施例中,根据节点的入度值确定节点加入节点队列的顺序;入度值为0的点,即一个有向无环图中的起点,为整个过程中的第一步操作。因此,在本发明实施例中,在得到更新后的目标有向无环图后,需要首先将更新后的目标有向无环图中入度值为0的点确定为当前节点,以将当前节点加入节点队列,作为处理目标地图数据的起点。In the embodiment of the present invention, the order in which nodes join the node queue is determined according to the in-degree value of the nodes; the point with an in-degree value of 0, that is, the starting point of a directed acyclic graph, is the first step in the whole process. Therefore, in the embodiment of the present invention, after obtaining the updated target DAG, it is necessary to first determine the point whose in-degree value is 0 in the updated target DAG as the current node, so that the current node The node joins the node queue as the starting point for processing the target map data.

步骤S602:将所述当前节点加入节点队列;Step S602: adding the current node into the node queue;

在本发明实施例中,每一个节点入度值为0的当前节点都会加入到节点队列,当同时存在多个入度值为0的节点时,多个入度值为0的节点随机添加至节点队列。In the embodiment of the present invention, each current node with an in-degree value of 0 will be added to the node queue. When there are multiple nodes with an in-degree value of 0 at the same time, multiple nodes with an in-degree value of 0 will be randomly added to node queue.

步骤S603:从当前有向无环图中删除所述当前节点,以及所述当前节点的每一条出度边,得到更新后的有向无环图;Step S603: deleting the current node and each outgoing edge of the current node from the current DAG to obtain an updated DAG;

步骤S604:确定所述更新后的有向无环图中,所述节点入度值为0的节点为所述当前节点;Step S604: determining in the updated DAG that the node whose in-degree value is 0 is the current node;

在本发明实施例中,根据更新后的有向无环图,重新计算图中每一个节点的入度值,将入度值为0的节点加入节点队列。In the embodiment of the present invention, according to the updated DAG, the in-degree value of each node in the graph is recalculated, and the node with an in-degree value of 0 is added to the node queue.

步骤S605:判断所述当前节点是否为所述更新后的有向无环图中,最后一个节点入度值为0且出度值也为0的节点;Step S605: judging whether the current node is a node in the updated DAG whose in-degree value is 0 and out-degree value is also 0;

步骤S606:若是,将所述当前节点加入所述节点队列,得到更新后的节点队列;确定所述更新后的节点队列为所述多个待执行算子各自对应的执行顺序;Step S606: If yes, add the current node to the node queue to obtain an updated node queue; determine that the updated node queue is the corresponding execution order of the plurality of operators to be executed;

步骤S607:若否,重复执行步骤S602-步骤S605。Step S607: If not, repeat step S602-step S605.

在本发明实施例中,需要重复执行上述步骤S602-步骤S605至更新后的有向无环图中,最后一个节点入度值为0且出度值也为0的节点,以生成:包括更新后的有向无环图中各个节点的节点队列,从而根据节点在节点队列中先进先出的顺序确定多个待执行算子各自对应的执行顺序。因此需要对所述当前节点是否为所述更新后的有向无环图中,最后一个节点入度值为0且出度值也为0的节点进行判断,以确定下一执行步骤。In the embodiment of the present invention, it is necessary to repeatedly execute the above step S602-step S605 to the updated directed acyclic graph, the last node whose in-degree value is 0 and the out-degree value is also 0, to generate: including update The node queue of each node in the subsequent directed acyclic graph, so as to determine the corresponding execution order of multiple operators to be executed according to the first-in-first-out order of the nodes in the node queue. Therefore, it is necessary to judge whether the current node is the last node in the updated DAG whose in-degree value is 0 and whose out-degree value is also 0, so as to determine the next execution step.

在本发明实施例中,在更新后的有向无环图中,基于每一个节点的入度值确定每一个节点加入节点队列的顺序,根据各个节点加入队列时先进先出的顺序,确定多个待执行算子各自对应的执行顺序,根据不同的目标地图数据生成对应的执行顺序,从而提高待执行算子确定的效率,以及提高数据处理的灵活性。In the embodiment of the present invention, in the updated directed acyclic graph, the order in which each node joins the node queue is determined based on the in-degree value of each node, and the order in which each node joins the queue is determined according to the order in which each node joins the queue. Each operator to be executed corresponds to the execution sequence, and the corresponding execution sequence is generated according to different target map data, thereby improving the efficiency of determining the operator to be executed and improving the flexibility of data processing.

图7示出本发明实施例提供的目标地图数据处理对应的流程示意图,如图7所示,所述基于所述多个待执行算子各自对应的执行顺序,对所述目标地图数据进行处理,得到目标处理结果,包括:Fig. 7 shows a schematic flow chart corresponding to the processing of the target map data provided by the embodiment of the present invention. As shown in Fig. 7, the target map data is processed based on the respective execution sequences of the plurality of operators to be executed. , to get the target processing results, including:

步骤S701:基于所述多个待执行算子各自对应的执行顺序,对各个节点进行遍历;Step S701: Traverse each node based on the corresponding execution order of the plurality of operators to be executed;

在本发明实施例中,根据各个节点在节点队列中先进先出的顺序,遍历各个节点,以获取当前待执行算子。In the embodiment of the present invention, each node is traversed according to the first-in-first-out order of each node in the node queue, so as to obtain the currently to-be-executed operator.

步骤S702:基于当前遍历的节点,对所述目标地图数据执行与所述当前遍历的节点对应的数据处理操作,得到与所述当前遍历的节点对应的数据处理结果;Step S702: Based on the currently traversed node, perform a data processing operation corresponding to the currently traversed node on the target map data, and obtain a data processing result corresponding to the currently traversed node;

在本发明实施例中,根据获取到的当前待执行算子,将当前待执行算子反射解析,根据填充的数据操作信息对目标地图数据执行与当前待执行算子对应的数据处理操作,得到数据处理结果。In the embodiment of the present invention, according to the currently obtained operator to be executed, the current operator to be executed is reflected and analyzed, and the data processing operation corresponding to the current operator to be executed is performed on the target map data according to the filled data operation information, to obtain Data processing results.

步骤S703:基于与各个节点对应的数据处理结果,生成所述目标处理结果。Step S703: Generate the target processing result based on the data processing result corresponding to each node.

在本发明实施例中,每个待执行算子完成任务后,使用内存消息监听触发下一环节的待执行算子执行对应的数据处理操作,上阶段得到的数据处理结果作为下阶段输入,最终得到目标处理结果。In the embodiment of the present invention, after each operator to be executed completes the task, the memory message monitoring is used to trigger the operator to be executed in the next stage to perform the corresponding data processing operation, and the data processing result obtained in the previous stage is used as the input of the next stage, and finally Get the target processing result.

在本发明实施例中,根据多个待执行算子的执行顺序,对目标地图数据进行处理,得到目标处理结果,无需在执行每一个数据处理操作时,都遍历多个待执行算子,从而提高数据处理效率。In the embodiment of the present invention, the target map data is processed according to the execution order of multiple operators to be executed, and the target processing result is obtained. It is not necessary to traverse multiple operators to be executed when performing each data processing operation, thereby Improve data processing efficiency.

在一个具体的实施例中,数据处理工具箱如图8所示,数据工具箱中包括数据源算子集、数据处理算子集、以及数据输出算子集,每一个算子集包括多个对应类型的算子。获取到待处理地图数据后,从数据处理工具箱中确定需要使用的多个待执行算子,如需要对待处理地图数据执行去噪、坐标转换、抽稀采样、距离聚类、分段拟合直线以及数据输出操作时,根据多个待执行算子构建目标有向无环图,以确定多个待执行算子的执行顺序。对待处理地图数据进行数据处理,可以通过实时触发任务执行或者定时触发任务执行;实时触发使用Kafka(Apache Kafka,分布式发布订阅消息系统)监听处理任务主题,当接收到消息后,触发任务;定时任务触发采用定时器设置执行时间规则。In a specific embodiment, the data processing toolbox is shown in Figure 8, the data toolbox includes a data source operator set, a data processing operator set, and a data output operator set, and each operator set includes multiple The operator of the corresponding type. After obtaining the map data to be processed, determine the multiple operators to be used from the data processing toolbox, such as denoising, coordinate conversion, thinning sampling, distance clustering, and segmental fitting for the map data to be processed. During straight-line and data output operations, the target directed acyclic graph is constructed according to multiple operators to be executed to determine the execution sequence of the operators to be executed. Data processing of the map data to be processed can be triggered by real-time trigger task execution or scheduled task execution; real-time trigger uses Kafka (Apache Kafka, distributed publish and subscribe message system) to monitor and process task topics, and trigger tasks after receiving messages; Task triggering uses timers to set execution time rules.

图9为待处理地图数据进行单趟数据清洗,对应的多个待执行算子的执行顺序;如图9所示,多个待执行算子的执行顺序分别为:数据输入(PG格式)、坐标转换、距离聚类、抽稀采样、去噪、距离聚类、分段拟合直线以及数据输出(PG格式),基于执行顺序对待处理地图数据进行数据处理。Figure 9 shows the execution sequence of multiple operators to be executed corresponding to the single-pass data cleaning of the map data to be processed; as shown in Figure 9, the execution sequences of the multiple operators to be executed are: data input (PG format), Coordinate conversion, distance clustering, thinning sampling, denoising, distance clustering, piecewise fitting straight line, and data output (PG format), based on the order of execution, data processing is performed on the map data to be processed.

在另一个具体的实施例中,图10为待处理数据进行多趟组合融合,对应的多个待执行算子的执行顺序;如图10所示,数据输入(PG格式)后,对待处理地图数据进行距离聚类、拟合、聚合后的结果,与待处理数据R树索引后的数据执行交集提取后,对提取到的地图数据执行平滑曲线、拓扑校验以及数据输出(PG格式),基于执行顺序对待处理地图数据进行数据处理。In another specific embodiment, FIG. 10 shows the execution sequence of multiple operators to be executed corresponding to the combination and fusion of the data to be processed; as shown in FIG. 10 , after the data input (PG format), the map to be processed The results of distance clustering, fitting, and aggregation of the data, and the intersection extraction with the data after the R-tree index of the data to be processed are performed, and smooth curves, topology verification, and data output (PG format) are performed on the extracted map data. Data processing is performed on the map data to be processed based on the execution order.

图11为本发明一种实施例提供的地图数据对应的可视化图像;图12为本发明一种实施例提供的去噪后的地图数据对应的可视化图像;图13为本发明一种实施例提供的拟合后的地图数据对应的可视化图像;图14为本发明一种实施例提供的融合后地图数据对应的可视化图像;图15为本发明一种实施例提供的数据处理结果对应的可视化图像。Fig. 11 is a visualized image corresponding to map data provided by an embodiment of the present invention; Fig. 12 is a visualized image corresponding to denoised map data provided by an embodiment of the present invention; Fig. 13 is provided by an embodiment of the present invention Figure 14 is a visualized image corresponding to the fused map data provided by an embodiment of the present invention; Figure 15 is a visualized image corresponding to the data processing result provided by an embodiment of the present invention .

在另一个具体的实施例中,如图11所示,将采集到的地图数据输入数据处理工具箱后,对待处理数据进行去噪处理,如图12所示,得到去噪后的地图数据;对去噪后的地图数据进行数据拟合处理,如图13所示,得到拟合后的地图数据;对拟合后的地图数据进行融合处理,如图14所示,得到融合后的地图数据,融合后的数据为最终数据处理结果;将最终数据处理结果存放至成果数据库表中,输出最终数据处理结果,如图15所示,得到与地图数据对应的高速底图。In another specific embodiment, as shown in Figure 11, after the collected map data is input into the data processing toolbox, the data to be processed is denoised, as shown in Figure 12, the denoised map data is obtained; Perform data fitting processing on the denoised map data, as shown in Figure 13, to obtain the fitted map data; perform fusion processing on the fitted map data, as shown in Figure 14, to obtain the fused map data , the fused data is the final data processing result; the final data processing result is stored in the result database table, and the final data processing result is output, as shown in Figure 15, to obtain a high-speed base map corresponding to the map data.

本发明实施例还提供了一种数据处理装置,如图16所示,所述装置包括:The embodiment of the present invention also provides a data processing device, as shown in Figure 16, the device includes:

数据获取模块1610,用于获取目标地图数据;A data acquisition module 1610, configured to acquire target map data;

算子确定模块1620,用于基于所述目标地图数据确定多个待执行算子;所述待执行算子指示与所述目标地图数据对应的多种数据处理操作;An operator determination module 1620, configured to determine a plurality of operators to be executed based on the target map data; the operators to be executed indicate various data processing operations corresponding to the target map data;

图形构建模块1630,用于基于所述多个待执行算子的算子依赖关系,对所述多个待执行算子进行有向无环图构建,得到与所述多个待执行算子对应的目标有向无环图;每个待执行算子对应所述目标有向无环图中的一个节点;The graph construction module 1630 is configured to construct a directed acyclic graph for the multiple operators to be executed based on the operator dependencies of the multiple operators to be executed, and obtain the graph corresponding to the multiple operators to be executed. The target DAG; each operator to be executed corresponds to a node in the target DAG;

顺序确定模块1640,用于基于所述目标有向无环图中各个节点的入度信息,确定所述多个待执行算子各自对应的执行顺序;A sequence determination module 1640, configured to determine the execution sequence corresponding to each of the plurality of operators to be executed based on the in-degree information of each node in the target DAG;

数据处理模块1650,用于基于所述多个待执行算子各自对应的执行顺序,对所述目标地图数据进行处理,得到目标处理结果。The data processing module 1650 is configured to process the target map data based on the respective execution sequences of the plurality of operators to be executed to obtain a target processing result.

在另一些实施例中,所述数据获取模块1610还包括:In other embodiments, the data acquisition module 1610 also includes:

格式检测模块,用于对所述目标地图数据进行数据格式检测,得到格式检测结果;A format detection module, configured to perform data format detection on the target map data to obtain a format detection result;

第一算子确定模块,用于在所述格式检测结果指示,所述目标地图数据的数据格式与预设数据格式不一致的情况下,确定与所述目标地图数据的数据格式对应的数据转换算子;The first operator determination module is configured to determine a data conversion operator corresponding to the data format of the target map data when the format detection result indicates that the data format of the target map data is inconsistent with the preset data format. son;

数据分析模块,用于对所述目标地图数据进行数据处理分析,得到数据处理分析结果;A data analysis module, configured to perform data processing and analysis on the target map data to obtain data processing and analysis results;

第二算子确定模块,用于基于所述数据处理分析结果,确定与所述目标地图数据对应的数据处理算子;A second operator determination module, configured to determine a data processing operator corresponding to the target map data based on the data processing analysis result;

第三算子确定模块,用于基于所述数据转换算子的数据格式,确定与所述数据转换算子的数据格式对应的数据输出算子;A third operator determination module, configured to determine a data output operator corresponding to the data format of the data conversion operator based on the data format of the data conversion operator;

总算子确定模块,用于基于所述数据转换算子、所述数据处理算子,以及所述数据输出算子,确定所述多个待执行算子。A total operator determination module, configured to determine the plurality of operators to be executed based on the data conversion operator, the data processing operator, and the data output operator.

在另一些实施例中,所述装置还包括:In other embodiments, the device also includes:

参数确定模块,用于获取所述多个待执行算子各自对应的算子类型参数;A parameter determination module, configured to obtain operator type parameters corresponding to the plurality of operators to be executed;

依赖关系确定模块,用于基于所述多个待执行算子各自对应的算子类型参数,确定所述各个节点之间的依赖关系。The dependency determination module is configured to determine the dependency between the nodes based on the operator type parameters corresponding to the plurality of operators to be executed.

在另一些实施例中,所述图形构建模块1630还包括:In some other embodiments, the graph construction module 1630 also includes:

节点校验模块,用于基于所述各个节点之间的依赖关系,对任意两个节点进行节点校验,得到节点校验结果;所述节点校验结果包括依赖关系校验结果和图形校验结果;A node verification module, configured to perform node verification on any two nodes based on the dependencies between the nodes, to obtain a node verification result; the node verification result includes a dependency verification result and a graphic verification result;

图形生成模块,用于基于所述节点校验结果对所述任意两个节点之间的连接关系进行校验,得到所述目标有向无环图。A graph generating module, configured to verify the connection relationship between any two nodes based on the node verification result, and obtain the target directed acyclic graph.

在另一些实施例中,所述装置还包括:In other embodiments, the device also includes:

信息获取模块,用于获取所述目标有向无环图中各个节点对应的数据操作信息;An information acquisition module, configured to acquire data operation information corresponding to each node in the target DAG;

信息填充模块,用于基于所述数据操作信息,对所述目标有向无环图中各个节点执行信息填充操作,得到更新后的目标有向无环图。An information filling module, configured to perform an information filling operation on each node in the target DAG based on the data operation information, to obtain an updated target DAG.

在另一些实施例中,所述顺序确定模块1640还包括:In some other embodiments, the order determining module 1640 also includes:

第一当前节点确定模块:用于基于所述更新后的目标有向无环图确定当前节点;所述当前节点为所述更新后的目标有向无环图中节点入度值为0的节点;The first current node determination module: used to determine the current node based on the updated target DAG; the current node is a node with a node in-degree value of 0 in the updated target DAG ;

节点队列确定模块,用于将所述当前节点加入节点队列;A node queue determination module, configured to add the current node to the node queue;

图形更新模块,用于从当前有向无环图中删除所述当前节点,以及所述当前节点的每一条出度边,得到更新后的有向无环图;A graph update module, configured to delete the current node and each outgoing edge of the current node from the current DAG to obtain an updated DAG;

第二当前节点确定模块:用于确定所述更新后的有向无环图中,所述节点入度值为0的节点为所述当前节点;The second current node determination module: used to determine the updated directed acyclic graph, the node whose in-degree value is 0 is the current node;

重复执行模块,用于重复执行:将所述当前节点加入所述节点队列,至确定所述更新后的有向无环图中,节点入度值为0的节点为当前节点,直至所述当前节点为所述更新后的有向无环图中,最后一个节点入度值为0且出度值也为0的节点;The repeated execution module is used for repeated execution: add the current node to the node queue until it is determined that the node with a node in-degree value of 0 is the current node in the updated directed acyclic graph, until the current node The node is the node in the updated directed acyclic graph, the last node whose in-degree value is 0 and whose out-degree value is also 0;

执行顺序生成模块,用于基于所述节点队列,确定所述多个待执行算子各自对应的执行顺序。An execution order generating module, configured to determine the execution order corresponding to each of the plurality of operators to be executed based on the node queue.

在另一些实施例中,所述数据处理模块1160还包括:In some other embodiments, the data processing module 1160 also includes:

节点遍历模块,用于基于所述多个待执行算子各自对应的执行顺序,对各个节点进行遍历;A node traversal module, configured to traverse each node based on the corresponding execution order of the plurality of operators to be executed;

数据处理执行模块,用于基于当前遍历的节点,对所述目标地图数据执行与所述当前遍历的节点对应的数据处理操作,得到与所述当前遍历的节点对应的数据处理结果;A data processing execution module, configured to perform a data processing operation corresponding to the currently traversed node on the target map data based on the currently traversed node, and obtain a data processing result corresponding to the currently traversed node;

目标结果生成模块,用于基于与各个节点对应的数据处理结果,生成所述目标处理结果。A target result generating module, configured to generate the target processing result based on the data processing results corresponding to each node.

所述的装置实施例中的装置与方法实施例基于同样的发明构思,用于实现上述数据处理方法。The device and method embodiments in the device embodiments described above are based on the same inventive concept and are used to implement the above data processing method.

本发明实施例还提供了一种数据处理设备,所述设备包括:处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如方法实施例中的数据处理方法。An embodiment of the present invention also provides a data processing device, the device includes: a processor and a memory, the memory stores at least one instruction, at least one program, a code set or an instruction set, and the at least one instruction, the The at least one program, the code set or the instruction set is loaded and executed by the processor to implement the data processing method in the method embodiment.

本发明的实施例还提供了一种存储介质,存储介质可设置于服务器之中以保存用于实现方法实施例中一种数据管理的方法的至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如方法实施例中任一所述的数据处理方法。An embodiment of the present invention also provides a storage medium, which can be set in a server to store at least one instruction, at least one program, code set or instruction set for implementing a data management method in the method embodiment , the at least one instruction, the at least one program, the code set or the instruction set are loaded and executed by the processor to implement the data processing method as described in any one of the method embodiments.

可选地,在本发明的实施例中,上述存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,在本发明的实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。Optionally, in the embodiment of the present invention, the above-mentioned storage medium may be located in at least one network server among multiple network servers of the computer network. Optionally, in an embodiment of the present invention, the above-mentioned storage medium may include but not limited to: U disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random AccessMemory), mobile hard disk, Various media that can store program codes, such as magnetic disks or optical disks.

由上述本发明提供的实施例可见,本发明基于目标地图数据确定对应的多个待执行算子,并构建与多个待执行算子对应的目标有向无环图,以确定目标有向无环图中各个节点对应的入度信息;进一步地,基于目标有向无环图中各个节点的入度信息,得到多个待执行算子的执行顺序,根据多个待执行算子的执行顺序对目标地图数据进行数据处理,能够避免在处理目标地图数据的过程中多次遍历多个待执行算子,从而提高待执行算子确定的效率;进而在基于有向无环图合理地确定了多个算子的执行顺序的基础上,能够提高对目标地图数据处理的准确性。It can be seen from the embodiments provided by the present invention above that the present invention determines the corresponding multiple operators to be executed based on the target map data, and constructs a target directed acyclic graph corresponding to the multiple operators to be executed, so as to determine the target directed acyclic graph. The in-degree information corresponding to each node in the ring graph; further, based on the in-degree information of each node in the target directed acyclic graph, the execution sequence of multiple operators to be executed is obtained, and according to the execution sequence of multiple operators to be executed Data processing of the target map data can avoid traversing multiple operators to be executed multiple times in the process of processing the target map data, thereby improving the efficiency of determining the operator to be executed; Based on the execution sequence of multiple operators, the accuracy of processing target map data can be improved.

需要说明的是:以上已经描述了本公开的各实施例,上述说明是示例性的,并非是穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对应本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其他普通技术人员能理解本文披露的各实施例。It should be noted that: the various embodiments of the present disclosure have been described above, and the above description is illustrative rather than exhaustive, and is not limited to the disclosed embodiments. Many modifications and alterations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is chosen to best explain the principle of each embodiment, practical application or technical improvement in the market, or to enable other ordinary skilled in the art to understand each embodiment disclosed herein.

Claims (10)

1.一种数据处理方法,其特征在于,所述方法包括:1. A data processing method, characterized in that the method comprises: 获取目标地图数据;Obtain target map data; 基于所述目标地图数据确定多个待执行算子;所述待执行算子指示与所述目标地图数据对应的多种数据处理操作;determining a plurality of operators to be executed based on the target map data; the operators to be executed indicate various data processing operations corresponding to the target map data; 基于所述多个待执行算子的算子依赖关系,对所述多个待执行算子进行有向无环图构建,得到与所述多个待执行算子对应的目标有向无环图;每个待执行算子对应所述目标有向无环图中的一个节点;Based on the operator dependencies of the plurality of operators to be executed, constructing a directed acyclic graph of the plurality of operators to be executed to obtain a target directed acyclic graph corresponding to the plurality of operators to be executed ;Each operator to be executed corresponds to a node in the target DAG; 基于所述目标有向无环图中各个节点的入度信息,确定所述多个待执行算子各自对应的执行顺序;Based on the in-degree information of each node in the target DAG, determine the corresponding execution order of the plurality of operators to be executed; 基于所述多个待执行算子各自对应的执行顺序,对所述目标地图数据进行处理,得到目标处理结果。The target map data is processed based on the execution order corresponding to each of the plurality of operators to be executed to obtain a target processing result. 2.根据权利要求1所述的一种数据处理方法,其特征在于,所述基于所述目标地图数据确定多个待执行算子,包括:2. A data processing method according to claim 1, wherein said determining a plurality of operators to be executed based on said target map data comprises: 对所述目标地图数据进行数据格式检测,得到格式检测结果;Performing data format detection on the target map data to obtain a format detection result; 在所述格式检测结果指示,所述目标地图数据的数据格式与预设数据格式不一致的情况下,确定与所述目标地图数据的数据格式对应的数据转换算子;When the format detection result indicates that the data format of the target map data is inconsistent with the preset data format, determine a data conversion operator corresponding to the data format of the target map data; 对所述目标地图数据进行数据处理分析,得到数据处理分析结果;Performing data processing and analysis on the target map data to obtain a data processing and analysis result; 基于所述数据处理分析结果,确定与所述目标地图数据对应的数据处理算子;determining a data processing operator corresponding to the target map data based on the data processing analysis result; 基于所述数据转换算子的数据格式,确定与所述数据转换算子的数据格式对应的数据输出算子;determining a data output operator corresponding to the data format of the data conversion operator based on the data format of the data conversion operator; 基于所述数据转换算子、所述数据处理算子,以及所述数据输出算子,确定所述多个待执行算子。The plurality of operators to be executed are determined based on the data conversion operator, the data processing operator, and the data output operator. 3.根据权利要求1所述的一种数据处理方法,其特征在于,所述基于所述多个待执行算子的算子依赖关系,对所述多个待执行算子进行有向无环图构建,得到与所述多个待执行算子对应的目标有向无环图之前,所述方法还包括:3. A data processing method according to claim 1, characterized in that, based on the operator dependencies of the plurality of operators to be executed, performing directed acyclic processing on the plurality of operators to be executed Graph construction, before obtaining the target directed acyclic graph corresponding to the plurality of operators to be executed, the method also includes: 获取所述多个待执行算子各自对应的算子类型参数;Obtain operator type parameters corresponding to each of the plurality of operators to be executed; 基于所述多个待执行算子各自对应的算子类型参数,确定所述各个节点之间的依赖关系。Based on the operator type parameters corresponding to the plurality of operators to be executed, the dependencies among the nodes are determined. 4.根据权利要求3所述的一种数据处理方法,其特征在于,所述基于所述多个待执行算子的算子依赖关系,对所述多个待执行算子进行有向无环图构建,得到与所述多个待执行算子对应的目标有向无环图,包括:4. A data processing method according to claim 3, characterized in that, based on the operator dependencies of the plurality of operators to be executed, performing directed acyclic processing on the plurality of operators to be executed Graph construction, to obtain the target directed acyclic graph corresponding to the plurality of operators to be executed, including: 基于所述各个节点之间的依赖关系,对任意两个节点进行节点校验,得到节点校验结果;所述节点校验结果包括依赖关系校验结果和图形校验结果;Based on the dependency relationship between the nodes, node verification is performed on any two nodes to obtain a node verification result; the node verification result includes a dependency verification result and a graph verification result; 基于所述节点校验结果对所述任意两个节点之间的连接关系进行校验,得到所述目标有向无环图。Verifying the connection relationship between the arbitrary two nodes based on the node verification result to obtain the target directed acyclic graph. 5.根据权利要求1所述的一种数据处理方法,其特征在于,所述基于所述多个待执行算子的算子依赖关系,对所述多个待执行算子进行有向无环图构建,得到与所述多个待执行算子对应的目标有向无环图之后,所述方法包括:5. A data processing method according to claim 1, characterized in that, based on the operator dependencies of the plurality of operators to be executed, performing directed acyclic processing on the plurality of operators to be executed Graph construction, after obtaining the target directed acyclic graph corresponding to the plurality of operators to be executed, the method includes: 获取所述目标有向无环图中各个节点对应的数据操作信息;Obtaining data operation information corresponding to each node in the target DAG; 基于所述数据操作信息,对所述目标有向无环图中各个节点执行信息填充操作,得到更新后的目标有向无环图。Based on the data operation information, an information filling operation is performed on each node in the target DAG to obtain an updated target DAG. 6.根据权利要求1所述的一种数据处理方法,其特征在于,所述基于所述目标有向无环图中各个节点的入度信息,确定所述多个待执行算子各自对应的执行顺序,包括:6. A kind of data processing method according to claim 1, it is characterized in that, described based on the in-degree information of each node in the target directed acyclic graph, determine the number corresponding to each of the plurality of operators to be executed Execution sequence, including: 基于所述更新后的目标有向无环图确定当前节点;所述当前节点为所述更新后的目标有向无环图中节点入度值为0的节点;Determining a current node based on the updated target DAG; the current node is a node with a node in-degree value of 0 in the updated target DAG; 将所述当前节点加入节点队列;Add the current node to the node queue; 从当前有向无环图中删除所述当前节点,以及所述当前节点的每一条出度边,得到更新后的有向无环图;Deleting the current node and each outgoing edge of the current node from the current DAG to obtain an updated DAG; 确定所述更新后的有向无环图中,所述节点入度值为0的节点为所述当前节点;Determining that in the updated directed acyclic graph, the node whose in-degree value is 0 is the current node; 重复执行:将所述当前节点加入所述节点队列,至确定所述更新后的有向无环图中,节点入度值为0的节点为当前节点,直至所述当前节点为所述更新后的有向无环图中,最后一个节点入度值0且出度值也为0的节点;Repeated execution: add the current node to the node queue until it is determined that in the updated directed acyclic graph, the node with a node in-degree value of 0 is the current node, until the current node is the updated In the directed acyclic graph of , the last node has an in-degree value of 0 and an out-degree value of 0; 基于所述节点队列,确定所述多个待执行算子各自对应的执行顺序。Based on the node queue, an execution sequence corresponding to each of the plurality of operators to be executed is determined. 7.根据权利要求1所述的一种数据处理方法,其特征在于,所述基于所述多个待执行算子各自对应的执行顺序,对所述目标地图数据进行处理,得到目标处理结果,包括:7. A data processing method according to claim 1, wherein said target map data is processed based on the corresponding execution order of said plurality of operators to be executed to obtain a target processing result, include: 基于所述多个待执行算子各自对应的执行顺序,对各个节点进行遍历;Traversing each node based on the execution sequence corresponding to each of the plurality of operators to be executed; 基于当前遍历的节点,对所述目标地图数据执行与所述当前遍历的节点对应的数据处理操作,得到与所述当前遍历的节点对应的数据处理结果;Based on the currently traversed node, performing a data processing operation corresponding to the currently traversed node on the target map data to obtain a data processing result corresponding to the currently traversed node; 基于与各个节点对应的数据处理结果,生成所述目标处理结果。The target processing result is generated based on the data processing result corresponding to each node. 8.一种数据处理装置,其特征在于,所述装置包括:8. A data processing device, characterized in that the device comprises: 数据获取模块,用于获取目标地图数据;A data acquisition module, configured to acquire target map data; 算子确定模块,用于基于所述目标地图数据确定多个待执行算子;所述待执行算子指示与所述目标地图数据对应的多种数据处理操作;An operator determination module, configured to determine a plurality of operators to be executed based on the target map data; the operators to be executed indicate various data processing operations corresponding to the target map data; 图形构建模块,用于基于所述多个待执行算子的算子依赖关系,对所述多个待执行算子进行有向无环图构建,得到与所述多个待执行算子对应的目标有向无环图;每个待执行算子对应所述目标有向无环图中的一个节点;A graph construction module, configured to construct a directed acyclic graph for the plurality of operators to be executed based on the operator dependencies of the plurality of operators to be executed, to obtain the corresponding to the plurality of operators to be executed Target DAG; each operator to be executed corresponds to a node in the target DAG; 顺序确定模块,用于基于所述目标有向无环图中各个节点的入度信息,确定所述多个待执行算子各自对应的执行顺序;A sequence determination module, configured to determine the execution sequence corresponding to each of the plurality of operators to be executed based on the in-degree information of each node in the target DAG; 数据处理模块,用于基于所述多个待执行算子各自对应的执行顺序,对所述目标地图数据进行处理,得到目标处理结果。The data processing module is configured to process the target map data based on the respective execution sequences of the plurality of operators to be executed to obtain a target processing result. 9.一种电子设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令和至少一段程序,所述至少一条指令和所述至少一段程序由所述处理器加载并执行以实现如权利要求1-7中任意一项所述数据处理方法。9. An electronic device, the device comprising a processor and a memory, at least one instruction and at least one section of program are stored in the memory, the at least one instruction and the at least one section of program are loaded and executed by the processor to Realize the data processing method described in any one of claims 1-7. 10.一种计算机存储介质,所述计算机存储介质中存储有至少一条指令和至少一段程序,所述至少一条指令和所述至少一段程序由处理器加载并执行以实现如权利要求1-7中任意一项所述数据处理方法。10. A computer storage medium, at least one instruction and at least one section of program are stored in the computer storage medium, and the at least one instruction and the at least one section of program are loaded and executed by a processor to realize the Any one of the data processing methods.
CN202310173160.5A 2023-02-27 2023-02-27 A data processing method, device, equipment and storage medium Pending CN116303853A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310173160.5A CN116303853A (en) 2023-02-27 2023-02-27 A data processing method, device, equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310173160.5A CN116303853A (en) 2023-02-27 2023-02-27 A data processing method, device, equipment and storage medium

Publications (1)

Publication Number Publication Date
CN116303853A true CN116303853A (en) 2023-06-23

Family

ID=86837206

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310173160.5A Pending CN116303853A (en) 2023-02-27 2023-02-27 A data processing method, device, equipment and storage medium

Country Status (1)

Country Link
CN (1) CN116303853A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN119376781A (en) * 2024-09-26 2025-01-28 东方财富信息股份有限公司 Configurable dynamic data aggregation method based on groovy code

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109740916A (en) * 2018-12-28 2019-05-10 中科驭数(北京)科技有限公司 Based on the time Series Processing method, apparatus and storage medium for calculating flow graph
CN111125163A (en) * 2018-10-30 2020-05-08 百度在线网络技术(北京)有限公司 Method and apparatus for processing data
CN113626207A (en) * 2021-10-12 2021-11-09 苍穹数码技术股份有限公司 Map data processing method, device, equipment and storage medium
US20220164364A1 (en) * 2020-11-20 2022-05-26 Palantir Technologies Inc. Interactive dynamic geo-spatial application with enriched map tiles
CN115658830A (en) * 2022-10-28 2023-01-31 北京百度网讯科技有限公司 High-precision map drawing method, device, equipment and storage medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111125163A (en) * 2018-10-30 2020-05-08 百度在线网络技术(北京)有限公司 Method and apparatus for processing data
CN109740916A (en) * 2018-12-28 2019-05-10 中科驭数(北京)科技有限公司 Based on the time Series Processing method, apparatus and storage medium for calculating flow graph
US20220164364A1 (en) * 2020-11-20 2022-05-26 Palantir Technologies Inc. Interactive dynamic geo-spatial application with enriched map tiles
CN113626207A (en) * 2021-10-12 2021-11-09 苍穹数码技术股份有限公司 Map data processing method, device, equipment and storage medium
CN115658830A (en) * 2022-10-28 2023-01-31 北京百度网讯科技有限公司 High-precision map drawing method, device, equipment and storage medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN119376781A (en) * 2024-09-26 2025-01-28 东方财富信息股份有限公司 Configurable dynamic data aggregation method based on groovy code

Similar Documents

Publication Publication Date Title
CN105190543B (en) Reachability-Based Coordination for Cyclic Data Flows
CN113342500B (en) Task execution method, device, equipment and storage medium
CN115293751B (en) Method, system and equipment for processing BIM model data of rail transit
CN108509339A (en) Method for generating test case, device based on browser and mind map and equipment
CN108776660B (en) A Method of Batch Matching Road Attributes Based on ArcGIS
CN113687852A (en) Automatic generation method and device for log collection configuration file
CN116069842A (en) Data dump method and device
CN116303853A (en) A data processing method, device, equipment and storage medium
CN108733709A (en) Method, device and computer storage medium for knowledge management
CN106777344A (en) The back end extended method and device of a kind of data-base cluster
CN113553399A (en) Text search method and system based on fuzzy language approximate concept lattice
CN112559538A (en) Incidence relation generation method and device, computer equipment and storage medium
Hauschildt et al. WOFLAN: a Petri-net-based Workflow Analyzer
CN116756616A (en) Data processing method, device, computer readable medium and electronic equipment
CN116610568A (en) Method, device, equipment and medium for identifying dependency relationship of codes
CN113568604B (en) Method and device for updating wind control strategy and computer readable storage medium
CN112988986A (en) Man-machine interaction method, device and equipment
CN114265846A (en) Data operation method and device, electronic equipment and storage medium
CN111640012A (en) Block chain transaction tracing method and device
CN108491440B (en) GNSS non-real-time data tracing visualization method and system
CN116862118B (en) Carbon emission information generation method, device, electronic equipment and computer readable medium
WO2020057104A1 (en) Method and device for application development
CN115841302B (en) Data checking method, electronic device and readable medium
KR102110483B1 (en) Apparatus and method for data processing
CN115309739B (en) Vehicle-mounted data retrieval method and device, electronic equipment, medium and product

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