浅谈多层分布式体系技术与应用(中间件)

理解多层分布式架构、剖析webservice、remoting技术 客户端调用时需要生成一个代理类   WCF的宿主程序: IIS、控制台程序、。。。   高层不应该依赖于底层,而是应该依赖于抽象;在高层与底层之间形成一个抽象层。 也就是说高层与底层之间的依赖是松散的,松散耦合。 契约式编程带来的意义:接口的意义。   如果我们采用类库的形式  它会给我们提供测试客户端。   服务是一组向客户端提供可用功能的端点(Endpoints)。而端 阅读详情
一、概述
传统的应用系统模式是“主机/终端”或“客户机/服务器”,客户机/服务器系统(Client/Server System)的结构是指把一个大型的计算机应用系统变为多个能互为独立的子系统,而服务器便是整个应用系统资源的存储与管理中心,多台客户机则各自处理相应的功能,共同实现完整的应用。随着Internet 的发展壮大,这些传统模式已经不能适应新的环境,于是就产生了新的分布式应用系统,即所谓的“浏览器/服务器”结构、“瘦客户机”模式。
在Client/Server结构模式中,客户端直接连接到数据库服务器,由二者分担业务处理,这样体系有以下的缺点:
1、Client与Server直接连接,安全性低。非法用户容易通过Client直接闯入中心数据库,造成数据损失;
2、Client程序肥大,并且随着业务规则的变化,需要随时更新Client端程序,大大增加维护量,造成维护工作困难;
3、每个Client都要直接连到数据库服务器,使服务器为每个 Client建立连接而消耗大量本就紧张的服务器资源;
4、大量的数据直接Client/Server传送,在业务高峰期容易造成网络流量暴增,网络阻塞。
Client/Server模式的这些先天不足,随着业务量的变化,出现越来越多的问题,我们有必要对这种两层体系进行改革,将业务处理与客户交互分开来,实现瘦客户/业务服务/数据服务的多层分布式应用体系结构。本文拟就多层分布式应用体系的有关问题进行探讨。
二、多层分布式应用体系
随着中间件与Web技术的发展,三层或多层分布式应用体系越来越流行。在这种体系结构中,客户机只存放表示层软件,应用逻辑包括事务处理、监控、信息排队、Web服务等采用专门的中间件服务器,后台是数据库。在多层分布式体系中,系统资源被统一管理和使用,用户可以通过网格门户(portal)透明地使用整个网络资源。
2.1 多层分布式应用体系介绍
2.1.1多层分布式体系主要层次
在多层体系中,各层次按照以下方式进行划分,实现明确分工:
瘦客户:提供简洁的人机交互界面,完成数据的输入/输出;
业务服务:完成业务逻辑,实现客户与数据库对话的桥梁。同时,在这一层中,还应实现分布式管理、负载均衡、Fail/Recover、安全隔离等;
数据服务:提供数据的存储服务。一般就是数据库系统。
2.1.2多层分布式体系主要特点
安全性:中间层隔离了客户直接对数据服务器的访问,保护了数据库的安全;
稳定性:对于要求24*7工作的业务系统,多层分布式体系提供了更可靠的稳定性:1、中间层缓冲Client与数据库的实际连接,使数据库的实际连接数量远小于Client应用数量。当然,连接数越少,我们的数据库系统就越稳定。2、Fail/Recover机制能够在一台服务器当机的情况下,透明地把客户端工作转移到其他具有同样业务功能的服务上。
易维护:由于业务逻辑在中间服务器,当业务规则变化后,客户端程序基本不做改动;
快速响应:通过负载均衡以及中间层缓存数据能力,可以提高对客户端的响应速度;
系统扩展灵活:基于多层分布体系,当业务增大时,可以在中间层部署更多的应用服务器,提高对客户端的响应,而所有变化对客户端透明。
2.2多层分布应用的开发
分布式多层体系的开发主要考虑三方面的技术,首先是开发环境,开发人员需要一种创建新组件、并将已有组件加以集成的开发环境。其次是应用程序的集成,开发人员需要集成各种应用程序,以创建出更强大的应用。第三是应用程序的配置,分布式多层体系的开发需要配置平台的支持,以便在用户剧增时能有效地扩展,并保持系统的稳定。
目前多层分布应用的开发,比较重要的有两种规范,既COM+和CORBA。其中COM+主要用于Windows 平台,CORBA则提供跨平台的能力。同时,随着分布式应用的发展,旧的硬件/软件平台的不断更新,跨硬件平台、网络环境、操作系统以及跨不同数据库的应用系统不断出现,使我们传统的开发工具越来越陷入尴尬境地,因此中间件应运而生。
2.2.1中间件简介
中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机服务器的操作系统之上,管理计算机资源和网络通信。我们能够这样理解,中间件也是一类软件,它的首要任务是实现应用与平台无关的互操作,其次能够合理的管理网络通信资源。按照IDC的分类方法,中间件可分为六类,第一类是终端仿真/屏幕转换中间件,第二类是数据库访问中间件,第三类是远程过程调用中间件,第四类是消息中间件,第五类是交易中间件,第六类是对象中间件。
2.2.2目前市场上主要中间件的比较
在此,我们比较五种中间件产品:BEA的Tuxedo,奥能的Goddess,东方通的T-Link/T-Easy,SilverStream,Sybase的Jaguar CTS。我们将他们分为三类:
(1)成熟的中间件产品,包括Tuxedo、Goddess 和T-Link/T-Easy。
Tuxedo、Goddess 和T-Link/T-Easy在消息中间件的基础上提出交易中间件的概念。交易中间件的作用是满足现代业务应用系统12条基本原则:完整性、安全性、可伸缩性、可用性、可管理性、互操作性、适应性、易开发性、经济性、快速的响应时间、数据的可分布性、易使用性。采用商业交易中间件带来以下好处:缩短产品投放市场所需时间、节省应用开发费用、减少系统运行开销、降低失败率、提高投资效率、简化应用集成、降低软件维护费用、高质量、保证技术革新。好的交易中间件具备成熟、方向、性能、功能、开放、简单六要素。T-Link/T-Eay、Tuxedo、Goddess都具备了以上功能;Goddess 在底层技术上和Tuxedo相似,但提供了比其它产品丰富的多的应用级支持,配置非常简单,并且是唯一提供C++接口方式的中间件产品,使得应用开发时间大大缩短。相比Tuxedo、Tuxedo,T-Link/T-Eay在功能、速度方面均存在较大差距,并且配置比较复杂。
(2)面向Web应用服务器的中间件SilverStream。
从整体概念上来看,它们以Java为基础,它们不止提供中间消息传递、事务管理,还在上层构建了一个应用服务器,同时还提供了开发平台。它主要用于雇员/供应商(客户)/群体的Web开放式应用系统,对于移动目前的综合业务系统来说,与完全基于Web的应用还有很大的差别。
(3)支撑数据库应用开发的中间件Juguar CTS。
Juguar CTS是由数据库厂商Sybase提供。由于Sybase有开发大型数据库Sybase以及开发工具PowerBuilder的经验,所以CTS对数据库尤其是Sybase自己的数据库有强大的支撑能力,同时,考虑过去PowerBuilder开发的Client/Server应用,当升级到 PowerBuilder 7.0 企业版以后,很容易的就能把他们转移到多层分布式平台上。总的来说,Juguar CTS(包括其开发套件)是一个提供快速多层应用的开发平台,特别是对PowerBuilder的程序员,在系统开放性方面有一定的局限性。
三、多层分布体系在移动公司综合业务平台中的应用
由于多层分布体系具有Client与数据库隔离,保证系统的安全可靠;扩容容易,有效的减少投资;完全的OOP设计,应用有很好的可维护性;负载均衡、Fial/Recover,完全解决客户/服务器系统因用户量增大造成数据库当机的现象,目前这一体系在移动公司综合业务平台中正得到广泛应用。针对各移动公司业务的多样性以及需求的不同,可构造一个跨服务器平台、跨中间件的综合业务应用系统。这一系统主要包括以下三个方面的模型:
3.1面向业务模型

