一种iec61968消息的一致性测试方法
【技术领域】
[0001] 本发明属于电网信息集成技术领域,具体设及一种IEC61968消息的一致性测试 方法。
【背景技术】
[0002] 智能配电网的信息集成是实现配电网业务管理和电网运行监控的信息化与自动 化的重要基础,是构筑智能配电网兼容、自愈、互动和优化功能的必要技术支撑。国际电工 委员会第57技术委员会第14工作组制定颁布的IEC61968系列标准,为配网管理系统各业 务组件制定了统一的语义和语法,力求将传统异构系统间点对点的紧禪合集成模式升级成 为符合面向服务架构的总线式松散禪合集成模式。在新的集成模式下,系统间WIEC61968 消息作为交互的数据对象,并通过挂载在总线上的Web服务(WebService)或化va消息 服务(JavaMessageService,JM巧,实现请求/响应或发布/订阅两种模式的信息交互。 作为交互的主体,IEC61968消息承载了IEC61968公共信息模型(CommonIn化rmation Model,CIM)的语义,并W可扩展标记语言架构(XMLSchemaDefinition,XSD)来规范消息 结构。
[000引基于CIM的数据(CIM/畑FXML,IEC61968消息等)测试与验证方法已经引起了国 际标准制定机构的重视,但是目前尚未有相关的实质性研究成果发布。国内外一般均W交 互双方参与的互操作试验来进行CIM数据一致性的测试。但是会引起如下的问题;一是缺 乏一种独立的第=方测试方法,使得测试流程较为繁琐;二是缺少标准规则的支持。
[0004]IEC61968消息结构分为消息头化eader)、请求组件巧equest)、应答组件巧巧ly) 和消息体(Payload)等四部分,如附图1。在实际使用时,该消息结构一般会特化为下列四 种消息类型中的一种:请求消息(RequestMessage),应答消息化esponseMessage),事件消 息巧ventMessage),错误消息(FaultMessage)。该四种消息类型分别由消息结构四部分中 的某几部分组成,适用于不同场合。
[0005] 四种消息类型的组成部分如表1 :
[0006] 表1
[0007]
[000引
[0009] 请求消息和应答消息一般用于请求/响应模式中,由客户端主动发送请求消息, 经由总线转发给服务端,服务端处理后通过总线返回应答消息给客户端。事件消息一般用 于发布/订阅模式,服务端由事件触发通过总线发布该事件消息,总线向所有订阅该消息 的客户端转发。错误消息一般用于请求/响应模式,当服务端无法解析客户端的请求时,会 返回一条错误消息。基于IEC61968消息的智能配电网信息集成会因消息不规范造成互操 作失败,影响相关业务的正常进行,主要原因有W下两个方面:
[0010] (1)由于各个系统厂商对标准的认知和理解不同,私有扩展较多,该势必会提高电 网企业信息集成的维护成本,严重时会造成相关业务的误操作或流程停滞。
[0011] (2)IEC61968消息的元数据版本处于不断更替当中,其中消息信封元数据XSD从 2010年底至2012年底进行了 20余次修改,而各消息子集元数据XSD也在不断更新,许多子 集甚至尚未发布。各系统开发商遵循不同版本元数据进行开发,该有可能会造成系统间交 互的消息无法被对方识别或解析错误,即互操作的非一致性。
【发明内容】
[0012] 为了克服上述现有技术的不足,本发明提供一种IEC61968消息的一致性测试方 法,W便对旧有的非标准系统进行改造升级,有效提升各业务系统交互的数据质量,降低维 护成本,从而避免基于IEC61968消息的智能配电网信息集成因消息不规范造成互操作失 败,影响相关业务的正常进行。
[0013] 为了实现上述发明目的,本发明采取如下技术方案:
[0014] 本发明提供一种IEC61968消息的一致性测试方法,所述方法包括W下步骤:
[0015] 步骤1;肥B服务系统主服务并行调用肥B服务系统子服务,并转发IEC61968消息 给一致性测试系统;
[0016] 步骤2;-致性测试系统的一致性测试主引擎接收IEC61968消息,通过消息一致 性测试规则对IEC61968消息进行测试;
[0017] 步骤3;肥B服务系统子服务记录测试结果,生成测试子报告返回给肥B服务系统 主服务,肥B服务系统主服务生成测试总报告,返回给肥B服务系统客户端。
[0018] 所述步骤1中,肥B服务系统客户端发送IEC61968消息给肥B服务系统主服务, 肥B服务系统主服务接收肥B服务系统客户端发送的IEC61968消息,解析主服务配置文件 后创建与W邸服务系统子服务数量相同的子线程,并行调用W邸服务系统子服务并转发 IEC61968消息至一致性测试系统,主线程循环等待。
[0019] 肥B服务系统客户端、肥B服务系统子服务和肥B服务系统主服务组成肥B服务系 统。
[0020] 所述步骤2中,一致性测试系统根据消息一致性测试规则将IEC61968消息与元数 据库中的元数据进行对比,生成测试结果。
[0021] 所述消息一致性测试规则包括格式层规则和应用层规则;所述格式层规则用于校 验IEC61968消息的格式是否符合对应的元数据定义,所述应用层规则用于针对具体应用 场合进行一致性需求补充。
[0022] 所述格式层规则包括消息信封格式层规则和消息体子集格式层规则。
[0023] 所述应用层规则包括消息信封应用层规则和消息体子集应用层规则;
[0024] 所述消息信封应用层规则包括消息信封根元素定义规则和动词匹配规则;
[00巧]所述消息体子集应用层规则包括消息体子集根元素定义规则和引用有效性规则。
[0026] 所述消息信封根元素定义规则中,消息信封中根元素的命名为RequestMessage、 ResponseMessage、EventMessage或FaultMessage中的任意一种,根元素所在命名空间与 元数据库中的至少一个元数据XSD的目标命名空间相同。
[0027] 所述动词匹配规则中,消息头中的动词应与消息类型匹配;请求消息的消息头仅 可义用get、create、change、cancel、close、delete或exe州te中的任意一个,应答消息的 消息头仅可采用reply,事件消息的消息头仅可采用created、changed、canceled、closed、 deleted或exe州ted中的任意一个。
[0028] 所述消息体子集根元素定义规则中,消息体子集中根元素的命名与元数据库中的 至少一个元数据XSD名相同,且根元素所在命名空间必须和与其相同命名的元数据XSD中 的一个目标命名空间相同。
[0029] 所述引用有效性规则中,消息体子集中的对象关联使用ref属性字段进行外部引 用,则在IEC61968消息中存在具备与该字段值相等的mRID子元素的元素节点。
[0030] 通过服务接口和主服务配置文件使肥B服务系统具有松散禪合性和可扩展性;
[0031] 肥B服务系统主服务与所有肥B服务系统子服务均使用同一个WS化文件定义服务 接口;
[0032] 主服务在启动时加载和解析主服务配置文件,自动配置主服务配置文件与肥B服 务系统子服务的关联,保证肥B服务系统子服务的独立性和可扩展性。
[0033] 所述步骤3包括W下步骤:
[0034] 步骤3 -1;肥B服务系统子服务记录IEC61968消息在消息一致性测试规则下的测 试结果,若IEC61968消息与消息一致性测试规则一致,则表明IEC61968消息通过一致性测 试,一致的测试结果逐项记录在测试子报告中;若IEC61968消息与消息一致性测试规则不 一致,不一致的测试结果逐项记录在测试子报告中;
[00巧]步骤3 -2 ;肥B服务系统主服务接收所有肥B服务系统子服务发送的测试子报告, 对测试子报告进行汇总后生成测试总报告,所述W邸服务系统主服务将测试总报告返回给 W邸服务系统客户端。
[0036] 与现有技术相比,本发明的有益效果在于:
[0037] (1)本发明能独立检测信息交互过程中IEC61968消息的准确性,简化了测试流 程,大大提高了信息交互效率;
[003引 (2)本发明使一致性测试的过程不受元数据W及规则变化的影响,保证了一致性 测试方法的鲁椿性;
[0039] (3)本发明中Web服务系统可实现一致性服务系统,未来可通过在线测试和离线 测试两种模式,充分提升IEC6198消息的数据质量,降低配网信息集成的维护成本;
[0040] (4)本发明制定了格式层和应用层的IEC61968消息一致性测试规则,其分层机制 和规则内容,分别保证了IEC61968消息一致性测试的可扩展性和有效性。
【附图说明】
[0041] 图1是IEC61968信息结构示意图;
[0042] 图2是本发明实施例中一致性测试中服务接口输入参数结构图;
[0043] 图3是本发明实施例中一致性测试服务软件接口输出参数结构图;
[0044] 图4是本发明实施例中主服务配置文件结构图;
[0045] 图5是本发明实施例中Web服务系统示意图。
【具体实施方式】
[0046] 下面结合附图对本发明作进一步详细说明。
[0047] 本发明提供一种IEC61968消息的一致性测试方法,所述方法包括W下步骤:
[0048] 步骤1;肥B服务系统主服务并行调用肥B服务系统子服务,并转发IEC61968消息 给一致性测试系统;
[0049] 步骤2;-致性测试系统的一致性测试主引擎接收IEC61968消息,通过消息一致 性测试规则对IEC61968消息进行测试;
[0050] 步骤3 ;肥B服务系统子服务记录测试结果,生成测试子报告返回给肥B服务系统 主服务,肥B服务系统主服务生成测试总报告,返回给肥B服务系统客户端。
[0051] 所述步骤1中,肥B服务系统客户端发送IEC61968消息给肥B服务系统主服务, 肥B服务系统主服务接收肥B服务系统客户端发送的IEC61968消息,解析主服务配置文 件后创建与W邸服务系统子服务数量相同的子线程,并行调用W邸服务系统子服务并转发 IEC61968消息至一致性测试系统,主线程循环等待。
[0052] 肥B服务系统客户端、肥B服务系统子服务和肥B服务系统主服务组成肥B服务系 统(如图5)。
[0053] 所述步骤2中,一致性测试系统根据消息一致性测试规则将IEC61968消息与元数 据库中的元数据进行对比,生成测试结果。
[0054] 所述消息一致性测试规则包括格式层规则和应用层规则;所述格式层规则用于校 验IEC61968消息的格式是否符合对应的元数据定义,所述应用层规则用于针对具体应用 场合进行一致性需求补充。
[00巧]所述格式层规则包括消息信封格式层规则和消息体子集格式层规则。
[0056] 所述应用层规则包括消息信封应用层规则和消息体子集应用层规则;
[0057] 所述消息信封应用层规则包括消息信封根元素定义规则和动词匹配规则;
[005
8] 所述消息体子集应用层规则包括消息体子集根元素定义规则和引用有效性规则。
[0059] 所述消息信封根元素定义规则中,消息信封中根元素的命名为RequestMessage、 ResponseMessage、EventMessage或FaultMessage中的任意一种,根元素所在命名空间与 元数据库中的至少一个元数据XSD的目标命名空间相同。
[0060] 所述动词匹配规则中,消息头中的动词应与消息类型匹配;请求消息的消息头仅 可采用get、create、change、cancel、close、delete或exe州te中的任意一个,应答消息的 消息头仅可采用reply,事件消息的消息头仅可采用created、changed、canceled、closed、 deleted或exe州ted中的任意一个。
[0061] 所述消息体子集根元素定义规则中,消息体子集中根元素的命名与元数据库中的 至少一个元数据XSD名相同,且根元素所在命名空间必须和与其相同命名的元数据XSD中 的一个目标命名空间相同。
[0062] 所述引用有效性规则中,消息体子集中的对象关联使用ref属性字段进行外部引 用,则在IEC61968消息中存在具备与该字段值相等的mRID子元素的元素节点。
[0063] 通过服务接口和主服务配置文件使肥B服务系统具有松散禪合性和可扩展性;
[0064] (1)服务接口
[0065] 肥B服务系统主服务与所有肥B服务系统子服务均使用同一个WS化文件定义服务 接口;接口输入和输出参数结构如附图2和附图3,其中IEC61968消息用于替换输入参数 的消息字段,请求时间字段用于记录请求时间;测试报告存放在输出参数的测试报告字段 中,测试报告由测试项组成,每个测试项包含测试类型、规则、测试结果W及错误列表,错误 列表由错误项组成,错误项中包含该错误所在行号和该错误的描述。
[0066] (2)主服务配置文件
[0067] 主服务在启动时加载和解析主服务配置文件,自动配置主服务配置文件与肥B服 务系统子服务的关联,保证W邸服务系统子服务的独立性和可扩展性。主服务配置文件结 构如附图4,其中子服务的名称和地址存放在名称和地址字段。如需增加子服务,则增加子 服务节点并填充相应的名称和地址字段即可,无需修改主服务;如需屏蔽某些子服务,则去 掉相应子服务节点。
[0068] 所述步骤3包括W下步骤:
[0069] 步骤3 -1;肥B服务系统子服务记录IEC61968消息在消息一致性测试规则下的测 试结果,若IEC61968消息与消息一致性测试规则一致,则表明IEC61968消息通过一致性测 试,一致的测试结果逐项记录在测试子报告中;若IEC61968消息与消息一致性测试规则不 一致,不一致的测试结果逐项记录在测试子报告中;
[0070] 步骤3 -2;肥B服务系统主服务接收所有肥B服务系统子服务发送的测试子报告, 对测试子报告进行汇总后生成测试总报告,所述W邸服务系统主服务将测试总报告返回给 W邸服务系统客户端。
[00川 实施例
[0072] (1)将一致性测试服务发布在本地IIS服务器上,主服务配置文件如下:
[0073]
[0074]
[0075] (2)通过测试客户端发送包含测试请求时间戳和IEC61968消息的输入参数,其中 包含的消息为一条IEC61968事件消息,消息体内装载了停电故障(OutageAndFaults)子集 的实例:
[0076]
[0077]
[0078]
[0079] (3)最后由主服务返回的输出参数结果如下:
[0080]
[0081]
[0082]
[0083] 从报告中可W清楚地看到,待测消息成功通过了消息信封根元素定义规则与消 息体子集实例根元素定义规则测试,但是与其他规则均存在不一致。动词"化eated"既 不符合格式层的W3CXML有效性规则,也不符合应用层的动词匹配规则,应修正为小写 "created";信封的化rmat字段出现了两次,与信封元数据XSD中该字段的基数限定不符, 未通过信封格式层W3CXML有效性规则测试,应去掉其中一个字段;消息体子集实例的 "D化ineSegment"字段与消息体子集实例格式层的W3CXML有效性规则不一致,应修正为子 集元数据XSD中定义的"A化ineSegment";消息体子集实例中的"ref= "0utage#10""属 性节点未通过引用有效性规则测试,应修正为"ref= "0utage#r"。
[0084] 综上所述,本发明能较完善地优化CIM数据一致性测试流程,检验基于XSD的 IEC61968消息的正确性,提升各业务系统交互的数据质量,降低配网信息集成维护成本,有 良好的未来发展前景。
[0085] 最后应当说明的是;W上实施例仅用m兑明本发明的技术方案而非对其限制,所 属领域的普通技术人员参照上述实施例依然可W对本发明的【具体实施方式】进行修改或者 等同替换,该些未脱离本发明精神和范围的任何修改或者等同替换,均在申请待批的本发 明的权利要求保护范围之内。
【主权项】
1. 一种IEC61968消息的一致性测试方法,其特征在于:所述方法包括以下步骤: 步骤I:WEB服务系统主服务并行调用WEB服务系统子服务,并转发IEC61968消息给一 致性测试系统; 步骤2 :-致性测试系统的一致性测试主引擎接收IEC61968消息,通过消息一致性测 试规则对IEC61968消息进行测试; 步骤3 :WEB服务系统子服务记录测试结果,生成测试子报告返回给WEB服务系统主服 务,WEB服务系统主服务生成测试总报告,返回给WEB服务系统客户端。2. 根据权利要求1所述的IEC61968消息的一致性测试方法,其特征在于:所述步骤1 中,WEB服务系统客户端发送IEC61968消息给WEB服务系统主服务,WEB服务系统主服务接 收WEB服务系统客户端发送的IEC61968消息,解析主服务配置文件后创建与WEB服务系统 子服务数量相同的子线程,并行调用WEB服务系统子服务并转发IEC61968消息至一致性测 试系统,主线程循环等待。3. 根据权利要求1或2或所述的IEC61968消息的一致性测试方法,其特征在于:WEB 服务系统客户端、WEB服务系统子服务和WEB服务系统主服务组成WEB服务系统。4. 根据权利要求1所述的IEC61968消息的一致性测试方法,其特征在于:所述步骤2 中,一致性测试系统根据消息一致性测试规则将IEC61968消息与元数据库中的元数据进 行对比,生成测试结果。5. 根据权利要求1所述的IEC61968消息的一致性测试方法,其特征在于:所述消息一 致性测试规则包括格式层规则和应用层规则;所述格式层规则用于校验IEC61968消息的 格式是否符合对应的元数据定义,所述应用层规则用于针对具体应用场合进行一致性需求 补充。6. 根据权利要求5所述的IEC61968消息的一致性测试方法,其特征在于:所述格式层 规则包括消息信封格式层规则和消息体子集格式层规则。7. 根据权利要求5所述的IEC61968消息的一致性测试方法,其特征在于:所述应用层 规则包括消息信封应用层规则和消息体子集应用层规则; 所述消息信封应用层规则包括消息信封根元素定义规则和动词匹配规则; 所述消息体子集应用层规则包括消息体子集根元素定义规则和引用有效性规则。8. 根据权利要求7所述的IEC61968消息的一致性测试方法,其特征在于:所述消息 信封根元素定义规则中,消息信封中根元素的命名为RequestMessage、ResponseMessage、 EventMessage或FaultMessage中的任意一种,根元素所在命名空间与元数据库中的至少 一个元数据XSD的目标命名空间相同。9. 根据权利要求7所述的IEC61968消息的一致性测试方法,其特征在于:所述动词匹 配规则中,消息头中的动词应与消息类型匹配;请求消息的消息头仅可采用get、create、 change、cancel、close、delete或execute中的任意一个,应答消息的消息头仅可采用 reply,事件消息的消息头仅可米用created、changed、canceled、closed、deleted或 executed中的任意一个。10. 根据权利要求7所述的IEC61968消息的一致性测试方法,其特征在于:所述消息 体子集根元素定义规则中,消息体子集中根元素的命名与元数据库中的至少一个元数据 XSD名相同,且根元素所在命名空间必须和与其相同命名的元数据XSD中的一个目标命名 空间相同。11. 根据权利要求7所述的IEC61968消息的一致性测试方法,其特征在于:所述引用 有效性规则中,消息体子集中的对象关联使用ref属性字段进行外部引用,则在IEC61968 消息中存在具备与该字段值相等的mRID子元素的元素节点。12. 根据权利要求3所述的IEC61968消息的一致性测试方法,其特征在于:通过服务 接口和主服务配置文件使WEB服务系统具有松散耦合性和可扩展性; WEB服务系统主服务与所有WEB服务系统子服务均使用同一个WSDL文件定义服务接P; 主服务在启动时加载和解析主服务配置文件,自动配置主服务配置文件与WEB服务系 统子服务的关联,保证WEB服务系统子服务的独立性和可扩展性。13. 根据权利要求1所述的IEC61968消息的一致性测试方法,其特征在于:所述步骤3 包括以下步骤: 步骤3-1:WEB服务系统子服务记录IEC61968消息在消息一致性测试规则下的测试结 果,若IEC61968消息与消息一致性测试规则一致,则表明IEC61968消息通过一致性测试, 一致的测试结果逐项记录在测试子报告中;若IEC61968消息与消息一致性测试规则不一 致,不一致的测试结果逐项记录在测试子报告中; 步骤3-2:WEB服务系统主服务接收所有WEB服务系统子服务发送的测试子报告,对测 试子报告进行汇总后生成测试总报告,所述WEB服务系统主服务将测试总报告返回给WEB 服务系统客户端。
【专利摘要】本发明提供一种IEC61968消息的一致性测试方法,包括以下步骤:WEB服务系统主服务并行调用WEB服务系统子服务,并转发IEC61968消息给一致性测试系统;一致性测试系统的一致性测试主引擎接收IEC61968消息,通过消息一致性测试规则对IEC61968消息进行测试;WEB服务系统子服务记录测试结果,生成测试子报告返回给WEB服务系统主服务,WEB服务系统主服务生成测试总报告,返回给WEB服务系统客户端。本发明提供一种IEC61968消息的一致性测试方法,以便对旧有的非标准系统进行改造升级,有效提升各业务系统交互的数据质量,降低维护成本,从而避免基于IEC61968消息的智能配电网信息集成因消息不规范造成互操作失败,影响相关业务的正常进行。
【IPC分类】H04L12/26
【公开号】CN104901842
【申请号】CN201510178853
【发明人】梁英, 李二霞, 刘 东, 刘鹏, 李玉凌, 王伊晓, 杜哲, 张怡静, 魏旭, 刘海波
【申请人】中国电力科学研究院, 国家电网公司, 上海交通大学, 国网山东省电力公司, 北京天能继保电力科技有限公司
【公开日】2015年9月9日
【申请日】2015年4月16日