ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:29.34KB ,
资源ID:16619469      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-16619469.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(ETL面试题.docx)为本站会员(b****6)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

ETL面试题.docx

1、ETL面试题盛年不重来,一日难再晨。及时宜自勉,岁月不待人。1. 什么是逻辑数据映射?它对ETL项目组的作用是什么?答:逻辑数据映射(Logical Data Map)用来描述源系统的数据定义、目标数据仓库的模型以及将源系统的数据转换到数据仓库中需要做操作和处理方式的说明文档,通常以表格或Excel的格式保存如下的信息:目标表名:目标列名:目标表类型:注明是事实表、维度表或支架维度表。SCD类型:对于维度表而言。源数据库名:源数据库的实例名,或者连接字符串。源表名:源列名:转换方法:需要对源数据做的操作,如Sum(amount)等。逻辑数据映射应该贯穿数据迁移项目的始终,在其中说明了数据迁移中

2、的ETL策略。在进行物理数据映射前进行逻辑数据映射对ETL项目组是重要的,它起着元数据的作用。项目中最好选择能生成逻辑数据映射的数据迁移工具。2.在数据仓库项目中,数据探索阶段的主要目的是什么?答:在逻辑数据映射进行之前,需要首先对所有的源系统进行分析。对源系统的分析通常包括两个阶段,一个是数据探索阶段(Data Discovery Phase),另一个是异常数据检测阶段。数据探索阶段包括以下内容:1)收集所有的源系统的文档、数据字典等内容。2)收集源系统的使用情况,如谁在用、每天多少人用、占多少存储空间等内容。3)判断出数据的起始来源(System-of-Record)。4)通过数据概况(D

3、ata Profiling)来对源系统的数据关系进行分析。数据探索阶段的主要目的是理解源系统的情况,为后续的数据建模和逻辑数据映射打下坚实的基础。3.如何确定起始来源数据?答:这个问题的关键是理解什么是System-of-Record。System-of-Record和数据仓库领域内的其他很多概念一样,不同的人对它有不同的定义。在Kimball的体系中,System-of-Record是指最初产生数据的地方,即数据的起始来源。在较大的企业内,数据会被冗余的保存在不同的地方,在数据的迁移过程中,会出现修改、清洗等操作,导致与数据的起始来源产生不同。起始来源数据对数据仓库的建立有着非常重要的作用,

4、尤其是对产生一致性维度来说。我们从起始来源数据的越下游开始建立数据仓库,我们遇到垃圾数据的风险就会越大。4.在ETL过程中四个基本的过程分别是什么?答:Kimball数据仓库构建方法中,ETL的过程和传统的实现方法有一些不同,主要分为四个阶段,分别是抽取(extract)、清洗(clean)、一致性处理(comform)和交付(delivery),简称为ECCD。1)抽取阶段的主要任务是:读取源系统的数据模型。连接并访问源系统的数据。变化数据捕获。抽取数据到数据准备区。2)清洗阶段的主要任务是:清洗并增补列的属性。清洗并增补数据结构。清洗并增补数据规则。增补复杂的业务规则。建立元数据库描述数据

5、质量。将清洗后的数据保存到数据准备区。3)一致性处理阶段的主要任务是:一致性处理业务标签,即维度表中的描述属性。一致性处理业务度量及性能指标,通常是事实表中的事实。去除重复数据。国际化处理。将一致性处理后的数据保存到数据准备区。4)交付阶段的主要任务是:加载星型的和经过雪花处理的维度表数据。产生日期维度。加载退化维度。加载子维度。加载1、2、3型的缓慢变化维度。处理迟到的维度和迟到的事实。加载多值维度。加载有复杂层级结构的维度。加载文本事实到维度表。处理事实表的代理键。加载三个基本类型的事实表数据。加载和更新聚集。将处理好的数据加载到数据仓库。从这个任务列表中可以看出,ETL的过程和数据仓库建

