面向服务的智能电网调度控制系统的服务编制装置及方法与流程

文档序号:16775441发布日期:2019-02-01 18:41阅读:194来源:国知局
面向服务的智能电网调度控制系统的服务编制装置及方法与流程

本发明涉及服务编制,特别是涉及一种面向服务的智能电网调度控制系统的服务编制装置及方法,属于电力系统信息技术领域。



背景技术:

面向服务的架构(soa,serviceorientedarchitecture)已在智能电网调度控制系统中广泛应用,通过将功能封装成服务,实现业务功能的需求。在利用服务实现业务的功能时,单个服务往往无法完成全部需求,必须依靠一组服务相互之间的协作才能达到目的,服务编制(so,serviceorchestration)作为实现灵活、快速集成的重要方法,为业务功能集成提供了有效支持。

在面向服务的架构中,服务编制由一个中心协调者完成。这个中心协调者依据流程规划协调不同服务之间的调用,以完成既定的业务功能,而参与流程的服务并不知道流程的全貌。服务组合语言就是编制服务调用的流程规划的语言,该流程规划也具有服务接口,以服务的形式表现,称为复合服务。

目前,行业中通常使用的业务流程执行语言(bpel,businessprocessexecutionlanguage)来实现服务编制。但是现行的业务流程执行语言又称为bpel4ws(businessprocessexecutionlanguageforwebservices),是专为整合webservices而制定的一项规范标准。对于智能电网调度控制系统这样的非webservices系统,则无法使用业务流程执行语言进行服务编制。因此需要提供一种面向服务的智能电网调度控制系统的服务编制方法,以更好地适用于智能电网调度控制系统。



技术实现要素:

本发明的主要目的在于,克服现有技术中的不足,提供一种面向服务的智能电网调度控制系统的服务编制装置及方法,实现按需灵活组合服务,使得应用开发人员可以通过对已有的智能电网调度控制系统服务的编制组合形成新的组合服务,从而满足新的功能需求。

为了达到上述目的,本发明所采用的技术方案是:

本发明提供一种面向服务的智能电网调度控制系统的服务编制装置,包括:

服务编制模板单元,用于对用来参与组合的服务的参数和调用关系进行格式的规范化,形成参数模板;其中,用来参与组合的服务为若干个,单个服务表示智能电网调度控制系统的一个功能,每个服务是通过网络为客户端完成不同功能的可被重用的后台程序;

服务编制工具单元,用于供客户端进行操作请求,并将用户的操作按照参数模板进行解析后转换为服务流程,产生服务流程文件;

服务编制引擎单元,用于按照参数模板,解析并执行服务流程文件,输出新的组合服务给用户。

本发明的装置进一步设置为:所述服务编制模板单元采用protobuf定义的格式进行规范化描述,包括服务信息、参数列表和三层模型;其中,服务信息是对参与组合的服务进行描述的信息,参数列表定义了参与组合的服务所使用的参数信息,三层模型定义了组合服务的输入参数和输出参数、以及服务的调用关系。

本发明的装置进一步设置为:所述服务信息包括服务名、服务端口、服务版本号和服务描述,所述参数信息包括参数名、参数id、参数类型、参数长度和参数值。

本发明的装置进一步设置为:所述三层模型包括顶层、中间层和底层,其中,顶层用于描述组合服务的输入参数,中间层用于描述组合服务的调用服务信息以及调用关系,底层用于描述组合服务的输出参数;所述调用服务信息包括服务信息和参数信息中的参数名、参数类型、参数长度和参数值,所述调用关系记录的是参数信息中的参数id。

本发明的装置进一步设置为:所述服务编制工具单元包括可视化工具和产生服务流程单元;

所述可视化工具用于展示所有参与组合的服务和数据类型,并提供拖拽手段让用户能够对服务的摆放位置进行拖拽,以及设置调用关系,并为每个服务产生对应的参数id,通过参数id值的异同表示出上下级服务之间参数传递的关系;

所述产生服务流程单元用于提供一种映射方式,将可视化工具所展示的内容按照参数模板映射成为服务流程文件,并进行保存。

本发明的装置进一步设置为:所述服务编制引擎单元包括读取单元、输入区处理单元、服务区处理单元和输出区处理单元;

所述读取单元用于读取服务编制工具单元产生的服务流程文件,并根据服务流程文件调用参数模板;

所述输入区处理单元用于对客户端的输入区请求按照参数模板进行解析,并保存解析后的参数值;

所述服务区处理单元用于对分层结构的服务区的每层中的服务进行服务执行,将执行后的服务响应信息按照参数模板进行保存;

所述输出区处理单元用于从服务响应信息中提取参数值,根据参数模板对提取的参数值进行编码,产生编制服务的响应结果即新的组合服务,并输出新的组合服务。

