Google은 흑인 공동체를 위한 인종적 평등을 추구하기 위해 노력하고 있습니다. 자세히 알아보기
이 페이지는 Cloud Translation API를 통해 번역되었습니다.
Switch to English

Weave 데이터 관리

이제 Weave의 주요 구성 요소를 이해 했으므로 일부 기능이 높은 수준에서 처리되는 방법을 살펴 보겠습니다.

일상적인 작업을위한 Nest 에코 시스템의 거의 모든 기능은 Weave 스키마의 일부로 리소스 및 특성에 매핑됩니다. 데이터 관리 프로필은 게시-구독 모델을 사용하여 특성에 대한 모든 요청을 관리합니다. 이러한 요청은 데이터 관리 프로필과 관련된 메시지 입니다.

이 유형의 모델에서 게시자는 특성 (시청할 데이터)을 광고하고 구독자는 게시 된 특성 (시청중인 데이터)의 변화에 ​​반응합니다. 이 기능을 실시간 특성 관리 라고 합니다 .

데이터 관리 프로필은 Weave의 주력이며 일반적으로 Weave Data Management (WDM)라고합니다.

요청

요청 는 WDM의 실시간 특성 관리의 핵심 요소입니다. 요청은 예상되는 응답과 함께 특성 작업대한 표준 요청입니다 . 이는 특성의 명령 과 다르며 스키마에서 정의 할 수없고 정의 할 수 없으며 특성에 한정되지 않습니다.

표준 요청에는 세 가지 유형이 있습니다.

  • 구독자에게 특성 속성의 상태 또는 해당 특성과 관련된 특정 이벤트를 알리는 알림 표준 요청입니다.
  • 특성 속성의 상태를 변경하기위한 표준 요청을 업데이트 합니다.
  • view 의 속성을보기위한 표준 요청.

프로토콜 역할

WDM 프로토콜 역할에는 게시자와 구독자의 두 가지 유형이 있습니다. 이러한 역할은 특성 수준에서 할당됩니다.

발행자

WDM 게시자 역할은 하나 이상의 스키마의 버전 화 된 인스턴스를 생성하여 하나 이상의 구독자에게 제공하고 스키마 변경에 대한 알림을 관심있는 구독자에게 보냅니다. 이러한 알림은 알림 표준 요청입니다.

예를 들어, 특성 A가 자원 1에 의해 게시되고 자원 2에 의해 구독된다고 가정합니다. 그림 1에 표시된 것처럼 특성 A가 변경되는 경우 :

  1. WDM은 자원 1에서 특성 A의 모든 구독자 에게 알림 요청 를 전송하여 변경 사항을 알립니다.
  2. 각 구독자는 그에 따라 특성 A의 인스턴스를 업데이트합니다.
WDM 게시자 알림 요청
그림 1-WDM 게시자 요청

스키마의 다른 특성에 대해서도 동일한 일이 발생합니다. 예를 들어 자원 2가 특성 B를 게시하면 자원 1이 특성 B를 구독하고 특성 B가 변경됩니다.

  1. WDM은 자원 2의 알림 요청 를 특성 B의 모든 구독자 에게 전송하여 변경 사항을 알립니다.
  2. 각 구독자는 그에 따라 특성 B의 인스턴스를 업데이트합니다.

구독자

WDM 구독자 역할은 하나 이상의 외부 게시 스키마의 버전이 지정된 인스턴스를보고 사용합니다. 업데이트 요청을 통해 게시 된 스키마의 버전이 지정된 인스턴스를 변경하거나 애플리케이션 별 명령을 실행할 수 있습니다.

예를 들어, Resource 2가 Resource 1에서 게시 한 Trait A를 변경하려고한다고 가정합니다. 그림 2에 표시된대로 Trait A를 변경합니다.

  1. WDM은 특성 A에 대한 변경을 요청하기 위해 자원 2에서 자원 1로 업데이트 요청 를 보냅니다.
  2. 자원 1의 특성 A가 변경됩니다.
  3. WDM은 자원 1에서 특성 A의 모든 구독자 에게 알림 요청 를 전송하여 변경 사항을 알립니다.
  4. 각 구독자는 그에 따라 특성 A의 인스턴스를 업데이트합니다.
WDM 구독자보기 및 업데이트
그림 2-WDM 구독자 요청

구독자는 또한 특성의 게시자에게 보기 요청 를 전송하여 해당 특성의 속성 을보고 게시자와 동기화 된 특성의 자체 인스턴스를 유지할 수 있습니다.

구독 유형

WDM 구독에는 두 가지 유형이 있습니다. 구독은 구독 요청으로 설정됩니다. 그림 3 은 단방향 구독을 설정하기위한 기본 메시지 흐름을 보여줍니다.

WDM 단방향 구독
그림 3-WDM 단방향 구독

일방 통행

단방향 구독은 하나 이상의 트레이 트 인스턴스에 대해 구독자가 게시자에게 요청하는 것을 포함합니다. 예를 들어 서비스에서 집 (구조)의 상태를 검색하는 모바일 장치입니다.

