独家放送:阿里内部共享彩印图文版《Elasticsearch实战》文档,堪称精品

SpringBoot+Vue+MySQL 高校学科竞赛平台 完整可运行版(源码+文档) 本项目基于SpringBoot+Vue+MySQL构建高校学科竞赛管理平台,覆盖学生、教师、领队教师、管理员四大角色,实现竞赛发布、报名、刷题、评分、公示等全流程闭环管理。系统架构清晰,技术主流,配套完整源码、数据库脚本、万字论文、开题报告、答辩PPT及部署文档,支持一键运行,适用于毕业设计、课程设计及院系二次开发,真正实现“开箱即用”。 阅读详情

众所周知,ELK是包含但不限于Elasticsearch(简称es)、 Logstash、Kbana三个开源软件的组成的一个整体。这三个软件合成ELK,是用于数据抽取(Logstash)、搜索分析(Elasticsearch)、数据展现(Kibana)的一整套解决方案,所以也称作ELK stack。

Elasticsearch是ELK的核心,偶然从朋友那里获得阿里内部的彩印图文版<Elasticsearch实战>文档,从es底层对文档、索引、搜索、聚合、集群进行介绍,从搜索和聚合分析实例来展现es的魅力,而Logstash从内部如何采集数据到指定地方来展现它数据采集的功能,Kibana则从数据绘图展现数据可视化的功能!

ee7d66a5dd4bca077823fff0aa2e89d4.jpeg

注意:今文章所提及的 彩印图文版<Elasticsearch实战>文档,若需原件分享学习,文末即可入手!!!

<Elasticsearch实战>文档 所面向的学习人员

  • Java工程师:深入研究es,使得java工程师向搜索工程师迈进。
  • 运维工程师:搭建整体elk集群。不需写代码,仅需配置,即可收集服务器指标、日志文件、数据库数据,并在前端华丽展现。
  • 数据分析人员:不需写代码,仅需配置kibana图表,即可完成数据可视化工作,得到想要的数据图表。
  • 大厂架构师:完成数据中台的搭建。对公司数据流的处理得心应手,对接本公司大数据业务。

<Elasticsearch实战>文档 全内容

01 内容简介

  • 1.1 文档内容
  • 1.2 面向人员
  • 1.3 笔记优势
  • 1.4 学习路径

02 Elastic Stack简介

  • 2.1 简介
  • 2.2 特色
  • 2.3 组件介绍
a7b8f5b741e52719084dfbc0446630ab.jpeg

Elastic Stack简介

03 Elasticsearch是什么

  • 3.1 搜索是什么
  • 3.2 数据库做搜索弊端
  • 3.3 全文检索、倒排索引和Lucene
  • 3.4 什么是Elasticsearch
  • 3.5 Elasticsearch核心概念
1c98cf8f4ae8924ad782e722f9848cd7.jpeg

Elasticsearch是什么

04 Elasticsearch相关软件安装

  • 4.1 Windows安装elasticsearch
  • 4.2 Windows安装kibana
  • 4.3 Windows安装postman
  • 4.4 Windows安装head插件
d1b4b038fc661623a68e1b7cba91f574.jpeg

Elasticsearch相关软件安装

05 es快速入门

  • 5.1 文档(document)的数据格式
  • 5.2 图书网站商品管理案例:背景介绍
  • 5.3 简单的集群管理
  • 5.4 商品的CRUD操作(document CRUD操作)
dc9daadfc249604a3395119ed19cf0df.jpeg

es快速入门

06 文档document入门

  • 6.1 默认自带字段解析
  • 6.2 生成文档id
  • 6.3 _source字段
  • 6.4 文档的替换与删除
  • 6.5 局部替换partial update
  • 6.6 使用脚本更新
  • 6.7 图解es的并发问题
  • 6.8 图解悲观锁与乐观锁机制
  • 6.9 图解es内部基于_version乐观锁控制
  • 6.10 演示客户端程序基于_version并发操作流程
  • 6.11 演示自己手动控制版本号external version
  • 6.12 更新时retry_on_conflict参数
  • 6.13 批量查询mget
