一种分布式系统中cim资源命名及解析方法

文档序号:7813586阅读:207来源:国知局
专利名称:一种分布式系统中cim资源命名及解析方法
技术领域
本发明涉及一种公共信息模型资源命名解析技术
背景技术
名称在所有计算机系统中(尤其是在分布式系统中)起着重要的作用。它们用来共享资源、唯一标识实体、指向位置等。要解析名称,需要实现命名系统。命名系统通常关注两类问题S卩1)用户友好的名称的组织和实现,典型的例子如万维网的URI名称以及文件系统;2)名称如何实现与实体当前位置无关的方式来定位它们。常见的资源命名方法主要有随机标识符方法、分层方法。随机标识符方法如下在很多情况下,标识符只是随机的字符串。这种命名方式的一个重要属性是,它不包含任何有关如何定位其相关实体的访问点的信息。在某些场合下,这种名称能够很好地工作,并且因为其简便的命名方法经常被采用。这种命名方法的典型例子是局域网内各种机器的接入,在这种环境中定位实体是一件很简单的事情包含该实体所用标识符的消息会广播到每一台机器上,每台机器通过查看是否拥有该实体,只有为该实体提供访问点的机器才会发送含有访问点地址的回复消息。随着网络的膨胀,广播开始变得低效。一种可能的解决方法是转换成多播,通过使用多播,只有符合条件的一组主机才会接收到请求。分层方法如下在分层方案中,将命名实体组成的网络划分为一组域。有一个覆盖整个网络的顶级域。每个域又可以进一步划分成多个更小的子域。每个域都拥有关联的目录节点。节点会跟踪域中的实体,这样就形成了一棵目录节点树。顶级域的目录节点成为根(目录)节点,它包括了全部实体。为了跟踪实体的位置,每个位于当前域内的实体都由一条在对应目录节点中的位置记录来表示。上级域的目录节点拥有指向底层子域目录节点的指针。在这种分层命名方案中,名称查找与定位操作在局部进行,即对实体的搜索是在一个以发出查找请求的用户为中心、逐步增大的环中进行的。每当查找请求被转发到更高一层的目录节点时,都会扩大搜索区域。在最差的情况下,搜索会连续进行,直至请求到达根节点为止。由于上级节点拥有其下的所有实体的位置记录,所以可以简单地沿着一条向下的指针路线把请求转发给初始叶节点。现有公共信息模型(Common Information Model,简称“CIM”)资源包含以下特占.
^ \\\ ·1、CIM建模对象包括现实世界的实体(如变电所、变压器、空调、RTU等)、信息世界的软件实体(如各种系统、服务等),也包括虚拟的信息点(如数据采集点、控制点等), 这些CIM实体都具有一定业务含义;2、CIM模型是一种分层结构的“树”,如果考虑到应用系统的安全控制策略因素,CIM模型可以表示为一种有向无环图。从而CIM资源命名服务除了需要解决上述一般命名系统共有的两类问题外,还面临着如何高效地查找CIM资源的问题。这是因为应用系统访问的数据不仅是CIM实体对象,还需要引用对象的属性、量测以及与该对象相关的辅助对象资源及相关属性等等虚拟对象。这需要把这些附属资源描述解析为与该对象相关的引用。同时CIM数据库的模式可替换性(模式驱动架构的特点),导致实现这种相对通用的名称命名及解析将非常困难。

