7个流行的开源数据治理工具
数字化时代,数据是已经成为最宝贵的资产之一。数据支撑着我们的政府、企业以及各类组织的所有流程,并为决策以及智能化服务提供支撑。大数据有大用途,但是也可能隐藏着巨大的风险,特别是如果我们对数据的情况不是很了解的时候,我们便不能够掌握到底存储了什么信息以及如何使用它,在一堆数据中是否存在垃圾数据或者可能被遗忘的高质量数据,甚至是否存在数据安全问题。
因此,我们需要有效地治理数据。
一、什么是数据治理?
数据治理是一种管理框架,通过定义和实施组织范围内的数据管理政策、标准和流程,确保数据的准确性、一致性、安全性和合规性。它涉及数据的创建、存储、使用和销毁的整个生命周期,旨在最大化数据的价值,降低数据风险,并支持业务决策和运营的有效性。
二、数据治理相关的概念
在介绍数据治理平台之前,我们对一些数据治理相关的概念有所了解。
数据治理相关的概念名词涵盖了多个领域,从数据管理、数据质量到数据隐私和安全等。以下是一些常见的概念名词:
-
数据湖 (Data Lake):一种存储海量原始数据的系统或存储库,数据通常以原生格式存储,供以后进行分析。数据湖支持结构化、半结构化和非结构化数据的存储和处理。
-
数据仓库 (Data Warehouse):
用于整合来自多个来源的数据,通常经过清洗和转化,存储在一个中心位置,支持企业的分析和报告需求。数据仓库更注重结构化数据的长期存储和优化查询性能。 -
数据发现 (Data Discovery):数据发现是识别、浏览和分析数据的过程,通常涉及从不同来源收集数据并将其组织和展示给用户,使其能够发现有用的模式、趋势或见解。数据发现工具通常具备强大的可视化功能,以帮助用户更直观地理解数据。
-
元数据管理 (Metadata Management):管理描述数据的数据,即元数据,包括数据的来源、使用方式、格式等信息。
-
数据目录 (Data Catalog):数据目录是一个集中的存储库,用于组织和管理数据资产的元数据。它提供了数据资产的描述性信息,使用户能够轻松查找和理解他们需要的数据。数据目录通常包括数据的来源、位置、格式、使用说明、数据质量信息等,并支持数据的分类、标记和搜索功能。数据目录的目的是提高数据可发现性和可用性,帮助组织更高效地管理和利用数据资源。
-
数据质量 (Data Quality):确保数据准确性、一致性、完整性和及时性的过程。
-
数据血缘 (Data Lineage):描述数据在其生命周期中从源头到最终目的地的流动和变更的跟踪。数据血缘图帮助理解数据的来源、传递路径、变换过程,以及这些过程中的责任归属。
-
数据清洗 (Data Cleansing or Data Cleaning):识别并修复或删除数据集中的错误、重复、不完整或不一致数据的过程。数据清洗是确保数据质量的关键步骤。
-
数据治理框架 (Data Governance Framework):数据治理框架是用于定义和实施数据治理的结构性模型,通常包括政策、流程、角色和职责、技术工具等,以确保组织内的数据管理实践一致、可控和有效。
-
数据治理策略 (Data Governance Strategy):数据治理策略是组织为实现其数据治理目标而制定的总体计划,包含具体的目标、方法和实施步骤。
-
数据安全分类 (Data Security Classification):根据数据的敏感度和价值,将数据划分为不同的安全级别,以确定适当的保护措施。例如,数据可以分为公开、内部使用、保密和高度机密等类别。
-
数据访问管理 (Data Access Management):管理谁可以访问哪些数据以及他们可以对数据执行的操作。数据访问管理通过权限控制和角色管理,确保数据的安全和合规。
-
数据治理工具集 (Data Governance Toolkit):包括一组用于支持数据治理活动的工具和技术,例如元数据管理工具、数据质量管理工具、数据血缘工具、数据目录工具等。
-
数据隐私影响评估 (Data Privacy Impact Assessment, DPIA):在处理个人数据之前进行的一种评估,目的是识别和减轻数据处理活动对数据隐私的潜在风险。DPIA通常在合规要求下进行,特别是涉及GDPR等法规。
-
数据主权管理 (Data Sovereignty Management):管理与数据主权相关的法规和政策,确保数据处理和存储符合所在国家或地区的法律要求。
-
主数据管理 (Master Data Management, MDM):集中管理核心业务实体(如客户、产品、供应商等)的主数据,确保数据一致性和准确性。
-
数据架构 (Data Architecture):数据在组织中结构化和组织方式的设计与实施。
-
数据生命周期管理 (Data Lifecycle Management, DLM):管理数据从创建、存储、使用、到销毁的整个生命周期的流程和策略。
-
数据隐私 (Data Privacy):保护个人数据不被未经授权的访问和处理的实践与法律要求。
-
数据安全 (Data Security):保护数据免受未经授权的访问、泄露、修改或销毁的措施和技术。
-
数据主权 (Data Sovereignty):数据受其所在国家或地区的法律和政策的约束。
-
数据治理委员会 (Data Governance Committee):负责监督和指导组织内数据治理工作的跨职能团队。
-
数据治理政策 (Data Governance Policy):为组织内数据治理提供指导方针和框架的正式文档。
-
数据分类 (Data Classification):根据数据的敏感性、重要性等因素对数据进行分类,以便制定适当的管理和保护措施。
-
数据所有权 (Data Ownership):明确哪些部门或个人对特定数据资产负责。
-
数据标准 (Data Standards):确保数据一致性和互操作性的规则和指南。
-
数据治理工具 (Data Governance Tools):支持数据治理实施和管理的软件工具和平台,如Informatica、Collibra等。
三、数据治理的组成有哪些?
从系统的角度看,数据治理有10个重要组成,用于满足组织在每个知识领域的数据管理需求。