该模型与基于客户/服务器的机制不同,将业务的表现与实现逻辑分开,这样更与现实世界的业务处理相同。因为前台的操作人员不需要对业务逻辑进行控制,而业务逻辑是由管理人员确定的,操作人员仅面向人机交互。其中包括三个层次:
①表示层。
该层为用户提供人机交互界面,所有的数据录入/显示操作都在此完成。当用户需要进行数据交换时,是不允许直接访问数据库服务器,而是通过业务逻辑层提供的Service Interface接口进行访问,这样保证了后台数据的安全性。同时实现了真正意义上的瘦客户。
②业务逻辑层。
该层负责对输入/输出的数据按照业务逻辑进行加工处理,并实现对数据库服务器的访问。从上图我们可以看到,该层对它的上级和下级分别提供了Servive Interface和DBAgent。
Service Interface接口用于向客户程序提供业务服务。当表示层录入数据后,通过该接口传递到本层。本层根据预先定义好的业务规则对数据进行分析处理,通过DBAgent访问数据库取得显示数据再根据业务规则进行加工,从Service Interface接口返回到表示层进行显示。
DBAgent(数据访问代理)接口用以实现对后台数据库的无关访问。在DBAgent内部,我们为不同的数据库提供了相同的接口引擎,屏蔽了与数据库相关的细节,也就是说,当后台数据库发生了变化,由于实现通过DBAgent进行数据库访问,因而我们的应用程序不需要做任何变动。例如,我们现在的综合业务平台系统使用的是Oracal大型数据库,以后随着业务的扩展需求,我们可能把话单单列出来,放到其他的数据库服务器中,以降低中心数据库服务器的负载。这时,从成本角度考虑,我们可能选用其他数据库,但我们不需要再投资购买应用软件的相应数据库版本。
③数据存储层。
即实际意义上的RDBMS。
采用以上的技术,我们就解决了客户/服务器模式中面临的最严峻问题:客户机增多-->数据库连接增多-->服务器不断扩容-->当机。在多层体系中,由于客户机不是直接访问数据库,而是通过业务逻辑服务层,因此我们可通过业务层有效的实现各连接公用数据库连接。也就是说,100个客户端同时在线,我们可能到数据库只有10个实际连接。
3.2对象体系模型

