首页 > 解决方案 > OneM2M 通知阻止规则?

问题描述

我很难找到规范中的哪个位置,它指定了在最微不足道的情况下应该如何排队或阻止通知。

让我们假设一个简单的mn-ae <=> mn-cse <=> in-cse <=> in-ae设置。上有一个资源res1mn-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.

我的问题是:第二个通知在哪里(如果有的话)被阻止了?

进一步的问题:

标签: onem2m

解决方案


假设所描述的资源基本订阅场景并响应您的第一个问题,通知不会被阻止,并且 in-ae 将收到两个并发通知。oneM2M 没有指定任何通知阻止机制。

关于您的进一步问题(假设您的意思是 mn-ae 而不是 in-ae,在这种情况下猜测 in-ae 始终是通知目标),通知在生成后立即发送到目标,与 ae 无关触发它或订阅的资源。来自不同订阅资源的通知由通知元素中的 subscriptionReference 属性区分。

不同节点之间的订阅或连接的不同设置将使这种行为发生变化,即批处理通知、目标可达性等……</p>


推荐阅读