Google is committed to advancing racial equity for Black communities. See how.
이 페이지는 Cloud Translation API를 통해 번역되었습니다.
Switch to English

직조 데이터 관리

위브의 주요 구성 요소를 이해 했으므로 일부 기능이 어떻게 높은 수준에서 처리되는지 살펴 보겠습니다.

일상적인 운영을위한 Nest 에코 시스템의 거의 모든 기능은 Weave 스키마의 일부로 리소스 및 특성에 매핑됩니다. Data Management 프로파일은 발행-구독 모델을 사용하여 특성에 대한 모든 요청을 관리합니다. 이러한 요청은 데이터 관리 프로파일에 특정한 메시지 입니다.

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

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

요청

요청 는 WDM 실시간 특성 관리의 핵심 요소입니다. 요청은 예상되는 응답과 함께 특성의 행동대한 표준 요청입니다 . 이것들은 스키마에서 정의 할 수없고 정의 할 수 없으며 어떤 특성에만 국한되지 않는다는 점에서 특성의 명령 과 다릅니다.

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

  • 통지 표준 요청을 그 정보 용, 또는 특성과 관련된 특정 이벤트의 특성 속성의 상태의 가입자.
  • 특성의 상태를 변경하려면 표준 요청을 업데이트하십시오 .
  • 보기 형질의 속성을 볼 수있는 표준 요청을.

프로토콜 역할

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

발행자

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

예를 들어, 형질 A가 변경되는 경우, 그림 1에 나타낸 바와 같이 형질 A는 자원 (2)에 의해 자원 (1) 발행 및 구독 가정 :

  1. WDM은 리소스 1의 모든 요청 가입자 에게 알림 요청 를 전송하여 변경 사항을 알려줍니다.
  2. 각 가입자는 이에 따라 Trait A의 인스턴스를 업데이트합니다.
WDM 게시자 알림 요청
그림 1-WDM 게시자 요청

스키마의 다른 특성에서도 마찬가지입니다. 예를 들어, 자원 2가 특성 B를 공개하면 자원 1이 특성 B를 구독하고 특성 B가 변경됩니다.

  1. WDM은 리소스 2에서 Trait B의 모든 가입자 에게 알림 요청 를 보내 변경 사항을 알려줍니다.
  2. 각 가입자는 이에 따라 Trait B의 인스턴스를 업데이트합니다.

구독자

WDM 구독자 역할은 하나 이상의 외부에 게시 된 스키마의 버전이 지정된 인스턴스를보고 사용합니다. 업데이트 요청으로 게시 된 스키마의 버전이 지정된 인스턴스를 변경하거나 응용 프로그램 별 명령을 실행할 수 있습니다.

예를 들어, 자원 2가 자원 1에 의해 공개 된 특성 A를 변경하려고한다고 가정하십시오 ( 그림 2 참조 ). 특성 A를 변경하십시오.

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

가입자는 또한 그 특성의 속성 을보고 자신의 특성의 인스턴스를 퍼블리셔와 동기화하기 위해 특성 요청을 보기 요청 를 특성의 게시자에게 보낼 수 있습니다.

가입 유형

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

WDM 단방향 가입
그림 3-WDM 단방향 가입

일방 통행

단방향 구독에는 하나 이상의 특성 인스턴스에 대한 구독자에서 게시자로의 요청이 포함됩니다. 예를 들어, 서비스로부터 집의 상태 (구조)를 검색하는 모바일 장치.

상호

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

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

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

  • 장치 (가입자)
  • 서비스 (게시자)
  • 모바일 앱 (구독자)
  • 로캘 기능 특성 가능한 로캘 속성
  • 로캘 설정 특성 활성 로캘 속성

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

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

WDM 예
그림 4-WDM 예

업데이트 흐름

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

  1. 모바일 앱 자원 (구독자)은 로케일 설정 특성의 활성 로케일 특성을 로케일 기능 특성의 사용 가능한 로케일 특성의 유효한 값 중 하나 인 fr_FR 로 변경하기 위해 업데이트 요청 를 서비스 자원 (게시자)으로 보냅니다.
  2. 서비스 자원은 스키마 사본에서 로케일 설정 특성의 활성 로케일 특성을 변경합니다.
  3. 서비스 자원은 로케일 설정 특성의 구독자에게 변경 사항에 대한 알림 요청 보냅니다.
  4. 디바이스 및 모바일 앱 자원 (가입자)은 모두 서비스 자원의 알림 요청 수신하고 스키마 사본에서 로케일 설정 특성의 활성 로케일 특성을 업데이트합니다.
WDM 업데이트 흐름 순서
그림 5-WDM 업데이트 흐름

WDM의 장점

모바일 앱에서 기기의 로캘을 변경하기 만하면 매우 복잡해 보일 수 있습니다. 그러나 버전이 지정된 스키마, 발행-구독 패턴 및 요청을 WDM 프로파일로 랩핑하여 Weave는 모든 자원에서 데이터 무결성을 보장합니다.

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

구독 이외

자원이 특성에서 탈퇴하면 해당 특성의 마지막으로 알려진 버전의 사본이 유지됩니다. 해당 특성에 대해 게시자로부터 더 이상 알림 요청 를받지 않지만 해당 게시자에게 업데이트 요청 를 계속 보낼 수 있습니다.

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

요약

배운 것 :

  • WDM (Weave Data Management) 는 실시간 특성 관리를위한 Weave 프로파일이며 모든 자원에서 생동감과 데이터 무결성을 보장합니다.
  • 요청 는 예상되는 응답이있는 형질 동작에 대한 표준 요청입니다.
  • WDM에는 두 가지 프로토콜 역할이 있습니다.
    • 제작사 - 특정 형질에 대한 진실의 소스는 요청 통지 전송
    • 가입자 — 게시 된 스키마를 관찰하고, 보기를 보내거나, 업데이트 하거나, 명령을
  • WDM에는 두 가지 구독 모델이 있습니다.
    • 단방향 — 구독자에서 게시자로의 요청 흐름
    • 상호 — 장치가 서로 구독
  • 구독은 요청의 가입에 의해 설립되어
  • 자원은 구독하지 않아도 특성에 WDM 메시지를 보낼 수 있습니다.

자세한 정보는 다음을 참조하십시오.