GIGE 协议摘录 —— GVSP 协议(三)

在这里插入图片描述

系列文章目录


GIGE 学习笔记
GIGE 协议摘录 —— 设备发现(一)
GIGE 协议摘录 —— GVCP 协议(二)
GIGE 协议摘录 —— GVSP 协议(三)
GIGE 协议摘录 —— 引导寄存器(四)
GIGE 协议 2.0 中文版


文章目录

  • 系列文章目录
  • GVSP 摘要
  • UDP 可靠性和错误恢复
  • 数据块
    • 数据块传输模式
    • 数据块数据包头
    • 标准传输模式数据包
      • 数据开始标记数据包
      • 全传输模式包
      • 块数据
  • 有效载荷类型
    • 1、扩展块模式(Extended Chunk Mode)
    • 2、图像有效载荷类型(Image Payload Type)
      • 图像数据开始标记包
      • 图像数据有效负载包
      • 图像数据结束标记包
      • 图像全输入数据包(Image All-in Packet)
    • 3、原始数据有效载荷类型(Raw Data Payload Type)
    • 4、文件有效载荷类型(File Payload Type)
    • 5、块数据有效载荷类型(Chunk Data Payload Type)
    • 6、扩展块数据有效载荷类型(已弃用)(Extended Chunk Data Payload Type (deprecated))
    • 7、JPEG有效载荷类型(JPEG Payload Type)
    • 8、JPEG 2000有效载荷类型(JPEG 2000 Payload Type)
    • 9、H.264有效载荷类型(H.264 Payload Type)
    • 10、多区域图像有效载荷类型(Multi-zone Image Payload Type)
    • 11、设备特定有效载荷类型(Device-specific Payload Type)
  • 像素布局(Pixel Layouts)
    • 1、像素对齐(Pixel Alignment)
    • 2、线和图像边界(Line and Image Boundaries)
    • 3、像素格式(Pixel Formats)
      • 3.1 Mono1p
      • 3.2 Mono2p
      • 3.3 Mono4p
      • 3.4 Mono8
      • 3.5 Mono8s
      • 3.6 Mono10
      • 3.7 Mono10Packed
      • 3.8 Mono12
      • 3.9 Mono12Packed
      • 3.10 Mono14
      • 3.11 Mono16
      • 3.12 BayerGR8
      • 3.13 BayerRG8
      • 3.69 RGB16_Planar
  • 像素格式定义(Pixel Format Defines)
    • 1、单个缓冲区格式定义(Mono buffer format defines)
    • 2、Bayer buffer format defines
    • 3、RGB打包的缓冲区格式定义(RGB Packed buffer format defines)
    • 4、YUV和YCbCr打包缓冲区格式定义(YUV and YCbCr Packed buffer format defines)
    • 5、RGB平面缓冲区格式定义(RGB Planar buffer format defines)


GVSP 摘要

    GVSP 是一种依赖于 UDP 传输层协议的应用层协议。它允许 GVSP 接收器从 GVSP 发射机接收图像数据、图像信息或其他信息。

    GVSP 数据包总是从 GVSP 发射器传输到接收器。

    该规范上的当前版本使用 UDP IPv4 作为传输层协议。由于 UDP 是不可靠的,GVSP 提供了机制来保证数据包传输的可靠性(通过 GVCP),并确保最小的流量控制。

UDP 可靠性和错误恢复

在这里插入图片描述

数据块

    该数据块被划分为多个元素,以向 GVSP 接收机提供解码该块所需的信息。

    对于图像,可以通过两种不同的方式提供来自同一帧的多个 ROIs :

  1. 在单个流信道上 —— 当它们在同一流信道上传输时,每个 ROI 必须以不同的块 ID 进行传输。在这种情况下,必须使用相同的时间戳来促进将 ROI 与给定的暴露口相匹配,如 [CR-253st] 所指定的那样。设备可以选择在同一流通道上发送所有 ROI ,以简化传输(只配置一个流通道)。

  2. 在不同的流通道上 —— 当它们在不同的流通道上传输时(每个流通道有一个 ROI),那么 ROI 应该使用相同的块 ID 值,以方便匹配。在这种情况下,时间戳仍然可以用于方便将 ROI 与给定的曝光相匹配。设备可能选择使用不同的流通道,允许不同的 ROI 发送到不同的目的地。