本应用系统中,我门使用的是完全的面向对象设计方法。把所有的元业务(即与其他业务互相独立)以及用户与计算机的人机界面都作为一个个单独的对象,挂接到相应的数据总线上,这样有以下几个优点:
①业务之间互不影响。
各业务对象之间通过标准接口规范定义实现松散耦合,由于某种原因导致其中某业务失败,而其他业务仍可照常工作。
②支持业务的热插拨。
业务对象可以从对象数据总线动态地加载/卸载。
③实现负载均衡。
同一业务对象可以在不同的物理计算机上运行多个副本。透过对象访问控制,可以把客户端界面对象的请求透明地分担到不同的计算机,实现负载均衡,降低单机的负载,从而降低对硬件要求。
④实现Fail/Recover。
由于实现同一对象在不同物理计算机上的实现,当一台应用服务器当机后,对象访问控制可以把界面对象的请求透明地转移到其他应用服务器,而不影响客户端的任何操作。
3.3协议层次模型

①应用服务层
主要运行业务对象,提供人机交互界面以及与数据库的交互。
②调用服务层
实现分布式对象之间的过程调用。通过这一层,可向应用服务层提供基于函数名称的调用,而所有与通信服务层有关细节都被屏蔽掉。
③通信服务层
主要指各类中间件产品或者基于TCP/IP的访问。由于应用层没有直接访问通讯层产品,而是由调用服务层进行服务,所以通讯层是选用什么类型的中间件产品或者自己基于TCP/IP构造通讯层都与应用程序无关,只需要调整调用服务层与通讯服务层的接口。

四、结束语:  随着基于Web的瘦客户机结构的发展, 基于多层分布体系的应用将会越来越广泛。而中间件作为分布体系应用的关键技术,以其独特的优势为各种分布式应用的开发注入了强大动力,极大地推动了应用系统集成的发展。