发明内容
本发明主要解决的技术问题是提供一种分布式系统中CIM资源命名及解析方法, 使得可以涵盖系统中所有的CIM实体资源和虚拟资源,在分布式环境下快速地将资源名称解析为名称所指向的实体,实现高效地查找分布式环境下资源实体。为了解决上述技术问题,本发明提供了一种分布式系统中CIM资源命名及解析方法,系统中CIM资源存储在各分布式服务器中,系统中CIM资源包含实体资源和虚拟资源, 虚拟资源从属于实体资源;将实体资源分为部署对象和普通资源对象,系统中的普通资源对象从属于部署对象,各普通资源对象与普通资源对象之间、各部署对象与部署对象之间分别包含从属关系,普通资源对象和/或部署对象与其所属的上级部署对象存储在同一服务器中,该方法包含以下步骤为每个CIM资源分配一资源引用名称,该资源引用名称包括资源名称标识、和可缺省的资源命名表达式,该资源名称标识用于描述实体资源,该资源命名表达式用于描述虚拟资源;部署对象的资源名称标识至少包含本部署对象的名称,普通资源对象的资源名称标识至少包含该普通资源对象的名称和其所属的至少一个上级部署对象的名称;虚拟资源的资源引用名称由其所属实体资源的资源名称标识、和该虚拟资源的资源命名表达式构成;系统中的命名解析服务分布于各分布式服务器中,在收到来自客户端的资源访问请求时,根据该请求中资源引用名称中的资源名称标识,确定该资源所属的部署对象,定位该部署对象对应的本地命名解析服务器,由该本地命名解析服务器对该资源引用名称进行解析,将解析结果返回给该客户端。作为进一步改进,该资源命名表达式至少包含以下之一实体资源的静态属性的表达式;和/或实体资源的动态属性的表达式;和/或资源或资源属性查找表达式;和/或目录服务查询表达式。作为进一步改进,在接收来自客户端的资源访问请求,根据该请求中资源引用名称中的资源名称标识,确定该资源所属的部署对象,定位该部署对象对应的本地命名解析服务器的步骤由根命名解析服务器执行;该步骤包含以下子步骤根命名解析服务器中预先保存部署对象结构树;根命名解析服务器在收到资源访问请求时,提取该请求中的资源引用名称,对该资源引用名称进行分解得到资源名称标识,根据该资源名称标识中的部署对象名称查找该部署对象结构树,确定该部署对象对应的本地命名解析服务器。
作为进一步改进,该部署对象结构树中包含系统中各部署对象的从属层次结构、 和各部署对象对应的本地命名解析服务器信息。作为进一步改进,该部署对象结构树中包含系统中各部署对象的从属层次结构、 和各部署对象对应的资源ID ;根据该资源名称标识中的部署对象名称查找该部署对象结构树,确定该部署对象对应的本地命名解析服务器的步骤中,通过资源定位服务器对该资源ID所对应的本地命名解析服务器进行定位。作为进一步改进,如果根命名解析服务器对该资源引用名称进行分解,只得到资源名称标识,未包含资源命名表达式;且该资源名称标识中只包含部署对象的名称,则根命名解析服务器根据部署对象名称查找该部署对象结构树后,直接将该部署对象对应的资源 ID返回给该客户端。作为进一步改进,本地命名解析服务器对该资源引用名称进行解析,将解析结果返回给该客户端的步骤中,包含以下子步骤本地命名解析服务器对该资源引用名称进行解析,如果该资源引用名称中只包含资源名称标识,则该本地命名解析服务器根据资源名称标识中的部署对象名称和/或普通资源对象名称得到对应的资源ID,将该资源ID返回给该客户端,该客户端根据该资源ID访问该实体资源。作为进一步改进,本地命名解析服务器对该资源引用名称进行解析,将解析结果返回给该客户端的步骤中,包含以下子步骤本地命名解析服务器对该资源引用名称进行解析,如果该资源引用名称中包含资源名称标识和资源命名表达式,则根据预设的规则查找该资源命名表达式,获取对应的虚拟资源内容,反馈给该客户端。作为进一步改进,根命名解析服务器通过资源定位服务器对该资源ID所对应的本地命名解析服务器进行定位的步骤之后,还包含以下步骤保存该资源ID与本地命名解析服务器的对应关系,在需要确定部署对象对应的本地命名解析服务器时,优先从本地保存的对应关系中进行查找。作为进一步改进,在该资源访问请求中包含至少两个资源引用名称时,对各资源引用名称中的资源名称标识进行归并,对相同的资源名称标识,执行一次定位本地命名解析服务器的步骤,由该本地命名解析服务器分别对各资源名称标识相同的资源引用名称进行解析。本发明实施方式与现有技术相比,主要区别及其效果在于为每个CIM资源分配一资源引用名称,该资源引用名称包括资源名称标识、和可缺省的资源命名表达式,该资源名称标识用于描述实体资源,该资源命名表达式用于描述虚拟资源;部署对象的资源名称标识至少包含本部署对象的名称,普通资源对象的资源名称标识至少包含该普通资源对象的名称和其所属的至少一个上级部署对象的名称;虚拟资源的资源引用名称由其所属实体资源的资源名称标识、和该虚拟资源的资源命名表达式构成;系统中的命名解析服务分布于各分布式服务器中,在收到来自客户端的资源访问请求时,根据该请求中资源引用名称中的资源名称标识,确定该资源所属的部署对象,定位该部署对象对应的本地命名解析服务器,由该本地命名解析服务器对该资源引用名称进行解析,将解析结果返回给该客户端。从而确保资源引用名称可以涵盖系统中所有的CIM实体资源和虚拟资源,并且在分布式环境下能够快速地将资源名称解析为名称所指向的实体,实现高效地查找分布式环境下资源实体。