本发明还提供一种面向服务的智能电网调度控制系统的服务编制方法,包括以下步骤:

1)通过服务编制工具单元展示可视化的服务编制场景,该服务编制场景展示了组件和编制服务区域;

其中,组件是供客户端拖拽操作的数据来源,包括参数、服务和流程;编制服务区域是供客户端拖拽操作的目标区域,包括输入区、服务区和输出区;

2)通过服务编制引擎单元中的读取单元读取服务流程文件,并根据服务流程文件所描述的服务流程调用参数模板;

其中,服务流程文件通过服务编制工具单元产生,参数模板通过服务编制模板单元形成;

3)客户端接收用户的拖拽操作,客户端根据实际拖拽选择参数并将参数拖拽到输入区、根据实际拖拽选择参数并将参数拖拽到输出区、以及根据实际拖拽选择服务和流程拖拽到服务区;

其中,客户端的输入区请求通过服务编制模板单元中三层模型的顶层进行接收并存储,客户端的服务区请求通过服务编制模板单元中三层模型的中间层进行接收并存储,客户端的输出区请求通过服务编制模板单元中三层模型的底层进行接收并存储;

4)通过服务编制引擎单元中的输入区处理单元对客户端的输入区请求按照参数模板进行解析,并保存解析后的参数值至参数列表;

其中,参数列表通过服务编制模板单元形成;

5)通过服务编制引擎单元中的服务区处理单元对分层结构的服务区的每层中的服务进行服务执行,将执行后的服务响应信息按照参数模板进行保存;

6)通过服务编制引擎单元中的输出区处理单元,根据输出区的参数内容,从执行后的服务响应信息中提取参数值,作为最后的服务响应结果,根据参数模板对提取的参数值进行编码,产生编制服务的响应结果即新的组合服务,并输出新的组合服务;

其中,提取参数值根据服务编制模板单元中三层模型的底层所描述的输出参数从参数列表进行信息提取。

本发明的方法进一步设置为:所述服务流程包括并行流程、串行流程、循环流程和分支流程,不同流程之间嵌套放置或平铺放置;

其中,并行流程指流程中的服务同时并发执行;串行流程指流程中的服务按先后顺序串行执行;循环流程指首先串行执行流程中的服务,在最后一个服务执行完成后进入判断流程的执行,根据判断流程的执行结果决定是返回循环流程的开始端进行重新执行还是退出该循环流程的末端;分支流程指首先执行判断流程,再根据判断流程的执行结果决定是否进入分支执行。

本发明的方法进一步设置为:所述服务执行具体步骤为,

a)处理本层服务;

根据服务编制模板单元中三层模型的中间层所描述的调用服务信息以及调用关系调用服务;

b)输入参数编码;

根据服务的自身输入参数从参数列表查找对应的解析后的参数值,继而按照服务的编码方式对输入参数进行编码,将编码后的参数值写入参数列表;

c)服务定位与调用;

通过服务编制模板单元中所描述的服务信息,定位服务的具体位置,并通过智能电网调度控制系统中的服务总线实现服务调用;

其中,服务的具体位置包括ip地址和服务端口;

d)输出参数解码、保存中间结果;

对于服务调用后返回的结果,即服务的输出内容,按照服务的解码格式进行服务的自身输出参数解码;将服务输出分解成各个输出参数,并将分解的各个输出参数保存到参数列表中;

e)进行下一层服务,重复步骤a)至步骤e);

直至执行完所有层服务,最终产生包含所有层服务的自身输出参数的参数列表为执行后的服务响应信息。

与现有技术相比,本发明具有的有益效果是:

本发明提供的一种面向服务的智能电网调度控制系统的服务编制装置及方法,实现按需灵活组合服务,使得应用开发人员可以通过对已有的智能电网调度控制系统服务的编制组合形成新的组合服务,从而满足新的功能需求。

上述内容仅是本发明技术方案的概述,为了更清楚的了解本发明的技术手段,下面结合附图对本发明作进一步的描述。

附图说明

图1为本发明的服务编制装置的框图;

图2为本发明的服务编制工具展示图;

图3为本发明的选择服务输入参数图;

图4为本发明的编制服务执行流程图。

具体实施方式

下面结合说明书附图,对本发明作进一步的说明。

本发明提供一种面向服务的智能电网调度控制系统的服务编制装置,如图1所示,包括:

服务编制模板单元,用于对用来参与组合的服务的参数和调用关系进行格式的规范化,形成参数模板;其中,用来参与组合的服务为若干个,单个服务表示智能电网调度控制系统的一个功能,每个服务是通过网络为客户端完成不同功能的可被重用的后台程序;