6、模的过程结合的非常紧密。换句话说,ETL系统的设计应该和目标表的设计同时开始。通常来说,数据仓库架构师和ETL系统设计师是同一个人。5.在数据准备区中允许使用的数据结构有哪些?各有什么优缺点?答:1)固定格式的文本文件。(Flat File)Flat File指的是一种保存在系统上的一种文本文件格式,它以类似数据库的表的方式用行和列来保存数据。这种文件格式经常用来进行数据交换。用于保存数据不太合适。2)XML数据集。多用于数据交换,用户保存数据不太合适。3)关系数据库的表。保存数据的较理想选择。4)独立的数据库表。独立的数据库表一般指建立的表和其他表没有外键约束关系。这样的表多用于数据处理。5

7、)三范式或者关系型模型。6)非关系型数据源。非关系型数据源一般包括COBOL copy books、VSAM文件、Flat文件、Spreadsheets等。7)维度模型。8)原子事实表和聚集事实表。9)代理键查找表。6.简述ETL过程中哪个步骤应该出于安全的考虑将数据写到磁盘上?答:Staging的意思就是将数据写到磁盘上。出于安全及ETL能方便重新开始,在数据准备区(Staging Area)中的每个步骤中都应该将数据写到磁盘上,即生成文本文件或者将建立关系表保存数据,而不应该以数据不落地方式直接进行ETL。例如,在数据抽取阶段,我们需要连接到源系统,为了对源系统的影响尽量小,我们需要将抽取

8、的数据保存成文本文件或者放入数据准备区的表中,这样,当ETL过程出现错误而失败时,我们就可以从这些文本文件开始ETL,而不需要再次影响源系统。7.简述异构数据源中的数据抽取技术。答:在数据仓库项目中,需要抽取的数据经常来自不同的数据源,它们的逻辑结构和物理结构都可能不同,即称之为异构数据源。在对异构数据源进行整合抽取时,我们需要做的事情依次是标识出所有的源系统,对源系统进行概况分析,定义数据匹配逻辑,建立筛选规则,生成一致性维度。对于源数据的操作系统平台和数据平台各不相同的情况,我们需要根据实际情况来确定如何进行数据抽取,通常的方法有建立ODBC连接、定义接口文件、建立DBLINK等方法。8.

9、从ERP源系统中抽取数据最好的方法是什么?答:ERP系统的产生是为了解决企业内异构数据的整合。这个问题也是数据仓库系统面临的主要问题。ERP的解决方案是将企业内的各个应用(包括销售、会计、人力资源、库存和产品等)建立在相同的平台和相同的应用框架下,即在应用操作层将企业内的数据进行了一致性处理。而数据仓库是在应用操作层之上建立一致性的规则并进行一致性处理。目前比较流行的ERP系统有SAP、PeopleSoft、Oracle、Baan和J.D.EDwards(大部分没接触过)。如果企业内只有一套ERP系统,那么数据就已经是一致的了,为数据抽取提供了方便。如果企业内除了ERP外还有其他系统,则数据抽

10、取会变得复杂。因为目前的ERP系统的数据模型都非常复杂,可能有几百几千个表,并且较难理解。直接在ERP系统上建立数据捕获和抽取是非常复杂的。最好的办法是购买能针对ERP系统数据抽取提供功能的ETL工具,将ERP内部的复杂性留给ETL厂商处理。9.简述直接连接数据库和使用ODBC连接数据库进行通讯的优缺点。答:通常连接数据库的方式分为两类,一类是直接连接,另一类是通过ODBC连接。直接连接的方式主要是通过COBOL、PL/SQL、Transact-SQL等方式连接数据库。这种方式的优点是运行性能高,可以使用DBMS提供的一些特殊功能。缺点是通用性差。ODBC是为windows应用程序访问数据库提

