华为云用户手册
-
安装MinIO MinIO 是一个兼容S3接口协议的高性能对象存储开源工具。若使用MinIO进行存放集群迁移的备份文件,您需要一台临时服务器用于部署MinIO并对外提供服务。若您使用OBS存放备份文件,请忽略此步骤,前往安装Velero。 MinIO的安装位置选择有如下几种: 集群外临时E CS 将MinIO服务端安装在集群外,能够保障集群发生灾难性故障时,备份文件不会受到影响。 集群内的空闲节点 您可以远程登录节点安装MinIO服务端,也可以选择容器化安装MinIO,请参考Velero官方文档https://velero.io/docs/v1.7/contributions/minio/#set-up-server。 如使用容器化安装MinIO: Velero官方文档提供的YAML文件中存储类型为empty dir,建议将其修改为HostPath或Local类型,否则容器重启后将永久丢失备份文件。 您需将MinIO服务对外提供访问,否则将无法在集群外下载备份文件,可选择将Service修改为NodePort类型或使用其他类型的公网访问服务。 无论使用何种方法进行部署,安装MinIO的服务器需要有足够的存储空间,且均需要绑定EIP并在安全组中开放MinIO的服务端口,否则将无法上传(下载)备份文件。 本示例选择在一台集群外的临时ECS上安装MinIO,步骤如下。 下载MinIO对象存储。 mkdir /opt/miniomkdir /opt/miniodatacd /opt/miniowget https://dl.minio.io/server/minio/release/linux-amd64/miniochmod +x minio 设置MinIO的用户名及密码。 此方法设置的用户名及密码为临时环境变量,在服务重启后需要重新设定,否则会使用默认root凭据minioadmin:minioadmin来创建服务。 export MINIO_ROOT_USER=minioexport MINIO_ROOT_PASSWORD=minio123 创建服务,其中/opt/miniodata/为MinIO 存储数据的本地磁盘路径。 MinIO的API端口默认为9000,console端口默认为随机生成,您可使用--console-address参数指定console访问端口。 ./minio server /opt/miniodata/ --console-address ":30840" & 安装MinIO工具的服务器需开放防火墙、安全组中对应的API和console端口,否则将无法访问对象桶。 浏览器访问http://{minio所在节点的eip}:30840,可进入MinIO console界面。
-
目标集群应用恢复 由于自建集群与后端的存储基础设施不同,集群迁移后会遇到Pod无法挂载PV的问题。因此在进行迁移时需要对新集群中的StorageClass进行适配,从而在创建工作负载时可以屏蔽两个集群之间底层存储接口的差异,申请相应类型的存储资源,相关操作请参考StorageClass更新适配。若您使用 对象存储迁移 服务 OMS 完成存储迁移,可参考对接已有对象存储将对象存储桶挂载到应用实例。 通过kubectl连接CCE集群,这里选择创建一个原集群中相同名称StorageClass来完成适配。 本例中原集群的StorageClass名为local,存储类型为本地磁盘。本地磁盘存储完全依赖节点可用性,数据容灾性能差,节点不可用时将直接影响已有存储数据。因此CCE集群中的存储资源选用云硬盘存储卷,后端存储介质使用SAS存储。 包含PV数据的应用在CCE集群中进行恢复时,定义的StorageClass将会根据PVC动态创建相应的存储资源(如云硬盘)并挂载,请您知悉。 此处集群的存储资源可以根据需求进行更改,并非仅限于云硬盘存储卷。若需要挂载其他类型的存储,如文件存储、对象存储,请参考StorageClass更新适配进行适配。 被迁移侧集群YAML文件: apiVersion: storage.k8s.io/v1kind: StorageClassmetadata: name: localprovisioner: kubernetes.io/no-provisionervolumeBindingMode: WaitForFirstConsumer 迁移侧集群YAML文件示例如下: allowVolumeExpansion: trueapiVersion: storage.k8s.io/v1kind: StorageClassmetadata: name: local selfLink: /apis/storage.k8s.io/v1/storageclasses/csi-diskparameters: csi.storage.k8s.io/csi-driver-name: disk.csi.everest.io csi.storage.k8s.io/fstype: ext4 everest.io/disk-volume-type: SAS everest.io/passthrough: "true"provisioner: everest-csi-provisionerreclaimPolicy: DeletevolumeBindingMode: Immediate 使用Velero工具创建restore,指定名称为wordpress-backup的备份,将Wordpress应用恢复至CCE集群。 velero restore create --from-backup wordpress-backup 可通过velero restore get语句查看应用恢复情况。 恢复完成后查看应用实例是否正常运行,可能存在其他的更新适配问题,请参考资源更新适配中的步骤排查解决。
-
前提条件 请在迁移前提前清理原集群中异常的Pod资源。当Pod状态异常但是又挂载了PVC的资源时,在集群迁移后,PVC状态会处于pending状态。 请确保CCE侧集群中没有与被迁移集群侧相同的资源,因为Velero工具在检测到相同资源时,默认不进行恢复。 为确保集群迁移后容器镜像资源可以正常拉取,请将镜像资源迁移至 容器镜像服务 (SWR)。 CCE不支持ReadWriteMany的云硬盘存储,在原集群中存在该类型资源时,需要先修改为ReadWriteOnce。 Velero集成Restic工具对存储卷进行备份还原,当前不支持HostPath类型的存储卷,详情请参见Restic限制。若您需备份该类型的存储卷,请将HostPath类型替换为Local类型。当备份任务中存在HostPath类型的存储,该类型存储卷将会被自动跳过并产生Warning信息,并不会导致备份失败。
-
创建StorageClass 本示例WordPress应用使用阿里云SSD类型持久化数据卷,相应的在CCE中需要适配成华为云SSD。 本示例中使用的StorageClass是alicloud-disk-ssd,需要创建一个同名的SC,但后端存储介质使用华为云SSD存储。此处请根据自己的应用来适配。 [root@ccenode-roprr hujun]# cat cce-sc-csidisk-ack.yaml allowVolumeExpansion: true apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: alicloud-disk-ssd selfLink: /apis/storage.k8s.io/v1/storageclasses/csi-disk parameters: csi.storage.k8s.io/csi-driver-name: disk.csi.everest.io csi.storage.k8s.io/fstype: ext4 everest.io/disk-volume-type: SSD everest.io/passthrough: "true" provisioner: everest-csi-provisioner reclaimPolicy: Delete volumeBindingMode: Immediate [root@ccenode-roprr hujun]# kubectl create -f cce-sc-csidisk-ack.yaml
-
SDK列表 表1提供了Organizations服务支持的SDK列表,您可以在GitHub仓库查看SDK更新历史、获取安装包以及查看指导文档。 表1 SDK列表 编程语言 Github地址 参考文档 Java huaweicloud-sdk-java-v3 Java SDK使用指导 Python huaweicloud-sdk-python-v3 Python SDK使用指导 Go huaweicloud-sdk-go-v3 Go SDK使用指导
-
操作场景 本文使用Wordpress应用为例,将自建Kubernetes集群中应用整体迁移到CCE集群。Wordpress应用包含Wordpress和MySQL两个组件,均为容器化实例,分别绑定了两个Local类型的本地存储卷,并通过NodePort服务对外提供访问。 迁移前通过浏览器访问Wordpress站点,创建站点名称为“Migrate to CCE”,并发布一篇文章用于验证迁移后PV数据的完整性。Wordpress中发布的文章会被存储在MySQL数据库的“wp_posts”表中,若迁移成功,数据库中的内容也将会被全量搬迁至新集群,可依此进行PV数据迁移校验。
-
收集范围 工单收集及产生的个人数据参见表1。 表1 个人数据范围列表 类型 收集方式 使用目的 是否可以修改 是否必须 生命周期 用户名 注册华为云账号时提供 用于通知工单处理进展 是 是 用户帐号注销,会被清除 IP 使用服务时 记录审计日志 否 是 日志清空时删除 授权信息 在授权页面填写,可能包括管理控制台帐号密码、云主机信息等 在需要协助处理或者信息确认时提供,便于服务人员登录主机或者控制台协助进行问题修复,可以拒绝、撤销授权 否 否 工单处理完成后自动清除 授权到期后自动删除 主动撤销授权时删除 工单信息 在创建工单以及留言页面提交的信息,包括描述、留言、上传日志截图等文件 在创建工单以及留言页面提交的信息,在处理过程中服务人员要求提供的信息以更快更准确的定位处理问题 提交时请注意不要在工单描述、留言、日志文件等地方提交个人敏感数据,比如密码、手机号等 否 是 工单信息是工单处理的基本必要信息,不包括个人敏感数据,出于质检、审计等目的,数据将长期保存 邮箱 在创建工单页面提供的联系邮箱 注册华为云账号时提供的邮箱 如果希望获取工单进展通知时需要填写 注册邮箱仅作为紧急联系方式,工单处理、回访等会优先联系创建工单提交的邮箱 是 否 在提单页面新认证的邮箱有效期为3个月,到期自动清除 工单处理完成后自动清除 可以主动清除创建工单提供的手机号、邮箱 华为云帐号注销后,注册联系邮箱、手机号等信息会清除 手机号 在创建工单页面提供的联系手机号 注册华为云账号时提供的手机号 如果希望获取工单进展通知时需要填写 注册手机号仅作为紧急联系方式,工单处理、回访等会优先联系创建工单提交的手机号 是 否
-
工单管理系统权限 默认情况下,管理员创建的 IAM 用户没有任何权限,需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。 工单管理不区分物理区域,为全局级服务。授权时,在全局项目中设置策略,访问工单管理时,不需要切换区域。 如表1所示,包括了工单管理的所有系统角色。 表1 工单管理系统权限 角色名称 描述 类别 Ticket Administrator(全局项目) 工单服务管理员。 系统角色 Ticket Group Operator(全局项目) 该权限用于处理同组其他用户工单,以便协同办公。 系统角色 表2列出了工单管理常用操作与系统策略的授权关系,您可以参照该表选择合适的系统策略。 表2 常用操作与系统策略的关系 策略名称 Ticket Administrator(全局项目) Ticket Group Operator(全局项目) 提交工单 √ x 查询工单 √ √ 催单 √ √ 撤销工单 √ √ 删除工单 √ √ 确认工单 √ √ 处理同组工单 x √
-
数据过滤 算子简介 名称:数据过滤 功能说明:根据设置的条件过滤数据,满足条件的数据则输出,不满足条件的数据将被丢弃。 约束:下游不允许对接数据源及产品过滤算子。 算子配置 基础配置项 算子名称: 配置项英文名:name 说明:算子名称,对算子进行个性化的命名,以辅助增加可读性。支持中文、英文、数字、中划线、下划线,长度小于等于64个字符。 类型:STRING 必选:否 约束:需要符合正则表达式: ^[\u4E00-\u9FA5A-Za-z0-9_-]{1,64}$ 条件关系: 配置项英文名:conditionRelationship 说明:条件关系,用于指定conditions下的各个条件之间的关系,可以是 与 、 或。 类型:STRING 必选:否,默认为 AND 约束:仅可填写 AND 或 OR 过滤条件: 配置项英文名:conditions 说明:过滤条件,可以配置多个,多个过滤条件之间的关系由 conditionRelationship指定。 必选:是 子配置项:conditions包括如下子配置项:属性、计算符号、数值。 属性: 配置项英文名:property 说明:属性, 以JSON Path格式来指定属性。 类型:STRING 必选:是 约束:需要符合正则表达式: ^.{1,1000}$ 计算符号: 配置项英文名:symbol 说明:计算符号, 如大于、小于、等于等,目前支持:MORE_THAN、MORE_THAN_EQUAL、LESS_THAN、LESS_THAN_EQUAL、EQUAL、NOT_EQUAL 类型:STRING 必选:是 约束:必须是MORE_THAN、MORE_THAN_EQUAL、LESS_THAN、LESS_THAN_EQUAL、EQUAL、NOT_EQUAL中的一个。 数值: 配置项英文名:value 说明:数值, 即条件的右值,如条件:大于100中的100即为value的值。 类型:STRING 必选:是 约束:需要符合正则表达式: ^.{0,50}$ 高级配置项 并行数: 配置项英文名:parallelism 说明:并行数,指定算子执行时的并行任务个数。对于性能要求越高的算子,可以设置较高的并行数,但是占用资源越多。如果此参数不设置,那么作业运行时本算子使用作业的并行数设置。 类型:INTEGER 必选:否 约束:最小值1, 最大值 1024。 父主题: 转换类算子
-
操作步骤 访问“IoT数据分析”服务产品页,点击“立即使用”进入"IoT数据分析"服务控制台。 在左侧导航栏选择“数据管理”,进入数据管道页面,在“管理列表”点击“创建数据管道”。 弹出“创建数据管道”对话框,您可自行填写“作业名称”(注意:同一用户所创建的作业名称不可重复)、“描述”,并选择数据源(若列表为空,请跳转到“创建数据源”链接创建数据源,详见数据源章节),如下图所示。 使用IoTDA数据源时,系统会自动读取该数据源的相关信息及相关的产品信息,生成作业执行流程,如图所示。 上图所示示例中,所选择的IoTDA数据源包含两种设备:烟感设备与水表,系统自动生成了两个处理分支,分别用于处理这两种设备上报的数据。 这两个分支各自以一个“产品过滤”算子作为起始点,分别过滤出这两种设备的数据,以便于后续处理流程仅处理某一种产品的数据,如图所示。 系统还自动根据这两种设备的产品信息(该产品信息以安全的方式从IoTDA获取),生成了默认的输出配置。 请用户自行选择存储组,并填写存储名称,补齐配置内容即可保存,如图所示。
-
资产(Asset) 资产是指物理世界中需要被管理的、具有唯一标识的事物或业务对象,如一个资产可以对应一个物理设备(如机床),也可以对应一组设备或对象(如生产线、车间)。在资产建模时,必须利用资产模型来创建资产,资产中的属性、分析任务均与其所属资产模型保持一致。 例子,如下图所示为现实世界中一个工厂的示意图 该工厂例子中有工厂、机械臂、铣床、卸货机械手四类物理对象,因此需构建Factory、MechanicalArm、MillingMachine、Unloadingmanipulator四个资产模型,然后利用各模型创建相应资产,并根据现实世界中资产间拓扑关系建立数字世界中资产树拓扑关系,得到如下图所示的数字资产模型
-
分析任务(Analysis) 分析任务是指对属性数据进行计算分析的任务,分析任务类型有3种,包括转换计算、聚合计算、流计算。 转换计算类分析任务是指,当参数所引用的属性值发生变化时,对单个或多个属性值进行常规数学表达式计算,表达式中不能使用时间聚合公式。 例子:(a+b)/2; 聚合计算类分析任务是指,对资产的属性值进行周期性的时间聚合计算或空间聚合计算,表达式中可以使用时间聚合算子,其中空间聚合计算是指多个资产属性时间聚合计算子表达式再进行联合预算(此时各属性时间聚合计算的时间范围和周期相同),如下例子所示。 例子:StateTime(machineState, 100) + StateTime(machineState, 101),时间范围: 15min, 周期: 15min; 流计算类分析任务是指,以资产模型中的属性作为输入、调用IoT数据分析服务的实时分析作业进行计算、输出结果返回到资产模型的属性值,数据流示意图如下。
-
DIS输出 算子简介 名称: DIS输出,IoT数据分析服务仅在华为云部署形态支持DIS数据源 功能说明: 数据输出到DIS云服务。 约束:下游不允许接任何算子。 算子配置 基础配置项 算子名称: 配置项英文名:name 说明: 算子名称,对算子进行个性化的命名,以辅助增加可读性。支持中文、英文、数字、中划线、下划线,长度小于等于64个字符。 类型: STRING 必选: 否 约束: 需要符合正则表达式: ^[\u4E00-\u9FA5A-Za-z0-9_-]{1,64}$ 数据源ID: 配置项英文名:datasSourceId 说明: DIS数据源ID,此数据源必须在本服务被授权访问。 数据源ID可以通过数据源接口: /v1/${project_id}/datasources?type=DIS获取。 类型: STRING 必选: 是 约束: 需要符合正则表达式: ^[a-zA-Z0-9][\w_-]{1,64}$ 高级配置项 并行数: 配置项英文名:parallelism 说明: 并行数,指定算子执行时的并行任务个数。对于性能要求越高的算子,可以设置较高的并行数,但是占用资源越多。如果此参数不设置,那么作业运行时本算子使用作业的并行数设置。 类型: INTEGER 必选: 否 约束: 最小值1, 最大值 1024。 分区策略: 配置项英文名:partitioner 说明: 分区策略,用于将数据有序地按分区策略写入DIS。 类型: STRING 必选: 否 约束: 需要符合正则表达式:^[a-z_A-Z]\w{0,254}$。 父主题: 输出类算子
-
使用DIS数据源 点击导航栏上的“数据管理”标签,进入数据管道页面,在“管理列表”部分有一按钮“创建数据管道”,如图所示: 点击“创建数据管道”按钮,弹出“创建数据管道”对话框,用户可自行填写“作业名称”(注意:同一用户所创建的作业名称不可重复)、“描述”,并选择数据源(若列表为空,请跳转到“创建数据源”链接创建数据源,详见数据源章节),如下图所示: 目前可支持的数据源两种类型:IoTDA数据源、DIS数据源。 使用DIS数据源时,需要用户自行配置数据源及数据处理流程,如图所示: 且不再需要“产品过滤”算子: 父主题: 创建数据管道
-
数据模板 资产数据输入 数据模板 字段名 字段说明 是否必填 { "type": "FunctionCall", "message": { "projectId": "080dd91ecc802xxxxxx01be5f9d68d", "jobId": "J_79519506820943xxx", "context": { "assetId": "assetId01", "analysisId": "analysisId01" }, "input": { "integer": "", "double": "", "string": "", "object": { "a": "", "b": "" } }, "timestamp": 1624440752632 }, "msgVersion": "1.0" } type 数据类型,必须模板默认值,用户不能修改 是 message 消息体,必须模板默认值,用户不能修改 是 projectId 租户id,必须模板默认值,用户不能修改 是 jobId 当前实时分析任务id,必须模板默认值,用户不能修改 是 context 资产信息,必须模板默认值,用户不能修改 是 input 输入数据,必须包含算子配置的“参数名称”。例如input中包含“integer”字段。 数据支持integer、double、string、object(josn)类型 是 timestamp 时间戳字段,Long类型,用户可自定义数值。 是 msgVersion 消息版本,必须模板默认值,用户不能修改 是 管道数据输入 数据模板 字段名 字段说明 是否必填 { "header": { "projectId": "080dd91ecc8026bxxxxx01be5f9d68d", "dataSourceId": "", "pipelineId": "J_79519506820943xxx", "rtaOutputName": "output01" }, "body": { "eventTime": "1624442214553", "data": { "integer": "", "double": "", "string": "", "object": { "a": "", "b": "" } } } } header 消息头,必须模板默认值,用户不能修改。 是 projectId 租户id,必须模板默认值,用户不能修改。 是 dataSourceId 数据源id,必须模板默认值,用户不能修改。 是 pipelineId 管道任务id,必须模板默认值,用户不能修改。 是 rtaOutputName RTA 的数据名称,必须模板默认值,用户不能修改。 是 body 输入数据,必须包含算子配置的“参数名称”。例如input中包含“integer”字段。 是 eventTime 时间戳字段,Long类型,用户可自定义数值。 是 data 管道输出字段集合,数据支持integer、double、string、object(josn)类型。用户可自定义data内部字段名和值。 是 资产数据输入(旧) 数据模板 字段名 字段说明 是否必填 { "type": "MeasPointValue", "message": { "projectId": "092b845deb00dxxxxxx0181be20fa1", "viewId": "trace_test", "viewName": "", "assetId": "", "assetName": "", "assetCategory": "", "measurePointId": "", "measurePointName": "", "measurePointCategory": "", "valueType": "", "value": "", "eventTime": "20210623T181127+0800" }, "msgVersion": "1.0" } type 数据类型,必须模板默认值,用户不能修改 是 message 消息体,必须模板默认值,用户不能修改 是 projectId 租户id,必须模板默认值,用户不能修改 是 viewId 视图id,必须模板默认值,用户不能修改 是 viewName 视图名称 否 assetId 资产id 否 assetName 资产名称 否 assetCategory 资产目录 否 measurePointId 测点id 否 measurePointName 测点名称 否 measurePointCategory 测点目录 否 valueType 数据类型,数据支持integer、double、string、object(josn)类型,用户自行定义。 是 value 数据值,数据支持integer、double、string、object(josn)类型,用户自行定义。 是 eventTime 时间字段,用户可自定义数值。 是 msgVersion 消息版本,必须模板默认值,用户不能修改。 是 数据存储数据源(旧) 数据模板 字段名 字段说明 是否必填 { "header": { "projectId": "092b845deb00d45cxxxxxx1be20fa1", "dataSourceId": "", "pipelineId": "", "dataStoreId": "0264bbad-xxxx-4f5d-xxxx-5d87c1bfaa90" }, "body": { "deviceId": "", "eventTime": "1624503993013", "data": { "integer": "", "double": "", "string": "", "object": { "a": "", "b": "" } } } } header 消息头,必须模板默认值,用户不能修改。 是 projectId 租户id,必须模板默认值,用户不能修改。 是 dataSourceId 数据源id,必须模板默认值,用户不能修改。 是 pipelineId 管道任务id,必须模板默认值,用户不能修改。 是 dataStoreId 数据存储id,必须模板默认值,用户不能修改。 是 body 输入数据,必须包含算子配置的“参数名称”。例如input中包含“integer”字段。 是 deviceId 设备id,用户可自定义。 否 eventTime 时间戳字段,Long类型,用户可自定义数值。 是 data 管道输出字段集合,数据支持integer、double、string、object(josn)类型。用户可自定义data内部字段名和值。 是 父主题: 作业调试
-
选择属性 算子简介 名称:选择属性 功能说明:在输入数据中选择保留的属性,未选择的属性被删除。 约束:下游不允许对接数据源及产品过滤算子。 算子配置 基础配置项 算子名称: 配置项英文名:name 说明:算子名称,对算子进行个性化的命名,以辅助增加可读性。支持中文、英文、数字、中划线、下划线,长度小于等于64个字符。 类型:STRING 必选:否 约束:需要符合正则表达式: ^[\u4E00-\u9FA5A-Za-z0-9_-]{1,64}$ 属性: 配置项英文名:properties 说明:属性,以JSON Path格式来指定保留的属性。 类型:STRING 必选:是 约束:需要符合正则表达式: ^.{1,1000}$。 高级配置项 并行数: 配置项英文名:parallelism 说明:并行数,指定算子执行时的并行任务个数。对于性能要求越高的算子,可以设置较高的并行数,但是占用资源越多。如果此参数不设置,那么作业运行时本算子使用作业的并行数设置。 类型:INTEGER 必选:否 约束:最小值1, 最大值 1024。 父主题: 转换类算子
-
产品过滤 算子简介 名称:产品过滤 功能说明:根据IoT 设备接入服务 (IoTDA)定义产品过滤出指定产品ID的设备数据。此算子仅在数据源为IoTDA时使用。 约束: 只允许跟在IoT设备接入数据源算子之后。 算子配置 基础配置项 算子名称: 配置项英文名:name 说明:算子名称,对算子进行个性化的命名,以辅助增加可读性。支持中文、英文、数字、中划线、下划线,长度小于等于64个字符。 类型:STRING 必选:否 约束:需要符合正则表达式: ^[\u4E00-\u9FA5A-Za-z0-9_-]{1,64}$ IoTDA上的资源空间ID: 配置项英文名:appId 说明:IoTDA上的资源空间ID。 类型:STRING 必选:是 约束:需要符合正则表达式:^.{1,64}$ 产品ID: 配置项英文名:productId 说明:IoTDA上的产品ID。 类型:STRING 必选:是 约束:需要符合正则表达式:^[a-zA-Z0-9][\w_-]{1,64}$ 高级配置项 并行数: 配置项英文名:parallelism 说明:并行数,指定算子执行时的并行任务个数。对于性能要求越高的算子,可以设置较高的并行数,但是占用资源越多。如果此参数不设置,那么作业运行时本算子使用作业的并行数设置。 类型:INTEGER 必选:否 约束:最小值1, 最大值 1024。 父主题: 转换类算子
-
数据存储输出 算子简介 名称: 数据存储输出 功能说明: 数据输出到指定的数据存储。 约束:下游不允许接任何算子。 算子配置 基础配置项 算子名称: 配置项英文名:name 说明: 算子名称,对算子进行个性化的命名,以辅助增加可读性。支持中文、英文、数字、中划线、下划线,长度小于等于64个字符。 类型: STRING 必选: 否 约束: 需要符合正则表达式: ^[\u4E00-\u9FA5A-Za-z0-9_-]{1,64}$ 数据存储: 配置项英文名:dataStore 说明: 数据存储,如果需要把管道输出数据保存,则需要指定存储。如果没有指定存储,管道输出数据则不保存。 必选: 是 子配置项: 数据存储配置包含如下子配置项: 存储组ID、存储组名称、数据存储ID、数据存储名称、数据存储属性。 存储组ID: 配置项英文名:dataStorageGroupId 说明: 指定输出到数据存储的存储组ID,当使用Console进行操作时,该选项会自动填充,因此Console中不显示存储组ID配置项;当使用API时,需要用户自行输入。 类型: STRING 必选: 是 约束: 需要符合正则表达式: ^[a-zA-Z0-9_-][\w-]{0,256}$ 存储组名称: 配置项英文名:dataStorageGroupName 说明: 指定存储组的名称。 类型: STRING 必选: 是 约束: 需要符合正则表达式: ^[-a-zA-Z0-9_\u4E00-\u9FA5 ]{1,64}$ 数据存储ID: 配置项英文名:dataStoreId 说明: 指定某个数据存储,当使用Console进行操作时,该选项会自动填充,因此Console中不显示存储ID配置项;当使用API时,需要用户自行输入。 类型: STRING 必选: 是 约束: 需要符合正则表达式: ^[a-zA-Z0-9_-][\w-]{0,256}$ 数据存储名称: 配置项英文名:dataStoreName 说明: 指定数据存储的名称,若存储ID不存在,则使用该名称创建新的存储。 类型: STRING 必选: 是 约束: 需要符合正则表达式: ^[-a-zA-Z0-9_\u4E00-\u9FA5 ]{1,64}$ 数据存储属性: 配置项英文名:dataStoreProperty 说明: 数据存储属性,这些属性即为管道的输出数据。 必选: 是 子配置项: 数据存储属性配置包含如下子配置项: 设备ID来源、属性。 设备ID来源: 配置项英文名:deviceId 说明: 设备id来源,以JSON Path格式来指定设备ID的获取来源。 类型: STRING 必选: 是 约束: 需要符合正则表达式: ^.{1,1000}$ 属性: 配置项英文名:properties 说明: 管道输出的属性列表,仅在此列表的属性才能输出。 必选: 是 子配置项: 属性配置包含如下子配置项: 属性名称、属性类型、源属性、标签、单位。 属性名称: 配置项英文名:name 说明: 属性名称,对输出属性进行命名。属性名称不允许为deviceId, eventTime, time和sys_前缀,列名不能重复,只能包含数字、字母和下划线,不能以下划线或数字开头,长度为1~64。 类型: STRING 必选: 是 约束: 需要符合正则表达式: ^[a-zA-Z0-9_]{1,64}$。 属性类型: 配置项英文名:type 说明: 属性类型,指定属性的格式类型。类型转换失败时,字段不输出。 类型: STRING 必选: 是 约束: 只支持4种数据类型INTEGER、DOUBLE、STRING、OBJECT。 源属性: 配置项英文名:existingProperty 说明: 源属性,以JSON Path格式来指定源属性,以作为输出属性的取值。 类型: STRING 必选: 是 约束: 需要符合正则表达式: ^.{1,1000}$ 标签: 配置项英文名:tag 说明: 是否作为时序分析的标签。其对应属性的类型必须为STRING,如果属性的类型不STRING,此配置忽略。 类型: STRING 必选: 否,默认为FALSE,即不作为标签。 约束: 只可以是TRUE或FALSE。 单位: 配置项英文名:unit 说明: 指定属性的的单位,仅用于用户填写后传给存储创建DataStore用。 类型: STRING 必选: 否。 约束: 需要符合正则表达式: ^.{1,50}$ 父主题: 输出类算子
-
数据扁平 算子简介 名称:数据扁平 功能说明:数据扁平算子,把数据流中的嵌套Json字段转换为多个独立字段。 约束:下游不允许对接数据源及产品过滤算子。 算子配置 基础配置项 算子名称: 配置项英文名:name 说明:算子名称,对算子进行个性化的命名,以辅助增加可读性。支持中文、英文、数字、中划线、下划线,长度小于等于64个字符。 类型:STRING 必选:否 约束:需要符合正则表达式: ^[\u4E00-\u9FA5A-Za-z0-9_-]{1,64}$ 扁平字段配置: 配置项英文名:flatFiedConfig 说明:扁平字段配置,配置需要进行扁平处理的字段列表。 必选: 是 子配置项:扁平字段配置包括如下子配置项:源数据路径、字段名称。 源数据路径: 配置项英文名:path 说明:源数据路径,以JSON Path格式来指定变量从消息中指定的JSON Path属性获取的取值。 类型:STRING 必选:是 约束:需要符合正则表达式: ^.{1,1000}$ 字段名称: 配置项英文名:field 说明:字段名称,输出字段的字段名称。如果字段名与上游输入字段名相同,则此字段被重新赋值。 类型:STRING 必选:是 约束:需要符合正则表达式: ^[a-z_A-Z]\w{0,64}$ 高级配置项 并行数: 配置项英文名:parallelism 说明:并行数,指定算子执行时的并行任务个数。对于性能要求越高的算子,可以设置较高的并行数,但是占用资源越多。如果此参数不设置,那么作业运行时本算子使用作业的并行数设置。 类型:INTEGER 必选:否 约束:最小值1, 最大值 1024。 父主题: 转换类算子
-
DIS数据源 算子简介 名称: DIS数据源,IoT数据分析服务仅在华为云部署形态支持DIS数据源。 功能说明: 使用DIS云服务作为pipeline的数据源,从DIS中获取数据。 约束: 下游不允许对接数据源,目前有:IoT设备接入数据源、DIS数据源,及产品过滤算子。 算子配置 基础配置项 算子名称: 配置项英文名:name 说明: 算子名称,对算子进行个性化的命名,以辅助增加可读性。支持中文、英文、数字、中划线、下划线,长度小于等于64个字符。 类型: STRING 必选: 否 约束: 需要符合正则表达式: ^[\u4E00-\u9FA5A-Za-z0-9_-]{1,64}$ 数据源ID: 配置项英文名:datasSourceId 说明: 数据源ID,指定Pipeline作业的IoTDA数据源ID。 数据源ID可以通过数据源接口: /v1/${project_id}/datasources?type=DIS获取。 类型: STRING 必选: 否 约束: 需要符合正则表达式: ^[\u4E00-\u9FA5A-Za-z0-9_-]{1,64}$ 事件时间: 配置项英文名:eventTime 说明: 事件时间,以JSON Path格式来指定事件时间的获取来源。如果没有指定,则使用接受消息时的系统时间作为消息产生的事件时间。 必选: 是 子配置项:事件时间包括如下子配置项:JSON路径、时间样式、时区。 JSON路径: 配置项英文名:jsonPath 说明: 事件时间字段的Json路径,以JSON Path格式来指定事件时间的获取位置。 类型: STRING 必选: 是 约束: 需要符合正则表达式: ^.{1,100}$ 时间样式: 配置项英文名:pattern 说明: 时间格式,事件事件的样例格式,如yyyyMMdd'T'HHmmss'Z'、MM/dd/yyyy hh:mm等。 类型: STRING 必选: 是 约束: 需要符合正则表达式: ^.{1,100}$ 时区: 配置项英文名:timeZone 说明: 时区,以UTC偏移量表示,请填写-12 ~ 12的数字;若不填写,则默认为UTC时间。。 类型: INTEGER 必选: 否,默认为0时区。 约束: 最小值-12, 最大值12。 高级配置项 分配时间戳提取器和水印: 配置项英文名:assignerWithPeriodicWatermarksType 说明: 时间戳分配器,目前提供3种方式,BoundedOutOfOrdernessTimestampExtractor、AscendingTimestampExtractor、IngestionTimeExtractor。 BoundedOutOfOrdernessTimestampExtractor:允许固定时间延迟的分配器,适用于乱序但预先知道或只允许在流中将会遇到的最大延迟的场景。 AscendingTimestampExtractor:递增时间戳的分配器,适用于每个元素(elements)的时间在每个并行任务(parallel task)里是单调递增的场景。 IngestionTimeExtractor:根据获取到数据时的系统时间分配时间戳,适用于无事件时间的场景。 类型: STRING 必选: 否,默认采用 BoundedOutOfOrdernessTimestampExtractor 。 约束:必须为BoundedOutOfOrdernessTimestampExtractor、AscendingTimestampExtractor、IngestionTimeExtractor 之一 。 允许的最大延迟时间: 配置项英文名:maxOutOfOrdernessInSeconds 说明: 允许的最大延迟时间,该配置仅作用于BoundedOutOfOrdernessTimestampExtractor,具体是在EventTime类型窗口中使用。 类型: STRING 必选: 否, 默认为300秒。 约束: 最小值0,最大值3600秒。 启动配置: 配置项英文名:startup 说明: 启动方式,用于配置启动时的配置参数。 必选: 否。 子配置项: 启动配置包括如下子配置项: 启动模式。 启动模式: 配置项英文名:startupMode 说明: Pipeline启动时数据消费模式,GROUP_OFFSETS表示从上次读取到的位置继续读取,LATEST表示读取最新数据,EARLIEST表示读取最旧的数据。 类型: STRING 必选: 否,默认为 GROUP_OFFSETS。 约束: 仅可填写GROUP_OFFSETS、 LASTEST 与 EARLIEST 。 父主题: 输入类算子
-
数据计算 算子简介 名称:数据计算 功能说明:按照表达式进行数值计算,计算的结果赋值给某个属性。举例:原消息中有温度属性,其数值是以摄氏度数值表示,可以通过本算子设置计算公式,将摄氏温度计算转换成华氏度读数再赋予给原来的温度属性,或者可以选择将计算转换后的数值赋予一个新属性。 约束:下游不允许对接数据源及产品过滤算子。 算子配置 基础配置项 算子名称: 配置项英文名:name 说明:算子名称,对算子进行个性化的命名,以辅助增加可读性。支持中文、英文、数字、中划线、下划线,长度小于等于64个字符。 类型:STRING 必选:否 约束:需要符合正则表达式: ^[\u4E00-\u9FA5A-Za-z0-9_-]{1,64}$ 变量: 配置项英文名:variables 说明:变量,把输入消息中的属性作为变量在表达式中使用。对变量进行定义,设置变量名称和变量的取值。 必选:否 子配置项:变量配置包括如下子配置项:变量名称、变量取值。 变量名称: 配置项英文名:variable 说明:变量名称,用户可自定义一个变量名称,计算时使用,以免配置计算表达式时使用jsonPath。 类型:STRING 必选:是 约束:需要符合正则表达式: ^[a-zA-Z]\w{0,20}$ 变量取值: 配置项英文名:value 说明:变量取值,以JSON Path格式来指定变量从消息中指定的JSON Path属性获取的取值。 类型:STRING 必选:是 约束:需要符合正则表达式: ^.{0,1000}$ 计算配置: 配置项英文名:calculates 说明:计算配置,配置属性的计算表达式。 必选:是 子配置项:计算配置包括如下子配置项:属性、表达式。 属性: 配置项英文名:property 说明:属性名,表示计算表达式所计算的结果赋予的对象。 用户可以选择消息中已有的某个属性,或者自行输入新的内容,该内容需要满足Json path语法的要求 。 类型:STRING 必选:是 约束:需要符合正则表达式: ^.{1,1000}$ 表达式: 配置项英文名:expression 说明:计算表达式,支持的表达式详细说明请参考:表达式说明。 类型:STRING 必选:是 约束:需要符合正则表达式: ^.{0,1000}$ 高级配置项 并行数: 配置项英文名:parallelism 说明:并行数,指定算子执行时的并行任务个数。对于性能要求越高的算子,可以设置较高的并行数,但是占用资源越多。如果此参数不设置,那么作业运行时本算子使用作业的并行数设置。 类型:INTEGER 必选:否 约束: 最小值1, 最大值 1024。 父主题: 转换类算子
-
运行数据管道 数据管道编辑完成后,若存在错误,作业状态会变成”草稿”态,请检查作业配置;若不存在错误,作业状态会变为“就绪“态,表示该作业可以运行,如图所示: “就绪”态的作业即可运行:在“管理列表页”点击作业卡片,进入“作业详情页”,然后点击右上角的红色按钮“启动作业“。 启动作业时,系统会自行判断用户的作业是否需要实时计算资源,若需要实时计算资源,则会弹出如下对话框供用户自行选择: 计算资源:一个计算资源对应的物理资源为:1核CPU、4G内存,可实时清洗的数据量为1000条/S(仅供参考,请结合各自的业务场景与数据大小进行评估)。 并行数:管道作业运行时的实际并发能力,不得超过“计算资源 - 1”的4倍。 父主题: 运行数据管道
-
存储 存储是保存数据的对象,通常来说,同一种设备的数据会保存在同一个存储中。存储中定义了设备的标签与设备的属性。其中设备ID(deviceId)就是最常用的一种标签(tag)。一个标签包括标签名与标签值,例如设备ID:标签名为 deviceId,而它的标签值则是具体的某个设备ID,设备的ID是通过设备数据上报到IoT数据分析服务而保存下来的。在查询中指定标签名与某个标签值(例如具体的某个设备ID),可以快速地找到对应的设备数据。 创建存储 删除存储 父主题: 存储管理
-
预览列表控制属性分析操作 在预览列表区,支持对所选属性做勾选、分析、移除操作,以控制该属性在图表分析区的展示,其中分析操作包含如下内容: 聚合类型:对所选属性的时序数据按采样间隔进行聚合计算,当前支持的聚类操作包括AVG、MIN、MAX、SUM、COUNT共计5种; 时间偏移:对所选属性按时间做偏移,会在预览列表新增一条记录,常用于同一测点不同时间的对比分析; 显示类型:支持阶梯图,最小/最大范围,显示数据点,仅对折线图有效。 图3 预览列表分析操作
-
调试概述 为什么管道任务没能输出期望的结果? 管道任务中哪个算子环节出错了? 算子处理后的数据结果是什么样的? 以上问题是我们在开发阶段经常遇到的问题。为了解决以上问题,我们提供了调试数据管道工具。用户可以上报测试数据对管道业务流程进行测试,用户可直观查看测试数据在每个算子输入和输出的内容。 工作原理: 启动测试模式后,输入类算子从数据源读取数据,将数据发送到下游的转化类算子,最终专递到输出类算子。调试工具会在每个算子的输入输出端监听数据流,最终将监听收集到的数据在页面进行展示。我们可以根据算子的输入输出数据定位以上我们所遇到的问题。 界面介绍 启动按钮 任务状态栏 输入输出 数据监控 操作指导 创建任务 启动测试任务 下载数据模板 修改数据模板 上传数据文本 查看测试结果 结束测试任务 数据模板 IoT设备接入数据源 API接入数据源 表1 算子支持表 算子类别 算子中文名称 算子英文名称 是否支持调试 是否展示输入数据 是否展示输出数据 输入类算子 IoT设备接入数据源 IoTDASource 是 否 是 API接入数据源 APISource 是 否 是 DIS数据源 DISSource 否 否 否 转化类算子 增加属性 AddProperties 是 是 是 数据计算 Calculate 是 是 是 删除属性 DeleteProperties 是 是 是 过滤算子 Filter 是 是 是 数据扁平 Flatten 是 是 是 产品过滤 ProductFilter 是 是 是 选择属性 SelectProperties 是 是 是 相邻消息计算 ContiguousCalculate 是 是 是 超时插补 TimeoutInterpolation 是 是 是 输出类算子 数据存储输出 DataStoreSink 是 是 否 DIS输出 DISSink 是 是 否 实时分析输出 RTASink 是 是 否 输入类算子只记录输出数据,输出类算子只记录输入数据。 父主题: 调试数据管道
-
数据清洗配置 目前提供了产品过滤、增改属性类、删除属性类、过滤消息类、增加消息类、规约消息类几个类型的数据清洗算子。增加清洗步骤的操作方式为,在算子节点上点击右键,可以看到”向前”、”向后”两个菜单,如图所示: 部分算子上仅显示”向前”或”向后”菜单,则说明该算子上仅可”向前”添加或”向后”添加算子。 接下来,以产品过滤、数据计算、选择属性、数据过滤、超时插补、数据聚合为例,分别介绍一下不同类型的算子配置。各个算子配置的详细说明请参考”算子使用指南”。 产品过滤 “产品过滤”仅可添加在“IoT设备接入数据源”算子后,因此,仅在“IoT设备接入数据源”算子上点击右键时,可以看到“产品过滤”算子。 添加好算子节点后,在算子节点上点击鼠标左键,即可打开右侧的算子配置面板,如图: 系统会根据所选择的产品,自动生成该算子的输出内容: 数据计算 按照表达式进行数值计算,计算的结果可以赋值给源属性,也可以自定义属性名称及路径。 添加好算子节点后,在算子节点上点击鼠标左键,即可打开右侧的算子配置面板,如图: 选择属性 在输入数据中选择保留的属性,未选择的属性被删除。当数据字段较多时,用户可使用该功能筛选出业务所关系的字段。 添加好算子节点后,在算子节点上点击鼠标左键,即可打开右侧的算子配置面板,如图: 使用该配置筛选出batteryLevel与batteryVoltage两个字段,因为后续处理流程仅使用这两个字段。 数据过滤 根据设置的条件过滤数据,满足条件的数据则输出,不满足条件的数据将被丢弃。 添加好算子节点后,在算子节点上点击鼠标左键,即可打开右侧的算子配置面板,如图: 使用该配置过滤出batteryLevel不等于0且batteryVoltage大于100的数据。 数据过滤算子不会修改数据输出,用户可展开“输出”项检查输出内容。 超时插补 提供基于时间的数据插补功能。时间支持延迟等待时长,以及指定固定时间点。插补数据为上一条实际数据,但是事件时间为插补计算出的时间。 添加好算子节点后,在算子节点上点击鼠标左键,即可打开右侧的算子配置面板,如图: 数据聚合 数据聚合算子,对数据流中的数据根据窗口周期进行汇聚计算。 添加好算子节点后,在算子节点上点击鼠标左键,即可打开右侧的算子配置面板,如图: 父主题: 编辑处理流程
-
调试概述 为什么实时分析任务没能输出期望的结果? 实时分析任务中哪个算子环节出错了? 算子处理后的数据结果是什么样的? 以上问题是我们在开发阶段经常遇到的问题。为了解决以上问题,我们提供了调试实时分析工具。用户可以上报测试数据对实时分析业务流程进行测试,用户可直观查看测试数据在每个算子输入和输出的内容。 工作原理: 启动测试模式后,输入类算子从数据源读取数据,将数据发送到下游的转化类算子,最终专递到输出类算子。调试工具会在每个算子的输入输出端监听数据流,最终将监听收集到的数据在页面进行展示。我们可以根据算子的输入输出数据定位以上我们所遇到的问题。 界面介绍 启动按钮 任务状态栏 输入输出 数据监控 输入输出 创建任务 启动测试任务 下载数据模板 修改数据模板 上传数据文本 查看测试结果 结束测试任务 数据模板 资产数据输入 管道数据输入 资产数据输入(旧) 数据存储数据源(旧) 表1 算子类别 算子中文名称 算子英文名称 是否支持调试 是否展示输入数据 是否展示输出数据 输入算子 资产数据输入 AssetDataSource 是 否 是 AssetJobSource 是 否 是 数据存储数据源(旧) DataStoreSource 是 否 是 资产数据输入(旧) IoTSource 是 否 是 管道数据输入 PipelineSource 是 否 是 转化算子 数据聚合 Aggregate 是 是 是 数据去重 Deduplicate 是 是 是 去噪 Denoise 是 是 是 数据过滤 Filter 是 是 是 数据扁平 Flat 是 是 是 数据计算 Map 是 是 是 数据嵌套 Nest 是 是 是 数据选择 SelectFields 是 是 是 数据状态计算 StateCondition 是 是 是 输出算子 资产输出 AssetDataSink 是 是 否 DIS输出 DISSink 是 是 否 资产输出(老) IoTSink 是 是 否 不同的输入算子的测试模板内容格式会不一样,建议在模板的基础上添加测试数据。 父主题: 作业调试
-
支持审计的关键操作列表 表1 数据源支持审计的关键操作列表 操作名称 资源类型 事件名称 创建数据源 datasource createDataSource 修改数据源 datasource updateDatasource 删除数据源 datasource deleteDataSource 验证数据源 datasource validateDataSource 表2 资产模型支持审计的关键操作列表 操作名称 资源类型 事件名称 创建资产 asset createAsset 修改资产 asset updateAsset 删除资产 asset deleteAsset 创建测点 measurePoint createMeasurePoint 修改测点 measurePoint updateMeasurePoint 删除测点 measurePoint deleteMeasurePoint 创建视图 view createView 修改视图 view updateView 删除视图 view deleteView 刷新默认视图 view refreshDefaultView 发布视图 view publishView 另存视图 view saveAsView 创建资产模板 assetTemplate createAssetTemplate 修改资产模板 assetTemplate updateAssetTemplate 删除资产模板 assetTemplate deleteAssetTemplate 创建资产分类 assetCategory createAssetCategory 修改资产分类 assetCategory updateAssetCategory 删除资产分类 assetCategory deleteAssetCategory 创建测点分类 measureCategory createMeasureCategory 修改测点分类 measureCategory updateMeasureCategory 删除测点分类 measureCategory deleteMeasureCategory 表3 时序分析支持审计的关键操作列表 操作名称 资源类型 事件名称 更新温数据存储配置 warmStorage updateWarmStorage 保存时序分析收藏夹 tsiFavorites saveTsiFavorites 删除时序分析收藏夹 tsiFavorites deleteTsiFavorites 表4 实时分析支持审计的关键操作列表 操作名称 资源类型 事件名称 创建作业 realTimeJob createJob 更新作业 realTimeJob updateJob 删除作业 realTimeJob deleteJob 启动作业 realTimeJob startJob 停止作业 realTimeJob stopJob 启动测试 realTimeJob startDebug 停止测试 realTimeJob stopDebug 上传测试文件 realTimeJob uploadInputs
-
数据输出配置 数据存储输出 将数据输出到IoT数据分析服务的存储,以便进一步分析(资产建模、实时分析、时序分析)使用。 用户可以配置算子名称、选择存储组、填写存储名称,并选择所需要的属性及属性类型等信息,如图所示: DIS输出 将数据输出到DIS云服务,IoT数据分析服务仅在华为云部署时支持输出到DIS云服务。 用户在“数据源”页面配置好数据源后,在该算子配置处选择即可,如图所示: 父主题: 编辑处理流程
-
修改分析任务 修改分析任务后,修改的内容将自动同步到该模型未发布的资产上,已发布的资产不受影响。 选择要修改的分析任务,点击编辑。 修改类型,类型可以任意切换。 修改输入参数,转换计算和聚合计算类型可以添加和修改参数,流计算类型由于参数是实时分析作业定义的,只能修改属性引用类型和选择属性名称。 修改公式,可以重新定义公式。 修改输出属性,可以重新选择输出属性。 修改时间范围,只有聚合计算类型的分析任务可以修改。 修改周期,只有聚合计算类型的分析任务可以修改。 修改流计算任务,只有流计算类型的分析任务可以修改。 图1 修改“转换计算”分析任务 图2 修改“聚合计算”分析任务 图3 修改“流计算”分析任务 修改分析任务可能导致该模型对应的资产处于异常状态,资产异常状态的场景见资产状态。 父主题: 模型管理
共99354条
- 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
- 3311
推荐文章