服务编制工具单元,用于供客户端进行操作请求,并将用户的操作按照参数模板进行解析后转换为服务流程,产生服务流程文件;

服务编制引擎单元,用于按照参数模板,解析并执行服务流程文件,输出新的组合服务给用户。

所述服务编制模板单元采用protobuf定义的格式进行规范化描述,包括服务信息、参数列表和三层模型;形成的参数模板,如下所示:

messagesot

{

requiredstringsname=1;

optionalintport=2;

optionalint64version=3[default=1];

optionalstringdesc=4;

repeatedparaparas=5;

requiredfloorfloors=6;

}

其中,服务信息是对参与组合的服务进行描述的信息,参数列表定义了参与组合的服务所使用的参数信息,三层模型定义了组合服务的输入参数和输出参数、以及服务的调用关系。

所述服务信息包括服务名、服务端口、服务版本号和服务描述,所述参数信息包括参数名、参数id、参数类型、参数长度和参数值。

对于一个具体参数,具体描述如下所示:

messagepara

{

requiredint64id=1;

optionalstringname=2;

optionalstringtype=3;

optionalint32length=4;

optionalbytesvalue=5;

}

所述三层模型包括顶层、中间层和底层,其是服务编制模板单元的模型架构,具体描述如下所示:

messagefloor

{

requiredtopfloortop=1;

repeatedmidfloormid=2;

requiredbottombot=3;

}

其中,顶层用于描述组合服务的输入参数,中间层用于描述组合服务的调用服务信息以及调用关系,底层用于描述组合服务的输出参数;所述调用服务信息包括服务信息和参数信息中的参数名、参数类型、参数长度和参数值,所述调用关系记录的是参数信息中的参数id。

中间层的具体描述如下所示:

messagemidfloor

{

optionalint32index=1;

repeatedworkserverservers=2;

requiredint32exeorder=3;

}

messageworkserver

{

optionalint32index=1;

optionalint32type=2[default=1];

requiredstringname=3;

repeatedint64inputids=4;

repeatedint64outputids=5;

optionalencodedmodeincoding=6;

optionalencodedmodeoutcoding=7;

optionalstringnode=8;

optionalint32port=9;

optionalint32timeout=10[default=60];

optionalstringprotocol=11;

}

所述服务编制工具单元包括可视化工具和产生服务流程单元。

所述可视化工具用于展示所有参与组合的服务和数据类型,并提供拖拽手段让用户能够对服务的摆放位置进行拖拽,以及设置调用关系,并为每个服务产生对应的参数id,通过参数id值的异同表示出上下级服务之间参数传递的关系。

举例说明:每个服务都有0个或多个输入/输出参数,每个参数都对应一个参数id;如果两个服务的参数id相同,说明两者之间有关联。例如,服务a有两个输出参数,id分别为1、2;服务b也有两个输入参数,id分别为1、3;则说明服务a的输出参数1将传递给服务b,作为其输入的第一个参数。

所述产生服务流程单元用于提供一种映射方式,将可视化工具所展示的内容按照参数模板映射成为服务流程文件,并进行保存。

所述服务编制引擎单元包括读取单元、输入区处理单元、服务区处理单元和输出区处理单元。

所述读取单元用于读取服务编制工具单元产生的服务流程文件,并根据服务流程文件调用参数模板。

所述输入区处理单元用于对客户端的输入区请求按照参数模板进行解析,并保存解析后的参数值。

所述服务区处理单元用于对分层结构的服务区的每层中的服务进行服务执行,将执行后的服务响应信息按照参数模板进行保存。

所述输出区处理单元用于从服务响应信息中提取参数值,根据参数模板对提取的参数值进行编码,产生编制服务的响应结果即新的组合服务,并输出新的组合服务。

本发明还提供一种面向服务的智能电网调度控制系统的服务编制方法,包括以下步骤:

1)通过服务编制工具单元展示可视化的服务编制场景,该服务编制场景展示了组件和编制服务区域,如图2所示,左侧为用户可选用的组件,右侧为编制服务区域。

其中,组件是供客户端拖拽操作的数据来源,包括参数、服务和流程;编制服务区域是供客户端拖拽操作的目标区域,包括输入区、服务区和输出区三个区;该三个区均是图形界面形式的展示区域,用于客户端输入操作,操作数据则存储在三层模型中。

用户从左侧选择组件,拖动到右侧的对应区域,并完成组件间的关联,从而实现服务流程的编制。

参数组件包括所有的基本类型参数,如int、short、string等,也可以在此基础上定义一些由基本类型组合成的复合类型参数。

服务组件包括所有系统中已注册的服务,服务是通过网络为用户完成不同功能的可被重用的后台程序。服务通过向服务管理中心注册完成服务发布过程,服务编制工具从服务管理中心获取服务信息,并显示在服务组件中。服务信息包含服务名、服务输入输出参数等内容。

