当前位置: 首页 > news >正文

及时+准确|主动元数据平台在监管报送场景中的应用实践

面对海量的数据报送需求和日益严格的监管要求,如何实现监管报送的全链路自动化数据质量保障,是金融机构亟待解决的重要课题。本文旨在介绍一种全新的监管报送场景方案,帮助金融机构通过“一键溯源与口径自动盘点、指标同源自动化分析、全链路主动协同保障”,全面提升监管报送的效率和质量。

作者|Aloudata 解决方案技术架构师王鑫鹏。

金融机构监管报送现状及问题分析

主流的监管报送类型涵盖 EAST(监管数据标准化)、1104 报表、客户风险系统报表、一表通等,报送流程从监管机构下发需求开始,经财会部门确认数据口径、业务 IT 团队明确数据来源表,再由数仓团队承接数据加工、完成报送数据结果给到监管团队,最终通过报送平台提交给监管机构。

整个流程中,金融机构最为关心两大问题:一是报送的及时性,即是否存在延迟;二是数据质量,即报送的数据是否被监管机构认定为错误。在我们与多家头部银行(包括国有大型商业银行、股份制银行、城市商业银行及农村商业银行)的交流中,我们发现,随着报送规则增多以及历史存量数据快速增长,企业数据链路复杂性日益增大,由此带来了以下问题:

  • 盘不动:如何确认加工逻辑符合报送需求?

以某头部银行为例,其 800 张报送报表溯源出的源头表数量高达 15 万个,取值字段数量高达 2000 万个,链路长度在 10 层至 100 层之间。如此复杂度下,想要判断加工数据口径的准确性变得极为困难,因为需要通过人工对所有相关表进行逐一核查,工作量巨大,也难以实现持续“保鲜”。

  • 对不上:监管要求对比不同规则指标,不一致怎么办?

当出现数据不一致的问题,金融机构通常还要进行数据对比,判断是不是业务系统来源不一致,或者加工口径不一致所引发,但在如此复杂的链路中,找出错误根因同样十分困难。

  • 保不住:如何预知质量与时效风险,避免事后“擦屁股”?

在此复杂的架构下,链路变更引发事故的风险也相对较高。某头部银行拥有开发人员超 2000 人,每月变更投产任务次数高达 60,000 次。若监管团队使用的上游数据源存在较高的变更频率,且无法及时被通知,则很可能导致上线出错,影响监管报送的准确性和及时性。若上游数据源出于谨慎考虑,对所有变更均进行通知,还会导致协同效率问题,因为有些变更在中间层次已被消化,而监管团队由于无法确定是否需要响应,仍需进行逐层分析。

在近年来推广新一代监管一表通系统的过程中,我们发现这些问题有所加剧。一方面,新的监管规则已细化至流水级和明细级,且规则间的关系日益复杂。另一方面,若出现问题,所需改造的范围广泛,这对协同工作带来了巨大挑战。最后,当监管报送数据涉及到明细层时,金融机构需提前确保数据质量和时效性,不能同以前一样依赖在报送平台末端配置质量检查(DQC)来发现问题,因为这将导致无法及时纠正错误。

为解决这些问题,保障监管报送的时效性和数据质量,金融机构亟需一个更高效的方案,以提高数据盘点效率,增强数据比对准确性,并加强数据保障的前置性,让问题在事前或事中得到解决,而非事后。

Aloudata BIG 监管报送场景方案

一键溯源与口径自动盘点,精准定位问题根因、口径持续保鲜

我们首要解决的是“盘不动”的问题:一是数据取值来源的准确性,即从财会部门或业务 IT 系统获取的数据是否与预期一致;二是数据完整性,即是否成功获取了所有业务线的数据,避免遗漏;三是数仓加工过程的合规性,即加工口径是否符合预期,特别是数仓加工中可能存在的异常赋值问题。

异常赋值是指在某些特殊情况下,数据加工未使用源头数据,而是赋予了一个默认值。这种默认值在进行同源分析或溯源分析时,可能导致口径不一致的问题。

快速发现数据问题是盘点过程中的一个难点。由于数据链路复杂,涉及多个脚本和层级,若依赖人工逐层排查,将极大降低效率。以往经验表明,部分银行客户在进行数据盘点时,需动员上游五六个团队共同参与,逐层排查并整合信息,整个过程可能耗时一至两周,效率低下。

