onem2m - OneM2M 通知阻止规则?
问题描述
我很难找到规范中的哪个位置,它指定了在最微不足道的情况下应该如何排队或阻止通知。
让我们假设一个简单的mn-ae <=> mn-cse <=> in-cse <=> in-ae
设置。上有一个资源res1
,mn-cse
并且in-ae
有一个微不足道的订阅:
{
"enc": {
"net": [3],
"ty": 4
},
"nct": 1,
"nu": ["<uri>"],
"pi": "res1",
"ri": "sub1",
"rn": "sub1",
"ty": 23
}
没有其他相关资源或配置会影响通知。
然后,假设mn-ae
更新res1
并触发通知in-ae
,假设in-ae
处理该通知需要一段时间(不足以超时)......在in-ae
处理通知时,mn-ae
会再次更新到res1
.
我的问题是:第二个通知在哪里(如果有的话)被阻止了?
- 在
mn-cse
? - 在
in-cse
? - 未阻止 -
in-ae
接收两个并发通知。
进一步的问题:
- 如果它(第 2 次通知)是由
in-ae
同一个不同触发的mn-cse
呢?(即通知是否基于目标排队?) - 如果相同
in-ae
触发了不同资源上的不同通知怎么办?(即,通知是否根据来源排队?) - 如果它是
in-ae
不同的mn-cse
呢?
解决方案
假设所描述的资源基本订阅场景并响应您的第一个问题,通知不会被阻止,并且 in-ae 将收到两个并发通知。oneM2M 没有指定任何通知阻止机制。
关于您的进一步问题(假设您的意思是 mn-ae 而不是 in-ae,在这种情况下猜测 in-ae 始终是通知目标),通知在生成后立即发送到目标,与 ae 无关触发它或订阅的资源。来自不同订阅资源的通知由通知元素中的 subscriptionReference 属性区分。
不同节点之间的订阅或连接的不同设置将使这种行为发生变化,即批处理通知、目标可达性等……</p>
推荐阅读
- java - 我想使用改造从服务中获取数据,如何在 android 中实现这一点?
- java - 通过 HTML Phonegap 客户端连接到 Java 服务器
- excel - 在两个不同的工作表上使用相同的宏 - 在一个工作表上工作,在另一个工作表上中止
- c - 在哪里加入多线程目录搜索?
- android - Android Studio 适配器和 Firebase
- python - Python Pickle 模块:加载列表的异常处理
- python-3.x - Spyder IDE 无法打开
- docker - 如何配置 docker-compose 服务在 dockerd dns 中的名称(以删除下划线)?
- arrays - 导入多个范围时连接或连接动态数组
- excel - 如果选择了特定值,则从列表框集合添加新工作表