DDS(Data Distribution Service)————Samples与Instance之间的区联系
1.定义解释
实例是具有相同键值的所有样本的集合。实例代表特定的数据对象或实体,它在发布者和订阅者之间的一致性标识。每个实例由一个唯一的键值标识。
以下为 T o p i c , D a t a T y p e , I n s t a n c e , S a m p l e s 之间的联系 {\color{red}以下为Topic,DataType,Instance,Samples之间的联系} 以下为Topic,DataType,Instance,Samples之间的联系
2.具体示例
我们以多个传感器,传递温度为例子。多个传感器分别赋值不同的ID,用以区分不同的实例,并且携带当前温度。
typedef struct Templater
{
uint8_t sensor_id; /* 以sensor_id作为主键区分不同的Instance */
float temperature;
}Templater;
以下为具体过程的例子:
Templater t1 = {1,25.6};
Templater t2 = {1,25.6};
/*Send t1 sample-1 */
/*Send t2 sample-1 */
/*Send t1 sample-2 */
t1.temperature = 29.0;
3.实例与样本的区别
- 实例:
- 表示一个数据对象(由键值唯一标识)。
- 可以包含多个样本。
- 例如,
sensor_id = 1
的实例代表传感器1及其所有的温度读数。
- 样本:
- 实例在特定时间点的具体数据值。
- 属于某个实例。
1及其所有的温度读数。
- 样本:
- 实例在特定时间点的具体数据值。
- 属于某个实例。
- 例如,传感器1在某个时刻发布的温度值 25.5°C 是一个样本。