华为云用户手册
-
约束与限制 如需在本地调用专享版API,则需在创建专享版集群时绑定一个弹性公网IP,作为实例的公网入口。共享版API默认可通过公网访问。 调用数据服务API时,如果查询及返回数据的总时长超过默认60秒则会报超时错误。此时可通过访问日志中的API调用时长信息,根据超时阶段进一步优化API配置。 ____________Duration information__________ duration: 60491ms //总耗时 url_duration: 0ms //URL匹配耗时 auth_duration: 70ms //鉴权耗时 befor_sql_duration: 402ms //执行SQL预处理耗时 sql_duration: 60001ms //SQL执行耗时 after_sql_duration:18ms //执行SQL后处理耗时
-
配置 MRS Kafka目的端参数 表1 Kafka作为目的端时的作业参数 参数类型 参数名 说明 取值样例 基本参数 Topic 输入Topic数据库名称。 default 数据格式 写入目的端时使用的数据格式。 CS V:将列按照字段分隔符拼接。 JSON: 将所有列按照指定字段名称拼接为JSON字符串。 JSON格式 字段分隔 数据格式为CSV显示该参数。 写入目的端时数据之间的字段分隔符。默认为空格。 , keyIndex 数据格式为CSV显示该参数。 Kafka Writer中作为Key的那一列,填写后value不会记录此列。如字段列下标为0、1、2,keyIndex取值为0,则valueIndex为1、2。 keyIndex下标取值范围是从0开始的正整数,否则任务执行会报错。 - 额外配置 数据格式为JSON显示该参数。 该参数指定不同的类型的控制写入数据格式或者指定配置参数。 使用该能力前必须配置参数configType,当前支持的值为COMBINE_DATA。 configType为COMBINE_DATA支持的搭配的参数如下: batchnum:将多条数据合并成一条,默认值为1。 featureTag:将每一条数据都打tag标签。 startEndMark:默认是为false。设置为true时,写入消息前将会同步一个开始消息和结束的消息。 columnAsKey:指定写入数据key值,也可以通过指定字段值作为key,通过配置@{column1}--@{column2}。 例如:目的端字段为id、name,需要使用这两个字段值,则配置成@{id}--@{name}。 schema:该参数会显示在写入的数据的消息体中,此处配置该参数时后续显示为设置的参数;如果没有配置,默认使用原表的schema值。 table:该参数会显示在写入的数据的消息体中,此处配置该参数时后续显示为设置的参数;如果没有配置,默认使用源端的表名。 acks:取值0,1、all。 jobId:默认值为0,页面配置该参数,则在消息里生成改字段的信息。 比如需要给数据打标签需配置两个参数,即configType:COMBINE_DATA,featureTag:group。 父主题: 配置作业目的端参数
-
使用场景 当某参数被多个作业调用时,可将此参数提取出来作为默认配置项,无需每个作业都配置该参数。 表1 配置项列表 配置项 影响模块 主要用途 配置工作空间模式 作业调度 普通模式 业务日期模式 系统支持按照作业调度计划时间去运行,同时支持按照业务日期去运行。 配置周期调度 作业调度 当前作业所依赖的作业执行失败后,当前作业的处理策略。 依赖的作业停止时,当前作业实例处理策略。 配置多IF策略 作业调度 节点执行依赖多个IF条件的处理策略。 配置软硬锁策略 脚本/作业开发 作业或脚本的抢锁操作依赖于软硬锁处理策略。 脚本变量定义 脚本开发 脚本变量的格式定义。SQL脚本的变量格式有${}和${dlf.}两种。 配置数据导出策略 脚本/作业开发 对SQL执行结果框中的数据配置下载或转储的策略。 所有用户都可以 所有用户都不能 仅工作空间管理员可以 禁用作业节点名称同步变化 作业开发 DataArts Studio 作业中的节点关联脚本或者其他服务的作业时,节点名称不会同步变化。 是否使用简易变量集 作业开发 简易变量集提供了一系列自定义的变量,实现在任务调度时间内参数的动态替换。 忽略失败状态的 消息通知 策略 运维调度 对于运行状态为忽略失败的作业,支持发送的通知类型。 节点超时是否重试 作业运行 作业节点运行超时导致的失败也会重试。 实例超时是否忽略等待时间 作业运行 实例运行时超时计算将忽略等待时间。 MRS jar包参数拆分规则 作业开发 MRS MapReduce算子和MRS Spark算子jar包参数中字符串参数(使用""括起来的参数)拆分规则。 等待运行实例同步作业版本策略 运维调度 已生成的等待运行的作业实例,此时发布新的作业版本后,实例是否会使用最新的作业版本运行。 Hive SQL及Spark SQL执行方式 脚本/作业开发 SQL语句放置在OBS中:将OBS路径返回给MRS。 SQL语句放置在请求的消息体中:将脚本内容返回给MRS。 补数据优先级设置 运维调度-补数据 设置补数据作业的优先级。当系统资源不充足时,可以优先满足优先级较高的作业的计算资源,数字越大优先级越高,当前只支持对 DLI SQL算子设置优先级。 历史作业实例取消策略 运维调度 配置等待运行作业实例的超期天数。当作业实例等待运行的时间,超过了所配置的期限天数时,作业实例将取消执行。超期天数,最小需配置2天,即至少需要等待2天,才可取消未运行的作业实例。超期天数默认为60天,单位:天。 历史作业实例告警策略 运维调度 配置“通知管理”中通知告警能监控的天数范围。 通知管理中配置的告警通知能监控的作业实例天数范围,默认配置为7天,即对7天内满足触发条件的作业实例都能正常上报通知告警,但7天之前的作业实例不会再上报告警。 作业告警通知主题 通知配置 按责任人发送通知时所使用的主题。 作业算子失败重试默认策略 运维调度 设置作业算子失败重试默认策略。 作业每次重试失败即告警 运维调度 当作业配置失败告警的时候,该配置项会触发作业每次重试失败即告警,可作用于全部作业、实时作业和批作业。 若选择不支持,则作业达到最大失败重试次数时才触发失败告警。 作业运行自动传递脚本名称 作业开发(作业运行) 开关打开后,系统自动传参将生效:将对当前空间内作业运行时,将Hive SQL脚本set mapreduce.job.name=脚本名称,自动传递至MRS。 作业依赖规则 作业调度 作业能被其他空间作业依赖,需要该空间作业列表的查询权限。工作空间内的默认角色均有该权限,自定义角色需要在有数据开发下的作业查询权限。 脚本执行历史展示 脚本/作业开发 对脚本执行历史结果进行权限管控。 仅自己可见:脚本执行历史只显示本用户的执行历史。 所有用户可见:脚本执行历史显示所有用户的执行历史。 作业测试运行使用的身份 作业开发(作业测试运行) 配置作业测试运行使用的身份。 公共委托或 IAM 账号:使用配置的公共委托或公共IAM账号身份执行作业。 个人账号:使用点击测试作业用户的身份执行作业。 Spark SQL作业/脚本默认模板配置 Spark SQL脚本/作业开发 Spark SQL作业/脚本配置运行,是否允许用户设置任意参数。 Hive SQL作业/脚本默认模板配置 Hive SQL脚本/作业开发 Hive SQL作业/脚本配置运行,是否允许用户设置任意参数。 作业/脚本变更管理 作业/脚本的导入和导出 工作空间是否开启作业/脚本变更管理。 是:表示作业/脚本变化时记录变更事件,支持根据时间点增量导出和导入所有变化的作业/脚本。 否:表示作业/脚本变化时不记录变更事件,只支持选定作业/脚本的导出和导入。 Flink调试OBS桶 Flink SQL实时作业开发 在进行Flink SQL作业调试时,调试OBS桶必须选择并行桶。
-
支持的数据源 实时处理集成作业可以实现表或文件级别的数据实时增量迁移。 实时处理集成作业支持的数据源如表1所示。 表1 实时增量数据迁移支持的数据源 数据源分类 源端数据源 对应的目的端数据源 关系型数据 MySQL Hadoop:MRS Hudi 消息系统:DMS Kafka 数据仓库 :DWS 消息系统 DMS Kafka 对象存储:OBS Apache Kafka Hadoop:MRS Kafka 父主题: 实时处理集成作业开发
-
整体方案优势 湖仓一体存算分离:核心平台采用业界当先的湖仓一体、存算分离架构,实现对海量的多类型数据资源进行7种汇聚方式,并实现数据分层计算存储,减少无效搬迁,一份入湖,多源使用。存算分离架构支撑未来PB级别、低成本存储计算扩容,支持与底层计算引擎融合的架构能力。 信创平台数据安全:整体平台安全可信。其中核心数据存储、计算模块符合国家信创要求,周边平台模块全部采用国产化、依托于自主可控技术能力建设。 全流程的数据安全能力。面向数据要素流通、数据资源要素化,提供身份管理、印章管理、签名验签、授权访问、权限控制等能力,并针对数据采集、传输、存储、加工、流通全流程提供数据分级分类、存储加密、数据脱敏、数据水印、授权访问等能力建设。 一站式便携使用:便捷使用、全流程一站式的开发工具,面向开发按需使用。建设xx平台建设数据开发服务模块,包含 数据治理 服务、数据 API服务 、数据产品服务、应用开发服务等。面向数据运营商、企业、社会开发者提供丰富的数据开发服务,实现数据资源到数据资产、数据产品应用能力。 统一市场运营管控:面向数据要素流通,进行统一产品上线流程,并全流程运营管理。建设授权管理系统模块,提供运营门户、运营管理系统,面向数据开发利用方、数据需求方等数据要素市场主体进行服务,实现用户注册、场景申请、数据商品市场、开发工具市场、算力市场、授权管理等服务能力。实现授权运营的全面流程管理、运营审核,助力数据产品、数据要素可信流通。
-
整体方案设计 图1 方案设计图 如上图所示,数据要素流通涉及六类参与方,包括平台运营方、数据提供方、监管方、数据授权运营方、数据需求方、开发利用方。其中平台运营方、授权运营方、开发利用方深度使用 华为云Stack 云平台和数据底座能力,包括云平台运营中心(智能云管理平台)、数据底座(MRS/DWS等)、数据治理工具(DataArts Studio/ROMA)等云服务和产品。 功能架构 运营平台整体功能设计如下,采用三横两纵架构,三横作为基础平台,主要包含数据底座、数据开发服务、数据授权运营管理三部分。两纵作为支撑部分,主要包含数字信任及数据安全、运维管理二部分。当期建设重点围绕公共数据资源承载,主要建设内容: 图2 功能架构图 运营平台主要建设的功能模块如下: 数据底座:包含IaaS服务模块、PaaS服务模块、隐私计算模块。IaaS模块,提供计算服务、存储服务、网络服务等功能。PaaS服务模块,包提供大数据平台、数据仓库、通用关系型数据库、分布式高性能数据库、内存数据库、数据库复制等功能。隐私计算模块,提供全流程数据处理安全隐私保护能力,包含数据访问权限控制、数据使用审批、数据传输加密、数据密态计算、数据使用审计等功能。 整体建设核心模块采用国产自主可控产品,实现可信安全、自主可控。提供大数据计算与分析相关技术组件(实时计算、资源调度、内存计算等)。打造湖仓一体、批流一体、存算分离的数据底座架构,实现对多种形态数据的汇聚、存储、计算能力。 数据开发服务:包含数据治理模块、应用开发模块。 授权运营管理:包含资源目录管理、数据资产管理模块。 数字信任与数据安全:包含数据安全系统、数字信任服务模块。 运维管理:包含平台运维中心、平台运营中心、运营指挥中心等模块。 集成架构 当期运营平台与周边平台、协作单位建设平台,进行系统集成对接,形成整体的公共数据开发与运营对外服务能力。 与监督管理方(市委网信办、数据办、大数据中心等):作为数据授权管理方,进行公共数据授权运营管理的系统对接,通过数据场景化数据应用场景授权,进行上位管理。实现一场景、一授权,无场景不授权。 与数据提供方(大数据中心):通过公共数据授权管理进行场景授权管理。授权后,数据通过多种数据汇聚采集方案,其中公共数据资源通过前置机方式,与大数据中心资源平台进行对接,采用批量或实时方式导入运营平台。 与开发利用方:授权主体开发利用,通过运营平台提供统一的数据开发服务工具能力,进行授权数据的加工、治理、服务、开发,实现公共数据、社会数据、行业数据等开发利用。 与数据需求方:数据使用方,如银行、医院、保险、社会用户等,通过授权运营管理平台,进行数据资产的开发使用或数据产品的申请使用,获取相关数据产品。 部署架构 本次运营平台建设主要接入公共数据资源,需依据市政务云管理办法要求建设,进行政务外网区和互联网区两个区域部署,整体方案建设满足三级等保要求。 针对政务外网区和互联网区,本项目规划两个region区域建设,通过政务外网区与大数据中心进行公共数据资源对接,通过互联网区域实现企业数据、部分行业数据的对接,整体符合政务 云安全 等级保护的要求。从当前实际业务看,本项目大部分数据来源于政务外网区,因此大数据、数仓、数据治理等数据类资源能力和相应数据安全能力主要部署在政务外网区。互联网区域提供来自互联网侧的数据需求方的数据安全访问能力。建设规模随后续企业类相关业务的增长需要再逐步扩容。 图3 部署架构图
-
关键方案设计 【平台资源与权限配置】 VDC整体规划方案 相关概念: VDC是企业组织架构的逻辑映射,最多支持五层,VDC对应了企业的组织部门,VDC层级对应企业组织层级,VDC还提供了云资源配额控制、用户角色权限分配的作用。 资源集是对云资源的分组,各个资源集之间资源相互隔离,一个VDC可以包含多个资源集,一个资源集只能属于一个VDC或企业项目。资源集可以授权给下级VDC下的用户组,只有授权了相应的资源集才能拥有相关资源权限。 规划方案: 图4 VDC整体规划方案 如上图所示,根据资源划分的需求,将平台三类主要用户划分为三级VDC: 一级平台运营方VDC,作为全局唯一的一级VDC,负责统管全局公共资源,包括数据底座、数据开发工具、xx运营平台资源等; 二级授权运营方VDC,对应具备数据授权运营资质的企业,当前平台仅有一个二级授权运营方VDC,即数据集团; 二级平台建设方VDC,对应负责xx运营平台的建设的ISV,如华傲VDC、统一认证CA的VDC,在对应VDC下分配运维账号用于平台部署和维护; 三级开发利用方VDC,需要唯一归属指定的数据授权运营VDC,根据不同子公司或企业设置不同开发利用方VDC,将 用户添加至不同用户组,控制个人用户的访问权限; 资源集用于承载云平台的各类云服务资源,各类资源集具体划分如下: 公共服务1资源集,作为生产资源集,归属一级平台运营方VDC,负责承载MRS、DWS、DataArts Studio、ROMA Connect、 TICS 等生产实例和xx运营平台生产环境; 公共服务2资源集,作为开发测试资源集,归属一级平台运营方VDC,负责承载ROMA Connect开发实例、xx运营平台测试环境; 公共服务3资源集,作为CA认证平台生产资源集,归属一级平台运营方VDC,负责发放CA统一认证系统所需要的各类云主机、数据库、容器集群资源; 公共服务4资源集,作为CA认证平台开发测试资源集,归属一级平台运营方VDC,负责发放CA统一认证系统所需要的各类云主机、数据库、容器集群资源; 开发利用方资源集,按需为开发利用方创建资源集,用于开发利用方相关应用部署; 一级VDC下的公共资源集需要授权给二级、三级VDC下的用户组,以便各用户组具备公共资源使用权限,具体授权策略如下: 公共服务1、2资源集授权给二级授权运营方VDC,默认拥有全量资源权限; 公共服务1资源集授权给三级开发利用方VDC,默认分配DataArts Studio相关权限,以便进行数据治理开发工作; 公共服务2资源集授权给三级开发利用方VDC,默认分配ROMA Connect相关权限,以便进行数据服务API开发工作; 公共服务3、4资源集授权给二级平台建设方VDC(Builder_CA),以便进行CA资源部署和运维工作; 参与方权限分配与隔离方案:华为云Stack提供三层权限管控体系满足不同租户和用户在平台的权限分配和隔离,如下图所示: 图5 参与方权限分配和隔离方案图 第一层为组织人员管控,主要解决各方组织架构在华为云Stack的映射,并通过用户组和云服务角色权限实现各参与方用户在平台的权限管控 第二层为数据开发工具管控,主要解决开发利用方在DataArts Studio(简称DGC)和ROMA 工具上的权限管控,这部分主要依赖工具内部的角色权限管控能力 第三层为数据底座管控,主要解决各参与方在数据底座数据存储的权限管控,这部分主要通过对不同数据库账号设置不同的库操作权限实现,依赖MRS、DWS、RDS等数据库实例的权限管控体系 结合数据授权运营场景需求,各参与方在云平台的权限和隔离详细设计方案参考下表,后续实施指导中严格参考该表的权限和隔离方案进行: 表1 运营平台各参与方权限分配和隔离方案 参与方 云平台 数据开发工具 数据底座( 数据湖 仓等) / 智能云管理平台 DataArts Studio ROMA Connect MRS OBS DWS RDS 平台运营方 具备一级平台运营VDC管理员账号和权限 负责创建平台方的开发人员VDC账号 负责创建授权运营方VDC和相关人员账号 平台运营方全局唯一,无需隔离 具备全局实例管理员权限 负责为平台运营方创建生产和开发工作空间 负责将平台运营方开发等人员添加到工作空间 具备全局ROMA实例的管理员权限 具备MRS服务管理员权限 按需根据提供方创建对应贴源库和标准库,并作为库Owner 按需为开发利用方分配MRS库,并提供读写权限账号 按需为开发利用方授权平台运营方公共库只读权限 具备OBS服务的管理员权限 按需为平台运营方和开发利用方分配MRS数据库目录和自定义角色权限 具备DWS服务管理员权限 按需为平台运营方、开发利用方分配DWS库权限 按需为开发利用方分配DWS库权限 具备RDS服务管理员权限 负责为数据库提供方发放前置机RDS实例和账号 授权运营方 具备二级授权运营VDC管理员账号和权限 负责三级开发利用方VDC创建和对应开发、测试等人员账号创建 多个不同授权运营方通过不同二级VDC隔离 具备被授权实例管理员权限 负责为不同开发利用方创建生产和开发空间 负责并将开发利用方开发等人员添加到空间 具备被授权ROMA实例的管理员权限 按需为开发利用方和需求方创建ROMA应用 暂不分配账号 暂不分配权限 暂不分配账号 暂不分配账号 开发利用方 具备三级开发利用方VDC普通用户账号 不同开发利用方通过不同VDC进行隔离 具备开发利用方工作空间开发、运维、测试权限 不同开发利用方通过不同工作空间隔离 具备ROMA开发实例下指定应用的管理员权限 不同开发利用方通过不同ROMA应用隔离 具备分配给开发利用方对应MRS库读写权限 具备分配给开发利用方对应公共库的只读权限 不同开发利用方通过不同MRS账号隔离 不同开发利用方提交的任务通过不同的MRS租户隔离 具备OBS服务只读权限 具备开发利用对应MRS库所在OBS目录的读写权限 具备分配给开发利用方对应DWS库读写权限 不同开发利用方通过不同DWS账号隔离 不同开发利用方提交的后台作业通过不同队列隔离 按需分配RDS实例账号读写权限(暂无场景) 不同开发利用方通过不同RDS实例和账号隔离 数据提供方 无权限 无权限 无权限 无权限 无权限 无权限 按来源方分配RDS实例,并创建Database进行隔离 仅具备数据库地址和读写权限的账号给提供方 数据需求方 无权限 无权限 在ROMA生产实例分配客户端应用,并提供appkey、appsecret 不同数据需求方通过不同的客户端应用隔离 无权限 无权限 无权限 无权限 监督管理方 按需在平台运营方VDC分配只读权限账号 按需分配各工作空间访客权限 按需分配各ROMA应用只读权限 按需分配MRS只读账号权限 按需分配OBS只读账号权限 按需分配DWS只读账号权限 按需分配RDS只读账号权限 为实现上表中各参与方的权限分配和隔离,华为云Stack提供了完善的角色、权限、用户组等模型支撑用户的权限管理,具体逻辑关系模型参考下图: 图6 逻辑关系模型图 华为云Stack的账号权限管理整体上总体上分成三部分,后续各场景下的角色授权操作将参考该逻辑模型图进行实施: 智能云管理平台角色权限 智能云管理平台提供华为云Stack账号的统一管理能力,为各个参与创建华为云Stack的登录账号并设置相关云服务的访问权限 智能云管理平台提供了VDC默认角色和各类云服务细粒度角色用于云服务权限管控。默认角色包括VDC管理员、VDC业务员、VDC只读用户,默认具备所有云服务的相关权限,比如VDC只读用户可以查看所有云服务但不能进行任何操作 针对需要限制账号的仅具备特定云服务权限的场景,智能云管理平台支持各云服务的细粒度权限创建自定义角色进行控制,比如DataArts Studio User角色,只能访问DataArts Studio服务,ROMA Administrator只能访问ROMA Connect服务 为方便角色统一授权,通常需要将用户账号添加到一个自定义用户组,通过给用户组授权相关角色实现对组内所有用户的授权 针对用户组角色的授权,需要在指定的资源集下进行,所有的角色权限都是需要关联到资源集 智能云管理平台账号能在个人中心下载AK/SK,用于相关云服务的访问,如OBS服务等 数据开发工具权限 数据工具主要包括DataArts Studio(简称DGC)和ROMA Connect两部分,各参与方可直接通过智能云管理平台账号登录华为云Stack进行数据工具服务的访问和操作 DataArts Studio中提供了数据空间进行不同开发利用方的隔离,工作空间中提供了管理员、开发、运维、访客4类默认角色,支持自定义新角色,用于DataArts Studio中功能的细粒度控制 ROMA Connect中提供了应用进行不同开发利用方的隔离,应用下提供了admin、modify、delete权限用于控制不同账号在应用下API操作权限 数据底座角色权限 数据底座目前主要包括MRS数据湖、DWS数据仓库、RDS关系型数据库三类 默认情况下开发利用方不分配MRS、DWS、RDS云服务的权限,只能通过由平台运营方管理员分配的数据底座相关账号进行数据访问 不同开发利用方通过不同的MRS账号进行隔离,需要在MRS集群的管理系统 FusionInsight Manager(简称FI系统)上创建MRS账号。FusionInsight Manager上预置了各类角色进行账号权限的管控,确保相关账号仅具备授权组件的访问权限,比如限制只能访问Hive、Yarn或只能向某个MRS队列提交任务等 MRS的账号目前主要用于Hive数据库权限的分配,这部分是通过FusionInsight Manager上提供的Ranger图形化管理界面实现的。Ranger支持通过自定义Policy策略为指定的FusionInsight Manger用户组设置指定数据库的细粒度读写权限,从而确保MRS的账号仅能基于指定的操作权限访问指定的Hive数据库 该项目中MRS数据湖采用存算分离架构,因此在分配MRS数据库账号的同时,需要对该账号对应的智能云管理平台账号进行OBS权限的管控,确保相应的智能云管理平台账号也只能在对应的OBS目录下进行数据的读写操作 通过智能云管理平台中自定义OBS角色授权给指定用户组来实现开发利用方OBS权限的管控,同时OBS角色需要通过自定义委托并映射到MRS用户组,实现MRS下对应用户组对OBS的细粒度权限管控 DWS数据仓库中,不同开发利用方通过不同的Schema进行隔离,平台运营管理员通过命令行为开发利用方创建DWS数据仓库账号,并设置对应Schema的读写权限 RDS关系型数据库中,不同开发利用方通过不同的RDS实例和Database进行隔离,平台运营管理员在指定的RDS实例创建Database和数据库账号,并将Database的读写权限授权给对应数据库账号
-
项目背景 业务挑战 缺少互信环境和数据流通安全保障; 缺少数据全生命周期监控手段; 数据运营效率低:供需对接,业务审批等均线下操作; 数据治理和产品开发效率低:平台工具多厂商杂乱,标准规范、操作逻辑不统一。 解决方案场景 多场景可信数据流通:数据空间,隐私计算、 区块链 融合 数据全程合规:数据来源可确认、数据使用经授权、流通过程可追溯、 安全风险可防范 数据高效运营:实现授权、开发、运营、流通、监管等关键业务流程全线上化 凝聚生态,实现商业闭环:依托平台开展二次开发授权,凝聚开发者和供需生态,通过会员制+产品/服务订阅模式实现商业闭环 方案价值 一站式融合数据开发,数据高质量供给。 支撑多个参与全业务方线上化,合规高效运营。
-
ROMA客户端APP发放 平台运营方-管理员为数据需求方在ROMA生产实例创建客户端应用。 客户端定义了一个API调用者的身份。可以将一个API授权给多个客户端,也可以将多个API授权给同一个客户端。 可以通过新建应用来添加客户端配置。 平台运营方-管理员登录智能云管理平台,选择公共服务资源集1(ROMA生产实例所在资源集)。 在导航栏选择ROMA Connect服务,进入控制台,在“实例”页面单击实例上的“查看控制台”,进入实例控制台。 在左侧的导航栏选择“集成应用”,单击页面右上角的“创建集成应用”。 图1 创建集成应用 在创建集成应用弹窗中填写集成应用的“名称”,设置key和secret,然后单击“确认”。
-
公共资源集授权 公共服务资源集属于平台运营方(一级VDC)下资源,因此公共资源集授权动作只能由一级VDC管理员完成。 平台运营方-管理员登录智能云管理平台平台,在“系统-资源集”列表中,单击选择“公共服务资源集1”; 单击“已授权用户组”,选择“添加用户组”。下拉框选择”全部用户组”,在该资源集下选择“开发利用方-VDC管理员”用户组; 图1 添加用户组 平台运营方-管理员登录智能云管理平台平台,在“系统-资源集”列表中,单击选择“公共服务资源集2”; 单击“已授权用户组”,选择“添加用户组”。下拉框选择”全部用户组”,在该资源集下选择“开发利用方-VDC管理员”用户组; 使用三级VDC开发利用方-管理员账号登录智能云管理平台平台,该用户组下用户可以访问公共服务资源集1、公共服务资源集2中的所有云服务。
-
DWS中查看 概述:使用Data Studio或者DGC中的作业开发均可查询DWS中的表格数据,本章节主要介绍如何使用SQL查询DWS中的日志信息。 操作步骤 参考使用Data Studio连接DWS链接DWS。 在SQL终端中使用SQL查询日志信息。 【示例】全表查询 select * from apilog.log_kafka; 图5 全表查询 查询指定参数并按照访问的start_time排序 select start_time,batch_id,api_id,app_id,upstream_status,upstream_response_time,request_id,response_body,response_header from apilog.log_kafka order by start_time DESC; 查询指定集成应用的总访问量 select count(*) from apilog.log_kafka where provider_app_id= 'fcec3c73-cfe0-418c-b775-42d084199510' ; 请根据实际需求使用SQL语法
-
准备工作 平台运营方-运维人员使用预置FusionInsight管理员(初始admin账号)创建安全认证管理员账号,并通过委托配置,分配给该账号OBS管理员权限。 进入MRS集群实例页面,单击”前往Manager”; 使用管理员账号(初始admin账号)登录FI页面,选择导航栏中“系统”; 在左侧导航栏中选择“用户”一栏,单击“添加用户”,创建tianji_admin用户; 为该账号分配用户组“supergroup”以及MRS FusionInsight管理员权限,配置详见下图。 图1 配置
-
数据治理资产高效共享 DataArk可实现数据治理资产,如调研模板、流程设计、主题设计、数据码表、数据标准、关系模型、维度模型等资产全量和增量细粒度高效共享。 部分数据治理资产类型的部署存在约束条件: 开发资源:目录无jarPackage文件夹; 质量规则:目标空间已有同步数据源; 原子指标/衍生指标/复合指标/时间限定:部署用户为目标空间审批人,且前置的维度与事实表已发布; 开发作业:目标空间已有可用cdm集群。
-
创建Hive数据库 平台运营方-运维人员为开发利用方分配MRS-Hive库,并在建库时指定 Location 为 OBS对应目录路径。 使用DataArts Srudio创建数据库 通过DataArts Studio-数据开发功能,为开发利用方创建数据库。 进入“DataArts Studio”,单击“管理中心”,创建数据连接。用户名和密码填写tianji_admin账号(MRS FI安全认证管理员账号)和对应密码。 进入“数据开发”页面,单击新建脚本“新建HiveSQL脚本”。 在OBS并行文件系统:“OBS桶/运营平台开发/数据授权运营方/普惠金融”目录下,创建开发贴源库,用于开发利用方数据开发工作。 建库语句示例: CREATE DATABASE shdg_phjr_hive_dev LOCATION "obs://mrs-obs/obs_dev_tj_mrs/d_op_dev_shdg/dev_shdg_phjr_hive"; 图6 新建HiveSQL脚本 重复步骤2语句执行,为开发利用方A创建生产库。 可选使用MRS-Hive客户端创建数据库 通过MRS-Hive客户端,为开发利用方创建数据库。 使用安装客户端用户登录客户端安装节点,客户端下载和安装指导请参考https://support.huaweicloud.com/usermanual-mrs/mrs_01_0089.html 执行如下命令初始化环境变量,source 客户端安装目录/bigdata_env。 安全集群,执行以下命令进行用户认证(该用户需要具有Hive操作的权限)kinit Hive组件操作用户。 如kinit tianji_admin,输入安全账户用户密码。 beeline进入hive客户端,进行建库、建表操作。 在OBS并行文件系统:“OBS桶/运营平台开发/数据授权运营方/普惠金融”目录下,创建开发贴源库,用于开发利用方数据开发工作。 建库语句示例: CREATE DATABASE shdg_phjr_hive_dev LOCATION "obs://mrs-obs/obs_dev_tj_mrs/d_op_dev_shdg/dev_shdg_phjr_hive";
-
创建Ranger授权策略 本章节介绍平台运营管理员为MRS用户(组)创建hive ranger策略,ranger策略通过对Hive数据库、表添加针对不同MRS用户(组)对应权限,实现数据库权限访问控制。 Hive数据库权限划分详见表3。 【示例】分配给开发利用方的MRS账号(datagroup_dev_admin)拥有对应生产融合库的所有权以及对公共数据库的只读权限。 以平台运营管理员角色登录智能云管理平台运营平台,跳转到MRS云服务界面,单击MRS集群名称进入概览页,单击集群管理。 以管理员账号登录FusionInsight Manager,进入到ranger admin页面,单击右上角"add new policy"新建ranger访问策略。 策略对象选择“database”,根据用户组职责需要,选择对应数据库、数据表; 配置phjr场景开发融合库策略dev_datagroup_policy: 图7 创建Ranger授权策略1 授予datagroup_dev_group用户组shdg_phjr_hive_dev库*表*列的所有权:ALL 图8 创建Ranger授权策略2 配置公共数据开发接入库策略dev_access_policy: 授予access_dev_group用户组shdg_ods_dev、shdg_dwd_dev库*表*列的所有权, 授予tianji_access_dev_readonly用户组shbd_ods_dev、shbd_dwd_dev库*表*列的select/read权限。 图9 配置公共数据开发接入库策略 设置用户组对应权限,如ALL/READ/SELECT。 图10 Ranger权限策略说明 表3 Ranger权限策略说明 POLICY名称 用户组 Hive库 权限 dev_datagroup_policy datagroup_dev_group用户组 shdg_hive_phjr_dev库 *表*列 所有权 prod_datagroup_policy datagroup_prod_group shdg_hive_phjr_pro库 *表*列 所有权 dev_access_policy access_dev_group用户组 shbd_ods_dev、shbd_dwd_dev库 *表*列 所有权 tj_access_dev_readonly用户组 shbd_ods_dev、shbd_dwd_dev库 *表*列 select/read权限 prod_access_policy access_prod_group用户组 shbd_ods_prod、shbd_dwd_prod库 *表*列 所有权 tj_access_prod_readonly用户组 shbd_ods_prod、shbd_dwd_prod库 *表*列 select/read权限
-
MRS用户组映射OBS委托 将不同权限的委托,映射至MRS用户组。 登录智能云管理平台运营平台,跳转到MRS云服务界面,单击MRS集群名称进入概览页,单击“OBS权限控制”右侧的“单击管理”。 单击“添加映射”,参考表4配置IAM委托和用户组直接映射关系。类型选择“Group”。 图11 OBS权限控制 表4 IAM委托和用户组映射关系 名称 绑定委托 映射用户组 运营平台 develop_access_obs_agency dev_access_group produce_access_obs_agency prod_access_group phjr场景 develop_datagroup_obs_agency datagroup_dev_group produce_access_obs_agency datagroup_prod_group 单击勾选“我同意授权MRS用户(组)与IAM委托之间的信任关系”,更新映射表,完成MRS用户(组)细粒度权限控制。
-
创建MRS用户/用户组 MRS的用户体系不同于智能云管理平台 IAM用户体系,因此在进行数据底座授权时,需要登录MRS FusionInsight创建MRS账号,提供给对应开发利用方。 平台运营方-运维人员使用MRS FI安全认证管理员账号(已在准备工作中创建)登录FI页面,选择导航栏中“系统”。 在左侧导航栏中选择“用户”一栏,单击“添加用户”。 在左侧导航栏中选择“用户组”一栏,单击“添加用户组”。 创建MRS用户,选择并加入对应用户组。依照下表1与表2完成用户和用户组创建。 hive用户组为普通用户组。Hive用户必须属于该用户组。 图4 选择并加入对应用户组 将用户添加到对应租户下。在“角色”中,添加对应租户角色。 如将datagroup_dev_admin用户,添加至“develop_phjr”租户资源下: 图5 选择并绑定角色 表1 MRS用户组设置 MRS用户 职责 MRS DATABASE 所属租户 datagroup_dev_access 负责运营平台(公共数据接入)开发,创建对应数据库 shdg_ods_dev shdg_dwd_dev develop_datagroup datagroup_prod_access 负责运营平台(公共数据接入)生产,创建对应数据库 shdg_ods_prod shdg_dwd_prod produce_datagroup datagroup_dev_admin 负责phjr场景开发,创建开发环境对应数据库 shdg_hive_phjr_dev develop_phjr datagroup_prod_admin 负责phjr场景开发,创建生产环境对应数据库 shdg_hive_phjr_prod produce_phjr 表2 MRS用户创建 MRS用户 MRS用户组 权限 datagroup_dev_access dev_access_group 运营平台开发接入库-操作权限 datagroup_prod_access access_prod_group 运营平台生产接入库-操作权限 datagroup_dev_admin datagroup_dev_group phjr开发融合库-操作权限 tianji_access_dev_readonly 运营平台开发接入库-只读权限 datagroup_prod_admin datagroup_prod_group phjr生产融合库-操作权限 tianji_access_prod_readonly 运营平台生产接入库-只读权限
-
创建MRS租户 使用MRS管理员账号(默认admin账号)登录MRS FusionInsight页面。 添加租户,创建两个二级租户:develop和produce,租户类型选择“非叶子租户”。 图2 创建MRS租户 如果已经创建produce和develop二级租户,则跳过该步骤。 在已创建的二级租户下,选择添加子租户,创建三级租户。如devlop_phjr,租户类型选择“叶子租户”,注意父租户需要区分开发和生产二级租户。 图3 添加子租户 在添加一个租户时,指定租户是否是一个叶子租户 : 非叶子租户:支持子租户的创建。 叶子租户:最后一级租户,不能进行子租户的创建。叶子租户可与服务相关联。
-
RDS前置机发放 平台运营方-管理员在公共服务资源集1和公共服务资源集2下,为新接入的数据提供方发放RDS服务。 平台运营方管理员登录智能云管理平台平台,选择公共服务资源集1。 图1 选择公共服务资源集1 选择云数据库RDS,单击“创建数据库实例”,申请云数据库RDS服务。 图2 选择服务 选择数据库规格,并设置数据库用户名和密码。将数据库地址、用户名和密码等信息发给数据提供方。 父主题: 数据提供方资源分配
-
开发利用方申请公共数据权限 开发利用方根据需要,通过线下提交申请方式向平台运营方申请公共数据只读权限。 需反馈信息如表-申请公共数据信息反馈表。 表1 申请公共数据信息反馈表(MRS库)-示例 申请账号 公共数据库类型 公共数据库名称 公共数据表名称 datagroup_dev_admin MRS-HIVE库 dev_shdg_dwd test_public1 表2 申请公共数据信息反馈表(DWS库)-示例 申请账号 公共数据库类型 公共数据库名称 公共数据schema及表名称 datagroup_dev_admin DWS库 dev_tianji_dws dev_shdg_dwd.test_public1
-
平台运营方公共数据库授权 MRS-HIVE库 【示例】以开发利用方访问公共数据库shbd_dwd_dwv库为例。 为开发利用方的MRS用户(组)创建公共数据库只读权限的hive ranger策略。 登录ranger admin页面,单击右上角"add new policy"新建ranger访问策略。 策略对象选择“database”,根据开发利用方反馈所需公共数据的需求,选择对应数据库、数据表; 选择对应数据库所在策略dev_access_policy;如访问单表需新建策略。 授予tianji_access_dev_readonly用户组shbd_dwd_dev库*表*列的select/read权限。 图1 MRS-HIVE库 添加用户组对应权限,READ/SELECT。 图2 添加用户组对应权限 DWS库 默认情况下,用户只能访问属于自己的schema中的数据库对象。如果需要访问其他schema的对象,则该schema的所有者应该赋予他对该schema的usage权限。 【示例】以phjr场景下,开发人员账号访问公共数据schema为例。 使用dbadmin账号连接dev_tianji_dws数据库; 将Schema dev_shdg_dwd的权限赋给用户后,将公共数据Schema下,表public的select权限赋给phjr场景下的开发用户。 GRANT USAGE ON SCHEMA dev_shdg_dwd TO phjr_dev_admin; GRANT SELECT ON TABLE dev_shdg_dwd.public to phjr_dev_admin; 将Schema中的表或者视图对象授权给其他用户或角色时,需要将表或视图所属Schema的USAGE权限同时授予该用户或角色。否则用户或角色将只能看到这些对象的名字,并不能实际进行对象访问.
-
公共资源集发放 公共服务资源集为公共数据接入和处理提供隔离,内包含必要云服务资源(DataArts Studio、MRS、DWS、ROMA Connect等)。 为保证云服务资源按照方案设计隔离,设置两个公共服务资源集。且不同公共资源集下的云服务实例使用VPC不相同,如实例需要通信场景,采用VPC-Peering打通,详见图4。 在一级VDC下创建两个资源集:公共资源集1,公共资源集2。 使用一级VDC的平台运营方-管理员账号登录智能云管理平台页面首页,单击上方导航栏中“系统”。 单击“一级VDC”名称,在一级VDC下选择左侧导航栏中“资源集”,创建资源集:公共资源集1,公共资源集2。 图1 创建资源集 使用一级VDC的平台运营方-管理员账号为公共资源集1发放VPC1,以及VPC1下的MRS、DWS、DataArts Studio和ROMA Connect(生产)实例。 图2 生产实例 使用一级VDC的平台运营方-管理员账号为公共资源集2发放VPC2,以及VPC2下的ROMA Connect(开发)实例。 图3 开发实例 父主题: 平台公共资源准备
-
概述 通过自定义认证,将客户的CA用于API调用的第二重认证。 自定义认证包括前端和后端两种类型: 前端自定义认证:指ROMA Connect使用自定义的认证函数,对收到的API请求进行安全认证。 后端自定义认证:指API的后端服务使用自定义的认证函数,对来自ROMA Connect转发的后端服务请求进行安全认证。 本章节主要介绍如何创建一个前端自定义认证。您需要先创建一个函数后端作为认证函数,并在自定义认证中使用该函数后端作为认证后端。
-
API正编目 使用授权运营方-数据资源管理员账号登录平台,选择“资源目录管理“; 单击“数据资源编目管理“; 单击“数据资源目录编目”,进而单击“新增API”创建一个新的 api目录; 图1 数据资源目录编目 在弹出页面对应的输入框填入接口基本信息; 单击“下一步“,在接口属性页面填写api接口信息和接口参数; 图2 填写api接口信息和接口参数 单击提交审核按钮,把填写好的目录发送到审核方审核。
-
授权运营方管理员-DataArts Studio工具准备 DataArts Studio实例中默认不包含数据集成的 CDM 集群,如需使用数据集成功能,需要授权运营方-管理员根据业务场景,为开发利用方工作空间发放CDM增量包。 授权运营方-管理员登录智能云管理平台平台,单击DataArts Studio云服务,单击已开通实例卡片上的“创建增量包”; 进入创建DataArts Studio增量包页面,参照表1进行配置。为保证网络互通,虚拟私有云,子网,安全组需与MRS、DWS集群一致; 图1 配置数据集成的增量包参数 表1 配置数据集成的增量包参数 参数 说明 增量包类型 选择“批量数据迁移增量包”。 工作空间 选择需要使用数据集成增量包的工作空间。例如在DataArtsStudio实例test的A工作空间中创建数据集成的增量包,这里工作空间选择A。创建成功后,即可通过A工作空间查看到已经创建的数据集成集群。 集群名称 自定义数据集成集群名称。 实例类型 选择数据集成集群实例规格。 虚拟私有云 DataArts Studio实例中的数据集成CDM集群所属的VPC。VPC即虚拟私有云,是通过逻辑方式进行网络隔离,提供安全、隔离的网络环境。如果DataArts Studio实例或CDM集群需连接云上服务(如DWS、MRS、RDS等),则您需要确保CDM集群与该云服务网络互通。同区域情况下,同虚拟私有云、同子网、同安全组的不同实例默认网络互通,如果同虚拟私有云而子网或安全组不同,还需配置路由规则及安全组规则。VPC、子网、安全组的详细操作,请参见《虚拟私有云用户指南》。 说明 目前CDM实例创建完成后不支持切换虚拟私有云,请谨慎选择所属虚拟私有云 子网 DataArts Studio实例中的数据迁移CDM集群所属的子网。通过子网提供与其他网络隔离的、可以独享的网络资源,以提高网络安全。如果DataArts Studio实例或CDM集群需连接云上服务(如DWS、MRS、RDS等),则您需要确保CDM集群与该云服务网络互通。同区域情况下,同虚拟私有云、同子网、同安全组的不同实例默认网络互通,如果同虚拟私有云而子网或安全组不同,还需配置路由规则及安全组规则。VPC、子网、安全组的详细操作,请参见《虚拟私有云用户指南》。 说明 目前CDM实例创建完成后不支持切换子网,请谨慎选择所属子网。 安全组 DataArts Studio实例中的数据集成CDM集群所属的安全组。安全组是一组对弹性云服务器的访问规则的集合,为同一个VPC内具有相同安全保护需求并相互信任的弹性云服务器提供访问策略。如果DataArts Studio实例或CDM集群需连接云上服务(如DWS、MRS、RDS等),则您需要确保CDM集群与该云服务网络互通。同区域情况下,同虚拟私有云、同子网、同安全组的不同实例默认网络互通,如果同虚拟私有云而子网或安全组不同,还需配置路由规则及安全组规则。VPC、子网、安全组的详细操作,请参见《虚拟私有云用户指南》。 说明 目前CDM实例创建完成后不支持切换安全组,请谨慎选择所属安全组。 单击“立即创建”,确认规格后单击“创建”; 创建成功后,即可返回对应的工作空间查看已创建的数据集成集群。
-
访问客户端 通过在内网使用ip访问api 【示例】通过postman调用接口,接口uri:https://10.100.37.229/app_01/api_01 图1 内网使用ip访问api x-hw-id:被授权的集成应用的key x-hw-appkey:被授权的集成应用的secret,与x-hw-id完成ROMA的app认证 idaccesstoken:模拟自定义认证过程中接口请求携带的CA下发的token,用于请求在通过app认证后,将该值传递至前端认证中的后端函数中,通过接口请求的方式向公网搭建的CA认证本次请求是否可信 访问https的接口需要将postman的设置中的SSL certificate verification关闭! 图2 设置 前端认证中的后端函数中访问的CA,为搭建在云服务器上的模拟CA工作的web服务,该服务主要实现为:当请求模拟CA的idaccesstoken为huawei@123时,模拟CA返回true,当idaccesstoken为其他值时,返回false,从而实现模拟认证通过和失败。 图3 访问客户端 x-hw-id、x-hw-appkey、idaccesstoken均符合要求,访问结果如下: 图4 访问结果1 x-hw-id不符合要求时,访问结果如下: 图5 访问结果2 x-hw-appkey不符合要求时,访问结果如下: 图6 访问结果3 idaccesstoken不符合要求时,访问结果如下: 图7 访问结果4 当使用的x-hw-id、x-hw-appkey为api授权的其它集成应用的key和secret时,访问结果如下: 图8 访问结果5 当使用的x-hw-id、x-hw-appkey为api未授权的其它集成应用或客户端的key和secret时,访问结果如下: 图9 访问结果6
-
可信应用注册 概述:数据需求方需要通过可信访问代理(SDK)的【可信应用注册】接口,向可信访问平台进行应用注册,成为可信应用。 前提条件:数据需求方首先需要根据应用开发语言类型,向CA线下提交可信应用接入申请表,申请通过后CA向应用方返回appID、appSecret、SDK软件包。本操作文档不包该流程,请联系相关人员进行申请。 接口规范 接口描述:数据需求方通过SDK对应用进行可信注册,接口调用成功后会在本地生成应用签名证书。签名证书会在后续CA接口调用中用于请求签名。 表1 请求参数 参数名称 类型 必选 参数说明 appID string 是 应用id,由可信访问平台分配 appSecret string 是 应用密钥,由可信访问平台分配 corpName string 是 单位名称 corpCode string 是 统一社会信用代码 表2 响应参数 参数名称 类型 必选 参数说明 code int 是 返回码,0表示成功 msg string 是 返回消息,多用于描述失败时的错误信息
-
环境准备 概述:ROMA Connect实例发放后,配置参数提供了实例内组件的公共参数配置,通过修改配置参数,可以调整组件的相关功能配置。该章节根据运营平台的可信访问的需求,对ROMA Connect的实例进行参数配置,以满足APP验证、公网访问等功能的使用要求。 前提条件:已创建ROMA Connect实例。修改实例配置参数会引起APIC业务中断,建议在无业务运行或业务低峰时修改配置参数。 操作步骤 ROMA Connect的API验证分为如下四类: APP认证:表示由ROMA Connect对API请求进行安全认证。用户调用API时,使用授权集成应用的Key和Secret进行API请求的安全认证。使用该方式的API适合所有用户调用。 华为IAM认证:表示由IAM对API请求进行安全认证。用户调用API时,使用Token或AK/SK进行API请求的安全认证。使用该方式的API仅适合同一云服务平台的用户调用。 自定义认证:表示使用自定义的函数API对API请求进行安全认证。使用该方式的API适合所有用户调用。 无认证:表示API请求不需要认证。使用该方式的API适合所有用户调用。 本方案中需要使用APP认证,因此数据运营方需要在ROMA Connect的实例的配置参数设置中打开"app_secret",从而开启APP认证功能。(单击“编辑”,可修改“参数运行值”)。 图1 环境准备1 由于开发过程中需要使用ip访问API,需要在ROMA实例的配置参数设置中打开"app_route"。 图2 环境准备2 在可信访问过程中,验证token时需要调用位于公网的CA的接口,因此需要放开APIC的出口地址设置开关,并在防火墙中放开该EIP。 图3 环境准备3 若ROMA Connect实例与后端服务在同一区域的不同VPC内时,可通过创建VPC对等连接,将两个VPC的网络打通,实现同一区域跨VPC访问后端服务。 若ROMA Connect实例与后端服务在不同区域的不同VPC内时,可通过创建云连接实例并加载需要互通的VPC,将两个VPC的网络打通,实现跨区域跨VPC访问后端服务。
-
DWS权限验证 按照DWS分配和授权完成授权操作后,可按照本章节步骤对DWS库表权限分配进行验证。 验证开发利用方人员拥有公共接入库的只读权限。 使用DWS账号phjr_dev_admin连接数据库。 图1 连接数据库 配置相关数据库和schema信息。选择数据库:dev_tianji_dws;公共schema:dev_shdg_dwd。 验证结果:开发利用方人员拥有公共接入schema下表的SELECT权限。 图2 配置相关数据库和schema信息 验证结果:开发利用方人员不具有公共接入schema下表的INSERT权限。 图3 验证结果 父主题: 验证指导
-
数据底座授权 数据底座授权分为OBS授权、MRS授权和DWS授权三部分。 MRS采用存算分离设计方案,在对MRS进行授权之前,还需对OBS 面向 对象存储服务 进行目录划分和授权操作。 对于MRS组件用户的授权,通过创建MRS用户及用户组以及ranger策略实现权限划分。并且通过对MRS用户组的权限配置,使得属于该用户组的用户,对非自己创建的数据库有操作/只读权限。 对于DWS的授权,通过对schema授权的SQL语句,实现不同开发利用方DWS用户对公共数据的访问。 OBS分配和授权 MRS分配和授权 DWS分配和授权 父主题: 开发利用方资源分配
共100000条
- 1
- ...
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228
- 229
- 230
- 231
- 232
- 233
- 234
- 235
- 236
- 237
- 238
- 239
- 240
- 241
- 242
- 243
- 244
- 245
- 246
- 247
- 248
- 249
- 250
- 251
- 252
- 253
- 254
- 255
- 256
- 257
- 258
- 259
- 260
- 261
- 262
- 263
- 264
- 265
- 266
- 267
- 268
- 269
- 270
- 271
- 272
- 273
- 274
- 275
- 276
- 277
- 278
- 279
- 280
- 281
- 282
- 283
- 284
- 285
- 286
- 287
- 288
- 289
- 290
- 291
- 292
- 293
- 294
- 295
- 296
- 297
- 298
- 299
- 300
- 301
- 302
- 303
- 304
- 305
- 306
- 307
- 308
- 309
- 310
- 311
- 312
- 313
- 314
- 315
- 316
- 317
- 318
- 319
- 320
- 321
- 322
- 323
- 324
- 325
- 326
- 327
- 328
- 329
- 330
- 331
- 332
- 333
- 334
- 335
- 336
- 337
- 338
- 339
- 340
- 341
- 342
- 343
- 344
- 345
- 346
- 347
- 348
- 349
- 350
- 351
- 352
- 353
- 354
- 355
- 356
- 357
- 358
- 359
- 360
- 361
- 362
- 363
- 364
- 365
- 366
- 367
- 368
- 369
- 370
- 371
- 372
- 373
- 374
- 375
- 376
- 377
- 378
- 379
- 380
- 381
- 382
- 383
- 384
- 385
- 386
- 387
- 388
- 389
- 390
- 391
- 392
- 393
- 394
- 395
- 396
- 397
- 398
- 399
- 400
- 401
- 402
- 403
- 404
- 405
- 406
- 407
- 408
- 409
- 410
- 411
- 412
- 413
- 414
- 415
- 416
- 417
- 418
- 419
- 420
- 421
- 422
- 423
- 424
- 425
- 426
- 427
- 428
- 429
- 430
- 431
- 432
- 433
- 434
- 435
- 436
- 437
- 438
- 439
- 440
- 441
- 442
- 443
- 444
- 445
- 446
- 447
- 448
- 449
- 450
- 451
- 452
- 453
- 454
- 455
- 456
- 457
- 458
- 459
- 460
- 461
- 462
- 463
- 464
- 465
- 466
- 467
- 468
- 469
- 470
- 471
- 472
- 473
- 474
- 475
- 476
- 477
- 478
- 479
- 480
- 481
- 482
- 483
- 484
- 485
- 486
- 487
- 488
- 489
- 490
- 491
- 492
- 493
- 494
- 495
- 496
- 497
- 498
- 499
- 500
- 501
- 502
- 503
- 504
- 505
- 506
- 507
- 508
- 509
- 510
- 511
- 512
- 513
- 514
- 515
- 516
- 517
- 518
- 519
- 520
- 521
- 522
- 523
- 524
- 525
- 526
- 527
- 528
- 529
- 530
- 531
- 532
- 533
- 534
- 535
- 536
- 537
- 538
- 539
- 540
- 541
- 542
- 543
- 544
- 545
- 546
- 547
- 548
- 549
- 550
- 551
- 552
- 553
- 554
- 555
- 556
- 557
- 558
- 559
- 560
- 561
- 562
- 563
- 564
- 565
- 566
- 567
- 568
- 569
- 570
- 571
- 572
- 573
- 574
- 575
- 576
- 577
- 578
- 579
- 580
- 581
- 582
- 583
- 584
- 585
- 586
- 587
- 588
- 589
- 590
- 591
- 592
- 593
- 594
- 595
- 596
- 597
- 598
- 599
- 600
- 601
- 602
- 603
- 604
- 605
- 606
- 607
- 608
- 609
- 610
- 611
- 612
- 613
- 614
- 615
- 616
- 617
- 618
- 619
- 620
- 621
- 622
- 623
- 624
- 625
- 626
- 627
- 628
- 629
- 630
- 631
- 632
- 633
- 634
- 635
- 636
- 637
- 638
- 639
- 640
- 641
- 642
- 643
- 644
- 645
- 646
- 647
- 648
- 649
- 650
- 651
- 652
- 653
- 654
- 655
- 656
- 657
- 658
- 659
- 660
- 661
- 662
- 663
- 664
- 665
- 666
- 667
- 668
- 669
- 670
- 671
- 672
- 673
- 674
- 675
- 676
- 677
- 678
- 679
- 680
- 681
- 682
- 683
- 684
- 685
- 686
- 687
- 688
- 689
- 690
- 691
- 692
- 693
- 694
- 695
- 696
- 697
- 698
- 699
- 700
- 701
- 702
- 703
- 704
- 705
- 706
- 707
- 708
- 709
- 710
- 711
- 712
- 713
- 714
- 715
- 716
- 717
- 718
- 719
- 720
- 721
- 722
- 723
- 724
- 725
- 726
- 727
- 728
- 729
- 730
- 731
- 732
- 733
- 734
- 735
- 736
- 737
- 738
- 739
- 740
- 741
- 742
- 743
- 744
- 745
- 746
- 747
- 748
- 749
- 750
- 751
- 752
- 753
- 754
- 755
- 756
- 757
- 758
- 759
- 760
- 761
- 762
- 763
- 764
- 765
- 766
- 767
- 768
- 769
- 770
- 771
- 772
- 773
- 774
- 775
- 776
- 777
- 778
- 779
- 780
- 781
- 782
- 783
- 784
- 785
- 786
- 787
- 788
- 789
- 790
- 791
- 792
- 793
- 794
- 795
- 796
- 797
- 798
- 799
- 800
- 801
- 802
- 803
- 804
- 805
- 806
- 807
- 808
- 809
- 810
- 811
- 812
- 813
- 814
- 815
- 816
- 817
- 818
- 819
- 820
- 821
- 822
- 823
- 824
- 825
- 826
- 827
- 828
- 829
- 830
- 831
- 832
- 833
- 834
- 835
- 836
- 837
- 838
- 839
- 840
- 841
- 842
- 843
- 844
- 845
- 846
- 847
- 848
- 849
- 850
- 851
- 852
- 853
- 854
- 855
- 856
- 857
- 858
- 859
- 860
- 861
- 862
- 863
- 864
- 865
- 866
- 867
- 868
- 869
- 870
- 871
- 872
- 873
- 874
- 875
- 876
- 877
- 878
- 879
- 880
- 881
- 882
- 883
- 884
- 885
- 886
- 887
- 888
- 889
- 890
- 891
- 892
- 893
- 894
- 895
- 896
- 897
- 898
- 899
- 900
- 901
- 902
- 903
- 904
- 905
- 906
- 907
- 908
- 909
- 910
- 911
- 912
- 913
- 914
- 915
- 916
- 917
- 918
- 919
- 920
- 921
- 922
- 923
- 924
- 925
- 926
- 927
- 928
- 929
- 930
- 931
- 932
- 933
- 934
- 935
- 936
- 937
- 938
- 939
- 940
- 941
- 942
- 943
- 944
- 945
- 946
- 947
- 948
- 949
- 950
- 951
- 952
- 953
- 954
- 955
- 956
- 957
- 958
- 959
- 960
- 961
- 962
- 963
- 964
- 965
- 966
- 967
- 968
- 969
- 970
- 971
- 972
- 973
- 974
- 975
- 976
- 977
- 978
- 979
- 980
- 981
- 982
- 983
- 984
- 985
- 986
- 987
- 988
- 989
- 990
- 991
- 992
- 993
- 994
- 995
- 996
- 997
- 998
- 999
- 1000
- 1001
- 1002
- 1003
- 1004
- 1005
- 1006
- 1007
- 1008
- 1009
- 1010
- 1011
- 1012
- 1013
- 1014
- 1015
- 1016
- 1017
- 1018
- 1019
- 1020
- 1021
- 1022
- 1023
- 1024
- 1025
- 1026
- 1027
- 1028
- 1029
- 1030
- 1031
- 1032
- 1033
- 1034
- 1035
- 1036
- 1037
- 1038
- 1039
- 1040
- 1041
- 1042
- 1043
- 1044
- 1045
- 1046
- 1047
- 1048
- 1049
- 1050
- 1051
- 1052
- 1053
- 1054
- 1055
- 1056
- 1057
- 1058
- 1059
- 1060
- 1061
- 1062
- 1063
- 1064
- 1065
- 1066
- 1067
- 1068
- 1069
- 1070
- 1071
- 1072
- 1073
- 1074
- 1075
- 1076
- 1077
- 1078
- 1079
- 1080
- 1081
- 1082
- 1083
- 1084
- 1085
- 1086
- 1087
- 1088
- 1089
- 1090
- 1091
- 1092
- 1093
- 1094
- 1095
- 1096
- 1097
- 1098
- 1099
- 1100
- 1101
- 1102
- 1103
- 1104
- 1105
- 1106
- 1107
- 1108
- 1109
- 1110
- 1111
- 1112
- 1113
- 1114
- 1115
- 1116
- 1117
- 1118
- 1119
- 1120
- 1121
- 1122
- 1123
- 1124
- 1125
- 1126
- 1127
- 1128
- 1129
- 1130
- 1131
- 1132
- 1133
- 1134
- 1135
- 1136
- 1137
- 1138
- 1139
- 1140
- 1141
- 1142
- 1143
- 1144
- 1145
- 1146
- 1147
- 1148
- 1149
- 1150
- 1151
- 1152
- 1153
- 1154
- 1155
- 1156
- 1157
- 1158
- 1159
- 1160
- 1161
- 1162
- 1163
- 1164
- 1165
- 1166
- 1167
- 1168
- 1169
- 1170
- 1171
- 1172
- 1173
- 1174
- 1175
- 1176
- 1177
- 1178
- 1179
- 1180
- 1181
- 1182
- 1183
- 1184
- 1185
- 1186
- 1187
- 1188
- 1189
- 1190
- 1191
- 1192
- 1193
- 1194
- 1195
- 1196
- 1197
- 1198
- 1199
- 1200
- 1201
- 1202
- 1203
- 1204
- 1205
- 1206
- 1207
- 1208
- 1209
- 1210
- 1211
- 1212
- 1213
- 1214
- 1215
- 1216
- 1217
- 1218
- 1219
- 1220
- 1221
- 1222
- 1223
- 1224
- 1225
- 1226
- 1227
- 1228
- 1229
- 1230
- 1231
- 1232
- 1233
- 1234
- 1235
- 1236
- 1237
- 1238
- 1239
- 1240
- 1241
- 1242
- 1243
- 1244
- 1245
- 1246
- 1247
- 1248
- 1249
- 1250
- 1251
- 1252
- 1253
- 1254
- 1255
- 1256
- 1257
- 1258
- 1259
- 1260
- 1261
- 1262
- 1263
- 1264
- 1265
- 1266
- 1267
- 1268
- 1269
- 1270
- 1271
- 1272
- 1273
- 1274
- 1275
- 1276
- 1277
- 1278
- 1279
- 1280
- 1281
- 1282
- 1283
- 1284
- 1285
- 1286
- 1287
- 1288
- 1289
- 1290
- 1291
- 1292
- 1293
- 1294
- 1295
- 1296
- 1297
- 1298
- 1299
- 1300
- 1301
- 1302
- 1303
- 1304
- 1305
- 1306
- 1307
- 1308
- 1309
- 1310
- 1311
- 1312
- 1313
- 1314
- 1315
- 1316
- 1317
- 1318
- 1319
- 1320
- 1321
- 1322
- 1323
- 1324
- 1325
- 1326
- 1327
- 1328
- 1329
- 1330
- 1331
- 1332
- 1333
- 1334
- 1335
- 1336
- 1337
- 1338
- 1339
- 1340
- ...
- 1341
- 1342
- 1343
- 1344
- 1345
- 1346
- 1347
- 1348
- 1349
- 1350
- 1351
- 1352
- 1353
- 1354
- 1355
- 1356
- 1357
- 1358
- 1359
- 1360
- 1361
- 1362
- 1363
- 1364
- 1365
- 1366
- 1367
- 1368
- 1369
- 1370
- 1371
- 1372
- 1373
- 1374
- 1375
- 1376
- 1377
- 1378
- 1379
- 1380
- 1381
- 1382
- 1383
- 1384
- 1385
- 1386
- 1387
- 1388
- 1389
- 1390
- 1391
- 1392
- 1393
- 1394
- 1395
- 1396
- 1397
- 1398
- 1399
- 1400
- 1401
- 1402
- 1403
- 1404
- 1405
- 1406
- 1407
- 1408
- 1409
- 1410
- 1411
- 1412
- 1413
- 1414
- 1415
- 1416
- 1417
- 1418
- 1419
- 1420
- 1421
- 1422
- 1423
- 1424
- 1425
- 1426
- 1427
- 1428
- 1429
- 1430
- 1431
- 1432
- 1433
- 1434
- 1435
- 1436
- 1437
- 1438
- 1439
- 1440
- 1441
- 1442
- 1443
- 1444
- 1445
- 1446
- 1447
- 1448
- 1449
- 1450
- 1451
- 1452
- 1453
- 1454
- 1455
- 1456
- 1457
- 1458
- 1459
- 1460
- 1461
- 1462
- 1463
- 1464
- 1465
- 1466
- 1467
- 1468
- 1469
- 1470
- 1471
- 1472
- 1473
- 1474
- 1475
- 1476
- 1477
- 1478
- 1479
- 1480
- 1481
- 1482
- 1483
- 1484
- 1485
- 1486
- 1487
- 1488
- 1489
- 1490
- 1491
- 1492
- 1493
- 1494
- 1495
- 1496
- 1497
- 1498
- 1499
- 1500
- 1501
- 1502
- 1503
- 1504
- 1505
- 1506
- 1507
- 1508
- 1509
- 1510
- 1511
- 1512
- 1513
- 1514
- 1515
- 1516
- 1517
- 1518
- 1519
- 1520
- 1521
- 1522
- 1523
- 1524
- 1525
- 1526
- 1527
- 1528
- 1529
- 1530
- 1531
- 1532
- 1533
- 1534
- 1535
- 1536
- 1537
- 1538
- 1539
- 1540
- 1541
- 1542
- 1543
- 1544
- 1545
- 1546
- 1547
- 1548
- 1549
- 1550
- 1551
- 1552
- 1553
- 1554
- 1555
- 1556
- 1557
- 1558
- 1559
- 1560
- 1561
- 1562
- 1563
- 1564
- 1565
- 1566
- 1567
- 1568
- 1569
- 1570
- 1571
- 1572
- 1573
- 1574
- 1575
- 1576
- 1577
- 1578
- 1579
- 1580
- 1581
- 1582
- 1583
- 1584
- 1585
- 1586
- 1587
- 1588
- 1589
- 1590
- 1591
- 1592
- 1593
- 1594
- 1595
- 1596
- 1597
- 1598
- 1599
- 1600
- 1601
- 1602
- 1603
- 1604
- 1605
- 1606
- 1607
- 1608
- 1609
- 1610
- 1611
- 1612
- 1613
- 1614
- 1615
- 1616
- 1617
- 1618
- 1619
- 1620
- 1621
- 1622
- 1623
- 1624
- 1625
- 1626
- 1627
- 1628
- 1629
- 1630
- 1631
- 1632
- 1633
- 1634
- 1635
- 1636
- 1637
- 1638
- 1639
- 1640
- 1641
- 1642
- 1643
- 1644
- 1645
- 1646
- 1647
- 1648
- 1649
- 1650
- 1651
- 1652
- 1653
- 1654
- 1655
- 1656
- 1657
- 1658
- 1659
- 1660
- 1661
- 1662
- 1663
- 1664
- 1665
- 1666
- 1667
- 1668
- 1669
- 1670
- 1671
- 1672
- 1673
- 1674
- 1675
- 1676
- 1677
- 1678
- 1679
- 1680
- 1681
- 1682
- 1683
- 1684
- 1685
- 1686
- 1687
- 1688
- 1689
- 1690
- 1691
- 1692
- 1693
- 1694
- 1695
- 1696
- 1697
- 1698
- 1699
- 1700
- 1701
- 1702
- 1703
- 1704
- 1705
- 1706
- 1707
- 1708
- 1709
- 1710
- 1711
- 1712
- 1713
- 1714
- 1715
- 1716
- 1717
- 1718
- 1719
- 1720
- 1721
- 1722
- 1723
- 1724
- 1725
- 1726
- 1727
- 1728
- 1729
- 1730
- 1731
- 1732
- 1733
- 1734
- 1735
- 1736
- 1737
- 1738
- 1739
- 1740
- 1741
- 1742
- 1743
- 1744
- 1745
- 1746
- 1747
- 1748
- 1749
- 1750
- 1751
- 1752
- 1753
- 1754
- 1755
- 1756
- 1757
- 1758
- 1759
- 1760
- 1761
- 1762
- 1763
- 1764
- 1765
- 1766
- 1767
- 1768
- 1769
- 1770
- 1771
- 1772
- 1773
- 1774
- 1775
- 1776
- 1777
- 1778
- 1779
- 1780
- 1781
- 1782
- 1783
- 1784
- 1785
- 1786
- 1787
- 1788
- 1789
- 1790
- 1791
- 1792
- 1793
- 1794
- 1795
- 1796
- 1797
- 1798
- 1799
- 1800
- 1801
- 1802
- 1803
- 1804
- 1805
- 1806
- 1807
- 1808
- 1809
- 1810
- 1811
- 1812
- 1813
- 1814
- 1815
- 1816
- 1817
- 1818
- 1819
- 1820
- 1821
- 1822
- 1823
- 1824
- 1825
- 1826
- 1827
- 1828
- 1829
- 1830
- 1831
- 1832
- 1833
- 1834
- 1835
- 1836
- 1837
- 1838
- 1839
- 1840
- 1841
- 1842
- 1843
- 1844
- 1845
- 1846
- 1847
- 1848
- 1849
- 1850
- 1851
- 1852
- 1853
- 1854
- 1855
- 1856
- 1857
- 1858
- 1859
- 1860
- 1861
- 1862
- 1863
- 1864
- 1865
- 1866
- 1867
- 1868
- 1869
- 1870
- 1871
- 1872
- 1873
- 1874
- 1875
- 1876
- 1877
- 1878
- 1879
- 1880
- 1881
- 1882
- 1883
- 1884
- 1885
- 1886
- 1887
- 1888
- 1889
- 1890
- 1891
- 1892
- 1893
- 1894
- 1895
- 1896
- 1897
- 1898
- 1899
- 1900
- 1901
- 1902
- 1903
- 1904
- 1905
- 1906
- 1907
- 1908
- 1909
- 1910
- 1911
- 1912
- 1913
- 1914
- 1915
- 1916
- 1917
- 1918
- 1919
- 1920
- 1921
- 1922
- 1923
- 1924
- 1925
- 1926
- 1927
- 1928
- 1929
- 1930
- 1931
- 1932
- 1933
- 1934
- 1935
- 1936
- 1937
- 1938
- 1939
- 1940
- 1941
- 1942
- 1943
- 1944
- 1945
- 1946
- 1947
- 1948
- 1949
- 1950
- 1951
- 1952
- 1953
- 1954
- 1955
- 1956
- 1957
- 1958
- 1959
- 1960
- 1961
- 1962
- 1963
- 1964
- 1965
- 1966
- 1967
- 1968
- 1969
- 1970
- 1971
- 1972
- 1973
- 1974
- 1975
- 1976
- 1977
- 1978
- 1979
- 1980
- 1981
- 1982
- 1983
- 1984
- 1985
- 1986
- 1987
- 1988
- 1989
- 1990
- 1991
- 1992
- 1993
- 1994
- 1995
- 1996
- 1997
- 1998
- 1999
- 2000
- 2001
- 2002
- 2003
- 2004
- 2005
- 2006
- 2007
- 2008
- 2009
- 2010
- 2011
- 2012
- 2013
- 2014
- 2015
- 2016
- 2017
- 2018
- 2019
- 2020
- 2021
- 2022
- 2023
- 2024
- 2025
- 2026
- 2027
- 2028
- 2029
- 2030
- 2031
- 2032
- 2033
- 2034
- 2035
- 2036
- 2037
- 2038
- 2039
- 2040
- 2041
- 2042
- 2043
- 2044
- 2045
- 2046
- 2047
- 2048
- 2049
- 2050
- 2051
- 2052
- 2053
- 2054
- 2055
- 2056
- 2057
- 2058
- 2059
- 2060
- 2061
- 2062
- 2063
- 2064
- 2065
- 2066
- 2067
- 2068
- 2069
- 2070
- 2071
- 2072
- 2073
- 2074
- 2075
- 2076
- 2077
- 2078
- 2079
- 2080
- 2081
- 2082
- 2083
- 2084
- 2085
- 2086
- 2087
- 2088
- 2089
- 2090
- 2091
- 2092
- 2093
- 2094
- 2095
- 2096
- 2097
- 2098
- 2099
- 2100
- 2101
- 2102
- 2103
- 2104
- 2105
- 2106
- 2107
- 2108
- 2109
- 2110
- 2111
- 2112
- 2113
- 2114
- 2115
- 2116
- 2117
- 2118
- 2119
- 2120
- 2121
- 2122
- 2123
- 2124
- 2125
- 2126
- 2127
- 2128
- 2129
- 2130
- 2131
- 2132
- 2133
- 2134
- 2135
- 2136
- 2137
- 2138
- 2139
- 2140
- 2141
- 2142
- 2143
- 2144
- 2145
- 2146
- 2147
- 2148
- 2149
- 2150
- 2151
- 2152
- 2153
- 2154
- 2155
- 2156
- 2157
- 2158
- 2159
- 2160
- 2161
- 2162
- 2163
- 2164
- 2165
- 2166
- 2167
- 2168
- 2169
- 2170
- 2171
- 2172
- 2173
- 2174
- 2175
- 2176
- 2177
- 2178
- 2179
- 2180
- 2181
- 2182
- 2183
- 2184
- 2185
- 2186
- 2187
- 2188
- 2189
- 2190
- 2191
- 2192
- 2193
- 2194
- 2195
- 2196
- 2197
- 2198
- 2199
- 2200
- 2201
- 2202
- 2203
- 2204
- 2205
- 2206
- 2207
- 2208
- 2209
- 2210
- 2211
- 2212
- 2213
- 2214
- 2215
- 2216
- 2217
- 2218
- 2219
- 2220
- 2221
- 2222
- 2223
- 2224
- 2225
- 2226
- 2227
- 2228
- 2229
- 2230
- 2231
- 2232
- 2233
- 2234
- 2235
- 2236
- 2237
- 2238
- 2239
- 2240
- 2241
- 2242
- 2243
- 2244
- 2245
- 2246
- 2247
- 2248
- 2249
- 2250
- 2251
- 2252
- 2253
- 2254
- 2255
- 2256
- 2257
- 2258
- 2259
- 2260
- 2261
- 2262
- 2263
- 2264
- 2265
- 2266
- 2267
- 2268
- 2269
- 2270
- 2271
- 2272
- 2273
- 2274
- 2275
- 2276
- 2277
- 2278
- 2279
- 2280
- 2281
- 2282
- 2283
- 2284
- 2285
- 2286
- 2287
- 2288
- 2289
- 2290
- 2291
- 2292
- 2293
- 2294
- 2295
- 2296
- 2297
- 2298
- 2299
- 2300
- 2301
- 2302
- 2303
- 2304
- 2305
- 2306
- 2307
- 2308
- 2309
- 2310
- 2311
- 2312
- 2313
- 2314
- 2315
- 2316
- 2317
- 2318
- 2319
- 2320
- 2321
- 2322
- 2323
- 2324
- 2325
- 2326
- 2327
- 2328
- 2329
- 2330
- 2331
- 2332
- 2333
- 2334
- 2335
- 2336
- 2337
- 2338
- 2339
- 2340
- 2341
- 2342
- 2343
- 2344
- 2345
- 2346
- 2347
- 2348
- 2349
- 2350
- 2351
- 2352
- 2353
- 2354
- 2355
- 2356
- 2357
- 2358
- 2359
- 2360
- 2361
- 2362
- 2363
- 2364
- 2365
- 2366
- 2367
- 2368
- 2369
- 2370
- 2371
- 2372
- 2373
- 2374
- 2375
- 2376
- 2377
- 2378
- 2379
- 2380
- 2381
- 2382
- 2383
- 2384
- 2385
- 2386
- 2387
- 2388
- 2389
- 2390
- 2391
- 2392
- 2393
- 2394
- 2395
- 2396
- 2397
- 2398
- 2399
- 2400
- 2401
- 2402
- 2403
- 2404
- 2405
- 2406
- 2407
- 2408
- 2409
- 2410
- 2411
- 2412
- 2413
- 2414
- 2415
- 2416
- 2417
- 2418
- 2419
- 2420
- 2421
- 2422
- 2423
- 2424
- 2425
- 2426
- 2427
- 2428
- 2429
- 2430
- 2431
- 2432
- 2433
- 2434
- 2435
- 2436
- 2437
- 2438
- 2439
- 2440
- 2441
- 2442
- 2443
- 2444
- 2445
- 2446
- 2447
- 2448
- 2449
- 2450
- 2451
- 2452
- 2453
- 2454
- 2455
- 2456
- 2457
- 2458
- 2459
- 2460
- 2461
- 2462
- 2463
- 2464
- 2465
- 2466
- 2467
- 2468
- 2469
- 2470
- 2471
- 2472
- 2473
- 2474
- 2475
- 2476
- 2477
- 2478
- 2479
- 2480
- 2481
- 2482
- 2483
- 2484
- 2485
- 2486
- 2487
- 2488
- 2489
- 2490
- 2491
- 2492
- 2493
- 2494
- 2495
- 2496
- 2497
- 2498
- 2499
- 2500
- 2501
- 2502
- 2503
- 2504
- 2505
- 2506
- 2507
- 2508
- 2509
- 2510
- 2511
- 2512
- 2513
- 2514
- 2515
- 2516
- 2517
- 2518
- 2519
- 2520
- 2521
- 2522
- 2523
- 2524
- 2525
- 2526
- 2527
- 2528
- 2529
- 2530
- 2531
- 2532
- 2533
- 2534
- 2535
- 2536
- 2537
- 2538
- 2539
- 2540
- 2541
- 2542
- 2543
- 2544
- 2545
- 2546
- 2547
- 2548
- 2549
- 2550
- 2551
- 2552
- 2553
- 2554
- 2555
- 2556
- 2557
- 2558
- 2559
- 2560
- 2561
- 2562
- 2563
- 2564
- 2565
- 2566
- 2567
- 2568
- 2569
- 2570
- 2571
- 2572
- 2573
- 2574
- 2575
- 2576
- 2577
- 2578
- 2579
- 2580
- 2581
- 2582
- 2583
- 2584
- 2585
- 2586
- 2587
- 2588
- 2589
- 2590
- 2591
- 2592
- 2593
- 2594
- 2595
- 2596
- 2597
- 2598
- 2599
- 2600
- 2601
- 2602
- 2603
- 2604
- 2605
- 2606
- 2607
- 2608
- 2609
- 2610
- 2611
- 2612
- 2613
- 2614
- 2615
- 2616
- 2617
- 2618
- 2619
- 2620
- 2621
- 2622
- 2623
- 2624
- 2625
- 2626
- 2627
- 2628
- 2629
- 2630
- 2631
- 2632
- 2633
- 2634
- 2635
- 2636
- 2637
- 2638
- 2639
- 2640
- 2641
- 2642
- 2643
- 2644
- 2645
- 2646
- 2647
- 2648
- 2649
- 2650
- 2651
- 2652
- 2653
- 2654
- 2655
- 2656
- 2657
- 2658
- 2659
- 2660
- 2661
- 2662
- 2663
- 2664
- 2665
- 2666
- 2667
- 2668
- 2669
- 2670
- 2671
- 2672
- 2673
- 2674
- 2675
- 2676
- 2677
- 2678
- 2679
- 2680
- 2681
- 2682
- 2683
- 2684
- 2685
- 2686
- 2687
- 2688
- 2689
- 2690
- 2691
- 2692
- 2693
- 2694
- 2695
- 2696
- 2697
- 2698
- 2699
- 2700
- 2701
- 2702
- 2703
- 2704
- 2705
- 2706
- 2707
- 2708
- 2709
- 2710
- 2711
- 2712
- 2713
- 2714
- 2715
- 2716
- 2717
- 2718
- 2719
- 2720
- 2721
- 2722
- 2723
- 2724
- 2725
- 2726
- 2727
- 2728
- 2729
- 2730
- 2731
- 2732
- 2733
- 2734
- 2735
- 2736
- 2737
- 2738
- 2739
- 2740
- 2741
- 2742
- 2743
- 2744
- 2745
- 2746
- 2747
- 2748
- 2749
- 2750
- 2751
- 2752
- 2753
- 2754
- 2755
- 2756
- 2757
- 2758
- 2759
- 2760
- 2761
- 2762
- 2763
- 2764
- 2765
- 2766
- 2767
- 2768
- 2769
- 2770
- 2771
- 2772
- 2773
- 2774
- 2775
- 2776
- 2777
- 2778
- 2779
- 2780
- 2781
- 2782
- 2783
- 2784
- 2785
- 2786
- 2787
- 2788
- 2789
- 2790
- 2791
- 2792
- 2793
- 2794
- 2795
- 2796
- 2797
- 2798
- 2799
- 2800
- 2801
- 2802
- 2803
- 2804
- 2805
- 2806
- 2807
- 2808
- 2809
- 2810
- 2811
- 2812
- 2813
- 2814
- 2815
- 2816
- 2817
- 2818
- 2819
- 2820
- 2821
- 2822
- 2823
- 2824
- 2825
- 2826
- 2827
- 2828
- 2829
- 2830
- 2831
- 2832
- 2833
- 2834
- 2835
- 2836
- 2837
- 2838
- 2839
- 2840
- 2841
- 2842
- 2843
- 2844
- 2845
- 2846
- 2847
- 2848
- 2849
- 2850
- 2851
- 2852
- 2853
- 2854
- 2855
- 2856
- 2857
- 2858
- 2859
- 2860
- 2861
- 2862
- 2863
- 2864
- 2865
- 2866
- 2867
- 2868
- 2869
- 2870
- 2871
- 2872
- 2873
- 2874
- 2875
- 2876
- 2877
- 2878
- 2879
- 2880
- 2881
- 2882
- 2883
- 2884
- 2885
- 2886
- 2887
- 2888
- 2889
- 2890
- 2891
- 2892
- 2893
- 2894
- 2895
- 2896
- 2897
- 2898
- 2899
- 2900
- 2901
- 2902
- 2903
- 2904
- 2905
- 2906
- 2907
- 2908
- 2909
- 2910
- 2911
- 2912
- 2913
- 2914
- 2915
- 2916
- 2917
- 2918
- 2919
- 2920
- 2921
- 2922
- 2923
- 2924
- 2925
- 2926
- 2927
- 2928
- 2929
- 2930
- 2931
- 2932
- 2933
- 2934
- 2935
- 2936
- 2937
- 2938
- 2939
- 2940
- 2941
- 2942
- 2943
- 2944
- 2945
- 2946
- 2947
- 2948
- 2949
- 2950
- 2951
- 2952
- 2953
- 2954
- 2955
- 2956
- 2957
- 2958
- 2959
- 2960
- 2961
- 2962
- 2963
- 2964
- 2965
- 2966
- 2967
- 2968
- 2969
- 2970
- 2971
- 2972
- 2973
- 2974
- 2975
- 2976
- 2977
- 2978
- 2979
- 2980
- 2981
- 2982
- 2983
- 2984
- 2985
- 2986
- 2987
- 2988
- 2989
- 2990
- 2991
- 2992
- 2993
- 2994
- 2995
- 2996
- 2997
- 2998
- 2999
- 3000
- 3001
- 3002
- 3003
- 3004
- 3005
- 3006
- 3007
- 3008
- 3009
- 3010
- 3011
- 3012
- 3013
- 3014
- 3015
- 3016
- 3017
- 3018
- 3019
- 3020
- 3021
- 3022
- 3023
- 3024
- 3025
- 3026
- 3027
- 3028
- 3029
- 3030
- 3031
- 3032
- 3033
- 3034
- 3035
- 3036
- 3037
- 3038
- 3039
- 3040
- 3041
- 3042
- 3043
- 3044
- 3045
- 3046
- 3047
- 3048
- 3049
- 3050
- 3051
- 3052
- 3053
- 3054
- 3055
- 3056
- 3057
- 3058
- 3059
- 3060
- 3061
- 3062
- 3063
- 3064
- 3065
- 3066
- 3067
- 3068
- 3069
- 3070
- 3071
- 3072
- 3073
- 3074
- 3075
- 3076
- 3077
- 3078
- 3079
- 3080
- 3081
- 3082
- 3083
- 3084
- 3085
- 3086
- 3087
- 3088
- 3089
- 3090
- 3091
- 3092
- 3093
- 3094
- 3095
- 3096
- 3097
- 3098
- 3099
- 3100
- 3101
- 3102
- 3103
- 3104
- 3105
- 3106
- 3107
- 3108
- 3109
- 3110
- 3111
- 3112
- 3113
- 3114
- 3115
- 3116
- 3117
- 3118
- 3119
- 3120
- 3121
- 3122
- 3123
- 3124
- 3125
- 3126
- 3127
- 3128
- 3129
- 3130
- 3131
- 3132
- 3133
- 3134
- 3135
- 3136
- 3137
- 3138
- 3139
- 3140
- 3141
- 3142
- 3143
- 3144
- 3145
- 3146
- 3147
- 3148
- 3149
- 3150
- 3151
- 3152
- 3153
- 3154
- 3155
- 3156
- 3157
- 3158
- 3159
- 3160
- 3161
- 3162
- 3163
- 3164
- 3165
- 3166
- 3167
- 3168
- 3169
- 3170
- 3171
- 3172
- 3173
- 3174
- 3175
- 3176
- 3177
- 3178
- 3179
- 3180
- 3181
- 3182
- 3183
- 3184
- 3185
- 3186
- 3187
- 3188
- 3189
- 3190
- 3191
- 3192
- 3193
- 3194
- 3195
- 3196
- 3197
- 3198
- 3199
- 3200
- 3201
- 3202
- 3203
- 3204
- 3205
- 3206
- 3207
- 3208
- 3209
- 3210
- 3211
- 3212
- 3213
- 3214
- 3215
- 3216
- 3217
- 3218
- 3219
- 3220
- 3221
- 3222
- 3223
- 3224
- 3225
- 3226
- 3227
- 3228
- 3229
- 3230
- 3231
- 3232
- 3233
- 3234
- 3235
- 3236
- 3237
- 3238
- 3239
- 3240
- 3241
- 3242
- 3243
- 3244
- 3245
- 3246
- 3247
- 3248
- 3249
- 3250
- 3251
- 3252
- 3253
- 3254
- 3255
- 3256
- 3257
- 3258
- 3259
- 3260
- 3261
- 3262
- 3263
- 3264
- 3265
- 3266
- 3267
- 3268
- 3269
- 3270
- 3271
- 3272
- 3273
- 3274
- 3275
- 3276
- 3277
- 3278
- 3279
- 3280
- 3281
- 3282
- 3283
- 3284
- 3285
- 3286
- 3287
- 3288
- 3289
- 3290
- 3291
- 3292
- 3293
- 3294
- 3295
- 3296
- 3297
- 3298
- 3299
- 3300
- 3301
- 3302
- 3303
- 3304
- 3305
- 3306
- 3307
- 3308
- 3309
- 3310
- 3311
- 3312
- 3313
- 3314
- 3315
- 3316
- 3317
- 3318
- 3319
- 3320
- 3321
- 3322
- 3323
- 3324
- 3325
- 3326
- 3327
- 3328
- 3329
- 3330
- 3331
- 3332
- 3333
- 3333
推荐文章