住房和城乡建设部建筑节能与科技司关于印发《国家机关办公建筑和大型公共建筑能耗监测系统数据上报规范》的通知
(建科综函[2011]169号)
各省、自治区住房和城乡建设厅,各直辖市、计划单列市建委(建设局),新疆生产建设兵团建设局:
按照《财政部 住房城乡建设部关于进一步推进公共建筑节能工作的通知》(财建[2011]207号)精神,为切实推进和加强国家机关办公建筑和大型公共建筑节能监管体系建设,指导各省(市)级监测系统的数据上传工作,规范部级监测系统和省(市)级监测系统之间数据传输的内容、方式和格式,保证数据的统一性、完整性和准确性,我们组织编制了《国家机关办公建筑和大型公共建筑能耗监测系统数据上报规范》(以下简称《规范》),现予印发。
请监测系统建设试点省(市)和已建成省(市)监测系统的省(市)从《规范》发布之日起,按要求开展数据上传工作。其他正在建设监测系统的省(市),也应按《规范》要求完善建设方案,以便为系统建成后数据上传工作打下良好基础。执行中有何问题请及时告我司。
联系人:建筑节能与科技司 王 春 王建清
电话:010-58934871 58933282
联系人:住房和城乡建设部信息中心 张晓亮
电话:010-58935971
中华人民共和国住房和城乡建设部建筑节能与科技司
二〇一一年七月十一日
国家机关办公建筑和大型公共建筑能耗监测系统数据上报规范
根据国家机关办公建筑和大型公共建筑能耗监测系统建设要求,为规范各省(市)能耗监测系统的数据上传工作,制定本规范。
1.数据上报内容和要求
1.1 数据上报内容
省、市级数据中心以城市为单位,按照十个分类方式,每天汇总能耗监测数据,以数据报(包含一个报头(header)和数据本身,其中报头描述了数据的目的地以及和其它数据之间的关系)为基本单元,上传到部级数据中心。
1.2 数据分类
能耗数据按照十类进行汇总,分别是:(1)、国家机关和大型公建;(2)、建筑类型;(3)、空调形式;(4)、采暖形式;(5)、结构形式;(6)、外墙形式;(7)、外墙保温类型;(8)、外窗类型;(9)、玻璃类型;(10)、窗框材料类型。
(1)、国家机关和大型公建
分类编码 |
名称 |
A |
国家机关办公建筑 |
B |
大型公共建筑 |
(2)、建筑类型
分类编码 |
名称 |
A |
办公建筑 |
B |
商场建筑 |
C |
宾馆饭店建筑 |
D |
文化教育建筑 |
E |
医疗卫生建筑 |
F |
体育建筑 |
G |
综合建筑 |
H |
其它建筑 |
(3)、空调形式
分类编码 |
名称 |
A |
集中式全空气系统 |
B |
风机盘管+新风系统 |
C |
分体式空调或VRV的局部式机组系统 |
D |
其他 |
(4)、采暖形式
分类编码 |
名称 |
A |
散热器采暖 |
B |
地板辐射采暖 |
C |
电辐射采暖 |
D |
其它 |
(5)、结构形式
分类编码 |
名称 |
A |
砖混结构 |
B |
混凝土剪力墙 |
C |
钢结构 |
D |
木结构 |
E |
玻璃幕墙 |
F |
其它 |
(6)、外墙形式
分类编码 |
名称 |
A |
实心粘土砖 |
B |
空心粘土砖(多孔) |
C |
灰砂砖 |
D |
加气混凝土砌块 |
E |
加气混凝土砌块 |
F |
其它 |
(7)、外墙保温
分类编码 |
名称 |
A |
内保温 |
B |
外保温 |
C |
夹芯保温 |
D |
其它 |
(8)、外窗类型
分类编码 |
名称 |
A |
单玻单层窗 |
B |
单玻双层窗 |
C |
单玻单层窗+单玻双层窗 |
D |
中空双层玻璃窗 |
E |
中空三层玻璃窗 |
F |
中空充惰性气体 |
G |
其它 |
(9)、玻璃类型
分类编码 |
名称 |
A |
普通玻璃 |
B |
镀膜玻璃 |
C |
Low-e玻璃 |
D |
其它 |
(10)、窗框材料
分类编码 |
分类编码 |
A |
钢窗 |
B |
铝合金 |
C |
木窗 |
D |
断热窗框 |
E |
其它 |
1.3 数据汇总
每一项分类汇总数据都包含分类编码、总栋数、总建筑面积、建筑空调面积、建筑采暖面积、总能耗值、总电能耗值、照明插座用电、空调用电、动力用电、特殊用电等字段,具体见下表:
数据汇总项
序号 |
列名称 |
中文描述 |
数据类型 |
描述 |
1 |
F_func |
分类编码 |
Varchar(8) |
上报 |
2 |
F_SumBuild |
总栋数 |
int |
上报 |
3 |
F_TotalArea |
总建筑面积 |
Numeric(18,4) |
上报 |
4 |
F_AirArea |
建筑空调面积 |
Numeric(18,4) |
上报 |
5 |
F_HeatArea |
建筑采暖面积 |
Numeric(18,4) |
上报 |
6 |
F_SumValue |
总能耗值 |
Numeric(18,4) |
上报 |
7 |
F_EValue |
总电能耗值 |
Numeric(18,4) |
下述四项的汇总值 |
8 |
F_EZValue |
照明插座用电 |
Numeric(18,4) |
上报 |
9 |
F_EKValue |
空调用电 |
Numeric(18,4) |
上报 |
10 |
F_EDValue |
动力用电 |
Numeric(18,4) |
上报 |
11 |
F_ETValue |
特殊用电 |
Numeric(18,4) |
上报 |
12 |
F_WValue |
水耗量 |
Numeric(18,4) |
上报 |
13 |
F_GValue |
燃气量 |
Numeric(18,4) |
上报 |
14 |
F_HValue |
集中供热量 |
Numeric(18,4) |
上报 |
15 |
F_CValue |
集中供冷量 |
Numeric(18,4) |
上报 |
16 |
F_ZKValue |
总空调能耗值 |
Numeric(18,4) |
上报 |
17 |
F_ZHValue |
总采暖能耗值 |
Numeric(18,4) |
上报 |
18 |
F_OValue |
其他能源 |
Numeric(18,4) |
上报 |
19 |
F_OMValue |
煤 |
Numeric(18,4) |
上报 |
20 |
F_OM1Value |
液化石油气 |
Numeric(18,4) |
上报 |
21 |
F_OM2Value |
人工煤气 |
Numeric(18,4) |
上报 |
22 |
F_OQValue |
汽油 |
Numeric(18,4) |
上报 |
23 |
F_OMValue |
煤油 |
Numeric(18,4) |
上报 |
24 |
F_OCValue |
柴油 |
Numeric(18,4) |
上报 |
25 |
F_ORValue |
可再生能源 |
Numeric(18,4) |
上报 |
1.4 数据上报要求
省、市级能耗监测系统,通过定时任务自动从省、市级数据中心数据库中提取能耗分类数据,打包后发送到部级数据中心。数据的分类编码要求跟上述十个分类保持一致,不得超出字典表定义范围,且要求为大写;数据采集时间和上传时间的格式要求为“yyyy-mm-dd”,年份占四位,月和日都占两位,例如“2011-05-08”。数据上传的时间要求为每天的早八点前上传前一天的数据。
2、接口协议及示例
2.1 通信协议
采用持久TCP/IP连接。
2.2 通讯步骤
建立socket连接后,首先发送身份认证报文(密码直接通过正文发送),服务器接收到报文后验证身份,发送回执报文,通过回执报文报头中的_state参数识别是否认证成功(0-成功),认证成功后发送业务数据报文,服务器接收到业务数据报文后,发送回执给发送者,通知发送者收到业务数据报文,同时解析业务报文为内部对象,异步发送给内部消息缓存池,进行相应的逻辑服务处理,进行数据解析,并将解析结果异步方式发送给发送者。
(1)、连接服务器
通过客户端socket连接服务器,部级数据中心数据接收服务器的IP地址:219.142.101.190 ,监听端口: 6767。
(2)、身份认证
确认连接成功后发送身份认证数据报进行身份验证,数据中心编码(从住房和城乡建设部信息中心获取)通过协议报头的_sender 发送,比如北京数据中心编码为:110000,天津数据中心编码为:120000。密码通过正文发送,然后返回认证数据报,报头的_state 标识认证是否成功(0-成功;1-账号不存在;2-密码错误或超过允许次数等)。
(3)、发送业务数据
身份认证成功,发送业务数据报;认证失败,重新认证。发送业务数据报后可以取回执确认报。
2.3 基础协议
身份认证报、返回认证数据报、业务数据报、回执确认报都按照下述基础协议进行封装。
基础通讯协议基于字节码方式通讯。
序号 |
名称 |
长度 |
描述 |
1 |
报文开始标记 |
3 子节 |
0x8b, 0xae, 0x9b |
2 |
报文类型 |
2子节 |
16进制 范围 0-254,默认为0 |
3 |
报头长度 |
4子节 |
16进制 报头字节码(byte)长度 |
4 |
正文长度 |
7子节 |
16进制 正文字节码(byte)长度 最大正文254M |
5 |
报头 |
X |
数据格式为字节码(byte) 参数名称: _id 编码 _name 标题; _sender 发送者,数据中心编码 _target 接收目标 _answer 处理结果给谁 _style 正文类型 取值2 _time 发送时间 _state 状态 参数对之间采用&分割 参数名称和参数值之间采用=分割 数组类型参数值采用,分割 |
6 |
正文 |
X |
数据格式为字节码(byte) |
注:合成报文的时候 需要将报文类型、报头长度、正文长度转换成定长度的16进制字节码,长度不足时在前面补充0。
2.4 报头说明
(1)_id ,编码
数据报唯一编码,小于18位,编码必须等长度按照时间序列生成,也可以空。
(2)_name,标题
中文描述,取表中的数据采集分类名称
(3)_sender,发送者
数据中心编码,必须与登录使用的编码一致,比如北京:11000001。
(4)_target ,接收目标
序号 |
数据采集分类名称 |
接收目标 |
1 |
国家机关和大型公建 |
cecms-xT1 |
2 |
建筑类型 |
cecms-xT2 |
3 |
空调形式 |
cecms-xT3 |
4 |
采暖形式 |
cecms-xT4 |
5 |
结构形式 |
cecms-xT5 |
6 |
外墙形式 |
cecms-xT6 |
7 |
外墙保温 |
cecms-xT7 |
8 |
外窗类型 |
cecms-xT8 |
9 |
玻璃类型 |
cecms-xT9 |
10 |
窗框材料 |
cecms-xT10 |
(5)_style,正文类型,采用XML取值2。(0-文本;1-JSON;2-XML)
(6)_time,发送时间,当前发送时间格式为: yyyy-mm-dd hh:mm:ss
2.5 报头示例
_id=C1280974531864019&_name=国家机关和大型公建分类&_sender=11000001&_target=cecms-xT1&_style=2&_time=2010-01-01 01:00:00
2.6 转换字节码示例
(1)C#代码示例
/**
* 10进制数转化为定长度的16进制字节数组
* value 待转化的值
* len 长度限制
**/
public byte[] intToHexBytes(int value, int len)
{
//转换成16进制数
string hx = Convert.ToString(value, 16);
int hxlen = hx.Length;
for (int l = 0; l < len - hxlen; l++)
{
hx = "0" + hx;
}
byte[] array = new byte[len];
array = System.Text.Encoding.ASCII.GetBytes(hx);
return array;
}
(2)Java 代码
/**
* 10进制数转化为定长度的16进制字节数组
*
* @param value
* 值
* @param len
* 长度限制
* @return
*/
public final byte[] intToHexBytes(int value, int len) {
String s = Integer.toHexString(value);
len = len - s.length();
for (int i = 0; i < len; i++) {
s = "0" + s;
}
return s.getBytes();
2.7 协议报示例
-117,-82,-101,48,48,48,48,51,54,48,48,48,48,48,49,54,85,61,110,117,108,108,78,89,97,110,103,71,117,111,77,105,110,44,38,84,61,50,48,49,48,45,48,53,45,48,53,32,49,51,58,49,52,58,53,49,38,83,61,121,103,109,49,38,82,61,121,103,109,50,60,63,120,109,108,62,32,46,46,46,32,46,46,46,32,32,60,47,120,109,108,62
字节码 |
数值 |
描述 |
|||
16进制 |
10进制 |
||||
3 字节 |
139,174,155 (或-117,-82,-101) |
® |
0x8b, 0xae, 0x9b |
报文开始标记 |
|
139, 174, 155 |
|||||
2 字节 |
48,48 |
00 |
0 |
0 |
报文类型 |
4 字节 |
48,48,51,54 |
0036 |
36 |
54 |
报头长度 |
7 字节 |
48,48,48,48,48,49,54 |
0000016 |
16 |
22 |
正文长度 |
54字节 |
85,61,110,117,108,108, 78,89,97,110,103,71, 117,111,77,105,110,44, 38,84,61,50,48,49, 48,45,48,53,45,48, 53,32,49,51,58,49, 52,58,53,49,38,83, 61,121,103,109,49,38, 82,61,121,103,109,50 |
发送者: ygm1 接收者: ygm2 发送时间: 2010-05-05 13:14:51 … … |
报头 |
||
22字节 |
60,63,120,109, 108,62,32,46,46,46, 32,46,46,46,32,32, 60,47,120,109,108,62 |
<?xml> ... ... |
正文 |
||
2.8 正文XML示例
能耗监测数据以XML格式,采用UTF-8编码,封装在基础协议正文中,通过TCP/IP协议发送至服务器。
正文XML示例如下:
正文XML示例:
<?xml version="1.0" encoding="utf-8"?>
<!-- head 报头 -->
<!-- 报体 -->
<!-- item 记录行 r 行序号 -->
<!-- func 分类编码; CollTime 数据采集日期; SumBuild 总栋数; TotalArea 建筑面积; AirArea 空调面积; HeatArea 采暖面积-->
<!-- EZValue 照明插座用电; EKValue 空调用电; EDValue 动力用电; ETValue 特殊用电; EValue 总电能耗值; SumValue 总能耗值 -->
<item r="1" func="A" CollTime="2009-05-01" SumBuild="16" TotalArea="645720.0000" AirArea="478424.0000" HeatArea="478424.0000"
EZValue="2168.0000" EKValue="12.0000" EDValue="0" ETValue="950.0000" EValue="3130.0000" SumValue="3130.0000"/>
<item r="2" func="B" CollTime="2009-05-01" SumBuild="36" TotalArea="1442864.0000" AirArea="1234665.0000" HeatArea="1238665.0000"
EZValue="7158.0100" EKValue="523.4900" EDValue="942.4940" ETValue="653.0060" EValue="9277.0000" SumValue="9277.0000"/>
<item r="3" func="D" CollTime="2009-05-01" SumBuild="44" TotalArea="1617093.0000" AirArea="1355361.0000" HeatArea="1411551.0000"
EZValue="13119.3820" EKValue="553.3950" EDValue="2894.6620" ETValue="2213.5180" EValue="18780.9570" SumValue="18780.9570"/>
<item r="4" func="A" CollTime="2009-05-02" SumBuild="16" TotalArea="645720.0000" AirArea="478424.0000" HeatArea="478424.0000"
EZValue="1276.0000" EKValue="15.0000" EDValue="0" ETValue="518.0000" EValue="1809.0000" SumValue="1809.0000"/>
<item r="5" func="B" CollTime="2009-05-02" SumBuild="36" TotalArea="1442864.0000" AirArea="1234665.0000" HeatArea="1238665.0000"
EZValue="4592.9280" EKValue="275.8560" EDValue="662.6440" ETValue="406.2500" EValue="5937.6780" SumValue="5937.6780"/>
<item r="6" func="D" CollTime="2009-05-02" SumBuild="44" TotalArea="1617093.0000" AirArea="1355361.0000" HeatArea="1411551.0000"
EZValue="7810.8160" EKValue="182.7120" EDValue="2526.0480" ETValue="1477.0960" EValue="11996.6720" SumValue="11996.6720"/>
<item r="7" func="A" CollTime="2009-05-03" SumBuild="16" TotalArea="645720.0000" AirArea="478424.0000" HeatArea="478424.0000"
EZValue="1319.8560" EKValue="13.5440" EDValue="0" ETValue="499.6560" EValue="1833.0560" SumValue="1833.0560"/>
<item r="8" func="B" CollTime="2009-05-03" SumBuild="36" TotalArea="1442864.0000" AirArea="1234665.0000" HeatArea="1238665.0000"
EZValue="4698.0950" EKValue="253.1920" EDValue="665.3080" ETValue="417.7500" EValue="6034.3450" SumValue="6034.3450"/>
<item r="9" func="D" CollTime="2009-05-03" SumBuild="44" TotalArea="1617093.0000" AirArea="1355361.0000" HeatArea="1411551.0000"
EZValue="7619.1670" EKValue="174.2940" EDValue="2582.9510" ETValue="1568.9020" EValue="11945.3140" SumValue="11945.3140"/>
<item r="10" func="A" CollTime="2009-05-04" SumBuild="16" TotalArea="645720.0000" AirArea="478424.0000" HeatArea="478424.0000"
EZValue="1488.1240" EKValue="16.4760" EDValue="0" ETValue="620.3240" EValue="2124.9240" SumValue="2124.9240"/>
<item r="11" func="B" CollTime="2009-05-04" SumBuild="36" TotalArea="1442864.0000" AirArea="1234665.0000" HeatArea="1238665.0000"
EZValue="5151.0000" EKValue="214.0000" EDValue="622.0000" ETValue="438.0000" EValue="6425.0000" SumValue="6425.0000"/>
<item r="12" func="D" CollTime="2009-05-04" SumBuild="44" TotalArea="1617093.0000" AirArea="1355361.0000" HeatArea="1411551.0000"
EZValue="7938.0000" EKValue="639.0000" EDValue="2622.0000" ETValue="1515.0000" EValue="12714.0000" SumValue="12714.0000"/>
<item r="13" func="A" CollTime="2009-05-05" SumBuild="16" TotalArea="645720.0000" AirArea="478424.0000" HeatArea="478424.0000"
EZValue="2313.0000" EKValue="12.0000" EDValue="0" ETValue="955.0000" EValue="3280.0000" SumValue="3280.0000"/>
<!-- 补充说明 在每个item记录行中根据情况补充下列属性, 缺省下列属性接收端默认0值-->
<!--
WValue 水耗量
GValue 燃气量
HValue 集中供热量
CValue 集中供冷量
ZKValue 总空调能耗值
ZHValue 总采暖能耗值
OValue 其他能源
OMValue 煤
OM1Value 液化石油气
OM1Value 人工煤气
OQValue 汽油
OMValue 煤油
OCValue 柴油
ORValue 可再生能源
-->