能量管理系统中的服务器装置和其操作方法与流程

文档序号:11233924阅读:564来源:国知局
能量管理系统中的服务器装置和其操作方法与流程

本发明涉及能量管理中的服务器装置和操作服务器的方法,并且更具体地涉及能够通过改进处理由客户端请求的进程的方法来缓解由于负载的服务延迟的服务器和操作服务器的方法。



背景技术:

功率系统已经随着其规模的不断增大和新装备的引入而变得越来越复杂。因此,已经做出许多努力来提供功率系统的优化操作。功率系统的优化操作意味着在维护功率的供应的可靠性处于特定水平或更高的同时使经济可行性最大化的系统操作。

能量管理系统(ems)被用于功率系统的优化操作。能量管理系统是具有基于通过远程监控和数据采集(scada)等等收集的数据来监测和控制功率系统的状态的功能的系统。

图1是用于解释在典型能量管理系统中执行的进程的示意图。

参考图1,能量管理系统100被配置为包括接收和处理数据的服务器110以及一个或多个客户端120,一个或多个客户端120中的每个具有在其上显示数据的屏幕。在每个客户端120的屏幕上显示的数据通过并入到服务器110中的数据服务模块112从服务器110接收。

以这种方式,能量管理系统100使用数据服务模块112来在服务器110与每个客户端120之间传输指令和数据服务。在这种情况下,每个客户端120访问服务器110中的数据服务模块112以接收数据服务器。

当运行屏幕时,客户端120请求服务器110的数据服务模块112将屏幕需要的数据发送到客户端120,从数据服务模块112接收数据,并且将该数据显示在屏幕上。另外,诸如值指定、标签设置等等的指令被发送到能量管理系统100的服务器110或发电厂中的现场装备等等。

被请求发送数据的数据服务模块112检索实时数据库(rtdb)114以搜索数据,根据请求来处理所搜索的数据,并且将经处理的数据发送到客户端120。另外,被请求发送指令的数据服务模块112检查指令是否有效。如果是,则数据服务模块112处理有效指令并将经处理的指令发送到客户端120。

由于当前能量管理系统100的数据服务模块112单独地处理来自客户端120的请求,所以其负载随着客户端112的数量的增加而增加。另外,如果负载增加到特定水平之上,则具有超负载的数据服务和具有轻负载的数据服务两者都可能变成一个整体。这可能导致可以访问服务器110的客户端120的数量的限制。另外,由于一个数据服务模块112处理所有数据,所以仅仅使用一个cpu。因此,即使当硬件装备被添加到系统时,这对数据处理的性能的改进几乎没有作用。



技术实现要素:

本发明的一方面是要提供一种能够改进数据服务模块的结构使得可以防止由于负载的服务延迟的服务器。

本发明不限于上述方面,并且本发明的其他方面将容易由本领域技术人员从下面的描述中得到理解。

根据本发明的一个方面,提供了一种能量管理系统,其包括:客户端设备;以及服务器,其包括:通信单元,其被配置为与客户端设备进行通信;处理器,其被配置为执行由客户端请求的进程;存储单元,在存储单元中有与能量管理系统的控制和管理相关的数据;以及控制器,其被配置为控制处理器以根据预定准则来对包含于第一进程中的多个任务进行分类,从第一进程创建多个第二进程,并且通过引用数据来处理多个第二进程。

根据本发明的另一方面,提供了一种操作能量管理系统中的服务器的方法,包括:从客户端设备接收针对进程的请求;根据预定准则来对包含于第一进程中的多个任务进行分类,并且从第一进程创建多个第二进程;通过引用与能量管理系统的控制和管理相关的数据来一次处理多个第二进程;并且将处理多个第二进程的结果发送到客户端设备。

[本发明的优点]

根据本发明的实施例,能够改进数据服务模块的结构使得可以防止由于负载的服务延迟。

另外,通过按服务类型或按任务的作用定义进程,能够示出在处理进程中针对服务优化的性能。

附图说明

图1是用于解释在典型能量管理系统中执行的进程的示意图。

图2是示出了根据本发明的一个实施例的服务器的配置的框图。

图3是用于解释在根据本发明的一个实施例的能量管理系统中处理进程的流程的示意图。

图4是用于解释在根据本发明的一个实施例的能量管理系统中处理进程的流程的示意图。