2edb3d322b55e2a4fe00de7fecc8ef66.jpeg

文档document入门

07 Java api实现文档管理

  • 7.1 es技术特点
  • 7.2 java客户端简单获取数据
  • 7.3 结合spring-boot-test测试文档查询
  • 7.4 结合spring-boot-test测试文档新增
  • 7.5 结合spring-boot-test测试文档修改
  • 7.6 结合spring-boot-test测试文档删除
  • 7.7 结合spring-boot-test测试文档bulk
916f1285685b105f5f13d80b779eaf22.jpeg

Java api实现文档管理

08 图解es内部机制

  • 8.1 图解es分布式基础
  • 8.2 图解分片shard、副本replica机制
  • 8.3 图解单node环境下创建index是什么样子的
  • 8.4 图解2个node环境下replica shard是如何分配的
  • 8.5 图解横向扩容
  • 8.6 图解es容错机制master选举,replica容错,数据恢复
821a6568feabbd7cbdeba39353b0b6cc.jpeg

图解es内部机制

09 图解文档存储机制

  • 9.1 数据路由
  • 9.2 图解文档增删改的内部机制
  • 9.3 图解文档的查询内部机制
  • 9.4 bulk api奇特的json格式
9fe7829efb27936de099550ecc988d91.jpeg

图解文档存储机制

10 Mapping映射入门

  • 10.1 什么是mapping映射
  • 10.2 精确匹配与全文搜索的对比分析
  • 10.3 全文检索下倒排索引核心原理快速揭秘
  • 10.4 分词器analyzer
  • 10.5 query string根据字段分词策略
  • 10.6 mapping回顾总结
  • 10.7 mapping的核心数据类型以及dynamic mapping
  • 10.8 手动管理mapping
  • 10.9 复杂数据类型
aba081f9bfc3899c8683907eba214ae7.jpeg

Mapping映射入门

11 索引Index入门

  • 11.1 索引管理
  • 11.2 定制分词器
  • 11.3 type底层结构及弃用原因
  • 11.4 定制dynamic mapping
  • 11.5 零停机重建索引
46f56037573c2c832ec4c3d98fa82a33.jpeg

索引Index入门

12 中文分词器IK分词器

  • 12.1 lk分词器安装使用
  • 12.2 ik配置文件
  • 12.3 使用mysql热更新词库
538694b51eb6236eb94c4d649fb81f85.jpeg

中文分词器IK分词器

13 java api实现索引管理

14 search搜索入门

  • 14.1 搜索语法入门
  • 14.2 multi-index多索引搜索
  • 14.3 分页搜索
  • 14.4 query string基础语法
  • 14.5 query DSL入门
  • 14.6 full-text search全文检索
  • 14.7 DSL语法练习
  • 14.8 Filter
  • 14.9 定位错误语法
  • 14.10 定制排序规则
  • 14.11 Text字段排序问题
76f9097257e4cc301f818fae98451ba4.jpeg

search搜索入门

15 java api实现搜索

16 评分机制详解

  • 16.1 评分机制TFUDF
  • 16.2 Doc value16.3. query phase
  • 16.4 fetch phase
  • 16.5 搜索参数小总结
ed2dcc176832db3a471f7bc190b8b5f4.jpeg

评分机制详解

17 聚合入门

  • 17.1 聚合示例
  • 17.2 两个核心概念: bucket和metric
  • 17.3 电视案例
5abafd30d9d933b1aaba2ad27faa891d.jpeg

聚合入门

18 java api实现聚合

19 es7 sql新特性

  • 19.1 快速入
  • 19.2 启动方式
  • 19.3 显示方式
  • 19.4 sql翻译
  • 19.5 与其他DSL结合
  • 19.6 java 代码实现sql功能
025159bd82b35358cb7eb6d84f0b34df.jpeg

es7 sql新特性

20 Logstash学习

  • 20.1 Logstash基本语法组成
  • 20.2 Logstash输入插件( input)
  • 20.3 Logstash过滤器插件(Filter)
  • 20.4 Logstash输出插件(output)
  • 20.5 综合案例