11、供的一组接口。ODBC的优点是灵活性,通过改变驱动和连接方式可以使用不同的数据库。ODBC方式的缺点是性能差。使用ODBC连接方式实现ETL的话,在ETL程序和至少要有两层,分别是ODBC Manager层和ODBC Driver层。另外,使用ODBC方式不能使用DBMS提供的一些特殊的功能。10.简述出三种变化数据捕获技术及其优缺点。答:变化数据捕获(CDC)技术是ETL工作中的重点和难点,通常需要在增量抽取时完成。实现变化数据捕获时最理想的是找到源系统的DBA。如果不能找到,就需要ETL项目组自己进行检测数据的变化。下面是一些常用的技术。1)采用审计列审计列指表中如“添加日期”、“修改日期

12、”、“修改人”等信息的字段。应用程序在对该表的数据进行操作时,同时更新这些字段,或者建立触发器来更新这些字段。采用这种方式进行变化数据捕获的优点是方便,容易实现。缺点是如果操作型系统没有相应的审计字段,需要改变已有的操作型系统的数据结构,以保证获取过程涉及的每张表都有审计字段。2)数据库日志DBMS日志获取是一种通过DBMS提供的日志系统来获得变化的数据。它的优点是对数据库或访问数据库的操作系统的影响最小。缺点是要求DBMS支持,并且对日志记录的格式非常了解。3)全表扫描全表扫描或者全表导出文件后进行扫描对比也可以进行变化数据捕获,尤其是捕获删除的数据时。这种方法的优点是,思路清晰,适应面广,

13、缺点是效率比较差。11. 数据质量检查的四大类是什么?为每类提供一种实现技术。答:数据质量检查是ETL工作中非常重要的一步,主要关注一下四个方面。1)正确性检查(Corret)检查数据值及其描述是否真实的反映了客观事务。例如地址的描述是否完全。2)明确性检查(Unambiguous)检查数据值及其描述是否只有一个意思或者只有一个解释。例如地名相同的两个县需要加区分方法。3)一致性检查(Consistent)检查数据值及其描述是否统一的采用固定的约定符号来表示。例如币别中人民币用CNY。4)完全性检查(Complete)完全性有两个需要检查的地方,一个是检查字段的数据值及其描述是否完全。例如检查

14、是否有空值。另一个是检查记录的合计值是否完全,有没有遗忘某些条件。12.简述应该在ETL的哪个步骤来实现概况分析?答:数据概况分析是对源数据内容的概况进行分析,应该在项目的开始后尽早完成,它会对设计和实现有很大的影响。在完成需求收集后就应该立即开始数据概况分析。数据概况分析不光是对源系统的数据概况的定量描述,而且为ETL系统中需要建立的错误事件事实表(Error Event Table)和审计维度表(Audit Dimension)打下基础,为其提供数据。13. ETL项目中的数据质量部分核心的交付物有那些?答:ETL项目中数据质量部分的核心的交付物主要有下面三个:1)数据概况分析结果数据概况

15、分析结果是对源系统的数据状况的分析产物,包括如源系统中有多少个表,每个表有多少字段,其中多少为空,表间的外键关系是否存在等反映源系统数据质量的内容。这些内容用来决定数据迁移的设计和实现,并提供给错误事件事实表和审计维度表需要的相关数据。2)错误事件事实表错误事件事实表及相关的一系列维度表是数据质量检查部分的一个主要交付物。粒度是每一次数据质量检查中的错误信息。相关维度包括日期维度表、迁移信息维度表、错误事件信息维度表,其中错误事件信息维度表中检查的类型、源系统的信息、涉及的表信息、检查使用的SQL等内容。错误事件事实表不提供给前台用户。3)审计维度表审计维度表是给最终用户提供数据质量说明的一个

16、维度表。它描述了用户使用的事实表的数据来源,数据质量情况等内容。14.如何来量化数据仓库中的数据质量?答:在数据仓库项目中,通常通过不规则数据的检测工作(Anomaly Detection)来量化源系统的数据质量。除非成立专门的数据质量调查项目组,否则这个工作应该由ETL项目组完成。通常可以采用分组SQL来检查数据是否符合域的定义规则。对于数据量小的表,可以直接使用类似下面的SQL完成。select state, count(*) from order_detail group by state对于数据量大的表,一般通过采样技术来减少数据量,然后进行不规则数据检测。类似SQL如下。select