图1是本发明第一实施方式中XXXX供电局的CIM资源结构示意图;图2是本发明第一实施方式的CIM资源命名解析方法流程图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式作进一步地详细描述。本发明第一实施方式涉及一种分布式系统中CIM资源命名及解析方法。本实施方式中所描述的“资源”包括现实世界的实体资源(如变电所、变压器、空调、RTU等)、信息世界的软件实体资源(如各种系统、服务等),也包括虚拟资源(如对象属性、量测、辅助对象资源及属性、以及关联资源的查找等),这些资源及相互关系基于CIM建模形成,是信息系统运行所必须的信息模型。具体地说,系统中CIM资源包含实体资源和虚拟资源,虚拟资源从属于实体资源, 包括实体资源对象的对象属性、量测、辅助对象资源及属性、以及关联资源的查找等。CIM实体资源的分布是一种分层结构的“树”,各对象资源之间存在从属关系,主对象资源下包含多个从属对象资源,从属对象资源其下可以进一步包含下一级从属对象资源。如对于某电力系统,供电局本身即一对象资源,其下还可以包含变电站、监控中心、电力局变电站网络结构图、系统登陆图等对象资源,变电站之下还可以包含主接线图、网络结构图等对象资源。本实施方式中将这些对象资源分为部署对象和普通资源对象,其中部署对象一般为主对象资源或比较主要的从属对象资源,如变电站、监控中心等;其他的为普通资源对象,如电力局变电站网络结构图、主接线图等等,如图1所示。在实际应用中,可以根据需要进行划分。系统中的普通资源对象从属于部署对象,各普通资源对象与普通资源对象之间、各部署对象与部署对象之间可以包含从属关系,普通资源对象、下级部署对象与其所属的上级部署对象存储在同一服务器中;属于不同部署对象的资源可以存储在不同的分布式服务器中。考虑到CIM资源的特点及基于CIM应用的分布式需求,本实施方式中,CIM资源命名(资源引用名称)主要包括两部分资源名称标识Resource-Identifier、和资源命名表达式Naming-Expression,采用以下语法形式<Resource-Identifier>[. Naming-Expression]其中,“[]”表示的资源命名表达式根据具体的应用环境可省略;“<......>”中的
资源名称标识是实际的命名部分,不可省略。资源名称标识用于描述实体资源,资源命名表达式用于描述虚拟资源;从而实体资源的资源引用名称只需包含资源名称标识部分,虚拟资源的资源引用名称必须包含资源名称标识和资源命名表达式两部分。其中,部署对象的资源名称标识至少包含本部署对象的名称,可以省略其上级部署对象的名称,采用以下语法形式[.上级部署对象[...]].本部署对象普通资源对象的资源名称标识至少包含该普通资源对象的名称和其所属的至少一个上级部署对象的名称,可以省略该普通资源对象所属的上级普通资源对象名称,以及其所属部署对象的上/下级部署对象名称,采用以下语法形式部署对象[.下级部署对象[···]].[.上级实体资源对象[···]].本实体资源对象这种命名方式是以部署对象作为结构层次来组织实体的命名,并对部署对象下方的其它实体资源作“扁平化”处理,简化了 CIM实体的引用,使用起来更便捷和人性化。在如图1的CIM资源示意图中,“XXXX供电局”、“变电站1”、“变电站2”为系统部署对象,符合上述命名规则的资源引用名称的例子如下“变电站 2” > "IlOkV 一段” > “504 单元” > “504 保护装置”变电站2. 504保护装置本实施方式中引入“资源命名表达式(Naming Expression) ”是为了解决与实体资源对象的对象属性、量测、辅助对象资源及属性、以及关联资源的查找等诸多复杂的资源命名问题。资源命名表达式的语法如下函数名(参数列表).[属性]当前支持以下几种类型的命名表达式1)对于实体资源对象的静态属性,其表达式为A(属性名),如“XXXX供电局.变电站2. 504保护装置.A (name) ”表示引用“504保护装置的name属性”;2)对于实体资源对象的动态属性(即量测),由于在CIM模型中,量测本身是一种对象资源,但它又是上级实体资源的一种附属属性,因此其命名表达式为M(量测名).[值
品质I属性],如“变电站2.工作站l.M(CPU使用率).valUe”,表示引用“.工作站1的 CPU使用率的模拟量测值”。3)支持命名资源查找表达式,这些资源包括——对象资源其表达式为查找模板函数名(object),其中object为固定参数名,如“变电站2. MEAS (object) ”,即查找变电站2下的所有量测对象;“变电站 2. IED (object) ”表示查找变电站2下的所有IED对象。——对象资源属性其表达式为查找模板函数名(object).属性,如“变电站 2. MEAS(object). value”,表示引用变电站2下的所有量测对象的值属性。4)支持目录服务查询表达式目录服务查询表达式包括对于目录中一类资源的查询,以及对于满足相同条件的资源的查询等。其表达式为DIR(主题,断言,对象),其中“DIR”为目录服务的函数名关键字,目录服务查询的资源用“主题,断言,对象”三元组来描述。这种三元组有“类,属性, 值”、“属性URI,关系表达式,值”等,如“变电站2. DIR(AnalogLimitSet, type, ROC) ”,表示查找所有为设置为变化率告警事件的量测对象。“资源命名表达式”的应用,基本上实现了 CIM资源命名服务在面临多样性资源名称解析时的通用性目标。从而确保本实施方式中的资源引用名称可以涵盖系统中所有的 CIM实体资源和虚拟资源。具体的命名解析流程如图2所示,在分布式部署环境中,可能存在多个命名解析服务,分布在不同的命名解析服务器中,系统中包含一个公开对外的根命名解析服务器,客户端中保存该根命名解析服务器的地址。步骤201中,根命名解析服务器中预先保存部署对象结构树。部署对象结构树中包含系统中各部署对象的从属层次结构、和各部署对象对应的本地命名解析服务器信息。步骤202中,客户端向根命名解析服务器发送资源访问请求,在请求中包含资源引用名称。步骤203中,根命名解析服务器在收到资源访问请求时,提取该请求中的资源引用名称,对该资源引用名称进行分解得到资源名称标识,根据该资源名称标识中的部署对象名称查找部署对象结构树,确定该部署对象对应的本地命名解析服务器。步骤204中,由本地命名解析服务器对该资源引用名称进行解析。如果该资源引用名称中只包含资源名称标识,则该本地命名解析服务器根据资源名称标识中的部署对象名称和/或普通资源对象名称得到对应的资源ID,将所得到资源ID 返回给客户端,客户端根据资源ID访问该实体资源。(本地命名解析服务器中预先保存本服务器辖下部署对象及普通资源对象的资源ID)。如果该资源引用名称中包含资源名称标识和资源命名表达式,则根据预设的规则查找该资源命名表达式,获取对应的虚拟资源内容,反馈给所述客户端。从而确保在分布式环境下能够快速地将资源名称解析为名称所指向的实体,实现高效地查找分布式环境下资源实体。上述客户端根据资源ID访问该实体资源的方式可以参考专利20101(^95955. 6
《一种分布式环境中资源定位方法》。需要说明的是,本实施方式中,在客户端的资源访问请求中包含多个资源引用名称时,根命名解析服务器对各资源引用名称中的资源名称标识进行归并,对相同的资源名称标识,执行一次定位本地命名解析服务器的步骤,由该本地命名解析服务器分别对各资源名称标识相同的资源引用名称进行解析。从而简化了流程,提高了整体解析速度。本发明第二实施方式同样涉及一种分布式系统中CIM资源命名及解析方法,与第一实施方式大致相同,其区别在于,第一实施方式中,部署对象结构树中包含系统中各部署对象的从属层次结构、和各部署对象对应的本地命名解析服务器信息,根据该部署对象结构数可以直接定位部署对象对应的本地命名解析服务器;本实施方式中,部署对象结构树中包含系统中各部署对象的从属层次结构、和各部署对象对应的资源ID,根命名解析服务器通过资源定位服务器对该资源ID所对应的本地命名解析服务器进行定位。并且,根命名解析服务器保存该资源ID与本地命名解析服务器的对应关系,在下一次需要确定部署对象对应的本地命名解析服务器时,优先从本地保存的对应关系中进行查找。在本实施方式中,如果客户端请求解析的资源引用名称为部署对象的名称,即根命名解析服务器对该资源引用名称进行分解,只得到资源名称标识,未包含资源命名表达式;且该资源名称标识中只包含部署对象的名称,则根命名解析服务器根据部署对象名称查找部署对象结构树后,直接将该部署对象对应的资源ID返回给客户端。虽然通过参照本发明的某些优选实施方式,已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
权利要求
1.一种分布式系统中公共信息模型CIM资源命名及解析方法,系统中CIM资源存储在各分布式服务器中,其特征在于,所述系统中CIM资源包含实体资源和虚拟资源,虚拟资源从属于实体资源;将实体资源分为部署对象和普通资源对象,所述系统中的普通资源对象从属于部署对象,各普通资源对象与普通资源对象之间、各部署对象与部署对象之间分别包含从属关系,普通资源对象和/或部署对象与其所属的上级部署对象存储在同一服务器中,该方法包含以下步骤为每个CIM资源分配一资源引用名称,该资源引用名称包括资源名称标识、和可缺省的资源命名表达式,该资源名称标识用于描述实体资源,该资源命名表达式用于描述虚拟资源;部署对象的资源名称标识至少包含本部署对象的名称,普通资源对象的资源名称标识至少包含该普通资源对象的名称和其所属的至少一个上级部署对象的名称;所述虚拟资源的资源引用名称由其所属实体资源的资源名称标识、和该虚拟资源的资源命名表达式构成;所述系统中的命名解析服务分布于各分布式服务器中,在收到来自客户端的资源访问请求时,根据该请求中资源引用名称中的资源名称标识,确定该资源所属的部署对象,定位该部署对象对应的本地命名解析服务器,由该本地命名解析服务器对该资源引用名称进行解析,将解析结果返回给所述客户端。
2.根据权利要求1所述的分布式系统中CIM资源命名及解析方法,其特征在于,所述资源命名表达式至少包含以下之一实体资源的静态属性的表达式;和/或实体资源的动态属性的表达式;和/或资源或资源属性查找表达式;和/或目录服务查询表达式。
3.根据权利要求1所述的分布式系统中CIM资源命名及解析方法,其特征在于,所述在接收来自客户端的资源访问请求,根据该请求中资源引用名称中的资源名称标识,确定该资源所属的部署对象,定位该部署对象对应的本地命名解析服务器的步骤由根命名解析服务器执行;该步骤包含以下子步骤所述根命名解析服务器中预先保存部署对象结构树;所述根命名解析服务器在收到资源访问请求时,提取该请求中的资源引用名称,对该资源引用名称进行分解得到资源名称标识,根据该资源名称标识中的部署对象名称查找所述部署对象结构树,确定该部署对象对应的本地命名解析服务器。
4.根据权利要求3所述的分布式系统中CIM资源命名及解析方法,其特征在于,所述部署对象结构树中包含系统中各部署对象的从属层次结构、和各部署对象对应的本地命名解析服务器信息。
5.根据权利要求3所述的分布式系统中CIM资源命名及解析方法,其特征在于,所述部署对象结构树中包含系统中各部署对象的从属层次结构、和各部署对象对应的资源ID ;所述根据该资源名称标识中的部署对象名称查找所述部署对象结构树,确定该部署对象对应的本地命名解析服务器的步骤中,通过资源定位服务器对该资源ID所对应的本地命名解析服务器进行定位。
6.根据权利要求5所述的分布式系统中CIM资源命名及解析方法,其特征在于,如果所述根命名解析服务器对该资源引用名称进行分解,只得到资源名称标识,未包含资源命名表达式;且该资源名称标识中只包含部署对象的名称,则所述根命名解析服务器根据部署对象名称查找所述部署对象结构树后,直接将该部署对象对应的资源ID返回给所述客户端。
7.根据权利要求1所述的分布式系统中CIM资源命名及解析方法,其特征在于,所述本地命名解析服务器对该资源引用名称进行解析,将解析结果返回给所述客户端的步骤中, 包含以下子步骤所述本地命名解析服务器对该资源引用名称进行解析,如果该资源引用名称中只包含资源名称标识,则该本地命名解析服务器根据资源名称标识中的部署对象名称和/或普通资源对象名称得到对应的资源ID,将所述资源ID返回给所述客户端,所述客户端根据所述资源ID访问该实体资源。
8.根据权利要求1所述的分布式系统中CIM资源命名及解析方法,其特征在于,所述本地命名解析服务器对该资源引用名称进行解析,将解析结果返回给所述客户端的步骤中, 包含以下子步骤所述本地命名解析服务器对该资源引用名称进行解析,如果该资源引用名称中包含资源名称标识和资源命名表达式,则根据预设的规则查找该资源命名表达式,获取对应的虚拟资源内容,反馈给所述客户端。
9.根据权利要求5所述的分布式系统中CIM资源命名及解析方法,其特征在于,所述根命名解析服务器通过资源定位服务器对该资源ID所对应的本地命名解析服务器进行定位的步骤之后,还包含以下步骤保存该资源ID与本地命名解析服务器的对应关系,在需要确定部署对象对应的本地命名解析服务器时,优先从本地保存的对应关系中进行查找。
10.根据权利要求1至9中任意一项所述的分布式系统中CIM资源命名及解析方法,其特征在于,在所述资源访问请求中包含至少两个资源引用名称时,对所述各资源引用名称中的资源名称标识进行归并,对相同的资源名称标识,执行一次定位本地命名解析服务器的步骤,由该本地命名解析服务器分别对所述各资源名称标识相同的资源引用名称进行解析。
全文摘要
本发明公开了一种分布式系统中CIM资源命名及解析方法,CIM资源引用名称包括描述实体资源的资源名称标识、和描述虚拟资源的资源命名表达式;系统中的命名解析服务分布于各分布式服务器中,根据资源引用名称中的资源名称标识,确定该资源所属的部署对象,定位本地命名解析服务器,由该本地命名解析服务器对该资源引用名称进行解析。从而确保资源引用名称可以涵盖系统中所有的CIM实体资源和虚拟资源,并且在分布式环境下能够快速地将资源名称解析为名称所指向的实体,实现高效地查找分布式环境下资源实体。
文档编号H04L12/24GK102571427SQ20111045855
公开日2012年7月11日 申请日期2011年12月31日 优先权日2010年12月31日
发明者俞高宇, 张晓华, 杨云召, 梁俊 申请人:上海可鲁系统软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1