图5是用于解释根据本发明的一个实施例的将cpu分别分配给多个子进程的流程的示意图。

图6是用于解释根据本发明的一个实施例的将cpu分别分配给多个子进程的另一流程的示意图。

图7是示出了根据本发明的一个实施例的服务器的操作的流程的流程图。

具体实施方式

在下文中,将结合附图详细描述本发明的实施例。应当理解,本发明不限于下面的实施例,并且各实施例仅出于说明的目的而被提供。本发明不旨在排除其中其他元件被添加、被更改、被删除、等等的后退式发明。本发明涵盖落入本发明的精神和范围内的其他不同的实施例。

尽管利用当前广泛使用的一般术语来描述本发明,但是针对特殊情况可以使用由申请人任意地选择的术语。在这些情况下,在本发明的具体实施方式的相关部分中描述术语的意义。因此,本发明应当利用术语的意义而非术语的名称来理解。在下面的描述中,术语“包括”旨在包括未枚举在说明书中的其他元件或步骤。

图2是示出了根据本发明的一个实施例的服务器的配置的框图。

参考图2,包含于能量管理系统100中的服务器110可以处理来自客户端120的请求并执行能量管理系统100的总体控制。

在一个实施例中,服务器110可以包括通信单元210、处理器220、存储单元230和控制器240。

通信单元210可以与客户端120进行通信。

在这种情况下,客户端120可以被包含于能量管理系统100中。然而,本发明不限于此。例如,客户端120可以被包含于除了能量管理系统100之外的其他系统中或者可以位于能量管理系统100的外部。

通信单元210与客户端120的通信的方案可以包括各种形式的有线通信方案/无线通信方案。具体地,通信单元210和客户端120可以由线缆、传输线、电力线或局域网(lan)相互连接以传导有线通信或者可以通过无线相互连接以传导无线通信,例如无线lan通信、移动通信、数据通信、等等。

通信单元210可以执行与客户端120的通信以从客户端120接收针对进程的请求或者响应于接收到的请求将由服务器110执行的进程的结果发送到客户端120。

在说明书中,客户端120可以利用与客户端设备相同的意义来使用。在下文中,客户端120和客户端设备可以是可互换的。

本文中使用的“进程”可以是指用于数据输入/输出的操作或进程、被运行的程序或执行任务的操作或流程。

进程可以包括作为上层的父进程和作为下层的子进程。父进程根据程序或指令开始,并且子进程由父进程创建。在这种情况下,一个父进程分叉成多个子进程并管理多个子进程。当父进程创建多个子进程时,能够进行由多进程进行的任务处理。另外,子进程可以在下一更下层中重新创建其子进程(即,孙子进程)。

处理器220可以运行由客户端120请求的进程。

为此,处理器220可以包括多个中央处理单元(cpu),多个中央处理单元(cpu)中的每个可以解读并操作结合进程接收到的指令并输出操作的结果。在这种情况下,一个cpu处理一个进程。因此,假设处理器220包括n个cpu,则处理器220可以处理最大n个进程。

处理器220可以一次处理多个进程。

这里,多个进程可以是由控制器240创建的子进程,其将在下面进行描述。具体地,当由客户端120请求的进程包括多个任务时,控制器240根据预定准则来将多个任务进程分类。其后,控制器240从由客户端120请求的进程创建多个子进程。在这种情况下,处理器220可以对由控制器240创建的多个子进程进行多处理。

在另一实施例中,处理器220可以顺序地或在不同的时间而非同时地处理多个进程。

在处理多个子进程中,处理器220可以引用与能量管理系统100相关联的并被存储在存储单元230中的实时数据。

存储单元230可以存储与能量管理系统100相关联的实时数据。具体地,与能量管理系统100相关联的实时数据可以包括与能量管理系统100的控制和管理相关联的所有数据,例如电压、电流、等等。

在一个实施例中,存储单元230可以是实时数据库(rtdb)。rtdb实时地收集、存储和管理由包含于能量管理系统100中的多个子系统执行的进程的数据。rtdb可以被用作用于功率系统分析和系统操作需要的决策制定的装置。

为此,存储单元230可以利用以下中的至少一个来实施:存储介质,其包括ram(随机访问存储器)、sram(静态ram)、rom(只读存储器)、eeprom(电可擦可编程rom)、prom(可编程rom)以及磁性存储器。

当进程包括多个任务时,控制器240可以通过根据预定准则来对多个任务进行分类来从进程创建多个子进程。

包含于进程中的多个任务中的每个可以被称为“线程”或“工作者”。本文中使用的线程是指程序或操作系统的任务单元。一个进程可以包括多个线程。

在该实施例中,从进程来创建多个子进程的原因是要通过对多个子进程进行多处理来增加吞吐量。一个cpu处理一个进程。例如,即使当一个进程包括100个线程时,该进程可以仅仅由一个cpu处理。具体地,可以在相同的时间点仅仅运行与cpu的内核一样多的线程。如果存在10个cpu,其中的每个具有8个内核,并且一个进程包括100个线程,则在相同的时间点运行8个线程。

然而,不是一个进程包括100个进程,例如,如果存在10个进程,则其中的每个包括10个线程,由于10个进程可以由各自的10个cpu一次运行,尽管线程的总数量与先前提到的示例中一样为100个,但是在相同时间点运行(处理)的线程的数量为80个。

因此,控制器240可以使处理器220一次运行从一个父进程创建的多个子进程。

在一个实施例中,当处理器220包括多个cpu时,控制器240可以将多个cpu分别分配给多个子进程。由于一个cpu处理一个进程,所以所创建的子进程的数量不能够大于cpu的数量。因此,在这种情况下,子进程的数量可以等于或小于cpu的数量,其将在稍后参考图5和图6更详细地进行描述。

另外,如果负载被负重在执行预定任务的子进程上,则控制器240可以额外地创建可以执行预定任务的新子进程。

包含于一个进程中的多个任务根据其被分类的预定准则可以包括由任务提供的服务的种类和任务的作用中的一个。由任务提供的服务的种类可以包括数据库相关的服务、控制相关的服务、文件相关的服务、等到。任务的作用可以包括数据请求、控制指令、文件创建和加载、数据库值存储等。

在从进程创建了多个子进程之后,控制器240可以控制处理器220以通过引用实时数据一次处理多个子进程。

在这种情况下,在处理器220处理多个子进程之后,控制器240可以控制通信单元210将处理的结果发送到客户端120。

图3是用于解释在根据本发明的一个实施例的能量管理系统中处理进程的流程的示意图。

如图3所示,根据本发明的一个实施例,由现有服务器110中的一个数据服务模块112执行的进程可以由多个工作者310、320和330执行。在该示例中,数据服务模块112仅仅执行多个工作者310、320和330的创建和管理和通过服务请求分布对数据服务的负载平衡而不处理进程。进程由多个工作者310、320和330处理。多个工作者310、320和330可以对应于由数据服务模块112创建的子进程。

参考图3,服务器110可以包括数据服务模块112、实时数据库(rtdb)114、第一工作者310、第二工作者320和第三工作者330。这里,第一工作者310、第二工作者320和第三工作者330对应于从由客户端120请求的进程创建的子进程。

服务器110可以处理从客户端120请求的进程并将处理的结果发送到客户端120。

具体地,当操作能量管理系统100时,数据服务模块112根据预定义作用逐一地创建并运行工作者310、320和330作为子进程。

由数据服务模块112运行的工作者310、320和330将已经由现有数据服务模块112执行的任务按各自的作用进行分类、排列和补充。

为此,数据服务模块112可以按各自的作用分类成数据请求、控制指令、文件创建和加载、数据库值存储等并且将作用分别分配给工作者310、320和330。例如,在接收到与数据值存储相关的指令后,数据库相关的工作者在验证数据值存储的有效性之后存储数据库值。作为另一示例,在接收到现场装备控制指令后,控制相关的工作者验证现场装备控制指令的有效性并且之后将控制信号发送到现场装备。

其后,在从客户端120接收到针对进程的请求后,数据服务模块112将请求发送到工作者310、320和330。工作者310、320和330运行从数据服务模块112接收到的任务,例如数据请求、控制指令、文件创建和加载、数据库值存储、等等,并且将运行的结果发送到数据服务模块112。

数据服务模块112将从工作者310、320和330接收到的结果发送到请求服务的客户端120。