17、 a.* from employee a, (select rownum counter, a.* from employee a) B where a.emp_id = b.emp_id and mod(b.counter, trunc(select count(*) from employee)/1000,0) = 0如果可以采用专门的数据概况分析工具进行的话,可以减少很大的工作量。15.什么是代理键?简述代理键替换管道如何工作。答:在维度表的迁移过程中,有一种处理方式是使用无意义的整型值分配给维度记录并作为维度记录的主键,这些作为主键的整型值称为代理键(Surrogate Key)。使用

18、代理键有很多好处,如隔离数据仓库与操作环境,历史记录的保存,查询速度快等。同时,在事实表的迁移过程中,为了保证参照完整性也需要进行代理键的替换工作。为了代理键替换的效率高一些,我们通常在数据准备区中建立代理键查找表(Surrogate Mapping Table or Lookup Table)。代理键查找表中保存最新的代理键和自然键的对应关系。在对事实表进行代理键替换时,为了保证效率高,需要把代理键查找表中的数据加载到内存中,并可以开多线程依次替换同一记录的中的不同代理键,使一条事实记录在所有的代理键都替换完后再写如磁盘中,这样的替换过程称为代理键替换管道(Surrogate Key Pip

19、eline)。16. 为什么在ETL的过程中需要对日期进行特殊处理?答:在数据仓库的项目中,分析是主导需求,而基于日期和时间的分析更是占了很大的比重。而在操作型源系统中,日期通常都是SQL的DATETIME型的。如果在分析时,使用SQL对这种类型的字段临时处理会出现一些问题,如效率很差,不同的用户会采用不同的格式化方法导致报表不统一。所以,在数据仓库的建模时都会建立日期维度表和时间维度表,将用到的和日期相关的描述都冗余到该表中。但是,并不是所有的日期都被转化为日期维度表的外键。日期维度表中的记录是有限的,有些日期如生日等可能会比日期维度表中记录的最小日期还要早,这类字段可以直接在数据仓库中保存

20、SQL的DATETIME型。而像购买日期等与分析的业务紧密相关的通常都需要转化为日期维度表的外键,可以用日期维度表中统一的描述信息进行分析。17.简述对一致性维度的三种基本的交付步骤。答:数据整合的关键就是生成一致性维度,再通过一致性维度将来自不同数据源的事实数据合并到一起,供分析使用。通常来说,生成一致性维度有如下三个步骤:1)标准化(Standardizing)标准化的目的是使不同数据源的数据编码方式,数据格式等相同,为下一步数据匹配打下基础。2)匹配(Matching and Deduplication)数据匹配的工作有两种,一种是将不同数据源的标识同一事物的不同属性匹配到一起,是数据更

21、完善;另一种是将不同数据源的相同数据标识成重复,为下一步的筛选打下基础。3)筛选(Surviving)数据筛选的主要目的是选定一致性维度作为主数据(Master Data),也就是最终交付的一致性维度数据。18.简述三种基本事实表,并说明ETL的过程中如何处理它们。答:事实表从粒度的角色来划分可以分为三类,分别是交易粒度事实表(Transaction Grain)、周期快照粒度事实表(Periodic Snapshot)和累计快照粒度事实表(Accumulating Snapshot)。在事实表的设计时,一定要注意一个事实表只能有一个粒度,不能将不同粒度的事实建立在同一张事实表中。交易粒度事实

22、表的来源伴随交易事件成生的数据,例如销售单。在ETL过程中,以原子粒度直接进行迁移。周期快照事实表是用来记录有规律的,固定时间间隔的业务累计数据,例如库存日快照。在ETL过程中,以固定的时间间隔生成累计数据。累积快照事实表用来记录具有时间跨度的业务处理过程的整个过程的信息。在ETL过程中,随着业务处理过程的步骤逐步完善该表中的记录。19.简述桥接表是如何将维度表和事实表进行关联的?答:桥接表(Bridge Table)是维度建模中的一类比较特殊的表。在数据仓库的建模时,会遇到具有层次结构的维度表,对于这样的表有一种建模方式是建立父子表,即每条记录上包括一个指向其父记录的字段。这种父子表的建立在

