当前位置: 首页 > news >正文

IBM BAW(原BPM升级版)使用教程:基本概念

本部分为“IBM BAW(原BPM升级版)使用教程系列”内容的补充。 

一、IBM BAW中的流程概念

在IBM Business Automation Workflow(BAW)中,流程定义是流程设计的核心组成部分,它涵盖了流程的结构、任务、数据流、决策节点等。通过流程定义,开发人员可以设计和优化企业级工作流,确保任务和业务规则能够按预期进行处理。长流程短流程子流程直通流程页面流任务等是流程设计中的关键元素,而这些流程的设计和执行通常遵循BPMN 2.0标准。接下来,我们将详细讲解这些流程定义概念及其与BPMN 2.0的关系。

1. 长流程(Long-running Process)

  • 作用:长流程指的是那些需要较长时间才能完成的流程,通常涉及多个任务和等待时间。长流程可以跨越较长时间周期,可能包含多个用户交互、自动化任务或外部事件。长流程是标准化流程,是需要人工参与的

  • 用途

    • 业务决策的持续性:适用于复杂的业务流程,涉及多次审批、反馈、决策等。

    • 跨系统集成:可能会调用多个外部系统,或处理长期的任务(如审批、合同签署等)。

    • 等待和恢复:长流程通常会有等待事件(如等待用户输入、等待外部系统响应等),并能根据流程状态进行恢复。

  • BPMN 2.0 关系

    • 在BPMN 2.0中,长流程通常通过事件(如中间事件、定时器事件等)来进行暂停和恢复。中间事件可以表示在流程中的等待状态。

    • 并行网关(Parallel Gateway)和排他网关(Exclusive Gateway)等可用于设计长流程中的并行或串行任务流。

  • 示例

    • 一个合同审批流程,可能需要多次用户审批,涉及多个部门和外部审批人,每次审批后可能需要等待一段时间才能继续执行。

2. 短流程(Short-running Process)

  • 作用:短流程指的是在短时间内完成的流程,通常这些流程涉及简单的任务和快速决策,执行周期较短。短流程无需人工参与,主要用于和其他应用系统交换数据。

  • 用途

    • 简单业务任务:适用于处理简单、单一的任务,如数据验证、单一审批或短期内完成的自动化任务。

    • 快速响应:由于流程本身较为简单,通常不需要等待较长的事件或用户输入。

  • BPMN 2.0 关系

    • 短流程通常涉及简单的任务(Task)和事件,这些任务通常是快速执行的,不会涉及复杂的决策或长时间的等待。

    • 开始事件结束事件通常用于标识流程的启动和终止,简单的流程可能仅通过用户任务自动任务完成。

  • 示例

    • 一个订单确认流程,只涉及验证订单信息、生成确认邮件,并发送给客户。

 

3. 子流程(Subprocess)

  • 作用:子流程是在主流程中嵌套的流程,它允许开发人员将复杂的业务逻辑分解为较小、可重用的部分。子流程有助于提高流程的可维护性和重用性。

  • 用途

    • 流程模块化:将大流程分解成小的子流程,使得流程更易于理解和管理。

    • 重用功能:一个子流程可以在多个主流程中调用,避免重复定义相同的业务逻辑。

    • 封装复杂逻辑:将复杂的业务操作封装成子流程,减少主流程的复杂度。

  • BPMN 2.0 关系

    • 在BPMN 2.0中,子流程通过子流程元素(Subprocess)来表示。子流程可以是嵌入式子流程(Embedded Subprocess)或调用子流程(Call Activity)。嵌入式子流程是流程的一部分,而调用子流程则是调用外部定义的流程。

  • 示例

    • 在一个订单处理流程中,检查客户信用的过程可以定义为一个子流程,并在主流程中调用该子流程进行信用审核。

4. 直通流程(Direct Routing Process)

  • 作用:直通流程是一种简化的流程,它通常没有复杂的决策点或分支。所有任务都按照预定义的顺序直接执行,流程的流转非常直线。

  • 用途

    • 简单的任务处理:适用于需要顺序执行、没有分支或条件判断的简单任务。

    • 快速处理:由于流程没有复杂的分支逻辑,任务可以迅速且连续地执行。

  • BPMN 2.0 关系

    • 在BPMN 2.0中,直通流程常常表现为一系列顺序执行的任务(Task)和事件(Event)。所有任务按顺序连接,无需使用复杂的网关。

  • 示例

    • 一个简单的审批流程,其中请求、审批和最终批准任务按顺序进行,没有复杂的条件判断。

