CN117008921A - 元数据采集方法、电子设备、存储介质 - Google Patents
元数据采集方法、电子设备、存储介质 Download PDFInfo
- Publication number
- CN117008921A CN117008921A CN202311047430.4A CN202311047430A CN117008921A CN 117008921 A CN117008921 A CN 117008921A CN 202311047430 A CN202311047430 A CN 202311047430A CN 117008921 A CN117008921 A CN 117008921A
- Authority
- CN
- China
- Prior art keywords
- metadata
- content information
- type
- writing
- database
- 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
- 238000000034 method Methods 0.000 title claims abstract description 79
- 238000003860 storage Methods 0.000 title claims abstract description 37
- 230000008859 change Effects 0.000 claims abstract description 78
- 238000004458 analytical method Methods 0.000 claims abstract description 24
- 238000012360 testing method Methods 0.000 claims description 69
- 238000012795 verification Methods 0.000 claims description 32
- 238000012544 monitoring process Methods 0.000 claims description 26
- 238000013138 pruning Methods 0.000 claims description 18
- 238000013515 script Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012937 correction Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 9
- 238000005070 sampling Methods 0.000 claims description 4
- 230000009471 action Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 13
- 238000005516 engineering process Methods 0.000 abstract description 8
- 230000006870 function Effects 0.000 description 17
- 238000007726 management method Methods 0.000 description 16
- 238000012217 deletion Methods 0.000 description 9
- 230000037430 deletion Effects 0.000 description 9
- 238000012986 modification Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 5
- 230000002829 reductive effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 239000000243 solution Substances 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- ZLIBICFPKPWGIZ-UHFFFAOYSA-N pyrimethanil Chemical compound CC1=CC(C)=NC(NC=2C=CC=CC=2)=N1 ZLIBICFPKPWGIZ-UHFFFAOYSA-N 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/425—Lexical analysis
-
- 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)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及计算机技术领域,尤其是涉及一种元数据采集方法、电子设备、存储介质。本申请元数据采集方法,需要先获取源代码,再对源代码进行业务逻辑解析,得到元数据内容信息与元数据变更类型,基于元数据变更类型从预设的多个备选写入类型中确定元数据写入类型,最终基于元数据写入类型将元数据内容信息写入元数据库。需要指出,本申请相较于从数据库中查找元数据,能够更为准确地获取元数据内容信息,以提升采集效率,再依照元数据变更类型对应的元数据写入类型将元数据内容信息写入元数据库内,实现数据内容信息的写入,完成元数据采集。整个采集过程无需用到插件,在提升采集效率的同时保护了数据安全。
Description
技术领域
本申请涉及计算机技术领域,尤其是涉及一种元数据采集方法、电子设备、存储介质。
背景技术
元数据(Metadata),又称中介数据、中继数据,为描述数据的数据,主要是描述数据属性的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。需要指出,元数据采集是数据管理和治理领域的重要技术。
相关技术中,主流的元数据采集方法主要包括类元数据采集与插件采集,需要指出,类元数据采集在业务高峰时,会对源数据库造成较大的读写压力,以至于采集效率较低,而插件采集元数据,则存在较大的数据安全隐患。因此,如何在提升采集效率的同时保护数据安全,已经成为业内亟待解决的一个问题。
发明内容
本申请旨在至少解决现有技术中存在的技术问题之一。为此,本申请提出一种元数据采集方法、电子设备、存储介质,能够在提升采集效率的同时保护数据安全。
根据本申请的第一方面实施例的元数据采集方法,包括:
获取源代码,所述源代码包括目标数据库项目对应的生成脚本;
对所述源代码进行业务逻辑解析,得到元数据内容信息与元数据变更类型;
基于所述元数据变更类型从预设的多个备选写入类型中确定元数据写入类型,并基于所述元数据写入类型将所述元数据内容信息写入元数据库。
根据本申请的一些实施例,所述对所述源代码进行业务逻辑解析,得到元数据内容信息与元数据变更类型,包括:
基于预设的构词规则对所述源代码中的字符流进行扫描,得到单词序列信息;
基于预设的语法规则对所述单词序列信息进行解析,得到所述元数据内容信息与语法短语信息;
基于预设的关键字段对所述语法短语信息进行类型匹配,得到所述元数据变更类型。
根据本申请的一些实施例,所述关键字段包括新增关键字段与删改关键字段,所述基于预设的关键字段对所述语法短语信息进行类型匹配,得到所述元数据变更类型,包括:
当所述语法短语信息包括所述新增关键字段,将所述元数据变更类型确定为元数据新增类型;
当所述语法短语信息包括所述删改关键字段,将所述元数据变更类型确定为删改元数据删改类型。
根据本申请的一些实施例,所述基于所述元数据变更类型从预设的多个备选写入类型中确定元数据写入类型,并基于所述元数据写入类型将所述元数据内容信息写入元数据库,包括:
当所述元数据变更类型为所述元数据新增类型,从多个所述备选写入类型中选取第二写入类型,并将所述第二写入类型确定为所述元数据写入类型;
基于所述第一写入类型,将所述元数据内容信息以文本格式写入所述元数据库。
根据本申请的一些实施例,所述基于所述元数据变更类型从预设的多个备选写入类型中确定元数据写入类型,并基于所述元数据写入类型将所述元数据内容信息写入元数据库,包括:
当所述元数据变更类型为所述元数据删改类型,从多个所述备选写入类型中选取第二写入类型,并将所述第二写入类型确定为所述元数据写入类型;
基于所述第二写入类型,根据所述元数据内容信息生成监听通知信息与元数据写入指令;
将所述监听通知信息下发至监听关联程序,以使所述监听关联程序作出协调响应;
将所述元数据写入指令下发至所述元数据库,以使所述元数据内容信息被写入所述元数据库。
根据本申请的一些实施例,所述基于所述元数据变更类型从预设的多个备选写入类型中确定元数据写入类型,并基于所述元数据写入类型将所述元数据内容信息写入元数据库之前,所述方法还包括对所述元数据内容信息进行核对测试,具体包括:
从预设的元数据测试数据库中提取测试内容信息;
将所述元数据内容信息与所述测试内容信息进行比对,得到比对校验结果;
当所述比对校验结果反映所述元数据内容信息与所述测试内容信息存在差异数据,执行修正操作;
当所述比对校验结果反映所述元数据内容信息与所述测试内容信息内容一致,则确定所述元数据内容信息通过所述核对测试。
根据本申请的一些实施例,所述执行修正操作包括:
获取所述差异数据对应的差异时间点;
基于所述差异时间点对所述源代码进行全量元数据采集,以更新所述元数据内容信息;
将更新后的所述元数据内容信息与所述测试内容信息进行比对,得到更新后的比对校验结果。
根据本申请的一些实施例,所述基于所述元数据变更类型从预设的多个备选写入类型中确定元数据写入类型,并基于所述元数据写入类型将所述元数据内容信息写入元数据库之后,所述方法还包括:
从预设的元数据测试数据库中提取测试内容信息;
基于预设的时间间隔对所述元数据库进行抽样提取,得到样本元数据;
基于所述测试内容信息对所述样本元数据进行检查,得到检查校验结果。
第二方面,本申请实施例提供了一种电子设备,包括:存储器、处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如本申请第一方面实施例中任意一项所述的元数据采集方法。
第三方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行实现如本申请第一方面实施例中任意一项所述的元数据采集方法。
根据本申请实施例的元数据采集方法、电子设备、存储介质,至少具有如下有益效果:
本申请元数据采集方法,需要先获取源代码,源代码包括目标数据库项目对应的生成脚本,再对源代码进行业务逻辑解析,得到元数据内容信息与元数据变更类型,进一步,基于元数据变更类型从预设的多个备选写入类型中确定元数据写入类型,最终基于元数据写入类型将元数据内容信息写入元数据库。需要指出,通过对源代码进行业务逻辑解析,以明确元数据内容信息与元数据变更类型,相较于从数据库中查找元数据,能够更为准确地获取元数据内容信息,以提升采集效率,再依照元数据变更类型对应的元数据写入类型将元数据内容信息写入元数据库内,实现数据内容信息的写入,完成元数据采集。整个采集过程无需用到插件,在提升采集效率的同时保护了数据安全。
本申请的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请实施例提供的元数据采集方法的流程示意图;
图2为步骤S102的流程示意图;
图3为步骤S203的流程示意图;
图4为步骤S103的流程示意图;
图5为步骤S103的另一流程示意图;
图6为本申请实施例提供的元数据采集方法的另一流程示意图;
图7为步骤S603的流程示意图;
图8为本申请实施例提供的元数据采集方法的另一流程示意图;
图9是本申请实施例提供的电子设备的硬件结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。
在本申请的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
在本申请的描述中,需要理解的是,涉及到方位描述,例如上、下、左、右、前、后等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
本申请的描述中,需要说明的是,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本申请中的具体含义。另外,下文中对于具体步骤的标识并不代表对于步骤顺序与执行逻辑的限定,各个步骤之间的执行顺序与执行逻辑应参照实施例所表述的内容进行理解与推定。
元数据(Metadata),又称中介数据、中继数据,为描述数据的数据,主要是描述数据属性的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。需要指出,元数据采集是数据管理和治理领域的重要技术。元数据是描述信息资源或数据等对象的数据,其使用目的在于:识别资源;评价资源;追踪资源在使用过程中的变化;实现简单高效地管理大量网络化数据;实现信息资源的有效发现、查找、一体化组织和对使用资源的有效管理。
相关技术中,主流的元数据采集方法可以分为两类。
其一,类元数据采集。类元数据采集通过Java数据库连接(Java DatabaseConnectivity,JDBC)或者其它连接技术,连接源数据库,进而从元数据存储表或者元数据存储文件中读取元数据,再将元数据写入到目标库进行保存。
其一方法具有如下弊端:类元数据采集会对源数据库造成读写压力,特别是在一些业务高峰时段,可能会对业务库产生持续的资源占用;由于元数据的产生时间并不固定,因此定时采集元数据是一个效率较低的操作;对于海量元数据的采集,其采集效率会变得较为低下。
其二,插件采集。在完成元数据的首次采集后,通过在数据库端安装Hook插件的方式持续采集增量元数据方式进行。其中,Hook插件用于切入到数据库的内部运行机制中,进行中断、增加或者修改原来的程序逻辑,以实现特定的功能。
其二方法具有如下弊端:Hook插件存在很强的侵入性,在数据库规范管理方面存在较大的数据安全隐患,并且很难进行监控;在数据库中安装Hook插件,需要投入开发、运维成员进行实施和维护,若针对数据较多的数据库进行管理,将产生较大的成本。
本申请旨在至少解决现有技术中存在的技术问题之一。为此,本申请提出一种元数据采集方法、电子设备、存储介质,能够在提升采集效率的同时保护数据安全。
参照图1,根据本申请实施例提供的元数据采集方法,可以包括,但不限于下述步骤S101至步骤S103。
步骤S101,获取源代码,源代码包括目标数据库项目对应的生成脚本;
步骤S102,对源代码进行业务逻辑解析,得到元数据内容信息与元数据变更类型;
步骤S103,基于元数据变更类型从预设的多个备选写入类型中确定元数据写入类型,并基于元数据写入类型将元数据内容信息写入元数据库。
通过步骤S101至步骤S103示出的本申请元数据采集方法,需要先获取源代码,源代码包括目标数据库项目对应的生成脚本,再对源代码进行业务逻辑解析,得到元数据内容信息与元数据变更类型,进一步,基于元数据变更类型从预设的多个备选写入类型中确定元数据写入类型,最终基于元数据写入类型将元数据内容信息写入元数据库。需要指出,通过对源代码进行业务逻辑解析,以明确元数据内容信息与元数据变更类型,相较于从数据库中查找元数据,能够更为准确地获取元数据内容信息,以提升采集效率,再依照元数据变更类型对应的元数据写入类型将元数据内容信息写入元数据库内,实现数据内容信息的写入,完成元数据采集。整个采集过程无需用到插件,在提升采集效率的同时保护了数据安全。
本申请一些实施例的步骤S101中,获取源代码,源代码包括目标数据库项目对应的生成脚本。需要说明的是,源代码可以是一种数据库编程代码,用于编写目标数据库项目。生成目标数据库项目时,预先部署脚本、数据库对象定义和后期部署脚本合并为一个生成脚本。应理解,生成目标数据库项目时需要指定一个预先部署脚本和一个后期部署脚本,但可在预先部署脚本和后期部署脚本中包含其他脚本。
本申请一些实施例的步骤S102中,对源代码进行业务逻辑解析,得到元数据内容信息与元数据变更类型。需要说明,源代码用于编写目标数据库项目,那么针对源代码中目标数据库项目对应的生成脚本进行业务逻辑解析,即可将其中与元数据有关的程序代码提取出来。所谓业务逻辑解析,具体可以是通过对程序代码的词法分析与语法分析,确定程序代码的编程逻辑。本申请实施例对源代码进行业务逻辑解析,旨在进一步以程序代码的编程逻辑为依据,明确元数据内容信息与元数据变更类型。需要明确,元数据内容信息也即实际用于描述数据属性的信息,能够支持如指示存储位置、历史数据、资源查找、文件记录等功能;而元数据变更类型,指的是源代码中需要对元数据进行变更操作时,对应的变更操作的类型,例如对元数据作出新增操作、对元数据作出修改操作、对元数据作出删除操作等变更操作类型。
参照图2,根据本申请提供的一些实施例,步骤S102可以包括,但不限于下述步骤S201至步骤S203。
步骤S201,基于预设的构词规则对源代码中的字符流进行扫描,得到单词序列信息;
步骤S202,基于预设的语法规则对单词序列信息进行解析,得到元数据内容信息与语法短语信息;
步骤S203,基于预设的关键字段对语法短语信息进行类型匹配,得到元数据变更类型。
本申请一些实施例的步骤S201中,基于预设的构词规则对源代码中的字符流进行扫描,得到单词序列信息。需要说明的是,对源代码进行业务逻辑解析,可以首先基于预设的构词规则对源代码中的字符流进行扫描,其原因在于,词法分析是编译过程的第一个阶段,这个阶段的任务可以看成是从左到右一个字符一个字符地读入源程序,从中识别出一个个“单词”符号,即对源代码的字符流进行扫描然后根据构词规则识别单词。而预设的构词规则,是指预先设置的、用于界定代码中一个个“单词”符号的规则,此处的“单词”是组成程序代码的单词,是编程语言中最小单元。需要明确,对源代码中的字符流进行扫描后得到的单词序列信息,可以是以二元组序列的方式输出,其中每一个二元组包括单词种别和单词自身的值。应理解,基于预设的构词规则对源代码中的字符流进行扫描,得到单词序列信息,不限于上述举出的具体实施例。
本申请一些实施例的步骤S202中,基于预设的语法规则对单词序列信息进行解析,得到元数据内容信息与语法短语信息。本申请一些示例性的实施例中,在对源代码进行词法分析之后,需要进一步基于预设的语法规则对单词序列信息进行解析。需要说明的是,语法分析是编译过程的一个逻辑阶段,此阶段的任务是在词法分析的基础上将单词序列组合成各类语法短语,如“程序”,“语句”,“表达式”等等。其中,语法是用户数据与控制信息的结构与格式认识,通过语法,可以将各个单词组织成有含义的短语和句子。而预设的语法规则,是指预先设置的、用于将各个单词组织成有含义的短语和句子的规则。在基于预设的语法规则对单词序列信息进行解析之后,即可得到元数据内容信息与语法短语信息,其中元数据内容信息能够实际用于描述数据属性的信息,可以支持如指示存储位置、历史数据、资源查找、文件记录等功能;而语法短语信息则是一种程序代码中的编程短语,在源代码中用于体现编程语法。应理解,基于预设的语法规则对单词序列信息进行解析,得到元数据内容信息与语法短语信息,不限于上述举出的具体实施例。
本申请一些实施例的步骤S203中,基于预设的关键字段对语法短语信息进行类型匹配,得到元数据变更类型。需要说明的是,预设的关键字段,指的是预先设置的、用于表征变更操作类型的字段。一些实施例中,关键字段可以包括但不限于新增关键字段(create)、修改关键字段(alter)与删除关键字段(drop),其中新增关键字段对应于新增操作、修改关键字段对应于修改操作、删除关键字段对应于删除操作。需要指出,在基于预设的语法规则对单词序列信息进行解析,得到元数据内容信息与语法短语信息之后,从语法短语信息中若能匹配到新增关键字段、修改关键字段、删除关键字段等类型的关键字段,则可以确定元数据变更类型,是对元数据作出了新增操作、对元数据作出了修改操作、对元数据作出了删除操作,还是对元数据作出了其他变更操作。应理解,基于预设的关键字段对语法短语信息进行类型匹配,得到元数据变更类型,不限于上述举出的具体实施例。
参照图3,根据本申请提供的一些实施例,关键字段具体可以包括新增关键字段与删改关键字段,步骤S203可以包括但不限于下述步骤S301至步骤S302。
步骤S301,当语法短语信息包括新增关键字段,将元数据变更类型确定为元数据新增类型;
步骤S302,当语法短语信息包括删改关键字段,将元数据变更类型确定为删改元数据删改类型。
本申请一些实施例的步骤S301中,当语法短语信息包括新增关键字段,将元数据变更类型确定为元数据新增类型。需要说明的是,若语法短语信息包括新增关键字段,则可以认定为源代码内含有新增元数据的变更操作,此时需要将元数据变更类型确定为元数据新增类型,以便于在后续环节中依照元数据新增类型对应的写入方式,来完成对元数据内容信息的写入。
本申请一些实施例的步骤S302中,当语法短语信息包括删改关键字段,将元数据变更类型确定为删改元数据删改类型。需要说明的是,若语法短语信息包括删改关键字段,则可以认定为源代码内含有删改元数据的变更操作,此时需要将元数据变更类型确定为元数据删改类型,以便于在后续环节中依照元数据删改类型对应的写入方式,来完成对元数据内容信息的写入。需要指出,“删改”是对修改与删除的统称。
通过步骤S301至步骤S302示出的本申请实施例,当语法短语信息包括新增关键字段,将元数据变更类型确定为元数据新增类型,当语法短语信息包括删改关键字段,将元数据变更类型确定为删改元数据删改类型。一些示例性的实施例中,新增关键字段可以表示为create,删改关键字段又可以细分为修改关键字段与删除关键字段,修改关键字段表示为alter,删除关键字段表示为drop,基于上述类型的关键字段进行类型匹配,能够对常见的几类元数据变更操作进行确定,也就是新增关键字段对应于元数据新增操作、修改关键字段对应于元数据修改操作以及删除关键字段对应于元数据删除操作。需要指出,在基于预设的关键字段对语法短语信息进行类型匹配,得到元数据变更类型之后,即可在后续步骤中以元数据变更类型来确定对应的元数据写入类型,进一步基于元数据写入类型来实现对元数据库的写入,无需繁琐步骤就能一环接一环地实现对元数据的采集,提升了元数据采集效率。
通过步骤S201至步骤S203,先基于预设的构词规则对源代码中的字符流进行扫描,得到单词序列信息,再基于预设的语法规则对单词序列信息进行解析,得到元数据内容信息与语法短语信息,进而基于预设的关键字段对语法短语信息进行类型匹配,得到元数据变更类型。以源代码的字符流先进行词法解析再进行语法解析,最后进行关键字匹配,能够实现对源代码的业务逻辑解析,从中提取到较为准确的元数据内容信息与元数据变更类型。
本申请一些较为具体的实施例中,SQL(Structured Query Language)是具有数据操纵和数据定义等多种功能的数据库语言,这种语言具有交互性特点,能为用户提供极大的便利,数据库管理系统应充分利用SQL语言提高计算机应用系统的工作质量与效率。SQL语言不仅能独立应用于终端,还可以作为子语言为其他程序设计提供有效助力,该程序应用中,SQL可与其他程序语言一起优化程序功能,进而为用户提供更多更全面的信息。SQLServer数据库包括Microsoft SQL Server以及Sybase SQL Server两个子数据库,该数据库能否正常运行直接关系着整个计算机系统的运行安全。Druid是一种数据库连接池,能够提供强大的监控和扩展功能。SQL Parser是Druid的一个重要组成部分,Druid内置使SQLParse来实现防御SQL注入、合并统计没有参数化的SQL、SQL格式化、分库分表。Druid SQLParser分三个模块:Parser,AST,Visitor。Parser用于将输入文本转换为抽象语法树(Abstract Syntax Tree,AST),Parser有包括两个部分,分别是词法分析与语法分析。需要指出,抽象语法树仅仅用于表示语义,但如何对这个语义进行表达,则需要通过访问这棵抽象语法树来实现,明确其需要表达什么含义。通常遍历语法树,使用VISITOR模式去遍历,从根节点开始遍历,一直到最后一个叶子节点,在遍历的过程中,便不断地收集信息到一个上下文中,整个遍历过程完成后,对这棵树所表达的语法含义,已经被保存到上下文了。因此Visitor是遍历抽象语法树的手段,是处理抽象语法树较为方便的模式。
需要指出,当源代码基于SQL语言编写而成,步骤S201至步骤S203,可以利用上述替代的Druid框架,结合基于抽象语法树形成的语法解析包来实现。需要说明的是,对源代码进行业务逻辑解析,得到元数据内容信息与元数据变更类型,不限于上述举出的具体实施例。
本申请一些实施例的步骤S103中,基于元数据变更类型从预设的多个备选写入类型中确定元数据写入类型,并基于元数据写入类型将元数据内容信息写入元数据库。需要说明的是,预设的多个备选写入类型指的是预先设置的、关于元数据写入的备选操作类型,其中各个备选写入类型能够适配于对元数据的不同变更操作。例如,若源代码需要对元数据作出新增操作,则可以从预设的多个备选写入类型中找出一种操作类型:将元数据内容信息转化为文本格式(txt)存储后写入数据库;其原因在于,对元数据作出新增操作伴随着较多数据的新增,此时将元数据内容信息转化为文本格式(txt)存储后写入数据库,能够减轻数据库的写入负担。又例如,若源代码需要对元数据作出修改操作,则可以从预设的多个备选写入类型中找出一种操作类型:根据元数据内容信息生成监听通知信息与元数据写入指令,其中监听通知信息下发给下游的多个监听关联程序(监听关联程序是关注元数据变更的监听程序),而元数据写入指令下发至元数据库;其原因在于,下游的监听关联程序会关注元数据的变更操作,因此,当下游的多个监听关联程序接收到监听通知信息,就能够作出与元数据变更协调的响应动作,以适应元数据变更产生的影响,同时,由于元数据写入指令是基于元数据内容信息生成的,因此将元数据写入指令下发至元数据库,可以实现元数据内容信息在元数据库的写入。应理解,备选操作类型可以根据实际应用场景进行预设,其类型多种多样,不限于上述举出的具体实施例。
需要说明的是,元数据库是存储和管理元数据的一种特定数据库。元数据库基本结构与数据库差不多。数据库的基本结构分三个层次,反映了观察数据库的三种不同角度。以内模式为框架所组成的数据库叫做物理数据库;以概念模式为框架所组成的数据叫概念数据库;以外模式为框架所组成的数据库叫用户数据库。其一,物理数据层,它是数据库的最内层,是物理存贮设备上实际存储的数据的集合。这些数据是原始数据,是用户加工的对象,由内部模式描述的指令操作处理的位串、字符和字组成;其二,概念数据层,它是数据库的中间一层,是数据库的整体逻辑表示,指出了每个数据的逻辑定义及数据间的逻辑联系,是存贮记录的集合,它所涉及的是数据库所有对象的逻辑关系,而不是它们的物理情况,是数据库管理员概念下的数据库;其三,用户数据层,它是用户所看到和使用的数据库,表示了一个或一些特定用户使用的数据集合,即逻辑记录的集合。需要指出,数据库不同层次之间的联系是通过映射进行转换的。
一些较为具体的实施例中,元数据库对应的元数据库管理模块需要具有较高效率的数据索引,并支持XML格式的元数据存储,提供元数据库的建立和删除,元数据库索引的建立和删除,以及元数据的导入、导出等维护管理功能。元数据库管理模块是一个C/S模式的应用,由具有XML存储管理功能的关系型数据库管理系统作为服务器端,通过具有元数据库管理操作功能的客户端应用实现元数据库管理的各项功能,其主要功能包括:其一,元数据库创建,元数据库管理模块是将元数据记录存储在关系数据库中,为用户提供建立元数据库的功能。同时,该模块需要支持多个元数据标准及其元数据记录的存储;其二,元数据库管理,元数据库管理模块主要是管理元数据,支持元数据信息的网络发布,这要求该模块具有较高效率的数据索引。针对这一要求,模块应采用具有较高效率的静态索引算法对元数据记录进行索引。通过定义数据库的可索引域,将数据库索引至不同的元素字段,较好地适应查全率和查准率的要求。元数据库管理具有元数据库建立、导入、导出、删除、备份功能,并且具备支持元数据记录的标准一致性和内容正确性验证功能;其三,元数据库配置管理,可同时管理多个待发布的元数据库,包括元数据库地址信息配置等多项功能。
参照图4,根据本申请提供的一些实施例,步骤S103,可以包括但不限于下述步骤S401至步骤S402。
步骤S401,当元数据变更类型为元数据新增类型,从多个备选写入类型中选取第二写入类型,并将第二写入类型确定为元数据写入类型;
步骤S402,基于第一写入类型,将元数据内容信息以文本格式写入元数据库。
本申请一些实施例的步骤S401至步骤S402中,当元数据变更类型为元数据新增类型,从多个备选写入类型中选取第二写入类型,并将第二写入类型确定为元数据写入类型,基于第一写入类型,将元数据内容信息以文本格式写入元数据库。需要说明的是,第一写入类型指的是针对新增元数据的写入类型,旨在基于元数据内容信息在元数据库中添加数据。若源代码需要对元数据作出新增操作,则可以从预设的多个备选写入类型中找出一种操作类型:将元数据内容信息转化为文本格式(txt)存储后写入数据库;其原因在于,对元数据作出新增操作伴随着较多数据的新增,此时将元数据内容信息转化为文本格式(txt)存储后写入数据库,能够减轻数据库的写入负担。
参照图5,根据本申请提供的一些实施例,步骤S103,也可以包括,但不限于下述步骤S501至步骤S504。
步骤S501,当元数据变更类型为元数据删改类型,从多个备选写入类型中选取第二写入类型,并将第二写入类型确定为元数据写入类型;
步骤S502,基于第二写入类型,根据元数据内容信息生成监听通知信息与元数据写入指令;
步骤S503,将监听通知信息下发至监听关联程序,以使监听关联程序作出协调响应;
步骤S504,将元数据写入指令下发至元数据库,以使元数据内容信息被写入元数据库。
本申请一些实施例的步骤S501中,当元数据变更类型为元数据删改类型,从多个备选写入类型中选取第二写入类型,并将第二写入类型确定为元数据写入类型。需要说明的是,第二写入类型指的是针对删改元数据的写入类型,旨在基于元数据内容信息在元数据库中执行数据的修改或者删除。
本申请一些实施例的步骤S502中,基于第二写入类型,根据元数据内容信息生成监听通知信息与元数据写入指令。需要说明的是,监听通知信息用于通知元数据变更事件,需要指出,元数据一旦发生修改或者删除,对于下游关注元数据变更的监听程序来说,势必会造成影响。因此,则需要根据元数据内容信息生成监听通知信息与元数据写入指令,以便于在将元数据内容信息写入元数据库的过程中,还能够通知下游的监听程序作出协调响应。
本申请一些实施例的步骤S503中,将监听通知信息下发至监听关联程序,以使监听关联程序作出协调响应。需要说明的是,监听关联程序指的是关注元数据变更的监听程序,因此,将监听通知信息下发至监听关联程序,其目的在于,当下游的多个监听关联程序接收到监听通知信息,就能够作出与元数据变更协调的响应动作,以适应元数据变更产生的影响。
本申请一些实施例的步骤S504中,将元数据写入指令下发至元数据库,以使元数据内容信息被写入元数据库。需要说明的是,由于元数据写入指令是基于元数据内容信息生成的,因此将元数据写入指令下发至元数据库,可以实现元数据内容信息在元数据库的写入。
通过步骤S501至步骤S504示出的本申请实施例,当元数据变更类型为元数据删改类型,从多个备选写入类型中选取第二写入类型,并将第二写入类型确定为元数据写入类型,基于第二写入类型,根据元数据内容信息生成监听通知信息与元数据写入指令,将监听通知信息下发至监听关联程序,以使监听关联程序作出协调响应,将元数据写入指令下发至元数据库,以使元数据内容信息被写入元数据库。需要指出,在将元数据内容信息写入元数据库的过程中,还能够通知下游的监听程序作出协调响应,能够帮助下游的监听程序适应元数据变更产生的影响,降低故障情形发生的可能性。
本申请一些较为具体的实施例中,根据元数据内容信息生成监听通知信息与元数据写入指令之后,可以将监听通知信息与元数据写入指令发送给消息中间件,然后由消息中间件来将监听通知信息下发至监听关联程序,以使监听关联程序作出协调响应,以及,将元数据写入指令下发至元数据库,以使元数据内容信息被写入元数据库。需要说明的是,消息中间件是基于队列与消息传递技术,在网络环境中为应用系统提供同步或异步、可靠的消息传输的支撑性软件系统。消息中间件适用于需要可靠的数据传送的分布式环境。采用消息中间件机制的系统中,不同的对象之间通过传递消息来激活对方的事件,完成相应的操作。发送者将消息发送给消息服务器,消息服务器将消息存放在若干队列中,在合适的时候再将消息转发给接收者。消息中间件能在不同平台之间通信,它能够被用来屏蔽掉各种平台及协议之间的特性,实现应用程序之间的协同,其优点在于能够在客户和服务器之间提供同步和异步的连接,并且在任何时刻都可以将消息进行传送或者存储转发,这也是它比远程过程调用更进一步的原因。因此,利用消息中间件来实现将监听通知信息下发至监听关联程序,以及,将元数据写入指令下发至元数据库,是一个较为优选的实施例。
本申请一些更为具体的实施例中,可以将Kafka作为本申请实施例中的消息中间件。需要说明,Kafka是由一个流处理平台,由Scala和Java编写,同时Kafka也是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。
参照图6,根据本申请提供的一些实施例,步骤S103之前,还包括对元数据内容信息进行核对测试,具体可以包括,但不限于下述步骤S601至步骤S604。
步骤S601,从预设的元数据测试数据库中提取测试内容信息;
步骤S602,将元数据内容信息与测试内容信息进行比对,得到比对校验结果;
步骤S603,当比对校验结果反映元数据内容信息与测试内容信息存在差异数据,执行修正操作;
步骤S604,当比对校验结果反映元数据内容信息与测试内容信息内容一致,则确定元数据内容信息通过核对测试。
根据本申请提供的实施例,为了减少源代码出现元数据混乱的可能性,导致元数据库出现异常,需要在一些环节上对源代码进行测试。根据一些示例性的实施例,在基于元数据变更类型从预设的多个备选写入类型中确定元数据写入类型,并基于元数据写入类型将元数据内容信息写入元数据库之前,还需要对元数据内容信息进行核对测试。
本申请一些实施例的步骤S601中,从预设的元数据测试数据库中提取测试内容信息。需要说明的是,预设的元数据测试数据库指的是预先设置的、用于测试内容信息的数据库。
本申请一些实施例的步骤S602中,将元数据内容信息与测试内容信息进行比对,得到比对校验结果。需要指出,元数据测试数据库存储了各种类型的元数据,这些元数据覆盖率源代码中可能出现的元数据类型,故此元数据测试数据库中存储的各类元数据可以作为测试内容信息对元数据内容信息进行测试。
本申请一些实施例的步骤S603至步骤S604中,当比对校验结果反映元数据内容信息与测试内容信息存在差异数据,执行修正操作,当比对校验结果反映元数据内容信息与测试内容信息内容一致,则确定元数据内容信息通过核对测试。需要说明的是,比对校验结果反映元数据内容信息与测试内容信息之间是否存在差异。若比对校验结果反映元数据内容信息与测试内容信息内容一致,则确定元数据内容信息通过核对测试;若比对校验结果反映元数据内容信息与测试内容信息存在差异数据,则说明元数据内容信息中发现一些未按正式流程操作的元数据,也就是差异数据,此时可以执行相对应的修正操作,以使这部分差异数据可以被排查修正。
参照图7,根据本申请提供的一些实施例,步骤S603中,执行修正操作可以包括,但不限于下述步骤S701至步骤S703。
步骤S701,获取差异数据对应的差异时间点;
步骤S702,基于差异时间点对源代码进行全量元数据采集,以更新元数据内容信息;
步骤S703,将更新后的元数据内容信息与测试内容信息进行比对,得到更新后的比对校验结果。
本申请一些实施例的步骤S701至步骤S703中,先获取差异数据对应的差异时间点,再基于差异时间点对源代码进行全量元数据采集,以更新元数据内容信息,进而将更新后的元数据内容信息与测试内容信息进行比对,得到更新后的比对校验结果。需要说明的是,若比对校验结果反映元数据内容信息与测试内容信息存在差异数据,则说明元数据内容信息中发现一些未按正式流程操作的元数据,也就是差异数据。此时,可以先确定这部分差异数据产生的时间点,以明确差异数据混入元数据内容信息的界限,时间点早于该界限的元数据内容信息可以认定为无异常,而时间点晚于该界限的元数据内容信息则需要进行全量元数据采集,以更新元数据内容信息。所谓全量元数据采集,指的是对晚于差异时间点的所有源代码进行采集,进而通过对这部分源代码重新进行业务逻辑解析,来实现对元数据内容信息的更新。完成对元数据内容信息的更新后,进一步将更新后的元数据内容信息与测试内容信息进行比对,即可得到更新后的比对校验结果。
通过步骤S701至步骤S703示出的本申请实施例,先获取差异数据对应的差异时间点,再基于差异时间点对源代码进行全量元数据采集,以更新元数据内容信息,进一步,将更新后的元数据内容信息与测试内容信息进行比对,得到更新后的比对校验结果。可以基于差异数据对应的差异时间点来排查修正差异数据,能够帮助提升核对测试的效率。
一些更为具体的实施例中,得到更新后的比对校验结果之后,若仍然发现差异数据的存在,则可以进行其他可能环节出现的问题作进一步排查,比如排查数据传输时否夹杂有其他元数据混入、源代码开发的过程中是否存在编写错误等;若得到更新后的比对校验结果之后,发现差异数据被成功排查修正,则可以确定元数据内容信息通过核对测试。
应理解,对元数据内容信息进行核对测试的方法多种多样,可以包括,但不限于上述举出的具体实施例。
通过步骤S601至步骤S604示出的本申请实施例,先从预设的元数据测试数据库中提取测试内容信息,再将元数据内容信息与测试内容信息进行比对,得到比对校验结果,当比对校验结果反映元数据内容信息与测试内容信息存在差异数据,执行修正操作,当比对校验结果反映元数据内容信息与测试内容信息内容一致,则确定元数据内容信息通过核对测试。基于元数据内容信息与测试内容信息进行比对,来排查修正一些未按正式流程操作的元数据,也就是差异数据,能够减少源代码出现元数据混乱的可能性,导致元数据库出现异常。
参照图8,根据本申请提供的一些实施例,步骤S103之后,还可以包括,但不限于下述步骤S801至步骤S803。
步骤S801,从预设的元数据测试数据库中提取测试内容信息;
步骤S802,基于预设的时间间隔对元数据库进行抽样提取,得到样本元数据;
步骤S803,基于测试内容信息对样本元数据进行检查,得到检查校验结果。
需要说明的是,在元数据内容信息被写入元数据库之后,鉴于发布生产的过程中元数据库也可能出现元数据混乱的可能性,导致元数据库出现异常。
本申请一些实施例的步骤S801至步骤S803中,先从预设的元数据测试数据库中提取测试内容信息,再基于预设的时间间隔对元数据库进行抽样提取,得到样本元数据,进一步基于测试内容信息对样本元数据进行检查,得到检查校验结果。需要说明的是,预设的时间间隔,指的是预先设置的、用于定期校验元数据库的时间间隔,例如每两天校验一次。需要明确,元数据内容信息被写入元数据库之后,对元数据库进行校验是检查性质的测试,因此无需对元数据库中的全量数据进行一一校验,只需要基于预设的时间间隔对元数据库进行抽样提取,得到样本元数据,再基于测试内容信息对样本元数据进行检查,得到检查校验结果,即可完成对元数据库的校验。如此一来,可以在校验元数据库以保证元数据准确的过程中,进一步提升校验的效率。
图9示出了本申请实施例提供的电子设备900。电子设备900包括:处理器901、存储器902及存储在存储器902上并可在处理器901上运行的计算机程序,计算机程序运行时用于执行上述的元数据采集方法。
处理器901和存储器902可以通过总线或者其他方式连接。
存储器902作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序,如本申请实施例描述的元数据采集方法。处理器901通过运行存储在存储器902中的非暂态软件程序以及指令,从而实现上述的元数据采集方法。
存储器902可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序。存储数据区可存储执行上述的元数据采集方法。此外,存储器902可以包括高速随机存取存储器902,还可以包括非暂态存储器902,例如至少一个储存设备存储器件、闪存器件或其他非暂态固态存储器件。在一些实施方式中,存储器902可选包括相对于处理器901远程设置的存储器902,这些远程存储器902可以通过网络连接至该电子设备900。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实现上述的元数据采集方法所需的非暂态软件程序以及指令存储在存储器902中,当被一个或者多个处理器901执行时,执行上述的元数据采集方法,例如,执行图1中的方法步骤S101至步骤S103、图2中的方法步骤S201至步骤S203、图3中的方法步骤S301至步骤S302、图4中的方法步骤S401至步骤S402、图5中的方法步骤S501至步骤S504、图6中的方法步骤S601至步骤S604、图7中的方法步骤S701至步骤S703、图8中的方法步骤S801至步骤S803。
本申请实施例还提供了计算机可读存储介质,存储有计算机可执行指令,计算机可执行指令用于执行上述的元数据采集方法。
在一实施例中,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个控制处理器执行,例如,执行图1中的方法步骤S101至步骤S103、图2中的方法步骤S201至步骤S203、图3中的方法步骤S301至步骤S302、图4中的方法步骤S401至步骤S402、图5中的方法步骤S501至步骤S504、图6中的方法步骤S601至步骤S604、图7中的方法步骤S701至步骤S703、图8中的方法步骤S801至步骤S803。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、储存设备存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包括计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。还应了解,本申请实施例提供的各种实施方式可以任意进行组合,以实现不同的技术效果。
以上是对本申请的较佳实施进行了具体说明,但本申请并不局限于上述实施方式,熟悉本领域的技术人员在不违背本申请精神的共享条件下还可作出种种等同的变形或替换,这些等同的变形或替换均包括在本申请权利要求所限定的范围内。
Claims (10)
1.一种元数据采集方法,其特征在于,包括:
获取源代码,所述源代码包括目标数据库项目对应的生成脚本;
对所述源代码进行业务逻辑解析,得到元数据内容信息与元数据变更类型;
基于所述元数据变更类型从预设的多个备选写入类型中确定元数据写入类型,并基于所述元数据写入类型将所述元数据内容信息写入元数据库。
2.根据权利要求1所述的方法,其特征在于,所述对所述源代码进行业务逻辑解析,得到元数据内容信息与元数据变更类型,包括:
基于预设的构词规则对所述源代码中的字符流进行扫描,得到单词序列信息;
基于预设的语法规则对所述单词序列信息进行解析,得到所述元数据内容信息与语法短语信息;
基于预设的关键字段对所述语法短语信息进行类型匹配,得到所述元数据变更类型。
3.根据权利要求2所述的方法,其特征在于,所述关键字段包括新增关键字段与删改关键字段,所述基于预设的关键字段对所述语法短语信息进行类型匹配,得到所述元数据变更类型,包括:
当所述语法短语信息包括所述新增关键字段,将所述元数据变更类型确定为元数据新增类型;
当所述语法短语信息包括所述删改关键字段,将所述元数据变更类型确定为删改元数据删改类型。
4.根据权利要求3所述的方法,其特征在于,所述基于所述元数据变更类型从预设的多个备选写入类型中确定元数据写入类型,并基于所述元数据写入类型将所述元数据内容信息写入元数据库,包括:
当所述元数据变更类型为所述元数据新增类型,从多个所述备选写入类型中选取第二写入类型,并将所述第二写入类型确定为所述元数据写入类型;
基于所述第一写入类型,将所述元数据内容信息以文本格式写入所述元数据库。
5.根据权利要求3所述的方法,其特征在于,所述基于所述元数据变更类型从预设的多个备选写入类型中确定元数据写入类型,并基于所述元数据写入类型将所述元数据内容信息写入元数据库,包括:
当所述元数据变更类型为所述元数据删改类型,从多个所述备选写入类型中选取第二写入类型,并将所述第二写入类型确定为所述元数据写入类型;
基于所述第二写入类型,根据所述元数据内容信息生成监听通知信息与元数据写入指令;
将所述监听通知信息下发至监听关联程序,以使所述监听关联程序作出协调响应;
将所述元数据写入指令下发至所述元数据库,以使所述元数据内容信息被写入所述元数据库。
6.根据权利要求1所述的方法,其特征在于,所述基于所述元数据变更类型从预设的多个备选写入类型中确定元数据写入类型,并基于所述元数据写入类型将所述元数据内容信息写入元数据库之前,所述方法还包括对所述元数据内容信息进行核对测试,具体包括:
从预设的元数据测试数据库中提取测试内容信息;
将所述元数据内容信息与所述测试内容信息进行比对,得到比对校验结果;
当所述比对校验结果反映所述元数据内容信息与所述测试内容信息存在差异数据,执行修正操作;
当所述比对校验结果反映所述元数据内容信息与所述测试内容信息内容一致,则确定所述元数据内容信息通过所述核对测试。
7.根据权利要求6所述的方法,其特征在于,所述执行修正操作包括:
获取所述差异数据对应的差异时间点;
基于所述差异时间点对所述源代码进行全量元数据采集,以更新所述元数据内容信息;
将更新后的所述元数据内容信息与所述测试内容信息进行比对,得到更新后的比对校验结果。
8.根据权利要求1所述的方法,其特征在于,所述基于所述元数据变更类型从预设的多个备选写入类型中确定元数据写入类型,并基于所述元数据写入类型将所述元数据内容信息写入元数据库之后,所述方法还包括:
从预设的元数据测试数据库中提取测试内容信息;
基于预设的时间间隔对所述元数据库进行抽样提取,得到样本元数据;
基于所述测试内容信息对所述样本元数据进行检查,得到检查校验结果。
9.一种电子设备,其特征在于,包括:存储器、处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至8中任意一项所述的元数据采集方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行实现如权利要求1至8中任意一项所述的元数据采集方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311047430.4A CN117008921A (zh) | 2023-08-18 | 2023-08-18 | 元数据采集方法、电子设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311047430.4A CN117008921A (zh) | 2023-08-18 | 2023-08-18 | 元数据采集方法、电子设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117008921A true CN117008921A (zh) | 2023-11-07 |
Family
ID=88570934
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311047430.4A Pending CN117008921A (zh) | 2023-08-18 | 2023-08-18 | 元数据采集方法、电子设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117008921A (zh) |
-
2023
- 2023-08-18 CN CN202311047430.4A patent/CN117008921A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107506451B (zh) | 用于数据交互的异常信息监控方法及装置 | |
CN111367886B (zh) | 数据库中数据迁移的方法及装置 | |
KR101755365B1 (ko) | 레코드 포맷 정보의 관리 | |
AU2007323689B2 (en) | Creating data in a data store using a dynamic ontology | |
US10621212B2 (en) | Language tag management on international data storage | |
US9740698B2 (en) | Document merge based on knowledge of document schema | |
US7895167B2 (en) | System and method for analysis and management of logs and events | |
US20230376408A1 (en) | Application programming interface test method and apparatus | |
CN113326247B (zh) | 云端数据的迁移方法、装置及电子设备 | |
CN107766353B (zh) | 一种数据库统计信息迁移的方法和设备 | |
CN114168421A (zh) | 基于微服务调用链的客户化代码兼容性分析系统及方法 | |
CN113901083A (zh) | 基于多解析器的异构数据源操作资源解析定位方法和设备 | |
CN110347573B (zh) | 应用程序分析方法、装置、电子设备及计算机可读介质 | |
CN112948726A (zh) | 一种处理异常信息的方法、装置和系统 | |
CN116775488A (zh) | 异常数据确定方法、装置、设备、介质及产品 | |
CN116414855A (zh) | 信息处理方法及装置、电子设备和计算机可读存储介质 | |
CN117008921A (zh) | 元数据采集方法、电子设备、存储介质 | |
US10509659B1 (en) | Input processing logic to produce outputs for downstream systems using configurations | |
CN113138974B (zh) | 数据库合规检测的方法和装置 | |
CN113468218A (zh) | 一种对数据库慢sql进行监测和管理的方法和装置 | |
CN113779017A (zh) | 数据资产管理的方法和装置 | |
US11829230B2 (en) | Globally unique error codes for knowledge document indexing in software systems | |
CN117573562B (zh) | 一种对比pom文件不同版本的方法 | |
CN114254081B (zh) | 企业大数据搜索系统、方法及电子设备 | |
Koyama et al. | Log message with JSON item count for root cause analysis in microservices |
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 |