23、层级深度可变时尤其有用,是一个紧凑而有效的建模方式。但是这种建模方式也有缺点,就是用标准SQL很难对递归结构进行操作。与这种递归结构的父子表不同,桥接表采用不同的建模方式也可以表示这种层级结构。桥接表是建立在维度表和事实表中间的一个具有较多冗余信息的表,其中的记录包含层级结构中节点到其下面每个节点的路径。表结构如下所示:父关键字子关键字父层数层名底端标识顶端标识在桥接表中,节点与其下面的任意一个节点都建立一个关联记录保存在表中,即父子关系不再局限在相邻层,如第一层与第三层同样有父子关系,通过父层数可以区分相隔了几层。这样,可以通过父层数和父子关系来进行层级结构的查询。当然,桥接表也不是一个完备

24、的解决方案,它只能是在某些情况下是查询变得容易。20.迟到的数据对事实表和维度表有什么影响?怎样来处理这个问题?答:迟到的数据分为两种,一种是迟到的事实表数据,另一种是迟到的维度表数据。对于迟到的事实记录,我们可以插入到相应的事实表中。在插入的同时,还需要做一些处理。首先,对于具有SCD TYPE 2型维度的事实记录需要在插入前判断该事实记录的发生日期到目前为止,维度记录是否发生过变化,如果有变化,该事实记录需要对应到事实发生时的维度记录上。其次,在事实记录插入完成后,与该事实表相关的聚集事实表和合并事实表需要做相应的处理。对于迟到的维度记录,我们需要做的处理要复杂一些。首先,如果迟到的维度记

25、录是第一次进入数据仓库中,那么需要在维度表中生成一条维度记录,并将与该维度记录对应的事实记录的外键进行更新。其次,如果迟到的维度记录是对原维度进行的修改,那么我们在维度表中生成一条新记录的同时,还需要找到维度本次变化到下次变化间的事实行,并将其维度外键更新为新加维度的代理关键字。21.举例说明各种ETL过程中的元数据。答:元数据是ETL项目组面对的一个非常重要的主题,对于整个数据仓库项目也是非常重要的一部分。对于元数据的分类和使用没有很确定的定义。通常来说,我们可以把元数据分为三类,分别为业务元数据(Business Metadata),技术元数据(Technical Metadata)和过程

26、处理元数据(Process Execution Metadata)。业务元数据,是从业务的角度对数据的描述。通常是用来给报表工具和前端用户对数据进行分析和使用提供帮助。技术元数据,是从技术的角度对数据的描述。通常包括数据的一些属性,如数据类型、长度、或者数据概况分析后一些结果。过程处理元数据,是ETL处理过程中的一些统计数据,通常包括有多少条记录被加载,多少条记录被拒绝接受等数据22. 简述获取操作型元数据的方法。答:操作型元数据(Operational Metadata),也就是过程处理元数据,记录的是ETL过程中数据迁移情况,如上次迁移日期,加载的记录数等信息。这部分元数据在ETL加载失败

27、时会非常重要。一般来说,对于使用ETL工具的数据加载,像迁移调度时间、迁移调度顺序,失败处理等内容都可以在由在迁移工具中定义生成。像上次迁移日期等数据可以建表保存。如果是手工编写ETL程序的话,操作型元数据的处理会麻烦一些,需要自己来获取和存储。获取的方式,不同的编程方式会不尽相同。23.简述共享业务元数据和技术元数据的方法。答:为了能共享各种元数据,在数据仓库的构建过程中必须要有一些元数据标准,并在实际开发中遵守这些标准。这些标准包括元数据命名规则、存储规则及共享规则等内容。有关元数据标准的内容可以参看公共仓库元模型(Common Warehouse Metamodel,CWM)的相关资料

