MongoDB存储服务设计方案_第1页
MongoDB存储服务设计方案_第2页
MongoDB存储服务设计方案_第3页
MongoDB存储服务设计方案_第4页
MongoDB存储服务设计方案_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 储服务设计方案 1. 需求分析 客车平台和货运平台现有需求 1) 实时数据文件存储类 a. 实时轨迹数据:传统文件方式存储,一条轨迹 150B,每天上报 8640 次,一天大约为 1M; 轨迹文件 格式说明: 偏移经度 : 偏移纬度 : 间 : 度 : 正北方向夹角 : 车辆状态 : 报警编码:经度:纬度:海拔:里程: 累计油耗:发动机运行总时长:引擎转速(发动机转速) :位置基本信息状态位:报区域 /线路报警: 冷却液温度 : 蓄电池电压 : 瞬时油耗 : 行驶记录仪速度 : 机油压力 : 大气压力 : 发动机 扭矩百分比 : 车辆信号状态 :系统时间 rn 特点:数据频率高,数据量大。 b. 实时报警数据:传统文件方式存储,一条报警 100B,每天上报 8640 次,一天大约为 800K; 报警文件 格式说明: 报警编码:偏移经度 : 偏移纬度:经度:纬度: 间 : 度 : 正北方向夹角:累计油耗 : 里程 : 报区域 /线路报警 : 海拔:系统时间 rn 特点:数据频率高,数据量大。 2 c. 驾驶行为事件:传统文件方式存储,一条驾驶行为事件 100B,每天上报不固定,根据实际生产环境观察,平均每天最大 300K; 特点: 数据频率不高,数据量小。 d. 发动机负荷率:传统文件方式存储,一条发动机负荷率 200B,每天上报 360次,一天大约为 80K; 特点:数据频率不高,数据量小。 e. 拍照数据,图片文件,每天上报数据量不定 特点:数据频率不高,数据量小。 f. 盲区补传轨迹文件:轨迹文件统计最大数,这里不做统计; g. 盲区补传报警文件:报警文件统计最大数,这里不做统计; 2) 实时数据传统数据库存储类 A 存储非法轨迹位置; B 更新车辆最后位置; C 存储、更新车辆上下线; D存储、更新车辆报警; A 更新车辆最 后位置 B存储、更新车辆报警 3)操作指令传统数据库类 A. 存储、更新下行指令 , 建议放在 ,用 存放。 B. 存储车辆多媒体事件 C. 存储车辆多媒体信息 D. 存储车辆注册, 建议放在 据库中。 E. 存储车辆鉴权, 建议放在 据库中,同步到 供鉴权服务用。 F. 存储车辆注销, 建议放在 据库中。 G. 存储车辆事件报告 3 H. 存储车辆信息点播, 建议放在 据库中。 I. 存储车辆电子运单, 建议放在 据库中。 J. 存储车辆 驾驶员信息, 建议放在 据库中,同步到 止二次访问数据库。 K. 存储车辆行驶记录仪信息, 建议放在 据库中。 L. 存储 、更新 车辆调度信息 , 建议放在 据库中。 M. 更新车辆照片信息 N. 更新终端参数信息 O. 更新路线信息, 建议放在 据库中。 P. 更新电子围栏, 建议放在 据库中。 Q. 存储、更新终端参数设置, 建议放在 据库中。 R. 更新终端版本号, 建议放在 据库中。 S. 存储多媒体数据检索 T. 存储上行透传信息 U. 存储数据压缩透传 V. 更新提问应答 储: A. 存储、更新下行指令,建议废弃 替代。 B. 存储车辆多媒体信息,建议废弃 替代。 4)历史数据查询统计类 A. 轨迹回放条件: 始时间、接收时间)、 B. 区域查车(当前区域内车辆)条件:车辆类型、车辆速度、是否报警; C. 区域协查(历史区域内车辆)条件: D. 历史报警条件:类型、状态、时间; 现有平台存储服务上存在问题 1) 盲区补传数据分离问题; 2) 跨多天历史轨迹查询的问题; 4 3) 报警数据和 4) 区域查车、区域协查的准确 性和计算效率问题; 5) 报警数据、 个大规模数据并行计算技术,源于 务来进行统计分析; 6) 拍照数据问题(统一管理,方便访问); 7) 业务流程、数据流程合理性问题; 8) 设计质量问题,如下: 3|165694816606456724140420020120312/172641|165694236606454524141519920120312/172642 9) 集群、负载均衡问题; 10) 高可用性问题 (在线 扩容、故障转移 ); 11) 运营监控问题(存储实例监控); 5 2. 方案设计 存储服务方案设计目标 利用 并发)存储和相关的查询统计业务(如历史轨迹查询),并解决存储服务的长期运营的高可用性问题。 具体包括: A. 解决 并发写、高速查询、高速统计分析); B. 解决 并发写、高速查询、统计分析); C. 解决司机驾驶行为数据存储问题(高并发写、高速查询、统计分析); D. 解决拍照数据存储问题(高并发写、自动发布、高速 查询); E. 解决区域查车、区域协查等运算量大的业务统计问题; F. 解决存储服务高可用性问题 (如负载均衡、线性扩容、故障转移、灾备恢复、服务监控等 ); 最终目标:简化现有平台业务流程,减少故障节点,提高存储服务的高可用性。 存储方案设计细则 时数据存储设计 针对 储服务提供 C/C+客户端接口,供通信系统调用,可以直接把 调用者无需关系 提供 析和组装包,支持 C/C+、 便平台各层面来使用。针对 们把 时数据格式定义为标准 定义如下: 1) 6 详见“附件 1“ 和 ”附件 2“相关定义。 2) 司机驾驶行为数据 司机驾驶行为现有平台的数据格式:驾驶行为类型 |起始位置纬度 起始位置经度 起始位置高度 起始位置速度 起始位置方向 起始位置时间 |结束位置纬度 结束位置经度 结束位置高度 结束位置速度 结束位置 方向 结束位置时间 。 具体数据样例:3|165694816606456724140420020120312/172641|165694236606454524141519920120312/172642。 3) 发动机负荷率数据 格式:无固定格式( 具体数据: : 311, : 20122:, :“ 车辆编号( 时间戳( 负荷数据( 拍照数据存储设计 性,用来存储大文件,如图片文件和视频文件。 7 由通信平台产生的有效拍照图片,可以连同属性信息(如车机 间戳、图片 问路径( 一起直接存储在 便前 端应用查询。 : 311, : 20122:, “ “ “ “”, :“00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000” 车辆编号( 时间戳( 文件名( 发布路径( 图片数据( 史数据查询设计 时数据查询和历史数据查询。 为解决海量 设计时考虑从 3各方面来设计和优化: 1) 创建数据索引 可在设计之 初就设计好索引,也可在运营期间来对数据的索引进行调整,建议在采用前者。 针对历史轨迹数据的查询需求条件:车机 止时间,可以对“ “ 段创建索引,来提高 针对报警查询查询需求:起止时间和报警状态,可以对“ 段、“ 段创建索引。 8 2) 数据读写分离和负载均衡设计 在 们采用多服务器集群,读写分离的部署架构,即通过部署多个写服务和多个读服务,来解决 据存储的效率和服务可靠性、可扩展性问题。 3) 内存数据 查询的效率,也采用了内存机制,把大量的热点数据放在内存中,来提高数据查询的命中率,我们可以利用这个特性来满足车辆位置查询的需求。 4) 提供查询车辆最新位置信息,查询条件为车辆 体实现主要是通过 可提供 口,供上层应用调用。 注:此处与实时服务的功能有些重复,建议由实时服务来统一提供。 提供查询每辆车的历史轨迹数据,查询条件为:车辆 始时间、结束时间。返回集应包含去除 除 可提供 口,供上层应用调用。 注:查询返回的数据集结果尽量简洁,针对每类业务要求的访问,不必要的信息要剔除掉,减少网络压力、提高查询效率。 c报警数据查询 据统计设计 1) 快照功能 提供查询某个区域内、某段时间、都有哪些车辆,查询条件为。 提供查询某个区域内、某段时间、都有哪些类型的报警车辆。 2) 报警统计 可以按报警类别来统计某个时间段内都有哪些报警车辆。 9 可以统计某辆车在某段时间内的报警次数统计,可按总计、按报警类别来统计。 拍照数据发布和查询设计 通过 以直接把存储在 用层调用。在具体应用中的业务流程如下: 方案说明: A. 解决图片文件储存储分布的问题,可以利用 片数据、视频数据等都存储在一起,方便管理和维护; B. 解决图片文件便利访问的问题,如文件的属性,文件的存储,文件的访问路径都作为一条记录存储在 便上层应用获取; C. 解决图片高效访问的问题,如利用 发访问的问题,利用 存服务来解决二次访问 储服务业务流程框架设计 10 +/C#接口、 别为通讯层、服务层和应用层提供存储服务。 3. 方案部署架构设计 存储服务( 署架构规划设计 为保证 高可用性(高并发、高可扩展性、高稳定性),我们采用了 署架构, 这是一种可以水平扩展的模式,在数据量很大时特给力 ,实际大规模应用一般会采用这种架构去构建 储系统。 下图所示: 11 架构图说明: A. 分片 分别在 3台 服务器 (见上图 行一个 见上图 。 B. 副本集: 分别在 3台 服务器(见上图 运行一个 (称为 ,其中: 12 C. 2台服务器, 每台 服务器(见上图 运行一个 为 2个 作用是 D. 3台服务器, 每台 服务器(见上图 运行一个 程,用于客户端连接 。 E线性扩展:可以同时增加 2台服务器(见上图 其一个作为分片,另一个作为分片的副本和路由。 备注说明: 1) 例 : 用于存储实际的数据块 , 实际生产环境中一个 色可由几台 服务器 组个一个 担,防止主机单点故障 。 2) 储分片集群的的元数据,其中包括在每个 例的基本信息和块信息。每个配置服务器所有块的元数据的副本。通过两次提交来确保在配置服务器信息与块数据的一致性。 3) 以被看作是一个数据和请求分发的中心,使单一的 例组成互相关联的集群。当接收客户端请求, 据 由到相应的 例 (可能是一组 处理并返回结果。 程没有持久状态,在 动时和配置服务器建立连接并获取状态,当配置服务器发生任 何变化时,会将之传播到每个 程。 存储服务( 据分片规划设计 1)什么叫分片以及分片的作用? 数据分割以及在不同机器存储数据的过程称之为分片。通过在多台机器上分割数据,使得数据库系统能存储更多的数据,和处理更多的负载,在此过程中不需要更多更强大的机器。 是文档。这些分档可以分布于很多的 样每个 举个例子,思考一下。当你从集合选择一个 装分片时,并使用 割数据。这 个 假设你有一个联系人的集合。如果我们选择 “ 姓 ” 作为 么一个分片可以存储 “ 姓 ” 以 一个分片可以存储 “ 姓 ” 以 13 最后一个分片存储 “ 姓 ” 以 你添加和删除分片时, 重新做数据的负载,这样每个分片会获取一定量的流量和实际量的数据。 所以 在 决定什么开始分片 呢 ?考虑一下几个因素: 目前的机器的磁盘什么时候用完 ; 希望比单一的 理速度更快 ; 希望在内存中保留更多的数据以改善性能 ; 存储服务( 例部署规划设计 由于本方案是:规划用 4到 6台服务器,多个 6个 例、 2个3各 例)实例同时运行在这些服务器上,所以在部署前需要先规划好服务器的 例的名称、实例的分布(在那台服务器上)、实例的端口等,然后再实施。 本方案的 主机 务名及 端口 网) 网) 7017 0000 “ 网) 网) 7018 0000 “ 网) 网) 7017 0000 “ 网) 网) 7018 0000 网) 网) 7017 14 网) 网) 7018 0000 存储服务( 务器硬件、网络和操作系统规划设计 1)服务器硬件规 划要求 服务器内存:至少: 16G, 32G 标配,越大越好。 硬盘存储空间: 1T 以上,非 式,越大越好。 注:不建议用磁盘阵列。 服务器 少 4 核以上,标配 8 核,核越多越好 网卡:千兆网卡,双网卡; 2)网络规划要求 务器集群在一个独立的网段内。 集群服务器用千兆交换机连接。 3)操作系统 4位企业版操作系统,支持中文字符编码。 A 关闭文件系统 /分区的 项 对应的分区项后面添加 1 / 1 2 目前该配置已经集成到启动脚本中。 5536 * 5536 * 5536 * 5536 vm 不要使用大内存页 选项) 内存页参考: 。 件系统的选择 用预分配的大文件来存储数据 ,我们推荐 :核版本 网络上对 及 表现持怀疑度, 而强力推荐 线程堆栈的尺寸 默认的线程堆栈尺寸为 10M,调整为 1M,已经集成在启动脚本中。 本规划设计 版本号: 4 位。 注: 偶数的版本是稳定版,奇数是开发版 , 例如, 头的是稳定版 ( 等 ) , 头的开发版( 。 存储服务( 营监控规划设计 16 4. 方案实施 实施步骤 1) 方案设计 2) 方案评审 3) 设计验证 4) 结论评估 5) 上线实施 方案整体实施 计划 17 附件 1: 存储服务表( 构设计 1. )结构定义 表名: 作用:用于存储车机实时上传 供前端应用查询和统计。 具体表结构信息如下所示: 编号 字段名称 中文对照 别名 字段类型 是否索引 备注 1 辆 整数 是 2 间 B 整数 是 不包含时区 3 度 C 整数 是 偏移后的 4 度 D 整数 是 偏移后的 5 度 E 整数 6 向 F 整数 7 拔高度 G 整数 8 辆状态 G 整数 9 警编码 H 报警编码子集合 1 紧急报警 数 2 超速报警 数 3 疲劳驾驶 数 4 预警 数 5 导航模块故障 数 6 导航系统天线未接 数 7 导航天线短路 数 8 终端主电源欠压 数 9 终端主电源掉电 数 10 终端显示屏故障 数 11 语音模块故障 数 12 摄像头故障 数 13 当天累计驾驶超时 数 14 超时停车 数 15 进出区域 数 16 进出路线 数 17 路线行驶时间不 数 18 足 /过长 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 关键点报警 数 10 度 I 整数 原始经度 11 度 J 整数 原始纬度 12 程 L 整数 13 计油耗 M 整数 14 动机运行时长 N 整数 15 擎转速 O 整数 16 置状态位 P 整数 19 17 域 /线路报警 Q 字符串 18 却液温度 R 整数 19 电池电压 S 整数 20 时油耗 T 整数 21 录仪速度 U 整数 22 油压力 V 整数 23 气压力 W 整数 24 动机扭矩百分比 X 整数 25 辆信号状态 Y 整数 26 统时间 Z 整数 建议:为节省 时数据的存储空间,我们建议采用英文首字符缩写方式来定义每个字段的名称,当然也可以用 a、 b、 c、 d 来表示每个字段的名称,这样的好处是节省存储空间,缺点是可读性差,但可以通过相关查询接口函数还原数据项可读性差的问题。 2. )结构定义 表名: 作用:用于 车辆报警事件信息的集合(表),包括报警位置、报警时间、报警附加信息、报警处理信息等。 具体表结构信息如下所示: 编号 字段名称 中文对照 别名 字段类型 是否索引 备注 1 警 整数 是 2 辆 整数 是 3 牌号 C 字符串 是 4 班司机编号 D 整数 5 警开始时间 数 是 6 度(起始位置) 数 偏移后的 7 度(起始位置) 数 偏移后的 8 度 (起始位置) 数 9 向(起始位置) 数 10 拔(起始位置) 数 20 11 程(起始位置) 数 12 计油耗(起始位置) 数 13 警结束时间 数 是 14 度(结束位置) 数 偏移后的 15 度(结束位置) 数 偏移后的 16 度(结束位置) 数 17 向(结束位置) 数 18 拔(结束位置) 数 19 程(结束位置) 数 20 计油耗(结束位置) 数 21 警类型编码 M 整数 详见报警编码对照表 22 警源 N 整数 1:车载终端, 2:企业监控平台,3:政府监管平台, 9:其它 23 本状态 数 24 展状态 数 25 警附加信息(开始位置 ) 符串 26 警附加信息(结束位置) 符串 27 警时间 /系统时间 Q 整数 建议和系统时间合并 28 警处理状态 R 整数 是 处理; 0:不作处理; 1:将来处理; 2:处理完毕 29 警处理人 S 整数 30 警处理时间 T 整数 是 31 办状态 U 整数 0:未督办 ; 1:内部督办 ; 2:监管平台督办 建议:为节省车辆报警数据的存储空间,我们建议采用英文首字符缩写方式来定义每个字段的名称,当然也可以用 a、 b、 c、 d 来表示每个字段的名称,这样的好处是节省存储 空间,缺点是可读性差,但可以通过相关查询接口函数还原数据项可读性差的问题。 21 注: ( 1)报警类型编码对照表,如下表所示: 报警类型 报警编号 紧急报警 0 超速报警 1 疲劳驾驶 2 预警 3 导航模块故障 4 导航系统天线未接 5 导航天线短路 6 终端主电源欠压 7 终端主电源掉电 8 终端显示屏故障 9 语音模块故障 10 摄像头故障 11 当天累计驾驶超时 18 超时停车 19 进出区域 20 进出路线 21 路线行驶时间不足 /过长 22 路线偏移报警 23 车 辆速度传感器故障 24 车辆油量异常 25 车辆被盗 26 车辆非法点火 27 车辆非法位移 28 碰撞侧翻报警 29 严重故障 32 制动气压报警 33 油压报警 34 水位低报警 35 制动蹄片磨损报警 36 空滤堵塞报警 37 缓速器高温报警信号 38 仓温报警信号 39 机滤堵塞信号 40 燃油堵塞信号 41 机油温度报警信号 42 燃油警告 43 空档滑行告警 44 超长怠速告警 45 22 怠速空调告警 46 发动机超转告警 47 急加速报警 48 急减速 报警 49 门开报警 50 冷却液温度过高报警 51 蓄电池电压报警 52 53 关键点报警 220 ( 2)报警附加信息编码定义 式:位置类型 |区域或路段 型: 0:无特定位置; 1:圆型区域; 2:矩形区域; 3:多边形区域; 4:路段 当类型为 0时,无区域 路段报警附加信息类型 ,格式:位置类型区域或线路 向 类型: 0:无特定位置; 1:圆型区域; 2:矩形区域; 3:多边形区域; 4:路线 方向: 0:进, 1:出 时间不足 /过长, 格式: 路段 段行驶时间结果 结果: 0:不足, 1:过长 3. 司机驾驶行为事件存储集合(表)结构定义 表名: 作用:用于存储司机驾驶行为数据的表。 具体表结构信息如下所示: 编号 字段名称 中文对照 别名 字段类型 是否索引 备注 1 辆 整数 是 2 驶行为 类型 B 整数 是 详见下表 3 间(起始位置) C 整数 是 不包含时区 4 度(起始位置) D 整数 偏移后的 5 度(起始位置) E 整数 偏移后的 6 度(起始位置) F 整数 7 拔(起始位置) G 整数 8 向(起始位置) H 整数 9 间(结束位置) I 整数 是 不包含时区 23 10 度(结束位置) J 整数 偏移后的 11 度(结束位置) K 整数 偏移后的 12 度(结束位置) L 整数 13 拔高度(结束位置) M 整数 14 向(结束位置 ) N 整数 15 统时间 O 整数 注 :驾驶行为类型定义 : 驾驶行为类型 行为编号 加热器工作 1 空调工作 2 发动机超转 3 过长怠速 4 超经济区运行 5 空档滑行 6 怠速空调 7 二档起步 8 档位不当 9 超速 10 疲劳驾驶 11 4. 发动机负荷率存储集合(表)结构定义 表名: 作用:用于存储车辆的发动机负荷率数据的集合(表)。 具体表结构信息如下所示: 编号 字段名称 中文对照 别名 字段类型 是否索引 备注 1 辆 整数 是 2 间 C 整数 是 不包含时区 3 荷数据 D 字符串 5. 拍照数据存储集合(表)结构定义 表名: 24 作用:用于存储车辆的拍照图片数据的集合(表)。 具体表结构信息如下所示: 编号 字段名称 中文对照 别名 字段类型 是否索引 备注 1 辆 整数 是 2 照时间 B 整数 是 不包含时区 3 件名 C 字符串 4 布地址 D 字符串 5 片 E 二进制对象 6. 上下行指令数据集合结构定义 表名: 作用:用于存储车辆的拍照图片数据的集合(表)。 具体表结构信息如下所示: 附件 2: 存储服务( 外接口统一定义 存储服务的对外统一接口分为 3 大类:更新类接口、查询接口和统计类接口。 由于写操作接口跟通信服务紧密相关,所以优先提供 C+类型的接口。 25 查询和统计接口跟上层服务和应用紧密相关,所以提供 型的接口和口, 这里优先提供 口。 新类接口 1) A 时数据插入操作接口 注: +客户端驱动的 据的基本对象。 具体格式定义如下 A : 1175, / 车辆 B” : 20122:46) / C : 69838489, / 经度 D : 23946431, / 纬度 E : 59, / 速度 F : 234, / 方向 “G”: 1225, / 海拔高度 : / 车辆状态子类(嵌套) “ : / 紧急报警 “ : / 超速报警 “ : / 疲劳驾驶 “ : / 预警 “ : / 导航模块故障 “ : / 导航系统天线未接 “ : / 导航天线短路 “ : / 终端主电源欠压 “ : / 终端主电源掉电 “ : / 终端显示屏故障 “ : / 语音模块故障 “ : / 摄像头故障 “ : / 当天累计驾驶超时 “ : / 超时停车 “ : / 进出区域 “ : / 进出路线 “ : / 路线行驶时间不足 /过长 26 “ : / 路线偏移报警 “ : / 车辆速度传感器故障 “ : / 车辆油量异常 “ : / 车辆被盗 “ : / 车辆非法点火 “ : / 车辆非法位移 “ : / 碰撞侧翻报警 “ : / 严重故障 “ : / 制动气压报警 “ : / 油压报警 “ : / 水位低报警 “ : / 制动蹄片磨损报警 “ : / 空滤堵塞报警 “ : / 缓速器高温报警信号 “ : / 仓温报警信号 “ : / 机滤堵塞信号 “ : / 燃油堵塞信号 “ : / 机油温度报警信号 “ : / 燃油警告 “ : / 空档滑行告警 “ : / 超长怠速告警 “ : / 怠速空调告警 “ : / 发动机超转告警 “ : / 急加速报警 “ : / 急减速报警 “ : / 门开报警 “ : / 冷却液温度过高报警 “ : / 蓄电池电压报警 “ : / “ : / 关键点报警 H:395454, / 经度 I : 1393444, / 纬度 “J” : 1243544, / 海拔高度 “K” : 235679087, / 里程 “L” : 2, / 位置基本信息状态位 “M” : “区域、进 ”, / 区域 /线路报警 “N” : 55 , / 行驶记录仪速度 “O” : 2, / 车辆信号状态 “P” : 20122:46) , / 系统时间 “: / 线数据子类(嵌套) “: 135, / 累计油耗 “: 135, / 发动机运行总时长 “: 135, / 引擎转速 27 “: 135, / 冷却液温度 “: 135, / 蓄电池电压 “: 135, / 瞬时油耗 “: 135, / 机油压力 “: 135, / 大气压力 “: 135, / 发动机扭矩百分比 2) 车辆报警数据更新接口 数的声明类型为 具体格式定义

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论