zoukankan      html  css  js  c++  java
  • spring batch (二) 元数据表

    内容来自《Spring Batch 批处理框架》,作者:刘相。

    一、spring batch 框架进行元数据管理共有六张表,三张SEQUENCE用来分配主键的,九张表分别是:

      BATCH_JOB_INSTANCE

      BATCH_JOB_EXECUTION

      BATCH_JOB_EXECUTION_PARAMS

      BATCH_STEP_EXECUTION

      BATCH_STEP_EXECUTION_CONTEXT

      BATCH_JOB_EXECUTION_CONTEXT

      BATCH_STEP_EXECUTION_SEQ

      BATCH_JOB_EXECUTION_SEQ

      BATCH_JOB_SEQ

      这几张表的建表脚本可以从框架中获取。我的在:spring-batch-core-3.0.9.RELEASEorgspringframeworkatchcoreschema-oracle10g.sql。

      下面对每张表的作用做个说明:

    BATCH_JOB_INSTANCE 作业实例表。用于存放Job的实例信息。
    BATCH_JOB_EXECUTION 作业执行器表。用于存放当前作业的执行信息,比如创建时间。执行开始时间,执行结束时间,执行的哪个Job实例,执行状态等。
    BATCH_JOB_EXECUTION_PARAMS 作业参数表。用于存放每个Job执行时候的参数信息,该参数实际上是对应Job实例的。
    BATCH_STEP_EXECUTION 作业步执行器表。用于存放每个Step执行器的信息,比如作业步的开始时间、执行完成时间、执行状态、读/写次数、跳过次数等。
    BATCH_STEP_EXECUTION_CONTEXT 作业步执行上下文表。用于存放每个作业步的上下文信息。
    BATCH_JOB_EXECUTION_CONTEXT 作业执行上下文表。用于存放作业执行器上下文的信息。
    BATCH_STEP_EXECUTION_SEQ 作业步序列表。用于给表BATCH_STEP_EXECUTION和BATCH_STEP_EXECUTION_CONTEXT提供主键。
    BATCH_JOB_EXECUTION_SEQ 作业执行器序列表。用于给表BATCH_JOB_EXECUTION和BATCH_JOB_EXECUTION_CONTEXT提供主键。
    BATCH_JOB_SEQ 作业序列表。用于给表BATCH_JOB_INSTANCE和BATCH_JOB_EXECUTION_PARAMS提供主键。
       

     

     

     

    二、每个表字段说明:

      1.BATCH_JOB_INSTANCE

        1.1 建表SQL:

    CREATE TABLE BATCH_JOB_INSTANCE  (
        JOB_INSTANCE_ID NUMBER(19,0)  NOT NULL PRIMARY KEY ,
        VERSION NUMBER(19,0) ,
        JOB_NAME VARCHAR2(100) NOT NULL,
        JOB_KEY VARCHAR2(32) NOT NULL,
        constraint JOB_INST_UN unique (JOB_NAME, JOB_KEY)
    ) ;

        1.2 字段说明:

          JOB_INSTANCE_ID :主键。作业实例ID编号,根据BATCH_JOB_SEQ自动生成。

          VERSION :版本号。

          JOB_NAME :作业名称。即在配置文件中定义的 job id 字段的内容。

          JOB_KEY :作业标识。根据作业参数序列化生成的标识。需要注意通过 JOB_NAME +JOB_KEY  能够唯一区分一个作业实例。如果是同一个Job,则JOB KEY一定不能相通,即作业参数不能相同。如果不是同一个JOB则KEY可以相同,也就说可以是同一个作业参数。

      2.BATCH_JOB_EXECUTION

        2.1 建表SQL:

    CREATE TABLE BATCH_JOB_EXECUTION  (
        JOB_EXECUTION_ID NUMBER(19,0)  NOT NULL PRIMARY KEY ,
        VERSION NUMBER(19,0)  ,
        JOB_INSTANCE_ID NUMBER(19,0) NOT NULL,
        CREATE_TIME TIMESTAMP NOT NULL,
        START_TIME TIMESTAMP DEFAULT NULL ,
        END_TIME TIMESTAMP DEFAULT NULL ,
        STATUS VARCHAR2(10) ,
        EXIT_CODE VARCHAR2(2500) ,
        EXIT_MESSAGE VARCHAR2(2500) ,
        LAST_UPDATED TIMESTAMP,
        JOB_CONFIGURATION_LOCATION VARCHAR(2500) NULL,
        constraint JOB_INST_EXEC_FK foreign key (JOB_INSTANCE_ID)
        references BATCH_JOB_INSTANCE(JOB_INSTANCE_ID)
    ) ;

        2.2 字段说明:

          JOB_EXECUTION_ID :主键。作业执行器ID编号。

          VERSION :版本号。

          JOB_INSTANCE_ID :作业实例ID编号。

          CREATE_TIME :作业执行器创建时间。

          START_TIME :作业执行器开始执行时间。

          END_TIME :作业执行器结束时间。

          STATUS :作业执行器的状态。如:COMPLETED,STARTING,STARTED,STOPPING,STOPTED,FAILED,ABANDED,UNKNOWN。这些状态在类org.springframework.batch.core.ExitStatus中。

          EXIT_CODE :作业执行器退出编码。如:UNKNOWN,EXEXCUTION,COMPLETED,NOOP,FAILED,STOPPED。这些状态在类org.springframework.batch.core.ExitStatus中定义的。

          EXIT_MESSAGE :作业执行器退出描述,详细描述退出的信息,如果发生异常,通常包含异常的堆栈信息。

          LAST_UPDATED :本条记录上次更新时间。

          JOB_CONFIGURATION_LOCATION :Job本地配置信息。

      3.BATCH_JOB_EXECUTION_PARAMS

        3.1 建表SQL:

    CREATE TABLE BATCH_JOB_EXECUTION_PARAMS  (
        JOB_EXECUTION_ID NUMBER(19,0) NOT NULL ,
        TYPE_CD VARCHAR2(6) NOT NULL ,
        KEY_NAME VARCHAR2(100) NOT NULL ,
        STRING_VAL VARCHAR2(250) ,
        DATE_VAL TIMESTAMP DEFAULT NULL ,
        LONG_VAL NUMBER(19,0) ,
        DOUBLE_VAL NUMBER ,
        IDENTIFYING CHAR(1) NOT NULL ,
        constraint JOB_EXEC_PARAMS_FK foreign key (JOB_EXECUTION_ID)
        references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
    ) ;

        3.2 字段说明:

          JOB_EXECUTION_ID:外键,作业执行器ID编号。一个作业实例可能会有多行参数记录,主要根据参数的个数决定的。

          TYPE_CD :参数类型,可能是如下四种当中的一种:date、string、long、double。

          KEY_NAME :参数的名字。

          STRING_VAL :如果参数是String类型此处存放是String类型的参数值。

          DATE_VAL :如果参数是date类型,此处存放的是date类型的参数值。

          LONG_VAL :如果参数是long类型,此处存放是long类型的参数值。

          DOUBLE_VAL :如果参数是double类型,则此处存放double类型的参数值。

          IDENTIFYING :用于标识作业参数是否标识作业实例。

      4.BATCH_STEP_EXECUTION

        4.1 建表SQL:

    CREATE TABLE BATCH_STEP_EXECUTION  (
        STEP_EXECUTION_ID NUMBER(19,0)  NOT NULL PRIMARY KEY ,
        VERSION NUMBER(19,0) NOT NULL,
        STEP_NAME VARCHAR2(100) NOT NULL,
        JOB_EXECUTION_ID NUMBER(19,0) NOT NULL,
        START_TIME TIMESTAMP NOT NULL ,
        END_TIME TIMESTAMP DEFAULT NULL ,
        STATUS VARCHAR2(10) ,
        COMMIT_COUNT NUMBER(19,0) ,
        READ_COUNT NUMBER(19,0) ,
        FILTER_COUNT NUMBER(19,0) ,
        WRITE_COUNT NUMBER(19,0) ,
        READ_SKIP_COUNT NUMBER(19,0) ,
        WRITE_SKIP_COUNT NUMBER(19,0) ,
        PROCESS_SKIP_COUNT NUMBER(19,0) ,
        ROLLBACK_COUNT NUMBER(19,0) ,
        EXIT_CODE VARCHAR2(2500) ,
        EXIT_MESSAGE VARCHAR2(2500) ,
        LAST_UPDATED TIMESTAMP,
        constraint JOB_EXEC_STEP_FK foreign key (JOB_EXECUTION_ID)
        references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
    ) ;

        4.2 字段说明:

          STEP_EXECUTION_ID :主键,作业步实例ID编号。

          VERSION :版本。

          STEP_NAME :操作步的名字。

          JOB_EXECUTION_ID :外键。操作执行器ID。

          START_TIME :操作步执行器开始执行时间。

          END_TIME :操作步执行器结束时间。

          STATUS :操作步执行器执行状态,如:COMPLETED,STARTING,STARTED,STOPPING,STOPPED,FAILED,ABANDED,UNKNOWN。这些状态在类:org.springframework.batch.core.ExitStatus中。

          COMMIT_COUNT :事务提交次数。

          READ_COUNT :读数据的次数。

          FILTER_COUNT :过滤掉的数据次数。

          WRITE_COUNT :写数据的次数。

          READ_SKIP_COUNT :读数据跳过的次数。

          WRITE_SKIP_COUNT :写数据跳过的次数。

          PROCESS_SKIP_COUNT :处理数据跳过的次数。

          ROLLBACK_COUNT :事务回滚次数。

          EXIT_CODE :操作步执行器的退出编码。如:UNKNOWN,EXEXCUTION,COMPLETED,NOOP,FAILED,STOPPED。这些状态在类org.springframework.batch.core.ExitStatus中定义的。

          EXIT_MESSAGE :操作步执行器退出描述,详细描述退出的信息。如异常的堆栈信息等。

          LAST_UPDATED :本条记录上次更新时间。

      5.BATCH_STEP_EXECUTION_CONTEXT

        5.1 建表SQL:

    CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT  (
        STEP_EXECUTION_ID NUMBER(19,0) NOT NULL PRIMARY KEY,
        SHORT_CONTEXT VARCHAR2(2500) NOT NULL,
        SERIALIZED_CONTEXT CLOB ,
        constraint STEP_EXEC_CTX_FK foreign key (STEP_EXECUTION_ID)
        references BATCH_STEP_EXECUTION(STEP_EXECUTION_ID)
    ) ;

        5.2 字段说明:

          STEP_EXECUTION_ID :外键。操作步执行器ID编号。

          SHORT_CONTEXT :作业执行器上下文字符串格式。

          SERIALIZED_CONTEXT :序列化的作业执行器上下文。

      6.BATCH_JOB_EXECUTION_CONTEXT

        6.1 建表SQL:

    CREATE TABLE BATCH_JOB_EXECUTION_CONTEXT  (
        JOB_EXECUTION_ID NUMBER(19,0) NOT NULL PRIMARY KEY,
        SHORT_CONTEXT VARCHAR2(2500) NOT NULL,
        SERIALIZED_CONTEXT CLOB ,
        constraint JOB_EXEC_CTX_FK foreign key (JOB_EXECUTION_ID)
        references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
    ) ;

        6.2 字段说明:

          JOB_EXECUTION_ID :外键。作业执行器ID编号。

          SHORT_CONTEXT :作业执行器上下文字符串格式。

          SERIALIZED_CONTEXT :序列化的作业执行器上下文。

      

  • 相关阅读:
    面向过程编程
    生成器
    迭代器
    装饰器
    函数对象与闭包
    名称空间和作用域
    Django中的as_view方法源码分析
    DRF3序列化反序列化
    DRF4级联与外键字段
    django--BBS项目,后端业务逻辑整理
  • 原文地址:https://www.cnblogs.com/whx20100101/p/10508661.html
Copyright © 2011-2022 走看看