《EMS能源管理平台数据加工系统(数据库部分)概要设计说明书.docx》由会员分享,可在线阅读,更多相关《EMS能源管理平台数据加工系统(数据库部分)概要设计说明书.docx(18页珍藏版)》请在第一文库网上搜索。
1、EMS数据采样加工-数据库设计部分目录一、引言31.1、 编写目的31.2、 背景31.3、 假定和约束31.4、 定义31.5、 参考资料4二、总体设计52.1、 需求规定52.1.1、 功能52.1.2、 系统边界52.1.3、 非功能性要求52.2、 系统结构52.2.1、 系统架构设计52.3、 运行环境62.3.1、 软件要求62.3.2、 硬件要求62.3.3、 网络要求72.4、 开发规范72.4.1、 代码编写规范72.4.3、 源码管理规范7三、数据库设计73.1、数据表设计7四、各模块概要设计124.1、 采样类型统计时间颗粒配置设计124.2、 断点续传、数据修复模块数据
2、流向设计144.3、 采样大数据量的仓储设计144.4、 上层应用加工队列设计154.5、 上层应用统计结果表设计15一、引言1 -1%编写目的本文档是基于平台最小原始采样数据进行抽取加工,大数据量的仓储,性能优化。使其能够快速的响应上层应用调用数据而设计。通过本概要设计说明书,可以了解到用能源管理系统软件采样数据加工解决方案的功能边界、设计思路等。本文档面向的读者是:能源管理系统软件项目组开发人员、测试人员、QAo1.2、 背景项目名称:EMS采样数据加工系统立项单位:研发中心开发单位:能源管理系统项目组背景概述:EMS采样数据加工系统是基于平台最小原始采样数据进行抽取加工,大数据量的仓储,
3、性能优化。使其能够快速的响应上层应用调用数据而设计。本系统包括采样类型统计时间颗粒配置设计、断点续传、数据修复模块数据流向设计、采样大数据量的仓储设计、上层应用加工队列设计、上层应用统计结果表设计5大核心模块。1.3、 假定和约束本设计文档只涉及产品部提供的需求说明书阐述部分的功能开发,不涉及EMS采样数据加工系统开发过程中自行消化的功能需求。14定义下表列出本报告中专门术语的定义、英文缩写词的原词组和意义、项目组内达成一致意见的专用词汇,同时继承全部的先前过程中定义过的词汇。词汇名称词汇含义备注编号资料名称说明1能源管理系统(EMS)需求表及相关原型附件二、总体设计2.1、 需求规定2J.1
4、v功能 采样类型统计时间颗粒配置设计O1配置数据加工服务需要处理的每个采样类型的统计最小时间颗粒和需要统计的时间颗粒。(可在Web后台运维中配置) 断点续传、数据修复模块数据流向设计01可以对后台断点续传的数据和后台数据修复的数据进行加工入库,同步更新上层应用的数据表(主要支持的是电镀量采样类型)。 采样大数据量的仓储设计01支持最小IO分钟的采样频率的数据存储和统计;02支持灵活的采样统计频率的配置。 上层应用加工队列设计01为上层应用的数据加工设计一套统计队列的方案,保证上层应用的数据加工能顺利完成; 上层应用统计结果表设计01为了给上层应用提高最快的速度,对上层的统计结果进行时间颗粒,设
5、备区域类型的分表。02对统计结果表内的数据进行记录压缩。 .1.2、系统边界1、系统统计采样数据量取决于平台支持的最大采样点128000的数据量。 .1.3、非功能性要求保证系统的可靠性。系统采用了Aop的设计方式自动在每个模块中植入异常和日志的操作,保证对整个系统运行的状态进行跟踪和监视。有效的降低了系统出错后的维护成本。2.2、 系统结构2.2.1 V系统架构设计系统总体设计思想:原始数据与应用数据进行分离,通过后台服务进行原始数据的抽取工作,转化为上层应用可以直接使用的数据仓库。在数据库的抽取工作中,采用的技术方法有数据表的分区,数据表按照业务的模型进行分表、记录压缩,对抽取的服务采用多
6、线程队列定时定量处理设计,对紧密型很强的业务部分采用存储过程的业务封装设计,对使用频率过高的表数据采取触发式临时表抽取方式。整体模块流程设计图:f“1采用临时1I表,数据I加工睇干个时间颗粒的采样数)*据,并加载iJ应用处理加工的流水线鲤队列中应用服务根据应用的业务特点对应用处理加工的流水线数据队列中的采样数据进行分类加工,最终生成各自应用期望的蜘格式的采样数据;表分区等I技术手段I解决大数I据存储1231、软件要求服务器操作系统:服务器数据库:服务器必选组件:服务器必选组件:服务器辅助软件:客户机浏览器:232、硬件要求服务器CPU:服务器内存:服务器硬盘:2.3、 运行环境WindowsS
7、erver2012企业版SQ1Server2012企业版IIS7.0.NETFramework4.0MicrosoftOffice2003ChromeFirefox、21E1O2双核2.024G2IT2.3.1 网络要求物理网络:100M/1000M以太网络2.4、 开发规范241、代码编写规范C#代码编写要求符合Resharp工具推荐编码规范编写。243、源码管理规范开发代码上传到SVN路径:h1tp:/192.168.10.248/svn/WXF-9000/WXF-EMS“trunk/COde/数据抽取力工设计三、数据库设计3.1、数据表设计表:5分钟采样表和标识时间戳表TS_M5_EXT
8、_XXX字段名描述数据类型是否为空备注ID自增IDIntNOTNU11PKDATETIME统计的时间datetimeNOTNU11VOO1VOO1最后一次正确数据的时间datetimeNOTNU11V001_F1AGVOo1变量是否有效tinyintNOTNU11V128V128最后一次正确数据的时间datetimeNOTNU11V128_F1AGV128变量是否有效tinyintNOTNU11表:采样酉己置对应表TB_SAMP1E5MIN_EXT字段名描述数据类型是否为空备注Samp1eno采样配置表的TDTntNOTNU11PKTAB1EN0表号,参照tbseed表的TAB1ENUM字段S
9、ma11intNU11Recordno索引号,一般指脉冲量(tb_PU1Se)、模拟量(tb_ai)、开关量(tb_di)等表的TDTntNu11Deviceid设备表的IDIntNu11SAMP1ETAB1ENAME采样号所在的表,如TSM5_003Varchar(50)Nu11CO1UMNNAME采样号所在表的列,如TS_M5_003表的V003列Varchar(32)Nu11Samp1eType采样类型Sma11intNOTNU11表:最小统计颗粒配置表TD_EMS_CountConfig字段名描述数据类型是否为空备注SysNo自增IDIntNOTNU11PKTimcType统计时间颗粒
10、的类型IntNOTNU11TimeTypeName统计时间颗粒的名称Varchar(250)NOTNU11IsMinCount是否是统计的最小时间颗粒IntNOTNU11IsCount是否是需要统计的时间颗粒IntNOTNU11Samp1eType采样类型Sma11intNOTNU11表:区域、分类分项、设备映射关系临时表TB-EMsjrempAreaDeviceItemCode字段名描述数据类型是否为空备注SysNo自增IDIntNOTNU11PKAreaID区域的idIntNOTNU11ItemCode分类分项的代码Varchar(5)NOTNU11DeviceID1ist隶属于区域的设备
11、的集合(最底层设备信息)TextNOTNU11表:能耗监测WEB的统计的采样类型表TD_EMS_CouWXFamp1eConfig字段名描述数据类型是否为空备注SysNo自增IDIntNOTNU11PKSamp1eType采样类型Sma11intNOTNU11Samp1eName采样的英文名Varchar(50)NOTNU11Samp1eChinieseName采样的中文名Varchar(250)NOTNU11IsEnergy是否是能耗采样类型int表:修复数据和断点数据记录表,供加工SerVer读取和写入表TS_EMS_DEVICEORIGVA1UE字段名描述数据类型是否为空备注SysNo自
12、增IDBigIntNOTNU11PKF_DEVICEID设备IDintNOTNU11FfRIGYA1UE能耗值f1oatNOTNU11EPointNumber点号intNOTNU11F_C011ECnIME统计的时间datetimeNOTNU11F_ITEMCODE分类分项的代码Varchar(5)NOTNU11F_STATE数据修复、断点续传处理的状态intNOTNU11Samp1eType采样类型intNOTNU11表:临时表(记录10分钟,15分钟,30分钟,60分钟,当天,当月)TSJEMSJTempData字段名描述数据类型是否为空备注SysNo自增TDBigTntNOTNU11PK
13、ObjectID设备或区域的IDintNOTNU11ItemCode分类分项的代码(非电镀的采样点可以为空)Varchar(5)NOTNU11StartTime统计的时间datetimeNOTNU11CountVa1ue统计的采样点的值(其中电镀为段值,其他采样点为点值)f1oatNOTNU11IsArea是否是区域(0为设备,1为区域对象)intNOTNU11TimeType统计的颗粒intNOTNU11Samp1eType采样的类型Sma11intNOTNU11IsOk是否是有效数据tinyintNOTNU11表:能耗监测WEB的处理队列表TS_EMS_TempCount字段名描述数据类型是否为空备注SysNo自增IDBigIntNOTNU11PKObjectID设备或区域的IDintNOTNU11ItemCode分类分项的代码(非电镀的采样点可以为空)Varchar(5)NOTNU11StartTime统计的时间datetimeNOTNU11