GB/T 33604-2017 电力系统简单服务接口规范
- 名 称:GB/T 33604-2017 电力系统简单服务接口规范 - 下载地址1
- 下载地址:[下载地址1]
- 提 取 码:
- 浏览次数:3
发表评论
加入收藏夹
错误报告
目录| 新闻评论(共有 0 条评论) |
资料介绍
ICS 29 . 020 F 2 1
中 华 人 民 共 和 国 国 家 标 准
GB/T 33604—2017
电力系统简单服务接口规范
Simpleserviceinterfacespecificationforpowersystem
2017-05-12 发布 2017-12-01 实施
中华人民共和国国家质量监督检验检疫总局中 国 国 家 标 准 化 管 理 委 员 会
发
布
GB/T 33604—20 17
GB/T 33604—20 17
前 言
本标准按照 GB/T 1 . 1—2009 给出的规则起草。
本标准由中国电力企业联合会提出。
本标准由全国电网运行与控制标准化技术委员会(SAC/TC 446)归口 。
本标准起草单位:国网河北省电力公司、北京科东电力控制系统有限责任公司、国家电网公司国家电力调度控制中心、中国南方电网电力调度控制中心、国电南瑞科技股份有限公司、广东电网有限责任公司电力科学研究院、南京南瑞继保电气有限公司、中国电力科学研究院、国网四川省电力公司。
本标准主要起草人:习新魁、梅峥、马斌、陈国平、许洪强、叶飞、孙炜、厉启鹏、杨立波、方文崇、顾博川、李一鹏、王亚军、万书鹏、钱锋、李伟龙、赵鹏、温丽丽、席骊瑭、狄方春、孙名扬、黄运豪。
GB/T 33604—20 17
电力系统简单服务接口规范
1 范围
本标准规定了用于电力系统生产控制及管理业务简单服务的文本型接口规范,包括文本型服务接口的语法、语义规则,服务体系结构及流程、服务定义、服务管理、服务访问等技术内容。
本标准适用于电力系统生产控制及管理业务中使用文本型简单服务的应用场合。
2 规范性引用文件
下列文件对于本文件的应用是必不可少的。 凡是注 日期的引用文件,仅注 日期的版本适用于本文件 。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
GB/T 16262 . 1—2006 信息技术 抽象语法记法一(ASN . 1) 第 1 部分:基本记法规范
GB/T 33602 电力系统通用服务协议
DL/T 476 电力系统实时数据通信应用层协议
IEC 61850 电力应用 自动化通信网络和系统 (Communication networks and systems for power utility automation)
3 术语和定义
下列术语和定义适用于本文件。
3.1
服务接口 serviceinterface
特定功能的形式化描述,定义了实现功能所需的参数和返回结果。
3.2
服务消费者 serviceconsumer
根据服务接口描述访问服务的程序。
3.3
服务提供者 serviceprovider
实现服务接口定义的功能并提供服务的程序。
3.4
简单服务 simpleservice
能够相对独立运行,具有简单的输入参数和输出结果的应用程序。
3.5
粗粒度服务 coarse-grainedservice
在一个抽象的接口中封装了大块的业务/技术的服务,以减少服务请求交互的次数。
4 缩略语
下列缩略语适用于本文件。
GB/T 33604—20 17
BNF:巴科斯范式(Backus-Naur Form)
SOA:面向服务的体系架构(Service-Oriented Architecture)
WSDL: Web 服务描述语言(Web Services Description Language)
XML:可扩展标记语言(eXtensible Markup Language)
5 符号定义和语法规则
5 . 1 符号定义
本标准参考 SOA架构及 WSDL语言,提出了用于电力系统的简单服务接口规范,定义了服务请求与应答流程,并满足电力系统在线应用对效率的要求。 简单服务接口规范的符号说明见表 1,定义了类型描述符、路径分隔符、参数描述的起始符和结束符等符号。
表 1 简单服务接口规范符号说明
5 . 2 语法规则
简单服务接口语法规范采用 BNF范式的形式进行描述,详见附录 A。
6 服务体系结构及流程
6 . 1 体系结构
简单服务体系由服务消费者、服务总线和服务提供者组成,体系结构见图 1 。 图 1 展示了在服务体系结构中使用简单服务接口规范进行服务的注册、定位、请求和应答的流程。
GB/T 33604—20 17
图 1 使用简单服务接口规范的服务体系结构示意图
6 . 2 服务流程
服务流程主要包括以下步骤:
a) 服务提供者注册服务定义信息;
b ) 服务消费者查询服务定义信息;
c) 服务消费者接收服务定义信息;
d) 服务消费者向服务提供者发送服务请求;
e) 服务提供者接收服务请求;
f) 服务提供者返回服务应答结果;
g) 服务消费者接收服务应答结果。
7 服务定义
服务定义的描述由服务提供者负责,描述格式为:
〈ServiceName ( mode type1 : param1 , mode type2: param2 , … ) prompt /〉
服务定义包括服务名称、参数定界符、参数传递模式、参数类型、参数名、提示符等,具体说明如下:
a) 服务名称(ServiceName) :由服务提供者定义,名称应以英文字母开头,并由英文字母或数字组成;
b ) 参数定界符:使用一对括号“()”作为参数定界符,一个服务可以有多个参数,所有参数都位于括号之内,参数之间以逗号分隔;
c) 参数传递模式(mode):参数传输模式包括输入(in)、输出 (out)和输入输出(inout)三种模式;
GB/T 33604—20 17
d) 参数类型(type) :采用 ASCII字符串描述,支持基本数据类型(见表 2) 和基本数据类型对应的数组。 参数类型的描述分为显式和隐式两种。 显式描述在类型和参数名前加冒号作为参数类型修饰符,形如:“参数类型:参数名=参数值”;隐式描述参数类型和参数名均可省略,只对服务参数值进行描述,隐式描述仅可用于服务请求,其值所对应的参数类型和参数位置必须与原服务所定义的类型及位置一致;
e) 参数名(param) :服务参数的具体名称;
f) 提示符(prompt) :用于服务的功能描述,可采用中文或英文。
表 2 参数类型支持的数据类型
8 服务管理
为有效管理和检索服务,采用服务列表的方式对服务进行组织。 服务列表的描述方式参考 XML形式,典型的服务列表描述格式如下:
〈?xml version= ”1.0 ”encoding=”? ”〉
〈S v= ”1.0”Domain =”华北”〉
〈ServiceList (in string: hostname, out string: list_file ) “服务列表服务” /〉
〈 Directory (in string: path, out string[] : DirectoryList ) “目录服务” /〉
〈FileTrans (in string: from_file , out string: to_file ) “文件传输服务” /〉
〈DisplayPic(in string: pic, in int: fresh)”画面调阅服务” /〉
〈GridModelRT (in string: grid_name, out string: result_file)“电网模型服务” /〉
〈StateEstimate (in string: grid_name, out string: result_file)“状态估计服务” /〉
〈/ S 〉
基本规则如下:
a) 第一行为版本声明,包括 XML版本号,编码方式等;
b ) 第二行的标签 S被定义为简单服务接口规范的特有标识符,〈 S 引导一系列服务描述,v 描述简单服务接口规范版本;
c) 域 (Domain),表示电力系统中不同级别的机构,可用多层描述,层间以路径分隔符’.’分隔,如:“河北.衡水”;
GB/T 33604—20 17
d) 从“〈S〉”到“〈/S〉”之间可能有若干行,每行描述一个服务,格式与单行服务描述一致;
e) 提示符(prompt)可以使用中文进行描述,为带双引号的字符串。
附录 B列举了电力系统中适用简单服务接口规范的部分服务。
9 服务请求与应答
9 . 1 服务请求格式
服务请求描述以字符方式定义,描述服务原语、服务参数等内容,由服务提供者进行解析。
服务请求完整格式为:
〈Domain. ServiceName (mode type1 : param1 =value1 , mode type2: param2=value2 , … ) /〉
服务请求包括域、服务名称、参数定界符、参数传递模式、参数类型、参数名、参数值。 其中域定义见第 8 章,服务名称、参数定界符、参数传递模式、参数类型、参数名定义见第 7 章 。
在服务请求中,为简便起见,可采用隐式参数描述方式,即省略参数传递模式、参数类型和参数名称,仅将参数值置于其参数位置,但省略部分及参数位置必须与原服务定义完全对应一致。
参数取值类型包括字符串类型、整数类型、浮点类型和数组类型等,具体描述如下:
a) 字符串类型:字符串类型用双引号或单引号定界,当字符串中含有单引号时可用双引号定界,当字符串中含有双引号时可用单引号定界,当字符串中含有单引号和双引号时,可在单引号和双引号前面插入反斜杠(/’或 /“或/”)作为转义符以将其按一般字符处理。 例如,显式描述为:in STRING: myName=“张三”,隐式描述为:“张三”;
b ) 整数类型:整数类型可采用十六进制、十进制、八进制和二进制表示,其中十六进制、八进制和二进制分别使用 0X、0O 和 0B 作为引导符;整数类型数值不加引号;例如,显式描述为:in INT32 : num=4 , 隐式描述为:4 ;
c) 浮点类型:浮点数采用科学计数法或十进制表示,浮点类型数值不加引号,应有小数点;例如,显式描述为:in FLOAT32: value=123.45, 隐式描述为:123.45 ;
d) 数组类型:当参数类型为数组时,其参数值可用大括号{ }定界,也可以嵌套,如:INT32[] : number= { 123 , 456 , 789 } 。在这种情况下,类型修饰符和参数名不应省略,以免引起混淆。
9 . 2 服务应答格式
服务应答描述服务响应成功或失败的信息,应由服务消费者进行解析。
服务应答格式应采用字符形式的返回码,用于说明服务访问是否成功,并在失败时能表明错误原因,其定义如表 3 所示:
表 3 服务应答定义
10 协议适配
本标准定义了访问简单服务的接口规范,并对服务请求进行了描述。 服务请求可以适配到多个协议和标准上,这些标准和协议包括:GB/T 33602、DL/T 476、IEC 61850、TCP等,详见附录 C。
GB/T 33604—20 17
附 录 A
(规范性附录)
电力系统简单服务接口规范语法定义
电力系统简单服务接口规范语法的 BNF定义如下,描述了规范的语法结构和组成元素。 specification ∷ = definition
definition ∷ = domain_def“.”service |
service__list
domain_def ∷ =domain_def“.”| domain_def domain_def ∷ = identifier
service_list ∷ = xml_start_headerservice_list_headerservice_list_defservice_list_tail xml_start_header ∷ =“〈?xml”version_def“?〉”
service_list_header ∷ =“〈S”version_defsite_def“〉”
version_def ∷ =“v= ”““”[1-9] +“.”[0-9] +“””
site_def ∷ =“at= ”““”value“””
service_list_def ∷ = service_list_def | service service_list_tail ∷ =“〈/S〉”
service ∷ = [declaration | notation]“〈”service_defineprompt“/〉”
declaration ∷ =“〈!”value“!〉”
notation∷=“//”value
service_define∷=service_name“(”para_list“)”
service_name∷ = identifier
para_list∷=“(”para_define“) ”
para_define∷ =para_define“,”para |
para
para∷= mode type_define“:”para_name“= ”para_value mode ∷ =“in”|“out”|“inout”
type_define∷ =type_name|
scoped_name“[]”
type_name∷ =int_type|
char_type|
float_type|
string_type scoped_name∷ =int_type|
char_type|
float_type|
string_type
int_type∷=“INT8”|“INT8U”|“INT16”|“INT16U”|“INT32”|“INT32U”|“INT64 |“INT64U” char_type∷=“CHAR”
float_type∷=“FLOAT32”|“FLOAT64”
string_type∷=“STRING”
para_name∷ = identifier
GB/T 33604—20 17
para_value∷ =simple_value | complex_value simple_value∷ =value_identifier
complex_value∷ =“{”value_list“}”
value_list∷ =value_list, value|
value
value ∷ = value_ identifier
value_ identifier ∷ =int_expression | float_expression | char_expression | string_expression
int_expression∷ =signal _expressiondec_expression |“0X”hex_expression |“0O”oct_expression |
“0B”bin_expression
hex_expression∷ =hex_num | { hex_expression } hex_num oct_expression∷ =oct_num | { oct_expression } oct_num dec_expression∷ =dec_num | { dec_expression } dec_num bin_expression∷ =bin_num | { bin_expression } bin_num signal_expression ∷ =[-]
hex_num ∷ =dec_num | A | B | C | D | E | F dec_num ∷ =oct_num | 8 | 9
oct_num ∷ = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 bin_num ∷ = 0 | 1
char_expression ∷ = [0-9] | [a-z] | [A-Z]
float_expression ∷ = signal_expressiondec_expression“.”dec_expression | signal_expressiondec_ex- pression“.”dec_expression“E”signal_expressiondec_expression
string_expression ∷ = = ssichar_expression} char_expressionhar prompt ∷ = string_expression
GB/T 33604—20 17
附 录 B
(规范性附录)
标准的简单服务描述
本标准适用于以粗粒度服务集成应用程序的场景,应用程序具有简单的输入参数。 以下列举了部分使用简单服务接口规范的服务:
a) 文件服务:提供远程访问 目录和文件的功能;
b ) 资源查询服务:提供服务消费者访问系统中服务和资源的状态以及定位功能;
c) 事件转发服务:提供服务消费者(远程和本地)的事件收发,支持不同系统之间的事件转发;
d) 高速数据访问服务:用于快速访问简单数据结构的服务;
e) 时序数据访问服务:用于访问历史数据的服务,提供基于时序的数据访问功能。
GB/T 33604—20 17
附 录 C
(规范性附录)适 配 协 议
本标准可以适配到多个协议和标准上,包括:GB/T 33602、DL/T 476 、IEC 61850 、TCP 等,详见图 C. 1 。
图 C.1 传输协议适配
相关推荐
- GB/T 33193.2-2016 铁道车辆空调 第2部分:型式试验
- GB/T 18997.1-2020 铝塑复合压力管 第1部分:铝管搭接焊式铝塑管 含2022年第1号修改单
- GB/T 37546-2019 无人值守变电站监控系统技术规范
- GB/T 22627-2014 水处理剂 聚氯化铝
- GB/T 5099.4-2017 钢质无缝气瓶 第4部分:不锈钢无缝气瓶
- GB/T 43074-2023 弹簧 符号 正式版
- GB∕T 19473.3-2020 冷热水用聚丁烯(PB)管道系统 第3部分:管件
- GB/T 16824.2-2016 六角法兰面自攻螺钉
- [清晰版] GB/T 28807-2012 轨道交通 机车车辆和列车检测系统的兼容性
- GB/T 13534-2009 颜色标志的代码 含2024年第1号修改单

