什么是 ASAM ODS EXD-API 插件?
将原始测量数据转换为标准数据格式往往需要数据转换。这可能因数据副本而导致数据量增加,并干扰使用这些数据的现有工具链。为避免这些冲突,ASAM ODS 6.2 版引入了 EXD-API 插件。EXD-API 插件通过微服务提供对原始测量数据的访问,这些微服务暴露其中包含的元数据与海量数据。
作为 ASAM ODS 工作组的成员,Peak Solution 在 EXD-API 插件的定义中发挥了重要作用,而 Peak ASAM ODS Server 从一开始就支持 EXD-API 插件。
ASAM ODS EXD-API 插件的工作原理
EXD-API 插件使用以下方式交换数据 Google gRPC 协议.
EXD-API 插件提供的数据分为两类不同的操作:元数据检索 (GetStructure) 和批量/通道数据检索 (GetValue)。元数据以名称-值对的形式返回,用于提供数据的描述性和语义信息,从而提供高级搜索选项。
观察一个典型的调用序列,可以看到一旦识别到新文件(或项)(1),导入器就会调用 EXD-API 插件(GetStructure)以提供该特定文件的元数据(2)。随后 EXD-API 插件读取该文件(3)、创建返回结构(4)并返回所请求的数据(5)。
随后,部分返回的元数据(通常与文件和文件夹名称结合使用)被用于识别并创建数据上下文及所需的数据层级结构(6)。
另一部分随后用于在服务器中创建数据结构,以便在后续调用中接收批量/通道数据,并(可选地)提供该文件供下载 (7)。
现在,所有所需的数据和信息都可在 ASAM ODS 服务器上获取,客户端可以开始使用这些数据。
为此,他们连接到 ASAM ODS 服务器 (8),通常先探索层次化的数据结构 (9),直到抵达访问实际通道数据的位置 (10)。
为访问通道数据,ASAM ODS 服务器通过调用 GetValue 将客户端请求委派给 EXD-API 插件 (11)——其中包含有关文件和所请求通道的信息。EXD-API 插件利用这些信息打开文件、检索数据 (12),并将其返回给 ASAM ODS 服务器 (13),服务器再将其传回客户端 (14)。从客户端的角度看,由 ASAM ODS 服务器直接处理的调用与委派给 EXD-API 插件的调用之间没有差别。
开发 ASAM ODS EXD-API 插件
开发 EXD-API 插件的第一步是从以下位置获取 gRPC 定义文件(.proto 文件) ASAM GitHub 仓库。使用 gRPC 工具从 proto 文件生成初始服务器代码。gRPC 工具支持多种不同的编程语言,最好选择一种已提供读取目标文件或数据格式的库的语言,以便创建您的 EXD-API 插件。
Python 因其易用性和丰富的生态而成为创建 gRPC 服务的热门编程语言。一些基于 Python 的 EXD-API 插件示例可在以下位置找到 totonga 或 Peak Solution GitHub 仓库.
请注意,为了在 ASAM ODS 服务器中显示您的数据,您的 EXD-API 插件必须注册到 ASAM ODS 服务器及相应的导入服务。
互联解决方案
您可以点击这些链接,了解各个组件的更多信息。
Peak Data Transfer Tool
将数据导入 ASAM ODS 服务器。实现用于连接库存数据的 EXD-API 插件。
Peak ODS Server
将数据导入 ASAM ODS 服务器。实现用于连接库存数据的 EXD-API 插件。
PeakTDM FileFocus
从测量文件的内容中快速得出数据驱动的决策
相关主题
什么是 ASAM ODS?
ASAM ODS 标准定义了用于存储和检索测试与测量数据的 API 和格式。
Python ASAM ODS Utilities
使用 Python 处理 ASAM ODS 数据的开源工具与示例。
开源项目
进一步了解 Peak Solution 对开源项目的投入。