CN117009371A - 数据血缘分析方法、装置、设备、存储介质及程序产品 - Google Patents
数据血缘分析方法、装置、设备、存储介质及程序产品 Download PDFInfo
- Publication number
- CN117009371A CN117009371A CN202211025663.XA CN202211025663A CN117009371A CN 117009371 A CN117009371 A CN 117009371A CN 202211025663 A CN202211025663 A CN 202211025663A CN 117009371 A CN117009371 A CN 117009371A
- Authority
- CN
- China
- Prior art keywords
- data
- blood
- edge
- upstream
- service 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
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 195
- 239000008280 blood Substances 0.000 title claims abstract description 167
- 210000004369 blood Anatomy 0.000 title claims abstract description 167
- 238000003860 storage Methods 0.000 title claims abstract description 17
- 238000011144 upstream manufacturing Methods 0.000 claims abstract description 189
- 238000010586 diagram Methods 0.000 claims abstract description 64
- 238000000034 method Methods 0.000 claims abstract description 48
- 238000009877 rendering Methods 0.000 claims abstract description 31
- 238000004590 computer program Methods 0.000 claims abstract description 9
- -1 relationship Substances 0.000 claims abstract description 3
- 238000013500 data storage Methods 0.000 claims description 37
- 230000002776 aggregation Effects 0.000 claims description 27
- 238000004220 aggregation Methods 0.000 claims description 27
- 230000015654 memory Effects 0.000 claims description 27
- 230000004044 response Effects 0.000 claims description 17
- 230000001960 triggered effect Effects 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 16
- 238000013480 data collection Methods 0.000 claims description 7
- 230000005856 abnormality Effects 0.000 claims description 6
- 239000007787 solid Substances 0.000 claims description 2
- 238000012545 processing Methods 0.000 description 39
- 238000005516 engineering process Methods 0.000 description 16
- 238000006243 chemical reaction Methods 0.000 description 13
- 150000007523 nucleic acids Chemical class 0.000 description 7
- 102000039446 nucleic acids Human genes 0.000 description 7
- 108020004707 nucleic acids Proteins 0.000 description 7
- 230000000007 visual effect Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000004931 aggregating effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 4
- 238000013523 data management Methods 0.000 description 4
- 238000013499 data model Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000007405 data analysis Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000013475 authorization Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 2
- 238000003745 diagnosis Methods 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 235000019580 granularity Nutrition 0.000 description 2
- 238000001802 infusion Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000010224 classification analysis Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000001212 derivatisation Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000011010 flushing procedure Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000006317 isomerization reaction Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H50/00—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
- G16H50/70—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for mining of medical data, e.g. analysing previous cases of other patients
-
- 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)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Public Health (AREA)
- Medical Informatics (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Pathology (AREA)
- Mathematical Physics (AREA)
- Epidemiology (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种数据血缘分析方法、装置、设备、计算机可读存储介质及计算机程序产品;方法包括:响应于针对目标业务数据的分析请求,获取所述目标业务数据对应的链路数据;其中,所述链路数据用于表征所述目标业务数据的上下游血缘关系,所述上下游血缘关系用于表征所述目标业务数据的数据流向;对所述链路数据进行血缘关系解析,得到所述目标业务数据对应的上下游血缘关系;基于所述上下游血缘关系进行渲染,得到所述目标业务数据对应的血缘关系图,以通过所述血缘关系图对所述目标业务数据进行分析。通过本申请,能够提高数据血缘分析的准确度。
Description
技术领域
本申请涉及大数据技术及区块链技术,尤其涉及一种数据血缘分析方法、装置、设备、存储介质及程序产品。
背景技术
在医疗机构信息化建设项目中,大数据治理是不可或缺的一环,医疗机构各部门或科室有多个数据库,当信息化建设达到一定规模,日均产生的解析目标数据可达到十亿、甚至百亿以上的规模,在经过数据的采集、传输、汇聚、清洗、应用等多个数据计算、数据治理等流程,形成了在大数据仓库中的原始层、明细层、结果层等多个数仓层级,当多系统数据融合时,面对纷繁复杂的数据结构,如何快速了解数据的来龙去脉,追根溯源,厘清数据之间的链路关系,至今仍是大数据治理的痛点难点。
相关技术基于结构化数据对通用数据进行血缘分析,但此种方式未考虑到数据的异构化特征,难以实现全链路式溯源,导致数据分析的准确度较低。
发明内容
本申请实施例提供一种数据血缘分析方法、装置、设备、计算机可读存储介质及计算机程序产品,能够提高数据血缘分析的准确度。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种数据血缘分析方法,应用于服务器,包括:
响应于针对目标业务数据的分析请求,获取所述目标业务数据对应的链路数据;
其中,所述链路数据用于表征所述目标业务数据的上下游血缘关系,所述上下游血缘关系用于表征所述目标业务数据的数据流向;
对所述链路数据进行血缘关系解析,得到所述目标业务数据对应的上下游血缘关系;
基于所述上下游血缘关系进行渲染,得到所述目标业务数据对应的血缘关系图,以通过所述血缘关系图对所述目标业务数据进行分析。
上述方案中,所述响应于针对目标业务数据的分析请求,获取所述目标业务数据对应的链路数据之前,所述方法还包括:
响应于针对目标业务的数据采集请求,对所述目标业务对应的至少一个维度的业务数据进行数据采集,得到各所述维度的业务数据对应的链路数据;
其中,所述至少一个维度的业务数据至少包括所述目标业务数据,所述链路数据记录了相应维度的业务数据的数据流向的上下游血缘关系;
对各所述维度的业务数据对应的链路数据进行血缘关系解析,得到各所述维度的业务数据对应的上下游血缘关系,并提供各所述维度的业务数据对应的分析入口;
响应于所述目标业务数据对应的分析入口被触发,接收到针对所述目标业务数据的分析请求。
上述方案中,所述对所述目标业务对应的至少一个维度的业务数据进行数据采集之前,所述方法还包括:
创建用于采集所述目标业务的业务数据的采集实例,响应于针对所述采集实例的调用操作,触发所述数据采集请求;或者,
设置用于采集所述目标业务的业务数据的采集频率,并根据所述采集频率周期性地触发所述数据采集请求。
上述方案中,当所述链路数据以预设数据存储模型进行存储时,所述对所述链路数据进行血缘关系解析,得到所述目标业务数据对应的上下游血缘关系,包括:
以所述目标业务数据对应的实体节点为查询实体节点,获取所述预设数据存储模型中记录的所述查询实体节点关联的源头实体节点和目标实体节点;
对所述查询实体节点进行上游节点递归解析,得到所述查询节点对应的上游实体节点,并对所述查询实体节点进行下游节点递归解析,得到所述查询节点对应的下游实体节点;
基于所述源头实体节点、所述目标实体节点、所述上游实体节点及所述下游实体节点,确定所述目标业务数据对应的上下游血缘关系。
上述方案中,所述基于所述上下游血缘关系进行渲染,得到所述目标业务数据对应的血缘关系图,包括:
对所述连接信息中各实体节点之间的连接关系进行标准化处理,并对所述节点信息中各实体节点的详情信息进行标准化处理;
对标准化处理后的各实体节点进行渲染,得到所述目标业务数据对应的血缘关系图。
本申请实施例还提供一种数据血缘分析方法,应用于终端,包括:
在目标业务的分析界面中显示分析入口,所述分析入口用于对所述目标业务对应的至少一个维度的业务数据进行分析;
响应于基于所述分析入口触发的针对目标业务数据的分析指令,显示所述目标业务数据对应的血缘关系图,以通过所述血缘关系图对所述目标业务数据进行分析;
其中,所述血缘关系图,为基于所述目标业务数据对应的链路数据进行血缘关系解析得到的上下游血缘关系渲染得到,所述链路数据用于表征所述目标业务数据的上下游血缘关系,所述上下游血缘关系用于表征所述目标业务数据的数据流向。
本申请实施例提供一种数据血缘分析装置,包括:
获取模块,用于响应于针对目标业务数据的分析请求,获取所述目标业务数据对应的链路数据;
其中,所述链路数据用于表征所述目标业务数据的上下游血缘关系,所述上下游血缘关系用于表征所述目标业务数据的数据流向;
解析模块,用于对所述链路数据进行血缘关系解析,得到所述目标业务数据对应的上下游血缘关系,所述上下游血缘关系用于表征所述目标业务数据的数据流向;
渲染模块,用于基于所述上下游血缘关系进行渲染,得到所述目标业务数据对应的血缘关系图,以通过所述血缘关系图对所述目标业务数据进行分析。
上述方案中,所述响应于针对目标业务数据的分析请求,获取所述目标业务数据对应的链路数据之前,所述装置还包括:数据采集模块,用于响应于针对目标业务的数据采集请求,对所述目标业务对应的至少一个维度的业务数据进行数据采集,得到各所述维度的业务数据对应的链路数据;其中,所述至少一个维度的业务数据至少包括所述目标业务数据,所述链路数据记录了相应维度的业务数据的数据流向的上下游血缘关系;对各所述维度的业务数据对应的链路数据进行血缘关系解析,得到各所述维度的业务数据对应的上下游血缘关系,并提供各所述维度的业务数据对应的分析入口;响应于所述目标业务数据对应的分析入口被触发,接收到针对所述目标业务数据的分析请求。
上述方案中,所述对所述目标业务对应的至少一个维度的业务数据进行数据采集之前,所述装置还包括:任务触发模块,用于创建用于采集所述目标业务的业务数据的采集实例,响应于针对所述采集实例的调用操作,触发所述数据采集请求;或者,设置用于采集所述目标业务的业务数据的采集频率,并根据所述采集频率周期性地触发所述数据采集请求。
上述方案中,所述数据采集通过采集模块实现,所述采集模块包括一个消息中间件和至少一个任务执行单元,所述任务执行单元与所述维度呈对应关系;所述数据采集模块,还用于响应于所述消息中间件接收到针对目标业务中各维度的业务数据的数据采集请求,将各所述维度的业务数据对应的数据采集请求存储至任务队列中;响应于各所述业务执行单元监测到所述任务队列中存在相应维度的业务数据对应的数据采集请求,对各所述维度的业务数据进行数据采集,得到各所述维度的业务数据对应的采集数据;采用预设数据存储模型,对各所述维度的业务数据对应的采集数据进行存储,得到各所述维度的业务数据对应的链路数据。
上述方案中,所述数据采集模块,还用于对各所述维度的业务数据对应的采集数据进行解构处理,得到各所述维度的业务数据对应的解构数据;将各所述维度的业务数据对应的解构数据存储至预设数据存储模型中,得到各所述维度的业务数据对应的链路数据。
上述方案中,当所述链路数据用于记录对应各所述维度的第一业务数据和第二业务数据之间的数据流向的上下游血缘关系时,所述数据采集模块,还用于执行以下至少之一:当所述第一业务数据和所述第二业务数据通过数据仓库表关联时,对所述数据仓库表对应的结构化查询语句进行解析,或查询所述数据仓库表,得到所述第一业务数据和所述第二业务数据之间的上下游血缘关系;当所述第一业务数据和所述第二业务数据通过数据仓库表与数据服务关联时,对所述数据服务对应的代码进行解析,得到所述数据仓库表与所述数据服务之间的关联记录表,将所述关联记录表记录的上下游血缘关系作为所述第一业务数据和所述第二业务数据之间的上下游血缘关系;当所述第一业务数据和所述第二业务数据通过数据仓库表与数据指标关联时,对所述数据仓库表与所述数据指标之间的计算关系进行解析,得到所述第一业务数据和所述第二业务数据之间的上下游血缘关系;当所述第一业务数据和所述第二业务数据通过数据仓库表与数据报表关联时,对所述数据报表对应的数据源依赖关系进行解析,得到所述第一业务数据和所述第二业务数据之间的上下游血缘关系;当所述第一业务数据和所述第二业务数据通过数据服务与数据指标关联时,获取所述数据服务被调用的目标数据指标,并基于所述数据服务与所述目标数据指标确定第一业务数据和所述第二业务数据之间的上下游血缘关系;当所述第一业务数据和所述第二业务数据通过数据指标与数据报表关联时,对由所述数据指标生成所述数据报表的过程进行解析,得到第一业务数据和所述第二业务数据之间的上下游血缘关系。
上述方案中,所述装置还包括:反馈模块,用于获取通过所述血缘关系图对所述目标业务数据进行分析得到的分析数据,并将所述分析数据作为所述目标业务数据对应的链路数据。
上述方案中,当所述链路数据以预设数据存储模型进行存储时,所述解析模块,还用于以所述目标业务数据对应的实体节点为查询实体节点,获取所述预设数据存储模型中记录的所述查询实体节点关联的源头实体节点和目标实体节点;对所述查询实体节点进行上游节点递归解析,得到所述查询节点对应的上游实体节点,并对所述查询实体节点进行下游节点递归解析,得到所述查询节点对应的下游实体节点;基于所述源头实体节点、所述目标实体节点、所述上游实体节点及所述下游实体节点,确定所述目标业务数据对应的上下游血缘关系。
上述方案中,所述解析模块,还用于将所述源头实体节点、所述目标实体节点、所述上游实体节点及所述下游实体节点进行聚合处理,得到所述目标业务数据对应的聚合实体节点;对所述聚合实体节点进行信息划分,得到所述目标业务数据对应的连接信息和节点信息,以表征所述目标业务数据对应的上下游血缘关系;其中,所述连接信息记录了所述聚合实体节点中各实体节点之间的连接关系,所述节点信息记录了所述聚合实体节点中各实体节点的详情信息。
上述方案中,所述渲染模块,还用于对所述连接信息中各实体节点之间的连接关系进行标准化处理,并对所述节点信息中各实体节点的详情信息进行标准化处理;对标准化处理后的各实体节点进行渲染,得到所述目标业务数据对应的血缘关系图。
本申请实施例还提供一种数据血缘分析装置,包括:
第一显示模块,用于在目标业务的分析界面中显示分析入口,所述分析入口用于对所述目标业务对应的至少一个维度的业务数据进行分析;
第二显示模块,用于响应于基于所述分析入口触发的针对目标业务数据的分析指令,显示所述目标业务数据对应的血缘关系图,以通过所述血缘关系图对所述目标业务数据进行分析;
其中,所述血缘关系图,为基于所述目标业务数据对应的链路数据进行血缘关系解析得到的上下游血缘关系渲染得到,所述链路数据用于表征所述目标业务数据的上下游血缘关系,所述上下游血缘关系用于表征所述目标业务数据的数据流向。
上述方案中,当所述血缘关系图中以实体节点表征业务数据时,所述装置还包括第三显示模块,用于显示以下至少之一:响应于针对所述血缘关系图中目标实体节点的选择操作,突出显示与所述目标实体节点存在上下游血缘关系的其他实体节点;响应于针对所述血缘关系图中目标实体节点的选择操作,显示所述目标实体节点对应的元数据信息;响应于所述血缘关系图中目标实体节点对应的业务数据存在异常,显示用于提示所述目标实体节点对应的业务数据存在异常的告警提示信息。
本申请实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的数据血缘分析方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的数据血缘分析方法。
本申请实施例提供一种计算机程序产品,包括计算机程序或指令,所述计算机程序或指令被处理器执行时,实现本申请实施例提供的数据血缘分析方法。
本申请实施例具有以下有益效果:
应用本申请实施例,当需要对目标业务数据进行分析时,对目标业务数据对应的链路数据进行血缘关系解析,得到目标业务数据对应的上下游血缘关系,并基于上下游血缘关系进行渲染,得到目标业务数据对应的血缘关系图,以通过血缘关系图对目标业务数据进行分析;由于链路数据能够表征目标业务数据的上下游血缘关系,且上下游血缘关系能够表征目标业务数据的数据流向,故基于上下游血缘关系渲染得到的血缘关系图能够表征目标业务数据在全链路上的血缘关系,故基于血缘关系图能够对目标业务数据进行全链路式溯源,提高了数据分析的准确度。
附图说明
图1为本申请实施例提供的数据血缘分析系统100的架构示意图;
图2为本申请实施例提供的数据血缘分析系统100的架构示意图;
图3A为本申请实施例提供的电子设备500的结构示意图;
图3B为本申请实施例提供的电子设备400的结构示意图;
图4为本申请实施例提供的数据血缘分析方法的流程示意图;
图5为本申请实施例提供的数据血缘分析方法的流程示意图;
图6为本申请实施例提供的业务数据血缘分析系统的架构示意图;
图7为本申请实施例提供的数据采集方法流程示意图;
图8为本申请实施例提供的实体间全链路示例网络示意图;
图9为本申请实施例提供的承载医疗数据的实体转换关系示意图;
图10为本申请实施例提供的链路数据的解析示意图;
图11为本申请实施例提供的渲染模块的结构示意图;
图12为本申请实施例提供的数据血缘分析的界面示意图;
图13为本申请实施例提供的数据血缘分析的界面示意图;
图14为本申请实施例提供的数据血缘关系的应用场景示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
可以理解的是,在本申请实施例中,涉及到用户信息等相关的数据(例如业务数据、医疗数据等),当本申请实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二…”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二…”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)客户端,终端中运行的用于提供各种服务的应用程序,例如医疗数据处理客户端、大数据处理客户端等。
2)响应于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
3)数据仓库(Data Warehousing),主要是在企业中构建面向分析加工的集成化数据环境,通过构建这种标准数据环境,可以实现较高层次上企业信息系统中的数据归类分析利用技术,将同源异构数据做面向主题的加工计算和统一结果输出,实现数据治理和价值的最大化利用。
4)ETL(Extract-Transform-Load)技术,用于描述数据从原始端经过抽取(extract)、转换(transform)、加载(load)至结果端完整过程的一种技术,ETL技术主要用于数据仓库中的加工处理,目的是完成数据库表中的清洗和计算。
5)数据溯源(Data Provenance),也叫做数据起源,是对数据衍生前的原始数据以及演变过程的描述,可以用作监测数据及其在数据库间运动的起源,在医疗大数据治理中,数据溯源就是把各环节产生的医疗数据进行关联与溯源,医疗应用端数据是由多个医疗源头数据逐层加工所得,溯源意在找到“每一个实体的前世今生”。
6)数据血缘(Data Lineage),也叫做数据血统或数据谱系。当工程师在数据库中执行一段SQL语句之后,数据库会返回一个结果集,输入集中的每一列都可源自不同的表,这些表又依赖于别的表,中间的加工包括各类语句,描述输入集和输出集之间依赖关系的就是数据血缘,任何数据从生产到ETL处理加工、融合汇聚、到最终的应用,数据之间都是会形成一种关系,类似人类社会中的人际关系图谱,可使用graph网状模型实现可视化表达,这就是数据血缘。
7)Django,Django是一个高级的Python网络框架,基于Django框架可以快速开发安全和可维护的网站。
8)celery,是一个基于python开发的分布式异步消息任务队列,通过它可以实现任务的异步处理。
9)区块链(Block Chain),是由区块(Block)形成的加密的、链式的交易的存储结构。
10)区块链网络(Block Chain Network),通过共识的方式将新区块纳入区块链的一系列的节点的集合。
参见图1,图1为本申请实施例提供的数据血缘分析系统100的架构示意图,为实现支撑一个示例性应用,终端(示例性示出了终端400-1和终端400-2)通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合,使用无线链路实现数据传输。终端可以为智能手机、平板电脑、笔记本电脑等各种类型的用户终端,还可以为台式计算机、电视机或者这些数据处理设备中任意两个或多个的组合;服务器200既可以为单独配置的支持各种业务的一个服务器,亦可以配置为一个服务器集群,还可以为云服务器等。
在实际应用中,终端上设置有客户端,如医疗数据处理客户端、大数据处理客户端等。当用户打开终端上的客户端查看目标业务的相关信息时,在目标业务的分析界面中显示用于对目标业务对应的至少一个维度的业务数据进行分析的分析入口,响应于基于分析入口触发的针对目标业务数据的分析指令,发送针对目标业务数据的分析请求至服务器200;服务器200响应于分析请求,获取目标业务数据对应的链路数据,其中,链路数据用于表征目标业务数据的上下游血缘关系,上下游血缘关系用于表征目标业务数据的数据流向,对链路数据进行血缘关系解析,得到目标业务数据对应的上下游血缘关系,并返回至终端;终端基于上下游血缘关系进行渲染,并显示渲染得到的目标业务数据对应的血缘关系图,以通过血缘关系图对目标业务数据进行分析。
在一些实施例中,本申请实施例还可以借助于云技术(Cloud Technology)实现,云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、以及应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源。
示例的,图1中示出的服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式架构,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(CDN,ContentDelivery Network)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端等,但并不局限于此。终端设备以及服务器200可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
在一些实施例中,本申请实施例还可以借助于区块链技术实现,如将数据血缘分析涉及的目标业务数据的链路数据、上下游血缘关系及血缘关系图保存至区块链上。本申请实施例提供的数据血缘分析方法中,用于实现数据血缘分析的电子设备可作为区块链上的节点;参见图2,图2为本申请实施例提供的数据血缘分析系统100的架构示意图,图2示出的数据血缘分析系统100中,通过服务器200得到目标业务数据对应的上下游血缘关系后,还可以通过服务器200向多个终端(图2中示例性示出终端400-1和终端400-2)发送目标业务数据对应的上下游血缘关系,以供各终端基于上下游血缘关系进行渲染,显示渲染得到的目标业务数据对应的血缘关系图,以对目标业务数据进行分析。
在一些实施例中,服务器200、终端400-1和终端400-2可以加入区块链网络600而成为其中的一个节点。区块链网络600的类型是灵活多样的,例如可以为公有链、私有链或联盟链中的任意一种。以公有链为例,任何业务主体的电子设备,都可以在不需要授权的情况下接入区块链网络600,以作为区块链网络600的共识节点,比如,终端400-1映射为区块链网络600中的共识节点600-1,服务器200映射为区块链网络600中的共识节点600-2,终端400-2映射为区块链网络600中的共识节点600-3。以区块链网络600为联盟链为例,服务器200、终端400-1和终端400-2在获得授权后可以接入区块链网络600而成为节点。服务器200可以通过执行智能合约的方式获取目标业务数据对应的链路数据,对链路数据进行血缘关系解析,得到目标业务数据对应的上下游血缘关系,并将目标业务数据对应的上下游血缘关系发送至区块链网络600中进行共识。当共识通过时,服务器再将目标业务数据对应的上下游血缘关系发送至终端400-1和终端400-2;如此,通过区块链网络中的多个节点对目标业务数据对应的上下游血缘关系进行共识确认后再发送至终端400-1和终端400-2,能够提高数据分析的可靠性和准确性。
参见图3A,图3A为本申请实施例提供的电子设备500的结构示意图,在实际应用中,电子设备500可以为图1中的终端或服务器200,以电子设备为图1所示的服务器为例,对实施本申请实施例的数据血缘分析方法的电子设备进行说明。图3所示的电子设备500包括:至少一个处理器510、存储器550、至少一个网络接口520和用户接口530。电子设备500中的各个组件通过总线系统540耦合在一起。可理解,总线系统540用于实现这些组件之间的连接通信。总线系统540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3A中将各种总线都标为总线系统540。
处理器510可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口530包括使得能够呈现媒体内容的一个或多个输出装置531,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口530还包括一个或多个输入装置532,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器550可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器550可选地包括在物理位置上远离处理器510的一个或多个存储设备。
存储器550包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器550旨在包括任意适合类型的存储器。
在一些实施例中,存储器550能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统551,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;网络通信模块552,用于经由一个或多个(有线或无线)网络接口520到达其他计算设备,示例性的网络接口520包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,UniversalSerial Bus)等;呈现模块553,用于经由一个或多个与用户接口530相关联的输出装置531(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);输入处理模块554,用于对一个或多个来自一个或多个输入装置532之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的数据血缘分析装置可以采用软件方式实现,图3A示出了存储在存储器550中的数据血缘分析装置555,其可以是程序和插件等形式的软件,包括以下软件模块:获取模块5551、解析模块5552和渲染模块5553,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分,将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的数据血缘分析装置可以采用硬件方式实现,作为示例,本申请实施例提供的数据血缘分析装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的数据血缘分析方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application SpecificIntegrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
参见图3B,图3B为本申请实施例提供的电子设备400的结构示意图,在实际应用中,以电子设备400为图1所示的终端为例,对实施本申请实施例的数据血缘分析方法的电子设备进行说明。图3B所示的电子设备400包括:至少一个网络接口420、用户接口430、系统总线440、存储器450和处理器460。其中,用户接口430包括使得能够呈现媒体内容的一个或者多个输出装置431,包括一个或者多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。存储器450中包括:操作系统451、网络通信模块452、呈现模块453,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够显示信息(例如,用于操作外围设备和显示内容和信息的用户接口)、输入处理模块454,用于对一个或多个来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动、信息推荐装置455。此外,存储在存储器450中的数据血缘分析装置455包括:第一显示模块4551和第二显示模块4552,这些模块是逻辑上的,因此可以根据所实现的功能进行任意的组合或进一步拆分,将在下文中说明各个模块的功能。
基于上述对本申请实施例的提供的数据血缘分析系统及电子设备的说明,下面对本申请实施例的提供的数据血缘分析方法进行说明,在实际实施时,该方法可由图1所示的终端或服务器200单独实施,还可由图1所示的终端和服务器200协同实施。接下来将结合图1及图4,图4为本申请实施例提供的数据血缘分析方法的流程示意图,以图1所示的服务器单独实施本申请实施例提供的数据血缘分析方法为例进行说明。
在步骤101中,服务器响应于针对目标业务数据的分析请求,获取目标业务数据对应的链路数据。
在实际应用中,目标业务数据可为与企业相关的数据(如仓库管理相关数据),还可为医疗数据,所谓医疗数据是在医疗应用场景下,医疗信息化系统在日常运行中产生并积累下来的数据,如门急诊数据、住院数据等。数据血缘分析用于对数据处理过程的全面监测,以查找某个业务数据为起点的所有相关元数据以及这些元数据之间的关系(即元数据的数据流输入输出关系)。
当服务器接收到针对目标业务数据的分析请求时,响应于该分析请求,获取目标业务数据对应的链路数据,所谓链路数据是用于表征目标业务数据的上下游血缘关系的数据,上下游血缘关系用于表征目标业务数据的数据流向。可见,链路数据包括以目标业务数据为起点往上游追溯的相关数据和以目标业务数据为起点往下游追溯的相关数据。
在一些实施例中,服务器在响应于针对目标业务数据的分析请求,获取目标业务数据对应的链路数据之前,可通过如下方式对目标业务对应的业务数据进行数据采集并接收针对目标业务数据的分析请求:响应于针对目标业务的数据采集请求,对目标业务对应的至少一个维度的业务数据进行数据采集,得到各维度的业务数据对应的链路数据;其中,至少一个维度的业务数据至少包括目标业务数据,链路数据记录了相应维度的业务数据的数据流向的上下游血缘关系;对各维度的业务数据对应的链路数据进行血缘关系解析,得到各维度的业务数据对应的上下游血缘关系,并提供各维度的业务数据对应的分析入口;响应于目标业务数据对应的分析入口被触发,接收到针对目标业务数据的分析请求。
这里,在对目标业务数据进行分析前,服务器可先对目标业务涉及的相关数据进行采集、解析,以得到各维度的业务数据对应的上下游血缘关系,供后续对相关数据分析时获取使用。为了构建出数据的全链路上下游血缘关系,在采集数据时,需要全方位的从多个维度进行采集,例如,针对数据集与数据集之间的数据转化、数据集到web服务的构建、数据集到指标的计算逻辑、以及web服务到指标的计算逻辑、指标聚合成报表的过程等均需要采集,并采用预设数据模型对采集得到的采集数据进行存储以得到各个维度的链路数据。
对于每一个维度的业务数据而言,如以业务数据A为例,在对该业务数据A对应的链路数据进行解析时,可将该业务数据A作为一个实体,以业务数据A对应的实体节点为查询实体节点,首先获取预设数据存储模型中记录的查询实体节点关联的源头实体节点和目标实体节点;其次,对查询实体节点进行上游节点递归解析,得到查询节点对应的上游实体节点,并对查询实体节点进行下游节点递归解析,得到查询节点对应的下游实体节点;然后,将查询实体节点关联的源头实体节点、目标实体节点、上游实体节点及下游实体节点进行聚合处理,得到业务数据A对应的聚合实体节点;最后,对聚合实体节点进行信息划分,得到业务数据A对应的连接信息和节点信息,以表征业务数据A对应的上下游血缘关系,其中,连接信息记录了聚合实体节点中各实体节点之间的连接关系,节点信息记录了聚合实体节点中各实体节点的详情信息。
另外,在对各维度的业务数据对应的链路数据解析过程中,还可提供各维度的业务数据对应的分析入口,以基于分析入口触发针对相应维度的业务数据的分析请求,实现对相应维度的业务数据进行分析。
在一些实施例中,服务器在对目标业务对应的至少一个维度的业务数据进行数据采集之前,可通过如下方式触发数据采集请求:创建用于采集目标业务的业务数据的采集实例,响应于针对采集实例的调用操作,触发数据采集请求;或者,设置用于采集目标业务的业务数据的采集频率,并根据采集频率周期性地触发数据采集请求。
这里,在采集数据时,可采用异步任务、定时任务中至少之一的方式进行采集任务调度,当待采集的业务数据比较错综复杂时,可能也会需要很长时间来找需要的数据,此时可在采用异步任务调度的方式减少用户的等待时间;而定时任务调度机制便于用户在需要的任意时间去采集相应的业务数据。
在一些实施例中,数据采集通过采集模块实现,采集模块包括一个消息中间件和至少一个任务执行单元,任务执行单元与维度呈对应关系;服务器可通过如下方式响应于针对目标业务的数据采集请求,对目标业务对应的至少一个维度的业务数据进行数据采集,得到各维度的业务数据对应的链路数据:响应于消息中间件接收到针对目标业务中各维度的业务数据的数据采集请求,将各维度的业务数据对应的数据采集请求存储至任务队列中;响应于各业务执行单元监测到任务队列中存在相应维度的业务数据对应的数据采集请求,对各维度的业务数据进行数据采集,得到各维度的业务数据对应的采集数据;采用预设数据存储模型,对各维度的业务数据对应的采集数据进行存储,得到各维度的业务数据对应的链路数据。
其中,任务执行单元与维度可呈一一对应关系,即每个任务执行单元用于采集相应维度的业务数据,任务执行单元与维度还可呈一对多关系,即一个任务执行单元可用于采集多个维度的业务数据。预设数据存储模型的结构如表1所示,以将每个业务数据作为一个实体,如对于存在链路关系的第一业务数据和第二业务数据而言,在存储时,将第一业务数据和第二业务数据之间的数据链路关系存储至预设数据存储模型中,预设数据存储模型中记录了第一业务数据和第二业务数据多条数据链路关系,以第一条记录为例,它记录了实体标识(id)为dataset_id1(对应第一业务数据)与id为dataset_id2(对应第二业务数据)的实体间的关系,其中,dataset_id1经过ETL_id1得到dataset_id2,模型中的from_cate、to_cate表示源头实体(如这里对应第一业务数据)与目标实体(如这里对应第二业务数据)的类型,from_inst、to_inst中存储的id值在某实体一一对应且不会与别的实体重复,trans_cate、trans_inst表征某种转化关系,trans_cate表示转化的类型,trans_inst表示转化操作的id,每个trans_inst都是唯一值,同时在trans_inst中保留了采集源头的id信息;通过此种存储方式,能够保证预设数据存储模型中的一条记录表征两个实体间一条数据链路关系。
在一些实施例中,服务器可通过如下方式采用预设数据存储模型,对各维度的业务数据对应的采集数据进行存储,得到各维度的业务数据对应的链路数据:对各维度的业务数据对应的采集数据进行解构处理,得到各维度的业务数据对应的解构数据;将各维度的业务数据对应的解构数据存储至预设数据存储模型中,得到各维度的业务数据对应的链路数据。
这里,在对采集数据进行存储前,还可对采集数据进行解构处理,即解构获得数据链路关系,以“数据模型中一条记录表征两个实体间一条数据链路关系”的思想将采集数据存储至预设数据存储模型中。
在一些实施例中,当链路数据用于记录对应各维度的第一业务数据和第二业务数据之间的数据流向的上下游血缘关系时,服务器可通过如下方式至少之一的方式实现对目标业务对应的至少一个维度的业务数据进行数据采集,得到各维度的业务数据对应的链路数据:
当第一业务数据和第二业务数据通过数据仓库表关联时,对数据仓库表对应的结构化查询语句进行解析,或查询数据仓库表,得到第一业务数据和第二业务数据之间的上下游血缘关系;也即,当某维度的业务数据之间是通过表与表之间的ETL关系,如数据仓库表-数据仓库表之间的ETL关系进行关联时,获取与该数据仓库表相对应的结构化查询语句,并对结构化查询语句进行解析得到该维度业务数据之间的上下游血缘关系,并将解析得到的该上下游血缘关系作为相应维度的业务数据对应的链路数据。
当第一业务数据和第二业务数据通过数据仓库表与数据服务关联时,对数据服务对应的代码进行解析,得到数据仓库表与数据服务之间的关联记录表,将关联记录表记录的上下游血缘关系作为第一业务数据和第二业务数据之间的上下游血缘关系;也即,当某维度的业务数据是通过表到数据服务,如数据仓库表-数据服务之间转化关系进行关联时,通过页面抓取接口、调接口时查询后台数据库操作获取数据服务与数据仓库表之间的上下游血缘关系,或者,解析数据服务对应的代码,得到数据仓库表与数据服务之间的关联记录表,并将关联记录表记录的上下游血缘关系作为相应维度的业务数据对应的链路数据。
当第一业务数据和第二业务数据通过数据仓库表与数据指标关联时,对数据仓库表与数据指标之间的计算关系进行解析,得到第一业务数据和第二业务数据之间的上下游血缘关系;也即,当某维度的业务数据是通过表到数据指标,如数据仓库表-数据指标之间转化关系进行关联时,对数据仓库表与数据指标之间的计算关系进行解析,并将解析结果作为相应维度的业务数据对应的链路数据。
当第一业务数据和第二业务数据通过数据仓库表与数据报表关联时,对数据报表对应的数据源依赖关系进行解析,得到第一业务数据和第二业务数据之间的上下游血缘关系;也即,当某维度的业务数据是通过表到报表,如数据仓库表-数据报表之间转化关系进行关联时,对数据报表对应的数据源依赖关系进行解析,并将解析结果作为相应维度的业务数据对应的链路数据。
当第一业务数据和第二业务数据通过数据服务与数据指标关联时,获取数据服务被调用的目标数据指标,并基于数据服务与目标数据指标确定第一业务数据和第二业务数据之间的上下游血缘关系;也即,当某维度的业务数据是通过数据服务与数据指标之间的转化关系进行关联时,获取数据服务被调用的目标数据指标,并基于数据服务与目标数据指标进行匹配,以匹配出相应维度的业务数据对应的链路数据。
当第一业务数据和所述第二业务数据通过数据指标与数据报表关联时,对由数据指标生成数据报表的过程进行解析,得到第一业务数据和第二业务数据之间的上下游血缘关系;也即,当某维度的业务数据是通过数据指标与数据报表之间的转化关系进行关联时,对由数据指标生成数据报表的过程进行解析,并将解析结果作为相应维度的业务数据对应的链路数据。
在一些实施例中,服务器还可获取通过血缘关系图对目标业务数据进行分析得到的分析数据,并将分析数据作为目标业务数据对应的链路数据。
这里,在数据采集时,可对业务系统产生的数据做进一步的采集和上报,如将通过血缘关系图分析得到的分析数据反馈至采集模块,将分析数据作为采集数据,以对医疗数据进行闭环更新。
在步骤102中,对链路数据进行血缘关系解析,得到目标业务数据对应的上下游血缘关系。
在一些实施例中,当链路数据以预设数据存储模型进行存储时,服务器可通过如下方式对链路数据进行血缘关系解析,得到目标业务数据对应的上下游血缘关系:以目标业务数据对应的实体节点为查询实体节点,获取预设数据存储模型中记录的查询实体节点关联的源头实体节点和目标实体节点;对查询实体节点进行上游节点递归解析,得到查询节点对应的上游实体节点,并对查询实体节点进行下游节点递归解析,得到查询节点对应的下游实体节点;基于源头实体节点、目标实体节点、上游实体节点及所述下游实体节点,确定目标业务数据对应的上下游血缘关系。
这里,当链路数据以表1示出的预设数据存储模型进行存储时,如图10所示,以目标业务数据对应的实体节点dataset_id1为查询入口(即将目标业务数据对应的实体节点作为查询实体节点),当接收到针对目标业务数据的分析请求时,查询id为dataset_id1的目标业务数据的上下游血缘关系,具体地:首先,获取预设数据存储模型中记录的查询实体节点关联的源头实体节点和目标实体节点;其次,在上述查询出来的结果中,针对dataser_id1的下游,继续寻找其下游,直至没有新的记录产生,对dataser_id1的上游进行递归查找上游的操作,这一步为递归解析操作,不断更新查询节点并直至查询不出新的记录为止,即分别对查询实体节点进行上游节点递归解析,得到上游实体节点,并对查询实体节点进行下游节点递归解析,得到下游实体节点;最后,基于源头实体节点、目标实体节点、上游实体节点及所述下游实体节点,确定目标业务数据对应的上下游血缘关系。
在一些实施例中,服务器可通过如下方式基于源头实体节点、目标实体节点、上游实体节点及下游实体节点,确定目标业务数据对应的上下游血缘关系:将源头实体节点、目标实体节点、上游实体节点及下游实体节点进行聚合处理,得到目标业务数据对应的聚合实体节点;对所聚合实体节点进行信息划分,得到目标业务数据对应的连接信息和节点信息,以表征目标业务数据对应的上下游血缘关系;其中,连接信息记录了聚合实体节点中各实体节点之间的连接关系,节点信息记录了聚合实体节点中各实体节点的详情信息。
这里,将目标业务数据对应的查询实体节点关联的源头实体节点、目标实体节点、上游实体节点及下游实体节点进行聚合处理,得到目标医疗数据对应的聚合实体节点这一聚合结果;最后,基于聚合结果统一处理聚合结果,返回节点间的连接信息(LinkData)与每个节点的详细信息(NodeData),即对聚合实体节点进行信息划分,得到目标医疗数据对应的连接信息和节点信息,以表征目标医疗数据对应的上下游血缘关系;其中,连接信息记录了聚合实体节点中各实体节点之间的连接关系,节点信息记录了聚合实体节点中各实体节点的详情信息,如图10示出的LinkData存储各节点之间的连接关系,NodeData存储节点的详情信息,且LinkData中的'from'、'to'的值与NodeData的节点详情的key是对应的。
在步骤103中,基于上下游血缘关系进行渲染,得到目标业务数据对应的血缘关系图,以通过血缘关系图对目标业务数据进行分析。
在一些实施例中,服务器可通过如下方式基于上下游血缘关系进行渲染,得到目标业务数据对应的血缘关系图:对连接信息中各实体节点之间的连接关系进行标准化处理,并对节点信息中各实体节点的详情信息进行标准化处理;对标准化处理后的各实体节点进行渲染,得到目标业务数据对应的血缘关系图。
这里,渲染通过渲染模块来实现,渲染模块为图11所示的模型-视图(model-view)架构,其中,在model层将连接信息中各实体节点之间的连接关系进行标准化处理,即将各实体节点之间的连接关系通过标准化连接(link)协议描述,并将节点信息中各实体节点的详情信息进行标准化处理,即将各实体节点的详情信息通过标准化的节点(node)协议描述,基于nodes、links的描述完全表达数据节点及节点间链路血缘关系。在view层,动态监测model层,自动触发渲染层view可视化更新,view层更新通过事件传递改变model层,view层根据抽象节点及连线定义,通过canvas逐个绘制,可视化表达出数据间丰富的链路血缘关系,同时提供了缩放、拖拽移动、定位、全屏等交互操作。
接下来将结合图1及图5,图5为本申请实施例提供的数据血缘分析方法的流程示意图,以图1所示的终端单独实施本申请实施例提供的数据血缘分析方法为例进行说明。
在步骤201中,终端在目标业务的分析界面中显示分析入口,其中,分析入口用于对目标业务对应的至少一个维度的业务数据进行分析。
在步骤202中,响应于基于分析入口触发的针对目标业务数据的分析指令,显示目标业务数据对应的血缘关系图,以通过血缘关系图对目标业务数据进行分析。
其中,血缘关系图,为基于目标业务数据对应的链路数据进行血缘关系解析得到的上下游血缘关系渲染得到,链路数据用于表征目标业务数据的上下游血缘关系,上下游血缘关系用于表征目标业务数据的数据流向。
如图12所示,当目标业务为医疗业务时,可通过分析入口(如输入框)对医疗业务涉及的至每个维度的业务数据进行分析,以查询门急诊数据(即目标业务数据)的全链路数据流向为例,当用户点击【表名】输入框,输入关键字,系统自动识别关键字并模糊匹配对应的表名,系统实现数据链路的查询匹配和可视化转化,在终端页面展示对应的血缘关系图,例如,【psn_fix_reg_evt_c】表和【psn_info_c1】表是由【psn_info-c】表通过SQL语句加工计算得来的,【Dr_lee_002TS】是数据服务,由【psn_info_c1】表通过数据工程封装得到,在全链路数据系统中,用户输入【psn_info-c(门急诊费用记录)】表,可得到上下游完成的血缘关系图,并通过箭头展示数据流向,系统可展示选中表的上下游数量。
在一些实施例中,当血缘关系图中以实体节点表征业务数据时,终端还可显示以下信息至少之一:响应于针对血缘关系图中目标实体节点的选择操作,突出显示与目标实体节点存在上下游血缘关系的其他实体节点;响应于针对血缘关系图中目标实体节点的选择操作,显示目标实体节点对应的元数据信息;响应于血缘关系图中目标实体节点对应的业务数据存在异常,显示告警提示信息。
这里,当用户选择血缘关系图中目标实体节点,如用户将鼠标悬停(hover)在目标实体节点对应的字段上,终端会突出显示(采用不同颜色、不同亮度等方式显示)与目标实体节点存在上下游血缘关系的其他实体节点;当用户hover住血缘关系图上的目标实体节点,终端可展示目标实体节点的元数据信息,如数据集类型、表名、库名、负责人,以及数据是如何加工得来(如【psn_info_c1】表是由【psn_info-c】表通过spark SQL计算得来)。当血缘关系图中目标实体节点对应的业务数据存在异常,显示用于提示目标实体节点对应的业务数据存在异常的告警提示信息。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。以业务数据为医疗数据为例,本申请实施例提供一种业务数据血缘分析方法,通过对医疗数据全链路流转过程元数据的采集、解析与展示,实现对大数据平台下医疗数据链路血缘关系的完整获取,并提供了网络(web)服务接口,以渲染出医疗数据对应的血缘关系图供终端展示。
参见图6,图6为本申请实施例提供的业务数据血缘分析系统的架构示意图,该架构包括采集模块、解析模块和渲染模块,其中,采集模块用于采集目标业务对应的至少一个维度的医疗数据对应的链路数据(链路数据记录了各维度的医疗数据的数据流向的上下游血缘关系),在采集链路数据时,可采用异步任务、定时任务中至少之一的方式进行采集任务调度,以远程字典服务(Redis,Remote Dictionary Server)作为消息中间件(Broker),将采集任务(即上述的数据采集请求)存入任务队列中;任务执行单元(Worker)(即任务的执行者)实时监测任务队列,当监测到任务队列中存在采集任务时,就获取采集任务并执行该采集任务,即对各维度的医疗数据进行数据采集,得到各维度的医疗数据对应的采集数据(即采集数据链路关系),并将采集结果统一存储至预设数据存储模型,即采用预设数据存储模型,对采集的各维度的医疗数据对应的采集数据进行存储,得到各维度的医疗数据对应的链路数据。解析模块用于对采集模块得到的各维度的医疗数据对应的链路数据进行血缘关系解析,得到各维度的医疗数据对应的上下游血缘关系,并提供各维度的医疗数据对应的web服务接口(即上述的分析入口)。渲染模块用于从web服务接口中获取渲染参数(即解析模块解析得到的各维度的医疗数据对应的上下游血缘关系),并将各渲染参数承载实体抽象成为数据节点,将实体间链路血缘关系抽象为节点间的线条进行渲染,得到医疗数据对应的血缘关系图进行展示。接下来将逐一对各模块的具体处理过程进行详细说明。
1、采集模块
采集模块基于Django-celery框架,可采用异步任务、定时任务中至少之一的方式进行采集任务调度,支持多种颗粒度的任务调度,如可按需要的时间粒度(如月、天、时、分等不同时间间隔的定时任务)设置自动化采集频率,且支持准时的手动触发,即提供可供调用的立即执行采集的接口,实现血缘关系的秒级更新同步。
参见图7,图7为本申请实施例提供的数据采集方法流程示意图,该方法包括:
在步骤301中,启动采集任务。
在步骤302中,任务等待调度。
在步骤303中,判断定时任务是否触发,这里,以定时任务进行采集任务调度为例进行说明,当定时任务触发时,执行步骤304;否则,执行步骤302。
在步骤304中,采集数据链路关系。
在步骤305中,判断是否采集成功,当采集不成功时,执行步骤306;当采集成功时,执行步骤307。
在306中,判断是否重新采集,当重新采集时,执行步骤304;当不重新采集时,执行步骤302。
在步骤307中,对采集的数据链路关系进行审批,如对采集的数据链路关系进行合法验证。
在步骤308中,判断审批是否成功,当审批成功时,执行步骤309;当审批不成功时,结束流程。
在步骤309中,将采集的数据链路关系进行存储,如将采集结果统一存储至预设数据存储模型,即采用预设数据存储模型,对采集的数据链路关系(即各维度的医疗数据对应的采集数据)进行存储,得到链路数据。
通过上述方式,可采集各个维度的医疗数据之间的上下游血缘关系,例如,针对数据集与数据集之间的数据转化、数据集到web服务的构建、数据集到指标的计算逻辑、以及web服务到指标的计算逻辑、指标聚合成报表的过程,等等均需要采集,可将上述采集的各个维度的医疗数据之间的上下游血缘关系统称为采集数据,在对采集数据进行存储前,还可对采集数据进行解构处理,即解构获得的数据链路关系,以“数据模型中一条记录表征两个实体间一条数据链路关系”的思想将采集数据存储至预设数据存储模型中。
以将每个医疗数据作为一个实体,如对于存在数据链路关系的第一医疗数据和第二医疗数据而言,在存储时,将第一医疗数据和第二医疗数据之间的数据链路关系存储至预设数据存储模型中,其中,预设数据存储模型的结构如表1所示,数据模型中记录了第一医疗数据和第二医疗数据多条数据链路关系,以第一条记录为例,它记录了实体标识(id)为dataset_id1(对应第一医疗数据)与id为dataset_id2(对应第二医疗数据)的实体间的关系,其中,dataset_id1经过ETL_id1得到dataset_id2,模型中的from_cate、to_cate表示源头实体(如这里对应第一医疗数据)与目标实体(如这里对应第二医疗数据)的类型,from_inst、to_inst中存储的id值在某实体一一对应且不会与别的实体重复,trans_cate、trans_inst表征某种转化关系,trans_cate表示转化的类型,trans_inst表示转化操作的id,每个trans_inst都是唯一值,同时在trans_inst中保留了采集源头的id信息。
表1
id | from_cate | from_inst | trans_cate | trans_inst | to_cate | to_inst |
1 | dataset | dataset_id1 | ETL | ETL_id1 | dataset | dataset_id2 |
2 | dataset | dataset_id2 | WEB | WEB_id1 | dataservice | dataservice_id1 |
… | … | … | … | … | … | … |
参见图8,图8为本申请实施例提供的实体间全链路示例网络示意图,医疗数据的全链路关系涉及表-表、表-服务、表-指标、表-报表、指标-报表,接下来参见图9,图9为本申请实施例提供的承载医疗数据的实体转换关系示意图,图9中示出的通过采集数据链路关系模块(即对应各个维度的医疗数据),获得各实体间上下游血缘关系(即采集的链路数据)的实现逻辑如下:
<表间的ETL关系>:即当第一医疗数据和第二医疗数据通过数据仓库表关联时,对数据仓库表对应的结构化查询语句进行解析,或查询数据仓库表,得到第一医疗数据和第二医疗数据之间的上下游血缘关系。
<表到数据服务>:即当第一医疗数据和第二医疗数据通过数据仓库表与数据服务关联时,页面抓取接口、调接口时查询后台数据库查询操作获得数据服务与数据仓库表的上下游血缘关系;或者,对数据服务对应的代码进行解析,得到数据仓库表与数据服务之间的关联记录表,将关联记录表记录的上下游血缘关系作为第一医疗数据和第二医疗数据之间的上下游血缘关系。
<表到数据指标>:即当第一医疗数据和第二医疗数据通过数据仓库表与数据指标关联时,对数据仓库表与数据指标之间的计算关系进行解析,得到第一医疗数据和第二医疗数据之间的上下游血缘关系。
<表到数据报表>:即当第一医疗数据和第二医疗数据通过数据仓库表与数据报表关联时,对数据报表对应的数据源依赖关系进行解析,得到第一医疗数据和第二医疗数据之间的上下游血缘关系。
<数据服务到指标>:即当第一医疗数据和第二医疗数据通过数据服务与数据指标关联时,获取数据服务被调用的目标数据指标,并基于数据服务与目标数据指标,匹配出第一医疗数据和第二医疗数据之间的上下游血缘关系;
<指标到报表>:即当第一医疗数据和第二医疗数据通过数据指标与数据报表关联时,对由数据指标生成数据报表的过程进行解析,得到第一医疗数据和第二医疗数据之间的上下游血缘关系。
2、解析模块
结合表1及图10,图10为本申请实施例提供的链路数据的解析示意图,以目标医疗数据对应的实体节点dataset_id1为查询入口(目标医疗数据对应的实体节点为查询实体节点),当接收到针对目标医疗数据的查询请求(即上述的分析请求)时,查询id为dataset_id1的医疗数据的上下游血缘关系,具体地:
1)查询表中所有from_inst和to_inst为dataset_id1的记录(即获取预设数据存储模型中记录的查询实体节点关联的源头实体节点和目标实体节点);
2)在第1步查询出来的结果中,针对dataser_id1的下游,继续寻找其下游,直至没有新的记录产生,对dataser_id1的上游进行递归查找上游的操作,这一步为递归解析操作,不断更新查询节点并直至查询不出新的记录为止(即分别对查询实体节点进行上游节点递归解析,得到上游实体节点,并对查询实体节点进行下游节点递归解析,得到下游实体节点);
3)将1)、2)步查询出来的记录进行聚合,即将查询实体节点关联的源头实体节点、目标实体节点、上游实体节点及下游实体节点进行聚合处理,得到目标医疗数据对应的聚合实体节点;
4)统一处理第3步获得聚合结果,返回节点间的连接信息(LinkData)与每个节点的详细信息(NodeData),即对聚合实体节点进行信息划分,得到目标医疗数据对应的连接信息和节点信息,以表征目标医疗数据对应的上下游血缘关系;其中,连接信息记录了聚合实体节点中各实体节点之间的连接关系,节点信息记录了聚合实体节点中各实体节点的详情信息,如图10示出的LinkData存储各节点之间的连接关系,NodeData存储节点的详情信息,且LinkData中的'from'、'to'的值与NodeData的节点详情的key是对应的。
3、渲染模块
参见图11,图11为本申请实施例提供的渲染模块的结构示意图,渲染模块采用模型-视图(model-view)架构,其中,在model层将各种数据集,如Hive、Clickhouse、Mysql、数据服务、指标计算等处理算子抽象为统一的节点,通过标准化的节点(node)协议描述;同时,将上下游血缘关系抽象为节点间连线,通过标准化连接(link)协议描述,基于nodes、links的描述完全表达数据节点及节点间链路血缘关系。在view层,动态监测model层,自动触发渲染层view可视化更新,view层更新通过事件传递改变model层,view层根据抽象节点及连线定义,通过canvas逐个绘制,可视化表达出数据间丰富的链路血缘关系,同时提供了缩放、拖拽移动、定位、全屏等交互操作。
通过上述方式,即可渲染得到医疗数据的血缘关系图,并可通过血缘关系图对相关医疗数据进行分析。
参见图12,图12为本申请实施例提供的数据血缘分析的界面示意图,在医疗场景中,以查询门急诊数据的全链路数据流向为例,用户可以通过主动触发查询相关医疗数据的上下文血缘关系,例如,点击【表名】输入框,输入关键字,系统自动识别关键字并模糊匹配对应的表名,系统实现数据链路的查询匹配和可视化转化,在终端页面展示对应的血缘关系图,例如,【psn_fix_reg_evt_c】表和【psn_info_c1】表是由【psn_info-c】表通过SQL语句加工计算得来的,【Dr_lee_002TS】是数据服务,由【psn_info_c1】表通过数据工程封装得到,在全链路数据系统中,用户输入【psn_info-c(门急诊费用记录)】表,可得到上下游完成的血缘关系图,并通过箭头展示数据流向,系统可展示选中表的上下游数量。当用户将鼠标悬停(hover)在数据集的字段(即选中该字段)上,系统会自动通过模型匹配计算出该字段的血缘关系,并予以高亮展示。
参见图13,图13为本申请实施例提供的数据血缘分析的界面示意图,当当用户hover住血缘关系图上的节点,系统可展示每个节点的元数据信息,包括数据集类型、表名、库名、负责人,以及数据是如何加工得来,如【psn_info_c1】表是由【psn_info-c】表通过spark SQL计算得来。
参见图14,图14为本申请实施例提供的数据血缘关系的应用场景示意图,在疫情防控场景中,对于重点行业的应检尽检人群须监测其是否有三天两检、七天三检的核酸记录,未做核酸的重点人员在业务流程中须作对应的告警,业务分析人员和信息工程师可通过血缘关系图,对重点人群的核酸检测数据溯源。当数据应用发生变动时可向前溯源,当未做核酸的人群核实后发现已做核酸,无法直接发现究竟是哪一环的数据计算出了问题,可使用全链路的血缘关系图进行溯源,其中的【重点人群未作核酸告警表】涉及告警的业务字段,在产品上可往前追溯,分别在数据仓库中对应哪些表的哪些字段,可发现上游字段是否有变动,进行影响和依赖分析;同时可对上游核心业务字段进行监测,提前发现问题,当字段变化时可对业务数据进行告警。
需要说明的是,在数据采集时,可对业务系统产生的数据做进一步的采集和上报,如将通过血缘关系图分析得到的分析数据反馈至采集模块,将分析数据作为采集数据,以对医疗数据进行闭环更新;另外,在对医疗数据进行分析时,可对列级上下游数据变动进行监测告警,在数据链路中对同源数据统一标记,在数据链路中进行前后数据对账,以使医疗大数据治理做到列的级别,便于后续业务价值继续探索。
通过上述方式,当医疗数据发生变更,需要从接入的源表、中间表、结果表、服务接口、数据指标、数据报表等实现全流程闭环的数据血缘分析,只有全链路式溯源监测,才能描述出表、ETL任务、API服务、业务指标的数据流向,以提供数据影响和依赖分析,提高分析的精准度。
下面继续说明本申请实施例提供的数据血缘分析装置555的实施为软件模块的示例性结构,在一些实施例中,存储在图3A中存储器550的业务数据血缘分析装置555中的软件模块可以包括:获取模块5551,用于响应于针对目标业务数据的分析请求,获取所述目标业务数据对应的链路数据;其中,所述链路数据用于表征所述目标业务数据的上下游血缘关系,所述上下游血缘关系用于表征所述目标业务数据的数据流向;解析模块5552,用于对所述链路数据进行血缘关系解析,得到所述目标业务数据对应的上下游血缘关系,所述上下游血缘关系用于表征所述目标业务数据的数据流向;渲染模块5553,用于基于所述上下游血缘关系进行渲染,得到所述目标业务数据对应的血缘关系图,以通过所述血缘关系图对所述目标业务数据进行分析。
在一些实施例中,所述响应于针对目标业务数据的分析请求,获取所述目标业务数据对应的链路数据之前,所述装置还包括:数据采集模块,用于响应于针对目标业务的数据采集请求,对所述目标业务对应的至少一个维度的业务数据进行数据采集,得到各所述维度的业务数据对应的链路数据;其中,所述至少一个维度的业务数据至少包括所述目标业务数据,所述链路数据记录了相应维度的业务数据的数据流向的上下游血缘关系;对各所述维度的业务数据对应的链路数据进行血缘关系解析,得到各所述维度的业务数据对应的上下游血缘关系,并提供各所述维度的业务数据对应的分析入口;响应于所述目标业务数据对应的分析入口被触发,接收到针对所述目标业务数据的分析请求。
在一些实施例中,所述对所述目标业务对应的至少一个维度的业务数据进行数据采集之前,所述装置还包括:任务触发模块,用于创建用于采集所述目标业务的业务数据的采集实例,响应于针对所述采集实例的调用操作,触发所述数据采集请求;或者,设置用于采集所述目标业务的业务数据的采集频率,并根据所述采集频率周期性地触发所述数据采集请求。
在一些实施例中,所述数据采集通过采集模块实现,所述采集模块包括一个消息中间件和至少一个任务执行单元,所述任务执行单元与所述维度呈对应关系;所述数据采集模块,还用于响应于所述消息中间件接收到针对目标业务中各维度的业务数据的数据采集请求,将各所述维度的业务数据对应的数据采集请求存储至任务队列中;响应于各所述业务执行单元监测到所述任务队列中存在相应维度的业务数据对应的数据采集请求,对各所述维度的业务数据进行数据采集,得到各所述维度的业务数据对应的采集数据;采用预设数据存储模型,对各所述维度的业务数据对应的采集数据进行存储,得到各所述维度的业务数据对应的链路数据。
在一些实施例中,所述数据采集模块,还用于对各所述维度的业务数据对应的采集数据进行解构处理,得到各所述维度的业务数据对应的解构数据;将各所述维度的业务数据对应的解构数据存储至预设数据存储模型中,得到各所述维度的业务数据对应的链路数据。
在一些实施例中,当所述链路数据用于记录对应各所述维度的第一业务数据和第二业务数据之间的数据流向的上下游血缘关系时,所述数据采集模块,还用于执行以下至少之一:当所述第一业务数据和所述第二业务数据通过数据仓库表关联时,对所述数据仓库表对应的结构化查询语句进行解析,或查询所述数据仓库表,得到所述第一业务数据和所述第二业务数据之间的上下游血缘关系;当所述第一业务数据和所述第二业务数据通过数据仓库表与数据服务关联时,对所述数据服务对应的代码进行解析,得到所述数据仓库表与所述数据服务之间的关联记录表,将所述关联记录表记录的上下游血缘关系作为所述第一业务数据和所述第二业务数据之间的上下游血缘关系;当所述第一业务数据和所述第二业务数据通过数据仓库表与数据指标关联时,对所述数据仓库表与所述数据指标之间的计算关系进行解析,得到所述第一业务数据和所述第二业务数据之间的上下游血缘关系;当所述第一业务数据和所述第二业务数据通过数据仓库表与数据报表关联时,对所述数据报表对应的数据源依赖关系进行解析,得到所述第一业务数据和所述第二业务数据之间的上下游血缘关系;当所述第一业务数据和所述第二业务数据通过数据服务与数据指标关联时,获取所述数据服务被调用的目标数据指标,并基于所述数据服务与所述目标数据指标确定第一业务数据和所述第二业务数据之间的上下游血缘关系;当所述第一业务数据和所述第二业务数据通过数据指标与数据报表关联时,对由所述数据指标生成所述数据报表的过程进行解析,得到第一业务数据和所述第二业务数据之间的上下游血缘关系。
在一些实施例中,所述装置还包括:反馈模块,用于获取通过所述血缘关系图对所述目标业务数据进行分析得到的分析数据,并将所述分析数据作为所述目标业务数据对应的链路数据。
在一些实施例中,当所述链路数据以预设数据存储模型进行存储时,所述解析模块,还用于以所述目标业务数据对应的实体节点为查询实体节点,获取所述预设数据存储模型中记录的所述查询实体节点关联的源头实体节点和目标实体节点;对所述查询实体节点进行上游节点递归解析,得到所述查询节点对应的上游实体节点,并对所述查询实体节点进行下游节点递归解析,得到所述查询节点对应的下游实体节点;基于所述源头实体节点、所述目标实体节点、所述上游实体节点及所述下游实体节点,确定所述目标业务数据对应的上下游血缘关系。
在一些实施例中,所述解析模块,还用于将所述源头实体节点、所述目标实体节点、所述上游实体节点及所述下游实体节点进行聚合处理,得到所述目标业务数据对应的聚合实体节点;对所述聚合实体节点进行信息划分,得到所述目标业务数据对应的连接信息和节点信息,以表征所述目标业务数据对应的上下游血缘关系;其中,所述连接信息记录了所述聚合实体节点中各实体节点之间的连接关系,所述节点信息记录了所述聚合实体节点中各实体节点的详情信息。
在一些实施例中,所述渲染模块,还用于对所述连接信息中各实体节点之间的连接关系进行标准化处理,并对所述节点信息中各实体节点的详情信息进行标准化处理;对标准化处理后的各实体节点进行渲染,得到所述目标业务数据对应的血缘关系图。
在一些实施例中,存储在图3B中存储器450的业务数据血缘分析装置455中的软件模块可以包括:第一显示模块4551,用于在目标业务的分析界面中显示分析入口,所述分析入口用于对所述目标业务对应的至少一个维度的业务数据进行分析;第二显示模块4552,用于响应于基于所述分析入口触发的针对目标业务数据的分析指令,显示所述目标业务数据对应的血缘关系图,以通过所述血缘关系图对所述目标业务数据进行分析;其中,所述血缘关系图,为基于所述目标业务数据对应的链路数据进行血缘关系解析得到的上下游血缘关系渲染得到,所述链路数据用于表征所述目标业务数据的上下游血缘关系,所述上下游血缘关系用于表征所述目标业务数据的数据流向。
在一些实施例中,当所述血缘关系图中以实体节点表征业务数据时,所述装置还包括第三显示模块,用于显示以下至少之一:响应于针对所述血缘关系图中目标实体节点的选择操作,突出显示与所述目标实体节点存在上下游血缘关系的其他实体节点;响应于针对所述血缘关系图中目标实体节点的选择操作,显示所述目标实体节点对应的元数据信息;响应于所述血缘关系图中目标实体节点对应的业务数据存在异常,显示用于提示所述目标实体节点对应的业务数据存在异常的告警提示信息。
本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序或计算机可执行指令,该计算机程序或计算机可执行指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机可执行指令,处理器执行该计算机可执行指令,使得该电子设备执行本申请实施例上述的业务数据血缘分析方法。
本申请实施例提供一种存储有计算机可执行指令的计算机可读存储介质,其中存储有计算机可执行指令,当计算机可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的业务数据血缘分析方法,例如,如图4示出的方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,计算机可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,计算机可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,HyperText Markup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,计算机可执行指令可被部署为在一个电子设备上执行,或者在位于一个地点的多个电子设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个电子设备上执行。
综上所述,通过本申请实施例可实现以下技术效果:
1)问题定位、影响分析:当结果数据、指标等出现较大的波动时,可进行溯源分析,分析是由哪条数据发生变化所导致的,提高分析的精准度;
2)医疗数据价值评估:通过链路分析和元数据,可以从数据的集中度、分布、冗余度、数据热度、重要性等多角度进行评估分析,从而初步判断数据的价值;
3)医疗数据指标诊断:通过血缘关系图分析关键指标的波动情况是什么因素引起的,提高指标诊断的准确性;
4)医疗大数据技术方案优化:生成各类医疗全局指标的过程中,需要大量的计算工作,当数据有问题,需要调整技术方案时可通过血缘关系图及时溯源。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (15)
1.一种数据血缘分析方法,其特征在于,所述方法包括:
响应于针对目标业务数据的分析请求,获取所述目标业务数据对应的链路数据;
其中,所述链路数据用于表征所述目标业务数据的上下游血缘关系,所述上下游血缘关系用于表征所述目标业务数据的数据流向;
对所述链路数据进行血缘关系解析,得到所述目标业务数据对应的上下游血缘关系;
基于所述上下游血缘关系进行渲染,得到所述目标业务数据对应的血缘关系图,以通过所述血缘关系图对所述目标业务数据进行分析。
2.如权利要求1所述的方法,其特征在于,所述响应于针对目标业务数据的分析请求,获取所述目标业务数据对应的链路数据之前,所述方法还包括:
响应于针对目标业务的数据采集请求,对所述目标业务对应的至少一个维度的业务数据进行数据采集,得到各所述维度的业务数据对应的链路数据;
其中,所述至少一个维度的业务数据至少包括所述目标业务数据,所述链路数据记录了相应维度的业务数据的数据流向的上下游血缘关系;
对各所述维度的业务数据对应的链路数据进行血缘关系解析,得到各所述维度的业务数据对应的上下游血缘关系,并提供各所述维度的业务数据对应的分析入口;
响应于所述目标业务数据对应的分析入口被触发,接收到针对所述目标业务数据的分析请求。
3.如权利要求2所述的方法,其特征在于,所述数据采集通过采集模块实现,所述采集模块包括一个消息中间件和至少一个任务执行单元,所述任务执行单元与所述维度呈对应关系;
所述响应于针对目标业务的数据采集请求,对所述目标业务对应的至少一个维度的业务数据进行数据采集,得到各所述维度的业务数据对应的链路数据,包括:
响应于所述消息中间件接收到针对目标业务中各维度的业务数据的数据采集请求,将各所述维度的业务数据对应的数据采集请求存储至任务队列中;
响应于各所述业务执行单元监测到所述任务队列中存在相应维度的业务数据对应的数据采集请求,对各所述维度的业务数据进行数据采集,得到各所述维度的业务数据对应的采集数据;
采用预设数据存储模型,对各所述维度的业务数据对应的采集数据进行存储,得到各所述维度的业务数据对应的链路数据。
4.如权利要求3所述的方法,其特征在于,所述采用预设数据存储模型,对各所述维度的业务数据对应的采集数据进行存储,得到各所述维度的业务数据对应的链路数据,包括:
对各所述维度的业务数据对应的采集数据进行解构处理,得到各所述维度的业务数据对应的解构数据;
将各所述维度的业务数据对应的解构数据存储至预设数据存储模型中,得到各所述维度的业务数据对应的链路数据。
5.如权利要求2所述的方法,其特征在于,当所述链路数据用于记录对应各所述维度的第一业务数据和第二业务数据之间的数据流向的上下游血缘关系时,
所述对所述目标业务对应的至少一个维度的业务数据进行数据采集,得到各所述维度的业务数据对应的链路数据,包括以下至少之一:
当所述第一业务数据和所述第二业务数据通过数据仓库表关联时,对所述数据仓库表对应的结构化查询语句进行解析,或查询所述数据仓库表,得到所述第一业务数据和所述第二业务数据之间的上下游血缘关系;
当所述第一业务数据和所述第二业务数据通过数据仓库表与数据服务关联时,对所述数据服务对应的代码进行解析,得到所述数据仓库表与所述数据服务之间的关联记录表,将所述关联记录表记录的上下游血缘关系作为所述第一业务数据和所述第二业务数据之间的上下游血缘关系;
当所述第一业务数据和所述第二业务数据通过数据仓库表与数据指标关联时,对所述数据仓库表与所述数据指标之间的计算关系进行解析,得到所述第一业务数据和所述第二业务数据之间的上下游血缘关系;
当所述第一业务数据和所述第二业务数据通过数据仓库表与数据报表关联时,对所述数据报表对应的数据源依赖关系进行解析,得到所述第一业务数据和所述第二业务数据之间的上下游血缘关系;
当所述第一业务数据和所述第二业务数据通过数据服务与数据指标关联时,获取所述数据服务被调用的目标数据指标,并基于所述数据服务与所述目标数据指标确定所述第一业务数据和所述第二业务数据之间的上下游血缘关系;
当所述第一业务数据和所述第二业务数据通过数据指标与数据报表关联时,对由所述数据指标生成所述数据报表的过程进行解析,得到所述第一业务数据和所述第二业务数据之间的上下游血缘关系。
6.如权利要求2所述的方法,其特征在于,所述方法还包括:
获取通过所述血缘关系图对所述目标业务数据进行分析得到的分析数据,并将所述分析数据作为所述目标业务数据对应的链路数据。
7.如权利要求1所述的方法,其特征在于,当所述链路数据以预设数据存储模型进行存储时,所述对所述链路数据进行血缘关系解析,得到所述目标业务数据对应的上下游血缘关系,包括:
以所述目标业务数据对应的实体节点为查询实体节点,获取所述预设数据存储模型中记录的所述查询实体节点关联的源头实体节点和目标实体节点;
对所述查询实体节点进行上游节点递归解析,得到所述查询节点对应的上游实体节点,并对所述查询实体节点进行下游节点递归解析,得到所述查询节点对应的下游实体节点;
基于所述源头实体节点、所述目标实体节点、所述上游实体节点及所述下游实体节点,确定所述目标业务数据对应的上下游血缘关系。
8.如权利要求7所述的方法,其特征在于,所述基于源头实体节点、所述目标实体节点、所述上游实体节点及所述下游实体节点,确定所述目标业务数据对应的上下游血缘关系,包括:
将所述源头实体节点、所述目标实体节点、所述上游实体节点及所述下游实体节点进行聚合处理,得到所述目标业务数据对应的聚合实体节点;
对所述聚合实体节点进行信息划分,得到所述目标业务数据对应的连接信息和节点信息,以表征所述目标业务数据对应的上下游血缘关系;
其中,所述连接信息记录了所述聚合实体节点中各实体节点之间的连接关系,所述节点信息记录了所述聚合实体节点中各实体节点的详情信息。
9.一种数据血缘分析方法,其特征在于,所述方法包括:
在目标业务的分析界面中显示分析入口,所述分析入口用于对所述目标业务对应的至少一个维度的业务数据进行分析;
响应于基于所述分析入口触发的针对目标业务数据的分析指令,显示所述目标业务数据对应的血缘关系图,以通过所述血缘关系图对所述目标业务数据进行分析;
其中,所述血缘关系图,为基于所述目标业务数据对应的链路数据进行血缘关系解析得到的上下游血缘关系渲染得到,所述链路数据用于表征所述目标业务数据的上下游血缘关系,所述上下游血缘关系用于表征所述目标业务数据的数据流向。
10.如权利要求9所述的方法,其特征在于,当所述血缘关系图中以实体节点表征业务数据时,所述方法还包括以下至少之一:
响应于针对所述血缘关系图中目标实体节点的选择操作,突出显示与所述目标实体节点存在上下游血缘关系的其他实体节点;
响应于针对所述血缘关系图中目标实体节点的选择操作,显示所述目标实体节点对应的元数据信息;
响应于所述血缘关系图中目标实体节点对应的业务数据存在异常,显示告警提示信息。
11.一种数据血缘分析装置,其特征在于,所述装置包括:
获取模块,用于响应于针对目标业务数据的分析请求,获取所述目标业务数据对应的链路数据;
其中,所述链路数据用于表征所述目标业务数据的上下游血缘关系,所述上下游血缘关系用于表征所述目标业务数据的数据流向;
解析模块,用于对所述链路数据进行血缘关系解析,得到所述目标业务数据对应的上下游血缘关系,所述上下游血缘关系用于表征所述目标业务数据的数据流向;
渲染模块,用于基于所述上下游血缘关系进行渲染,得到所述目标业务数据对应的血缘关系图,以通过所述血缘关系图对所述目标业务数据进行分析。
12.一种数据血缘分析装置,其特征在于,所述装置包括:
第一显示模块,用于在目标业务的分析界面中显示分析入口,所述分析入口用于对所述目标业务对应的至少一个维度的业务数据进行分析;
第二显示模块,用于响应于基于所述分析入口触发的针对目标业务数据的分析指令,显示所述目标业务数据对应的血缘关系图,以通过所述血缘关系图对所述目标业务数据进行分析;
其中,所述血缘关系图,为基于所述目标业务数据对应的链路数据进行血缘关系解析得到的上下游血缘关系渲染得到,所述链路数据用于表征所述目标业务数据的上下游血缘关系,所述上下游血缘关系用于表征所述目标业务数据的数据流向。
13.一种电子设备,其特征在于,包括:
存储器,用于存储计算机可执行指令;
处理器,用于执行所述存储器中存储的计算机可执行指令时,实现权利要求1至10任一项所述的数据血缘分析方法。
14.一种计算机可读存储介质,其特征在于,存储有计算机可执行指令,所述计算机可执行指令被处理器执行时,实现权利要求1至10任一项所述的数据血缘分析方法。
15.一种计算机程序产品,包括计算机程序或计算机可执行指令,其特征在于,所述计算机程序或计算机可执行指令被处理器执行时,实现权利要求1至10任一项所述的数据血缘分析方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211025663.XA CN117009371A (zh) | 2022-08-25 | 2022-08-25 | 数据血缘分析方法、装置、设备、存储介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211025663.XA CN117009371A (zh) | 2022-08-25 | 2022-08-25 | 数据血缘分析方法、装置、设备、存储介质及程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117009371A true CN117009371A (zh) | 2023-11-07 |
Family
ID=88564200
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211025663.XA Pending CN117009371A (zh) | 2022-08-25 | 2022-08-25 | 数据血缘分析方法、装置、设备、存储介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117009371A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117273131A (zh) * | 2023-11-22 | 2023-12-22 | 四川三合力通科技发展集团有限公司 | 一种跨节点数据关系发现系统及方法 |
-
2022
- 2022-08-25 CN CN202211025663.XA patent/CN117009371A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117273131A (zh) * | 2023-11-22 | 2023-12-22 | 四川三合力通科技发展集团有限公司 | 一种跨节点数据关系发现系统及方法 |
CN117273131B (zh) * | 2023-11-22 | 2024-02-13 | 四川三合力通科技发展集团有限公司 | 一种跨节点数据关系发现系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107506451B (zh) | 用于数据交互的异常信息监控方法及装置 | |
Abdalkareem et al. | What do developers use the crowd for? a study using stack overflow | |
Mehmood et al. | Implementing big data lake for heterogeneous data sources | |
US10956422B2 (en) | Integrating event processing with map-reduce | |
US11669517B2 (en) | Interactive interpreter and graphical user interface | |
US8417690B2 (en) | Automatically avoiding unconstrained cartesian product joins | |
WO2020238597A1 (zh) | 基于Hadoop的数据更新方法、装置、系统及介质 | |
JP2017515180A (ja) | ビッグ・データ・リポジトリにおけるデータ・セットの処理 | |
CN111078729B (zh) | 医疗数据溯源方法、装置、系统、存储介质以及电子设备 | |
US11921758B2 (en) | Systems and methods for machine learning models for entity resolution | |
CN115374102A (zh) | 数据处理方法及系统 | |
EP3474158A1 (en) | Method and device for executing distributed computing task | |
CN117009371A (zh) | 数据血缘分析方法、装置、设备、存储介质及程序产品 | |
CN111611276A (zh) | 数据查询方法、装置及存储介质 | |
CN113962597A (zh) | 一种数据分析方法、装置、电子设备及存储介质 | |
CN116578585B (zh) | 数据查询方法、装置、电子设备及存储介质 | |
CN113326261A (zh) | 数据血缘关系提取方法、装置及电子设备 | |
CN116414855A (zh) | 信息处理方法及装置、电子设备和计算机可读存储介质 | |
Ocaña et al. | Data analytics in bioinformatics: Data science in practice for genomics analysis workflows | |
CN113779337B (zh) | 监管数据上传方法、装置、设备及存储介质 | |
Neto et al. | Disease surveillance big data platform for large scale event processing | |
CN112579705B (zh) | 元数据采集方法、装置、计算机设备和存储介质 | |
CN113010483A (zh) | 一种海量日志管理方法和系统 | |
US9459939B2 (en) | In-memory approach to extend semantic event processing with domain insights | |
CN114254081B (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 |