用Multisim和74192芯片复刻经典:手把手教你搭建篮球24秒违例计时器(附仿真文件) 本文详细介绍了如何使用Multisim仿真平台和74192芯片构建篮球24秒违例计时器,涵盖时序逻辑电路设计、核心器件选型、仿真环境搭建及调试技巧。通过分步指导,帮助读者掌握数字电路设计的关键技术,并附赠仿真文件供实践参考。 阅读详情

相关推荐

VQGAN实战:从文本到高清图像的保姆级生成教程(含PyTorch代码)

本文详细介绍了VQGAN(Vector Quantized Generative Adversarial Network)在文本到高清图像生成中的应用,提供了从环境配置到模型加载、文本编码及图像生成的完整PyTorch代码教程。通过实战案例和高级调优技巧,帮助开发者快速掌握VQGAN的核心技术,实现百万像素级的高清图像生成。

u8v9w0x1y的博客 649

PBntierBuilder 3.1开发视频教程(可看更多视频) New!

PBntierBuilder是Sybase推荐的PowerBuilder开发nTier/Web应用的最佳中间件平台(及开发框架,Sybase权威杂志Sybase World 2008年第四季可见到推介说明),基于PBntierBuilder 3.1来开发新的nTier/Web架构应用或迁移您的既有的C/S应用到nTier/Web架构下,不仅开发或迁移效率要比传统的开发方式高3...

weixin_33889245的博客 183

CANOE DIVA 工程怎样在具体服务前增加前置条件

然后会在CANoe的Test Module视窗中发现一个跟系统条件相关的Test Module模块,在该模块中有生成跟系统条件相关的CAPL 脚本。这里需要根据你的实际项目进行更改,diva工程加载到canoe的工程的时候,会同步加入你创建的cdd文件,这里示例的ABS_ESP 就是你的cdd的ECU命名,后面就是具体的前置条件服务。4、配置完成后,测试用例就会如下图Trace窗口所示,在每一次10 02请求之前都会调用CAPL Function的PreconditionCheck函数中定义的脚本。

weixin_45940007的博客 1963

读发布!设计与部署稳定的分布式系统(第2版)笔记29_控制层下

控制层

lyingSeven的博客 196

Alipay 支付唤起 h5 测试

测试地址 https://recharge.apps.oppomobile.com/recharge-center/recharge/?from=message try { //唤起客户端快捷参数 var data = {"requestType":"SafePay","fromAppUrlScheme":"alipays","dataString":"h5_ro...

六桥风月IT随笔 1万+

Ubuntu 20.04 LTS下5分钟搞定ONLYOFFICE协作空间社区版(Docker版保姆级教程)

本文提供了一份在Ubuntu 20.04 LTS系统上,通过Docker快速部署ONLYOFFICE协作空间社区版的保姆级教程。内容涵盖从系统准备、Docker环境搭建,到执行自动化安装脚本、完成Web初始化的全流程,并详细说明了部署后的安全配置、数据备份及基本运维要点,帮助用户高效构建私有、安全、可控的团队文档协作平台。

weixin_28826961的博客 261

一文读懂中间件

在码农的日常工作中, 经常会提到中间件,然而大家对中间件的理解并不一致,导致了一些不必要的分歧和误解。“中间件”一词被用来描述各种各样的软件产品,在不同文献中有着许多不同的中间件定义,包括操作系统(和/或网络)和应用程序之间的软件层,以及两个应用程序之间的“粘合剂”。它也被描述为一种重要的集成工具,或支持与分布式软件的模块化连接。一般而言中间件和框架的区别是,中间件是独立运行的用于处理某项专门业务的CS程序,会有配套的客户端和服务端,框架虽然也是处理某个专门业务的但是它不是独立程序,是寄宿在宿主程序进程内的

何哥的博客 2224

图的一些基本知识:图,邻居,度矩阵,邻接矩阵