此外,该方式难以及时应对数据变更。若上游存在十层任务,其中任一任务发生变更,下游均无法即时感知并采取相应的口径盘点措施。即使下游在两周后得知变更并尝试进行盘点,若期间再次发生变更,将陷入反复盘点的困境。

针对“盘不动”的问题,我们提供了 Aloudata BIG 自动溯源盘点方案,主要具备以下三个特性:

  • 一键溯源:企业仅需指定需溯源的报送指标或报送表,Aloudata BIG 即可自动向上追溯至各字段的源头来源表和字段,实现快速定位。
  • 口径概括:在溯源过程中,Aloudata BIG 通过算子级血缘解析技术,能够将源头与溯源起点(即报送指标)之间的多层关系进行概括,便于用户理解数据链路。
  • 自动保鲜:整个盘点过程是自动的,企业仅需指定目标字段或指标,Aloudata BIG 即可自动生成口径盘点结果并持续保鲜。一般情况下,盘点一个指标的时效为 5-10 分钟,若链路较短或加工逻辑不复杂,速度将更快。

这其中,口径概括包含取值口径和提取加工逻辑两个部分。取值口径指明了数据值来源于哪些表,提取加工逻辑能够将各段与溯源字段相关的加工逻辑简化为一句话描述,并逐层陈列。这样,既能快速查看取值口径,也能深入了解整个盘点过程。

我们还支持可视化分析。比如当前页面,我们会针对盘点结果,以图谱形式展示出每一层加工任务。最右侧表格为分析起点,整个溯源过程以此表为起点向上游追溯,左侧表格均为上游环节,直至追溯至源头字段。通过此方式,可清晰追溯字段来源及所经表格。有了这张图谱之后,点击具体字段还可查看和提取该字段的加工口径。这种对口径的提取能力是 Aloudata BG 自带的创新能力,构成了概括性分析以及智能化应用的基础。

在监管报送场景中,我们通过一键自动溯源及口径概括,并辅以可视化的逐层分析,既能快速输出结果,也便于深入观察具体细节,对问题精准定位具有显著作用。实施此方案后,原先存在的效率低、投入大及持续保鲜等问题均得以解决。

该方案在某客户的实践应用成效显著。以往,该客户习惯靠人工在 Excel 中创建映射,盘点过程耗时费力,难以每周、每月持续进行,只能在每个月组织动员时执行,后续的保鲜工作也无法保障。现通过本方案,自动完成上述任务,无需人工干预,自动输出结果,高效又准确。

指标同源自动化分析,全面解决监管数据不一致问题

接下来来解决“对不上”的问题,我们提供的是 Aloudata BIG 指标同源分析自动化方案。此方案具备两大特点:一是可直接提供对比组,便于对比不同指标,如 1104、EAST 及一表通等系统中的同源指标。其中,1104 系统提供汇总性指标,EAST 系统提供明细指标,一表通系统则可能兼顾两者。

二是我们能够将 1104、EAST 及一表通等系统中的同源指标进行整合对比。当监管报送过程中发现需对比的数据值存在差异且原因不明时,可运用此方案。为确保指标的可比性,首先需对 EAST 的明细数据进行汇总,然后与1104 的数据进行匹配,输入指定指标,即可发起一次对比,这样我们就能够获得一个对比结果。这个过程有点类似于溯源盘点过程,通过导出每个指标的来源字段、来源表及其取值口径,随后进行详细对比,以判断其来源是否一致,进一步分析口径是否一致及其原因。

在这个过程中,取值口径与完整口径需进行区分。取值口径因其简洁易懂,当内容出现差异,很容易识别出来。而对于汇总性指标,即便取值字段相同,由于条件(即行)不同,也可能导致数据值的不同。因此,需通过完整口径进行进一步比对。通过此方式,能将以往复杂的人工对比工作自动化,并支持多组指标的直接配置,因为监管要求报送的对比指标众多,逐一比对很是繁琐,所以将这些指标固定配置,并设置定期触发,能够大幅减少准备工作。