88c5d3e0c625dfbd942de2c4e6426707.jpeg

Logstash学习

21 kibana学习

  • 21.1 基本查询
  • 21.2 可视化
  • 21.3 仪表盘
  • 21.4 使用模板数据指导绘图
  • 21.5 其他功能

22 集群部署

23 项目实战

  • 23.1 项目一:ELK用于日志分析
  • 23.2 项目二:学成在线站内搜索模块
27f2c542e354265d379fc76bc8dce262.jpeg

项目实战

以上便是这阿里内部的图文彩印版<Elasticsearch实战>文档全内容,篇幅有限大致皆以图片展示,但都可提供源文件进行学习,点击文末小卡片即可!!

此外,我还整理了一本<Elasticsearch权威指南(中文版)>+精简手写版<ElasticSearch学习笔记>,都是可参考深入学习ES的笔记,帮助迅速入门学习。

Elasticsearch权威指南(中文版)

b00b39c59bc09be1f711a1ecb58781da.jpeg
  • 入门
  • 分布式集群
  • 数据
  • 分布式增删改查
  • 搜索
  • 映e善第V
  • 结构化查询
  • 排序
  • 分布式搜索
  • 索引管理深入分片
  • 结构化搜索
  • 全文搜索

部分内容:

90928948a1d792e9ef984da49bf67ee8.jpeg

Elasticsearch权威指南(中文版)

191966fd5e7cdf9371c588cb4fc445ee.jpeg

Elasticsearch权威指南(中文版)

手写精简版<ElasticSearch学习笔记>

  • 介绍
  • ES概述
  • ES的安装
  • ES的基本操作(重点)
  • Java操作ES
  • ES的各种查询API

部分内容:

8db209f03770d820a1dd685ef3a550e6.jpeg

手写精简版<ElasticSearch学习笔记>

d73a9ffd050cd1731f63dd4c284963dc.jpeg

OK,今天关于 ElasticSearch 咱就唠嗑到这,以上所总结的&nbsp;ES 的学习笔记:

  • 图文彩印版<Elasticsearch实战>文档
  • Elasticsearch权威指南(中文版)
  • 手写精简版<ElasticSearch学习笔记>

如果你觉得还不错,需要源文件参考学习一下,小编都有整理,分享便可!!

但请关注一下分享获取方式:点赞!!点赞!!点赞!!点击文末小卡片即可入手!

深入解析ST MC SDK(WorkBench)工程结构:从零搭建FOC电机控制项目 本文深入解析了ST MC SDK(WorkBench)工程结构,详细介绍了如何从零搭建FOC电机控制项目。通过ST MC SDK和WorkBench工具链,开发者可以快速配置电机类型、控制策略等参数,生成完整的FOC控制工程。文章还拆解了工程结构中的核心控制模块、HAL硬件抽象层、芯片系统初始化和电机控制算法库,并提供了无传感器FOC实战技巧和常见问题排查指南,帮助开发者高效掌握STM32F407ZGT6开发板上的FOC电机控制技术。 阅读详情

相关推荐

Index-TTS-1.5:多模态语音合成的技术演进与商业落地实践

本文深入探讨了Index-TTS-1.5在多模态语音合成领域的技术演进与商业落地。该模型基于GPT风格的自回归Transformer架构,通过优化条件编码器和引入字符-拼音混合建模,显著提升了语音生成的稳定性、精准度和真实感,实现了高质量的零样本语音克隆。文章还详细介绍了其云端体验、本地WebUI部署及ComfyUI集成等实战路径,并分析了其在虚拟数字人、个性化内容创作等商业场景中的应用潜力与挑战。

weixin_29098367的博客 403

InnoDB 内存结构总览:Change Buffer、AHI 与 Log Buffer