상호

상호 구독은 리소스가 서로를 구독하고 각각이 게시자와 구독자 역할을하는 경우입니다. 이에 대한 예로 Nest Secure 시스템의 일부인 Nest Guard 및 Nest Detect가 있습니다. 상호 구독을 사용하면 두 리소스가 게시 된 스키마를 관리하고 두 개의 단방향 구독보다 더 효율적인 방식으로 구독의 상태와 활성 상태를 유지할 수 있습니다.

WDM이 모바일 앱을 사용하여 장치의 로케일에 대한 변경을 처리하는 방법에 대한 간단한 예를 살펴 보겠습니다.

이 예에는 그림 4 와 같이 세 가지 리소스와 두 가지 특성이 있습니다.

  • 장치 (구독자)
  • 서비스 (게시자)
  • 모바일 앱 (구독자)
  • 로캘 기능 특성은 사용 가능한 로캘 속성을 합니다.
  • 로케일 설정 특성은 활성 로케일 속성을 합니다.

두 특성 모두 서비스 리소스에 의해 게시되고 디바이스 및 모바일 앱 리소스에 의해 구독됩니다. 각 구독자는 서비스 리소스의 특성 게시자에 대한 단방향 구독으로 작동합니다.

이 예제의 모든 리소스는 동일한 Weave 패브릭 일부입니다.

WDM 예
그림 4-WDM 예

흐름 업데이트

사용자가 연결된 모바일 앱을 사용하여 장치의 로케일을 en_US 에서 fr_FR 로 변경하기 위해 모바일 앱을 사용한다고 가정 해 보겠습니다. 그림 5에 표시된 것처럼 WDM 내의 업데이트 흐름은 다음과 같습니다.

  1. 모바일 앱 리소스 (구독자)는 업데이트 요청 를 서비스 리소스 (게시자)로 전송하여 Locale Settings 특성의 Active Locale 속성을 Locale Capabilities 특성의 Available Locales 속성의 유효한 값 중 하나 인 fr_FR 로 변경합니다.
  2. 서비스 리소스는 스키마 사본에서 로케일 설정 특성의 활성 로케일 특성을 변경합니다.
  3. 서비스 리소스는 로케일 설정 특성의 구독자에게 변경 사항에 대한 알림 요청 보냅니다.
  4. 디바이스 및 모바일 앱 리소스 (구독자)는 모두 서비스 리소스의 알림 요청 수신하고 스키마 복사본에서 로캘 설정 특성의 활성 로캘 속성을 업데이트합니다.
WDM 업데이트 흐름 순서
그림 5-WDM 업데이트 흐름

WDM의 이점

모바일 앱에서 기기의 로케일을 변경하기 만하면이 작업이 매우 복잡해 보일 수 있습니다. 그러나 버전이 지정된 스키마, 게시-구독 패턴 및 요청을 WDM 프로필로 함께 래핑하여 Weave는 모든 리소스에서 데이터 무결성을 보장합니다.

또한 활성 상태를 보장하므로 장치가 다시 시작될 때 모든 구독자에게 게시 된 특성의 상태를 즉시 알리고 구독 된 특성의 상태를 관찰하며 기능 손실없이 스키마 사본에 모든 상태를 반영합니다.

구독을 넘어서

리소스가 트레이 트에서 구독을 취소하면 마지막으로 알려진 트레이 트 버전의 복사본이 유지됩니다. 더 이상 해당 트레이 트에 대해 게시자로부터 알림 요청 를 수신하지 않지만 해당 게시자에게 업데이트 요청을 보낼 수 있습니다.

트레이 트 게시자를 구독하지 않은 리소스도 요청을 보낼 수 있습니다. 예를 들어 자원은 특성의 상태를 알 필요가 없지만 외부 이벤트에 대한 응답으로 특성의 상태를 변경하기 위해 업데이트 요청 를 보낼 수 있습니다.

요약

학습 한 내용 :

  • Weave Data Management (WDM) 는 실시간 트레이 트 관리를위한 Weave 프로필이며 모든 리소스에서 활성 상태와 데이터 무결성을 보장합니다.
  • 요청 는 예상되는 응답과 함께 특성 작업에 대한 표준 요청입니다.
  • WDM에는 두 가지 프로토콜 역할이 있습니다.
    • 게시자 — 특정 특성에 대한 진실의 소스로 알림 요청 보냅니다.
    • 구독자 — 게시 된 스키마를 관찰하고, view , update 또는 command 요청을
  • WDM에는 두 가지 구독 모델이 있습니다.
    • 단방향 — 구독자에서 게시자로의 요청 흐름
    • 상호 — 장치가 서로 구독합니다.
  • 구독은 구독 요청에 의해 설정됩니다.
  • 리소스는 구독하지 않은 경우에도 특성에 WDM 메시지를 보낼 수 있습니다.

자세한 내용은 다음을 참조하십시오.