5. 页面流(Page Flow)

  • 作用:页面流是一种用于设计用户界面的流程,它将业务流程与用户交互界面(表单、视图)结合在一起,允许用户通过界面来操作和提交数据。

  • 用途

    • 交互式流程:适用于需要用户输入或决策的流程。页面流通常会包含多个用户任务,每个任务都需要用户交互。

    • 表单管理:页面流主要用于设计和管理流程中的表单界面,确保用户可以顺利填写、提交和处理数据。

  • BPMN 2.0 关系

    • 页面流的设计通常与用户任务(User Task)结合使用,这些任务要求用户通过表单界面与流程进行交互。

    • 页面流的任务是基于BPMN中定义的用户任务任务界面进行设计和管理。

  • 示例

    • 一个审批流程,其中每个审批环节都有一个表单界面,审批人员需要填写表单并提交以推动流程向下进行。

6. 任务(Task)

  • 作用:任务是BPMN流程中的基本执行单元,表示一个可以由用户或系统执行的操作。任务分为用户任务、自动任务、服务任务等。

  • 用途

    • 任务执行:任务用于处理业务操作,例如审批、数据输入、计算或其他任何类型的业务活动。

    • 分配责任:任务可以分配给特定的用户或角色,确保任务能够按时完成。

  • BPMN 2.0 关系

    • 在BPMN 2.0中,任务(Task)是最基本的流程元素。任务可以是用户任务(User Task)、自动任务(Service Task)或脚本任务(Script Task)。这些任务可能涉及人机交互、系统处理或脚本执行。

  • 示例

    • 一个审批任务,需要用户审核并决定是否批准;或者一个自动任务,用于生成并发送订单确认邮件。

7. 与BPMN 2.0的关系

  • BPMN 2.0(业务流程模型和标记语言)是国际标准,用于建模和描述业务流程。IBM BAW遵循BPMN 2.0规范,支持使用BPMN元素来设计业务流程。以上提到的各种流程定义元素(如长流程、短流程、子流程、直通流程等)都是通过BPMN 2.0中的任务、网关、事件等元素来实现的。

  • BPMN 2.0元素

    • 任务(Task):代表一个具体的工作单元,可以由用户、系统或外部服务完成。

    • 网关(Gateway):用于定义流程中的分支、合并或并行执行。

    • 事件(Event):表示流程中的特定事件,如开始事件、结束事件和中间事件。

    • 子流程(Subprocess):可以是嵌入式子流程或调用外部子流程,用于模块化复杂流程。

总结:

在IBM BAW中,流程定义涉及多种流程类型,包括长流程、短流程、子流程、直通流程、页面流和任务等。这些流程类型帮助组织设计灵活且高效的工作流,适应不同的业务需求。所有这些流程设计元素都与BPMN 2.0标准密切相关,BPMN提供了标准化的语言来定义流程的结构、任务和事件。通过遵循BPMN 2.0规范,IBM BAW能够实现可视化、灵活且标准化的流程设计,支持跨团队和跨系统的工作流协作。

二、IBM BAW与BPMN2.0

BPMN 2.0(业务流程模型和标记语言 2.0)是国际标准,它为业务流程建模提供了丰富的符号和语义,允许业务分析师、开发者和企业用户在一个统一的模型中描述业务流程。BPMN 2.0 规范不仅定义了常见的流程元素(如任务、网关、事件、子流程等),还包括了其他一些关键元素和标准,这些元素在 IBM BAW 中有所应用。以下是 BPMN 2.0 规范中包含的其他一些标准,在业务流程建模中非常重要:

1. 事件(Events)

BPMN 2.0 中定义了不同类型的事件,用于描述流程中的“事情”发生的时刻或状态。事件分为开始事件中间事件结束事件,每个事件有不同的触发方式和行为。

  • 开始事件(Start Event):触发流程的开始。可以基于多种触发方式:

    • 消息开始事件:当收到外部消息时启动流程。

    • 定时开始事件:根据设定的时间或周期启动流程。

    • 信号开始事件:当接收到信号时启动流程。

  • 中间事件(Intermediate Event):流程执行过程中发生的事件,可以暂停、等待或改变流程的状态:

    • 消息中间事件:等待或发送消息。

    • 定时中间事件:等待一定的时间。

    • 中断中间事件:可以中断流程的正常执行。

  • 结束事件(End Event):标志着流程的结束,可以根据流程完成的状态或条件设置。

    • 正常结束事件:流程成功完成。

    • 错误结束事件:在发生错误时结束流程。

在 IBM BAW 中,这些事件类型用于控制流程的流向和状态,特别是中间事件(如等待用户输入、等待外部系统响应等)和开始事件(如定时启动、消息触发等)非常重要。

2. 网关(Gateways)