在该实施例中,在接收到针对服务或进程的请求后,数据服务模块112仅仅发挥将接收到的请求分布到工作者310、320和330且管理工作者310、320和330的作用,同时针对请求的实际任务由工作者310、320和330执行。因此,数据服务模块112可以消除由于占有负载的最高百分比的服务处理而出现的负载,由此防止整个数据服务器随着负载的增加而被延迟。

另外,如果工作者310、320和330被增加为与cpu一样多,则与其中仅仅可以使用一个cpu的现有结构相比较,吞吐量响应于cpu的最大数量而增加。

另外,通过按服务类型定义工作者310、320和330的作用,工作者310、320和330可以示出针对服务优化的性能。

图4是用于解释在根据本发明的一个实施例的能量管理系统中处理进程的流程的示意图。

根据该实施例,当从父进程创建多个子进程时,可以能够再次从多个子进程中的每个来创建多个孙子进程。具体地,如图4所示,服务器110的数据服务模块112能够从子进程310创建多个孙子进程412、414和416以执行分层处理。

在图4中,第一工作者310、第二工作者320和第三工作者330对应于由数据服务模块112创建的子进程。

第一子工作者412、第二子工作者414和第三子工作者416对应于由第一工作者310创建的孙子进程。

在这种情况下,所创建的进程310、320和330或孙子进程412、414和416当它们不再发挥它们自身的作用时消失。具体地,创建子进程310、320和330的父进程可以使子进程310、320和330停止,或者子进程310、320和330或孙子进程412、414和416可以自身终止。

图4的能量管理系统具有与图3的能量管理系统相同的配置,除了再次从子进程310创建了孙子进程412、414和416,并且因此为简洁起见不再重复对其的解释。

图5是用于解释根据本发明的一个实施例的将cpu分别分配给多个子进程的流程的示意图。图6是用于解释根据本发明的一个实施例的将cpu分别分配给多个子进程的另一流程的示意图。

如图5所示,多个cpu分别被分配给多个工作者310、320、330、…、n。在这种情况下,多个工作者310、320、330、…、n可以并行地由它们各自的对应的cpu一次处理。所创建的工作者310、320、330、…、n的数量不能够大于cpu的数量。即,所创建的工作者310、320、330、…、n的数量必须等于或小于cpu的数量。在图5中示出了n个工作者310、320、330、…、n被创建以对应于n个cpu。

在图6中示出了以顺序方式创建了多个工作者310、320和320。如果负载被负重在执行特定任务的第二工作者320上,则数据服务模块112可以额外地创建执行相同任务的另一第二工作者320。其后,在从客户端120接收到针对任务的请求后,数据服务模块112将任务分布到执行任务的工作者中最理想的一个。

如图6所示,通过取决于负载以灵活地添加和运行工作者310和320的方式调节工作者310和320的数量,能够将吞吐量增加到与cpu的数量一样大。

图7是示出了根据本发明的一个实施例的服务器的操作的流程的流程图。

参考图7,首先,服务器110从客户端设备120接收针对进程的请求(s601)。

如果该进程是包括多个任务的第一进程,则服务器110根据预定准则来对多个任务进行分类,并且从第一进程创建多个第二进程(s602)。

这里,预定准则可以包括由任务提供的服务的种类和任务的作用中的一个。由任务提供的服务的种类可以包括数据库相关的服务、控制相关的服务、文件相关的服务等。任务的作用可以包括数据请求、控制指令、文件创建和加载、数据库值存储等。

第一进程可以是父进程并且多个第二进程可以是子进程。

服务器110通过引用与能量管理系统100相关的实时数据来一次处理多个第二进程(s603)。

服务器110将处理多个第二进程的结果发送到客户端设备120(s604)。

总之,根据本发明的上述实施例,能够改进数据服务模块的结构使得可以防止由于负载的服务延迟。

另外,通过按服务类型或按任务的作用定义进程,能够示出在处理进程中针对服务优化的性能。

尽管已经描述了某些实施例,但是这些实施例已经仅仅通过举例的方式来呈现并且不旨在限制本公开内容的范围。实际上,本文描述的新颖的方法和装置可以以各种其他形式来实现;另外,可以在不脱离本公开内容的精神的情况下进行实施例的形式的各种删减、替代和改变。随附权利要求和其等效方案旨在涵盖如将落入本公开内容的范围和精神内的这样的形式或修改。

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