28、。在最基本的层面上,企业应该在下面三个方面制定好标准。1)命名规则命名规则应该在ETL组开始编码前制定好,范围包括表、列、约束、索引等等数据库对象以及其他一些编码规则。如果企业有自己的命名规则,ETL组应该遵守企业的命名规则。当企业的命名规则不能完全满足需求时,ETL组可以制定补充规则或者新的规则。对企业命名规则的改变需要有详细的文档记录,并提交企业相关部门审核。2)架构在ETL组开始工作前,架构应该先被设计好。例如ETL引擎是和数据仓库放在同一台服务器上还是单独设立服务器;数据准备区是建立成临时的还是持久的;数据仓库是基于维度建模的还是3NF建模的。并且这些内容应该有详细的文档记录。3)基础

29、结构系统的基础结构也应该先确定好。例如解决方案是基于Windows的还是基于UNIX的。这些企业基础结构元数据应该在ETL组开始工作前制定好。这些内容也应该有详细的文档记录。在ETL的开发中,制定好元数据标准并能很好的遵守,那么建立好的数据仓库的元数据就可以很好的完成共享功能。24.简述数据仓库中的表的基本类型,以及为了保证引用完整性该以什么样的顺序对它们进行加载。答:数据仓库中的表的基本类型有维度表、事实表、子维度表、桥接表等几类。其中子维度表即雪花模型由支架维度技术处理,桥接表用来处理多值维度或层级结构。数据仓库中需要加载的各类表之间有相互依赖的关系,所以加载时需要以一定的顺序进行加载。下

30、面是一些加载的基本原则:子维度表加载成功后,再加载维度表。维度表加载成功后,再加载桥接表。子维度表、维度表和桥接表都加载成功后,再加载事实表。这个加载顺序可以通过主外键的关系来确定。(注意,此回答为总线架构的数据仓库的表的加载顺序。)25.简述ETL技术支持工作的四个级别的特点。答:数据仓库上线后,ETL组需要为保证ETL工作的正常运行提供技术支持。通常这种技术支持工作分为四个级别。1)第一级别的技术支持通常是电话支持人员,属于技术支持服务窗口(Help Desk)类型。如果数据迁移出现错误或者用户发现数据有问题,问题通过电话反映到第一级别的技术支持处。第一级别支持人员通过ETL项目组提供的一

31、些问题的解决办法尽可能的解决发现的问题,阻止问题升级。2)第二级别的技术支持通常是系统管理员和DBA。如果第一级别不能解决问题,问题反映到第二级别。第二级别的人员通常技术上比较强,硬件基础结构和软件架构上的问题都可以解决。3)第三级别的技术支持通常是ETL项目负责人。如果第二级别不能解决问题,问题反映到第三级别。ETL项目负责人应该具备足够的知识,能够解决生产环境中的绝大部分问题。ETL项目负责人在必要时可以和开发人员或者外部产品提供商对某些问题进行交流,以便找出解决问题的办法。4)第四级别的技术支持通常是ETL的实际开发人员。如果第三级别不能解决问题,问题反映到第四级别。ETL的实际开发人员

32、可以对代码进行跟踪分析并找到问题的解决办法。如果问题出现在产品供应商的应用中,还需要供应商提供技术支持。在小一些的数据仓库环境中,也是通常的情况下,第三级别和第四级别可以合并在一起。合并后对第二级别的要求会高一些。不建议每次出现问题都找ETL的开发人员。第一级别的技术支持人员不应该仅仅提供电话支持服务,在将问题反映给下一个级别前,要尽自己的能力去解决问题。26.如果ETL进程运行较慢,需要分哪几步去找到ETL系统的瓶颈问题。答:ETL系统遇到性能问题,运行很慢是一件较常见的事情,这时要做的是逐步找到系统的瓶颈在哪里。首先要确定是由CPU、内存、I/O和网络等产生的瓶颈,还是由ETL处理过程产生的瓶颈。

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2