对于对比结果,基于我们的算子级血缘技术,准确度能达到 99% 以上,在这个基础上,该方案的对比结果可信度极高。所以,通过对比取值表字段、取值口径及完整口径等多个层次,该方案既能满足企业指标同源分析的需求,又能满足精细观察差异及问题排查的要求,从而全面解决监管数据不一致难题。

全链路主动协同保障,事前主动感知、分析与预警

最后要解决“保不住”的问题,主要通过我们提供的 Aloudata BIG 全链路主动保障方案来实现。

在以往,全链路协同保障存在若干问题:一是上游变更未及时通知下游。这可能是由于上游确实不了解下游受影响情况,缺乏可靠的影响分析工具,无法确定通知对象;也可能是由于上游缺乏相应意识,未意识到其变更会对监管报表产生影响。因此,当上游发生变更时,下游往往无法及时获知和响应,导致最终结果出现偏差。

另一问题是,上游有意识进行通知,即无论变更大小,均进行全面通知,导致全链路间通知泛滥。这种情况下,接收者每天会收到大量通知,难以判断哪些通知需要响应,哪些变更需要关注。

基于主动元数据管理能力,Aloudata BIG 能够直接监控元数据的变更,并能够与开发平台集成,捕捉元数据变更事件,与调度平台对接,捕获调度变更事件,以及结合质量检测时间进行全面分析。通过该方案,能够帮助企业实现主动变更分析、影响分析及根因分析。例如,当变更导致某个任务运行失败,借助该方案,我们能迅速定位失败原因,明确找出由哪次变更所致,最终分析生成链路风险报告,通知给监管团队等相关负责人。

当发现变更时,我们还会主动通知下游,形式可以是预警,也可以是协作邀请。算子级血缘能够精确识别上游字段在下游的具体使用情况,而非仅基于表或作业的依赖关系发起影响通知,如此一来,可大幅减少影响通知范围。再结合企业的一些开发工具和管理流程,就可以把整个协同工作转变为事前的主动感知、主动分析与主动预警。

例如我们在杭州银行的实践应用中,整个数据链路可通过一张算子级血缘图谱呈现,包含各种表及上下游关系,并针对重点链路进行智能打标。当上游发生变化时,我们利用血缘关系从源表一直追踪至监管指标乃至后续的 BI 报表,并通过元数据标签自动化扩散,不仅能够直接进行精细的影响分析,还减少大量的干扰与噪音。相较于事后或事中分析,这种事前全链路主动协同保障显著提升协同效率,并强化管控、通知及治理措施,实现重点链路变更自动化协同,问题根因分析提效 40%,影响面分析人天成本降低 50%。

综上,这就是我今天介绍的 Aloudata BIG 监管报送场景解决方案,针对性解决了企业监管数据及口径“盘不动、对不上、保不住”三大难题,助力金融机构实现监管报送不漏报、不错报、主动变更协同、口径持续保鲜。欢迎访问 Aloudata 官网,了解更多。

相关文章:

及时+准确|主动元数据平台在监管报送场景中的应用实践

面对海量的数据报送需求和日益严格的监管要求,如何实现监管报送的全链路自动化数据质量保障,是金融机构亟待解决的重要课题。本文旨在介绍一种全新的监管报送场景方案,帮助金融机构通过“一键溯源与口径自动盘点、指标同源自动化分析、全链路…...

[python脚本处理文件入门]-18.使用Python进行PDF文件的合并与拆分

哈喽,大家好,我是木头左! Python PDF处理库概览 1. PyPDF2 PyPDF2是一个纯Python编写的库,用于PDF文件的读写和操作。它提供了丰富的功能,包括PDF文件的合并、拆分、加密、解密等。PyPDF2的安装非常简单,只需通过pip即可安装: pip install PyPDF2安装完成后,你就可以…...

4、常量和进制转换

1、常量 1.1、常量 常量是在程序运行中值不能内改变(常数)。 整型:12 55 实型:21.5 字符型常量: ‘A’ 1.2、常量不同进制表示 常量数据在计算机中除了用 十进制 表示,还可以用 二进制、八进制、十六进制表示。 十进制数据&…...

C++:探索哈希表秘密之哈希桶实现哈希

文章目录 前言一、链地址法概念二、哈希表扩容三、哈希桶插入逻辑四、析构函数五、删除逻辑六、查找七、链地址法代码实现总结 前言 前面我们用开放定址法代码实现了哈希表: C:揭秘哈希:提升查找效率的终极技巧_1 对于开放定址法来说&#…...