目录前言图(graph)邻居(neighborhood)度矩阵(degree)邻接矩阵(adjacency)参考文献 前言       本文介绍了一些图论的基础知识,包括图的表示、邻接矩阵、度矩阵等(边不带权值的情况),本文中某些图片或者知识的参考/来源已列于本文最后。 图(graph)       图用G=(V, E)表示,V中元素为...

luzaijiaoxia0618的博客 6万+

论多层分布式结构系统的开发

论多层分布式结构系统的开发摘要:        2015年初,我所在的公司承担了某集团公司的移动信息化开放平台的建设工作。我在该项目中担任系统架构设计师的职务,主要负责设计平台系统架构和安全体系架构。该平台以移动信息化发展为契机,采用”平台+应用”的模式解决现有应用的集中移动化需求。平台整体的逻辑复杂,对系统的高可用和高扩展能力提出了较高的要求。本文以平台系统架构为例,讨论了多层分布式系统的开发。

精灵的眼泪 4137

智能能效管家:基于 ESP32 的智能插座设计与精细化功耗管理实现

针对传统插座无法远程控制、功耗监测缺失、能源浪费严重等问题,本文设计一款基于 ESP32 主控芯片的智能插座。该系统集成 WiFi 无线通信、交流功耗采集、继电器通断控制模块,实现四大核心功能。硬件采用模块化选型与安全接线设计,软件基于 Arduino-ESP32 框架开发,搭载 Mqtt 通信协议与功耗算法,可通过手机 / 云端实时管控设备,有效提升用电安全性与能源利用率。:ESP32;智能插座;功耗管理;远程控制;能耗监测。

weixin_42300449的博客 101

17、神经网络训练算法与高阶模糊Cohen - Grossberg神经网络稳定性分析

本文介绍了一种新的数据驱动算法用于神经网络训练,该算法继承三次样条权重函数的优点,具有简单架构和良好泛化性能,并通过并行机制显著提升训练速度。同时,研究了高阶模糊Cohen-Grossberg神经网络(HOFCGNN)在可变及无界延迟下的稳定性,利用M矩阵理论和向量Lyapunov函数方法,证明了系统平衡点的存在性、唯一性和全局指数稳定性。研究成果为神经网络的高效训练与稳定应用提供了理论支持和技术路径。

b9c0d的博客 147

web应用基础架构

1、web中间件 中间件是一类连接软件组件和应用的计算机软件,它包括一组服务。以便运行在一台或多台服务器上的多个软件通过网络进行交互。该技术所提供的互操作性,推动了一致分布式体系架构的演进,该架构通常用于支持并简化那些复杂的分布式应用程序,它包括web服务器、事务监控器和消息队列软件。 中间件(middleware)是基础软件的一大类,属于可复用软件的范畴。顾名思义,中间件处于操作系统软件与用户的...

行动、坚持。 1782

【ROS2】从yaml文件中读取参数配置

ROS2:从yaml中读取参数,到节点;使用C++演示参数的增、删、改、查、遍历、监听变化

郭老二 1284

浅谈多层分布式体系技术与应用(转载)

一、概述   传统的应用系统模式是“主机/终端”或“客户机/服务器”,客户机/服务器系统(Client/Server System)的结构是指把一个大型的计算机应用系统变为多个能互为独立的子系统,而服务器便是整个应用系统资源的存储与管理中心,多台客户机则各自处理相应的功能,共同实现完整的应用。随着Internet 的发展壮大,这些传统模式已经不能适应新的环境,于是就产生了新的分布式应用系统,即所谓...

weixin_33815613的博客 160

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

几种常见的架构模式

6.2.2 几种常见架构模式 《不是三维——软件项目的设计、开发与管理》从软件与三维实物的本质性不同出发研究软件生产方法论。第6章会从设计与开发的各个层面,抽象、总结并介绍目前实践中实用的技术方法。本节说的是几种常见架构模式。 AD:2013大数据全球技术峰会课程PPT下载 6.2.2 几种常见架构模式 前文讲过,在实践中,人们总结出了一些常用的软件系统结构高层模式,以供应用系统设...

weixin_30781107的博客 1432

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

通俗易懂的讲讲什么是中间件?

