CN110471949B - 数据血缘分析方法、装置、***、服务器及存储介质 - Google Patents

数据血缘分析方法、装置、***、服务器及存储介质 Download PDF

Info

Publication number
CN110471949B
CN110471949B CN201910623288.0A CN201910623288A CN110471949B CN 110471949 B CN110471949 B CN 110471949B CN 201910623288 A CN201910623288 A CN 201910623288A CN 110471949 B CN110471949 B CN 110471949B
Authority
CN
China
Prior art keywords
data
blood margin
online
margin
analysis
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
Application number
CN201910623288.0A
Other languages
English (en)
Other versions
CN110471949A (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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Advanced New Technologies Co Ltd
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 Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Priority to CN201910623288.0A priority Critical patent/CN110471949B/zh
Publication of CN110471949A publication Critical patent/CN110471949A/zh
Application granted granted Critical
Publication of CN110471949B publication Critical patent/CN110471949B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2465Query processing support for facilitating data mining operations in structured databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Fuzzy Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Abstract

本发明公开一种数据血缘分析方法、装置、***、服务器及存储介质,所述方法包括:获取业务数据,所述业务数据包括在线业务数据,以及离线业务数据;对所述业务数据进行数据血缘分析,得到所述业务数据的全链路数据血缘,所述全链路数据血缘包括与所述在线业务数据对应的在线数据血缘,以及与所述离线业务数据对应的离线数据血缘。上述方案中,通过对在线业务数据和离线业务数据的处理,得到全链路数据血缘,将在线数据血缘和离线数据血缘打通,获得了能够覆盖整个业务流程的数据流转关系,增加了数据血缘的覆盖率,丰富了数据的血缘关系,进而提升了数据血缘的质量。

Description

数据血缘分析方法、装置、***、服务器及存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据血缘分析方法、***、服务器及存储介质。
背景技术
在大数据时代,庞大的数据在快速产生,这些海量的复杂的数据通过各种加工融合、转换,又会生成新的数据,这些数据之间存在着天然的联系,这些联系称之为数据血缘。现有技术中,在许多业务场景中都需要数据血缘关系图谱,例如,数据溯源、数据质量评估等,因此,获得高质量的数据血缘迫在眉睫。
发明内容
本说明书实施例提供及一种数据血缘分析方法、装置、***、服务器及存储介质。
第一方面,本说明书实施例提供一种数据血缘分析方法,所述方法包括:
获取业务数据,所述业务数据包括在线业务数据,以及离线业务数据;
对所述业务数据进行数据血缘分析,得到所述业务数据的全链路数据血缘,所述全链路数据血缘包括与所述在线业务数据对应的在线数据血缘,以及与所述离线业务数据对应的离线数据血缘。
第二方面,本说明书实施例提供一种数据血缘分析装置,包括:
数据获取模块,用于获取业务数据,所述业务数据包括在线业务数据,以及离线业务数据;
数据血缘分析模块,用于对所述业务数据进行数据血缘分析,得到所述业务数据的全链路数据血缘,所述全链路数据血缘包括与所述在线业务数据对应的在线数据血缘,以及与所述离线业务数据对应的离线数据血缘。
第三方面,本说明书实施例提供一种数据血缘分析***,包括:
数据获取层,用于获取业务数据,所述业务数据包括在线业务数据,以及离线业务数据;
数据血缘分析层,与所述数据获取层连接,用于对所述业务数据进行数据血缘分析,得到所述业务数据的全链路数据血缘,所述全链路数据血缘包括与所述在线业务数据对应的在线数据血缘,以及与所述离线业务数据对应的离线数据血缘;
能力层,与所述数据血缘分析层连接,用于提供数据血缘查询接口,所述数据血缘查询接口为基于所述全链路数据血缘、所述在线数据血缘以及所述离线数据血缘构建的接口;
场景层,与所述数据血缘分析层以及所述能力层连接,所述场景层包括M个数据血缘应用场景,其中,每个数据血缘应用场景用于通过所述数据血缘分析层和/或所述数据血缘查询接口,获取目标数据血缘,并基于该数据血缘应用场景下配置的数据血缘处理方法对所述目标数据血缘进行应用处理,以得到处理结果,M为正整数。
第四方面,本说明书实施例提供一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行上述任一项所述方法的步骤。
第五方面,本说明书实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项所述方法的步骤。
本说明书实施例有益效果如下:
在本说明书实施例提供的数据血缘分析方法中,获取业务数据,所述业务数据包括在线业务数据,以及离线业务数据;对所述业务数据进行数据血缘分析,得到所述业务数据的全链路数据血缘,所述全链路数据血缘包括与所述在线业务数据对应的在线数据血缘,以及与所述离线业务数据对应的离线数据血缘。上述方案中,通过对在线业务数据和离线业务数据的处理,得到全链路数据血缘,将在线数据血缘和离线数据血缘打通,获得了能够覆盖整个业务流程的数据流转关系,增加了数据血缘的覆盖率,丰富了数据的血缘关系,进而提升了数据血缘的质量。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本说明书实施例第一方面提供的一种数据血缘分析方法的流程图;
图2为本说明书实施例第二方面提供的第一种数据血缘分析装置的示意图;
图3为本说明书实施例第三方面提供的一种数据血缘分析***的示意图;
图4为本说明书实施例提供的数据血缘分析层的示意图;
图5为本说明书实施例第四方面提供的服务器的示意图。
具体实施方式
为了更好的理解上述技术方案,下面通过附图以及具体实施例对本说明书实施例的技术方案做详细的说明,应当理解本说明书实施例以及实施例中的具体特征是对本说明书实施例技术方案的详细的说明,而不是对本说明书技术方案的限定,在不冲突的情况下,本说明书实施例以及实施例中的技术特征可以相互组合。
第一方面,本说明书实施例提供一种数据血缘分析方法,如图1所示,为本说明书实施例提供的数据血缘分析方法的流程图,该方法包括以下步骤:
步骤S11:获取业务数据,所述业务数据包括在线业务数据,以及离线业务数据;
步骤S12:对所述业务数据进行数据血缘分析,得到所述业务数据的全链路数据血缘,所述全链路数据血缘包括与所述在线业务数据对应的在线数据血缘,以及与所述离线业务数据对应的离线数据血缘。
本说明书实施例中的方法,可以应用于各类***中,以企业级的服务***为例,该服务***中可以包括多个子***,多个子***之间能够相互协作,以完成多种业务。例如,以支付宝的服务***为例,支付宝服务***中可以包含有数量众多的子***,通过子***之间的相互调用能够实现各项业务,例如缴费业务、外卖业务、购物业务、各类查询业务等等。
另外,一个服务***还可以分为在线***和离线***,在线***可以为实时响应用户请求的***,举例来讲,当用户请求访问一个网页时,与该网页服务对应的在线***能够迅速响应用户的访问请求,将网页的数据进行呈现。离线***通常来说对响应速度没有要求,时效性要求较低,以支付宝的离线***为例,离线***能够基于离线任务,对采集到的支付宝用户的用户数据进行用户画像分析、用户风险评估等分析处理。
由于***是时刻运转工作的,因此,业务数据也是时刻产生的。本说明书实施例中,在线***产生或调用的数据为在线业务数据,离线***产生或调用的数据为离线业务数据。
需要说明的是,在线***产生的在线业务数据,以及离线***产生的离线数据可以根据数据库的部署,存储在各自的数据库或数据***中。例如,在线数据存储于各个在线***的数据库中,离线数据存储在离线数仓中。由于存储业务数据的数据库、数据***可能存在多种类型,例如MySQL、ODPS(open data processing service)、lindorm、geabase等,因此,业务数据的类型也不相同。为了能够更高效的对数据进行处理,可以先对业务数据进行预处理,再将预处理后的业务数据进行下一步的处理。对业务数据的预处理可以根据实际需要进行设置,例如数据清洗、数据合并、数据标准化等,这里不做限定。
为了能够获取覆盖整个业务流程的数据血缘,本说明书实施例中,通过对业务数据进行数据血缘分析,得到全链路数据血缘。例如,先将在线业务数据以及离线业务数据结合起来,对结合起来的业务数据进行数据血缘分析,得到全链路数据血缘,或者,分别对在线业务数据以及离线业务数据进行处理,得到全链路数据血缘,这里不做限定。
全链路数据血缘包括在线数据血缘以及离线数据血缘。在线数据血缘与在线***的业务流程相对应,用于表征在线业务涉及到的数据传递和处理过程,离线数据血缘与离线***的业务流程相对应,用于表征离线业务涉及到的数据传递和处理过程。
在线数据血缘可以分为表级数据血缘和字段级数据血缘两个维度。具体来讲,在线业务数据以数据表的形式保存在数据库中,数据表又包含多个字段。通过数据血缘分析,可以分析出各个数据表之间的关联,如数据表A是对数据表B进行加工处理得到的,数据表B又是通过对数据表C处理得到的,这种映射关系即为表级数据血缘。另外,还可以从字段的角度来进行数据血缘分析,例如数据表D中的字段1与数据表E中的字段2相关联,数据表E中的字段2与数据表F中的字段3相关联,这种字段之间的映射关系可以作为字段级数据血缘。在线数据血缘用于表征在线业务数据中各个数据表、字段之间的映射关系。同样的,离线数据血缘也可以分为表级数据血缘和字段级数据血缘,用于表征离线数仓中的离线业务数据中各个数据表、字段之间的映射关系。
本说明书实施例中的方案,通过对在线业务数据和离线业务数据的处理,得到全链路数据血缘,将在线数据血缘和离线数据血缘打通,获得了能够覆盖整个业务流程的数据流转关系,增加了数据血缘的覆盖率,丰富了数据的血缘关系,进而提升了数据血缘的质量。
在具体实施过程中,全链路数据血缘可以通过以下方式获得:对所述在线业务数据进行数据血缘分析,得到所述在线数据血缘;对所述离线业务数据进行数据血缘分析,得到所述离线数据血缘;将所述在线数据血缘以及所述离线数据血缘进行结合,得到所述全链路数据血缘。
具体来讲,分别通过对在线业务数据以及离线业务数据进行数据血缘分析,得到在线数据血缘和离线数据血缘,然后将这两类数据血缘进行结合,得到全链路数据血缘。需要说明的是,在线业务数据的数据血缘分析方法和离线业务数据的数据血缘分析方法可以相同,也可以不同。下面,分别对在线数据血缘以及离线数据血缘的处理方法进行描述。
在线数据血缘,基于在线业务的特点,可以分为在线动态数据血缘和在线静态数据血缘。在线动态血缘能够表示数据在处理业务请求过程中的动态传递过程,在线静态血缘能够表示在线***内部的数据对象之间的关联。本说明书实施例中,在线数据血缘可以为在线动态数据血缘,也可以为在线静态数据血缘,还可以包括在线动态数据血缘和在线静态数据血缘。
在具体实施过程中,可以通过以下方式获得在线动态数据血缘:基于所述在线业务数据中的跟踪日志集合,对所述跟踪日志集合中的每个跟踪日志进行动态数据血缘分析,得到与所述每个跟踪日志对应的动态数据血缘分析结果,并将与所述每个跟踪日志对应的动态数据血缘分析结果构成的集合作为在线动态数据血缘。
首先对在线动态数据血缘进行说明,在线动态数据血缘是数据表、字段与在线业务链路之间的映射关系。举例来讲,当接收到用户针对某业务服务的目标请求时,服务***基于该目标请求,层层调用与该请求对应的子***,确定出该请求的响应结果,并将响应结果反馈给用户。例如,当用户发起目标请求时,该目标请求首先发送给***1,然后***1调用***2,***2在数据库中获取字段A,接下来***2将数据A反馈至上游的***1,***1再将字段A反馈给用户。上述调用过程构成一条调用链路,字段A与该调用链路之间的映射关系可以作为字段A的在线动态数据血缘。应理解的是,对于多个字段或数据表来说,每个字段或每个数据表都可以确定出一条以上的在线动态数据血缘,这些字段、数据表与在线业务链路的映射关系的集合就构成了在线业务数据的在线动态数据血缘。
本说明书实施例中,在业务场景中,可以通过***调用跟踪组件将业务调用链路中的各种网络、***的调用情况以日志的方式记录下来,这种日志即为跟踪日志。举例来讲,当***1接收到用户发起的请求后,基于该请求调用***2时,***调用跟踪组件会将***2的调用操作记录在***1的跟踪日志中,当***2在数据库中读取字段A,并将字段A反馈给***1时,***调用跟踪组件会将读取字段以及反馈给***1的操作记录在***2的跟踪日志中。由此可以看出,通过各个跟踪日志,可以还原出***调用的整个流程。这些跟踪日志构成了跟踪日志集合,通过对跟踪日志集合中的每个跟踪日志进行动态数据血缘分析,能够得到在线业务数据的在线动态数据血缘。
在具体实施过程中,可以通过以下方式来确定在线动态数据血缘:对所述每个跟踪日志进行解析,得到N个数据对象,N为正整数;基于所述每个跟踪日志中记录的***调用信息,确定出与每个数据对象对应的调用链路,并建立所述每个数据对象与对应的调用链路之间的映射关系,共计获得N组映射关系,所述N组映射关系即为所述动态数据血缘分析结果。
具体来讲,对于跟踪日志集合中的每个跟踪日志都可以执行以下步骤:对每个跟踪日志执行数据库语句解析,解析出该跟踪日志对应的一个以上的数据对象,数据对象可以为数据库名、表名、字段名。通过上面的描述可知,数据对象可以是通过层层的***调用确定出来的,***调用的详情被记录在跟踪日志中,因此,可以结合每个跟踪日志中记录的***调用逻辑以及操作,由数据对象为起点,反向推出与数据对象对应的***调用链路,然后将数据对象与确定出来的调用链路之间建立映射关系,得到该数据对象的动态数据血缘分析结果。所有数据对象与各自调用链路之间的映射关系的集合就构成了在线动态数据血缘。
应理解的是,不同的请求可能会产生不同的调用链路,因此,对于同一数据对象,例如同一字段,可能会有多条调用链路与之相对应,或者,对于同一数据表来说,也可能存在多条调用链路与之相对应。这些字段与调用链路之间的映射关系,以及数据表与调用链路之间的映射关系的集合构成了在线业务数据的在线动态数据血缘。
本说明书实施例中,可以通过以下方式获得在线静态数据血缘:基于所述在线业务数据中的***源代码信息集合,对所述***源代码信息集合中的每套***源代码信息进行静态数据血缘分析,得到与所述每套***源代码信息对应的静态数据血缘分析结果,并将与所述每套***源代码信息对应的静态数据血缘分析结果构成的集合作为在线静态数据血缘。
需要说明的是,在线业务是由多个***之间的协同来实现的,例如,一个用户请求,首先发送给***1,***1再调用***2,***2再调用***3。对于在线业务涉及到的每个***,都有一套***源代码信息。本说明书实施例中,通过对每套***源代码信息进行静态数据血缘分析,来确定在线静态数据血缘。
在具体实施过程中,可以通过以下方式对每套***源代码信息进行静态数据血缘分析:对所述每套***源码信息进行静态代码分析,得到与所述每套***源代码对应的数据对象流转关系,作为所述静态数据血缘分析结果。
需要说明的是,本说明书实施例中的在线静态数据血缘,是由多个单***内部的静态数据血缘分析结果构成的,不需要分析跨***的静态数据血缘。具体来讲,当在线业务是由***1和***2协同实现的,通过获取***1内部的数据对象之间的流转关系,确定***1的静态数据血缘分析结果,通过获取***2内容部的数据对象之间的流转关系,确定***2的静态数据血缘分析结果,虽然***1和***2之间存在调用关系,但本说明书实施例中无需分析***1和***2之间的静态数据血缘。
在具体实施过程中,以一个***的静态数据血缘为例,获取该***的***源代码,对***源代码进行静态代码分析,构建抽象语法树。抽象语法树可以是***源代码的抽象语法结构的树状表现形式。抽象语法树可以通过***的字节码文件以及字节码文件中的字节码信息来构建,字节码文件可以是类文件,字节码信息可以是类的属性字段、类函数字段等。通过字节码信息能够得到改***的静态结构,确定出***中存在的类之间的关系。通过抽象语法树以及字节码指令解析的方法,对***内部的数据链路继续梳理,能够得到***内部的数据对象之间的流转关系,即***内部的静态数据血缘分析结果。以java源代码为例,根据上述方式,可以分析出VO(View Object,视觉对象)与DO(Domain Object,领域对象)之间的流转关系。多个***的静态数据血缘分析结果的集合就构成了在线数据血缘。
进一步的,在确定了在线动态数据血缘和在线静态数据血缘之后,将在线动态数据血缘和在线静态数据血缘进行结合,形成在线数据血缘,这样就可以获得整个在线业务数据的血缘信息,覆盖了单***内部、***之间的数据关联。在线动态数据血缘和在线静态数据的结合方式可以根据实际需要进行选择。例如,通过在线动态数据血缘检测到***2存储的字段A与链路1存在映射关系,通过***2的静态数据血缘,能够得到字段A与***2中其他数据对象之间的映射关系,因此,可以通过字段A将***2的静态数据血缘与链路1进行关联,即将在线动态数据血缘与在线静态血缘打通结合。
本说明书实施例中,各个***的在线静态数据血缘通过与在线动态血缘结合,使得各个***的在线静态数据血缘之间关联起来。举例来讲,***1在接收到用户请求后调用***2,***2读取数据表2中的字段A反馈给***1,***1将字段A写入数据表1,并将写入的字段A重命名为字段B。在上述调用链路中,字段A与调用链路之间的映射关系为在线动态数据血缘,***1中字段B的数据流转为***1的在线静态数据血缘,***2中字段A的数据流转为***2的在线静态数据血缘,***1的静态数据血缘和***2的静态数据血缘均和在线动态数据血缘中的调用链路相关联。因此,通过在线动态数据血缘,将两个***的在线静态数据血缘打通,可以确定出字段A和字段B之间的对应关系。因此,本说明书实施例中,通过上述方案能够实现跨***的数据血缘,无需对跨***的静态数据血缘单独进行分析计算。
进一步的,对于离线数据血缘,可以由入仓数据血缘、仓内数据血缘以及出仓数据血缘组成,所述对所述离线业务数据进行数据血缘分析,得到所述离线数据血缘,包括:基于由在线***同步至离线***的入仓业务数据,确定所述入仓数据血缘;基于存储在所述离线***内部的仓内业务数据,确定所述仓内数据血缘;基于由所述离线***传递到所述在线***的出仓业务数据,确定所述出仓数据血缘。
具体来讲,在线业务和离线业务可以看作是一个闭环,在线业务产生的数据可以同步至离线数仓中,通过离线业务对离线数仓中的数据进行加工处理,然后将加工处理得到的结果再提供给在线业务使用。因此,从离线数仓的数据流向来看,数据经过入仓、仓内、出仓三部分。本说明书实施例中,对于上述每个部分,都进行数据血缘分析,分别得到入仓数据血缘、仓内数据血缘和出仓数据血缘。在具体实施过程中,离线数据血缘可以是基于离线任务的执行日志,对执行日志进行解析,最终得到离线数据血缘。
对于入仓血缘来说,通过对离线任务的执行日志进行解析,得到对应的数据对象,数据对象可以是数据表、字段。以字段为例,在同步到离线数仓的在线业务数据中确定出与该字段相关联的目标字段,如确定出与该字段相同的字段,或确定出该字段的来源字段等,建立该字段与在线业务数据中的目标字段之间的映射关系,作为一条入仓数据血缘。确定出解析得到的所有数据对象的入仓数据血缘,作为入仓数据血缘。
对于仓内血缘来说,离线数仓中的各个数据表、字段之间存在关联,例如通过对数据表1进行处理,得到数据表2,或者通过对数据表1中的字段A进行处理,得到数据表2中的字段B。那么数据表1与数据表2之间的映射关系、字段A与字段B之间的映射关系可以看作是仓内血缘。
对于出仓血缘来说,当在线业务需要调用离线数仓中的数据时,离线数仓将数据反馈至在线***,即,离线数仓中的数据会写入在线***的数据库中,例如,将离线数仓中数据表3中的字段C写入到在线***的数据表4中,并命名为字段D,那么字段C与字段D之间的映射关系可以看作是出仓血缘。
仓内血缘和出仓血缘的确定方法也可以通过对离线任务的执行日志进行解析得到,还可以通过其他方式获得,这里不做限定。另外,离线数据血缘也可以分为字段级和表级的离线数据血缘。即离线数据血缘可以包括字段级的入仓数据血缘、字段级的仓内数据血缘、字段级的出仓数据血缘、表级的入仓数据血缘、表级的仓内数据血缘、表级的出仓数据血缘。
进一步的,基于入仓数据血缘以及出仓数据血缘,能够将在线数据血缘和离线数据血缘进行链接,进行得到全链路数据血缘。
具体来讲,在线数据血缘以及离线数据血缘中的每个字段、数据表、***都可以看作是血缘数据中的数据结点,字段与字段之间的映射关系、数据表与数据表之间的映射关系、字段与***之间的映射关系等都可以看作是数据结点之间的边。通过在线静态数据血缘、在线动态数据血缘、离线数据血缘,能够将整个业务链路的数据结点之间的关联信息体现出来,形成全链路数据血缘关系图。
本说明书实施例中的方案,在获得了全链路数据血缘之后,为了便于用户使用,还可以基于所述全链路数据血缘、所述在线数据血缘以及所述在线动态数据血缘,构建数据血缘接口,以在接收到对所述数据血缘接口的调用请求时,通过所述数据血缘接口输出与所述调用请求对应的目标数据血缘。
在具体实施过程中,在得到全链路数据血缘、在线数据血缘以及离线数据血缘之后,可以将这些数据在预设框架里进行处理封装,封装成数据血缘接口。数据血缘接口能够提供多种服务,如提供查询在线动态数据血缘的服务、查询在线静态数据血缘的服务、查询离线数据血缘的服务、查询全链路数据血缘的服务等。当接收到对数据血缘接口的调用请求时,可以根据具体请求的数据血缘类型,将对应类型数据血缘输出。当然,除了封装成接口,还可以进行前端页面的开发,以使用户通过页面进行数据血缘的查询。
上述方案中,通过对业务数据的数据血缘分析,得到了业务数据的在线动态数据血缘、在线静态数据血缘、离线数据血缘,同时基于这三种数据血缘获得了全链路数据血缘,丰富了数据血缘的种类,且能够覆盖整个业务数据,有效的提升了数据血缘的质量。
第二方面,基于同一发明构思,本说明书实施例提供的第一种数据血缘分析装置,请参考图2,该装置包括:
数据获取模块21,用于获取业务数据,所述业务数据包括在线业务数据,以及离线业务数据;
数据血缘分析模块22,用于对所述业务数据进行数据血缘分析,得到所述业务数据的全链路数据血缘,所述全链路数据血缘包括与所述在线业务数据对应的在线数据血缘,以及与所述离线业务数据对应的离线数据血缘。
在一种可选实现方式中,数据血缘分析模块22,用于:
对所述在线业务数据进行数据血缘分析,得到所述在线数据血缘;
对所述离线业务数据进行数据血缘分析,得到所述离线数据血缘;
将所述在线数据血缘以及所述离线数据血缘进行组合,得到所述全链路数据血缘。
在一种可选实现方式中,数据血缘分析模块22,包括:
在线动态数据血缘分析模块,用于基于所述在线业务数据中的跟踪日志集合,对所述跟踪日志集合中的每个跟踪日志进行动态数据血缘分析,得到与所述每个跟踪日志对应的动态数据血缘分析结果,并将与所述每个跟踪日志对应的动态数据血缘分析结果构成的集合作为在线动态数据血缘。
在一种可选实现方式中,所述在线动态数据血缘分析模块,用于:
对所述每个跟踪日志进行解析,得到N个数据对象,N为正整数;
基于所述每个跟踪日志中记录的***调用信息,确定出与每个数据对象对应的调用链路,并建立所述每个数据对象与对应的调用链路之间的映射关系,共计获得N组映射关系,所述N组映射关系即为所述动态数据血缘分析结果。
在一种可选实现方式中,数据血缘分析模块22,包括:
在线静态数据血缘分析模块,用于基于所述在线业务数据中的***源代码信息集合,对所述***源代码信息集合中的每套***源代码信息进行静态数据血缘分析,得到与所述每套***源代码信息对应的静态数据血缘分析结果,并将与所述每套***源代码信息对应的静态数据血缘分析结果构成的集合作为在线静态数据血缘。
在一种可选实现方式中,所述在线静态数据血缘分析模块,用于:
对所述每套***源码信息进行静态代码分析,得到与所述每套***源代码对应的数据对象流转关系,作为所述静态数据血缘分析结果。
在一种可选实现方式中,数据血缘分析模块,包括:
离线数据血缘分析模块,用于基于由在线***同步至离线***的入仓业务数据,确定所述入仓数据血缘;基于存储在所述离线***内部的仓内业务数据,确定所述仓内数据血缘;基于由所述离线***传递到所述在线***的出仓业务数据,确定所述出仓数据血缘。
在一种可选实现方式中,数据血缘分析模块,用于:
基于所述入仓数据血缘以及所述出仓数据血缘,将所述在线数据血缘以及所述离线数据血缘进行链接,得到所述全链路数据血缘。
在一种可选实现方式中,所述装置还包括:
构建接口模块,用于基于所述全链路数据血缘、所述在线数据血缘以及所述离线数据血缘,构建数据血缘接口,以在接收到对所述数据血缘接口的调用请求时,通过所述数据血缘接口输出与所述调用请求对应的目标数据血缘。
关于上述***,其中各个模块的具体功能已经在本发明实施例提供的数据血缘分析方法的实施例中进行了详细描述,此处将不做详细阐述说明。
第三方面,基于同一发明构思,本说明书实施例提供的第一种数据血缘分析***,请参考图3,该***包括:
数据获取层31,用于获取业务数据,所述业务数据包括在线业务数据,以及离线业务数据;
数据血缘分析层32,与所述数据获取层连接,用于对所述业务数据进行数据血缘分析,得到所述业务数据的全链路数据血缘,所述全链路数据血缘包括与所述在线业务数据对应的在线数据血缘,以及与所述离线业务数据对应的离线数据血缘;
能力层33,与所述数据血缘分析层连接,用于提供数据血缘查询接口,所述数据血缘查询接口为基于所述全链路数据血缘、所述在线数据血缘以及所述离线数据血缘构建的接口;
场景层34,与所述数据血缘分析层以及所述能力层连接,所述场景层包括M个数据血缘应用场景,其中,每个数据血缘应用场景用于通过所述数据血缘分析层和/或所述数据血缘查询接口,获取目标数据血缘,并基于该数据血缘应用场景下配置的数据血缘处理方法对所述目标数据血缘进行应用处理,以得到处理结果,M为正整数。
本说明书实施例中,数据获取层31可以部署有多个数据库和数据***,例如MySQL、ODPS、lindorm、geabase,用于获取这些数据库和数据***中的业务数据,包括在线业务数据以及离线业务数据。进一步的,数据获取层31还可以对获取到的业务数据进行预处理,例如数据清洗、数据合并、数据标准化等,这里不做限定。
数据血缘分析层32,用于对数据获取层31获取到的数据进行数据血缘分析,得到在线动态数据血缘、在线静态数据血缘、离线数据血缘。如图4所示,数据血缘分析层32可以部署有在线动态数据血缘分析模块41、在线静态数据血缘分析模块42、离线数据血缘分析模块43,分别以用来计算在线动态数据血缘、在线静态数据血缘、以及离线数据血缘。具体的数据血缘分析方法与本发明实施例提供的数据血缘分析方法的实施例中描述的分析方法相同,这里就不再赘述了。
为了便于用户操作,能力层33可以将数据血缘分析层32的数据血缘进行封装,封装成数据血缘查询接口,当接收到针对该数据血缘查询接口的调用请求时,可以将请求对应的数据血缘进行反馈。当然,能力层33可以根据实际需要提供多个接口,例如在线静态数据血缘查询接口、离线数据血缘查询接口等。另外,能力层33还可以提供平台查询功能,为用户提供页面查询数据血缘的服务。
场景层34可以与数据血缘分析层32以及能力层33相连,能够直接获取数据血缘分析层32中的数据血缘,或者通过调用能力层33的接口得到相应的数据血缘。场景层34可以包含一个或多个数据血缘应用场景,通过数据血缘来解决应用场景中的问题。数据血缘应用场景可以根据实际需要进行设定,例如数据资产分级场景、离线业务数据监控和问题追溯定位场景等,针对不同的场景,可以获取不同的数据血缘,进一步的基于数据血缘进行该场景下的应用处理,以得到数据处理结果。
第四方面,基于与前述实施例中数据血缘分析方法同样的发明构思,本发明还提供一种服务器,如图5所示,包括存储器404、处理器402及存储在存储器404上并可在处理器402上运行的计算机程序,所述处理器402执行所述程序时实现前文所述数据血缘分析方法的任一方法的步骤。
其中,在图5中,总线架构(用总线400来代表),总线400可以包括任意数量的互联的总线和桥,总线400将包括由处理器402代表的一个或多个处理器和存储器404代表的存储器的各种电路链接在一起。总线400还可以将诸如***设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口406在总线400和接收器401和发送器403之间提供接口。接收器401和发送器403可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器402负责管理总线400和通常的处理,而存储器404可以被用于存储处理器402在执行操作时所使用的数据。
第五方面,基于与前述实施例中基于数据血缘分析方法的发明构思,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文所述基于数据血缘分析方法的任一方法的步骤。
本说明书是参照根据本说明书实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (19)

1.一种数据血缘分析方法,所述方法包括:
获取业务数据,所述业务数据包括在线业务数据,以及离线业务数据;
对所述业务数据进行数据血缘分析,得到所述业务数据的全链路数据血缘,包括:对所述在线业务数据进行数据血缘分析,得到所述在线数据血缘;对所述离线业务数据进行数据血缘分析,得到所述离线数据血缘;将所述在线数据血缘以及所述离线数据血缘进行组合,得到所述全链路数据血缘;
所述在线数据血缘包括在线动态数据血缘和/或在线静态数据血缘,所述在线数据血缘是通过对所述在线业务数据的跟踪日志集合进行动态数据血缘分析得到的,所述在线静态数据血缘是通过对所述在线业务数据中的***源代码信息集合进行静态数据血缘分析得到的;
所述离线数据血缘是基于离线任务的执行日志,对执行日志进行解析得到的。
2.根据权利要求1所述的方法,所述对所述在线业务数据进行数据血缘分析,得到所述在线数据血缘,包括:
基于所述在线业务数据中的跟踪日志集合,对所述跟踪日志集合中的每个跟踪日志进行动态数据血缘分析,得到与所述每个跟踪日志对应的动态数据血缘分析结果,并将与所述每个跟踪日志对应的动态数据血缘分析结果构成的集合作为在线动态数据血缘。
3.根据权利要求2所述的方法,所述对所述跟踪日志集合中的每个跟踪日志进行动态数据血缘分析,得到与所述每个跟踪日志对应的动态数据血缘分析结果,包括:
对所述每个跟踪日志进行解析,得到N个数据对象,N为正整数;
基于所述每个跟踪日志中记录的***调用信息,确定出与每个数据对象对应的调用链路,并建立所述每个数据对象与对应的调用链路之间的映射关系,共计获得N组映射关系,所述N组映射关系即为所述动态数据血缘分析结果。
4.根据权利要求1或2所述的方法,所述对所述在线业务数据进行数据血缘分析,得到所述在线数据血缘,包括:
基于所述在线业务数据中的***源代码信息集合,对所述***源代码信息集合中的每套***源代码信息进行静态数据血缘分析,得到与所述每套***源代码信息对应的静态数据血缘分析结果,并将与所述每套***源代码信息对应的静态数据血缘分析结果构成的集合作为在线静态数据血缘。
5.根据权利要求4所述的方法,所述对所述***源代码信息集合中的每套***源代码信息进行静态数据血缘分析,得到与所述每套***源代码信息对应的静态数据血缘分析结果,包括:
对所述每套***源码信息进行静态代码分析,得到与所述每套***源代码对应的数据对象流转关系,作为所述静态数据血缘分析结果。
6.根据权利要求1所述的方法,所述离线数据血缘包括入仓数据血缘、仓内数据血缘以及出仓数据血缘,所述对所述离线业务数据进行数据血缘分析,得到所述离线数据血缘,包括:
基于由在线***同步至离线***的入仓业务数据,确定所述入仓数据血缘;
基于存储在所述离线***内部的仓内业务数据,确定所述仓内数据血缘;
基于由所述离线***传递到所述在线***的出仓业务数据,确定所述出仓数据血缘。
7.根据权利要求6所述的方法,所述将所述在线数据血缘以及所述离线数据血缘进行组合,得到所述全链路数据血缘,包括:
基于所述入仓数据血缘以及所述出仓数据血缘,将所述在线数据血缘以及所述离线数据血缘进行链接,得到所述全链路数据血缘。
8.根据权利要求1所述的方法,所述方法还包括:
基于所述全链路数据血缘、所述在线数据血缘以及所述离线数据血缘,构建数据血缘接口,以在接收到对所述数据血缘接口的调用请求时,通过所述数据血缘接口输出与所述调用请求对应的目标数据血缘。
9.一种数据血缘分析装置,所述装置包括:
数据获取模块,用于获取业务数据,所述业务数据包括在线业务数据,以及离线业务数据;
数据血缘分析模块,用于对所述业务数据进行数据血缘分析,得到所述业务数据的全链路数据血缘,包括:对所述在线业务数据进行数据血缘分析,得到所述在线数据血缘;对所述离线业务数据进行数据血缘分析,得到所述离线数据血缘;将所述在线数据血缘以及所述离线数据血缘进行组合,得到所述全链路数据血缘;
所述在线数据血缘包括在线动态数据血缘和/或在线静态数据血缘,所述在线数据血缘是通过对所述在线业务数据的跟踪日志集合进行动态数据血缘分析得到的,所述在线静态数据血缘是通过对所述在线业务数据中的***源代码信息集合进行静态数据血缘分析得到的;
所述离线数据血缘是基于离线任务的执行日志,对执行日志进行解析得到的。
10.根据权利要求9所述的装置,所述数据血缘分析模块,包括:
在线动态数据血缘分析模块,用于基于所述在线业务数据中的跟踪日志集合,对所述跟踪日志集合中的每个跟踪日志进行动态数据血缘分析,得到与所述每个跟踪日志对应的动态数据血缘分析结果,并将与所述每个跟踪日志对应的动态数据血缘分析结果构成的集合作为在线动态数据血缘。
11.根据权利要求10所述的装置,所述在线动态数据血缘分析模块,用于:
对所述每个跟踪日志进行解析,得到N个数据对象,N为正整数;
基于所述每个跟踪日志中记录的***调用信息,确定出与每个数据对象对应的调用链路,并建立所述每个数据对象与对应的调用链路之间的映射关系,共计获得N组映射关系,所述N组映射关系即为所述动态数据血缘分析结果。
12.根据权利要求9或10所述的装置,所述数据血缘分析模块,包括:
在线静态数据血缘分析模块,用于基于所述在线业务数据中的***源代码信息集合,对所述***源代码信息集合中的每套***源代码信息进行静态数据血缘分析,得到与所述每套***源代码信息对应的静态数据血缘分析结果,并将与所述每套***源代码信息对应的静态数据血缘分析结果构成的集合作为在线静态数据血缘。
13.根据权利要求12所述的装置,所述在线静态数据血缘分析模块,用于:
对所述每套***源码信息进行静态代码分析,得到与所述每套***源代码对应的数据对象流转关系,作为所述静态数据血缘分析结果。
14.根据权利要求9所述的装置,所述离线数据血缘包括入仓数据血缘、仓内数据血缘以及出仓数据血缘,所述数据血缘分析模块,包括:
离线数据血缘分析模块,用于基于由在线***同步至离线***的入仓业务数据,确定所述入仓数据血缘;基于存储在所述离线***内部的仓内业务数据,确定所述仓内数据血缘;基于由所述离线***传递到所述在线***的出仓业务数据,确定所述出仓数据血缘。
15.根据权利要求14所述的装置,所述数据血缘分析模块,用于:
基于所述入仓数据血缘以及所述出仓数据血缘,将所述在线数据血缘以及所述离线数据血缘进行链接,得到所述全链路数据血缘。
16.根据权利要求9所述的装置,所述***还包括:
构建接口模块,用于基于所述全链路数据血缘、所述在线数据血缘以及所述离线数据血缘,构建数据血缘接口,以在接收到对所述数据血缘接口的调用请求时,通过所述数据血缘接口输出与所述调用请求对应的目标数据血缘。
17.一种数据血缘分析***,所述***包括:
数据获取层,用于获取业务数据,所述业务数据包括在线业务数据,以及离线业务数据;
数据血缘分析层,与所述数据获取层连接,用于对所述业务数据进行数据血缘分析,得到所述业务数据的全链路数据血缘,包括:对所述在线业务数据进行数据血缘分析,得到所述在线数据血缘;对所述离线业务数据进行数据血缘分析,得到所述离线数据血缘;将所述在线数据血缘以及所述离线数据血缘进行组合,得到所述全链路数据血缘;
能力层,与所述数据血缘分析层连接,用于提供数据血缘查询接口,所述数据血缘查询接口为基于所述全链路数据血缘、所述在线数据血缘以及所述离线数据血缘构建的接口;
场景层,与所述数据血缘分析层以及所述能力层连接,所述场景层包括M个数据血缘应用场景,其中,每个数据血缘应用场景用于通过所述数据血缘分析层和/或所述数据血缘查询接口,获取目标数据血缘,并基于该数据血缘应用场景下配置的数据血缘处理方法对所述目标数据血缘进行应用处理,以得到处理结果,M为正整数;
其中,所述在线数据血缘包括在线动态数据血缘和/或在线静态数据血缘,所述在线数据血缘是通过对所述在线业务数据的跟踪日志集合进行动态数据血缘分析得到的,所述在线静态数据血缘是通过对所述在线业务数据中的***源代码信息集合进行静态数据血缘分析得到的;
所述离线数据血缘是基于离线任务的执行日志,对执行日志进行解析得到的。
18.一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1-8任一项所述方法的步骤。
19.一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现权利要求1-8任一项所述方法的步骤。
CN201910623288.0A 2019-07-11 2019-07-11 数据血缘分析方法、装置、***、服务器及存储介质 Active CN110471949B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910623288.0A CN110471949B (zh) 2019-07-11 2019-07-11 数据血缘分析方法、装置、***、服务器及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910623288.0A CN110471949B (zh) 2019-07-11 2019-07-11 数据血缘分析方法、装置、***、服务器及存储介质

Publications (2)

Publication Number Publication Date
CN110471949A CN110471949A (zh) 2019-11-19
CN110471949B true CN110471949B (zh) 2023-02-28

Family

ID=68507225

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910623288.0A Active CN110471949B (zh) 2019-07-11 2019-07-11 数据血缘分析方法、装置、***、服务器及存储介质

Country Status (1)

Country Link
CN (1) CN110471949B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111125269B (zh) * 2019-12-31 2023-05-02 腾讯科技(深圳)有限公司 一种数据管理方法、血缘关系显示方法和相关装置
CN111339075A (zh) * 2020-02-28 2020-06-26 三盟科技股份有限公司 面向教育领域的数据追溯方法、***、设备及存储介质
CN111857804B (zh) * 2020-07-22 2024-07-09 北京达佳互联信息技术有限公司 离线任务的处理方法、装置、电子设备及存储介质
CN112422335B (zh) * 2020-11-10 2023-02-21 普元信息技术股份有限公司 技术中台中基于微服务架构实现业务链路分析的方法、***、装置及存储介质
CN112464050B (zh) * 2020-12-11 2024-05-28 中国人寿保险股份有限公司 一种基于python的数据血缘整理方法、装置及电子设备
CN114629944B (zh) * 2020-12-11 2024-05-14 来未来科技(浙江)有限公司 一种静态分析微服务***全链路调用情况的方法
CN112634004B (zh) * 2020-12-30 2023-10-13 中国农业银行股份有限公司 征信数据的血缘图谱分析方法与***
CN112800149B (zh) * 2021-02-18 2023-08-08 浪潮云信息技术股份公司 基于数据血缘分析的数据治理方法及***
CN112948381B (zh) * 2021-02-25 2022-10-28 平安科技(深圳)有限公司 数据处理方法、***、计算机设备及可读存储介质
CN116932831B (zh) * 2023-09-14 2023-12-26 北京滴普科技有限公司 一种数据血缘图的构建方法及装置
CN116934067A (zh) * 2023-09-19 2023-10-24 广州信安数据有限公司 基于全链路监控数据的流程挖掘方法、存储介质和设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106294478B (zh) * 2015-06-04 2019-11-08 阿里巴巴集团控股有限公司 数据仓库的数据处理方法及装置
CN109213754B (zh) * 2018-03-29 2020-02-28 北京九章云极科技有限公司 一种数据处理***及数据处理方法
CN109582660B (zh) * 2018-12-06 2021-08-10 深圳前海微众银行股份有限公司 数据血缘分析方法、装置、设备、***及可读存储介质
CN109614433B (zh) * 2018-12-13 2022-02-15 杭州数梦工场科技有限公司 业务***间数据血缘的识别方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN110471949A (zh) 2019-11-19

Similar Documents

Publication Publication Date Title
CN110471949B (zh) 数据血缘分析方法、装置、***、服务器及存储介质
CN110908997B (zh) 数据血缘构建方法、装置、服务器及可读存储介质
CN109086325A (zh) 基于区块链的数据处理方法和装置
CN109344170B (zh) 流数据处理方法、***、电子设备及可读存储介质
US20140114822A1 (en) Method and system for creating tax configuration templates
DE112011100360T5 (de) System und Verfahren zum Aufbauen eines Clouds berücksichtigenden Lösungshintergrundes zur Massendatenanalyse
CN112580914A (zh) 汇集多源数据的企业级数据中台***的实现方法及装置
CN110060139B (zh) 账务处理方法及装置
CN113656245B (zh) 数据的巡检方法、装置、存储介质及处理器
CN110956269A (zh) 数据模型的生成方法、装置、设备以及计算机存储介质
CN111400288A (zh) 数据质量检查方法及***
CN111177237B (zh) 一种数据处理***、方法及装置
CN110895534A (zh) 一种数据拼接方法、装置、介质及电子设备
CN111552728A (zh) 区块链的数据处理方法、***、终端和存储介质
CN112905323A (zh) 数据处理方法、装置、电子设备及存储介质
CN114386986A (zh) 一种产品全生命周期数据的追溯平台
CN111414410A (zh) 数据处理方法、装置、设备和存储介质
CN114116065A (zh) 获取拓扑图数据对象的方法、装置、及电子设备
US10394793B1 (en) Method and system for governed replay for compliance applications
CN106777265B (zh) 一种业务数据的处理方法及装置
CN110928941B (zh) 一种数据分片抽取方法及装置
CN112597105A (zh) 文件关联对象的处理方法、服务端设备及存储介质
CN112491943A (zh) 数据请求方法、装置、存储介质和电子设备
CN111367500A (zh) 数据的处理方法和装置
CN115543428A (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
TA01 Transfer of patent application right

Effective date of registration: 20201010

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20201010

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant