- 博客(750)
- 资源 (31)
- 收藏
- 关注
原创 突破文档型数据库迁移困境:金仓多模方案破解电子证照系统国产化难题
摘要:福建某地市电子证照系统顺利完成国产化升级,通过金仓数据库多模方案解决了从MongoDB迁移的三大难题:数据架构适配、高并发性能和2TB数据迁移风险。方案采用读写分离集群和定制迁移工具,使系统并发能力提升60%,迁移效率提高,并保持6个月稳定运行,为500余家单位提供证照共享服务。文章还详细介绍了KingbaseES数据库的增删改查操作语法,为政务系统国产化改造提供了可复制的技术路径。
2025-09-26 15:05:09
4441
17
原创 【Bluedroid】蓝牙 A2DP Source音频流暂停流程解析[6]:从 API 调用到硬件响应(BTA_AvStop)
本文深入分析Android蓝牙协议栈中A2DP音频流暂停事件的完整处理流程。涵盖从应用层 API 调用到硬件资源释放的全流程。重点阐述 BTA 层消息机制、状态机管理、BTIF 层事件转发及硬件卸载模式的适配逻辑,揭示暂停操作在协议栈、HAL 层与硬件间的协同原理。通过分析BTA_AvStop触发的消息流转、状态机转换、资源清理及上层通知等关键环节,展现蓝牙音频系统如何通过分层设计和事件驱动机制,确保流暂停的可靠性与跨设备状态一致性。为蓝牙音频开发与调试提供参考。
2025-09-26 09:00:00
3965
1
原创 字符串复制的安全升级:strcpy_s () 与 strncpy_s () 全方位解析及对比
在 C 语言发展历程中,字符串操作的安全性一直是开发者关注的焦点。传统的strcpy()和strncpy()函数因缺乏安全检查机制,常导致缓冲区溢出等严重问题。为解决这一痛点,C11 标准引入了带边界检查的安全函数strcpy_s()和strncpy_s()。本文将从函数特性、实现原理、使用场景等方面深入解析这两个安全函数,并全程对比其与传统函数的差异,为开发者提供安全字符串操作的实践指南。
2025-09-25 09:00:00
11751
43
原创 BLE功耗建模:精确计算广播、扫描、连接、休眠状态能耗
本文将系统解析 BLE 四种核心状态(广播、扫描、连接、休眠)的功耗建模方法,提炼面试高频考点,结合历年真题提供详细解题思路,总结关键知识点。无论你是准备面试的求职者,还是希望优化产品续航的工程师,掌握这些内容都能让你在 BLE 开发领域游刃有余。
2025-09-24 09:00:00
14313
7
原创 从 strlen 到 strlen_s:C 语言字符串长度计算的安全进化
本文将深入解析 strlen_s () 的设计原理、实现机制及使用场景,并通过与 strlen () 的全面对比,帮助开发者在安全性与效率之间找到平衡。
2025-09-23 09:00:00
16105
39
原创 【Bluedroid】A2DP Source音频流暂停流程解析[4]:从协议栈到硬件的跨层协同机制(btif_a2dp_on_suspended)
本文详细解析蓝牙 A2DP(Advanced Audio Distribution Profile)音频流暂停操作的完整处理链路,涵盖从协议栈事件触发到硬件资源释放的全流程。重点阐述不同架构(HIDL/AIDL)下的适配逻辑、硬件卸载(Offload)模式的影响,以及基于观察者模式和状态机的跨层状态同步机制,揭示暂停操作在协议确认、HAL 交互、硬件响应等环节的协同原理。
2025-09-22 00:15:00
10822
11
原创 【C++基础】const 成员函数与 mutable 关键字的线程安全博弈
byte轻骑兵,现就职于国内知名科技企业,专注于嵌入式系统研发。深耕 Android、Linux、RTOS、通信协议、AIoT、物联网及 C/C++ 等领域。乐于技术分享与交流,欢迎关注互动!
2025-09-21 09:00:00
7275
6
原创 【Bluedroid】A2DP Source 音频流暂停流程解析[3]:AVDTP 协议中 Suspend Accept 响应的处理流程与实现分析(Suspend Accept)
本文详细解析蓝牙 AVDTP(Audio/Video Distribution Transport Protocol)协议中 Suspend Accept 响应的完整处理流程。Suspend Accept 由对端设备在成功处理 Suspend Command 后返回,用于确认流端点暂停完成。流程从 L2CAP 层接收响应开始,经 AVDTP 层消息重组与解析、CCB/SCB 事件处理,到 BTA 层状态更新、BTIF 层状态机转换,最终通知应用层。
2025-09-20 09:00:00
11558
10
原创 内存释放更安全:free_s () 函数深度解析与 free () 全方位对比
本文将从原理到实践拆解free_s(),并与free()逐环节对比,帮你彻底掌握安全释放的关键。
2025-09-19 09:00:00
14030
31
原创 realloc_s ():C 语言动态内存的 “安全调节器”—— 从 realloc 到安全增强的进化之路
本文全面解析realloc_s()的设计理念与实现细节,通过与realloc()的逐维度对比,揭示其在安全关键场景中的不可替代性,同时提供实用的迁移指南与最佳实践。
2025-09-18 09:00:00
9526
36
原创 【Bluedroid】A2DP Source 音频流暂停流程解析[2]:AVDTP 协议中流暂停请求的处理流程与实现分析(AVDT_SuspendReq)
本篇详细分析蓝牙 AVDTP(Audio/Video Distribution Transport Protocol)协议中流暂停请求(AVDT_SuspendReq)的完整处理流程。AVDTP协议中的Suspend流程是蓝牙音频流控制的关键机制,允许设备暂停正在传输的媒体流。该流程涉及协议栈多层协作,从应用层请求到底层L2CAP传输,再到对端设备的响应处理,形成一个完整的控制闭环。
2025-09-17 08:56:09
4086
9
原创 大数据时代时序数据库选型指南:为何 Apache IoTDB 成优选(含实操步骤)
本文将从大数据视角出发,梳理时序数据库的核心选型维度,通过与国外主流产品的对比解析 Apache IoTDB(以下简称 “IoTDB”)的差异化优势,并结合详细操作步骤与代码,落地实战场景,助力企业高效选型与实践。
2025-09-16 15:08:16
11854
12
原创 calloc_s ():C 语言内存安全的 “双重保险”,深度对比 calloc 解析
本文将从函数设计理念、实现细节到实战场景,全方位解析calloc_s(),并通过与calloc()的逐维度对比,揭示其在安全关键场景中的不可替代性。
2025-09-16 09:00:00
6483
9
原创 抵御蓝牙嗅探与重放攻击:加密与序列号机制详解
本文系统解析蓝牙安全体系中的加密机制与序列号防御策略,结合历年面试真题与实战案例,构建完整的知识框架,轻松应对各类安全考试。
2025-09-15 00:15:00
3680
9
原创 从危险到安全:malloc_s () 如何重塑 C 语言内存分配逻辑
在 C 语言内存管理的历史中,malloc()如同一位双面骑士 —— 它赋予程序动态分配内存的强大能力,却也因缺乏安全检查而埋下无数隐患。缓冲区溢出、内存泄漏、空指针解引用等问题,常常与malloc()的不当使用相伴而生。为了弥补这些缺陷,C11 标准附录 K(Annex K)引入了malloc_s()这一安全替代函数。本文深入解析malloc_s()的设计理念与实现机制,通过与malloc()的全方位对比,揭示其如何通过强制性安全检查重塑内存分配的安全逻辑。
2025-09-14 22:03:09
5718
5
原创 【Bluedroid】 A2DP Source音频流暂停流程解析[1]:从应用层到协议栈的跨层协同机制(BluetoothAudioPortHidl::Suspend)
本文基于 Android 蓝牙音频框架代码,详细解析 A2DP 音频流暂停操作的完整流程。该流程涉及应用层、HAL 层、会话管理层及协议栈(BTIF/BTA 层)的跨层协同,核心通过状态机管理、线程安全控制及观察者模式实现暂停操作的可靠性。从上层发起暂停请求,到底层协议栈执行流中断,再到状态同步与回调通知,各模块分工明确:通过BluetoothAudioPortHidl触发暂停,BluetoothAudioSession管理会话生命周期,BTIF 层处理实际流操作,最终通过状态回调完成闭环。
2025-09-14 09:00:00
3504
10
原创 memchr_s ():C11 安全内存查找的新范式与 memchr 深度对比
在软件安全日益重要的今天,从 memchr () 到 memchr_s () 的转变,不仅是函数的替换,更是编程理念的升级 —— 将安全从 "开发者责任" 转变为 "机制保障"。掌握 memchr_s () 的使用,是每个 C 语言开发者提升代码质量、构建安全系统的必备技能。通过合理使用这些安全函数,我们可以在不牺牲性能的前提下,显著提高软件的安全性和可靠性。
2025-09-13 19:30:00
6140
7
原创 【C++基础】C++ 范围 for 循环的编译展开:迭代器与数组的底层实现对比(揭秘 auto&& 在通用引用场景下的优化机制)
范围 for 循环看似简单的语法糖,实则是 C++ 类型系统、编译器优化和迭代器设计模式的综合体现。理解它的底层实现,不仅能应对面试中的高频问题,更能帮助我们写出更高效、更安全的代码
2025-09-13 08:59:15
3414
12
原创 memmove_s ():C 语言内存安全迁移的守护者与 memmove 深度对比
在软件安全日益重要的今天,从 memmove () 到 memmove_s () 的转变,不仅是函数的替换,更是编程理念的升级 —— 将安全从 "开发者责任" 转变为 "机制保障"。掌握 memmove_s () 的使用,是每个 C 语言开发者提升代码质量、构建安全系统的必备技能。通过合理使用这些安全函数,我们可以在不牺牲性能的前提下,显著提高软件的安全性和可靠性。
2025-09-12 22:45:00
5878
8
原创 蓝牙设备绑定与重连:如何安全地存储和使用长期密钥 (LTK)
LTK 作为蓝牙设备安全通信的核心支柱,其生成、存储和使用的每一个环节都关乎设备安全。从传统配对的安全隐患到 LE Secure Connections 的技术革新,蓝牙安全协议的演进史就是一部 LTK 防护技术的升级史。
2025-09-12 09:00:00
2430
11
原创 memcpy_s ():C 语言内存复制的安全升级与 memcpy 深度对比
在 C 语言开发中,内存操作的安全性直接关系到程序的稳定性与安全性。memcpy () 作为经典的内存复制函数,虽高效却缺乏必要的安全检查,成为缓冲区溢出等漏洞的常见源头。C11 标准引入的 memcpy_s () 函数,在保留核心功能的基础上,通过全面的安全机制重构了内存复制逻辑。
2025-09-11 22:56:57
7543
9
原创 【udev用户空间设备管理】udev规则文件
在 Linux 系统的世界里,设备管理是一个重要的环节。而 udev 作为 Linux 用户空间的设备管理器,在其中扮演着关键角色。今天,我们就来深入了解一下 udev 规则文件,看看它是如何工作的,以及我们该如何运用它来更好地管理设备。
2025-09-11 09:00:00
3979
9
原创 memcmp_s ():C 语言中更安全的内存比较函数详解与使用指南
在 C 语言内存操作函数家族中,memcmp () 作为基础的内存比较工具被广泛使用,但它缺乏必要的安全检查,容易成为程序漏洞的源头。C11 标准引入的 memcmp_s () 函数在保留核心功能的同时,增加了全面的安全机制,为内存比较操作提供了更可靠的选择。
2025-09-10 13:42:23
9839
13
原创 【Bluedroid】A2dp Source播放流程源码分析(11):音频传输链路深度解析:从数据就绪到 L2CAP (bta_av_ci_src_data_ready)
本文基于Android蓝牙协议栈代码,详细解析 A2DP Source端从 “音频数据准备” 到 “通过 L2CAP 链路发送至对端” 的全链路机制,涵盖数据触发、协议封装(RTP/AVDTP)、拥塞控制、多设备同步等关键环节,揭示各层协议(BTA、AVDTP、L2CAP)的协同逻辑,以及如何通过状态机、事件驱动确保音频传输的实时性与稳定性。
2025-09-10 08:56:08
5062
8
原创 【C++基础】数组名的本质:从内存地址到指针退化的全面解析
在 C++ 面试中,数组名的本质是一个高频考点。许多候选人会疑惑:为什么int arr[5];中的arr既能像指针一样运算,又在某些情况下表现出截然不同的行为?这个问题的答案藏在 C++ 的底层机制中 —— 数组名在大多数情况下会退化为指针,但在特定场景下仍保留数组的完整语义。本文将通过理论剖析、代码示例和大厂真题,带你彻底解开这个谜题。
2025-09-09 09:00:00
5409
10
原创 【Bluedroid】A2dp Source播放流程源码分析(10):音频传输与SBC编码机制深度解析(a2dp_sbc_send_frames)
本文围绕 Android 蓝牙 A2DP的 SBC(子带编码)编码器展开,系统剖析其从原始 PCM 数据读取、SBC 压缩编码、传输参数适配(MTU / 帧数)、数据包打包入队到信号质量监控的全链路核心代码。重点解析a2dp_sbc_send_frames(帧调度)、SBC_Encode(核心编码)、adjust_effective_mtu(MTU 适配)、btif_a2dp_source_enqueue_callback(队列管理)等关键函数的逻辑,以及各模块间的协同机制。
2025-09-08 00:15:00
2994
10
原创 BLE 安全连接 (LE SC) 中的认证阶段:f4/f5/f6 函数计算与 MITM 防护验证
2024 年某智能家居安全事件曝光:黑客通过伪造蓝牙信号,成功破解某品牌智能门锁的 BLE 连接,导致用户家中失窃。事后分析显示,该设备使用了传统 BLE 配对方式,未启用 LE Secure Connections (LE SC) 功能,使得中间人攻击 (MITM) 有机可乘。这一事件再次凸显了 BLE 安全连接在物联网设备中的关键作用。
2025-09-07 09:00:00
3926
8
原创 【Bluedroid】A2dp Source播放流程源码分析(7):蓝牙音频流启动流程深度解析(btif_av_stream_start)
本文深入分析Android Bluetooth协议栈中A2DP音频流启动的完整流程,从应用层调用btif_av_stream_start()开始,穿越BTIF、BTA、AVDTP多层架构,最终通过L2CAP发送AVDTP启动命令。揭示状态机驱动、异步消息传递、流控制等核心机制。并通过代码与日志结合的方式,揭示蓝牙音频流从 “启动请求” 到 “媒体传输” 的核心机制,为理解蓝牙音频可靠性保障(如重传、资源管理)提供清晰视角。
2025-09-06 09:00:00
4377
10
原创 【udev用户空间设备管理】udev的组成
希望这篇博客能帮你彻底理解 udev 的工作原理。下次当你再插入一个U盘时,或许就能会心一笑,脑海里浮现出这位“设备管家”忙碌而有序的工作画面了。
2025-09-05 08:59:31
3711
6
原创 【Bluedroid】 A2DP Source 音频会话终止流程解析(btif_a2dp_source_end_session)
本文深入分析 Android Bluetooth 协议栈中 A2DP 音频会话终止的全流程。通过剖析 btif_a2dp_source_end_session() 核心函数及其关联调用链,揭示多线程协同、状态机驱动、硬件抽象层资源释放和编解码器清理的关键机制。流程涵盖从应用层指令下发到 HAL 层资源释放的完整路径,重点解析异步任务调度与同步资源清理的高效协同设计。
2025-09-04 09:00:00
4378
12
原创 密钥层次体系全解析:LTK, EDIV, RAND, IRK, CSRK 的生成、分发与应用场景
蓝牙密钥层次体系是保障设备安全通信的核心机制,LTK、EDIV、RAND、IRK、CSRK 各司其职,共同构建了从加密、身份验证到隐私保护的完整安全体系。掌握这些密钥的生成逻辑、分发流程和应用场景,不仅是面试必备知识点,也是实际开发中解决安全问题的基础。
2025-09-03 09:00:00
4070
8
原创 365 天技术创作手记:从一行代码到四万同行者的相遇
2023年8月30日的深夜,实验室里只有显示器的蓝光映在脸上,当我第23次按下Run按钮,Logcat终于显示出完整的服务UUID列表。那一刻,我知道这个困扰我一周的BLE服务发现问题终于解决了。而更让我没想到的是,这个深夜的调试成果,会成为我技术创作旅程的起点。就在那个瞬间,我点开了CSDN的编辑器——有些技术迷宫,值得为后来者留下一把带体温的钥匙。
2025-09-02 23:48:59
8909
37
原创 【C++ 基础】函数默认参数与重载匹配优先级:面试高频考点与真题解析
在C++编程中,函数重载和默认参数是两个非常重要的特性,它们让我们的代码更加灵活和简洁。然而,当这两个特性结合在一起时,会产生一些复杂的匹配规则和优先级问题。这些问题是C++面试中的高频考点,无论是校招还是社招,都可能会遇到相关的试题。
2025-09-02 09:00:00
5812
10
原创 【udev用户空间设备管理】sysfs文件系统与Linux设备模型
如果你用过ls /sys,可能会疑惑:这个目录里全是文件夹和奇怪的文件,既不能存文档,也不能装软件,到底有啥用?其实,sysfs和它背后的Linux 设备模型,是 Linux 管理硬件的 “核心大脑”—— 设备模型是 “硬件家谱”,把电脑里的 CPU、USB、硬盘按规则排好序;sysfs 是 “家谱的纸质版”,把这个家谱变成文件系统,让用户和程序能轻松 “查阅” 甚至 “修改” 硬件信息。
2025-09-01 09:00:00
7746
10
原创 【Bluedroid】A2DP Source 音频流暂停流程解析[5]:停止流程及资源管理机制(btif_a2dp_source_stop_audio_req)
本文深入剖析Android蓝牙协议栈中A2DP音频传输停止流程,涵盖从用户请求触发、工作线程调度、资源释放到性能统计的全链路实现。通过分析btif_a2dp_source_stop_audio_req到btif_a2dp_source_audio_tx_stop_event的代码执行路径,揭示多线程环境下的竞争规避策略、硬件抽象层(HAL)交互机制、资源释放原子性保障及性能指标收集等核心设计思想。流程涉及定时器管理、唤醒锁控制、UIPC通信等关键技术点。
2025-08-31 09:00:00
2230
12
原创 【udev用户空间设备管理】udev与devfs的区别
如果你用过老款 Linux 设备(比如基于 2.4 内核的路由器),可能遇到过这样的麻烦:今天插 U 盘是/dev/sdb1,明天重启后变成/dev/sdc1,导致挂载脚本报错;想让普通用户访问串口,改完/dev/ttyUSB0权限,下次拔插又恢复默认 —— 这些问题的根源,其实是早期设备管理工具devfs的 “先天不足”。
2025-08-30 09:00:00
2759
10
原创 蓝牙配对鉴权过程深度剖析:Just Works/Numeric Comparison/Passkey Entry/OOB 协议流程
当你新买的智能手表与手机配对时,是否遇到过这样的情况:有时只需在手机上点击 "确认" 即可完成配对,有时却需要在手表上输入手机显示的 6 位数字,而连接车载蓝牙时可能又需要输入固定密码?这些差异背后,是蓝牙配对鉴权机制在默默工作。蓝牙配对鉴权是设备间建立安全连接的核心环节,直接关系到数据传输的保密性和设备身份的真实性。
2025-08-29 09:00:00
2944
10
原创 【Bluedroid】A2dp Source播放流程源码分析(12):音频数据读取机制分析(btif_a2dp_source_read_callback)
本文聚焦Android 蓝牙 A2DP Source设备的音频数据读取核心逻辑,深入解析关键回调函数btif_a2dp_source_read_callback的功能实现,包括从 HAL(硬件抽象层,支持 HIDL/AIDL 两种传输方式)或 UIPC(用户空间进程间通信)获取音频数据的路径选择机制,以及数据下溢(Underflow)的监控与统计策略。
2025-08-28 09:00:00
2397
9
原创 金仓文档焕新上线:智能检索 + 场景化指南,让 KES 运维 / 开发效率翻倍!
你是否曾在浩如烟海的产品手册中迷失方向?是否为了一个关键参数翻遍十几页冗余说明?是否对时灵时不灵的搜索功能感到抓狂?甚至因为漫长的加载时间而失去耐心?我们懂你!这些曾困扰金仓用户的文档痛点,从现在起,正式成为历史!
2025-08-27 17:05:21
15431
26
原创 【C++基础】C++ 对象模型初探:虚函数表与多态的实现机制
在 C++ 的世界里,多态是面向对象编程的核心特性之一,它允许不同类型的对象对同一消息做出不同响应。而虚函数表(Virtual Table)和虚函数指针(Virtual Pointer)则是实现多态的底层基石。本文将从面试高频考点切入,结合历年真题解析,深入理解虚函数表的原理与多态的实现机制,助您在面试中脱颖而出。
2025-08-27 09:00:00
2551
9
蓝牙技术视频分发配置文件规范:蓝牙设备间视频流传输协议与编解码互操作性标准
2025-09-25
蓝牙技术领域:Bluetooth SIG指定编号及其相关规范与应用说明
2025-03-21
蓝牙音频/视频遥控配置文件(AVRCP)v1.6.3规范
2024-11-27
基于Air Kiss技术的小型低功耗设备网络接入方案解析
2024-11-16
蓝牙通信协议中AirSyncDebugger异常情况的详细解析与应用
2024-11-16
nrf51822硬件环境搭建与资料检索全解析
2024-11-16
低功耗蓝牙nRF51822 USB Dongle使用指南与开发资源
2024-11-16
Nordic nRF52832蓝牙开发环境配置指南与实践
2024-11-16
蓝牙v6.0核心技术规范
2024-11-11
微信硬件产品接入及能力定义指南V1.2
2024-11-03
代码随想录单调栈算法详解及其应用
2024-09-17
《代码随想录》贪心算法详解与实战应用
2024-09-17
代码随想录:全面解析二叉树理论与应用实例
2024-09-17
深入解析栈与队列的实现及其应用案例
2024-09-17
《代码随想录》双指针算法及其应用详解
2024-09-17
《代码随想录》字符串算法精华汇总
2024-09-17
代码随想录:哈希表的应用与优化
2024-09-17
《代码随想录》链表算法详解及实现
2024-09-17
代码随想录:深入解析数组及其常用算法
2024-09-17
《代码随想录》最新PDF全集整理发布
2024-09-17
nRF-Sniffer-BLE-UG-v4.1.0
2024-09-03
蓝牙前世今生的书籍的讲述
2024-09-02
LT码matlab仿真
2018-04-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人