(1)人
数据治理专业人员、数据管理员和其他关键业务和IT人员是数据治理计划的骨干。他们建立和开发工作流程,以确保满足企业数据治理要求。
(2)数据战略
数据治理团队在组织的企业数据战略的开发和实施路线图中起着至关重要的作用。数据战略是一个执行文档,它提供了企业对数据的高层次需求,并确保这些需求得到满足。建立企业数据战略是组织数据管理之旅的重要一步。
(3)数据流程
数据治理计划需要建立数据管理的关键数据流程。这些包括数据问题跟踪或解决、数据质量监控、数据共享、数据沿袭跟踪、影响分析、数据质量测试等。
(4)数据政策
数据策略是一个或多个声明的高级集合,这些声明陈述了对数据的期望和预期结果,这些数据会影响和指导企业级别的数据习惯。数据治理计划为数据管理建立数据治理策略。政策包括出站数据共享、遵守法规等。
(5)标准和规则
数据标准提供了一个框架和方法,以确保遵守数据策略。数据规则指导或约束行为,以确保遵守数据标准,从而提供数据策略的合规性。
(6)数据安全
数据安全涉及保护数字数据(如数据库中的数据)免受授权和未授权用户的破坏性力量和不必要的操作。这些不受欢迎的用户活动指的是间谍活动、网络攻击或数据泄露。
(7)沟通
数据治理沟通包括与需要了解数据治理团队活动的协会受众进行的所有书面、口头和电子交互。沟通计划包括所有沟通的目的、目标和工具,从一开始就应该是治理计划的一部分。该计划确定了如何向各利益攸关方和组织的其他人员介绍治理和管理方面的挑战和成功经验。沟通计划突出正确的业务案例并展示其结果。
(8)社会化
数据治理的社会化是任何治理计划中的重要活动。数据治理社会化计划是一个帮助将数据治理活动集成到组织的策略、内部文化、层次结构和流程中的计划。该计划是该组织所独有的,因为它是根据其组织文化和行为标准量身定制的。
(9)业务指标和KPI指标
建立业务指标和关键性能指标(KPI)来监控和衡量数据治理计划的总体业务影响,这对于计划的成功至关重要。指标和KPI必须是可测量的,可以随时间跟踪,并且每年都以相同的方式进行测量。
(10)技术支撑
执行数据治理计划需要各种技术支撑,包括框架、工具等,用于使流程自动化。

