【问题标题】:How can I store binary data in Orion ContextBroker? Is it possible?如何在 Orion ContextBroker 中存储二进制数据?可能吗?
【发布时间】:2016-09-06 15:49:15
【问题描述】:

我正在使用 Orion 来存储上下文信息,并且我有兴趣在属性中存储 二进制数据(字节数组)。 当前版本(1.1.0)可以吗?

提前致谢。

【问题讨论】:

    标签: fiware fiware-orion


    【解决方案1】:

    简短的回答是否定的,不可能在 1.1.0 版本上存储二进制数据。

    这是因为 Orion Context Broker 使用 Restful API,所有数据都通过 XML 格式(非常旧的版本)或 JSON(最新版本)的文本传输,并使用 MongoDB 作为存储引擎,MongoDB 以称为 BSON 的二进制格式存储对象. BinData 是二进制字节数组的 BSON 数据类型。但是,MongoDB 对象的大小通常限制为 4MB。为了解决这个问题,文件被“分块”成多个小于 4MB 的对象。这具有让我们有效地检索给定文件的特定范围的额外优势。但是 Orion 不支持 BSON 数据,当然也不支持,因为 Orion Context Broker 的设计初衷不是存储二进制数据。

    您可以使用一些替代方案:

    • 使用单独的文件服务器并通过 URL 或其他服务器端技术引用它,您还可以使用其他 Fiware GE 的,例如 CKAN 或 ObjectStorage
    • 将二进制数据转换为十六进制,然后它将在 AlphaNumeric 数据上,在接收时您可以将其转换回二进制数据。在Python、PHP、Java 和C++ 中有一些示例如何将二进制操作为十六进制。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-09
      • 1970-01-01
      相关资源
      最近更新 更多