BPMN 2.0 中的网关用于控制流程的分支和合并,它们定义了流程的决策、并行或串行处理等。网关可以根据不同条件来控制流程的执行路径。

  • 排他网关(Exclusive Gateway):通过条件判断,选择唯一的一个路径执行。也可以用于在多个路径之间进行决策。

  • 并行网关(Parallel Gateway):启动多个并行的流程路径,同时执行多个任务。

  • 包含网关(Inclusive Gateway):根据条件选择一个或多个路径执行。

  • 复合网关(Complex Gateway):适用于复杂的条件和流程决策,能够在多个路径之间进行判断。

在 IBM BAW 中,这些网关用于控制流程的流转逻辑,帮助处理多分支决策和并行任务。并行网关和排他网关是常用的,尤其在需要执行多任务并行处理时。

3. 事件子流程(Event Subprocess)

BPMN 2.0 定义了事件子流程,它是一种特殊的子流程,旨在响应流程中的特定事件。这种子流程通常被设计为“内嵌”在主流程中,但它可以在主流程的执行过程中被触发,处理某些特定事件。

  • 用途:事件子流程用于捕获和处理特定的事件(例如超时、错误事件等),并在事件发生时启动。事件子流程不会影响主流程的执行,但可以通过其处理逻辑对流程进行调整。

在 IBM BAW 中,事件子流程可以用于处理超时、错误或其他意外事件,帮助流程在遇到异常时恢复或跳过特定任务。

4. 事务(Transaction)

BPMN 2.0 中的事务用于表示需要保持原子性的操作,确保所有活动在事务中的操作要么完全成功,要么完全失败,不能处于部分完成状态。事务通常用于确保数据的一致性,尤其是在多步骤操作中。

  • 用途:事务常用于涉及外部系统交互、跨系统数据同步等场景,确保在流程执行过程中不会出现数据不一致的情况。

在 IBM BAW 中,事务通常与服务任务和外部系统集成相关,帮助确保跨系统操作的一致性和回滚机制。

5. 扩展属性(Extensions)

BPMN 2.0 提供了扩展机制,允许用户根据自己的需求自定义新的元素或行为。通过扩展机制,BPMN 可以集成到其他系统中,支持更多业务场景。

  • 用途:可以通过扩展自定义特定的业务流程元素,满足特定企业需求。比如,创建特定的用户任务、事件类型、消息传递等。

在 IBM BAW 中,扩展通常涉及与其他系统的集成,或者用于实现自定义功能(如特殊的业务规则或任务执行条件)。

6. 数据对象(Data Objects)

BPMN 2.0 中的数据对象用于表示流程中的数据输入和输出。它们描述了在流程中使用的文档、数据记录或其他业务数据。这些数据对象通常与任务相关联,表示任务需要的数据或任务执行后的输出数据。

  • 用途:在流程设计中,数据对象帮助追踪任务的输入输出,确保数据在流程各个环节之间正确流动。

在 IBM BAW 中,数据对象可以与流程变量绑定,用于捕捉和传递任务之间的数据。例如,数据对象可以用于存储用户输入的表单数据,或存储流程任务的执行结果。

7. 消息(Message Flow)

BPMN 2.0 中的消息流用于表示不同流程、系统或参与者之间的消息交换。它通常用于表示信息的传递,例如一个流程向外部系统发送消息或从外部系统接收消息。

  • 用途:消息流通常用于跨系统的集成或跨流程的通信,帮助在不同的流程之间传递信息。

在 IBM BAW 中,消息流通常用于与外部系统进行通信,特别是集成时,如调用Web服务、发送消息、触发事件等。

总结

BPMN 2.0 为业务流程建模提供了丰富的标准和符号,不仅包括常见的流程元素(如任务、事件、网关等),还定义了如事件子流程事务扩展属性数据对象消息流等功能。这些元素允许设计人员更细粒度地控制和描述流程的执行逻辑、数据流动、跨系统集成等。

IBM BAW中,这些BPMN 2.0标准和元素帮助实现业务流程的灵活建模,支持复杂的业务逻辑、跨系统集成、自动化和用户交互等。通过使用这些标准,IBM BAW能够提供强大的业务流程设计、执行和优化功能,确保流程自动化、信息流转和业务规则的有效管理。

三、输入、输出

在IBM Business Automation Workflow(BAW)以及BPMN 2.0的业务流程设计中,输入输出是核心概念,涉及数据流的传递与处理。它们在流程执行中至关重要,因为它们决定了数据如何进入流程(输入),如何从流程中流出(输出),以及如何在流程的不同任务和步骤之间传递。

1. 输入(Input)

输入通常指的是在流程执行之前、期间或者在任务执行时,外部或系统提供给流程的数据。输入数据可以是由用户、外部系统或其他流程提供的。这些数据通常作为流程的一部分被传递到流程实例中,用于驱动任务的执行。

输入的作用与用途
  • 启动流程:输入数据可以触发流程的启动。例如,某个事件(如接收到外部消息或定时任务)会向流程提供输入数据,从而启动流程。

  • 初始化数据:在流程启动时,输入数据可以初始化流程变量或设置任务参数。例如,在一个订单处理流程中,用户提交的订单信息就是输入数据,它会初始化流程中的订单详情、客户信息等数据。

  • 业务规则执行:输入数据用于决定流程中各个任务的执行路径。比如,审批流程中的输入数据可能是员工的请假申请,这将决定审批是否被批准。

  • 集成外部系统:输入通常来自外部系统(如CRM、ERP或外部Web服务)。通过集成外部系统,输入数据可以作为参数传递到流程中,从而影响流程的决策或任务执行。

输入的数据类型
  • 表单输入:用户通过表单填写的内容,如输入的文本、选择的选项等。

  • 外部请求数据:外部系统通过API、消息或文件传递的数据。

  • 流程变量:前一个任务或子流程产生的数据,作为输入传递给后续任务。

输入的实现
  • 从表单获取输入:当流程中涉及用户交互时(如用户任务),用户填写的表单数据会作为输入传递给流程中的后续任务。

  • 从外部系统获取输入:例如,通过REST API接收订单数据,或通过消息队列接收订单信息,并将这些信息传递给流程进行进一步处理。

示例
  • 在一个员工入职流程中,员工的基本信息(如姓名、职位、入职日期等)作为输入数据被传递到流程中。这些数据用于初始化整个流程的相关任务,例如创建员工记录、配置账户等。

2. 输出(Output)

输出是流程执行后产生的数据,它通常是流程执行的结果或状态。输出数据会被返回给流程的启动者、外部系统或其他流程。输出可以是业务操作的结果,如审批通过/拒绝,或任务执行的结果,如文件生成、报告输出等。

输出的作用与用途
  • 结果反馈:输出数据通常是流程执行后的结果,供外部系统、用户或其他流程使用。输出数据可以是审批结果、计算结果、任务完成状态等。

  • 系统集成:输出数据可以被传递到外部系统,用于更新外部系统中的状态或进行下一步操作。例如,流程处理完订单后,订单信息可以作为输出返回给ERP系统。

  • 报告生成:在流程结束时,输出数据可以用于生成报告或通知。比如,项目审批流程结束后,审批结果可以作为输出,通知相关人员。

  • 后续处理:输出数据不仅为当前流程提供结果,还可以作为后续流程的输入。例如,审批完成后,审批结果会作为输出传递给下一环节的流程,驱动后续的操作。

输出的数据类型
  • 任务结果:如用户审批的结果、执行的计算结果等。

  • 状态或通知:流程结束后的状态,如“已完成”、“已拒绝”或“处理中”。

  • 外部系统更新:将流程执行结果(如生成的订单号、审批结果等)输出到外部系统中。

输出的实现
  • 返回结果到用户:用户任务的输出结果通常是用户作出的决策(如批准、拒绝等),这些结果会被传递给流程中的后续任务。

  • 调用外部系统输出:流程结束时,可以通过API、Web服务或数据库操作将输出数据传递到外部系统中。

  • 生成文件/报告:流程的输出还可以是自动生成的文档、报表或通知,通过电子邮件、PDF报告等方式发给相关人员。

示例
  • 在一个审批流程中,最终的审批结果(批准或拒绝)是输出数据。流程会根据审批决策产生相应的结果,这些结果会作为输出数据,发送给申请者或记录在相关的系统中。

3. 输入与输出的关系

输入和输出是流程中数据流转的两端。它们之间通过任务网关事件等BPMN元素连接:

  • 输入通常通过用户输入、外部事件或系统调用进入流程,驱动流程的执行。

  • 输出则是流程执行的结果,可以通过任务的完成、业务决策或外部系统的响应等方式生成。

在实际的流程设计中,输入数据影响流程的执行逻辑,输出数据则是执行的成果,它们共同推动业务流程的顺利进行。

输入与输出在BPMN 2.0中的应用
  • 输入:在BPMN 2.0中,输入数据通常通过开始事件(Start Event)或者消息事件(Message Event)等元素进入流程,触发流程的执行。

  • 输出:输出数据通常通过结束事件(End Event)、任务(Task)和消息事件等元素生成,并通过消息流(Message Flow)传递给外部系统或发送给相关用户。

4. 输入与输出在IBM BAW中的实现

在IBM BAW中,输入和输出通常通过流程变量、用户任务表单、Web服务、消息事件等实现:

  • 流程变量:输入数据通常存储在流程变量中,这些变量在流程各个任务之间传递,影响任务的执行和流程的决策。

  • 用户任务表单:用户输入的数据通过表单提交后,作为输入传递给流程,流程中的其他任务将根据这些输入进行进一步处理。

  • Web服务/API:通过集成外部系统的API,流程可以接收外部数据作为输入,或者将处理结果作为输出返回给外部系统。

  • 消息流:通过消息流,流程可以与其他系统或流程进行交互,将输出数据传递给外部系统或其他流程实例。

总结:

在IBM BAW和BPMN 2.0的业务流程中,输入输出是数据流动的关键。输入是驱动流程执行的起始点,通常来自外部系统、用户输入或其他流程。输出则是流程执行的结果,它可以反馈给用户、更新外部系统或用于生成报告和通知。通过合理的输入输出设计,企业可以实现业务流程的自动化、决策支持、系统集成和业务数据的流动。

相关文章:

IBM BAW(原BPM升级版)使用教程:基本概念

本部分为“IBM BAW(原BPM升级版)使用教程系列”内容的补充。 一、IBM BAW中的流程概念 在IBM Business Automation Workflow(BAW)中,流程定义是流程设计的核心组成部分,它涵盖了流程的结构、任务、数据流…...

1. 视频基础知识

1. 图像基础概念 像素:像素是一个图片的基本单位,pix是英语单词picture,加上英语单词“元素element”,就得到了pixel,简称px。所以“像素”有“图像元素”之意。分辨率:指的是图像的大小或者尺寸。比如 19…...

docker + K3S + Jenkins + Harbor自动化部署

最近公司在研究自动化部署的一套流程,下面记录一下配置流程 需要提前准备好Jenkins Harbor Git(其他管理工具也可以) 我这里的打包编译流程是Jenkins上配置打包任务-->自动到git目录下找打包文件---->项目编译后打镜像包------>打完镜像包将镜像上传到…...

【算法专题十】哈希表

文章目录 0.哈希表简介1. 两数之和1.1 题目1.2 思路1.3 代码 2.判断是否为字符重排2.1 题目2.2 思路2.3 代码 3. leetcode.217.存在重复元素3.1 题目3.2 思路3.3 代码 4. leetcode.219.存在重复的元素Ⅱ4.1 题目4.2 思路4.3 代码 5. leetcode.49.字母异位词分组5.1 题目5.2 思路…...

鸿蒙系统被抹黑的深层解析:技术、商业与地缘政治的复杂博弈-优雅草卓伊凡

鸿蒙系统被抹黑的深层解析:技术、商业与地缘政治的复杂博弈-优雅草卓伊凡 一、技术过渡期的必然误解 1.1 兼容性设计的双刃剑效应 鸿蒙系统早期版本的兼容性策略为后续争议埋下了伏笔。2019年华为被列入实体清单后,面临着生死存亡的技术断供危机。在这…...

Nginx 安全防护与 HTTPS 安全部署

目录 Nginx 安全防护与 HTTPS 安全部署 一、引言 二、Nginx 安全防护措施 2.1 关闭不必要的服务和端口 2.2 限制访问频率 2.3 防止 SQL 注入和 XSS 攻击 2.4 隐藏 Nginx 版本信息 三、HTTPS 安全部署 3.1 HTTPS 简介 3.2 申请 SSL/TLS 证书 3.3 配置 Nginx 启用 HTTP…...

告别异步复杂性?JDK 21 虚拟线程让高并发编程重回简单