java函数式编程和Lambda表达式

https://www.bilibili.com/video/BV1fz421C7tj?spm_id_from333.788.videopod.episodes&vd_source12d5954938d20d50645e227a6a728c76 如果一个接口中只有一个方法,那么就可以函数对象化: interface Add {int add(int a, int b);}Add add (a, b) -&…...

【线程】Java多线程代码案例(2)

【线程】Java多线程代码案例(2) 一、定时器的实现1.1Java标准库定时器1.2 定时器的实现 二、线程池的实现2.1 线程池2.2 Java标准库中的线程池2.3 线程池的实现 一、定时器的实现 1.1Java标准库定时器 import java.util.Timer; import java.util.Timer…...

IOU Loss详解

IoU(Intersection over Union是目标检测中常用的指标,用于评估预测框和真实框的重叠程度。基于 IoU 的损失函数(IoU Loss)是通过优化 IoU 值来提升模型预测框的精度。 IoU 的计算公式 给定预测框 ( B_p ) 和真实框 ( B_g )&#…...

nfs服务器

1、简介 NFS (Network File System,网络文件系统)是FreeBSD支持的文件系统中的一种,它允许网络中的计 算机(不同的计算机、不同的操作系统)之间通过TCP/IP网络共享资源,主要在unix系列操作系统上…...

Diving into the STM32 HAL----- IWDG and WWDG Timers笔记

墨菲定律指出,任何可能出错的事情都会出错。尤其是对于嵌入式系统来说,情况尤其如此。除了硬件故障也会对软件产生影响外,即使是最仔细的设计也可能会出现一些意外情况,导致我们设备的异常行为。这可能会产生重大成本,…...

使用statefulset管理pod

deployment主要管理无状态的pod,就算需要磁盘也是期望做动态扩容的。而对于那种有状态需要存储数据的,如log、数据库、消息中间件需要持久化数据的,则建议使用StatefulSet,我们的pod现在扩充了pv和pvc,那就使用Statefu…...

6个AI生成PPT的网站,pptai一键生成

演讲和展示PPT是当今办公和学习中的重要组成部分,无论是工作汇报、发表研究成果,还是课件培训,一款精心制作的PPT能够有效吸引观众的参与,并将你的信息深入人心。借助不断进步的人工智能技术,众多免费的AI PPT生成器可…...

【力扣】541.反转字符串2

问题描述 思路解析 每当字符达到2*k的时候,判断,同时若剩余字符>k,只对前k个进行判断(这是重点)因为字符串是不可变变量,所以将其转化为字符串数组,最后才将结果重新转变为字符串 字符串->字符数组 …...

如何优雅的用PyQt访问http(仅供参考)

使用pydantic或dataclaass创建一个数据存储对象 第一种 # coding: utf-8 from typing import Anyimport requests from pydantic import Field, BaseModelclass ResponseModel(BaseModel):status: bool Field(True, description"响应状态")message: str Field(请求…...

小程序租赁系统开发的优势与应用解析

内容概要 随着科技的迅猛发展,小程序租赁系统应运而生,成为许多企业优化业务的重要工具。首先,它提升了用户体验。想象一下,用户只需轻轻一点,就能够浏览和租赁心仪的商品,这种便捷的过程使繁琐的操作大大…...

Group Convolution(分组卷积)

分组卷积的优点: 减少参数数量: 在分组卷积中,每个分组只与一部分输入通道进行卷积运算,这意味着模型的参数数量会减少。例如,如果一个卷积层有8个输入通道和8个输出通道,且不使用分组,那么将有…...

uniapp在H5使用vue-router路由返回上一页不会触发销毁函数解决方法

问题:uniapp在H5使用vue-router路由,如果在H5平台上进行页面刷新操作,再返回上一页,可能会遇到beforeDestroy、destroyed、onUnload生命周期钩子不被触发的问题。这是因为在H5中,页面的刷新实际上是整个应用的重新加载…...

YOLOv8配置文件应该如何命名?

文末有重点 1.配置文件解析代码yolov8/ultralytics/nn/tasks.py 如下: def yaml_model_load(path):"""Load a YOLOv8 model from a YAML file."""import repath Path(path)if path.stem in (fyolov{d}{x}6 for x in nsmlx for d i…...

扫雷-完整源码(C语言实现)

云边有个稻草人-CSDN博客 在学完C语言函数之后,我们就有能力去实现简易版扫雷游戏了(成就感满满),下面是扫雷游戏的源码,快试一试效果如何吧! 在test.c里面进行扫雷游戏的测试,game.h和game.c…...

数据库(MySQL黑马)

基础篇 MySQL概述 数据库概述 数据库相关概念 主流的关系型数据库管理系统 MySQL数据库的安装与启动 下载:MySQL :: MySQL Community Downloads 安装步骤 MySQL―8.0.40超详细保姆级安装教程_mysql8.0.40安装教程-CSDN博客文章浏览阅读1k次。_mysql8.0.40安装教…...

UE5 Line Trace By Channel(通道线条追踪)节点

在 Unreal Engine 5 (UE5) 中,Line Trace By Channel 是一个常用于进行物理射线检测(raycasting)的节点。它会沿着一条从起点到终点的直线发射一条射线,并检测射线与世界中任何物体的碰撞。这个节点广泛应用于枪械射击、检测物体、…...

How to use the ‘git log‘ command to get change log for each file?

1. Using git log command #!/bin/bash# 目标文件名 output_file"git_log.csv"# 打印 CSV 文件的标题行 echo "CommitID,Author,Author Email,Date,Added-Lines Removed-Lines File" > $output_file echo "CommitID,Author,Author Email,Date,Add…...

node.js中实现router模块化管理

index.js const express require(express); const app express()// 导入路由模块 const router require(./router/index)// 注册路由模块 app.use(router)app.listen(3000, ()>{console.log(http://127.0.0.1:3000) })router/index.js const express require(express…...

突破性算法:让无人机集群在狭窄空间内穿针引线

导读 在建筑救援、森林搜索等任务中,无人机集群经常会遇到狭窄空间限制和动态障碍物变化等挑战。这些挑战会导致集群内部冲突,或在执行任务时因避让动态障碍物而导致系统混乱。实际应用场景和任务的严格特征往往使得全局搜索难以优化,而局部避…...

人工智能如何改变你的生活?

在我们所处的这个快节奏的世界里,科技融入日常生活已然成为司空见惯的事,并且切实成为了我们生活的一部分。在这场科技变革中,最具变革性的角色之一便是人工智能(AI)。从我们清晨醒来直至夜晚入睡,人工智能…...

C语言main()函数

C语言main()函数 argc(argument count) 在C或C程序中,argc(argument count的缩写)是一个由程序运行时环境自动提供的整数,用于指示传递给main函数的命令行参数的数量。因此,不需要&#xff08…...

【LC】162. 寻找峰值

题目描述: 峰值元素是指其值严格大于左右相邻值的元素。给你一个整数数组 nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回 任何一个峰值 所在位置即可。 你可以假设 nums[-1] nums[n] -∞ 。 你必须…...

Zero to JupyterHub with Kubernetes上篇 - Kubernetes 离线二进制部署

前言: 纯个人记录使用。 搭建 Zero to JupyterHub with Kubernetes 上篇 - Kubernetes 离线二进制部署。搭建 Zero to JupyterHub with Kubernetes 中篇 - Kubernetes 常规使用记录。搭建 Zero to JupyterHub with Kubernetes 下篇 - Jupyterhub on k8s。 k8s二进…...

HTML5+JavaScript实现消消乐游戏

HTML5JavaScript实现消消乐游戏 点击两个相邻的方块来交换它们位置。 如果交换后形成三个或更多相同图案的方块连成一线,这些方块会被消除。 消除后,上方的方块会下落填补空缺,顶部会生成新的方块。 每消除一个方块得10分。例如&#xff0…...

深度学习:在PyTorch中进行模型验证完整流程

深度学习:在PyTorch中进行模型验证完整流程(以图像为例) 详细说明在PyTorch中进行模型验证的全过程。 模型验证的详细步骤和流程 1. 设置计算设备 选择合适的计算设备是性能优化的第一步。基于系统的资源(GPU的可用性&#xf…...

洛谷 P1747 好奇怪的游戏 C语言 bfs

题目: https://www.luogu.com.cn/problem/P1747#submit 题目描述 爱与愁大神坐在公交车上无聊,于是玩起了手机。一款奇怪的游戏进入了爱与愁大神的眼帘:***(游戏名被打上了马赛克)。这个游戏类似象棋,但…...

豆包MarsCode

01 AI代码陪练 来到豆包MarsCode官网:http://sqllb.com/6FRiH76 ,点击左上方的代码练习,就能看到一个AI代码陪练的练习场。 在左边栏,可以看到各种各样的算法题目,在右侧是MarsCode AI,中间是算法题目和…...

Docker网络模式:桥接(Bridge)模式与主机模式(Host)实操对比(一)

文章目录 前言一、桥接模式(Bridge Mode)前言 随着容器化技术的发展,Docker 已成为开发和部署应用的首选工具之一。Docker 不仅简化了应用的打包过程,还提供了多种网络模式来满足不同应用场景下的需求。本文将重点探讨两种常用的 Docker 网络模式——桥接模式(Bridge Mod…...

3. STM32_串口

数据通信的基础概念 什么是串行/并行通信: 串行通信就是数据逐位按顺序依次传输 并行通信就是数据各位通过多条线同时传输。 什么是单工/半双工/全双工通信: 单工通信:数据只能沿一个方向传输 半双工通信:数据可以沿两个方向…...

【Git】Git 命令参考手册

目录 Git 命令参考手册1. 创建仓库1.1 创建一个新的本地仓库1.2 克隆一个仓库1.3 克隆仓库到指定目录 2. 提交更改2.1 显示工作目录中已修改的文件,准备提交2.2 将文件添加到暂存区,准备提交2.3 将所有已修改的文件添加到暂存区,准备提交2.4 …...

EBS 中 Oracle Payables (AP) 模块的相关集成

Oracle E-Business Suite (EBS) 中的 Oracle Payables (AP) 模块是一个全面的应付账款管理系统,它不仅提供了丰富的功能来管理与供应商的财务交易,还通过与其他模块的紧密集成,实现了企业内部各个业务流程的无缝衔接。以下是 Oracle Payables…...

【LC】896. 单调数列

题目描述&#xff1a; 如果数组是单调递增或单调递减的&#xff0c;那么它是 单调 的。如果对于所有 i < j&#xff0c;nums[i] < nums[j]&#xff0c;那么数组 nums 是单调递增的。 如果对于所有 i < j&#xff0c;nums[i]> nums[j]&#xff0c;那么数组 nums 是…...

大语言模型LLM的微调代码详解

代码的摘要说明 一、整体功能概述 这段 Python 代码主要实现了基于 Hugging Face Transformers 库对预训练语言模型&#xff08;具体为 TAIDE-LX-7B-Chat 模型&#xff09;进行微调&#xff08;Fine-tuning&#xff09;的功能&#xff0c;使其能更好地应用于生成唐诗相关内容的…...

鸿蒙主流路由详解

鸿蒙主流路由详解 Navigation Navigation更适合于一次开发,多端部署,也是官方主流推荐的一种路由控制方式,但是,使用起来入侵耦合度高,所以,一般会使用HMRouter,这也是官方主流推荐的路由 Navigation官网地址 个人源码地址 路由跳转 第一步-定义路由栈 Provide(PageInfo) pag…...

GelSight和Meta AI合作推出多模态指尖形全向视触觉传感器Digit360

近日&#xff0c;触觉智能技术先锋 GelSight 与 Meta AI相关团队今宣布推出 Digit 360&#xff0c;这是一款呈人工指尖形状的触觉传感器&#xff0c;它能够以高精度将触摸数字化&#xff0c;从而提供较为丰富且详细的触觉数据。Digit 360将会拓展触觉传感研究领域&#xff0c;标…...

XX科技面试笔试题

笔试题 一、选择题 (每题5分,共20分) 1、构成存储器的最小单位是 ( ) A、bit B、Byte C、MB 2、下列不属于WEB服务的是 ( ) A、Apache B、Nginx C、IIS D、LVS 3、web服务器默认端口为 ( ) A、80 B、800 C、22 D、43 4、下列安装系统方法中,适合大量装机需求的是 ( ) A、U盘…...

AVL、B树和B+树

AVL树定义 AVL树&#xff08;Adelson-Velsky 和 Landis 树&#xff09;是一种自平衡的二叉搜索树&#xff08;Binary Search Tree, BST&#xff09;&#xff0c;由苏联数学家Georgy Adelson-Velsky和Evgenii Landis在1962年提出。AVL树通过在每个节点上维护一个平衡因子&#…...

[SWPUCTF 2021 新生赛]include

参考博客: 文件包含 [SWPUCTF 2021 新生赛]include-CSDN博客 NSSCTF | [SWPUCTF 2021 新生赛]include-CSDN博客 考点:php伪协议和文件包含 PHP伪协议详解-CSDN博客 php://filter php://filter可以获取指定文件源码。当它与包含函数结合时&#xff0c;php://filter流会被当…...

ES----安装 elasticsearch入门,elasticsearch安装,centos安装es,centos安装elasticsearch

ES 如需要对应资源&#xff0c;请评论留言&#xff0c;或再最后视频中关注获取 1. 安装 1.1 安装es 创建网络&#xff08;centos系统&#xff0c;docker环境&#xff09; docker network create es-netdocker安装es —如果下载失败&#xff0c;请看我的docker配置镜像的文章…...

探索文件系统,Python os库是你的瑞士军刀

文章目录 探索文件系统&#xff0c;Python os库是你的瑞士军刀第一部分&#xff1a;背景介绍第二部分&#xff1a;os库是什么&#xff1f;第三部分&#xff1a;如何安装os库&#xff1f;第四部分&#xff1a;简单库函数使用方法1. 获取当前工作目录2. 改变当前工作目录3. 列出目…...

android studio引用so库

在工程中编译好的so库文件将在原始编译工程对应目录下&#xff1a;build/intermediates/cxx/Debug/xxxxxx/obj/ 其目录结构如上所示&#xff0c;包含生成的四个版本&#xff0c;每个文件夹下均包含c/c源码编译成的Android版本的libnavi.so库和提供应用接口的libnavi-lib.so库。…...

Ubuntu 服务器部署 Tomcat 并配置 SSL/TLS 证书

本文目录 准备登陆云服务器安装 Java下载 tomcat 包配置防火墙浏览器访问 Tomcat 默认页面以服务的形式运行 Tomcat创建 Tomcat 用户和组创建 systemd 服务文件启动 tomcat 服务 Tomcat webapps 文件目录部署一个静态网站tomcat 的配置文件 将域名解析到服务器Tomcat 配置 SSL/…...

不间断电源 (UPS) 对现代技术可靠性的影响

在这个技术型世界里&#xff0c;无论是在个人还是商业环境中&#xff0c;电力供应商提供的稳定供电都变得越来越重要。 不间断电源 (UPS) 系统是一种不可或缺的解决方案&#xff0c;可保证终端设备不受干扰地运行&#xff0c;在出现电源问题或故障时让用户继续工作。 这篇文章…...

Android 基础类(01)- Thread类 - readyToRun和threadLoop

一、前言&#xff1a; 在阅读AOSP代码过程中&#xff0c;我们经常会看到Thread子类重写两个方法&#xff1a;readyToRun和threadLoop&#xff0c;不清楚的同学&#xff0c;可能在这儿连调用逻辑都搞不清楚了&#xff0c;因为找不到谁调用了它。我这儿先不去深究Thread内部逻辑…...

【组件封装】uniapp vue3 封装一个自定义下拉刷新组件pullRefresh,带刷新时间和加载动画教程

文章目录 前言一、实现原理二、组件样式和功能设计三、scroll-view 自定义下拉刷新使用回顾相关属性&#xff1a;最终版完整代码&#xff1a; 前言 手把手教你封装一个移动端 自定义下拉刷新组件带更新时间和加载动画&#xff08;PullRefresh&#xff09;&#xff0c;以uniapp …...

通过 JNI 实现 Java 与 Rust 的 Channel 消息传递

做纯粹的自己。“你要搞清楚自己人生的剧本——不是父母的续集&#xff0c;不是子女的前传&#xff0c;更不是朋友的外篇。对待生命你不妨再大胆一点&#xff0c;因为你好歹要失去它。如果这世上真有奇迹&#xff0c;那只是努力的另一个名字”。 一、crossbeam_channel 参考 cr…...