CN112527816A - 数据血缘关系解析方法、***、计算机设备及存储介质 - Google Patents
数据血缘关系解析方法、***、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112527816A CN112527816A CN202011408452.5A CN202011408452A CN112527816A CN 112527816 A CN112527816 A CN 112527816A CN 202011408452 A CN202011408452 A CN 202011408452A CN 112527816 A CN112527816 A CN 112527816A
- Authority
- CN
- China
- Prior art keywords
- statement
- structured query
- log
- logs
- current
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/219—Managing data history or versioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24554—Unary operations; Data partitioning operations
- G06F16/24556—Aggregation; Duplicate elimination
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例属于大数据技术领域,应用于智慧医疗领域中,涉及一种数据血缘关系解析方法、***、计算机设备及存储介质,包括多个预先部署的服务器同步接收日志分配端分配的日志;获取日志中的结构化查询脚本,基于预设的加密算法分别加密结构化查询脚本中的结构化查询语句,获得语句值,其中,相同的结构化查询语句,通过加密算法获得的语句值相同;获取数据库中存储的历史语句值,对比是否存在与语句值相同的历史语句值,若不存在,则对结构化查询脚本进行解析操作,获得血缘关系结果;将语句值存储至所述数据库中,将血缘关系结果存储至预设的结果表中。其中,结果表可存储于区块链中。本申请能够快速确定结构化查询语句的解析情况。
Description
技术领域
本申请涉及大数据技术领域,尤其涉及数据血缘关系解析方法、***、计算机设备及存储介质。
背景技术
在数据的产生、加工、融合、流转和消亡过程中,数据之间形成一种关系,成为数据的血缘关系。随着计算机技术的不断发展,数据量的不断增多,数据之间血缘关系解析的重要性也不断凸显,通过血缘分析实现数据融合处理的可追溯,从而找到某数据对象为起点的所有相关元数据对象以及元数据对象之间的关系。
目前,在对结构化查询语句的血缘关系解析中,需要将已解析过的结构化查询语句和待判断的结构化查询语句进行一一比对,才能够确定待判断的结构化查询语句是否解析过。导致计算机难以快速的判断出结构化查询语句是否已经完成过血缘关系解析,计算机的数据处理速度较慢。
发明内容
本申请实施例的目的在于提出一种数据血缘关系解析方法、装置、计算机设备及存储介质,能够快速确定结构化查询语句的解析情况。
为了解决上述技术问题,本申请实施例提供一种数据血缘关系解析方法,采用了如下所述的技术方案:
一种数据血缘关系解析方法,包括下述步骤:
多个预先部署的服务器同步接收日志分配端分配的日志;
所述服务器获取所述日志中的结构化查询脚本,并通过预设的加密算法分别加密所述结构化查询脚本中的结构化查询语句,获得语句值,其中,相同的结构化查询语句,通过所述加密算法获得的语句值相同;
所述服务器获取数据库中存储的历史语句值,对比是否存在与当前的语句值相同的历史语句值,若不存在与当前的语句值相同的所述历史语句值,则对当前的语句值对应的结构化查询语句进行解析操作,获得血缘关系结果;
所述服务器将所述语句值存储至所述数据库中,并将所述血缘关系结果存储至预设的结果表中。
进一步的,在所述多个服务器同步多线程接收日志的步骤之前,还包括:
日志分配端识别多个预先部署的服务器当前正在处理的日志数量;
日志分配端获取多个日志,基于所述日志数量将所述日志分配给不同的服务器。
进一步的,所述日志分配端获取多个待分配的日志,基于所述日志数量将所述待分配的日志分配给不同的服务器的步骤包括:
日志分配端将日志逐条分配给当前正在处理的日志数量最少的服务器,直至完成日志分配或者当前各服务器正在处理的日志数量相等;
日志分配端识别是否存在未分配的日志,在存在未分配的日志时,将所述未分配的日志均分给所述不同的服务器。
进一步的,在所述服务器将所述语句值存储至所述数据库中,并将所述血缘关系结果存储至预设的结果表中的步骤之后,还包括:
当前服务器接收携带有第一日志标识的第一血缘解析完成信号;
当前服务器识别已接收到的第一血缘解析完成信号的数量与部署的服务器的数量之间的差值是否为数字一;
在所述差值为数字一时,当前服务器获取当前正在处理的日志所携带的日志标识,在当前的日志标识与所述第一日志标识不同时,当前服务器对所述结果表中的血缘关系结果进行全量去重操作;
在所述差值不为数字一时,当前服务器获取当前正在处理的日志所携带的日志标识,在当前的日志标识与所述第一日志标识不同时,向所有的服务器发送携带所述第一日志标识的第二血缘解析完成信号。
进一步的,所述通过预设的加密算法分别加密所述结构化查询脚本中的结构化查询语句,获得语句值的步骤包括:
通过MD5加密算法对分别加密所述结构化查询脚本中的结构化查询语句,获得所述语句值。
进一步的,所述对当前的语句值对应的结构化查询语句进行解析操作,获得血缘关系结果的步骤包括:
对所述结构化查询语句进行初步血缘解析操作,获得信息语法树;
提取所述信息语法树中的预设的目标、目标的来源库、目标的来源表和目标的来源字段,并关联所述目标、所述目标的来源库、所述目标的来源表和所述目标的来源字段,获得所述血缘关系结果。
进一步的,在所述服务器对比所述语句值与数据库中的历史语句值是否相同的步骤之后,还包括:
在存在与所述语句值相同的所述历史语句值时,确定与所述历史语句值具有映射关系的血缘关系的记录时间,将所述记录时间修改为当前时间。
为了解决上述技术问题,本申请实施例还提供一种数据血缘关系解析***,采用了如下所述的技术方案:
一种数据血缘关系解析***,数据血缘关系解析***包括多个服务器和日志分配端,其中,所述服务器包括:接收模块、加密模块、对比模块和存储模块;
所述接收模块,用于接收日志分配端分配的日志;
所述加密模块,用于获取所述日志中的结构化查询脚本,并通过预设的加密算法分别加密所述结构化查询脚本中的结构化查询语句,获得语句值,其中,相同的结构化查询语句,通过所述加密算法获得的语句值相同;
所述对比模块,用于获取数据库中存储的历史语句值,对比是否存在与当前的语句值相同的历史语句值,若不存在与当前的语句值相同的所述历史语句值,则对当前的语句值对应的结构化查询语句进行解析操作,获得血缘关系结果;
所述存储模块,用于将所述语句值存储至所述数据库中,并将所述血缘关系结果存储至预设的结果表中。
为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现上述的数据血缘关系解析方法的步骤。
为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现上述的数据血缘关系解析方法的步骤。
与现有技术相比,本申请实施例主要有以下有益效果:本申请通过多个预先部署的服务器同步接收日志分配端分配的日志,有利于对日志的同步处理,避免日志的堆积。服务器通过预设的加密算法加密结构化查询语句,获得语句值;通过对比语句值和历史语句值是否相同,从而实现快速的确定当前语句值对应的结构化查询语句是否已经完成过血缘解析。若不存在与所述语句值相同的所述历史语句值时,则对所述结构化查询脚本进行解析操作,获得血缘关系结果。通过直接解析结构化查询语句,获得完整的血缘关系。通过对比语句值和历史语句值实现快速的确定解析情况,避免了对结构化查询语句的重复解析。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请可以应用于其中的示例性***架构图;
图2是根据本申请的数据血缘关系解析方法的一个实施例的流程图;
图3是根据本申请的数据血缘关系解析***的一个实施例的结构示意图;
图4是根据本申请的计算机设备的一个实施例的结构示意图。
附图标记:200、计算机设备;201、存储器;202、处理器;203、网络接口;300、服务器;301、接收模块;302、加密模块;303、对比模块;304、存储模块。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
本申请实施例的数据血缘关系解析方法应用于数据徐媛关系解析***中。如图1所示,***架构包括服务器和日志分配端。不同的服务器之间、服务器与日志分配端之间均通过网络进行连接,网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
日志分配端可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture Experts Group AudioLayer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts GroupAudio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
应该理解,图1中的服务器和日志分配端的数目仅仅是示意性的。根据实现需要,可以具有任意数目的服务器和日志分配端。
继续参考图2,示出了根据本申请的数据血缘关系解析方法的一个实施例的流程图。所述的数据血缘关系解析方法,包括以下步骤:
S1:多个预先部署的服务器同步接收日志分配端分配的日志。
在本实施例中,多台服务器同步接收处理日志的方式,能够应对大批量的日志,避免了日志堆积,实现了对日志的快速解析。
在本实施例中,服务器可以通过有线连接方式或者无线连接方式接收日志分配端分配的日志。需要指出的是,上述无线连接方式可以包括但不限于3G/4G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。
S2:所述服务器获取所述日志中的结构化查询脚本,并通过预设的加密算法分别加密所述结构化查询脚本中的结构化查询语句,获得语句值。
在本实施例中,通过加密算法加密结构化查询语句,获得对应的语句值,便于后续的通过语句值进行对比分析。
具体的,在步骤S2中,即所述通过预设的加密算法分别加密所述结构化查询脚本中的结构化查询语句,获得语句值的步骤包括:
通过MD5加密算法对分别加密所述结构化查询脚本中的结构化查询语句,获得所述语句值。
在本实施例中,MD5加密算法,即MD5消息摘要算法(MD5 Message-DigestAlgorithm),是一种广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(Hash Value),用于确保信息传输完整一致。且MD5加密算法运算简便,能够保证计算机对数据处理的高效运行,对于一个固定的字符串,MD5加密后的字符串是固定的,适用于本申请。
需要说明的是,在实际应用中可以选用其他的加密算法来加密结构化查询语句,只要该加密算法符合:加密相同的结构化查询语句,生成的语句值相同,以适用本申请即可。
S3:所述服务器获取数据库中存储的历史语句值,对比是否存在与当前的语句值相同的历史语句值,若不存在与当前的语句值相同的所述历史语句值,则对当前的语句值对应的结构化查询语句进行解析操作,获得血缘关系结果。
在本实施例中,若不存在与当前的语句值相同的所述历史语句值,则能够快速的确定出该语句值所对应的结构化查询语句未解析过,从而对该结构化查询语句执行解析操作,获得该结构化查询语句所对应的血缘关系结果。
具体的,在步骤S3中,即所述对当前的语句值对应的结构化查询语句进行解析操作,获得血缘关系结果的步骤包括:
对所述结构化查询语句进行初步血缘解析操作,获得信息语法树;
提取所述信息语法树中的预设的目标、目标的来源库、目标的来源表和目标的来源字段,并关联所述目标、所述目标的来源库、所述目标的来源表和所述目标的来源字段,获得所述血缘关系结果。
在本实施例中,通过对结构化查询语句的初步血缘解析操作,获得信息语法树。基于信息语法树能够直接提取预设的目标、目标的来源库、目标的来源表和目标的来源字段和其关联关系,从而基于关联关系生成血缘关系结果。
S4:所述服务器将所述语句值存储至所述数据库中,并将所述血缘关系结果存储至预设的结果表中。
在本实施例中,将语句值存储至数据库中,扩充了历史语句值。并将血缘关系结果存储至结果表中,便于在需要时,直接在结果表中进行查找。
在步骤S3之后,即在所述服务器对比所述语句值与数据库中的历史语句值是否相同的步骤之后,还包括:
在存在与所述语句值相同的所述历史语句值时,确定与所述历史语句值具有映射关系的血缘关系的记录时间,将所述记录时间修改为当前时间。
在本实施例中,在存在与所述语句值相同的所述历史语句值时,则确定该语句值对应的结构化查询语句已经被解析过,无需重复解析。但需要修改与所述历史语句值具有映射关系的血缘关系的记录时间为当前时间,便于后续的查找与应用。避免血缘关系的对应的记录时间过久而在其他的清洗操作中被删除等情况的发生。
在步骤S4之后,即在所述服务器将所述语句值存储至所述数据库中,并将所述血缘关系结果存储至预设的结果表中的步骤之后,还包括:
当前服务器接收携带有第一日志标识的第一血缘解析完成信号;
当前服务器识别已接收到的第一血缘解析完成信号的数量与部署的服务器的数量之间的差值是否为数字一;
在所述差值为数字一时,当前服务器获取当前正在处理的日志所携带的日志标识,在当前的日志标识与所述第一日志标识不同时,当前服务器对所述结果表中的血缘关系结果进行全量去重操作;
在所述差值不为数字一时,当前服务器获取当前正在处理的日志所携带的日志标识,在当前的日志标识与所述第一日志标识不同时,向所有的服务器发送携带所述第一日志标识的第二血缘解析完成信号。
在本实施例中,携带有第一日志标识的第一血缘解析完成信号来自于其他服务器。当其他服务器对当前场景所分配的日志,完成解析后,传输携带有第一日志标识的第一血缘解析完成信号至当前服务器。在当前的日志标识与第一日志标识相同时,确定还未完成对分配过来的,当前场景的日志的解析任务,则需要继续解析下一条日志。本申请在多个服务器分别获取日志数据之后,不同的服务器分别通过上述的数据处理过程进行数据处理。在某个服务器对当前场景的所有日志处理结束后,同时向其他服务器发送当前场景日志的处理完成通知,即第一血缘解析完成信号,直至最后一个服务器完成数据处理后,由最后一个服务器对结果表中的血缘关系进行全量去重操作,避免了服务器的重复去重操作。具体的,上述服务器对于当前场景的日志是否完成解析的判断是通过日志标识,第一场景中的所有日志均携带有第一日志标识,第二场景中的所有日志均携带有第二日志标识。服务器同步接收第一场景中的所有日志并解析。当服务器识别到当前正在解析的日志标识为非第一日志标识时,即表示以完成对第一场景中的所有日志的血缘解析操作,则向其他服务器发送携带有第一日志标识的第二血缘解析完成信号,以便于其他服务器获知每个服务器的进度。当在所述差值为数字一时,确定其他服务器均已完成对所分配的,第一场景中的日志的血缘解析操作,当前服务器获取当前正在处理的日志所携带的日志标识,在当前的日志标识与所述第一日志标识不同时,当前服务器确定完成对第一场景中所有日志的血缘解析。则可以当前服务器对所述结果表中的血缘关系结果进行一次全量去重操作。
在步骤S1之前,即在所述多个服务器同步多线程接收日志的步骤之前,还包括:
日志分配端识别多个预先部署的服务器当前正在处理的日志数量;
日志分配端获取多个日志,基于所述日志数量将所述日志分配给不同的服务器。
在本实施例中,日志分配端根据不同的服务器正在处理的日志数量,来对日志进行分配。保证了不同服务器的处理进度的一致性。
具体的,所述日志分配端获取多个待分配的日志,基于所述日志数量将所述待分配的日志分配给不同的服务器的步骤包括:
日志分配端将日志逐条分配给当前正在处理的日志数量最少的服务器,直至完成日志分配或者当前各服务器正在处理的日志数量相等;
日志分配端识别是否存在未分配的日志,在存在未分配的日志时,将所述未分配的日志均分给所述不同的服务器。
在本实施例中,本申请设置有多个同步处理的服务器获取日志数据。日志分配端在进行日志分配时,基于当前服务器正在处理的日志的数量进行分配。例如,服务器当前正在处理的数据的日志条数分别为x,y,z条,其中,x≥y≥z,则日志分配端先逐条将日志分配给当前正在处理的日志数量最少的服务器,直到完成日志分配或者当前各服务器正在处理的日志数量相等,即x=y=z,日志分配端再将剩下的日志均分给不同的服务器,以保证多个服务器之间的处理进度相近,保证数据的处理速度。
本申请通过多个预先部署的服务器同步接收日志分配端分配的日志,有利于对日志的同步处理,避免日志的堆积。服务器通过预设的加密算法加密结构化查询语句,获得语句值;通过对比语句值和历史语句值是否相同,从而实现快速的确定当前语句值对应的结构化查询语句是否已经完成过血缘解析。若不存在与所述语句值相同的所述历史语句值时,则对所述结构化查询脚本进行解析操作,获得血缘关系结果。通过直接解析结构化查询语句,获得完整的血缘关系。通过对比语句值和历史语句值实现快速的确定解析情况,避免了对结构化查询语句的重复解析。
需要强调的是,为进一步保证上述结果表的私密和安全性,上述结果表还可以存储于一区块链的节点中。
本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
本申请可应用于智慧医疗领域中,用于医疗数据的血缘分析,从而推动智慧城市的建设。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,该计算机可读指令可存储于一计算机可读取存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
进一步参考图3,作为对上述图2所示方法的实现,本申请提供了一种数据血缘关系解析***的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图3所示,本实施例所述的数据血缘关系解析***包括多个服务器和日志分配端:其中,所述服务器300包括:接收模块301、加密模块302、对比模块303和存储模块304;
所述接收模块301,用于接收日志分配端分配的日志;
所述加密模块302,用于获取所述日志中的结构化查询脚本,并通过预设的加密算法分别加密所述结构化查询脚本中的结构化查询语句,获得语句值,其中,相同的结构化查询语句,通过所述加密算法获得的语句值相同;
所述对比模块303,用于获取数据库中存储的历史语句值,对比是否存在与当前的语句值相同的历史语句值,若不存在与当前的语句值相同的所述历史语句值,则对当前的语句值对应的结构化查询语句进行解析操作,获得血缘关系结果;
所述存储模块304,用于将所述语句值存储至所述数据库中,并将所述血缘关系结果存储至预设的结果表中。
在本实施例中,本申请通过多个预先部署的服务器同步接收日志分配端分配的日志,有利于对日志的同步处理,避免日志的堆积。服务器通过预设的加密算法加密结构化查询语句,获得语句值;通过对比语句值和历史语句值是否相同,从而实现快速的确定当前语句值对应的结构化查询语句是否已经完成过血缘解析。若不存在与所述语句值相同的所述历史语句值时,则对所述结构化查询脚本进行解析操作,获得血缘关系结果。通过直接解析结构化查询语句,获得完整的血缘关系。通过对比语句值和历史语句值实现快速的确定解析情况,避免了对结构化查询语句的重复解析。
在本实施例的一些可选的实现方式中,上述加密模块302进一步用于:通过MD5加密算法对分别加密所述结构化查询脚本中的结构化查询语句,获得所述语句值。
所述对比模块303包括解析子模块和提取子模块。解析子模块用于对所述结构化查询语句进行初步血缘解析操作,获得信息语法树;提取子模块用于提取所述信息语法树中的预设的目标、目标的来源库、目标的来源表和目标的来源字段,并关联所述目标、所述目标的来源库、所述目标的来源表和所述目标的来源字段,获得所述血缘关系结果。
在本实施例的一些可选的实现方式中,上述服务器300还包括:时间修改模块,用于在存在与所述语句值相同的所述历史语句值时,确定与所述历史语句值具有映射关系的血缘关系的记录时间,将所述记录时间修改为当前时间。
在本实施例的一些可选的实现方式中,上述服务器300还包括:识别模块,其中,所述识别模块包括信号接收子模块、识别子模块、去重子模块和信号发送子模块。信号接收子模块用于接收携带有第一日志标识的第一血缘解析完成信号;识别子模块用于识别已接收到的第一血缘解析完成信号的数量与部署的服务器的数量之间的差值是否为数字一;去重子模块用于在所述差值为数字一时,获取当前正在处理的日志所携带的日志标识,在当前的日志标识与所述第一日志标识不同时,当前服务器对所述结果表中的血缘关系结果进行全量去重操作;信号发送子模块用于在所述差值不为数字一时,获取当前正在处理的日志所携带的日志标识,在当前的日志标识与所述第一日志标识不同时,向所有的服务器发送携带所述第一日志标识的第二血缘解析完成信号。
所述日志分配端用于识别多个预先部署的服务器当前正在处理的日志数量,并获取多个日志,基于所述日志数量将所述日志分配给不同的服务器。
所述日志分配端包括分配模块和均分模块。分配模块用于日志分配端将日志逐条分配给当前正在处理的日志数量最少的服务器,直至完成日志分配或者当前各服务器正在处理的日志数量相等;均分模块用于日志分配端识别是否存在未分配的日志,在存在未分配的日志时,将所述未分配的日志均分给所述不同的服务器。
本申请通过多个预先部署的服务器同步接收日志分配端分配的日志,有利于对日志的同步处理,避免日志的堆积。服务器通过预设的加密算法加密结构化查询语句,获得语句值;通过对比语句值和历史语句值是否相同,从而实现快速的确定当前语句值对应的结构化查询语句是否已经完成过血缘解析。若不存在与所述语句值相同的所述历史语句值时,则对所述结构化查询脚本进行解析操作,获得血缘关系结果。通过直接解析结构化查询语句,获得完整的血缘关系。通过对比语句值和历史语句值实现快速的确定解析情况,避免了对结构化查询语句的重复解析。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图4,图4为本实施例计算机设备基本结构框图。
所述计算机设备200包括通过***总线相互通信连接存储器201、处理器202、网络接口203。需要指出的是,图中仅示出了具有组件201-203的计算机设备200,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器201至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器201可以是所述计算机设备200的内部存储单元,例如该计算机设备200的硬盘或内存。在另一些实施例中,所述存储器201也可以是所述计算机设备200的外部存储设备,例如该计算机设备200上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器201还可以既包括所述计算机设备200的内部存储单元也包括其外部存储设备。本实施例中,所述存储器201通常用于存储安装于所述计算机设备200的操作***和各类应用软件,例如数据血缘关系解析方法的计算机可读指令等。此外,所述存储器201还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器202在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器202通常用于控制所述计算机设备200的总体操作。本实施例中,所述处理器202用于运行所述存储器201中存储的计算机可读指令或者处理数据,例如运行所述数据血缘关系解析方法的计算机可读指令。
所述网络接口203可包括无线网络接口或有线网络接口,该网络接口203通常用于在所述计算机设备200与其他电子设备之间建立通信连接。
在本实施例中,通过加密算法获得语句值,通过直接对比语句值和历史语句值实现快速的确定解析情况,避免了对结构化查询语句的重复解析。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被至少一个处理器执行,以使所述至少一个处理器执行如上述的数据血缘关系解析方法的步骤。
在本实施例中,通过加密算法获得语句值,通过直接对比语句值和历史语句值实现快速的确定解析情况,避免了对结构化查询语句的重复解析。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。
Claims (10)
1.一种数据血缘关系解析方法,其特征在于,包括下述步骤:
多个预先部署的服务器同步接收日志分配端分配的日志;
所述服务器获取所述日志中的结构化查询脚本,并通过预设的加密算法分别加密所述结构化查询脚本中的结构化查询语句,获得语句值,其中,相同的结构化查询语句,通过所述加密算法获得的语句值相同;
所述服务器获取数据库中存储的历史语句值,对比是否存在与当前的语句值相同的历史语句值,若不存在与当前的语句值相同的所述历史语句值,则对当前的语句值对应的结构化查询语句进行解析操作,获得血缘关系结果;
所述服务器将所述语句值存储至所述数据库中,并将所述血缘关系结果存储至预设的结果表中。
2.根据权利要求1所述的数据血缘关系解析方法,其特征在于,在所述多个服务器同步多线程接收日志的步骤之前,还包括:
日志分配端识别多个预先部署的服务器当前正在处理的日志数量;
日志分配端获取多个日志,基于所述日志数量将所述日志分配给不同的服务器。
3.根据权利要求2所述的数据血缘关系解析方法,其特征在于,所述日志分配端获取多个待分配的日志,基于所述日志数量将所述待分配的日志分配给不同的服务器的步骤包括:
日志分配端将日志逐条分配给当前正在处理的日志数量最少的服务器,直至完成日志分配或者当前各服务器正在处理的日志数量相等;
日志分配端识别是否存在未分配的日志,在存在未分配的日志时,将所述未分配的日志均分给所述不同的服务器。
4.根据权利要求1所述的数据血缘关系解析方法,其特征在于,在所述服务器将所述语句值存储至所述数据库中,并将所述血缘关系结果存储至预设的结果表中的步骤之后,还包括:
当前服务器接收携带有第一日志标识的第一血缘解析完成信号;
当前服务器识别已接收到的第一血缘解析完成信号的数量与部署的服务器的数量之间的差值是否为数字一;
在所述差值为数字一时,当前服务器获取当前正在处理的日志所携带的日志标识,在当前的日志标识与所述第一日志标识不同时,当前服务器对所述结果表中的血缘关系结果进行全量去重操作;
在所述差值不为数字一时,当前服务器获取当前正在处理的日志所携带的日志标识,在当前的日志标识与所述第一日志标识不同时,向所有的服务器发送携带所述第一日志标识的第二血缘解析完成信号。
5.根据权利要求1所述的数据血缘关系解析方法,其特征在于,所述通过预设的加密算法分别加密所述结构化查询脚本中的结构化查询语句,获得语句值的步骤包括:
通过MD5加密算法对分别加密所述结构化查询脚本中的结构化查询语句,获得所述语句值。
6.根据权利要求1所述的数据血缘关系解析方法,其特征在于,所述对当前的语句值对应的结构化查询语句进行解析操作,获得血缘关系结果的步骤包括:
对所述结构化查询语句进行初步血缘解析操作,获得信息语法树;
提取所述信息语法树中的预设的目标、目标的来源库、目标的来源表和目标的来源字段,并关联所述目标、所述目标的来源库、所述目标的来源表和所述目标的来源字段,获得所述血缘关系结果。
7.根据权利要求1所述的数据血缘关系解析方法,其特征在于,在所述服务器对比所述语句值与数据库中的历史语句值是否相同的步骤之后,还包括:
在存在与所述语句值相同的所述历史语句值时,确定与所述历史语句值具有映射关系的血缘关系的记录时间,将所述记录时间修改为当前时间。
8.一种数据血缘关系解析***,其特征在于,数据血缘关系解析***包括多个服务器和日志分配端,其中,所述服务器包括:接收模块、加密模块、对比模块和存储模块;
所述接收模块,用于接收日志分配端分配的日志;
所述加密模块,用于获取所述日志中的结构化查询脚本,并通过预设的加密算法分别加密所述结构化查询脚本中的结构化查询语句,获得语句值,其中,相同的结构化查询语句,通过所述加密算法获得的语句值相同;
所述对比模块,用于获取数据库中存储的历史语句值,对比是否存在与当前的语句值相同的历史语句值,若不存在与当前的语句值相同的所述历史语句值,则对当前的语句值对应的结构化查询语句进行解析操作,获得血缘关系结果;
所述存储模块,用于将所述语句值存储至所述数据库中,并将所述血缘关系结果存储至预设的结果表中。
9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至7中任一项所述的数据血缘关系解析方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至7中任一项所述的数据血缘关系解析方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011408452.5A CN112527816B (zh) | 2020-12-03 | 2020-12-03 | 数据血缘关系解析方法、***、计算机设备及存储介质 |
PCT/CN2021/083128 WO2022116425A1 (zh) | 2020-12-03 | 2021-03-26 | 数据血缘关系解析方法、***、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011408452.5A CN112527816B (zh) | 2020-12-03 | 2020-12-03 | 数据血缘关系解析方法、***、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112527816A true CN112527816A (zh) | 2021-03-19 |
CN112527816B CN112527816B (zh) | 2023-06-02 |
Family
ID=74997228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011408452.5A Active CN112527816B (zh) | 2020-12-03 | 2020-12-03 | 数据血缘关系解析方法、***、计算机设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112527816B (zh) |
WO (1) | WO2022116425A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113064869A (zh) * | 2021-03-23 | 2021-07-02 | 网易(杭州)网络有限公司 | 日志处理方法、装置、发送端、接收端设备及存储介质 |
CN114253995A (zh) * | 2022-03-01 | 2022-03-29 | 深圳市明源云科技有限公司 | 数据溯源方法、装置、设备及计算机可读存储介质 |
WO2022116425A1 (zh) * | 2020-12-03 | 2022-06-09 | 平安科技(深圳)有限公司 | 数据血缘关系解析方法、***、计算机设备及存储介质 |
CN115827677A (zh) * | 2023-01-10 | 2023-03-21 | 北京沐融信息科技股份有限公司 | 一种数据库操作的方法、装置及存储介质 |
CN116662308A (zh) * | 2023-07-28 | 2023-08-29 | 恩核(北京)信息技术有限公司 | 基于数仓日志文件的血缘数据提取方法 |
CN116932656A (zh) * | 2023-09-18 | 2023-10-24 | 中孚安全技术有限公司 | 基于区块链的数据血缘存储方法、***、设备及介质 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116628451B (zh) * | 2023-05-31 | 2023-11-14 | 江苏华存电子科技有限公司 | 一种待处理信息的高速解析方法 |
CN116484084B (zh) * | 2023-06-21 | 2023-11-17 | 广州信安数据有限公司 | 基于应用信息挖掘的元数据血缘分析方法、介质及*** |
CN116541887B (zh) * | 2023-07-07 | 2023-09-15 | 云启智慧科技有限公司 | 一种大数据平台数据安全保护方法 |
CN117312331B (zh) * | 2023-12-01 | 2024-03-29 | 浪潮云信息技术股份公司 | 一种元数据血缘分析方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160255139A1 (en) * | 2016-03-12 | 2016-09-01 | Yogesh Chunilal Rathod | Structured updated status, requests, user data & programming based presenting & accessing of connections or connectable users or entities and/or link(s) |
US20170147705A1 (en) * | 2015-11-19 | 2017-05-25 | Sap Se | Extensions of structured query language for database-native support of graph data |
CN110232056A (zh) * | 2019-05-21 | 2019-09-13 | 苏宁云计算有限公司 | 一种结构化查询语言的血缘解析方法及其工具 |
CN110298001A (zh) * | 2019-05-30 | 2019-10-01 | 北京奇艺世纪科技有限公司 | 日志数据包的获取方法和装置及计算机可读存储介质 |
CN111459967A (zh) * | 2020-03-03 | 2020-07-28 | 深圳壹账通智能科技有限公司 | 结构化查询语句生成方法、装置、电子设备及介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110781520A (zh) * | 2019-10-30 | 2020-02-11 | 上海观安信息技术股份有限公司 | 一种敏感表群体发现方法及*** |
CN111666326B (zh) * | 2020-05-29 | 2023-03-14 | 中国工商银行股份有限公司 | Etl调度方法及装置 |
CN112015722A (zh) * | 2020-11-02 | 2020-12-01 | 浙江大华技术股份有限公司 | 数据库管理方法、数据血缘分析方法以及相关装置 |
CN112527816B (zh) * | 2020-12-03 | 2023-06-02 | 平安科技(深圳)有限公司 | 数据血缘关系解析方法、***、计算机设备及存储介质 |
-
2020
- 2020-12-03 CN CN202011408452.5A patent/CN112527816B/zh active Active
-
2021
- 2021-03-26 WO PCT/CN2021/083128 patent/WO2022116425A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170147705A1 (en) * | 2015-11-19 | 2017-05-25 | Sap Se | Extensions of structured query language for database-native support of graph data |
US20160255139A1 (en) * | 2016-03-12 | 2016-09-01 | Yogesh Chunilal Rathod | Structured updated status, requests, user data & programming based presenting & accessing of connections or connectable users or entities and/or link(s) |
CN110232056A (zh) * | 2019-05-21 | 2019-09-13 | 苏宁云计算有限公司 | 一种结构化查询语言的血缘解析方法及其工具 |
CN110298001A (zh) * | 2019-05-30 | 2019-10-01 | 北京奇艺世纪科技有限公司 | 日志数据包的获取方法和装置及计算机可读存储介质 |
CN111459967A (zh) * | 2020-03-03 | 2020-07-28 | 深圳壹账通智能科技有限公司 | 结构化查询语句生成方法、装置、电子设备及介质 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022116425A1 (zh) * | 2020-12-03 | 2022-06-09 | 平安科技(深圳)有限公司 | 数据血缘关系解析方法、***、计算机设备及存储介质 |
CN113064869A (zh) * | 2021-03-23 | 2021-07-02 | 网易(杭州)网络有限公司 | 日志处理方法、装置、发送端、接收端设备及存储介质 |
CN113064869B (zh) * | 2021-03-23 | 2023-06-13 | 网易(杭州)网络有限公司 | 日志处理方法、装置、发送端、接收端设备及存储介质 |
CN114253995A (zh) * | 2022-03-01 | 2022-03-29 | 深圳市明源云科技有限公司 | 数据溯源方法、装置、设备及计算机可读存储介质 |
CN114253995B (zh) * | 2022-03-01 | 2022-05-27 | 深圳市明源云科技有限公司 | 数据溯源方法、装置、设备及计算机可读存储介质 |
CN115827677A (zh) * | 2023-01-10 | 2023-03-21 | 北京沐融信息科技股份有限公司 | 一种数据库操作的方法、装置及存储介质 |
CN116662308A (zh) * | 2023-07-28 | 2023-08-29 | 恩核(北京)信息技术有限公司 | 基于数仓日志文件的血缘数据提取方法 |
CN116662308B (zh) * | 2023-07-28 | 2023-11-03 | 恩核(北京)信息技术有限公司 | 基于数仓日志文件的血缘数据提取方法 |
CN116932656A (zh) * | 2023-09-18 | 2023-10-24 | 中孚安全技术有限公司 | 基于区块链的数据血缘存储方法、***、设备及介质 |
CN116932656B (zh) * | 2023-09-18 | 2024-01-09 | 中孚安全技术有限公司 | 基于区块链的数据血缘存储方法、***、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112527816B (zh) | 2023-06-02 |
WO2022116425A1 (zh) | 2022-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112527816B (zh) | 数据血缘关系解析方法、***、计算机设备及存储介质 | |
CN109189367B (zh) | 一种数据处理方法、装置、服务器及存储介质 | |
CN108846753B (zh) | 用于处理数据的方法和装置 | |
CN104598815B (zh) | 恶意广告程序的识别方法、装置及客户端 | |
CN110795499B (zh) | 基于大数据的集群数据同步方法、装置、设备及存储介质 | |
CN111694840A (zh) | 数据同步方法、装置、服务器及存储介质 | |
CN109657107B (zh) | 一种基于第三方应用的终端匹配方法和装置 | |
CN111460394A (zh) | 一种版权文件的验证方法、装置及计算机可读存储介质 | |
CN112988674A (zh) | 大数据文件的处理方法、装置、计算机设备及存储介质 | |
CN111680477A (zh) | 导出电子表格文件的方法、装置、计算机设备及存储介质 | |
CN112163412A (zh) | 数据校验方法、装置、电子设备及存储介质 | |
CN112468409A (zh) | 访问控制方法、装置、计算机设备及存储介质 | |
CN111629063A (zh) | 基于区块链的分布式文件下载的方法和电子设备 | |
CN112436943B (zh) | 基于大数据的请求去重方法、装置、设备及存储介质 | |
WO2022126962A1 (zh) | 基于知识图谱的引导教唆语料的检测方法及其相关设备 | |
CN109977675B (zh) | 一种开源软件识别方法及装置 | |
CN110020040B (zh) | 查询数据的方法、装置和*** | |
CN113791735A (zh) | 视频数据存储方法、装置、计算机设备及存储介质 | |
WO2019072037A1 (zh) | 用于推送接入信息的方法和设备 | |
CN115455020A (zh) | 一种增量数据同步方法、装置、计算机设备及存储介质 | |
CN108628909B (zh) | 信息推送方法和装置 | |
CN113610527B (zh) | 联盟链的交易方法、装置、***、终端设备及存储介质 | |
CN114615325A (zh) | 消息推送方法、装置、计算机设备及存储介质 | |
CN114116710A (zh) | 基于区块链的数据处理方法、装置、设备及存储介质 | |
CN113760876A (zh) | 一种数据过滤方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |