一种元数据采集系统及快速实现元数据采集和存储的方法与流程
未命名
10-28
阅读:113
评论:0
1.本发明涉及计算机软件及元数据处理
技术领域:
:,尤其是一种元数据采集系统及快速实现元数据采集和存储的方法。
背景技术:
::2.随着企业信息化能力的不断发展,大型企业的数字化转型不断深入,集团性企业拥有大量的数据资产,包括数据库、数据仓库、数据湖、应用程序等。对这些数据资产进行元数据管理可以帮助企业追踪和了解数据的属性、结构、来源以及与其他数据资产的关系,以便更好地管理和利用这些数据。3.大型企业对元数据管理和采集的需求主要集中在数据资产管理、数据血缘分析、数据质量管理、敏感数据和合规性管理、数据治理和合作,以及分析和洞察力等方面。通过满足这些需求,企业可以更好地管理和利用数据资源,从而提高业务效率,目前元数据采集均是业务系统单独开发元数据采集逻辑或系统。4.但是企业对于元数据的采集方式有很多不足,并没有真正意义上做到整合,做不到对元数据采集的流量控制,做不到元数据采集来源和目标的随意调整,开发一套元数据采集系统需要巨大的时间成本。5.现有技术中的元数据采集和存储的方法如图1所示,传统场景下元数据采集的方式,采集的元数据数据源和存储元数据的数据源交叉组合,元数据采集非常复杂,操作麻烦。本发明的技术目的在于设计一套元数据采集系统,快速对采集元数据的数据源进行配置,以及对目标数据源进行调整,使得来源和目标的组合可以随意切换,降低了元数据采集的开发成本。技术实现要素:6.针对现有技术存在的问题,本发明的目的在于提供一种元数据采集系统及快速实现元数据采集和存储的方法,能够在多种数据源之间通过配置“动态”进行元数据采集策略,实现快速灵活的采集和存储。通过元数据采集系统使得用户可自由组合采集来源元数据数据源和目标存储的数据源,并且通过元数据通道配置控制元数据采集速率。7.为实现上述目的,本发明提供一种元数据采集系统,所述元数据采集系统包含采集器来源模块、采集器通道模块和采集器目标数据源模块,其中:采集器来源模块用于读取配置文件中的来源数据源信息,根据配置文件中的来源数据源信息建立与数据源的连接;采集器通道模块用于采集对应数据源的元数据信息,并且将采集到的元数据信息发送给采集器通道模块;采集器目标数据源模块接受到下发的元数据信息后,读取配置文件中的目标数据源信息建立目标数据源连接,并将收到的元数据信息通过文件i/o流写入到目标数据源中。8.进一步,所述来源数据源信息包含数据库的jdbc地址、用户名和密码。9.进一步,采集器通道模块首先读取配置文件中的通道配置属性,根据配置的属性对元数据信息进行控制。10.另一方面,本发明提供一种快速实现元数据采集和存储的方法,所述方法采用元数据采集系统实现,并包括以下步骤:步骤s101,配置采集元数据数据源的信息;步骤s102,配置元数据目标数据源存储数据信息;步骤s103,配置采集元数据的通道配置信息;步骤s104,启动元数据采集系统;步骤s105,采集器来源模块对来源数据源进行采集;步骤s106,采集器通道模块对采集到的元数据进行打包控制;步骤s107,采集器目标数据源模块对采集到的元数据信息进行存储。11.进一步,在步骤s101中,通过数据协议规范jsonschema定义描述元数据采集的配置文件,需要采集的来源数据源信息,将数据库的jdbc地址、用户名和密码信息存储在配置文件当中。12.进一步,在步骤s102中,将需要采集的目标数据源信息存储在配置文件当中。13.进一步,在步骤s103中,将采集过程中采集到的元数据大小和/或条数信息以及元数据内存信息存储在配置文件当中。14.进一步,在步骤s104中,当配置好需要采集的来源数据源信息和目标存储信息则启动元数据采集系统。15.进一步,在步骤s105中,通过配置的来源数据源信息,进行数据源的连接,并且采集对应数据源的元数据信息发送到采集器通道模块。16.进一步,具体的在步骤s106中,通过配置的通道配置属性,根据条数和内存大小进行控制,将满足条件的元数据信息元数据下发到目标数据源模块。17.本发明具有以下有益效果:1、灵活性和可扩展性:元数据采集器框架提供了一个可扩展的平台,可以集成各种数据源和元数据类型。这意味着可以轻松地添加新的数据源或元数据类型,而无需更改整个系统。这种灵活性能够根据需求快速适应变化的数据环境。18.2、统一的接口和标准化:通过使用元数据采集器框架,可以定义统一的接口和标准,以获取和处理不同数据源的元数据。这样可以简化整个元数据采集系统的开发和维护过程,并提供一致的元数据访问方式,使系统更易于使用和管理。19.3、数据质量和一致性:通过元数据采集器框架,可以实现对元数据的一致性和质量控制。可以验证和清理元数据,检测潜在的问题或错误,这有助于确保元数据的准确性和可靠性,从而提高整个系统的数据质量和决策的准确性。20.4、元数据管理和发现:元数据采集器框架提供元数据的集中管理和发现功能。您可以将所有元数据存储在一个中央存储库中,并使用搜索和查询功能轻松查找所需的元数据。这样可以节省时间和精力,提高元数据的可发现性和可重用性。附图说明21.图1示出了现有技术中元数据采集方法;图2示出了本发明实施例中元数据采集方法和元数据采集系统示意图;图3示出了本发明实施例中元数据采集和元数据存储的流程示意图;图4示出了本发明实施例中以来源数据源为mysql目标存储是本地文件为例子的元数据采集系统的细节流程图;图5示出了本发明实施例中采集器通道控制模块如何控制元数据采集信息流程图;图6示出了本发明实施例中采集器通道控制模块队列和元数据缓存关系图;图7示出了本发明实施例中下发元数据信息到队列模型和内部缓存示意图;图8示出了本发明实施例中将缓存内的元数据放到队列模型当中的示意图;图9示出了本发明实施例中主动获取元数据信息示意图。具体实施方式22.下面将结合附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。23.在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。24.在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。25.文中涉及术语的释义:元数据:它提供了关于数据的详细信息,帮助我们理解和管理数据。元数据可以包括以下内容:数据属性:描述数据的特征和属性,如数据类型、长度、格式、单位等。这些属性描述了数据的结构和含义,使我们能够正确地解释和使用数据。26.数据来源:指明数据的来源和获取方式,包括数据的采集方式、采集时间、采集地点等。这些信息可以帮助我们了解数据的可靠性和可信度,以及数据的历史和演变过程。27.数据质量:描述数据的质量和准确性,包括数据的完整性、一致性、精确性等方面的信息。28.数据关系:描述数据之间的关系和连接方式,包括数据的层次结构、关联关系、依赖关系等。这些关系元数据可以帮助我们理解数据之间的相互作用和依赖关系,支持数据的集成和分析。29.数据访问和权限:描述数据的访问方式和权限控制,包括数据的访问权限、使用限制、安全措施等。这些元数据可以帮助我们管理和保护数据的安全性,确保只有授权的用户可以访问和使用数据。30.jdbc:jdbc(javadatabaseconnectivity)是java编程语言的一种标准api(应用程序编程接口),用于连接和操作关系型数据库。jdbc提供了一组类和接口,使java应用程序能够与各种关系型数据库进行通信和交互。它允许开发人员使用java代码来执行sql查询、更新数据库、事务处理等操作。31.io:指的是计算机系统中与外部设备进行数据交换的过程。它是计算机系统中常见的操作之一,涉及从外部设备读取数据(输入)或将数据发送到外部设备(输出)。io操作可以包括读取或写入文件、网络通信、键盘输入、显示器输出等。32.以下结合图2-图9对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。33.如图2所示,本发明提供一种元数据采集系统及快速实现元数据采集和存储方法,本发明通过元数据采集系统在任何数据源下均可实现元数据采集,并能够简单的进行一系列元数据采集操作,通用性强、易于管理、有效降本增效。所述元数据采集系统包含采集器来源模块、采集器通道模块和采集器目标数据源模块。34.其中,采集器来源模块用于读取配置文件中的来源数据源信息,所述来源数据源信息包含数据库的jdbc地址、用户名和密码。采集器来源模块根据配置文件中的来源数据源信息建立与数据源的连接。例如使用jdbc连接来连接到mysql数据库。35.一旦成功建立数据源连接,采集器来源模块开始采集对应数据源的元数据信息,并且将采集到的元数据信息(database、table、column)发送给采集器通道模块。采集器通道模块首先读取配置文件中的通道配置属性,根据配置的属性对元数据信息进行控制。例如,可以设置一个阈值,当采集的元数据条数达到或超过配置的条数限制时,或者当元数据占用的内存大小达到或超过配置的内存大小限制时,采集器通道模块触发下发元数据信息到目标数据源模块。36.采集器目标数据源模块接受到下发的元数据信息首先读取配置文件中的目标数据源信息(如本地文件)建立目标数据源连接。对于本地文件,它将创建一个本地文件,一旦成功建立目标数据源连接,采集器通道模块将收到的元数据信息写入到目标数据源中。37.如图3所示,根据本发明的一种快速实现元数据采集和存储的方法,包括以下步骤:步骤s101,配置采集元数据数据源的信息;步骤s102,配置元数据目标数据源存储数据信息;步骤s103,配置采集元数据的通道配置信息;步骤s104,启动元数据采集系统;步骤s105,采集器来源模块对来源数据源进行采集;步骤s106,采集器通道模块对采集到的元数据进行打包控制;步骤s107,采集器目标数据源模块对采集到的元数据信息进行存储。38.具体的,在步骤s101,使用json格式的配置文件来描述元数据采集的配置,文件名为meta-sync.json(该文件名可以任意设置)。配置文件中包含需要采集的来源数据源信息,如数据库的jdbc地址、用户名和密码等。本发明通过数据协议规范(jsonschema)定义了一种描述应用安装方式的配置文件,文件名为meta-sync.json。配置内容参见下面的代码:{ꢀꢀꢀꢀꢀꢀ"type":"mysql-source",ꢀꢀꢀꢀꢀꢀ"config":{ꢀꢀꢀꢀꢀꢀꢀꢀ"url":"jdbc:mysql://数据库地址:端口/数据库?&usessl=false",ꢀꢀꢀꢀꢀꢀꢀꢀ"username":"用户名",ꢀꢀꢀꢀꢀꢀꢀꢀ"password":"密码"ꢀꢀꢀꢀꢀꢀ}}在步骤s102,文件名为meta-sync.json。配置文件中包含需要采集的目标数据源信息,例如本地文件和excel文件的路径信息。配置目标数据源信息,配置内容参见下面的代码:{ꢀꢀꢀꢀꢀꢀ"type":"file",ꢀꢀꢀꢀꢀꢀ"config":{ꢀꢀꢀꢀꢀꢀꢀꢀ"path":"/var/tmp/meta/xxx.excel"ꢀꢀꢀꢀꢀꢀ}在步骤s103,文件名为meta-sync.json。配置文件中包含有关采集过程中元数据的大小或条数信息,例如采集到的元数据条数和元数据占用的内存信息。配置采集元数据的通道配置信息,配置内容参见下面的代码:{ꢀꢀꢀꢀꢀꢀ"channel":1,ꢀꢀꢀꢀꢀꢀ"pushlimit":20,ꢀꢀꢀꢀꢀꢀ"pushmemorylimit":20mꢀꢀꢀꢀ}在步骤s104中启动元数据采集系统进行元数据的采集操作。一旦配置好需要采集的来源数据源信息和目标存储信息,就可以启动元数据采集系统。这将触发系统根据配置进行元数据采集操作,从来源数据源中提取元数据,并将其存储到目标存储中。39.步骤s105、s106、s107为本发明的具体元数据采集实施过程。40.步骤s105中,通过采集器来源模块对来源数据源进行采集,发送元信息到采集器通道模块;采集器来源模块可以通过配置的来源数据源信息建立与数据源的连接,并采集对应数据源的元数据信息。例如,可以连接到mysql数据库,提取数据库的库、表、字段等信息,并将这些元数据信息发送到采集器通道模块进行处理。41.步骤s106中,采集器通道模块对采集到的元数据进行打包控制,将满足条件的元数据信息发送到采集器目标数据源模块;根据配置的通道属性,包括条数和内存大小的限制,采集器通道模块可以控制元数据信息的传递。满足条件的元数据信息将被下发到目标数据源模块进行进一步处理。42.在步骤s107中,采集器目标数据源模块对采集到的元数据信息进行存储,将元数据信息存储到目标数据源。根据配置的目标数据源信息,采集器通道模块可以建立与目标数据源的连接。例如,如果配置的目标数据源是本地文件,则采集器通道模块会建立本地文件的i/o流,并将接收到的元数据信息通过该文件i/o流写入到本地文件中。43.以来源数据源为mysql、目标存储是本地文件的实施例中,元数据采集系统内的细节流程图如图4所示,详细展示了元数据采集系统内实现步骤s105、s106、s107的子步骤,具体包括:s201.元数据采集器系统配置meta-sync.json;s202.采集器通道模块读取配置;s203.采集器通道模块设置发送元数据阈值;s204.接受元数据信息;s205.发送元数据信息;s206.采集器来源模块读取采集器配置信息;s207.解析数据源信息并且建立jdbc链接;s208.采集来源数据源database信息;s209.采集来源数据源table信息;s210.采集来源数据源column信息;s211.关闭jdbc链接;s212.关闭采集线程;s213.采集器目标数据源模块读取配置;s214.建立元数据写入目标模块的连接,本实施例中是本地文件;s215.接受源数据信息;s216.写入元数据信息到目标文件xxx.excel;s217.关闭文件流;s218.关闭写入线程;s219.关闭采集器;步骤s106采集器通道模块对采集到的元数据进行打包并且控制内部缓存和队列模型,具体关系见图5所示的元数据通道模块内部缓存和队列关系;采集器通道模块分为源数据缓存和元数据队列,元数据采集到后发送给采集器通道模块后元数据信息将放到元数据缓存进行存储,当满足元数据采集通道模块配置的阈值后则发送到采集器目标数据源模块,其中每个元数据包含元数据大小(以字节为单位),元数据条数(整数值),队列模型将处理元数据的下发,队列的最大内存容量为m(以字节为单位),以及队列能够容纳的最大元数据条数为n(整数值)。希望在队列中的元数据大小或条数接近或达到阈值时触发某些操作,停止向队列中添加新的元数据,或者触发添加元数据机制。定义未收到元数据下发时间t(单位分钟),未收到元数据下发时间阈值d(单位分钟)。44.公式一:是否下发元数据计算公式:是否下发元数据=m*阈值百分比》pushmemorylimit||n*阈值百分比》pushlimit(配置文件下发条数);公式二:是否主动从队列主动获取元数据公式:是否主动拉取元数据=队列长度为0&&t》d;其中,在上述公式一和公式二中,各字母代表含义如下:m为队列的最大内存容量(以字节为单位);pushmemorylimit为下发元数据的内存大小;pushlimit为配置文件下发条数;n为队列能够容纳的最大元数据条数;t为未收到元数据下发时间;d为未收到元数据下发时间阈值。45.场景1:下发元数据超过阈值场景。46.通过公式一计算出是否超过阈值,如果超过阈值则下发元数据信息到队列模型,如果不超过则放到内部缓存,如图7所示。如果超过则将缓存内的元数据放到队列模型当中,如图8所示。下面是详细数据的介绍。[0047][0048]场景2:下发元数据未超过阈值,主动拉取元数据场景。[0049]通过公式二获取未收到元数据下发时间t和未收到元数据下发时间阈值o(单位分钟)如果当前队列长度为0并且未收到元数据下发时间t大于未收到元数据下发时间阈值d则采集器目标数据源将主动获取元数据信息,如图9所示。详细信息如下表:[0050]步骤s106中,采集器通道模块对采集到的元数据进行打包控制,具体子步骤见图6采集器通道控制详情流程图,子步骤如下:s301.采集器通道模块读取配置;s302.配置阈值为10条元数据信息或者20m内存大小;s303.当前缓存是否超过10条元数据信息或者大于20m内存;s304.不满足条件加入元数据通道缓存;s305.满足条件元数据下发队列;s306.采集器目标数据源模块。[0051]通过元数据采集系统可以快速自由组合的采集来源数据源的元数据信息到目标数据源进行存储,并且可以控制元数据采集过程中的元数据数量和大小,解决企业面临元数据采集难,开发成本高等问题。[0052]根据本发明的元数据采集框架和方法,通过元数据采集系统进行节藕,可以随意组合想要采集的元数据信息和存储元数据的目标数据源。元数据采集系统提供了一个可扩展的平台,可以集成各种数据源和元数据类型。这意味着可以轻松地添加新的数据源或元数据类型,而无需更改整个系统。这种灵活性能够根据需求快速适应变化的数据环境。通过使用元数据采集系统,可以定义统一的接口和标准,以获取和处理不同数据源的元数据。这样可以简化整个元数据采集系统的开发和维护过程,并提供一致的元数据访问方式,使系统更易于使用和管理。通过元数据采集器框架,可以实现对元数据的一致性和质量控制。可以验证和清理元数据,检测潜在的问题或错误,这有助于确保元数据的准确性和可靠性,从而提高整个系统的数据质量和决策的准确性。元数据采集器框架提供元数据的集中管理和发现功能。可以将所有元数据存储在一个中央存储库中,并使用搜索和查询功能轻松查找所需的元数据。这样可以节省时间和精力,提高元数据的可发现性和可重用性。[0053]本发明流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为表示包括一个或多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,可以实现在任何计算机刻度介质中,以供指令执行系统、装置或设备,所述计算机可读介质可以是任何包含存储、通信、传播或传输程序以供执行系统、装置或设备使用。包括只读存储器、磁盘或光盘等。[0054]在本说明书的描述中,参考术语“实施例”、“示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。此外,本领域的技术人员可以在不产生矛盾的情况下,将本说明书中描述的不同实施例或示例以及其中的特征进行结合或组合。[0055]上述内容虽然已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型等更新操作。当前第1页12当前第1页12
技术特征:
1.一种元数据采集系统,其特征在于,所述元数据采集系统包含采集器来源模块、采集器通道模块和采集器目标数据源模块,其中:采集器来源模块用于读取配置文件中的来源数据源信息,根据配置文件中的来源数据源信息建立与数据源的连接;采集器通道模块用于采集对应数据源的元数据信息,并且将采集到的元数据信息发送给采集器通道模块;采集器目标数据源模块接受到下发的元数据信息后,读取配置文件中的目标数据源信息建立目标数据源连接,并将收到的元数据信息通过文件i/o流写入到目标数据源中。2.根据权利要求1所述的元数据采集系统,其特征在于,所述来源数据源信息包含数据库的jdbc地址、用户名和密码。3.根据权利要求2所述的元数据采集系统,其特征在于,采集器通道模块首先读取配置文件中的通道配置属性,根据配置的属性对元数据信息进行控制。4.一种快速实现元数据采集和存储的方法,其特征在于,所述方法采用根据权利要求1-3任一项所述的元数据采集系统来实现,并包括以下步骤:步骤s101, 配置采集元数据数据源的信息;步骤s102, 配置元数据目标数据源存储数据信息;步骤s103, 配置采集元数据的通道配置信息;步骤s104, 启动元数据采集系统;步骤s105, 采集器来源模块对来源数据源进行采集;步骤s106, 采集器通道模块对采集到的元数据进行打包控制;步骤s107, 采集器目标数据源模块对采集到的元数据信息进行存储。5.根据权利要求4所述的快速实现元数据采集和存储的方法,其特征在于,在步骤s101中,通过数据协议规范json schema 定义描述元数据采集的配置文件,需要采集的来源数据源信息,将数据库的jdbc地址、用户名和密码信息存储在配置文件当中。6.根据权利要求4所述的快速实现元数据采集和存储的方法,其特征在于,在步骤s102中,将需要采集的目标数据源信息存储在配置文件当中。7.根据权利要求4所述的快速实现元数据采集和存储的方法,其特征在于,在步骤s103中,将采集过程中采集到的元数据大小和/或条数信息以及元数据内存信息存储在配置文件当中。8.根据权利要求4所述的快速实现元数据采集和存储的方法,其特征在于,在步骤s104中,当配置好需要采集的来源数据源信息和目标存储信息则启动元数据采集系统。9.根据权利要求4所述的快速实现元数据采集和存储的方法,其特征在于,在步骤s105中,通过配置的来源数据源信息,进行数据源的连接,并且采集对应数据源的元数据信息发送到采集器通道模块。10.根据权利要求4所述的快速实现元数据采集和存储的方法,其特征在于,具体的在步骤s106中,通过配置的通道配置属性,根据条数和内存大小进行控制,将满足条件的元数据信息元数据下发到目标数据源模块。
技术总结
本发明公开了一种元数据采集系统及快速实现元数据采集和存储的方法,所述系统包含采集器来源模块、采集器通道模块和采集器目标数据源模块,其中:采集器来源模块用于读取配置文件中的来源数据源信息,根据配置文件中的来源数据源信息建立与数据源的连接;采集器通道模块用于采集对应数据源的元数据信息,并且将采集到的元数据信息发送给采集器通道模块;采集器目标数据源模块接受到下发的元数据信息后,读取配置文件中的目标数据源信息建立目标数据源连接,并将收到的元数据信息通过文件I/O流写入到目标数据源中。能够在多种数据源之间通过配置“动态”进行元数据采集策略,实现快速灵活的采集和存储。速灵活的采集和存储。速灵活的采集和存储。
技术研发人员:邓明瑞 王乐珩 张金银 刘莹 王翔
受保护的技术使用者:杭州比智科技有限公司
技术研发日:2023.09.06
技术公布日:2023/10/15
技术领域:
:,尤其是一种元数据采集系统及快速实现元数据采集和存储的方法。
背景技术:
::2.随着企业信息化能力的不断发展,大型企业的数字化转型不断深入,集团性企业拥有大量的数据资产,包括数据库、数据仓库、数据湖、应用程序等。对这些数据资产进行元数据管理可以帮助企业追踪和了解数据的属性、结构、来源以及与其他数据资产的关系,以便更好地管理和利用这些数据。3.大型企业对元数据管理和采集的需求主要集中在数据资产管理、数据血缘分析、数据质量管理、敏感数据和合规性管理、数据治理和合作,以及分析和洞察力等方面。通过满足这些需求,企业可以更好地管理和利用数据资源,从而提高业务效率,目前元数据采集均是业务系统单独开发元数据采集逻辑或系统。4.但是企业对于元数据的采集方式有很多不足,并没有真正意义上做到整合,做不到对元数据采集的流量控制,做不到元数据采集来源和目标的随意调整,开发一套元数据采集系统需要巨大的时间成本。5.现有技术中的元数据采集和存储的方法如图1所示,传统场景下元数据采集的方式,采集的元数据数据源和存储元数据的数据源交叉组合,元数据采集非常复杂,操作麻烦。本发明的技术目的在于设计一套元数据采集系统,快速对采集元数据的数据源进行配置,以及对目标数据源进行调整,使得来源和目标的组合可以随意切换,降低了元数据采集的开发成本。技术实现要素:6.针对现有技术存在的问题,本发明的目的在于提供一种元数据采集系统及快速实现元数据采集和存储的方法,能够在多种数据源之间通过配置“动态”进行元数据采集策略,实现快速灵活的采集和存储。通过元数据采集系统使得用户可自由组合采集来源元数据数据源和目标存储的数据源,并且通过元数据通道配置控制元数据采集速率。7.为实现上述目的,本发明提供一种元数据采集系统,所述元数据采集系统包含采集器来源模块、采集器通道模块和采集器目标数据源模块,其中:采集器来源模块用于读取配置文件中的来源数据源信息,根据配置文件中的来源数据源信息建立与数据源的连接;采集器通道模块用于采集对应数据源的元数据信息,并且将采集到的元数据信息发送给采集器通道模块;采集器目标数据源模块接受到下发的元数据信息后,读取配置文件中的目标数据源信息建立目标数据源连接,并将收到的元数据信息通过文件i/o流写入到目标数据源中。8.进一步,所述来源数据源信息包含数据库的jdbc地址、用户名和密码。9.进一步,采集器通道模块首先读取配置文件中的通道配置属性,根据配置的属性对元数据信息进行控制。10.另一方面,本发明提供一种快速实现元数据采集和存储的方法,所述方法采用元数据采集系统实现,并包括以下步骤:步骤s101,配置采集元数据数据源的信息;步骤s102,配置元数据目标数据源存储数据信息;步骤s103,配置采集元数据的通道配置信息;步骤s104,启动元数据采集系统;步骤s105,采集器来源模块对来源数据源进行采集;步骤s106,采集器通道模块对采集到的元数据进行打包控制;步骤s107,采集器目标数据源模块对采集到的元数据信息进行存储。11.进一步,在步骤s101中,通过数据协议规范jsonschema定义描述元数据采集的配置文件,需要采集的来源数据源信息,将数据库的jdbc地址、用户名和密码信息存储在配置文件当中。12.进一步,在步骤s102中,将需要采集的目标数据源信息存储在配置文件当中。13.进一步,在步骤s103中,将采集过程中采集到的元数据大小和/或条数信息以及元数据内存信息存储在配置文件当中。14.进一步,在步骤s104中,当配置好需要采集的来源数据源信息和目标存储信息则启动元数据采集系统。15.进一步,在步骤s105中,通过配置的来源数据源信息,进行数据源的连接,并且采集对应数据源的元数据信息发送到采集器通道模块。16.进一步,具体的在步骤s106中,通过配置的通道配置属性,根据条数和内存大小进行控制,将满足条件的元数据信息元数据下发到目标数据源模块。17.本发明具有以下有益效果:1、灵活性和可扩展性:元数据采集器框架提供了一个可扩展的平台,可以集成各种数据源和元数据类型。这意味着可以轻松地添加新的数据源或元数据类型,而无需更改整个系统。这种灵活性能够根据需求快速适应变化的数据环境。18.2、统一的接口和标准化:通过使用元数据采集器框架,可以定义统一的接口和标准,以获取和处理不同数据源的元数据。这样可以简化整个元数据采集系统的开发和维护过程,并提供一致的元数据访问方式,使系统更易于使用和管理。19.3、数据质量和一致性:通过元数据采集器框架,可以实现对元数据的一致性和质量控制。可以验证和清理元数据,检测潜在的问题或错误,这有助于确保元数据的准确性和可靠性,从而提高整个系统的数据质量和决策的准确性。20.4、元数据管理和发现:元数据采集器框架提供元数据的集中管理和发现功能。您可以将所有元数据存储在一个中央存储库中,并使用搜索和查询功能轻松查找所需的元数据。这样可以节省时间和精力,提高元数据的可发现性和可重用性。附图说明21.图1示出了现有技术中元数据采集方法;图2示出了本发明实施例中元数据采集方法和元数据采集系统示意图;图3示出了本发明实施例中元数据采集和元数据存储的流程示意图;图4示出了本发明实施例中以来源数据源为mysql目标存储是本地文件为例子的元数据采集系统的细节流程图;图5示出了本发明实施例中采集器通道控制模块如何控制元数据采集信息流程图;图6示出了本发明实施例中采集器通道控制模块队列和元数据缓存关系图;图7示出了本发明实施例中下发元数据信息到队列模型和内部缓存示意图;图8示出了本发明实施例中将缓存内的元数据放到队列模型当中的示意图;图9示出了本发明实施例中主动获取元数据信息示意图。具体实施方式22.下面将结合附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。23.在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。24.在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。25.文中涉及术语的释义:元数据:它提供了关于数据的详细信息,帮助我们理解和管理数据。元数据可以包括以下内容:数据属性:描述数据的特征和属性,如数据类型、长度、格式、单位等。这些属性描述了数据的结构和含义,使我们能够正确地解释和使用数据。26.数据来源:指明数据的来源和获取方式,包括数据的采集方式、采集时间、采集地点等。这些信息可以帮助我们了解数据的可靠性和可信度,以及数据的历史和演变过程。27.数据质量:描述数据的质量和准确性,包括数据的完整性、一致性、精确性等方面的信息。28.数据关系:描述数据之间的关系和连接方式,包括数据的层次结构、关联关系、依赖关系等。这些关系元数据可以帮助我们理解数据之间的相互作用和依赖关系,支持数据的集成和分析。29.数据访问和权限:描述数据的访问方式和权限控制,包括数据的访问权限、使用限制、安全措施等。这些元数据可以帮助我们管理和保护数据的安全性,确保只有授权的用户可以访问和使用数据。30.jdbc:jdbc(javadatabaseconnectivity)是java编程语言的一种标准api(应用程序编程接口),用于连接和操作关系型数据库。jdbc提供了一组类和接口,使java应用程序能够与各种关系型数据库进行通信和交互。它允许开发人员使用java代码来执行sql查询、更新数据库、事务处理等操作。31.io:指的是计算机系统中与外部设备进行数据交换的过程。它是计算机系统中常见的操作之一,涉及从外部设备读取数据(输入)或将数据发送到外部设备(输出)。io操作可以包括读取或写入文件、网络通信、键盘输入、显示器输出等。32.以下结合图2-图9对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。33.如图2所示,本发明提供一种元数据采集系统及快速实现元数据采集和存储方法,本发明通过元数据采集系统在任何数据源下均可实现元数据采集,并能够简单的进行一系列元数据采集操作,通用性强、易于管理、有效降本增效。所述元数据采集系统包含采集器来源模块、采集器通道模块和采集器目标数据源模块。34.其中,采集器来源模块用于读取配置文件中的来源数据源信息,所述来源数据源信息包含数据库的jdbc地址、用户名和密码。采集器来源模块根据配置文件中的来源数据源信息建立与数据源的连接。例如使用jdbc连接来连接到mysql数据库。35.一旦成功建立数据源连接,采集器来源模块开始采集对应数据源的元数据信息,并且将采集到的元数据信息(database、table、column)发送给采集器通道模块。采集器通道模块首先读取配置文件中的通道配置属性,根据配置的属性对元数据信息进行控制。例如,可以设置一个阈值,当采集的元数据条数达到或超过配置的条数限制时,或者当元数据占用的内存大小达到或超过配置的内存大小限制时,采集器通道模块触发下发元数据信息到目标数据源模块。36.采集器目标数据源模块接受到下发的元数据信息首先读取配置文件中的目标数据源信息(如本地文件)建立目标数据源连接。对于本地文件,它将创建一个本地文件,一旦成功建立目标数据源连接,采集器通道模块将收到的元数据信息写入到目标数据源中。37.如图3所示,根据本发明的一种快速实现元数据采集和存储的方法,包括以下步骤:步骤s101,配置采集元数据数据源的信息;步骤s102,配置元数据目标数据源存储数据信息;步骤s103,配置采集元数据的通道配置信息;步骤s104,启动元数据采集系统;步骤s105,采集器来源模块对来源数据源进行采集;步骤s106,采集器通道模块对采集到的元数据进行打包控制;步骤s107,采集器目标数据源模块对采集到的元数据信息进行存储。38.具体的,在步骤s101,使用json格式的配置文件来描述元数据采集的配置,文件名为meta-sync.json(该文件名可以任意设置)。配置文件中包含需要采集的来源数据源信息,如数据库的jdbc地址、用户名和密码等。本发明通过数据协议规范(jsonschema)定义了一种描述应用安装方式的配置文件,文件名为meta-sync.json。配置内容参见下面的代码:{ꢀꢀꢀꢀꢀꢀ"type":"mysql-source",ꢀꢀꢀꢀꢀꢀ"config":{ꢀꢀꢀꢀꢀꢀꢀꢀ"url":"jdbc:mysql://数据库地址:端口/数据库?&usessl=false",ꢀꢀꢀꢀꢀꢀꢀꢀ"username":"用户名",ꢀꢀꢀꢀꢀꢀꢀꢀ"password":"密码"ꢀꢀꢀꢀꢀꢀ}}在步骤s102,文件名为meta-sync.json。配置文件中包含需要采集的目标数据源信息,例如本地文件和excel文件的路径信息。配置目标数据源信息,配置内容参见下面的代码:{ꢀꢀꢀꢀꢀꢀ"type":"file",ꢀꢀꢀꢀꢀꢀ"config":{ꢀꢀꢀꢀꢀꢀꢀꢀ"path":"/var/tmp/meta/xxx.excel"ꢀꢀꢀꢀꢀꢀ}在步骤s103,文件名为meta-sync.json。配置文件中包含有关采集过程中元数据的大小或条数信息,例如采集到的元数据条数和元数据占用的内存信息。配置采集元数据的通道配置信息,配置内容参见下面的代码:{ꢀꢀꢀꢀꢀꢀ"channel":1,ꢀꢀꢀꢀꢀꢀ"pushlimit":20,ꢀꢀꢀꢀꢀꢀ"pushmemorylimit":20mꢀꢀꢀꢀ}在步骤s104中启动元数据采集系统进行元数据的采集操作。一旦配置好需要采集的来源数据源信息和目标存储信息,就可以启动元数据采集系统。这将触发系统根据配置进行元数据采集操作,从来源数据源中提取元数据,并将其存储到目标存储中。39.步骤s105、s106、s107为本发明的具体元数据采集实施过程。40.步骤s105中,通过采集器来源模块对来源数据源进行采集,发送元信息到采集器通道模块;采集器来源模块可以通过配置的来源数据源信息建立与数据源的连接,并采集对应数据源的元数据信息。例如,可以连接到mysql数据库,提取数据库的库、表、字段等信息,并将这些元数据信息发送到采集器通道模块进行处理。41.步骤s106中,采集器通道模块对采集到的元数据进行打包控制,将满足条件的元数据信息发送到采集器目标数据源模块;根据配置的通道属性,包括条数和内存大小的限制,采集器通道模块可以控制元数据信息的传递。满足条件的元数据信息将被下发到目标数据源模块进行进一步处理。42.在步骤s107中,采集器目标数据源模块对采集到的元数据信息进行存储,将元数据信息存储到目标数据源。根据配置的目标数据源信息,采集器通道模块可以建立与目标数据源的连接。例如,如果配置的目标数据源是本地文件,则采集器通道模块会建立本地文件的i/o流,并将接收到的元数据信息通过该文件i/o流写入到本地文件中。43.以来源数据源为mysql、目标存储是本地文件的实施例中,元数据采集系统内的细节流程图如图4所示,详细展示了元数据采集系统内实现步骤s105、s106、s107的子步骤,具体包括:s201.元数据采集器系统配置meta-sync.json;s202.采集器通道模块读取配置;s203.采集器通道模块设置发送元数据阈值;s204.接受元数据信息;s205.发送元数据信息;s206.采集器来源模块读取采集器配置信息;s207.解析数据源信息并且建立jdbc链接;s208.采集来源数据源database信息;s209.采集来源数据源table信息;s210.采集来源数据源column信息;s211.关闭jdbc链接;s212.关闭采集线程;s213.采集器目标数据源模块读取配置;s214.建立元数据写入目标模块的连接,本实施例中是本地文件;s215.接受源数据信息;s216.写入元数据信息到目标文件xxx.excel;s217.关闭文件流;s218.关闭写入线程;s219.关闭采集器;步骤s106采集器通道模块对采集到的元数据进行打包并且控制内部缓存和队列模型,具体关系见图5所示的元数据通道模块内部缓存和队列关系;采集器通道模块分为源数据缓存和元数据队列,元数据采集到后发送给采集器通道模块后元数据信息将放到元数据缓存进行存储,当满足元数据采集通道模块配置的阈值后则发送到采集器目标数据源模块,其中每个元数据包含元数据大小(以字节为单位),元数据条数(整数值),队列模型将处理元数据的下发,队列的最大内存容量为m(以字节为单位),以及队列能够容纳的最大元数据条数为n(整数值)。希望在队列中的元数据大小或条数接近或达到阈值时触发某些操作,停止向队列中添加新的元数据,或者触发添加元数据机制。定义未收到元数据下发时间t(单位分钟),未收到元数据下发时间阈值d(单位分钟)。44.公式一:是否下发元数据计算公式:是否下发元数据=m*阈值百分比》pushmemorylimit||n*阈值百分比》pushlimit(配置文件下发条数);公式二:是否主动从队列主动获取元数据公式:是否主动拉取元数据=队列长度为0&&t》d;其中,在上述公式一和公式二中,各字母代表含义如下:m为队列的最大内存容量(以字节为单位);pushmemorylimit为下发元数据的内存大小;pushlimit为配置文件下发条数;n为队列能够容纳的最大元数据条数;t为未收到元数据下发时间;d为未收到元数据下发时间阈值。45.场景1:下发元数据超过阈值场景。46.通过公式一计算出是否超过阈值,如果超过阈值则下发元数据信息到队列模型,如果不超过则放到内部缓存,如图7所示。如果超过则将缓存内的元数据放到队列模型当中,如图8所示。下面是详细数据的介绍。[0047][0048]场景2:下发元数据未超过阈值,主动拉取元数据场景。[0049]通过公式二获取未收到元数据下发时间t和未收到元数据下发时间阈值o(单位分钟)如果当前队列长度为0并且未收到元数据下发时间t大于未收到元数据下发时间阈值d则采集器目标数据源将主动获取元数据信息,如图9所示。详细信息如下表:[0050]步骤s106中,采集器通道模块对采集到的元数据进行打包控制,具体子步骤见图6采集器通道控制详情流程图,子步骤如下:s301.采集器通道模块读取配置;s302.配置阈值为10条元数据信息或者20m内存大小;s303.当前缓存是否超过10条元数据信息或者大于20m内存;s304.不满足条件加入元数据通道缓存;s305.满足条件元数据下发队列;s306.采集器目标数据源模块。[0051]通过元数据采集系统可以快速自由组合的采集来源数据源的元数据信息到目标数据源进行存储,并且可以控制元数据采集过程中的元数据数量和大小,解决企业面临元数据采集难,开发成本高等问题。[0052]根据本发明的元数据采集框架和方法,通过元数据采集系统进行节藕,可以随意组合想要采集的元数据信息和存储元数据的目标数据源。元数据采集系统提供了一个可扩展的平台,可以集成各种数据源和元数据类型。这意味着可以轻松地添加新的数据源或元数据类型,而无需更改整个系统。这种灵活性能够根据需求快速适应变化的数据环境。通过使用元数据采集系统,可以定义统一的接口和标准,以获取和处理不同数据源的元数据。这样可以简化整个元数据采集系统的开发和维护过程,并提供一致的元数据访问方式,使系统更易于使用和管理。通过元数据采集器框架,可以实现对元数据的一致性和质量控制。可以验证和清理元数据,检测潜在的问题或错误,这有助于确保元数据的准确性和可靠性,从而提高整个系统的数据质量和决策的准确性。元数据采集器框架提供元数据的集中管理和发现功能。可以将所有元数据存储在一个中央存储库中,并使用搜索和查询功能轻松查找所需的元数据。这样可以节省时间和精力,提高元数据的可发现性和可重用性。[0053]本发明流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为表示包括一个或多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,可以实现在任何计算机刻度介质中,以供指令执行系统、装置或设备,所述计算机可读介质可以是任何包含存储、通信、传播或传输程序以供执行系统、装置或设备使用。包括只读存储器、磁盘或光盘等。[0054]在本说明书的描述中,参考术语“实施例”、“示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。此外,本领域的技术人员可以在不产生矛盾的情况下,将本说明书中描述的不同实施例或示例以及其中的特征进行结合或组合。[0055]上述内容虽然已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型等更新操作。当前第1页12当前第1页12
技术特征:
1.一种元数据采集系统,其特征在于,所述元数据采集系统包含采集器来源模块、采集器通道模块和采集器目标数据源模块,其中:采集器来源模块用于读取配置文件中的来源数据源信息,根据配置文件中的来源数据源信息建立与数据源的连接;采集器通道模块用于采集对应数据源的元数据信息,并且将采集到的元数据信息发送给采集器通道模块;采集器目标数据源模块接受到下发的元数据信息后,读取配置文件中的目标数据源信息建立目标数据源连接,并将收到的元数据信息通过文件i/o流写入到目标数据源中。2.根据权利要求1所述的元数据采集系统,其特征在于,所述来源数据源信息包含数据库的jdbc地址、用户名和密码。3.根据权利要求2所述的元数据采集系统,其特征在于,采集器通道模块首先读取配置文件中的通道配置属性,根据配置的属性对元数据信息进行控制。4.一种快速实现元数据采集和存储的方法,其特征在于,所述方法采用根据权利要求1-3任一项所述的元数据采集系统来实现,并包括以下步骤:步骤s101, 配置采集元数据数据源的信息;步骤s102, 配置元数据目标数据源存储数据信息;步骤s103, 配置采集元数据的通道配置信息;步骤s104, 启动元数据采集系统;步骤s105, 采集器来源模块对来源数据源进行采集;步骤s106, 采集器通道模块对采集到的元数据进行打包控制;步骤s107, 采集器目标数据源模块对采集到的元数据信息进行存储。5.根据权利要求4所述的快速实现元数据采集和存储的方法,其特征在于,在步骤s101中,通过数据协议规范json schema 定义描述元数据采集的配置文件,需要采集的来源数据源信息,将数据库的jdbc地址、用户名和密码信息存储在配置文件当中。6.根据权利要求4所述的快速实现元数据采集和存储的方法,其特征在于,在步骤s102中,将需要采集的目标数据源信息存储在配置文件当中。7.根据权利要求4所述的快速实现元数据采集和存储的方法,其特征在于,在步骤s103中,将采集过程中采集到的元数据大小和/或条数信息以及元数据内存信息存储在配置文件当中。8.根据权利要求4所述的快速实现元数据采集和存储的方法,其特征在于,在步骤s104中,当配置好需要采集的来源数据源信息和目标存储信息则启动元数据采集系统。9.根据权利要求4所述的快速实现元数据采集和存储的方法,其特征在于,在步骤s105中,通过配置的来源数据源信息,进行数据源的连接,并且采集对应数据源的元数据信息发送到采集器通道模块。10.根据权利要求4所述的快速实现元数据采集和存储的方法,其特征在于,具体的在步骤s106中,通过配置的通道配置属性,根据条数和内存大小进行控制,将满足条件的元数据信息元数据下发到目标数据源模块。
技术总结
本发明公开了一种元数据采集系统及快速实现元数据采集和存储的方法,所述系统包含采集器来源模块、采集器通道模块和采集器目标数据源模块,其中:采集器来源模块用于读取配置文件中的来源数据源信息,根据配置文件中的来源数据源信息建立与数据源的连接;采集器通道模块用于采集对应数据源的元数据信息,并且将采集到的元数据信息发送给采集器通道模块;采集器目标数据源模块接受到下发的元数据信息后,读取配置文件中的目标数据源信息建立目标数据源连接,并将收到的元数据信息通过文件I/O流写入到目标数据源中。能够在多种数据源之间通过配置“动态”进行元数据采集策略,实现快速灵活的采集和存储。速灵活的采集和存储。速灵活的采集和存储。
技术研发人员:邓明瑞 王乐珩 张金银 刘莹 王翔
受保护的技术使用者:杭州比智科技有限公司
技术研发日:2023.09.06
技术公布日:2023/10/15
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/