四、数据治理的关键要素

从关键技术功能的角度看,数据治理的关键要素包括:
(1)数据目录:
集中存储组织内的元数据,帮助用户快速发现和理解所需数据,提升数据管理效率,减少冗余,确保适当的访问控制。
(2)数据质量:
确保数据准确性、完整性和新鲜度,支持可靠的数据驱动决策,是数据治理的核心要素。
(3)数据分类:
根据数据的敏感性和价值进行分类,便于应用合适的安全措施,降低风险,确保数据质量和保护。
(4)数据安全:
通过访问控制保护敏感数据,防止未经授权的访问,确保数据安全和法规遵从,增强客户信任。
(5)审计数据权利和访问:
通过有效的数据访问审计,识别并防范未授权访问,减少数据滥用风险,确保合规性。
(6)数据血缘:
追踪数据的来源和流动,确保数据质量,支持合规性和可信度,减少审计和调试工作量。
(7)数据发现:
帮助团队快速定位和利用数据资产,促进协作和创新,避免数据重复,提升数据利用效率。
(8)数据共享和协作:
安全地在内部和外部团队之间交换数据,控制敏感信息的使用,支持数据驱动的创新和合规性。
五、开源数据治理工具
在开源领域有哪些比较出名的数据治理工具呢?
01 OpenMetadata
https://github.com/open-metadata/OpenMetadata
开发语言:TypeScript、Java、Python


OpenMetadata是一个统一的元数据平台,用于数据发现、数据可观察和数据治理,由中央元数据存储库、深入的列级沿袭和无缝的团队协作提供支持。OpenMetadata基于开放元数据标准和API,支持连接到各种数据服务的连接器,支持端到端元数据管理,让您可以自由释放数据资产的价值。
OpenMetadata主要由四个组件组成:
-
元数据模式:基于公共抽象和类型的元数据的核心定义和词汇表。还支持自定义扩展和属性,以适应不同的用例和域。
-
元数据存储区:用于存储和管理元数据图的中央存储库,它以统一的方式连接数据资产、用户和工具生成的元数据。
-
元数据API:用于生成和使用元数据的接口,构建在元数据模式之上。它们支持用户界面和工具、系统和服务与元数据存储的无缝集成。
-
摄取框架:这是一个可插入的框架,用于将元数据从各种源和工具摄取到元数据存储。它支持大约75个连接器,用于数据仓库、数据库、仪表板服务、消息传递服务、管道服务等。
总体架构如下图所示:

OpenMetadata的主要特点包括:
-
数据发现:使用各种策略(如关键字搜索、数据关联和高级查询)在单个位置查找和探索所有数据资产。您可以跨表、主题、仪表板、管道和服务进行搜索。
-
数据协作:与其他用户和团队就数据资产进行沟通、匡威和协作。您可以获取事件通知、发送警报、添加通知、创建任务以及使用会话线程。
-
数据质量和分析器:测量和监控质量,无需代码,以建立对数据的信任。您可以定义和运行数据质量测试,将它们分组到测试套件中,并在交互式仪表板中查看结果。借助强大的协作,让数据质量成为您组织的共同责任。
-
数据治理:在整个组织中实施数据策略和标准。您可以定义数据域和数据产品,分配所有者和利益相关者,并使用标记和术语对数据资产进行分类。使用强大的自动化功能对数据进行自动分类。
-
数据洞察和KPI:使用报告和平台分析来了解组织的数据运行情况。Data Insights提供了所有关键指标的单一窗格视图,以最佳地反映数据的状态。定义关键性能指标(KPI)并在OpenMetadata中设定目标,以实现更好的文档、所有权和分层。可以针对要在指定计划中接收的KPI设置警报。
-
数据血缘跟踪:端到端跟踪和可视化数据资产的来源和转换。您可以使用无代码编辑器手动查看列级沿袭、过滤查询和编辑沿袭。
-
数据文档:使用富文本、图像和链接记录数据资产和元数据实体。您还可以添加注释和批注,并生成数据字典和数据目录。
-
数据可观察性:监控数据资产和管道的运行状况和性能。您可以查看数据新鲜度、数据量、数据质量和数据延迟等指标。您还可以为任何异常或故障设置警报和通知。
-
数据安全:使用各种身份验证和授权机制保护数据和元数据。您可以与不同的身份提供者集成以实现单点登录,并定义访问控制的角色和策略。Webhooks:使用Webhooks与外部应用程序和服务集成。您可以注册URL以接收元数据事件通知,并与Slack、Microsoft Teams和Google Chat集成。
-
连接器:使用连接器从各种源和工具获取元数据。OpenMetadata支持大约75个以上的连接器,用于数据仓库、数据库、仪表板服务、消息服务、管道服务等。
02 Apache Atlas
https://github.com/apache/atlas
开发语言:Java、javaScript


