KR102530364B1 - Node analysis method and apparauts thereof - Google Patents
Node analysis method and apparauts thereof Download PDFInfo
- Publication number
- KR102530364B1 KR102530364B1 KR1020180060231A KR20180060231A KR102530364B1 KR 102530364 B1 KR102530364 B1 KR 102530364B1 KR 1020180060231 A KR1020180060231 A KR 1020180060231A KR 20180060231 A KR20180060231 A KR 20180060231A KR 102530364 B1 KR102530364 B1 KR 102530364B1
- Authority
- KR
- South Korea
- Prior art keywords
- node
- analysis
- agent
- nodes
- attribute
- Prior art date
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 275
- 238000000034 method Methods 0.000 claims abstract description 50
- 230000008569 process Effects 0.000 claims description 36
- 238000004590 computer program Methods 0.000 claims description 17
- 238000009877 rendering Methods 0.000 claims description 14
- 230000004044 response Effects 0.000 claims description 11
- 238000013507 mapping Methods 0.000 claims description 3
- 238000012546 transfer Methods 0.000 claims description 3
- 239000000725 suspension Substances 0.000 claims description 2
- 239000003795 chemical substances by application Substances 0.000 description 143
- 238000010586 diagram Methods 0.000 description 67
- 230000002093 peripheral effect Effects 0.000 description 21
- 230000006870 function Effects 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 235000012489 doughnuts Nutrition 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000009423 ventilation Methods 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003749 cleanliness Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000002354 daily effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000003442 weekly effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1089—Hierarchical topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Tourism & Hospitality (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Health & Medical Sciences (AREA)
- Economics (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Automation & Control Theory (AREA)
- Computing Systems (AREA)
- Testing And Monitoring For Control Systems (AREA)
Abstract
시설 관제 시스템이 관제 맵의 노드를 분석하기 위한 정보를 효율적으로 수집하여 노드를 분석하는 방법 및 장치가 제공 된다. 본 발명의 일 실시예에 따른 노드 분석 방법은, 시설 관제 시스템에 의해 관리되는 관제 대상 시설의 객체에 상응하는 노드들 및 상기 노드들의 연결 관계를 지시하는 에지를 포함하는 관제 맵을 획득하는 단계; 상기 노드들 각각에 속성을 포함하는 태그를 설정하는 단계; 상기 노드들 및 상기 연결 관계에 기초하여, 상기 노드들 중 분석 노드에 대한 리프 노드를 포함하는 분석 범위를 설정하는 단계; 및 상기 태그의 속성에 따라, 상기 리프 노드에 대한 노드 정보를 수집하여 분석한 상기 분석 노드에 대한 분석 결과 값을 획득하는 단계;를 포함한다.A method and apparatus for analyzing nodes by efficiently collecting information for a facility control system to analyze nodes of a control map are provided. A node analysis method according to an embodiment of the present invention includes obtaining a control map including nodes corresponding to an object of a controlled facility managed by a facility control system and an edge indicating a connection relationship between the nodes; setting a tag including an attribute in each of the nodes; setting an analysis range including a leaf node for an analysis node among the nodes, based on the nodes and the connection relationship; and obtaining an analysis result value for the analysis node analyzed by collecting node information on the leaf node according to the attribute of the tag.
Description
본 발명은 관제 맵의 노드를 분석하는 방법 및 장치에 관한 것이다. 보다 자세하게는, 다수의 관제 대상 시설을 관제하기 위해 정보를 효율적으로 수집하여 분석하는 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for analyzing nodes of a control map. More specifically, it relates to a method and apparatus for efficiently collecting and analyzing information in order to control a plurality of control target facilities.
산업의 발달에 따라 시설의 규모가 거대해지면서, 중대형 건물에는 제어가 필요한 다양한 설비들이 구축되고 있다. 예를 들어, 업무용 빌딩, 공공기관 빌딩, 아파트 등과 같은 중대형 건물에는 실내 공기의 온도, 습도 및 청정 등을 조절하여 실내의 사용 목적에 적합한 상태로 유지시키기 위한 공기조화기, 보일러, 펌프 등과 같은 현장 기기(빌딩 설비)들이 구축되어 있다. 또한, 공장 등에서도 작업을 위한 다양한 설비들이 설치된다. 인력에 의해 직접 각 설비의 정상 동작 여부의 확인 및 관리가 불가능해질 정도로 시설의 규모가 거대해지고 설비들의 수가 많아지면서 ICT 기술을 활용한 시설 관제 시스템이 제공되고 있다.As the scale of facilities increases with the development of industry, various facilities that require control are being built in medium and large buildings. For example, in mid-large sized buildings such as business buildings, public institution buildings, and apartments, air conditioners, boilers, and pumps are used to adjust the temperature, humidity, and cleanliness of indoor air to maintain it in a state suitable for the purpose of indoor use. Appliances (building facilities) are built. In addition, various facilities for work are installed in factories and the like. As the scale of facilities becomes so large that it becomes impossible to directly check and manage the normal operation of each facility by manpower, and the number of facilities increases, a facility control system using ICT technology is being provided.
시설 관제 시스템을 통해서 설비들을 관제하기 위해서는 각 설비들에 대한 다양한 정보를 수집해야 한다. 예를 들어, 설비들 간을 연결하여 구성된 사물인터넷 환경을 통해서 설비들의 상태 정보(예를 들어, 온도, 동작시간, 오류발생 등)를 수집해야 한다. 관제 대상 시설에 설치된 설비의 수가 증가하고, 제어가 필요한 요인들이 다양해질수록 시설 관제 시스템이 수집해야 하는 정보의 양이 기하급수적으로 늘어나게 된다. In order to control facilities through the facility control system, it is necessary to collect various information about each facility. For example, it is necessary to collect state information (for example, temperature, operation time, error occurrence, etc.) of facilities through an IoT environment configured by connecting facilities. As the number of facilities installed in the facility to be controlled increases and the factors that require control become more diverse, the amount of information that the facility control system needs to collect increases exponentially.
해결하고자 하는 기술적 과제는, 시설 관제 시스템이 관제 맵의 노드를 분석하기 위한 정보를 효율적으로 수집하여 노드를 분석하는 방법 및 장치를 제공하는 것이다.A technical problem to be solved is to provide a method and apparatus for analyzing nodes by efficiently collecting information for a facility control system to analyze nodes of a control map.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.The technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the description below.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 노드 분석 방법은, 시설 관제 시스템에 의해 관리되는 관제 대상 시설의 객체에 상응하는 노드들 및 상기 노드들의 연결 관계를 지시하는 에지를 포함하는 관제 맵을 획득하는 단계; 상기 노드들 각각에 속성을 포함하는 태그를 설정하는 단계; 상기 노드들 및 상기 연결 관계에 기초하여, 상기 노드들 중 분석 노드에 대한 리프 노드를 포함하는 분석 범위를 설정하는 단계; 및 상기 태그의 속성에 따라, 상기 리프 노드에 대한 노드 정보를 수집하여 분석한 상기 분석 노드에 대한 분석 결과 값을 획득하는 단계;를 포함할 수 있다.In order to solve the above technical problem, a node analysis method according to an embodiment of the present invention includes nodes corresponding to objects of a controlled facility managed by a facility control system and an edge indicating a connection relationship between the nodes Obtaining a control map to; setting a tag including an attribute in each of the nodes; setting an analysis range including a leaf node for an analysis node among the nodes, based on the nodes and the connection relationship; and collecting node information on the leaf node according to the attribute of the tag and obtaining an analysis result value for the analysis node analyzed.
또한, 다른 몇몇 실시 예에 따르면, 상기 속성은 상기 노드 정보의 수집 대상에 대한 정보 및 수집 조건을 포함할 수 있다.Also, according to some other embodiments, the property may include information on a collection target of the node information and a collection condition.
또한, 또 다른 몇몇 실시 예에 따르면, 상기 노드는 태그 가중치를 가지고, 상기 분석 범위를 설정하는 단계는 상기 태그 가중치를 이용하여 상기 리프 노드를 결정할 수 있다.Also, according to some other embodiments, the node has a tag weight, and the step of setting the analysis range may determine the leaf node using the tag weight.
또한, 또 다른 몇몇 실시 예에 따르면, 상기 노드 분석 방법은, 제1 임계값 및 제2 임계값을 포함하는 분석 조건을 설정하는 단계를 더 포함하고, 상기 분석 범위를 설정하는 단계에서는 상기 분석 노드로부터 관계 레벨이 제1 임계값 이하이고, 상기 태그 가중치가 제2 임계값 이상인 노드를 상기 리프 노드로 결정할 수 있다.In addition, according to some other embodiments, the node analysis method further includes setting an analysis condition including a first threshold value and a second threshold value, and in the step of setting the analysis range, the analysis node A node having a relationship level of less than a first threshold value and a tag weight greater than or equal to a second threshold value may be determined as the leaf node.
또한, 또 다른 몇몇 실시 예에 따르면, 상기 분석 조건을 설정하는 단계에서는, 상기 분석 노드의 태그에 설정된 속성을 이용하여 상기 제1 임계값 및 제2 임계값을 결정할 수 있다.Also, according to some other embodiments, in the step of setting the analysis condition, the first threshold value and the second threshold value may be determined using an attribute set in a tag of the analysis node.
또한, 또 다른 몇몇 실시 예에 따르면, 상기 분석 조건을 설정하는 단계는, 상기 분석 노드의 태그에 포함된 속성을 기초로 키워드를 결정하는 단계와, 상기 키워드를 이용하여 상기 키워드와 상기 분석 조건을 매핑하는 분석 조건 설정 테이블을 조회하는 단계, 및 상기 조회의 결과를 이용하여 상기 분석 조건을 결정하는 단계를 포함할 수 있다.Also, according to some other embodiments, the setting of the analysis condition may include determining a keyword based on an attribute included in a tag of the analysis node, and determining the keyword and the analysis condition by using the keyword. The method may include retrieving an analysis condition setting table to be mapped, and determining the analysis condition using a result of the inquiry.
또한, 또 다른 몇몇 실시 예에 따르면, 상기 에지는 관계 가중치를 가지며, 상기 분석 범위를 설정하는 단계에서는 상기 관계 가중치를 이용하여 상기 리프 노드를 결정할 수 있다.Also, according to some other embodiments, the edge has a relationship weight, and in the step of setting the analysis range, the leaf node may be determined using the relationship weight.
또한, 또 다른 몇몇 실시 예에 따르면, 상기 노드 분석 방법은, 제1 임계값 및 제3 임계값을 포함하는 분석 조건을 설정하는 단계를 더 포함하고, 상기 분석 범위를 설정하는 단계에서는 상기 분석 노드로부터 관계 레벨이 제1 임계값 이하이고, 상기 분석 노드에 대한 상기 관계 가중치가 제3 임계값 이상인 노드를 상기 리프 노드로 결정할 수 있다.In addition, according to some other embodiments, the node analysis method further includes setting an analysis condition including a first threshold value and a third threshold value, and in the step of setting the analysis range, the analysis node From , a node having a relationship level of less than a first threshold value and a relationship weight value of the analysis node greater than or equal to a third threshold value may be determined as the leaf node.
또한, 또 다른 몇몇 실시 예에 따르면, 상기 분석 노드에 상응하는 구독자 에이전트와 상기 리프 노드에 상응하는 게시자 에이전트를 독립적으로 구동하는 단계를 더 포함하고, 상기 분석 결과 값을 획득하는 단계는 상기 구독자 에이전트가 상기 게시자 에이전트로부터 상기 게시자 에이전트가 상기 속성에 따라 생성한 상기 노드 정보를 획득하는 단계를 포함할 수 있다.In addition, according to some other embodiments, further comprising independently driving a subscriber agent corresponding to the analysis node and a publisher agent corresponding to the leaf node, and obtaining the analysis result value may include the step of independently running the subscriber agent corresponding to the analysis node and the publisher agent corresponding to the leaf node. may include obtaining, from the publisher agent, the node information generated by the publisher agent according to the property.
또한, 또 다른 몇몇 실시 예에 따르면, 상기 노드 정보를 획득하는 단계는, 상기 구독자 에이전트가 상기 분석 노드의 태그에 설정된 속성에 대한 구독 요청을 상기 게시자 에이전트에게 전달하는 단계와, 상기 게시자 에이전트가 상기 리프 노드의 태그에 상기 속성을 생성하는 단계, 및 상기 구독자 에이전트의 결과 값 요청에 따라 상기 게시자 에이전트가 상기 속성을 실행하여 상기 노드 정보를 상기 구독자 에이전트에 제공하는 단계를 포함할 수 있다.In addition, according to some other embodiments, the obtaining of the node information may include transmitting, by the subscriber agent, a subscription request for an attribute set in a tag of the analysis node to the publisher agent, and by the publisher agent The method may include generating the property in a tag of a leaf node, and providing the node information to the subscriber agent by the publisher agent executing the property according to a request for a result value of the subscriber agent.
또한, 또 다른 몇몇 실시 예에 따르면, 상기 속성을 생성하는 단계에서는, 상기 속성을 저장하고 관리하는 시설 관제 서버의 속성 저장소로부터 상기 속성에 대한 정보를 획득하여 상기 속성을 생성할 수 있다.Also, according to some other embodiments, in the generating of the attribute, the attribute may be generated by obtaining information on the attribute from a property storage of a facility management server that stores and manages the attribute.
또한, 또 다른 몇몇 실시 예에 따르면, 상기 노드 정보를 상기 구독자 에이전트에 제공하는 단계에서는, REST API(REpresentational State Transfer Application Program Interface)를 이용하여 상기 노드 정보를 제공할 수 있다.Also, according to some other embodiments, in the step of providing the node information to the subscriber agent, the node information may be provided using a REpresentational State Transfer Application Program Interface (REST API).
또한, 또 다른 몇몇 실시 예에 따르면, 노드 분석 방법은 상기 게시자 에이전트가 상기 구독자 에이전트로부터 상기 리프 노드의 태그에 포함된 속성에 대한 구독 정지 통보를 수신하는 단계; 상기 구독 정지 통보가 수신된 속성을 구독하는 에이전트가 없는 경우 상기 게시자 에이전트가 상기 속성을 비활성화하는 단계; 및 상기 게시자 에이전트가 상기 비활성화된 속성이 비활성화된 시점으로부터 임계 기간 이내에 상기 비활성화된 속성에 대한 구독 요청이 수신되지 않을 경우 상기 속성을 삭제하는 단계;를 더 포함할 수 있다.Also, according to some other embodiments, the node analysis method may include receiving, by the publisher agent, a subscription stop notification for attributes included in a tag of the leaf node from the subscriber agent; deactivating, by the publisher agent, the property when there is no agent subscribing to the property for which the subscription stop notification is received; and deleting, by the publisher agent, the disabled property when a subscription request for the disabled property is not received within a threshold period from when the disabled property is deactivated.
또한, 또 다른 몇몇 실시 예에 따르면, 상기 분석 결과 값을 획득하는 단계는, 상기 구독자 에이전트가 상기 게시자 에이전트에게 상기 속성에 대한 결과 값 요청을 전달하는 단계와, 상기 결과 값 요청에 대한 응답이 없을 경우, 상기 구독자 에이전트가 상기 게시자 에이전트에게 하트비트 요청을 전달하는 단계와, 상기 하트비트 요청에 대한 응답이 없을 경우, 상기 구독자 에이전트가 시설 관제 서버에 상기 게시자 에이전트에 대한 재시작 요청을 전달하는 단계, 및 상기 시설 관제 서버에 의해 상기 게시자 에이전트가 재시작하는 단계를 포함할 수 있다.Also, according to some other embodiments, the obtaining of the analysis result value may include transmitting a request for the result value for the attribute to the publisher agent by the subscriber agent, and when there is no response to the request for the result value, If there is no response to the heartbeat request, the subscriber agent forwarding a heartbeat request to the publisher agent, and if there is no response to the heartbeat request, the subscriber agent forwarding a restart request for the publisher agent to the facility management server; and restarting the publisher agent by the facility management server.
또한, 또 다른 몇몇 실시 예에 따르면, 상기 노드 분석 방법은 상기 게시자 에이전트가 상기 속성에 대한 노드 정보를 구독하는 구독자의 목록을 운영 정보 데이터베이스에 저장하는 단계를 더 포함하고, 상기 재시작하는 단계는 상기 게시자 에이전트가 상기 운영 정보 데이터베이스로부터 상기 구독자의 목록을 로드하여 상기 구독자의 목록에 포함된 에이전트에게 하트비트 메시지를 전송하는 단계를 포함할 수 있다.In addition, according to some other embodiments, the node analysis method further includes storing, by the publisher agent, a list of subscribers subscribing to the node information for the property in an operation information database, and the restarting may include the and transmitting, by a publisher agent, a heartbeat message to an agent included in the list of subscribers by loading the subscriber list from the management information database.
또한, 또 다른 몇몇 실시 예에 따르면, 상기 분석 결과 값을 획득하는 단계는, 상기 구독자 에이전트가 상기 노드 정보를 이용하여 상기 속성에 대한 분석 결과 값을 생성하는 단계와, 상기 분석 결과 값을 시설 관제 서버에 저장하는 단계를 더 포함할 수 있다.Also, according to some other embodiments, the obtaining of the analysis result value may include generating, by the subscriber agent, an analysis result value for the attribute using the node information, and using the analysis result value as a facility control function. A step of storing in a server may be further included.
또한, 또 다른 몇몇 실시 예에 따르면, 상기 속성은 상기 분석 결과 값을 디스플레이하기 위한 디스플레이 설정을 더 포함하고, 상기 노드 분석 방법은, 디스플레이 장치를 통해 상기 분석 결과 값을 상기 분석 노드에 설정된 태그의 속성에 포함된 디스플레이 설정에 따라서 디스플레이하는 단계를 더 포함할 수 있다.In addition, according to some other embodiments, the property further includes a display setting for displaying the analysis result value, and the node analysis method includes displaying the analysis result value through a display device of a tag set in the analysis node. A step of displaying according to display settings included in properties may be further included.
또한, 또 다른 몇몇 실시 예에 따르면, 상기 디스플레이 설정은 정보 표시 포맷 및 표시 항목을 포함할 수 있다.Also, according to some other embodiments, the display setting may include an information display format and display items.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 비일시적(non-transitory) 컴퓨터 판독 가능한 매체에 기록된 컴퓨터 프로그램은, 상기 컴퓨터 프로그램의 명령어들이 컴퓨팅 장치의 프로세서에 의해 실행되는 경우에, 시설 관제 시스템에 의해 관리되는 객체에 상응하는 노드들 및 상기 노드들의 연결 관계를 지시하는 에지를 포함하는 관제 맵을 획득하는 단계; 상기 노드들 각각에 속성을 포함하는 태그를 설정하는 단계; 상기 노드들 및 상기 연결 관계에 기초하여 상기 노드들 중 분석 노드에 대한 리프 노드를 포함하는 분석 범위를 설정하는 단계; 및 상기 태그의 속성에 따라 상기 리프 노드에 대한 노드 정보를 수집하여 분석한 상기 분석 노드에 대한 분석 결과 값을 획득하는 단계;를 포함하는 동작이 수행되는 것을 특징으로 할 수 있다.A computer program recorded on a non-transitory computer readable medium according to an embodiment of the present invention for solving the above technical problem is, when the instructions of the computer program are executed by a processor of a computing device Obtaining a control map including nodes corresponding to objects managed by the facility control system and edges indicating a connection relationship between the nodes; setting a tag including an attribute in each of the nodes; setting an analysis range including a leaf node for an analysis node among the nodes based on the nodes and the connection relationship; and collecting node information on the leaf node according to the attribute of the tag and obtaining an analysis result value for the analysis node.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 프로세서; 네트워크 인터페이스; 메모리; 및 상기 메모리에 로딩 되어 상기 프로세서에 의해 수행되는 컴퓨터 프로그램의 실행 파일이 기록된 스토리지 장치를 포함하되, 상기 컴퓨터 프로그램은, 시설 관제 시스템에 의해 관리되는 관제 대상 시설의 객체에 상응하는 노드들을 생성하고, 상기 노드들 간의 연결 관계를 지시하는 에지를 포함하는 관제 맵을 획득하는 일련의 인스트럭션; 상기 노드들 각각에 속성을 포함하는 태그를 설정하는 일련의 인스트럭션; 및 상기 노드들 및 상기 연결 관계에 기초하여, 상기 노드들 중 분석 노드에 대한 리프 노드를 포함하는 분석 범위를 설정하고, 상기 태그의 속성에 따라, 상기 리프 노드에 대한 노드 정보를 수집하여 상기 분석 노드에 대한 분석 결과 값을 획득하는 일련의 인스트럭션;을 포함할 수 있다.A processor according to an embodiment of the present invention for solving the above technical problem; network interface; Memory; and a storage device in which an execution file of a computer program loaded into the memory and executed by the processor is recorded, wherein the computer program creates nodes corresponding to objects of a controlled facility managed by a facility control system, , a series of instructions for obtaining a control map including an edge indicating a connection relationship between the nodes; a series of instructions for setting a tag including an attribute on each of the nodes; and based on the nodes and the connection relationship, setting an analysis range including a leaf node for an analysis node among the nodes, collecting node information about the leaf node according to the attribute of the tag, and performing the analysis. It may include; a series of instructions for obtaining the analysis result value for the node.
또한, 다른 몇몇 실시 예에 따르면, 상기 네트워크 인터페이스는 상기 관제 대상 시설의 설비에 설치된 제어기에 연결되고, 상기 컴퓨터 프로그램은, 상기 네트워크 인터페이스를 통해서 상기 속성을 상기 제어기에 제공하는 일련의 인스트럭션; 상기 네트워크 인터페이스를 통해서 상기 제어기로부터 상기 속성을 실행한 결과인 상기 노드 정보를 제공 받는 일련의 인스트럭션; 및 상기 노드 정보를 표시하도록 렌더링하는 일련의 인스트럭션;을 더 포함할 수 있다.In addition, according to some other embodiments, the network interface is connected to a controller installed in facilities of the controlled facility, and the computer program includes a series of instructions for providing the property to the controller through the network interface; a series of instructions for receiving the node information, which is a result of executing the attribute, from the controller through the network interface; and a series of instructions rendering the node information to be displayed.
또한, 또 다른 몇몇 실시 예에 따르면, 시설 관제 시스템에 의해 관리되는 관제 대상 시설의 객체에 상응하는 노드들에 대한 노드 정보의 수집 대상 및 수집 조건을 포함하는 속성을 저장하는 속성 저장소; 상기 노드들 및 상기 노드들의 연결 관계를 지시하는 에지를 포함하는 관제 맵을 획득하고, 상기 노드들 각각에 상응하여 각각 독립적인 프로세스로 구동되며, 상기 속성을 실행하여 노드 정보를 다른 노드에 게시하거나 또는 다른 노드로부터 상기 속성을 구독하여 노드 정보를 수집하는 에이전트를 실행하도록 상기 관제 대상 시설의 설비에 포함된 설비 제어기를 제어하는 제어기; 상기 노드 정보를 수집하여 분석한 분석 결과 값을 저장하는 분석 결과 저장소; 및 상기 분석 결과 값을 표시하도록 렌더링하는 렌더러;를 포함할 수 있다.In addition, according to some other embodiments, an attribute storage for storing attributes including collection targets and collection conditions of node information about nodes corresponding to objects of controlled facilities managed by the facility control system; Obtain a control map including the nodes and an edge indicating the connection relationship between the nodes, run as an independent process corresponding to each of the nodes, and execute the properties to post node information to other nodes, or or a controller that controls a facility controller included in facilities of the controlled facility to execute an agent that collects node information by subscribing to the properties from other nodes; an analysis result storage for storing analysis result values obtained by collecting and analyzing the node information; and a renderer that renders the analysis result values to be displayed.
도 1은 몇몇 실시 예에 따른 시설 관제 시스템의 구성을 설명하기 위한 도면이다.
도 2는 몇몇 실시 예에 따른 관제 맵을 수동으로 생성하는 프로세스를 도시한 순서도이다.
도 3은 몇몇 실시 예에 따라 관제 맵을 자동으로 생성하는 프로세스를 도시한 순서도이다.
도 4는 몇몇 실시 예에 따라 노드 및 에지에 가중치를 설정하는 프로세스를 도시한 순서도이다.
도 5는 몇몇 실시 예에 따라 관제 맵을 렌더링하고 디스플레이하는 프로세스를 도시한 순서도이다.
도 6은 몇몇 실시 예에 따라 디스플레이되는 관제 맵의 일 예를 도시한 도면이다.
도 7 및 도 8은 몇몇 실시 예에 따라 생성된 관제 맵의 일 예를 도시한 도면이다.
도 9는 몇몇 실시 예에 따라 관제 맵에 기반하여 분석 노드를 분석하는 프로세스를 도시한 순서도이다.
도 10은 몇몇 실시 예에 따라 노드들에 대해 설정된 태그의 계층 구조(hierarchy)의 일 예를 도시한 도면이다.
도 11은 몇몇 실시 예에 따라 분석 범위를 설정하는 프로세스를 도시한 순서도이다.
도 12는 몇몇 실시 예에 따라 분석 범위를 설정하는 일 예시를 도시한 도면이다.
도 13은 몇몇 실시 예에 따라 분석 범위를 설정하는 다른 예시를 도시한 도면이다.
도 14는 몇몇 실시 예에 따른 리프 노드의 태그에 대한 일 예를 도시한 도면이다.
도 15는 몇몇 실시 예에 따른 리프 노드의 태그의 상세 항목에 대한 일 예를 도시한 도면이다.
도 16은 몇몇 실시 예에 따른 분석 노드의 태그에 대한 일 예를 도시한 도면이다.
도 17은 몇몇 실시 예에 따른 분석 노드의 태그의 상세 항목에 대한 일 예를 도시한 도면이다.
도 18은 몇몇 실시 예에 따른 관제 맵의 장비를 기준으로 설정된 슈퍼 태그 그룹(Super Tag Group)의 일 예를 도시한 도면이다.
도 19는 몇몇 실시 예에 따른 관제 맵의 장소를 기준으로 설정된 슈퍼 태그 그룹의 일 예를 도시한 도면이다.
도 20은 몇몇 실시 예에 따라 속성에 기초하여 분석 조건을 결정하는 프로세스를 도시한 도면이다.
도 21은 몇몇 실시 예에 따른 분석 조건 설정 테이블의 예시를 도시한 도면이다.
도 22는 관제 맵의 노드에 따라 구동되는 에이전트의 예시를 설명하기 위한 개념도이다.
도 23은 몇몇 실시 예에 따라 에이전트가 노드 정보를 수집하기 위한 시설 관제 시스템의 구조를 설명하기 위한 도면이다.
도 24는 몇몇 실시 예에 따라 중간 노드의 에이전트의 동작을 설명하기 위한 도면이다.
도 25는 몇몇 실시 예에 따른 시설 관제 서버의 구조를 간단히 도시한 블록도이다.
도 26은 몇몇 실시 예에 따라 태그의 속성을 정의하기 위한 설정 항목의 예시를 도시한 도면이다.
도 27은 몇몇 실시 예에 따라 분석 결과 값을 렌더링한 일 예시를 도시한 도면이다.
도 28은 몇몇 실시 예에 따라 분석 결과 값을 렌더링한 다른 예시를 도시한 도면이다.
도 29는 몇몇 실시 예에 따라 분석 결과 값을 렌더링한 또 다른 예시를 도시한 도면이다.
도 30은 몇몇 실시 예에 따라 시설 관제 시스템을 구성하는 시설 관제 서버의 하드웨어 구성을 도시한 도면이다.1 is a diagram for explaining the configuration of a facility control system according to some embodiments.
2 is a flow chart illustrating a process of manually generating a control map according to some embodiments.
3 is a flow chart illustrating a process for automatically generating a control map in accordance with some embodiments.
4 is a flow chart illustrating a process for setting weights to nodes and edges, in accordance with some embodiments.
5 is a flow chart illustrating a process for rendering and displaying a control map, in accordance with some embodiments.
6 is a diagram illustrating an example of a control map displayed according to some embodiments.
7 and 8 are diagrams illustrating an example of a control map generated according to some embodiments.
9 is a flowchart illustrating a process of analyzing an analysis node based on a control map, according to some embodiments.
10 is a diagram illustrating an example of a hierarchy of tags set for nodes according to some embodiments.
11 is a flow chart illustrating a process for setting analysis ranges, in accordance with some embodiments.
12 is a diagram illustrating an example of setting an analysis range according to some embodiments.
13 is a diagram illustrating another example of setting an analysis range according to some embodiments.
14 is a diagram illustrating an example of a tag of a leaf node according to some embodiments.
15 is a diagram illustrating an example of detailed items of a tag of a leaf node according to some embodiments.
16 is a diagram illustrating an example of a tag of an analysis node according to some embodiments.
17 is a diagram illustrating an example of detailed items of a tag of an analysis node according to some embodiments.
18 is a diagram illustrating an example of a super tag group set based on equipment of a control map according to some embodiments.
19 is a diagram illustrating an example of a super tag group set based on a location of a control map according to some embodiments.
20 is a diagram illustrating a process for determining analysis conditions based on attributes, in accordance with some embodiments.
21 is a diagram illustrating an example of an analysis condition setting table according to some embodiments.
22 is a conceptual diagram for explaining an example of an agent driven according to a node of a control map.
23 is a diagram for explaining the structure of a facility control system for an agent to collect node information according to some embodiments.
24 is a diagram for explaining an operation of an agent of an intermediate node according to some embodiments.
25 is a block diagram briefly illustrating the structure of a facility control server according to some embodiments.
26 is a diagram illustrating an example of setting items for defining attributes of a tag according to some embodiments.
27 is a diagram illustrating an example of rendering analysis result values according to some embodiments.
28 is a diagram illustrating another example of rendering analysis result values according to some embodiments.
29 is a diagram illustrating another example of rendering analysis result values according to some embodiments.
30 is a diagram illustrating a hardware configuration of a facility control server constituting a facility control system according to some embodiments.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. Advantages and features of the present invention, and methods for achieving them, will become clear with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below and may be implemented in various different forms, only the present embodiments make the disclosure of the present invention complete, and the common knowledge in the art to which the present invention belongs It is provided to fully inform the holder of the scope of the invention, and the present invention is only defined by the scope of the claims. Like reference numbers designate like elements throughout the specification.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.Unless otherwise defined, all terms (including technical and scientific terms) used in this specification may be used in a meaning commonly understood by those of ordinary skill in the art to which the present invention belongs. In addition, terms defined in commonly used dictionaries are not interpreted ideally or excessively unless explicitly specifically defined. Terminology used herein is for describing the embodiments and is not intended to limit the present invention. In this specification, singular forms also include plural forms unless specifically stated otherwise in a phrase.
이하, 도면들을 참조하여 본 발명의 몇몇 실시예들을 설명한다.Hereinafter, some embodiments of the present invention will be described with reference to the drawings.
도 1은 몇몇 실시 예에 따른 시설 관제 시스템의 구성을 설명하기 위한 도면이다.1 is a diagram for explaining the configuration of a facility control system according to some embodiments.
몇몇 실시 예에 따르면, 시설 관제 시스템은 관제 대상 시설(10)의 설비를 제어하는 제어기(11)들을 통해 관제 대상 시설(10)의 설비를 관제하는 시설 관제 서버(100)를 포함하여 구성될 수 있다. 시설 관제 서버(100)는 관제 대상 시설(10)에 구비된 각종 설비 및 관제점을 모니터링하고, 시설 관제 시스템의 사용자에 의해 입력된 정보에 따라 설비를 제어할 수 있다. 이를 위해 시설 관제 서버(100)는 네트워크를 통해 제어기(11)에 연결될 수 있다. 제어기(11)는, 예를 들어, 설비를 제어하는 직접 디지털 제어기(Direct Digital Controller)일 수 있다. 직접 디지털 제어기는 각종 센서 및 부하에 상응하는 관제점에 대하여 관제 대상 시설(10) 내 설비들을 모니터링하고 제어한다.According to some embodiments, the facility control system may include a
제어기(11)는 설비들을 모니터링하고 제어하기 위한 소프트웨어를 시설 관제 서버(100)로부터 다운로드할 수 있다. 설비들을 모니터링하고 제어하기 위한 소프트웨어는 제어 로직(Controller Logic)으로 언급될 수 있다. 몇몇 실시 예에 따르면, 제어 로직은 그래픽 형태로 작성될 수 있다. 그래픽 형태의 제어 로직은 그래픽 파싱(Graphic parsing) 과정을 거쳐서 텍스트로 변환될 수 있다. 변환된 텍스트는 컴파일 과정을 거쳐서 제어기(11)에서 실행 가능한 코드로 변환될 수 있다.The
관제 대상 시설(10)은, 예를 들면, 빌딩, 스타디움, 연구소, 공장, 공항, 항구, 테마파크, 아파트, 또는 호텔과 같은 정보 통신 기술에 의한 모니터링 및 제어가 이루어지는 시설을 의미한다.The facility to be controlled 10 refers to a facility that is monitored and controlled by information and communication technology, such as a building, stadium, research center, factory, airport, port, theme park, apartment, or hotel.
시설 관제 서버(100)는 관제 대상 시설(10)을 모니터링하고 제어하기 위해 관제 대상 시설(10)에 대한 설비, 관제점, 제어기, 제어 로직 등과, 시설 관제 시스템의 사용자에 의해 생성된 관제 보고서, 그래픽 페이지 등의 관리 매체를 각각 객체(Object)로 관리할 수 있다. 여기서, 객체는 관리의 대상이 되는 단위를 의미할 수 있다. 다른 몇몇 실시 예에 따르면, 시설 관제 서버(100)는 원격에서 관제하는 장치가 아닌 관제 대상 시설(10)의 내부에 설치된 중앙 관제 시스템으로 구현될 수도 있다.The
시설 관제 시스템을 통해 관리될 수 있는 객체는 아래와 같다.Objects that can be managed through the facility control system are as follows.
- 관제점 : 설비를 관제하기 위한 인자(factor)를 의미한다. 예를 들어, 관제점은 설비의 온도, 습도, 압력 또는 유량 등을 의미할 수 있다.- Control point: refers to the factor for controlling the facility. For example, the control point may mean the temperature, humidity, pressure or flow rate of the facility.
- 관제 보고서 : 관제 대상 시설(10)의 관리자 및 시설 관제 시스템의 사용자가, 관제 대상 시설(10)의 운영 상황에 대해 작성하는 디지털 콘텐츠를 의미한다. 관제 보고서는, 예를 들어, 특정 관제점의 실시간 경향(trend), 특정 설비의 동작 스케줄, 또는 특정 관제점의 비정상 상황 발생 빈도 등의 데이터가 포함될 수 있다.- Control report: Refers to digital content created by the manager of the facility to be controlled (10) and the user of the facility control system about the operational status of the facility to be controlled (10). The control report may include, for example, data such as a real-time trend of a specific control point, an operation schedule of a specific facility, or an abnormal occurrence frequency of a specific control point.
- 제어 로직 : 설비들을 모니터링하고 제어하기 위한 소프트웨어를 의미한다.- Control logic: Software for monitoring and controlling facilities.
- 그래픽 페이지 : 관제 대상 시설(10)의 설비 운영현황을 직관적으로 실시간 관제를 하기 위해 활용되는 그래픽 화면을 의미한다. 그래픽 화면에는 각 설비 또는 각 설비의 관제점 동작 상황 등이 애니메이션으로 표현될 수 있다.-Graphic page: Refers to a graphic screen used to intuitively control the facility operation status of the
- 실시간 경향 : 관제점의 현재 값의 변화 추이를 실시간으로 표현하는 차트(chart) 등의 디지털 데이터를 의미한다.- Real-time trend: Refers to digital data such as a chart that expresses the change trend of the current value of the control point in real time.
- 동작 스케줄 : 설비 또는 제어기의 일간, 주간, 월간 동작 스케줄을 의미한다. 예를 들어, 설비가 매일 오전 9시에 전원이 켜지고 오후 11시에 전원이 꺼지는 일정을 의미할 수 있다.- Operation schedule: refers to the daily, weekly, and monthly operation schedule of equipment or controllers. For example, this could mean a schedule where the facility powers up at 9:00 AM and powers off at 11:00 PM every day.
- 설비 : 관제 대상 시설(10)에 설치된 각각의 시설을 의미하며, 제어기(11)의 제어를 받는 대상을 의미한다. 예를 들어, 설비는 건물에 설치된 공조기나 보일러 등을 의미할 수 있다.- Facility: refers to each facility installed in the
본 명세서에서 사용 되는 일부 용어를 정의한다.Defines some terms used in this specification.
다이어그램(diagram): 관제 대상 시설에 대한 관제 업무 또는 제어 업무를 위하여 사용 되는 그래픽 요소를 포함하는 디지털 데이터. 그래픽 파서를 통하여 텍스트 형태로 변환된 후 제어기에 의하여 실행 될 수 있는 프로그램 코드로 변환 되는 그래픽 형태의 제어 로직 다이어그램이나, 각 설비의 동작 상태를 애니메이션 형태로 실시간 표현하는 그래픽 페이지가 다이어그램의 예시이다.Diagram: Digital data including graphic elements used for monitoring or control tasks for controlled facilities. An example of a diagram is a control logic diagram in a graphic form that is converted into a text form through a graphic parser and then converted into a program code that can be executed by a controller, or a graphic page that expresses the operating state of each facility in real time in an animation form.
다이어그램 템플릿(diagram template): 상기 다이어그램을 생성하기 위한 템플릿 데이터. 상기 다이어그램 템플릿이 서로 다른 객체에 적용 되는 경우에도 변경되지 않고 원본을 그대로 유지하는 부분인 불변 객체(또는 불변 영역)와, 적용 대상 객체가 달라질 때마다, 상기 적용 대상 객체와 관련된 객체에 맵핑(mapping) 되어 달라지는 부분인 가변 객체(또는 가변 영역)으로 구성된다.Diagram template: Template data for generating the diagram. Even when the diagram template is applied to different objects, the immutable object (or immutable region), which is a part that remains unchanged and maintains the original, and mapping to objects related to the applicable object whenever the applied object changes ) and consists of a variable object (or variable area), which is the part that changes.
몇몇 실시예들에 따르면, 시설 관제 서버(100)는 시설 관제 시스템에 의해 관리 되는 객체 중 분석 대상이 되는 객체와 매칭되는 분석 노드와, 시설 관제 시스템에 의해 관리 되는 객체 중 분석 노드와 매칭된 객체와 관련된 객체에 매칭된 주변 노드와, 주변 노드와 주변 노드 또는 주변 노드들 사이를 연결하는 에지(edge)를 포함하는 관제 맵을 생성할 수 있다. 시설 관제 서버(100)는 사용자의 입력에 따라 관제 맵을 생성하거나, 또는 미리 설정된 프로세스를 실행함으로써 자동으로 관제 맵을 생성할 수 있다. 분석 노드에 매칭된 객체는 템플릿 객체라고 언급될 수 있다. 또한, 분석 노드에 하나의 에지를 통해서 연결된 주변 노드는 대상 노드라고 언급될 수 있다. 대상 노드에 매칭된 객체는 대상 노드라고 언급될 수 있다. 또한, 대상 노드에 하나의 에지를 통해서 연결된 주변 노드는 요소 노드라고 언급될 수 있다. 요소 노드에 매칭된 객체는 요소 객체라고 언급될 수 있다.According to some embodiments, the
다이어그램 템플릿은 하나 이상의 대상 객체에 대해 적용될 수 있다. 다이어그램 템플릿은 고정 객체 및 가변 객체를 포함할 수 있다. 고정 객체는 적용되는 대상 객체와 무관하게 유지되는 객체를 의미한다. 가변 객체는 적용되는 대상 객체가 변경되면 대상 객체의 요소 객체들로 맵핑되는 객체를 의미한다.A diagram template can be applied to one or more target objects. Diagram templates may include fixed objects and variable objects. A fixed object means an object that is maintained regardless of the target object to which it is applied. A mutable object refers to an object that is mapped to element objects of a target object when the target object to which it is applied is changed.
시설 관제 서버(100)는 관제 맵에 기초하여 분석 노드를 분석한 분석 결과값을 획득하고 저장할 수 있다. 몇몇 실시 예에 따르면, 시설 관제 서버(100)는 분석 노드를 분석한 분석 결과 값에 기초하여 분석 노드를 점수화할 수 있다. 시설 관제 서버(100)는 분석 결과값이 디스플레이 장치(도시되지 않음)를 통해 디스플레이될 수 있도록 상기 분석 결과값을 렌더링하고, 렌더링된 디스플레이 데이터를 디스플레이 장치로 송신할 수 있다. 도 1에 도시된 시설 관제 서버(100)는 소프트웨어(software) 또는, FPGA(field-programmable gate array)나 ASIC(application-specific integrated circuit)과 같은 하드웨어(hardware)를 포함할 수 있다. 그러나 시설 관제 서버(100)의 구성이 소프트웨어 또는 하드웨어에 한정된다는 의미는 아니며, 어드레싱(addressing)할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 구성요소들 안에서 제공되는 기능은 더 세분화된 구성요소에 의하여 구현될 수 있으며, 복수의 구성요소들을 합하여 특정한 기능을 수행하는 하나의 구성요소로 구현할 수도 있다.The
도 2는 몇몇 실시 예에 따른 관제 맵을 수동으로 생성하는 프로세스를 도시한 순서도이다. 도 2에 도시된 프로세스는 시설 관제 서버(100)에 의해 수행될 수 있다.2 is a flow chart illustrating a process of manually generating a control map according to some embodiments. The process shown in FIG. 2 may be performed by the
도 2에 도시된 프로세스에 따라 생성되는 관제 맵은 사용자의 조작에 의해 구성될 수 있다. 즉, 주가 되는 템플릿 객체 및 템플릿 객체와 관련된 관련 객체가 모두 사용자에 의해 지정된다. 따라서, 사용자가 선택한 객체들만으로 구성된 관제 맵을 구성할 수 있다. 또한, 템플릿 객체 및 관련 객체 사이의 논리적 관계가 에지(edge)의 형태로 표현될 수 있다. 따라서, 관제 맵을 이용하여 객체들 사이의 논리적 관계를 시각적으로 쉽게 인지할 수 있다.The control map generated according to the process shown in FIG. 2 may be configured by a user's manipulation. That is, both the main template object and related objects related to the template object are designated by the user. Accordingly, a control map composed of only the objects selected by the user may be configured. Also, a logical relationship between a template object and related objects may be expressed in the form of an edge. Therefore, logical relationships between objects can be visually easily recognized using the control map.
사용자는 관제 맵 편집 화면에서, 편집 UI를 통해 노드 생성 및 에지 생성의 입력을 할 수 있다(S100). 노드 생성 입력의 경우(S102), 주변 노드의 생성인지 여부를 더 입력 할 수 있다(S104). 일 실시예에서, 상기 편집 UI는 주변 노드 생성 버튼 및 주변 노드 생성 버튼을 포함할 수 있다. 상기 주변 노드 생성 버튼을 선택한 후, 편집 패널의 특정 영역을 지정하면, 지정 된 영역에 주변 노드가 생성될 수 있다. 마찬가지로, 상기 주변 노드 생성 버튼을 선택한 후, 편집 패널의 특정 영역을 지정하면, 지정 된 영역에 주변 노드가 생성될 수 있다.The user may input node creation and edge creation through the editing UI on the control map editing screen (S100). In the case of a node generation input (S102), whether or not a neighboring node is generated can be further input (S104). In one embodiment, the editing UI may include a button to create a neighboring node and a button to create a neighboring node. If a specific area of the edit panel is designated after selecting the Create Neighbor Node button, a neighboring node can be created in the designated area. Similarly, if a specific region of the edit panel is designated after selecting the Create Neighbor Node button, a peripheral node can be created in the designated region.
중심 노드가 생성 되면(S106), 생성 된 중심 노드에 매칭 될 템플릿 객체를 지정하는 사용자 입력을 제공 받는다(S108). 상기 사용자 입력은 상기 템플릿 객체의 ID를 포함할 수 있다. 상기 템플릿 객체의 ID는 상기 편집 UI를 통해 제시 되는 복수의 객체의 ID들 중 선택 되거나, 사용자에 의하여 직접 입력 될 수 있다. 상기 템플릿 객체의 ID는 상기 주변 노드에 일대일로 매칭 될 것이다(S116). When the center node is created (S106), a user input designating a template object to be matched with the created center node is provided (S108). The user input may include the ID of the template object. The ID of the template object may be selected from among a plurality of object IDs presented through the editing UI or may be directly input by the user. The ID of the template object will be matched one-to-one with the neighboring nodes (S116).
상기 템플릿 객체는, 사용자에 의하여 지정 되는 것이다. 즉, 사용자가 특정 객체를 중심으로 하여 사용자가 보고자 하는 VIEW를 구성하고자 하는 경우, 상기 특정 객체에 매칭 되는 상기 주변 노드를 생성하는 것이다. 시설 관제 시스템에 의하여 관리 되는 모든 타입의 객체가 상기 템플릿 객체가 될 수 있다.The template object is designated by the user. That is, when a user wants to configure a VIEW that the user wants to see centered on a specific object, the peripheral node matching the specific object is created. All types of objects managed by the facility control system can be the template object.
상기 템플릿 객체는, 예를 들어, 제어 로직을 가리키는 객체 또는 그래픽 페이지를 가리키는 객체일 수 있다. 상기 템플릿 객체는 상기 예시된 객체 이외에도 다이어그램 템플릿을 가지는 다양한 종류의 객체 중 어느 하나로 선택될 수 있다.The template object may be, for example, an object pointing to control logic or an object pointing to a graphics page. The template object may be selected as one of various types of objects having diagram templates in addition to the objects exemplified above.
사용자의 노드 생성 입력이 주변 노드의 생성을 가리키는 것인 경우(S104), 주변 노드를 생성하고(S112), 생성 된 주변 노드에 매칭 될 관련 객체를 지정하는 사용자 입력을 제공 받는다(S114). 이 때, 상기 사용자 입력은 상기 관련 객체의 ID를 포함할 수 있다. 상기 관련 객체의 ID는 상기 편집 UI를 통해 제시 되는 상기 템플릿 객체와 관련 된 복수의 객체의 ID들 중 선택 되거나, 사용자에 의하여 직접 입력 될 수 있다. 일 실시예에서, 상기 관련 객체의 ID가 상기 주변 노드와 관련이 없는 것인 경우, 에러 메시지가 출력 될 수 있다. 상기 관련 객체의 ID는 상기 주변 노드에 일대일로 매칭 될 것이다(S110).If the user's node creation input indicates the creation of a peripheral node (S104), the peripheral node is created (S112), and a user input designating a related object to be matched to the created peripheral node is provided (S114). In this case, the user input may include the ID of the related object. The ID of the related object may be selected from among IDs of a plurality of objects related to the template object presented through the editing UI or may be directly input by the user. In one embodiment, when the ID of the related object is not related to the neighboring node, an error message may be output. The ID of the related object will be matched one-to-one with the neighboring node (S110).
일 실시예에서, 상기 관제 맵은 하나의 주변 노드와 복수의 주변 노드로 구성 될 수 있다. 다른 실시예에서는 복수의 주변 노드와 복수의 주변 노드로 구성 될 수도 있다.In one embodiment, the control map may consist of one neighboring node and a plurality of neighboring nodes. In another embodiment, it may be composed of a plurality of peripheral nodes and a plurality of peripheral nodes.
사용자가 제1 노드 및 제2 노드를 지정한 에지 생성 입력을 한 경우(S118), 상기 제1 노드와 상기 제2 노드를 연결하는 에지를 생성한다(S120).When the user inputs an edge generation designating the first node and the second node (S118), an edge connecting the first node and the second node is generated (S120).
도 3은 몇몇 실시 예에 따라 관제 맵을 자동으로 생성하는 프로세스를 도시한 순서도이다. 도 3에 도시된 프로세스는 시설 관제 서버(100)에 의해 수행될 수 있다.3 is a flow chart illustrating a process for automatically generating a control map in accordance with some embodiments. The process shown in FIG. 3 may be performed by the
도 3에 도시된 프로세스에 따르면, 사용자가 템플릿 객체를 지정하면 템플릿 객체와 관련된 대상 객체가 자동으로 관제 맵에 포함될 수 있다. 도 2에 도시된 방법은 관제 맵에 포함 될 모든 객체를 사용자가 직접 지정할 수 있는 점에서, 사용자의 자유도가 높은 장점이 있다. 반면, 도 3에 도시된 방법은 많은 수의 대상 객체를 관제 맵에 포함시켜야 하는 경우, 사용자의 단순 조작을 줄여주는 장점이 있다. 예를 들어, 동일한 제어 로직이 적용 되어야 하는 100 개의 동일 타입 설비가 존재하는 경우, 도 3에 도시된 방법은 생산성을 향상시킬 수 있을 것이다.According to the process shown in FIG. 3 , when a user designates a template object, a target object related to the template object may be automatically included in the control map. The method shown in FIG. 2 has an advantage in that the user has a high degree of freedom in that the user can directly designate all objects to be included in the control map. On the other hand, the method shown in FIG. 3 has the advantage of reducing the user's simple manipulation when a large number of target objects need to be included in the control map. For example, when there are 100 equipment of the same type to which the same control logic must be applied, the method shown in FIG. 3 can improve productivity.
분석 노드를 생성하는 사용자 입력이 있으면(S101), 분석 노드가 생성된다(S106). 이어서 상기 분석 노드에 매칭 될 템플릿 객체를 지정하는 사용자 입력이 있으면(S108), 상기 분석 노드에 상기 지정 된 템플릿 객체의 ID를 일대일 매칭한다(S110). 상기 템플릿 객체의 ID는 상기 편집 UI를 통해 제시 되는 복수의 객체의 ID들 중 선택 되거나, 사용자에 의하여 직접 입력 될 수 있다.If there is a user input for generating an analysis node (S101), an analysis node is generated (S106). Subsequently, if there is a user input specifying a template object to be matched with the analysis node (S108), the ID of the specified template object is matched one-to-one with the analysis node (S110). The ID of the template object may be selected from among a plurality of object IDs presented through the editing UI or may be directly input by the user.
분석 노드가 생성 된 이후, 아래의 작업들은 사용자의 입력이 없이 자동으로 수행 된다. 먼저, 상기 템플릿 객체와 관련된 대상 객체를 조회한다(S122). 다음으로, 조회된 대상 객체와 일대일로 매칭 되는 대상 노드를 자동으로 생성한다(S124). 편집 패널 상에 상기 주변 노드가 생성 되는 위치는, 상기 분석 노드를 중심으로 하여 골고루 분포 될 수 있도록 기 지정 된 규칙에 의하여 자동으로 결정 된다.After the analysis node is created, the following tasks are automatically performed without user input. First, a target object related to the template object is searched (S122). Next, a target node matched one-to-one with the searched target object is automatically generated (S124). Positions where the peripheral nodes are created on the editing panel are automatically determined according to a predetermined rule so as to be evenly distributed around the analysis node.
다음으로, 상기 분석 노드와 상기 각 대상 노드를 연결하는 각각의 에지를 사용자 입력 없이 자동으로 생성한다(S126). 상기 관련 객체의 타입에 따라, 조회 되어야 할 관련 객체가 달라질 수 있다. 이하, 몇 개의 예시를 제시한다.Next, each edge connecting the analysis node and each target node is automatically generated without user input (S126). Depending on the type of the related object, the related object to be searched may vary. A few examples are presented below.
상기 템플릿 객체가 특정 설비에 대한 그래픽 페이지를 가리키는 객체인 경우, 상기 대상 객체는 설비를 가리키는 객체일 수 있고, 상기 요소 객체는 상기 설비의 관제점일 수 있다. 상기 템플릿 객체가 특정 설비에 대한 제어 로직을 가리키는 객체인 경우, 상기 대상 객체는 설비를 가리키는 객체일 수 있고, 상기 요소 객체는 상기 설비의 관제점일 수 있다.When the template object is an object pointing to a graphic page for a specific facility, the target object may be an object pointing to a facility, and the element object may be a control point of the facility. When the template object is an object pointing to a control logic for a specific facility, the target object may be an object pointing to a facility, and the element object may be a control point of the facility.
도 2 및 도 3에 대하여 각 주변 노드 및 에지가 동일한 중요도를 가지는 경우를 가정하여 설명하였으나, 주변 노드들 또는 에지들 간에 중요도가 서로 다를 수 있다. 따라서, 몇몇 실시 예에 따르면, 시설 관제 서버(100)는 주변 노드들 및 에지에 가중치를 설정할 수 있도록 지원할 수 있다. 도 4는 몇몇 실시 예에 따라 노드 및 에지에 가중치를 설정하는 프로세스를 도시한 순서도이다. 도 4에 도시된 바와 같이 특정 주변 노드 또는 특정 에지의 가중치 값이 사용자 단말에 의하여 입력 되면(S127-1), 상기 입력 된 가중치 값을 특정 주변 노드 또는 특정 에지 자체의 속성 값으로 설정할 수 있다(S127-2). 도 4에 도시된 프로세스는 시설 관제 서버(100)에 의해 수행될 수 있다. 이 때, 상기 주변 노드의 가중치는 상기 주변 노드에 매칭 된 관련 객체의 속성 값이 아닌, 상기 주변 노드의 속성 값인 점을 유의한다. 상기 가중치는, 그 값이 클수록 상기 주변 노드 또는 에지가 중요한 것임을 지시할 수 있다.2 and 3 have been described assuming that each neighboring node and edge has the same importance, however, the importance may be different between neighboring nodes or edges. Accordingly, according to some embodiments, the
도 5는 몇몇 실시 예에 따라 관제 맵을 렌더링하고 디스플레이하는 프로세스를 도시한 순서도이다. 도 5에 도시된 프로세스는 시설 관제 서버(100)에 의해 수행될 수 있다. 먼저, 관제 맵에 속한 모든 노드 및 에지가 렌더링(rendering)(S128) 되어, 버텍스(vertex) 및 에지로 구성 된 그래프(graph) 데이터 구조인 상기 관제 맵이 그래픽 구조로 변환될 수 있다. 이후, 상기 그래픽 구조를 표현하는 비디오 데이터가 출력될 수 있다(S136). 또한, 상기 비디오 데이터를 입력 받은 사용자의 디스플레이 장치를 통해 상기 관제 맵이 디스플레이 될 수 있다(S138).5 is a flow chart illustrating a process for rendering and displaying a control map, in accordance with some embodiments. The process shown in FIG. 5 may be performed by the
도 6은 몇몇 실시 예에 따라 디스플레이되는 관제 맵의 일 예를 도시한 도면이다. 도 6에 도시된 프로세스는 시설 관제 서버(100)에 의해 수행될 수 있다.6 is a diagram illustrating an example of a control map displayed according to some embodiments. The process shown in FIG. 6 may be performed by the
중심에는 분석 노드(50)가 표시 될 수 있다. 대상 노드(51)는 분석 노드(50)와 하나의 에지로 연결 된다. 이하, 본 명세서에서는 제1 노드와 제2 노드가 N개의 에지로 연결 될 때, 제1 노드와 제2 노드의 관계 레벨이 N이라고 표현한다. 따라서, 대상 노드(51)는 분석 노드(50)와 관계 레벨이 1이다. 마찬가지 이유로, 요소 노드(52)는 분석 노드(50)와 관계 레벨이 2이다. 분석 노드(50)와 대상 노드(51) 사이의 에지의 가중치(53)가 2인 점이 표시 되어 있다. 또한, 각 주변 노드 내부에 표시된 숫자(54)는 각 주변 노드의 비정상 상황 발생 빈도를 나타낸다. 그리고, 각 주변 노드 옆에 표시된 숫자(55)는 주변 노드 자체의 가중치를 나타낸다. 주변 노드의 가중치는 별도 설정 되지 않으면 표시 되지 않는다.An
도 7 및 도 8은 몇몇 실시 예에 따라 생성된 관제 맵의 일 예를 도시한 도면이다. 도 7을 참조하면, 예를 들어 제어 로직을 가리키는 분석 노드(56)를 중심으로, 총 4개의 대상 노드(57a, 57b, 57c, 57d) 및 총 12개의 요소 노드(58a 내지 58c, 59a 내지 59c, 60a 내지 60c, 61a 내지 61c)를 포함하는 관제 맵이 생성될 수 있다. 도 8에 도시된 관제 맵은 동일한 제어 로직에 의하여 제어 받는 4대의 공조기가 존재하고, 각 공조기에는 각각 3개의 관제점이 존재하는 것을 가리킨다.7 and 8 are diagrams illustrating an example of a control map generated according to some embodiments. Referring to FIG. 7 , for example, a total of four
본 실시예에 따르면, 상기 관제 맵을 기반으로 제어 로직이 자동 생성 될 수 있다. 분석 노드(56)에 매칭 된 객체의 다이어그램 템플릿을 각각의 대상 노드(57a, 57b, 57c, 57d)에 대하여 적용함으로써 각 대상 노드(57a, 57b, 57c, 57d)의 다이어그램을 생성 한다. 추후 설명하겠지만, 본 실시예에 따르면 각각의 대상 노드(57a, 57b, 57c, 57d)에 대한 제어 로직이 일괄 생성될 수 있다.According to this embodiment, control logic may be automatically generated based on the control map. A diagram of each
또한, 도 8은 다른 관제 맵의 예시이다. 서로 다른 타입의 제어 로직이 각 공조기에 적용 될 수 있는 가능성을 반영하기 위하여, 본 실시예에 따른 상기 관제 맵은 도 8에 도시된 형태로 생성될 수도 있다. 즉, 상기 관제 맵은 2개 이상의 분석 노드를 포함할 수도 있다.8 is an example of another control map. In order to reflect the possibility that different types of control logic can be applied to each air conditioner, the control map according to the present embodiment may be generated in the form shown in FIG. 8 . That is, the control map may include two or more analysis nodes.
도 9는 몇몇 실시 예에 따라 관제 맵에 기반하여 분석 노드를 분석하는 프로세스를 도시한 순서도이다.9 is a flowchart illustrating a process of analyzing an analysis node based on a control map, according to some embodiments.
먼저, 단계 S910에서, 시설 관제 시스템은 노드들 및 에지를 포함하는 관제 맵을 생성할 수 있다. 실시 예에 따라서, 시설 관제 시스템은 상술된 방법을 통해서 관제 맵을 생성할 수도 있으나, 다른 방법을 통해서 관제 맵을 생성할 수도 있다. 실시예에 따라서, 시설 관제 시스템은 S910에서 미리 생성된 관제 맵을 로딩하는 등의 방법을 통해서 관제 맵을 획득할 수도 있다.First, in step S910, the facility control system may generate a control map including nodes and edges. Depending on the embodiment, the facility control system may generate the control map through the above-described method, but may also generate the control map through other methods. Depending on the embodiment, the facility control system may obtain a control map through a method such as loading a control map created in advance in S910.
이후, 단계 S920에서, 시설 관제 시스템은 관제 맵에 포함된 노드들에 태그(tag)를 설정할 수 있다. 여기서, 태그는 하나 이상의 속성(property)을 포함할 수 있다. 본 명세서에서, 태그에 포함된 속성은 수집의 대상이 되는 노드 정보를 수집하는 프로세스를 정의한 하나의 단위를 지시할 수 있다. 예를 들어, 속성은 대용량 데이터가 수집되는 사물인터넷 플랫폼에서 사용자가 대용량 데이터를 분석하여 얻고자 하는 주제일 수 있다.Then, in step S920, the facility control system may set tags to nodes included in the control map. Here, a tag may include one or more properties. In this specification, an attribute included in a tag may indicate one unit defining a process of collecting node information to be collected. For example, an attribute may be a subject that a user wants to obtain by analyzing a large amount of data in an IoT platform where a large amount of data is collected.
몇몇 실시 예에 따르면, 노드 정보를 수집하는 프로세스를 정의하기 위해, 속성은 노드 정보를 수집할 대상인 수집 대상에 대한 정보와 노드 정보를 수집하는 조건인 수집 조건을 포함할 수 있다. 즉, 속성이 실행되면, 수집 조건을 만족하는 노드 정보가 수집 대상으로부터 수집될 수 있다.According to some embodiments, in order to define a process of collecting node information, attributes may include information on a collection target, which is a target for collecting node information, and a collection condition, which is a condition for collecting node information. That is, when the attribute is executed, node information that satisfies the collection condition may be collected from the collection target.
이후, 단계 S930에서, 시설 관제 시스템은 설정된 태그에 대한 분석 범위를 설정할 수 있다. 몇몇 실시 예에 따르면, 시설 관제 시스템은 분석 범위를 설정하기 위해 태그가 설정된 노드의 분석 노드에 대한 관계 레벨, 태그 가중치 및 관계 가중치 중 적어도 하나에 기초하여 분석 범위를 설정할 수 있다. 여기서, 태그 가중치 및 관계 가중치는 노드의 가중치 및 에지의 가중치에 상응할 수 있다.Thereafter, in step S930, the facility control system may set an analysis range for the set tag. According to some embodiments, the facility control system may set the analysis range based on at least one of a relationship level, a tag weight, and a relationship weight with respect to an analysis node of a node where a tag is set to set the analysis range. Here, the tag weight and the relation weight may correspond to the weight of the node and the weight of the edge.
분석 범위는 노드에 설정된 태그들 중 노드 정보를 수집할 태그의 범위를 의미한다. 분석 범위는 하나 이상의 리프 노드(Leaf node)를 포함할 수 있다. 리프 노드는 분석 범위 내에서 자식 노드를 가지지 않는 노드를 의미한다. 시설 관제 시스템은 분석 범위에 포함될 노드를 결정하여, 분석 범위에 포함되는 하나 이상의 리프 노드를 결정할 수 있다. 본 명세서에서, 리프 노드에 대해 설정된 태그를 리프 노드라고 언급할 수도 있다.The analysis range means the range of tags to collect node information among tags set in nodes. The analysis range may include one or more leaf nodes. A leaf node means a node having no child nodes within an analysis range. The facility control system may determine one or more leaf nodes included in the analysis range by determining nodes to be included in the analysis range. In this specification, a tag set for a leaf node may be referred to as a leaf node.
이후, 단계 S940에서, 시설 관제 시스템은 태그의 속성에 따라 리프 노드에 대한 노드 정보를 수집할 수 있다. 즉, 시설 관제 시스템은 리프 노드에 대해 태그의 속성을 실행하여 속성에 정의된 수집 대상으로부터 노드 정보를 수집할 수 있다.Thereafter, in step S940, the facility control system may collect node information about leaf nodes according to tag attributes. That is, the facility control system can collect node information from the collection target defined in the attribute by executing the attribute of the tag for the leaf node.
이후, 단계 S950에서 시설 관제 시스템은 수집된 노드 정보를 분석할 수 있다. 시설 관제 시스템은 노드 정보를 분석한 결과로 분석 결과 값을 획득할 수 있다. 분석 결과 값은 속성에 의해 정의된 노드 정보를 수집하여 사용자에게 제공하고자 하는 정보를 의미한다. 예를 들어, 속성이 특정 관제점에 대한 트렌드 분석인 경우, 분석 결과 값은 관제점의 현재 값, 최대값, 최소값, 중간값, 1사분위값, 3사분위값 등을 포함할 수 있다.Then, in step S950, the facility control system may analyze the collected node information. The facility control system may obtain an analysis result value as a result of analyzing the node information. The analysis result value means information to be provided to the user by collecting node information defined by attributes. For example, when the attribute is trend analysis for a specific control point, the analysis result value may include a current value, a maximum value, a minimum value, a median value, a first quartile value, a third quartile value, and the like of the control point.
도 10은 몇몇 실시 예에 따라 노드들에 대해 설정된 태그의 계층 구조(hierarchy)의 일 예를 도시한 도면이다.10 is a diagram illustrating an example of a hierarchy of tags set for nodes according to some embodiments.
도 10을 참조하면, 분석 노드(1000)에 설정된 태그는 하나 이상의 속성(1001)을 포함할 수 있다. 리프 노드(1010)에 설정된 태그도 하나 이상의 속성(1011)을 포함할 수 있다.Referring to FIG. 10 , a tag set in an
태그의 계층 구조는 분석 노드(1000)에 대해 설정된 태그, 주변 노드(1010)에 대해 설정된 태그 및 노드들(또는 태그들) 사이를 연결하는 에지(1020)를 포함할 수 있다. 주변 노드(1010)에 대해 설정된 태그는 도 10에서 원 내부에 표시된 태그 가중치(1012)를 포함할 수 있다. 또한, 에지(1020)에 대해 설정된 태그는 도 10에서 에지(1020) 주변에 표시된 관계 가중치(1022)를 포함할 수 있다. 리프 노드를 가지는 분석 노드(1000)의 태그는 태그 그룹(tag group)이라고 언급될 수도 있다.The hierarchical structure of tags may include a tag set for the
도 11은 몇몇 실시 예에 따라 분석 범위를 설정하는 프로세스를 도시한 순서도이다.11 is a flow chart illustrating a process for setting analysis ranges, in accordance with some embodiments.
몇몇 실시예에 따른 시설 관제 시스템은 단계 S1110에서 분석 조건을 설정하고, 단계 S1120에서 분석 조건에 따라 관제 맵 내에서 분석 범위를 결정할 수 있다. 여기서, 분석 조건은 분석 범위에 포함되기 위한 노드에 대한 조건을 의미할 수 있다. 예를 들어, 분석 조건은 주변 노드가 분석 노드(1000)에 대해 관계 레벨이 제1 임계값 이하이고, 그 주변 노드의 태그 가중치가 제2 임계값 이상인 것으로 정의될 수 있다. 다른 예를 들면, 분석 조건은 주변 노드가 분석 노드(1000)에 대해 관계 레벨이 제1 임계값 이하이고, 그 주변 노드와 분석 노드(1000) 사이의 관계 가중치가 제3 임계값 이상인 것으로 정의될 수도 있다.The facility control system according to some embodiments may set analysis conditions in step S1110 and determine an analysis range within the control map according to the analysis conditions in step S1120. Here, the analysis condition may refer to a condition for a node to be included in the analysis range. For example, the analysis condition may be defined as a relationship level of a neighboring node with respect to the
도 12는 몇몇 실시 예에 따라 관계 레벨을 기준으로 분석 범위를 설정하는 일 예시를 도시한 도면이다. 분석 조건이 관계 레벨이 1 이하일 것을 요구하는 경우, 분석 노드(1000)로부터 관계 레벨이 1 이하인 노드들(1210)을 포함하도록 분석 범위가 결정될 수 있다. 또는, 분석 조건이 관계 레벨이 2 이하일 것을 요구하는 경우, 분석 노드(1000)로부터 관계 레벨이 2 이하인 노드들(1220)을 포함하도록 분석 범위가 결정될 수 있다.12 is a diagram illustrating an example of setting an analysis range based on a relationship level, according to some embodiments. When the analysis condition requires that the relationship level be 1 or less, an analysis range may be determined from the
도 13은 몇몇 실시 예에 따라 관계 레벨 및 태그 가중치에 기초하여 분석 범위를 설정하는 다른 예시를 도시한 도면이다. 분석 조건이 관계 레벨이 2 이하이고, 태그 가중치가 3 이상일 것을 요구하는 경우, 도 13에 도시된 바와 같이 분석 범위(1310)가 결정될 수 있다. 분석 범위에 포함될 노드가 결정됨에 따라, 분석 범위 내에서 자식 노드를 가지지 않는 하나 이상의 리프 노드들(1310-1, 1310-2, 1310-3)이 결정될 수 있다. 본 명세서에서, 리프 노드의 태그를 리프 태그로 언급할 수 있다.13 is a diagram illustrating another example of setting an analysis range based on a relationship level and a tag weight according to some embodiments. When the analysis condition requires that the relationship level is 2 or less and the tag weight is 3 or more, the
도 14 내지 도 17은 분석 노드의 태그가 냉동기 태그(1400)인 경우를 예시로 들어 태그의 예시를 설명하기 위한 도면이다.14 to 17 are diagrams for explaining an example of a tag by taking the case where the tag of the analysis node is the
도 14를 참조하면, 냉동기 태그(1400)는 분석 범위 내에서 외기온도 태그(1410), 냉수 공급온도 태그, 급기팬 태그 및 환기온도 태그를 리프 태그로 가지는 태그 그룹이다.Referring to FIG. 14 , a
여기서, 리프 태그인 외기온도 태그(1410)는 발생빈도, 최근발생알람, 알람상태, 최근운영이력, 조작빈도, 강제명령여부, 트렌드록, 아웃라이너(Outliner) 여부 및 트렌드 로그 여부 등의 속성(1411)을 가질 수 있다. 다만, 도 14 내지 도 17은 예시일 뿐이며, 이에 한정되지 아니한다.Here, the
또한, 속성(1411) 중의 일부는 속성 상세항목(details)(1412)을 더 가질 수 있다.Also, some of the
도 15는 도 14의 속성(1411) 중 발생 빈도 속성(1411-1)이 가질 수 있는 속성 상세항목(1412-1)을 도시한 도면이다. 도 14를 참조하면, 발생 빈도 속성(1411-1)은 시간 별 발생횟수, 날짜별 발생횟수, 주간 발생횟수 및 월별 발생횟수를 포함할 수 있다.FIG. 15 is a diagram illustrating attribute details 1412-1 that an occurrence frequency attribute 1411-1 among
도 16은 분석 노드의 태그인 냉동기 태그(1400)의 속성(1401)을 도시한 도면이다. 태그 그룹인 냉동기 태그(1400)는 발생빈도, 최근발생알람, 알람상태, 최근운영이력, 조작빈도, 강제명령여부, 트렌드로그, 아웃라이너 여부, 트렌드로그 여부, 다운 시간(Down time), 가동시간 및 중복제어 등의 속성을 포함할 수 있다. 또한, 속성(1401)은 속성 상세항목(1402)을 더 포함할 수 잇다.16 is a diagram illustrating attributes 1401 of a
도 17은 태그 그룹인 냉동기 태그(1400)의 속성(1401)이 가지는 속성 상세항목(1402)을 설명하기 위한도면이다. 특히, 도 17은 도 16의 속성(1401) 중 발생빈도 속성(1401-1)이 가질 수 있는 속성 상세항목(1402-1)을 도시한 도면이다. 도 17을 참조하면, 태그 그룹의 발생빈도 속성(1401-1)은 관제점 목록 및 관제점별 발생횟수를 시간별, 날짜별, 주간별 및 월별로 가질 수 있다.17 is a diagram for explaining
또 다른 몇몇 실시 예에 따르면, 시설 관제 시스템은 제어기에 상응하는 노드가 분석 노드로 설정되고, 해당 제어기에 의해 제어되는 관제점, 예를 들어, 환기온도, 냉수 공급온도, 급기팬 또는 외기온도 등에 상응하는 노드가 리프 노드가 되도록 설정할 수 있다.According to some other embodiments, in the facility control system, a node corresponding to a controller is set as an analysis node, and control points controlled by the corresponding controller, such as ventilation temperature, cold water supply temperature, air supply fan, or outdoor temperature, etc. Corresponding nodes can be configured to be leaf nodes.
몇몇 실시 예에 따르면, 시설 관제 시스템은 태그 그룹이 설정된 노드들을 리프 노드로 가지는 슈퍼 노드(Super Node)를 설정할 수 있다. 여기서 시설 관제 시스템은 장비, 장소, 제어기 등을 기준으로 슈퍼 노드를 설정할 수 있다. 여기서, 시설 관제 시스템은 장비를 기준으로 슈퍼 노드를 설정하기 위해 동일한 유형의 장비들의 노드들이 리프 노드가 될 수 있도록 슈퍼 노드와 에지를 설정할 수 있다. 또한, 시설 관제 시스템은 장소를 기준으로 슈퍼 노드를 설정하기 위해 동일한 장소에 위치한 설비에 대한 관제점이나 장비에 대한 노드가 리프 노드가 될 수 있도록 슈퍼 노드와 에지를 설정할 수 있다. 시설 관제 시스템은 슈퍼 노드에도 태그를 설정할 수 있으며, 슈퍼 노드에 설정된 태그는 슈퍼 태그 그룹이라고 언급될 수 있다.According to some embodiments, the facility management system may set a super node having nodes for which tag groups are set as leaf nodes. Here, the facility control system can set super nodes based on equipment, location, and controller. Here, the facility control system may set super nodes and edges so that nodes of the same type of equipment can become leaf nodes in order to set super nodes based on equipment. In addition, the facility control system may set super nodes and edges so that control points for facilities or nodes for equipment located in the same location can be leaf nodes in order to set super nodes based on locations. The facility management system may also set a tag on a super node, and a tag set on a super node may be referred to as a super tag group.
도 18은 몇몇 실시 예에 따른 관제 맵의 장비를 기준으로 설정된 슈퍼 태그 그룹(Super Tag Group)의 일 예를 도시한 도면이다. 도 18을 참조하면, 냉동기 유형의 장비에 대한 태그 그룹들(1410-1, 1410-2, 1410-3, 1410-4)이 분석 노드의 슈퍼 태그 그룹인 냉동기 그룹 태그(1800)의 리프 노드로 설정되어 있다.18 is a diagram illustrating an example of a super tag group set based on equipment of a control map according to some embodiments. Referring to FIG. 18, tag groups 1410-1, 1410-2, 1410-3, and 1410-4 for refrigerator-type equipment are assigned to leaf nodes of a
슈퍼 태그 그룹의 경우에도 태그 그룹의 경우와 마찬가지로 슈퍼 태그 그룹은 속성(1401) 및 속성(1401)에 대한 속성 상세항목(1412)을 포함할 수 있다In the case of a super tag group, as in the case of a tag group, a super tag group may include an
몇몇 실시 예에 따르면, 시설 관제 시스템은 동일한 장소에 위치한 장비들에 대한 태그 그룹을 리프 노드로 가지는 슈퍼 태그 그룹을 설정할 수 있다. 도 19는 몇몇 실시 예에 따른 관제 맵의 장소를 기준으로 설정된 슈퍼 태그 그룹의 일 예를 도시한 도면이다. 도 19를 참조하면, 관제 대상 시설(10)의 지하 1층에 대한 슈퍼 태그 그룹(1900)이 설정되어 있다. 지하 1층에 대한 슈퍼 태그 그룹(1900)은 지하 1층에 위치한 장비들에 대한 태그인 냉동기 태그(1410-1, 1410-2), 조명 태그(1420) 미 보일러 태그(1430) 등을 리프 태그로 가질 수 있다.According to some embodiments, the facility control system may set a super tag group having a tag group for devices located in the same place as a leaf node. 19 is a diagram illustrating an example of a super tag group set based on a location of a control map according to some embodiments. Referring to FIG. 19 , a
도 20은 도 11의 단계 S1110에서 분석 조건을 설정하기 위해 일부 실시 예에 따라 속성에 기초하여 분석 조건을 결정하는 프로세스를 도시한 도면이다.FIG. 20 is a diagram illustrating a process of determining analysis conditions based on attributes according to some embodiments to set analysis conditions in step S1110 of FIG. 11 .
먼저, 단계 S2010에서 시설 관제 시스템은 분석 노드의 태그에 포함된 속성으로부터 키워드를 추출할 수 있다. 몇몇 실시 예에 따르면, 시설 관제 시스템은 분석 노드의 태그 그룹에 포함된 속성에 대한 구문 분석을 통해서 키워드를 추출할 수 있다. 예를 들어 속성의 내용이 '장비 그룹을 대상으로 최근 발생한 N개의 알람 상태인 관제점 조회'인 경우, 시설 관제 시스템은 속성으로부터 '알람'을 키워드로 추출할 수 있다. 실시 에에 따라서, 시설 관제 시스템은 복수의 키워드를 추출할 수도 있다.First, in step S2010, the facility control system may extract keywords from attributes included in tags of analysis nodes. According to some embodiments, the facility management system may extract keywords through syntax analysis of attributes included in a tag group of an analysis node. For example, if the content of the property is 'retrieving control points that are the latest N alarm states for the equipment group', the facility control system can extract 'alarm' as a keyword from the property. Depending on the implementation, the facility control system may extract a plurality of keywords.
이후, 단계 S2020에서 시설 관제 시스템은 추출된 키워드를 이용하여 분석 조건 설정 테이블을 조회할 수 있다. 분석 조건 설정 테이블은 키워드와 분석 조건을 매핑하여 저장된 데이터를 의미한다. 시설 관제 시스템은 분석 조건 설정 테이블을 조회하여 분석 조건을 획득할 수 있다.Then, in step S2020, the facility control system may search the analysis condition setting table using the extracted keyword. The analysis condition setting table refers to data stored by mapping keywords and analysis conditions. The facility control system may obtain analysis conditions by inquiring the analysis condition setting table.
도 21을 참조하면, 도 21은 몇몇 실시 예에 따른 분석 조건 설정 테이블의 예시를 도시한 도면이다. 단계 S2010에서 '알람'이 키워드로 추출된 경우, 시설 관제 시스템은 단계 S2020에서 '관계 레벨이 3이하이고, 태그 가중치가 2 이상인 주변 노드'를 분석 범위에 포함시키는 분석 조건을 획득할 수 있다.Referring to FIG. 21 , FIG. 21 is a diagram illustrating an example of an analysis condition setting table according to some embodiments. When 'alarm' is extracted as a keyword in step S2010, the facility control system may acquire an analysis condition including 'neighbor nodes having a relationship level of 3 or less and a tag weight of 2 or more' in the analysis range in step S2020.
도 21에서는 설명의 편의를 위하여 하나의 키워드에 하나의 분석 조건이 매핑된 분석 조건 설정 테이블의 예시를 들고 있으나, 실시 예에 따라서 복수의 키워드의 조합과 분석 조건을 매핑하여 시설 관제 시스템이 복수의 키워드를 이용하여 분석 조건을 결정할 수도 있다.21 shows an example of an analysis condition setting table in which one analysis condition is mapped to one keyword for convenience of explanation. Analysis conditions may be determined using keywords.
몇몇 실시 예에 따르면, 시설 관제 시스템은 사물인터넷 플랫폼 상에서 구현될 수 있다. 사물인터넷 플랫폼 상에서 구현된 시설 관제 시스템은 수많은 센서 등에 의해 획득된 관제점에 대한 노드 정보들을 수집할 수 있다. 여기서, 시설 관제 시스템이 하나의 프로세스를 통해서 노드 정보를 수집하는 경우 대용량의 정보를 처리해야 하므로 해당 프로세스가 지나치게 무거워지는 문제점이 있다.According to some embodiments, the facility control system may be implemented on an IoT platform. A facility control system implemented on an IoT platform can collect node information about control points acquired by numerous sensors. Here, when the facility control system collects node information through one process, there is a problem in that the corresponding process becomes too heavy because a large amount of information must be processed.
따라서, 몇몇 실시 예에 따른 시설 관제 시스템은 각 노드들 마다 에이전트를 서로 독립적인 별개의 프로세스로 실행할 수 있다. 에이전트들은 각 노드에 독립적으로 상주하며 서로 협력할 수 있다. 에이전트는 노드에서 요구되는 노드 정보를 수집하거나 또는 분석하여 분석 결과 값을 저장하는 프로세스를 의미할 수 있다. 여기서, 노드에서 요구되는 노드 정보는 노드에 설정된 태그 내지 태그 그룹의 속성에 의해 결정될 수 있다. 각 노드들에 대해 실행되는 에이전트들은 시설 관제 서버(100) 또는 관제 대상 시설(10)의 설비를 제어하는 제어기(11)에 의해 실행될 수 있다.Accordingly, the facility control system according to some embodiments may execute agents for each node as a separate process independent of each other. Agents reside independently on each node and can cooperate with each other. An agent may refer to a process of collecting or analyzing node information required by a node and storing an analysis result value. Here, node information required by a node may be determined by attributes of a tag or tag group set in the node. Agents executed for each node may be executed by the
도 22는 관제 맵의 노드에 따라 구동되는 에이전트의 예시를 설명하기 위한 개념도이다.22 is a conceptual diagram for explaining an example of an agent driven according to a node of a control map.
도 9의 단계 S910에서 획득된 관제 맵이 분석 노드(2201), 리프 노드르(2202, 2203, 2205, 2206) 및 중간 노드(2204)를 포함할 경우, 시설 관제 시스템은 각각의 노드들 (2201, 2202, 2203, 2204, 2205, 2206)에 상응하는 에이전트들(2211, 2212, 2213, 2214, 2215, 2216)을 구동시킬 수 있다. 시설 관제 시스템은 관제 맵에 포함된 노드들 중 일부에 대해 분석 범위를 설정하여 분석 대상이 되는 노드를 결정할 수 있으나, 도 23 및 도 24에서는 도 22에 도시된 모든 노드가 분석 범위에 포함된 것으로 가정하고 에이전트들(2211, 2212, 2213, 2214, 2215, 2216)을 이용한 시설 관제 시스템의 동작을 설명한다.When the control map obtained in step S910 of FIG. 9 includes the
도 23은 몇몇 실시 예에 따라 에이전트가 노드 정보를 수집하기 위한 시설 관제 시스템의 동작 구조를 설명하기 위한 도면이다. 특히, 도 23은 도 22의 분석 노드(2201)와 리프 노드(2202)의 관계와 같이 분석 노드(2201)와 리프 노드(2202)가 하나의 에지를 통해서 직접 연결된 경우의 에이전트의 구조 및 동작을 설명하기 위한 것이다.23 is a diagram for explaining an operating structure of a facility control system for an agent to collect node information according to some embodiments. In particular, FIG. 23 shows the structure and operation of an agent when the
시설 관제 서버(2300)는 속성들을 저장하는 속성 저장소(2310) 및 노드에 대한 노드 정보를 분석한 분석 결과 값을 저장하는 분석 결과 저장소(2320)를 포함할 수 있다. 속성 저장소(2310) 및 분석 결과 저장소(2320)는 반드시 시설 관제 서버(2300)에 로컬 연결된 저장소이어야 하는 것은 아니며, 클라우드 스토리지 등으로 구성될 수도 있다.The
분석 노드(2201)의 에이전트 #1(2211)은 분석 노드(2201)의 태그에 포함된 제3 속성(2301-2)을 구독하기 위해 구독 요청을 리프 노드(2202)의 에이전트 #2(2212)에 전달할 수 있다. 본 명세서에서, 속성을 구독한다고 함은 속성을 실행하여 수집되는 노드 정보를 제공받는 것을 의미할 수 있다. 에이전트 #1(2211)가 에이전트 #2(2212)에 구독 요청을 전달한 경우, 제3 속성(2301-2)에 대하여 에이전트 #1(2211)은 구독자 에이전트로서 동작하고, 에이전트 #2(2212)는 게시자 에이전트로서 동작할 수 있다.Agent #1 (2211) of the analysis node (2201) transmits a subscription request to agent #2 (2212) of the leaf node (2202) to subscribe to the third attribute (2301-2) included in the tag of the analysis node (2201). can be forwarded to In this specification, subscribing to a property may mean receiving node information collected by executing the property. When agent #1 (2211) transmits a subscription request to agent #2 (2212), agent #1 (2211) operates as a subscriber agent for the third property (2301-2), and agent #2 (2212) It can act as a publisher agent.
구독 요청을 수신한 에이전트 #2(2212)가 제3 속성(2301-3)을 보유하고 있지 않은 경우, 에이전트 #2(2212)는 시설 관제 서버(2300)의 속성 저장소(2310)에 저장된 제3 속성에 대한 정보(2301-1)를 획득할 수 있다. 에이전트 #2(2212)는 획득된 제3 속성에 대한 정보(2301-1)를 이용하여 제3 속성(2301-3)을 생성하여 리프 노드(2202)의 태그에 추가할 수 있다. 또한, 에이전트 #2(2212)는 에이전트 #1(2211)을 운영 정보 데이터베이스(2330-2)의 구독자 목록에 제3 속성(2301-3)에 대한 구독자로 추가할 수 있다.When agent #2 (2212) receiving the subscription request does not have the third attribute (2301-3), agent #2 (2212) stores the third attribute (2301-3) in the attribute storage (2310) of the facility control server (2300). Attribute information 2301-1 may be obtained.
에이전트 #2(2212)는 제3 속성(2301-3)을 실행하여 노드 정보를 획득하고, 제3 속성(2301-3)을 실행한 결과 값을 에이전트 #2(2212)의 운영 정보 데이터베이스(2330-2)에 저장할 수 있다.Agent #2 (2212) executes the third attribute (2301-3) to obtain node information, and the result of executing the third attribute (2301-3) is stored in the operation information database (2330) of agent #2 (2212). -2) can be saved.
이후, 에이전트 #1(2211)이 에이전트 #2(2212)에 제3 속성(2301-3)을 실행한 결과를 요청하면, 에이전트 #2(2212)는 에이전트 #1(2211)에게 제3 속성(2301-3)을 실행한 결과인 노드 정보를 제공할 수 있다. 여기서, 에이전트 #2(2212)는 상태를 전송할 수 있는 인터페이스를 통해 노드 정보를 제공할 수 있다. 예를 들어, 리프 노드의 에이전트는 REST API(REpresentational State Transfer Application Program Interface)를 이용하여 노드 정보를 분석 노드의 에이전트에 제공할 수 있다.Then, when agent #1 (2211) requests the result of executing the third property (2301-3) from agent #2 (2212), agent #2 (2212) asks agent #1 (2211) for the third property ( 2301-3) can provide node information that is the result of execution. Here,
노드 정보를 제공 받은 에이전트 #1(2211)는 노드 정보를 분석하여 분석 결과 값을 생성할 수 있다. 에이전트 #1(2211)는 생성된 분석 결과 값을 시설 관제 서버(2300)의 분석 결과 저장소(2320)에 저장할 수 있다. 여기서, 분석 결과 값은 사용자가 대시보드나 위젯 등으로 조회할 수 있는 데이터 구조로 저장될 수 있다. 에이전트 #1(2211)은 분석 결과 저장소(2320)에 저장하는 데이터와 별개로, 에이전트 #1(2211)의 운영정보 데이터베이스(도시되지 않음)에 제3 속성(2301-2)을 실행하여 획득된 결과에 대한 정보를 더 저장할 수 있다.
몇몇 실시예에 따르면, 에이전트 #1(2211)은 제3 속성(2301-3)에 대한 구독을 중단하고자 할 경우, 에이전트 #2(2212)에 구독 정지 통보를 전달할 수 있다. 구독 정지 통보를 수신한 에이전트 #2(2212)는 운영 정보 데이터베이스(2330-2)의 구독자 목록에서 에이전트 #1(2211)을 삭제할 수 있다. 여기서, 에이전트 #2(2212)는 구독자 목록에서 제3 속성(2301-3)에 대한 구독자가 없는 경우, 제3 속성(2301-3)을 실행하는 프로세스를 슬립(sleep) 모드로 전환할 수 있다. 슬립 모드는 프로세스가 비활성화 되어있는 상태를 의미할 수 있다. 제3 속성(2301-3)이 슬립 모드로 전환된 시점으로부터 미리 정해진 기간 이내에 제3 속성(2301-3)에 대한 새로운 구독 요청이 수신되지 않을 경우, 에이전트 #2(2212)는 제3 속성(2301-3)을 리프 노드(2202)의 태그에서 삭제할 수 있다.According to some embodiments, when
또한, 몇몇 실시예에 따르면, 에이전트 #2(2212)는 미리 설정된 시간 동안 제3 속성(2301-3)을 실행한 결과 값에 대한 요청이 수신되지 않을 경우 제3 속성(2301-3)을 실행하는 프로세스를 슬립(sleep) 모드로 전환할 수 있다. 에이전트 #2(2212)는 제3 속성(2301-3)을 슬립(sleep) 모드로 전환한 이후에도 미리 정해진 시간 이내에 제3 속성(2301-3)에 대한 요청이 수신되지 않을 경우, 에이전트 #2(2212)는 제3 속성(2301-3)을 리프 노드(2202)의 태그에서 삭제할 수 있다.Also, according to some embodiments,
에이전트 #2(2212)에 의해 제3 속성(2301-3)이 슬립 모드로 전환되어 있는 상태에서, 에이전트 #2(2212)가 에이전트 #1(2211)로부터 제3 속성(2301-3)의 실행 결과에 대한 요청을 수신하는 경우, 에이전트 #2(2212)는 제3 속성(2301-3)을 활성화할 수 있다. 에이전트 #2(2212)는 활성화된 제3 속성(2301-3)으로부터 획득된 결과 값을 포함하는 노드 정보를 에이전트 #1(2211)에 제공할 수 있다.Agent #2 (2212) executes the third attribute (2301-3) from agent #1 (2211) while the third attribute (2301-3) is switched to the sleep mode by agent #2 (2212). Upon receiving the request for the result,
에이전트 #2(2212)가 다운(Down) 상태인 경우, 에이전트 #1(2211)이 에이전트 #2(2212)에게 제3 속성(2301-3)을 실행한 결과를 요청하더라도 에이전트 #1(2211)는 에이전트 #2(2212)로부터 응답을 받지 못하게 된다. 요청에 대한 응답이 수신되지 않을 경우, 에이전트 #1(2211)는 에이전트 #2(2212)에게 하트비트(heartbeat)를 요청할 수 있다. 단순 지연으로 인해 에이전트 #2(2212)로부터 응답이 수신되지 않는 경우에는 에이전트 #1(2211)가 하트비트에 대한 응답을 수신할 수 있을 것이나, 에이전트 #2(2212)가 다운(Down) 상태인 경우 하트비트에 대한 응답도 에이전트 #1(2211)에 수신되지 않게 된다. 이 경우, 에이전트 #1(2211)은 시설 관제 서버(2300)에 리프 노드의 재시작을 요청할 수 있다. 리프 노드의 재시작을 요청 받은 시설 관제 서버(2300)는 에이전트 #2(2212)가 재시작되도록 시설 관제 시스템을 제어할 수 있다. 에이전트 #2(2212)는 재시작시 운영 정보 데이터베이스(2330-2)에 저장된 구독자 목록과 속성 실행 결과 값 등을 포함하는 에이전트 #2(2212)에 대한 운영 정보를 로드할 수 있다. 재시작된 에이전트 #2(2212)는 로드된 구독자 목록에 포함된 구독자 에이전트들에게 하트비트를 전송할 수 있다.When agent #2 (2212) is in a down state, even if agent #1 (2211) requests the result of executing the third property (2301-3) from agent #2 (2212), agent #1 (2211) does not receive a response from agent #2 (2212). When a response to the request is not received, agent #1 (2211) may request a heartbeat from agent #2 (2212). If a response is not received from agent #2 (2212) due to a simple delay, agent #1 (2211) will be able to receive a response to the heartbeat, but agent #2 (2212) is down. In this case, the response to the heartbeat is not received by agent #1 (2211). In this case,
시설 관제 서버(2300)는 분석 노드(2201)의 에이전트 #1(2211)과 같은 구독자 에이전트의 목록인 구독자 목록을 관리할 수 있다. 시설 관제 서버(2300)는 구독자 목록에 포함된 에이전트들에게 주시적으로 하트비트를 요청할 수 있다. 시설 관제 서버(2300)는 구독자 목록에 포함된 에이전트 #1(2211)로부터 하트비트가 수신되지 않을 경우, 에이전트 #1(2211)을 재시작시킬 수 있다. 에이전트 #1(2211)은 에이전트 #1(2211)의 운영정보 데이터베이스(도시되지 않음)에 저장된 데이터를 로드하여 재시작될 수 있다.The
도 24는 몇몇 실시 예에 따라 중간 노드의 에이전트의 동작을 설명하기 위한 도면이다. 특히, 도 24는 도 22의 분석 노드(2201)와 리프 노드(2205)가 중간 노드(2204)를 통해서 연결된 경우의 에이전트의 동작 구조를 설명하기 위한 것이다.24 is a diagram for explaining an operation of an agent of an intermediate node according to some embodiments. In particular, FIG. 24 is for explaining the operational structure of an agent when the
분석 노드(2201)와 리프 노드(2205)가 중간 노드(2204)를 통해서 연결된 경우, 에이전트 #1(2211)은 에이전트 #4(2214)에게 분석 노드(2201)의 태그에 포함된 속성에 대한 구독 요청을 전달할 수 있다. 에이전트 #4(2214)는 에이전트 #5(2215)에게 속성에 대한 구독 요청을 전달할 수 있다. 즉, 에이전트 #1(2211)은 에이전트 #4(2214)를 통해서 에이전트 #5(2215)로부터 속성을 간접적으로 구독할 수 있다.When the
중간 노드(2204)의 에이전트인 에이전트 #4(2214)는 에이전트 #5(2215)에 대해서는 구독자 에이전트로서 동작하고, 에이전트 #1(2211)에 대해서는 게시자 에이전트로서 동작할 수 있다.
시설 관제 서버(2300)는 구독자 에이전트인 에이전트 #1(2211)을 관리하고 에이전트 #1(2211)에 의해 속성을 실행한 결과 값을 제공 받아 분석 결과 저장소(2320)에 저장할 수 있다.The
몇몇 실시 예에 따르면, 각 노드에 대한 에이전트들을 독립적으로 실행하므로, 관제 맵의 유연성을 해치지 않고 노드 정보를 수집하고 분석할 수 있다.According to some embodiments, since agents for each node are independently executed, node information can be collected and analyzed without impairing the flexibility of the control map.
또한, 몇몇 실시 예에 따르면, 노드 별로 에이전트가 할당되어 분석을 수행하므로, 싱글톤(singleton) 형태로 데이터를 분석하는 경우에 발생하는 데이터 분석에 따른 과부하를 해소할 수 있다.In addition, according to some embodiments, since an agent is assigned to each node to perform analysis, overload due to data analysis that occurs when data is analyzed in a singleton form can be resolved.
또한, 몇몇 실시 예에 따르면, 일부 에이전트가 다운 상태가 되더라도 시스템 전체 분석 기능에 큰 영향을 미치지 않는다. 또한 일부 에이전트가 다운 상태가 되더라도 다운 상태의 에이전트만 재시작하여 쉽게 회복이 가능하다.Also, according to some embodiments, even if some agents are in a down state, the analysis function of the entire system is not significantly affected. Also, even if some agents are down, they can be easily recovered by restarting only the downed agents.
또한, 몇몇 실시 예에 따르면, 에이전트는 분석 대상을 정의하는 속성을 유연하게 생성하거나 삭제하여 분석 대상을 유연하게 변경할 수 있다. Also, according to some embodiments, the agent can flexibly change the analysis target by flexibly creating or deleting attributes defining the analysis target.
또한, 몇몇 실시 예에 따르면, 에이전트는 속성을 실행하여 노드 정보를 분석한 결과를 운영 정보 데이터베이스에 자체적으로 보유하므로 분석 결과를 빠르게 얻을 수 있다.In addition, according to some embodiments, the agent can quickly obtain the analysis result because the agent executes the attribute and holds the result of analyzing the node information in the operation information database.
또한, 몇몇 실시 예에 따르면, 관제 맵을 변경하더라도 에이전트가 태그의 속성을 생성하거나 삭제하여 데이터 수집 성능을 쉽게 유지할 수 있다.Also, according to some embodiments, even if the control map is changed, the agent can easily maintain data collection performance by creating or deleting tag attributes.
또한, 몇몇 실시 예에 따르면, 시설 관제 서버(2300)는 분석 노드의 분석 결과를 저장하고, 속성에 대한 메타 정보를 제공하고 에이전트를 관리하여 재시작시키는 기능을 수행하며 에이전트의 독립성을 보장할 수 있다. 또한, 시설 관제 서버(2300)는 에이전트를 자식 스레드(Child thread)로 생성하지 않고 독립적인 프로세스로 생성하므로, 시설 관제 서버(2300)의 장애 시에도 에이전트의 활동에 미치는 영향을 최소화할 수 있다.In addition, according to some embodiments, the
도 25는 몇몇 실시 예에 따른 시설 관제 서버(2300)의 구조를 간단히 도시한 블록도이다. 몇몇 실시 예에 따르면, 시설 관제 서버(2300)는 속성 저장소(2310), 분석 결과 저장소(2320), 제어기(2230), 및 렌더러(2240)를 포함할 수 있다.25 is a block diagram briefly illustrating the structure of a
속성 저장소(2310)는 노드 정보를 수집하기 위해 노드 정보의 수집 대상 및 수집 조건 등을 포함하는 속성에 대한 메타 정보를 저장할 수 있다. 속성 저장소(2310)에 저장되는 메타 정보는 미리 설정된 것이거나, 또는 시설 관제 시스템의 사용자가 설정 항목을 이용하여 정의한 속성에 대한 것일 수 있다. 도 26은 몇몇 실시 예에 따라 태그의 속성을 정의하기 위한 설정 항목의 예시를 도시한 도면이다. 예를 들어, 시설 관제 서버(2300)는 디스플레이 장치(도시되지 않음)를 통해서 속성의 주제(subject)의 목록을 디스플레이 할 수 있다. 사용자가 디스플레이된 주제의 목록 중에서 주제를 선택하면, 시설 관제 서버(2300)는 선택된 주제에 따른 A, B, C 항목 중 적어도 하나를 선택할 수 있는 사용자 인터페이스를 디스플레이 장치(도시되지 않음)를 통해서 더 디스플레이할 수 있다. 사용자의 입력에 의해 A, B, C 항목 중 적어도 하나에 대한 선택이 완료되면, 시설 관제 서버(2300)는 선택된 속성의 메타 정보를 속성 저장소(2310)에 저장할 수 있다. 시설 관제 서버(2300)는 저장된 속성의 메타 정보를 이용하여 관제 맵의 노드로부터 노드 정보에 대한 분석 결과 값을 획득할 수 있다.In order to collect node information, the
제어기(2230)는 관제 맵을 획득하고, 관제 맵의 노드들 각각에 상응하는 에이전트들이 구동되도록 설비 관제 시스템을 제어할 수 있다. 몇몇 실시 예에 따르면, 에이전트가 에이전트에 상응하는 노드와 관련된 관제 대상 시설에 설치된 설비의 제어기(11)에 의해 실행되는 경우, 제어기(2230)는 에이전트를 구동하도록 설비의 제어기(11)를 제어할 수 있다. 다른 몇몇 실시 예에 따르면, 제어기(2230)는 에이전트를 직접 구동시킬 수도 있다.The
분석 결과 저장소(2320)는 분석 노드에 의해 노드 정보를 분석한 분석 결과 값을 저장할 수 있다.The
렌더러(renderer)(2240)는 분석 결과 저장소(2320)에 저장된 분석 결과 값이 디스플레이 장치(도시되지 않음)를 통해서 디스플레이될 수 있도록 렌더링을 수행할 수 있다. 속성의 주제에 따라서, 속성 내지 속성의 메타 정보는 속성을 실행하여 획득되는 분석 결과 값을 디스플레이하기 위한 디스플레이 설정을 더 포함할 수 있다. 도 26에 도시된 바와 같이, 디스플레이 설정은 정보 표시 포맷(표시유형) 및 표시 항목을 포함할 수 있다. 몇몇 실시 예에 따르면, 렌더러(2240)는 디스플레이 설정에 따라서 분석 결과 값을 렌더링할 수 있다.The
도 27은 몇몇 실시 예에 따라 분석 결과 값을 렌더링한 일 예시를 도시한 도면이다. 특히, 도 27은 실시간 강제명령 상태인 장비 및 제어기를 조회하는 속성에 대한 분석 결과 값을 렌더링한 일 예시를 도시한 도면이다.27 is a diagram illustrating an example of rendering analysis result values according to some embodiments. Particularly, FIG. 27 is a diagram showing an example of rendering analysis result values for properties for inquiring equipment and controllers in a real-time compulsory command state.
도 27에 도시된 렌더링된 화면(2700)은 정보 표시 포맷이 도넛 차트이고, 표시 항목이 대상 종류, 대상, 업데이트 시간 및 강제명령 상태 건수인 경우에 대한 것이다. 화면(2700)은 정보 표시 포맷 및 표시 항목에 따라 분석 결과 값을 도넛 차트(2710)와, 표시 항목들에 대한 정보(2720)를 포함할 수 있다.The rendered
도 28은 몇몇 실시 예에 따라 분석 결과 값을 렌더링한 다른 예시를 도시한 도면이다. 특히, 도 28은 알람 상태인 관제점을 조회하는 속성에 대한 분석 결과 값을 렌더링한 일 예시를 도시한 도면이다.28 is a diagram illustrating another example of rendering analysis result values according to some embodiments. In particular, FIG. 28 is a diagram illustrating an example of rendering analysis result values for properties for inquiring control points in an alarm state.
알람 상태인 관제점을 조회하는 속성에 대한 분석 결과 값을 렌더링한 화면(2800)은, 관제점 조회 결과를 표시하는 도넛 차트(2810)와 대상 종류, 대상, 업데이트 시간 등의 표시 항목들에 대한 정보(2820)를 포함할 수 있다.The
도 29는 몇몇 실시 예에 따라 분석 결과 값을 렌더링한 또 다른 예시를 도시한 도면이다. 특히, 도 29는 장비에 대해 발생한 이상 값을 조회하는 속성을 목록 형태의 정보 표시 포맷으로 렌더링한 화면(2900)을 도시한 것이다.29 is a diagram illustrating another example of rendering analysis result values according to some embodiments. In particular, FIG. 29 shows a
도 30은 몇몇 실시 예에 따라 시설 관제 시스템을 구성하는 시설 관제 서버의 하드웨어 구성을 도시한 도면이다.30 is a diagram illustrating a hardware configuration of a facility control server constituting a facility control system according to some embodiments.
시설 관제 서버(100)는 명령어를 수행하는 프로세서(106), 관제 맵 기반의 다이어그램 생성 기능을 제공하는 컴퓨터 프로그램 데이터가 저장되는 스토리지(102), 메모리(108), 외부 장치와의 데이터 송수신을 위한 네트워크 인터페이스(104) 및 스토리지(102), 네트워크 인터페이스(104), 프로세서(106) 및 메모리(108)와 연결되어 데이터 이동 통로가 되는 시스템 버스(110)를 포함할 수 있다.The
상기 컴퓨터 프로그램은, 시설 관제 시스템에 의하여 관리 되는 객체(object) 중 다이어그램 템플릿(diagram template)을 가진 객체에 매칭(matching) 되는 중심 노드와, 시설 관제 시스템에 의하여 관리 되는 객체 중 상기 템플릿 객체와 관련된 관련 객체에 매칭 되는 주변 노드와, 상기 중심 노드와 상기 주변 노드를 연결하거나, 상기 주변 노드 간을 연결하는 에지(edge)를 포함하는 관제 맵을 생성하는 일련의 인스트럭션, 및 상기 중심 노드에 매칭 된 객체의 다이어그램 템플릿을, 상기 중심 노드와 하나의 에지를 통해 연결 된 주변 노드인 대상 노드 각각에 대하여 일괄 적용함으로써 상기 대상 노드의 다이어그램을 일괄 생성하는 일련의 인스트럭션을 포함할 수 있다.The computer program includes a central node matching an object having a diagram template among objects managed by the facility control system, and related to the template object among objects managed by the facility control system. A series of instructions for generating a control map including peripheral nodes matching related objects, and edges connecting the central node and the peripheral nodes or connecting the peripheral nodes, and matching the central node It may include a series of instructions for collectively generating a diagram of the target node by collectively applying the diagram template of the object to each target node, which is a peripheral node connected to the central node through one edge.
상기 관제 맵은, 제어 로직 다이어그램을 관제 맵 기반으로 생성하기 위한 것이거나, 그래픽 페이지 다이어그램을 관제 맵 기반으로 생성하기 위한 것일 수 있다.The control map may be used to generate a control logic diagram based on a control map or a graphic page diagram based on a control map.
일 실시예에서, 네트워크 인터페이스(104)는 상기 관제 대상 시설에 설치 된 제어기(미도시)에 연결될 수 있다. 상기 관제 맵의 중심 노드가 제어 로직을 가리키는 객체와 매칭 된 것이라면, 상기 컴퓨터 프로그램은, 상기 중심 노드와 하나의 에지로 연결 된 각 대상 노드에 대하여 생성 된 다이어그램을 상기 제어기에 의하여 실행 될 수 있는 프로그램 코드 형태로 컴파일 하고, 컴파일 된 프로그램 코드를 네트워크 인터페이스(104)를 통해 상기 제어기에 송신하는 일련의 인스트럭션을 더 포함할 수 있다.In one embodiment, the
지금까지 설명된 본 발명의 실시예에 따른 방법들은 컴퓨터가 읽을 수 있는 코드로 구현된 컴퓨터프로그램의 실행에 의하여 수행될 수 있다. 상기 컴퓨터프로그램은 인터넷 등의 네트워크를 통하여 제1 컴퓨팅 장치로부터 제2 컴퓨팅 장치에 전송되어 상기 제2 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 제2 컴퓨팅 장치에서 사용될 수 있다. 상기 제1 컴퓨팅 장치 및 상기 제2 컴퓨팅 장치는, 서버 장치, 클라우드 서비스를 위한 서버 풀에 속한 물리 서버, 데스크탑 피씨와 같은 고정식 컴퓨팅 장치를 모두 포함한다.The methods according to the embodiments of the present invention described so far can be performed by executing a computer program implemented as a computer readable code. The computer program may be transmitted from the first computing device to the second computing device through a network such as the Internet, installed in the second computing device, and thus used in the second computing device. The first computing device and the second computing device include both a server device, a physical server belonging to a server pool for a cloud service, and a fixed computing device such as a desktop PC.
상기 컴퓨터프로그램은 DVD-ROM, 플래시 메모리 장치 등의 기록매체에 저장된 것일 수도 있다.The computer program may be stored in a recording medium such as a DVD-ROM or a flash memory device.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다.Although the embodiments of the present invention have been described with reference to the accompanying drawings, those skilled in the art to which the present invention pertains can be implemented in other specific forms without changing the technical spirit or essential features of the present invention. can understand that Therefore, the embodiments described above should be understood as illustrative in all respects and not limiting.
Claims (22)
상기 노드들 각각에 속성을 포함하는 태그를 설정하되, 상기 속성은 각 노드에 대한 노드 정보의 수집 대상 및 수집 조건을 포함하는, 단계;
상기 노드들 및 상기 연결 관계에 기초하여, 상기 노드들 중 분석 노드에 연결된 리프 노드를 포함하는 분석 범위를 설정하는 단계; 및
상기 태그의 속성에 따라, 상기 리프 노드에 대한 노드 정보를 수집하여 분석한 상기 분석 노드에 대한 분석 결과 값을 획득하는 단계;를 포함하고,
상기 분석 노드에 대한 분석 결과 값을 획득하는 단계는,
상기 분석 노드에 연결되어 있는 상기 리프 노드에 설정된 태그의 속성을 실행하여 상기 수집 조건을 만족하는 노드 정보를 상기 수집 대상으로부터 수집하는 단계;
상기 수집된 노드 정보를 분석한 결과를 이용하여 상기 분석 결과 값을 획득하는 단계를 포함하는,
노드 분석 방법.Obtaining a control map including nodes corresponding to objects of a controlled facility managed by the facility control system and edges indicating a connection relationship between the nodes;
setting a tag including a property to each of the nodes, wherein the property includes a collection target and a collection condition of node information for each node;
setting an analysis range including a leaf node connected to an analysis node among the nodes, based on the nodes and the connection relationship; and
Acquiring an analysis result value for the analysis node obtained by collecting and analyzing node information on the leaf node according to the attribute of the tag;
Obtaining an analysis result value for the analysis node,
collecting node information that satisfies the collection condition from the collection object by executing attributes of a tag set in the leaf node connected to the analysis node;
Obtaining the analysis result value using a result of analyzing the collected node information,
Node analysis method.
상기 노드는 태그 가중치를 가지고,
상기 분석 범위를 설정하는 단계는,
상기 태그 가중치를 이용하여 상기 리프 노드를 결정하는,
노드 분석 방법.According to claim 1,
The node has a tag weight,
The step of setting the analysis range,
Determining the leaf node using the tag weight,
Node analysis method.
상기 노드 분석 방법은, 제1 임계값 및 제2 임계값을 포함하는 분석 조건을 설정하는 단계를 더 포함하고,
상기 분석 범위를 설정하는 단계는,
상기 분석 노드로부터 관계 레벨이 제1 임계값 이하이고, 상기 태그 가중치가 제2 임계값 이상인 노드를 상기 리프 노드로 결정하는,
노드 분석 방법.According to claim 3,
The node analysis method further comprises setting an analysis condition including a first threshold and a second threshold,
The step of setting the analysis range,
Determining, from the analysis node, a node having a relation level of a first threshold or less and a tag weight of a second threshold or more as the leaf node;
Node analysis method.
상기 분석 조건을 설정하는 단계는,
상기 분석 노드의 태그에 설정된 속성을 이용하여 상기 제1 임계값 및 제2 임계값을 결정하는,
노드 분석 방법.According to claim 4,
The step of setting the analysis conditions,
Determining the first threshold and the second threshold using an attribute set in a tag of the analysis node;
Node analysis method.
상기 분석 조건을 설정하는 단계는,
상기 분석 노드의 태그에 포함된 속성을 기초로 키워드를 결정하는 단계와,
상기 키워드를 이용하여 상기 키워드와 상기 분석 조건을 매핑하는 분석 조건 설정 테이블을 조회하는 단계, 및
상기 조회의 결과를 이용하여 상기 분석 조건을 결정하는 단계를 포함하는,
노드 분석 방법.According to claim 4,
The step of setting the analysis conditions,
determining a keyword based on an attribute included in a tag of the analysis node;
Retrieving an analysis condition setting table mapping the keyword and the analysis condition using the keyword; and
Including the step of determining the analysis condition using the result of the inquiry,
Node analysis method.
상기 에지는 관계 가중치를 가지며,
상기 분석 범위를 설정하는 단계는,
상기 관계 가중치를 이용하여 상기 리프 노드를 결정하는,
노드 분석 방법.According to claim 1,
The edge has a relation weight,
The step of setting the analysis range,
determining the leaf node using the relation weight;
Node analysis method.
상기 노드 분석 방법은, 제1 임계값 및 제3 임계값을 포함하는 분석 조건을 설정하는 단계를 더 포함하고,
상기 분석 범위를 설정하는 단계는,
상기 분석 노드로부터 관계 레벨이 제1 임계값 이하이고, 상기 분석 노드에 대한 상기 관계 가중치가 제3 임계값 이상인 노드를 상기 리프 노드로 결정하는,
노드 분석 방법.According to claim 7,
The node analysis method further comprises setting an analysis condition including a first threshold and a third threshold,
The step of setting the analysis range,
Determining a node whose relationship level from the analysis node is less than or equal to a first threshold value and the relationship weight value for the analysis node is greater than or equal to a third threshold value as the leaf node;
Node analysis method.
상기 분석 노드에 상응하는 구독자 에이전트와 상기 리프 노드에 상응하는 게시자 에이전트를 독립적으로 구동하는 단계를 더 포함하고,
상기 분석 결과 값을 획득하는 단계는,
상기 구독자 에이전트가 상기 게시자 에이전트로부터 상기 게시자 에이전트가 상기 속성에 따라 생성한 상기 노드 정보를 획득하는 단계를 포함하는,
노드 분석 방법.According to claim 1,
Further comprising independently running a subscriber agent corresponding to the analysis node and a publisher agent corresponding to the leaf node,
Obtaining the analysis result value,
Acquiring, by the subscriber agent, the node information generated by the publisher agent according to the property from the publisher agent.
Node analysis method.
상기 노드 정보를 획득하는 단계는,
상기 구독자 에이전트가 상기 분석 노드의 태그에 설정된 속성에 대한 구독 요청을 상기 게시자 에이전트에게 전달하는 단계와,
상기 게시자 에이전트가 상기 리프 노드의 태그에 상기 속성을 생성하는 단계, 및
상기 구독자 에이전트의 결과 값 요청에 따라 상기 게시자 에이전트가 상기 속성을 실행하여 상기 노드 정보를 상기 구독자 에이전트에 제공하는 단계를 포함하는,
노드 분석 방법.According to claim 9,
Obtaining the node information,
transmitting, by the subscriber agent, a subscription request for attributes set in the tag of the analysis node to the publisher agent;
the publisher agent creating the attribute in a tag of the leaf node; and
In response to a request for a result value from the subscriber agent, the publisher agent executing the property and providing the node information to the subscriber agent.
Node analysis method.
상기 속성을 생성하는 단계는,
상기 속성을 저장하고 관리하는 시설 관제 서버의 속성 저장소로부터 상기 속성에 대한 정보를 획득하여 상기 속성을 생성하는,
노드 분석 방법.According to claim 10,
To create the property,
Generating the attribute by obtaining information on the attribute from an attribute storage of a facility control server that stores and manages the attribute.
Node analysis method.
상기 노드 정보를 상기 구독자 에이전트에 제공하는 단계는,
REST API(REpresentational State Transfer Application Program Interface)를 이용하여 상기 노드 정보를 제공하는,
노드 분석 방법.According to claim 10,
Providing the node information to the subscriber agent,
Providing the node information using REST API (REpresentational State Transfer Application Program Interface),
Node analysis method.
상기 게시자 에이전트가 상기 구독자 에이전트로부터 상기 리프 노드의 태그에 포함된 속성에 대한 구독 정지 통보를 수신하는 단계;
상기 구독 정지 통보가 수신된 속성을 구독하는 에이전트가 없는 경우 상기 게시자 에이전트가 상기 속성을 비활성화하는 단계; 및
상기 게시자 에이전트가 상기 비활성화된 속성이 비활성화된 시점으로부터 임계 기간 이내에 상기 비활성화된 속성에 대한 구독 요청이 수신되지 않을 경우 상기 속성을 삭제하는 단계;를 더 포함하는,
노드 분석 방법.According to claim 10,
receiving, by the publisher agent, from the subscriber agent a notification of suspension of subscription to the attribute included in the tag of the leaf node;
deactivating, by the publisher agent, the property when there is no agent subscribing to the property for which the subscription stop notification is received; and
Further comprising, by the publisher agent, deleting the attribute when a subscription request for the disabled attribute is not received within a threshold period from when the disabled attribute is deactivated.
Node analysis method.
상기 분석 결과 값을 획득하는 단계는,
상기 구독자 에이전트가 상기 게시자 에이전트에게 상기 속성에 대한 결과 값 요청을 전달하는 단계와,
상기 결과 값 요청에 대한 응답이 없을 경우, 상기 구독자 에이전트가 상기 게시자 에이전트에게 하트비트 요청을 전달하는 단계와,
상기 하트비트 요청에 대한 응답이 없을 경우, 상기 구독자 에이전트가 시설 관제 서버에 상기 게시자 에이전트에 대한 재시작 요청을 전달하는 단계, 및
상기 시설 관제 서버에 의해 상기 게시자 에이전트가 재시작하는 단계를 포함하는,
노드 분석 방법.According to claim 9,
Obtaining the analysis result value,
the subscriber agent forwarding a request for a result value for the attribute to the publisher agent;
When there is no response to the result value request, the subscriber agent forwarding a heartbeat request to the publisher agent;
If there is no response to the heartbeat request, the subscriber agent forwarding a restart request for the publisher agent to the facility management server; and
Restarting the publisher agent by the facility control server,
Node analysis method.
상기 노드 분석 방법은 상기 게시자 에이전트가 상기 속성에 대한 노드 정보를 구독하는 구독자의 목록을 운영 정보 데이터베이스에 저장하는 단계를 더 포함하고,
상기 재시작하는 단계는,
상기 게시자 에이전트가 상기 운영 정보 데이터베이스로부터 상기 구독자의 목록을 로드하여 상기 구독자의 목록에 포함된 에이전트에게 하트비트 메시지를 전송하는 단계를 포함하는,
노드 분석 방법.According to claim 14,
The node analysis method further comprises storing, by the publisher agent, a list of subscribers subscribing to node information for the attribute in an operation information database;
The restarting step is
Comprising, by the publisher agent, loading a list of subscribers from the operational information database and transmitting a heartbeat message to an agent included in the list of subscribers.
Node analysis method.
상기 분석 결과 값을 획득하는 단계는,
상기 구독자 에이전트가 상기 노드 정보를 이용하여 상기 속성에 대한 분석 결과 값을 생성하는 단계와,
상기 분석 결과 값을 시설 관제 서버에 저장하는 단계를 더 포함하는,
노드 분석 방법.According to claim 9,
Obtaining the analysis result value,
generating, by the subscriber agent, an analysis result value for the attribute using the node information;
Further comprising the step of storing the analysis result value in a facility control server,
Node analysis method.
상기 속성은 상기 분석 결과 값을 디스플레이하기 위한 디스플레이 설정을 더 포함하고,
상기 노드 분석 방법은,
디스플레이 장치를 통해 상기 분석 결과 값을 상기 분석 노드에 설정된 태그의 속성에 포함된 디스플레이 설정에 따라서 디스플레이하는 단계를 더 포함하는,
노드 분석 방법.According to claim 1,
The attribute further includes a display setting for displaying the analysis result value,
The node analysis method,
Further comprising displaying the analysis result value through a display device according to a display setting included in a tag property set in the analysis node.
Node analysis method.
상기 디스플레이 설정은 정보 표시 포맷 및 표시 항목을 포함하는,
노드 분석 방법.According to claim 17,
The display settings include information display formats and display items,
Node analysis method.
시설 관제 시스템에 의해 관리되는 객체에 상응하는 노드들 및 상기 노드들의 연결 관계를 지시하는 에지를 포함하는 관제 맵을 획득하는 단계;
상기 노드들 각각에 속성을 포함하는 태그를 설정하되, 상기 속성은 각 노드에 대한 노드 정보의 수집 대상 및 수집 조건을 포함하는, 단계;
상기 노드들 및 상기 연결 관계에 기초하여 상기 노드들 중 분석 노드에 연결된 리프 노드를 포함하는 분석 범위를 설정하는 단계; 및
상기 태그의 속성에 따라 상기 리프 노드에 대한 노드 정보를 수집하여 분석한 상기 분석 노드에 대한 분석 결과 값을 획득하는 단계;를 포함하고,
상기 분석 노드에 대한 분석 결과 값을 획득하는 단계는,
상기 분석 노드에 연결되어 있는 상기 리프 노드에 설정된 태그의 속성을 실행하여 상기 수집 조건을 만족하는 노드 정보를 상기 수집 대상으로부터 수집하는 단계; 및
상기 수집된 노드 정보를 분석한 결과를 이용하여 상기 분석 결과 값을 획득하는 단계를 포함하는 동작이 수행되는 것을 특징으로 하는,
기록 매체에 기록된 컴퓨터 프로그램.As a computer program recorded on a non-transitory computer readable medium, when the instructions of the computer program are executed by a processor of a computing device,
Obtaining a control map including nodes corresponding to objects managed by the facility control system and edges indicating a connection relationship between the nodes;
setting a tag including a property to each of the nodes, wherein the property includes a collection target and a collection condition of node information for each node;
setting an analysis range including a leaf node connected to an analysis node among the nodes based on the nodes and the connection relationship; and
Collecting node information on the leaf node according to the attribute of the tag and obtaining an analysis result value for the analysis node analyzed;
Obtaining an analysis result value for the analysis node,
collecting node information that satisfies the collection condition from the collection object by executing attributes of a tag set in the leaf node connected to the analysis node; and
Characterized in that an operation including the step of obtaining the analysis result value using a result of analyzing the collected node information is performed,
A computer program recorded on a recording medium.
네트워크 인터페이스;
메모리; 및
상기 메모리에 로딩 되어 상기 프로세서에 의해 수행되는 컴퓨터 프로그램의 실행 파일이 기록된 스토리지 장치를 포함하되,
상기 컴퓨터 프로그램은,
시설 관제 시스템에 의해 관리되는 관제 대상 시설의 객체에 상응하는 노드들을 생성하고, 상기 노드들 간의 연결 관계를 지시하는 에지를 포함하는 관제 맵을 획득하는 일련의 인스트럭션;
상기 노드들 각각에 속성을 포함하는 태그를 설정하되, 상기 속성은 각 노드에 대한 노드 정보의 수집 대상 및 수집 조건을 포함하는, 일련의 인스트럭션; 및
상기 노드들 및 상기 연결 관계에 기초하여, 상기 노드들 중 분석 노드에 연결된 리프 노드를 포함하는 분석 범위를 설정하고, 상기 태그의 속성에 따라, 상기 리프 노드에 대한 노드 정보를 수집하여 상기 분석 노드에 대한 분석 결과 값을 획득하는 일련의 인스트럭션;을 포함하고,
상기 분석 노드에 대한 분석 결과 값을 획득하는 일련의 인스트럭션은,
상기 분석 노드에 연결되어 있는 상기 리프 노드에 설정된 태그의 속성을 실행하여 상기 수집 조건을 만족하는 노드 정보를 상기 수집 대상으로부터 수집하는 일련의 인스트럭션; 및
상기 수집된 노드 정보를 분석한 결과를 이용하여 상기 분석 결과 값을 획득하는 일련의 인스트럭션을 포함하는,
시설 관제 시스템.processor;
network interface;
Memory; and
A storage device in which an executable file of a computer program loaded into the memory and executed by the processor is recorded,
The computer program,
A series of instructions for generating nodes corresponding to objects of a controlled facility managed by the facility control system and obtaining a control map including an edge indicating a connection relationship between the nodes;
a series of instructions to set a tag including a property in each of the nodes, wherein the property includes a collection target and a collection condition of node information for each node; and
Based on the nodes and the connection relationship, an analysis range including a leaf node connected to an analysis node among the nodes is set, node information about the leaf node is collected according to the attribute of the tag, and the analysis node A series of instructions for obtaining analysis result values for; includes,
A series of instructions for obtaining analysis result values for the analysis node,
a series of instructions for collecting node information that satisfies the collection condition from the collection object by executing attributes of the tag set in the leaf node connected to the analysis node; and
Including a series of instructions for obtaining the analysis result value using a result of analyzing the collected node information,
facility control system.
상기 네트워크 인터페이스는 상기 관제 대상 시설의 설비에 설치된 제어기에 연결되고,
상기 컴퓨터 프로그램은,
상기 네트워크 인터페이스를 통해서 상기 속성을 상기 제어기에 제공하는 일련의 인스트럭션;
상기 네트워크 인터페이스를 통해서 상기 제어기로부터 상기 속성을 실행한 결과인 상기 노드 정보를 제공 받는 일련의 인스트럭션; 및
상기 노드 정보를 표시하도록 렌더링하는 일련의 인스트럭션;을 더 포함하는,
시설 관제 시스템.According to claim 20,
The network interface is connected to a controller installed in facilities of the facility to be controlled,
The computer program,
a series of instructions for providing the attribute to the controller via the network interface;
a series of instructions for receiving the node information, which is a result of executing the attribute, from the controller through the network interface; and
A series of instructions for rendering to display the node information; further comprising,
facility control system.
상기 노드들 및 상기 노드들의 연결 관계를 지시하는 에지를 포함하는 관제 맵을 획득하고, 상기 노드들 각각에 상응하여 각각 독립적인 프로세스로 구동되며, 상기 속성을 실행하여 노드 정보를 다른 노드에 게시하거나 또는 다른 노드로부터 상기 속성을 구독하여 노드 정보를 수집하는 에이전트를 실행하도록 상기 관제 대상 시설의 설비에 포함된 설비 제어기를 제어하는 제어기;
상기 노드 정보를 수집하여 분석한 분석 결과 값을 저장하는 분석 결과 저장소; 및
상기 분석 결과 값을 표시하도록 렌더링하는 렌더러;를 포함하고,
상기 제어기는,
분석 노드에 포함된 속성을 구독하기 위한 구독 요청을 상기 분석 노드에 연결된 리프 노드의 제2 에이전트에 전달하도록 상기 분석 노드의 제1 에이전트의 실행을 제어하고,
상기 구독 요청에 대해, 상기 속성에 대한 정보에 기초하여 상기 속성을 실행한 결과인 노드 정보를 상기 분석 노드의 제1 에이전트에 게시하도록 상기 리프 노드의 제2 에이전트의 실행을 제어하는,
시설 관제 서버.an attribute storage for storing attributes including collection targets and collection conditions of node information about nodes corresponding to objects of a controlled facility managed by the facility control system;
Obtain a control map including the nodes and an edge indicating the connection relationship between the nodes, run as an independent process corresponding to each of the nodes, and execute the properties to post node information to other nodes, or or a controller that controls a facility controller included in facilities of the controlled facility to execute an agent that collects node information by subscribing to the properties from other nodes;
an analysis result storage for storing analysis result values obtained by collecting and analyzing the node information; and
A renderer rendering to display the analysis result value; includes,
The controller,
Control execution of a first agent of an analysis node to transmit a subscription request for subscribing to properties included in an analysis node to a second agent of a leaf node connected to the analysis node;
Regarding the subscription request, controlling execution of a second agent of the leaf node to post node information, which is a result of executing the attribute, to the first agent of the analysis node based on the information about the attribute,
Facility control server.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180060231A KR102530364B1 (en) | 2018-05-28 | 2018-05-28 | Node analysis method and apparauts thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180060231A KR102530364B1 (en) | 2018-05-28 | 2018-05-28 | Node analysis method and apparauts thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190135146A KR20190135146A (en) | 2019-12-06 |
KR102530364B1 true KR102530364B1 (en) | 2023-05-08 |
Family
ID=68837126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180060231A KR102530364B1 (en) | 2018-05-28 | 2018-05-28 | Node analysis method and apparauts thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102530364B1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102320878B1 (en) * | 2020-12-04 | 2021-11-01 | (주)케이티에스테이트 | Integrated control method and integrated control device |
WO2024128411A1 (en) * | 2022-12-15 | 2024-06-20 | (주)누리플렉스 | Data management platform system and method |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101691245B1 (en) * | 2012-05-11 | 2017-01-09 | 삼성에스디에스 주식회사 | System and method for web service monitoring |
KR20160052027A (en) * | 2014-10-31 | 2016-05-12 | 삼성에스디에스 주식회사 | Control map based diagram generating method and apparatus thereof |
EP3298804B1 (en) * | 2015-05-21 | 2021-01-13 | Cloudtraq Llc | Identification, location, and authentication systems and methods |
KR102060853B1 (en) * | 2016-05-17 | 2019-12-30 | 이승철 | MACRO/MICRO Intelligent Total Energy Management System and Method |
-
2018
- 2018-05-28 KR KR1020180060231A patent/KR102530364B1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20190135146A (en) | 2019-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210014079A1 (en) | System and method for remote monitoring and controlling of building automation devices | |
JP5170131B2 (en) | Projector device network management system | |
JP2004227359A (en) | Operation management method for storage system based on policy | |
US11381488B2 (en) | Centralized, scalable, resource monitoring system | |
KR102530364B1 (en) | Node analysis method and apparauts thereof | |
JP2015219890A (en) | Management device, and control method and program for the same | |
CN113986349A (en) | Data processing method, data processing device, computer readable storage medium and computer equipment | |
KR101786660B1 (en) | Control map providing method and apparatus | |
US12055907B2 (en) | Building data platform with schema extensibility for properties and tags of a digital twin | |
US9921728B2 (en) | Service providing device, and method of providing a user interface | |
KR102547071B1 (en) | Method for controlling weight value of control map and apparatus thereof | |
JPH11238027A (en) | Screen update method and screen update terminal equipment | |
US20220390913A1 (en) | Building management system with intelligent visualization | |
US7240348B2 (en) | Suspending scenario generation method, server device, and program therefor | |
KR20160052027A (en) | Control map based diagram generating method and apparatus thereof | |
JP2015095053A (en) | Management device and method of the same | |
KR102338489B1 (en) | Control problem notifying method and apparatus thereof | |
JP2020149327A (en) | Information processor and program | |
KR101659038B1 (en) | Facilities control apparatus and facilities control method of the facilities control apparatus | |
US11507567B2 (en) | Framework for managing tag bundles | |
JP4229170B2 (en) | Information processing system and program thereof | |
KR20190021754A (en) | Internet of things automatic management system and method based on sensor data identification algorithm | |
JP2003143179A (en) | Information processor and information processing system | |
JP4229171B2 (en) | Information processing apparatus and program thereof | |
JP4259568B2 (en) | Information processing apparatus and program thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |