WO2024065091A1 - Method for device capability discovery, server device, and client device - Google Patents

Method for device capability discovery, server device, and client device Download PDF

Info

Publication number
WO2024065091A1
WO2024065091A1 PCT/CN2022/121364 CN2022121364W WO2024065091A1 WO 2024065091 A1 WO2024065091 A1 WO 2024065091A1 CN 2022121364 W CN2022121364 W CN 2022121364W WO 2024065091 A1 WO2024065091 A1 WO 2024065091A1
Authority
WO
WIPO (PCT)
Prior art keywords
cluster
information
endpoint
service
server device
Prior art date
Application number
PCT/CN2022/121364
Other languages
French (fr)
Chinese (zh)
Inventor
包永明
茹昭
吕小强
张军
杨宁
Original Assignee
Oppo广东移动通信有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oppo广东移动通信有限公司 filed Critical Oppo广东移动通信有限公司
Priority to PCT/CN2022/121364 priority Critical patent/WO2024065091A1/en
Publication of WO2024065091A1 publication Critical patent/WO2024065091A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]

Definitions

  • the present application relates to the technical field of Internet of Things, and more specifically, to a method for device capability discovery, a server device, and a client device.
  • the client device needs to perform capability discovery on the server device in order to control it according to the capabilities of the server device.
  • the client device needs to perform multiple read request operations to discover all the capabilities of the server device. Using this method to discover the capabilities of the server device makes the interaction process between the client device and the server device complicated and inefficient, which in turn affects the user experience.
  • the present application provides a method for device capability discovery, a server device and a client device.
  • the following introduces various aspects involved in the present application.
  • a method for device capability discovery comprising: a server device receives a first message sent by a client device, the first message being used to query a first cluster; wherein information of the first cluster is used by the client device to discover capabilities of the server device, the information of the first cluster comprising: information of all service endpoints contained in the server device; and information of a cluster contained in any one of the service endpoints.
  • a method for device capability discovery comprising: a client device sends a first message to a server device, the first message being used to query a first cluster; wherein information of the first cluster is used by the client device to discover capabilities of the server device, the information of the first cluster comprising: information of all service endpoints contained in the server device; and information of a cluster contained in any one of the service endpoints.
  • a server device comprising: a receiving module, used to receive a first message sent by a client device, the first message being used to query a first cluster; wherein the information of the first cluster is used by the client device to discover the capability of the server device, the information of the first cluster comprising: information of all service endpoints contained in the server device; and information of a cluster contained in any one of the service endpoints.
  • a client device comprising: a sending module, used to send a first message to a server device, the first message being used to query a first cluster; wherein the information of the first cluster is used by the client device to discover the capabilities of the server device, and the information of the first cluster includes: information of all service endpoints contained in the server device; and information of the cluster contained in any one of the all service endpoints.
  • a server device comprising a processor, a memory and a communication interface, wherein the memory is used to store one or more computer programs, and the processor is used to call the computer program in the memory so that the server device executes part or all of the steps in the method of the first aspect.
  • a client device comprising a processor, a memory and a communication interface, wherein the memory is used to store one or more computer programs, and the processor is used to call the computer program in the memory so that the client device executes part or all of the steps in the method of the second aspect.
  • an embodiment of the present application provides a communication system, which includes the above-mentioned server device and/or client device.
  • the system may also include other devices that interact with the server device or client device in the solution provided by the embodiment of the present application.
  • an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and the computer program enables a server device or a client device to execute part or all of the steps in the methods of the above aspects.
  • an embodiment of the present application provides a computer program product, wherein the computer program product includes a non-transitory computer-readable storage medium storing a computer program, and the computer program is operable to cause a server device or a client device to perform some or all of the steps in the above-mentioned various aspects of the method.
  • the computer program product can be a software installation package.
  • an embodiment of the present application provides a chip, which includes a memory and a processor.
  • the processor can call and run a computer program from the memory to implement some or all of the steps described in the methods of the above aspects.
  • the first cluster includes information of all service endpoints contained in the server device and information of the cluster contained in each service endpoint. Compared with the traditional client device that needs to perform multiple read request operations to obtain the information of the cluster contained in each service endpoint, the number of interactions between the client device and the server device can be reduced, the acquisition efficiency can be improved, and the user experience can be improved.
  • FIG1 is a schematic diagram of a data model structure of a Matter device applicable to an embodiment of the present application.
  • FIG2 is a diagram showing an example of a system architecture of a communication system to which an embodiment of the present application is applicable.
  • FIG. 3 is a flow chart of a conventional method for device capability discovery.
  • FIG. 4 is a flow chart of a method for device capability discovery provided in an embodiment of the present application.
  • FIG5 is a flow chart of a method for device capability discovery provided in another embodiment of the present application.
  • FIG6 is a flow chart of a method for device capability discovery provided in yet another embodiment of the present application.
  • FIG. 7 is a flow chart of a method for device capability discovery provided in yet another embodiment of the present application.
  • FIG8 is a schematic diagram of the structure of a server device provided in an embodiment of the present application.
  • FIG. 9 is a schematic diagram of the structure of a client device provided in an embodiment of the present application.
  • FIG. 10 is a schematic structural diagram of a communication device provided in an embodiment of the present application.
  • the Internet of Things is the "Internet of Everything Connected". It is a network that extends and expands on the basis of the Internet. It can connect any object to the Internet through various information sensing devices (such as radio frequency identification, global positioning system, etc.) to form a huge network for information exchange and communication to achieve interconnection between all things.
  • the IoT device can be a smart home device.
  • the IoT device can include smart air conditioners, smart refrigerators, washing machines, rice cookers, sweeping robots and other devices.
  • the IoT device can be a smart monitoring device.
  • the IoT device can include monitoring cameras, temperature sensors, sound sensors, etc.
  • the Connectivity Standards Alliance launched an IoT application layer technology standard - Matter standard protocol, which can provide an interoperable application layer solution for smart home devices based on the Internet Protocol (IP).
  • IP Internet Protocol
  • Matter standard can also be called the connected home over IP (CHIP) standard.
  • the Matter standard can support three underlying communication protocols: Ethernet, Wi-Fi, and Thread, and can allow IoT devices with different protocols to communicate with each other.
  • FIG1 is a data model structure of a Matter device applicable to an embodiment of the present application.
  • the data model structure 100 of the Matter device includes a node 110, an endpoint 120, and a cluster 130.
  • Node 110 encapsulates an addressable, unique resource on the network, has a set of functions and capabilities, and can be clearly viewed by the user as a functional whole.
  • node 110 can be the highest or outermost first-order element in the data model. In other words, node 110 is the only addressable element at the outermost layer of the data model. Therefore, the node can represent a device node and belongs to a logical device.
  • a physical entity may be a node 110, or in other words, a node 110 may refer to a Matter device node.
  • a node may have multiple node identifiers (IDs), and the scope of each node ID is a specific network (fabric). For example, when a node ID is used as a target address for an interaction, the network that specifies the scope of the node ID is the access network for the interaction.
  • IDs node identifiers
  • a node may include one or more endpoints 120.
  • An endpoint 120 is an instance, which may be a service instance or a virtual device, indicated by a device type. Each endpoint 120 conforms to one or more device type definitions, which define the clusters supported by the endpoint. In some embodiments, an endpoint may be understood as a service instance/virtual device indicated by a device type.
  • a cluster is an object class instantiated on an endpoint.
  • the device type can be the highest semantic element.
  • the device type defines the conformance of a set of endpoints 120.
  • the device type defines a set of requirements for a node 110 or an endpoint 120.
  • endpoints can be divided into two categories: endpoint 0 and business endpoints.
  • Endpoint 0 can be understood as the first endpoint in a node, and the device type of endpoint 0 is the "root node" device type. In some embodiments, endpoint 0 can also be called the root node endpoint. Endpoint 0 must be included under each node.
  • a business endpoint can be understood as any endpoint in a node except endpoint 0.
  • a business endpoint can support the main operations of a node.
  • a business endpoint can include one or more application clusters.
  • Each endpoint 120 may be a collection of functions, which may include one or more clusters 130 .
  • Cluster 130 is a functional building block element of the data model, or in other words, cluster 130 belongs to an element that builds a function set.
  • a cluster may also be referred to as a function set, a function set, a function cluster, a cluster, etc., which is not limited by the embodiments of the present application.
  • the cluster specification defines a client and a server that correspond to each other through interaction.
  • cluster 130 may include two roles, namely, a client and a server, wherein the client belongs to the control end and the server belongs to the controlled end.
  • Cluster 130 may be regarded as an interface, a service or an object class, and is the lowest independent functional element in the data model.
  • clusters can be divided into two categories: utility clusters and application clusters.
  • the utility cluster is not part of the main application operation of the endpoint.
  • the utility cluster can be used for configuration, discovery, addressing, diagnosis, monitoring device health, software updates, etc.
  • the utility cluster may have a temporary relationship with its cluster counterpart.
  • the utility cluster may include a descriptor cluster.
  • the embodiment of the present application is not limited to this.
  • the utility cluster may also include other clusters such as a binding cluster.
  • An application cluster supports the main operations of an endpoint.
  • an application cluster may also be referred to as a business cluster.
  • An application cluster may support the interaction of one or more persistent applications between a client and a server. For example, in a switch cluster (On/Off cluster) in a smart light, a client may send a control command to a server (i.e., a switch cluster) to control the switch of a smart light.
  • a switch cluster On/Off cluster
  • a server i.e., a switch cluster
  • the service cluster may refer to a cluster on other endpoints except endpoint 0 in the node, that is, a cluster on a service endpoint.
  • An application cluster is not a utility cluster, even though it may natively support utility functionality such as calibration, operation modes, etc.
  • An application cluster specification should not involve layers and processes outside of its application domain.
  • each cluster 130 may be defined by a cluster specification, which defines the elements of the cluster 130, including attributes, events, commands, and behaviors related to the interactions between these elements.
  • attributes, commands, and events may also be referred to as interface units of the cluster 130, and corresponding functions may be provided through these three interface units.
  • attributes, events, commands, and behaviors in cluster 130 are mandatory or optional, depending on the definition of cluster 130 .
  • Attributes can be used to describe functional units in a cluster, and a cluster can contain 0 or more attributes. Attributes are cluster data. Currently, the protocol stipulates that each attribute can be listed in a table, and the data quality columns of the attributes defined in the table can include: ID, name, (data) type (type), constraint (constraint), other qualities, access, default (value) and compliance. In some implementations, attributes can also define their related semantics and behaviors. Attributes can reflect the queryable/settable status, configuration, and capabilities of a device. In some cases, if privileges are not explicitly defined for an attribute, the default access privilege is in effect.
  • Cluster commands can be used to describe the control of a cluster.
  • a cluster can contain 0 or more commands.
  • a command is a set of data fields, each data type is passed between the client and server cluster instances to invoke the behavior of the command recipient.
  • the protocol stipulates that each command can be listed in a table, which can contain data quality columns for the command: identification (ID), name (name), direction (direction), response (response), access (access), and conformance (conformance). Accordingly, a command can indicate zero or more fields defined in a table. Each command field is defined as a row in the table.
  • Events can be used to describe a record of a specific behavior that has occurred in the cluster in the past, or events define a record of what happened in the past.
  • an event record can be thought of as a log entry that provides a chronological view of events on a node through an event record stream.
  • a cluster can contain 0 or more events.
  • attributes which do not provide any edge-preserving functionality (that is, there is no guarantee that every change in an attribute will be delivered to the observer)
  • events allow each individual edge or change to be captured and reliably delivered to the observer. This is critical for safety and security applications that rely on guarantees of correct behavior.
  • the protocol stipulates that each cluster event can be listed in a table, and the data quality columns of the event defined in the table can include: ID, priority, access, and compliance.
  • commands, attributes, and events may also include other data qualities, or include parts of the above data qualities.
  • the embodiments of the present application do not limit this.
  • Identifier which indicates the unique field ID of a field, or the unique identifier of a command (or attribute, event).
  • Name which indicates the unique name of the field, or the name of the command (or attribute).
  • Type indicates the data type of the field, or the data type of the command parameter (or attribute parameter).
  • Direction usually present in the command list, is used to define the transmission direction of the command, for example, it can be defined as from the client to the server. For another example, it can be defined as from the server to the client.
  • Access permissions which define how an element can be accessed (e.g., read or write) and what permissions are required to access the data.
  • access permissions may include V, which indicates that read access or call access requires view privileges.
  • Access permissions may also include O, which indicates that "read access”, “write access”, or “call access” requires operation permissions.
  • Access permissions may also include R, which indicates read access.
  • Access permissions may also include W, which indicates write access.
  • Response usually exists in the command list, and is used to define the response message of the command.
  • Default used to define the default value. It should be noted that the default value is not the value used when the server returns the factory refresh settings. The default value can indicate that the compliance specified for the data field can be optional or can change over time. When the actual data field value does not exist, a default value can be defined to complete the dependency.
  • Conformance defines the optionality and dependencies of any data model element or set of elements. Typically, this column is valid for attributes, commands, events, enumerations, and fields of commands, events, or structures.
  • “M” indicates that the corresponding command is part of the basic mandatory feature set
  • "O” indicates that the corresponding command is part of the optional feature set.
  • client-to-server command conformance means that the server should recognize and support client-to-server commands and generate responses as defined.
  • Server-to-client command conformance means that the server should send commands as defined by the cluster behavior, i.e., respond to client-to-server commands.
  • Command conformance depends on supported server features. Clients should not be required to support optional commands or commands that depend on optional features.
  • Constraints include all and desc. All is defined in a numeric data type to allow all values. desc indicates that the constraint is defined in the description part.
  • Range which indicates the value range of a field.
  • Range can support two forms: explicit constraint and width constraint.
  • the explicit constraint can give the minimum and maximum values corresponding to the value of the field, for example, the value range of a field is (0,128).
  • the width constraint can limit the value of a field to a specific number of bytes, for example, the value of a field is limited to 8 bytes.
  • the value of the range can include "N/A" to indicate not applicable. Of course, "N/A" can also appear in other parts (other data quality), such as defaults, constraints, etc.
  • Each event record has an associated priority. This priority can be used to describe the usage semantics of the event.
  • a node represents a car device, which contains one or more endpoints, for example, endpoint 0 and endpoint 5, where the root node device type of the car is stored under endpoint 0, and the air conditioning device type of the car is stored under endpoint 5.
  • Endpoint 5 contains one or more clusters, for example, a temperature control cluster and a fan cluster.
  • Each cluster can contain 0 or more attributes, commands, and events.
  • the attributes contained in the temperature control cluster may include temperature attribute values, etc.; the commands contained may include temperature increase commands and temperature decrease commands; the events contained may include temperature abnormality alarm events, etc.
  • the communication system shown in FIG2 includes a Matter client device 210, a Matter server device 220, and a configuration device 230. It should be noted that the data model structure of the Matter client device 210 and the Matter server device 220 can be as shown in FIG1.
  • Matter client device 210 is a client device on the user side, and Matter client device 210 can communicate with Matter server device 220.
  • Matter client device 210 and Matter server device 220 can be connected in a wired or wireless manner to communicate.
  • the Matter client device 210 may send control information to the Matter server device 220 to control the Matter server device 220.
  • the Matter server device 220 is a smart air conditioner
  • the Matter client device 210 may control the temperature of the Matter server device 220 by sending control information to the Matter server device 220.
  • the Matter client device 210 may refer to a terminal device installed with a Matter client, wherein the terminal device may be a mobile phone, a computer, a tablet computer, a personal digital assistant (PDA), a smart bracelet, a smart watch, etc., which is not limited in the embodiments of the present application.
  • the Matter client may be an application (APP) or a mini-program, etc., which is not limited in the embodiments of the present application.
  • Matter server device 220 may refer to an IoT device that supports the Matter standard protocol. Matter server device 220 may communicate directly with Matter client device 210 so that Matter client device 210 controls Matter server device 220.
  • the Matter server device 220 when the Matter server device 220 is a smart air conditioner that supports the Matter standard protocol, the Matter client device 210 can control the smart air conditioner's switch and set the air conditioner temperature, wind speed, etc.
  • the Matter server device 220 is a sweeping robot that supports the Matter standard protocol
  • the Matter client device 210 can control the sweeping robot to start or stop working, control the sweeping robot's working mode, etc.
  • control interfaces supported by the Matter server device 220 mainly include control and subscribe and report.
  • control can be understood as a group of clusters corresponding to one or more attribute values of the Matter server device that can be modified or retrieved.
  • the Matter client device is a smart speaker
  • the Matter server device is a smart air conditioner. The user can say "cool down" to the smart speaker, and then the smart speaker sends a control command to lower the temperature to the smart air conditioner.
  • the configuration (commissioner) device 230 can be used to configure the Matter server device 220.
  • the configuration device can be understood as a terminal device with a configuration terminal installed, and the user can configure the Matter server device 120 through the configuration terminal.
  • the terminal device can be a mobile phone, a computer, a tablet computer, a PDA, a smart bracelet, a smart watch, etc., which is not limited in the embodiments of the present application.
  • the configuration terminal can be an application or a small program, etc., which is not limited in the embodiments of the present application.
  • configuration end may be the same APP or applet as the Matter client, and of course, the configuration end may be a different APP or applet from the Matter client. This embodiment of the application does not limit this.
  • a descriptor cluster can be used to describe an endpoint in a node. That is, each endpoint has a descriptor cluster under it to describe its corresponding endpoint.
  • the elements it includes are only attributes, but no commands and events. Specifically, the attributes included in the descriptor cluster can be seen in Table 1.
  • F indicates that the field is a fixed value; R indicates read permission; V indicates view permission; and M indicates mandatory.
  • the device type list can give the device type and corresponding version that the endpoint complies with, for example, contained in the DeviceTypeStruct structure.
  • DeviceTypeStruct can contain two contents, one is DeviceTypeId, which can be used to describe the ID value of the device type; the other is Revision, which can be used to indicate the revision number (or version) of the device type.
  • the device type list should contain at least one device type.
  • the extended color lamp device type may support the device type IDs of dimmable lamps and switch lamps because they are subsets of extended color lamps.
  • the server list may give all cluster IDs with server roles on the endpoint, or in other words, the server list may indicate the list information of the cluster IDs controlled by the current endpoint.
  • the client list may give all cluster IDs with client roles on the endpoint, or in other words, the client list may indicate the list information of the cluster IDs controlled by the current endpoint.
  • the parts list can give all the endpoints that make up the device type instance, or the parts list can represent the list information of the endpoint values associated with or contained in the current endpoint.
  • a refrigerator device type can be defined as consisting of multiple temperature sensor endpoints, a metering endpoint, and two thermostat endpoints.
  • each cluster also contains global attributes.
  • the global attributes in the cluster can be used to describe the general or basic information of the cluster. For ease of understanding, the embodiment of the present application provides some global attributes in Table 2 (the number of global attributes provided in Table 2 is 4). The global attributes of the cluster are briefly introduced in conjunction with Table 2.
  • the attribute list can give the information of the attribute list under the cluster.
  • Each cluster instance should support this global attribute.
  • This global attribute can contain all the attribute IDs contained in its corresponding cluster instance.
  • the event list can give the information of the event list under the cluster.
  • Each cluster instance should support this global attribute.
  • This global attribute can contain all event IDs contained in its corresponding cluster instance.
  • the request command list can represent the command ID list of the client request command.
  • Each cluster instance should support this global attribute.
  • This global attribute can contain a list of command IDs generated by the client, which are all supported by the cluster service instance.
  • the response command list can represent the command ID list of the client response commands.
  • Each cluster instance should support this global attribute.
  • This global attribute can contain a list of command IDs generated by the server, which can be used to respond to the client's commands.
  • the global attributes listed in Table 2 are only examples and do not represent all global attributes.
  • the global attributes contained in the cluster may also include a cluster version (ClusterRevision), a network identifier (FabricIndex), etc., which is not limited in the embodiments of the present application.
  • the client device may perform capability discovery on the server device to discover or obtain the capabilities of the server device, so that the server device may be controlled according to the capabilities possessed by the server device.
  • the client device may perform capability discovery of the server device by reading the descriptor clusters of each endpoint contained in the server device and the global attributes of each cluster.
  • the client device needs to know which endpoints the server device contains, which clusters these endpoints contain, and which elements (for example, attributes, commands, events) are contained under each cluster, so as to determine which capabilities the server device has based on the relevant information of the elements of each cluster obtained.
  • step 1 the client device reads the descriptor cluster under endpoint 0 of the server device.
  • the client device can learn which endpoints (service endpoints) the server device contains by reading the descriptor cluster under endpoint 0 of the server device. This is because the component list contained in the descriptor cluster of each endpoint can contain the endpoint identifiers of all endpoints associated with or contained by the endpoint. In this way, the client device can learn which service endpoints the server device contains through the attribute of the component list in the descriptor cluster under endpoint 0.
  • step 2 the server device returns the attribute information of the descriptor cluster under endpoint 0 to the client device.
  • the server device can only return the cluster information under endpoint 0 to the client device.
  • the client device In order to obtain the cluster information under the service endpoint (other endpoints except endpoint 0), the client device also needs to know the endpoint information in the component list under endpoint 0, so as to obtain the cluster information under the service endpoint based on the endpoint information in the component list.
  • step 3 the client device reads a descriptor cluster under a service endpoint of the server device.
  • the client device has learned which service endpoints the server device includes by reading the descriptor cluster under endpoint 0 of the server device. Furthermore, the client device can learn which clusters the service endpoint includes by sending a read request operation to the descriptor cluster of one of the service endpoints.
  • the client device learns that the service endpoints included in the server device are endpoint 1, endpoint 2, and endpoint 3, then in step 3, the client device can send read request operations to endpoint 1, endpoint 2, and endpoint 3 respectively to read the descriptor clusters of endpoint 1, endpoint 2, and endpoint 3.
  • step 4 the server device returns information about the descriptor cluster under the service endpoint to the client device.
  • the client device can learn which clusters the service endpoint contains through the information of the descriptor cluster under the service endpoint. For example, assuming that the client device requests to read the descriptor cluster of endpoint 1, the client device can learn which clusters endpoint 1 contains through step 4. For example, the clusters contained in endpoint 1 are cluster 1, cluster 2 and cluster 6.
  • step 5 the client device reads a property list in the global properties under a certain cluster of the server device.
  • the attribute list may include all attribute IDs included in the corresponding cluster instance. Therefore, by reading the attribute list under each cluster, the client device can learn which attributes each cluster contains, and thus learn the capabilities of the server device.
  • the client device can read the information of the attribute list in the global attributes under cluster 6, thereby obtaining the attribute ID, command ID and event ID contained in cluster 6, and then obtaining the capabilities of the server device represented by cluster 6.
  • step 6 the server device returns information of the attribute list in the global attributes of the cluster to the client device.
  • the client device wants to learn all capabilities of the server device, it needs to repeat steps 3 to 6 until all the information in the attribute list in the global attributes under all clusters of the server device is read.
  • the client device needs to perform multiple read request operations (for example, the request operation to read the descriptor cluster of endpoint 0, the request operation to read the cluster ID of each endpoint, and the request operation to read the global attributes of each cluster) to discover all the capabilities of the server device.
  • multiple read request operations for example, the request operation to read the descriptor cluster of endpoint 0, the request operation to read the cluster ID of each endpoint, and the request operation to read the global attributes of each cluster
  • the server device includes three endpoints in addition to endpoint 0, when the client device discovers the capabilities of the server device, it needs to first know the three endpoint values contained in endpoint 0, and then read the descriptor cluster under each endpoint to obtain the corresponding cluster. It is impossible to achieve the purpose of obtaining all the capabilities of the server device with one or a few reads.
  • the embodiment of the present application provides a solution for device capability discovery, which can reduce the number of interactions between the client device and the server device during the process of server device capability discovery, improve acquisition efficiency, and thus enhance user experience.
  • the solution provided by the embodiment of the present application is described in detail below in conjunction with the accompanying drawings.
  • FIG4 is a flow chart of a method for device capability discovery provided by an embodiment of the present application.
  • the method shown in FIG4 is described from the perspective of interaction between a client device and a server device.
  • the client device and the server device may be, for example, the client device 210 and the server device 220 shown in FIG2 , respectively.
  • the method shown in FIG4 may include step S410, which is described in detail below.
  • step S410 the client device sends a first message to the server device.
  • the first message may be used to query the first cluster.
  • Information about the first cluster may be used by the client device to discover the capability of the server device.
  • the client device discovering the capabilities of the server device can also be understood as the client device performing capability discovery on the server device. That is, the client device can perform capability discovery on the server device by querying the first cluster to discover or obtain the capabilities of the server device, for example, discovering or obtaining the functional services that the server device can implement.
  • device capability discovery can also refer to device resource discovery, that is, obtaining the resources of the server device through device capability discovery (by querying the first cluster).
  • the client device after the client device discovers the capabilities of the server device, it can control the server device based on the capabilities possessed by the server device.
  • the information of the first cluster may include information of all service endpoints included in the server device, and information of the cluster included in any one of the service endpoints.
  • a service endpoint can refer to any endpoint in the server device (or node) except endpoint 0.
  • a service endpoint can be understood as a general term for other endpoints except endpoint 0, that is, except endpoint 0, any other endpoint can be called a service endpoint.
  • the server device includes endpoint 0 and 3 endpoints except endpoint 0, then these 3 endpoints can be understood as the service endpoints of the server device.
  • the information of the first cluster includes the information of all the service endpoints contained in the server device, which may mean that the information of the first cluster includes the information of these three endpoints; the information of the first cluster includes the information of the cluster contained in any one of all the service endpoints, which may mean that the information of the first cluster includes the information of the cluster contained in each of the three endpoints.
  • the first cluster includes information of all service endpoints included in the server device and information of the clusters included in each service endpoint.
  • the number of interactions between the client device and the server device can be reduced, the acquisition efficiency can be improved, and the user experience can be improved.
  • the first cluster is described in more detail below.
  • the information of the first cluster including the information of the service endpoints included in the server device may refer to the endpoint identifiers (or endpoint numbers) of the service endpoints included in the server device included in the first cluster, hereinafter referred to as the endpoint identifiers of the service endpoints included in the first cluster.
  • the server device includes 3 endpoints other than endpoint 0, and their corresponding endpoint identifiers are endpoint 1, endpoint 2, and endpoint 3, respectively, then the first cluster may include endpoint identifiers of endpoint 1, endpoint 2, and endpoint 3.
  • information about the service endpoints included in the server device may be stored in a certain attribute element of the first cluster, that is, by querying the attribute element of the first cluster, it is possible to know which service endpoints the server device specifically includes.
  • the first cluster in addition to the endpoint identifier of the service endpoint, may also include one or more of the following information: the device type corresponding to the service endpoint, and information about other endpoints associated with/included by the service endpoint.
  • the information of the first cluster may also include: the device type corresponding to all service endpoints included in the server device, and/or information about other endpoints associated with/included by all service endpoints included in the server device.
  • the information of other endpoints associated with/included by the service endpoint may refer to the endpoint identifiers of other endpoints associated with/included by the service endpoint. For example, if endpoint 1 of the server device also includes endpoint 4, the information can also be obtained through the first cluster.
  • information of other endpoints associated with/included by the service endpoint may be stored in a property element of the first cluster, that is, by querying the property element of the first cluster, the association relationship and/or inclusion relationship between the endpoints included in the server device may be known.
  • endpoint 1 when there are nested endpoints (for example, endpoint 1 also includes endpoint 4), the information of endpoint 1 and endpoint 4 can be queried simultaneously through a certain attribute element of the first cluster. In some embodiments, when there are nested endpoints, the information of endpoint 1 and endpoint 4 can be queried together through a combination of attribute elements in the first cluster (for example, through two or more attribute elements).
  • the information of the first cluster may also include information of a cluster included in any service endpoint in the server device.
  • the information of the first cluster includes the information of the cluster contained in any service endpoint in the server device, which may refer to the first cluster including: the identifier of the cluster contained in the service endpoint in the server device, hereinafter referred to as the identifier of the cluster contained in the service endpoint in the first cluster.
  • the identifier of the cluster may refer to the cluster ID. For example, endpoint 1 includes cluster 1 and cluster 5, endpoint 2 includes cluster 2 and cluster 4, and endpoint 3 includes cluster 3, then the first cluster may include cluster IDs such as cluster 1, cluster 5, cluster 2, cluster 4 and cluster 3.
  • the information of the clusters included in the service endpoint may be stored in a certain attribute element of the first cluster, that is, by querying the attribute element of the first cluster, it is possible to know which clusters the server device specifically includes.
  • the first cluster may be a newly defined cluster.
  • a brand new first cluster may be defined under endpoint 0 of the server device for the client device to discover the capabilities of the server device.
  • the present application embodiment does not specifically limit the name of the first cluster.
  • the first cluster may be understood as a resource cluster, a capability cluster, etc.
  • the first cluster may also be called a resource cluster, a capability cluster, etc.
  • the first cluster may be a cluster obtained on the basis of an existing cluster. For example, if a descriptor cluster exists under endpoint 0 of a server device, the descriptor cluster under endpoint 0 may be modified to obtain a first cluster for the client device to discover the capability of the server device.
  • the embodiment of the present application does not limit the generation or formation method of the first cluster, as long as the first cluster exists on the server device side, it includes the information of all service endpoints contained in the server device and the information of the cluster contained in any service endpoint.
  • the first cluster may include a first attribute
  • the type of the first attribute may be a structure (e.g., a list)
  • information of all service endpoints included in the server device and information of the cluster included in any service endpoint may be obtained.
  • the first attribute is introduced below.
  • the first attribute may be referred to as an endpoint list (EndpointList) attribute, and the definition of the first attribute may refer to Table 3.
  • the type of the first attribute is a structure of list type (for example, it can be called EpStruct).
  • the access data quality of the first attribute includes read permission and view permission, that is, the client device can read or view the first attribute in the first cluster.
  • the consistency of the first attribute is M (mandatory), that is, the first cluster must include the first attribute.
  • the type of the first attribute is introduced below in conjunction with Table 4.
  • the structure (EpStruct) definition of the type of the first attribute may be as shown in Table 4.
  • EndpointNo is the corresponding endpoint identifier under each EpStruct.
  • DeviceTypeList may give the device type and corresponding version that EndpointNo complies with, for example, contained in DeviceTypeStruct.
  • DeviceTypeStruct may include two contents, one is DeviceTypeId, which may be used to describe the ID value of the device type; the other is Revision, which may be used to indicate the revision number of the device type.
  • the device type corresponding to the service endpoint may further include a first field, which is used to mark the device type corresponding to the service endpoint using one or more labels. That is, DeviceTypeStruct may include content other than DeviceTypeId and Revision, for example, it may further include a first field (which may be called a Label field) to describe the device type through the first field.
  • a first field which may be called a Label field
  • describing the device type through the first field may mean that the first field may be used to distinguish different labels of the same device type.
  • the corresponding Labels may be "main driver's window, sunroof, passenger driver's window, etc.”, and the same device type can be distinguished through different Labels.
  • the type of the first field may be a string type. In some embodiments, the first field may be a read-only type field.
  • PartsList can give a list of endpoint identifiers associated with or contained in EndpointNo.
  • the content in the list is also EndpointNo, which can be used to reflect the endpoint identifiers nested and contained under EndpointNo.
  • the structure of the type of the first attribute may include four rows (assuming that each row represents an endpoint), each row may include the endpoint identifier corresponding to the row, and the device type list, server cluster list, client cluster list, and component list corresponding to the endpoint identifier.
  • the endpoint identifier, device type list, server cluster list, client cluster list, and component list please refer to the previous text, which will not be repeated here.
  • the server cluster list corresponds to the server list in the previous text
  • the client cluster list corresponds to the client list in the previous text.
  • the client device can obtain information about all service endpoints contained in the server device and the identifier of the cluster contained in any service endpoint by reading the first cluster, without the client device initiating a read request operation to each service endpoint to read the identifier of the cluster contained in the service endpoint.
  • the client device after the client device obtains the identifier of the cluster included in each service endpoint, it is necessary to further query the global attributes of each cluster to obtain the capability of the server device.
  • the method may further include step S420.
  • step S420 the client device sends a second message to the server device, and the second message is used to read the attribute list in the global attributes under a cluster of the server device.
  • the attribute list in the global attributes under the cluster contains all the attribute IDs contained in the corresponding cluster instance. Therefore, by reading the attribute list under each cluster, the client device can know which attributes each cluster contains, and thus know the capabilities of the server device.
  • the content of the global attributes can refer to Table 2 above.
  • the command information of the cluster can be carried using two global attributes, for example, the request command list (AcceptedCommandList) is used to carry the command information of the client request command, and the response command list (GeneratedCommandList) is used to carry the command information of the client response command.
  • the command information of the cluster can refer to the command ID of the cluster, that is, the command ID of the cluster can be carried using two global attributes.
  • the command information of the cluster can be carried using a global attribute. That is, the cluster included in the service endpoint may include a first global attribute, and the command information of the cluster included in the service endpoint (including request command information and response command information) is recorded in the first global attribute.
  • the command information (for example, command ID) of the cluster included in the service endpoint can be recorded in a global attribute because the command ID defined in the cluster is non-repetitive and there is no need to distinguish whether it is a request command ID or a response command ID.
  • the global attributes of the cluster can also be expressed in the form of Table 5.
  • Table 5 uses only one global attribute to record the command information under the cluster, that is, the command ID contained in the command list in Table 5 includes both the command ID in the request command list and the command ID in the response command list in Table 2.
  • the command ID contained in the command list in Table 5 includes both the command ID in the request command list and the command ID in the response command list in Table 2.
  • the information of the first cluster in addition to the identifier of the cluster contained in any service endpoint, may also include one or more of the following information: attribute information of the cluster contained in the service endpoint, command information of the cluster contained in the service endpoint, and event information of the cluster contained in the service endpoint.
  • the attribute information of the cluster may refer to the attribute ID of the attribute contained in the cluster
  • the command information of the cluster may refer to the command ID of the command contained in the cluster
  • the event information of the cluster may refer to the event ID of the event contained in the cluster.
  • the client device can obtain all capabilities of the server device at one time by querying the first cluster.
  • the client device can complete the capability discovery of the server device by initiating a read request operation, which greatly reduces the interaction process between the client device and the server device, improves the acquisition efficiency, and thus improves the user experience.
  • the definition of the first attribute can still refer to Table 3, but the definition of the structure (EpStruct) of the type of the first attribute has changed.
  • the definition of the structure (EpStruct) of the type of the first attribute in this case is introduced below in conjunction with Table 6.
  • each service endpoint its corresponding [ClusterStruct] contains the cluster ID of all clusters corresponding to the service endpoint, as well as the attribute list, event list and command list contained in the cluster corresponding to the cluster ID. Therefore, when the attribute information, command information and event information of the cluster contained in each service endpoint are included in the first cluster, the client device can initiate a read request operation to complete the capability discovery of the server device.
  • the command information can be recorded using one attribute, or two or more attributes, which is not limited in the embodiments of the present application.
  • the command information is recorded using one attribute (CommandList); in some embodiments, the command information can also be recorded using two attributes (e.g., AcceptedCommandList and GeneratedCommandList).
  • the first cluster may be located in a first endpoint, wherein the device type of the first endpoint is a root node device type.
  • the first endpoint is endpoint 0, or the first endpoint is a root node endpoint.
  • the server device Since the server device must include endpoint 0, when the first cluster is defined under endpoint 0 of the server device, the client device can successfully read the information of the first cluster at one time without determining the location of the first cluster in advance, which is conducive to further improving user experience.
  • the embodiments of the present application are not limited to this, or in other words, the embodiments of the present application do not limit the storage location of the first cluster.
  • the first cluster can also be located in other locations.
  • the first cluster can be stored under other endpoints of the server device; or, the information of the first cluster can be stored in the server of the server device or other storage location, as long as the client device can access the first cluster.
  • the client device after the client device discovers the capabilities of the server device, it can control the server device based on the capabilities of the server device. For example, taking the server device as a car device, after the client device discovers the capabilities of the car device, it finds that it can control the car device to open the window, turn on the air conditioner, etc. Based on this, the client device can send a command to the server device, and the command can be used to operate a cluster of server devices (e.g., an application cluster) to control opening the window, turning on the air conditioner, etc.
  • a cluster of server devices e.g., an application cluster
  • Embodiment 1 is a diagrammatic representation of Embodiment 1:
  • a first cluster is defined in endpoint 0.
  • the first cluster may be a completely new cluster defined under endpoint 0, or a new cluster may be formed by modifying the descriptor cluster in endpoint 0.
  • the first cluster includes a first attribute.
  • For the content of the first attribute please refer to the above text (for example, Table 3).
  • the information of the first cluster includes the information of all the service endpoints included in the server device (for example, the endpoint identifiers of all the service endpoints, the device types corresponding to the service endpoints, and the endpoint information of other endpoints included in the service endpoints), as well as the identifier of the cluster included in any one of the service endpoints.
  • Figure 6 is a flow chart of a method for device capability discovery provided by another embodiment of the present application.
  • step S610 the client device reads the first cluster under endpoint 0 of the server device.
  • step S620 the server device returns attribute information of the first cluster under endpoint 0 to the client device.
  • step S630 the client device obtains all service endpoints of the server device and the clusters corresponding to the service endpoints.
  • the client device may learn in step S630 which service endpoints the server device includes and which clusters are included under each service endpoint.
  • step S640 the client device reads a property list in the global properties under a certain cluster of the server device.
  • step S650 the server device returns information of the attribute list in the global attributes of the cluster to the client device.
  • the client device can learn which attributes are included in each cluster, and thus learn the capabilities of the server device.
  • the server device includes three endpoints (endpoint 1, endpoint 2, and endpoint 3) except endpoint 0, endpoint 1 includes cluster 1 and cluster 5, endpoint 2 includes cluster 2 and cluster 4, and endpoint 3 includes cluster 3.
  • the client device can learn that the server device includes the above-mentioned endpoints and clusters.
  • the global attributes of clusters 1 to 5 can be read respectively, so as to learn the capabilities of the server device.
  • Embodiment 2 is a diagrammatic representation of Embodiment 1:
  • a first cluster is defined in endpoint 0.
  • the first cluster may be a completely new cluster defined under endpoint 0, or a new cluster may be formed by modifying the descriptor cluster in endpoint 0.
  • the first cluster includes a first attribute.
  • For the content of the first attribute please refer to the above text (for example, Table 3).
  • the information of the first cluster includes the information of all service endpoints contained in the service-side device (for example, the endpoint identifiers of all service endpoints, the device types corresponding to the service endpoints, and the endpoint information of other endpoints contained in the service endpoints), as well as the identifier of the cluster contained in any service endpoint, the attribute information of the cluster, the event information of the cluster, and the command information of the cluster.
  • the service-side device for example, the endpoint identifiers of all service endpoints, the device types corresponding to the service endpoints, and the endpoint information of other endpoints contained in the service endpoints
  • Figure 7 is a flow chart of a method for device capability discovery provided by another embodiment of the present application.
  • step S710 the client device reads the first cluster under endpoint 0 of the server device.
  • step S720 the server device returns attribute information of the first cluster under endpoint 0 to the client device.
  • step S730 the client device obtains all service endpoints of the server device, the clusters corresponding to the service endpoints, and the corresponding attributes, events and commands under each cluster.
  • the client device can learn in step S730 which service endpoints the server device includes, which clusters each service endpoint includes, and specifically which attributes, events and commands each cluster includes.
  • step S730 the client device can learn the capabilities of the server device.
  • the server device includes three endpoints (endpoint 1, endpoint 2, and endpoint 3) in addition to endpoint 0, endpoint 1 includes cluster 1 and cluster 5, endpoint 2 includes cluster 2 and cluster 4, and endpoint 3 includes cluster 3.
  • the client device can learn that the server device includes the above-mentioned endpoints, clusters, and the attributes, events, and commands contained in each cluster, thereby learning the capabilities of the server device. In other words, the client device only needs to initiate a read request operation once to obtain all the capabilities of the server device.
  • FIG8 is a schematic diagram of the structure of a server device provided in an embodiment of the present application.
  • the server device 800 shown in FIG8 may include a receiving module 810 .
  • the receiving module 810 can be used to receive a first message sent by a client device, and the first message is used to query a first cluster; wherein the information of the first cluster is used by the client device to discover the capability of the server device, and the information of the first cluster includes: information of all service endpoints contained in the server device; and information of the cluster contained in any one of all the service endpoints.
  • the information of the service endpoint includes an endpoint identifier of the service endpoint.
  • the information of the service endpoint further includes one or more of the following information: a device type corresponding to the service endpoint, and information of other endpoints associated with/included by the service endpoint.
  • the device type corresponding to the service endpoint includes a first field, and the first field is used to mark the device type corresponding to the service endpoint with one or more tags.
  • the information of the cluster included in the service endpoint includes an identifier of the cluster included in the service endpoint.
  • the cluster information contained in the service endpoint further includes one or more of the following information: attribute information of the cluster contained in the service endpoint, command information of the cluster contained in the service endpoint, and event information of the cluster contained in the service endpoint.
  • the cluster included in the service endpoint includes a first global attribute
  • the command information of the cluster included in the service endpoint includes request command information and response command information for the cluster included in the service endpoint, wherein the request command information and the response command information are both recorded in the first global attribute.
  • the server device includes a first endpoint, a device type of the first endpoint is a root node device type, and the first endpoint includes the first cluster.
  • Fig. 9 is a schematic diagram of the structure of a client device provided in an embodiment of the present application.
  • the client device 900 shown in Fig. 9 may include a sending module 910.
  • the sending module 910 can be used to send a first message to the server device, and the first message is used to query the first cluster; wherein the information of the first cluster is used by the client device to discover the capabilities of the server device, and the information of the first cluster includes: information of all service endpoints contained in the server device; and information of the cluster contained in any one of all the service endpoints.
  • the information of the service endpoint includes an endpoint identifier of the service endpoint.
  • the information of the service endpoint further includes one or more of the following information: a device type corresponding to the service endpoint, and information of other endpoints associated with/included by the service endpoint.
  • the device type corresponding to the service endpoint includes a first field, and the first field is used to mark the device type corresponding to the service endpoint with one or more tags.
  • the information of the cluster included in the service endpoint includes an identifier of the cluster included in the service endpoint.
  • the cluster information contained in the service endpoint further includes one or more of the following information: attribute information of the cluster contained in the service endpoint, command information of the cluster contained in the service endpoint, and event information of the cluster contained in the service endpoint.
  • the cluster included in the service endpoint includes a first global attribute
  • the command information of the cluster included in the service endpoint includes request command information and response command information for the cluster included in the service endpoint, wherein the request command information and the response command information are both recorded in the first global attribute.
  • the server device includes a first endpoint, a device type of the first endpoint is a root node device type, and the first endpoint includes the first cluster.
  • FIG10 is a schematic structural diagram of a communication device according to an embodiment of the present application.
  • the dotted lines in FIG10 indicate that the unit or module is optional.
  • the device 1000 may be used to implement the method described in the above method embodiment.
  • the device 1000 may be a chip, a server device, or a client device.
  • the device 1000 may include one or more processors 1010.
  • the processor 1010 may support the device 1000 to implement the method described in the method embodiment above.
  • the processor 1010 may be a general-purpose processor or a special-purpose processor.
  • the processor may be a central processing unit (CPU).
  • the processor may also be other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
  • DSP digital signal processor
  • ASIC application specific integrated circuits
  • FPGA field programmable gate arrays
  • a general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc.
  • the apparatus 1000 may further include one or more memories 1020.
  • the memory 1020 stores a program, which can be executed by the processor 1010, so that the processor 1010 executes the method described in the above method embodiment.
  • the memory 1020 may be independent of the processor 1010 or integrated in the processor 1010.
  • the apparatus 1000 may further include a transceiver 1030.
  • the processor 1010 may communicate with other devices or chips through the transceiver 1030.
  • the processor 1010 may transmit and receive data with other devices or chips through the transceiver 1030.
  • the present application also provides a computer-readable storage medium for storing a program.
  • the computer-readable storage medium can be applied to the server device or client device provided in the present application, and the program enables the computer to execute the method performed by the server device or client device in each embodiment of the present application.
  • the embodiment of the present application also provides a computer program product.
  • the computer program product includes a program.
  • the computer program product can be applied to the server device or client device provided in the embodiment of the present application, and the program enables the computer to execute the method performed by the server device or client device in each embodiment of the present application.
  • the embodiment of the present application also provides a computer program.
  • the computer program can be applied to the server device or client device provided in the embodiment of the present application, and the computer program enables a computer to execute the method executed by the server device or client device in each embodiment of the present application.
  • the "indication" mentioned can be a direct indication, an indirect indication, or an indication of an association relationship.
  • a indicates B which can mean that A directly indicates B, for example, B can be obtained through A; it can also mean that A indirectly indicates B, for example, A indicates C, B can be obtained through C; it can also mean that there is an association relationship between A and B.
  • B corresponding to A means that B is associated with A, and B can be determined according to A.
  • determining B according to A does not mean determining B only according to A, and B can also be determined according to A and/or other information.
  • the term "corresponding" may indicate that there is a direct or indirect correspondence between the two, or an association relationship between the two, or a relationship of indication and being indicated, configuration and being configured, etc.
  • pre-definition or “pre-configuration” can be implemented by pre-saving corresponding codes, tables or other methods that can be used to indicate relevant information in a device (for example, including a server device and a client device), and the present application does not limit the specific implementation method.
  • pre-definition can refer to what is defined in the protocol.
  • the “protocol” may refer to a standard protocol in the communication field, for example, it may include an LTE protocol, an NR protocol, and related protocols used in future communication systems, and the present application does not limit this.
  • the term "and/or" is only a description of the association relationship of the associated objects, indicating that there can be three relationships.
  • a and/or B can represent: A exists alone, A and B exist at the same time, and B exists alone.
  • the character "/" in this article generally indicates that the associated objects before and after are in an "or" relationship.
  • the size of the serial numbers of the above-mentioned processes does not mean the order of execution.
  • the execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
  • the disclosed systems, devices and methods can be implemented in other ways.
  • the device embodiments described above are only schematic.
  • the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed.
  • Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the computer program product includes one or more computer instructions.
  • the computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device.
  • the computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium.
  • the computer instructions can be transmitted from a website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (digital subscriber line, DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center.
  • the computer-readable storage medium can be any available medium that can be read by a computer or a data storage device such as a server or data center that includes one or more available media integrated.
  • the available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a magnetic tape), an optical medium (e.g., a digital video disc (DVD)), or a semiconductor medium (e.g., a solid state disk (SSD)), etc.
  • a magnetic medium e.g., a floppy disk, a hard disk, a magnetic tape
  • an optical medium e.g., a digital video disc (DVD)
  • DVD digital video disc
  • SSD solid state disk

Abstract

Provided are a method for device capability discovery, a server device, and a client device. The method comprises: a server device receiving a first message sent by a client device, the first message being used to query a first cluster, information of the first cluster being used by the client device to discover a capability of the server device, and the information of the first cluster comprising: information of all service endpoints included in the server device, and information of a cluster included in any service endpoint among all the service endpoints. In embodiments of the present application, the first cluster comprises information about all the service endpoints included in the server device, and information of clusters included in each service endpoint. Compared with a conventional client device, which needs to execute multiple read request operations to acquire information about clusters included in each service endpoint, the number of interactions between the client device and the server device can be reduced, acquisition efficiency can be increased, and the user experience can be improved.

Description

用于设备能力发现的方法、服务端设备和客户端设备Method, server device and client device for device capability discovery 技术领域Technical Field
本申请涉及物联网技术领域,并且更为具体地,涉及一种用于设备能力发现的方法、服务端设备和客户端设备。The present application relates to the technical field of Internet of Things, and more specifically, to a method for device capability discovery, a server device, and a client device.
背景技术Background technique
某些场景下,客户端设备需要对服务端设备进行能力发现,以便根据服务端设备的能力对其进行控制。相关技术中,客户端设备需要进行多次读取请求操作,才可能将服务端设备的能力全部发现。采用这种方式进行服务端设备的能力发现,导致客户端设备和服务端设备的交互流程复杂,效率低下,进而影响用户体验。In some scenarios, the client device needs to perform capability discovery on the server device in order to control it according to the capabilities of the server device. In related technologies, the client device needs to perform multiple read request operations to discover all the capabilities of the server device. Using this method to discover the capabilities of the server device makes the interaction process between the client device and the server device complicated and inefficient, which in turn affects the user experience.
发明内容Summary of the invention
本申请提供一种用于设备能力发现的方法、服务端设备和客户端设备。下面对本申请涉及的各个方面进行介绍。The present application provides a method for device capability discovery, a server device and a client device. The following introduces various aspects involved in the present application.
第一方面,提供了一种用于设备能力发现的方法,包括:服务端设备接收客户端设备发送的第一消息,所述第一消息用于查询第一集群;其中,所述第一集群的信息用于所述客户端设备发现所述服务端设备的能力,所述第一集群的信息包括:所述服务端设备包含的所有的业务端点的信息;以及所述所有的业务端点中的任意一个业务端点包含的集群的信息。In a first aspect, a method for device capability discovery is provided, comprising: a server device receives a first message sent by a client device, the first message being used to query a first cluster; wherein information of the first cluster is used by the client device to discover capabilities of the server device, the information of the first cluster comprising: information of all service endpoints contained in the server device; and information of a cluster contained in any one of the service endpoints.
第二方面,提供了一种用于设备能力发现的方法,包括:客户端设备向服务端设备发送第一消息,所述第一消息用于查询第一集群;其中,所述第一集群的信息用于所述客户端设备发现所述服务端设备的能力,所述第一集群的信息包括:所述服务端设备包含的所有的业务端点的信息;以及所述所有的业务端点中的任意一个业务端点包含的集群的信息。In a second aspect, a method for device capability discovery is provided, comprising: a client device sends a first message to a server device, the first message being used to query a first cluster; wherein information of the first cluster is used by the client device to discover capabilities of the server device, the information of the first cluster comprising: information of all service endpoints contained in the server device; and information of a cluster contained in any one of the service endpoints.
第三方面,提供了一种服务端设备,包括:接收模块,用于接收客户端设备发送的第一消息,所述第一消息用于查询第一集群;其中,所述第一集群的信息用于所述客户端设备发现所述服务端设备的能力,所述第一集群的信息包括:所述服务端设备包含的所有的业务端点的信息;以及所述所有的业务端点中的任意一个业务端点包含的集群的信息。According to a third aspect, a server device is provided, comprising: a receiving module, used to receive a first message sent by a client device, the first message being used to query a first cluster; wherein the information of the first cluster is used by the client device to discover the capability of the server device, the information of the first cluster comprising: information of all service endpoints contained in the server device; and information of a cluster contained in any one of the service endpoints.
第四方面,提供了一种客户端设备,包括:发送模块,用于向服务端设备发送第一消息,所述第一消息用于查询第一集群;其中,所述第一集群的信息用于所述客户端设备发现所述服务端设备的能力,所述第一集群的信息包括:所述服务端设备包含的所有的业务端点的信息;以及所述所有的业务端点中的任意一个业务端点包含的集群的信息。In a fourth aspect, a client device is provided, comprising: a sending module, used to send a first message to a server device, the first message being used to query a first cluster; wherein the information of the first cluster is used by the client device to discover the capabilities of the server device, and the information of the first cluster includes: information of all service endpoints contained in the server device; and information of the cluster contained in any one of the all service endpoints.
第五方面,提供了一种服务端设备,包括处理器、存储器以及通信接口,所述存储器用于存储一个或多个计算机程序,所述处理器用于调用所述存储器中的计算机程序使得所述服务端设备执行第一方面的方法中的部分或全部步骤。In a fifth aspect, a server device is provided, comprising a processor, a memory and a communication interface, wherein the memory is used to store one or more computer programs, and the processor is used to call the computer program in the memory so that the server device executes part or all of the steps in the method of the first aspect.
第六方面,提供了一种客户端设备,包括处理器、存储器以及通信接口,所述存储器用于存储一个或多个计算机程序,所述处理器用于调用所述存储器中的计算机程序使得所述客户端设备执行第二方面的方法中的部分或全部步骤。In the sixth aspect, a client device is provided, comprising a processor, a memory and a communication interface, wherein the memory is used to store one or more computer programs, and the processor is used to call the computer program in the memory so that the client device executes part or all of the steps in the method of the second aspect.
第七方面,本申请实施例提供了一种通信系统,该系统包括上述的服务端设备和/或客户端设备。在另一种可能的设计中,该系统还可以包括本申请实施例提供的方案中与该服务端设备或客户端设备进行交互的其他设备。In a seventh aspect, an embodiment of the present application provides a communication system, which includes the above-mentioned server device and/or client device. In another possible design, the system may also include other devices that interact with the server device or client device in the solution provided by the embodiment of the present application.
第八方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序使得服务端设备或客户端设备执行上述各个方面的方法中的部分或全部步骤。In an eighth aspect, an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and the computer program enables a server device or a client device to execute part or all of the steps in the methods of the above aspects.
第九方面,本申请实施例提供了一种计算机程序产品,其中,所述计算机程序产品包 括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使服务端设备或客户端设备执行上述各个方面的方法中的部分或全部步骤。在一些实现方式中,该计算机程序产品可以为一个软件安装包。In a ninth aspect, an embodiment of the present application provides a computer program product, wherein the computer program product includes a non-transitory computer-readable storage medium storing a computer program, and the computer program is operable to cause a server device or a client device to perform some or all of the steps in the above-mentioned various aspects of the method. In some implementations, the computer program product can be a software installation package.
第十方面,本申请实施例提供了一种芯片,该芯片包括存储器和处理器,处理器可以从存储器中调用并运行计算机程序,以实现上述各个方面的方法中所描述的部分或全部步骤。In the tenth aspect, an embodiment of the present application provides a chip, which includes a memory and a processor. The processor can call and run a computer program from the memory to implement some or all of the steps described in the methods of the above aspects.
本申请实施例中,第一集群中包括服务端设备所包含的所有的业务端点的信息以及各业务端点所包含的集群的信息。与传统的客户端设备需要执行多次读取请求操作来获取各业务端点所包含的集群的信息相比,能够减少客户端设备与服务端设备交互的次数,提高获取效率,进而提升用户体验。In the embodiment of the present application, the first cluster includes information of all service endpoints contained in the server device and information of the cluster contained in each service endpoint. Compared with the traditional client device that needs to perform multiple read request operations to obtain the information of the cluster contained in each service endpoint, the number of interactions between the client device and the server device can be reduced, the acquisition efficiency can be improved, and the user experience can be improved.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
图1为本申请实施例适用的Matter设备的数据模型结构的示意图。FIG1 is a schematic diagram of a data model structure of a Matter device applicable to an embodiment of the present application.
图2为本申请实施例适用的通信系统的系统架构示例图。FIG2 is a diagram showing an example of a system architecture of a communication system to which an embodiment of the present application is applicable.
图3为传统的用于设备能力发现的方法的流程示意图。FIG. 3 is a flow chart of a conventional method for device capability discovery.
图4为本申请一实施例提供的用于设备能力发现的方法的流程示意图。FIG. 4 is a flow chart of a method for device capability discovery provided in an embodiment of the present application.
图5为本申请另一实施例提供的用于设备能力发现的方法的流程示意图。FIG5 is a flow chart of a method for device capability discovery provided in another embodiment of the present application.
图6为本申请又一实施例提供的用于设备能力发现的方法的流程示意图。FIG6 is a flow chart of a method for device capability discovery provided in yet another embodiment of the present application.
图7为本申请又一实施例提供的用于设备能力发现的方法的流程示意图。FIG. 7 is a flow chart of a method for device capability discovery provided in yet another embodiment of the present application.
图8为本申请实施例提供的服务端设备的结构示意图。FIG8 is a schematic diagram of the structure of a server device provided in an embodiment of the present application.
图9为本申请实施例提供的客户端设备的结构示意图。FIG. 9 is a schematic diagram of the structure of a client device provided in an embodiment of the present application.
图10为本申请实施例提供的通信装置的示意性结构图。FIG. 10 is a schematic structural diagram of a communication device provided in an embodiment of the present application.
具体实施方式Detailed ways
下面将结合附图,对本申请中的技术方案进行描述。为了便于理解,下文结合图1和图2介绍本申请实施例涉及的术语。需要说明的是,下文以Matter协议的场景为例,介绍本申请实施例涉及的术语,以及本申请实施例的方案。当然,本申请实施例的方案还可以应用于其他物联网协议。The technical solution in the present application will be described below in conjunction with the accompanying drawings. For ease of understanding, the terms involved in the embodiments of the present application are introduced below in conjunction with Figures 1 and 2. It should be noted that the following takes the scenario of the Matter protocol as an example to introduce the terms involved in the embodiments of the present application and the solutions of the embodiments of the present application. Of course, the solutions of the embodiments of the present application can also be applied to other Internet of Things protocols.
需要说明的是,下面介绍的术语可以与后文描述的技术方案进行任意结合,其均属于本申请实施例的一部分。It should be noted that the terms introduced below can be arbitrarily combined with the technical solutions described later, and they all belong to part of the embodiments of the present application.
物联网(internet of things,IoT)即“万物相连的互联网”,其是在互联网基础上延伸和扩展的网络,可以通过各种信息传感设备(如射频识别、全球定位系统等)将任何物品与互联网连接起来形成一个巨大的网络,进行信息交换和通信,以实现万物之间的互联互通。在一些实施例中,物联网设备可以是智能家居设备,例如,物联网设备可以包括智能空调、智能冰箱、洗衣机、电饭煲、扫地机器人等设备。在一些实施例中,物联网设备可以是智能监控设备,例如,物联网设备可以包括监控摄像头、温度传感器、声音传感器等。The Internet of Things (IoT) is the "Internet of Everything Connected". It is a network that extends and expands on the basis of the Internet. It can connect any object to the Internet through various information sensing devices (such as radio frequency identification, global positioning system, etc.) to form a huge network for information exchange and communication to achieve interconnection between all things. In some embodiments, the IoT device can be a smart home device. For example, the IoT device can include smart air conditioners, smart refrigerators, washing machines, rice cookers, sweeping robots and other devices. In some embodiments, the IoT device can be a smart monitoring device. For example, the IoT device can include monitoring cameras, temperature sensors, sound sensors, etc.
目前,不同厂家可能使用不同的通信协议(也可以称为生态链协议),实现支持该通信协议的物联网设备之间的互联互通,这样可能导致不同厂家生产的物联网设备之间不能通信,不能达到真正的万物互联。At present, different manufacturers may use different communication protocols (also called ecological chain protocols) to achieve interconnection between IoT devices that support the communication protocols. This may lead to the inability of IoT devices produced by different manufacturers to communicate with each other, and the true interconnection of all things cannot be achieved.
基于此,连接标准联盟(connectivity standards alliance,CSA)推出一种物联网应用层技术标准—Matter标准协议,其可以提供基于互联网协议(internet protocol,IP)的智能家居设备的可互操作的应用层解决方案。在一些实施例中,Matter标准也可以称为基于IP的互联家居(connected home over IP,CHIP)标准。在一些实施例中,Matter标准可以支持以太网、Wi-Fi和Thread三种底层通信协议,并且可以让不同协议的物联网设备互相通信。Based on this, the Connectivity Standards Alliance (CSA) launched an IoT application layer technology standard - Matter standard protocol, which can provide an interoperable application layer solution for smart home devices based on the Internet Protocol (IP). In some embodiments, the Matter standard can also be called the connected home over IP (CHIP) standard. In some embodiments, the Matter standard can support three underlying communication protocols: Ethernet, Wi-Fi, and Thread, and can allow IoT devices with different protocols to communicate with each other.
Matter设备的数据模型Data Model of Matter Device
图1是本申请实施例适用的Matter设备的数据模型结构。Matter设备的数据模型结构 100包括节点(node)110、端点(endpoint)120、集群(cluster)130。FIG1 is a data model structure of a Matter device applicable to an embodiment of the present application. The data model structure 100 of the Matter device includes a node 110, an endpoint 120, and a cluster 130.
节点(node)110,封装了网络上可寻址的、唯一的资源,具有一组功能和能力,用户可以清楚地将其视为一个功能整体。通常,节点110可以是数据模型中最高或最外层的一阶元素。或者说,节点110是数据模型最外层唯一的可寻址元素。因此,节点可以代表一个设备节点,属于逻辑设备。Node 110 encapsulates an addressable, unique resource on the network, has a set of functions and capabilities, and can be clearly viewed by the user as a functional whole. Generally, node 110 can be the highest or outermost first-order element in the data model. In other words, node 110 is the only addressable element at the outermost layer of the data model. Therefore, the node can represent a device node and belongs to a logical device.
一个物理实体(例如,Matter设备)可以是一个节点110,或者说,节点110可以是指Matter设备节点。需要说明的是,一个节点可以有多个节点标识(identifier,ID),每个节点ID的作用域是一个特定的网络(fabric)。例如,当节点ID被用作交互的目标地址时,指定节点ID作用域的网络就是交互的访问网络。A physical entity (e.g., a Matter device) may be a node 110, or in other words, a node 110 may refer to a Matter device node. It should be noted that a node may have multiple node identifiers (IDs), and the scope of each node ID is a specific network (fabric). For example, when a node ID is used as a target address for an interaction, the network that specifies the scope of the node ID is the access network for the interaction.
一个节点可以包括一个或多个端点120。端点120是一个实例,它可以是一个服务实例或一个虚拟设备,由设备类型(device type)指示。每个端点120都符合一个或多个设备类型定义,这些设备类型定义了端点支持的集群。在一些实施例中,端点可以理解为是由设备类型指示的服务实例/虚拟设备。而集群是在端点上实例化的对象类。A node may include one or more endpoints 120. An endpoint 120 is an instance, which may be a service instance or a virtual device, indicated by a device type. Each endpoint 120 conforms to one or more device type definitions, which define the clusters supported by the endpoint. In some embodiments, an endpoint may be understood as a service instance/virtual device indicated by a device type. A cluster is an object class instantiated on an endpoint.
需要说明的是,在这个体系结构模型中,上述设备类型可以是最高语义元素。设备类型定义了一组端点120的符合性。设备类型为节点110或端点120定义了一组需求。It should be noted that in this architecture model, the device type can be the highest semantic element. The device type defines the conformance of a set of endpoints 120. The device type defines a set of requirements for a node 110 or an endpoint 120.
在一些实施例中,端点可以分为端点0(endpoint 0)和业务端点两类。端点0可以理解为是节点中的第一个端点,端点0的设备类型为“根节点”设备类型(root node device type)。在一些实施例中,端点0也可以称为根节点端点(root node endpoint)。每个节点下面必须包含端点0。业务端点可以理解为是节点中除端点0之外的任意一个端点。业务端点可以支持节点的主要操作,例如,业务端点下可以包括一个或多个应用程序集群。In some embodiments, endpoints can be divided into two categories: endpoint 0 and business endpoints. Endpoint 0 can be understood as the first endpoint in a node, and the device type of endpoint 0 is the "root node" device type. In some embodiments, endpoint 0 can also be called the root node endpoint. Endpoint 0 must be included under each node. A business endpoint can be understood as any endpoint in a node except endpoint 0. A business endpoint can support the main operations of a node. For example, a business endpoint can include one or more application clusters.
每个端点120可以是一类功能的集合,其可以包含一个或多个集群130。Each endpoint 120 may be a collection of functions, which may include one or more clusters 130 .
集群130是数据模型的功能构建块元素,或者说,集群130属于构建功能集合的元素。在一些实施例中,集群也可以称为功能集、功能集合、功能集群、群集等,本申请实施例对此并不限定。集群规范定义了通过交互相互对应的客户端(client)和服务端(server),换句话说,集群130可以包含两种角色,分别为客户端和服务端,其中,客户端属于控制端,服务端属于被控端。集群130可以被视为接口、服务或对象类,是数据模型中最低的独立功能元素。Cluster 130 is a functional building block element of the data model, or in other words, cluster 130 belongs to an element that builds a function set. In some embodiments, a cluster may also be referred to as a function set, a function set, a function cluster, a cluster, etc., which is not limited by the embodiments of the present application. The cluster specification defines a client and a server that correspond to each other through interaction. In other words, cluster 130 may include two roles, namely, a client and a server, wherein the client belongs to the control end and the server belongs to the controlled end. Cluster 130 may be regarded as an interface, a service or an object class, and is the lowest independent functional element in the data model.
通常,上述集群可以分为实用程序集群(utility cluster)和应用程序集群(application cluster)两类。Generally, the above clusters can be divided into two categories: utility clusters and application clusters.
实用程序集群不是端点的主要应用程序操作的一部分。实用程序集群可以用于配置、发现、寻址、诊断、监视设备运行状况、软件更新等。实用程序集群可能与它的集群对等物(cluster counterpart)有一个临时的关系。在本申请实施例中,实用程序集群可以包括描述符集群(descriptor cluster)。当然,本申请实施例并不限定于此,实用程序集群例如还可以包括绑定集群(binding cluster)等其他集群。The utility cluster is not part of the main application operation of the endpoint. The utility cluster can be used for configuration, discovery, addressing, diagnosis, monitoring device health, software updates, etc. The utility cluster may have a temporary relationship with its cluster counterpart. In an embodiment of the present application, the utility cluster may include a descriptor cluster. Of course, the embodiment of the present application is not limited to this. The utility cluster may also include other clusters such as a binding cluster.
应用程序集群支持端点的主要操作,在一些实施例中,应用程序集群也可以称为业务集群。应用程序集群可以支持客户端和服务端之间的一个或多个持久应用程序的交互。例如,智能电灯中的开关集群(On/Off cluster),客户端可以向服务端(即,开关集群)发送控制命令,以控制智能电灯的开关。An application cluster supports the main operations of an endpoint. In some embodiments, an application cluster may also be referred to as a business cluster. An application cluster may support the interaction of one or more persistent applications between a client and a server. For example, in a switch cluster (On/Off cluster) in a smart light, a client may send a control command to a server (i.e., a switch cluster) to control the switch of a smart light.
在一些实施例中,业务集群可以是指除节点中的端点0之外的其他端点上的集群,即业务端点上的集群。In some embodiments, the service cluster may refer to a cluster on other endpoints except endpoint 0 in the node, that is, a cluster on a service endpoint.
应用程序集群不是实用程序集群,即使它本身可能支持实用程序功能,例如校准、操作模式等。应用程序集群规范不应涉及其应用领域之外的层和进程。An application cluster is not a utility cluster, even though it may natively support utility functionality such as calibration, operation modes, etc. An application cluster specification should not involve layers and processes outside of its application domain.
通常,每个集群130都可以由一个集群规范定义,该规范定义了集群130的元素,包括属性(attribute)、事件(event)、命令(command)以及与这些元素交互相关的行为。在一些实施例中,属性、命令、事件也可以称为集群130的接口单元,可以通过这三种接 口单元提供相应的功能。Typically, each cluster 130 may be defined by a cluster specification, which defines the elements of the cluster 130, including attributes, events, commands, and behaviors related to the interactions between these elements. In some embodiments, attributes, commands, and events may also be referred to as interface units of the cluster 130, and corresponding functions may be provided through these three interface units.
在一些实施例中,集群130中的属性、事件、命令和行为是强制性的还是可选的,取决于集群130的定义。In some embodiments, attributes, events, commands, and behaviors in cluster 130 are mandatory or optional, depending on the definition of cluster 130 .
下面对集群的命令、属性、以及事件等主要元素进行简单介绍。The following is a brief introduction to the main elements of the cluster, including commands, properties, and events.
属性可以用于描述集群中的功能单元,一个集群可以包含0或多个属性。属性是集群数据。目前,协议中约定,每个属性可以列在一个表中,该表定义的属性的数据质量列可以包括:ID、名称、(数据)类型(type)、约束(constraint)、其他质量、访问、默认(值)和符合性。在一些实现方式中,属性还可以定义其相关的语义和行为。属性可以反映设备的可查询/可设置的状态、配置和能力。在一些情况下,如果没有为属性显式定义特权,则默认的访问特权生效。Attributes can be used to describe functional units in a cluster, and a cluster can contain 0 or more attributes. Attributes are cluster data. Currently, the protocol stipulates that each attribute can be listed in a table, and the data quality columns of the attributes defined in the table can include: ID, name, (data) type (type), constraint (constraint), other qualities, access, default (value) and compliance. In some implementations, attributes can also define their related semantics and behaviors. Attributes can reflect the queryable/settable status, configuration, and capabilities of a device. In some cases, if privileges are not explicitly defined for an attribute, the default access privilege is in effect.
集群命令(又称“命令”)可以用于描述对集群的控制,一个集群可以包含0或多个命令。命令是一组数据字段,每个数据类型在客户端和服务端集群实例之间传递,以调用命令接收者的行为。目前,协议中约定,每个命令都可以列在一个表中,该表可以包含命令的数据质量列:标识(ID)、名称(name)、方向(direction)、响应(response)、访问(access)、符合性(conformance)。相应地,一条命令可以指示一个表中定义的零个或多个字段。每个命令字段定义为表中的一行。Cluster commands (also called "commands") can be used to describe the control of a cluster. A cluster can contain 0 or more commands. A command is a set of data fields, each data type is passed between the client and server cluster instances to invoke the behavior of the command recipient. Currently, the protocol stipulates that each command can be listed in a table, which can contain data quality columns for the command: identification (ID), name (name), direction (direction), response (response), access (access), and conformance (conformance). Accordingly, a command can indicate zero or more fields defined in a table. Each command field is defined as a row in the table.
事件可以用于描述对集群过去发生过的具体行为的记录,或者说事件定义了过去发生的事情的记录。在这方面,事件记录可以被认为是一个日志条目,该日志条目可以通过事件记录流提供节点上的事件的时间顺序视图。一个集群可以包含0或多个事件。与属性不同,属性不提供任何临界点保留(edge-preserving)的功能(也就是说,不保证每一个属性的变化都会传递给观察者),事件允许捕捉每一个单独的临界点或变化,并可靠地传递给观察者。这对于依赖于正确行为保证的安全和安全应用程序至关重要。目前,协议中规定,每个集群事件可以列在一个表中,该表定义的事件的数据质量列可以包括:ID、优先级(priority)、访问、符合性。Events can be used to describe a record of a specific behavior that has occurred in the cluster in the past, or events define a record of what happened in the past. In this regard, an event record can be thought of as a log entry that provides a chronological view of events on a node through an event record stream. A cluster can contain 0 or more events. Unlike attributes, which do not provide any edge-preserving functionality (that is, there is no guarantee that every change in an attribute will be delivered to the observer), events allow each individual edge or change to be captured and reliably delivered to the observer. This is critical for safety and security applications that rely on guarantees of correct behavior. Currently, the protocol stipulates that each cluster event can be listed in a table, and the data quality columns of the event defined in the table can include: ID, priority, access, and compliance.
为了便于理解,下文介绍命令、属性和事件中包含的几种常见的数据质量的含义。需要说明的是,本申请实施例中的命令、属性和事件中还可以包含其他数据质量,或者包含上述数据质量中的部分。本申请实施例对此不作限定。For ease of understanding, the following describes the meanings of several common data qualities contained in commands, attributes, and events. It should be noted that the commands, attributes, and events in the embodiments of the present application may also include other data qualities, or include parts of the above data qualities. The embodiments of the present application do not limit this.
标识,表示字段的唯一字段ID,或者说,是命令(或,属性、事件)的唯一标识。Identifier, which indicates the unique field ID of a field, or the unique identifier of a command (or attribute, event).
名称,表示字段的唯一名称,或者说,表示命令(或,属性)的名称。Name, which indicates the unique name of the field, or the name of the command (or attribute).
类型,表示字段的数据类型,或者说,表示命令参数(或,属性参数)的数据类型。Type indicates the data type of the field, or the data type of the command parameter (or attribute parameter).
方向,通常存在于命令列表中,用于定义命令的传输方向,例如,可以定义为从客户端到服务端。又例如,可以定于为从服务端到客户端。Direction, usually present in the command list, is used to define the transmission direction of the command, for example, it can be defined as from the client to the server. For another example, it can be defined as from the server to the client.
访问权限,用于定义一个元素如何被访问(例如读或写)以及访问该数据需要哪些权限。在一些实现方式中,访问权限可以包括V,V表示读取访问或调用访问需要视图特权。访问权限还可以包括O,O表示“读访问”、“写访问”或“调用访问”需要操作权限。访问权限还可以包括R,R表示读访问。访问权限还可以包括W,W表示写访问。Access permissions, which define how an element can be accessed (e.g., read or write) and what permissions are required to access the data. In some implementations, access permissions may include V, which indicates that read access or call access requires view privileges. Access permissions may also include O, which indicates that "read access", "write access", or "call access" requires operation permissions. Access permissions may also include R, which indicates read access. Access permissions may also include W, which indicates write access.
响应,通常存在于命令列表中,用于定义命令的响应消息。Response, usually exists in the command list, and is used to define the response message of the command.
质量,用于定义其他列中没有涉及的其他数据质量。Quality, used to define additional data qualities not covered in other columns.
默认,用于定义的默认值。需要说明的是,默认值并不是服务端返回出厂刷新设置时使用的值。默认值可以指示为数据字段指定的符合性可以是可选的,也可以随时间变化。当实际数据字段值不存在时,可以定义默认值以完成依赖关系。Default, used to define the default value. It should be noted that the default value is not the value used when the server returns the factory refresh settings. The default value can indicate that the compliance specified for the data field can be optional or can change over time. When the actual data field value does not exist, a default value can be defined to complete the dependency.
符合性,定义了任何数据模型元素或元素集的可选性和依赖性。通常,此列对属性、命令、事件、枚举以及命令、事件或结构的字段有效。在一些实现方式中,“M”表示对应的命令为基本的强制特性集的一部分,“O”表示对应的命令为可选的特性集的一部分。Conformance, defines the optionality and dependencies of any data model element or set of elements. Typically, this column is valid for attributes, commands, events, enumerations, and fields of commands, events, or structures. In some implementations, "M" indicates that the corresponding command is part of the basic mandatory feature set, and "O" indicates that the corresponding command is part of the optional feature set.
对于命令而言,客户端到服务端命令的符合性意味着服务器应该识别并支持客户端到 服务器的命令,并按照定义生成响应。服务端到客户端命令的符合性意味着服务器应该按照集群行为定义的方式发送命令,例如,响应客户端到服务器的命令。命令的符合性取决于所支持的服务器特性。客户端不应被要求支持可选命令或依赖于可选特性的命令。For commands, client-to-server command conformance means that the server should recognize and support client-to-server commands and generate responses as defined. Server-to-client command conformance means that the server should send commands as defined by the cluster behavior, i.e., respond to client-to-server commands. Command conformance depends on supported server features. Clients should not be required to support optional commands or commands that depend on optional features.
约束,包含all和desc。其中,all定义在数值数据类型中表示允许所有值。desc表示约束是在描述部分定义的。Constraints include all and desc. All is defined in a numeric data type to allow all values. desc indicates that the constraint is defined in the description part.
范围(range),表示字段的取值范围。范围可以支持两种形式:显式约束(explicit constraint)和宽度约束(width constraint)。其中,显式约束可以给出字段的取值对应的最小值和最大值,例如,某个字段的取值范围为(0,128)。宽度约束可以将字段的取值限定在特定字节数内,例如,某个字段的取值限定在8个字节内。在一些实施例中,范围的取值可以包含“N/A”表示不适用。当然,“N/A”也可以出现在其他部分(其他数据质量中),比如,默认、约束等。Range, which indicates the value range of a field. Range can support two forms: explicit constraint and width constraint. Among them, the explicit constraint can give the minimum and maximum values corresponding to the value of the field, for example, the value range of a field is (0,128). The width constraint can limit the value of a field to a specific number of bytes, for example, the value of a field is limited to 8 bytes. In some embodiments, the value of the range can include "N/A" to indicate not applicable. Of course, "N/A" can also appear in other parts (other data quality), such as defaults, constraints, etc.
优先级:每个事件记录都有一个相关的优先级。该优先级可以用于描述事件的使用语义。Priority: Each event record has an associated priority. This priority can be used to describe the usage semantics of the event.
为了便于理解,下面给出一个具体示例以说明Matter设备的数据模型结构。假设节点表示一个车设备,该节点包含一个或多个端点,比如,包含端点0和端点5,其中,车的根节点设备类型存储于端点0下,车的空调设备类型存储于端点5下。端点5下包含一个或多个集群,例如,包含温控集群、风扇集群。每个集群下面又可以包含0或多个属性、命令和事件等元素。以温控集群为例,温控集群下包含的属性可能有温度属性值等;包含的命令可能有调高温度命令、降低温度命令;包含的事件可能有温度异常告警事件等。For ease of understanding, a specific example is given below to illustrate the data model structure of Matter devices. Assume that a node represents a car device, which contains one or more endpoints, for example, endpoint 0 and endpoint 5, where the root node device type of the car is stored under endpoint 0, and the air conditioning device type of the car is stored under endpoint 5. Endpoint 5 contains one or more clusters, for example, a temperature control cluster and a fan cluster. Each cluster can contain 0 or more attributes, commands, and events. Taking the temperature control cluster as an example, the attributes contained in the temperature control cluster may include temperature attribute values, etc.; the commands contained may include temperature increase commands and temperature decrease commands; the events contained may include temperature abnormality alarm events, etc.
基于Matter协议的通信系统Communication system based on Matter protocol
下文结合图2介绍本申请实施例适用的通信系统。图2所示的通信系统包含Matter客户端设备210、Matter服务端设备220、配置设备230。需要说明的是,Matter客户端设备210、Matter服务端设备220的数据模型结构可以为图1所示。The following describes a communication system applicable to an embodiment of the present application in conjunction with FIG2. The communication system shown in FIG2 includes a Matter client device 210, a Matter server device 220, and a configuration device 230. It should be noted that the data model structure of the Matter client device 210 and the Matter server device 220 can be as shown in FIG1.
Matter客户端(client)设备210为用户侧的客户端设备,Matter客户端设备210可以与Matter服务端设备220进行通信。在一些实施例中,Matter客户端设备210与Matter服务端设备220可以通过有线或无线的方式进行连接,以进行通信。 Matter client device 210 is a client device on the user side, and Matter client device 210 can communicate with Matter server device 220. In some embodiments, Matter client device 210 and Matter server device 220 can be connected in a wired or wireless manner to communicate.
在一些实现方式中,Matter客户端设备210可以向Matter服务端设备220发送控制信息,以对Matter服务端设备220进行控制。例如当Matter服务端设备220为智能空调时,Matter客户端设备210可以通过向Matter服务端设备220发送控制信息,以控制Matter服务端设备220的调节温度。In some implementations, the Matter client device 210 may send control information to the Matter server device 220 to control the Matter server device 220. For example, when the Matter server device 220 is a smart air conditioner, the Matter client device 210 may control the temperature of the Matter server device 220 by sending control information to the Matter server device 220.
在一些实施例中,上述Matter客户端设备210可以是指安装有Matter客户端的终端设备,其中,终端设备可以是手机、电脑、平板电脑、个人数字助理(personal digital assistant,PDA)、智能手环、智能手表等,本申请实施例对此并不进行限定。应该理解,Matter客户端可以为应用程序(application,APP)或者小程序等,本申请实施例对此并不限定。In some embodiments, the Matter client device 210 may refer to a terminal device installed with a Matter client, wherein the terminal device may be a mobile phone, a computer, a tablet computer, a personal digital assistant (PDA), a smart bracelet, a smart watch, etc., which is not limited in the embodiments of the present application. It should be understood that the Matter client may be an application (APP) or a mini-program, etc., which is not limited in the embodiments of the present application.
Matter服务端(server)设备220可以指支持Matter标准协议的物联网设备。Matter服务端设备220可以直接和Matter客户端设备210进行通信,以便Matter客户端设备210对Matter服务端设备220进行控制。Matter server device 220 may refer to an IoT device that supports the Matter standard protocol. Matter server device 220 may communicate directly with Matter client device 210 so that Matter client device 210 controls Matter server device 220.
示例性地,当Matter服务端设备220为支持Matter标准协议的智能空调时,Matter客户端设备210可以控制智能空调的开关以及设置空调温度、风速等。当Matter服务端设备220为支持Matter标准协议的扫地机器人时,Matter客户端设备210可以控制扫地机器人开始工作或停止工作、控制扫地机器人的工作模式等。For example, when the Matter server device 220 is a smart air conditioner that supports the Matter standard protocol, the Matter client device 210 can control the smart air conditioner's switch and set the air conditioner temperature, wind speed, etc. When the Matter server device 220 is a sweeping robot that supports the Matter standard protocol, the Matter client device 210 can control the sweeping robot to start or stop working, control the sweeping robot's working mode, etc.
目前,Matter服务端设备220所支持的操控接口主要包含控制(control)、订阅上报(subscribe and report)两类。其中,控制可以理解为可以修改或检索Matter服务端设备的一个或多个属性值对应的一组集群。例如,Matter客户端设备为智能扬声器,Matter服务端设备为智能空调,用户可以对智能扬声器说“降温”,然后,智能扬声器向智能空调发 送降低温度的控制命令。At present, the control interfaces supported by the Matter server device 220 mainly include control and subscribe and report. Among them, control can be understood as a group of clusters corresponding to one or more attribute values of the Matter server device that can be modified or retrieved. For example, the Matter client device is a smart speaker, and the Matter server device is a smart air conditioner. The user can say "cool down" to the smart speaker, and then the smart speaker sends a control command to lower the temperature to the smart air conditioner.
配置(commissioner)设备230可以用于对Matter服务端设备220进行配置。或者说,配置设备可以理解为安装有配置端的终端设备,用户可以通过该配置端对Matter服务端设备120进行配置。其中,终端设备可以是手机、电脑、平板电脑、PDA、智能手环、智能手表等,本申请实施例对此并不进行限定。在一些实施例中,配置端可以为应用程序或者小程序等,本申请实施例对此并不限定。The configuration (commissioner) device 230 can be used to configure the Matter server device 220. In other words, the configuration device can be understood as a terminal device with a configuration terminal installed, and the user can configure the Matter server device 120 through the configuration terminal. Among them, the terminal device can be a mobile phone, a computer, a tablet computer, a PDA, a smart bracelet, a smart watch, etc., which is not limited in the embodiments of the present application. In some embodiments, the configuration terminal can be an application or a small program, etc., which is not limited in the embodiments of the present application.
需要说明的是,上述配置端可以与Matter客户端是相同的APP或小程序,当然,配置端可以与Matter客户端是不同的APP或小程序。本申请实施例对此不作限定。It should be noted that the configuration end may be the same APP or applet as the Matter client, and of course, the configuration end may be a different APP or applet from the Matter client. This embodiment of the application does not limit this.
描述符集群Descriptor Clusters
描述符集群可以用于描述节点中的一个端点。也就是说,每个端点下面都会有描述符集群,以通过该描述符集群来描述其对应的端点。对于每个描述符集群而言,其包括的元素只有属性,而没有命令和事件。具体地,描述符集群包含的属性可以参见表1。A descriptor cluster can be used to describe an endpoint in a node. That is, each endpoint has a descriptor cluster under it to describe its corresponding endpoint. For each descriptor cluster, the elements it includes are only attributes, but no commands and events. Specifically, the attributes included in the descriptor cluster can be seen in Table 1.
表1Table 1
Figure PCTCN2022121364-appb-000001
Figure PCTCN2022121364-appb-000001
其中,F表示该字段为固定值;R表示读权限;V表示查看权限;M表示必选。Among them, F indicates that the field is a fixed value; R indicates read permission; V indicates view permission; and M indicates mandatory.
具体地,设备类型列表可以给出端点所符合的设备类型以及相应版本,例如,包含在DeviceTypeStruct结构中。DeviceTypeStruct可以包含两个内容,一个是DeviceTypeId,可以用于描述设备类型的ID值;一个是Revision,可以用于表示设备类型的修订号(或称,版本)。需要说明的是,设备类型列表中应该至少包含一个设备类型。例如:扩展色灯设备类型可能支持可调灯和开关灯的设备类型ID,因为它们是扩展色灯的子集。Specifically, the device type list can give the device type and corresponding version that the endpoint complies with, for example, contained in the DeviceTypeStruct structure. DeviceTypeStruct can contain two contents, one is DeviceTypeId, which can be used to describe the ID value of the device type; the other is Revision, which can be used to indicate the revision number (or version) of the device type. It should be noted that the device type list should contain at least one device type. For example: the extended color lamp device type may support the device type IDs of dimmable lamps and switch lamps because they are subsets of extended color lamps.
服务端列表可以给出端点上的全部具有服务端角色的集群ID,或者说,服务端列表可以表示当前端点下被控的集群ID的列表信息。The server list may give all cluster IDs with server roles on the endpoint, or in other words, the server list may indicate the list information of the cluster IDs controlled by the current endpoint.
客户端列表可以给出端点上的全部具有客户端角色的集群ID,或者说,客户端列表可以表示当前端点下控制的集群ID的列表信息。The client list may give all cluster IDs with client roles on the endpoint, or in other words, the client list may indicate the list information of the cluster IDs controlled by the current endpoint.
部件列表可以给出组成设备类型实例的全部端点,或者说,部件列表可以表示与当前端点关联或包含的端点值的列表信息。例如:一个冰箱设备类型可以定义为由多个温度传感器端点、一个计量端点和两个恒温器端点组成。The parts list can give all the endpoints that make up the device type instance, or the parts list can represent the list information of the endpoint values associated with or contained in the current endpoint. For example, a refrigerator device type can be defined as consisting of multiple temperature sensor endpoints, a metering endpoint, and two thermostat endpoints.
集群的全局属性Global properties of the cluster
每个集群除了包含该集群的特定的属性定义外,还包含全局属性。集群中的全局属性可以用于描述该集群的通用或基础信息。为了便于理解,本申请实施例在表2中提供了一些全局属性(表2提供的全局属性的数量为4个),下面结合表2对集群的全局属性进行简单介绍。In addition to the specific attribute definitions of the cluster, each cluster also contains global attributes. The global attributes in the cluster can be used to describe the general or basic information of the cluster. For ease of understanding, the embodiment of the present application provides some global attributes in Table 2 (the number of global attributes provided in Table 2 is 4). The global attributes of the cluster are briefly introduced in conjunction with Table 2.
表2Table 2
Figure PCTCN2022121364-appb-000002
Figure PCTCN2022121364-appb-000002
Figure PCTCN2022121364-appb-000003
Figure PCTCN2022121364-appb-000003
属性列表可以给出集群下属性列表的信息。每个集群实例都应该支持该全局属性。该全局属性可以包含其对应的集群实例所包含的所有的属性ID。The attribute list can give the information of the attribute list under the cluster. Each cluster instance should support this global attribute. This global attribute can contain all the attribute IDs contained in its corresponding cluster instance.
事件列表可以给出集群下事件列表的信息。每个集群实例都应该支持该全局属性。该全局属性可以包含其对应的集群实例所包含的所有的事件ID。The event list can give the information of the event list under the cluster. Each cluster instance should support this global attribute. This global attribute can contain all event IDs contained in its corresponding cluster instance.
请求命令列表可以表示客户端请求命令的命令ID列表。每个集群实例都应该支持该全局属性。该全局属性可以包含客户端生成的命令ID的列表,这些命令都是被该集群服务实例所支持的。The request command list can represent the command ID list of the client request command. Each cluster instance should support this global attribute. This global attribute can contain a list of command IDs generated by the client, which are all supported by the cluster service instance.
响应命令列表可以表示对客户端响应命令的命令ID列表。每个集群实例都应该支持该全局属性。该全局属性可以包含服务端生成的命令ID的列表,这些命令可以用于响应客户端的命令。The response command list can represent the command ID list of the client response commands. Each cluster instance should support this global attribute. This global attribute can contain a list of command IDs generated by the server, which can be used to respond to the client's commands.
需要说明的是,表2列举的全局属性仅为示例,并不代表所有的全局属性。在一些实施例中,集群中包含的全局属性还可以包括集群版本(ClusterRevision)、网络标识(FabricIndex)等,本申请实施例对此并不限定。It should be noted that the global attributes listed in Table 2 are only examples and do not represent all global attributes. In some embodiments, the global attributes contained in the cluster may also include a cluster version (ClusterRevision), a network identifier (FabricIndex), etc., which is not limited in the embodiments of the present application.
在某些场景下,客户端设备可以对服务端设备进行能力发现,以发现或获取服务端设备的能力,从而可以根据服务端设备所具备的能力对其进行控制。In some scenarios, the client device may perform capability discovery on the server device to discover or obtain the capabilities of the server device, so that the server device may be controlled according to the capabilities possessed by the server device.
在一些实施例中,客户端设备可以通过读取服务端设备所包含的各端点的描述符集群以及各集群的全局属性来进行服务端设备的能力发现。In some embodiments, the client device may perform capability discovery of the server device by reading the descriptor clusters of each endpoint contained in the server device and the global attributes of each cluster.
也就是说,如果客户端设备想要对服务端设备进行能力发现,客户端设备需要知道服务端设备包含哪些端点,这些端点分别包含哪些集群,以及各集群下面包含哪些元素(例如,属性、命令、事件),以根据获取的各集群的元素的相关信息确定服务端设备都具备哪些能力。That is to say, if the client device wants to perform capability discovery on the server device, the client device needs to know which endpoints the server device contains, which clusters these endpoints contain, and which elements (for example, attributes, commands, events) are contained under each cluster, so as to determine which capabilities the server device has based on the relevant information of the elements of each cluster obtained.
为了便于理解,下面结合图3介绍客户端设备对服务端设备进行能力发现的过程。For ease of understanding, the process of the client device discovering the capabilities of the server device is described below in conjunction with FIG. 3 .
如图3所示,在步骤1,客户端设备读取服务端设备的端点0下的描述符集群。As shown in FIG. 3 , in step 1 , the client device reads the descriptor cluster under endpoint 0 of the server device.
客户端设备通过读取服务端设备的端点0下的描述符集群,可以获知服务端设备包含哪些端点(业务端点),这是因为,每个端点的描述符集群包含的部件列表可以包含该端点所关联或包含的所有端点的端点标识。如此一来,客户端设备可以通过端点0下的描述符集群中的部件列表这一属性,获知服务端设备包含哪些业务端点。The client device can learn which endpoints (service endpoints) the server device contains by reading the descriptor cluster under endpoint 0 of the server device. This is because the component list contained in the descriptor cluster of each endpoint can contain the endpoint identifiers of all endpoints associated with or contained by the endpoint. In this way, the client device can learn which service endpoints the server device contains through the attribute of the component list in the descriptor cluster under endpoint 0.
在步骤2,服务端设备向客户端设备返回端点0下的描述符集群的属性信息。In step 2, the server device returns the attribute information of the descriptor cluster under endpoint 0 to the client device.
应该理解,在步骤2中,服务端设备只能向客户端设备返回端点0下的集群的信息,要想获取业务端点(除端点0之外的其他端点)下的集群的信息,客户端设备还需要知道端点0下的部件列表中的端点信息,以便根据部件列表中的端点信息来获取业务端点下的集群的信息。It should be understood that in step 2, the server device can only return the cluster information under endpoint 0 to the client device. In order to obtain the cluster information under the service endpoint (other endpoints except endpoint 0), the client device also needs to know the endpoint information in the component list under endpoint 0, so as to obtain the cluster information under the service endpoint based on the endpoint information in the component list.
在步骤3,客户端设备读取服务端设备的某一业务端点下的描述符集群。In step 3, the client device reads a descriptor cluster under a service endpoint of the server device.
客户端设备通过读取服务端设备的端点0下的描述符集群后,已经获知服务端设备包含哪些业务端点。进一步地,客户端设备通过向其中某一业务端点的描述符集群发送读取请求操作,可以获知该业务端点包含哪些集群。The client device has learned which service endpoints the server device includes by reading the descriptor cluster under endpoint 0 of the server device. Furthermore, the client device can learn which clusters the service endpoint includes by sending a read request operation to the descriptor cluster of one of the service endpoints.
示例性地,假设步骤1和步骤2之后,客户端设备获知服务端设备包含的业务端点有端点1、端点2和端点3,那么在步骤3,客户端设备可以分别向端点1、端点2和端点3发送读取请求操作,以读取端点1、端点2和端点3的描述符集群。For example, assuming that after steps 1 and 2, the client device learns that the service endpoints included in the server device are endpoint 1, endpoint 2, and endpoint 3, then in step 3, the client device can send read request operations to endpoint 1, endpoint 2, and endpoint 3 respectively to read the descriptor clusters of endpoint 1, endpoint 2, and endpoint 3.
在步骤4,服务端设备向客户端设备返回该业务端点下的描述符集群的信息。In step 4, the server device returns information about the descriptor cluster under the service endpoint to the client device.
客户端设备通过业务端点下的描述符集群的信息,可以获知该业务端点包含的集群有哪些。示例性地,假设客户端设备请求读取端点1的描述符集群,那么客户端设备通过步 骤4可以获知端点1包含的集群有哪些,例如,端点1包含的集群分别为集群1、集群2和集群6。The client device can learn which clusters the service endpoint contains through the information of the descriptor cluster under the service endpoint. For example, assuming that the client device requests to read the descriptor cluster of endpoint 1, the client device can learn which clusters endpoint 1 contains through step 4. For example, the clusters contained in endpoint 1 are cluster 1, cluster 2 and cluster 6.
在步骤5,客户端设备读取服务端设备的某个集群下的全局属性中的属性列表。In step 5, the client device reads a property list in the global properties under a certain cluster of the server device.
属性列表可以包含其对应的集群实例所包含的所有的属性ID,因此,客户端设备通过读取每个集群下的属性列表,便可以获知每个集群都包含哪些属性,从而获知该服务端设备具备的能力。The attribute list may include all attribute IDs included in the corresponding cluster instance. Therefore, by reading the attribute list under each cluster, the client device can learn which attributes each cluster contains, and thus learn the capabilities of the server device.
以端点1下的集群6为例,客户端设备可以读取集群6下的全局属性中的属性列表的信息,从而获知集群6所包含的属性ID、命令ID及事件ID,进而获知集群6所表示的服务端设备的能力。Taking cluster 6 under endpoint 1 as an example, the client device can read the information of the attribute list in the global attributes under cluster 6, thereby obtaining the attribute ID, command ID and event ID contained in cluster 6, and then obtaining the capabilities of the server device represented by cluster 6.
在步骤6,服务端设备向客户端设备返回该集群下的全局属性中的属性列表的信息。In step 6, the server device returns information of the attribute list in the global attributes of the cluster to the client device.
可以看出,如果客户端设备想要获知服务端设备的所有能力,就需要重复进行步骤3-步骤6,直至读取完服务端设备的所有集群下的全局属性中的属性列表的信息。It can be seen that if the client device wants to learn all capabilities of the server device, it needs to repeat steps 3 to 6 until all the information in the attribute list in the global attributes under all clusters of the server device is read.
也就是说,客户端设备需要进行多次读取请求操作(比如,读取端点0的描述符集群的请求操作、读取各端点的集群ID的请求操作、以及读取各集群的全局属性的请求操作),才可能将服务端设备的能力全部发现。采用这种方式进行服务端设备的能力发现,导致客户端设备和服务端设备的交互流程复杂,效率低下,进而影响用户体验。That is to say, the client device needs to perform multiple read request operations (for example, the request operation to read the descriptor cluster of endpoint 0, the request operation to read the cluster ID of each endpoint, and the request operation to read the global attributes of each cluster) to discover all the capabilities of the server device. Using this method to discover the capabilities of the server device makes the interaction process between the client device and the server device complicated and inefficient, which in turn affects the user experience.
作为一个具体示例,假设服务端设备包括除端点0之外的3个端点,客户端设备对服务端设备进行能力发现时,需要先从端点0下知道其包含的3个端点值,然后再对每个端点下的描述符集群进行读取操作,以获取相应的集群,无法达到一次或少次读取就能获取服务端设备的全部能力的目的。As a specific example, assuming that the server device includes three endpoints in addition to endpoint 0, when the client device discovers the capabilities of the server device, it needs to first know the three endpoint values contained in endpoint 0, and then read the descriptor cluster under each endpoint to obtain the corresponding cluster. It is impossible to achieve the purpose of obtaining all the capabilities of the server device with one or a few reads.
为了解决上述问题,本申请实施例提供一种用于设备能力发现的方案,能够在进行服务端设备能力发现的过程中,减少客户端设备与服务端设备交互的次数,提高获取效率,进而提升用户体验。下面结合附图对本申请实施例提供的方案进行详细描述。In order to solve the above problems, the embodiment of the present application provides a solution for device capability discovery, which can reduce the number of interactions between the client device and the server device during the process of server device capability discovery, improve acquisition efficiency, and thus enhance user experience. The solution provided by the embodiment of the present application is described in detail below in conjunction with the accompanying drawings.
图4为本申请一实施例提供的用于设备能力发现的方法的流程示意图。图4所示的方法是站在客户端设备和服务端设备交互的角度进行描述的。示例性地,客户端设备和服务端设备例如分别可以是图2所示的客户端设备210和服务端设备220。图4所示的方法可以包括步骤S410,下面对该步骤进行详细介绍。FIG4 is a flow chart of a method for device capability discovery provided by an embodiment of the present application. The method shown in FIG4 is described from the perspective of interaction between a client device and a server device. Exemplarily, the client device and the server device may be, for example, the client device 210 and the server device 220 shown in FIG2 , respectively. The method shown in FIG4 may include step S410, which is described in detail below.
在步骤S410,客户端设备向服务端设备发送第一消息。In step S410, the client device sends a first message to the server device.
第一消息可以用于查询第一集群。第一集群的信息可以用于客户端设备发现服务端设备的能力。The first message may be used to query the first cluster. Information about the first cluster may be used by the client device to discover the capability of the server device.
客户端设备发现服务端设备的能力也可以理解为客户端设备对服务端设备进行能力发现。也就是说,客户端设备可以通过查询第一集群对服务端设备进行能力发现,以发现或获取服务端设备的能力,例如,发现或获取服务端设备能够实现的功能服务。在一些实施例中,设备能力发现也可以是指设备资源发现,即通过设备能力发现(利用查询第一集群的方式)来获取服务端设备的资源。The client device discovering the capabilities of the server device can also be understood as the client device performing capability discovery on the server device. That is, the client device can perform capability discovery on the server device by querying the first cluster to discover or obtain the capabilities of the server device, for example, discovering or obtaining the functional services that the server device can implement. In some embodiments, device capability discovery can also refer to device resource discovery, that is, obtaining the resources of the server device through device capability discovery (by querying the first cluster).
在一些实施例中,客户端设备对服务端设备进行能力发现后,可以基于服务端设备所具备的能力对其进行控制。In some embodiments, after the client device discovers the capabilities of the server device, it can control the server device based on the capabilities possessed by the server device.
本申请实施例中,第一集群的信息可以包括服务端设备包含的所有的业务端点的信息,以及该所有的业务端点中的任意一个业务端点包含的集群的信息。In the embodiment of the present application, the information of the first cluster may include information of all service endpoints included in the server device, and information of the cluster included in any one of the service endpoints.
如前文所述,业务端点可以是指服务端设备(或节点)中的除端点0之外的任意一个端点。或者说,业务端点可以理解为是表示除端点0之外的其他端点的统称,即除端点0之外,其他任意一个端点都可以称为一个业务端点。例如,服务端设备包括端点0以及除端点0之外的3个端点,那么这3个端点都可以理解为是服务端设备的业务端点。As mentioned above, a service endpoint can refer to any endpoint in the server device (or node) except endpoint 0. In other words, a service endpoint can be understood as a general term for other endpoints except endpoint 0, that is, except endpoint 0, any other endpoint can be called a service endpoint. For example, the server device includes endpoint 0 and 3 endpoints except endpoint 0, then these 3 endpoints can be understood as the service endpoints of the server device.
继续以服务端设备包括端点0以及除端点0之外的3个端点为例,第一集群的信息包括服务端设备包含的所有的业务端点的信息可以是指,第一集群的信息包括这3个端点的 信息;第一集群的信息包括该所有的业务端点中的任意一个业务端点包含的集群的信息可以是指,第一集群的信息包括这3个端点中的各个端点所包含的集群的信息。Continuing with the example that the server device includes endpoint 0 and three endpoints other than endpoint 0, the information of the first cluster includes the information of all the service endpoints contained in the server device, which may mean that the information of the first cluster includes the information of these three endpoints; the information of the first cluster includes the information of the cluster contained in any one of all the service endpoints, which may mean that the information of the first cluster includes the information of the cluster contained in each of the three endpoints.
在本申请实施例中,第一集群中包括服务端设备所包含的所有的业务端点的信息以及各业务端点所包含的集群的信息。与传统的客户端设备需要执行多次读取请求操作来获取各业务端点所包含的集群的信息相比,能够减少客户端设备与服务端设备交互的次数,提高获取效率,进而提升用户体验。In the embodiment of the present application, the first cluster includes information of all service endpoints included in the server device and information of the clusters included in each service endpoint. Compared with the traditional client device that needs to perform multiple read request operations to obtain the information of the clusters included in each service endpoint, the number of interactions between the client device and the server device can be reduced, the acquisition efficiency can be improved, and the user experience can be improved.
下面对第一集群进行更为详细的介绍。The first cluster is described in more detail below.
在一些实施例中,第一集群的信息包括服务端设备所包含的业务端点的信息可以是指,第一集群中包含服务端设备所包含的业务端点的端点标识(或称,端点号),后文简称为第一集群中包含业务端点的端点标识。例如,服务端设备包括除端点0之外的3个端点,其对应的端点标识分别为端点1、端点2和端点3,那么第一集群中便可以包含端点1、端点2和端点3这些端点标识。In some embodiments, the information of the first cluster including the information of the service endpoints included in the server device may refer to the endpoint identifiers (or endpoint numbers) of the service endpoints included in the server device included in the first cluster, hereinafter referred to as the endpoint identifiers of the service endpoints included in the first cluster. For example, the server device includes 3 endpoints other than endpoint 0, and their corresponding endpoint identifiers are endpoint 1, endpoint 2, and endpoint 3, respectively, then the first cluster may include endpoint identifiers of endpoint 1, endpoint 2, and endpoint 3.
在一些实施例中,服务端设备所包含的业务端点的信息可以存储于第一集群的某一属性元素中,即通过查询第一集群的该属性元素,则可以获知服务端设备具体包括哪些业务端点。In some embodiments, information about the service endpoints included in the server device may be stored in a certain attribute element of the first cluster, that is, by querying the attribute element of the first cluster, it is possible to know which service endpoints the server device specifically includes.
在一些实施例中,第一集群中除包含业务端点的端点标识之外,还可以包括以下信息中的一种或多种:业务端点对应的设备类型,业务端点关联/包含的其他端点的信息。也就是说,第一集群的信息还可以包括:服务端设备所包含的所有的业务端点对应的设备类型,和/或,服务端设备所包含的所有的业务端点关联/包含的其他端点的信息。In some embodiments, in addition to the endpoint identifier of the service endpoint, the first cluster may also include one or more of the following information: the device type corresponding to the service endpoint, and information about other endpoints associated with/included by the service endpoint. In other words, the information of the first cluster may also include: the device type corresponding to all service endpoints included in the server device, and/or information about other endpoints associated with/included by all service endpoints included in the server device.
在一些实施例中,业务端点关联/包含的其他端点的信息可以是指业务端点关联/包含的其他端点的端点标识。例如,服务端设备的端点1中还包含端点4,那么通过第一集群也可以获取该信息。In some embodiments, the information of other endpoints associated with/included by the service endpoint may refer to the endpoint identifiers of other endpoints associated with/included by the service endpoint. For example, if endpoint 1 of the server device also includes endpoint 4, the information can also be obtained through the first cluster.
在一些实施例中,业务端点关联/包含的其他端点的信息可以存储于第一集群的某一属性元素中,即通过查询第一集群的该属性元素,则可以获知服务端设备包含的端点之间的关联关系和/或包含关系。In some embodiments, information of other endpoints associated with/included by the service endpoint may be stored in a property element of the first cluster, that is, by querying the property element of the first cluster, the association relationship and/or inclusion relationship between the endpoints included in the server device may be known.
需要说明的是,在一些实施例中,在存在嵌套端点的情况下(比如,端点1中还包含端点4),可以通过第一集群的某一属性元素同时查询到端点1和端点4的信息。在一些实施例中,在存在嵌套端点的情况下,可以通过第一集群中的属性元素的组合(比如,通过两个或多个属性元素)共同查询到端点1和端点4的信息。It should be noted that, in some embodiments, when there are nested endpoints (for example, endpoint 1 also includes endpoint 4), the information of endpoint 1 and endpoint 4 can be queried simultaneously through a certain attribute element of the first cluster. In some embodiments, when there are nested endpoints, the information of endpoint 1 and endpoint 4 can be queried together through a combination of attribute elements in the first cluster (for example, through two or more attribute elements).
在一些实施例中,第一集群的信息还可以包括服务端设备中的任意一个业务端点所包含的集群的信息。In some embodiments, the information of the first cluster may also include information of a cluster included in any service endpoint in the server device.
在一些实施例中,第一集群的信息包括服务端设备中的任意一个业务端点所包含的集群的信息可以是指,第一集群中包括:服务端设备中的业务端点所包含的集群的标识,后文简称为第一集群中包括业务端点所包含的集群的标识。在一些实施例中,集群的标识可以是指集群ID。例如,端点1包括集群1和集群5,端点2包括集群2和集群4,端点3包括集群3,那么第一集群中便可以包含集群1、集群5、集群2、集群4和集群3这些集群ID。In some embodiments, the information of the first cluster includes the information of the cluster contained in any service endpoint in the server device, which may refer to the first cluster including: the identifier of the cluster contained in the service endpoint in the server device, hereinafter referred to as the identifier of the cluster contained in the service endpoint in the first cluster. In some embodiments, the identifier of the cluster may refer to the cluster ID. For example, endpoint 1 includes cluster 1 and cluster 5, endpoint 2 includes cluster 2 and cluster 4, and endpoint 3 includes cluster 3, then the first cluster may include cluster IDs such as cluster 1, cluster 5, cluster 2, cluster 4 and cluster 3.
在一些实施例中,业务端点所包含的集群的信息可以存储于第一集群的某一属性元素中,即通过查询第一集群的该属性元素,则可以获知服务端设备具体包括哪些集群。In some embodiments, the information of the clusters included in the service endpoint may be stored in a certain attribute element of the first cluster, that is, by querying the attribute element of the first cluster, it is possible to know which clusters the server device specifically includes.
在一些实施例中,第一集群可以是新定义的一个集群,例如,可以在服务端设备的端点0下定义一个全新的第一集群,以用于客户端设备发现服务端设备的能力。本申请实施例对第一集群的名称不做具体限定,例如,第一集群可以理解为是一个资源集群(resource cluster)、能力集群(capability cluster)等,对应的,第一集群也可以称为资源集群、能力集群等。In some embodiments, the first cluster may be a newly defined cluster. For example, a brand new first cluster may be defined under endpoint 0 of the server device for the client device to discover the capabilities of the server device. The present application embodiment does not specifically limit the name of the first cluster. For example, the first cluster may be understood as a resource cluster, a capability cluster, etc. Correspondingly, the first cluster may also be called a resource cluster, a capability cluster, etc.
在一些实施例中,第一集群可以是在现有的集群的基础上得到的集群。例如,服务端 设备的端点0下存在描述符集群,可以对端点0下的描述符集群进行修改得到第一集群,以用于客户端设备发现服务端设备的能力。也就是说,本申请实施例并不限制第一集群的生成方式或形成方式,只要服务端设备侧存在第一集群,其包括服务端设备包含的所有的业务端点的信息以及任意一个业务端点包含的集群的信息即可。In some embodiments, the first cluster may be a cluster obtained on the basis of an existing cluster. For example, if a descriptor cluster exists under endpoint 0 of a server device, the descriptor cluster under endpoint 0 may be modified to obtain a first cluster for the client device to discover the capability of the server device. In other words, the embodiment of the present application does not limit the generation or formation method of the first cluster, as long as the first cluster exists on the server device side, it includes the information of all service endpoints contained in the server device and the information of the cluster contained in any service endpoint.
在一些实施例中,第一集群可以包括第一属性,第一属性的类型可以为结构体(比如,列表),通过第一集群的第一属性,可以获取服务端设备包含的所有的业务端点的信息以及任意一个业务端点包含的集群的信息。下面对第一属性进行介绍。In some embodiments, the first cluster may include a first attribute, the type of the first attribute may be a structure (e.g., a list), and through the first attribute of the first cluster, information of all service endpoints included in the server device and information of the cluster included in any service endpoint may be obtained. The first attribute is introduced below.
在一些实施例中,第一属性可以称为端点列表(EndpointList)属性,该第一属性的定义可以参见表3。In some embodiments, the first attribute may be referred to as an endpoint list (EndpointList) attribute, and the definition of the first attribute may refer to Table 3.
表3table 3
Figure PCTCN2022121364-appb-000004
Figure PCTCN2022121364-appb-000004
第一属性的类型为列表类型的结构体(比如,可以称为EpStruct)。第一属性的访问数据质量包括读权限和查看权限,即客户端设备可以读取或查看第一集群中的第一属性。第一属性的一致性为M(必选的),即第一集群中必须包含第一属性。The type of the first attribute is a structure of list type (for example, it can be called EpStruct). The access data quality of the first attribute includes read permission and view permission, that is, the client device can read or view the first attribute in the first cluster. The consistency of the first attribute is M (mandatory), that is, the first cluster must include the first attribute.
下面结合表4对第一属性的类型进行介绍。或者说,第一属性的类型的结构体(EpStruct)定义可以如表4所示。The type of the first attribute is introduced below in conjunction with Table 4. In other words, the structure (EpStruct) definition of the type of the first attribute may be as shown in Table 4.
表4Table 4
Figure PCTCN2022121364-appb-000005
Figure PCTCN2022121364-appb-000005
EndpointNo是每个EpStruct下对应的端点标识。EndpointNo is the corresponding endpoint identifier under each EpStruct.
DeviceTypeList可以给出EndpointNo所符合的设备类型以及相应版本,例如,包含在DeviceTypeStruct中。DeviceTypeList may give the device type and corresponding version that EndpointNo complies with, for example, contained in DeviceTypeStruct.
在一些实施例中,DeviceTypeStruct可以包含两个内容,一个是DeviceTypeId,可以用于描述设备类型的ID值;一个是Revision,可以用于表示设备类型的修订号。In some embodiments, DeviceTypeStruct may include two contents, one is DeviceTypeId, which may be used to describe the ID value of the device type; the other is Revision, which may be used to indicate the revision number of the device type.
在一些实施例中,业务端点对应的设备类型还可以包括第一字段,该第一字段用于采用一个或多个标签来标记业务端点对应的设备类型。也就是说,DeviceTypeStruct可以包含除DeviceTypeId和Revision之外的内容,例如,还可以包括第一字段(可以称为Label字段),以通过第一字段描述设备类型。In some embodiments, the device type corresponding to the service endpoint may further include a first field, which is used to mark the device type corresponding to the service endpoint using one or more labels. That is, DeviceTypeStruct may include content other than DeviceTypeId and Revision, for example, it may further include a first field (which may be called a Label field) to describe the device type through the first field.
在一些实施例中,通过第一字段描述设备类型可以是指,第一字段可以用于区分相同设备类型的不同标签。以服务端设备为车设备为例,对于都是车窗的DeviceTypeId,对应的Label可能为“主驾车窗、天窗、副驾车窗等”,通过不同的Label便可以区分相同的设备类型。In some embodiments, describing the device type through the first field may mean that the first field may be used to distinguish different labels of the same device type. Taking the server device as a car device as an example, for DeviceTypeIds of car windows, the corresponding Labels may be "main driver's window, sunroof, passenger driver's window, etc.", and the same device type can be distinguished through different Labels.
在一些实施例中,第一字段的类型可以是字符串类型。在一些实施例中,第一字段可以为只读类型的字段。In some embodiments, the type of the first field may be a string type. In some embodiments, the first field may be a read-only type field.
PartsList可以给出EndpointNo所关联或所包含的端点标识的列表,列表中的内容同样 为EndpointNo,可以用于反映EndpointNo下所嵌套包含的端点标识。PartsList can give a list of endpoint identifiers associated with or contained in EndpointNo. The content in the list is also EndpointNo, which can be used to reflect the endpoint identifiers nested and contained under EndpointNo.
作为一个示例,假设服务端设备包含除端点0之外的3个端点(端点1、端点2和端点3),第一属性(EndpointList)的类型的结构体可以包含4行(假设每一行代表一个端点),每一行可以包含该行对应的端点标识,以及该端点标识对应的设备类型列表、服务端集群列表、客户端集群列表以及部件列表。关于端点标识、设备类型列表、服务端集群列表、客户端集群列表以及部件列表的详细内容可以参见前文,此处不再赘述,其中,服务端集群列表对应于前文的服务端列表,客户端集群列表对应于前文的客户端列表。As an example, assuming that the server device includes three endpoints (endpoint 1, endpoint 2, and endpoint 3) in addition to endpoint 0, the structure of the type of the first attribute (EndpointList) may include four rows (assuming that each row represents an endpoint), each row may include the endpoint identifier corresponding to the row, and the device type list, server cluster list, client cluster list, and component list corresponding to the endpoint identifier. For details about the endpoint identifier, device type list, server cluster list, client cluster list, and component list, please refer to the previous text, which will not be repeated here. The server cluster list corresponds to the server list in the previous text, and the client cluster list corresponds to the client list in the previous text.
如此一来,客户端设备通过读取第一集群,便可以获知服务端设备所包含的所有的业务端点的信息以及任意一个业务端点包含的集群的标识,而不用客户端设备向每个业务端点发起读取请求操作以读取业务端点包含的集群的标识。In this way, the client device can obtain information about all service endpoints contained in the server device and the identifier of the cluster contained in any service endpoint by reading the first cluster, without the client device initiating a read request operation to each service endpoint to read the identifier of the cluster contained in the service endpoint.
在一些实施例中,客户端设备获取每个业务端点包含的集群的标识后,还需要进一步查询各集群的全局属性,以获取服务端设备的能力。In some embodiments, after the client device obtains the identifier of the cluster included in each service endpoint, it is necessary to further query the global attributes of each cluster to obtain the capability of the server device.
因此,在一些实施例中,参见图5提供的用于设备能力发现的方法的流程示意图,在步骤S410之后,该方法还可以包括步骤S420。在步骤S420,客户端设备向服务端设备发送第二消息,第二消息用于读取服务端设备的某个集群下的全局属性中的属性列表。Therefore, in some embodiments, referring to the flowchart of the method for device capability discovery provided in FIG5 , after step S410, the method may further include step S420. In step S420, the client device sends a second message to the server device, and the second message is used to read the attribute list in the global attributes under a cluster of the server device.
如前文所述,集群下的全局属性中的属性列表中包含其对应的集群实例所包含的所有的属性ID,因此,客户端设备通过读取每个集群下的属性列表,便可以获知每个集群都包含哪些属性,从而获知该服务端设备具备的能力。As mentioned above, the attribute list in the global attributes under the cluster contains all the attribute IDs contained in the corresponding cluster instance. Therefore, by reading the attribute list under each cluster, the client device can know which attributes each cluster contains, and thus know the capabilities of the server device.
在一些实施例中,客户端设备向服务端设备发送第二消息查询各集群下的全局属性时,全局属性的内容可以参见前文表2。在表2中,集群的命令信息(包括请求命令信息和响应命令信息)可以使用两个全局属性承载,例如,请求命令列表(AcceptedCommandList)用于承载客户端请求命令的命令信息,响应命令列表(GeneratedCommandList)用于承载对客户端响应命令的命令信息。在一些实施例中,集群的命令信息可以是指集群的命令ID,即集群的命令ID可以使用两个全局属性承载。In some embodiments, when the client device sends a second message to the server device to query the global attributes of each cluster, the content of the global attributes can refer to Table 2 above. In Table 2, the command information of the cluster (including request command information and response command information) can be carried using two global attributes, for example, the request command list (AcceptedCommandList) is used to carry the command information of the client request command, and the response command list (GeneratedCommandList) is used to carry the command information of the client response command. In some embodiments, the command information of the cluster can refer to the command ID of the cluster, that is, the command ID of the cluster can be carried using two global attributes.
在一些实施例中,集群的命令信息可以使用一个全局属性承载。也就是说,业务端点包含的集群可以包括第一全局属性,该业务端点包含的集群的命令信息(包括请求命令信息和响应命令信息)均记录在该第一全局属性中。业务端点包含的集群的命令信息(比如,命令ID)可以记录在一个全局属性中,是因为集群中定义的命令ID是不重复的,不需要区分其是请求的命令ID还是响应的命令ID。基于此,集群的全局属性也可以表示为表5的形式。In some embodiments, the command information of the cluster can be carried using a global attribute. That is, the cluster included in the service endpoint may include a first global attribute, and the command information of the cluster included in the service endpoint (including request command information and response command information) is recorded in the first global attribute. The command information (for example, command ID) of the cluster included in the service endpoint can be recorded in a global attribute because the command ID defined in the cluster is non-repetitive and there is no need to distinguish whether it is a request command ID or a response command ID. Based on this, the global attributes of the cluster can also be expressed in the form of Table 5.
表5table 5
Figure PCTCN2022121364-appb-000006
Figure PCTCN2022121364-appb-000006
与表2相比,表5仅使用一个全局属性来记录集群下的命令信息,即表5中的命令列表所包含的命令ID同时包含了表2中的请求命令列表中的命令ID和响应命令列表中的命令ID。其他关于表5的详细内容,可以参见表2,此处不再赘述。Compared with Table 2, Table 5 uses only one global attribute to record the command information under the cluster, that is, the command ID contained in the command list in Table 5 includes both the command ID in the request command list and the command ID in the response command list in Table 2. For other details about Table 5, please refer to Table 2 and will not be repeated here.
在一些实施例中,为避免客户端设备需要向服务端设备多次发送第二消息,第一集群的信息除包括任意一个业务端点所包含的集群的标识之外,还可以包括以下信息中的一种或多种:业务端点所包含的集群的属性信息,业务端点所包含的集群的命令信息,以及业务端点所包含的集群的事件信息。In some embodiments, to avoid the need for the client device to send the second message to the server device multiple times, the information of the first cluster, in addition to the identifier of the cluster contained in any service endpoint, may also include one or more of the following information: attribute information of the cluster contained in the service endpoint, command information of the cluster contained in the service endpoint, and event information of the cluster contained in the service endpoint.
在一些实施例中,集群的属性信息可以是指集群包含的属性的属性ID,集群的命令信 息可以是指集群包含的命令的命令ID,集群的事件信息可以是指集群包含的事件的事件ID。In some embodiments, the attribute information of the cluster may refer to the attribute ID of the attribute contained in the cluster, the command information of the cluster may refer to the command ID of the command contained in the cluster, and the event information of the cluster may refer to the event ID of the event contained in the cluster.
在第一集群中包括集群的属性信息、命令信息以及事件信息中的一种或多种时,客户端设备通过查询第一集群便可以一次性获取服务端设备的全部能力。也就是说,客户端设备可以发起一次读取请求操作便完成对服务端设备的能力发现,很大程度减少客户端设备和服务端设备的交互流程,提升获取效率,进而提升用户体验。When the first cluster includes one or more of the cluster's attribute information, command information, and event information, the client device can obtain all capabilities of the server device at one time by querying the first cluster. In other words, the client device can complete the capability discovery of the server device by initiating a read request operation, which greatly reduces the interaction process between the client device and the server device, improves the acquisition efficiency, and thus improves the user experience.
第一集群中包括集群的属性信息、命令信息以及事件信息中的一种或多种时,第一属性的定义仍然可以参见表3,不过第一属性的类型的结构体(EpStruct)的定义发生了改变。下面结合表6,对该情况下第一属性的类型的结构体(EpStruct)的定义进行介绍。When the first cluster includes one or more of the cluster's attribute information, command information, and event information, the definition of the first attribute can still refer to Table 3, but the definition of the structure (EpStruct) of the type of the first attribute has changed. The definition of the structure (EpStruct) of the type of the first attribute in this case is introduced below in conjunction with Table 6.
表6Table 6
Figure PCTCN2022121364-appb-000007
Figure PCTCN2022121364-appb-000007
与表4相比,服务端集群列表中的类型对应的内容由列表[ClusterID]改变为列表[ClusterStruct],其中,列表[ClusterID]中仅包含业务端点中包含的集群的集群ID,而列表[ClusterStruct]为结构体,其除包含业务端点中包含的集群的集群ID之外,还包括其他内容。下面结合表7对[ClusterStruct]进行详细介绍。需要说明的是,表6中其他未详细描述的内容可以参见表4。Compared with Table 4, the content corresponding to the type in the server cluster list is changed from list [ClusterID] to list [ClusterStruct], where list [ClusterID] only contains the cluster ID of the cluster included in the business endpoint, while list [ClusterStruct] is a structure, which includes other content in addition to the cluster ID of the cluster included in the business endpoint. [ClusterStruct] is described in detail below in conjunction with Table 7. It should be noted that other contents not described in detail in Table 6 can be referred to Table 4.
表7Table 7
Figure PCTCN2022121364-appb-000008
Figure PCTCN2022121364-appb-000008
对于每一个业务端点,其对应的[ClusterStruct]中包含了该业务端点对应的所有的集群的集群ID,以及该集群ID对应的集群所包含的属性列表、事件列表以及命令列表。因此,在第一集群中包括各业务端点包含的集群的属性信息、命令信息以及事件信息时,客户端设备便可以发起一次读取请求操作来完成对服务端设备的能力发现。For each service endpoint, its corresponding [ClusterStruct] contains the cluster ID of all clusters corresponding to the service endpoint, as well as the attribute list, event list and command list contained in the cluster corresponding to the cluster ID. Therefore, when the attribute information, command information and event information of the cluster contained in each service endpoint are included in the first cluster, the client device can initiate a read request operation to complete the capability discovery of the server device.
在一些实施例中,如果第一集群中包括各业务端点包含的集群的命令信息,那么该命令信息可以使用一个属性来记录,也可以使用两个或多个属性来记录,本申请实施例对此并不限定。例如,在表7的示例中,命令信息是使用一个属性(CommandList)来记录的;在一些实施例中,命令信息也可以使用两个属性(比如,AcceptedCommandList和GeneratedCommandList)来记录。In some embodiments, if the first cluster includes command information of the clusters included in each service endpoint, the command information can be recorded using one attribute, or two or more attributes, which is not limited in the embodiments of the present application. For example, in the example of Table 7, the command information is recorded using one attribute (CommandList); in some embodiments, the command information can also be recorded using two attributes (e.g., AcceptedCommandList and GeneratedCommandList).
可以看出,在本申请实施例中,通过为第一集群中的第一属性设计类型的结构体 (EpStruct),从而可以通过定义该结构体(EpStruct)的内容,实现少数读取操作就能获取服务端设备全部能力的功能。It can be seen that in the embodiment of the present application, by designing a structure (EpStruct) of the first attribute type in the first cluster, it is possible to define the content of the structure (EpStruct) to achieve the function of obtaining all capabilities of the server device with a few read operations.
在一些实施例中,第一集群可以位于第一端点中,其中,第一端点的设备类型为根节点设备类型。换句话说,第一端点为端点0,或者说,第一端点为根节点端点。In some embodiments, the first cluster may be located in a first endpoint, wherein the device type of the first endpoint is a root node device type. In other words, the first endpoint is endpoint 0, or the first endpoint is a root node endpoint.
由于服务端设备必须包含端点0,因此,在服务端设备的端点0下定义第一集群时,客户端设备无需提前确定第一集群的位置,便可以一次性成功读取第一集群的信息,有利于进一步提升用户体验。Since the server device must include endpoint 0, when the first cluster is defined under endpoint 0 of the server device, the client device can successfully read the information of the first cluster at one time without determining the location of the first cluster in advance, which is conducive to further improving user experience.
不过本申请实施例并不限定于此,或者说,本申请实施例对第一集群的存储位置并不限定。在一些实施例中,第一集群也可以位于其他位置。例如,第一集群可以存储于服务端设备的其他端点下;或者,第一集群的信息可以存储于服务端设备的服务器或其他存储位置,只要客户端设备能够访问该第一集群即可。However, the embodiments of the present application are not limited to this, or in other words, the embodiments of the present application do not limit the storage location of the first cluster. In some embodiments, the first cluster can also be located in other locations. For example, the first cluster can be stored under other endpoints of the server device; or, the information of the first cluster can be stored in the server of the server device or other storage location, as long as the client device can access the first cluster.
在一些实施例中,客户端设备对服务端设备进行能力发现后,可以基于服务端设备的能力对其进行控制。示例性地,以服务端设备为车设备为例,客户端设备对该车设备进行能力发现后,发现其可以控制该车设备打开车窗、打开空调等。基于此,客户端设备可以向服务端设备发送命令,该命令可以用于对服务端设备的集群(比如,应用程序集群)进行操作,以控制打开车窗、打开空调等。In some embodiments, after the client device discovers the capabilities of the server device, it can control the server device based on the capabilities of the server device. For example, taking the server device as a car device, after the client device discovers the capabilities of the car device, it finds that it can control the car device to open the window, turn on the air conditioner, etc. Based on this, the client device can send a command to the server device, and the command can be used to operate a cluster of server devices (e.g., an application cluster) to control opening the window, turning on the air conditioner, etc.
为了便于理解本申请的技术方案,下文给出两个具体实施例。需要说明的是,该实施例并不用于对本申请的技术方案进行限定。In order to facilitate understanding of the technical solution of the present application, two specific embodiments are given below. It should be noted that the embodiments are not intended to limit the technical solution of the present application.
实施例一:Embodiment 1:
实施例一中,在端点0中定义第一集群,该第一集群可以是在端点0下定义的一个全新的集群,也可以是对端点0中的描述符集群进行修改,行成一个新的集群。该第一集群包括第一属性,关于第一属性的内容可以参见前文(例如,表3),第一属性中的类型的结构体的定义可以参见前文表4。也就是说,实施例一中,第一集群的信息包括服务端设备包含的所有的业务端点的信息(比如,所有业务端点的端点标识、业务端点对应的设备类型、以及业务端点包含的其他端点的端点信息),以及任意一个业务端点包含的集群的标识。In the first embodiment, a first cluster is defined in endpoint 0. The first cluster may be a completely new cluster defined under endpoint 0, or a new cluster may be formed by modifying the descriptor cluster in endpoint 0. The first cluster includes a first attribute. For the content of the first attribute, please refer to the above text (for example, Table 3). For the definition of the structure of the type in the first attribute, please refer to Table 4 above. That is to say, in the first embodiment, the information of the first cluster includes the information of all the service endpoints included in the server device (for example, the endpoint identifiers of all the service endpoints, the device types corresponding to the service endpoints, and the endpoint information of other endpoints included in the service endpoints), as well as the identifier of the cluster included in any one of the service endpoints.
实施例一中,客户端设备和服务端设备的交互流程可以参见图6。图6为本申请又一实施例提供的用于设备能力发现的方法的流程示意图。In the first embodiment, the interaction process between the client device and the server device can be seen in Figure 6. Figure 6 is a flow chart of a method for device capability discovery provided by another embodiment of the present application.
如图6所示,在步骤S610,客户端设备读取服务端设备的端点0下的第一集群。As shown in FIG. 6 , in step S610 , the client device reads the first cluster under endpoint 0 of the server device.
在步骤S620,服务端设备向客户端设备返回端点0下的第一集群的属性信息。In step S620 , the server device returns attribute information of the first cluster under endpoint 0 to the client device.
在步骤S630,客户端设备得到服务端设备所有的业务端点和业务端点下所对应的集群。In step S630, the client device obtains all service endpoints of the server device and the clusters corresponding to the service endpoints.
经过步骤S610的读取操作后,客户端设备可以在步骤S630获知服务端设备包含哪些业务端点,以及每个业务端点下面包含哪些集群。After the reading operation in step S610 , the client device may learn in step S630 which service endpoints the server device includes and which clusters are included under each service endpoint.
在步骤S640,客户端设备读取服务端设备的某个集群下的全局属性中的属性列表。In step S640, the client device reads a property list in the global properties under a certain cluster of the server device.
在步骤S650,服务端设备向客户端设备返回该集群下的全局属性中的属性列表的信息。In step S650, the server device returns information of the attribute list in the global attributes of the cluster to the client device.
重复步骤S640和步骤S650后,客户端设备便可以获知每个集群下面包含哪些属性,从而获知该服务端设备具备的能力。After repeating step S640 and step S650, the client device can learn which attributes are included in each cluster, and thus learn the capabilities of the server device.
示例性地,假设服务端设备包括除端点0之外的3个端点(端点1、端点2和端点3),端点1包括集群1和集群5,端点2包括集群2和集群4,端点3包括集群3。在步骤S630时,客户端设备可以获知服务端设备包括上述这些端点和集群。通过重复步骤S640和步骤S650可以分别读取集群1至集群5的全局属性,从而获知服务端设备的能力。For example, it is assumed that the server device includes three endpoints (endpoint 1, endpoint 2, and endpoint 3) except endpoint 0, endpoint 1 includes cluster 1 and cluster 5, endpoint 2 includes cluster 2 and cluster 4, and endpoint 3 includes cluster 3. In step S630, the client device can learn that the server device includes the above-mentioned endpoints and clusters. By repeating steps S640 and S650, the global attributes of clusters 1 to 5 can be read respectively, so as to learn the capabilities of the server device.
实施例二:Embodiment 2:
实施例二中,在端点0中定义第一集群,该第一集群可以是在端点0下定义的一个全新的集群,也可以是对端点0中的描述符集群进行修改,行成一个新的集群。该第一集群包括第一属性,关于第一属性的内容可以参见前文(例如,表3),第一属性中的类型的 结构体的定义可以参见前文表6和表7。也就是说,实施例二中,第一集群的信息包括服务端设备包含的所有的业务端点的信息(比如,所有业务端点的端点标识、业务端点对应的设备类型、以及业务端点包含的其他端点的端点信息),以及任意一个业务端点包含的集群的标识、集群的属性信息、集群的事件信息和集群的命令信息。In the second embodiment, a first cluster is defined in endpoint 0. The first cluster may be a completely new cluster defined under endpoint 0, or a new cluster may be formed by modifying the descriptor cluster in endpoint 0. The first cluster includes a first attribute. For the content of the first attribute, please refer to the above text (for example, Table 3). For the definition of the structure of the type in the first attribute, please refer to Table 6 and Table 7. That is to say, in the second embodiment, the information of the first cluster includes the information of all service endpoints contained in the service-side device (for example, the endpoint identifiers of all service endpoints, the device types corresponding to the service endpoints, and the endpoint information of other endpoints contained in the service endpoints), as well as the identifier of the cluster contained in any service endpoint, the attribute information of the cluster, the event information of the cluster, and the command information of the cluster.
实施例二中,客户端设备和服务端设备的交互流程可以参见图7。图7为本申请又一实施例提供的用于设备能力发现的方法的流程示意图。In the second embodiment, the interaction process between the client device and the server device can be seen in Figure 7. Figure 7 is a flow chart of a method for device capability discovery provided by another embodiment of the present application.
如图7所示,在步骤S710,客户端设备读取服务端设备的端点0下的第一集群。As shown in FIG. 7 , in step S710 , the client device reads the first cluster under endpoint 0 of the server device.
在步骤S720,服务端设备向客户端设备返回端点0下的第一集群的属性信息。In step S720 , the server device returns attribute information of the first cluster under endpoint 0 to the client device.
在步骤S730,客户端设备得到服务端设备所有的业务端点,业务端点下所对应的集群,以及各集群下对应的属性、事件和命令。In step S730, the client device obtains all service endpoints of the server device, the clusters corresponding to the service endpoints, and the corresponding attributes, events and commands under each cluster.
经过步骤S710的读取操作后,客户端设备可以在步骤S730获知服务端设备包含哪些业务端点,每个业务端点下面包含哪些集群,并具体知道每个集群下面包含哪些属性、事件和命令。After the reading operation in step S710 , the client device can learn in step S730 which service endpoints the server device includes, which clusters each service endpoint includes, and specifically which attributes, events and commands each cluster includes.
至此,在步骤S730,客户端设备便可以获知该服务端设备具备的能力。At this point, in step S730, the client device can learn the capabilities of the server device.
示例性地,假设服务端设备包括除端点0之外的3个端点(端点1、端点2和端点3),端点1包括集群1和集群5,端点2包括集群2和集群4,端点3包括集群3。在步骤S730时,客户端设备可以获知服务端设备包括上述这些端点,集群,以及各集群包含的属性、事件和命令,从而获知服务端设备的能力。也就是说,客户端设备只需发起一次读取请求操作,便可以获取服务端设备的全部能力。For example, it is assumed that the server device includes three endpoints (endpoint 1, endpoint 2, and endpoint 3) in addition to endpoint 0, endpoint 1 includes cluster 1 and cluster 5, endpoint 2 includes cluster 2 and cluster 4, and endpoint 3 includes cluster 3. In step S730, the client device can learn that the server device includes the above-mentioned endpoints, clusters, and the attributes, events, and commands contained in each cluster, thereby learning the capabilities of the server device. In other words, the client device only needs to initiate a read request operation once to obtain all the capabilities of the server device.
上文结合图1至图7,详细描述了本申请的方法实施例,下面结合图8至图10,详细描述本申请的装置实施例。应理解,方法实施例的描述与装置实施例的描述相互对应,因此,未详细描述的部分可以参见前面方法实施例。The method embodiment of the present application is described in detail above in conjunction with Figures 1 to 7, and the device embodiment of the present application is described in detail below in conjunction with Figures 8 to 10. It should be understood that the description of the method embodiment corresponds to the description of the device embodiment, so the part not described in detail can refer to the previous method embodiment.
图8为本申请实施例提供的服务端设备的结构示意图。图8所示的服务端设备800可以包括接收模块810。FIG8 is a schematic diagram of the structure of a server device provided in an embodiment of the present application. The server device 800 shown in FIG8 may include a receiving module 810 .
接收模块810可以用于接收客户端设备发送的第一消息,所述第一消息用于查询第一集群;其中,所述第一集群的信息用于所述客户端设备发现所述服务端设备的能力,所述第一集群的信息包括:所述服务端设备包含的所有的业务端点的信息;以及所述所有的业务端点中的任意一个业务端点包含的集群的信息。The receiving module 810 can be used to receive a first message sent by a client device, and the first message is used to query a first cluster; wherein the information of the first cluster is used by the client device to discover the capability of the server device, and the information of the first cluster includes: information of all service endpoints contained in the server device; and information of the cluster contained in any one of all the service endpoints.
可选地,所述业务端点的信息包括所述业务端点的端点标识。Optionally, the information of the service endpoint includes an endpoint identifier of the service endpoint.
可选地,所述业务端点的信息还包括以下信息中的一种或多种:所述业务端点对应的设备类型,以及所述业务端点关联/包含的其他端点的信息。Optionally, the information of the service endpoint further includes one or more of the following information: a device type corresponding to the service endpoint, and information of other endpoints associated with/included by the service endpoint.
可选地,所述业务端点对应的设备类型包括第一字段,所述第一字段用于采用一个或多个标签来标记所述业务端点对应的设备类型。Optionally, the device type corresponding to the service endpoint includes a first field, and the first field is used to mark the device type corresponding to the service endpoint with one or more tags.
可选地,所述业务端点包含的集群的信息包括所述业务端点包含的集群的标识。Optionally, the information of the cluster included in the service endpoint includes an identifier of the cluster included in the service endpoint.
可选地,所述业务端点包含的集群的信息还包括以下信息中的一种或多种:所述业务端点包含的集群的属性信息,所述业务端点包含的集群的命令信息,以及所述业务端点包含的集群的事件信息。Optionally, the cluster information contained in the service endpoint further includes one or more of the following information: attribute information of the cluster contained in the service endpoint, command information of the cluster contained in the service endpoint, and event information of the cluster contained in the service endpoint.
可选地,所述业务端点包含的集群包括第一全局属性,所述业务端点包含的集群的命令信息包括针对所述业务端点包含的集群的请求命令信息和响应命令信息,其中,所述请求命令信息和所述响应命令信息均记录在所述第一全局属性中。Optionally, the cluster included in the service endpoint includes a first global attribute, and the command information of the cluster included in the service endpoint includes request command information and response command information for the cluster included in the service endpoint, wherein the request command information and the response command information are both recorded in the first global attribute.
可选地,所述服务端设备包括第一端点,所述第一端点的设备类型为根节点设备类型,所述第一端点包括所述第一集群。Optionally, the server device includes a first endpoint, a device type of the first endpoint is a root node device type, and the first endpoint includes the first cluster.
图9为本申请实施例提供的客户端设备的结构示意图。图9所示的客户端设备900可以包括发送模块910。Fig. 9 is a schematic diagram of the structure of a client device provided in an embodiment of the present application. The client device 900 shown in Fig. 9 may include a sending module 910.
发送模块910可以用于向服务端设备发送第一消息,所述第一消息用于查询第一集群; 其中,所述第一集群的信息用于所述客户端设备发现所述服务端设备的能力,所述第一集群的信息包括:所述服务端设备包含的所有的业务端点的信息;以及所述所有的业务端点中的任意一个业务端点包含的集群的信息。The sending module 910 can be used to send a first message to the server device, and the first message is used to query the first cluster; wherein the information of the first cluster is used by the client device to discover the capabilities of the server device, and the information of the first cluster includes: information of all service endpoints contained in the server device; and information of the cluster contained in any one of all the service endpoints.
可选地,所述业务端点的信息包括所述业务端点的端点标识。Optionally, the information of the service endpoint includes an endpoint identifier of the service endpoint.
可选地,所述业务端点的信息还包括以下信息中的一种或多种:所述业务端点对应的设备类型,以及所述业务端点关联/包含的其他端点的信息。Optionally, the information of the service endpoint further includes one or more of the following information: a device type corresponding to the service endpoint, and information of other endpoints associated with/included by the service endpoint.
可选地,所述业务端点对应的设备类型包括第一字段,所述第一字段用于采用一个或多个标签来标记所述业务端点对应的设备类型。Optionally, the device type corresponding to the service endpoint includes a first field, and the first field is used to mark the device type corresponding to the service endpoint with one or more tags.
可选地,所述业务端点包含的集群的信息包括所述业务端点包含的集群的标识。Optionally, the information of the cluster included in the service endpoint includes an identifier of the cluster included in the service endpoint.
可选地,所述业务端点包含的集群的信息还包括以下信息中的一种或多种:所述业务端点包含的集群的属性信息,所述业务端点包含的集群的命令信息,以及所述业务端点包含的集群的事件信息。Optionally, the cluster information contained in the service endpoint further includes one or more of the following information: attribute information of the cluster contained in the service endpoint, command information of the cluster contained in the service endpoint, and event information of the cluster contained in the service endpoint.
可选地,所述业务端点包含的集群包括第一全局属性,所述业务端点包含的集群的命令信息包括针对所述业务端点包含的集群的请求命令信息和响应命令信息,其中,所述请求命令信息和所述响应命令信息均记录在所述第一全局属性中。Optionally, the cluster included in the service endpoint includes a first global attribute, and the command information of the cluster included in the service endpoint includes request command information and response command information for the cluster included in the service endpoint, wherein the request command information and the response command information are both recorded in the first global attribute.
可选地,所述服务端设备包括第一端点,所述第一端点的设备类型为根节点设备类型,所述第一端点包括所述第一集群。Optionally, the server device includes a first endpoint, a device type of the first endpoint is a root node device type, and the first endpoint includes the first cluster.
图10是本申请实施例的通信装置的示意性结构图。图10中的虚线表示该单元或模块为可选的。该装置1000可用于实现上述方法实施例中描述的方法。装置1000可以是芯片、服务端设备或客户端设备。FIG10 is a schematic structural diagram of a communication device according to an embodiment of the present application. The dotted lines in FIG10 indicate that the unit or module is optional. The device 1000 may be used to implement the method described in the above method embodiment. The device 1000 may be a chip, a server device, or a client device.
装置1000可以包括一个或多个处理器1010。该处理器1010可支持装置1000实现前文方法实施例所描述的方法。该处理器1010可以是通用处理器或者专用处理器。例如,该处理器可以为中央处理单元(central processing unit,CPU)。或者,该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。The device 1000 may include one or more processors 1010. The processor 1010 may support the device 1000 to implement the method described in the method embodiment above. The processor 1010 may be a general-purpose processor or a special-purpose processor. For example, the processor may be a central processing unit (CPU). Alternatively, the processor may also be other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc.
装置1000还可以包括一个或多个存储器1020。存储器1020上存储有程序,该程序可以被处理器1010执行,使得处理器1010执行前文方法实施例所描述的方法。存储器1020可以独立于处理器1010也可以集成在处理器1010中。The apparatus 1000 may further include one or more memories 1020. The memory 1020 stores a program, which can be executed by the processor 1010, so that the processor 1010 executes the method described in the above method embodiment. The memory 1020 may be independent of the processor 1010 or integrated in the processor 1010.
装置1000还可以包括收发器1030。处理器1010可以通过收发器1030与其他设备或芯片进行通信。例如,处理器1010可以通过收发器1030与其他设备或芯片进行数据收发。The apparatus 1000 may further include a transceiver 1030. The processor 1010 may communicate with other devices or chips through the transceiver 1030. For example, the processor 1010 may transmit and receive data with other devices or chips through the transceiver 1030.
本申请实施例还提供一种计算机可读存储介质,用于存储程序。该计算机可读存储介质可应用于本申请实施例提供的服务端设备或客户端设备中,并且该程序使得计算机执行本申请各个实施例中的由服务端设备或客户端设备执行的方法。The present application also provides a computer-readable storage medium for storing a program. The computer-readable storage medium can be applied to the server device or client device provided in the present application, and the program enables the computer to execute the method performed by the server device or client device in each embodiment of the present application.
本申请实施例还提供一种计算机程序产品。该计算机程序产品包括程序。该计算机程序产品可应用于本申请实施例提供的服务端设备或客户端设备中,并且该程序使得计算机执行本申请各个实施例中的由服务端设备或客户端设备执行的方法。The embodiment of the present application also provides a computer program product. The computer program product includes a program. The computer program product can be applied to the server device or client device provided in the embodiment of the present application, and the program enables the computer to execute the method performed by the server device or client device in each embodiment of the present application.
本申请实施例还提供一种计算机程序。该计算机程序可应用于本申请实施例提供的服务端设备或客户端设备中,并且该计算机程序使得计算机执行本申请各个实施例中的由服务端设备或客户端设备执行的方法。The embodiment of the present application also provides a computer program. The computer program can be applied to the server device or client device provided in the embodiment of the present application, and the computer program enables a computer to execute the method executed by the server device or client device in each embodiment of the present application.
应理解,本申请中术语“系统”和“网络”可以被可互换使用。另外,本申请使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形, 意图在于覆盖不排他的包含。It should be understood that the terms "system" and "network" in this application can be used interchangeably. In addition, the terms used in this application are only used to explain the specific embodiments of the present application, and are not intended to limit the present application. The terms "first", "second", "third" and "fourth" in the specification and claims of this application and the accompanying drawings are used to distinguish different objects, rather than to describe a specific order. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions.
在本申请的实施例中,提到的“指示”可以是直接指示,也可以是间接指示,还可以是表示具有关联关系。举例说明,A指示B,可以表示A直接指示B,例如B可以通过A获取;也可以表示A间接指示B,例如A指示C,B可以通过C获取;还可以表示A和B之间具有关联关系。In the embodiments of the present application, the "indication" mentioned can be a direct indication, an indirect indication, or an indication of an association relationship. For example, A indicates B, which can mean that A directly indicates B, for example, B can be obtained through A; it can also mean that A indirectly indicates B, for example, A indicates C, B can be obtained through C; it can also mean that there is an association relationship between A and B.
在本申请实施例中,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。In the embodiment of the present application, "B corresponding to A" means that B is associated with A, and B can be determined according to A. However, it should be understood that determining B according to A does not mean determining B only according to A, and B can also be determined according to A and/or other information.
在本申请实施例中,术语“对应”可表示两者之间具有直接对应或间接对应的关系,也可以表示两者之间具有关联关系,也可以是指示与被指示、配置与被配置等关系。In the embodiments of the present application, the term "corresponding" may indicate that there is a direct or indirect correspondence between the two, or an association relationship between the two, or a relationship of indication and being indicated, configuration and being configured, etc.
本申请实施例中,“预定义”或“预配置”可以通过在设备(例如,包括服务端设备和客户端设备)中预先保存相应的代码、表格或其他可用于指示相关信息的方式来实现,本申请对于其具体的实现方式不做限定。比如预定义可以是指协议中定义的。In the embodiments of the present application, "pre-definition" or "pre-configuration" can be implemented by pre-saving corresponding codes, tables or other methods that can be used to indicate relevant information in a device (for example, including a server device and a client device), and the present application does not limit the specific implementation method. For example, pre-definition can refer to what is defined in the protocol.
本申请实施例中,所述“协议”可以指通信领域的标准协议,例如可以包括LTE协议、NR协议以及应用于未来的通信系统中的相关协议,本申请对此不做限定。In the embodiments of the present application, the “protocol” may refer to a standard protocol in the communication field, for example, it may include an LTE protocol, an NR protocol, and related protocols used in future communication systems, and the present application does not limit this.
本申请实施例中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。In the embodiments of the present application, the term "and/or" is only a description of the association relationship of the associated objects, indicating that there can be three relationships. For example, A and/or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character "/" in this article generally indicates that the associated objects before and after are in an "or" relationship.
在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。In various embodiments of the present application, the size of the serial numbers of the above-mentioned processes does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够读取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字通用光盘(digital video disc,DVD))或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented by software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from a website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (digital subscriber line, DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium can be any available medium that can be read by a computer or a data storage device such as a server or data center that includes one or more available media integrated. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a magnetic tape), an optical medium (e.g., a digital video disc (DVD)), or a semiconductor medium (e.g., a solid state disk (SSD)), etc.
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims (39)

  1. 一种用于设备能力发现的方法,其特征在于,包括:A method for device capability discovery, comprising:
    服务端设备接收客户端设备发送的第一消息,所述第一消息用于查询第一集群;The server device receives a first message sent by the client device, where the first message is used to query the first cluster;
    其中,所述第一集群的信息用于所述客户端设备发现所述服务端设备的能力,所述第一集群的信息包括:The information of the first cluster is used by the client device to discover the capability of the server device, and the information of the first cluster includes:
    所述服务端设备包含的所有的业务端点的信息;以及Information about all service endpoints contained in the server device; and
    所述所有的业务端点中的任意一个业务端点包含的集群的信息。The cluster information contained in any one of all the service endpoints.
  2. 根据权利要求1所述的方法,其特征在于,所述业务端点的信息包括所述业务端点的端点标识。The method according to claim 1 is characterized in that the information of the service endpoint includes an endpoint identifier of the service endpoint.
  3. 根据权利要求2所述的方法,其特征在于,所述业务端点的信息还包括以下信息中的一种或多种:The method according to claim 2, wherein the information of the service endpoint further includes one or more of the following information:
    所述业务端点对应的设备类型,以及The device type corresponding to the service endpoint, and
    所述业务端点关联/包含的其他端点的信息。Information about other endpoints associated with/included by the business endpoint.
  4. 根据权利要求3所述的方法,其特征在于,所述业务端点对应的设备类型包括第一字段,所述第一字段用于采用一个或多个标签来标记所述业务端点对应的设备类型。The method according to claim 3 is characterized in that the device type corresponding to the service endpoint includes a first field, and the first field is used to use one or more tags to mark the device type corresponding to the service endpoint.
  5. 根据权利要求1-4中任一项所述的方法,其特征在于,所述业务端点包含的集群的信息包括所述业务端点包含的集群的标识。The method according to any one of claims 1-4 is characterized in that the information of the cluster included in the service endpoint includes an identifier of the cluster included in the service endpoint.
  6. 根据权利要求5所述的方法,其特征在于,所述业务端点包含的集群的信息还包括以下信息中的一种或多种:The method according to claim 5, characterized in that the cluster information contained in the service endpoint further includes one or more of the following information:
    所述业务端点包含的集群的属性信息,The service endpoint contains the attribute information of the cluster,
    所述业务端点包含的集群的命令信息,以及The service endpoint contains the cluster command information, and
    所述业务端点包含的集群的事件信息。The service endpoint includes event information of the cluster.
  7. 根据权利要求1-6中任一项所述的方法,其特征在于,所述业务端点包含的集群包括第一全局属性,所述业务端点包含的集群的命令信息包括针对所述业务端点包含的集群的请求命令信息和响应命令信息,其中,所述请求命令信息和所述响应命令信息均记录在所述第一全局属性中。The method according to any one of claims 1-6 is characterized in that the cluster included in the business endpoint includes a first global attribute, and the command information of the cluster included in the business endpoint includes request command information and response command information for the cluster included in the business endpoint, wherein the request command information and the response command information are both recorded in the first global attribute.
  8. 根据权利要求1-7中任一项所述的方法,其特征在于,所述服务端设备包括第一端点,所述第一端点的设备类型为根节点设备类型,所述第一端点包括所述第一集群。The method according to any one of claims 1-7 is characterized in that the server-side device includes a first endpoint, a device type of the first endpoint is a root node device type, and the first endpoint includes the first cluster.
  9. 一种用于设备能力发现的方法,其特征在于,包括:A method for device capability discovery, comprising:
    客户端设备向服务端设备发送第一消息,所述第一消息用于查询第一集群;The client device sends a first message to the server device, where the first message is used to query the first cluster;
    其中,所述第一集群的信息用于所述客户端设备发现所述服务端设备的能力,所述第一集群的信息包括:The information of the first cluster is used by the client device to discover the capability of the server device, and the information of the first cluster includes:
    所述服务端设备包含的所有的业务端点的信息;以及Information about all service endpoints contained in the server device; and
    所述所有的业务端点中的任意一个业务端点包含的集群的信息。The cluster information contained in any one of all the service endpoints.
  10. 根据权利要求9所述的方法,其特征在于,所述业务端点的信息包括所述业务端点的端点标识。The method according to claim 9 is characterized in that the information of the service endpoint includes an endpoint identifier of the service endpoint.
  11. 根据权利要求10所述的方法,其特征在于,所述业务端点的信息还包括以下信息中的一种或多种:The method according to claim 10, characterized in that the information of the service endpoint further includes one or more of the following information:
    所述业务端点对应的设备类型,以及The device type corresponding to the service endpoint, and
    所述业务端点关联/包含的其他端点的信息。Information about other endpoints associated with/included by the business endpoint.
  12. 根据权利要求11所述的方法,其特征在于,所述业务端点对应的设备类型包括第一字段,所述第一字段用于采用一个或多个标签来标记所述业务端点对应的设备类型。The method according to claim 11 is characterized in that the device type corresponding to the service endpoint includes a first field, and the first field is used to use one or more tags to mark the device type corresponding to the service endpoint.
  13. 根据权利要求9-12中任一项所述的方法,其特征在于,所述业务端点包含的集群的信息包括所述业务端点包含的集群的标识。The method according to any one of claims 9 to 12, characterized in that the information of the cluster included in the service endpoint includes an identifier of the cluster included in the service endpoint.
  14. 根据权利要求13所述的方法,其特征在于,所述业务端点包含的集群的信息还包 括以下信息中的一种或多种:The method according to claim 13, characterized in that the cluster information contained in the service endpoint further includes one or more of the following information:
    所述业务端点包含的集群的属性信息,The service endpoint contains the attribute information of the cluster,
    所述业务端点包含的集群的命令信息,以及The service endpoint contains the cluster command information, and
    所述业务端点包含的集群的事件信息。The service endpoint includes event information of the cluster.
  15. 根据权利要求9-14中任一项所述的方法,其特征在于,所述业务端点包含的集群包括第一全局属性,所述业务端点包含的集群的命令信息包括针对所述业务端点包含的集群的请求命令信息和响应命令信息,其中,所述请求命令信息和所述响应命令信息均记录在所述第一全局属性中。The method according to any one of claims 9-14 is characterized in that the cluster included in the business endpoint includes a first global attribute, and the command information of the cluster included in the business endpoint includes request command information and response command information for the cluster included in the business endpoint, wherein the request command information and the response command information are both recorded in the first global attribute.
  16. 根据权利要求9-15中任一项所述的方法,其特征在于,所述服务端设备包括第一端点,所述第一端点的设备类型为根节点设备类型,所述第一端点包括所述第一集群。The method according to any one of claims 9-15 is characterized in that the server-side device includes a first endpoint, the device type of the first endpoint is a root node device type, and the first endpoint includes the first cluster.
  17. 一种服务端设备,其特征在于,包括:A server device, characterized by comprising:
    接收模块,用于接收客户端设备发送的第一消息,所述第一消息用于查询第一集群;A receiving module, configured to receive a first message sent by a client device, wherein the first message is used to query a first cluster;
    其中,所述第一集群的信息用于所述客户端设备发现所述服务端设备的能力,所述第一集群的信息包括:The information of the first cluster is used by the client device to discover the capability of the server device, and the information of the first cluster includes:
    所述服务端设备包含的所有的业务端点的信息;以及Information about all service endpoints contained in the server device; and
    所述所有的业务端点中的任意一个业务端点包含的集群的信息。The cluster information contained in any one of all the service endpoints.
  18. 根据权利要求17所述的服务端设备,其特征在于,所述业务端点的信息包括所述业务端点的端点标识。The server device according to claim 17 is characterized in that the information of the service endpoint includes an endpoint identifier of the service endpoint.
  19. 根据权利要求18所述的服务端设备,其特征在于,所述业务端点的信息还包括以下信息中的一种或多种:The server device according to claim 18, wherein the information of the service endpoint further includes one or more of the following information:
    所述业务端点对应的设备类型,以及The device type corresponding to the service endpoint, and
    所述业务端点关联/包含的其他端点的信息。Information about other endpoints associated with/included by the business endpoint.
  20. 根据权利要求19所述的服务端设备,其特征在于,所述业务端点对应的设备类型包括第一字段,所述第一字段用于采用一个或多个标签来标记所述业务端点对应的设备类型。The server device according to claim 19 is characterized in that the device type corresponding to the service endpoint includes a first field, and the first field is used to use one or more tags to mark the device type corresponding to the service endpoint.
  21. 根据权利要求17-20中任一项所述的服务端设备,其特征在于,所述业务端点包含的集群的信息包括所述业务端点包含的集群的标识。The server device according to any one of claims 17-20 is characterized in that the information of the cluster included in the service endpoint includes an identifier of the cluster included in the service endpoint.
  22. 根据权利要求21所述的服务端设备,其特征在于,所述业务端点包含的集群的信息还包括以下信息中的一种或多种:The server device according to claim 21, wherein the cluster information contained in the service endpoint further includes one or more of the following information:
    所述业务端点包含的集群的属性信息,The service endpoint contains the attribute information of the cluster,
    所述业务端点包含的集群的命令信息,以及The service endpoint contains the cluster command information, and
    所述业务端点包含的集群的事件信息。The service endpoint includes event information of the cluster.
  23. 根据权利要求17-22中任一项所述的服务端设备,其特征在于,所述业务端点包含的集群包括第一全局属性,所述业务端点包含的集群的命令信息包括针对所述业务端点包含的集群的请求命令信息和响应命令信息,其中,所述请求命令信息和所述响应命令信息均记录在所述第一全局属性中。The server device according to any one of claims 17-22 is characterized in that the cluster included in the business endpoint includes a first global attribute, and the command information of the cluster included in the business endpoint includes request command information and response command information for the cluster included in the business endpoint, wherein the request command information and the response command information are both recorded in the first global attribute.
  24. 根据权利要求17-23中任一项所述的服务端设备,其特征在于,所述服务端设备包括第一端点,所述第一端点的设备类型为根节点设备类型,所述第一端点包括所述第一集群。The server device according to any one of claims 17-23 is characterized in that the server device includes a first endpoint, a device type of the first endpoint is a root node device type, and the first endpoint includes the first cluster.
  25. 一种客户端设备,其特征在于,包括:A client device, comprising:
    发送模块,用于向服务端设备发送第一消息,所述第一消息用于查询第一集群;A sending module, configured to send a first message to a server device, wherein the first message is used to query a first cluster;
    其中,所述第一集群的信息用于所述客户端设备发现所述服务端设备的能力,所述第一集群的信息包括:The information of the first cluster is used by the client device to discover the capability of the server device, and the information of the first cluster includes:
    所述服务端设备包含的所有的业务端点的信息;以及Information about all service endpoints contained in the server device; and
    所述所有的业务端点中的任意一个业务端点包含的集群的信息。The cluster information contained in any one of all the service endpoints.
  26. 根据权利要求25所述的客户端设备,其特征在于,所述业务端点的信息包括所述业务端点的端点标识。The client device according to claim 25 is characterized in that the information of the service endpoint includes an endpoint identifier of the service endpoint.
  27. 根据权利要求26所述的客户端设备,其特征在于,所述业务端点的信息还包括以下信息中的一种或多种:The client device according to claim 26, wherein the information of the service endpoint further includes one or more of the following information:
    所述业务端点对应的设备类型,以及The device type corresponding to the service endpoint, and
    所述业务端点关联/包含的其他端点的信息。Information about other endpoints associated with/included by the business endpoint.
  28. 根据权利要求27所述的客户端设备,其特征在于,所述业务端点对应的设备类型包括第一字段,所述第一字段用于采用一个或多个标签来标记所述业务端点对应的设备类型。The client device according to claim 27 is characterized in that the device type corresponding to the service endpoint includes a first field, and the first field is used to use one or more tags to mark the device type corresponding to the service endpoint.
  29. 根据权利要求25-28中任一项所述的客户端设备,其特征在于,所述业务端点包含的集群的信息包括所述业务端点包含的集群的标识。The client device according to any one of claims 25-28 is characterized in that the information of the cluster included in the service endpoint includes an identifier of the cluster included in the service endpoint.
  30. 根据权利要求29所述的客户端设备,其特征在于,所述业务端点包含的集群的信息还包括以下信息中的一种或多种:The client device according to claim 29, wherein the cluster information included in the service endpoint further includes one or more of the following information:
    所述业务端点包含的集群的属性信息,The service endpoint contains the attribute information of the cluster,
    所述业务端点包含的集群的命令信息,以及The service endpoint contains the cluster command information, and
    所述业务端点包含的集群的事件信息。The service endpoint includes event information of the cluster.
  31. 根据权利要求25-30中任一项所述的客户端设备,其特征在于,所述业务端点包含的集群包括第一全局属性,所述业务端点包含的集群的命令信息包括针对所述业务端点包含的集群的请求命令信息和响应命令信息,其中,所述请求命令信息和所述响应命令信息均记录在所述第一全局属性中。The client device according to any one of claims 25-30 is characterized in that the cluster included in the service endpoint includes a first global attribute, and the command information of the cluster included in the service endpoint includes request command information and response command information for the cluster included in the service endpoint, wherein the request command information and the response command information are both recorded in the first global attribute.
  32. 根据权利要求25-31中任一项所述的客户端设备,其特征在于,所述服务端设备包括第一端点,所述第一端点的设备类型为根节点设备类型,所述第一端点包括所述第一集群。The client device according to any one of claims 25-31 is characterized in that the server device includes a first endpoint, the device type of the first endpoint is a root node device type, and the first endpoint includes the first cluster.
  33. 一种服务端设备,其特征在于,包括存储器和处理器,所述存储器用于存储程序,所述处理器用于调用所述存储器中的程序,以使所述服务端设备执行如权利要求1-8中任一项所述的方法。A server device, characterized in that it includes a memory and a processor, the memory is used to store programs, and the processor is used to call the programs in the memory so that the server device executes the method as described in any one of claims 1-8.
  34. 一种客户端设备,其特征在于,包括存储器和处理器,所述存储器用于存储程序,所述处理器用于调用所述存储器中的程序,以使所述客户端设备执行如权利要求9-16中任一项所述的方法。A client device, characterized in that it includes a memory and a processor, the memory is used to store programs, and the processor is used to call the programs in the memory so that the client device executes the method as described in any one of claims 9-16.
  35. 一种装置,其特征在于,包括处理器,用于从存储器中调用程序,以使所述装置执行如权利要求1-16中任一项所述的方法。A device, characterized in that it comprises a processor, which is used to call a program from a memory so that the device executes the method as described in any one of claims 1-16.
  36. 一种芯片,其特征在于,包括处理器,用于从存储器调用程序,使得安装有所述芯片的设备执行如权利要求1-16中任一项所述的方法。A chip, characterized in that it comprises a processor for calling a program from a memory so that a device equipped with the chip executes a method as described in any one of claims 1 to 16.
  37. 一种计算机可读存储介质,其特征在于,其上存储有程序,所述程序使得计算机执行如权利要求1-16中任一项所述的方法。A computer-readable storage medium, characterized in that a program is stored thereon, wherein the program enables a computer to execute the method according to any one of claims 1 to 16.
  38. 一种计算机程序产品,其特征在于,包括程序,所述程序使得计算机执行如权利要求1-16中任一项所述的方法。A computer program product, characterized in that it comprises a program, wherein the program enables a computer to execute the method according to any one of claims 1 to 16.
  39. 一种计算机程序,其特征在于,所述计算机程序使得计算机执行如权利要求1-16中任一项所述的方法。A computer program, characterized in that the computer program enables a computer to execute the method according to any one of claims 1 to 16.
PCT/CN2022/121364 2022-09-26 2022-09-26 Method for device capability discovery, server device, and client device WO2024065091A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2022/121364 WO2024065091A1 (en) 2022-09-26 2022-09-26 Method for device capability discovery, server device, and client device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2022/121364 WO2024065091A1 (en) 2022-09-26 2022-09-26 Method for device capability discovery, server device, and client device

Publications (1)

Publication Number Publication Date
WO2024065091A1 true WO2024065091A1 (en) 2024-04-04

Family

ID=90475148

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/121364 WO2024065091A1 (en) 2022-09-26 2022-09-26 Method for device capability discovery, server device, and client device

Country Status (1)

Country Link
WO (1) WO2024065091A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104144215A (en) * 2014-07-24 2014-11-12 西北工业大学 Method for building Internet-of-Things ubiquitous device resource model
US20190028355A1 (en) * 2015-09-30 2019-01-24 Amazon Technologies, Inc. Network-Based Resource Configuration Discovery Service
US20190260707A1 (en) * 2016-07-01 2019-08-22 Intel IP Corporation Communications in internet-of-things devices
CN111683372A (en) * 2020-06-11 2020-09-18 上海庆科信息技术有限公司 Processing method and device of attribute information, processor and terminal

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104144215A (en) * 2014-07-24 2014-11-12 西北工业大学 Method for building Internet-of-Things ubiquitous device resource model
US20190028355A1 (en) * 2015-09-30 2019-01-24 Amazon Technologies, Inc. Network-Based Resource Configuration Discovery Service
US20190260707A1 (en) * 2016-07-01 2019-08-22 Intel IP Corporation Communications in internet-of-things devices
CN111683372A (en) * 2020-06-11 2020-09-18 上海庆科信息技术有限公司 Processing method and device of attribute information, processor and terminal

Similar Documents

Publication Publication Date Title
US11159606B2 (en) Lightweight IoT information model
US11089116B2 (en) Operation triggering method and apparatus for machine-to-machine communications
CA2482238C (en) Simple and dynamic configuration of network devices
US6314447B1 (en) System uses local registry and load balancing procedure for identifying processing capabilities of a remote device to perform a processing task
US9137292B2 (en) Remote management of DLNA system
US20200076703A1 (en) Iot cloud to cloud architecture
TW201826869A (en) Method, system and device for connecting devices
US20100031324A1 (en) Apparatus and method for dynamic licensing access to wireless network information
US20140379878A1 (en) Generic Device Attributes for Sensing Devices
US20070106770A1 (en) Managing a remote device by a communication element that does not specify an identifier for the management object
US20090024726A1 (en) Device for network system and method of transmitting profile
US20060129700A1 (en) Bridging a local bus with a data network
WO2024065091A1 (en) Method for device capability discovery, server device, and client device
WO2019165704A1 (en) Data processing method and apparatus for smart appliance gateway device, and smart appliance gateway
US20230045914A1 (en) Method and apparatus for controlling device in internet of things, and gateway device and storage medium
WO2024050832A1 (en) Command transmission method and apparatus, chip, storage medium and computer program
WO2023216042A1 (en) Event management method and apparatus, device, storage medium, and program product
WO2023065354A1 (en) Information reporting method and apparatus, and device and storage medium
WO2023184559A1 (en) Device sharing method and apparatus, and device, storage medium and program product
KR100951212B1 (en) Apparatus and method for executing applet code unit in network control device
CN117648379A (en) Method and device for collecting and synchronizing time sequence data of different protocols