Apache Atlas是一个数据治理开源框架,用于支持数据管理团队能够在整个组织中协作管理大数据资产和元数据。它为复杂的企业数据,提供了可扩展的数据模型和高度集成的管理解决方案。
他的优点包括:
-
高度可扩展、可定制的数据治理解决方案:团队可以使用API请求、发布-订阅模型和基于Kafka的消息传递轻松地与现有数据源集成。
-
提供了灵活的自定义数据模型:在数据分类、元数据属性、数据沿袭跟踪等方面具有巨大的灵活性。
-
易于与数据资产交互:可以使用标准的SQL语法存储和重用命令,并利用直观的原生UI,具有跨实体类型、分类、元数据或自由文本的复杂搜索功能。
当然缺点也有一些,例如:
-
Apache Atlas需要比较专业的知识。
-
Apache Atlas是一个开源数据治理框架,而不是一个现成的解决方案。
03 Amundsen
https://github.com/amundsen-io/amundsen
开发语言:Python、TypeScript



Amundsen是Lyft开发的数据发现和元数据引擎,它通过索引数据资源(表、仪表板、流等)来提高数据分析师,数据科学家和数据工程师在与数据打交道时的生产力。它还可以基于使用模式(例如,高度查询的表比较少查询的表更早出现)来驱动页面排名风格的搜索。有点类似谷歌搜索。
04 Datahub
https://github.com/datahub-project/datahub/
开发语言:Java、Python、TypeScript


DataHub是一个开源元数据管理平台,它最初由LinkedIn构建,以满足其现代数据堆栈不断变化的元数据需求。
DataHub支持第三代数据目录、数据发现、协作、治理和为现代数据栈构建的端到端可观察性。DataHub采用模型优先的理念,专注于提升不同工具系统之间的互操作性。
下图是DataHub的架构:


DataHub的主要亮点有:
-
模式优先的元数据建模方法:DataHub的元数据模型使用序列化不可知语言进行描述。支持REST和GraphQL API。此外,DataHub支持 AVRO-based API ,通过Kafka来传达元数据更改并订阅它们。我们的路线图包括一个里程碑,即将支持无代码元数据模型编辑,这将允许更易于使用,同时保留类型化API的所有优点。在元数据建模中阅读元数据建模。
-
基于流的实时元数据管理:DataHub的元数据基础设施是面向流的,它允许在几秒钟内在平台内传达和反映元数据的变化。还可以订阅DataHub元数据中发生的变更,使用户能够构建实时元数据驱动的系统。例如,可以构建一个访问控制系统,该系统可以观察历史数据集,添加一个包含PII的新模式字段,并锁定该数据集以进行访问控制审查。
-
联邦元数据服务:DataHub附带了一个元数据服务(gms)作为开源存储库的一部分。然而,它还支持联合元数据服务,这些服务可以由不同的团队拥有和运营。联邦服务使用Kafka与中央搜索索引和图进行通信,以支持全局搜索和数据发现,同时仍然支持元数据的解耦所有权。这种架构非常适合正在实施数据网格的公司。
05 Magda
https://github.com/magda-io/magda
开发语言:Java、TypeScript