本文系统梳理InnoDB内存结构中的ChangeBuffer、Adaptive Hash Index(AHI)与LogBuffer。ChangeBuffer缓存二级索引页不在内存时的变更,减少随机IO,仅在页加载时合并;聚簇索引修改立即执行,因数据本身不可延后。AHI基于高频等值查询自动构建哈希索引,加速定位,仅支持等值操作。LogBuffer为redo log内存缓冲,配合磁盘日志实现崩溃恢复。三者均服务于性能优化,其中ChangeBuffer与AHI共享BufferPool空间,而LogBuffer独立

bksczm的博客 301

【rt-thread实战解析】从零到一:基于STM32与LAN8720A的以太网驱动配置全流程

本文详细解析了在RT-Thread操作系统上为STM32F407配置LAN8720A以太网驱动的全流程。从硬件连接自查、CubeMX工程创建、PHY复位函数编写,到RT-Thread工程配置、LwIP协议栈集成,最后进行实际上电测试与网络调试,手把手指导开发者避开常见陷阱,实现稳定的以太网连接。

m2n3b4v5c6的博客 528

第三篇 第 6 课

前置:第三篇第 1 课(stdx 引入),第二篇第 1 课(std.regex)。环境:仓颉 SDK 1.2.0。本文所有代码与输出均逐行实测。

weixin_41618057的博客 522

Python自动化:3分钟搞定微信收藏链接批量导出到TXT(附完整代码)

本文介绍如何使用Python自动化工具在3分钟内将微信收藏链接批量导出到TXT文件。通过模拟人类操作和OCR技术,脚本高效处理大量链接,显著提升工作效率,并附有完整代码和实战避坑指南。

weixin_29062671的博客 631

Codex CLI 的多模型切换实战:如何在中转 API 环境下灵活选择最佳模型

本文详细介绍了在Codex CLI中实现多模型切换的实战技巧,重点解析了如何在中转API环境下灵活选择最佳AI模型。通过配置Node.js环境和智能路由策略,开发者可以根据任务类型、编程语言和成本考量,在GPT-5、Claude和DeepSeek等模型间高效切换,提升代码生成、审查和优化的效率。

weixin_29291185的博客 837

信创环境下PageOffice文档控件适配与实践

信创适配做到文档控件这一层,拼的已经不是"有没有国产版本",而是同一个功能在两类终端上是否真的等价。等价的标准很具体:同一次点击能得到同样的结果,同一份公文能得到同样的版式,同一个项目不需要维护两套代码。这背后是三件并不轻松的工作:服务端用一套接口同时支撑两类终端,客户端把两种系统与四种芯片的安装包分发清楚,文档内核层由产品侧跟着 WPS 的版本走。浏览器这一层的压力,则被收进了产品自己的窗口里——升级节奏由产品掌握,不再交给运气。

zi_wu_xian的专栏 328