流程组件中定义了一系列服务执行的流程,如并行流程、串行流程、循环流程和分支流程。并行流程指流程中的服务同时并发执行;串行流程指流程中的服务按先后顺序串行执行;循环流程指首先串行执行流程中的服务,在最后一个服务执行完成后进入判断流程的执行,根据判断流程的执行结果决定是返回循环流程的开始端进行重新执行还是退出该循环流程的末端;分支流程指首先执行判断流程,再根据判断流程的执行结果决定是否进入分支执行。各个流程之间能够相互嵌套,如并行流程中可以放入串行流程实现多个串行的服务和其他服务并行执行;循环流程中可以放入并行流程使服务并行执行。

右侧的编制服务区域用于定义具体的服务流程,其中的输入(输出)区用于定义组合服务的输入(输出)参数。用户可以根据需要从左侧的参数组件中拖拽任意个数和类型的参数放入输入(输出)区中,作为组合服务的输入(输出)参数。输入区中的编码格式文件需要用户选择一个输入输出参数的编码格式,在执行服务流程是会根据该文件进行服务参数的编解码。

服务区默认的是串行流程,用户可以从左侧的流程组件中选择一个或多个需要的流程放入服务区,流程之间可以嵌套放置,也可以平铺放置。放置流程后,用户需要将服务组件放入对应的流程中,一个流程中可以放置多个服务,服务之间按照流程规定的执行顺序进行。放置服务后,用户需要为服务选择对应的输入参数,如图3所示,可以选择的输入参数包括输入区的参数和上层服务的输出参数。

2)通过服务编制引擎单元中的读取单元读取服务流程文件,并根据服务流程文件所描述的服务流程调用参数模板,如图4所示。

其中,服务流程文件通过服务编制工具单元产生,参数模板通过服务编制模板单元形成。

3)客户端接收用户的拖拽操作,客户端根据实际拖拽选择参数并将参数拖拽到输入区、根据实际拖拽选择参数并将参数拖拽到输出区、以及根据实际拖拽选择服务和流程拖拽到服务区。

其中,客户端的输入区请求通过服务编制模板单元中三层模型的顶层进行接收并存储,客户端的服务区请求通过服务编制模板单元中三层模型的中间层进行接收并存储,客户端的输出区请求通过服务编制模板单元中三层模型的底层进行接收并存储。

4)通过服务编制引擎单元中的输入区处理单元对客户端的输入区请求按照参数模板进行解析,并保存解析后的参数值至参数列表;其中,参数列表通过服务编制模板单元形成。

5)通过服务编制引擎单元中的服务区处理单元对分层结构的服务区的每层中的服务进行服务执行,将执行后的服务响应信息按照参数模板进行保存。

其中,服务执行具体是,

a)处理本层服务;

根据服务编制模板单元中三层模型的中间层所描述的调用服务信息以及调用关系调用服务;

b)输入参数编码;

根据服务的自身输入参数从参数列表查找对应的解析后的参数值,继而按照服务的编码方式对输入参数进行编码,将编码后的参数值写入参数列表;

c)服务定位与调用;

通过服务编制模板单元中所描述的服务信息,定位服务的具体位置,并通过智能电网调度控制系统中的服务总线实现服务调用;

其中,服务的具体位置包括ip地址和服务端口;

d)输出参数解码、保存中间结果;

对于服务调用后返回的结果,即服务的输出内容,按照服务的解码格式进行服务的自身输出参数解码;将服务输出分解成各个输出参数,并将分解的各个输出参数作为中间结果进行保存;

e)进行下一层服务,重复步骤a)至步骤e);

直至执行完所有层服务,最终产生包含所有层服务的自身输出参数的参数列表为执行后的服务响应信息。

6)通过服务编制引擎单元中的输出区处理单元,根据输出区的参数内容,从执行后的服务响应信息中中提取参数值,根据参数模板对提取的参数值进行编码,产生编制服务的响应结果即新的组合服务,并输出新的组合服务。

其中,提取参数值根据服务编制模板单元中三层模型的底层所描述的输出参数从参数列表进行信息提取。

本发明的创新点在于,原来要实现一个业务功能需要有一定程序开发能力的软件开发人员通过编写程序来实现,现在可通过本发明提供的服务编制方法使得不具备程序开发能力的人员也能直接通过界面操作来实现同样的业务功能;而且,实现按需灵活组合服务,使得应用开发人员可以通过对已有的智能电网调度控制系统服务的编制组合形成新的组合服务,从而满足新的功能需求。

以上显示和描述了本发明的基本原理、主要特征及优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1