Magda是一个面向大型组织的开源联合数据目录平台。其目标是通过提供一个用于记录、跟踪、增强和利用从CSV文件到大型数据库的资产的单一平台。
因此,对于那些需要处理大量较小的数据集的团队来说,这是一个特别合适的产品。
Magda的优点包括:
容易启动和运行是Magda的一个优势。它提供了一键部署到云、本地基础设施或使用Kubernetes和Helm的本地机器。
Magda搜索功能也特别强大,能够根据同义词、用户行为、地理空间数据和数据质量反馈数据资产信息。
Madga的另一个优势是连接数据源相对容易。我们可以使用CSV文件、库存工具、RDBMS、现有的元数据API和RESTful API添加一系列数据集。
Magda的缺点有:
Magda缺乏一些高级的可视化功能。
虽然提供了基于角色的访问控制,但它在创建更细粒度的访问策略方面效果较差。
Magda的目标通常是让用户能够轻松处理各种数据源,但处理非结构化或快速变化的数据可能会带来更多困难。
技术架构:
在技术架构方面,Magda是基于微服务体系构建的,这些微服务作为Docker容器分发。这样做是为了提供简单的可扩展性。Magda可以通过使用任何技术作为Docker镜像来添加定制服务,并通过稳定的HTTP API将它们与系统的其余部分集成。使用Helm和Kubernetes进行编排意味着定制的Magda实例的配置可以以纯文本形式存储和跟踪,并且可以快速轻松地复制具有相同配置的实例。架构图如下:

06 Egeria
https://github.com/odpi/egeria
开发语言:Java

Egeria是一个以企业为中心的工具,专注于跨组织的元数据管理。
因此,它对于需要高度自动化的集成解决方案的团队来说可能是一个很好的选择,例如跨平台元数据交换。
优点:
Egeria的核心是使团队能够使用专业服务器自动化元数据捕获,搜索和管理,该服务器在不同的连接平台上同步信息。
它还提供了极高级别的连接和集成,包括API、元数据存储库、JDBC、文件连接器、加密存储等。目标是使内部使用不同平台的团队能够无缝地共享信息。
缺点:
Egeria的用户界面功能相对有限。只提供一个通用的管理GUI,包括一个可搜索的目录,这有一点局限。如果我们想创建更高级的或特定场景的UI,我们需要自己开发这些UI。
07 TrueDat
https://github.com/Bluetab

