![一种CIM模型对象间关联关系的批量查询方法及其系统与流程](http://img.xjishu.com/img/zl/2021/5/14/gzr7o0ulo.jpg)
一种cim模型对象间关联关系的批量查询方法及其系统
技术领域
1.本发明涉及数据分析技术领域,尤其涉及一种cim模型对象间关联关系的批量查询方法及其系统。
背景技术:2.在iec61970系列标准(已等同引用为中国dl/t890系列标准)中,通用组件接口规范(cis)明确了信息交换的语法,为电网运行数据的访问提供了解决方案;其中通用数据访问接口(generic data access,gda)的资源查询服务(resourcequeryservices)为电网cim模型数据的查询提供了访问方法。其中,get_related_values()方法提供了cim对象间关联关系获取的支持,通过指定一个起始cim对象以及起始对象类型所拥有的关联关系,可以获取到与起始cim对象存在指定关联关系的所有cim对象实例的描述。get_related_values()方法这种每次只能查询一个cim对象的一个关联关系的设计,意味着使用cis gda查询服务的应用在加载cim模型数据时,加载每类cim对象的每一种关联关系,都要每个cim对象的每种关联关系都要启动一次get_related_values()查询,这意味着过多的远程方法调用,效率十分低下,特别的,又由于get_related_values()方法并不会直接返回查询结果,而是返回用于访问查询结果的迭代器对象,要获取查询结果还要调用迭代器对象next_n()的方法获取,这会进一步的降低了cim间关联关系获取的效率。
技术实现要素:3.本发明目的在于,提供一种cim模型对象关联关系批量查询方法及其系统,通过构建针对指定cim对象间关联关系的批量查询,能够快速高效获取多类cim模型对象间指定关联关系所有实例,以解决现有cis gda关联关系查询方法导致的所需远程方法调用次数过多,执行效率低下的问题。
4.为实现上述目的,本发明实施例提供一种cim模型对象关联关系批量查询方法,其特征在于,包括:
5.设置待查询对象间关联关系及针对关联关系两端cim对象性质的过滤器,指定首次返回查询结果数量,并通过过滤器发送限定了过滤条件的查询指令至服务器;
6.所述服务器收到所述查询指令,根据所述查询指令访问cim对象间关联关系并根据所述过滤条件进行过滤操作后,返回查询结果。
7.在某一个实施例中,还包括:
8.客户端收到所述查询结果后,若判断需要继续访问,则构建继续查询指令,指定继续访问句柄及查询结果数量,发送所述继续查询指令到服务器;
9.所述服务器收到所述继续查询指令,验证所述继续访问句柄有效,则继续返回剩余的查询结果,直至获取所有的所述查询结果。
10.在某一个实施例中,所述查询结果包括cim对象间关联关系描述和继续访问句柄。
11.本发明实施例提供还提供一种cim模型对象关联关系批量查询系统,应用于上述
任一实施例中的cim模型对象关联关系批量查询方法。包括:
12.查询指令发送模块,用于设置待查询对象间关联关系及针对关联关系两端cim对象性质的过滤器,指定首次返回查询结果数量,并通过过滤器发送限定了过滤条件的查询指令至服务器;
13.查询结果返回模块,用于所述服务器收到所述查询指令,根据所述查询指令访问cim对象间关联关系并根据所述过滤条件进行过滤操作后,返回查询结果。
14.在某一个实施例中,还包括:查询结果判断模块,用于客户端收到所述查询结果后,若判断需要继续访问,则构建继续查询指令,指定继续访问句柄及查询结果数量,发送所述继续查询指令到服务器;
15.剩余结果查询模块,用于所述服务器收到所述继续查询指令,验证所述继续访问句柄有效,则继续返回剩余查询结果,直至获取所有查询结果。
16.在某一个实施例中,所述查询结果包括cim对象间关联关系描述和继续访问句柄。
17.本发明实施例还提供一种计算机终端设备,包括一个或多个处理器和存储器。存储器与所述处理器耦接,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述任一实施例所述的cim模型对象关联关系批量查询方法。
18.本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一实施例所述的cim模型对象关联关系批量查询方法。
19.本发明实施例的cim模型对象关联关系批量查询方法中,通过构建针对指定cim对象间关联关系的批量查询,能够快速高效获取cim模型对象间指定关联关系所有实例,首次查询返回时,即可同时返回一批查询结果,进一步减少了远程方法调用次数,提高了数据获取效率。与传统cis gda关联关系查询方法相比,查询方法简洁方便,返回结果快速高效,解决了使用传统的cis gda关联关系查询方法由于每次只能查询一个cim对象的一种关联关系设计,导致同样操作所需远程方法调用次数过多,执行效率低下的技术问题。
附图说明
20.为了更清楚地说明本发明的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
21.图1是本发明某一实施例提供的cim模型对象关联关系批量查询方法的流程示意图;
22.图2是本发明某一实施例提供的计算机终端设备的结构示意图。
具体实施方式
23.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
24.应当理解,文中所使用的步骤编号仅是为了方便描述,不对作为对步骤执行先后顺序的限定。
25.应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
26.术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
27.术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
28.请参阅图1,本发明实施例提供一种cim模型对象关联关系批量查询方法,其特征在于,包括:
29.s10、设置待查询对象间关联关系及针对关联关系两端cim对象性质的过滤器,指定首次返回查询结果数量,并通过过滤器发送限定了过滤条件的查询指令至服务器;
30.s20、所述服务器收到所述查询指令,根据所述查询指令访问cim对象间关联关系并根据所述过滤条件进行过滤操作后,返回查询结果。
31.在本实施例中,通过电网cim模型设置待查询的cim对象间关联关系及针对关联关系两端cim对象类型的过滤器,指定首次返回查询结果数量(firstfetchcount),构建并发送查询指令(get_extent_relation_values)到服务器;例如,指定查询设备容器(cim类型euipmentcontainer类)到设备(cim类型equipment类)间的equipmentcontainer.containsequipments关联关系;指定关联源端cim类型过滤为限定为变电站(cim类型euipmentcontainer的具体子类型substation类);指定首次返回查询结果数量为2000。
32.查询服务器收到查询指令(get_extent_relation_values),根据限定了过滤条件的查询指令访问cim对象间关联关系并根据过滤条件进行过滤操作后,返回查询结果cimrelationseq。
33.该批量查询方法可以直接针对一种cim对象间关联关系进行批量查询,可以一次返回多个cim对象间的关联关系,减少了远程方法调用,提高了查询效率。
34.在某一个实施例中,还包括:客户端收到所述查询结果后,若判断需要继续访问,则构建继续查询指令,指定继续访问句柄及查询结果数量,发送所述继续查询指令到服务器;
35.所述服务器收到所述继续查询指令,验证所述继续访问句柄有效,则继续返回剩余的查询结果,直至获取所有的所述查询结果。
36.在本实施例中,所述客户端收到查询结果,判断继续访问句柄nexthandle,若取值不为
‑
1,则构建继续获取查询结果指令(next_n()),指定查询结果访问继续访问句柄nexthandle及获取结果数量(fetchsize),发送继续获取查询结果指令到服务器。查询服务器收到获取查询结果指令(next_n()),验证继续访问句柄nexthandle有效后,继续返回剩余查询结果cimrelationseq。
37.客户端上述步骤直至获取到所有查询结果。
38.在某一个实施例中,所述查询结果包括cim对象间关联关系描述和继续访问句柄。
39.在本实施例中,查询结果cimrelationseq包含如下成员:
40.1)对象间关系描述relations,cimrelation序列,用于查询返回时直接返回部分查询结果,首次返回结果的数量为查询指令中firstfetchcount参数取值和实际查询结果数量取值中较小的哪一个。返回结果cimrelation为一个cim对象间关联关系描述,包含如下成员:
41.a)srcid,关联关系源端对象id标识;
42.b)endid,关联关系末端对象id标识;
43.2)继续访问句柄nexthandle,int类型,查询结果继续访问句柄,取值为
‑
1,表明relations成员已是查询所有结果。
44.本发明实施例提供还提供一种cim模型对象关联关系批量查询系统,应用于上述任一实施例中的cim模型对象关联关系批量查询系统。包括:
45.查询指令发送模块,用于设置待查询对象间关联关系及针对关联关系两端cim对象性质的过滤器,指定首次返回查询结果数量,并通过过滤器发送限定了过滤条件的查询指令至服务器;
46.查询结果返回模块,用于所述服务器收到所述查询指令,根据所述查询指令访问cim对象间关联关系并根据所述过滤条件进行过滤操作后,返回查询结果。
47.在某一个实施例中,还包括:查询结果判断模块,用于客户端收到所述查询结果后,若判断需要继续访问,则构建继续查询指令,指定继续访问句柄及查询结果数量,发送所述继续查询指令到服务器;
48.剩余结果查询模块,用于所述服务器收到所述继续查询指令,验证所述继续访问句柄有效,则继续返回剩余查询结果,直至获取所有查询结果。
49.在某一个实施例中,所述查询结果包括cim对象间关联关系描述和继续访问句柄。
50.关于cim模型对象关联关系批量查询系统的具体限定可以参见上文中对于的限定,在此不再赘述。上述cim模型对象关联关系批量查询系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
51.请参阅图2,本发明实施例提供一种计算机终端设备,包括一个或多个处理器和存储器。存储器与所述处理器耦接,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述任意一个实施例中的cim模型对象关联关系批量查询方法。
52.处理器用于控制该计算机终端设备的整体操作,以完成上述的cim模型对象关联关系批量查询方法的全部或部分步骤。存储器用于存储各种类型的数据以支持在该计算机终端设备的操作,这些数据例如可以包括用于在该计算机终端设备上操作的任何应用程序或方法的指令,以及应用程序相关的数据。该存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(static random access memory,简称sram),电可擦除可编程只读存储器(electrically erasable programmable read
‑
only memory,简称eeprom),可擦除可编程只读存储器(erasable programmable read
‑
only memory,简称eprom),可编程只读存储器(programmable read
‑
only memory,简称prom),只读存储器(read
‑
only memory,简称rom),磁存储器,快闪存储器,磁盘或光盘。
53.在一示例性实施例中,计算机终端设备可以被一个或多个应用专用集成电路(application specific 1ntegrated circuit,简称as1c)、数字信号处理器(digital signal processor,简称dsp)、数字信号处理设备(digital signal processing device,简称dspd)、可编程逻辑器件(programmable logic device,简称pld)、现场可编程门阵列(field programmable gate array,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的cim模型对象关联关系批量查询方法,并达到如上述方法一致的技术效果。
54.在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述任意一个实施例中的cim模型对象关联关系批量查询方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器,上述程序指令可由计算机终端设备的处理器执行以完成上述的cim模型对象关联关系批量查询方法,并达到如上述方法一致的技术效果。
55.本发明实施例的cim模型对象关联关系批量查询方法中,通过构建针对指定cim对象间关联关系的批量查询,能够快速高效获取cim模型对象间指定关联关系所有实例,首次查询返回时,即可同时返回一批查询结果,进一步减少了远程方法调用次数,提高了数据获取效率。与传统cis gda关联关系查询方法相比,查询方法简洁方便,返回结果快速高效,解决了使用传统的cis gda关联关系查询方法由于每次只能查询一个cim对象的一种关联关系设计,导致同样操作所需远程方法调用次数过多,执行效率低下的技术问题。
56.以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。