长期以来,Java 的并发编程主要围绕平台线程(Platform Threads)构建。然而,在现代应用对海量并发的巨大需求面前,传统模型面临着可伸缩性的挑战。JDK 21 引入了一项突破性的特性——虚拟线程(Virtual Thread…...

Marin说PCB之POC电路layout设计仿真案例---08

Layers –stackup: RX1_96724F_FAKRA_1仿真原理图信息如下,设计中采用了6Gbps/187Mbps的速率配置: IL的limited: RL的limited: RX1_96724F_FAKRA_1--Return Loss:结果显示,板级设计裕量不是很充足,很接近限值曲线了。 …...

【Python系列】Python 中的 HTTP 请求处理

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

【BUG】mmdetection ValueError: need at least one array to concatenate

问题: 使用mmdetection框架使用COCO格式训练自定义数据集时出现如下错误: ValueError: need at least one array to concatenate 解决方法: 修改mmdet/datasets/coco.py文件,将CocoDataset类中的METAINFO修改为自己数据集的类别信…...

GLIBC:GLIBCXX not found

更多内容:XiaoJ的知识星球 目录 1. GLIBCXX not found2.解决方法:(使用预编译库)2.1 获取预编译libstdc库2.2 获取预编译libc库 注意:涉及到修改GLIBC库是个危险操作,可能会影响到系统。请谨慎操作&#xf…...

初步认识java

目录 1. java语言概述 1.1 java是什么 1.2 Java语言重要性 1.2.1 语言广泛使用程度 1.2.2 使用领域 1.3 Java语言发展简史 1.4 Java语言的特点 2. Java开发环境安装 2.1 什么是JDK 2.2 什么是JRE 2.3 什么是JVM 2.4 JDK、JRE 和 JVM的包含关系 2.5 JDK的安装和环…...

ShardingJdbc-水平分库

ShardingJdbc-水平分库 水平分库 表结构相同、记录不同、所属库不同多个库中表记录数和才是总的记录数通常根据主键ID进行分表,这里采用奇偶策略 案例 建立库 sharding_demo-1、sharding_demo-2每个库建立表 user_1、user_2 表结构相同id 为主键,big…...

模板模式 VS 建造者模式

模板模式和建造者模式是两种不同的设计模式,下面从定义、结构、应用场景等方面介绍它们的区别,并给出 Python 示例代码。 定义 模板模式:定义了一个操作中的算法骨架,将一些步骤的实现延迟到子类中。这样,子类可以在…...

模态编码器

1.CLIP的textEncoder能输入多少个单词? CLIP 模型中的 context_length 设置为 77,表示每个输入句子会被 tokenized 成最多 77 个token。这个 77 并不是直接对应到 77 个单词, 因为一个单词可能会被拆分成多个 token,特别是对于较长的或不常…...

Python-map从基础到进阶

无论你是打打算法比赛还是做项目map函数肯定都是你必学内置函数,这篇文章小白也能轻松掌握map函数,学习map,理解map,进阶用法map 描述 map() 函数会根据提供的函数对指定序列做映射。 第一个参数 function 以参数序列中的每一个…...

大数据产品销售数据分析:基于Python机器学习产品销售数据爬虫可视化分析预测系统设计与实现

文章目录 大数据产品销售数据分析:基于Python机器学习产品销售数据爬虫可视化分析预测系统设计与实现一、项目概述二、项目说明三、研究意义四、系统总体架构设计总体框架技术架构数据可视化模块设计图后台管理模块设计数据库设计 五、开发技术介绍Flask框架Python爬…...

「Mac畅玩AIGC与多模态21」开发篇17 - 多字段判断与多路径分支工作流示例

一、概述 本篇在结构化输出字段控制流程的基础上,进一步引入多字段联合判断与多路径分支控制。通过综合分析用户输入的情绪类型和紧急程度,实现三分支路径执行逻辑,开发人员将掌握复杂流程中多条件判断节点的配置技巧。 二、环境准备 macO…...

网页截图指南

截取网页截图看似是一项简单的任务,但当你真正动手去做的时候,就会发现事情远没有那么容易。我在尝试截取一篇很长的 Reddit 帖子时就深有体会。一开始我以为只要调用 browser.TakeImage() 就万事大吉,结果却陷入了浏览器视口、动态内容加载、…...

作为主动唤醒的节点,ECU上电如何请求通讯

一个ECU如果作为主动唤醒的节点,ECU上电时可以通过以下方式请求通信 如上图所示,ECU在上电后,在OS起来后,可以通过在BSWM模块中完成NvM_ReadAll和相关BSW 模块初始化以及Rte_Start后,这个时候周期性Task已经可以正常调…...

应用服务器Tomcat

启动两给tomcat apache-tomcat-9.0.60\bin——> 启动tomcat startup.bat (Windows) / startup.sh(Linux) 关闭tomcat shutdown.bat(Windows)/shutdown.sh (Linux) 复制一个Tomcat为2,先启…...

【安全】端口保护技术--端口敲门和单包授权

【安全】端口保护技术--端口敲门和单包授权 备注一、端口保护二、端口敲门三、单包授权 备注 2025/05/06 星期二 最近学习了端口保护技术总结一下 一、端口保护 为了保护联网设备的安全,一般会尽量减小暴露的攻击面,开放的端口就是最常见的攻击面&…...

金升阳科技:配套AC/DC砖类电源的高性能滤波器

金升阳推出的FC-L15HB是为我司AC砖类电源配套使用的EMC辅助器。将FC-L15HB加装在金升阳AC/DC砖类电源的前端,可以提高电源产品IEC/EN61000—4系列及CISPR32/EN55032标准的EMC性能。 01 产品优势 (1)高共差模插入损耗 ①DM&CM&#xff1…...

浅谈 - GPTQ为啥按列量化

前言 曾在游戏世界挥洒创意,也曾在前端和后端的浪潮间穿梭,如今,而立的我仰望AI的璀璨星空,心潮澎湃,步履不停!愿你我皆乘风破浪,逐梦星辰! 先说结论 GPTQ 按列量化 W,…...

引用第三方自定义组件——微信小程序学习笔记

1. 使用 npm 安装第三方包 1.1 下载安装Node.js 工具 下载地址:Node.js — Download Node.js 1.2 安装 npm 包 在项目空白处右键弹出菜单,选择“在外部终端窗口打开”,打开命令行工具,输入以下指令: 1> 初始化:…...

解决android studio 中gradle 出现task list not built

点击 file 选择settings...

UE5 材质淡入淡出

混合模式选择半透明,灯光照明模式选择Surface TranslucencyVolume...

如何用Java读取PDF

在本文中,我将向您展示如何使用JPedal(一个用于转换、打印、查看PDF文件的Java库)在Java中读取PDF。 如何在Java中读取PDF文件 • 将JPedal添加到您的类或模块路径中(下载试用版jar包)。 • 使用JPedal库中的&q…...

tinyrenderer笔记(中)

tinyrenderer个人代码仓库:tinyrenderer个人练习代码 前言 原教程的第 4 课与第 5 课主要介绍了坐标变换的一些知识点,但这一篇文章的内容主要是手动构建 MVP 矩阵,LookAt 矩阵以及原教程涉及到的一些知识点,不是从一个图形学小白…...

人工智能对人类的影响

人工智能对人类的影响 近年来,人工智能(AI)技术以惊人的速度发展,深刻改变了人类社会的方方面面。从医疗、教育到交通、制造业,AI的应用正在重塑我们的生活方式。然而,这一技术革命也带来了机遇与挑战并存…...

LeetCode 220 存在重复元素 III 题解

LeetCode 220 存在重复元素 III 题解 题目描述 给定一个整数数组 nums 和两个整数 k 和 t&#xff0c;请判断数组中是否存在两个不同的索引 i 和 j&#xff0c;使得&#xff1a; abs(nums[i] - nums[j]) < tabs(i - j) < k 方法思路&#xff1a;桶排序 滑动窗口 核…...

0506--01-DA

36. 单选题 在娱乐方式多元化的今天&#xff0c;“ ”是不少人&#xff08;特别是中青年群体&#xff09;对待戏曲的态度。这里面固然存在 的偏见、难以静下心来欣赏戏曲之美等因素&#xff0c;却也有另一个无法回避的原因&#xff1a;一些戏曲虽然与观众…...

单应性估计

单应性估计是计算机视觉中的核心技术&#xff0c;主要用于描述同一平面在不同视角下的投影变换关系。以下从定义、数学原理、估计方法及应用场景等方面进行综合解析&#xff1a; 一、单应性的定义与核心特性 单应性&#xff08;Homography&#xff09;是射影几何中的概念&…...

Missashe考研日记-day33

Missashe考研日记-day33 1 专业课408 学习时间&#xff1a;2h30min学习内容&#xff1a; 今天开始学习OS最后一章I/O管理的内容&#xff0c;听了第一小节的内容&#xff0c;然后把课后习题也做了。知识点回顾&#xff1a; 1.I/O设备分类&#xff1a;按信息交换单位、按设备传…...

YOLO8之学习指南

一、引言 在计算机视觉领域,目标检测是一项核心任务,其应用范围广泛,涵盖安防监控、自动驾驶、智能医疗等众多领域。YOLO(You Only Look Once)系列算法凭借其高效、快速的特点,在目标检测领域占据重要地位。YOLO8 作为 YOLO 系列的最新版本,进一步提升了检测精度和速度…...

中达瑞和便携式高光谱相机:珠宝鉴定领域的“光谱之眼”

在珠宝行业中&#xff0c;真伪鉴定始终是核心需求。随着合成技术与优化处理手段的日益精进&#xff0c;传统鉴定方法逐渐面临挑战。中达瑞和推出的便携式高光谱相机&#xff0c;凭借其独特的“图谱合一”技术&#xff0c;为珠宝真假鉴定提供了科学、高效且无损的解决方案&#…...

C++自动重连机制设计与实现指南

一、为什么需要自动重连 在网络通信场景中&#xff0c;连接中断是不可避免的常见问题&#xff1a; 网络波动&#xff08;移动网络切换、WiFi信号不稳&#xff09; 服务端维护/重启 中间设备故障&#xff08;路由器、负载均衡器&#xff09; 操作系统资源限制 长时间空闲断…...

昇腾Atlas 200I DK A2 开发者套件无法上网问题的解决

目录 引言 USB WiFi网卡 USB以太网卡 结语 引言 今年通过华为的智能基座项目得到了三个Atlas 200I DK A2 开发者套件&#xff0c;很不幸其中有一块是坏的&#xff0c;其上网部分不能使用&#xff1a;2个RJ45的口在Linux系统内都无法识别&#xff0c;而USB口虽然能够识别&a…...

私有仓库 Harbor、GitLab

gitlab 部署资料 Harbor...

极狐GitLab 如何将项目共享给群组?

极狐GitLab 是 GitLab 在中国的发行版&#xff0c;关于中文参考文档和资料有&#xff1a; 极狐GitLab 中文文档极狐GitLab 中文论坛极狐GitLab 官网 共享项目和群组 (BASIC ALL) 在极狐GitLab 16.10 中&#xff0c;更改为在成员页面的成员选项卡上显示被邀请群组成员&#xf…...

QGIS分割平行四边形

需求&#xff1a;四个点确定的平行四边形的范围&#xff0c;我想把他们均分成20份&#xff0c;然后取质心。 解决方案&#xff1a;找了好几个插件&#xff0c;Polygon Divider、Split Polygon发现不好用&#xff0c;不能满足需求。最终找到了Equalyzer&#xff0c;就是比较麻烦…...

NestJS 的核心构建块有哪些?请简要描述它们的作用(例如,Modules, Controllers, Providers)

NestJS 核心构建块解析&#xff08;Modules、Controllers、Providers&#xff09; NestJS 是一个基于 TypeScript 的渐进式 Node.js 框架&#xff0c;核心设计借鉴了 Angular 的模块化思想。下面从实际开发角度解析它的三大核心构建块&#xff0c;并附代码示例和避坑指南。 一…...

Nginx 安全防护与Https 部署实战

目录 一、核心安全配置 1. 编译安装 Nginx 2. 隐藏版本号 3. 限制危险请求方法 4. 请求限制&#xff08;CC 攻击防御&#xff09; &#xff08;1&#xff09;使用 Nginx 的 limit_req 模块限制请求速率 &#xff08;2&#xff09;压力测试验证 5. 防盗链 二、高级防护 …...

电商双十一美妆数据分析

1. 数据读取与基础查看 库导入&#xff1a;使用 import numpy as np 和 import pandas as pd 导入常用数据分析库。数据读取&#xff1a; df pd.read_csv(双十一_淘宝美妆数据.csv) 读取数据文件。数据查看&#xff1a;通过 df.head() 查看数据前几行&#xff1b; df.info() 了…...

高等数学第六章---定积分(§6.1元素法6.2定积分在几何上的应用1)

本文是关于定积分应用的系列讲解的第一讲&#xff0c;主要介绍元素法的基本思想&#xff0c;并重点讲解如何运用定积分计算平面图形的面积&#xff0c;包括直角坐标系和极坐标系下的情况。 6.1 元素法 曲边梯形的面积回顾 我们首先回顾曲边梯形的面积。设函数 f ( x ) ≥ 0 …...

十分钟了解 @MapperScan

MapperScan 是 MyBatis 和 MyBatis-Plus 提供的一个 Spring Boot 注解&#xff0c;用于自动扫描并注册 Mapper 接口&#xff0c;使其能够被 Spring 容器管理&#xff0c;并与对应的 XML 或注解 SQL 绑定。它的核心作用是简化 MyBatis Mapper 接口的配置&#xff0c;避免手动逐个…...

爬虫程序中如何添加异常处理?

在爬虫程序中添加异常处理是确保程序稳定性和可靠性的关键步骤。异常处理可以帮助你在遇到错误时捕获问题、记录日志&#xff0c;并采取适当的措施&#xff0c;而不是让程序直接崩溃。以下是一些常见的异常处理方法和示例&#xff0c;帮助你在爬虫程序中实现健壮的错误处理机制…...

[250506] Auto-cpufreq 2.6 版本发布:带来增强的 TUI 监控及多项改进

目录 Auto-cpufreq 2.6 版本发布&#xff1a;带来增强的 TUI 监控及多项改进 Auto-cpufreq 2.6 版本发布&#xff1a;带来增强的 TUI 监控及多项改进 Auto-cpufreq&#xff0c;一款适用于 Linux 的免费开源自动 CPU 速度与功耗优化器&#xff0c;已发布其最新版本 2.6。该工具…...

探索Hello Robot开源移动操作机器人Stretch 3的技术亮点与市场定位

Hello Robot 推出的 Stretch 3 机器人凭借其前沿技术和多功能性在众多产品中占据优势。Stretch 3 机器人采用开源设计&#xff0c;为开发者提供了灵活的定制空间&#xff0c;能够满足各种不同的需求。其配备的灵活手腕组件和 Intel Realsense D405 摄像头&#xff0c;显著增强了…...

【Harbor v2.13.0 详细安装步骤 安装证书启用 HTTPS】

Harbor v2.13.0 详细安装步骤&#xff08;启用 HTTPS&#xff09; 1. 环境准备 系统要求&#xff1a;至少 4GB 内存&#xff0c;100GB 磁盘空间。 已安装组件&#xff1a; Docker&#xff08;版本 ≥ 20.10&#xff09;Docker Compose&#xff08;版本 ≥ v2.0&#xff09; 域…...