由此说使用中间件需要解决的第一个问题就是互通性,也就是相互间可以通信。在项目的架构和重构中,使用任何技术和架构的改变我们都需要谨慎斟酌和思考,因为任何技术的融λ和变化都可能人员、技术和成本的增加,中间件的技术般现在些互联网公司或者项目中使用比较多,如果你仅仅还只是一个初创司建议还是使用单体架构,最多加个缓存中间件即可,不要盲目迫求新或者所谓的高性能,而追求的背后一定是业务的驱动和项目的驱动,因为一旦追求就意味着你的学习成本,公司的人员结构以及服务器成本,维护和运维的成本都会加,所以需要谨忪择和考虑。

modi000的博客 7866

多层分布式系统

企业多层分布式应用架构     2000-07-19·   anony·yesky                         在信息产业高速发展的今天,企业间的竞争将更加激烈。随着规模的不断扩大和业务的不断更新,企业迫切需求完整的分布式解决方案,用于管理复杂的异构环境,实现不同硬件设备、软件系统、网络环境及数据库系统之间的完整集成。         背景介绍                

1888

分布式应用系统

客户机/服务器(C/S,Client/Server)模型是一种分布式系统结构,在该体系中,客户端通常是同最终用户交互的应用软件系统,而服务器由一组协作的过程构成,为客户端提供服务。客户机和服务器通常运行相同的微内核,一个客户机/服务器机制可以有多个客户端,或者多个服务器,或者兼而有之。客户机/服务器模式基于简单的请求/应答协议,即客户端向服务器提出信息处理的请求,服务器端接收到请求并将请求解译后,...

iteye_9666的博客 281

基于中间件的开发---中间件技术

    20 世纪 90 年代初,C/S 计算模式成为主流,将数据统一存储在数据服务器上,而有关的业务逻辑都在客户端实现。但是,这种两层结构的模式由于服务器依赖于特定的供应商,数据存取受到限制,再加上难以扩展到广域网或互联网等原因,极大地阻碍着计算机软件系统的发展。有人提出将客户端的业务逻辑独立出来,形成第三层。在这种三层结构中,客户端仅仅是处理图形用户界面,在设计和实现时需要开发的,仅是在应用服...

hu19930613的博客 1万+

08基于Stream的消息中间件绑定

一 Spring Cloud Stream的理解 1.1 Spring Cloud Stream概念 Spring Cloud Stream提供一种解耦的方式,将各个中间件的实现细节进行整合,对外提供统一的接口。应用通过Spring Cloud Stream插入的input(相当于消费者consumer,它是从队列中接收消息的)和output(相当于生产者producer,它是从队列中发送消息的)...

攻城老湿的博客 235

XML家族图谱(图)

google_ad_client = "pub-8800625213955058";/* 336x280, 创建于 07-11-21 */google_ad_slot = "0989131976";google_ad_width = 336;google_ad_height = 280;//<script type="text/java

java专栏 1004

中间件的分类和作用

要说清这个问题我们用一个生活中的实例来比喻。把分布式系统看作北京市区的交通系统,网络看作市区马路,通过交通工具(汽车)实现通信,每分钟将有几万辆车在马路上行驶,如果没有相应的交通设施和管理规划,北京市将会乱成一团,发生各种交通事故。

Jackson-huang的专栏 1万+

什么是中间件?

-  作者:浪花 --  发布时间:2005-1-10 23:53:00 --  什么是中间件? 一、为什么要中间件 计 算机技术迅速发展。从硬件技术看,CPU速度越来越高,处理能力越来越强;从软件技术看,应用程序的规模不断扩大,特别是Internet及WWW的出 现,使计

静水深流 7万+

中间件技术

中间件(middleware)是基础软件的一大类,属于可复用软件的范畴。顾名思义,中间件处在操作系统、网络和数据库之上,应用软件的下层(如图 15-1 所示),也有人认为它应该属于操作系统中的一部分。 中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。 首先,中间件屏蔽了底层操作系统的复杂...

程序员杂谈 2401
上一篇: 中间件与Web Services
下一篇: Web Services and Workflow
LP2001lp
博客等级 码龄22年 4粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值