数据块传输模式

    数据块放入包中,允许在流通道上传输。支持两种传输模式:标准和全传输模式。

  • 标准传输模式
    在标准传输模式下,数据开始标记包、数据有效负载包和数据结束标记包以不同的数据包分开。这是自 GigE 愿景成立以来所支持的标准方法。开始标记包和结束标记包划定了数据的有效载荷,并在连续的数据块之间提供清晰的分离点。
    在标准传输模式下存在三种不同的数据包类型:
    1. 数据开始标记包
    2. 数据有效载荷包
    3. 数据结束标记包

    下图说明了在标准传输模式下的数据包的顺序。
在这里插入图片描述

  • 全传输模式
        可选地,如果数据开始标记、数据有效载荷和数据结束标记可以装入单个数据包,那么 GVSP 发射器可以配置为重新分组它们。这是一种全能的传输模式,可用于减少拥有单独的数据开始标记和数据结束标记包的开销。应用程序必须验证是否支持此传输模式(SCCx 的第 29 位)并启用它(SCCFGx 的第 29 位),否则将使用标准传输模式。

在这里插入图片描述

数据块数据包头

    所有的 GVSP 数据包共享相同的基本报头。GVSP 协议报头不包括长度字段: GVSP 接收器使用 UDP 长度信息来确定数据包的大小。

在这里插入图片描述

标准传输模式数据包

    为标准传输模式定义了以下数据包。

数据开始标记数据包

  • 数据开始标记包必须是块的第一个包。
  • 数据引线包必须以单独的包发送,packet_id/packet_id32设置为0。它必须适合一个最多576字节的包(包括IP、UDP和GVSP头)。
  • 数据开始标记包必须遵循图24-4的布局。

在这里插入图片描述

全传输模式包

在这里插入图片描述

块数据

    块是经过标记的数据块,可以在数据块中分组以发送元数据。数据块的例子是:

  • 图像
  • 从图像中提取数据
  • AOI / 像素格式
  • I/O 引脚的状态
  • 曝光数

有效载荷类型

    为了有效地传输信息,GVSP 定义了可以从 GVSP 发射机中流式传输的各种有效载荷类型。下表中列出了这些有效负载类型。

在这里插入图片描述

1、扩展块模式(Extended Chunk Mode)

2、图像有效载荷类型(Image Payload Type)

    此有效载荷类型用于传输未压缩的图像。

    如果支持图像有效负载,则使用图像有效负载类型的流必须以光栅扫描格式在每个数据有效负载数据包中放置数据。

这意味着图像在从左到右传输,然后从上到下传输之前,要在GVSP发射器存储器中重建。这是典型的单触头传感器。

图像数据开始标记包

在这里插入图片描述

图像数据有效负载包

在这里插入图片描述

图像数据结束标记包

在这里插入图片描述

图像全输入数据包(Image All-in Packet)

3、原始数据有效载荷类型(Raw Data Payload Type)

4、文件有效载荷类型(File Payload Type)

5、块数据有效载荷类型(Chunk Data Payload Type)

6、扩展块数据有效载荷类型(已弃用)(Extended Chunk Data Payload Type (deprecated))

7、JPEG有效载荷类型(JPEG Payload Type)

8、JPEG 2000有效载荷类型(JPEG 2000 Payload Type)

9、H.264有效载荷类型(H.264 Payload Type)

10、多区域图像有效载荷类型(Multi-zone Image Payload Type)

11、设备特定有效载荷类型(Device-specific Payload Type)

自定义

在这里插入图片描述

像素布局(Pixel Layouts)

    本节描述了 GigE Vision 所支持的各种像素和图像布局。在 GigE 视觉 2.0 版本中,这些布局是基于 AIA 像素格式命名约定的。

1、像素对齐(Pixel Alignment)

    为了最小化GVSP接收端的像素处理时间,在有效载荷数据包中使用多字节的像素数据在默认情况下必须是小端化的。

    GVSP 发射机可以实现一个转换器,将像素从小端转换为大端。当受支持时,可以使用 SCPSx 引导寄存器(pixel_endianess 字段)激活此转换器。SCCx 寄存器的 big_and_little_endian_supported 字段表示是否支持此转换器。

    在下面的图中,字节 0 首先在数据线上发送,然后是字节 1 ,以此类推。