【异常】OpenClaw 上下文溢出问题(100% context used 309.9k/200k`)排查与解决

摘要:OpenClaw 运行出现"100% context used 309.9k/200k"报错,表示上下文窗口超出200k Token限制。解决方法包括:1) 重启服务或新建会话清空缓存;2) 修改配置文件提升context_window值;3) 长期优化如限制历史对话轮数、分批处理长文本。该问题通常由输入过长或多轮对话累积导致,需控制单次输入量在阈值内。

奶爸的编程之路,也就一周冷个三天 3239

V8 机制、手写核心函数与 TypeScript 类型体操

或固定初始化(如数组先定长、对象先给全字段)保持类型与形状稳定;这些都比"换框架"更基础。只能处理纯数据(丢函数、Date、RegExp、循环引用报错)。生产级深拷贝要处理:原始值短路、循环引用、V8(Chrome / Node 的 JS 引擎)不是"解释一行跑一行"那么简单,它用。图:V8 执行流程——解释执行 + 热点优化,优化失败会 Deopt 回退。JS 内存自动管理,但"自动"不等于"不会漏"。是"固定间隔最多执行一次"。手写 Promise 是"懂异步"的试金石。是"停下后才执行最后一次",

qq_38468358的博客 351

泰凌微8258入门教程 环境篇④——开发板+烧录器 8258mesh新手套件购买

工欲善其事,必先利其器。 淘宝链接:https://item.taobao.com/item.htm?

4130

Python控制Keysight DAQ973A/DAQ970A实现数据采集

本文介绍了如何通过编程实现Keysight DAQ973A数据采集系统的自动化温度测量。首先,通过GPIB线将PC与仪器连接,并使用热电耦测量线连接被测装置。接着,通过查阅Keysight官网提供的编程手册,获取了实现温度测量所需的SCPI指令。然后,使用pyvisa库编写代码,与仪器进行交互,发送SCPI指令并读取测量结果。代码中整合了配置和查询指令,并将测量结果转换为浮点数格式。最后,将整个流程封装为命令行工具,用户可以通过配置文件设置参数,并执行自动化测试,测试结果将保存为CSV文件。整个过程实现了温

xgh1951的博客 1889

【从零理解 Spring AI · 12】MCP 的两种角色:做客户端还是做服务端

上一篇讲了 MCP 的概念:标准协议、三大角色、M+N 替代 M×N。

nice_lcj520的博客 557

YOLO11改进-注意力-引入级联组注意力机制(Cascaded Group Attention, CGA)

输入特征拆分:输入特征进入 CGA 模块后,被均匀拆分为个部分,每个部分作为一个注意力头的输入,这样每个头关注输入特征的不同部分,实现特征的并行处理,同时为提高注意力多样性奠定基础。注意力头计算单元:每个注意力头包含三个线性投影层、、用于将输入特征映射到不同子空间,以及计算自注意力的单元。在计算过程中,通过注意力头之间的级联操作,前一个头的输出会累加到下一个头的输入上,实现特征的逐步细化。

qq_64693987的博客 2491

Java 集合容器高频面试题全解:HashMap 树化阈值、1.7 死循环与 ConcurrentHashMap 演进(2026 招聘 JD 真题复盘)

HashMap 树化阈值 8 的泊松分布依据、退化阈值 6 的防抖设计、JDK 1.7 头插成环死循环的排查与修复、1.8 尾插后为何仍线程不安全、ConcurrentHashMap 放弃分段锁的原因与 ForwardingNode 协作扩容、computeIfAbsent 死锁陷阱、大集合找重复的场景题选型,附三层追问链自测。题目来源为 38 期公开招聘 JD 样本与字节、拼多多、建行、美团、快手公开面经。

蒙眼过河 421

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

spdlog 同步日志库使用详解

spdlog是一个轻量级 C++ 日志库,支持同步日志、异步日志、多线程日志、日志文件轮转和自定义日志格式。对于嵌入式 Linux 应用开发,我建议先使用。它可以帮我们完成:日志级别过滤。时间戳和线程 ID 输出。日志格式化。终端和文件输出。多线程安全写入。日志文件按大小或时间轮转。我们不需要自己实现互斥锁、文件写入、日志格式化和轮转等底层功能。

zengjiajun2006的博客 1121

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Java 多态 学习笔记

多态是面向对象编程的重要特性,指同一操作作用于不同对象时产生不同行为。其核心在于“父类引用指向子类对象”,结合方法重写实现运行时动态绑定。多态使代码更灵活、可扩展,如用Person p = new Student();统一处理各类人员注册,无需修改调用逻辑。但多态无法直接调用子类特有方法,需通过instanceof判断并强制转换。编译时看左边(类型),运行时看右边(实际对象),实现解耦与维护便利。

AA_AA114514的博客 368

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

JavaSE通关手册:数据类型与变量

代码无需额外处理,编译时编译器自动完成转换。

xys_678的博客 231

IDEA 简介:从零认识 IntelliJ IDEA

IDEA 全称,是由 JetBrains 公司开发的一款主流 Java 集成开发环境(IDE)。它集代码编辑、编译、调试、测试、版本控制、构建管理等功能于一体,被大量 Java 开发者视为日常开发的首选工具。所谓 IDE(Integrated Development Environment,集成开发环境),就是把写代码所需的各类工具整合到同一个界面中。相比只用文本编辑器加命令行编译,IDE 能显著减少重复操作,让开发者把精力集中在业务逻辑上。

ztI10的博客 176

Java实现批量线段相交检测(跨积判定+扫描线优化与踩坑复盘)

【代码】Java实现批量线段相交检测(跨积判定+扫描线优化与踩坑复盘)

m0_64476639的博客 341

动态代理两大流派:JDK 代理与子类代理

业务类想加日志,最直白的写法是侵入式修改: 问题很明显:每个方法都要改一遍,改一个业务要动十处。代理模式的解法是:调用方不直接依赖 ,而是依赖一个代理对象。代理对象长得跟目标一模一样,调用它 → 代理先执行增强逻辑 → 再转调真实对象。 关键在于:代理对象的类型是哪来的?这就是"动态"二字的含义:代理类在运行时才诞生。两个角色: 承载增强逻辑, 负责生成代理类。 组装代理并调用: 输出: 业务代码 一行没动,增强逻辑全在 里。这就是 AOP 的味道。 内部四步: 第 2 步 内部:先查 (同一个接口

Android的专栏 571

c++ explicit关键字详解

explicit。

拒绝AI文,努力在AI时代写出感动人心的好文章 166

TRingBuffer两端都能增删(快递站版)

TRingBuffer 是一个支持两端增删、下标访问且容量动态增长的环形双端队列。它通过无符号索引的永不归零设计,利用减法自动模运算实现空满判断与元素计数,避免了传统环形缓冲浪费格子的问题。内部以票号(索引)标记首尾,扩容时重排元素为连续存储,保证 O(1) 操作与高缓存效率。虽不线程安全,但其高效性使其成为游戏开发中事件队列、命令缓冲等场景的理想选择。

u013768914的博客 312

Teamcenter Java SOA 开发:连接、查询与保存

本文介绍如何通过 Java 调用 Teamcenter SOA 接口实现外部系统对接,涵盖连接登录、查询保存等核心操作。以最小闭环示例展示 Connection、Service、ModelObject 等关键组件的使用,强调错误处理与事务管理要点。梳理了 DataManagement、Query、File Management 等 API 模块分工,并结合“工作移交WebService”案例,说明幂等性设计与流程状态返回的重要性。适用于 Web 门户、ERP 集成等场景,建议批量操作用 bulk 接口优化性

软件工程师文艺 254

Mac上装了最新版本的Android Studio,但是没找到jdk的设置选项也没找到jbr的目录

新版Android Studio(2025.3.1+)因三项变更导致常见问题:一、JDK设置移至“DaemonJVM criteria”,新项目默认自动探测或下载JDK;二、JBR目录改名为带版本号的jbr-21等,需进入.app/Contents/查看,或通过About窗口确认运行时;三、命令行缺adb因platform-tools未加入PATH,需在SDK Manager中勾选并配置~/.zshrc中的ANDROID_HOME及PATH。重装或清理残留可解决缺失问题,切勿手动设JAVA_HOME或安装冲

Programming is a highly artistic endeavor 383

Java Arrays.asList 常见坑详解|UnsupportedOperationException、数组联动、基本类型 bug

解析 Arrays.asList 常见开发陷阱,演示 UnsupportedOperationException、底层数组引用共享、基本类型数组问题,区分 Arrays 内部 ArrayList 与 java.util.ArrayList,给出数组转 List 的各种场景正确代码。

weixin_42617033的博客 500

建造者模式,就是“点套餐”而不是“背配方”

建造者模式如同点套餐:无需记住复杂配方,只需一步步选择配置,最后build()交付完整对象。它将复杂对象的构造过程解耦,通过链式调用实现清晰、灵活、可读性强的构建方式,广泛应用于奶茶点单、电脑组装、盖房建屋及Spring Boot等场景,有效避免参数爆炸与语义模糊问题。

weixin_51288065的博客 265
上一篇: 顶级指南降临:揭秘“Java高分指南(25专题)”,打破面试困局,迎接成功曙光
下一篇: 技术大礼包:30W字100+题《Java高级面试指南》200页解析,不容错过
Java技术那些事儿
博客等级 码龄5年 2306粉丝 2584原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值