TrueDat是一个非常成熟的开源数据治理工具,可以帮助客户成为数据驱动型的公司。TrueDat是由BlueTab(现在是IBM的一家公司)在了解了市场作为数据解决方案提供商的需求并找到了数据治理领域的空白之后创建的。
其优点包括:
TrueDat为配置数据目录和EDM提供了一个相对现代化、精简的界面,特别是与本综述中的其他一些平台相比。例如,我们可以使用实体模板来快速管理属性、元数据、权限和策略。
还有用于自动发现和编目连接的数据源,降低使用门槛,使其成为业务用户更可行的选择。我们甚至可以使用自己的LLM在企业环境中生成元数据。
除此之外,TrueDat在报告方面特别强大。它具有与Metadata的原生集成,为用户提供了极大的灵活性,可以围绕其数据质量和使用情况提取和可视化见解。
但是TrueDat也有许多缺点,例如:
尽管是一个开源项目,但TrueDat明显缺乏开源配套信息。特别是文档有点少,而且也没有生产部署相关的信息。
六、总结
下面用一张矩阵表总结了这几个开源数据治理工具的主要功能。矩阵用Yes和No表示是否有提供相关功能,但是,实际上这些工具在这些功能的实现程度并不一样。
| 产品 | 数据血缘 | 业务术语表 | 标签/分类 | 标签/分类传播 | 基于角色的访问控制(RBAC) | 基于属性的访问控制(ABAC) | 数据共享 |
| Amundsen | Yes | No | Yes | Yes | No | No | No |
| DataHub | Yes | Yes | Yes | Yes^ | Yes^ | No | No |
| Atlas | Yes | Yes | Yes | Yes | Yes | No | No |
| Magda | No | No | Yes | Yes | Yes | Yes | Yes |
| OpenMetadata | Yes | No | Yes | No | Yes^ | No | No |
| TrueDat | Yes | Yes | Yes | Yes | Yes | No | Yes |
| Egeria | Yes | Yes | Yes | Yes | Yes | No | Yes |
作者来源: zone7 andflow
好文分享 侵删
相关文章:
7个流行的开源数据治理工具
数字化时代,数据是已经成为最宝贵的资产之一。数据支撑着我们的政府、企业以及各类组织的所有流程,并为决策以及智能化服务提供支撑。大数据有大用途,但是也可能隐藏着巨大的风险,特别是如果我们对数据的情况不是很了解的时候&…...
js | XMLHttpRequest
是什么? 和serve交互数据的对象;能够达到页面部分刷新的效果,也就是获取数据之后,不会使得整个页面都刷新;虽然名字是XML,但不限于XML数据。 怎么用? function reqListener() {console.log(thi…...
2024国赛数学建模A题思路模型代码
2024国赛数学建模思路资料,思路获取见文末名片 数学建模感想 纪念逝去的大学数学建模:两次校赛,两次国赛,两次美赛,一次电工杯。从大一下学期组队到现在,大三下学期,时间飞逝,我的…...
使用SVD(奇异值分解)进行降维的奇妙之旅
在数据分析和机器学习的广阔天地中,降维技术占据着举足轻重的地位。当我们面对高维数据时,不仅计算成本高昂,而且容易遭遇“维度灾难”,即随着维度的增加,数据的稀疏性和距离度量失效等问题愈发严重。为了克服这些挑战…...
【C++ 第二十一章】特殊类的设计(学习思路)
1.请设计一个类,不能被拷贝 设计思路 拷贝只会使用在两个场景中:拷贝构造函数以及赋值运算符重载,因此想要让一个类禁止拷贝,只需让该类不能调用拷贝构造函数以及赋值运算符重载即可。 C98 的做法 将拷贝构造函数与赋值运算符…...
Java设计模式【命令模式】-行为型
1. 介绍 命令模式(Command Pattern) 是一种行为型设计模式,它将一个请求封装为一个对象,从而使我们可以用不同的请求对客户端进行参数化,并且支持请求的排队、记录日志以及撤销、重做等功能。命令模式将请求的发送者与…...
【HarmonyOS】一键扫码功能
【HarmonyOS】一键扫码功能 前言 鸿蒙在api10之后,对系统api的基础上,封装了较为复杂功能的开发工具包,统一称之为Kit。这些Kit根据功能定义的不同,划分为不同的种类Kit。如下图所示: 其实可以理解为集成在系统中的…...
Spring Boot应用中集成与使用多数据源
Spring Boot应用中集成与使用多数据源 1. 前言 通过定义和使用多个数据源,能在Spring Boot应用中实现更复杂的数据管理场景,比如读写分离、数据冗余等。 2. 准备工作 环境准备:确保已经准备好Spring Boot的开发环境。数据库准备ÿ…...
探索 JavaScript 中的 instanceof 关键字
在 JavaScript 这门灵活而强大的编程语言中,instanceof 是一个非常重要的操作符,它用于检测一个对象是否在其原型链的原型构造函数的 prototype 属性中出现。简而言之,instanceof 用于测试一个对象是否是其父类或者其原型链上某个构造函数的实…...
Python爬虫02
xml 和html 区别 jsonpath模块 场景 多层嵌套的复杂字典直接提取数据 安装 pip install jsonpath使用 from jsonpath import jsonpathret jsonpath(dict, jaonpath语法规则字符串)语法规则 eg: lxml模块&xpath语法 谷歌浏览器 xpath helper 插件 作用对当前页面…...
HTTP/3
http相关知识点 HTTP/3是超文本传输协议(HTTP)的最新版本,旨在进一步提高Web性能和安全性。HTTP/3的显著变化是它基于QUIC(Quick UDP Internet Connections)协议,而不是之前版本中使用的TCP协议。QUIC是由…...
MySQL 字符串操作详解和案例示范
MySQL 字符串操作详解 MySQL 提供了丰富的字符串操作函数,能够对这些字符串进行截取、定位、替换等操作。本文将详细讲解 MySQL 中的字符串操作函数,包括 SUBSTRING()、SUBSTR()、LEFT()、RIGHT()、LOCATE()、POSITION()、FIND_IN_SET()、ELT()、INSERT…...
全双工语音交互
文章目录 微软小冰全双工字节大模型语音交互[Language Model Can Listen While Speaking](https://arxiv.org/html/2408.02622v1) 微软小冰全双工 全双工的定义:一路持续的听,upload audio;一路持续的输出,download audio…...
nginx中如何设置gzip
前言 Nginx通过配置gzip压缩可以提升网站整体速度 Nginx的gzip功能是用于压缩HTTP响应内容的功能。当启用gzip时,在发送给客户端之前,Nginx会将响应内容压缩以减小其大小。这样可以减少数据传输的带宽消耗和响应时间,提高网站的性能和速度。…...
借老系统重构机会我写了个groovy规则引擎
公司老系统的重构计划早就有了,为了对Java硬编码的各种校验规则进行重构,特地参考了相关技术,最终选择了groovy进行了系统的学习,并编写了一个即插即用的轻量级规则引擎。 文章目录 项目背景技术选型groovy的性能groovy脚本执行线…...
C#利用ffmpeg借助NVIDIA GPU实现实时RTSP硬解码+硬编码录制MP4
目录 说明 效果 项目 代码 下载 说明 利用周杰的开源项目 Sdcb.FFmpeg 项目地址:https://github.com/sdcb/Sdcb.FFmpeg/ 代码实现参考:https://github.com/sdcb/ffmpeg-muxing-video-demo 效果 C#利用ffmpeg借助NVIDIA GPU实现实时RTSP硬解码硬…...
第4章 汇编语言和汇编软件
第4章 汇编语言和汇编软件 该章主要介绍了汇编语言和汇编语言编译器的安装和使用。 汇编语言程序 该小节主要介绍了为什么要有汇编语言和汇编语言程序的一些基础写法。 书中有提到CPU有不同的架构,汇编语言有不同的风格,那么不同的CPU架构和不同的汇…...
网络安全在2024好入行吗?
前言 024年的今天,慎重进入网安行业吧,目前来说信息安全方向的就业对于学历的容忍度比软件开发要大得多,还有很多高中被挖过来的大佬。 理由很简单,目前来说,信息安全的圈子人少,985、211院校很多都才建立…...
C++练习
要求 1. 函数命名清晰 使用描述性的命名,准确反映函数的功能。例如,使用 CalculateSum() 而不是 sum()。避免使用缩写或模糊不清的名字,确保变量和函数名有明确的含义。 2. 参数传递 根据需要选择按值传递、按引用传递或按指针传递。如果…...
3. GIS后端工程师岗位职责、技术要求和常见面试题
本系列文章目录: 1. GIS开发工程师岗位职责、技术要求和常见面试题 2. GIS数据工程师岗位职责、技术要求和常见面试题 3. GIS后端工程师岗位职责、技术要求和常见面试题 4. GIS前端工程师岗位职责、技术要求和常见面试题 5. GIS工程师岗位职责、技术要求和常见面试…...
HTML 语义化
目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案: 语义化标签: <header>:页头<nav>:导航<main>:主要内容<article>&#x…...
CTF show Web 红包题第六弹
提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...
工业安全零事故的智能守护者:一体化AI智能安防平台
前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...
srs linux
下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...
多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...
Redis数据倾斜问题解决
Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
听写流程自动化实践,轻量级教育辅助
随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...
MySQL 知识小结(一)
一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库,分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷,但是文件存放起来数据比较冗余,用二进制能够更好管理咱们M…...
AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机
这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机,因为在使用过程中发现 Airsim 对外部监控相机的描述模糊,而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置,最后在源码示例中找到了,所以感…...