2、线和图像边界(Line and Image Boundaries)

    GigE 视觉使用在像素格式命名约定中定义的图像填充。图像填充要求在直线的末尾不插入人工填充。

    因此,对于某些分组和打包的像素格式,来自不同行的像素可能被组合在相同的字节中。例如,想象一个奇宽的图像(例如:宽度= 641像素)。如果像素成对组合(由于填充),那么第一行的最后一个像素将与第二行的第一个像素组合,如下所示。

在这里插入图片描述

    另一个例子是当使用 Mono1p 时,图像宽度不是 8 像素的倍数。使用这种像素格式填充一个字节需要 8 个像素,因此一行的最后一个像素可能不会与字节边界对齐。

3、像素格式(Pixel Formats)

    本节说明了GVSP本地支持的各种像素格式。这些像素格式基于像素格式命名约定文档,其中每个像素格式由5个特征定义:

  1. 组件和位置(Components and Location)
  2. #位(# bits)
  3. 标志指示灯(可选)(Sign indicator)
  4. 包装方式(可选)(Packing Style)
  5. 特定于接口的(可选的)(Interface-specific)

3.1 Mono1p

3.2 Mono2p

3.3 Mono4p

3.4 Mono8

3.5 Mono8s

3.6 Mono10

3.7 Mono10Packed

3.8 Mono12

3.9 Mono12Packed

3.10 Mono14

3.11 Mono16

3.12 BayerGR8

3.13 BayerRG8

3.69 RGB16_Planar

像素格式定义(Pixel Format Defines)

    下面为 GVSP 支持的各种像素格式提供了 #define 定义。每个像素格式都用一个 32 位的值来表示。上面的 8 位表示该颜色。第二个上 8 位表示一个像素所占用的位数(包括任何填充)。这可用于快速计算使用此像素格式存储图像所需的内存量。

//===================================================
// PIXEL FORMATS
//===================================================
// Indicate if pixel is monochrome or RGB
#define GVSP_PIX_MONO 0x01000000
#define GVSP_PIX_RGB 0x02000000 // deprecated in version 1.1
#define GVSP_PIX_COLOR 0x02000000
#define GVSP_PIX_CUSTOM 0x80000000
#define GVSP_PIX_COLOR_MASK 0xFF000000
// Indicate effective number of bits occupied by the pixel (including padding).
// This can be used to compute amount of memory required to store an image.
#define GVSP_PIX_OCCUPY1BIT 0x00010000
#define GVSP_PIX_OCCUPY2BIT 0x00020000
#define GVSP_PIX_OCCUPY4BIT 0x00040000
#define GVSP_PIX_OCCUPY8BIT 0x00080000
#define GVSP_PIX_OCCUPY12BIT 0x000C0000
#define GVSP_PIX_OCCUPY16BIT 0x00100000
#define GVSP_PIX_OCCUPY24BIT 0x00180000
#define GVSP_PIX_OCCUPY32BIT 0x00200000
#define GVSP_PIX_OCCUPY36BIT 0x00240000
#define GVSP_PIX_OCCUPY48BIT 0x00300000
#define GVSP_PIX_EFFECTIVE_PIXEL_SIZE_MASK 0x00FF0000
#define GVSP_PIX_EFFECTIVE_PIXEL_SIZE_SHIFT 16
// Pixel ID: lower 16-bit of the pixel formats
#define GVSP_PIX_ID_MASK 0x0000FFFF
#define GVSP_PIX_COUNT 0x46 // next Pixel ID available

1、单个缓冲区格式定义(Mono buffer format defines)

#define GVSP_PIX_MONO1P (GVSP_PIX_MONO | GVSP_PIX_OCCUPY1BIT | 0x0037)
#define GVSP_PIX_MONO2P (GVSP_PIX_MONO | GVSP_PIX_OCCUPY2BIT | 0x0038)
#define GVSP_PIX_MONO4P (GVSP_PIX_MONO | GVSP_PIX_OCCUPY4BIT | 0x0039)
#define GVSP_PIX_MONO8 (GVSP_PIX_MONO | GVSP_PIX_OCCUPY8BIT | 0x0001)
#define GVSP_PIX_MONO8S (GVSP_PIX_MONO | GVSP_PIX_OCCUPY8BIT | 0x0002)
#define GVSP_PIX_MONO10 (GVSP_PIX_MONO | GVSP_PIX_OCCUPY16BIT | 0x0003)
#define GVSP_PIX_MONO10_PACKED (GVSP_PIX_MONO | GVSP_PIX_OCCUPY12BIT | 0x0004)
#define GVSP_PIX_MONO12 (GVSP_PIX_MONO | GVSP_PIX_OCCUPY16BIT | 0x0005)
#define GVSP_PIX_MONO12_PACKED (GVSP_PIX_MONO | GVSP_PIX_OCCUPY12BIT | 0x0006)
#define GVSP_PIX_MONO14 (GVSP_PIX_MONO | GVSP_PIX_OCCUPY16BIT | 0x0025)
#define GVSP_PIX_MONO16 (GVSP_PIX_MONO | GVSP_PIX_OCCUPY16BIT | 0x0007)

2、Bayer buffer format defines

#define GVSP_PIX_BAYGR8 (GVSP_PIX_MONO | GVSP_PIX_OCCUPY8BIT | 0x0008)
#define GVSP_PIX_BAYRG8 (GVSP_PIX_MONO | GVSP_PIX_OCCUPY8BIT | 0x0009)
#define GVSP_PIX_BAYGB8 (GVSP_PIX_MONO | GVSP_PIX_OCCUPY8BIT | 0x000A)
#define GVSP_PIX_BAYBG8 (GVSP_PIX_MONO | GVSP_PIX_OCCUPY8BIT | 0x000B)
#define GVSP_PIX_BAYGR10 (GVSP_PIX_MONO | GVSP_PIX_OCCUPY16BIT | 0x000C)
#define GVSP_PIX_BAYRG10 (GVSP_PIX_MONO | GVSP_PIX_OCCUPY16BIT | 0x000D)
#define GVSP_PIX_BAYGB10 (GVSP_PIX_MONO | GVSP_PIX_OCCUPY16BIT | 0x000E)
#define GVSP_PIX_BAYBG10 (GVSP_PIX_MONO | GVSP_PIX_OCCUPY16BIT | 0x000F)
#define GVSP_PIX_BAYGR12 (GVSP_PIX_MONO | GVSP_PIX_OCCUPY16BIT | 0x0010)
#define GVSP_PIX_BAYRG12 (GVSP_PIX_MONO | GVSP_PIX_OCCUPY16BIT | 0x0011)
#define GVSP_PIX_BAYGB12 (GVSP_PIX_MONO | GVSP_PIX_OCCUPY16BIT | 0x0012)
#define GVSP_PIX_BAYBG12 (GVSP_PIX_MONO | GVSP_PIX_OCCUPY16BIT | 0x0013)
#define GVSP_PIX_BAYGR10_PACKED (GVSP_PIX_MONO | GVSP_PIX_OCCUPY12BIT | 0x0026)
#define GVSP_PIX_BAYRG10_PACKED (GVSP_PIX_MONO | GVSP_PIX_OCCUPY12BIT | 0x0027)
#define GVSP_PIX_BAYGB10_PACKED (GVSP_PIX_MONO | GVSP_PIX_OCCUPY12BIT | 0x0028)
#define GVSP_PIX_BAYBG10_PACKED (GVSP_PIX_MONO | GVSP_PIX_OCCUPY12BIT | 0x0029)
#define GVSP_PIX_BAYGR12_PACKED (GVSP_PIX_MONO | GVSP_PIX_OCCUPY12BIT | 0x002A)
#define GVSP_PIX_BAYRG12_PACKED (GVSP_PIX_MONO | GVSP_PIX_OCCUPY12BIT | 0x002B)
#define GVSP_PIX_BAYGB12_PACKED (GVSP_PIX_MONO | GVSP_PIX_OCCUPY12BIT | 0x002C)
#define GVSP_PIX_BAYBG12_PACKED (GVSP_PIX_MONO | GVSP_PIX_OCCUPY12BIT | 0x002D)
#define GVSP_PIX_BAYGR16 (GVSP_PIX_MONO | GVSP_PIX_OCCUPY16BIT | 0x002E)
#define GVSP_PIX_BAYRG16 (GVSP_PIX_MONO | GVSP_PIX_OCCUPY16BIT | 0x002F)
#define GVSP_PIX_BAYGB16 (GVSP_PIX_MONO | GVSP_PIX_OCCUPY16BIT | 0x0030)
#define GVSP_PIX_BAYBG16 (GVSP_PIX_MONO | GVSP_PIX_OCCUPY16BIT | 0x0031)

3、RGB打包的缓冲区格式定义(RGB Packed buffer format defines)

#define GVSP_PIX_RGB8 (GVSP_PIX_COLOR | GVSP_PIX_OCCUPY24BIT | 0x0014)
#define GVSP_PIX_BGR8 (GVSP_PIX_COLOR | GVSP_PIX_OCCUPY24BIT | 0x0015)
#define GVSP_PIX_RGBA8 (GVSP_PIX_COLOR | GVSP_PIX_OCCUPY32BIT | 0x0016)
#define GVSP_PIX_BGRA8 (GVSP_PIX_COLOR | GVSP_PIX_OCCUPY32BIT | 0x0017)
#define GVSP_PIX_RGB10 (GVSP_PIX_COLOR | GVSP_PIX_OCCUPY48BIT | 0x0018)
#define GVSP_PIX_BGR10 (GVSP_PIX_COLOR | GVSP_PIX_OCCUPY48BIT | 0x0019)
#define GVSP_PIX_RGB12 (GVSP_PIX_COLOR | GVSP_PIX_OCCUPY48BIT | 0x001A)
#define GVSP_PIX_BGR12 (GVSP_PIX_COLOR | GVSP_PIX_OCCUPY48BIT | 0x001B)
#define GVSP_PIX_RGB16 (GVSP_PIX_COLOR | GVSP_PIX_OCCUPY48BIT | 0x0033)
#define GVSP_PIX_RGB10V1_PACKED (GVSP_PIX_COLOR | GVSP_PIX_OCCUPY32BIT | 0x001C)
#define GVSP_PIX_RGB10P32 (GVSP_PIX_COLOR | GVSP_PIX_OCCUPY32BIT | 0x001D)
#define GVSP_PIX_RGB12V1_PACKED (GVSP_PIX_COLOR | GVSP_PIX_OCCUPY36BIT | 0X0034)
#define GVSP_PIX_RGB565P (GVSP_PIX_COLOR | GVSP_PIX_OCCUPY16BIT | 0x0035)
#define GVSP_PIX_BGR565P (GVSP_PIX_COLOR | GVSP_PIX_OCCUPY16BIT | 0X0036)

4、YUV和YCbCr打包缓冲区格式定义(YUV and YCbCr Packed buffer format defines)

#define GVSP_PIX_YUV411_8_UYYVYY (GVSP_PIX_COLOR | GVSP_PIX_OCCUPY12BIT | 0x001E)
#define GVSP_PIX_YUV422_8_UYVY (GVSP_PIX_COLOR | GVSP_PIX_OCCUPY16BIT | 0x001F)
#define GVSP_PIX_YUV422_8 (GVSP_PIX_COLOR | GVSP_PIX_OCCUPY16BIT | 0x0032)
#define GVSP_PIX_YUV8_UYV (GVSP_PIX_COLOR | GVSP_PIX_OCCUPY24BIT | 0x0020)
#define GVSP_PIX_YCBCR8_CBYCR (GVSP_PIX_COLOR | GVSP_PIX_OCCUPY24BIT | 0x003A)
#define GVSP_PIX_YCBCR422_8 (GVSP_PIX_COLOR | GVSP_PIX_OCCUPY16BIT | 0x003B)
#define GVSP_PIX_YCBCR422_8_CBYCRY (GVSP_PIX_COLOR | GVSP_PIX_OCCUPY16BIT | 0x0043)
#define GVSP_PIX_YCBCR411_8_CBYYCRYY (GVSP_PIX_COLOR | GVSP_PIX_OCCUPY12BIT | 0x003C)
#define GVSP_PIX_YCBCR601_8_CBYCR (GVSP_PIX_COLOR | GVSP_PIX_OCCUPY24BIT | 0x003D)
#define GVSP_PIX_YCBCR601_422_8 (GVSP_PIX_COLOR | GVSP_PIX_OCCUPY16BIT | 0x003E)
#define GVSP_PIX_YCBCR601_422_8_CBYCRY (GVSP_PIX_COLOR | GVSP_PIX_OCCUPY16BIT | 0x0044)
#define GVSP_PIX_YCBCR601_411_8_CBYYCRYY (GVSP_PIX_COLOR | GVSP_PIX_OCCUPY12BIT | 0x003F)
#define GVSP_PIX_YCBCR709_8_CBYCR (GVSP_PIX_COLOR | GVSP_PIX_OCCUPY24BIT | 0x0040)
#define GVSP_PIX_YCBCR709_422_8 (GVSP_PIX_COLOR | GVSP_PIX_OCCUPY16BIT | 0x0041)
#define GVSP_PIX_YCBCR709_422_8_CBYCRY (GVSP_PIX_COLOR | GVSP_PIX_OCCUPY16BIT | 0x0045)
#define GVSP_PIX_YCBCR709_411_8_CBYYCRYY (GVSP_PIX_COLOR | GVSP_PIX_OCCUPY12BIT | 0x0042)

5、RGB平面缓冲区格式定义(RGB Planar buffer format defines)

#define GVSP_PIX_RGB8_PLANAR (GVSP_PIX_COLOR | GVSP_PIX_OCCUPY24BIT | 0x0021)
#define GVSP_PIX_RGB10_PLANAR (GVSP_PIX_COLOR | GVSP_PIX_OCCUPY48BIT | 0x0022)
#define GVSP_PIX_RGB12_PLANAR (GVSP_PIX_COLOR | GVSP_PIX_OCCUPY48BIT | 0x0023)
#define GVSP_PIX_RGB16_PLANAR (GVSP_PIX_COLOR | GVSP_PIX_OCCUPY48BIT | 0x0024)

   
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/849439.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华为面经整理

文章目录 实习第一面准备提问相关算法相关 第一面结果提问环节 总结 实习 第一面准备 提问相关 操作系统有哪些功能 进程管理: 进程调度、进程同步和通信、多任务处理 内存管理: 内存分配、虚拟内存技术、内存保护 文件系统管理: 文件存储…

基础概念解析:SOCKS5代理究竟是什么?SOCKS5代理ip使用场景有哪些?

在当今数字化时代,网络安全和隐私保护已成为我们日常生活中不可忽视的问题。随着网络攻击手段的日益复杂,如何安全地访问互联网资源成为了一个亟待解决的问题。SOCKS5代理作为一种先进的网络协议,为我们提供了解决这一问题的有效方案。 本文…

活动预热丨在 AGI Playground 2024 遇见一群 RTE+AI 的 Builders

6 月 22、23 日,北京。 AGI Playground 2024,这个夏日最火热的 AGI 盛会。 王小川、杨植麟等 AGI 创业者悉数参加。 RTE 开发者社区的 builders 和 RTE Open Day 也将在现场! 我们将为大家呈现两大板块: 01 实时开发挑战 Wor…

OpenCV-最小外接圆cv::minEnclosingCircle

作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 函数原型 void minEnclosingCircle(InputArray points, Point2f& center, float& radius); 参数说明 InputArray类型的…

从openstack环境中将服务器镜像导出的简单办法

1 登录openstack的页面,找到计划导出的主机信息。 通过实例名称, IP地址,找到对应的记录。点击实例名称,进入详情页。 在这里主要可以知道,当前主机在服务器上的文件ID,可以按这个ID去找对应的目录。 还可…

Nvidia Jetson/Orin/算能 +FPGA+AI大算力边缘计算盒子:无人机自主飞行软件平台

案例简介 所主导开发的 Generalized Autonomy Aviation System (GAAS) 是为无人机以及城市空中交通 (UAM, Urban Air Mobility) 所设计的开源无人机自主飞行框架。通过 SLAM、路径规划和 Global Optimization Graph 等功能为无人机提供在无 GPS 与外部通信情况下的自主飞行功…

【经典设计】构建业务架构的3大视图

在软件设计过程中,架构设计、功能设计和数据设计是三个不同层次的设计工作。而业务架构是系统整体规划中重要的基础工作,通常用业务架构图来表达业务架构。 业务架构定义了企业的治理结构、业务能力、业务流程、业务数据。业务能力说明企业做什么&#x…

想不到,AI爆发的趋势下,我会这么快被AI替代...

大家好,我是向阳 AI横空出世后,不少行业受到了冲击。第一批因AI失业的人,也已经出现了! 他们是游戏设计师、原画设计师、服装设计师……社交媒体上,不断能看到这样的新闻:引入AI后,某游戏公司…

<microros> 如何自定义uROS2数据类型

如何自定义数据类型 在microros中,我们可以看到,官方给我们提供了很多数据类型。 如果我们在实际使用的时候,这些类型无法满足我们的传输要求怎么办呢? 官方也提供了自定义数据类型的办法。 参考: https://github…

【活动通知 — 线上 Meetup】:ES|QL 及 B 站 Elasticsearch 平台实践 - 6 月 19 日

会议时间 2024年6月19日 19:00 — 21:00 参与方式 线上直播:Elastic 中国社区官方博客,elasticstack B 站号。链接请参考下面的报名地址。 活动议程 19:00-19:50 主题演讲:Elasticsearch 简单而高效的管道查询语言 - ES|QL 讲师&#xff…

想要提升地推效果吗?试试Xinstall数据查看功能,让您事半功倍!

在如今竞争激烈的移动互联网时代,地推作为一种直接有效的推广方式,受到了越来越多企业和品牌的青睐。然而,地推过程中产生的数据如何高效地收集、整理和分析,成为了摆在推广者面前的一大难题。Xinstall作为一款专业的App推广工具&…

AWS S3存储桶中如何下载文件

AWS S3存储桶中如何下载文件 1.单个下载 AWS S3 控制台提供了下载单个文件的功能,但是不支持直接在控制台中进行批量下载文件。您可以通过以下步骤在 AWS S3 控制台上下载单个文件:   1.1登录 AWS 管理控制台。   1.2转到 S3 服务页面。   1.3单击…

将web项目打包成electron桌面端教程(二)vue3+vite+ts

说明:我用的demo项目是vue3vitets,如果是vue2/cli就不用往下看啦,建议找找其他教程哦~下依赖npm下载不下来的,基本换成cnpm/pnpm/yarn就可以了 一、项目准备 1、自己新创建一个,这里就不过多赘述了 2、将需要打包成…

docker构建java项目镜像

资料参考 参考自黑马教程:10.Docker基础-自定义镜像_哔哩哔哩_bilibili 初步准备 打包好java项目jar包,和Dockerfile文件一起放到指定目录下,后续操作都是在该目录下操作, 我这边是:/usr/local/src/train-ticket/ …

【git】TortoiseGitPlink Fatal Error 解决方法

背景 使用 TortoiseGit报错: TortoiseGitPlink Fatal Error No supported authentication methods available (server sent: publickey) 解决方法 1、有很多是重置git的秘钥解决的 2、重置ssh工具

AI-知识库搭建(一)腾讯云向量数据库使用

一、AI知识库 将已知的问答知识,问题和答案转变成向量存储在向量数据库,在查找答案时,输入问题,将问题向量化,匹配向量库的问题,将向量相似度最高的问题筛选出来,将答案提交。 二、腾讯云向量数…

路由器设置桥接(作为网络扩展器)

下面提到的路由器都是家用路由器 一、原理图(使用交换模式,有线连接) 二、无线连接 (副路由器的无线信号 连接 主路由器的无线信号) 三、注意事项 1、路由器之前配置过怎么办? 长按重置键7秒,重置路由器 2.副路由…

python脚本打包为exe并在服务器上设置定时执行

python脚本打包为exe并在服务器上设置定时执行 1. Python脚本打包2. 将打包好的Python脚本放入服务器3. 在服务器上设置其定时执行 1. Python脚本打包 首先,下载pyinstaller 键盘winR打开终端,输入命令:pip install pyinstaller,…

谷歌的AI大变革:商业模式转型

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

界面控件DevExpress WinForms的流程图组件 - 可完美复制Visio功能(二)

DevExpress WinForms的Diagram(流程图)组件允许您复制Microsoft Visio中的许多功能,并能在下一个Windows Forms项目中引入信息丰富的图表、流程图和组织图。 P.S:DevExpress WinForms拥有180组件和UI库,能为Windows F…