You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@inlong.apache.org by he...@apache.org on 2022/02/21 02:24:21 UTC

[incubator-inlong] branch master updated: [INLONG-2612][Manager] Unify the domain model of the Manager module (#2613)

This is an automated email from the ASF dual-hosted git repository.

healchow pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-inlong.git


The following commit(s) were added to refs/heads/master by this push:
     new 25ce417  [INLONG-2612][Manager] Unify the domain model of the Manager module (#2613)
25ce417 is described below

commit 25ce417944221eec590483de5249566b7cab4562
Author: healchow <he...@gmail.com>
AuthorDate: Mon Feb 21 10:24:16 2022 +0800

    [INLONG-2612][Manager] Unify the domain model of the Manager module (#2613)
    
    * [INLONG-2612][Manager] Unify the domain model of the Manager module
    
    * [INLONG-2612][Manager] Add maven-surefire-plugin dependency
    
    * [INLONG-2612][Manager] Remove AgentHeartbeatLogEntity
    
    * [INLONG-2612][Manager] Rollback the AgentHeartbeatEntity and related classes
---
 .../apache/inlong/manager/client/api/HiveSink.java |   6 +-
 .../inlong/manager/client/api/InlongClient.java    |  16 +-
 .../api/{DataStreamGroup.java => InlongGroup.java} |  35 +-
 ...taStreamGroupConf.java => InlongGroupConf.java} |   9 +-
 ...taStreamGroupInfo.java => InlongGroupInfo.java} |  41 +-
 .../api/{DataStream.java => InlongStream.java}     |   5 +-
 ...StreamBuilder.java => InlongStreamBuilder.java} |  25 +-
 .../{DataStreamConf.java => InlongStreamConf.java} |  25 +-
 .../inlong/manager/client/api/SortBaseConf.java    |   2 +-
 .../inlong/manager/client/api/StreamSink.java      |   2 +-
 .../inlong/manager/client/api/StreamSource.java    |   2 +-
 .../client/api/impl/DataStreamGroupImpl.java       | 159 -------
 ...uilder.java => DefaultInlongStreamBuilder.java} |  72 ++--
 .../manager/client/api/impl/InlongClientImpl.java  |   8 +-
 .../manager/client/api/impl/InlongGroupImpl.java   | 154 +++++++
 .../{DataStreamImpl.java => InlongStreamImpl.java} |  40 +-
 .../client/api/inner/InnerGroupContext.java        |  24 +-
 .../client/api/inner/InnerInlongManagerClient.java | 185 ++++----
 .../client/api/inner/InnerStreamContext.java       |  18 +-
 .../client/api/util/DataStreamTransfer.java        | 160 -------
 ...GroupTransfer.java => InlongGroupTransfer.java} | 103 ++---
 .../manager/client/api/util/InlongParser.java      |  61 +--
 .../client/api/util/InlongStreamTransfer.java      | 160 +++++++
 .../manager/common/enums/BizErrorCodeEnum.java     | 112 -----
 .../enums/{BizConstant.java => Constant.java}      |  18 +-
 .../inlong/manager/common/enums/EntityStatus.java  | 105 ++---
 .../inlong/manager/common/enums/ErrorCodeEnum.java | 110 +++++
 .../enums/{StorageType.java => SinkType.java}      |  23 +-
 .../common/exceptions/BusinessException.java       |   6 +-
 .../pojo/agent/CheckAgentTaskConfRequest.java      |   2 +-
 .../manager/common/pojo/agent/DataConfig.java      |   2 +-
 .../pojo/commonserver/CommonDbServerListVo.java    |   4 +-
 .../commonserver/CommonDbServerPageRequest.java    |   4 +-
 .../pojo/commonserver/CommonFileServerListVo.java  |   4 +-
 .../commonserver/CommonFileServerPageRequest.java  |   6 +-
 .../common/pojo/consumption/ConsumptionInfo.java   |   8 +-
 .../common/pojo/consumption/ConsumptionListVo.java |   2 +-
 .../pojo/consumption/ConsumptionMqExtBase.java     |   6 +-
 .../pojo/consumption/ConsumptionPulsarInfo.java    |   4 +-
 .../common/pojo/consumption/ConsumptionQuery.java  |   2 +-
 .../pojo/{business => group}/DataSchemaInfo.java   |   2 +-
 .../InlongGroupApproveRequest.java}                |  10 +-
 .../InlongGroupCountResponse.java}                 |  13 +-
 .../InlongGroupExtInfo.java}                       |  11 +-
 .../InlongGroupListResponse.java}                  |  15 +-
 .../InlongGroupMqExtBase.java}                     |  18 +-
 .../InlongGroupPageRequest.java}                   |   8 +-
 .../InlongGroupPulsarInfo.java}                    |   8 +-
 .../InlongGroupRequest.java}                       |  31 +-
 .../InlongGroupTopicResponse.java}                 |  21 +-
 .../manager/common/pojo/query/ColumnQueryBean.java |   2 +-
 .../common/pojo/query/DatabaseQueryBean.java       |   2 +-
 .../manager/common/pojo/query/TableQueryBean.java  |   2 +-
 .../SinkApproveDTO.java}                           |  16 +-
 .../SinkBriefResponse.java}                        |  20 +-
 .../StorageExtInfo.java => sink/SinkExtInfo.java}  |  17 +-
 .../SinkFieldRequest.java}                         |   8 +-
 .../SinkForSortDTO.java}                           |  12 +-
 .../SinkListResponse.java}                         |  18 +-
 .../SinkPageRequest.java}                          |  16 +-
 .../StorageRequest.java => sink/SinkRequest.java}  |  24 +-
 .../SinkResponse.java}                             |  22 +-
 .../SinkeFieldResponse.java}                       |  12 +-
 .../ck/ClickHouseSinkDTO.java}                     |  21 +-
 .../ck/ClickHouseSinkListResponse.java}            |  10 +-
 .../ck/ClickHouseSinkRequest.java}                 |  14 +-
 .../ck/ClickHouseSinkResponse.java}                |  14 +-
 .../hive/HiveSinkDTO.java}                         |  18 +-
 .../hive/HiveSinkListResponse.java}                |  10 +-
 .../hive/HiveSinkRequest.java}                     |  14 +-
 .../hive/HiveSinkResponse.java}                    |  14 +-
 .../iceberg/IcebergSinkDTO.java}                   |  18 +-
 .../iceberg/IcebergSinkListResponse.java}          |  10 +-
 .../iceberg/IcebergSinkRequest.java}               |  14 +-
 .../iceberg/IcebergSinkResponse.java}              |  14 +-
 .../kafka/KafkaSinkDTO.java}                       |  21 +-
 .../kafka/KafkaSinkListResponse.java}              |  10 +-
 .../kafka/KafkaSinkRequest.java}                   |  14 +-
 .../kafka/KafkaSinkResponse.java}                  |  14 +-
 .../manager/common/pojo/sort/StorageForHive.java   |  21 -
 .../{datasource => source}/SourceDbBasicInfo.java  |  10 +-
 .../{datasource => source}/SourceDbDetailInfo.java |  12 +-
 .../SourceDbDetailListVO.java                      |   8 +-
 .../SourceDbDetailPageRequest.java                 |   8 +-
 .../SourceFileBasicInfo.java                       |  12 +-
 .../SourceFileDetailInfo.java                      |  22 +-
 .../SourceFileDetailListVO.java                    |  14 +-
 .../SourceFileDetailPageRequest.java               |   8 +-
 .../FullPageUpdateRequest.java}                    |  18 +-
 .../{datastream => stream}/FullStreamRequest.java  |  32 +-
 .../{datastream => stream}/FullStreamResponse.java |  32 +-
 .../InlongStreamApproveRequest.java}               |  22 +-
 .../InlongStreamBaseInfo.java}                     |  10 +-
 .../InlongStreamExtInfo.java}                      |  13 +-
 .../InlongStreamFieldInfo.java}                    |  14 +-
 .../InlongStreamInfo.java}                         |  22 +-
 .../InlongStreamListResponse.java}                 |  23 +-
 .../InlongStreamPageRequest.java}                  |  22 +-
 .../InlongStreamTopicResponse.java}                |  10 +-
 .../StreamBriefResponse.java                       |  20 +-
 .../common/pojo/workflow/form/BaseProcessForm.java |   6 +-
 .../common/pojo/workflow/form/BaseTaskForm.java    |   4 +-
 ...pproveForm.java => ConsumptionApproveForm.java} |   8 +-
 ...cessForm.java => GroupResourceProcessForm.java} |  22 +-
 ...pproveForm.java => InlongGroupApproveForm.java} |  20 +-
 .../workflow/form/NewConsumptionProcessForm.java   |   2 +-
 ...ssProcessForm.java => NewGroupProcessForm.java} |  22 +-
 ...rocessForm.java => UpdateGroupProcessForm.java} |  18 +-
 ...inessSettings.java => InlongGroupSettings.java} |   2 +-
 ...DatasourceConfig.java => JDBCSourceConfig.java} |   6 +-
 ...eatLogEntity.java => AgentHeartbeatEntity.java} |   5 +-
 ...{BusinessEntity.java => InlongGroupEntity.java} |   2 +-
 ...essExtEntity.java => InlongGroupExtEntity.java} |   5 +-
 ...sarEntity.java => InlongGroupPulsarEntity.java} |   5 +-
 ...taStreamEntity.java => InlongStreamEntity.java} |   5 +-
 ...amExtEntity.java => InlongStreamExtEntity.java} |   2 +-
 ...eldEntity.java => InlongStreamFieldEntity.java} |   2 +-
 .../{StorageEntity.java => StreamSinkEntity.java}  |   4 +-
 ...rageExtEntity.java => StreamSinkExtEntity.java} |   6 +-
 ...FieldEntity.java => StreamSinkFieldEntity.java} |   6 +-
 ...Mapper.java => AgentHeartbeatEntityMapper.java} |  17 +-
 ...ityMapper.java => InlongGroupEntityMapper.java} |  28 +-
 ...Mapper.java => InlongGroupExtEntityMapper.java} |  29 +-
 ...per.java => InlongGroupPulsarEntityMapper.java} |  18 +-
 ...tyMapper.java => InlongStreamEntityMapper.java} |  32 +-
 ...apper.java => InlongStreamExtEntityMapper.java} |  30 +-
 ...per.java => InlongStreamFieldEntityMapper.java} |  27 +-
 .../dao/mapper/SourceDbBasicEntityMapper.java      |   4 +-
 .../dao/mapper/SourceDbDetailEntityMapper.java     |   8 +-
 .../dao/mapper/SourceFileBasicEntityMapper.java    |   4 +-
 .../dao/mapper/SourceFileDetailEntityMapper.java   |  24 +-
 .../manager/dao/mapper/StorageEntityMapper.java    | 114 -----
 .../manager/dao/mapper/StorageExtEntityMapper.java |  66 ---
 .../manager/dao/mapper/StreamSinkEntityMapper.java | 114 +++++
 .../dao/mapper/StreamSinkExtEntityMapper.java      |  68 +++
 ...apper.java => StreamSinkFieldEntityMapper.java} |  32 +-
 .../src/main/resources/generatorConfig.xml         |  18 +-
 ...tyMapper.xml => AgentHeartbeatEntityMapper.xml} |  32 +-
 .../main/resources/mappers/ClusterSetMapper.xml    |  45 +-
 ...ntityMapper.xml => InlongGroupEntityMapper.xml} |  62 +--
 ...tyMapper.xml => InlongGroupExtEntityMapper.xml} |  38 +-
 ...apper.xml => InlongGroupPulsarEntityMapper.xml} |  38 +-
 ...tityMapper.xml => InlongStreamEntityMapper.xml} |  98 ++---
 ...yMapper.xml => InlongStreamExtEntityMapper.xml} |  38 +-
 ...apper.xml => InlongStreamFieldEntityMapper.xml} |  40 +-
 .../mappers/SourceDbDetailEntityMapper.xml         |   2 +-
 .../mappers/SourceFileDetailEntityMapper.xml       |  10 +-
 ...EntityMapper.xml => StreamSinkEntityMapper.xml} | 122 +++---
 ...ityMapper.xml => StreamSinkExtEntityMapper.xml} |  90 ++--
 ...yMapper.xml => StreamSinkFieldEntityMapper.xml} |  62 +--
 ...ceConfigTest.java => JDBCSourceConfigTest.java} |  14 +-
 .../mapper/AgentHeartBeatLogEntityMapperTest.java  | 100 -----
 .../dao/mapper/AgentHeartbeatEntityMapperTest.java | 101 +++++
 .../inlong/manager/plugin/EmptyProcessPlugin.java  |   6 +-
 ...BeatService.java => AgentHeartbeatService.java} |   7 +-
 .../manager/service/core/BusinessService.java      | 131 ------
 .../manager/service/core/ConsumptionService.java   |   4 +-
 .../manager/service/core/DataSchemaService.java    |   4 +-
 .../manager/service/core/DataStreamService.java    | 196 ---------
 .../manager/service/core/InlongGroupService.java   | 132 ++++++
 .../manager/service/core/InlongStreamService.java  | 196 +++++++++
 .../manager/service/core/SourceDbService.java      |  30 +-
 .../manager/service/core/SourceFileService.java    |  28 +-
 ...iceImpl.java => AgentHeartbeatServiceImpl.java} |  19 +-
 .../service/core/impl/AgentTaskServiceImpl.java    |  16 +-
 .../service/core/impl/AuditServiceImpl.java        |   2 +-
 .../core/impl/BusinessProcessOperation.java        | 175 --------
 .../service/core/impl/BusinessServiceImpl.java     | 448 --------------------
 .../service/core/impl/ConsumptionServiceImpl.java  |  90 ++--
 .../core/impl/DataProxyClusterServiceImpl.java     |  49 +--
 .../service/core/impl/DataSchemaServiceImpl.java   |   5 +-
 .../service/core/impl/HiveSourceServiceImpl.java   |  18 +-
 .../core/impl/InlongGroupProcessOperation.java     | 164 +++++++
 .../service/core/impl/InlongGroupServiceImpl.java  | 452 ++++++++++++++++++++
 ...rviceImpl.java => InlongStreamServiceImpl.java} | 471 ++++++++++-----------
 .../service/core/impl/SourceDbServiceImpl.java     | 115 ++---
 .../service/core/impl/SourceFileServiceImpl.java   | 111 ++---
 .../core/impl/ThirdPartyClusterServiceImpl.java    |   8 +-
 .../SinkOperationFactory.java}                     |  24 +-
 .../StreamSinkOperation.java}                      |  58 +--
 .../manager/service/sink/StreamSinkService.java    | 167 ++++++++
 .../service/sink/StreamSinkServiceImpl.java        | 429 +++++++++++++++++++
 .../sink/ck/ClickHouseStreamSinkOperation.java     | 239 +++++++++++
 .../service/sink/hive/HiveStreamSinkOperation.java | 240 +++++++++++
 .../sink/iceberg/IcebergStreamSinkOperation.java   | 233 ++++++++++
 .../sink/kafka/KafkaStreamSinkOperation.java       | 226 ++++++++++
 .../manager/service/storage/StorageService.java    | 167 --------
 .../service/storage/StorageServiceImpl.java        | 429 -------------------
 .../storage/ck/ClickHouseStorageOperation.java     | 239 -----------
 .../service/storage/hive/HiveStorageOperation.java | 240 -----------
 .../storage/iceberg/IcebergStorageOperation.java   | 233 ----------
 .../storage/kafka/KafkaStorageOperation.java       | 225 ----------
 .../elasticsearch/ElasticsearchApi.java            |   2 +-
 .../elasticsearch/ElasticsearchConfig.java         |   2 +-
 .../hive/CreateHiveTableEventSelector.java         |  28 +-
 .../hive/CreateHiveTableForStreamListener.java     |  20 +-
 .../hive/CreateHiveTableListener.java              |  24 +-
 .../hive/HiveTableOperator.java                    |  46 +-
 .../hive/builder/HiveAddColumnSqlBuilder.java      |   2 +-
 .../hive/builder/HiveChangeColumnBuilder.java      |   2 +-
 .../hive/builder/HiveCreateDbSqlBuilder.java       |   2 +-
 .../hive/builder/HiveDropDbSqlBuilder.java         |   2 +-
 .../hive/builder/HiveDropTableSqlBuilder.java      |   2 +-
 .../hive/builder/HiveQueryTableSqlBuilder.java     |   2 +-
 .../hive/builder/HiveReplaceColumnSqlBuilder.java  |   2 +-
 .../hive/builder/HiveTableCreateSqlBuilder.java    |   2 +-
 .../hive/builder/SqlBuilder.java                   |   2 +-
 .../mq/CreatePulsarGroupForStreamTaskListener.java |  44 +-
 .../mq/CreatePulsarGroupTaskListener.java          |  32 +-
 .../mq/CreatePulsarResourceTaskListener.java       |  54 +--
 .../mq/CreatePulsarTopicForStreamTaskListener.java |  34 +-
 .../mq/CreateTubeGroupTaskListener.java            |  20 +-
 .../mq/CreateTubeTopicTaskListener.java            |  16 +-
 .../mq/PulsarEventSelector.java                    |  14 +-
 .../mq/PulsarOptService.java                       |   6 +-
 .../mq/PulsarOptServiceImpl.java                   |  15 +-
 .../mq/TubeEventSelector.java                      |  18 +-
 .../mq/TubeMqOptService.java                       |   6 +-
 .../mq/util/PulsarUtils.java                       |  26 +-
 .../sort/PushHiveConfigTaskListener.java           | 120 +++---
 .../sort/SortFieldFormatUtils.java                 |   2 +-
 .../sort/ZkSortEventSelector.java                  |  14 +-
 .../manager/service/workflow/ProcessName.java      |  32 +-
 .../workflow/ServiceTaskListenerFactory.java       |  50 +--
 .../NewConsumptionProcessDetailHandler.java        |   6 +-
 .../NewConsumptionWorkflowDefinition.java          |  36 +-
 .../listener/ConsumptionCancelProcessListener.java |   4 +-
 .../ConsumptionCompleteProcessListener.java        |  32 +-
 .../listener/ConsumptionPassTaskListener.java      |   8 +-
 .../listener/ConsumptionRejectProcessListener.java |   4 +-
 .../CreateGroupWorkflowDefinition.java}            |  58 +--
 .../DeleteGroupWorkflowDefinition.java}            |  35 +-
 .../NewGroupWorkflowDefinition.java}               |  42 +-
 .../RestartGroupWorkflowDefinition.java}           |  33 +-
 .../SuspendGroupWorkflowDefinition.java}           |  33 +-
 .../listener/GroupCancelProcessListener.java}      |  16 +-
 .../listener/GroupCompleteProcessListener.java}    |  38 +-
 .../listener/GroupFailedProcessListener.java}      |  36 +-
 .../listener/GroupPassTaskListener.java}           |  36 +-
 .../listener/GroupRejectProcessListener.java}      |  18 +-
 .../listener/InitGroupListener.java}               |  26 +-
 .../listener/StartCreateGroupProcessListener.java} |  26 +-
 .../listener/UpdateGroupCompleteListener.java}     |  21 +-
 .../listener/UpdateGroupListener.java}             |  27 +-
 .../stream/CreateStreamWorkflowDefinition.java     |  48 +--
 ...stener.java => InitGroupForStreamListener.java} |  24 +-
 .../stream/StreamCompleteProcessListener.java      |  26 +-
 .../stream/StreamFailedProcessListener.java        |  26 +-
 .../core/impl/AgentHeartBeatServiceImplTest.java   |  55 ---
 ...t.java => InlongGroupProcessOperationTest.java} |  62 +--
 .../inlong/manager/service/mocks/MockPlugin.java   |  16 +-
 .../service/thirdpart/mq/util/PulsarUtilsTest.java |  91 ----
 .../hive/CreateHiveTableEventSelectorTest.java     |  12 +-
 .../thirdparty/mq/util/PulsarUtilsTest.java        |  90 ++++
 .../workflow/ServiceTaskListenerFactoryTest.java   |  24 +-
 .../service/workflow/WorkflowServiceImplTest.java  | 102 ++---
 .../CreateGroupWorkflowDefinitionTest.java}        |  14 +-
 .../main/resources/sql/apache_inlong_manager.sql   | 188 ++++----
 inlong-manager/manager-web/pom.xml                 |  22 +-
 .../manager-web/sql/apache_inlong_manager.sql      | 230 +++++-----
 .../web/controller/BasicInfoController.java        |   2 +-
 .../web/controller/CommonDBServerController.java   |   4 +-
 .../web/controller/CommonFileServerController.java |  12 +-
 ...sController.java => InlongGroupController.java} |  88 ++--
 ...Controller.java => InlongStreamController.java} |  80 ++--
 .../manager/web/controller/SourceDbController.java |   8 +-
 .../web/controller/SourceFileController.java       |   8 +-
 ...geController.java => StreamSinkController.java} |  54 +--
 .../web/controller/ThirdPartController.java        |  62 ---
 .../web/controller/openapi/AgentController.java    |  16 +-
 .../src/main/resources/application-prod.properties |   9 +
 .../src/main/resources/application-test.properties |   9 +
 .../manager/service/core/BusinessServiceTest.java  | 129 ------
 .../service/core/ClickHouseStorageServiceTest.java |  95 -----
 .../core/ClickHouseStreamSinkServiceTest.java      |  93 ++++
 .../service/core/ConsumptionServiceTest.java       |  12 +-
 .../service/core/IcebergStorageServiceTest.java    |  88 ----
 .../service/core/IcebergStreamSinkServiceTest.java |  85 ++++
 .../service/core/InlongGroupServiceTest.java       | 129 ++++++
 ...rviceTest.java => InlongStreamServiceTest.java} |  26 +-
 .../service/core/KafkaStorageServiceTest.java      |  92 ----
 .../service/core/KafkaStreamSinkServiceTest.java   |  92 ++++
 .../manager/service/core/StorageServiceTest.java   |  90 ----
 .../service/core/StreamSinkServiceTest.java        |  90 ++++
 .../org/apache/inlong/manager/web/UtilsTest.java   |  12 +-
 .../manager/workflow/core/WorkflowEngine.java      |   8 +-
 .../impl/MemoryProcessDefinitionRepository.java    |  14 +-
 .../workflow/core/impl/WorkflowEngineImpl.java     |   2 +-
 .../workflow/definition/ServiceTaskType.java       |   2 +-
 .../workflow/event/LogableEventListener.java       |   6 +-
 ...erateListener.java => SinkOperateListener.java} |   4 +-
 .../manager/workflow/plugin/ProcessPlugin.java     |   4 +-
 inlong-manager/pom.xml                             |  17 +-
 293 files changed, 6948 insertions(+), 7026 deletions(-)

diff --git a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/HiveSink.java b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/HiveSink.java
index 7a82746..8849e56 100644
--- a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/HiveSink.java
+++ b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/HiveSink.java
@@ -25,16 +25,18 @@ import java.util.List;
 import java.util.Map;
 import lombok.AllArgsConstructor;
 import lombok.Data;
+import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
 import org.apache.inlong.manager.client.api.auth.DefaultAuthentication;
 
 @Data
+@EqualsAndHashCode(callSuper = true)
 @NoArgsConstructor
 @AllArgsConstructor
-@ApiModel("Hive storage configuration")
+@ApiModel("Hive sink configuration")
 public class HiveSink extends StreamSink {
 
-    @ApiModelProperty(value = "Data storage type", required = true)
+    @ApiModelProperty(value = "Sink type", required = true)
     private SinkType sinkType = SinkType.HIVE;
 
     @ApiModelProperty("Hive meta db URL, etc jdbc:hive2://${ip}:${port}")
diff --git a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/InlongClient.java b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/InlongClient.java
index a0589b3..4101313 100644
--- a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/InlongClient.java
+++ b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/InlongClient.java
@@ -29,14 +29,14 @@ import org.apache.inlong.manager.client.api.impl.InlongClientImpl;
  * <code>
  * ClientConfiguration configuration = ..
  * InlongClient client = InlongClient.create(${serviceUrl}, configuration);
- * DataStreamGroupConf groupConf = ..
- * DataStreamGroup group = client.createStreamGroup(groupConf);
- * DataStreamConf streamConf = ..
- * DataStreamBuilder builder = group.createDataStream(streamConf);
+ * InlongGroupConf groupConf = ..
+ * InlongGroup group = client.createGroup(groupConf);
+ * InlongStreamConf streamConf = ..
+ * InlongStreamBuilder builder = group.createStream(streamConf);
  * StreamSource source = ..
  * StreamSink sink = ..
  * List<StreamField> fields = ..
- * DataStream stream = builder.source(source).sink(sink).fields(fields).init();
+ * InlongStream stream = builder.source(source).sink(sink).fields(fields).init();
  * group.init();
  * </code>
  * </pre>
@@ -49,11 +49,7 @@ public interface InlongClient {
 
     /**
      * Create stream group by conf
-     *
-     * @param groupConf
-     * @return streamGroupId
-     * @throws Exception
      */
-    DataStreamGroup createStreamGroup(DataStreamGroupConf groupConf) throws Exception;
+    InlongGroup createGroup(InlongGroupConf groupConf) throws Exception;
 
 }
diff --git a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/DataStreamGroup.java b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/InlongGroup.java
similarity index 62%
rename from inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/DataStreamGroup.java
rename to inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/InlongGroup.java
index 40ae073..ed85871 100644
--- a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/DataStreamGroup.java
+++ b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/InlongGroup.java
@@ -19,55 +19,50 @@ package org.apache.inlong.manager.client.api;
 
 import java.util.List;
 
-public interface DataStreamGroup {
+public interface InlongGroup {
 
     /**
-     * Create data stream
+     * Create inlong stream
      *
-     * @return data stream builder
-     * @throws Exception
+     * @return inlong stream builder
      */
-    DataStreamBuilder createDataStream(DataStreamConf dataStreamConf) throws Exception;
+    InlongStreamBuilder createStream(InlongStreamConf streamConf) throws Exception;
 
     /**
-     * Init data stream group.
+     * Init inlong group.
      * This operation will init all physical resources needed to start a stream group
-     * Must be operated after all data streams were created;
+     * Must be operated after all inlong streams were created;
      *
-     * @return data stream group info
-     * @throws Exception
+     * @return inlong group info
      */
-    DataStreamGroupInfo init() throws Exception;
+    InlongGroupInfo init() throws Exception;
 
     /**
      * Suspend the stream group and return group info.
      *
      * @return group info
-     * @throws Exception
      */
-    DataStreamGroupInfo suspend() throws Exception;
+    InlongGroupInfo suspend() throws Exception;
 
     /**
      * Restart the stream group and return group info.
      *
      * @return group info
-     * @throws Exception
      */
-    DataStreamGroupInfo restart() throws Exception;
+    InlongGroupInfo restart() throws Exception;
 
     /**
      * delete the stream group and return group info
      *
      * @return group info
-     * @throws Exception
      */
-    DataStreamGroupInfo delete() throws Exception;
+    InlongGroupInfo delete() throws Exception;
 
     /**
-     * List all data streams in certain group
+     * List all inlong streams in certain group
      *
-     * @return data stream contained in this group
-     * @throws Exception
+     * @return inlong stream contained in this group
      */
-    List<DataStream> listStreams() throws Exception;
+    List<InlongStream> listStreams() throws Exception;
+
 }
diff --git a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/DataStreamGroupConf.java b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/InlongGroupConf.java
similarity index 91%
rename from inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/DataStreamGroupConf.java
rename to inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/InlongGroupConf.java
index ef324a3..6195188 100644
--- a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/DataStreamGroupConf.java
+++ b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/InlongGroupConf.java
@@ -26,13 +26,10 @@ import lombok.NoArgsConstructor;
 @Data
 @NoArgsConstructor
 @AllArgsConstructor
-@ApiModel("Data stream group configuration")
-public class DataStreamGroupConf {
+@ApiModel("Inlong group configuration")
+public class InlongGroupConf {
 
-    @ApiModelProperty(
-            value = "Group name",
-            required = true
-    )
+    @ApiModelProperty(value = "Group name", required = true)
     private String groupName;
 
     @ApiModelProperty("Chinese display name")
diff --git a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/DataStreamGroupInfo.java b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/InlongGroupInfo.java
similarity index 71%
rename from inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/DataStreamGroupInfo.java
rename to inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/InlongGroupInfo.java
index 8814e03..056ffe9 100644
--- a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/DataStreamGroupInfo.java
+++ b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/InlongGroupInfo.java
@@ -18,33 +18,45 @@
 package org.apache.inlong.manager.client.api;
 
 import com.google.common.collect.Lists;
-import java.io.Serializable;
-import java.util.List;
-import java.util.Map;
 import lombok.Data;
 import org.apache.inlong.manager.client.api.inner.InnerGroupContext;
 import org.apache.inlong.manager.client.api.util.AssertUtil;
-import org.apache.inlong.manager.common.pojo.business.BusinessInfo;
+import org.apache.inlong.manager.common.pojo.group.InlongGroupRequest;
+
+import java.io.Serializable;
+import java.util.List;
+import java.util.Map;
 
 @Data
-public class DataStreamGroupInfo implements Serializable {
+public class InlongGroupInfo implements Serializable {
 
     private String groupId;
 
     private String groupName;
 
-    private DataStreamGroupConf groupConf;
+    private InlongGroupConf groupConf;
 
-    private Map<String, DataStream> dataStreamMap;
+    private Map<String, InlongStream> inlongStreamMap;
 
     private List<String> errMsg;
 
     private GroupState state;
 
+    public InlongGroupInfo(InnerGroupContext groupContext, InlongGroupConf streamGroupConf) {
+        InlongGroupRequest groupInfo = groupContext.getGroupInfo();
+        AssertUtil.notNull(groupInfo);
+        this.groupId = groupInfo.getInlongGroupId();
+        this.groupName = groupInfo.getName();
+        this.groupConf = streamGroupConf;
+        this.inlongStreamMap = groupContext.getStreamMap();
+        this.errMsg = Lists.newArrayList();
+        this.state = GroupState.parseByBizStatus(groupInfo.getStatus());
+    }
+
     public enum GroupState {
         INIT, FAIL, START, SUSPEND, RESTART, DELETE;
 
-        //Reference to  org.apache.inlong.manager.common.enums.EntityStatus code
+        // Reference to  org.apache.inlong.manager.common.enums.EntityStatus code
         public static GroupState parseByBizStatus(int bizCode) {
 
             switch (bizCode) {
@@ -65,20 +77,9 @@ public class DataStreamGroupInfo implements Serializable {
                 case 40:
                     return DELETE;
                 default:
-                    throw new IllegalArgumentException(String.format("Unsupport status:%s for business", bizCode));
+                    throw new IllegalArgumentException(String.format("Unsupported status %s for group", bizCode));
             }
         }
     }
 
-    public DataStreamGroupInfo(InnerGroupContext groupContext, DataStreamGroupConf groupConf) {
-        BusinessInfo businessInfo = groupContext.getBusinessInfo();
-        AssertUtil.notNull(businessInfo);
-        this.groupId = businessInfo.getInlongGroupId();
-        this.groupName = businessInfo.getName();
-        this.groupConf = groupConf;
-        this.dataStreamMap = groupContext.getStreamMap();
-        this.errMsg = Lists.newArrayList();
-        this.state = GroupState.parseByBizStatus(businessInfo.getStatus());
-    }
-
 }
diff --git a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/DataStream.java b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/InlongStream.java
similarity index 92%
rename from inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/DataStream.java
rename to inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/InlongStream.java
index 4ac124c..d391c74 100644
--- a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/DataStream.java
+++ b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/InlongStream.java
@@ -19,7 +19,7 @@ package org.apache.inlong.manager.client.api;
 
 import java.util.List;
 
-public abstract class DataStream {
+public abstract class InlongStream {
 
     public abstract String getName();
 
@@ -27,5 +27,6 @@ public abstract class DataStream {
 
     public abstract StreamSource getSource();
 
-    public abstract StreamSink getStorage();
+    public abstract StreamSink getSink();
+
 }
diff --git a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/DataStreamBuilder.java b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/InlongStreamBuilder.java
similarity index 65%
rename from inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/DataStreamBuilder.java
rename to inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/InlongStreamBuilder.java
index 4957341..efe798b 100644
--- a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/DataStreamBuilder.java
+++ b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/InlongStreamBuilder.java
@@ -19,38 +19,35 @@ package org.apache.inlong.manager.client.api;
 
 import java.util.List;
 
-public abstract class DataStreamBuilder {
+public abstract class InlongStreamBuilder {
 
     /**
      * create source in stream.
      *
-     * @param
-     * @return data stream builder
+     * @return inlong stream builder
      */
-    public abstract DataStreamBuilder source(StreamSource source);
+    public abstract InlongStreamBuilder source(StreamSource source);
 
     /**
-     * create storage in stream.
+     * create sink in stream.
      *
-     * @param
-     * @return data stream builder
+     * @return inlong stream builder
      */
-    public abstract DataStreamBuilder sink(StreamSink storage);
+    public abstract InlongStreamBuilder sink(StreamSink sink);
 
     /**
      * create or update stream fields.
      *
-     * @param fieldList
-     * @return data stream builder
+     * @return inlong stream builder
      */
-    public abstract DataStreamBuilder fields(List<StreamField> fieldList);
+    public abstract InlongStreamBuilder fields(List<StreamField> fieldList);
 
     /**
-     * create data stream created by builder
+     * create inlong stream created by builder
      *
-     * @return data stream
+     * @return inlong stream
      */
-    public abstract DataStream init();
+    public abstract InlongStream init();
 }
 
 
diff --git a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/DataStreamConf.java b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/InlongStreamConf.java
similarity index 85%
rename from inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/DataStreamConf.java
rename to inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/InlongStreamConf.java
index 3a2544f..edd0a9d 100644
--- a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/DataStreamConf.java
+++ b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/InlongStreamConf.java
@@ -19,36 +19,34 @@ package org.apache.inlong.manager.client.api;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-import java.nio.charset.Charset;
-import java.nio.charset.StandardCharsets;
-import java.util.List;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
+import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
+import java.util.List;
+
 @Data
 @NoArgsConstructor
 @AllArgsConstructor
-@ApiModel("Data stream configuration")
-public class DataStreamConf {
+@ApiModel("Inlong stream configuration")
+public class InlongStreamConf {
 
-    @ApiModelProperty(
-            value = "Data stream name",
-            required = true
-    )
+    @ApiModelProperty(value = "Inlong stream name", required = true)
     private String name;
 
-    @ApiModelProperty("Data stream description")
+    @ApiModelProperty("Inlong stream description")
     private String description;
 
-    @ApiModelProperty("Field list")
+    @ApiModelProperty("Stream source field list")
     private List<StreamField> streamFields;
 
     @ApiModelProperty("Data source from which data is collected")
     private StreamSource source;
 
-    @ApiModelProperty("Data storage to which data is sinked")
-    private StreamSink storage;
+    @ApiModelProperty("Data sink to which data is stored")
+    private StreamSink sink;
 
     @ApiModelProperty("Data encoding format: UTF-8, GBK")
     private Charset charset = StandardCharsets.UTF_8;
@@ -64,4 +62,5 @@ public class DataStreamConf {
 
     @ApiModelProperty(value = "Access size per day, unit: GB per day")
     private Integer dailyStorage;
+
 }
diff --git a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/SortBaseConf.java b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/SortBaseConf.java
index f712504..eb3b6b3 100644
--- a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/SortBaseConf.java
+++ b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/SortBaseConf.java
@@ -21,7 +21,7 @@ import io.swagger.annotations.ApiModel;
 import lombok.Data;
 
 @Data
-@ApiModel("Sort configuration for data stream group")
+@ApiModel("Sort configuration for inlong group")
 public abstract class SortBaseConf {
 
     public enum SortType {
diff --git a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/StreamSink.java b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/StreamSink.java
index 891eb8e..224f12c 100644
--- a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/StreamSink.java
+++ b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/StreamSink.java
@@ -22,7 +22,7 @@ import java.util.List;
 import lombok.Data;
 
 @Data
-@ApiModel("Data storage configuration")
+@ApiModel("Stream sink configuration")
 public abstract class StreamSink {
 
     public enum SinkType {
diff --git a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/StreamSource.java b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/StreamSource.java
index 0c9398d..767f9a0 100644
--- a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/StreamSource.java
+++ b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/StreamSource.java
@@ -21,7 +21,7 @@ import io.swagger.annotations.ApiModel;
 import lombok.Data;
 
 @Data
-@ApiModel("Data source configuration")
+@ApiModel("Stream source configuration")
 public abstract class StreamSource {
 
     public enum SourceType {
diff --git a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/impl/DataStreamGroupImpl.java b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/impl/DataStreamGroupImpl.java
deleted file mode 100644
index 0218c4c..0000000
--- a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/impl/DataStreamGroupImpl.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.inlong.manager.client.api.impl;
-
-import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang3.tuple.Pair;
-import org.apache.inlong.manager.client.api.DataStream;
-import org.apache.inlong.manager.client.api.DataStreamBuilder;
-import org.apache.inlong.manager.client.api.DataStreamConf;
-import org.apache.inlong.manager.client.api.DataStreamGroup;
-import org.apache.inlong.manager.client.api.DataStreamGroupConf;
-import org.apache.inlong.manager.client.api.DataStreamGroupInfo;
-import org.apache.inlong.manager.client.api.DataStreamGroupInfo.GroupState;
-import org.apache.inlong.manager.client.api.inner.InnerGroupContext;
-import org.apache.inlong.manager.client.api.inner.InnerInlongManagerClient;
-import org.apache.inlong.manager.client.api.util.AssertUtil;
-import org.apache.inlong.manager.client.api.util.DataStreamGroupTransfer;
-import org.apache.inlong.manager.client.api.util.InlongParser;
-import org.apache.inlong.manager.common.enums.EntityStatus;
-import org.apache.inlong.manager.common.enums.ProcessStatus;
-import org.apache.inlong.manager.common.pojo.business.BusinessApproveInfo;
-import org.apache.inlong.manager.common.pojo.business.BusinessInfo;
-import org.apache.inlong.manager.common.pojo.datastream.DataStreamApproveInfo;
-import org.apache.inlong.manager.common.pojo.datastream.FullStreamResponse;
-import org.apache.inlong.manager.common.pojo.workflow.ProcessResponse;
-import org.apache.inlong.manager.common.pojo.workflow.TaskResponse;
-import org.apache.inlong.manager.common.pojo.workflow.WorkflowResult;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.stream.Collectors;
-
-public class DataStreamGroupImpl implements DataStreamGroup {
-
-    private DataStreamGroupConf groupConf;
-
-    private InnerInlongManagerClient managerClient;
-
-    private InnerGroupContext groupContext;
-
-    public DataStreamGroupImpl(DataStreamGroupConf groupConf, InlongClientImpl inlongClient) {
-        this.groupConf = groupConf;
-        this.groupContext = new InnerGroupContext();
-        BusinessInfo businessInfo = DataStreamGroupTransfer.createBusinessInfo(groupConf);
-        this.groupContext.setBusinessInfo(businessInfo);
-        if (this.managerClient == null) {
-            this.managerClient = new InnerInlongManagerClient(inlongClient);
-        }
-        Pair<Boolean, BusinessInfo> existMsg = managerClient.isBusinessExists(businessInfo);
-        if (existMsg.getKey()) {
-            //Update current snapshot
-            this.groupContext.setBusinessInfo(existMsg.getValue());
-        } else {
-            String groupId = managerClient.createBusinessInfo(businessInfo);
-            businessInfo.setInlongGroupId(groupId);
-        }
-    }
-
-    @Override
-    public DataStreamBuilder createDataStream(DataStreamConf dataStreamConf) throws Exception {
-        return new DefaultDataStreamBuilder(dataStreamConf, this.groupContext, this.managerClient);
-    }
-
-    @Override
-    public DataStreamGroupInfo init() throws Exception {
-        WorkflowResult initWorkflowResult = managerClient.initBusinessGroup(this.groupContext.getBusinessInfo());
-        List<TaskResponse> tasks = initWorkflowResult.getNewTasks();
-        AssertUtil.notEmpty(tasks, "Init business info failed");
-        TaskResponse task = tasks.get(0);
-        final int taskId = task.getId();
-
-        ProcessResponse processResponse = initWorkflowResult.getProcessInfo();
-        AssertUtil.isTrue(ProcessStatus.PROCESSING == processResponse.getStatus(),
-                String.format("Process status: %s is not corrected, should be PROCESSING",
-                        processResponse.getStatus()));
-        String formData = processResponse.getFormData().toString();
-        Pair<BusinessApproveInfo, List<DataStreamApproveInfo>> initMsg = InlongParser.parseBusinessForm(formData);
-        groupContext.setInitMsg(initMsg);
-        WorkflowResult startWorkflowResult = managerClient.startBusinessGroup(taskId, initMsg);
-        processResponse = startWorkflowResult.getProcessInfo();
-        AssertUtil.isTrue(ProcessStatus.COMPLETED == processResponse.getStatus(),
-                String.format("Business info state : %s is not corrected , should be COMPLETED",
-                        processResponse.getStatus()));
-        return generateSnapshot(null);
-    }
-
-    @Override
-    public DataStreamGroupInfo suspend() {
-        Pair<String, String> idAndErr = managerClient.updateBusinessInfo(groupContext.getBusinessInfo());
-        final String errMsg = idAndErr.getValue();
-        final String groupId = idAndErr.getKey();
-        AssertUtil.isNull(errMsg, errMsg);
-        managerClient.operateBusinessGroup(groupId, GroupState.SUSPEND);
-        return generateSnapshot(null);
-    }
-
-    @Override
-    public DataStreamGroupInfo restart() {
-        Pair<String, String> idAndErr = managerClient.updateBusinessInfo(groupContext.getBusinessInfo());
-        final String errMsg = idAndErr.getValue();
-        final String groupId = idAndErr.getKey();
-        AssertUtil.isNull(errMsg, errMsg);
-        managerClient.operateBusinessGroup(groupId, GroupState.RESTART);
-        return generateSnapshot(null);
-    }
-
-    @Override
-    public DataStreamGroupInfo delete() {
-        BusinessInfo currentBusinessInfo = managerClient.getBusinessInfo(
-                groupContext.getBusinessInfo().getInlongGroupId());
-        boolean isDeleted = managerClient.deleteBusinessGroup(currentBusinessInfo.getInlongGroupId());
-        if (isDeleted) {
-            currentBusinessInfo.setStatus(EntityStatus.DELETED.getCode());
-        }
-        return generateSnapshot(currentBusinessInfo);
-    }
-
-    @Override
-    public List<DataStream> listStreams() {
-        String inlongGroupId = this.groupContext.getGroupId();
-        return fetchDataStreams(inlongGroupId);
-    }
-
-    private DataStreamGroupInfo generateSnapshot(BusinessInfo currentBizInfo) {
-        if (currentBizInfo == null) {
-            currentBizInfo = managerClient.getBusinessInfo(
-                    groupContext.getBusinessInfo().getInlongGroupId());
-        }
-        String inlongGroupId = currentBizInfo.getInlongGroupId();
-        List<DataStream> dataStreams = fetchDataStreams(inlongGroupId);
-        dataStreams.forEach(dataStream -> groupContext.setStream(dataStream));
-        return new DataStreamGroupInfo(groupContext, groupConf);
-    }
-
-    private List<DataStream> fetchDataStreams(String groupId) {
-        List<FullStreamResponse> streamResponses = managerClient.listStreamInfo(groupId);
-        List<DataStream> streamList = new ArrayList<>();
-        if (CollectionUtils.isNotEmpty(streamResponses)) {
-            streamList = streamResponses.stream().map(DataStreamImpl::new).collect(Collectors.toList());
-        }
-        return streamList;
-    }
-
-}
diff --git a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/impl/DefaultDataStreamBuilder.java b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/impl/DefaultInlongStreamBuilder.java
similarity index 53%
rename from inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/impl/DefaultDataStreamBuilder.java
rename to inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/impl/DefaultInlongStreamBuilder.java
index 4ccfcfb..8d27c09 100644
--- a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/impl/DefaultDataStreamBuilder.java
+++ b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/impl/DefaultInlongStreamBuilder.java
@@ -18,27 +18,28 @@
 package org.apache.inlong.manager.client.api.impl;
 
 import com.google.common.collect.Maps;
-import java.util.List;
 import org.apache.commons.collections.MapUtils;
-import org.apache.inlong.manager.client.api.StreamSource;
-import org.apache.inlong.manager.client.api.StreamSink;
-import org.apache.inlong.manager.client.api.DataStream;
-import org.apache.inlong.manager.client.api.DataStreamBuilder;
-import org.apache.inlong.manager.client.api.DataStreamConf;
+import org.apache.inlong.manager.client.api.InlongStream;
+import org.apache.inlong.manager.client.api.InlongStreamBuilder;
+import org.apache.inlong.manager.client.api.InlongStreamConf;
 import org.apache.inlong.manager.client.api.StreamField;
+import org.apache.inlong.manager.client.api.StreamSink;
+import org.apache.inlong.manager.client.api.StreamSource;
 import org.apache.inlong.manager.client.api.inner.InnerGroupContext;
 import org.apache.inlong.manager.client.api.inner.InnerInlongManagerClient;
 import org.apache.inlong.manager.client.api.inner.InnerStreamContext;
-import org.apache.inlong.manager.client.api.util.DataStreamTransfer;
-import org.apache.inlong.manager.common.pojo.datastorage.StorageRequest;
-import org.apache.inlong.manager.common.pojo.datastream.DataStreamFieldInfo;
-import org.apache.inlong.manager.common.pojo.datastream.DataStreamInfo;
+import org.apache.inlong.manager.client.api.util.InlongStreamTransfer;
+import org.apache.inlong.manager.common.pojo.sink.SinkRequest;
+import org.apache.inlong.manager.common.pojo.stream.InlongStreamFieldInfo;
+import org.apache.inlong.manager.common.pojo.stream.InlongStreamInfo;
+
+import java.util.List;
 
-public class DefaultDataStreamBuilder extends DataStreamBuilder {
+public class DefaultInlongStreamBuilder extends InlongStreamBuilder {
 
-    private DataStreamImpl dataStream;
+    private InlongStreamImpl inlongStream;
 
-    private DataStreamConf streamConf;
+    private InlongStreamConf streamConf;
 
     private InnerGroupContext groupContext;
 
@@ -46,8 +47,8 @@ public class DefaultDataStreamBuilder extends DataStreamBuilder {
 
     private InnerInlongManagerClient managerClient;
 
-    public DefaultDataStreamBuilder(
-            DataStreamConf streamConf,
+    public DefaultInlongStreamBuilder(
+            InlongStreamConf streamConf,
             InnerGroupContext groupContext,
             InnerInlongManagerClient managerClient) {
         this.streamConf = streamConf;
@@ -56,48 +57,47 @@ public class DefaultDataStreamBuilder extends DataStreamBuilder {
         if (MapUtils.isEmpty(groupContext.getStreamContextMap())) {
             groupContext.setStreamContextMap(Maps.newHashMap());
         }
-        DataStreamInfo streamInfo = DataStreamTransfer.createDataStreamInfo(streamConf, groupContext.getBusinessInfo());
+        InlongStreamInfo streamInfo = InlongStreamTransfer.createStreamInfo(streamConf, groupContext.getGroupInfo());
         InnerStreamContext streamContext = new InnerStreamContext(streamInfo);
         groupContext.setStreamContext(streamContext);
         this.streamContext = streamContext;
-        this.dataStream = new DataStreamImpl(streamInfo.getName());
-        groupContext.setStream(this.dataStream);
+        this.inlongStream = new InlongStreamImpl(streamInfo.getName());
+        groupContext.setStream(this.inlongStream);
     }
 
     @Override
-    public DataStreamBuilder source(StreamSource source) {
+    public InlongStreamBuilder source(StreamSource source) {
         //todo create SourceRequest
         return this;
     }
 
     @Override
-    public DataStreamBuilder sink(StreamSink storage) {
-        dataStream.setStreamSink(storage);
-        StorageRequest storageRequest = DataStreamTransfer.createStorageRequest(storage,
-                streamContext.getDataStreamInfo());
-        streamContext.setStorageRequest(storageRequest);
+    public InlongStreamBuilder sink(StreamSink sink) {
+        inlongStream.setStreamSink(sink);
+        SinkRequest sinkRequest = InlongStreamTransfer.createSinkRequest(sink, streamContext.getStreamInfo());
+        streamContext.setSinkRequest(sinkRequest);
         return this;
     }
 
     @Override
-    public DataStreamBuilder fields(List<StreamField> fieldList) {
-        dataStream.setStreamFields(fieldList);
-        List<DataStreamFieldInfo> streamFieldInfos = DataStreamTransfer.createStreamFields(fieldList,
-                streamContext.getDataStreamInfo());
+    public InlongStreamBuilder fields(List<StreamField> fieldList) {
+        inlongStream.setStreamFields(fieldList);
+        List<InlongStreamFieldInfo> streamFieldInfos = InlongStreamTransfer.createStreamFields(fieldList,
+                streamContext.getStreamInfo());
         streamContext.updateStreamFields(streamFieldInfos);
         return this;
     }
 
     @Override
-    public DataStream init() {
-        DataStreamInfo dataStreamInfo = streamContext.getDataStreamInfo();
-        String streamIndex = managerClient.createStreamInfo(dataStreamInfo);
-        dataStreamInfo.setId(Integer.parseInt(streamIndex));
+    public InlongStream init() {
+        InlongStreamInfo streamInfo = streamContext.getStreamInfo();
+        String streamIndex = managerClient.createStreamInfo(streamInfo);
+        streamInfo.setId(Integer.parseInt(streamIndex));
         //todo save source
 
-        StorageRequest storageRequest = streamContext.getStorageRequest();
-        String storageIndex = managerClient.createStorage(storageRequest);
-        storageRequest.setId(Integer.parseInt(storageIndex));
-        return dataStream;
+        SinkRequest sinkRequest = streamContext.getSinkRequest();
+        String sinkIndex = managerClient.createSink(sinkRequest);
+        sinkRequest.setId(Integer.parseInt(sinkIndex));
+        return inlongStream;
     }
 }
diff --git a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/impl/InlongClientImpl.java b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/impl/InlongClientImpl.java
index d77a317..b5c9e0c 100644
--- a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/impl/InlongClientImpl.java
+++ b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/impl/InlongClientImpl.java
@@ -26,8 +26,8 @@ import lombok.Getter;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections.MapUtils;
 import org.apache.inlong.manager.client.api.ClientConfiguration;
-import org.apache.inlong.manager.client.api.DataStreamGroup;
-import org.apache.inlong.manager.client.api.DataStreamGroupConf;
+import org.apache.inlong.manager.client.api.InlongGroup;
+import org.apache.inlong.manager.client.api.InlongGroupConf;
 import org.apache.inlong.manager.client.api.InlongClient;
 
 @Slf4j
@@ -60,8 +60,8 @@ public class InlongClientImpl implements InlongClient {
     }
 
     @Override
-    public DataStreamGroup createStreamGroup(DataStreamGroupConf groupConf) throws Exception {
-        return new DataStreamGroupImpl(groupConf, this);
+    public InlongGroup createGroup(InlongGroupConf groupConf) throws Exception {
+        return new InlongGroupImpl(groupConf, this);
     }
 
     private boolean checkConnectivity(String host, int port, int connectTimeout) {
diff --git a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/impl/InlongGroupImpl.java b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/impl/InlongGroupImpl.java
new file mode 100644
index 0000000..a0073ae
--- /dev/null
+++ b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/impl/InlongGroupImpl.java
@@ -0,0 +1,154 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.inlong.manager.client.api.impl;
+
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.lang3.tuple.Pair;
+import org.apache.inlong.manager.client.api.InlongGroup;
+import org.apache.inlong.manager.client.api.InlongGroupConf;
+import org.apache.inlong.manager.client.api.InlongGroupInfo;
+import org.apache.inlong.manager.client.api.InlongGroupInfo.GroupState;
+import org.apache.inlong.manager.client.api.InlongStream;
+import org.apache.inlong.manager.client.api.InlongStreamBuilder;
+import org.apache.inlong.manager.client.api.InlongStreamConf;
+import org.apache.inlong.manager.client.api.inner.InnerGroupContext;
+import org.apache.inlong.manager.client.api.inner.InnerInlongManagerClient;
+import org.apache.inlong.manager.client.api.util.AssertUtil;
+import org.apache.inlong.manager.client.api.util.InlongGroupTransfer;
+import org.apache.inlong.manager.client.api.util.InlongParser;
+import org.apache.inlong.manager.common.enums.EntityStatus;
+import org.apache.inlong.manager.common.enums.ProcessStatus;
+import org.apache.inlong.manager.common.pojo.group.InlongGroupApproveRequest;
+import org.apache.inlong.manager.common.pojo.group.InlongGroupRequest;
+import org.apache.inlong.manager.common.pojo.stream.FullStreamResponse;
+import org.apache.inlong.manager.common.pojo.stream.InlongStreamApproveRequest;
+import org.apache.inlong.manager.common.pojo.workflow.ProcessResponse;
+import org.apache.inlong.manager.common.pojo.workflow.TaskResponse;
+import org.apache.inlong.manager.common.pojo.workflow.WorkflowResult;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+public class InlongGroupImpl implements InlongGroup {
+
+    private final InlongGroupConf groupConf;
+    private final InnerGroupContext groupContext;
+    private InnerInlongManagerClient managerClient;
+
+    public InlongGroupImpl(InlongGroupConf groupConf, InlongClientImpl inlongClient) {
+        this.groupConf = groupConf;
+        this.groupContext = new InnerGroupContext();
+        InlongGroupRequest groupInfo = InlongGroupTransfer.createGroupInfo(groupConf);
+        this.groupContext.setGroupInfo(groupInfo);
+        if (this.managerClient == null) {
+            this.managerClient = new InnerInlongManagerClient(inlongClient);
+        }
+        Pair<Boolean, InlongGroupRequest> existMsg = managerClient.isGroupExists(groupInfo);
+        if (existMsg.getKey()) {
+            // Update current snapshot
+            this.groupContext.setGroupInfo(existMsg.getValue());
+        } else {
+            String groupId = managerClient.createGroupInfo(groupInfo);
+            groupInfo.setInlongGroupId(groupId);
+        }
+    }
+
+    @Override
+    public InlongStreamBuilder createStream(InlongStreamConf streamConf) {
+        return new DefaultInlongStreamBuilder(streamConf, this.groupContext, this.managerClient);
+    }
+
+    @Override
+    public InlongGroupInfo init() throws Exception {
+        WorkflowResult initWorkflowResult = managerClient.initInlongGroup(this.groupContext.getGroupInfo());
+        List<TaskResponse> tasks = initWorkflowResult.getNewTasks();
+        AssertUtil.notEmpty(tasks, "Init inlong group failed");
+        TaskResponse task = tasks.get(0);
+        final int taskId = task.getId();
+
+        ProcessResponse response = initWorkflowResult.getProcessInfo();
+        AssertUtil.isTrue(ProcessStatus.PROCESSING == response.getStatus(),
+                String.format("Process status: %s is not corrected, should be PROCESSING", response.getStatus()));
+        String formData = response.getFormData().toString();
+        Pair<InlongGroupApproveRequest, List<InlongStreamApproveRequest>> initMsg = InlongParser.parseGroupForm(
+                formData);
+        groupContext.setInitMsg(initMsg);
+        WorkflowResult startWorkflowResult = managerClient.startInlongGroup(taskId, initMsg);
+        response = startWorkflowResult.getProcessInfo();
+        AssertUtil.isTrue(ProcessStatus.COMPLETED == response.getStatus(),
+                String.format("Inlong group status: %s is not corrected, should be COMPLETED", response.getStatus()));
+        return generateSnapshot(null);
+    }
+
+    @Override
+    public InlongGroupInfo suspend() {
+        Pair<String, String> idAndErr = managerClient.updateGroupInfo(groupContext.getGroupInfo());
+        final String errMsg = idAndErr.getValue();
+        final String groupId = idAndErr.getKey();
+        AssertUtil.isNull(errMsg, errMsg);
+        managerClient.operateInlongGroup(groupId, GroupState.SUSPEND);
+        return generateSnapshot(null);
+    }
+
+    @Override
+    public InlongGroupInfo restart() {
+        Pair<String, String> idAndErr = managerClient.updateGroupInfo(groupContext.getGroupInfo());
+        final String errMsg = idAndErr.getValue();
+        final String groupId = idAndErr.getKey();
+        AssertUtil.isNull(errMsg, errMsg);
+        managerClient.operateInlongGroup(groupId, GroupState.RESTART);
+        return generateSnapshot(null);
+    }
+
+    @Override
+    public InlongGroupInfo delete() {
+        InlongGroupRequest groupInfo = managerClient.getGroupInfo(groupContext.getGroupInfo().getInlongGroupId());
+        boolean isDeleted = managerClient.deleteInlongGroup(groupInfo.getInlongGroupId());
+        if (isDeleted) {
+            groupInfo.setStatus(EntityStatus.DELETED.getCode());
+        }
+        return generateSnapshot(groupInfo);
+    }
+
+    @Override
+    public List<InlongStream> listStreams() {
+        String inlongGroupId = this.groupContext.getGroupId();
+        return fetchInlongStreams(inlongGroupId);
+    }
+
+    private InlongGroupInfo generateSnapshot(InlongGroupRequest currentBizInfo) {
+        if (currentBizInfo == null) {
+            currentBizInfo = managerClient.getGroupInfo(groupContext.getGroupInfo().getInlongGroupId());
+        }
+        String inlongGroupId = currentBizInfo.getInlongGroupId();
+        List<InlongStream> streamList = fetchInlongStreams(inlongGroupId);
+        streamList.forEach(groupContext::setStream);
+        return new InlongGroupInfo(groupContext, groupConf);
+    }
+
+    private List<InlongStream> fetchInlongStreams(String groupId) {
+        List<FullStreamResponse> streamResponses = managerClient.listStreamInfo(groupId);
+        List<InlongStream> streamList = new ArrayList<>();
+        if (CollectionUtils.isNotEmpty(streamResponses)) {
+            streamList = streamResponses.stream().map(InlongStreamImpl::new).collect(Collectors.toList());
+        }
+        return streamList;
+    }
+
+}
diff --git a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/impl/DataStreamImpl.java b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/impl/InlongStreamImpl.java
similarity index 67%
rename from inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/impl/DataStreamImpl.java
rename to inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/impl/InlongStreamImpl.java
index 3e8f6ae..9cff016 100644
--- a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/impl/DataStreamImpl.java
+++ b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/impl/InlongStreamImpl.java
@@ -17,25 +17,28 @@
 
 package org.apache.inlong.manager.client.api.impl;
 
-import java.util.List;
-import java.util.stream.Collectors;
 import lombok.AllArgsConstructor;
 import lombok.Data;
+import lombok.EqualsAndHashCode;
 import org.apache.commons.collections.CollectionUtils;
-import org.apache.inlong.manager.client.api.DataStream;
+import org.apache.inlong.manager.client.api.InlongStream;
 import org.apache.inlong.manager.client.api.StreamField;
 import org.apache.inlong.manager.client.api.StreamField.FieldType;
 import org.apache.inlong.manager.client.api.StreamSink;
 import org.apache.inlong.manager.client.api.StreamSource;
-import org.apache.inlong.manager.client.api.util.DataStreamTransfer;
-import org.apache.inlong.manager.common.pojo.datastorage.StorageResponse;
-import org.apache.inlong.manager.common.pojo.datastream.DataStreamFieldInfo;
-import org.apache.inlong.manager.common.pojo.datastream.DataStreamInfo;
-import org.apache.inlong.manager.common.pojo.datastream.FullStreamResponse;
+import org.apache.inlong.manager.client.api.util.InlongStreamTransfer;
+import org.apache.inlong.manager.common.pojo.sink.SinkResponse;
+import org.apache.inlong.manager.common.pojo.stream.FullStreamResponse;
+import org.apache.inlong.manager.common.pojo.stream.InlongStreamFieldInfo;
+import org.apache.inlong.manager.common.pojo.stream.InlongStreamInfo;
+
+import java.util.List;
+import java.util.stream.Collectors;
 
 @Data
+@EqualsAndHashCode(callSuper = true)
 @AllArgsConstructor
-public class DataStreamImpl extends DataStream {
+public class InlongStreamImpl extends InlongStream {
 
     private String name;
 
@@ -45,10 +48,10 @@ public class DataStreamImpl extends DataStream {
 
     private List<StreamField> streamFields;
 
-    public DataStreamImpl(FullStreamResponse fullStreamResponse) {
-        DataStreamInfo streamInfo = fullStreamResponse.getStreamInfo();
+    public InlongStreamImpl(FullStreamResponse fullStreamResponse) {
+        InlongStreamInfo streamInfo = fullStreamResponse.getStreamInfo();
         this.name = streamInfo.getName();
-        List<DataStreamFieldInfo> streamFieldInfos = streamInfo.getFieldList();
+        List<InlongStreamFieldInfo> streamFieldInfos = streamInfo.getFieldList();
         this.streamFields = streamFieldInfos.stream().map(streamFieldInfo -> {
             return new StreamField(streamFieldInfo.getId(),
                     FieldType.forName(streamFieldInfo.getFieldType()),
@@ -57,14 +60,14 @@ public class DataStreamImpl extends DataStream {
                     streamFieldInfo.getFieldValue()
             );
         }).collect(Collectors.toList());
-        List<StorageResponse> storages = fullStreamResponse.getStorageInfo();
-        if (CollectionUtils.isNotEmpty(storages)) {
-            this.streamSink = DataStreamTransfer.parseStreamSink(storages.get(0));
+        List<SinkResponse> sinkList = fullStreamResponse.getSinkInfo();
+        if (CollectionUtils.isNotEmpty(sinkList)) {
+            this.streamSink = InlongStreamTransfer.parseStreamSink(sinkList.get(0));
         }
-        //todo generate source
+        // todo generate source
     }
 
-    public DataStreamImpl(String name) {
+    public InlongStreamImpl(String name) {
         this.name = name;
     }
 
@@ -79,7 +82,8 @@ public class DataStreamImpl extends DataStream {
     }
 
     @Override
-    public StreamSink getStorage() {
+    public StreamSink getSink() {
         return this.streamSink;
     }
+
 }
diff --git a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/inner/InnerGroupContext.java b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/inner/InnerGroupContext.java
index 2391153..6b87918 100644
--- a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/inner/InnerGroupContext.java
+++ b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/inner/InnerGroupContext.java
@@ -24,39 +24,39 @@ import lombok.Data;
 import lombok.NoArgsConstructor;
 import org.apache.commons.collections.MapUtils;
 import org.apache.commons.lang3.tuple.Pair;
-import org.apache.inlong.manager.client.api.DataStream;
+import org.apache.inlong.manager.client.api.InlongStream;
 import org.apache.inlong.manager.client.api.util.AssertUtil;
-import org.apache.inlong.manager.common.pojo.business.BusinessApproveInfo;
-import org.apache.inlong.manager.common.pojo.business.BusinessInfo;
-import org.apache.inlong.manager.common.pojo.datastream.DataStreamApproveInfo;
+import org.apache.inlong.manager.common.pojo.group.InlongGroupApproveRequest;
+import org.apache.inlong.manager.common.pojo.group.InlongGroupRequest;
+import org.apache.inlong.manager.common.pojo.stream.InlongStreamApproveRequest;
 
 @Data
 @NoArgsConstructor
 public class InnerGroupContext {
 
-    private BusinessInfo businessInfo;
+    private InlongGroupRequest groupInfo;
 
     private Map<String, InnerStreamContext> streamContextMap;
 
-    private Map<String, DataStream> streamMap;
+    private Map<String, InlongStream> streamMap;
 
-    private Pair<BusinessApproveInfo, List<DataStreamApproveInfo>> initMsg;
+    private Pair<InlongGroupApproveRequest, List<InlongStreamApproveRequest>> initMsg;
 
     public String getGroupId() {
-        AssertUtil.notNull(businessInfo, "BusinessInfo is not init");
-        return businessInfo.getInlongGroupId();
+        AssertUtil.notNull(groupInfo, "InlongGroupRequest is not init");
+        return groupInfo.getInlongGroupId();
     }
 
     public void setStreamContext(InnerStreamContext streamContext) {
-        AssertUtil.isTrue(streamContext != null && streamContext.getDataStreamInfo() != null,
+        AssertUtil.isTrue(streamContext != null && streamContext.getStreamInfo() != null,
                 "StreamContext should not be null");
         if (MapUtils.isEmpty(streamContextMap)) {
             streamContextMap = Maps.newHashMap();
         }
-        streamContextMap.put(streamContext.getDataStreamInfo().getName(), streamContext);
+        streamContextMap.put(streamContext.getStreamInfo().getName(), streamContext);
     }
 
-    public void setStream(DataStream stream) {
+    public void setStream(InlongStream stream) {
         AssertUtil.isTrue(stream != null,
                 "Stream should not be null");
         if (MapUtils.isEmpty(streamMap)) {
diff --git a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/inner/InnerInlongManagerClient.java b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/inner/InnerInlongManagerClient.java
index fc7f495..3e22443 100644
--- a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/inner/InnerInlongManagerClient.java
+++ b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/inner/InnerInlongManagerClient.java
@@ -20,8 +20,6 @@ package org.apache.inlong.manager.client.api.inner;
 import com.alibaba.fastjson.JSONObject;
 import com.github.pagehelper.PageInfo;
 import com.google.common.collect.Lists;
-import java.util.List;
-import org.apache.commons.lang3.tuple.Pair;
 import lombok.extern.slf4j.Slf4j;
 import okhttp3.Call;
 import okhttp3.MediaType;
@@ -30,23 +28,26 @@ import okhttp3.Request;
 import okhttp3.RequestBody;
 import okhttp3.Response;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.tuple.Pair;
 import org.apache.inlong.manager.client.api.ClientConfiguration;
-import org.apache.inlong.manager.client.api.DataStreamGroupInfo.GroupState;
+import org.apache.inlong.manager.client.api.InlongGroupInfo.GroupState;
 import org.apache.inlong.manager.client.api.auth.Authentication;
 import org.apache.inlong.manager.client.api.auth.DefaultAuthentication;
 import org.apache.inlong.manager.client.api.impl.InlongClientImpl;
 import org.apache.inlong.manager.client.api.util.AssertUtil;
 import org.apache.inlong.manager.client.api.util.GsonUtil;
 import org.apache.inlong.manager.client.api.util.InlongParser;
-import org.apache.inlong.manager.common.pojo.business.BusinessApproveInfo;
-import org.apache.inlong.manager.common.pojo.business.BusinessInfo;
-import org.apache.inlong.manager.common.pojo.datastorage.StorageRequest;
-import org.apache.inlong.manager.common.pojo.datastream.DataStreamApproveInfo;
-import org.apache.inlong.manager.common.pojo.datastream.DataStreamInfo;
-import org.apache.inlong.manager.common.pojo.datastream.FullStreamResponse;
+import org.apache.inlong.manager.common.pojo.group.InlongGroupApproveRequest;
+import org.apache.inlong.manager.common.pojo.group.InlongGroupRequest;
+import org.apache.inlong.manager.common.pojo.sink.SinkRequest;
+import org.apache.inlong.manager.common.pojo.stream.FullStreamResponse;
+import org.apache.inlong.manager.common.pojo.stream.InlongStreamApproveRequest;
+import org.apache.inlong.manager.common.pojo.stream.InlongStreamInfo;
 import org.apache.inlong.manager.common.pojo.workflow.WorkflowResult;
 import org.apache.inlong.manager.common.util.JsonUtils;
 
+import java.util.List;
+
 /**
  * InnerInlongManagerClient is used to invoke http api of inlong manager.
  */
@@ -84,12 +85,12 @@ public class InnerInlongManagerClient {
                 .build();
     }
 
-    public Pair<Boolean, BusinessInfo> isBusinessExists(BusinessInfo businessInfo) {
-        String inlongGroupId = businessInfo.getInlongGroupId();
+    public Pair<Boolean, InlongGroupRequest> isGroupExists(InlongGroupRequest groupInfo) {
+        String inlongGroupId = groupInfo.getInlongGroupId();
         if (StringUtils.isEmpty(inlongGroupId)) {
-            inlongGroupId = "b_" + businessInfo.getName();
+            inlongGroupId = "b_" + groupInfo.getName();
         }
-        BusinessInfo currentBizInfo = getBusinessInfo(inlongGroupId);
+        InlongGroupRequest currentBizInfo = getGroupInfo(inlongGroupId);
         if (currentBizInfo != null) {
             return Pair.of(true, currentBizInfo);
         } else {
@@ -97,11 +98,11 @@ public class InnerInlongManagerClient {
         }
     }
 
-    public BusinessInfo getBusinessInfo(String inlongGroupId) {
+    public InlongGroupRequest getGroupInfo(String inlongGroupId) {
         if (StringUtils.isEmpty(inlongGroupId)) {
             throw new IllegalArgumentException("InlongGroupId should not be empty");
         }
-        String path = HTTP_PATH + "/business/get/" + inlongGroupId;
+        String path = HTTP_PATH + "/group/get/" + inlongGroupId;
         RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), "");
         final String url = formatUrl(path);
         Request request = new Request.Builder()
@@ -112,22 +113,26 @@ public class InnerInlongManagerClient {
         Call call = httpClient.newCall(request);
         try {
             Response response = call.execute();
+            assert response.body() != null;
             String body = response.body().string();
-            AssertUtil.isTrue(response.isSuccessful(), String.format("Inlong request failed:%s", body));
+            AssertUtil.isTrue(response.isSuccessful(), String.format("Inlong request failed: %s", body));
             org.apache.inlong.manager.common.beans.Response responseBody = InlongParser.parseResponse(body);
-            if (responseBody.getErrMsg() != null && responseBody.getErrMsg().contains("Business does not exist")) {
+            if (responseBody.getErrMsg() != null && responseBody.getErrMsg().contains("Inlong group does not exist")) {
                 return null;
             } else {
-                return InlongParser.parseBusinessInfo(responseBody);
+                return InlongParser.parseGroupInfo(responseBody);
             }
         } catch (Exception e) {
-            throw new RuntimeException(String.format("Inlong business get failed with ex:%s", e.getMessage()), e);
+            throw new RuntimeException(String.format("Inlong group get failed: %s", e.getMessage()), e);
         }
     }
 
-    public String createBusinessInfo(BusinessInfo businessInfo) {
-        String path = HTTP_PATH + "/business/save";
-        final String biz = JsonUtils.toJson(businessInfo);
+    /**
+     * Create inlong group
+     */
+    public String createGroupInfo(InlongGroupRequest groupInfo) {
+        String path = HTTP_PATH + "/group/save";
+        final String biz = JsonUtils.toJson(groupInfo);
         final RequestBody bizBody = RequestBody.create(MediaType.parse("application/json"), biz);
         final String url = formatUrl(path);
         Request request = new Request.Builder()
@@ -138,26 +143,26 @@ public class InnerInlongManagerClient {
         Call call = httpClient.newCall(request);
         try {
             Response response = call.execute();
+            assert response.body() != null;
             String body = response.body().string();
-            AssertUtil.isTrue(response.isSuccessful(), String.format("Inlong request failed:%s", body));
+            AssertUtil.isTrue(response.isSuccessful(), String.format("Inlong request failed: %s", body));
             org.apache.inlong.manager.common.beans.Response responseBody = InlongParser.parseResponse(body);
             AssertUtil.isTrue(responseBody.getErrMsg() == null,
-                    String.format("Inlong request failed:%s", responseBody.getErrMsg()));
+                    String.format("Inlong request failed: %s", responseBody.getErrMsg()));
             return responseBody.getData().toString();
         } catch (Exception e) {
-            throw new RuntimeException(String.format("Inlong stream group save failed with ex:%s", e.getMessage()), e);
+            throw new RuntimeException(String.format("inlong group save failed: %s", e.getMessage()), e);
         }
     }
 
     /**
-     * Update business Info
+     * Update inlong group info
      *
-     * @param businessInfo
      * @return groupId && errMsg
      */
-    public Pair<String, String> updateBusinessInfo(BusinessInfo businessInfo) {
-        String path = HTTP_PATH + "/business/update";
-        final String biz = JsonUtils.toJson(businessInfo);
+    public Pair<String, String> updateGroupInfo(InlongGroupRequest groupInfo) {
+        String path = HTTP_PATH + "/group/update";
+        final String biz = JsonUtils.toJson(groupInfo);
         final RequestBody bizBody = RequestBody.create(MediaType.parse("application/json"), biz);
         final String url = formatUrl(path);
         Request request = new Request.Builder()
@@ -168,17 +173,18 @@ public class InnerInlongManagerClient {
         Call call = httpClient.newCall(request);
         try {
             Response response = call.execute();
+            assert response.body() != null;
             String body = response.body().string();
-            AssertUtil.isTrue(response.isSuccessful(), String.format("Inlong request failed:%s", body));
+            AssertUtil.isTrue(response.isSuccessful(), String.format("Inlong request failed: %s", body));
             org.apache.inlong.manager.common.beans.Response responseBody = InlongParser.parseResponse(body);
             return Pair.of(responseBody.getData().toString(), responseBody.getErrMsg());
         } catch (Exception e) {
-            throw new RuntimeException(String.format("Inlong stream group save failed with ex:%s", e.getMessage()), e);
+            throw new RuntimeException(String.format("inlong group save failed: %s", e.getMessage()), e);
         }
     }
 
-    public String createStreamInfo(DataStreamInfo streamInfo) {
-        String path = HTTP_PATH + "/datastream/save";
+    public String createStreamInfo(InlongStreamInfo streamInfo) {
+        String path = HTTP_PATH + "/stream/save";
         final String stream = JsonUtils.toJson(streamInfo);
         final RequestBody streamBody = RequestBody.create(MediaType.parse("application/json"), stream);
         final String url = formatUrl(path);
@@ -190,19 +196,20 @@ public class InnerInlongManagerClient {
         Call call = httpClient.newCall(request);
         try {
             Response response = call.execute();
+            assert response.body() != null;
             String body = response.body().string();
-            AssertUtil.isTrue(response.isSuccessful(), String.format("Inlong request failed:%s", body));
+            AssertUtil.isTrue(response.isSuccessful(), String.format("Inlong request failed: %s", body));
             org.apache.inlong.manager.common.beans.Response responseBody = InlongParser.parseResponse(body);
             AssertUtil.isTrue(responseBody.getErrMsg() == null,
-                    String.format("Inlong request failed:%s", responseBody.getErrMsg()));
+                    String.format("Inlong request failed: %s", responseBody.getErrMsg()));
             return responseBody.getData().toString();
         } catch (Exception e) {
-            throw new RuntimeException(String.format("Inlong stream save failed with ex:%s", e.getMessage()), e);
+            throw new RuntimeException(String.format("Inlong stream save failed: %s", e.getMessage()), e);
         }
     }
 
     public List<FullStreamResponse> listStreamInfo(String inlongGroupId) {
-        final String path = HTTP_PATH + "/datastream/listAll";
+        final String path = HTTP_PATH + "/stream/listAll";
         String url = formatUrl(path);
         url = url + "&inlongGroupId=" + inlongGroupId;
         Request request = new Request.Builder().get()
@@ -212,45 +219,47 @@ public class InnerInlongManagerClient {
         Call call = httpClient.newCall(request);
         try {
             Response response = call.execute();
+            assert response.body() != null;
             String body = response.body().string();
-            AssertUtil.isTrue(response.isSuccessful(), String.format("Inlong request failed:%s", body));
+            AssertUtil.isTrue(response.isSuccessful(), String.format("Inlong request failed: %s", body));
             org.apache.inlong.manager.common.beans.Response responseBody = InlongParser.parseResponse(body);
             AssertUtil.isTrue(responseBody.getErrMsg() == null,
-                    String.format("Inlong request failed:%s", responseBody.getErrMsg()));
+                    String.format("Inlong request failed: %s", responseBody.getErrMsg()));
             PageInfo<FullStreamResponse> pageInfo = InlongParser.parseStreamList(responseBody);
             return pageInfo.getList();
         } catch (Exception e) {
-            throw new RuntimeException(String.format("List inlong streams failed with ex:%s", e.getMessage()), e);
+            throw new RuntimeException(String.format("List inlong streams failed: %s", e.getMessage()), e);
         }
     }
 
-    public String createStorage(StorageRequest storageRequest) {
-        String path = HTTP_PATH + "/storage/save";
-        final String storage = JsonUtils.toJson(storageRequest);
-        final RequestBody storageBody = RequestBody.create(MediaType.parse("application/json"), storage);
+    public String createSink(SinkRequest sinkRequest) {
+        String path = HTTP_PATH + "/sink/save";
+        final String sink = JsonUtils.toJson(sinkRequest);
+        final RequestBody sinkBody = RequestBody.create(MediaType.parse("application/json"), sink);
         final String url = formatUrl(path);
         Request request = new Request.Builder()
                 .url(url)
-                .method("POST", storageBody)
+                .method("POST", sinkBody)
                 .build();
 
         Call call = httpClient.newCall(request);
         try {
             Response response = call.execute();
+            assert response.body() != null;
             String body = response.body().string();
-            AssertUtil.isTrue(response.isSuccessful(), String.format("Inlong request failed:%s", body));
+            AssertUtil.isTrue(response.isSuccessful(), String.format("Inlong request failed: %s", body));
             org.apache.inlong.manager.common.beans.Response responseBody = InlongParser.parseResponse(body);
             AssertUtil.isTrue(responseBody.getErrMsg() == null,
-                    String.format("Inlong request failed:%s", responseBody.getErrMsg()));
+                    String.format("Inlong request failed: %s", responseBody.getErrMsg()));
             return responseBody.getData().toString();
         } catch (Exception e) {
-            throw new RuntimeException(String.format("Inlong storage save failed with ex:%s", e.getMessage()), e);
+            throw new RuntimeException(String.format("Inlong sink save failed: %s", e.getMessage()), e);
         }
     }
 
-    public WorkflowResult initBusinessGroup(BusinessInfo businessInfo) {
-        final String groupId = businessInfo.getInlongGroupId();
-        String path = HTTP_PATH + "/business/startProcess/" + groupId;
+    public WorkflowResult initInlongGroup(InlongGroupRequest groupInfo) {
+        final String groupId = groupInfo.getInlongGroupId();
+        String path = HTTP_PATH + "/group/startProcess/" + groupId;
         final String url = formatUrl(path);
 
         RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), "");
@@ -262,30 +271,30 @@ public class InnerInlongManagerClient {
         Call call = httpClient.newCall(request);
         try {
             Response response = call.execute();
+            assert response.body() != null;
             String body = response.body().string();
-            AssertUtil.isTrue(response.isSuccessful(), String.format("Inlong request failed:%s", body));
+            AssertUtil.isTrue(response.isSuccessful(), String.format("Inlong request failed: %s", body));
             org.apache.inlong.manager.common.beans.Response responseBody = InlongParser.parseResponse(body);
             AssertUtil.isTrue(responseBody.getErrMsg() == null,
-                    String.format("Inlong request failed:%s", responseBody.getErrMsg()));
-            WorkflowResult workflowResult = InlongParser.parseWorkflowResult(responseBody);
-            return workflowResult;
+                    String.format("Inlong request failed: %s", responseBody.getErrMsg()));
+            return InlongParser.parseWorkflowResult(responseBody);
         } catch (Exception e) {
-            throw new RuntimeException(String.format("Inlong business group init failed with ex:%s", e.getMessage()),
+            throw new RuntimeException(String.format("Inlong group init failed: %s", e.getMessage()),
                     e);
         }
     }
 
-    public WorkflowResult startBusinessGroup(int taskId,
-            Pair<BusinessApproveInfo, List<DataStreamApproveInfo>> initMsg) {
+    public WorkflowResult startInlongGroup(int taskId,
+            Pair<InlongGroupApproveRequest, List<InlongStreamApproveRequest>> initMsg) {
 
         JSONObject workflowTaskOperation = new JSONObject();
         workflowTaskOperation.put("transferTo", Lists.newArrayList());
-        workflowTaskOperation.put("remark", "approve by wedata");
-        JSONObject businessAdminApproveForm = new JSONObject();
-        businessAdminApproveForm.put("businessApproveInfo", initMsg.getKey());
-        businessAdminApproveForm.put("streamApproveInfoList", initMsg.getValue());
-        businessAdminApproveForm.put("formName", "BusinessAdminApproveForm");
-        workflowTaskOperation.put("form", businessAdminApproveForm);
+        workflowTaskOperation.put("remark", "approved by system");
+        JSONObject inlongGroupApproveForm = new JSONObject();
+        inlongGroupApproveForm.put("groupApproveInfo", initMsg.getKey());
+        inlongGroupApproveForm.put("streamApproveInfoList", initMsg.getValue());
+        inlongGroupApproveForm.put("formName", "InlongGroupApproveForm");
+        workflowTaskOperation.put("form", inlongGroupApproveForm);
         String operationData = GsonUtil.toJson(workflowTaskOperation);
         final String path = HTTP_PATH + "/workflow/approve/" + taskId;
         final String url = formatUrl(path);
@@ -298,27 +307,27 @@ public class InnerInlongManagerClient {
         Call call = httpClient.newCall(request);
         try {
             Response response = call.execute();
+            assert response.body() != null;
             String body = response.body().string();
-            AssertUtil.isTrue(response.isSuccessful(), String.format("Inlong request failed:%s", body));
+            AssertUtil.isTrue(response.isSuccessful(), String.format("Inlong request failed: %s", body));
             org.apache.inlong.manager.common.beans.Response responseBody = InlongParser.parseResponse(body);
             AssertUtil.isTrue(responseBody.getErrMsg() == null,
-                    String.format("Inlong request failed:%s", responseBody.getErrMsg()));
-            WorkflowResult workflowResult = InlongParser.parseWorkflowResult(responseBody);
-            return workflowResult;
+                    String.format("Inlong request failed: %s", responseBody.getErrMsg()));
+            return InlongParser.parseWorkflowResult(responseBody);
         } catch (Exception e) {
-            throw new RuntimeException(String.format("Inlong business start failed with ex:%s", e.getMessage()),
+            throw new RuntimeException(String.format("Inlong group start failed: %s", e.getMessage()),
                     e);
         }
     }
 
-    public boolean operateBusinessGroup(String groupId, GroupState state) {
+    public boolean operateInlongGroup(String groupId, GroupState status) {
         String path = HTTP_PATH;
-        if (state == GroupState.SUSPEND) {
-            path += "/business/suspendProcess/";
-        } else if (state == GroupState.RESTART) {
-            path += "/business/restartProcess/";
+        if (status == GroupState.SUSPEND) {
+            path += "/group/suspendProcess/";
+        } else if (status == GroupState.RESTART) {
+            path += "/group/restartProcess/";
         } else {
-            throw new IllegalArgumentException(String.format("Unsupport state: %s", state));
+            throw new IllegalArgumentException(String.format("Unsupported state: %s", status));
         }
         path += groupId;
         final String url = formatUrl(path);
@@ -331,23 +340,20 @@ public class InnerInlongManagerClient {
         Call call = httpClient.newCall(request);
         try {
             Response response = call.execute();
+            assert response.body() != null;
             String body = response.body().string();
-            AssertUtil.isTrue(response.isSuccessful(), String.format("Inlong request failed:%s", body));
+            AssertUtil.isTrue(response.isSuccessful(), String.format("Inlong request failed: %s", body));
             org.apache.inlong.manager.common.beans.Response responseBody = InlongParser.parseResponse(body);
             String errMsg = responseBody.getErrMsg();
-            if (errMsg != null && errMsg.contains("current status was not allowed")) {
-                return false;
-            } else {
-                return true;
-            }
+            return errMsg == null || !errMsg.contains("current status was not allowed");
         } catch (Exception e) {
             throw new RuntimeException(
-                    String.format("Inlong business group operate :%s failed with ex:%s", state, e.getMessage()), e);
+                    String.format("Inlong group operate: %s failed with ex: %s", status, e.getMessage()), e);
         }
     }
 
-    public boolean deleteBusinessGroup(String groupId) {
-        final String path = HTTP_PATH + "/business/delete/" + groupId;
+    public boolean deleteInlongGroup(String groupId) {
+        final String path = HTTP_PATH + "/group/delete/" + groupId;
         final String url = formatUrl(path);
         RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), "");
         Request request = new Request.Builder()
@@ -358,15 +364,16 @@ public class InnerInlongManagerClient {
         Call call = httpClient.newCall(request);
         try {
             Response response = call.execute();
+            assert response.body() != null;
             String body = response.body().string();
-            AssertUtil.isTrue(response.isSuccessful(), String.format("Inlong request failed:%s", body));
+            AssertUtil.isTrue(response.isSuccessful(), String.format("Inlong request failed: %s", body));
             org.apache.inlong.manager.common.beans.Response responseBody = InlongParser.parseResponse(body);
             AssertUtil.isTrue(responseBody.getErrMsg() == null,
-                    String.format("Inlong request failed:%s", responseBody.getErrMsg()));
-            return Boolean.valueOf(responseBody.getData().toString());
+                    String.format("Inlong request failed: %s", responseBody.getErrMsg()));
+            return Boolean.parseBoolean(responseBody.getData().toString());
         } catch (Exception e) {
             throw new RuntimeException(
-                    String.format("Inlong business group delete failed with ex:%s", e.getMessage()), e);
+                    String.format("Inlong group delete failed: %s", e.getMessage()), e);
         }
     }
 
diff --git a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/inner/InnerStreamContext.java b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/inner/InnerStreamContext.java
index 5518a26..7dac32b 100644
--- a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/inner/InnerStreamContext.java
+++ b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/inner/InnerStreamContext.java
@@ -20,9 +20,9 @@ package org.apache.inlong.manager.client.api.inner;
 import java.util.List;
 import lombok.Data;
 import lombok.NoArgsConstructor;
-import org.apache.inlong.manager.common.pojo.datastorage.StorageRequest;
-import org.apache.inlong.manager.common.pojo.datastream.DataStreamFieldInfo;
-import org.apache.inlong.manager.common.pojo.datastream.DataStreamInfo;
+import org.apache.inlong.manager.common.pojo.sink.SinkRequest;
+import org.apache.inlong.manager.common.pojo.stream.InlongStreamFieldInfo;
+import org.apache.inlong.manager.common.pojo.stream.InlongStreamInfo;
 
 @Data
 @NoArgsConstructor
@@ -30,16 +30,16 @@ public class InnerStreamContext {
 
     //todo add SourceRequest
 
-    private DataStreamInfo dataStreamInfo;
+    private InlongStreamInfo streamInfo;
 
-    private StorageRequest storageRequest;
+    private SinkRequest sinkRequest;
 
-    public InnerStreamContext(DataStreamInfo dataStreamInfo) {
-        this.dataStreamInfo = dataStreamInfo;
+    public InnerStreamContext(InlongStreamInfo streamInfo) {
+        this.streamInfo = streamInfo;
     }
 
-    public void updateStreamFields(List<DataStreamFieldInfo> fieldInfoList) {
-        dataStreamInfo.setFieldList(fieldInfoList);
+    public void updateStreamFields(List<InlongStreamFieldInfo> fieldInfoList) {
+        streamInfo.setFieldList(fieldInfoList);
     }
 
 }
diff --git a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/util/DataStreamTransfer.java b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/util/DataStreamTransfer.java
deleted file mode 100644
index 904619a..0000000
--- a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/util/DataStreamTransfer.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.inlong.manager.client.api.util;
-
-import java.nio.charset.Charset;
-import java.util.List;
-import java.util.stream.Collectors;
-import org.apache.commons.collections.CollectionUtils;
-import org.apache.inlong.manager.client.api.DataSeparator;
-import org.apache.inlong.manager.client.api.DataStreamConf;
-import org.apache.inlong.manager.client.api.HiveSink;
-import org.apache.inlong.manager.client.api.HiveSink.FileFormat;
-import org.apache.inlong.manager.client.api.StreamField;
-import org.apache.inlong.manager.client.api.StreamField.FieldType;
-import org.apache.inlong.manager.client.api.StreamSink;
-import org.apache.inlong.manager.client.api.StreamSink.SinkType;
-import org.apache.inlong.manager.client.api.auth.DefaultAuthentication;
-import org.apache.inlong.manager.common.pojo.business.BusinessInfo;
-import org.apache.inlong.manager.common.pojo.datastorage.StorageFieldRequest;
-import org.apache.inlong.manager.common.pojo.datastorage.StorageRequest;
-import org.apache.inlong.manager.common.pojo.datastorage.StorageResponse;
-import org.apache.inlong.manager.common.pojo.datastorage.hive.HiveStorageRequest;
-import org.apache.inlong.manager.common.pojo.datastorage.hive.HiveStorageResponse;
-import org.apache.inlong.manager.common.pojo.datastream.DataStreamFieldInfo;
-import org.apache.inlong.manager.common.pojo.datastream.DataStreamInfo;
-
-public class DataStreamTransfer {
-
-    public static DataStreamInfo createDataStreamInfo(DataStreamConf streamConf, BusinessInfo businessInfo) {
-        DataStreamInfo dataStreamInfo = new DataStreamInfo();
-        dataStreamInfo.setInlongGroupId(businessInfo.getInlongGroupId());
-        dataStreamInfo.setInlongStreamId("b_" + streamConf.getName());
-        dataStreamInfo.setName(streamConf.getName());
-        dataStreamInfo.setDataEncoding(streamConf.getCharset().name());
-        dataStreamInfo.setMqResourceObj(businessInfo.getName() + "_" + streamConf.getName());
-        dataStreamInfo.setDataSeparator(String.valueOf(streamConf.getDataSeparator().getAsciiCode()));
-        dataStreamInfo.setDescription(streamConf.getDescription());
-        dataStreamInfo.setCreator(businessInfo.getCreator());
-        dataStreamInfo.setDailyRecords(streamConf.getDailyRecords());
-        dataStreamInfo.setDailyStorage(streamConf.getDailyStorage());
-        dataStreamInfo.setPeakRecords(streamConf.getPeakRecords());
-        dataStreamInfo.setHavePredefinedFields(0);
-        return dataStreamInfo;
-    }
-
-    public static List<DataStreamFieldInfo> createStreamFields(List<StreamField> fieldList, DataStreamInfo streamInfo) {
-        List<DataStreamFieldInfo> fieldInfos = fieldList.stream().map(streamField -> {
-            DataStreamFieldInfo fieldInfo = new DataStreamFieldInfo();
-            fieldInfo.setInlongStreamId(streamInfo.getInlongStreamId());
-            fieldInfo.setInlongGroupId(streamInfo.getInlongGroupId());
-            fieldInfo.setFieldName(streamField.getFieldName());
-            fieldInfo.setFieldType(streamField.getFieldType().toString());
-            fieldInfo.setFieldComment(streamField.getFieldComment());
-            fieldInfo.setFieldValue(streamField.getFieldValue());
-            return fieldInfo;
-        }).collect(Collectors.toList());
-        return fieldInfos;
-    }
-
-    public static StorageRequest createStorageRequest(StreamSink streamSink, DataStreamInfo streamInfo) {
-        SinkType sinkType = streamSink.getSinkType();
-        if (sinkType == SinkType.HIVE) {
-            return createHiveRequest(streamSink, streamInfo);
-        } else {
-            throw new IllegalArgumentException(String.format("Unsupport sink type : %s for Inlong", sinkType));
-        }
-    }
-
-    public static StreamSink parseStreamSink(StorageResponse storageResponse) {
-        String storageType = storageResponse.getStorageType();
-        if ("HIVE".equals(storageType)) {
-            return parseHiveSink((HiveStorageResponse) storageResponse);
-        } else {
-            throw new IllegalArgumentException(String.format("Unsupport storage type : %s for Inlong", storageType));
-        }
-    }
-
-    private static HiveStorageRequest createHiveRequest(StreamSink streamSink, DataStreamInfo streamInfo) {
-        HiveStorageRequest hiveStorageRequest = new HiveStorageRequest();
-        HiveSink hiveSink = (HiveSink) streamSink;
-        hiveStorageRequest.setInlongGroupId(streamInfo.getInlongGroupId());
-        hiveStorageRequest.setInlongStreamId(streamInfo.getInlongStreamId());
-        hiveStorageRequest.setDataEncoding(hiveSink.getCharset().name());
-        hiveStorageRequest.setEnableCreateTable(hiveSink.isNeedCreated() ? 1 : 0);
-        hiveStorageRequest.setDataSeparator(String.valueOf(hiveSink.getDataSeparator().getAsciiCode()));
-        hiveStorageRequest.setDbName(hiveSink.getDbName());
-        hiveStorageRequest.setTableName(hiveSink.getTableName());
-        hiveStorageRequest.setHdfsDefaultFs(hiveSink.getHdfsDefaultFs());
-        hiveStorageRequest.setJdbcUrl(hiveSink.getJdbcUrl());
-        hiveStorageRequest.setWarehouseDir(hiveSink.getWarehouseDir());
-        hiveStorageRequest.setFileFormat(hiveSink.getFileFormat().name());
-        DefaultAuthentication defaultAuthentication = hiveSink.getAuthentication();
-        AssertUtil.notNull(defaultAuthentication,
-                String.format("Hive storage:%s must be authenticated", hiveSink.getDbName()));
-        hiveStorageRequest.setUsername(defaultAuthentication.getUserName());
-        hiveStorageRequest.setPassword(defaultAuthentication.getPassword());
-        hiveStorageRequest.setPrimaryPartition(hiveSink.getPrimaryPartition());
-        hiveStorageRequest.setSecondaryPartition(hiveSink.getSecondaryPartition());
-        if (CollectionUtils.isNotEmpty(hiveSink.getStreamFields())) {
-            List<StorageFieldRequest> fieldRequests = hiveSink.getStreamFields()
-                    .stream()
-                    .map(streamField -> {
-                        StorageFieldRequest storageFieldRequest = new StorageFieldRequest();
-                        storageFieldRequest.setFieldName(streamField.getFieldName());
-                        storageFieldRequest.setFieldType(streamField.getFieldType().toString());
-                        storageFieldRequest.setFieldComment(streamField.getFieldComment());
-                        return storageFieldRequest;
-                    })
-                    .collect(Collectors.toList());
-        }
-        return hiveStorageRequest;
-    }
-
-    private static HiveSink parseHiveSink(HiveStorageResponse hiveStorage) {
-        HiveSink hiveSink = new HiveSink();
-        hiveSink.setSinkType(SinkType.HIVE);
-        int asciiCode = Integer.parseInt(hiveStorage.getDataSeparator());
-        hiveSink.setDataSeparator(DataSeparator.getByAscii(asciiCode));
-        hiveSink.setCharset(Charset.forName(hiveStorage.getDataEncoding()));
-        hiveSink.setDbName(hiveStorage.getDbName());
-        hiveSink.setTableName(hiveStorage.getTableName());
-        hiveSink.setFileFormat(FileFormat.forName(hiveStorage.getFileFormat()));
-        hiveSink.setJdbcUrl(hiveStorage.getJdbcUrl());
-        hiveSink.setHdfsDefaultFs(hiveStorage.getHdfsDefaultFs());
-        hiveSink.setWarehouseDir(hiveStorage.getWarehouseDir());
-        hiveSink.setAuthentication(new DefaultAuthentication(hiveStorage.getUsername(), hiveStorage.getPassword()));
-        hiveSink.setNeedCreated(hiveStorage.getEnableCreateResource() == 1);
-        hiveSink.setPrimaryPartition(hiveStorage.getPrimaryPartition());
-        hiveSink.setSecondaryPartition(hiveStorage.getSecondaryPartition());
-        if (CollectionUtils.isNotEmpty(hiveStorage.getFieldList())) {
-            List<StreamField> fieldList = hiveStorage.getFieldList()
-                    .stream()
-                    .map(storageFieldRequest -> {
-                        return new StreamField(storageFieldRequest.getId(),
-                                FieldType.forName(storageFieldRequest.getFieldType()),
-                                storageFieldRequest.getFieldName(),
-                                storageFieldRequest.getFieldComment(),
-                                null);
-                    }).collect(Collectors.toList());
-            hiveSink.setStreamFields(fieldList);
-        }
-        return hiveSink;
-    }
-
-}
diff --git a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/util/DataStreamGroupTransfer.java b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/util/InlongGroupTransfer.java
similarity index 61%
rename from inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/util/DataStreamGroupTransfer.java
rename to inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/util/InlongGroupTransfer.java
index a043c47..32c9bc2 100644
--- a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/util/DataStreamGroupTransfer.java
+++ b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/util/InlongGroupTransfer.java
@@ -18,12 +18,10 @@
 package org.apache.inlong.manager.client.api.util;
 
 import com.google.common.collect.Lists;
-import java.util.ArrayList;
-import java.util.List;
 import org.apache.commons.collections.MapUtils;
 import org.apache.commons.lang3.StringUtils;
-import org.apache.inlong.manager.client.api.DataStreamGroupConf;
 import org.apache.inlong.manager.client.api.FlinkSortBaseConf;
+import org.apache.inlong.manager.client.api.InlongGroupConf;
 import org.apache.inlong.manager.client.api.MqBaseConf;
 import org.apache.inlong.manager.client.api.MqBaseConf.MqType;
 import org.apache.inlong.manager.client.api.PulsarBaseConf;
@@ -33,36 +31,39 @@ import org.apache.inlong.manager.client.api.auth.Authentication;
 import org.apache.inlong.manager.client.api.auth.Authentication.AuthType;
 import org.apache.inlong.manager.client.api.auth.SecretTokenAuthentication;
 import org.apache.inlong.manager.client.api.auth.TokenAuthentication;
-import org.apache.inlong.manager.common.pojo.business.BusinessExtInfo;
-import org.apache.inlong.manager.common.pojo.business.BusinessInfo;
-import org.apache.inlong.manager.common.pojo.business.BusinessPulsarInfo;
-import org.apache.inlong.manager.common.settings.BusinessSettings;
+import org.apache.inlong.manager.common.pojo.group.InlongGroupExtInfo;
+import org.apache.inlong.manager.common.pojo.group.InlongGroupPulsarInfo;
+import org.apache.inlong.manager.common.pojo.group.InlongGroupRequest;
+import org.apache.inlong.manager.common.settings.InlongGroupSettings;
 import org.apache.inlong.manager.common.util.JsonUtils;
 
-public class DataStreamGroupTransfer {
+import java.util.ArrayList;
+import java.util.List;
+
+public class InlongGroupTransfer {
 
-    public static BusinessInfo createBusinessInfo(DataStreamGroupConf groupConf) {
-        BusinessInfo businessInfo = new BusinessInfo();
-        AssertUtil.hasLength(groupConf.getGroupName(), "StreamGroupName should not be empty");
-        businessInfo.setName(groupConf.getGroupName());
-        businessInfo.setCnName(groupConf.getCnName());
-        businessInfo.setDescription(groupConf.getDescription());
-        businessInfo.setDailyRecords(groupConf.getDailyRecords());
-        businessInfo.setPeakRecords(groupConf.getPeakRecords());
-        businessInfo.setMaxLength(groupConf.getMaxLength());
+    public static InlongGroupRequest createGroupInfo(InlongGroupConf groupConf) {
+        InlongGroupRequest groupInfo = new InlongGroupRequest();
+        AssertUtil.hasLength(groupConf.getGroupName(), "GroupName should not be empty");
+        groupInfo.setName(groupConf.getGroupName());
+        groupInfo.setCnName(groupConf.getCnName());
+        groupInfo.setDescription(groupConf.getDescription());
+        groupInfo.setDailyRecords(groupConf.getDailyRecords());
+        groupInfo.setPeakRecords(groupConf.getPeakRecords());
+        groupInfo.setMaxLength(groupConf.getMaxLength());
         MqBaseConf mqConf = groupConf.getMqBaseConf();
         MqType mqType = mqConf.getType();
-        businessInfo.setMiddlewareType(mqType.name());
-        businessInfo.setExtList(Lists.newArrayList());
-        businessInfo.setCreator(groupConf.getOperator());
+        groupInfo.setMiddlewareType(mqType.name());
+        groupInfo.setExtList(Lists.newArrayList());
+        groupInfo.setCreator(groupConf.getOperator());
         if (mqType == MqType.PULSAR) {
             PulsarBaseConf pulsarBaseConf = (PulsarBaseConf) mqConf;
-            businessInfo.setMqResourceObj(pulsarBaseConf.getNamespace());
-            BusinessPulsarInfo pulsarInfo = createPulsarInfo(pulsarBaseConf);
-            businessInfo.setMqExtInfo(pulsarInfo);
-            List<BusinessExtInfo> extInfos = createPulsarExtInfo(pulsarBaseConf);
-            businessInfo.getExtList().addAll(extInfos);
-            businessInfo.setTopicPartitionNum(pulsarBaseConf.getTopicPartitionNum());
+            groupInfo.setMqResourceObj(pulsarBaseConf.getNamespace());
+            InlongGroupPulsarInfo pulsarInfo = createPulsarInfo(pulsarBaseConf);
+            groupInfo.setMqExtInfo(pulsarInfo);
+            List<InlongGroupExtInfo> extInfos = createPulsarExtInfo(pulsarBaseConf);
+            groupInfo.getExtList().addAll(extInfos);
+            groupInfo.setTopicPartitionNum(pulsarBaseConf.getTopicPartitionNum());
         } else {
             // todo tubemq
         }
@@ -70,16 +71,16 @@ public class DataStreamGroupTransfer {
         SortType sortType = sortBaseConf.getType();
         if (sortType == SortType.FLINK) {
             FlinkSortBaseConf flinkSortBaseConf = (FlinkSortBaseConf) sortBaseConf;
-            List<BusinessExtInfo> sortExtInfos = createFlinkExtInfo(flinkSortBaseConf);
-            businessInfo.getExtList().addAll(sortExtInfos);
+            List<InlongGroupExtInfo> sortExtInfos = createFlinkExtInfo(flinkSortBaseConf);
+            groupInfo.getExtList().addAll(sortExtInfos);
         } else {
             //todo local
         }
-        return businessInfo;
+        return groupInfo;
     }
 
-    public static BusinessPulsarInfo createPulsarInfo(PulsarBaseConf pulsarBaseConf) {
-        BusinessPulsarInfo pulsarInfo = new BusinessPulsarInfo();
+    public static InlongGroupPulsarInfo createPulsarInfo(PulsarBaseConf pulsarBaseConf) {
+        InlongGroupPulsarInfo pulsarInfo = new InlongGroupPulsarInfo();
         pulsarInfo.setMiddlewareType(pulsarBaseConf.getType().name());
         pulsarInfo.setEnsemble(pulsarBaseConf.getEnsemble());
         pulsarInfo.setAckQuorum(pulsarBaseConf.getAckQuorum());
@@ -93,64 +94,64 @@ public class DataStreamGroupTransfer {
         return pulsarInfo;
     }
 
-    public static List<BusinessExtInfo> createPulsarExtInfo(PulsarBaseConf pulsarBaseConf) {
-        List<BusinessExtInfo> extInfos = new ArrayList<>();
+    public static List<InlongGroupExtInfo> createPulsarExtInfo(PulsarBaseConf pulsarBaseConf) {
+        List<InlongGroupExtInfo> extInfos = new ArrayList<>();
         if (pulsarBaseConf.getAuthentication() != null) {
             Authentication authentication = pulsarBaseConf.getAuthentication();
             AuthType authType = authentication.getAuthType();
             AssertUtil.isTrue(authType == AuthType.TOKEN,
                     String.format("Unsupported authentication:%s for pulsar", authType.name()));
             TokenAuthentication tokenAuthentication = (TokenAuthentication) authentication;
-            BusinessExtInfo authTypeExt = new BusinessExtInfo();
-            authTypeExt.setKeyName(BusinessSettings.PULSAR_AUTHENTICATION_TYPE);
+            InlongGroupExtInfo authTypeExt = new InlongGroupExtInfo();
+            authTypeExt.setKeyName(InlongGroupSettings.PULSAR_AUTHENTICATION_TYPE);
             authTypeExt.setKeyValue(tokenAuthentication.getAuthType().toString());
             extInfos.add(authTypeExt);
-            BusinessExtInfo authValue = new BusinessExtInfo();
-            authValue.setKeyName(BusinessSettings.PULSAR_AUTHENTICATION);
+            InlongGroupExtInfo authValue = new InlongGroupExtInfo();
+            authValue.setKeyName(InlongGroupSettings.PULSAR_AUTHENTICATION);
             authValue.setKeyValue(tokenAuthentication.getToken());
             extInfos.add(authValue);
         }
         if (StringUtils.isNotEmpty(pulsarBaseConf.getPulsarAdminUrl())) {
-            BusinessExtInfo pulsarAdminUrl = new BusinessExtInfo();
-            pulsarAdminUrl.setKeyName(BusinessSettings.PULSAR_ADMIN_URL);
+            InlongGroupExtInfo pulsarAdminUrl = new InlongGroupExtInfo();
+            pulsarAdminUrl.setKeyName(InlongGroupSettings.PULSAR_ADMIN_URL);
             pulsarAdminUrl.setKeyValue(pulsarBaseConf.getPulsarAdminUrl());
             extInfos.add(pulsarAdminUrl);
         }
         if (StringUtils.isNotEmpty(pulsarBaseConf.getPulsarServiceUrl())) {
-            BusinessExtInfo pulsarServiceUrl = new BusinessExtInfo();
-            pulsarServiceUrl.setKeyName(BusinessSettings.PULSAR_SERVICE_URL);
+            InlongGroupExtInfo pulsarServiceUrl = new InlongGroupExtInfo();
+            pulsarServiceUrl.setKeyName(InlongGroupSettings.PULSAR_SERVICE_URL);
             pulsarServiceUrl.setKeyValue(pulsarBaseConf.getPulsarServiceUrl());
             extInfos.add(pulsarServiceUrl);
         }
         return extInfos;
     }
 
-    public static List<BusinessExtInfo> createFlinkExtInfo(FlinkSortBaseConf flinkSortBaseConf) {
-        List<BusinessExtInfo> extInfos = new ArrayList<>();
+    public static List<InlongGroupExtInfo> createFlinkExtInfo(FlinkSortBaseConf flinkSortBaseConf) {
+        List<InlongGroupExtInfo> extInfos = new ArrayList<>();
         if (flinkSortBaseConf.getAuthentication() != null) {
             Authentication authentication = flinkSortBaseConf.getAuthentication();
             AuthType authType = authentication.getAuthType();
             AssertUtil.isTrue(authType == AuthType.SECRET_AND_TOKEN,
                     String.format("Unsupported authentication:%s for flink", authType.name()));
             final SecretTokenAuthentication secretTokenAuthentication = (SecretTokenAuthentication) authentication;
-            BusinessExtInfo authTypeExt = new BusinessExtInfo();
-            authTypeExt.setKeyName(BusinessSettings.SORT_AUTHENTICATION_TYPE);
+            InlongGroupExtInfo authTypeExt = new InlongGroupExtInfo();
+            authTypeExt.setKeyName(InlongGroupSettings.SORT_AUTHENTICATION_TYPE);
             authTypeExt.setKeyValue(authType.toString());
             extInfos.add(authTypeExt);
-            BusinessExtInfo authValue = new BusinessExtInfo();
-            authValue.setKeyName(BusinessSettings.SORT_AUTHENTICATION);
+            InlongGroupExtInfo authValue = new InlongGroupExtInfo();
+            authValue.setKeyName(InlongGroupSettings.SORT_AUTHENTICATION);
             authValue.setKeyValue(secretTokenAuthentication.toString());
             extInfos.add(authValue);
         }
         if (StringUtils.isNotEmpty(flinkSortBaseConf.getServiceUrl())) {
-            BusinessExtInfo flinkUrl = new BusinessExtInfo();
-            flinkUrl.setKeyName(BusinessSettings.SORT_URL);
+            InlongGroupExtInfo flinkUrl = new InlongGroupExtInfo();
+            flinkUrl.setKeyName(InlongGroupSettings.SORT_URL);
             flinkUrl.setKeyValue(flinkSortBaseConf.getServiceUrl());
             extInfos.add(flinkUrl);
         }
         if (MapUtils.isNotEmpty(flinkSortBaseConf.getProperties())) {
-            BusinessExtInfo flinkProperties = new BusinessExtInfo();
-            flinkProperties.setKeyValue(BusinessSettings.SORT_PROPERTIES);
+            InlongGroupExtInfo flinkProperties = new InlongGroupExtInfo();
+            flinkProperties.setKeyValue(InlongGroupSettings.SORT_PROPERTIES);
             flinkProperties.setKeyValue(JsonUtils.toJson(flinkSortBaseConf.getProperties()));
             extInfos.add(flinkProperties);
         }
diff --git a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/util/InlongParser.java b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/util/InlongParser.java
index 3690367..91096c4 100644
--- a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/util/InlongParser.java
+++ b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/util/InlongParser.java
@@ -21,16 +21,20 @@ import com.github.pagehelper.PageInfo;
 import com.google.common.reflect.TypeToken;
 import com.google.gson.JsonArray;
 import com.google.gson.JsonObject;
-import java.util.List;
 import org.apache.commons.lang3.tuple.Pair;
 import org.apache.inlong.manager.common.beans.Response;
-import org.apache.inlong.manager.common.pojo.business.BusinessApproveInfo;
-import org.apache.inlong.manager.common.pojo.business.BusinessInfo;
-import org.apache.inlong.manager.common.pojo.business.BusinessPulsarInfo;
-import org.apache.inlong.manager.common.pojo.datastream.DataStreamApproveInfo;
-import org.apache.inlong.manager.common.pojo.datastream.FullStreamResponse;
+import org.apache.inlong.manager.common.pojo.group.InlongGroupApproveRequest;
+import org.apache.inlong.manager.common.pojo.group.InlongGroupPulsarInfo;
+import org.apache.inlong.manager.common.pojo.group.InlongGroupRequest;
+import org.apache.inlong.manager.common.pojo.stream.FullStreamResponse;
+import org.apache.inlong.manager.common.pojo.stream.InlongStreamApproveRequest;
 import org.apache.inlong.manager.common.pojo.workflow.WorkflowResult;
 
+import java.util.List;
+
+/**
+ * Parser for Inlong entity
+ */
 public class InlongParser {
 
     public static Response parseResponse(String responseBody) {
@@ -40,14 +44,12 @@ public class InlongParser {
 
     public static WorkflowResult parseWorkflowResult(Response response) {
         Object data = response.getData();
-        WorkflowResult workflowResult = GsonUtil.fromJson(GsonUtil.toJson(data), WorkflowResult.class);
-        return workflowResult;
+        return GsonUtil.fromJson(GsonUtil.toJson(data), WorkflowResult.class);
     }
 
-    public static BusinessInfo parseBusinessInfo(Response response) {
+    public static InlongGroupRequest parseGroupInfo(Response response) {
         Object data = response.getData();
-        BusinessInfo businessInfo = GsonUtil.fromJson(GsonUtil.toJson(data), BusinessInfo.class);
-        return businessInfo;
+        return GsonUtil.fromJson(GsonUtil.toJson(data), InlongGroupRequest.class);
     }
 
     public static PageInfo<FullStreamResponse> parseStreamList(Response response) {
@@ -58,29 +60,30 @@ public class InlongParser {
         return pageInfo;
     }
 
-    public static Pair<BusinessApproveInfo, List<DataStreamApproveInfo>> parseBusinessForm(String formJson) {
-        final String businessInfoField = "businessInfo";
+    public static Pair<InlongGroupApproveRequest, List<InlongStreamApproveRequest>> parseGroupForm(String formJson) {
+        final String groupInfoField = "groupApproveInfo";
         final String mqExtInfoField = "mqExtInfo";
         JsonObject formData = GsonUtil.fromJson(formJson, JsonObject.class);
-        JsonObject businessJson = formData.getAsJsonObject(businessInfoField);
-        BusinessApproveInfo businessApproveInfo = GsonUtil.fromJson(businessJson.toString(), BusinessApproveInfo.class);
-        JsonObject mqExtInfo = businessJson.getAsJsonObject(mqExtInfoField);
+        JsonObject groupJson = formData.getAsJsonObject(groupInfoField);
+        InlongGroupApproveRequest groupApproveInfo = GsonUtil.fromJson(groupJson.toString(),
+                InlongGroupApproveRequest.class);
+        JsonObject mqExtInfo = groupJson.getAsJsonObject(mqExtInfoField);
         if (mqExtInfo.get("middlewareType").getAsString().equals("PULSAR")) {
-            BusinessPulsarInfo businessPulsarInfo = GsonUtil.fromJson(mqExtInfo.toString(), BusinessPulsarInfo.class);
-            businessApproveInfo.setAckQuorum(businessPulsarInfo.getAckQuorum());
-            businessApproveInfo.setEnsemble(businessPulsarInfo.getEnsemble());
-            businessApproveInfo.setWriteQuorum(businessPulsarInfo.getWriteQuorum());
-            businessApproveInfo.setRetentionTime(businessPulsarInfo.getRetentionTime());
-            businessApproveInfo.setRetentionTimeUnit(businessPulsarInfo.getRetentionTimeUnit());
-            businessApproveInfo.setTtl(businessPulsarInfo.getTtl());
-            businessApproveInfo.setTtlUnit(businessPulsarInfo.getTtlUnit());
-            businessApproveInfo.setRetentionSize(businessPulsarInfo.getRetentionSize());
-            businessApproveInfo.setRetentionSizeUnit(businessPulsarInfo.getRetentionSizeUnit());
+            InlongGroupPulsarInfo pulsarInfo = GsonUtil.fromJson(mqExtInfo.toString(), InlongGroupPulsarInfo.class);
+            groupApproveInfo.setAckQuorum(pulsarInfo.getAckQuorum());
+            groupApproveInfo.setEnsemble(pulsarInfo.getEnsemble());
+            groupApproveInfo.setWriteQuorum(pulsarInfo.getWriteQuorum());
+            groupApproveInfo.setRetentionTime(pulsarInfo.getRetentionTime());
+            groupApproveInfo.setRetentionTimeUnit(pulsarInfo.getRetentionTimeUnit());
+            groupApproveInfo.setTtl(pulsarInfo.getTtl());
+            groupApproveInfo.setTtlUnit(pulsarInfo.getTtlUnit());
+            groupApproveInfo.setRetentionSize(pulsarInfo.getRetentionSize());
+            groupApproveInfo.setRetentionSizeUnit(pulsarInfo.getRetentionSizeUnit());
         }
         JsonArray streamJson = formData.getAsJsonArray("streamInfoList");
-        List<DataStreamApproveInfo> dataStreamApproveInfoList = GsonUtil.fromJson(streamJson.toString(),
-                new TypeToken<List<DataStreamApproveInfo>>() {
+        List<InlongStreamApproveRequest> streamApproveList = GsonUtil.fromJson(streamJson.toString(),
+                new TypeToken<List<InlongStreamApproveRequest>>() {
                 }.getType());
-        return Pair.of(businessApproveInfo, dataStreamApproveInfoList);
+        return Pair.of(groupApproveInfo, streamApproveList);
     }
 }
diff --git a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/util/InlongStreamTransfer.java b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/util/InlongStreamTransfer.java
new file mode 100644
index 0000000..8a5d6ef
--- /dev/null
+++ b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/util/InlongStreamTransfer.java
@@ -0,0 +1,160 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.inlong.manager.client.api.util;
+
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.inlong.manager.client.api.DataSeparator;
+import org.apache.inlong.manager.client.api.HiveSink;
+import org.apache.inlong.manager.client.api.HiveSink.FileFormat;
+import org.apache.inlong.manager.client.api.InlongStreamConf;
+import org.apache.inlong.manager.client.api.StreamField;
+import org.apache.inlong.manager.client.api.StreamField.FieldType;
+import org.apache.inlong.manager.client.api.StreamSink;
+import org.apache.inlong.manager.client.api.StreamSink.SinkType;
+import org.apache.inlong.manager.client.api.auth.DefaultAuthentication;
+import org.apache.inlong.manager.common.pojo.group.InlongGroupRequest;
+import org.apache.inlong.manager.common.pojo.sink.SinkFieldRequest;
+import org.apache.inlong.manager.common.pojo.sink.SinkRequest;
+import org.apache.inlong.manager.common.pojo.sink.SinkResponse;
+import org.apache.inlong.manager.common.pojo.sink.hive.HiveSinkRequest;
+import org.apache.inlong.manager.common.pojo.sink.hive.HiveSinkResponse;
+import org.apache.inlong.manager.common.pojo.stream.InlongStreamFieldInfo;
+import org.apache.inlong.manager.common.pojo.stream.InlongStreamInfo;
+
+import java.nio.charset.Charset;
+import java.util.List;
+import java.util.stream.Collectors;
+
+public class InlongStreamTransfer {
+
+    public static InlongStreamInfo createStreamInfo(InlongStreamConf streamConf, InlongGroupRequest groupInfo) {
+        InlongStreamInfo streamInfo = new InlongStreamInfo();
+        streamInfo.setInlongGroupId(groupInfo.getInlongGroupId());
+        streamInfo.setInlongStreamId("b_" + streamConf.getName());
+        streamInfo.setName(streamConf.getName());
+        streamInfo.setDataEncoding(streamConf.getCharset().name());
+        streamInfo.setMqResourceObj(groupInfo.getName() + "_" + streamConf.getName());
+        streamInfo.setDataSeparator(String.valueOf(streamConf.getDataSeparator().getAsciiCode()));
+        streamInfo.setDescription(streamConf.getDescription());
+        streamInfo.setCreator(groupInfo.getCreator());
+        streamInfo.setDailyRecords(streamConf.getDailyRecords());
+        streamInfo.setDailyStorage(streamConf.getDailyStorage());
+        streamInfo.setPeakRecords(streamConf.getPeakRecords());
+        streamInfo.setHavePredefinedFields(0);
+        return streamInfo;
+    }
+
+    public static List<InlongStreamFieldInfo> createStreamFields(List<StreamField> fieldList,
+            InlongStreamInfo streamInfo) {
+        List<InlongStreamFieldInfo> fieldInfos = fieldList.stream().map(streamField -> {
+            InlongStreamFieldInfo fieldInfo = new InlongStreamFieldInfo();
+            fieldInfo.setInlongStreamId(streamInfo.getInlongStreamId());
+            fieldInfo.setInlongGroupId(streamInfo.getInlongGroupId());
+            fieldInfo.setFieldName(streamField.getFieldName());
+            fieldInfo.setFieldType(streamField.getFieldType().toString());
+            fieldInfo.setFieldComment(streamField.getFieldComment());
+            fieldInfo.setFieldValue(streamField.getFieldValue());
+            return fieldInfo;
+        }).collect(Collectors.toList());
+        return fieldInfos;
+    }
+
+    public static SinkRequest createSinkRequest(StreamSink streamSink, InlongStreamInfo streamInfo) {
+        SinkType sinkType = streamSink.getSinkType();
+        if (sinkType == SinkType.HIVE) {
+            return createHiveSinkRequest(streamSink, streamInfo);
+        } else {
+            throw new IllegalArgumentException(String.format("Unsupported sink type: %s for Inlong", sinkType));
+        }
+    }
+
+    public static StreamSink parseStreamSink(SinkResponse sinkResponse) {
+        String sinkType = sinkResponse.getSinkType();
+        if ("HIVE".equals(sinkType)) {
+            return parseHiveSink((HiveSinkResponse) sinkResponse);
+        } else {
+            throw new IllegalArgumentException(String.format("Unsupported sink type: %s for Inlong", sinkType));
+        }
+    }
+
+    private static HiveSinkRequest createHiveSinkRequest(StreamSink streamSink, InlongStreamInfo streamInfo) {
+        HiveSinkRequest hiveSinkRequest = new HiveSinkRequest();
+        HiveSink hiveSink = (HiveSink) streamSink;
+        hiveSinkRequest.setInlongGroupId(streamInfo.getInlongGroupId());
+        hiveSinkRequest.setInlongStreamId(streamInfo.getInlongStreamId());
+        hiveSinkRequest.setDataEncoding(hiveSink.getCharset().name());
+        hiveSinkRequest.setEnableCreateTable(hiveSink.isNeedCreated() ? 1 : 0);
+        hiveSinkRequest.setDataSeparator(String.valueOf(hiveSink.getDataSeparator().getAsciiCode()));
+        hiveSinkRequest.setDbName(hiveSink.getDbName());
+        hiveSinkRequest.setTableName(hiveSink.getTableName());
+        hiveSinkRequest.setHdfsDefaultFs(hiveSink.getHdfsDefaultFs());
+        hiveSinkRequest.setJdbcUrl(hiveSink.getJdbcUrl());
+        hiveSinkRequest.setWarehouseDir(hiveSink.getWarehouseDir());
+        hiveSinkRequest.setFileFormat(hiveSink.getFileFormat().name());
+        DefaultAuthentication defaultAuthentication = hiveSink.getAuthentication();
+        AssertUtil.notNull(defaultAuthentication,
+                String.format("Hive sink %s must be authenticated", hiveSink.getDbName()));
+        hiveSinkRequest.setUsername(defaultAuthentication.getUserName());
+        hiveSinkRequest.setPassword(defaultAuthentication.getPassword());
+        hiveSinkRequest.setPrimaryPartition(hiveSink.getPrimaryPartition());
+        hiveSinkRequest.setSecondaryPartition(hiveSink.getSecondaryPartition());
+        if (CollectionUtils.isNotEmpty(hiveSink.getStreamFields())) {
+            List<SinkFieldRequest> fieldRequests = hiveSink.getStreamFields()
+                    .stream()
+                    .map(streamField -> {
+                        SinkFieldRequest fieldRequest = new SinkFieldRequest();
+                        fieldRequest.setFieldName(streamField.getFieldName());
+                        fieldRequest.setFieldType(streamField.getFieldType().toString());
+                        fieldRequest.setFieldComment(streamField.getFieldComment());
+                        return fieldRequest;
+                    })
+                    .collect(Collectors.toList());
+        }
+        return hiveSinkRequest;
+    }
+
+    private static HiveSink parseHiveSink(HiveSinkResponse sinkResponse) {
+        HiveSink hiveSink = new HiveSink();
+        hiveSink.setSinkType(SinkType.HIVE);
+        int asciiCode = Integer.parseInt(sinkResponse.getDataSeparator());
+        hiveSink.setDataSeparator(DataSeparator.getByAscii(asciiCode));
+        hiveSink.setCharset(Charset.forName(sinkResponse.getDataEncoding()));
+        hiveSink.setDbName(sinkResponse.getDbName());
+        hiveSink.setTableName(sinkResponse.getTableName());
+        hiveSink.setFileFormat(FileFormat.forName(sinkResponse.getFileFormat()));
+        hiveSink.setJdbcUrl(sinkResponse.getJdbcUrl());
+        hiveSink.setHdfsDefaultFs(sinkResponse.getHdfsDefaultFs());
+        hiveSink.setWarehouseDir(sinkResponse.getWarehouseDir());
+        hiveSink.setAuthentication(new DefaultAuthentication(sinkResponse.getUsername(), sinkResponse.getPassword()));
+        hiveSink.setNeedCreated(sinkResponse.getEnableCreateResource() == 1);
+        hiveSink.setPrimaryPartition(sinkResponse.getPrimaryPartition());
+        hiveSink.setSecondaryPartition(sinkResponse.getSecondaryPartition());
+        if (CollectionUtils.isNotEmpty(sinkResponse.getFieldList())) {
+            List<StreamField> fieldList = sinkResponse.getFieldList()
+                    .stream()
+                    .map(sinkFieldRequest -> new StreamField(sinkFieldRequest.getId(),
+                            FieldType.forName(sinkFieldRequest.getFieldType()),
+                            sinkFieldRequest.getFieldName(),
+                            sinkFieldRequest.getFieldComment(),
+                            null)).collect(Collectors.toList());
+            hiveSink.setStreamFields(fieldList);
+        }
+        return hiveSink;
+    }
+
+}
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/BizErrorCodeEnum.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/BizErrorCodeEnum.java
deleted file mode 100644
index 4e6f5b6..0000000
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/BizErrorCodeEnum.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.inlong.manager.common.enums;
-
-public enum BizErrorCodeEnum {
-    AUTHORIZATION_FAILED(2001, "Authentication failed"),
-    INVALID_PARAMETER(2002, "The parameter is invalid"),
-    PERMISSION_REQUIRED(2003, "The current user does not have operation authority"),
-    AUTHENTICATION_REQUIRED(2004, "Authentication failed"),
-
-    USER_IS_NOT_MANAGER(110, "%s is not the manager, please contact %s"),
-
-    BUSINESS_NOT_FOUND(1001, "Business does not exist/no operation authority"),
-    BUSINESS_DUPLICATE(1002, "Business already exists"),
-    BUSINESS_SAVE_FAILED(1003, "Failed to save/update business information"),
-    BUSINESS_PERMISSION_DENIED(1004, "No access to this business"),
-    BUSINESS_HAS_DATA_STREAM(1005, "There are some valid data stream for this business"),
-    BUSINESS_UPDATE_NOT_ALLOWED(1006, "The current business status does not support modification"),
-    BUSINESS_DELETE_NOT_ALLOWED(1007, "The current business status does not support deletion"),
-    BUSINESS_GROUP_ID_UPDATE_NOT_ALLOWED(1008, "The current business status does not support modifying the group id"),
-    BUSINESS_MIDDLEWARE_UPDATE_NOT_ALLOWED(1011,
-            "The current business status does not support modifying the middleware type"),
-
-    MIDDLEWARE_TYPE_NOT_SUPPORTED(1021, "MIDDLEWARE_TYPE_NOT_SUPPORTED"),
-
-    CLUSTER_NOT_FOUND(1101, "Cluster information does not exist"),
-
-    DATA_STREAM_NOT_FOUND(1201, "Data stream does not exist/no operation permission"),
-    DATA_STREAM_ID_DUPLICATE(1202, "The current business has a data stream with the same ID"),
-    DATA_STREAM_OPT_NOT_ALLOWED(1203,
-            "The current business status does not allow adding/modifying/deleting data streams"),
-    DATA_STREAM_ID_UPDATE_NOT_ALLOWED(1205,
-            "The current business status does not allow to modify the group or stream id"),
-    DATA_STREAM_SOURCE_UPDATE_NOT_ALLOWED(1206,
-            "The current business status does not allow to modify the data source type of the data stream"),
-    DATA_STREAM_EXT_SAVE_FAILED(1207, "Failed to save/update data stream extension information"),
-    DATA_STREAM_FIELD_SAVE_FAILED(1208, "Failed to save/update data stream field"),
-    DATA_STREAM_DELETE_HAS_SOURCE(1209,
-            "The data stream contains data source information and is not allowed to be deleted"),
-    DATA_STREAM_DELETE_HAS_STORAGE(1210,
-            "The data stream contains data storage information and is not allowed to be deleted"),
-
-    DATA_SOURCE_DUPLICATE(1301, "Data source already exists"),
-    DATA_SOURCE_BASIC_NOT_FOUND(1302, "The basic information of the data source does not exist"),
-    DATA_SOURCE_DETAIL_NOT_FOUND(1303, "Data source detailed information does not exist"),
-    DATA_SOURCE_TYPE_NOT_SUPPORTED(1304, "Data source type is not supported"),
-    DATA_SOURCE_BASIC_DELETE_HAS_DETAIL(1305,
-            "The data source contains detailed information and is not allowed to be deleted"),
-    DATA_SOURCE_OPT_NOT_ALLOWED(1306,
-            "The current business status does not allow adding/modifying/deleting data source information"),
-
-    HIVE_OPERATION_FAILED(1311, "Hive operation failed"),
-
-    STORAGE_TYPE_IS_NULL(1400, "Storage type is null"),
-    STORAGE_TYPE_NOT_SUPPORT(1401, "Storage type '%s' not support"),
-    STORAGE_INFO_NOT_FOUND(1402, "Storage information does not exist/no operation authority"),
-    STORAGE_INFO_INCORRECT(1402, "Storage information was incorrect"),
-    STORAGE_ALREADY_EXISTS(1403, "Storage already exist with the groupId and streamId"),
-    STORAGE_SAVE_FAILED(1404, "Failed to save or update storage info"),
-    STORAGE_FIELD_SAVE_FAILED(1405, "Failed to save or update storage field"),
-    STORAGE_OPT_NOT_ALLOWED(1406, "Current status does not allow add/modification/delete storage info"),
-    STORAGE_DB_NAME_UPDATE_NOT_ALLOWED(1407, "Current status does not allow modification the database name"),
-    STORAGE_TB_NAME_UPDATE_NOT_ALLOWED(1408, "Current status does not allow modification the table name"),
-    STORAGE_FIELD_UPDATE_NOT_ALLOWED(1409, "Current status not allowed to modification/delete field"),
-
-    WORKFLOW_EXE_FAILED(4000, "Workflow execution exception"),
-
-    CONSUMER_GROUP_NAME_DUPLICATED(2600, "The consumer group already exists in the cluster"),
-    CONSUMER_GROUP_CREATE_FAILED(2601, "Failed to create tube consumer group"),
-    TUBE_GROUP_CREATE_FAILED(2602, "Create Tube consumer group failed"),
-    PULSAR_GROUP_CREATE_FAILED(2603, "Create Pulsar consumer group failed"),
-    TUBE_TOPIC_CREATE_FAILED(2604, "CreateTube Topic failed"),
-    PULSAR_TOPIC_CREATE_FAILED(2605, "Create Pulsar Topic failed"),
-    PULSAR_DLQ_RLQ_ERROR(2606, "Wrong config for the RLQ and DLQ: RLQ was enabled, but the DLQ was disabled"),
-    PULSAR_DLQ_DUPLICATED(2607, "DLQ topic already exists under the business"),
-    PULSAR_RLQ_DUPLICATED(2608, "RLQ topic already exists under the business"),
-
-    COMMON_FILE_DOWNLOAD_FAIL(6001, "File download failed"),
-    COMMON_FILE_UPLOAD_FAIL(6002, "File upload failed"),
-    ;
-
-    private final int code;
-    private final String message;
-
-    BizErrorCodeEnum(int code, String message) {
-        this.code = code;
-        this.message = message;
-    }
-
-    public int getCode() {
-        return code;
-    }
-
-    public String getMessage() {
-        return message;
-    }
-}
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/BizConstant.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/Constant.java
similarity index 82%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/BizConstant.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/Constant.java
index 40cf69c..932eff3 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/BizConstant.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/Constant.java
@@ -18,17 +18,17 @@
 package org.apache.inlong.manager.common.enums;
 
 /**
- * Constant for business
+ * Constant for system
  */
-public class BizConstant {
+public class Constant {
 
-    public static final String STORAGE_HIVE = "HIVE";
+    public static final String SINK_HIVE = "HIVE";
 
-    public static final String STORAGE_KAFKA = "KAFKA";
+    public static final String SINK_KAFKA = "KAFKA";
 
-    public static final String STORAGE_CLICKHOUSE = "CLICKHOUSE";
+    public static final String SINK_CLICKHOUSE = "CLICKHOUSE";
 
-    public static final String STORAGE_ICEBERG = "ICEBERG";
+    public static final String SINK_ICEBERG = "ICEBERG";
 
     public static final String DATA_SOURCE_DB = "DB";
 
@@ -60,13 +60,13 @@ public class BizConstant {
 
     public static final String GROUP_ID_IS_EMPTY = "data group id is empty";
 
-    public static final String STREAM_ID_IS_EMPTY = "data stream id is empty";
+    public static final String STREAM_ID_IS_EMPTY = "inlong stream id is empty";
 
     public static final String REQUEST_IS_EMPTY = "request is empty";
 
-    public static final String STORAGE_TYPE_IS_EMPTY = "storageType is empty";
+    public static final String SINK_TYPE_IS_EMPTY = "sinkType is empty";
 
-    public static final String STORAGE_TYPE_NOT_SAME = "Expected storageType is %s, but found %s";
+    public static final String SINK_TYPE_NOT_SAME = "Expected sinkType is %s, but found %s";
 
     public static final String PULSAR_TOPIC_TYPE_SERIAL = "SERIAL";
 
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/EntityStatus.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/EntityStatus.java
index 0b79f5b..5b6ed6c 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/EntityStatus.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/EntityStatus.java
@@ -18,6 +18,7 @@
 package org.apache.inlong.manager.common.enums;
 
 import com.google.common.collect.ImmutableSet;
+
 import java.util.Set;
 
 /**
@@ -35,30 +36,30 @@ public enum EntityStatus {
     CANCELED(30, "canceled"),
     DELETED(40, "deleted"),
 
-    // Business related status
-    BIZ_WAIT_SUBMIT(100, "waiting for submit"),
-    BIZ_WAIT_APPROVAL(101, "waiting for approval"),
-    BIZ_APPROVE_REJECTED(102, "approval rejected"),
-    BIZ_APPROVE_PASSED(103, "approval passed"),
-    BIZ_CONFIG_ING(110, "in configure"),
-    BIZ_CONFIG_FAILED(120, "configuration failed"),
-    BIZ_CONFIG_SUCCESSFUL(130, "configuration successful"),
-    BIZ_SUSPEND(140, "suspend"),
-    BIZ_RESTART(150, "restart"),
-
-    // Data stream related status
-    DATA_STREAM_NEW(100, "new"),
-    DATA_STREAM_CONFIG_ING(110, "in configure"),
-    DATA_STREAM_CONFIG_FAILED(120, "configuration failed"),
-    DATA_STREAM_CONFIG_SUCCESSFUL(130, "configuration successful"),
-
-    // Data storage related status
-    DATA_STORAGE_NEW(100, "new"),
-    DATA_STORAGE_CONFIG_ING(110, "in configure"),
-    DATA_STORAGE_CONFIG_FAILED(120, "configuration failed"),
-    DATA_STORAGE_CONFIG_SUCCESSFUL(130, "configuration successful"),
-
-    // Data source (or Agent) related status
+    // Inlong group related status
+    GROUP_WAIT_SUBMIT(100, "waiting for submit"),
+    GROUP_WAIT_APPROVAL(101, "waiting for approval"),
+    GROUP_APPROVE_REJECTED(102, "approval rejected"),
+    GROUP_APPROVE_PASSED(103, "approval passed"),
+    GROUP_CONFIG_ING(110, "in configure"),
+    GROUP_CONFIG_FAILED(120, "configuration failed"),
+    GROUP_CONFIG_SUCCESSFUL(130, "configuration successful"),
+    GROUP_SUSPEND(140, "suspend"),
+    GROUP_RESTART(150, "restart"),
+
+    // Inlong stream related status
+    STREAM_NEW(100, "new"),
+    STREAM_CONFIG_ING(110, "in configure"),
+    STREAM_CONFIG_FAILED(120, "configuration failed"),
+    STREAM_CONFIG_SUCCESSFUL(130, "configuration successful"),
+
+    // Stream sink related status
+    SINK_NEW(100, "new"),
+    SINK_CONFIG_ING(110, "in configure"),
+    SINK_CONFIG_FAILED(120, "configuration failed"),
+    SINK_CONFIG_SUCCESSFUL(130, "configuration successful"),
+
+    // Stream source (or Agent) related status
     AGENT_DISABLE(99, "disable"),
     AGENT_NORMAL(101, "normal"),
     AGENT_FREEZE(102, "stopped"),
@@ -71,54 +72,54 @@ public enum EntityStatus {
     ;
 
     /**
-     * The status of the business that can initiate the approval process:
-     * <p/>[BIZ_WAIT_SUBMIT] [BIZ_APPROVE_REJECTED] [BIZ_CONFIG_FAILED] [BIZ_CONFIG_SUCCESSFUL]
+     * The status of the inlong group that can initiate the approval process:
+     * <p/>[GROUP_WAIT_SUBMIT] [GROUP_APPROVE_REJECTED] [GROUP_CONFIG_FAILED] [GROUP_CONFIG_SUCCESSFUL]
      */
     public static final Set<Integer> ALLOW_START_WORKFLOW_STATUS = ImmutableSet.of(
-            BIZ_WAIT_SUBMIT.getCode(), BIZ_APPROVE_REJECTED.getCode(), BIZ_CONFIG_FAILED.getCode(),
-            BIZ_CONFIG_SUCCESSFUL.getCode());
+            GROUP_WAIT_SUBMIT.getCode(), GROUP_APPROVE_REJECTED.getCode(), GROUP_CONFIG_FAILED.getCode(),
+            GROUP_CONFIG_SUCCESSFUL.getCode());
 
     /**
-     * The status of the business that can be modified:
-     * <p/>[DRAFT] [BIZ_WAIT_SUBMIT] [BIZ_APPROVE_REJECTED] [BIZ_CONFIG_FAILED]
-     * [BIZ_CONFIG_SUCCESSFUL] [BIZ_RESTART] [BIZ_SUSPEND] [BIZ_APPROVE_PASSED]
+     * The status of the inlong group that can be modified:
+     * <p/>[DRAFT] [GROUP_WAIT_SUBMIT] [GROUP_APPROVE_REJECTED] [GROUP_CONFIG_FAILED]
+     * [GROUP_CONFIG_SUCCESSFUL] [GROUP_RESTART] [GROUP_SUSPEND] [GROUP_APPROVE_PASSED]
      *
-     * <p/>[BIZ_CONFIG_ING] status cannot be modified
+     * <p/>[GROUP_CONFIG_ING] status cannot be modified
      */
-    public static final Set<Integer> ALLOW_UPDATE_BIZ_STATUS = ImmutableSet.of(
-            DRAFT.getCode(), BIZ_WAIT_SUBMIT.getCode(), BIZ_APPROVE_REJECTED.getCode(),
-            BIZ_CONFIG_FAILED.getCode(), BIZ_CONFIG_SUCCESSFUL.getCode(),
-            BIZ_RESTART.getCode(), BIZ_SUSPEND.getCode(), BIZ_APPROVE_PASSED.getCode());
+    public static final Set<Integer> ALLOW_UPDATE_GROUP_STATUS = ImmutableSet.of(
+            DRAFT.getCode(), GROUP_WAIT_SUBMIT.getCode(), GROUP_APPROVE_REJECTED.getCode(),
+            GROUP_CONFIG_FAILED.getCode(), GROUP_CONFIG_SUCCESSFUL.getCode(),
+            GROUP_RESTART.getCode(), GROUP_SUSPEND.getCode(), GROUP_APPROVE_PASSED.getCode());
 
     /**
      * The status of the service that can be deleted - all status
-     * <p/>[DRAFT] [BIZ_WAIT_SUBMIT] [BIZ_APPROVE_REJECTED] [BIZ_CONFIG_ING] [BIZ_CONFIG_FAILED]
-     * [BIZ_CONFIG_SUCCESSFUL] [BIZ_RESTART] [BIZ_SUSPEND] [BIZ_APPROVE_PASSED]
+     * <p/>[DRAFT] [GROUP_WAIT_SUBMIT] [GROUP_APPROVE_REJECTED] [GROUP_CONFIG_ING] [GROUP_CONFIG_FAILED]
+     * [GROUP_CONFIG_SUCCESSFUL] [GROUP_RESTART] [GROUP_SUSPEND] [GROUP_APPROVE_PASSED]
      *
-     * <p/>[BIZ_WAIT_APPROVAL] [BIZ_APPROVE_PASSED] status cannot be deleted
+     * <p/>[GROUP_WAIT_APPROVAL] [GROUP_APPROVE_PASSED] status cannot be deleted
      */
-    public static final Set<Integer> ALLOW_DELETE_BIZ_STATUS = ImmutableSet.of(
-            DRAFT.getCode(), BIZ_WAIT_SUBMIT.getCode(), BIZ_APPROVE_REJECTED.getCode(),
-            BIZ_CONFIG_ING.getCode(), BIZ_CONFIG_FAILED.getCode(), BIZ_CONFIG_SUCCESSFUL.getCode(),
-            BIZ_RESTART.getCode(), BIZ_SUSPEND.getCode(), BIZ_APPROVE_PASSED.getCode());
+    public static final Set<Integer> ALLOW_DELETE_GROUP_STATUS = ImmutableSet.of(
+            DRAFT.getCode(), GROUP_WAIT_SUBMIT.getCode(), GROUP_APPROVE_REJECTED.getCode(),
+            GROUP_CONFIG_ING.getCode(), GROUP_CONFIG_FAILED.getCode(), GROUP_CONFIG_SUCCESSFUL.getCode(),
+            GROUP_RESTART.getCode(), GROUP_SUSPEND.getCode(), GROUP_APPROVE_PASSED.getCode());
 
     /**
-     * The business can cascade to delete the status of the associated data:
+     * The inlong group can cascade to delete the status of the associated data:
      */
-    public static final Set<Integer> ALLOW_DELETE_BIZ_CASCADE_STATUS = ImmutableSet.of(
-            DRAFT.getCode(), BIZ_WAIT_SUBMIT.getCode());
+    public static final Set<Integer> ALLOW_DELETE_GROUP_CASCADE_STATUS = ImmutableSet.of(
+            DRAFT.getCode(), GROUP_WAIT_SUBMIT.getCode());
 
     /**
-     * Status of business approval
+     * Status of inlong group approval
      */
-    public static final Set<Integer> BIZ_APPROVE_PASS_STATUS = ImmutableSet.of(
-            BIZ_CONFIG_FAILED.getCode(), BIZ_CONFIG_SUCCESSFUL.getCode());
+    public static final Set<Integer> GROUP_APPROVE_PASS_STATUS = ImmutableSet.of(
+            GROUP_CONFIG_FAILED.getCode(), GROUP_CONFIG_SUCCESSFUL.getCode());
 
     /**
-     * Temporary business status, adding, deleting and modifying operations are not allowed
+     * Temporary inlong group status, adding, deleting and modifying operations are not allowed
      */
-    public static final ImmutableSet<Integer> BIZ_TEMP_STATUS = ImmutableSet.of(
-            BIZ_WAIT_APPROVAL.getCode(), BIZ_CONFIG_ING.getCode());
+    public static final ImmutableSet<Integer> GROUP_TEMP_STATUS = ImmutableSet.of(
+            GROUP_WAIT_APPROVAL.getCode(), GROUP_CONFIG_ING.getCode());
 
     private final Integer code;
     private final String description;
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/ErrorCodeEnum.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/ErrorCodeEnum.java
new file mode 100644
index 0000000..2d2254e
--- /dev/null
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/ErrorCodeEnum.java
@@ -0,0 +1,110 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.inlong.manager.common.enums;
+
+public enum ErrorCodeEnum {
+    AUTHORIZATION_FAILED(2001, "Authentication failed"),
+    INVALID_PARAMETER(2002, "The parameter is invalid"),
+    PERMISSION_REQUIRED(2003, "The current user does not have operation authority"),
+    AUTHENTICATION_REQUIRED(2004, "Authentication failed"),
+
+    USER_IS_NOT_MANAGER(110, "%s is not the manager, please contact %s"),
+
+    GROUP_NOT_FOUND(1001, "Inlong group does not exist/no operation authority"),
+    GROUP_DUPLICATE(1002, "Inlong group already exists"),
+    GROUP_SAVE_FAILED(1003, "Failed to save/update inlong group information"),
+    GROUP_PERMISSION_DENIED(1004, "No access to this inlong group"),
+    GROUP_HAS_STREAM(1005, "There are some valid inlong stream for this inlong group"),
+    GROUP_UPDATE_NOT_ALLOWED(1006, "The current inlong group status does not support modification"),
+    GROUP_DELETE_NOT_ALLOWED(1007, "The current inlong group status does not support deletion"),
+    GROUP_ID_UPDATE_NOT_ALLOWED(1008, "The current inlong group status does not support modifying the group id"),
+    GROUP_MIDDLEWARE_UPDATE_NOT_ALLOWED(1011,
+            "The current inlong group status does not support modifying the middleware type"),
+
+    MIDDLEWARE_TYPE_NOT_SUPPORTED(1021, "MIDDLEWARE_TYPE_NOT_SUPPORTED"),
+
+    CLUSTER_NOT_FOUND(1101, "Cluster information does not exist"),
+
+    STREAM_NOT_FOUND(1201, "Inlong stream does not exist/no operation permission"),
+    STREAM_ID_DUPLICATE(1202, "The current inlong group has a inlong stream with the same ID"),
+    STREAM_OPT_NOT_ALLOWED(1203,
+            "The current inlong group status does not allow adding/modifying/deleting inlong streams"),
+    STREAM_ID_UPDATE_NOT_ALLOWED(1205,
+            "The current inlong group status does not allow to modify the group or stream id"),
+    STREAM_SOURCE_UPDATE_NOT_ALLOWED(1206,
+            "The current inlong group status does not allow to modify the stream source type of the inlong stream"),
+    STREAM_EXT_SAVE_FAILED(1207, "Failed to save/update inlong stream extension information"),
+    STREAM_FIELD_SAVE_FAILED(1208, "Failed to save/update inlong stream field"),
+    STREAM_DELETE_HAS_SOURCE(1209, "The inlong stream contains source info and is not allowed to be deleted"),
+    STREAM_DELETE_HAS_SINK(1210, "The inlong stream contains data sink info and is not allowed to be deleted"),
+
+    SOURCE_DUPLICATE(1301, "Stream source already exists"),
+    SOURCE_BASIC_NOT_FOUND(1302, "The basic information of the stream source does not exist"),
+    SOURCE_DETAIL_NOT_FOUND(1303, "Stream source info does not exist"),
+    SOURCE_TYPE_NOT_SUPPORTED(1304, "Source type is not supported"),
+    SOURCE_BASIC_DELETE_HAS_DETAIL(1305,
+            "The stream source contains detailed info and is not allowed to be deleted"),
+    SOURCE_OPT_NOT_ALLOWED(1306,
+            "The current inlong group status does not allow adding/modifying/deleting stream source info"),
+
+    HIVE_OPERATION_FAILED(1311, "Hive operation failed"),
+
+    SINK_TYPE_IS_NULL(1400, "Sink type is null"),
+    SINK_TYPE_NOT_SUPPORT(1401, "Sink type '%s' not support"),
+    SINK_INFO_NOT_FOUND(1402, "Sink information does not exist/no operation authority"),
+    SINK_INFO_INCORRECT(1402, "Sink information was incorrect"),
+    SINK_ALREADY_EXISTS(1403, "Sink already exist with the groupId and streamId"),
+    SINK_SAVE_FAILED(1404, "Failed to save or update sink info"),
+    SINK_FIELD_SAVE_FAILED(1405, "Failed to save or update sink field"),
+    SINK_OPT_NOT_ALLOWED(1406, "Current status does not allow add/modification/delete sink info"),
+    SINK_DB_NAME_UPDATE_NOT_ALLOWED(1407, "Current status does not allow modification the database name"),
+    SINK_TB_NAME_UPDATE_NOT_ALLOWED(1408, "Current status does not allow modification the table name"),
+    SINK_FIELD_UPDATE_NOT_ALLOWED(1409, "Current status not allowed to modification/delete field"),
+
+    WORKFLOW_EXE_FAILED(4000, "Workflow execution exception"),
+
+    CONSUMER_GROUP_NAME_DUPLICATED(2600, "The consumer group already exists in the cluster"),
+    CONSUMER_GROUP_CREATE_FAILED(2601, "Failed to create tube consumer group"),
+    TUBE_GROUP_CREATE_FAILED(2602, "Create Tube consumer group failed"),
+    PULSAR_GROUP_CREATE_FAILED(2603, "Create Pulsar consumer group failed"),
+    TUBE_TOPIC_CREATE_FAILED(2604, "CreateTube Topic failed"),
+    PULSAR_TOPIC_CREATE_FAILED(2605, "Create Pulsar Topic failed"),
+    PULSAR_DLQ_RLQ_ERROR(2606, "Wrong config for the RLQ and DLQ: RLQ was enabled, but the DLQ was disabled"),
+    PULSAR_DLQ_DUPLICATED(2607, "DLQ topic already exists under the inlong group"),
+    PULSAR_RLQ_DUPLICATED(2608, "RLQ topic already exists under the inlong group"),
+
+    COMMON_FILE_DOWNLOAD_FAIL(6001, "File download failed"),
+    COMMON_FILE_UPLOAD_FAIL(6002, "File upload failed"),
+    ;
+
+    private final int code;
+    private final String message;
+
+    ErrorCodeEnum(int code, String message) {
+        this.code = code;
+        this.message = message;
+    }
+
+    public int getCode() {
+        return code;
+    }
+
+    public String getMessage() {
+        return message;
+    }
+}
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/StorageType.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/SinkType.java
similarity index 80%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/StorageType.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/SinkType.java
index 234972d..07d5d07 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/StorageType.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/SinkType.java
@@ -19,20 +19,25 @@ package org.apache.inlong.manager.common.enums;
 
 import java.util.Locale;
 
-public enum StorageType {
+public enum SinkType {
+
     HIVE, ES, CLICKHOUSE, ICEBERG, KAFKA;
 
+    /**
+     * Get the SinkType enum via the given sinkType string
+     */
+    public static SinkType getSinkType(String sinkType) {
+        for (SinkType type : values()) {
+            if (type.name().equals(sinkType)) {
+                return type;
+            }
+        }
+        throw new IllegalArgumentException(String.format("Illegal sink type for %s", sinkType));
+    }
+
     @Override
     public String toString() {
         return this.name().toLowerCase(Locale.ROOT);
     }
 
-    public static StorageType getStorageType(String storageType) {
-        for (StorageType type : values()) {
-            if (type.name().equals(storageType)) {
-                return type;
-            }
-        }
-        throw new IllegalArgumentException(String.format("Illegal storage type for %s", storageType));
-    }
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/exceptions/BusinessException.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/exceptions/BusinessException.java
index c1108c6..aac5cd0 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/exceptions/BusinessException.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/exceptions/BusinessException.java
@@ -20,14 +20,14 @@ package org.apache.inlong.manager.common.exceptions;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
-import org.apache.inlong.manager.common.enums.BizErrorCodeEnum;
+import org.apache.inlong.manager.common.enums.ErrorCodeEnum;
 
 @Data
 @NoArgsConstructor
 @EqualsAndHashCode(callSuper = false)
 public class BusinessException extends BaseException {
 
-    public BusinessException(BizErrorCodeEnum errorCodeEnum) {
+    public BusinessException(ErrorCodeEnum errorCodeEnum) {
         super(errorCodeEnum.getCode(), errorCodeEnum.getMessage());
     }
 
@@ -35,7 +35,7 @@ public class BusinessException extends BaseException {
         super(message);
     }
 
-    public BusinessException(BizErrorCodeEnum errorCodeEnum, String message) {
+    public BusinessException(ErrorCodeEnum errorCodeEnum, String message) {
         super(errorCodeEnum.getCode(), message);
     }
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/agent/CheckAgentTaskConfRequest.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/agent/CheckAgentTaskConfRequest.java
index dcb6556..aac0211 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/agent/CheckAgentTaskConfRequest.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/agent/CheckAgentTaskConfRequest.java
@@ -22,7 +22,7 @@ import io.swagger.annotations.ApiModelProperty;
 import java.util.List;
 import lombok.Data;
 
-@ApiModel("Agent data source comparison")
+@ApiModel("Agent source comparison")
 @Data
 public class CheckAgentTaskConfRequest {
 
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/agent/DataConfig.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/agent/DataConfig.java
index 8eeec1d..a12cb60 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/agent/DataConfig.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/agent/DataConfig.java
@@ -52,7 +52,7 @@ public class DataConfig {
     @ApiModelProperty(value = "Cluster id")
     private int clusterId;
 
-    @ApiModelProperty(value = "Business group id")
+    @ApiModelProperty(value = "Inlong group id")
     private String inlongGroupId;
 
     @ApiModelProperty(value = "Schedule time")
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/commonserver/CommonDbServerListVo.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/commonserver/CommonDbServerListVo.java
index 475cd22..19ca84f 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/commonserver/CommonDbServerListVo.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/commonserver/CommonDbServerListVo.java
@@ -23,10 +23,10 @@ import java.util.Date;
 import lombok.Data;
 
 /**
- * File data source list
+ * File source list
  */
 @Data
-@ApiModel("File data source list")
+@ApiModel("File source list")
 public class CommonDbServerListVo {
 
     private int id;
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/commonserver/CommonDbServerPageRequest.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/commonserver/CommonDbServerPageRequest.java
index c8b8a4e..906e1d5 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/commonserver/CommonDbServerPageRequest.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/commonserver/CommonDbServerPageRequest.java
@@ -25,11 +25,11 @@ import lombok.EqualsAndHashCode;
 import org.apache.inlong.manager.common.beans.PageRequest;
 
 /**
- * DB data source query conditions
+ * DB source query conditions
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
-@ApiModel("DB data source query conditions")
+@ApiModel("DB source query conditions")
 public class CommonDbServerPageRequest extends PageRequest {
 
     @ApiModelProperty(value = "DB Server IP")
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/commonserver/CommonFileServerListVo.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/commonserver/CommonFileServerListVo.java
index 758638c..9dfdc4b 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/commonserver/CommonFileServerListVo.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/commonserver/CommonFileServerListVo.java
@@ -29,7 +29,7 @@ import lombok.NoArgsConstructor;
 @Builder
 @NoArgsConstructor
 @AllArgsConstructor
-@ApiModel("Response of file data source list")
+@ApiModel("Response of file source list")
 public class CommonFileServerListVo {
 
     private int id;
@@ -37,7 +37,7 @@ public class CommonFileServerListVo {
     @ApiModelProperty("access type, support: Agent, DataProxy Client, LoadProxy")
     private String accessType;
 
-    @ApiModelProperty("data source IP")
+    @ApiModelProperty("source IP")
     private String ip;
 
     private int port;
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/commonserver/CommonFileServerPageRequest.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/commonserver/CommonFileServerPageRequest.java
index 036870c..dc7b59d 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/commonserver/CommonFileServerPageRequest.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/commonserver/CommonFileServerPageRequest.java
@@ -25,14 +25,14 @@ import lombok.EqualsAndHashCode;
 import org.apache.inlong.manager.common.beans.PageRequest;
 
 /**
- * File data source query conditions
+ * File source query conditions
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
-@ApiModel("File data source query conditions")
+@ApiModel("File source query conditions")
 public class CommonFileServerPageRequest extends PageRequest {
 
-    @ApiModelProperty(value = "Data source IP")
+    @ApiModelProperty(value = "Source IP")
     private String ip;
 
     @ApiModelProperty(value = "Status")
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/consumption/ConsumptionInfo.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/consumption/ConsumptionInfo.java
index d20d4c1..e46ab36 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/consumption/ConsumptionInfo.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/consumption/ConsumptionInfo.java
@@ -55,8 +55,8 @@ public class ConsumptionInfo {
     @NotNull(message = "inCharges cannot be null")
     private String inCharges;
 
-    @ApiModelProperty(value = "consumption target business group id")
-    @NotBlank(message = "business group id cannot be null")
+    @ApiModelProperty(value = "consumption target inlong group id")
+    @NotBlank(message = "inlong group id cannot be null")
     private String inlongGroupId;
 
     @ApiModelProperty(value = "Middleware type, high throughput: TUBE, high consistency: PULSAR")
@@ -72,7 +72,7 @@ public class ConsumptionInfo {
     @ApiModelProperty(value = "whether to filter consumption, 0: not filter, 1: filter")
     private Integer filterEnabled = 0;
 
-    @ApiModelProperty(value = "consumption target data stream id")
+    @ApiModelProperty(value = "consumption target inlong stream id")
     private String inlongStreamId;
 
     @ApiModelProperty(value = "status, 10: pending assigned, 11: pending approval, "
@@ -91,7 +91,7 @@ public class ConsumptionInfo {
     private ConsumptionMqExtBase mqExtInfo;
 
     @JsonIgnore
-    @AssertTrue(message = "when filter enabled, data stream id cannot be null")
+    @AssertTrue(message = "when filter enabled, inlong stream id cannot be null")
     public boolean isValidateFilter() {
         if (filterEnabled == 0) {
             return true;
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/consumption/ConsumptionListVo.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/consumption/ConsumptionListVo.java
index 02854a7..ab634cd 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/consumption/ConsumptionListVo.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/consumption/ConsumptionListVo.java
@@ -47,7 +47,7 @@ public class ConsumptionListVo {
     @ApiModelProperty(value = "Person in charge of consumption")
     private String inCharges;
 
-    @ApiModelProperty(value = "Consumption target business group id")
+    @ApiModelProperty(value = "Consumption target inlong group id")
     private String inlongGroupId;
 
     @ApiModelProperty(value = "Middleware type, high throughput: TUBE, high consistency: PULSAR")
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/consumption/ConsumptionMqExtBase.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/consumption/ConsumptionMqExtBase.java
index 287bcd6..6bff8a7 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/consumption/ConsumptionMqExtBase.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/consumption/ConsumptionMqExtBase.java
@@ -23,7 +23,7 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo.Id;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import org.apache.inlong.manager.common.enums.BizConstant;
+import org.apache.inlong.manager.common.enums.Constant;
 
 /**
  * Extended consumption information of different MQs
@@ -32,7 +32,7 @@ import org.apache.inlong.manager.common.enums.BizConstant;
 @ApiModel("Extended consumption information of different MQs")
 @JsonTypeInfo(use = Id.NAME, visible = true, property = "middlewareType", defaultImpl = ConsumptionMqExtBase.class)
 @JsonSubTypes({
-        @JsonSubTypes.Type(value = ConsumptionPulsarInfo.class, name = BizConstant.MIDDLEWARE_PULSAR)
+        @JsonSubTypes.Type(value = ConsumptionPulsarInfo.class, name = Constant.MIDDLEWARE_PULSAR)
 })
 public class ConsumptionMqExtBase {
 
@@ -51,7 +51,7 @@ public class ConsumptionMqExtBase {
     @ApiModelProperty("Whether to delete, 0: not deleted, 1: deleted")
     private Integer isDeleted = 0;
 
-    @ApiModelProperty(value = "Data storage middleware type, high throughput: TUBE, high consistency: PULSAR")
+    @ApiModelProperty(value = "Middleware type, high throughput: TUBE, high consistency: PULSAR")
     private String middlewareType;
 
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/consumption/ConsumptionPulsarInfo.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/consumption/ConsumptionPulsarInfo.java
index 350fef4..22c2a98 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/consumption/ConsumptionPulsarInfo.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/consumption/ConsumptionPulsarInfo.java
@@ -22,7 +22,7 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.ToString;
-import org.apache.inlong.manager.common.enums.BizConstant;
+import org.apache.inlong.manager.common.enums.Constant;
 
 /**
  * Pulsar consumer information
@@ -34,7 +34,7 @@ import org.apache.inlong.manager.common.enums.BizConstant;
 public class ConsumptionPulsarInfo extends ConsumptionMqExtBase {
 
     @ApiModelProperty("The middleware type of MQ")
-    private String middlewareType = BizConstant.MIDDLEWARE_PULSAR;
+    private String middlewareType = Constant.MIDDLEWARE_PULSAR;
 
     @ApiModelProperty("Whether to configure the dead letter queue, 0: do not configure, 1: configure")
     private Integer isDlq;
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/consumption/ConsumptionQuery.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/consumption/ConsumptionQuery.java
index e3670c3..fc9c446 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/consumption/ConsumptionQuery.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/consumption/ConsumptionQuery.java
@@ -43,7 +43,7 @@ public class ConsumptionQuery extends PageRequest {
     @ApiModelProperty(value = "Person in charge of consumption")
     private String inCharges;
 
-    @ApiModelProperty(value = "Consumption target business group id")
+    @ApiModelProperty(value = "Consumption target inlong group id")
     private String inlongGroupId;
 
     @ApiModelProperty(value = "Middleware type, high throughput: TUBE, high consistency: PULSAR")
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/business/DataSchemaInfo.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/group/DataSchemaInfo.java
similarity index 96%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/business/DataSchemaInfo.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/group/DataSchemaInfo.java
index cad559c..abaf672 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/business/DataSchemaInfo.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/group/DataSchemaInfo.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.business;
+package org.apache.inlong.manager.common.pojo.group;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/business/BusinessApproveInfo.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/group/InlongGroupApproveRequest.java
similarity index 90%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/business/BusinessApproveInfo.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/group/InlongGroupApproveRequest.java
index b417064..f447518 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/business/BusinessApproveInfo.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/group/InlongGroupApproveRequest.java
@@ -15,23 +15,23 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.business;
+package org.apache.inlong.manager.common.pojo.group;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 /**
- * Business access approval information
+ * Inlong group approval info
  */
 @Data
-@ApiModel("Business Access Approval Information")
-public class BusinessApproveInfo {
+@ApiModel("Inlong group approval request")
+public class InlongGroupApproveRequest {
 
     @ApiModelProperty(value = "Primary key")
     private Integer id;
 
-    @ApiModelProperty(value = "Business group id", required = true)
+    @ApiModelProperty(value = "Inlong group id", required = true)
     private String inlongGroupId;
 
     @ApiModelProperty(value = "Middleware Type")
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/business/BusinessCountVO.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/group/InlongGroupCountResponse.java
similarity index 81%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/business/BusinessCountVO.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/group/InlongGroupCountResponse.java
index 6cb77ef..64e4a35 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/business/BusinessCountVO.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/group/InlongGroupCountResponse.java
@@ -15,23 +15,23 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.business;
+package org.apache.inlong.manager.common.pojo.group;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 /**
- * Statistics of business status
+ * Statistics of inlong group status
  */
 @Data
-@ApiModel("Statistics of business status")
-public class BusinessCountVO {
+@ApiModel("Statistics of inlong group status")
+public class InlongGroupCountResponse {
 
-    @ApiModelProperty(value = "Total business number")
+    @ApiModelProperty(value = "Total group number")
     private long totalCount;
 
-    @ApiModelProperty(value = "The quantity to be allocated, which is the number of configuring businesses")
+    @ApiModelProperty(value = "The quantity to be allocated, which is the number of configuring groups")
     private long waitAssignCount;
 
     @ApiModelProperty(value = "Amount to be approved")
@@ -39,4 +39,5 @@ public class BusinessCountVO {
 
     @ApiModelProperty(value = "Quantity rejected")
     private long rejectCount;
+
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/business/BusinessExtInfo.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/group/InlongGroupExtInfo.java
similarity index 82%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/business/BusinessExtInfo.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/group/InlongGroupExtInfo.java
index af42d58..d39b1d5 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/business/BusinessExtInfo.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/group/InlongGroupExtInfo.java
@@ -15,24 +15,23 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.business;
+package org.apache.inlong.manager.common.pojo.group;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 /**
- * Business access extension information
- *
+ * Inlong group extension information
  */
 @Data
-@ApiModel("Business access extension information")
-public class BusinessExtInfo {
+@ApiModel("Inlong group extension information")
+public class InlongGroupExtInfo {
 
     @ApiModelProperty(value = "id")
     private Integer id;
 
-    @ApiModelProperty(value = "business group id", required = true)
+    @ApiModelProperty(value = "inlong group id", required = true)
     private String inlongGroupId;
 
     @ApiModelProperty(value = "property name")
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/business/BusinessListVO.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/group/InlongGroupListResponse.java
similarity index 85%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/business/BusinessListVO.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/group/InlongGroupListResponse.java
index 8ad43f8..51405bb 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/business/BusinessListVO.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/group/InlongGroupListResponse.java
@@ -15,28 +15,29 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.business;
+package org.apache.inlong.manager.common.pojo.group;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-import java.util.Date;
 import lombok.Data;
 
+import java.util.Date;
+
 /**
- * Business list
+ * Inlong group list
  */
 @Data
-@ApiModel("Business List")
-public class BusinessListVO {
+@ApiModel("Inlong group List")
+public class InlongGroupListResponse {
 
     @ApiModelProperty(value = "Primary key")
     private Integer id;
 
-    @ApiModelProperty(value = "Business group id", required = true)
+    @ApiModelProperty(value = "Inlong group id", required = true)
     private String inlongGroupId;
 
-    @ApiModelProperty(value = "Business name")
+    @ApiModelProperty(value = "Inlong group name")
     private String name;
 
     @ApiModelProperty(value = "Chinese display name")
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/business/BusinessMqExtBase.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/group/InlongGroupMqExtBase.java
similarity index 70%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/business/BusinessMqExtBase.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/group/InlongGroupMqExtBase.java
index 29fc201..adda38c 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/business/BusinessMqExtBase.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/group/InlongGroupMqExtBase.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.business;
+package org.apache.inlong.manager.common.pojo.group;
 
 import com.fasterxml.jackson.annotation.JsonSubTypes;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
@@ -23,29 +23,29 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo.Id;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import org.apache.inlong.manager.common.enums.BizConstant;
+import org.apache.inlong.manager.common.enums.Constant;
 
 /**
- * Extended business information of different MQs
+ * Extended inlong group info of different MQs
  */
 @Data
-@ApiModel("Extended business information of different MQs")
-@JsonTypeInfo(use = Id.NAME, visible = true, property = "middlewareType", defaultImpl = BusinessMqExtBase.class)
+@ApiModel("Extended inlong group info of different MQs")
+@JsonTypeInfo(use = Id.NAME, visible = true, property = "middlewareType", defaultImpl = InlongGroupMqExtBase.class)
 @JsonSubTypes({
-        @JsonSubTypes.Type(value = BusinessPulsarInfo.class, name = BizConstant.MIDDLEWARE_PULSAR)
+        @JsonSubTypes.Type(value = InlongGroupPulsarInfo.class, name = Constant.MIDDLEWARE_PULSAR)
 })
-public class BusinessMqExtBase {
+public class InlongGroupMqExtBase {
 
     @ApiModelProperty(value = "Primary key")
     private Integer id;
 
-    @ApiModelProperty(value = "Business group id", required = true)
+    @ApiModelProperty(value = "Inlong group id", required = true)
     private String inlongGroupId;
 
     @ApiModelProperty(value = "is deleted? 0: deleted, 1: not deleted")
     private Integer isDeleted = 0;
 
-    @ApiModelProperty(value = "Middleware type of data storage, high throughput: TUBE, high consistency : PULSAR")
+    @ApiModelProperty(value = "Middleware type of stream sink, high throughput: TUBE, high consistency : PULSAR")
     private String middlewareType;
 
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/business/BusinessPageRequest.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/group/InlongGroupPageRequest.java
similarity index 87%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/business/BusinessPageRequest.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/group/InlongGroupPageRequest.java
index 148951e..e3a5f6f 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/business/BusinessPageRequest.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/group/InlongGroupPageRequest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.business;
+package org.apache.inlong.manager.common.pojo.group;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -24,12 +24,12 @@ import lombok.EqualsAndHashCode;
 import org.apache.inlong.manager.common.beans.PageRequest;
 
 /**
- * Business pagination query conditions
+ * Inlong group query request
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
-@ApiModel("Business table query conditions")
-public class BusinessPageRequest extends PageRequest {
+@ApiModel("Inlong group query request")
+public class InlongGroupPageRequest extends PageRequest {
 
     @ApiModelProperty(value = "Keywords")
     private String keyWord;
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/business/BusinessPulsarInfo.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/group/InlongGroupPulsarInfo.java
similarity index 90%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/business/BusinessPulsarInfo.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/group/InlongGroupPulsarInfo.java
index 8286730..3d15ef5 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/business/BusinessPulsarInfo.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/group/InlongGroupPulsarInfo.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.business;
+package org.apache.inlong.manager.common.pojo.group;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -24,13 +24,13 @@ import lombok.EqualsAndHashCode;
 import lombok.ToString;
 
 /**
- * Business access information for Pulsar
+ * Inlong group information for Pulsar
  */
 @Data
 @ToString(callSuper = true)
 @EqualsAndHashCode(callSuper = true)
-@ApiModel("Business access information for Pulsar")
-public class BusinessPulsarInfo extends BusinessMqExtBase {
+@ApiModel("Inlong group information for Pulsar")
+public class InlongGroupPulsarInfo extends InlongGroupMqExtBase {
 
     @ApiModelProperty(value = "Ledger's number of writable nodes")
     private Integer ensemble = 3;
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/business/BusinessInfo.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/group/InlongGroupRequest.java
similarity index 85%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/business/BusinessInfo.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/group/InlongGroupRequest.java
index b2c5301..d5e4560 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/business/BusinessInfo.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/group/InlongGroupRequest.java
@@ -15,42 +15,43 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.business;
+package org.apache.inlong.manager.common.pojo.group;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-import java.util.Date;
-import java.util.List;
-import javax.validation.constraints.NotNull;
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
+import javax.validation.constraints.NotNull;
+import java.util.Date;
+import java.util.List;
+
 /**
- * Business access info
+ * Inlong group info
  */
 @Data
 @Builder
 @NoArgsConstructor
 @AllArgsConstructor
-@ApiModel("Business access info")
-public class BusinessInfo {
+@ApiModel("Inlong group info")
+public class InlongGroupRequest {
 
     @ApiModelProperty(value = "Primary key")
     private Integer id;
 
-    @ApiModelProperty(value = "Business group id", required = true)
+    @ApiModelProperty(value = "Inlong group id", required = true)
     private String inlongGroupId;
 
-    @ApiModelProperty(value = "Business name", required = true)
+    @ApiModelProperty(value = "Inlong group name", required = true)
     private String name;
 
     @ApiModelProperty(value = "Chinese display name")
     private String cnName;
 
-    @ApiModelProperty(value = "Business description")
+    @ApiModelProperty(value = "Inlong group description")
     private String description;
 
     @NotNull(message = "middlewareType cannot be null")
@@ -64,7 +65,7 @@ public class BusinessInfo {
     @ApiModelProperty(value = "The number of partitions of Pulsar Topic, 1-20")
     private Integer topicPartitionNum = 3;
 
-    @ApiModelProperty(value = "MQ resource object, in business",
+    @ApiModelProperty(value = "MQ resource object, in inlong group",
             notes = "Tube corresponds to Topic, Pulsar corresponds to Namespace")
     private String mqResourceObj;
 
@@ -98,7 +99,7 @@ public class BusinessInfo {
     @ApiModelProperty(value = "Name of responsible person, separated by commas")
     private String inCharges;
 
-    @ApiModelProperty(value = "A list of names of business followers, separated by commas")
+    @ApiModelProperty(value = "Name of followers, separated by commas")
     private String followers;
 
     private Integer status;
@@ -119,10 +120,10 @@ public class BusinessInfo {
     @ApiModelProperty(value = "Temporary view, string in JSON format")
     private String tempView;
 
-    @ApiModelProperty(value = "Business Extension Properties")
-    private List<BusinessExtInfo> extList;
+    @ApiModelProperty(value = "Inlong group Extension properties")
+    private List<InlongGroupExtInfo> extList;
 
     @ApiModelProperty(value = "The extension info for MQ")
-    private BusinessMqExtBase mqExtInfo;
+    private InlongGroupMqExtBase mqExtInfo;
 
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/business/BusinessTopicVO.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/group/InlongGroupTopicResponse.java
similarity index 72%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/business/BusinessTopicVO.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/group/InlongGroupTopicResponse.java
index 6ed1d26..d602049 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/business/BusinessTopicVO.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/group/InlongGroupTopicResponse.java
@@ -15,22 +15,23 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.business;
+package org.apache.inlong.manager.common.pojo.group;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-import java.util.List;
 import lombok.Data;
-import org.apache.inlong.manager.common.pojo.datastream.DataStreamTopicVO;
+import org.apache.inlong.manager.common.pojo.stream.InlongStreamTopicResponse;
+
+import java.util.List;
 
 /**
- * Topic View Object of the Business
+ * Topic response of the inlong group
  */
 @Data
-@ApiModel("Topic View Object of the Business")
-public class BusinessTopicVO {
+@ApiModel("Topic response of the inlong group")
+public class InlongGroupTopicResponse {
 
-    @ApiModelProperty(value = "Business group id", required = true)
+    @ApiModelProperty(value = "Inlong group id", required = true)
     private String inlongGroupId;
 
     @ApiModelProperty(value = "Middleware type, high throughput: TUBE, high consistency: PULSAR")
@@ -39,9 +40,9 @@ public class BusinessTopicVO {
     @ApiModelProperty(value = "Tube topic name, or Pulsar namespace name")
     private String mqResourceObj;
 
-    @ApiModelProperty(value = "Topic list, Tube corresponds to business group, there is only 1 topic, "
-            + "Pulsar corresponds to data stream, there are multiple topics")
-    private List<DataStreamTopicVO> dsTopicList;
+    @ApiModelProperty(value = "Topic list, Tube corresponds to inlong group, there is only 1 topic, "
+            + "Pulsar corresponds to inlong stream, there are multiple topics")
+    private List<InlongStreamTopicResponse> dsTopicList;
 
     @ApiModelProperty(value = "Tube master URL")
     private String tubeMasterUrl;
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/query/ColumnQueryBean.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/query/ColumnQueryBean.java
index 38dfce1..1862a7f 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/query/ColumnQueryBean.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/query/ColumnQueryBean.java
@@ -25,7 +25,7 @@ public class ColumnQueryBean {
 
     private String columnName;
     private String columnDesc;
-    private String businessDesc; // Business description
+    private String inlongGroupDesc; // Inlong group description
     private String columnNameOfCN;
     private String columnNameOfEN;
     private String oldColumnName;
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/query/DatabaseQueryBean.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/query/DatabaseQueryBean.java
index 1282cf6..e8cf184 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/query/DatabaseQueryBean.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/query/DatabaseQueryBean.java
@@ -26,7 +26,7 @@ public class DatabaseQueryBean {
     private String dbType;
     private String dbName;
     private String dbDesc;
-    private String businessDesc;
+    private String inlongGroupDesc;
     private String owner;
     private String ownerId;
     private String projectId;
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/query/TableQueryBean.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/query/TableQueryBean.java
index 58cb3c2..2e642d4 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/query/TableQueryBean.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/query/TableQueryBean.java
@@ -36,7 +36,7 @@ public class TableQueryBean {
     // Basic attributes
     private String tableName;
     private String tableDesc; // Low-level description of the library table
-    private String businessDesc; // Business description
+    private String inlongGroupDesc; // Inlong group description
 
     private String tableType;
     private String dbName;
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/StorageApproveDTO.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/SinkApproveDTO.java
similarity index 76%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/StorageApproveDTO.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/SinkApproveDTO.java
index 34453e7..9383747 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/StorageApproveDTO.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/SinkApproveDTO.java
@@ -15,28 +15,28 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.datastorage;
+package org.apache.inlong.manager.common.pojo.sink;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 /**
- * Storage approve info
+ * Sink approve info
  */
 @Data
-@ApiModel("Storage approve info")
-public class StorageApproveDTO {
+@ApiModel("Sink approve info")
+public class SinkApproveDTO {
 
     private Integer id;
 
-    @ApiModelProperty("Storage type, such as HIVE")
-    private String storageType;
+    @ApiModelProperty("Sink type, such as HIVE")
+    private String sinkType;
 
-    @ApiModelProperty("Storage cluster URL")
+    @ApiModelProperty("Sink cluster URL")
     private String clusterUrl;
 
-    @ApiModelProperty("Storage status")
+    @ApiModelProperty("Sink status")
     private Integer status;
 
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/StorageBriefResponse.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/SinkBriefResponse.java
similarity index 71%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/StorageBriefResponse.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/SinkBriefResponse.java
index 668eb9d..3398814 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/StorageBriefResponse.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/SinkBriefResponse.java
@@ -15,34 +15,34 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.datastorage;
+package org.apache.inlong.manager.common.pojo.sink;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 /**
- * Brief response of the storage
+ * Brief response of the Sink
  */
 @Data
-@ApiModel("Brief response of the storage")
-public class StorageBriefResponse {
+@ApiModel("Brief response of the Sink")
+public class SinkBriefResponse {
 
     private Integer id;
 
-    @ApiModelProperty("Data group id")
+    @ApiModelProperty("Inlong group id")
     private String inlongGroupId;
 
-    @ApiModelProperty("Data stream id")
+    @ApiModelProperty("Inlong stream id")
     private String inlongStreamId;
 
-    @ApiModelProperty("Storage type, such as HIVE")
-    private String storageType;
+    @ApiModelProperty("Sink type, such as HIVE")
+    private String sinkType;
 
-    @ApiModelProperty("Storage cluster ID")
+    @ApiModelProperty("Sink cluster ID")
     private Integer clusterId;
 
-    @ApiModelProperty("Storage cluster URL")
+    @ApiModelProperty("Sink cluster URL")
     private String clusterUrl;
 
 }
\ No newline at end of file
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/StorageExtInfo.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/SinkExtInfo.java
similarity index 79%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/StorageExtInfo.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/SinkExtInfo.java
index cb278a5..255639d 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/StorageExtInfo.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/SinkExtInfo.java
@@ -15,28 +15,27 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.datastorage;
+package org.apache.inlong.manager.common.pojo.sink;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 /**
- * Ext fields of data storage
- *
+ * Ext fields of stream sink
  */
 @Data
-@ApiModel("Ext fields of data storage")
-public class StorageExtInfo {
+@ApiModel("Ext fields of stream sink")
+public class SinkExtInfo {
 
     @ApiModelProperty("key")
     private Integer id;
 
-    @ApiModelProperty("storage type, like: HDFS, HIVE")
-    private String storageType;
+    @ApiModelProperty("sink type, like: HDFS, HIVE")
+    private String sinkType;
 
-    @ApiModelProperty("storage id")
-    private Integer storageId;
+    @ApiModelProperty("sink id")
+    private Integer sinkId;
 
     @ApiModelProperty("property name")
     private String keyName;
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/StorageFieldRequest.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/SinkFieldRequest.java
similarity index 90%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/StorageFieldRequest.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/SinkFieldRequest.java
index c826f46..c3aceb1 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/StorageFieldRequest.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/SinkFieldRequest.java
@@ -15,18 +15,18 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.datastorage;
+package org.apache.inlong.manager.common.pojo.sink;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 /**
- * Storage field info
+ * Sink field info
  */
 @Data
-@ApiModel("Storage field info")
-public class StorageFieldRequest {
+@ApiModel("Sink field info")
+public class SinkFieldRequest {
 
     @ApiModelProperty("Field name")
     private String fieldName;
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/StorageForSortDTO.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/SinkForSortDTO.java
similarity index 86%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/StorageForSortDTO.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/SinkForSortDTO.java
index e3f8958..ea74021 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/StorageForSortDTO.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/SinkForSortDTO.java
@@ -15,29 +15,29 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.datastorage;
+package org.apache.inlong.manager.common.pojo.sink;
 
 import io.swagger.annotations.ApiModel;
 import lombok.Data;
 
 /**
- * Storage info for Sort
+ * Sink info for Sort
  */
 @Data
-@ApiModel("Storage info for Sort")
-public class StorageForSortDTO {
+@ApiModel("Sink info for Sort")
+public class SinkForSortDTO {
 
     private Integer id;
     private String inlongGroupId;
     private String inlongStreamId;
-    private String storageType;
+    private String sinkType;
     private Integer storagePeriod;
     private Integer enableCreateResource;
     private String extParams;
     private Integer status;
     private String creator;
 
-    // Data stream info
+    // Inlong stream info
     private String mqResourceObj;
     private String dataSourceType;
     private String dataType;
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/StorageListResponse.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/SinkListResponse.java
similarity index 74%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/StorageListResponse.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/SinkListResponse.java
index 71f940f..8d29463 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/StorageListResponse.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/SinkListResponse.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.datastorage;
+package org.apache.inlong.manager.common.pojo.sink;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
@@ -24,10 +24,10 @@ import lombok.Data;
 import java.util.Date;
 
 /**
- * Response of the storage list
+ * Response of the sink list
  */
 @Data
-public class StorageListResponse {
+public class SinkListResponse {
 
     @ApiModelProperty(value = "Primary key")
     private Integer id;
@@ -35,19 +35,19 @@ public class StorageListResponse {
     @ApiModelProperty(value = "Status")
     private Integer status;
 
-    @ApiModelProperty(value = "Business group id")
+    @ApiModelProperty(value = "Inlong group id")
     private String inlongGroupId;
 
-    @ApiModelProperty(value = "Data stream id")
+    @ApiModelProperty(value = "Inlong stream id")
     private String inlongStreamId;
 
-    @ApiModelProperty("Storage type, including: HIVE, ES, etc.")
-    private String storageType;
+    @ApiModelProperty("Sink type, including: HIVE, ES, etc.")
+    private String sinkType;
 
-    @ApiModelProperty("storage period, unit: day")
+    @ApiModelProperty("Sink period, unit: day")
     private Integer storagePeriod;
 
-    @ApiModelProperty(value = "Whether to enable create storage resource? 0: disable, 1: enable. default is 1")
+    @ApiModelProperty(value = "Whether to enable create sink resource? 0: disable, 1: enable. default is 1")
     private Integer enableCreateResource;
 
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/StoragePageRequest.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/SinkPageRequest.java
similarity index 76%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/StoragePageRequest.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/SinkPageRequest.java
index cbd9e9f..e0895d9 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/StoragePageRequest.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/SinkPageRequest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.datastorage;
+package org.apache.inlong.manager.common.pojo.sink;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -26,23 +26,23 @@ import org.apache.inlong.manager.common.beans.PageRequest;
 import javax.validation.constraints.NotNull;
 
 /**
- * Paging query conditions for storage
+ * Paging query request for Sink
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
-@ApiModel("Paging query conditions for storage")
-public class StoragePageRequest extends PageRequest {
+@ApiModel("Paging query request for Sink")
+public class SinkPageRequest extends PageRequest {
 
-    @ApiModelProperty(value = "Data group id", required = true)
+    @ApiModelProperty(value = "Inlong group id", required = true)
     @NotNull
     private String inlongGroupId;
 
-    @ApiModelProperty(value = "Data stream id")
+    @ApiModelProperty(value = "Inlong stream id")
     private String inlongStreamId;
 
-    @ApiModelProperty(value = "Storage type, such as HIVE", required = true)
+    @ApiModelProperty(value = "Sink type, such as HIVE", required = true)
     @NotNull
-    private String storageType;
+    private String sinkType;
 
     @ApiModelProperty(value = "Key word")
     private String keyWord;
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/StorageRequest.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/SinkRequest.java
similarity index 69%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/StorageRequest.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/SinkRequest.java
index 5b62659..614221a 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/StorageRequest.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/SinkRequest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.datastorage;
+package org.apache.inlong.manager.common.pojo.sink;
 
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeInfo.Id;
@@ -27,34 +27,34 @@ import javax.validation.constraints.NotNull;
 import java.util.List;
 
 /**
- * Request of storage
+ * Request of sink
  */
 @Data
-@ApiModel("Request of storage")
-@JsonTypeInfo(use = Id.NAME, visible = true, property = "storageType")
-public class StorageRequest {
+@ApiModel("Request of sink")
+@JsonTypeInfo(use = Id.NAME, visible = true, property = "sinkType")
+public class SinkRequest {
 
     private Integer id;
 
-    @ApiModelProperty("Data group id")
+    @ApiModelProperty("Inlong group id")
     @NotNull
     private String inlongGroupId;
 
-    @ApiModelProperty("Data stream id")
+    @ApiModelProperty("Inlong stream id")
     @NotNull
     private String inlongStreamId;
 
-    @ApiModelProperty("Storage type, including: HIVE, ES, etc.")
+    @ApiModelProperty("Sink type, including: HIVE, ES, etc.")
     @NotNull
-    private String storageType;
+    private String sinkType;
 
     @ApiModelProperty("Data storage period, unit: day")
     private Integer storagePeriod;
 
-    @ApiModelProperty(value = "Whether to enable create storage resource? 0: disable, 1: enable. default is 1")
+    @ApiModelProperty(value = "Whether to enable create sink resource? 0: disable, 1: enable. default is 1")
     private Integer enableCreateResource = 1;
 
-    @ApiModelProperty("Storage field list")
-    private List<StorageFieldRequest> fieldList;
+    @ApiModelProperty("Sink field list")
+    private List<SinkFieldRequest> fieldList;
 
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/StorageResponse.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/SinkResponse.java
similarity index 77%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/StorageResponse.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/SinkResponse.java
index c9a21bf..f155328 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/StorageResponse.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/SinkResponse.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.datastorage;
+package org.apache.inlong.manager.common.pojo.sink;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
@@ -26,27 +26,27 @@ import java.util.Date;
 import java.util.List;
 
 /**
- * Response of the storage
+ * Response of the stream sink
  */
 @Data
-@ApiModel("Response of the storage")
-public class StorageResponse {
+@ApiModel("Response of the stream sink")
+public class SinkResponse {
 
     private Integer id;
 
-    @ApiModelProperty("Data group id")
+    @ApiModelProperty("Inlong group id")
     private String inlongGroupId;
 
-    @ApiModelProperty("Data stream id")
+    @ApiModelProperty("Inlong stream id")
     private String inlongStreamId;
 
-    @ApiModelProperty("Storage type, including: HIVE, ES, etc.")
-    private String storageType;
+    @ApiModelProperty("Sink type, including: HIVE, ES, etc.")
+    private String sinkType;
 
     @ApiModelProperty("Data storage period, unit: day")
     private Integer storagePeriod;
 
-    @ApiModelProperty(value = "Whether to enable create storage resource? 0: disable, 1: enable. default is 1",
+    @ApiModelProperty(value = "Whether to enable create sink resource? 0: disable, 1: enable. default is 1",
             notes = "Such as create Hive table")
     private Integer enableCreateResource = 1;
 
@@ -71,7 +71,7 @@ public class StorageResponse {
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date modifyTime;
 
-    @ApiModelProperty("Storage field list")
-    private List<StorageFieldResponse> fieldList;
+    @ApiModelProperty("Sink field list")
+    private List<SinkeFieldResponse> fieldList;
 
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/StorageFieldResponse.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/SinkeFieldResponse.java
similarity index 86%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/StorageFieldResponse.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/SinkeFieldResponse.java
index aa0f201..1babdb4 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/StorageFieldResponse.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/SinkeFieldResponse.java
@@ -15,23 +15,23 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.datastorage;
+package org.apache.inlong.manager.common.pojo.sink;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 /**
- * Storage field response
+ * Sink field response
  */
 @Data
-@ApiModel("Storage field response")
-public class StorageFieldResponse {
+@ApiModel("Sink field response")
+public class SinkeFieldResponse {
 
     private Integer id;
 
-    @ApiModelProperty("Storage ID")
-    private Integer storageId;
+    @ApiModelProperty("Sink ID")
+    private Integer sinkId;
 
     @ApiModelProperty("Field name")
     private String fieldName;
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/ck/ClickHouseStorageDTO.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/ck/ClickHouseSinkDTO.java
similarity index 86%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/ck/ClickHouseStorageDTO.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/ck/ClickHouseSinkDTO.java
index ce0492e..93f7d9b 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/ck/ClickHouseStorageDTO.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/ck/ClickHouseSinkDTO.java
@@ -15,27 +15,28 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.datastorage.ck;
+package org.apache.inlong.manager.common.pojo.sink.ck;
 
 import com.fasterxml.jackson.databind.DeserializationFeature;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import io.swagger.annotations.ApiModelProperty;
-import javax.validation.constraints.NotNull;
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
 import lombok.NoArgsConstructor;
-import org.apache.inlong.manager.common.enums.BizErrorCodeEnum;
+import org.apache.inlong.manager.common.enums.ErrorCodeEnum;
 import org.apache.inlong.manager.common.exceptions.BusinessException;
 
+import javax.validation.constraints.NotNull;
+
 /**
- * ClickHouse storage info
+ * Sink info of ClickHouse
  */
 @Data
 @Builder
 @NoArgsConstructor
 @AllArgsConstructor
-public class ClickHouseStorageDTO {
+public class ClickHouseSinkDTO {
 
     private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
 
@@ -78,8 +79,8 @@ public class ClickHouseStorageDTO {
     /**
      * Get the dto instance from the request
      */
-    public static ClickHouseStorageDTO getFromRequest(ClickHouseStorageRequest request) {
-        return ClickHouseStorageDTO.builder()
+    public static ClickHouseSinkDTO getFromRequest(ClickHouseSinkRequest request) {
+        return ClickHouseSinkDTO.builder()
                 .jdbcUrl(request.getJdbcUrl())
                 .username(request.getUsername())
                 .password(request.getPassword())
@@ -95,12 +96,12 @@ public class ClickHouseStorageDTO {
                 .build();
     }
 
-    public static ClickHouseStorageDTO getFromJson(@NotNull String extParams) {
+    public static ClickHouseSinkDTO getFromJson(@NotNull String extParams) {
         try {
             OBJECT_MAPPER.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
-            return OBJECT_MAPPER.readValue(extParams, ClickHouseStorageDTO.class);
+            return OBJECT_MAPPER.readValue(extParams, ClickHouseSinkDTO.class);
         } catch (Exception e) {
-            throw new BusinessException(BizErrorCodeEnum.STORAGE_INFO_INCORRECT.getMessage());
+            throw new BusinessException(ErrorCodeEnum.SINK_INFO_INCORRECT.getMessage());
         }
     }
 
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/ck/ClickHouseStorageListResponse.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/ck/ClickHouseSinkListResponse.java
similarity index 86%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/ck/ClickHouseStorageListResponse.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/ck/ClickHouseSinkListResponse.java
index 982b7c4..63b1db5 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/ck/ClickHouseStorageListResponse.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/ck/ClickHouseSinkListResponse.java
@@ -15,21 +15,21 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.datastorage.ck;
+package org.apache.inlong.manager.common.pojo.sink.ck;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
-import org.apache.inlong.manager.common.pojo.datastorage.StorageListResponse;
+import org.apache.inlong.manager.common.pojo.sink.SinkListResponse;
 
 /**
- * Response of ClickHouse storage list
+ * Response of ClickHouse sink list
  */
 @Data
 @EqualsAndHashCode(callSuper = true)
-@ApiModel("Response of ClickHouse storage paging list")
-public class ClickHouseStorageListResponse extends StorageListResponse {
+@ApiModel("Response of ClickHouse sink paging list")
+public class ClickHouseSinkListResponse extends SinkListResponse {
 
     @ApiModelProperty("ClickHouse JDBC URL")
     private String jdbcUrl;
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/ck/ClickHouseStorageRequest.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/ck/ClickHouseSinkRequest.java
similarity index 83%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/ck/ClickHouseStorageRequest.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/ck/ClickHouseSinkRequest.java
index 8bf4258..2f28191 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/ck/ClickHouseStorageRequest.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/ck/ClickHouseSinkRequest.java
@@ -15,26 +15,26 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.datastorage.ck;
+package org.apache.inlong.manager.common.pojo.sink.ck;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.ToString;
-import org.apache.inlong.manager.common.enums.BizConstant;
-import org.apache.inlong.manager.common.pojo.datastorage.StorageRequest;
+import org.apache.inlong.manager.common.enums.Constant;
+import org.apache.inlong.manager.common.pojo.sink.SinkRequest;
 import org.apache.inlong.manager.common.util.JsonTypeDefine;
 
 /**
- * Request of the ClickHouse storage info
+ * Request of the ClickHouse sink info
  */
 @Data
 @ToString(callSuper = true)
 @EqualsAndHashCode(callSuper = true)
-@ApiModel(value = "Request of the ClickHouse storage info")
-@JsonTypeDefine(value = BizConstant.STORAGE_CLICKHOUSE)
-public class ClickHouseStorageRequest extends StorageRequest {
+@ApiModel(value = "Request of the ClickHouse sink info")
+@JsonTypeDefine(value = Constant.SINK_CLICKHOUSE)
+public class ClickHouseSinkRequest extends SinkRequest {
 
     @ApiModelProperty("ClickHouse JDBC URL")
     private String jdbcUrl;
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/ck/ClickHouseStorageResponse.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/ck/ClickHouseSinkResponse.java
similarity index 82%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/ck/ClickHouseStorageResponse.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/ck/ClickHouseSinkResponse.java
index 2776414..3afffb4 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/ck/ClickHouseStorageResponse.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/ck/ClickHouseSinkResponse.java
@@ -15,26 +15,26 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.datastorage.ck;
+package org.apache.inlong.manager.common.pojo.sink.ck;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.ToString;
-import org.apache.inlong.manager.common.enums.BizConstant;
-import org.apache.inlong.manager.common.pojo.datastorage.StorageResponse;
+import org.apache.inlong.manager.common.enums.Constant;
+import org.apache.inlong.manager.common.pojo.sink.SinkResponse;
 
 /**
- * Response of the ClickHouse storage
+ * Response of the ClickHouse sink
  */
 @Data
 @ToString(callSuper = true)
 @EqualsAndHashCode(callSuper = true)
-@ApiModel(value = "Response of the ClickHouse storage")
-public class ClickHouseStorageResponse extends StorageResponse {
+@ApiModel(value = "Response of the ClickHouse sink")
+public class ClickHouseSinkResponse extends SinkResponse {
 
-    private String storageType = BizConstant.STORAGE_CLICKHOUSE;
+    private String sinkType = Constant.SINK_CLICKHOUSE;
 
     @ApiModelProperty("ClickHouse JDBC URL")
     private String jdbcUrl;
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/hive/HiveStorageDTO.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/hive/HiveSinkDTO.java
similarity index 87%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/hive/HiveStorageDTO.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/hive/HiveSinkDTO.java
index cb16d39..ed5eef6 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/hive/HiveStorageDTO.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/hive/HiveSinkDTO.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.datastorage.hive;
+package org.apache.inlong.manager.common.pojo.sink.hive;
 
 import com.fasterxml.jackson.databind.DeserializationFeature;
 import com.fasterxml.jackson.databind.ObjectMapper;
@@ -24,19 +24,19 @@ import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
 import lombok.NoArgsConstructor;
-import org.apache.inlong.manager.common.enums.BizErrorCodeEnum;
+import org.apache.inlong.manager.common.enums.ErrorCodeEnum;
 import org.apache.inlong.manager.common.exceptions.BusinessException;
 
 import javax.validation.constraints.NotNull;
 
 /**
- * Hive storage info
+ * Hive sink info
  */
 @Data
 @Builder
 @NoArgsConstructor
 @AllArgsConstructor
-public class HiveStorageDTO {
+public class HiveSinkDTO {
 
     private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper(); // thread safe
 
@@ -88,8 +88,8 @@ public class HiveStorageDTO {
     /**
      * Get the dto instance from the request
      */
-    public static HiveStorageDTO getFromRequest(HiveStorageRequest request) {
-        return HiveStorageDTO.builder()
+    public static HiveSinkDTO getFromRequest(HiveSinkRequest request) {
+        return HiveSinkDTO.builder()
                 .jdbcUrl(request.getJdbcUrl())
                 .username(request.getUsername())
                 .password(request.getPassword())
@@ -108,12 +108,12 @@ public class HiveStorageDTO {
                 .build();
     }
 
-    public static HiveStorageDTO getFromJson(@NotNull String extParams) {
+    public static HiveSinkDTO getFromJson(@NotNull String extParams) {
         try {
             OBJECT_MAPPER.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
-            return OBJECT_MAPPER.readValue(extParams, HiveStorageDTO.class);
+            return OBJECT_MAPPER.readValue(extParams, HiveSinkDTO.class);
         } catch (Exception e) {
-            throw new BusinessException(BizErrorCodeEnum.STORAGE_INFO_INCORRECT.getMessage());
+            throw new BusinessException(ErrorCodeEnum.SINK_INFO_INCORRECT.getMessage());
         }
     }
 
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/hive/HiveStorageListResponse.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/hive/HiveSinkListResponse.java
similarity index 83%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/hive/HiveStorageListResponse.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/hive/HiveSinkListResponse.java
index 35c5f5e..66fee76 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/hive/HiveStorageListResponse.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/hive/HiveSinkListResponse.java
@@ -15,21 +15,21 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.datastorage.hive;
+package org.apache.inlong.manager.common.pojo.sink.hive;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
-import org.apache.inlong.manager.common.pojo.datastorage.StorageListResponse;
+import org.apache.inlong.manager.common.pojo.sink.SinkListResponse;
 
 /**
- * Response of Hive storage list
+ * Response of Hive sink list
  */
 @Data
 @EqualsAndHashCode(callSuper = true)
-@ApiModel("Response of Hive storage paging list")
-public class HiveStorageListResponse extends StorageListResponse {
+@ApiModel("Response of Hive sink paging list")
+public class HiveSinkListResponse extends SinkListResponse {
 
     @ApiModelProperty("target database name")
     private String dbName;
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/hive/HiveStorageRequest.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/hive/HiveSinkRequest.java
similarity index 86%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/hive/HiveStorageRequest.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/hive/HiveSinkRequest.java
index 72b44f7..581f780 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/hive/HiveStorageRequest.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/hive/HiveSinkRequest.java
@@ -15,26 +15,26 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.datastorage.hive;
+package org.apache.inlong.manager.common.pojo.sink.hive;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.ToString;
-import org.apache.inlong.manager.common.enums.BizConstant;
-import org.apache.inlong.manager.common.pojo.datastorage.StorageRequest;
+import org.apache.inlong.manager.common.enums.Constant;
+import org.apache.inlong.manager.common.pojo.sink.SinkRequest;
 import org.apache.inlong.manager.common.util.JsonTypeDefine;
 
 /**
- * Request of the Hive storage info
+ * Request of the Hive sink info
  */
 @Data
 @ToString(callSuper = true)
 @EqualsAndHashCode(callSuper = true)
-@ApiModel(value = "Request of the Hive storage info")
-@JsonTypeDefine(value = BizConstant.STORAGE_HIVE)
-public class HiveStorageRequest extends StorageRequest {
+@ApiModel(value = "Request of the Hive sink info")
+@JsonTypeDefine(value = Constant.SINK_HIVE)
+public class HiveSinkRequest extends SinkRequest {
 
     @ApiModelProperty("Whether to enable create table, 1: enable, 0: disable, default is 1")
     private Integer enableCreateTable = 1;
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/hive/HiveStorageResponse.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/hive/HiveSinkResponse.java
similarity index 85%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/hive/HiveStorageResponse.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/hive/HiveSinkResponse.java
index 5ac2f4c..f0a7b16 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/hive/HiveStorageResponse.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/hive/HiveSinkResponse.java
@@ -15,26 +15,26 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.datastorage.hive;
+package org.apache.inlong.manager.common.pojo.sink.hive;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.ToString;
-import org.apache.inlong.manager.common.enums.BizConstant;
-import org.apache.inlong.manager.common.pojo.datastorage.StorageResponse;
+import org.apache.inlong.manager.common.enums.Constant;
+import org.apache.inlong.manager.common.pojo.sink.SinkResponse;
 
 /**
- * Response of the Hive storage
+ * Response of the Hive sink
  */
 @Data
 @ToString(callSuper = true)
 @EqualsAndHashCode(callSuper = true)
-@ApiModel(value = "Response of the Hive storage")
-public class HiveStorageResponse extends StorageResponse {
+@ApiModel(value = "Response of the Hive sink")
+public class HiveSinkResponse extends SinkResponse {
 
-    private String storageType = BizConstant.STORAGE_HIVE;
+    private String sinkType = Constant.SINK_HIVE;
 
     @ApiModelProperty("Hive JDBC URL")
     private String jdbcUrl;
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/iceberg/IcebergStorageDTO.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/iceberg/IcebergSinkDTO.java
similarity index 75%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/iceberg/IcebergStorageDTO.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/iceberg/IcebergSinkDTO.java
index c35f212..0af7778 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/iceberg/IcebergStorageDTO.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/iceberg/IcebergSinkDTO.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.datastorage.iceberg;
+package org.apache.inlong.manager.common.pojo.sink.iceberg;
 
 import com.fasterxml.jackson.databind.DeserializationFeature;
 import com.fasterxml.jackson.databind.ObjectMapper;
@@ -24,19 +24,19 @@ import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
 import lombok.NoArgsConstructor;
-import org.apache.inlong.manager.common.enums.BizErrorCodeEnum;
+import org.apache.inlong.manager.common.enums.ErrorCodeEnum;
 import org.apache.inlong.manager.common.exceptions.BusinessException;
 
 import javax.validation.constraints.NotNull;
 
 /**
- * Iceberg storage info
+ * Iceberg sink info
  */
 @Data
 @Builder
 @NoArgsConstructor
 @AllArgsConstructor
-public class IcebergStorageDTO {
+public class IcebergSinkDTO {
 
     private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
 
@@ -46,18 +46,18 @@ public class IcebergStorageDTO {
     /**
      * Get the dto instance from the request
      */
-    public static IcebergStorageDTO getFromRequest(IcebergStorageRequest request) {
-        return IcebergStorageDTO.builder()
+    public static IcebergSinkDTO getFromRequest(IcebergSinkRequest request) {
+        return IcebergSinkDTO.builder()
                 .tableLocation(request.getTableLocation())
                 .build();
     }
 
-    public static IcebergStorageDTO getFromJson(@NotNull String extParams) {
+    public static IcebergSinkDTO getFromJson(@NotNull String extParams) {
         try {
             OBJECT_MAPPER.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
-            return OBJECT_MAPPER.readValue(extParams, IcebergStorageDTO.class);
+            return OBJECT_MAPPER.readValue(extParams, IcebergSinkDTO.class);
         } catch (Exception e) {
-            throw new BusinessException(BizErrorCodeEnum.STORAGE_INFO_INCORRECT.getMessage());
+            throw new BusinessException(ErrorCodeEnum.SINK_INFO_INCORRECT.getMessage());
         }
     }
 
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/iceberg/IcebergStorageListResponse.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/iceberg/IcebergSinkListResponse.java
similarity index 78%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/iceberg/IcebergStorageListResponse.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/iceberg/IcebergSinkListResponse.java
index 53dea4e..7aa495c 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/iceberg/IcebergStorageListResponse.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/iceberg/IcebergSinkListResponse.java
@@ -15,21 +15,21 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.datastorage.iceberg;
+package org.apache.inlong.manager.common.pojo.sink.iceberg;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
-import org.apache.inlong.manager.common.pojo.datastorage.StorageListResponse;
+import org.apache.inlong.manager.common.pojo.sink.SinkListResponse;
 
 /**
- * Response of Iceberg storage list
+ * Response of Iceberg sink list
  */
 @Data
 @EqualsAndHashCode(callSuper = true)
-@ApiModel("Response of Iceberg storage paging list")
-public class IcebergStorageListResponse extends StorageListResponse {
+@ApiModel("Response of Iceberg sink paging list")
+public class IcebergSinkListResponse extends SinkListResponse {
 
     @ApiModelProperty("table Location like hdfs://")
     private String tableLocation;
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/iceberg/IcebergStorageRequest.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/iceberg/IcebergSinkRequest.java
similarity index 74%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/iceberg/IcebergStorageRequest.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/iceberg/IcebergSinkRequest.java
index ecaa019..fa0ba9f 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/iceberg/IcebergStorageRequest.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/iceberg/IcebergSinkRequest.java
@@ -15,26 +15,26 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.datastorage.iceberg;
+package org.apache.inlong.manager.common.pojo.sink.iceberg;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.ToString;
-import org.apache.inlong.manager.common.enums.BizConstant;
-import org.apache.inlong.manager.common.pojo.datastorage.StorageRequest;
+import org.apache.inlong.manager.common.enums.Constant;
+import org.apache.inlong.manager.common.pojo.sink.SinkRequest;
 import org.apache.inlong.manager.common.util.JsonTypeDefine;
 
 /**
- * Request of the Iceberg storage info
+ * Request of the Iceberg sink info
  */
 @Data
 @ToString(callSuper = true)
 @EqualsAndHashCode(callSuper = true)
-@ApiModel(value = "Request of the Iceberg storage info")
-@JsonTypeDefine(value = BizConstant.STORAGE_ICEBERG)
-public class IcebergStorageRequest extends StorageRequest {
+@ApiModel(value = "Request of the Iceberg sink info")
+@JsonTypeDefine(value = Constant.SINK_ICEBERG)
+public class IcebergSinkRequest extends SinkRequest {
 
     @ApiModelProperty("table Location like hdfs://")
     private String tableLocation;
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/iceberg/IcebergStorageResponse.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/iceberg/IcebergSinkResponse.java
similarity index 73%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/iceberg/IcebergStorageResponse.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/iceberg/IcebergSinkResponse.java
index ff8673b..f64a3ae 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/iceberg/IcebergStorageResponse.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/iceberg/IcebergSinkResponse.java
@@ -15,26 +15,26 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.datastorage.iceberg;
+package org.apache.inlong.manager.common.pojo.sink.iceberg;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.ToString;
-import org.apache.inlong.manager.common.enums.BizConstant;
-import org.apache.inlong.manager.common.pojo.datastorage.StorageResponse;
+import org.apache.inlong.manager.common.enums.Constant;
+import org.apache.inlong.manager.common.pojo.sink.SinkResponse;
 
 /**
- * Response of the Iceberg storage
+ * Response of the Iceberg sink
  */
 @Data
 @ToString(callSuper = true)
 @EqualsAndHashCode(callSuper = true)
-@ApiModel(value = "Response of the Iceberg storage")
-public class IcebergStorageResponse extends StorageResponse {
+@ApiModel(value = "Response of the Iceberg sink")
+public class IcebergSinkResponse extends SinkResponse {
 
-    private String storageType = BizConstant.STORAGE_ICEBERG;
+    private String sinkType = Constant.SINK_ICEBERG;
 
     @ApiModelProperty("table Location like hdfs://")
     private String tableLocation;
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/kafka/KafkaStorageDTO.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/kafka/KafkaSinkDTO.java
similarity index 78%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/kafka/KafkaStorageDTO.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/kafka/KafkaSinkDTO.java
index 8da38f5..58b54e4 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/kafka/KafkaStorageDTO.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/kafka/KafkaSinkDTO.java
@@ -15,27 +15,28 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.datastorage.kafka;
+package org.apache.inlong.manager.common.pojo.sink.kafka;
 
 import com.fasterxml.jackson.databind.DeserializationFeature;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import io.swagger.annotations.ApiModelProperty;
-import javax.validation.constraints.NotNull;
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
 import lombok.NoArgsConstructor;
-import org.apache.inlong.manager.common.enums.BizErrorCodeEnum;
+import org.apache.inlong.manager.common.enums.ErrorCodeEnum;
 import org.apache.inlong.manager.common.exceptions.BusinessException;
 
+import javax.validation.constraints.NotNull;
+
 /**
- * Kafka storage info
+ * Kafka sink info
  */
 @Data
 @Builder
 @NoArgsConstructor
 @AllArgsConstructor
-public class KafkaStorageDTO {
+public class KafkaSinkDTO {
 
     private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
 
@@ -51,20 +52,20 @@ public class KafkaStorageDTO {
     /**
      * Get the dto instance from the request
      */
-    public static KafkaStorageDTO getFromRequest(KafkaStorageRequest request) {
-        return KafkaStorageDTO.builder()
+    public static KafkaSinkDTO getFromRequest(KafkaSinkRequest request) {
+        return KafkaSinkDTO.builder()
                 .address(request.getAddress())
                 .topicName(request.getTopicName())
                 .serializationType(request.getSerializationType())
                 .build();
     }
 
-    public static KafkaStorageDTO getFromJson(@NotNull String extParams) {
+    public static KafkaSinkDTO getFromJson(@NotNull String extParams) {
         try {
             OBJECT_MAPPER.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
-            return OBJECT_MAPPER.readValue(extParams, KafkaStorageDTO.class);
+            return OBJECT_MAPPER.readValue(extParams, KafkaSinkDTO.class);
         } catch (Exception e) {
-            throw new BusinessException(BizErrorCodeEnum.STORAGE_INFO_INCORRECT.getMessage());
+            throw new BusinessException(ErrorCodeEnum.SINK_INFO_INCORRECT.getMessage());
         }
     }
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/kafka/KafkaStorageListResponse.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/kafka/KafkaSinkListResponse.java
similarity index 80%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/kafka/KafkaStorageListResponse.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/kafka/KafkaSinkListResponse.java
index f24af95..9aebfb9 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/kafka/KafkaStorageListResponse.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/kafka/KafkaSinkListResponse.java
@@ -15,21 +15,21 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.datastorage.kafka;
+package org.apache.inlong.manager.common.pojo.sink.kafka;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
-import org.apache.inlong.manager.common.pojo.datastorage.StorageListResponse;
+import org.apache.inlong.manager.common.pojo.sink.SinkListResponse;
 
 /**
- * Response of Kafka storage list
+ * Response of Kafka sink list
  */
 @Data
 @EqualsAndHashCode(callSuper = true)
-@ApiModel("Response of Kafka storage paging list")
-public class KafkaStorageListResponse extends StorageListResponse {
+@ApiModel("Response of Kafka sink paging list")
+public class KafkaSinkListResponse extends SinkListResponse {
 
     @ApiModelProperty("Kafka bootstrap servers")
     private String address;
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/kafka/KafkaStorageRequest.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/kafka/KafkaSinkRequest.java
similarity index 77%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/kafka/KafkaStorageRequest.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/kafka/KafkaSinkRequest.java
index 0d75808..98cefb5 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/kafka/KafkaStorageRequest.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/kafka/KafkaSinkRequest.java
@@ -15,26 +15,26 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.datastorage.kafka;
+package org.apache.inlong.manager.common.pojo.sink.kafka;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.ToString;
-import org.apache.inlong.manager.common.enums.BizConstant;
-import org.apache.inlong.manager.common.pojo.datastorage.StorageRequest;
+import org.apache.inlong.manager.common.enums.Constant;
+import org.apache.inlong.manager.common.pojo.sink.SinkRequest;
 import org.apache.inlong.manager.common.util.JsonTypeDefine;
 
 /**
- * Request of the Kafka storage info
+ * Request of the Kafka sink info
  */
 @Data
 @ToString(callSuper = true)
 @EqualsAndHashCode(callSuper = true)
-@ApiModel(value = "Request of the Kafka storage info")
-@JsonTypeDefine(value = BizConstant.STORAGE_KAFKA)
-public class KafkaStorageRequest extends StorageRequest {
+@ApiModel(value = "Request of the Kafka sink info")
+@JsonTypeDefine(value = Constant.SINK_KAFKA)
+public class KafkaSinkRequest extends SinkRequest {
 
     @ApiModelProperty("Kafka bootstrap servers")
     private String address;
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/kafka/KafkaStorageResponse.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/kafka/KafkaSinkResponse.java
similarity index 76%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/kafka/KafkaStorageResponse.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/kafka/KafkaSinkResponse.java
index 9c1053f..6f85bd5 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastorage/kafka/KafkaStorageResponse.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sink/kafka/KafkaSinkResponse.java
@@ -15,26 +15,26 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.datastorage.kafka;
+package org.apache.inlong.manager.common.pojo.sink.kafka;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.ToString;
-import org.apache.inlong.manager.common.enums.BizConstant;
-import org.apache.inlong.manager.common.pojo.datastorage.StorageResponse;
+import org.apache.inlong.manager.common.enums.Constant;
+import org.apache.inlong.manager.common.pojo.sink.SinkResponse;
 
 /**
- * Response of the Kafka storage
+ * Response of the Kafka sink
  */
 @Data
 @ToString(callSuper = true)
 @EqualsAndHashCode(callSuper = true)
-@ApiModel(value = "Response of the Kafka storage")
-public class KafkaStorageResponse extends StorageResponse {
+@ApiModel(value = "Response of the Kafka sink")
+public class KafkaSinkResponse extends SinkResponse {
 
-    private String storageType = BizConstant.STORAGE_KAFKA;
+    private String sinkType = Constant.SINK_KAFKA;
 
     @ApiModelProperty("Kafka bootstrap servers")
     private String address;
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sort/StorageForHive.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sort/StorageForHive.java
deleted file mode 100644
index 0518a82..0000000
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/sort/StorageForHive.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.inlong.manager.common.pojo.sort;
-
-public class StorageForHive {
-}
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datasource/SourceDbBasicInfo.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/source/SourceDbBasicInfo.java
similarity index 87%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datasource/SourceDbBasicInfo.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/source/SourceDbBasicInfo.java
index 3db8900..c900177 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datasource/SourceDbBasicInfo.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/source/SourceDbBasicInfo.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.datasource;
+package org.apache.inlong.manager.common.pojo.source;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
@@ -24,19 +24,19 @@ import java.util.Date;
 import lombok.Data;
 
 /**
- * Basic information of DB data source
+ * Basic information of DB source
  */
 @Data
-@ApiModel("DB data source basic information")
+@ApiModel("DB source basic information")
 public class SourceDbBasicInfo {
 
     @ApiModelProperty(value = "Primary key")
     private Integer id;
 
-    @ApiModelProperty(value = "Business group id")
+    @ApiModelProperty(value = "Inlong group id")
     private String inlongGroupId;
 
-    @ApiModelProperty(value = "Data stream id")
+    @ApiModelProperty(value = "Inlong stream id")
     private String inlongStreamId;
 
     @ApiModelProperty(value = "Data synchronization type, 0: FULL, full, 1: INCREMENTAL, incremental")
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datasource/SourceDbDetailInfo.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/source/SourceDbDetailInfo.java
similarity index 90%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datasource/SourceDbDetailInfo.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/source/SourceDbDetailInfo.java
index 597c599..fc25985 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datasource/SourceDbDetailInfo.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/source/SourceDbDetailInfo.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.datasource;
+package org.apache.inlong.manager.common.pojo.source;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
@@ -24,19 +24,19 @@ import java.util.Date;
 import lombok.Data;
 
 /**
- * DB data source details
+ * DB source details
  */
 @Data
-@ApiModel("DB data source details")
+@ApiModel("DB source details")
 public class SourceDbDetailInfo {
 
     @ApiModelProperty(value = "Primary key")
     private Integer id;
 
-    @ApiModelProperty(value = "Business group id")
+    @ApiModelProperty(value = "Inlong group id")
     private String inlongGroupId;
 
-    @ApiModelProperty(value = "Data stream id")
+    @ApiModelProperty(value = "Inlong stream id")
     private String inlongStreamId;
 
     @ApiModelProperty(value = "Collection type, with Agent, DataProxy client, LoadProxy")
@@ -63,7 +63,7 @@ public class SourceDbDetailInfo {
     @ApiModelProperty(value = "Data table fields, separated by commas, need to be incremented")
     private String tableFields;
 
-    @ApiModelProperty(value = "Data source status")
+    @ApiModelProperty(value = "Source status")
     private Integer status;
 
     @ApiModelProperty(value = "Previous status")
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datasource/SourceDbDetailListVO.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/source/SourceDbDetailListVO.java
similarity index 93%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datasource/SourceDbDetailListVO.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/source/SourceDbDetailListVO.java
index 4b75a09..dad1885 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datasource/SourceDbDetailListVO.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/source/SourceDbDetailListVO.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.datasource;
+package org.apache.inlong.manager.common.pojo.source;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
@@ -24,16 +24,16 @@ import java.util.Date;
 import lombok.Data;
 
 /**
- * DB data source list
+ * DB source list
  */
 @Data
-@ApiModel("DB data source list")
+@ApiModel("DB source list")
 public class SourceDbDetailListVO {
 
     @ApiModelProperty(value = "Primary key")
     private Integer id;
 
-    @ApiModelProperty(value = "Data stream id")
+    @ApiModelProperty(value = "Inlong stream id")
     private String inlongStreamId;
 
     @ApiModelProperty(value = "Collection type, with Agent, DataProxy client, LoadProxy")
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datasource/SourceDbDetailPageRequest.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/source/SourceDbDetailPageRequest.java
similarity index 86%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datasource/SourceDbDetailPageRequest.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/source/SourceDbDetailPageRequest.java
index 55c9ee5..0df14da 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datasource/SourceDbDetailPageRequest.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/source/SourceDbDetailPageRequest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.datasource;
+package org.apache.inlong.manager.common.pojo.source;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -24,14 +24,14 @@ import lombok.EqualsAndHashCode;
 import org.apache.inlong.manager.common.beans.PageRequest;
 
 /**
- * DB data source detailed information paging query conditions
+ * DB source detailed information paging query conditions
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
-@ApiModel("DB data source query conditions")
+@ApiModel("DB source query conditions")
 public class SourceDbDetailPageRequest extends PageRequest {
 
-    @ApiModelProperty(value = "Business group id")
+    @ApiModelProperty(value = "Inlong group id")
     private String inlongGroupId;
 
     @ApiModelProperty(value = "Keywords")
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datasource/SourceFileBasicInfo.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/source/SourceFileBasicInfo.java
similarity index 86%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datasource/SourceFileBasicInfo.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/source/SourceFileBasicInfo.java
index 3e2d144..c17b912 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datasource/SourceFileBasicInfo.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/source/SourceFileBasicInfo.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.datasource;
+package org.apache.inlong.manager.common.pojo.source;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
@@ -24,21 +24,21 @@ import java.util.Date;
 import lombok.Data;
 
 /**
- * Basic information of file data source
+ * Basic information of file source
  */
 @Data
-@ApiModel("Basic information of file data source")
+@ApiModel("Basic information of file source")
 public class SourceFileBasicInfo {
 
     private Integer id;
 
-    @ApiModelProperty(value = "Business group id")
+    @ApiModelProperty(value = "Inlong group id")
     private String inlongGroupId;
 
-    @ApiModelProperty(value = "Data stream id")
+    @ApiModelProperty(value = "Inlong stream id")
     private String inlongStreamId;
 
-    @ApiModelProperty(value = "Is a hybrid data source, 0: no, 1: yes")
+    @ApiModelProperty(value = "Is a hybrid source, 0: no, 1: yes")
     private Integer isHybridSource;
 
     @ApiModelProperty(value = "Time offset")
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datasource/SourceFileDetailInfo.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/source/SourceFileDetailInfo.java
similarity index 78%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datasource/SourceFileDetailInfo.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/source/SourceFileDetailInfo.java
index 32a8267..4184620 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datasource/SourceFileDetailInfo.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/source/SourceFileDetailInfo.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.datasource;
+package org.apache.inlong.manager.common.pojo.source;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
@@ -24,28 +24,28 @@ import java.util.Date;
 import lombok.Data;
 
 /**
- * File data source details
+ * File source details
  */
 @Data
-@ApiModel("File data source details")
+@ApiModel("File source details")
 public class SourceFileDetailInfo {
 
     @ApiModelProperty(value = "Primary key")
     private Integer id;
 
-    @ApiModelProperty(value = "Business iIdentifier")
+    @ApiModelProperty(value = "Inlong group id")
     private String inlongGroupId;
 
-    @ApiModelProperty(value = "Data stream id")
+    @ApiModelProperty(value = "Inlong stream id")
     private String inlongStreamId;
 
-    @ApiModelProperty(value = "Name of the data source service")
+    @ApiModelProperty(value = "Name of the source service")
     private String serverName;
 
-    @ApiModelProperty(value = "Data source IP address")
+    @ApiModelProperty(value = "Source IP address")
     private String ip;
 
-    @ApiModelProperty(value = "Data source port number")
+    @ApiModelProperty(value = "Source port number")
     private Integer port;
 
     @ApiModelProperty(value = "Delivery method, with SSH, TCS")
@@ -54,16 +54,16 @@ public class SourceFileDetailInfo {
     @ApiModelProperty(value = "Collection type, Agent, DataProxy Client, LoadProxy, file can only be Agent")
     private String accessType = "Agent";
 
-    @ApiModelProperty(value = "User name of the data source IP host")
+    @ApiModelProperty(value = "User name of the source IP host")
     private String username;
 
-    @ApiModelProperty(value = "Login password of the data source host")
+    @ApiModelProperty(value = "Login password of the source host")
     private String password;
 
     @ApiModelProperty(value = "File path, supports regular matching")
     private String filePath;
 
-    @ApiModelProperty(value = "Data source status")
+    @ApiModelProperty(value = "Source status")
     private Integer status;
 
     @ApiModelProperty(value = "Previous status")
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datasource/SourceFileDetailListVO.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/source/SourceFileDetailListVO.java
similarity index 84%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datasource/SourceFileDetailListVO.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/source/SourceFileDetailListVO.java
index 4769786..4fb0458 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datasource/SourceFileDetailListVO.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/source/SourceFileDetailListVO.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.datasource;
+package org.apache.inlong.manager.common.pojo.source;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
@@ -24,22 +24,22 @@ import java.util.Date;
 import lombok.Data;
 
 /**
- * File data source list
+ * File source list
  */
 @Data
-@ApiModel("File data source list")
+@ApiModel("File source list")
 public class SourceFileDetailListVO {
 
     @ApiModelProperty(value = "Primary key")
     private Integer id;
 
-    @ApiModelProperty(value = "Data stream id")
+    @ApiModelProperty(value = "Inlong stream id")
     private String inlongStreamId;
 
-    @ApiModelProperty(value = "Data source IP address")
+    @ApiModelProperty(value = "Source IP address")
     private String ip;
 
-    @ApiModelProperty(value = "Data source port")
+    @ApiModelProperty(value = "Source port")
     private Integer port;
 
     @ApiModelProperty(value = "Issue type, including: SSH, TCS")
@@ -48,7 +48,7 @@ public class SourceFileDetailListVO {
     @ApiModelProperty(value = "Access type, support: Agent, DataProxy Client, LoadProxy, the File can only be Agent")
     private String accessType = "Agent";
 
-    @ApiModelProperty(value = "User name of the data source IP host")
+    @ApiModelProperty(value = "User name of the source IP host")
     private String username;
 
     @ApiModelProperty(value = "File path, supports regular matching")
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datasource/SourceFileDetailPageRequest.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/source/SourceFileDetailPageRequest.java
similarity index 87%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datasource/SourceFileDetailPageRequest.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/source/SourceFileDetailPageRequest.java
index 3fa5089..e8dd9a6 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datasource/SourceFileDetailPageRequest.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/source/SourceFileDetailPageRequest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.datasource;
+package org.apache.inlong.manager.common.pojo.source;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -24,14 +24,14 @@ import lombok.EqualsAndHashCode;
 import org.apache.inlong.manager.common.beans.PageRequest;
 
 /**
- * File data source query conditions
+ * File source query conditions
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
-@ApiModel("File data source query conditions")
+@ApiModel("File source query conditions")
 public class SourceFileDetailPageRequest extends PageRequest {
 
-    @ApiModelProperty(value = "Business group id")
+    @ApiModelProperty(value = "Inlong group id")
     private String inlongGroupId;
 
     @ApiModelProperty(value = "Key word")
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastream/FullPageUpdateInfo.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/stream/FullPageUpdateRequest.java
similarity index 69%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastream/FullPageUpdateInfo.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/stream/FullPageUpdateRequest.java
index c12a43d..a69112a 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastream/FullPageUpdateInfo.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/stream/FullPageUpdateRequest.java
@@ -15,24 +15,24 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.datastream;
+package org.apache.inlong.manager.common.pojo.stream;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import org.apache.inlong.manager.common.pojo.datasource.SourceDbBasicInfo;
-import org.apache.inlong.manager.common.pojo.datasource.SourceFileBasicInfo;
+import org.apache.inlong.manager.common.pojo.source.SourceDbBasicInfo;
+import org.apache.inlong.manager.common.pojo.source.SourceFileBasicInfo;
 
 /**
- * Information of the data stream page,
- * <p/>including the basic information of the data flow and data source
+ * Inlong stream page update request,
+ * <p/>including the basic info of the inlong stream and source
  */
 @Data
-@ApiModel("Information of the data stream page")
-public class FullPageUpdateInfo {
+@ApiModel("Inlong stream page update request")
+public class FullPageUpdateRequest {
 
-    @ApiModelProperty("Data stream info")
-    private DataStreamInfo streamInfo;
+    @ApiModelProperty("Inlong stream info")
+    private InlongStreamInfo streamInfo;
 
     @ApiModelProperty("Basic file info")
     private SourceFileBasicInfo fileBasicInfo;
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastream/FullStreamRequest.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/stream/FullStreamRequest.java
similarity index 54%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastream/FullStreamRequest.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/stream/FullStreamRequest.java
index bcfc55a..6ddc0c7 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastream/FullStreamRequest.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/stream/FullStreamRequest.java
@@ -15,42 +15,42 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.datastream;
+package org.apache.inlong.manager.common.pojo.stream;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import org.apache.inlong.manager.common.pojo.datasource.SourceDbBasicInfo;
-import org.apache.inlong.manager.common.pojo.datasource.SourceDbDetailInfo;
-import org.apache.inlong.manager.common.pojo.datasource.SourceFileBasicInfo;
-import org.apache.inlong.manager.common.pojo.datasource.SourceFileDetailInfo;
-import org.apache.inlong.manager.common.pojo.datastorage.StorageRequest;
+import org.apache.inlong.manager.common.pojo.sink.SinkRequest;
+import org.apache.inlong.manager.common.pojo.source.SourceDbBasicInfo;
+import org.apache.inlong.manager.common.pojo.source.SourceDbDetailInfo;
+import org.apache.inlong.manager.common.pojo.source.SourceFileBasicInfo;
+import org.apache.inlong.manager.common.pojo.source.SourceFileDetailInfo;
 
 import java.util.List;
 
 /**
- * All request info on the data stream page, including data stream, data source, and data storage
+ * All request info on the inlong stream page, including inlong stream, source, and stream sink
  */
 @Data
-@ApiModel("All request info on the data stream page")
+@ApiModel("All request info on the inlong stream page")
 public class FullStreamRequest {
 
-    @ApiModelProperty("Data stream information")
-    private DataStreamInfo streamInfo;
+    @ApiModelProperty("Inlong stream information")
+    private InlongStreamInfo streamInfo;
 
-    @ApiModelProperty("Basic information of file data source")
+    @ApiModelProperty("Basic information of file source")
     private SourceFileBasicInfo fileBasicInfo;
 
-    @ApiModelProperty("File data source details")
+    @ApiModelProperty("File source details")
     private List<SourceFileDetailInfo> fileDetailInfoList;
 
-    @ApiModelProperty("DB data source basic information")
+    @ApiModelProperty("DB source basic information")
     private SourceDbBasicInfo dbBasicInfo;
 
-    @ApiModelProperty("DB data source details")
+    @ApiModelProperty("DB source details")
     private List<SourceDbDetailInfo> dbDetailInfoList;
 
-    @ApiModelProperty("Data storage information")
-    private List<StorageRequest> storageInfo;
+    @ApiModelProperty("Sink information")
+    private List<SinkRequest> sinkInfo;
 
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastream/FullStreamResponse.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/stream/FullStreamResponse.java
similarity index 54%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastream/FullStreamResponse.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/stream/FullStreamResponse.java
index e7027a0..527970f 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastream/FullStreamResponse.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/stream/FullStreamResponse.java
@@ -15,42 +15,42 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.datastream;
+package org.apache.inlong.manager.common.pojo.stream;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import org.apache.inlong.manager.common.pojo.datasource.SourceDbBasicInfo;
-import org.apache.inlong.manager.common.pojo.datasource.SourceDbDetailInfo;
-import org.apache.inlong.manager.common.pojo.datasource.SourceFileBasicInfo;
-import org.apache.inlong.manager.common.pojo.datasource.SourceFileDetailInfo;
-import org.apache.inlong.manager.common.pojo.datastorage.StorageResponse;
+import org.apache.inlong.manager.common.pojo.sink.SinkResponse;
+import org.apache.inlong.manager.common.pojo.source.SourceDbBasicInfo;
+import org.apache.inlong.manager.common.pojo.source.SourceDbDetailInfo;
+import org.apache.inlong.manager.common.pojo.source.SourceFileBasicInfo;
+import org.apache.inlong.manager.common.pojo.source.SourceFileDetailInfo;
 
 import java.util.List;
 
 /**
- * All response info on the data stream page, including data stream, data source, and data storage
+ * All response info on the inlong stream page, including inlong stream, source, and stream sink
  */
 @Data
-@ApiModel("All response info on the data stream page")
+@ApiModel("All response info on the inlong stream page")
 public class FullStreamResponse {
 
-    @ApiModelProperty("Data stream information")
-    private DataStreamInfo streamInfo;
+    @ApiModelProperty("Inlong stream information")
+    private InlongStreamInfo streamInfo;
 
-    @ApiModelProperty("Basic information of file data source")
+    @ApiModelProperty("Basic information of file source")
     private SourceFileBasicInfo fileBasicInfo;
 
-    @ApiModelProperty("File data source details")
+    @ApiModelProperty("File source details")
     private List<SourceFileDetailInfo> fileDetailInfoList;
 
-    @ApiModelProperty("DB data source basic information")
+    @ApiModelProperty("DB source basic information")
     private SourceDbBasicInfo dbBasicInfo;
 
-    @ApiModelProperty("DB data source details")
+    @ApiModelProperty("DB source details")
     private List<SourceDbDetailInfo> dbDetailInfoList;
 
-    @ApiModelProperty("Data storage information")
-    private List<StorageResponse> storageInfo;
+    @ApiModelProperty("Data sink information")
+    private List<SinkResponse> sinkInfo;
 
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastream/DataStreamApproveInfo.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/stream/InlongStreamApproveRequest.java
similarity index 70%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastream/DataStreamApproveInfo.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/stream/InlongStreamApproveRequest.java
index 353f01a..87eef3e 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastream/DataStreamApproveInfo.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/stream/InlongStreamApproveRequest.java
@@ -15,32 +15,32 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.datastream;
-
-import java.util.List;
+package org.apache.inlong.manager.common.pojo.stream;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import org.apache.inlong.manager.common.pojo.datastorage.StorageApproveDTO;
+import org.apache.inlong.manager.common.pojo.sink.SinkApproveDTO;
+
+import java.util.List;
 
 /**
- * Data stream approval information
+ * Inlong stream approval info
  */
 @Data
-@ApiModel("Data Stream Approval Information")
-public class DataStreamApproveInfo {
+@ApiModel("Inlong stream approval info")
+public class InlongStreamApproveRequest {
 
     @ApiModelProperty(value = "Primary key")
     private Integer id;
 
-    @ApiModelProperty(value = "Business group id")
+    @ApiModelProperty(value = "Inlong group id")
     private String inlongGroupId;
 
-    @ApiModelProperty(value = "Data stream id")
+    @ApiModelProperty(value = "Inlong stream id")
     private String inlongStreamId;
 
-    @ApiModelProperty(value = "Data storage approve list")
-    private List<StorageApproveDTO> storageList;
+    @ApiModelProperty(value = "Stream sink approve list")
+    private List<SinkApproveDTO> sinkList;
 
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastream/DataStreamBaseInfo.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/stream/InlongStreamBaseInfo.java
similarity index 80%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastream/DataStreamBaseInfo.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/stream/InlongStreamBaseInfo.java
index 4433618..704b2d2 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastream/DataStreamBaseInfo.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/stream/InlongStreamBaseInfo.java
@@ -15,21 +15,21 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.datastream;
+package org.apache.inlong.manager.common.pojo.stream;
 
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 /**
- * Basic information of data flow
+ * Basic information of inlong stream
  */
 @Data
-public class DataStreamBaseInfo {
+public class InlongStreamBaseInfo {
 
-    @ApiModelProperty(value = "Business group id")
+    @ApiModelProperty(value = "Inlong group id")
     private String inlongGroupId;
 
-    @ApiModelProperty(value = "Data stream id")
+    @ApiModelProperty(value = "Inlong stream id")
     private String inlongStreamId;
 
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastream/DataStreamExtInfo.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/stream/InlongStreamExtInfo.java
similarity index 80%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastream/DataStreamExtInfo.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/stream/InlongStreamExtInfo.java
index 74009f4..e2af9ac 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastream/DataStreamExtInfo.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/stream/InlongStreamExtInfo.java
@@ -15,26 +15,26 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.datastream;
+package org.apache.inlong.manager.common.pojo.stream;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 /**
- * Data stream extension information
+ * Inlong stream extension info
  */
 @Data
-@ApiModel("Data stream extension information")
-public class DataStreamExtInfo {
+@ApiModel("Inlong stream extension info")
+public class InlongStreamExtInfo {
 
     @ApiModelProperty(value = "Primary key")
     private Integer id;
 
-    @ApiModelProperty(value = "Business group id", required = true)
+    @ApiModelProperty(value = "Inlong group id", required = true)
     private String inlongGroupId;
 
-    @ApiModelProperty(value = "Data stream id", required = true)
+    @ApiModelProperty(value = "Inlong stream id", required = true)
     private String inlongStreamId;
 
     @ApiModelProperty(value = "Property name", required = true)
@@ -42,4 +42,5 @@ public class DataStreamExtInfo {
 
     @ApiModelProperty(value = "Property value")
     private String keyValue;
+
 }
\ No newline at end of file
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastream/DataStreamFieldInfo.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/stream/InlongStreamFieldInfo.java
similarity index 81%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastream/DataStreamFieldInfo.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/stream/InlongStreamFieldInfo.java
index 39f2dc2..754280a 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastream/DataStreamFieldInfo.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/stream/InlongStreamFieldInfo.java
@@ -15,25 +15,25 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.datastream;
+package org.apache.inlong.manager.common.pojo.stream;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 /**
- * Data stream field info
+ * Inlong stream field info
  */
 @Data
-@ApiModel("Data stream field info")
-public class DataStreamFieldInfo {
+@ApiModel("Inlong stream field info")
+public class InlongStreamFieldInfo {
 
     private Integer id;
 
-    @ApiModelProperty(value = "business group id", required = true)
+    @ApiModelProperty(value = "inlong group id", required = true)
     private String inlongGroupId;
 
-    @ApiModelProperty(value = "data stream id", required = true)
+    @ApiModelProperty(value = "inlong stream id", required = true)
     private String inlongStreamId;
 
     @ApiModelProperty(value = "is predefined field, 1: ye, 0: no")
@@ -55,7 +55,7 @@ public class DataStreamFieldInfo {
     @ApiModelProperty(value = "field rank num")
     private Short rankNum;
 
-    @ApiModelProperty(value = "is deleted? 0: deleted, 1: not deleted")
+    @ApiModelProperty(value = "is deleted? 0: deleted, > 0: not deleted")
     private Integer isDeleted = 0;
 
 }
\ No newline at end of file
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastream/DataStreamInfo.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/stream/InlongStreamInfo.java
similarity index 83%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastream/DataStreamInfo.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/stream/InlongStreamInfo.java
index 9e60f4d..0f13c7a 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastream/DataStreamInfo.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/stream/InlongStreamInfo.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.datastream;
+package org.apache.inlong.manager.common.pojo.stream;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
@@ -26,30 +26,30 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 
 /**
- * Data stream info
+ * Inlong stream info
  */
 @Data
 @EqualsAndHashCode(callSuper = true)
-@ApiModel("Data stream info")
-public class DataStreamInfo extends DataStreamBaseInfo {
+@ApiModel("Inlong stream info")
+public class InlongStreamInfo extends InlongStreamBaseInfo {
 
     @ApiModelProperty(value = "Primary key")
     private Integer id;
 
-    @ApiModelProperty(value = "Data stream name", required = true)
+    @ApiModelProperty(value = "Inlong stream name", required = true)
     private String name;
 
-    @ApiModelProperty(value = "Data stream description")
+    @ApiModelProperty(value = "Inlong stream description")
     private String description;
 
-    @ApiModelProperty(value = "MQ resource object, in business",
+    @ApiModelProperty(value = "MQ resource object, in inlong group",
             notes = "Tube corresponds to Topic, Pulsar corresponds to Namespace")
     private String mqResourceObj;
 
-    @ApiModelProperty(value = "Data source type, including: FILE, DB, AUTO_PUSH (DATA_PROXY_SDK, HTTP)")
+    @ApiModelProperty(value = "Source type, including: FILE, DB, AUTO_PUSH (DATA_PROXY_SDK, HTTP)")
     private String dataSourceType;
 
-    @ApiModelProperty(value = "Data storage period in MQ, unit: day (required when dataSourceType=AUTO_PUSH)")
+    @ApiModelProperty(value = "Data storage period, unit: day (required when dataSourceType=AUTO_PUSH)")
     private Integer storagePeriod;
 
     @ApiModelProperty(value = "Data type, only support: TEXT")
@@ -105,9 +105,9 @@ public class DataStreamInfo extends DataStreamBaseInfo {
     private String tempView;
 
     @ApiModelProperty(value = "Extended information list")
-    private List<DataStreamExtInfo> extList;
+    private List<InlongStreamExtInfo> extList;
 
     @ApiModelProperty(value = "Field list")
-    private List<DataStreamFieldInfo> fieldList;
+    private List<InlongStreamFieldInfo> fieldList;
 
 }
\ No newline at end of file
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastream/DataStreamListVO.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/stream/InlongStreamListResponse.java
similarity index 76%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastream/DataStreamListVO.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/stream/InlongStreamListResponse.java
index 52a140c..f5942f8 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastream/DataStreamListVO.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/stream/InlongStreamListResponse.java
@@ -15,42 +15,43 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.datastream;
+package org.apache.inlong.manager.common.pojo.stream;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
 import java.util.Date;
 import java.util.List;
-import lombok.Data;
 
 /**
- * Data stream list
+ * Inlong stream list
  */
 @Data
-@ApiModel("Data stream list")
-public class DataStreamListVO {
+@ApiModel("Inlong stream list")
+public class InlongStreamListResponse {
 
     @ApiModelProperty(value = "Primary key")
     private Integer id;
 
-    @ApiModelProperty(value = "Data stream id")
+    @ApiModelProperty(value = "Inlong stream id")
     private String inlongStreamId;
 
-    @ApiModelProperty(value = "Business group id")
+    @ApiModelProperty(value = "Inlong group id")
     private String inlongGroupId;
 
-    @ApiModelProperty(value = "Data stream name")
+    @ApiModelProperty(value = "Inlong stream name")
     private String name;
 
-    @ApiModelProperty(value = "Data source type, FILE/DB/AUTO_PUSH")
+    @ApiModelProperty(value = "Source type, FILE/DB/AUTO_PUSH")
     private String dataSourceType;
 
     @ApiModelProperty(value = "Data type, TEXT, KEY-VALUE, PB, BON")
     private String dataType;
 
-    @ApiModelProperty(value = "Data storage destination collection")
-    private List<String> storageTypeList;
+    @ApiModelProperty(value = "Sink type list")
+    private List<String> sinkTypeList;
 
     @ApiModelProperty(value = "Status")
     private Integer status;
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastream/DataStreamPageRequest.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/stream/InlongStreamPageRequest.java
similarity index 66%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastream/DataStreamPageRequest.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/stream/InlongStreamPageRequest.java
index cd20094..8fddc2e 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastream/DataStreamPageRequest.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/stream/InlongStreamPageRequest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.datastream;
+package org.apache.inlong.manager.common.pojo.stream;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -24,27 +24,27 @@ import lombok.EqualsAndHashCode;
 import org.apache.inlong.manager.common.beans.PageRequest;
 
 /**
- * Data stream paging query conditions
+ * Inlong stream paging query conditions
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
-@ApiModel("Data flow paging query conditions")
-public class DataStreamPageRequest extends PageRequest {
+@ApiModel("Inlong stream paging query conditions")
+public class InlongStreamPageRequest extends PageRequest {
 
-    @ApiModelProperty(value = "Business group id")
+    @ApiModelProperty(value = "Inlong group id")
     private String inlongGroupId;
 
     @ApiModelProperty(value = "Key word")
     private String keyWord;
 
-    @ApiModelProperty(value = "Data source type, including: FILE, DB, AUTO_PUSH (DATA_PROXY_SDK, HTTP)")
+    @ApiModelProperty(value = "Source type, including: FILE, DB, AUTO_PUSH (DATA_PROXY_SDK, HTTP)")
     private String dataSourceType;
 
-    @ApiModelProperty(value = "The storage type to be created (which has no data stream of this type)")
-    private String storageType;
+    @ApiModelProperty(value = "Sink type to be created (which has no inlong stream of this type)")
+    private String sinkType;
 
-    @ApiModelProperty(value = "Whether to get the storage type list, 0 (default): not get, 1: get")
-    private Integer needStorageList = 0;
+    @ApiModelProperty(value = "Whether to get the sink type list, 0 (default): not get, 1: get")
+    private Integer needSinkList = 0;
 
     @ApiModelProperty(value = "status")
     private Integer status;
@@ -52,7 +52,7 @@ public class DataStreamPageRequest extends PageRequest {
     @ApiModelProperty(value = "Current user", hidden = true)
     private String currentUser;
 
-    @ApiModelProperty(value = "Business in charges", hidden = true)
+    @ApiModelProperty(value = "Inlong group in charges", hidden = true)
     private String inCharges;
 
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastream/DataStreamTopicVO.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/stream/InlongStreamTopicResponse.java
similarity index 76%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastream/DataStreamTopicVO.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/stream/InlongStreamTopicResponse.java
index 2584d1b..1c9d1da 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastream/DataStreamTopicVO.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/stream/InlongStreamTopicResponse.java
@@ -15,23 +15,23 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.datastream;
+package org.apache.inlong.manager.common.pojo.stream;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 /**
- * Topic View Object of the Data stream
+ * Inlong stream id and topic interaction object
  */
 @Data
-@ApiModel("Data stream ID and topic interaction object")
-public class DataStreamTopicVO {
+@ApiModel("Inlong stream id and topic interaction object")
+public class InlongStreamTopicResponse {
 
     @ApiModelProperty(value = "InLong stream ID")
     private String inlongStreamId;
 
-    @ApiModelProperty(value = "Message queue type, the data stream id corresponds to the topic of Pulsar one-to-one")
+    @ApiModelProperty(value = "Message queue type, the inlong stream id corresponds to the topic of Pulsar one-to-one")
     private String mqResourceObj;
 
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastream/StreamBriefResponse.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/stream/StreamBriefResponse.java
similarity index 70%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastream/StreamBriefResponse.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/stream/StreamBriefResponse.java
index cad1605..0d7c3b6 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/datastream/StreamBriefResponse.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/stream/StreamBriefResponse.java
@@ -15,41 +15,41 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.datastream;
+package org.apache.inlong.manager.common.pojo.stream;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import org.apache.inlong.manager.common.pojo.datastorage.StorageBriefResponse;
+import org.apache.inlong.manager.common.pojo.sink.SinkBriefResponse;
 
 import java.util.Date;
 import java.util.List;
 
 /**
- * Summary response of the data stream
+ * Summary response of the inlong stream
  */
 @Data
-@ApiModel("Summary response of the data stream")
+@ApiModel("Brief response of the inlong stream")
 public class StreamBriefResponse {
 
     @ApiModelProperty(value = "Primary key")
     private Integer id;
 
-    @ApiModelProperty(value = "Business group id")
+    @ApiModelProperty(value = "Inlong group id")
     private String inlongGroupId;
 
-    @ApiModelProperty(value = "Data stream id")
+    @ApiModelProperty(value = "Inlong stream id")
     private String inlongStreamId;
 
-    @ApiModelProperty(value = "Data stream name")
+    @ApiModelProperty(value = "Inlong stream name")
     private String name;
 
-    @ApiModelProperty(value = "Data source type, support: FILE/DB/AUTO_PUSH")
+    @ApiModelProperty(value = "Source type, support: FILE/DB/AUTO_PUSH")
     private String dataSourceType;
 
-    @ApiModelProperty(value = "Storage summary list")
-    private List<StorageBriefResponse> storageList;
+    @ApiModelProperty(value = "Sink brief list")
+    private List<SinkBriefResponse> sinkList;
 
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date modifyTime;
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/BaseProcessForm.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/BaseProcessForm.java
index 1afdc02..5e66dc1 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/BaseProcessForm.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/BaseProcessForm.java
@@ -28,10 +28,10 @@ import lombok.Data;
 @Data
 @JsonTypeInfo(use = Id.NAME, property = "formName")
 @JsonSubTypes({
-        @JsonSubTypes.Type(value = NewBusinessProcessForm.class, name = NewBusinessProcessForm.FORM_NAME),
+        @JsonSubTypes.Type(value = NewGroupProcessForm.class, name = NewGroupProcessForm.FORM_NAME),
         @JsonSubTypes.Type(value = NewConsumptionProcessForm.class, name = NewConsumptionProcessForm.FORM_NAME),
-        @JsonSubTypes.Type(value = BusinessResourceProcessForm.class, name = BusinessResourceProcessForm.FORM_NAME),
-        @JsonSubTypes.Type(value = UpdateBusinessProcessForm.class, name = UpdateBusinessProcessForm.FORM_NAME),
+        @JsonSubTypes.Type(value = GroupResourceProcessForm.class, name = GroupResourceProcessForm.FORM_NAME),
+        @JsonSubTypes.Type(value = UpdateGroupProcessForm.class, name = UpdateGroupProcessForm.FORM_NAME),
 })
 public abstract class BaseProcessForm implements ProcessForm {
 
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/BaseTaskForm.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/BaseTaskForm.java
index 9702a11..1d877c3 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/BaseTaskForm.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/BaseTaskForm.java
@@ -28,8 +28,8 @@ import lombok.Data;
 @Data
 @JsonTypeInfo(use = Id.NAME, property = "formName")
 @JsonSubTypes({
-        @JsonSubTypes.Type(value = BusinessAdminApproveForm.class, name = BusinessAdminApproveForm.FORM_NAME),
-        @JsonSubTypes.Type(value = ConsumptionAdminApproveForm.class, name = ConsumptionAdminApproveForm.FORM_NAME),
+        @JsonSubTypes.Type(value = InlongGroupApproveForm.class, name = InlongGroupApproveForm.FORM_NAME),
+        @JsonSubTypes.Type(value = ConsumptionApproveForm.class, name = ConsumptionApproveForm.FORM_NAME),
 })
 public abstract class BaseTaskForm implements TaskForm {
 
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/ConsumptionAdminApproveForm.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/ConsumptionApproveForm.java
similarity index 84%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/ConsumptionAdminApproveForm.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/ConsumptionApproveForm.java
index 452e13c..da370dc 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/ConsumptionAdminApproveForm.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/ConsumptionApproveForm.java
@@ -17,7 +17,6 @@
 
 package org.apache.inlong.manager.common.pojo.workflow.form;
 
-import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -25,14 +24,13 @@ import org.apache.inlong.manager.common.exceptions.FormValidateException;
 import org.apache.inlong.manager.common.util.Preconditions;
 
 /**
- * New consumption approve form for admin
+ * The approval form of the consumption
  */
 @Data
 @EqualsAndHashCode(callSuper = true)
-@ApiModel("New data consumption-system administrator form")
-public class ConsumptionAdminApproveForm extends BaseTaskForm {
+public class ConsumptionApproveForm extends BaseTaskForm {
 
-    public static final String FORM_NAME = "ConsumptionAdminApproveForm";
+    public static final String FORM_NAME = "ConsumptionApproveForm";
 
     @ApiModelProperty("Consumer group ID")
     private String consumerGroupId;
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/BusinessResourceProcessForm.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/GroupResourceProcessForm.java
similarity index 74%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/BusinessResourceProcessForm.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/GroupResourceProcessForm.java
index 353611f..ac588c4 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/BusinessResourceProcessForm.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/GroupResourceProcessForm.java
@@ -21,29 +21,29 @@ import com.google.common.collect.Maps;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import org.apache.inlong.manager.common.exceptions.FormValidateException;
-import org.apache.inlong.manager.common.pojo.business.BusinessInfo;
+import org.apache.inlong.manager.common.pojo.group.InlongGroupRequest;
 
 import java.util.Map;
 
 /**
- * Form of create business resource
+ * Form of create inlong group resource
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
-public class BusinessResourceProcessForm extends BaseProcessForm {
+public class GroupResourceProcessForm extends BaseProcessForm {
 
-    public static final String FORM_NAME = "BusinessResourceProcessForm";
+    public static final String FORM_NAME = "GroupResourceProcessForm";
 
-    private BusinessInfo businessInfo;
+    private InlongGroupRequest groupInfo;
 
     private String streamId;
 
-    public BusinessInfo getBusinessInfo() {
-        return businessInfo;
+    public InlongGroupRequest getGroupInfo() {
+        return groupInfo;
     }
 
-    public void setBusinessInfo(BusinessInfo businessInfo) {
-        this.businessInfo = businessInfo;
+    public void setGroupInfo(InlongGroupRequest groupInfo) {
+        this.groupInfo = groupInfo;
     }
 
     @Override
@@ -57,7 +57,7 @@ public class BusinessResourceProcessForm extends BaseProcessForm {
 
     @Override
     public String getInlongGroupId() {
-        return businessInfo.getInlongGroupId();
+        return groupInfo.getInlongGroupId();
     }
 
     public String getInlongStreamId() {
@@ -71,7 +71,7 @@ public class BusinessResourceProcessForm extends BaseProcessForm {
     @Override
     public Map<String, Object> showInList() {
         Map<String, Object> show = Maps.newHashMap();
-        show.put("groupId", businessInfo.getInlongGroupId());
+        show.put("inlongGroupId", groupInfo.getInlongGroupId());
         return show;
     }
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/BusinessAdminApproveForm.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/InlongGroupApproveForm.java
similarity index 64%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/BusinessAdminApproveForm.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/InlongGroupApproveForm.java
index d965cc2..ac1bd35 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/BusinessAdminApproveForm.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/InlongGroupApproveForm.java
@@ -21,30 +21,30 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import org.apache.inlong.manager.common.exceptions.FormValidateException;
-import org.apache.inlong.manager.common.pojo.business.BusinessApproveInfo;
-import org.apache.inlong.manager.common.pojo.datastream.DataStreamApproveInfo;
+import org.apache.inlong.manager.common.pojo.group.InlongGroupApproveRequest;
+import org.apache.inlong.manager.common.pojo.stream.InlongStreamApproveRequest;
 import org.apache.inlong.manager.common.util.Preconditions;
 
 import java.util.List;
 
 /**
- * The system administrator approves and fills in the form
+ * The approval form of the inlong group
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
-public class BusinessAdminApproveForm extends BaseTaskForm {
+public class InlongGroupApproveForm extends BaseTaskForm {
 
-    public static final String FORM_NAME = "BusinessAdminApproveForm";
+    public static final String FORM_NAME = "InlongGroupApproveForm";
 
-    @ApiModelProperty(value = "Access business information", required = true)
-    private BusinessApproveInfo businessApproveInfo;
+    @ApiModelProperty(value = "Inlong group approve info", required = true)
+    private InlongGroupApproveRequest groupApproveInfo;
 
-    @ApiModelProperty(value = "All data stream information under the business, including the storage information")
-    private List<DataStreamApproveInfo> streamApproveInfoList;
+    @ApiModelProperty(value = "All inlong stream info under the inlong group, including the sink info")
+    private List<InlongStreamApproveRequest> streamApproveInfoList;
 
     @Override
     public void validate() throws FormValidateException {
-        Preconditions.checkNotNull(businessApproveInfo, "business approve info is empty");
+        Preconditions.checkNotNull(groupApproveInfo, "inlong group approve info is empty");
     }
 
     @Override
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/NewConsumptionProcessForm.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/NewConsumptionProcessForm.java
index 7a1d943..aeeddff 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/NewConsumptionProcessForm.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/NewConsumptionProcessForm.java
@@ -58,7 +58,7 @@ public class NewConsumptionProcessForm extends BaseProcessForm {
     public Map<String, Object> showInList() {
         Map<String, Object> show = Maps.newHashMap();
         if (consumptionInfo != null) {
-            show.put("groupId", consumptionInfo.getInlongGroupId());
+            show.put("inlongGroupId", consumptionInfo.getInlongGroupId());
         }
         return show;
     }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/NewBusinessProcessForm.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/NewGroupProcessForm.java
similarity index 69%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/NewBusinessProcessForm.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/NewGroupProcessForm.java
index df52bca..f95642d 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/NewBusinessProcessForm.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/NewGroupProcessForm.java
@@ -22,31 +22,31 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import org.apache.inlong.manager.common.exceptions.FormValidateException;
-import org.apache.inlong.manager.common.pojo.business.BusinessInfo;
-import org.apache.inlong.manager.common.pojo.datastream.StreamBriefResponse;
+import org.apache.inlong.manager.common.pojo.group.InlongGroupRequest;
+import org.apache.inlong.manager.common.pojo.stream.StreamBriefResponse;
 import org.apache.inlong.manager.common.util.Preconditions;
 
 import java.util.List;
 import java.util.Map;
 
 /**
- * New business workflow form information
+ * New inlong group process form
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
-public class NewBusinessProcessForm extends BaseProcessForm {
+public class NewGroupProcessForm extends BaseProcessForm {
 
-    public static final String FORM_NAME = "NewBusinessProcessForm";
+    public static final String FORM_NAME = "NewGroupProcessForm";
 
-    @ApiModelProperty(value = "Access business information", required = true)
-    private BusinessInfo businessInfo;
+    @ApiModelProperty(value = "Inlong group info", required = true)
+    private InlongGroupRequest groupInfo;
 
-    @ApiModelProperty(value = "All data stream information under the business, including the storage information")
+    @ApiModelProperty(value = "All inlong stream info under the inlong group, including the sink info")
     private List<StreamBriefResponse> streamInfoList;
 
     @Override
     public void validate() throws FormValidateException {
-        Preconditions.checkNotNull(businessInfo, "business info is empty");
+        Preconditions.checkNotNull(groupInfo, "inlong group info is empty");
     }
 
     @Override
@@ -56,13 +56,13 @@ public class NewBusinessProcessForm extends BaseProcessForm {
 
     @Override
     public String getInlongGroupId() {
-        return businessInfo.getInlongGroupId();
+        return groupInfo.getInlongGroupId();
     }
 
     @Override
     public Map<String, Object> showInList() {
         Map<String, Object> show = Maps.newHashMap();
-        show.put("groupId", businessInfo.getInlongGroupId());
+        show.put("inlongGroupId", groupInfo.getInlongGroupId());
         return show;
     }
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/UpdateBusinessProcessForm.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/UpdateGroupProcessForm.java
similarity index 78%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/UpdateBusinessProcessForm.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/UpdateGroupProcessForm.java
index 64c4113..f7e131f 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/UpdateBusinessProcessForm.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/form/UpdateGroupProcessForm.java
@@ -24,7 +24,7 @@ import lombok.EqualsAndHashCode;
 import lombok.Getter;
 import lombok.Setter;
 import org.apache.inlong.manager.common.exceptions.FormValidateException;
-import org.apache.inlong.manager.common.pojo.business.BusinessInfo;
+import org.apache.inlong.manager.common.pojo.group.InlongGroupRequest;
 import org.apache.inlong.manager.common.util.Preconditions;
 
 import java.util.Locale;
@@ -32,11 +32,11 @@ import java.util.Map;
 
 @Data
 @EqualsAndHashCode(callSuper = false)
-public class UpdateBusinessProcessForm extends BaseProcessForm {
+public class UpdateGroupProcessForm extends BaseProcessForm {
 
-    public static final String FORM_NAME = "UpdateBusinessProcessForm";
-    @ApiModelProperty(value = "Access business information", required = true)
-    private BusinessInfo businessInfo;
+    public static final String FORM_NAME = "UpdateGroupProcessForm";
+    @ApiModelProperty(value = "Inlong group info", required = true)
+    private InlongGroupRequest groupInfo;
     @Getter
     @Setter
     @ApiModelProperty(value = "OperateType to define the update operation", required = true)
@@ -44,7 +44,7 @@ public class UpdateBusinessProcessForm extends BaseProcessForm {
 
     @Override
     public void validate() throws FormValidateException {
-        Preconditions.checkNotNull(businessInfo, "business info is empty");
+        Preconditions.checkNotNull(groupInfo, "inlong group info is empty");
         Preconditions.checkNotNull(operateType, "operate type is empty");
     }
 
@@ -55,19 +55,19 @@ public class UpdateBusinessProcessForm extends BaseProcessForm {
 
     @Override
     public String getInlongGroupId() {
-        return businessInfo.getInlongGroupId();
+        return groupInfo.getInlongGroupId();
     }
 
     @Override
     public Map<String, Object> showInList() {
         Map<String, Object> show = Maps.newHashMap();
-        show.put("groupId", businessInfo.getInlongGroupId());
+        show.put("inlongGroupId", groupInfo.getInlongGroupId());
         show.put("operateType", operateType.name().toLowerCase(Locale.ROOT));
         return show;
     }
 
     /**
-     * Used to control the operation to update businessWorkflow
+     * Used to control the operation to update inlong group workflow
      */
     public enum OperateType {
         SUSPEND, RESTART, DELETE
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/settings/BusinessSettings.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/settings/InlongGroupSettings.java
similarity index 98%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/settings/BusinessSettings.java
rename to inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/settings/InlongGroupSettings.java
index 082cac8..76c0d8c 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/settings/BusinessSettings.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/settings/InlongGroupSettings.java
@@ -17,7 +17,7 @@
 
 package org.apache.inlong.manager.common.settings;
 
-public class BusinessSettings {
+public class InlongGroupSettings {
 
     public static String PULSAR_ADMIN_URL = "pulsar.adminUrl";
 
diff --git a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/config/InLongManagerDatasourceConfig.java b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/config/JDBCSourceConfig.java
similarity index 98%
rename from inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/config/InLongManagerDatasourceConfig.java
rename to inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/config/JDBCSourceConfig.java
index b5ade51..e164361 100644
--- a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/config/InLongManagerDatasourceConfig.java
+++ b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/config/JDBCSourceConfig.java
@@ -18,7 +18,6 @@
 package org.apache.inlong.manager.dao.config;
 
 import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;
-import javax.sql.DataSource;
 import org.apache.ibatis.session.SqlSessionFactory;
 import org.mybatis.spring.SqlSessionFactoryBean;
 import org.mybatis.spring.SqlSessionTemplate;
@@ -29,6 +28,8 @@ import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Primary;
 import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
 
+import javax.sql.DataSource;
+
 /**
  * Main data source config
  */
@@ -36,7 +37,7 @@ import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
 @MapperScan(
         basePackages = "org.apache.inlong.manager.dao.mapper",
         sqlSessionTemplateRef = "sqlSessionTemplate")
-public class InLongManagerDatasourceConfig {
+public class JDBCSourceConfig {
 
     @Bean(name = "dataSource")
     @Primary
@@ -61,4 +62,5 @@ public class InLongManagerDatasourceConfig {
     public SqlSessionTemplate sqlSessionTemplate() throws Exception {
         return new SqlSessionTemplate(sqlSessionFactory());
     }
+
 }
diff --git a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/AgentHeartBeatLogEntity.java b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/AgentHeartbeatEntity.java
similarity index 94%
rename from inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/AgentHeartBeatLogEntity.java
rename to inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/AgentHeartbeatEntity.java
index 4357ced..31880a8 100644
--- a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/AgentHeartBeatLogEntity.java
+++ b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/AgentHeartbeatEntity.java
@@ -17,12 +17,13 @@
 
 package org.apache.inlong.manager.dao.entity;
 
+import lombok.Data;
+
 import java.io.Serializable;
 import java.util.Date;
-import lombok.Data;
 
 @Data
-public class AgentHeartBeatLogEntity implements Serializable {
+public class AgentHeartbeatEntity implements Serializable {
 
     private static final long serialVersionUID = 1L;
     private String ip;
diff --git a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/BusinessEntity.java b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/InlongGroupEntity.java
similarity index 96%
rename from inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/BusinessEntity.java
rename to inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/InlongGroupEntity.java
index 78fbc7c..30aa393 100644
--- a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/BusinessEntity.java
+++ b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/InlongGroupEntity.java
@@ -23,7 +23,7 @@ import java.io.Serializable;
 import java.util.Date;
 
 @Data
-public class BusinessEntity implements Serializable {
+public class InlongGroupEntity implements Serializable {
 
     private static final long serialVersionUID = 1L;
     private Integer id;
diff --git a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/BusinessExtEntity.java b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/InlongGroupExtEntity.java
similarity index 94%
rename from inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/BusinessExtEntity.java
rename to inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/InlongGroupExtEntity.java
index 9a6b1b9..a070114 100644
--- a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/BusinessExtEntity.java
+++ b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/InlongGroupExtEntity.java
@@ -17,12 +17,13 @@
 
 package org.apache.inlong.manager.dao.entity;
 
+import lombok.Data;
+
 import java.io.Serializable;
 import java.util.Date;
-import lombok.Data;
 
 @Data
-public class BusinessExtEntity implements Serializable {
+public class InlongGroupExtEntity implements Serializable {
 
     private static final long serialVersionUID = 1L;
     private Integer id;
diff --git a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/BusinessPulsarEntity.java b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/InlongGroupPulsarEntity.java
similarity index 95%
rename from inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/BusinessPulsarEntity.java
rename to inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/InlongGroupPulsarEntity.java
index 52a5657..c3bfe7f 100644
--- a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/BusinessPulsarEntity.java
+++ b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/InlongGroupPulsarEntity.java
@@ -17,11 +17,12 @@
 
 package org.apache.inlong.manager.dao.entity;
 
-import java.io.Serializable;
 import lombok.Data;
 
+import java.io.Serializable;
+
 @Data
-public class BusinessPulsarEntity implements Serializable {
+public class InlongGroupPulsarEntity implements Serializable {
 
     private static final long serialVersionUID = 1L;
     private Integer id;
diff --git a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/DataStreamEntity.java b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/InlongStreamEntity.java
similarity index 96%
rename from inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/DataStreamEntity.java
rename to inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/InlongStreamEntity.java
index c825f9a..2281582 100644
--- a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/DataStreamEntity.java
+++ b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/InlongStreamEntity.java
@@ -17,12 +17,13 @@
 
 package org.apache.inlong.manager.dao.entity;
 
+import lombok.Data;
+
 import java.io.Serializable;
 import java.util.Date;
-import lombok.Data;
 
 @Data
-public class DataStreamEntity implements Serializable {
+public class InlongStreamEntity implements Serializable {
 
     private static final long serialVersionUID = 1L;
     private Integer id;
diff --git a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/DataStreamExtEntity.java b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/InlongStreamExtEntity.java
similarity index 95%
rename from inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/DataStreamExtEntity.java
rename to inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/InlongStreamExtEntity.java
index d69079f..7a1b11b 100644
--- a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/DataStreamExtEntity.java
+++ b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/InlongStreamExtEntity.java
@@ -22,7 +22,7 @@ import java.util.Date;
 import lombok.Data;
 
 @Data
-public class DataStreamExtEntity implements Serializable {
+public class InlongStreamExtEntity implements Serializable {
 
     private static final long serialVersionUID = 1L;
     private Integer id;
diff --git a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/DataStreamFieldEntity.java b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/InlongStreamFieldEntity.java
similarity index 95%
rename from inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/DataStreamFieldEntity.java
rename to inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/InlongStreamFieldEntity.java
index 25b17d5..a13934c 100644
--- a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/DataStreamFieldEntity.java
+++ b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/InlongStreamFieldEntity.java
@@ -21,7 +21,7 @@ import java.io.Serializable;
 import lombok.Data;
 
 @Data
-public class DataStreamFieldEntity implements Serializable {
+public class InlongStreamFieldEntity implements Serializable {
 
     private static final long serialVersionUID = 1L;
     private Integer id;
diff --git a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/StorageEntity.java b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/StreamSinkEntity.java
similarity index 94%
rename from inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/StorageEntity.java
rename to inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/StreamSinkEntity.java
index d8f1989..6ca315a 100644
--- a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/StorageEntity.java
+++ b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/StreamSinkEntity.java
@@ -23,13 +23,13 @@ import java.io.Serializable;
 import java.util.Date;
 
 @Data
-public class StorageEntity implements Serializable {
+public class StreamSinkEntity implements Serializable {
 
     private static final long serialVersionUID = 1L;
     private Integer id;
     private String inlongGroupId;
     private String inlongStreamId;
-    private String storageType;
+    private String sinkType;
     private Integer storagePeriod;
     private Integer enableCreateResource;
 
diff --git a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/StorageExtEntity.java b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/StreamSinkExtEntity.java
similarity index 90%
rename from inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/StorageExtEntity.java
rename to inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/StreamSinkExtEntity.java
index c391bd1..7075d5a 100644
--- a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/StorageExtEntity.java
+++ b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/StreamSinkExtEntity.java
@@ -22,12 +22,12 @@ import java.util.Date;
 import lombok.Data;
 
 @Data
-public class StorageExtEntity implements Serializable {
+public class StreamSinkExtEntity implements Serializable {
 
     private static final long serialVersionUID = 1L;
     private Integer id;
-    private String storageType;
-    private Integer storageId;
+    private String sinkType;
+    private Integer sinkId;
     private String keyName;
     private String keyValue;
     private Integer isDeleted;
diff --git a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/StorageFieldEntity.java b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/StreamSinkFieldEntity.java
similarity index 91%
rename from inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/StorageFieldEntity.java
rename to inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/StreamSinkFieldEntity.java
index 65a7d79..91f988a 100644
--- a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/StorageFieldEntity.java
+++ b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/StreamSinkFieldEntity.java
@@ -22,14 +22,14 @@ import lombok.Data;
 import java.io.Serializable;
 
 @Data
-public class StorageFieldEntity implements Serializable {
+public class StreamSinkFieldEntity implements Serializable {
 
     private static final long serialVersionUID = 1L;
     private Integer id;
     private String inlongGroupId;
     private String inlongStreamId;
-    private Integer storageId;
-    private String storageType;
+    private Integer sinkId;
+    private String sinkType;
 
     private String fieldName;
     private String fieldType;
diff --git a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/AgentHeartBeatLogEntityMapper.java b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/AgentHeartbeatEntityMapper.java
similarity index 67%
rename from inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/AgentHeartBeatLogEntityMapper.java
rename to inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/AgentHeartbeatEntityMapper.java
index 8d03e24..a2d7c61 100644
--- a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/AgentHeartBeatLogEntityMapper.java
+++ b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/AgentHeartbeatEntityMapper.java
@@ -17,23 +17,24 @@
 
 package org.apache.inlong.manager.dao.mapper;
 
-import org.apache.inlong.manager.dao.entity.AgentHeartBeatLogEntity;
+import org.apache.inlong.manager.dao.entity.AgentHeartbeatEntity;
 import org.springframework.stereotype.Repository;
 
 @Repository
-public interface AgentHeartBeatLogEntityMapper {
+public interface AgentHeartbeatEntityMapper {
 
     int deleteByPrimaryKey(String ip);
 
-    int insert(AgentHeartBeatLogEntity record);
+    int insert(AgentHeartbeatEntity record);
 
-    int insertSelective(AgentHeartBeatLogEntity record);
+    int insertSelective(AgentHeartbeatEntity record);
 
-    AgentHeartBeatLogEntity selectByPrimaryKey(String ip);
+    AgentHeartbeatEntity selectByPrimaryKey(String ip);
 
-    int updateByPrimaryKeySelective(AgentHeartBeatLogEntity record);
+    int updateByPrimaryKeySelective(AgentHeartbeatEntity record);
 
-    int updateByPrimaryKey(AgentHeartBeatLogEntity record);
+    int updateByPrimaryKey(AgentHeartbeatEntity record);
+
+    int replace(AgentHeartbeatEntity record);
 
-    int replace(AgentHeartBeatLogEntity record);
 }
\ No newline at end of file
diff --git a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/BusinessEntityMapper.java b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/InlongGroupEntityMapper.java
similarity index 62%
rename from inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/BusinessEntityMapper.java
rename to inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/InlongGroupEntityMapper.java
index 3932b21..7437a7b 100644
--- a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/BusinessEntityMapper.java
+++ b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/InlongGroupEntityMapper.java
@@ -19,44 +19,44 @@ package org.apache.inlong.manager.dao.mapper;
 
 import org.apache.ibatis.annotations.Param;
 import org.apache.inlong.commons.pojo.dataproxy.DataProxyConfig;
-import org.apache.inlong.manager.common.pojo.business.BusinessPageRequest;
-import org.apache.inlong.manager.dao.entity.BusinessEntity;
+import org.apache.inlong.manager.common.pojo.group.InlongGroupPageRequest;
+import org.apache.inlong.manager.dao.entity.InlongGroupEntity;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
 import java.util.Map;
 
 @Repository
-public interface BusinessEntityMapper {
+public interface InlongGroupEntityMapper {
 
     int deleteByPrimaryKey(Integer id);
 
-    int insert(BusinessEntity record);
+    int insert(InlongGroupEntity record);
 
-    int insertSelective(BusinessEntity record);
+    int insertSelective(InlongGroupEntity record);
 
-    BusinessEntity selectByPrimaryKey(Integer id);
+    InlongGroupEntity selectByPrimaryKey(Integer id);
 
-    List<Map<String, Object>> countCurrentUserBusiness(@Param(value = "currentUser") String currentUser);
+    List<Map<String, Object>> countCurrentUserGroup(@Param(value = "currentUser") String currentUser);
 
-    BusinessEntity selectByIdentifier(String groupId);
+    InlongGroupEntity selectByIdentifier(String groupId);
 
     Integer selectIdentifierExist(String groupId);
 
-    List<BusinessEntity> selectByCondition(BusinessPageRequest request);
+    List<InlongGroupEntity> selectByCondition(InlongGroupPageRequest request);
 
-    List<BusinessEntity> selectAll(Integer status);
+    List<InlongGroupEntity> selectAll(Integer status);
 
     /**
-     * get all config with business status of 130, that is, config successful
+     * get all config with inlong group status of 130, that is, config successful
      */
     List<DataProxyConfig> selectDataProxyConfig();
 
-    int updateByPrimaryKeySelective(BusinessEntity record);
+    int updateByPrimaryKeySelective(InlongGroupEntity record);
 
-    int updateByIdentifierSelective(BusinessEntity record);
+    int updateByIdentifierSelective(InlongGroupEntity record);
 
-    int updateByPrimaryKey(BusinessEntity record);
+    int updateByPrimaryKey(InlongGroupEntity record);
 
     int updateStatusByIdentifier(@Param("groupId") String groupId, @Param("status") Integer status,
                                  @Param("modifier") String modifier);
diff --git a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/BusinessExtEntityMapper.java b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/InlongGroupExtEntityMapper.java
similarity index 63%
rename from inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/BusinessExtEntityMapper.java
rename to inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/InlongGroupExtEntityMapper.java
index 13b92f8..48ef530 100644
--- a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/BusinessExtEntityMapper.java
+++ b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/InlongGroupExtEntityMapper.java
@@ -17,51 +17,50 @@
 
 package org.apache.inlong.manager.dao.mapper;
 
-import java.util.List;
 import org.apache.ibatis.annotations.Param;
-import org.apache.inlong.manager.dao.entity.BusinessExtEntity;
+import org.apache.inlong.manager.dao.entity.InlongGroupExtEntity;
 import org.springframework.stereotype.Repository;
 
+import java.util.List;
+
 @Repository
-public interface BusinessExtEntityMapper {
+public interface InlongGroupExtEntityMapper {
 
     int deleteByPrimaryKey(Integer id);
 
-    int insert(BusinessExtEntity record);
+    int insert(InlongGroupExtEntity record);
 
-    int insertSelective(BusinessExtEntity record);
+    int insertSelective(InlongGroupExtEntity record);
 
-    BusinessExtEntity selectByPrimaryKey(Integer id);
+    InlongGroupExtEntity selectByPrimaryKey(Integer id);
 
-    List<BusinessExtEntity> selectByGroupId(String groupId);
+    List<InlongGroupExtEntity> selectByGroupId(String groupId);
 
-    int updateByPrimaryKey(BusinessExtEntity record);
+    int updateByPrimaryKey(InlongGroupExtEntity record);
 
-    BusinessExtEntity selectByGroupIdAndKeyName(String groupId, String keyName);
+    InlongGroupExtEntity selectByGroupIdAndKeyName(String groupId, String keyName);
 
     /**
      * Insert data in batches
      *
      * @param extEntityList need to insert data
      */
-    int insertAll(@Param("extList") List<BusinessExtEntity> extEntityList);
+    int insertAll(@Param("extList") List<InlongGroupExtEntity> extEntityList);
 
     /**
      * Insert data in batches, update if it exists, create new if it does not exist
-     * @param extEntityList
-     * @return
      */
-    int insertOnDuplicateKeyUpdate(@Param("extList") List<BusinessExtEntity> extEntityList);
+    int insertOnDuplicateKeyUpdate(@Param("extList") List<InlongGroupExtEntity> extEntityList);
 
     /**
-     * Physically delete all extension fields based on the business group id
+     * Physically delete all extension fields based on the inlong group id
      *
      * @return rows deleted
      */
     int deleteAllByGroupId(String groupId);
 
     /**
-     * Logically delete all extended fields based on business group id
+     * Logically delete all extended fields based on inlong group id
      *
      * @return rows updated
      */
diff --git a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/BusinessPulsarEntityMapper.java b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/InlongGroupPulsarEntityMapper.java
similarity index 64%
rename from inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/BusinessPulsarEntityMapper.java
rename to inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/InlongGroupPulsarEntityMapper.java
index 8491a39..1d0dacb 100644
--- a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/BusinessPulsarEntityMapper.java
+++ b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/InlongGroupPulsarEntityMapper.java
@@ -17,28 +17,28 @@
 
 package org.apache.inlong.manager.dao.mapper;
 
-import org.apache.inlong.manager.dao.entity.BusinessPulsarEntity;
+import org.apache.inlong.manager.dao.entity.InlongGroupPulsarEntity;
 import org.springframework.stereotype.Repository;
 
 @Repository
-public interface BusinessPulsarEntityMapper {
+public interface InlongGroupPulsarEntityMapper {
 
     int deleteByPrimaryKey(Integer id);
 
     int logicDeleteByGroupId(String groupId);
 
-    int insert(BusinessPulsarEntity record);
+    int insert(InlongGroupPulsarEntity record);
 
-    int insertSelective(BusinessPulsarEntity record);
+    int insertSelective(InlongGroupPulsarEntity record);
 
-    BusinessPulsarEntity selectByPrimaryKey(Integer id);
+    InlongGroupPulsarEntity selectByPrimaryKey(Integer id);
 
-    BusinessPulsarEntity selectByGroupId(String groupId);
+    InlongGroupPulsarEntity selectByGroupId(String groupId);
 
-    int updateByPrimaryKeySelective(BusinessPulsarEntity record);
+    int updateByPrimaryKeySelective(InlongGroupPulsarEntity record);
 
-    int updateByPrimaryKey(BusinessPulsarEntity record);
+    int updateByPrimaryKey(InlongGroupPulsarEntity record);
 
-    int updateByIdentifierSelective(BusinessPulsarEntity record);
+    int updateByIdentifierSelective(InlongGroupPulsarEntity record);
 
 }
\ No newline at end of file
diff --git a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/DataStreamEntityMapper.java b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/InlongStreamEntityMapper.java
similarity index 59%
rename from inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/DataStreamEntityMapper.java
rename to inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/InlongStreamEntityMapper.java
index 41c97a7..28d55bd 100644
--- a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/DataStreamEntityMapper.java
+++ b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/InlongStreamEntityMapper.java
@@ -19,50 +19,50 @@ package org.apache.inlong.manager.dao.mapper;
 
 import java.util.List;
 import org.apache.ibatis.annotations.Param;
-import org.apache.inlong.manager.common.pojo.datastream.DataStreamPageRequest;
-import org.apache.inlong.manager.common.pojo.datastream.DataStreamTopicVO;
-import org.apache.inlong.manager.dao.entity.DataStreamEntity;
+import org.apache.inlong.manager.common.pojo.stream.InlongStreamPageRequest;
+import org.apache.inlong.manager.common.pojo.stream.InlongStreamTopicResponse;
+import org.apache.inlong.manager.dao.entity.InlongStreamEntity;
 import org.springframework.stereotype.Repository;
 
 @Repository
-public interface DataStreamEntityMapper {
+public interface InlongStreamEntityMapper {
 
     int deleteByPrimaryKey(Integer id);
 
-    int insert(DataStreamEntity record);
+    int insert(InlongStreamEntity record);
 
-    int insertSelective(DataStreamEntity record);
+    int insertSelective(InlongStreamEntity record);
 
-    DataStreamEntity selectByPrimaryKey(Integer id);
+    InlongStreamEntity selectByPrimaryKey(Integer id);
 
-    int updateByPrimaryKey(DataStreamEntity record);
+    int updateByPrimaryKey(InlongStreamEntity record);
 
-    DataStreamEntity selectByIdentifier(@Param("groupId") String groupId, @Param("streamId") String streamId);
+    InlongStreamEntity selectByIdentifier(@Param("groupId") String groupId, @Param("streamId") String streamId);
 
     Integer selectExistByIdentifier(@Param("groupId") String groupId, @Param("streamId") String streamId);
 
     /**
-     * Query all data stream according to conditions (do not specify groupId, query all data streams)
+     * Query all inlong stream according to conditions (do not specify groupId, query all inlong streams)
      *
      * @param request query request
-     * @return data stream list
+     * @return inlong stream list
      */
-    List<DataStreamEntity> selectByCondition(@Param("request") DataStreamPageRequest request);
+    List<InlongStreamEntity> selectByCondition(@Param("request") InlongStreamPageRequest request);
 
-    List<DataStreamEntity> selectByGroupId(@Param("groupId") String groupId);
+    List<InlongStreamEntity> selectByGroupId(@Param("groupId") String groupId);
 
     int selectCountByGroupId(@Param("groupId") String groupId);
 
-    List<DataStreamTopicVO> selectTopicList(@Param("groupId") String groupId);
+    List<InlongStreamTopicResponse> selectTopicList(@Param("groupId") String groupId);
 
     /**
-     * Physically delete all data streams of the specified business group id
+     * Physically delete all inlong streams of the specified inlong group id
      *
      * @return rows deleted
      */
     int deleteAllByGroupId(@Param("groupId") String groupId);
 
-    int updateByIdentifierSelective(DataStreamEntity streamEntity);
+    int updateByIdentifierSelective(InlongStreamEntity streamEntity);
 
     int updateStatusByIdentifier(@Param("groupId") String groupId, @Param("streamId") String streamId,
             @Param("status") Integer status, @Param("modifier") String modifier);
diff --git a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/DataStreamExtEntityMapper.java b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/InlongStreamExtEntityMapper.java
similarity index 63%
rename from inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/DataStreamExtEntityMapper.java
rename to inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/InlongStreamExtEntityMapper.java
index 1b65011..433e4a7 100644
--- a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/DataStreamExtEntityMapper.java
+++ b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/InlongStreamExtEntityMapper.java
@@ -17,49 +17,51 @@
 
 package org.apache.inlong.manager.dao.mapper;
 
-import java.util.List;
 import org.apache.ibatis.annotations.Param;
-import org.apache.inlong.manager.dao.entity.DataStreamExtEntity;
+import org.apache.inlong.manager.dao.entity.InlongStreamExtEntity;
 import org.springframework.stereotype.Repository;
 
+import java.util.List;
+
 @Repository
-public interface DataStreamExtEntityMapper {
+public interface InlongStreamExtEntityMapper {
 
     int deleteByPrimaryKey(Integer id);
 
-    int insert(DataStreamExtEntity record);
+    int insert(InlongStreamExtEntity record);
 
-    int insertSelective(DataStreamExtEntity record);
+    int insertSelective(InlongStreamExtEntity record);
 
-    DataStreamExtEntity selectByPrimaryKey(Integer id);
+    InlongStreamExtEntity selectByPrimaryKey(Integer id);
 
-    int updateByPrimaryKeySelective(DataStreamExtEntity record);
+    int updateByPrimaryKeySelective(InlongStreamExtEntity record);
 
-    int updateByPrimaryKey(DataStreamExtEntity record);
+    int updateByPrimaryKey(InlongStreamExtEntity record);
 
-    List<DataStreamExtEntity> selectByIdentifier(@Param("groupId") String groupId, @Param("streamId") String streamId);
+    List<InlongStreamExtEntity> selectByIdentifier(@Param("groupId") String groupId,
+            @Param("streamId") String streamId);
 
     /**
-     * Query the undeleted extended attributes based on the business group id, data stream id, and keyName
+     * Query the undeleted extended attributes based on the inlong group id, inlong stream id, and keyName
      *
      * @param keyName attribute name
      * @return extended attribute
      */
-    DataStreamExtEntity selectByIdentifierAndKeyName(@Param("groupId") String groupId,
+    InlongStreamExtEntity selectByIdentifierAndKeyName(@Param("groupId") String groupId,
             @Param("streamId") String streamId, @Param("keyName") String keyName);
 
     /**
      * Insert data in batches, update if it exists, create new if it does not exist
      */
-    int insertAll(@Param("extList") List<DataStreamExtEntity> extEntityList);
+    int insertAll(@Param("extList") List<InlongStreamExtEntity> extEntityList);
 
     /**
-     * According to the business group id and data stream id, physically delete all extended fields
+     * According to the inlong group id and inlong stream id, physically delete all extended fields
      */
     int deleteAllByIdentifier(@Param("groupId") String groupId, @Param("streamId") String streamId);
 
     /**
-     * According to the business group id and data stream id, logically delete all extended fields
+     * According to the inlong group id and inlong stream id, logically delete all extended fields
      */
     int logicDeleteAllByIdentifier(@Param("groupId") String groupId, @Param("streamId") String streamId);
 
diff --git a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/DataStreamFieldEntityMapper.java b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/InlongStreamFieldEntityMapper.java
similarity index 63%
rename from inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/DataStreamFieldEntityMapper.java
rename to inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/InlongStreamFieldEntityMapper.java
index 4d54583..4486e1c 100644
--- a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/DataStreamFieldEntityMapper.java
+++ b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/InlongStreamFieldEntityMapper.java
@@ -17,41 +17,42 @@
 
 package org.apache.inlong.manager.dao.mapper;
 
-import java.util.List;
 import org.apache.ibatis.annotations.Param;
-import org.apache.inlong.manager.dao.entity.DataStreamFieldEntity;
+import org.apache.inlong.manager.dao.entity.InlongStreamFieldEntity;
 import org.springframework.stereotype.Repository;
 
+import java.util.List;
+
 @Repository
-public interface DataStreamFieldEntityMapper {
+public interface InlongStreamFieldEntityMapper {
 
     int deleteByPrimaryKey(Integer id);
 
-    int insert(DataStreamFieldEntity record);
+    int insert(InlongStreamFieldEntity record);
 
-    int insertSelective(DataStreamFieldEntity record);
+    int insertSelective(InlongStreamFieldEntity record);
 
-    DataStreamFieldEntity selectByPrimaryKey(Integer id);
+    InlongStreamFieldEntity selectByPrimaryKey(Integer id);
 
-    int updateByPrimaryKeySelective(DataStreamFieldEntity record);
+    int updateByPrimaryKeySelective(InlongStreamFieldEntity record);
 
-    int updateByPrimaryKey(DataStreamFieldEntity record);
+    int updateByPrimaryKey(InlongStreamFieldEntity record);
 
-    List<DataStreamFieldEntity> selectByIdentifier(@Param("groupId") String groupId,
+    List<InlongStreamFieldEntity> selectByIdentifier(@Param("groupId") String groupId,
             @Param("streamId") String streamId);
 
-    int insertAll(@Param("fieldList") List<DataStreamFieldEntity> fieldEntityList);
+    int insertAll(@Param("fieldList") List<InlongStreamFieldEntity> fieldEntityList);
 
-    List<DataStreamFieldEntity> selectDataStreamFields(@Param("groupId") String groupId,
+    List<InlongStreamFieldEntity> selectStreamFields(@Param("groupId") String groupId,
             @Param("streamId") String streamId);
 
     /**
-     * According to the business group id and data stream id, physically delete all fields
+     * According to the inlong group id and inlong stream id, physically delete all fields
      */
     int deleteAllByIdentifier(@Param("groupId") String groupId, @Param("streamId") String streamId);
 
     /**
-     * According to the business group id and data stream id, logically delete all fields
+     * According to the inlong group id and inlong stream id, logically delete all fields
      */
     int logicDeleteAllByIdentifier(@Param("groupId") String groupId, @Param("streamId") String streamId);
 
diff --git a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/SourceDbBasicEntityMapper.java b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/SourceDbBasicEntityMapper.java
index f56f9de..f451d8f 100644
--- a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/SourceDbBasicEntityMapper.java
+++ b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/SourceDbBasicEntityMapper.java
@@ -39,7 +39,7 @@ public interface SourceDbBasicEntityMapper {
     SourceDbBasicEntity selectByIdentifier(@Param("groupId") String groupId, @Param("streamId") String streamId);
 
     /**
-     * According to the business group id and data stream id,
+     * According to the inlong group id and inlong stream id,
      * physically delete the basic information of the DB data source
      *
      * @return rows deleted
@@ -47,7 +47,7 @@ public interface SourceDbBasicEntityMapper {
     int deleteByIdentifier(@Param("groupId") String groupId, @Param("streamId") String streamId);
 
     /**
-     * According to the business group id and data stream id,
+     * According to the inlong group id and inlong stream id,
      * logically delete the basic information of the DB data source
      *
      * @return rows deleted
diff --git a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/SourceDbDetailEntityMapper.java b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/SourceDbDetailEntityMapper.java
index 84c6499..5337667 100644
--- a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/SourceDbDetailEntityMapper.java
+++ b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/SourceDbDetailEntityMapper.java
@@ -19,7 +19,7 @@ package org.apache.inlong.manager.dao.mapper;
 
 import java.util.List;
 import org.apache.ibatis.annotations.Param;
-import org.apache.inlong.manager.common.pojo.datasource.SourceDbDetailPageRequest;
+import org.apache.inlong.manager.common.pojo.source.SourceDbDetailPageRequest;
 import org.apache.inlong.manager.dao.entity.SourceDbDetailEntity;
 import org.springframework.stereotype.Repository;
 
@@ -44,17 +44,17 @@ public interface SourceDbDetailEntityMapper {
             @Param("dbName") String dbName, @Param("connectionName") String connectionName);
 
     /**
-     * According to the business group id and data stream id, query data source details
+     * According to the inlong group id and inlong stream id, query data source details
      */
     List<SourceDbDetailEntity> selectByIdentifier(@Param("groupId") String groupId, @Param("streamId") String streamId);
 
     /**
-     * According to the business group id and data stream id, physically delete DB data source details
+     * According to the inlong group id and inlong stream id, physically delete DB data source details
      */
     int deleteByIdentifier(@Param("groupId") String groupId, @Param("streamId") String streamId);
 
     /**
-     * According to the business group id and data stream id, logically delete DB data source details
+     * According to the inlong group id and inlong stream id, logically delete DB data source details
      */
     int logicDeleteByIdentifier(@Param("groupId") String groupId, @Param("streamId") String streamId,
             @Param("operator") String operator);
diff --git a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/SourceFileBasicEntityMapper.java b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/SourceFileBasicEntityMapper.java
index 9b437a8..2c881fc 100644
--- a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/SourceFileBasicEntityMapper.java
+++ b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/SourceFileBasicEntityMapper.java
@@ -39,13 +39,13 @@ public interface SourceFileBasicEntityMapper {
     SourceFileBasicEntity selectByIdentifier(@Param("groupId") String groupId, @Param("streamId") String streamId);
 
     /**
-     * According to the business group id and data stream id,
+     * According to the inlong group id and inlong stream id,
      * physically delete the basic information of the file data source
      */
     int deleteByIdentifier(@Param("groupId") String groupId, @Param("streamId") String streamId);
 
     /**
-     * According to the business group id and data stream id,
+     * According to the inlong group id and inlong stream id,
      * logical delete the basic information of the file data source
      */
     int logicDeleteByIdentifier(@Param("groupId") String groupId, @Param("streamId") String streamId,
diff --git a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/SourceFileDetailEntityMapper.java b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/SourceFileDetailEntityMapper.java
index 05d77e2..76efff9 100644
--- a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/SourceFileDetailEntityMapper.java
+++ b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/SourceFileDetailEntityMapper.java
@@ -20,7 +20,7 @@ package org.apache.inlong.manager.dao.mapper;
 import java.util.List;
 import org.apache.ibatis.annotations.Param;
 import org.apache.inlong.manager.common.pojo.agent.FileAgentTaskConfig;
-import org.apache.inlong.manager.common.pojo.datasource.SourceFileDetailPageRequest;
+import org.apache.inlong.manager.common.pojo.source.SourceFileDetailPageRequest;
 import org.apache.inlong.manager.dao.entity.SourceFileDetailEntity;
 import org.springframework.stereotype.Repository;
 
@@ -40,14 +40,14 @@ public interface SourceFileDetailEntityMapper {
     int updateByPrimaryKey(SourceFileDetailEntity record);
 
     /**
-     * Update source db detail status after approving business
+     * Update source db detail status after approving inlong group
      *
-     * @param groupId Business group id
-     * @param streamId Data stream id
+     * @param groupId Inlong group id
+     * @param streamId Inlong stream id
      * @param status Modified status
      * @param modifier Modifier name
      * @return whether succeed
-     * @apiNote If stream id is null, update all data stream associated with group id
+     * @apiNote If stream id is null, update all inlong stream associated with group id
      */
     boolean updateStatusAfterApprove(@Param("groupId") String groupId, @Param("streamId") String streamId,
             @Param("status") Integer status, @Param("modifier") String modifier);
@@ -57,8 +57,8 @@ public interface SourceFileDetailEntityMapper {
     /**
      * Query whether the same file data source details exist
      *
-     * @param groupId business group id
-     * @param streamId data stream id
+     * @param groupId inlong group id
+     * @param streamId inlong stream id
      * @param ip IP of file source
      * @param username username corresponding to the data source IP
      * @return number of eligible file sources
@@ -71,24 +71,24 @@ public interface SourceFileDetailEntityMapper {
     List<FileAgentTaskConfig> selectFileAgentTaskByIpForCheck(@Param("ip") String agentIp);
 
     /**
-     * According to business group id and data stream id, query file source details
+     * According to inlong group id and inlong stream id, query file source details
      *
-     * @param groupId business group id
-     * @param streamId data stream id
+     * @param groupId inlong group id
+     * @param streamId inlong stream id
      * @return file source list
      */
     List<SourceFileDetailEntity> selectByIdentifier(@Param("groupId") String groupId,
             @Param("streamId") String streamId);
 
     /**
-     * According to business group id and data stream id, physically delete file data source details
+     * According to inlong group id and inlong stream id, physically delete file data source details
      *
      * @return rows deleted
      */
     int deleteByIdentifier(@Param("groupId") String groupId, @Param("streamId") String streamId);
 
     /**
-     * According to business group id and data stream id, logically delete file data source details
+     * According to inlong group id and inlong stream id, logically delete file data source details
      *
      * @return rows updated
      */
diff --git a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/StorageEntityMapper.java b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/StorageEntityMapper.java
deleted file mode 100644
index de80711..0000000
--- a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/StorageEntityMapper.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.inlong.manager.dao.mapper;
-
-import org.apache.ibatis.annotations.Param;
-import org.apache.inlong.manager.common.pojo.datastorage.StorageBriefResponse;
-import org.apache.inlong.manager.common.pojo.datastorage.StorageForSortDTO;
-import org.apache.inlong.manager.common.pojo.datastorage.StoragePageRequest;
-import org.apache.inlong.manager.dao.entity.StorageEntity;
-import org.springframework.stereotype.Repository;
-
-import java.util.List;
-
-@Repository
-public interface StorageEntityMapper {
-
-    int insert(StorageEntity record);
-
-    int insertSelective(StorageEntity record);
-
-    StorageEntity selectByPrimaryKey(Integer id);
-
-    /**
-     * According to the business group id and data stream id, query the number of valid Hive storage
-     *
-     * @param groupId business group id
-     * @param streamId data stream id
-     * @return Hive storage entity size
-     */
-    int selectCount(@Param("groupId") String groupId, @Param("streamId") String streamId);
-
-    /**
-     * Paging query storage list based on conditions
-     *
-     * @param request Paging query conditions
-     * @return Hive storage entity list
-     */
-    List<StorageEntity> selectByCondition(@Param("request") StoragePageRequest request);
-
-    /**
-     * Query the storage summary from the given groupId and streamId
-     */
-    List<StorageBriefResponse> selectSummary(@Param("groupId") String groupId,
-            @Param("streamId") String streamId);
-
-    /**
-     * According to the business group id and data stream id, query valid storage information
-     *
-     * @param groupId business group id
-     * @param streamId data stream id
-     * @return Hive storage entity list
-     */
-    List<StorageEntity> selectByIdentifier(@Param("groupId") String groupId, @Param("streamId") String streamId);
-
-    /**
-     * According to the group id, stream id and storage type, query valid storage entity list.
-     *
-     * @param groupId business group id.
-     * @param streamId data stream id.
-     * @param storageType storage type.
-     * @return storage entity list.
-     */
-    List<StorageEntity> selectByIdAndType(@Param("groupId") String groupId, @Param("streamId") String streamId,
-            @Param("storageType") String storageType);
-
-    /**
-     * Filter stream ids with the specified groupId and storageType from the given stream id list.
-     *
-     * @param groupId InLong group id.
-     * @param storageType Storage type.
-     * @param streamIdList InLong stream id list.
-     * @return List of InLong stream id with the given storage type
-     */
-    List<String> selectExistsStreamId(@Param("groupId") String groupId, @Param("storageType") String storageType,
-            @Param("streamIdList") List<String> streamIdList);
-
-    /**
-     * Get the distinct storage type from the given groupId and streamId
-     */
-    List<String> selectStorageType(@Param("groupId") String groupId, @Param("streamId") String streamId);
-
-    /**
-     * Select all config for Sort under the group id and stream id.
-     *
-     * @param groupId Data group id.
-     * @param streamId Data stream id, if is null, get all configs under the group id.
-     * @return Sort config.
-     */
-    List<StorageForSortDTO> selectAllConfig(@Param("groupId") String groupId, @Param("streamId") String streamId);
-
-    int updateByPrimaryKeySelective(StorageEntity record);
-
-    int updateByPrimaryKey(StorageEntity record);
-
-    int updateStorageStatus(StorageEntity entity);
-
-    int deleteByPrimaryKey(Integer id);
-
-}
\ No newline at end of file
diff --git a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/StorageExtEntityMapper.java b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/StorageExtEntityMapper.java
deleted file mode 100644
index 8262270..0000000
--- a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/StorageExtEntityMapper.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.inlong.manager.dao.mapper;
-
-import java.util.List;
-import org.apache.ibatis.annotations.Param;
-import org.apache.inlong.manager.dao.entity.StorageExtEntity;
-import org.springframework.stereotype.Repository;
-
-@Repository
-public interface StorageExtEntityMapper {
-
-    int deleteByPrimaryKey(Integer id);
-
-    int insert(StorageExtEntity record);
-
-    int insertSelective(StorageExtEntity record);
-
-    StorageExtEntity selectByPrimaryKey(Integer id);
-
-    int updateByPrimaryKeySelective(StorageExtEntity record);
-
-    int updateByPrimaryKey(StorageExtEntity record);
-
-    /**
-     * According to the storage type and storage id, physically delete the corresponding extended information
-     *
-     * @param storageType storage type
-     * @param storageId storage id
-     * @return rows deleted
-     */
-    int deleteByStorageTypeAndId(@Param("storageType") String storageType, @Param("storageId") Integer storageId);
-
-    /**
-     * According to the storage type and storage id, logically delete the corresponding extended information
-     *
-     * @param storageId storage id
-     * @return rows updated
-     */
-    int logicDeleteAll(@Param("storageId") Integer storageId);
-
-    /**
-     * According to the storage type and storage primary key, query the corresponding extended information
-     *
-     * @param storageType storage type
-     * @param storageId storage id
-     * @return extended info list
-     */
-    List<StorageExtEntity> selectByStorageTypeAndId(@Param("storageType") String storageType,
-            @Param("storageId") Integer storageId);
-}
\ No newline at end of file
diff --git a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/StreamSinkEntityMapper.java b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/StreamSinkEntityMapper.java
new file mode 100644
index 0000000..6d7ed19
--- /dev/null
+++ b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/StreamSinkEntityMapper.java
@@ -0,0 +1,114 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.inlong.manager.dao.mapper;
+
+import org.apache.ibatis.annotations.Param;
+import org.apache.inlong.manager.common.pojo.sink.SinkBriefResponse;
+import org.apache.inlong.manager.common.pojo.sink.SinkForSortDTO;
+import org.apache.inlong.manager.common.pojo.sink.SinkPageRequest;
+import org.apache.inlong.manager.dao.entity.StreamSinkEntity;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface StreamSinkEntityMapper {
+
+    int insert(StreamSinkEntity record);
+
+    int insertSelective(StreamSinkEntity record);
+
+    StreamSinkEntity selectByPrimaryKey(Integer id);
+
+    /**
+     * According to the inlong group id and inlong stream id, query the number of valid Hive sink
+     *
+     * @param groupId inlong group id
+     * @param streamId inlong stream id
+     * @return Hive sink entity size
+     */
+    int selectCount(@Param("groupId") String groupId, @Param("streamId") String streamId);
+
+    /**
+     * Paging query sink list based on conditions
+     *
+     * @param request Paging query conditions
+     * @return Hive sink entity list
+     */
+    List<StreamSinkEntity> selectByCondition(@Param("request") SinkPageRequest request);
+
+    /**
+     * Query the sink summary from the given groupId and streamId
+     */
+    List<SinkBriefResponse> selectSummary(@Param("groupId") String groupId,
+            @Param("streamId") String streamId);
+
+    /**
+     * According to the inlong group id and inlong stream id, query valid sink information
+     *
+     * @param groupId inlong group id
+     * @param streamId inlong stream id
+     * @return Hive sink entity list
+     */
+    List<StreamSinkEntity> selectByIdentifier(@Param("groupId") String groupId, @Param("streamId") String streamId);
+
+    /**
+     * According to the group id, stream id and sink type, query valid sink entity list.
+     *
+     * @param groupId Inlong group id.
+     * @param streamId Inlong stream id.
+     * @param sinkType Sink type.
+     * @return Sink entity list.
+     */
+    List<StreamSinkEntity> selectByIdAndType(@Param("groupId") String groupId, @Param("streamId") String streamId,
+            @Param("sinkType") String sinkType);
+
+    /**
+     * Filter stream ids with the specified groupId and sinkType from the given stream id list.
+     *
+     * @param groupId InLong group id.
+     * @param sinkType Sink type.
+     * @param streamIdList InLong stream id list.
+     * @return List of InLong stream id with the given sink type
+     */
+    List<String> selectExistsStreamId(@Param("groupId") String groupId, @Param("sinkType") String sinkType,
+            @Param("streamIdList") List<String> streamIdList);
+
+    /**
+     * Get the distinct sink type from the given groupId and streamId
+     */
+    List<String> selectSinkType(@Param("groupId") String groupId, @Param("streamId") String streamId);
+
+    /**
+     * Select all config for Sort under the group id and stream id.
+     *
+     * @param groupId Inlong group id.
+     * @param streamId Inlong stream id, if is null, get all configs under the group id.
+     * @return Sort config.
+     */
+    List<SinkForSortDTO> selectAllConfig(@Param("groupId") String groupId, @Param("streamId") String streamId);
+
+    int updateByPrimaryKeySelective(StreamSinkEntity record);
+
+    int updateByPrimaryKey(StreamSinkEntity record);
+
+    int updateSinkStatus(StreamSinkEntity entity);
+
+    int deleteByPrimaryKey(Integer id);
+
+}
\ No newline at end of file
diff --git a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/StreamSinkExtEntityMapper.java b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/StreamSinkExtEntityMapper.java
new file mode 100644
index 0000000..7f03fcb
--- /dev/null
+++ b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/StreamSinkExtEntityMapper.java
@@ -0,0 +1,68 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.inlong.manager.dao.mapper;
+
+import org.apache.ibatis.annotations.Param;
+import org.apache.inlong.manager.dao.entity.StreamSinkExtEntity;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface StreamSinkExtEntityMapper {
+
+    int deleteByPrimaryKey(Integer id);
+
+    int insert(StreamSinkExtEntity record);
+
+    int insertSelective(StreamSinkExtEntity record);
+
+    StreamSinkExtEntity selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(StreamSinkExtEntity record);
+
+    int updateByPrimaryKey(StreamSinkExtEntity record);
+
+    /**
+     * According to the sink type and sink id, physically delete the corresponding extended information
+     *
+     * @param sinkType sink type
+     * @param sinkId sink id
+     * @return rows deleted
+     */
+    int deleteBySinkTypeAndId(@Param("sinkType") String sinkType, @Param("sinkId") Integer sinkId);
+
+    /**
+     * According to the sink type and sink id, logically delete the corresponding extended information
+     *
+     * @param sinkId sink id
+     * @return rows updated
+     */
+    int logicDeleteAll(@Param("sinkId") Integer sinkId);
+
+    /**
+     * According to the sink type and sink id, query the corresponding extended information
+     *
+     * @param sinkType sink type
+     * @param sinkId sink id
+     * @return extended info list
+     */
+    List<StreamSinkExtEntity> selectBySinkTypeAndId(@Param("sinkType") String sinkType,
+            @Param("sinkId") Integer sinkId);
+
+}
\ No newline at end of file
diff --git a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/StorageFieldEntityMapper.java b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/StreamSinkFieldEntityMapper.java
similarity index 53%
rename from inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/StorageFieldEntityMapper.java
rename to inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/StreamSinkFieldEntityMapper.java
index 967772c..a75027b 100644
--- a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/StorageFieldEntityMapper.java
+++ b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/StreamSinkFieldEntityMapper.java
@@ -18,44 +18,44 @@
 package org.apache.inlong.manager.dao.mapper;
 
 import org.apache.ibatis.annotations.Param;
-import org.apache.inlong.manager.dao.entity.StorageFieldEntity;
+import org.apache.inlong.manager.dao.entity.StreamSinkFieldEntity;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
 
 @Repository
-public interface StorageFieldEntityMapper {
+public interface StreamSinkFieldEntityMapper {
 
-    int insert(StorageFieldEntity record);
+    int insert(StreamSinkFieldEntity record);
 
-    void insertAll(@Param("list") List<StorageFieldEntity> fieldList);
+    void insertAll(@Param("list") List<StreamSinkFieldEntity> fieldList);
 
-    StorageFieldEntity selectByPrimaryKey(Integer id);
+    StreamSinkFieldEntity selectByPrimaryKey(Integer id);
 
-    List<StorageFieldEntity> selectFields(@Param("groupId") String groupId, @Param("streamId") String streamId);
+    List<StreamSinkFieldEntity> selectFields(@Param("groupId") String groupId, @Param("streamId") String streamId);
 
     /**
-     * According to the storage id, query the Hive field
+     * According to the sink id, query the sink field.
      *
-     * @param storageId storage id
-     * @return Hive field list
+     * @param sinkId sink id.
+     * @return Sink field list.
      */
-    List<StorageFieldEntity> selectByStorageId(@Param("storageId") Integer storageId);
+    List<StreamSinkFieldEntity> selectBySinkId(@Param("sinkId") Integer sinkId);
 
     /**
-     * According to the storage id, logically delete the corresponding field information.
+     * According to the sink id, logically delete the corresponding field information.
      *
-     * @param storageId Storage id.
+     * @param sinkId sink id.
      * @return rows deleted.
      */
-    int logicDeleteAll(@Param("storageId") Integer storageId);
+    int logicDeleteAll(@Param("sinkId") Integer sinkId);
 
     /**
-     * According to the storage id, physically delete the corresponding field information
+     * According to the sink id, physically delete the corresponding field information
      *
-     * @param storageId Storage id.
+     * @param sinkId sink id.
      * @return rows deleted.
      */
-    int deleteAll(@Param("storageId") Integer storageId);
+    int deleteAll(@Param("sinkId") Integer sinkId);
 
 }
\ No newline at end of file
diff --git a/inlong-manager/manager-dao/src/main/resources/generatorConfig.xml b/inlong-manager/manager-dao/src/main/resources/generatorConfig.xml
index 8001dbd..990130c 100644
--- a/inlong-manager/manager-dao/src/main/resources/generatorConfig.xml
+++ b/inlong-manager/manager-dao/src/main/resources/generatorConfig.xml
@@ -67,7 +67,7 @@
         </javaClientGenerator>
 
         <!-- Which entities to generate -->
-        <!--<table tableName="agent_heartbeat_log" domainObjectName="AgentHeartBeatLogEntity" enableSelectByPrimaryKey="true"
+        <!--<table tableName="agent_heartbeat" domainObjectName="AgentHeartbeatEntity" enableSelectByPrimaryKey="true"
                 enableUpdateByPrimaryKey="true"
                 enableDeleteByPrimaryKey="true" enableInsert="true"
                 enableCountByExample="false" enableDeleteByExample="false"
@@ -86,14 +86,14 @@
                 enableCountByExample="false" enableDeleteByExample="false"
                 enableSelectByExample="false" enableUpdateByExample="false"/>
 
-        <table tableName="business" domainObjectName="BusinessEntity"
+        <table tableName="inlong_group" domainObjectName="InlongGroupEntity"
                 enableSelectByPrimaryKey="true"
                 enableUpdateByPrimaryKey="true"
                 enableDeleteByPrimaryKey="true" enableInsert="true"
                 enableCountByExample="false" enableDeleteByExample="false"
                 enableSelectByExample="false" enableUpdateByExample="false"/>
 
-        <table tableName="business_ext" domainObjectName="BusinessExtEntity"
+        <table tableName="inlong_group_ext" domainObjectName="InlongGroupExtEntity"
                 enableSelectByPrimaryKey="true"
                 enableUpdateByPrimaryKey="true"
                 enableDeleteByPrimaryKey="true" enableInsert="true"
@@ -121,21 +121,21 @@
                 enableCountByExample="false" enableDeleteByExample="false"
                 enableSelectByExample="false" enableUpdateByExample="false"/>
 
-        <table tableName="data_stream" domainObjectName="DataStreamEntity"
+        <table tableName="inlong_stream" domainObjectName="InlongStreamEntity"
                 enableSelectByPrimaryKey="true"
                 enableUpdateByPrimaryKey="true"
                 enableDeleteByPrimaryKey="true" enableInsert="true"
                 enableCountByExample="false" enableDeleteByExample="false"
                 enableSelectByExample="false" enableUpdateByExample="false"/>
 
-        <table tableName="data_stream_ext" domainObjectName="DataStreamExtEntity"
+        <table tableName="inlong_stream_ext" domainObjectName="InlongStreamExtEntity"
                 enableSelectByPrimaryKey="true"
                 enableUpdateByPrimaryKey="true"
                 enableDeleteByPrimaryKey="true" enableInsert="true"
                 enableCountByExample="false" enableDeleteByExample="false"
                 enableSelectByExample="false" enableUpdateByExample="false"/>
 
-        <table tableName="data_stream_field" domainObjectName="DataStreamFieldEntity"
+        <table tableName="inlong_stream_field" domainObjectName="InlongStreamFieldEntity"
                 enableSelectByPrimaryKey="true"
                 enableUpdateByPrimaryKey="true"
                 enableDeleteByPrimaryKey="true" enableInsert="true"
@@ -170,21 +170,21 @@
                 enableCountByExample="false" enableDeleteByExample="false"
                 enableSelectByExample="false" enableUpdateByExample="false"/>
 
-        <table tableName="storage_ext" domainObjectName="StorageExtEntity"
+        <table tableName="stream_sink" domainObjectName="StreamSinkEntity"
                 enableSelectByPrimaryKey="true"
                 enableUpdateByPrimaryKey="true"
                 enableDeleteByPrimaryKey="true" enableInsert="true"
                 enableCountByExample="false" enableDeleteByExample="false"
                 enableSelectByExample="false" enableUpdateByExample="false"/>
 
-        <table tableName="storage" domainObjectName="StorageEntity"
+        <table tableName="stream_sink_ext" domainObjectName="StreamSinkExtEntity"
                 enableSelectByPrimaryKey="true"
                 enableUpdateByPrimaryKey="true"
                 enableDeleteByPrimaryKey="true" enableInsert="true"
                 enableCountByExample="false" enableDeleteByExample="false"
                 enableSelectByExample="false" enableUpdateByExample="false"/>
 
-        <table tableName="storage_field" domainObjectName="StorageFieldEntity"
+        <table tableName="stream_sink_field" domainObjectName="StreamSinkFieldEntity"
                 enableSelectByPrimaryKey="true"
                 enableUpdateByPrimaryKey="true"
                 enableDeleteByPrimaryKey="true" enableInsert="true"
diff --git a/inlong-manager/manager-dao/src/main/resources/mappers/AgentHeartBeatLogEntityMapper.xml b/inlong-manager/manager-dao/src/main/resources/mappers/AgentHeartbeatEntityMapper.xml
similarity index 85%
rename from inlong-manager/manager-dao/src/main/resources/mappers/AgentHeartBeatLogEntityMapper.xml
rename to inlong-manager/manager-dao/src/main/resources/mappers/AgentHeartbeatEntityMapper.xml
index a46246a..9c3fd42 100644
--- a/inlong-manager/manager-dao/src/main/resources/mappers/AgentHeartBeatLogEntityMapper.xml
+++ b/inlong-manager/manager-dao/src/main/resources/mappers/AgentHeartbeatEntityMapper.xml
@@ -19,8 +19,8 @@
 -->
 
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="org.apache.inlong.manager.dao.mapper.AgentHeartBeatLogEntityMapper">
-    <resultMap id="BaseResultMap" type="org.apache.inlong.manager.dao.entity.AgentHeartBeatLogEntity">
+<mapper namespace="org.apache.inlong.manager.dao.mapper.AgentHeartbeatEntityMapper">
+    <resultMap id="BaseResultMap" type="org.apache.inlong.manager.dao.entity.AgentHeartbeatEntity">
         <id column="ip" jdbcType="VARCHAR" property="ip"/>
         <result column="version" jdbcType="VARCHAR" property="version"/>
         <result column="modify_time" jdbcType="TIMESTAMP" property="modifyTime"/>
@@ -33,22 +33,22 @@
     <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
         select
         <include refid="Base_Column_List"/>
-        from agent_heartbeat_log
+        from agent_heartbeat
         where ip = #{ip,jdbcType=VARCHAR}
     </select>
     <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
         delete
-        from agent_heartbeat_log
+        from agent_heartbeat
         where ip = #{ip,jdbcType=VARCHAR}
     </delete>
-    <insert id="insert" parameterType="org.apache.inlong.manager.dao.entity.AgentHeartBeatLogEntity">
-        insert into agent_heartbeat_log (ip, version, modify_time,
-                                         heartbeat_msg)
+    <insert id="insert" parameterType="org.apache.inlong.manager.dao.entity.AgentHeartbeatEntity">
+        insert into agent_heartbeat (ip, version, modify_time,
+                                     heartbeat_msg)
         values (#{ip,jdbcType=VARCHAR}, #{version,jdbcType=VARCHAR}, #{modifyTime,jdbcType=TIMESTAMP},
                 #{heartbeatMsg,jdbcType=LONGVARCHAR})
     </insert>
-    <insert id="insertSelective" parameterType="org.apache.inlong.manager.dao.entity.AgentHeartBeatLogEntity">
-        insert into agent_heartbeat_log
+    <insert id="insertSelective" parameterType="org.apache.inlong.manager.dao.entity.AgentHeartbeatEntity">
+        insert into agent_heartbeat
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="ip != null">
                 ip,
@@ -79,8 +79,8 @@
         </trim>
     </insert>
     <update id="updateByPrimaryKeySelective"
-            parameterType="org.apache.inlong.manager.dao.entity.AgentHeartBeatLogEntity">
-        update agent_heartbeat_log
+            parameterType="org.apache.inlong.manager.dao.entity.AgentHeartbeatEntity">
+        update agent_heartbeat
         <set>
             <if test="version != null">
                 version = #{version,jdbcType=VARCHAR},
@@ -94,16 +94,16 @@
         </set>
         where ip = #{ip,jdbcType=VARCHAR}
     </update>
-    <update id="updateByPrimaryKey" parameterType="org.apache.inlong.manager.dao.entity.AgentHeartBeatLogEntity">
-        update agent_heartbeat_log
+    <update id="updateByPrimaryKey" parameterType="org.apache.inlong.manager.dao.entity.AgentHeartbeatEntity">
+        update agent_heartbeat
         set version       = #{version,jdbcType=VARCHAR},
             modify_time   = #{modifyTime,jdbcType=TIMESTAMP},
             heartbeat_msg = #{heartbeatMsg,jdbcType=LONGVARCHAR}
         where ip = #{ip,jdbcType=VARCHAR}
     </update>
-    <insert id="replace" parameterType="org.apache.inlong.manager.dao.entity.AgentHeartBeatLogEntity">
-        replace into agent_heartbeat_log (ip, version, modify_time,
-                                          heartbeat_msg)
+    <insert id="replace" parameterType="org.apache.inlong.manager.dao.entity.AgentHeartbeatEntity">
+        replace into agent_heartbeat (ip, version, modify_time,
+                                      heartbeat_msg)
         values (#{ip,jdbcType=VARCHAR}, #{version,jdbcType=VARCHAR}, #{modifyTime,jdbcType=TIMESTAMP},
                 #{heartbeatMsg,jdbcType=LONGVARCHAR})
     </insert>
diff --git a/inlong-manager/manager-dao/src/main/resources/mappers/ClusterSetMapper.xml b/inlong-manager/manager-dao/src/main/resources/mappers/ClusterSetMapper.xml
index bebad63..f0f9240 100644
--- a/inlong-manager/manager-dao/src/main/resources/mappers/ClusterSetMapper.xml
+++ b/inlong-manager/manager-dao/src/main/resources/mappers/ClusterSetMapper.xml
@@ -21,13 +21,25 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.apache.inlong.manager.dao.mapper.ClusterSetMapper">
     <select id="selectClusterSet" resultType="org.apache.inlong.manager.dao.entity.ClusterSet">
-        select set_name,cn_name,description,middleware_type,in_charges,followers,status,is_deleted,creator,modifier
+        select set_name,
+               cn_name,
+               description,
+               middleware_type,
+               in_charges,
+               followers,
+               status,
+               is_deleted,
+               creator,
+               modifier
         from cluster_set
         where is_deleted = 0
     </select>
     <select id="selectInlongId" resultType="org.apache.inlong.manager.dao.entity.InLongId">
-        select biz.inlong_group_id as inlong_id, biz.mq_resource_obj as topic, d.sort_type as params, c.set_name as set_name
-        from business biz,
+        select biz.inlong_group_id as inlong_id,
+               biz.mq_resource_obj as topic,
+               d.sort_type         as params,
+               c.set_name          as set_name
+        from inlong_group biz,
              data_schema d,
              cluster_set_inlongid c
         where biz.status = 130
@@ -36,51 +48,52 @@
           and biz.inlong_group_id = c.inlong_group_id
     </select>
     <select id="selectCacheCluster" resultType="org.apache.inlong.manager.dao.entity.CacheCluster">
-        select cluster_name,set_name,zone
+        select cluster_name, set_name, zone
         from cache_cluster
     </select>
     <select id="selectCacheClusterExt" resultType="org.apache.inlong.manager.dao.entity.CacheClusterExt">
-        select cluster_name,key_name,key_value,is_deleted
+        select cluster_name, key_name, key_value, is_deleted
         from cache_cluster_ext
         where is_deleted = 0
     </select>
-    
+
     <select id="selectCacheTopic" resultType="org.apache.inlong.manager.dao.entity.CacheTopic">
-        select topic_name,set_name,partition_num
+        select topic_name, set_name, partition_num
         from cache_topic
     </select>
     <select id="selectProxyCluster" resultType="org.apache.inlong.manager.dao.entity.ProxyCluster">
-        select cluster_name,set_name,zone
+        select cluster_name, set_name, zone
         from proxy_cluster
     </select>
-    <select id="selectProxyClusterToCacheCluster" resultType="org.apache.inlong.manager.dao.entity.ProxyClusterToCacheCluster">
-        select proxy_cluster_name,cache_cluster_name
+    <select id="selectProxyClusterToCacheCluster"
+            resultType="org.apache.inlong.manager.dao.entity.ProxyClusterToCacheCluster">
+        select proxy_cluster_name, cache_cluster_name
         from proxy_cluster_to_cache_cluster
     </select>
     <select id="selectFlumeSource" resultType="org.apache.inlong.manager.dao.entity.FlumeSource">
-        select source_name,set_name,type,channels,selector_type
+        select source_name, set_name, type, channels, selector_type
         from flume_source
     </select>
     <select id="selectFlumeSourceExt" resultType="org.apache.inlong.manager.dao.entity.FlumeSourceExt">
-        select parent_name,set_name,key_name,key_value,is_deleted
+        select parent_name, set_name, key_name, key_value, is_deleted
         from flume_source_ext
         where is_deleted = 0
     </select>
     <select id="selectFlumeChannel" resultType="org.apache.inlong.manager.dao.entity.FlumeChannel">
-        select channel_name,set_name,type
+        select channel_name, set_name, type
         from flume_channel
     </select>
     <select id="selectFlumeChannelExt" resultType="org.apache.inlong.manager.dao.entity.FlumeChannelExt">
-        select parent_name,set_name,key_name,key_value,is_deleted
+        select parent_name, set_name, key_name, key_value, is_deleted
         from flume_channel_ext
         where is_deleted = 0
     </select>
     <select id="selectFlumeSink" resultType="org.apache.inlong.manager.dao.entity.FlumeSink">
-        select channel_name,set_name,type,channel
+        select channel_name, set_name, type, channel
         from flume_sink
     </select>
     <select id="selectFlumeSinkExt" resultType="org.apache.inlong.manager.dao.entity.FlumeSinkExt">
-        select parent_name,set_name,key_name,key_value,is_deleted
+        select parent_name, set_name, key_name, key_value, is_deleted
         from flume_sink_ext
         where is_deleted = 0
     </select>
diff --git a/inlong-manager/manager-dao/src/main/resources/mappers/BusinessEntityMapper.xml b/inlong-manager/manager-dao/src/main/resources/mappers/InlongGroupEntityMapper.xml
similarity index 93%
rename from inlong-manager/manager-dao/src/main/resources/mappers/BusinessEntityMapper.xml
rename to inlong-manager/manager-dao/src/main/resources/mappers/InlongGroupEntityMapper.xml
index b750e0b..b65550f 100644
--- a/inlong-manager/manager-dao/src/main/resources/mappers/BusinessEntityMapper.xml
+++ b/inlong-manager/manager-dao/src/main/resources/mappers/InlongGroupEntityMapper.xml
@@ -19,8 +19,8 @@
 -->
 
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="org.apache.inlong.manager.dao.mapper.BusinessEntityMapper">
-    <resultMap id="BaseResultMap" type="org.apache.inlong.manager.dao.entity.BusinessEntity">
+<mapper namespace="org.apache.inlong.manager.dao.mapper.InlongGroupEntityMapper">
+    <resultMap id="BaseResultMap" type="org.apache.inlong.manager.dao.entity.InlongGroupEntity">
         <id column="id" jdbcType="INTEGER" property="id"/>
         <result column="inlong_group_id" jdbcType="VARCHAR" property="inlongGroupId"/>
         <result column="name" jdbcType="VARCHAR" property="name"/>
@@ -61,12 +61,12 @@
     <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
         select
         <include refid="Base_Column_List"/>
-        from business
+        from inlong_group
         where id = #{id,jdbcType=INTEGER}
     </select>
-    <select id="countCurrentUserBusiness" resultMap="statusCountMap">
+    <select id="countCurrentUserGroup" resultMap="statusCountMap">
         select count(*) as total, status
-        from business
+        from inlong_group
         where is_deleted = 0
           and (creator = #{currentUser,jdbcType=VARCHAR} or find_in_set(#{currentUser,jdbcType=VARCHAR}, in_charges))
         group by status
@@ -74,29 +74,29 @@
     <select id="selectByIdentifier" resultMap="BaseResultMap">
         select
         <include refid="Base_Column_List"/>
-        from business
+        from inlong_group
         where inlong_group_id = #{groupId, jdbcType=VARCHAR}
         and is_deleted = 0
     </select>
     <select id="selectIdentifierExist" resultType="java.lang.Integer">
         select count(1)
-        from business
+        from inlong_group
         where inlong_group_id = #{groupId, jdbcType=VARCHAR}
           and is_deleted = 0
     </select>
     <select id="selectAll" resultMap="BaseResultMap">
         select
         <include refid="Base_Column_List"/>
-        from business
+        from inlong_group
         where is_deleted = 0
         and status = #{status, jdbcType=VARCHAR}
         order by modify_time desc
     </select>
     <select id="selectByCondition" resultMap="BaseResultMap"
-            parameterType="org.apache.inlong.manager.common.pojo.business.BusinessPageRequest">
+            parameterType="org.apache.inlong.manager.common.pojo.group.InlongGroupPageRequest">
         select
         <include refid="Base_Column_List"/>
-        from business
+        from inlong_group
         <where>
             is_deleted = 0 and (creator = #{currentUser,jdbcType=VARCHAR} or find_in_set(
             #{currentUser,jdbcType=VARCHAR},in_charges))
@@ -114,7 +114,7 @@
     </select>
     <select id="selectDataProxyConfig" resultType="org.apache.inlong.commons.pojo.dataproxy.DataProxyConfig">
         select biz.inlong_group_id as inlongGroupId, biz.mq_resource_obj as topic, d.sort_type as m
-        from business biz,
+        from inlong_group biz,
              data_schema d
         where biz.status = 130
           and biz.is_deleted = 0
@@ -123,19 +123,19 @@
 
     <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
         delete
-        from business
+        from inlong_group
         where id = #{id,jdbcType=INTEGER}
     </delete>
     <insert id="insert" useGeneratedKeys="true" keyProperty="id"
-            parameterType="org.apache.inlong.manager.dao.entity.BusinessEntity">
-        insert into business (id, inlong_group_id, name,
-                              cn_name, description, middleware_type,
-                              queue_module, topic_partition_num,
-                              mq_resource_obj, daily_records, daily_storage,
-                              peak_records, max_length, schema_name,
-                              in_charges, followers, status,
-                              is_deleted, creator, modifier,
-                              create_time, modify_time, temp_view, zookeeper_enabled, proxy_cluster_id)
+            parameterType="org.apache.inlong.manager.dao.entity.InlongGroupEntity">
+        insert into inlong_group (id, inlong_group_id, name,
+                                  cn_name, description, middleware_type,
+                                  queue_module, topic_partition_num,
+                                  mq_resource_obj, daily_records, daily_storage,
+                                  peak_records, max_length, schema_name,
+                                  in_charges, followers, status,
+                                  is_deleted, creator, modifier,
+                                  create_time, modify_time, temp_view, zookeeper_enabled, proxy_cluster_id)
         values (#{id,jdbcType=INTEGER}, #{inlongGroupId,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR},
                 #{cnName,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR}, #{middlewareType,jdbcType=VARCHAR},
                 #{queueModule,jdbcType=VARCHAR}, #{topicPartitionNum,jdbcType=INTEGER},
@@ -147,8 +147,8 @@
                 #{zookeeperEnabled,jdbcType=INTEGER}), #{proxyClusterId,jdbcType=INTEGER})
     </insert>
     <insert id="insertSelective" useGeneratedKeys="true" keyProperty="id"
-            parameterType="org.apache.inlong.manager.dao.entity.BusinessEntity">
-        insert into business
+            parameterType="org.apache.inlong.manager.dao.entity.InlongGroupEntity">
+        insert into inlong_group
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="id != null">
                 id,
@@ -298,8 +298,8 @@
             </if>
         </trim>
     </insert>
-    <update id="updateByPrimaryKeySelective" parameterType="org.apache.inlong.manager.dao.entity.BusinessEntity">
-        update business
+    <update id="updateByPrimaryKeySelective" parameterType="org.apache.inlong.manager.dao.entity.InlongGroupEntity">
+        update inlong_group
         <set>
             <if test="inlongGroupId != null">
                 inlong_group_id = #{inlongGroupId,jdbcType=VARCHAR},
@@ -373,8 +373,8 @@
         </set>
         where id = #{id,jdbcType=INTEGER}
     </update>
-    <update id="updateByIdentifierSelective" parameterType="org.apache.inlong.manager.dao.entity.BusinessEntity">
-        update business
+    <update id="updateByIdentifierSelective" parameterType="org.apache.inlong.manager.dao.entity.InlongGroupEntity">
+        update inlong_group
         <set>
             <if test="name != null">
                 name = #{name,jdbcType=VARCHAR},
@@ -441,8 +441,8 @@
         and is_deleted = 0
     </update>
 
-    <update id="updateByPrimaryKey" parameterType="org.apache.inlong.manager.dao.entity.BusinessEntity">
-        update business
+    <update id="updateByPrimaryKey" parameterType="org.apache.inlong.manager.dao.entity.InlongGroupEntity">
+        update inlong_group
         set inlong_group_id     = #{inlongGroupId,jdbcType=VARCHAR},
             name                = #{name,jdbcType=VARCHAR},
             cn_name             = #{cnName,jdbcType=VARCHAR},
@@ -470,7 +470,7 @@
         where id = #{id,jdbcType=INTEGER}
     </update>
     <update id="updateStatusByIdentifier">
-        update business
+        update inlong_group
         set status   = #{status,jdbcType=INTEGER},
             modifier = #{modifier,jdbcType=VARCHAR}
         where inlong_group_id = #{groupId, jdbcType=VARCHAR}
@@ -479,7 +479,7 @@
 
     <select id="selectGroupIdByProxyId" parameterType="java.lang.Integer">
         select inlong_group_id
-        from business
+        from inlong_group
         where proxy_cluster_id = #{proxyClusterId,jdbcType=INTEGER}
     </select>
 
diff --git a/inlong-manager/manager-dao/src/main/resources/mappers/BusinessExtEntityMapper.xml b/inlong-manager/manager-dao/src/main/resources/mappers/InlongGroupExtEntityMapper.xml
similarity index 87%
rename from inlong-manager/manager-dao/src/main/resources/mappers/BusinessExtEntityMapper.xml
rename to inlong-manager/manager-dao/src/main/resources/mappers/InlongGroupExtEntityMapper.xml
index 0cba2c8..6ac398e 100644
--- a/inlong-manager/manager-dao/src/main/resources/mappers/BusinessExtEntityMapper.xml
+++ b/inlong-manager/manager-dao/src/main/resources/mappers/InlongGroupExtEntityMapper.xml
@@ -19,8 +19,8 @@
 -->
 
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="org.apache.inlong.manager.dao.mapper.BusinessExtEntityMapper">
-    <resultMap id="BaseResultMap" type="org.apache.inlong.manager.dao.entity.BusinessExtEntity">
+<mapper namespace="org.apache.inlong.manager.dao.mapper.InlongGroupExtEntityMapper">
+    <resultMap id="BaseResultMap" type="org.apache.inlong.manager.dao.entity.InlongGroupExtEntity">
         <id column="id" jdbcType="INTEGER" property="id"/>
         <result column="inlong_group_id" jdbcType="VARCHAR" property="inlongGroupId"/>
         <result column="key_name" jdbcType="VARCHAR" property="keyName"/>
@@ -34,43 +34,43 @@
     <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
         select
         <include refid="Base_Column_List"/>
-        from business_ext
+        from inlong_group_ext
         where id = #{id,jdbcType=INTEGER}
     </select>
-    <select id="selectByGroupId" resultType="org.apache.inlong.manager.dao.entity.BusinessExtEntity">
+    <select id="selectByGroupId" resultType="org.apache.inlong.manager.dao.entity.InlongGroupExtEntity">
         select
         <include refid="Base_Column_List"/>
-        from business_ext
+        from inlong_group_ext
         where inlong_group_id = #{groupId, jdbcType=VARCHAR}
         and is_deleted = 0
     </select>
     <!-- Query the undeleted extended attributes based on inlongGroupId and keyName -->
-    <select id="selectByGroupIdAndKeyName" resultType="org.apache.inlong.manager.dao.entity.BusinessExtEntity">
+    <select id="selectByGroupIdAndKeyName" resultType="org.apache.inlong.manager.dao.entity.InlongGroupExtEntity">
         select
         <include refid="Base_Column_List"/>
-        from business_ext
+        from inlong_group_ext
         where inlong_group_id = #{inlongGroupId, jdbcType=INTEGER}
         and key_name = #{keyName, jdbcType=VARCHAR}
         and is_deleted = 0
     </select>
     <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
         delete
-        from business_ext
+        from inlong_group_ext
         where id = #{id,jdbcType=INTEGER}
     </delete>
     <delete id="deleteAllByGroupId">
         delete
-        from business_ext
+        from inlong_group_ext
         where inlong_group_id = #{groupId, jdbcType=VARCHAR}
     </delete>
-    <insert id="insert" parameterType="org.apache.inlong.manager.dao.entity.BusinessExtEntity">
-        insert into business_ext (id, inlong_group_id, key_name,
-                                  key_value, is_deleted, modify_time)
+    <insert id="insert" parameterType="org.apache.inlong.manager.dao.entity.InlongGroupExtEntity">
+        insert into inlong_group_ext (id, inlong_group_id, key_name,
+                                      key_value, is_deleted, modify_time)
         values (#{id,jdbcType=INTEGER}, #{inlongGroupId,jdbcType=VARCHAR}, #{keyName,jdbcType=VARCHAR},
                 #{keyValue,jdbcType=VARCHAR}, #{isDeleted,jdbcType=INTEGER}, #{modifyTime,jdbcType=TIMESTAMP})
     </insert>
-    <insert id="insertSelective" parameterType="org.apache.inlong.manager.dao.entity.BusinessExtEntity">
-        insert into business_ext
+    <insert id="insertSelective" parameterType="org.apache.inlong.manager.dao.entity.InlongGroupExtEntity">
+        insert into inlong_group_ext
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="id != null">
                 id,
@@ -114,7 +114,7 @@
     </insert>
     <!-- Bulk insert-->
     <insert id="insertAll" parameterType="java.util.List">
-        insert into business_ext
+        insert into inlong_group_ext
         (id, inlong_group_id, key_name, key_value, is_deleted)
         values
         <foreach collection="extList" separator="," index="index" item="item">
@@ -123,7 +123,7 @@
     </insert>
     <!-- Bulk insert,update if exists-->
     <insert id="insertOnDuplicateKeyUpdate" parameterType="java.util.List">
-        insert into business_ext
+        insert into inlong_group_ext
         (id, inlong_group_id, key_name, key_value, is_deleted)
         values
         <foreach collection="extList" separator="," index="index" item="item">
@@ -135,8 +135,8 @@
         key_value = VALUES(key_value),
         is_deleted = VALUES(is_deleted)
     </insert>
-    <update id="updateByPrimaryKey" parameterType="org.apache.inlong.manager.dao.entity.BusinessExtEntity">
-        update business_ext
+    <update id="updateByPrimaryKey" parameterType="org.apache.inlong.manager.dao.entity.InlongGroupExtEntity">
+        update inlong_group_ext
         set inlong_group_id = #{inlongGroupId,jdbcType=VARCHAR},
             key_name        = #{keyName,jdbcType=VARCHAR},
             key_value       = #{keyValue,jdbcType=VARCHAR},
@@ -145,7 +145,7 @@
         where id = #{id,jdbcType=INTEGER}
     </update>
     <update id="logicDeleteAllByGroupId">
-        update business_ext
+        update inlong_group_ext
         set is_deleted = 1
         where inlong_group_id = #{groupId, jdbcType=VARCHAR}
           and is_deleted = 0
diff --git a/inlong-manager/manager-dao/src/main/resources/mappers/BusinessPulsarEntityMapper.xml b/inlong-manager/manager-dao/src/main/resources/mappers/InlongGroupPulsarEntityMapper.xml
similarity index 91%
rename from inlong-manager/manager-dao/src/main/resources/mappers/BusinessPulsarEntityMapper.xml
rename to inlong-manager/manager-dao/src/main/resources/mappers/InlongGroupPulsarEntityMapper.xml
index 88d0f0b..adc1e21 100644
--- a/inlong-manager/manager-dao/src/main/resources/mappers/BusinessPulsarEntityMapper.xml
+++ b/inlong-manager/manager-dao/src/main/resources/mappers/InlongGroupPulsarEntityMapper.xml
@@ -19,8 +19,8 @@
 -->
 
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="org.apache.inlong.manager.dao.mapper.BusinessPulsarEntityMapper">
-    <resultMap id="BaseResultMap" type="org.apache.inlong.manager.dao.entity.BusinessPulsarEntity">
+<mapper namespace="org.apache.inlong.manager.dao.mapper.InlongGroupPulsarEntityMapper">
+    <resultMap id="BaseResultMap" type="org.apache.inlong.manager.dao.entity.InlongGroupPulsarEntity">
         <id column="id" jdbcType="INTEGER" property="id"/>
         <result column="inlong_group_id" jdbcType="VARCHAR" property="inlongGroupId"/>
         <result column="ensemble" jdbcType="INTEGER" property="ensemble"/>
@@ -41,43 +41,43 @@
     <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
         select
         <include refid="Base_Column_List"/>
-        from business_pulsar
+        from inlong_group_pulsar
         where id = #{id,jdbcType=INTEGER}
         and is_deleted = 0
     </select>
     <select id="selectByGroupId" parameterType="java.lang.String" resultMap="BaseResultMap">
         select
         <include refid="Base_Column_List"/>
-        from business_pulsar
+        from inlong_group_pulsar
         where inlong_group_id = #{inlongGroupId,jdbcType=VARCHAR}
         and is_deleted = 0
     </select>
 
     <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
-        update business_pulsar
+        update inlong_group_pulsar
         set is_deleted=1
         where id = #{id,jdbcType=INTEGER}
           and is_deleted = 0
     </delete>
     <update id="logicDeleteByGroupId">
-        update business_pulsar
+        update inlong_group_pulsar
         set is_deleted = 1
         where inlong_group_id = #{groupId, jdbcType=VARCHAR}
           and is_deleted = 0
     </update>
 
-    <insert id="insert" parameterType="org.apache.inlong.manager.dao.entity.BusinessPulsarEntity">
-        insert into business_pulsar (id, inlong_group_id, ensemble,
-                                     write_quorum, ack_quorum, retention_time,
-                                     retention_time_unit, ttl, ttl_unit,
-                                     retention_size, retention_size_unit, is_deleted)
+    <insert id="insert" parameterType="org.apache.inlong.manager.dao.entity.InlongGroupPulsarEntity">
+        insert into inlong_group_pulsar (id, inlong_group_id, ensemble,
+                                         write_quorum, ack_quorum, retention_time,
+                                         retention_time_unit, ttl, ttl_unit,
+                                         retention_size, retention_size_unit, is_deleted)
         values (#{id,jdbcType=INTEGER}, #{inlongGroupId,jdbcType=VARCHAR}, #{ensemble,jdbcType=INTEGER},
                 #{writeQuorum,jdbcType=INTEGER}, #{ackQuorum,jdbcType=INTEGER}, #{retentionTime,jdbcType=INTEGER},
                 #{retentionTimeUnit,jdbcType=CHAR}, #{ttl,jdbcType=INTEGER}, #{ttlUnit,jdbcType=VARCHAR},
                 #{retentionSize,jdbcType=INTEGER}, #{retentionSizeUnit,jdbcType=VARCHAR}, #{isDeleted,jdbcType=INTEGER})
     </insert>
-    <insert id="insertSelective" parameterType="org.apache.inlong.manager.dao.entity.BusinessPulsarEntity">
-        insert into business_pulsar
+    <insert id="insertSelective" parameterType="org.apache.inlong.manager.dao.entity.InlongGroupPulsarEntity">
+        insert into inlong_group_pulsar
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="id != null">
                 id,
@@ -155,8 +155,8 @@
             </if>
         </trim>
     </insert>
-    <update id="updateByPrimaryKeySelective" parameterType="org.apache.inlong.manager.dao.entity.BusinessPulsarEntity">
-        update business_pulsar
+    <update id="updateByPrimaryKeySelective" parameterType="org.apache.inlong.manager.dao.entity.InlongGroupPulsarEntity">
+        update inlong_group_pulsar
         <set>
             <if test="inlongGroupId != null">
                 inlong_group_id = #{inlongGroupId,jdbcType=VARCHAR},
@@ -194,8 +194,8 @@
         </set>
         where id = #{id,jdbcType=INTEGER} and is_deleted=0
     </update>
-    <update id="updateByPrimaryKey" parameterType="org.apache.inlong.manager.dao.entity.BusinessPulsarEntity">
-        update business_pulsar
+    <update id="updateByPrimaryKey" parameterType="org.apache.inlong.manager.dao.entity.InlongGroupPulsarEntity">
+        update inlong_group_pulsar
         set inlong_group_id     = #{inlongGroupId,jdbcType=VARCHAR},
             ensemble            = #{ensemble,jdbcType=INTEGER},
             write_quorum        = #{writeQuorum,jdbcType=INTEGER},
@@ -210,8 +210,8 @@
         where id = #{id,jdbcType=INTEGER}
           and is_deleted = 0
     </update>
-    <update id="updateByIdentifierSelective" parameterType="org.apache.inlong.manager.dao.entity.BusinessPulsarEntity">
-        update business_pulsar
+    <update id="updateByIdentifierSelective" parameterType="org.apache.inlong.manager.dao.entity.InlongGroupPulsarEntity">
+        update inlong_group_pulsar
         <set>
             <if test="ensemble != null">
                 ensemble = #{ensemble,jdbcType=INTEGER},
diff --git a/inlong-manager/manager-dao/src/main/resources/mappers/DataStreamEntityMapper.xml b/inlong-manager/manager-dao/src/main/resources/mappers/InlongStreamEntityMapper.xml
similarity index 86%
rename from inlong-manager/manager-dao/src/main/resources/mappers/DataStreamEntityMapper.xml
rename to inlong-manager/manager-dao/src/main/resources/mappers/InlongStreamEntityMapper.xml
index 3d7aa6d..dc92cee 100644
--- a/inlong-manager/manager-dao/src/main/resources/mappers/DataStreamEntityMapper.xml
+++ b/inlong-manager/manager-dao/src/main/resources/mappers/InlongStreamEntityMapper.xml
@@ -19,8 +19,8 @@
 -->
 
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="org.apache.inlong.manager.dao.mapper.DataStreamEntityMapper">
-    <resultMap id="BaseResultMap" type="org.apache.inlong.manager.dao.entity.DataStreamEntity">
+<mapper namespace="org.apache.inlong.manager.dao.mapper.InlongStreamEntityMapper">
+    <resultMap id="BaseResultMap" type="org.apache.inlong.manager.dao.entity.InlongStreamEntity">
         <id column="id" jdbcType="INTEGER" property="id"/>
         <result column="inlong_stream_id" jdbcType="VARCHAR" property="inlongStreamId"/>
         <result column="inlong_group_id" jdbcType="VARCHAR" property="inlongGroupId"/>
@@ -58,13 +58,13 @@
     <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
         select
         <include refid="Base_Column_List"/>
-        from data_stream
+        from inlong_stream
         where id = #{id,jdbcType=INTEGER}
     </select>
-    <select id="selectByIdentifier" resultType="org.apache.inlong.manager.dao.entity.DataStreamEntity">
+    <select id="selectByIdentifier" resultType="org.apache.inlong.manager.dao.entity.InlongStreamEntity">
         select
         <include refid="Base_Column_List"/>
-        from data_stream
+        from inlong_stream
         <where>
             is_deleted = 0
             <if test="groupId != null and groupId != ''">
@@ -77,26 +77,26 @@
     </select>
     <select id="selectExistByIdentifier" resultType="java.lang.Integer">
         select count(1)
-        from data_stream
+        from inlong_stream
         where inlong_group_id = #{groupId, jdbcType=VARCHAR}
           and inlong_stream_id = #{streamId, jdbcType=VARCHAR}
           and is_deleted = 0
     </select>
     <select id="selectByCondition" resultMap="BaseResultMap"
-            parameterType="org.apache.inlong.manager.common.pojo.datastream.DataStreamPageRequest">
+            parameterType="org.apache.inlong.manager.common.pojo.stream.InlongStreamPageRequest">
         select
-            distinct ds.id, ds.inlong_group_id, ds.inlong_stream_id, ds.name,
-            ds.description, ds.mq_resource_obj, ds.data_source_type, ds.storage_period, ds.data_type,
-            ds.data_encoding, ds.data_separator, ds.data_escape_char, ds.have_predefined_fields,
-            ds.daily_records, ds.daily_storage, ds.peak_records, ds.max_length, ds.in_charges,
-            ds.status, ds.creator, ds.modifier, ds.create_time, ds.modify_time
-        from data_stream ds, business biz, workflow_approver approver
+            distinct stream.id, stream.inlong_group_id, stream.inlong_stream_id, stream.name,
+            stream.description, stream.mq_resource_obj, stream.data_source_type, stream.storage_period, stream.data_type,
+            stream.data_encoding, stream.data_separator, stream.data_escape_char, stream.have_predefined_fields,
+            stream.daily_records, stream.daily_storage, stream.peak_records, stream.max_length, stream.in_charges,
+            stream.status, stream.creator, stream.modifier, stream.create_time, stream.modify_time
+        from inlong_stream stream, inlong_group biz, workflow_approver approver
         <where>
-            ds.is_deleted = 0
-            and approver.process_name = "NEW_BUSINESS_WORKFLOW" and approver.is_deleted = 0
-            and ds.inlong_group_id = biz.inlong_group_id and biz.is_deleted = 0
+            stream.is_deleted = 0
+            and approver.process_name = "NEW_GROUP_PROCESS" and approver.is_deleted = 0
+            and stream.inlong_group_id = biz.inlong_group_id and biz.is_deleted = 0
             <if test="request.inlongGroupId != null and request.inlongGroupId != ''">
-                and ds.inlong_group_id = #{request.inlongGroupId, jdbcType=VARCHAR}
+                and stream.inlong_group_id = #{request.inlongGroupId, jdbcType=VARCHAR}
             </if>
             and (
             find_in_set(#{request.currentUser, jdbcType=VARCHAR}, biz.in_charges)
@@ -104,38 +104,38 @@
             or find_in_set(#{request.currentUser, jdbcType=VARCHAR}, approver.approvers)
             )
             <if test="request.dataSourceType != null and request.dataSourceType != ''">
-                and ds.data_source_type = #{request.dataSourceType, jdbcType=VARCHAR}
+                and stream.data_source_type = #{request.dataSourceType, jdbcType=VARCHAR}
             </if>
             <if test="request.keyWord != null and request.keyWord != ''">
-                and (ds.inlong_stream_id like CONCAT('%', #{request.keyWord}, '%')
-                or ds.name like CONCAT('%', #{request.keyWord}, '%')
-                or ds.description like CONCAT('%', #{request.keyWord}, '%')
+                and (stream.inlong_stream_id like CONCAT('%', #{request.keyWord}, '%')
+                or stream.name like CONCAT('%', #{request.keyWord}, '%')
+                or stream.description like CONCAT('%', #{request.keyWord}, '%')
                 )
             </if>
             <if test="request.status != null and request.status != ''">
-                and ds.status = #{request.status, jdbcType=INTEGER}
+                and stream.status = #{request.status, jdbcType=INTEGER}
             </if>
         </where>
-        order by ds.modify_time desc
+        order by stream.modify_time desc
     </select>
-    <select id="selectByGroupId" resultType="org.apache.inlong.manager.dao.entity.DataStreamEntity">
+    <select id="selectByGroupId" resultType="org.apache.inlong.manager.dao.entity.InlongStreamEntity">
         select
         <include refid="Base_Column_List"/>
-        from data_stream
+        from inlong_stream
         where inlong_group_id = #{groupId, jdbcType=VARCHAR}
         and is_deleted = 0
     </select>
     <select id="selectCountByGroupId" resultType="java.lang.Integer">
         select count(1)
-        from data_stream
+        from inlong_stream
         <where>
             inlong_group_id = #{groupId,jdbcType=VARCHAR}
             and is_deleted = 0
         </where>
     </select>
-    <select id="selectTopicList" resultType="org.apache.inlong.manager.common.pojo.datastream.DataStreamTopicVO">
+    <select id="selectTopicList" resultType="org.apache.inlong.manager.common.pojo.stream.InlongStreamTopicResponse">
         select inlong_stream_id, mq_resource_obj
-        from data_stream
+        from inlong_stream
         <where>
             inlong_group_id = #{groupId, jdbcType=VARCHAR}
             and is_deleted = 0
@@ -144,28 +144,28 @@
 
     <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
         delete
-        from data_stream
+        from inlong_stream
         where id = #{id,jdbcType=INTEGER}
     </delete>
     <delete id="deleteAllByGroupId">
         delete
-        from data_stream
+        from inlong_stream
         where inlong_group_id = #{groupId, jdbcType=VARCHAR}
           and is_deleted = 0
     </delete>
 
     <insert id="insert" useGeneratedKeys="true" keyProperty="id"
-            parameterType="org.apache.inlong.manager.dao.entity.DataStreamEntity">
-        insert into data_stream (id, inlong_stream_id, inlong_group_id,
-                                 name, description, mq_resource_obj,
-                                 data_source_type, storage_period, data_type,
-                                 data_encoding, data_separator,
-                                 data_escape_char, have_predefined_fields,
-                                 daily_records, daily_storage,
-                                 peak_records, max_length,
-                                 in_charges, status, previous_status,
-                                 is_deleted, creator, modifier,
-                                 create_time, modify_time, temp_view)
+            parameterType="org.apache.inlong.manager.dao.entity.InlongStreamEntity">
+        insert into inlong_stream (id, inlong_stream_id, inlong_group_id,
+                                   name, description, mq_resource_obj,
+                                   data_source_type, storage_period, data_type,
+                                   data_encoding, data_separator,
+                                   data_escape_char, have_predefined_fields,
+                                   daily_records, daily_storage,
+                                   peak_records, max_length,
+                                   in_charges, status, previous_status,
+                                   is_deleted, creator, modifier,
+                                   create_time, modify_time, temp_view)
         values (#{id,jdbcType=INTEGER}, #{inlongStreamId,jdbcType=VARCHAR}, #{inlongGroupId,jdbcType=VARCHAR},
                 #{name,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR}, #{mqResourceObj,jdbcType=VARCHAR},
                 #{dataSourceType,jdbcType=VARCHAR}, #{storagePeriod,jdbcType=INTEGER}, #{dataType,jdbcType=VARCHAR},
@@ -178,8 +178,8 @@
                 #{createTime,jdbcType=TIMESTAMP}, #{modifyTime,jdbcType=TIMESTAMP}, #{tempView,jdbcType=LONGVARCHAR})
     </insert>
     <insert id="insertSelective" useGeneratedKeys="true" keyProperty="id"
-            parameterType="org.apache.inlong.manager.dao.entity.DataStreamEntity">
-        insert into data_stream
+            parameterType="org.apache.inlong.manager.dao.entity.InlongStreamEntity">
+        insert into inlong_stream
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="id != null">
                 id,
@@ -342,8 +342,8 @@
         </trim>
     </insert>
 
-    <update id="updateByPrimaryKey" parameterType="org.apache.inlong.manager.dao.entity.DataStreamEntity">
-        update data_stream
+    <update id="updateByPrimaryKey" parameterType="org.apache.inlong.manager.dao.entity.InlongStreamEntity">
+        update inlong_stream
         set inlong_stream_id       = #{inlongStreamId,jdbcType=VARCHAR},
             inlong_group_id        = #{inlongGroupId,jdbcType=VARCHAR},
             name                   = #{name,jdbcType=VARCHAR},
@@ -371,8 +371,8 @@
             temp_view              = #{tempView,jdbcType=LONGVARCHAR}
         where id = #{id,jdbcType=INTEGER}
     </update>
-    <update id="updateByIdentifierSelective" parameterType="org.apache.inlong.manager.dao.entity.DataStreamEntity">
-        update data_stream
+    <update id="updateByIdentifierSelective" parameterType="org.apache.inlong.manager.dao.entity.InlongStreamEntity">
+        update inlong_stream
         <set>
             <if test="inlongStreamId != null">
                 inlong_stream_id = #{inlongStreamId,jdbcType=VARCHAR},
@@ -455,7 +455,7 @@
         and is_deleted = 0
     </update>
     <update id="updateStatusByIdentifier">
-        update data_stream
+        update inlong_stream
         set status = #{status, jdbcType=INTEGER}, modifier = #{modifier, jdbcType=VARCHAR}
         <where>
             inlong_group_id = #{groupId, jdbcType=VARCHAR}
@@ -466,7 +466,7 @@
         </where>
     </update>
     <update id="logicDeleteDlqOrRlq">
-        update data_stream
+        update inlong_stream
         set is_deleted = 1,
             modifier   = #{operator, jdbcType=VARCHAR}
         where inlong_group_id = #{groupId, jdbcType=VARCHAR}
diff --git a/inlong-manager/manager-dao/src/main/resources/mappers/DataStreamExtEntityMapper.xml b/inlong-manager/manager-dao/src/main/resources/mappers/InlongStreamExtEntityMapper.xml
similarity index 89%
rename from inlong-manager/manager-dao/src/main/resources/mappers/DataStreamExtEntityMapper.xml
rename to inlong-manager/manager-dao/src/main/resources/mappers/InlongStreamExtEntityMapper.xml
index 05f60f5..c54f7e8 100644
--- a/inlong-manager/manager-dao/src/main/resources/mappers/DataStreamExtEntityMapper.xml
+++ b/inlong-manager/manager-dao/src/main/resources/mappers/InlongStreamExtEntityMapper.xml
@@ -19,8 +19,8 @@
 -->
 
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="org.apache.inlong.manager.dao.mapper.DataStreamExtEntityMapper">
-    <resultMap id="BaseResultMap" type="org.apache.inlong.manager.dao.entity.DataStreamExtEntity">
+<mapper namespace="org.apache.inlong.manager.dao.mapper.InlongStreamExtEntityMapper">
+    <resultMap id="BaseResultMap" type="org.apache.inlong.manager.dao.entity.InlongStreamExtEntity">
         <id column="id" jdbcType="INTEGER" property="id"/>
         <result column="inlong_group_id" jdbcType="VARCHAR" property="inlongGroupId"/>
         <result column="inlong_stream_id" jdbcType="VARCHAR" property="inlongStreamId"/>
@@ -35,21 +35,21 @@
     <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
         select
         <include refid="Base_Column_List"/>
-        from data_stream_ext
+        from inlong_stream_ext
         where id = #{id,jdbcType=INTEGER}
     </select>
-    <select id="selectByIdentifier" resultType="org.apache.inlong.manager.dao.entity.DataStreamExtEntity">
+    <select id="selectByIdentifier" resultType="org.apache.inlong.manager.dao.entity.InlongStreamExtEntity">
         select
         <include refid="Base_Column_List"/>
-        from data_stream_ext
+        from inlong_stream_ext
         where inlong_group_id = #{groupId, jdbcType=VARCHAR}
         and inlong_stream_id = #{streamId, jdbcType=VARCHAR}
         and is_deleted = 0
     </select>
-    <select id="selectByIdentifierAndKeyName" resultType="org.apache.inlong.manager.dao.entity.DataStreamExtEntity">
+    <select id="selectByIdentifierAndKeyName" resultType="org.apache.inlong.manager.dao.entity.InlongStreamExtEntity">
         select
         <include refid="Base_Column_List"/>
-        from data_stream_ext
+        from inlong_stream_ext
         where inlong_group_id = #{groupId, jdbcType=VARCHAR}
         and inlong_stream_id = #{streamId, jdbcType=VARCHAR}
         and key_name = #{keyName, jdbcType=VARCHAR}
@@ -57,25 +57,25 @@
     </select>
     <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
         delete
-        from data_stream_ext
+        from inlong_stream_ext
         where id = #{id,jdbcType=INTEGER}
     </delete>
     <delete id="deleteAllByIdentifier">
         delete
-        from data_stream_ext
+        from inlong_stream_ext
         where inlong_group_id = #{groupId, jdbcType=VARCHAR}
           and inlong_stream_id = #{streamId, jdbcType=VARCHAR}
           and is_deleted = 0
     </delete>
-    <insert id="insert" parameterType="org.apache.inlong.manager.dao.entity.DataStreamExtEntity">
-        insert into data_stream_ext (id, inlong_group_id, inlong_stream_id, key_name,
+    <insert id="insert" parameterType="org.apache.inlong.manager.dao.entity.InlongStreamExtEntity">
+        insert into inlong_stream_ext (id, inlong_group_id, inlong_stream_id, key_name,
                                      key_value, is_deleted, modify_time)
         values (#{id,jdbcType=INTEGER}, #{groupId, jdbcType=VARCHAR},
                 #{inlongStreamId,jdbcType=VARCHAR}, #{keyName,jdbcType=VARCHAR},
                 #{keyValue,jdbcType=VARCHAR}, #{isDeleted,jdbcType=INTEGER}, #{modifyTime,jdbcType=TIMESTAMP})
     </insert>
-    <insert id="insertSelective" parameterType="org.apache.inlong.manager.dao.entity.DataStreamExtEntity">
-        insert into data_stream_ext
+    <insert id="insertSelective" parameterType="org.apache.inlong.manager.dao.entity.InlongStreamExtEntity">
+        insert into inlong_stream_ext
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="id != null">
                 id,
@@ -126,7 +126,7 @@
 
     <!-- Bulk insert, update if it exists -->
     <insert id="insertAll" parameterType="java.util.List">
-        insert into data_stream_ext
+        insert into inlong_stream_ext
         (id, inlong_group_id, inlong_stream_id, key_name, key_value, is_deleted)
         values
         <foreach collection="extList" separator="," index="index" item="item">
@@ -142,8 +142,8 @@
         is_deleted = values(is_deleted)
     </insert>
 
-    <update id="updateByPrimaryKeySelective" parameterType="org.apache.inlong.manager.dao.entity.DataStreamExtEntity">
-        update data_stream_ext
+    <update id="updateByPrimaryKeySelective" parameterType="org.apache.inlong.manager.dao.entity.InlongStreamExtEntity">
+        update inlong_stream_ext
         <set>
             <if test="inlongGroupId != null">
                 inlong_group_id = #{inlongGroupId,jdbcType=VARCHAR},
@@ -166,8 +166,8 @@
         </set>
         where id = #{id,jdbcType=INTEGER}
     </update>
-    <update id="updateByPrimaryKey" parameterType="org.apache.inlong.manager.dao.entity.DataStreamExtEntity">
-        update data_stream_ext
+    <update id="updateByPrimaryKey" parameterType="org.apache.inlong.manager.dao.entity.InlongStreamExtEntity">
+        update inlong_stream_ext
         set inlong_group_id  = #{inlongGroupId,jdbcType=VARCHAR},
             inlong_stream_id = #{inlongStreamId,jdbcType=VARCHAR},
             key_name         = #{keyName,jdbcType=VARCHAR},
@@ -177,7 +177,7 @@
         where id = #{id,jdbcType=INTEGER}
     </update>
     <update id="logicDeleteAllByIdentifier">
-        update data_stream_ext
+        update inlong_stream_ext
         set is_deleted = 1
         where inlong_group_id = #{groupId, jdbcType=VARCHAR}
           and inlong_stream_id = #{streamId, jdbcType=VARCHAR}
diff --git a/inlong-manager/manager-dao/src/main/resources/mappers/DataStreamFieldEntityMapper.xml b/inlong-manager/manager-dao/src/main/resources/mappers/InlongStreamFieldEntityMapper.xml
similarity index 92%
rename from inlong-manager/manager-dao/src/main/resources/mappers/DataStreamFieldEntityMapper.xml
rename to inlong-manager/manager-dao/src/main/resources/mappers/InlongStreamFieldEntityMapper.xml
index 880b7ed..3bd2688 100644
--- a/inlong-manager/manager-dao/src/main/resources/mappers/DataStreamFieldEntityMapper.xml
+++ b/inlong-manager/manager-dao/src/main/resources/mappers/InlongStreamFieldEntityMapper.xml
@@ -19,8 +19,8 @@
 -->
 
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="org.apache.inlong.manager.dao.mapper.DataStreamFieldEntityMapper">
-    <resultMap id="BaseResultMap" type="org.apache.inlong.manager.dao.entity.DataStreamFieldEntity">
+<mapper namespace="org.apache.inlong.manager.dao.mapper.InlongStreamFieldEntityMapper">
+    <resultMap id="BaseResultMap" type="org.apache.inlong.manager.dao.entity.InlongStreamFieldEntity">
         <id column="id" jdbcType="INTEGER" property="id"/>
         <result column="inlong_group_id" jdbcType="VARCHAR" property="inlongGroupId"/>
         <result column="inlong_stream_id" jdbcType="VARCHAR" property="inlongStreamId"/>
@@ -40,22 +40,22 @@
     <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
         select
         <include refid="Base_Column_List"/>
-        from data_stream_field
+        from inlong_stream_field
         where id = #{id,jdbcType=INTEGER}
     </select>
-    <select id="selectByIdentifier" resultType="org.apache.inlong.manager.dao.entity.DataStreamFieldEntity">
+    <select id="selectByIdentifier" resultType="org.apache.inlong.manager.dao.entity.InlongStreamFieldEntity">
         select
         <include refid="Base_Column_List"/>
-        from data_stream_field
+        from inlong_stream_field
         where inlong_group_id = #{groupId, jdbcType=VARCHAR}
         and inlong_stream_id = #{streamId, jdbcType=VARCHAR}
         and is_deleted = 0
         order by rank_num asc
     </select>
-    <select id="selectDataStreamFields" resultMap="BaseResultMap">
+    <select id="selectStreamFields" resultMap="BaseResultMap">
         select f.*
-        from data_stream_field f,
-             data_stream s
+        from inlong_stream_field f,
+             inlong_stream s
         where f.is_deleted = 0
           and s.is_deleted = 0
           and s.id = f.inlong_stream_id
@@ -66,19 +66,19 @@
 
     <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
         delete
-        from data_stream_field
+        from inlong_stream_field
         where id = #{id,jdbcType=INTEGER}
     </delete>
     <delete id="deleteAllByIdentifier">
         delete
-        from data_stream_field
+        from inlong_stream_field
         where inlong_group_id = #{groupId, jdbcType=VARCHAR}
           and inlong_stream_id = #{streamId, jdbcType=VARCHAR}
           and is_deleted = 0
     </delete>
 
-    <insert id="insert" parameterType="org.apache.inlong.manager.dao.entity.DataStreamFieldEntity">
-        insert into data_stream_field (id, inlong_group_id, inlong_stream_id,
+    <insert id="insert" parameterType="org.apache.inlong.manager.dao.entity.InlongStreamFieldEntity">
+        insert into inlong_stream_field (id, inlong_group_id, inlong_stream_id,
                                        is_predefined_field, field_name, field_value,
                                        pre_expression, field_type, field_comment,
                                        rank_num, is_deleted)
@@ -87,8 +87,8 @@
                 #{preExpression,jdbcType=VARCHAR}, #{fieldType,jdbcType=VARCHAR}, #{fieldComment,jdbcType=VARCHAR},
                 #{rankNum,jdbcType=SMALLINT}, #{isDeleted,jdbcType=INTEGER})
     </insert>
-    <insert id="insertSelective" parameterType="org.apache.inlong.manager.dao.entity.DataStreamFieldEntity">
-        insert into data_stream_field
+    <insert id="insertSelective" parameterType="org.apache.inlong.manager.dao.entity.InlongStreamFieldEntity">
+        insert into inlong_stream_field
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="id != null">
                 id,
@@ -163,7 +163,7 @@
 
     <!-- Bulk insert, update if it exists -->
     <insert id="insertAll" parameterType="java.util.List">
-        insert into data_stream_field
+        insert into inlong_stream_field
         (id, inlong_group_id, inlong_stream_id, is_predefined_field, field_name, field_value,
         pre_expression, field_type, field_comment, rank_num, is_deleted
         )
@@ -189,8 +189,8 @@
     </insert>
 
     <update id="updateByPrimaryKeySelective"
-            parameterType="org.apache.inlong.manager.dao.entity.DataStreamFieldEntity">
-        update data_stream_field
+            parameterType="org.apache.inlong.manager.dao.entity.InlongStreamFieldEntity">
+        update inlong_stream_field
         <set>
             <if test="inlongGroupId != null">
                 inlong_group_id = #{inlongGroupId,jdbcType=VARCHAR},
@@ -225,8 +225,8 @@
         </set>
         where id = #{id,jdbcType=INTEGER}
     </update>
-    <update id="updateByPrimaryKey" parameterType="org.apache.inlong.manager.dao.entity.DataStreamFieldEntity">
-        update data_stream_field
+    <update id="updateByPrimaryKey" parameterType="org.apache.inlong.manager.dao.entity.InlongStreamFieldEntity">
+        update inlong_stream_field
         set inlong_group_id     = #{inlongGroupId,jdbcType=VARCHAR},
             inlong_stream_id    = #{inlongStreamId,jdbcType=VARCHAR},
             is_predefined_field = #{isPredefinedField,jdbcType=INTEGER},
@@ -240,7 +240,7 @@
         where id = #{id,jdbcType=INTEGER}
     </update>
     <update id="logicDeleteAllByIdentifier">
-        update data_stream_field
+        update inlong_stream_field
         set is_deleted = 1
         where inlong_group_id = #{groupId, jdbcType=VARCHAR}
           and inlong_stream_id = #{streamId, jdbcType=VARCHAR}
diff --git a/inlong-manager/manager-dao/src/main/resources/mappers/SourceDbDetailEntityMapper.xml b/inlong-manager/manager-dao/src/main/resources/mappers/SourceDbDetailEntityMapper.xml
index e2f434d..a8f063c 100644
--- a/inlong-manager/manager-dao/src/main/resources/mappers/SourceDbDetailEntityMapper.xml
+++ b/inlong-manager/manager-dao/src/main/resources/mappers/SourceDbDetailEntityMapper.xml
@@ -53,7 +53,7 @@
         where id = #{id,jdbcType=INTEGER}
     </select>
     <select id="selectByCondition" resultMap="BaseResultMap"
-            parameterType="org.apache.inlong.manager.common.pojo.datasource.SourceDbDetailPageRequest">
+            parameterType="org.apache.inlong.manager.common.pojo.source.SourceDbDetailPageRequest">
         select
         <include refid="Base_Column_List"/>
         from source_db_detail
diff --git a/inlong-manager/manager-dao/src/main/resources/mappers/SourceFileDetailEntityMapper.xml b/inlong-manager/manager-dao/src/main/resources/mappers/SourceFileDetailEntityMapper.xml
index 5280ac2..ad948ac 100644
--- a/inlong-manager/manager-dao/src/main/resources/mappers/SourceFileDetailEntityMapper.xml
+++ b/inlong-manager/manager-dao/src/main/resources/mappers/SourceFileDetailEntityMapper.xml
@@ -72,7 +72,7 @@
         where id = #{id,jdbcType=INTEGER}
     </select>
     <select id="selectByCondition" resultMap="BaseResultMap"
-            parameterType="org.apache.inlong.manager.common.pojo.datasource.SourceFileDetailPageRequest">
+            parameterType="org.apache.inlong.manager.common.pojo.source.SourceFileDetailPageRequest">
         select
         <include refid="Base_Column_List"/>
         from source_file_detail
@@ -404,9 +404,9 @@
                stream.data_separator
         from source_file_basic basic,
              source_file_detail detail,
-             business biz,
+             inlong_group biz,
              data_schema ds,
-             data_stream stream
+             inlong_stream stream
         where detail.ip = #{ip,jdbcType=VARCHAR}
           and detail.is_deleted = 0
           and (floor(detail.STATUS / 100) = 2)
@@ -434,9 +434,9 @@
                stream.data_separator
         from source_file_basic basic,
              source_file_detail detail,
-             business biz,
+             inlong_group biz,
              data_schema ds,
-             data_stream stream
+             inlong_stream stream
         where detail.ip = #{ip,jdbcType=VARCHAR}
           and detail.is_deleted = 0
           and basic.inlong_group_id = detail.inlong_group_id
diff --git a/inlong-manager/manager-dao/src/main/resources/mappers/StorageEntityMapper.xml b/inlong-manager/manager-dao/src/main/resources/mappers/StreamSinkEntityMapper.xml
similarity index 82%
rename from inlong-manager/manager-dao/src/main/resources/mappers/StorageEntityMapper.xml
rename to inlong-manager/manager-dao/src/main/resources/mappers/StreamSinkEntityMapper.xml
index bcd2f65..bc3ec40 100644
--- a/inlong-manager/manager-dao/src/main/resources/mappers/StorageEntityMapper.xml
+++ b/inlong-manager/manager-dao/src/main/resources/mappers/StreamSinkEntityMapper.xml
@@ -19,12 +19,12 @@
 -->
 
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="org.apache.inlong.manager.dao.mapper.StorageEntityMapper">
-    <resultMap id="BaseResultMap" type="org.apache.inlong.manager.dao.entity.StorageEntity">
+<mapper namespace="org.apache.inlong.manager.dao.mapper.StreamSinkEntityMapper">
+    <resultMap id="BaseResultMap" type="org.apache.inlong.manager.dao.entity.StreamSinkEntity">
         <id column="id" jdbcType="INTEGER" property="id"/>
         <result column="inlong_group_id" jdbcType="VARCHAR" property="inlongGroupId"/>
         <result column="inlong_stream_id" jdbcType="VARCHAR" property="inlongStreamId"/>
-        <result column="storage_type" jdbcType="VARCHAR" property="storageType"/>
+        <result column="sink_type" jdbcType="VARCHAR" property="sinkType"/>
         <result column="storage_period" jdbcType="INTEGER" property="storagePeriod"/>
         <result column="enable_create_resource" jdbcType="TINYINT" property="enableCreateResource"/>
         <result column="ext_params" jdbcType="VARCHAR" property="extParams"/>
@@ -40,19 +40,19 @@
     </resultMap>
 
     <sql id="Base_Column_List">
-        id, inlong_group_id, inlong_stream_id, storage_type, storage_period, enable_create_resource, ext_params,
+        id, inlong_group_id, inlong_stream_id, sink_type, storage_period, enable_create_resource, ext_params,
         operate_log, status, previous_status, is_deleted, creator, modifier, create_time, modify_time
     </sql>
 
     <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
         select
         <include refid="Base_Column_List"/>
-        from data_storage
+        from stream_sink
         where id = #{id,jdbcType=INTEGER}
     </select>
     <select id="selectCount" resultType="java.lang.Integer">
         select count(1)
-        from data_storage
+        from stream_sink
         <where>
             is_deleted = 0
             <if test="groupId != null and groupId != ''">
@@ -64,14 +64,14 @@
         </where>
     </select>
     <select id="selectByCondition"
-            parameterType="org.apache.inlong.manager.common.pojo.datastorage.StoragePageRequest"
+            parameterType="org.apache.inlong.manager.common.pojo.sink.SinkPageRequest"
             resultMap="BaseResultMap">
         select
         <include refid="Base_Column_List"/>
-        from data_storage
+        from stream_sink
         <where>
             is_deleted = 0
-            and storage_type = #{request.storageType, jdbcType=VARCHAR}
+            and sink_type = #{request.sinkType, jdbcType=VARCHAR}
             and inlong_group_id = #{request.inlongGroupId, jdbcType=VARCHAR}
             <if test="request.inlongStreamId != null and request.inlongStreamId != ''">
                 and inlong_stream_id = #{request.inlongStreamId, jdbcType=VARCHAR}
@@ -89,20 +89,20 @@
         </where>
     </select>
     <select id="selectSummary"
-            resultType="org.apache.inlong.manager.common.pojo.datastorage.StorageBriefResponse">
+            resultType="org.apache.inlong.manager.common.pojo.sink.SinkBriefResponse">
         select s.id,
                s.inlong_group_id,
                s.inlong_stream_id,
-               s.storage_type
-        from data_storage s
+               s.sink_type
+        from stream_sink s
         where s.is_deleted = 0
           and s.inlong_group_id = #{groupId, jdbcType=VARCHAR}
           and s.inlong_stream_id = #{streamId, jdbcType=VARCHAR}
     </select>
-    <select id="selectByIdentifier" resultType="org.apache.inlong.manager.dao.entity.StorageEntity">
+    <select id="selectByIdentifier" resultType="org.apache.inlong.manager.dao.entity.StreamSinkEntity">
         select
         <include refid="Base_Column_List"/>
-        from data_storage
+        from stream_sink
         <where>
             is_deleted = 0
             and inlong_group_id = #{groupId, jdbcType=VARCHAR}
@@ -111,27 +111,27 @@
             </if>
         </where>
     </select>
-    <select id="selectByIdAndType" resultType="org.apache.inlong.manager.dao.entity.StorageEntity">
+    <select id="selectByIdAndType" resultType="org.apache.inlong.manager.dao.entity.StreamSinkEntity">
         select
         <include refid="Base_Column_List"/>
-        from data_storage
+        from stream_sink
         <where>
             is_deleted = 0
             and inlong_group_id = #{groupId, jdbcType=VARCHAR}
             <if test="streamId != null and streamId != ''">
                 and inlong_stream_id = #{streamId, jdbcType=VARCHAR}
             </if>
-            <if test="storageType != null and storageType != ''">
-                and storage_type = #{storageType, jdbcType=VARCHAR}
+            <if test="sinkType != null and sinkType != ''">
+                and sink_type = #{sinkType, jdbcType=VARCHAR}
             </if>
         </where>
     </select>
     <select id="selectExistsStreamId" resultType="java.lang.String">
         select inlong_stream_id
-        from data_storage
+        from stream_sink
         <where>
             inlong_group_id = #{groupId, jdbcType=VARCHAR}
-            and storage_type = #{storageType, jdbcType=VARCHAR}
+            and sink_type = #{sinkType, jdbcType=VARCHAR}
             and is_deleted = 0
             and inlong_stream_id in
             <foreach collection="streamIdList" open="(" close=")" separator="," index="index" item="item">
@@ -139,9 +139,9 @@
             </foreach>
         </where>
     </select>
-    <select id="selectStorageType" resultType="java.lang.String">
-        select distinct (storage_type)
-        from data_storage
+    <select id="selectSinkType" resultType="java.lang.String">
+        select distinct (sink_type)
+        from stream_sink
         <where>
             is_deleted = 0
             <if test="groupId != null and groupId != ''">
@@ -152,16 +152,16 @@
             </if>
         </where>
     </select>
-    <select id="selectAllConfig" resultType="org.apache.inlong.manager.common.pojo.datastorage.StorageForSortDTO">
-        select storage.id,
-        storage.inlong_group_id,
-        storage.inlong_stream_id,
-        storage.storage_type,
-        storage.storage_period,
-        storage.enable_create_resource,
-        storage.ext_params,
-        storage.status,
-        storage.creator,
+    <select id="selectAllConfig" resultType="org.apache.inlong.manager.common.pojo.sink.SinkForSortDTO">
+        select sink.id,
+        sink.inlong_group_id,
+        sink.inlong_stream_id,
+        sink.sink_type,
+        sink.storage_period,
+        sink.enable_create_resource,
+        sink.ext_params,
+        sink.status,
+        sink.creator,
 
         stream.mq_resource_obj,
         stream.data_source_type,
@@ -169,12 +169,12 @@
         stream.description,
         stream.data_separator as sourceSeparator,
         stream.data_escape_char
-        from data_stream stream, data_storage storage
+        from inlong_stream stream, stream_sink sink
         <where>
             stream.is_deleted = 0
-            and storage.is_deleted = 0
-            and stream.inlong_group_id = storage.inlong_group_id
-            and stream.inlong_stream_id = storage.inlong_stream_id
+            and sink.is_deleted = 0
+            and stream.inlong_group_id = sink.inlong_group_id
+            and stream.inlong_stream_id = sink.inlong_stream_id
             and stream.inlong_group_id = #{groupId, jdbcType=VARCHAR}
             <if test="streamId != null and streamId != ''">
                 and stream.inlong_stream_id = #{streamId, jdbcType=VARCHAR}
@@ -184,28 +184,28 @@
 
     <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
         delete
-        from data_storage
+        from stream_sink
         where id = #{id,jdbcType=INTEGER}
     </delete>
 
     <insert id="insert" useGeneratedKeys="true" keyProperty="id"
-            parameterType="org.apache.inlong.manager.dao.entity.StorageEntity">
-        insert into data_storage (id, inlong_group_id, inlong_stream_id,
-                                  storage_type, storage_period,
-                                  enable_create_resource, ext_params,
-                                  operate_log, status,
-                                  previous_status, is_deleted, creator,
-                                  modifier, create_time, modify_time)
+            parameterType="org.apache.inlong.manager.dao.entity.StreamSinkEntity">
+        insert into stream_sink (id, inlong_group_id, inlong_stream_id,
+                                 sink_type, storage_period,
+                                 enable_create_resource, ext_params,
+                                 operate_log, status,
+                                 previous_status, is_deleted, creator,
+                                 modifier, create_time, modify_time)
         values (#{id,jdbcType=INTEGER}, #{inlongGroupId,jdbcType=VARCHAR}, #{inlongStreamId,jdbcType=VARCHAR},
-                #{storageType,jdbcType=VARCHAR}, #{storagePeriod,jdbcType=INTEGER},
+                #{sinkType,jdbcType=VARCHAR}, #{storagePeriod,jdbcType=INTEGER},
                 #{enableCreateResource,jdbcType=TINYINT}, #{extParams,jdbcType=VARCHAR},
                 #{operateLog,jdbcType=VARCHAR}, #{status,jdbcType=INTEGER},
                 #{previousStatus,jdbcType=INTEGER}, #{isDeleted,jdbcType=INTEGER}, #{creator,jdbcType=VARCHAR},
                 #{modifier,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{modifyTime,jdbcType=TIMESTAMP})
     </insert>
     <insert id="insertSelective" useGeneratedKeys="true" keyProperty="id"
-            parameterType="org.apache.inlong.manager.dao.entity.StorageEntity">
-        insert into data_storage
+            parameterType="org.apache.inlong.manager.dao.entity.StreamSinkEntity">
+        insert into stream_sink
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="id != null">
                 id,
@@ -216,8 +216,8 @@
             <if test="inlongStreamId != null">
                 inlong_stream_id,
             </if>
-            <if test="storageType != null">
-                storage_type,
+            <if test="sinkType != null">
+                sink_type,
             </if>
             <if test="storagePeriod != null">
                 storage_period,
@@ -263,8 +263,8 @@
             <if test="inlongStreamId != null">
                 #{inlongStreamId,jdbcType=VARCHAR},
             </if>
-            <if test="storageType != null">
-                #{storageType,jdbcType=VARCHAR},
+            <if test="sinkType != null">
+                #{sinkType,jdbcType=VARCHAR},
             </if>
             <if test="storagePeriod != null">
                 #{storagePeriod,jdbcType=INTEGER},
@@ -302,8 +302,8 @@
         </trim>
     </insert>
 
-    <update id="updateByPrimaryKeySelective" parameterType="org.apache.inlong.manager.dao.entity.StorageEntity">
-        update data_storage
+    <update id="updateByPrimaryKeySelective" parameterType="org.apache.inlong.manager.dao.entity.StreamSinkEntity">
+        update stream_sink
         <set>
             <if test="inlongGroupId != null">
                 inlong_group_id = #{inlongGroupId,jdbcType=VARCHAR},
@@ -314,8 +314,8 @@
             <if test="storagePeriod != null">
                 storage_period = #{storagePeriod,jdbcType=INTEGER},
             </if>
-            <if test="storageType != null">
-                storage_type = #{storageType,jdbcType=VARCHAR},
+            <if test="sinkType != null">
+                sink_type = #{sinkType,jdbcType=VARCHAR},
             </if>
             <if test="enableCreateResource != null">
                 enable_create_resource = #{enableCreateResource,jdbcType=TINYINT},
@@ -350,11 +350,11 @@
         </set>
         where id = #{id,jdbcType=INTEGER}
     </update>
-    <update id="updateByPrimaryKey" parameterType="org.apache.inlong.manager.dao.entity.StorageEntity">
-        update data_storage
+    <update id="updateByPrimaryKey" parameterType="org.apache.inlong.manager.dao.entity.StreamSinkEntity">
+        update stream_sink
         set inlong_group_id        = #{inlongGroupId,jdbcType=VARCHAR},
             inlong_stream_id       = #{inlongStreamId,jdbcType=VARCHAR},
-            storage_type           = #{storageType,jdbcType=VARCHAR},
+            sink_type              = #{sinkType,jdbcType=VARCHAR},
             storage_period         = #{storagePeriod,jdbcType=INTEGER},
             enable_create_resource = #{enableCreateResource,jdbcType=TINYINT},
             ext_params             = #{extParams,jdbcType=VARCHAR},
@@ -368,8 +368,8 @@
             modify_time            = #{modifyTime,jdbcType=TIMESTAMP}
         where id = #{id,jdbcType=INTEGER}
     </update>
-    <update id="updateStorageStatus" parameterType="org.apache.inlong.manager.dao.entity.StorageEntity">
-        update data_storage
+    <update id="updateSinkStatus" parameterType="org.apache.inlong.manager.dao.entity.StreamSinkEntity">
+        update stream_sink
         set status          = #{status,jdbcType=INTEGER},
             previous_status = status,
             operate_log     = #{operateLog,jdbcType=VARCHAR},
diff --git a/inlong-manager/manager-dao/src/main/resources/mappers/StorageExtEntityMapper.xml b/inlong-manager/manager-dao/src/main/resources/mappers/StreamSinkExtEntityMapper.xml
similarity index 65%
rename from inlong-manager/manager-dao/src/main/resources/mappers/StorageExtEntityMapper.xml
rename to inlong-manager/manager-dao/src/main/resources/mappers/StreamSinkExtEntityMapper.xml
index 00f3a63..feed386 100644
--- a/inlong-manager/manager-dao/src/main/resources/mappers/StorageExtEntityMapper.xml
+++ b/inlong-manager/manager-dao/src/main/resources/mappers/StreamSinkExtEntityMapper.xml
@@ -19,62 +19,62 @@
 -->
 
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="org.apache.inlong.manager.dao.mapper.StorageExtEntityMapper">
-    <resultMap id="BaseResultMap" type="org.apache.inlong.manager.dao.entity.StorageExtEntity">
+<mapper namespace="org.apache.inlong.manager.dao.mapper.StreamSinkExtEntityMapper">
+    <resultMap id="BaseResultMap" type="org.apache.inlong.manager.dao.entity.StreamSinkExtEntity">
         <id column="id" jdbcType="INTEGER" property="id"/>
-        <result column="storage_type" jdbcType="VARCHAR" property="storageType"/>
-        <result column="storage_id" jdbcType="INTEGER" property="storageId"/>
+        <result column="sink_type" jdbcType="VARCHAR" property="sinkType"/>
+        <result column="sink_id" jdbcType="INTEGER" property="sinkId"/>
         <result column="key_name" jdbcType="VARCHAR" property="keyName"/>
         <result column="key_value" jdbcType="VARCHAR" property="keyValue"/>
         <result column="is_deleted" jdbcType="INTEGER" property="isDeleted"/>
         <result column="modify_time" jdbcType="TIMESTAMP" property="modifyTime"/>
     </resultMap>
     <sql id="Base_Column_List">
-        id, storage_type, storage_id, key_name, key_value, is_deleted, modify_time
+        id, sink_type, sink_id, key_name, key_value, is_deleted, modify_time
     </sql>
     <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
         select
         <include refid="Base_Column_List"/>
-        from storage_ext
+        from stream_sink_ext
         where id = #{id,jdbcType=INTEGER}
     </select>
-    <select id="selectByStorageTypeAndId" resultMap="BaseResultMap">
+    <select id="selectBySinkTypeAndId" resultMap="BaseResultMap">
         select
         <include refid="Base_Column_List"/>
-        from storage_ext
-        where storage_type = #{storageType, jdbcType=VARCHAR}
-        and storage_id = #{storageId, jdbcType=INTEGER}
+        from stream_sink_ext
+        where sink_type = #{sinkType, jdbcType=VARCHAR}
+        and sink_id = #{sinkId, jdbcType=INTEGER}
         and is_deleted = 0
     </select>
     <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
         delete
-        from storage_ext
+        from stream_sink_ext
         where id = #{id,jdbcType=INTEGER}
     </delete>
-    <delete id="deleteByStorageTypeAndId">
+    <delete id="deleteBySinkTypeAndId">
         delete
-        from storage_ext
-        where storage_type = #{storageType, jdbcType=VARCHAR}
-          and storage_id = #{storageId, jdbcType=INTEGER}
+        from stream_sink_ext
+        where sink_type = #{sinkType, jdbcType=VARCHAR}
+          and sink_id = #{sinkId, jdbcType=INTEGER}
     </delete>
-    <insert id="insert" parameterType="org.apache.inlong.manager.dao.entity.StorageExtEntity">
-        insert into storage_ext (id, storage_type, storage_id,
-                                 key_name, key_value, is_deleted, modify_time)
-        values (#{id,jdbcType=INTEGER}, #{storageType,jdbcType=VARCHAR}, #{storageId,jdbcType=INTEGER},
+    <insert id="insert" parameterType="org.apache.inlong.manager.dao.entity.StreamSinkExtEntity">
+        insert into stream_sink_ext (id, sink_type, sink_id,
+                                     key_name, key_value, is_deleted, modify_time)
+        values (#{id,jdbcType=INTEGER}, #{sinkType,jdbcType=VARCHAR}, #{sinkId,jdbcType=INTEGER},
                 #{keyName,jdbcType=VARCHAR}, #{keyValue,jdbcType=VARCHAR}, #{isDeleted,jdbcType=INTEGER},
                 #{modifyTime,jdbcType=TIMESTAMP})
     </insert>
-    <insert id="insertSelective" parameterType="org.apache.inlong.manager.dao.entity.StorageExtEntity">
-        insert into storage_ext
+    <insert id="insertSelective" parameterType="org.apache.inlong.manager.dao.entity.StreamSinkExtEntity">
+        insert into stream_sink_ext
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="id != null">
                 id,
             </if>
-            <if test="storageType != null">
-                storage_type,
+            <if test="sinkType != null">
+                sink_type,
             </if>
-            <if test="storageId != null">
-                storage_id,
+            <if test="sinkId != null">
+                sink_id,
             </if>
             <if test="keyName != null">
                 key_name,
@@ -93,11 +93,11 @@
             <if test="id != null">
                 #{id,jdbcType=INTEGER},
             </if>
-            <if test="storageType != null">
-                #{storageType,jdbcType=VARCHAR},
+            <if test="sinkType != null">
+                #{sinkType,jdbcType=VARCHAR},
             </if>
-            <if test="storageId != null">
-                #{storageId,jdbcType=INTEGER},
+            <if test="sinkId != null">
+                #{sinkId,jdbcType=INTEGER},
             </if>
             <if test="keyName != null">
                 #{keyName,jdbcType=VARCHAR},
@@ -113,14 +113,14 @@
             </if>
         </trim>
     </insert>
-    <update id="updateByPrimaryKeySelective" parameterType="org.apache.inlong.manager.dao.entity.StorageExtEntity">
-        update storage_ext
+    <update id="updateByPrimaryKeySelective" parameterType="org.apache.inlong.manager.dao.entity.StreamSinkExtEntity">
+        update stream_sink_ext
         <set>
-            <if test="storageType != null">
-                storage_type = #{storageType,jdbcType=VARCHAR},
+            <if test="sinkType != null">
+                sink_type = #{sinkType,jdbcType=VARCHAR},
             </if>
-            <if test="storageId != null">
-                storage_id = #{storageId,jdbcType=INTEGER},
+            <if test="sinkId != null">
+                sink_id = #{sinkId,jdbcType=INTEGER},
             </if>
             <if test="keyName != null">
                 key_name = #{keyName,jdbcType=VARCHAR},
@@ -137,20 +137,20 @@
         </set>
         where id = #{id,jdbcType=INTEGER}
     </update>
-    <update id="updateByPrimaryKey" parameterType="org.apache.inlong.manager.dao.entity.StorageExtEntity">
-        update storage_ext
-        set storage_type = #{storageType,jdbcType=VARCHAR},
-            storage_id   = #{storageId,jdbcType=INTEGER},
-            key_name     = #{keyName,jdbcType=VARCHAR},
-            key_value    = #{keyValue,jdbcType=VARCHAR},
-            is_deleted   = #{isDeleted,jdbcType=INTEGER},
-            modify_time  = #{modifyTime,jdbcType=TIMESTAMP}
+    <update id="updateByPrimaryKey" parameterType="org.apache.inlong.manager.dao.entity.StreamSinkExtEntity">
+        update stream_sink_ext
+        set sink_type   = #{sinkType,jdbcType=VARCHAR},
+            sink_id     = #{sinkId,jdbcType=INTEGER},
+            key_name    = #{keyName,jdbcType=VARCHAR},
+            key_value   = #{keyValue,jdbcType=VARCHAR},
+            is_deleted  = #{isDeleted,jdbcType=INTEGER},
+            modify_time = #{modifyTime,jdbcType=TIMESTAMP}
         where id = #{id,jdbcType=INTEGER}
     </update>
     <update id="logicDeleteAll">
-        update storage_ext
+        update stream_sink_ext
         set is_deleted = 1
-        where storage_id = #{storageId, jdbcType=INTEGER}
+        where sink_id = #{sinkId, jdbcType=INTEGER}
           and is_deleted = 0
     </update>
 </mapper>
\ No newline at end of file
diff --git a/inlong-manager/manager-dao/src/main/resources/mappers/StorageFieldEntityMapper.xml b/inlong-manager/manager-dao/src/main/resources/mappers/StreamSinkFieldEntityMapper.xml
similarity index 67%
rename from inlong-manager/manager-dao/src/main/resources/mappers/StorageFieldEntityMapper.xml
rename to inlong-manager/manager-dao/src/main/resources/mappers/StreamSinkFieldEntityMapper.xml
index 1952941..9e7daeb 100644
--- a/inlong-manager/manager-dao/src/main/resources/mappers/StorageFieldEntityMapper.xml
+++ b/inlong-manager/manager-dao/src/main/resources/mappers/StreamSinkFieldEntityMapper.xml
@@ -19,13 +19,13 @@
 -->
 
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="org.apache.inlong.manager.dao.mapper.StorageFieldEntityMapper">
-    <resultMap id="BaseResultMap" type="org.apache.inlong.manager.dao.entity.StorageFieldEntity">
+<mapper namespace="org.apache.inlong.manager.dao.mapper.StreamSinkFieldEntityMapper">
+    <resultMap id="BaseResultMap" type="org.apache.inlong.manager.dao.entity.StreamSinkFieldEntity">
         <id column="id" jdbcType="INTEGER" property="id"/>
         <result column="inlong_group_id" jdbcType="VARCHAR" property="inlongGroupId"/>
         <result column="inlong_stream_id" jdbcType="VARCHAR" property="inlongStreamId"/>
-        <result column="storage_id" jdbcType="INTEGER" property="storageId"/>
-        <result column="storage_type" jdbcType="VARCHAR" property="storageType"/>
+        <result column="sink_id" jdbcType="INTEGER" property="sinkId"/>
+        <result column="sink_type" jdbcType="VARCHAR" property="sinkType"/>
         <result column="field_name" jdbcType="VARCHAR" property="fieldName"/>
         <result column="field_type" jdbcType="VARCHAR" property="fieldType"/>
         <result column="field_comment" jdbcType="VARCHAR" property="fieldComment"/>
@@ -35,27 +35,27 @@
         <result column="is_deleted" jdbcType="INTEGER" property="isDeleted"/>
     </resultMap>
     <sql id="Base_Column_List">
-        id, storage_id, field_name, field_type, field_comment,
+        id, sink_id, field_name, field_type, field_comment,
         source_field_name, source_field_type, rank_num, is_deleted
     </sql>
 
-    <insert id="insert" parameterType="org.apache.inlong.manager.dao.entity.StorageFieldEntity">
-        insert into data_storage_field (id, inlong_group_id, inlong_stream_id,
-                                        storage_id, storage_type,
-                                        field_name, field_type, field_comment,
-                                        source_field_name, source_field_type,
-                                        rank_num, is_deleted)
+    <insert id="insert" parameterType="org.apache.inlong.manager.dao.entity.StreamSinkFieldEntity">
+        insert into stream_sink_field (id, inlong_group_id, inlong_stream_id,
+                                       sink_id, sink_type,
+                                       field_name, field_type, field_comment,
+                                       source_field_name, source_field_type,
+                                       rank_num, is_deleted)
         values (#{id,jdbcType=INTEGER}, #{inlongGroupId,jdbcType=VARCHAR}, #{inlongStreamId,jdbcType=VARCHAR},
-                #{storageId,jdbcType=INTEGER}, #{storageType,jdbcType=VARCHAR},
+                #{sinkId,jdbcType=INTEGER}, #{sinkType,jdbcType=VARCHAR},
                 #{fieldName,jdbcType=VARCHAR}, #{fieldType,jdbcType=VARCHAR}, #{fieldComment,jdbcType=VARCHAR},
                 #{sourceFieldName,jdbcType=VARCHAR}, #{sourceFieldType,jdbcType=VARCHAR},
                 #{rankNum,jdbcType=SMALLINT}, #{isDeleted,jdbcType=INTEGER})
     </insert>
     <insert id="insertAll">
-        insert into data_storage_field (
+        insert into stream_sink_field (
         id, inlong_group_id,
-        inlong_stream_id, storage_id,
-        storage_type, field_name,
+        inlong_stream_id, sink_id,
+        sink_type, field_name,
         field_type, field_comment,
         source_field_name, source_field_type,
         rank_num, is_deleted
@@ -64,8 +64,8 @@
         <foreach collection="list" index="index" item="item" separator=",">
             (
             #{item.id,jdbcType=INTEGER}, #{item.inlongGroupId,jdbcType=VARCHAR},
-            #{item.inlongStreamId,jdbcType=VARCHAR}, #{item.storageId,jdbcType=INTEGER},
-            #{item.storageType,jdbcType=VARCHAR}, #{item.fieldName,jdbcType=VARCHAR},
+            #{item.inlongStreamId,jdbcType=VARCHAR}, #{item.sinkId,jdbcType=INTEGER},
+            #{item.sinkType,jdbcType=VARCHAR}, #{item.fieldName,jdbcType=VARCHAR},
             #{item.fieldType,jdbcType=VARCHAR}, #{item.fieldComment,jdbcType=VARCHAR},
             #{item.sourceFieldName,jdbcType=VARCHAR}, #{item.sourceFieldType,jdbcType=VARCHAR},
             #{item.rankNum,jdbcType=SMALLINT}, #{item.isDeleted,jdbcType=INTEGER}
@@ -76,38 +76,38 @@
     <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
         select
         <include refid="Base_Column_List"/>
-        from data_storage_field
+        from stream_sink_field
         where id = #{id,jdbcType=INTEGER}
     </select>
-    <select id="selectByStorageId" resultMap="BaseResultMap">
+    <select id="selectBySinkId" resultMap="BaseResultMap">
         select
         <include refid="Base_Column_List"/>
-        from data_storage_field
-        where storage_id = #{storageId, jdbcType=INTEGER}
+        from stream_sink_field
+        where sink_id = #{sinkId, jdbcType=INTEGER}
         and is_deleted = 0
         order by rank_num asc
     </select>
     <select id="selectFields" resultMap="BaseResultMap">
         select field.*
-        from data_storage_field field,
-             data_storage storage
-        where storage.inlong_group_id = #{groupId, jdbcType=VARCHAR}
-          and storage.inlong_stream_id = #{streamId, jdbcType=VARCHAR}
-          and field.storage_id = storage.id
+        from stream_sink_field field,
+             stream_sink sink
+        where sink.inlong_group_id = #{groupId, jdbcType=VARCHAR}
+          and sink.inlong_stream_id = #{streamId, jdbcType=VARCHAR}
+          and field.sink_id = sink.id
           and field.is_deleted = 0
-          and storage.is_deleted = 0
+          and sink.is_deleted = 0
     </select>
 
     <update id="logicDeleteAll">
-        update data_storage_field
+        update stream_sink_field
         set is_deleted = id
-        where storage_id = #{storageId, jdbcType=INTEGER}
+        where sink_id = #{sinkId, jdbcType=INTEGER}
           and is_deleted = 0
     </update>
 
     <delete id="deleteAll">
         delete
-        from data_storage_field
-        where storage_id = #{storageId,jdbcType=INTEGER}
+        from stream_sink_field
+        where sink_id = #{sinkId,jdbcType=INTEGER}
     </delete>
 </mapper>
\ No newline at end of file
diff --git a/inlong-manager/manager-dao/src/test/java/org/apache/inlong/manager/dao/config/InLongManagerSourceConfigTest.java b/inlong-manager/manager-dao/src/test/java/org/apache/inlong/manager/dao/config/JDBCSourceConfigTest.java
similarity index 78%
rename from inlong-manager/manager-dao/src/test/java/org/apache/inlong/manager/dao/config/InLongManagerSourceConfigTest.java
rename to inlong-manager/manager-dao/src/test/java/org/apache/inlong/manager/dao/config/JDBCSourceConfigTest.java
index 4dfb6b0..2f79024 100644
--- a/inlong-manager/manager-dao/src/test/java/org/apache/inlong/manager/dao/config/InLongManagerSourceConfigTest.java
+++ b/inlong-manager/manager-dao/src/test/java/org/apache/inlong/manager/dao/config/JDBCSourceConfigTest.java
@@ -17,7 +17,6 @@
 
 package org.apache.inlong.manager.dao.config;
 
-import javax.sql.DataSource;
 import org.apache.ibatis.session.SqlSessionFactory;
 import org.apache.inlong.manager.dao.DaoBaseTest;
 import org.junit.Assert;
@@ -25,26 +24,29 @@ import org.junit.Test;
 import org.mybatis.spring.SqlSessionTemplate;
 import org.springframework.beans.factory.annotation.Autowired;
 
-public class InLongManagerSourceConfigTest extends DaoBaseTest {
+import javax.sql.DataSource;
+
+public class JDBCSourceConfigTest extends DaoBaseTest {
 
     @Autowired
-    private InLongManagerDatasourceConfig inLongManagerDatasourceConfig;
+    private JDBCSourceConfig jdbcSourceConfig;
 
     @Test
     public void dataSource() {
-        DataSource dataSource = inLongManagerDatasourceConfig.dataSource();
+        DataSource dataSource = jdbcSourceConfig.dataSource();
         Assert.assertNotNull(dataSource);
     }
 
     @Test
     public void sqlSessionFactory() throws Exception {
-        SqlSessionFactory sqlSessionFactory = inLongManagerDatasourceConfig.sqlSessionFactory();
+        SqlSessionFactory sqlSessionFactory = jdbcSourceConfig.sqlSessionFactory();
         Assert.assertNotNull(sqlSessionFactory);
     }
 
     @Test
     public void sqlSessionTemplate() throws Exception {
-        SqlSessionTemplate sqlSessionTemplate = inLongManagerDatasourceConfig.sqlSessionTemplate();
+        SqlSessionTemplate sqlSessionTemplate = jdbcSourceConfig.sqlSessionTemplate();
         Assert.assertNotNull(sqlSessionTemplate);
     }
+
 }
\ No newline at end of file
diff --git a/inlong-manager/manager-dao/src/test/java/org/apache/inlong/manager/dao/mapper/AgentHeartBeatLogEntityMapperTest.java b/inlong-manager/manager-dao/src/test/java/org/apache/inlong/manager/dao/mapper/AgentHeartBeatLogEntityMapperTest.java
deleted file mode 100644
index 78aa692..0000000
--- a/inlong-manager/manager-dao/src/test/java/org/apache/inlong/manager/dao/mapper/AgentHeartBeatLogEntityMapperTest.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.inlong.manager.dao.mapper;
-
-import java.util.Date;
-import org.apache.inlong.manager.dao.DaoBaseTest;
-import org.apache.inlong.manager.dao.entity.AgentHeartBeatLogEntity;
-import org.junit.Assert;
-import org.junit.Test;
-import org.springframework.beans.factory.annotation.Autowired;
-
-public class AgentHeartBeatLogEntityMapperTest extends DaoBaseTest {
-
-    @Autowired
-    private AgentHeartBeatLogEntityMapper agentHeartBeatLogEntityMapper;
-
-    @Test
-    public void deleteByPrimaryKey() {
-        AgentHeartBeatLogEntity entity = createAgentHeartBeatLogEntity();
-        agentHeartBeatLogEntityMapper.insert(entity);
-        agentHeartBeatLogEntityMapper.deleteByPrimaryKey(entity.getIp());
-        Assert.assertNull(agentHeartBeatLogEntityMapper.selectByPrimaryKey(entity.getIp()));
-
-    }
-
-    @Test
-    public void insert() {
-        AgentHeartBeatLogEntity entity = createAgentHeartBeatLogEntity();
-        agentHeartBeatLogEntityMapper.insert(entity);
-        Assert.assertEquals(entity, agentHeartBeatLogEntityMapper.selectByPrimaryKey(entity.getIp()));
-    }
-
-    @Test
-    public void insertSelective() {
-        AgentHeartBeatLogEntity entity = createAgentHeartBeatLogEntity();
-        entity.setHeartbeatMsg(null);
-        agentHeartBeatLogEntityMapper.insertSelective(entity);
-        AgentHeartBeatLogEntity queryResult = agentHeartBeatLogEntityMapper.selectByPrimaryKey(entity.getIp());
-        Assert.assertNull(queryResult.getHeartbeatMsg());
-    }
-
-    @Test
-    public void selectByPrimaryKey() {
-        AgentHeartBeatLogEntity entity = createAgentHeartBeatLogEntity();
-        agentHeartBeatLogEntityMapper.insert(entity);
-        Assert.assertEquals(entity, agentHeartBeatLogEntityMapper.selectByPrimaryKey(entity.getIp()));
-    }
-
-    @Test
-    public void updateByPrimaryKeySelective() {
-        AgentHeartBeatLogEntity entity = createAgentHeartBeatLogEntity();
-        agentHeartBeatLogEntityMapper.insert(entity);
-        entity.setVersion(null);
-        agentHeartBeatLogEntityMapper.updateByPrimaryKeySelective(entity);
-        Assert.assertNotNull(agentHeartBeatLogEntityMapper.selectByPrimaryKey(entity.getIp()).getVersion());
-    }
-
-    @Test
-    public void updateByPrimaryKey() {
-        AgentHeartBeatLogEntity entity = createAgentHeartBeatLogEntity();
-        agentHeartBeatLogEntityMapper.insert(entity);
-        entity.setVersion(null);
-        agentHeartBeatLogEntityMapper.updateByPrimaryKey(entity);
-        Assert.assertEquals(entity, agentHeartBeatLogEntityMapper.selectByPrimaryKey(entity.getIp()));
-    }
-
-    @Test
-    public void replace() {
-        AgentHeartBeatLogEntity entity = createAgentHeartBeatLogEntity();
-        agentHeartBeatLogEntityMapper.insert(entity);
-
-        entity.setVersion(null);
-        agentHeartBeatLogEntityMapper.replace(entity);
-        Assert.assertEquals(entity, agentHeartBeatLogEntityMapper.selectByPrimaryKey(entity.getIp()));
-    }
-
-    private AgentHeartBeatLogEntity createAgentHeartBeatLogEntity() {
-        AgentHeartBeatLogEntity entity = new AgentHeartBeatLogEntity();
-        entity.setIp("127.0.0.1");
-        entity.setVersion("0.0.1");
-        entity.setModifyTime(new Date());
-        entity.setHeartbeatMsg("test message");
-        return entity;
-    }
-}
\ No newline at end of file
diff --git a/inlong-manager/manager-dao/src/test/java/org/apache/inlong/manager/dao/mapper/AgentHeartbeatEntityMapperTest.java b/inlong-manager/manager-dao/src/test/java/org/apache/inlong/manager/dao/mapper/AgentHeartbeatEntityMapperTest.java
new file mode 100644
index 0000000..dbbc341
--- /dev/null
+++ b/inlong-manager/manager-dao/src/test/java/org/apache/inlong/manager/dao/mapper/AgentHeartbeatEntityMapperTest.java
@@ -0,0 +1,101 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.inlong.manager.dao.mapper;
+
+import org.apache.inlong.manager.dao.DaoBaseTest;
+import org.apache.inlong.manager.dao.entity.AgentHeartbeatEntity;
+import org.junit.Assert;
+import org.junit.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.util.Date;
+
+public class AgentHeartbeatEntityMapperTest extends DaoBaseTest {
+
+    @Autowired
+    private AgentHeartbeatEntityMapper heartbeatEntityMapper;
+
+    @Test
+    public void deleteByPrimaryKey() {
+        AgentHeartbeatEntity entity = createHeartbeatEntity();
+        heartbeatEntityMapper.insert(entity);
+        heartbeatEntityMapper.deleteByPrimaryKey(entity.getIp());
+        Assert.assertNull(heartbeatEntityMapper.selectByPrimaryKey(entity.getIp()));
+    }
+
+    @Test
+    public void insert() {
+        AgentHeartbeatEntity entity = createHeartbeatEntity();
+        heartbeatEntityMapper.insert(entity);
+        Assert.assertEquals(entity, heartbeatEntityMapper.selectByPrimaryKey(entity.getIp()));
+    }
+
+    @Test
+    public void insertSelective() {
+        AgentHeartbeatEntity entity = createHeartbeatEntity();
+        entity.setHeartbeatMsg(null);
+        heartbeatEntityMapper.insertSelective(entity);
+        AgentHeartbeatEntity queryResult = heartbeatEntityMapper.selectByPrimaryKey(entity.getIp());
+        Assert.assertNull(queryResult.getHeartbeatMsg());
+    }
+
+    @Test
+    public void selectByPrimaryKey() {
+        AgentHeartbeatEntity entity = createHeartbeatEntity();
+        heartbeatEntityMapper.insert(entity);
+        Assert.assertEquals(entity, heartbeatEntityMapper.selectByPrimaryKey(entity.getIp()));
+    }
+
+    @Test
+    public void updateByPrimaryKeySelective() {
+        AgentHeartbeatEntity entity = createHeartbeatEntity();
+        heartbeatEntityMapper.insert(entity);
+        entity.setVersion(null);
+        heartbeatEntityMapper.updateByPrimaryKeySelective(entity);
+        Assert.assertNotNull(heartbeatEntityMapper.selectByPrimaryKey(entity.getIp()).getVersion());
+    }
+
+    @Test
+    public void updateByPrimaryKey() {
+        AgentHeartbeatEntity entity = createHeartbeatEntity();
+        heartbeatEntityMapper.insert(entity);
+        entity.setVersion(null);
+        heartbeatEntityMapper.updateByPrimaryKey(entity);
+        Assert.assertEquals(entity, heartbeatEntityMapper.selectByPrimaryKey(entity.getIp()));
+    }
+
+    @Test
+    public void replace() {
+        AgentHeartbeatEntity entity = createHeartbeatEntity();
+        heartbeatEntityMapper.insert(entity);
+
+        entity.setVersion(null);
+        heartbeatEntityMapper.replace(entity);
+        Assert.assertEquals(entity, heartbeatEntityMapper.selectByPrimaryKey(entity.getIp()));
+    }
+
+    private AgentHeartbeatEntity createHeartbeatEntity() {
+        AgentHeartbeatEntity entity = new AgentHeartbeatEntity();
+        entity.setIp("127.0.0.1");
+        entity.setVersion("0.0.1");
+        entity.setModifyTime(new Date());
+        entity.setHeartbeatMsg("test message");
+        return entity;
+    }
+
+}
\ No newline at end of file
diff --git a/inlong-manager/manager-plugin-examples/src/main/java/org/apache/inlong/manager/plugin/EmptyProcessPlugin.java b/inlong-manager/manager-plugin-examples/src/main/java/org/apache/inlong/manager/plugin/EmptyProcessPlugin.java
index 252656d..4436539 100644
--- a/inlong-manager/manager-plugin-examples/src/main/java/org/apache/inlong/manager/plugin/EmptyProcessPlugin.java
+++ b/inlong-manager/manager-plugin-examples/src/main/java/org/apache/inlong/manager/plugin/EmptyProcessPlugin.java
@@ -20,8 +20,8 @@ package org.apache.inlong.manager.plugin;
 import org.apache.inlong.manager.workflow.event.EventSelector;
 import org.apache.inlong.manager.workflow.event.task.DataSourceOperateListener;
 import org.apache.inlong.manager.workflow.event.task.QueueOperateListener;
+import org.apache.inlong.manager.workflow.event.task.SinkOperateListener;
 import org.apache.inlong.manager.workflow.event.task.SortOperateListener;
-import org.apache.inlong.manager.workflow.event.task.StorageOperateListener;
 import org.apache.inlong.manager.workflow.plugin.ProcessPlugin;
 
 import java.util.LinkedHashMap;
@@ -45,8 +45,8 @@ public class EmptyProcessPlugin implements ProcessPlugin {
     }
 
     @Override
-    public Map<StorageOperateListener, EventSelector> createStorageOperateListeners() {
-        return ProcessPlugin.super.createStorageOperateListeners();
+    public Map<SinkOperateListener, EventSelector> createSinkOperateListeners() {
+        return ProcessPlugin.super.createSinkOperateListeners();
     }
 
 }
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/AgentHeartBeatService.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/AgentHeartbeatService.java
similarity index 87%
rename from inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/AgentHeartBeatService.java
rename to inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/AgentHeartbeatService.java
index 3f4340b..17a96b4 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/AgentHeartBeatService.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/AgentHeartbeatService.java
@@ -19,8 +19,11 @@ package org.apache.inlong.manager.service.core;
 
 import org.apache.inlong.manager.common.pojo.agent.AgentHeartbeatRequest;
 
-public interface AgentHeartBeatService {
+/**
+ * Agent heartbeat service
+ */
+public interface AgentHeartbeatService {
 
-    public String heartbeat(AgentHeartbeatRequest info);
+    String heartbeat(AgentHeartbeatRequest request);
 
 }
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/BusinessService.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/BusinessService.java
deleted file mode 100644
index 7f61d58..0000000
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/BusinessService.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.inlong.manager.service.core;
-
-import com.github.pagehelper.PageInfo;
-import java.util.List;
-import org.apache.inlong.manager.common.pojo.business.BusinessApproveInfo;
-import org.apache.inlong.manager.common.pojo.business.BusinessCountVO;
-import org.apache.inlong.manager.common.pojo.business.BusinessExtInfo;
-import org.apache.inlong.manager.common.pojo.business.BusinessInfo;
-import org.apache.inlong.manager.common.pojo.business.BusinessListVO;
-import org.apache.inlong.manager.common.pojo.business.BusinessPageRequest;
-import org.apache.inlong.manager.common.pojo.business.BusinessTopicVO;
-
-/**
- * Business access service layer interface
- */
-public interface BusinessService {
-
-    /**
-     * Save business information
-     *
-     * @param businessInfo Basic business information
-     * @param operator Operator name
-     * @return Business group id after successfully saved
-     */
-    String save(BusinessInfo businessInfo, String operator);
-
-    /**
-     * Query business information based on group id
-     *
-     * @param groupId Business group id
-     * @return Business details
-     */
-    BusinessInfo get(String groupId);
-
-    /**
-     * Query business list based on conditions
-     *
-     * @param request Business pagination query request
-     * @return Business Pagination List
-     */
-    PageInfo<BusinessListVO> listByCondition(BusinessPageRequest request);
-
-    /**
-     * Modify business information
-     *
-     * @param businessInfo Business information that needs to be modified
-     * @param operator Operator name
-     * @return Business group id
-     */
-    String update(BusinessInfo businessInfo, String operator);
-
-    /**
-     * Modify the status of the specified business
-     *
-     * @param groupId Business group id
-     * @param status Modified status
-     * @param operator Current operator
-     * @return whether succeed
-     */
-    boolean updateStatus(String groupId, Integer status, String operator);
-
-    /**
-     * Delete the business information of the specified group id
-     *
-     * @param groupId The business group id that needs to be deleted
-     * @param operator Current operator
-     * @return whether succeed
-     */
-    boolean delete(String groupId, String operator);
-
-    /**
-     * Query whether the specified group id exists
-     *
-     * @param groupId The business group id to be queried
-     * @return does it exist
-     */
-    boolean exist(String groupId);
-
-    /**
-     * Query the business information of each status of the current user
-     *
-     * @param operator Current operator
-     * @return Business status statistics
-     */
-    BusinessCountVO countBusinessByUser(String operator);
-
-    /**
-     * According to the business group id, query the topic to which it belongs
-     *
-     * @param groupId Business group id
-     * @return Topic information
-     * @apiNote Tube corresponds to the business, only 1 topic
-     */
-    BusinessTopicVO getTopic(String groupId);
-
-    /**
-     * Save the business modified when the approval is passed
-     *
-     * @param approveInfo Approval information
-     * @param operator Edit person's name
-     * @return whether succeed
-     */
-    boolean updateAfterApprove(BusinessApproveInfo approveInfo, String operator);
-
-    /**
-     * Save or update extended information
-     * <p/>First physically delete the existing extended information, and then add this batch of extended information
-     *
-     * @param groupId Group id
-     * @param infoList Ext info list
-     */
-    void saveOrUpdateExt(String groupId, List<BusinessExtInfo> infoList);
-
-}
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/ConsumptionService.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/ConsumptionService.java
index ba39b2a..69d90f6 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/ConsumptionService.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/ConsumptionService.java
@@ -18,7 +18,7 @@
 package org.apache.inlong.manager.service.core;
 
 import com.github.pagehelper.PageInfo;
-import org.apache.inlong.manager.common.pojo.business.BusinessInfo;
+import org.apache.inlong.manager.common.pojo.group.InlongGroupRequest;
 import org.apache.inlong.manager.common.pojo.consumption.ConsumptionInfo;
 import org.apache.inlong.manager.common.pojo.consumption.ConsumptionListVo;
 import org.apache.inlong.manager.common.pojo.consumption.ConsumptionQuery;
@@ -100,6 +100,6 @@ public interface ConsumptionService {
     /**
      * Save the consumer group info for Sort to the database
      */
-    void saveSortConsumption(BusinessInfo bizInfo, String topic, String consumerGroup);
+    void saveSortConsumption(InlongGroupRequest bizInfo, String topic, String consumerGroup);
 
 }
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/DataSchemaService.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/DataSchemaService.java
index b288de0..a4d76cb 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/DataSchemaService.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/DataSchemaService.java
@@ -17,12 +17,12 @@
 
 package org.apache.inlong.manager.service.core;
 
-import org.apache.inlong.manager.common.pojo.business.DataSchemaInfo;
+import org.apache.inlong.manager.common.pojo.group.DataSchemaInfo;
 
 import java.util.List;
 
 /**
- * Data format service layer interface for business access
+ * Data format service layer interface for inlong group
  *
  */
 public interface DataSchemaService {
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/DataStreamService.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/DataStreamService.java
deleted file mode 100644
index 4ddcbd1..0000000
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/DataStreamService.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.inlong.manager.service.core;
-
-import com.github.pagehelper.PageInfo;
-import org.apache.inlong.manager.common.pojo.datastream.DataStreamApproveInfo;
-import org.apache.inlong.manager.common.pojo.datastream.DataStreamInfo;
-import org.apache.inlong.manager.common.pojo.datastream.DataStreamListVO;
-import org.apache.inlong.manager.common.pojo.datastream.DataStreamPageRequest;
-import org.apache.inlong.manager.common.pojo.datastream.DataStreamTopicVO;
-import org.apache.inlong.manager.common.pojo.datastream.FullPageUpdateInfo;
-import org.apache.inlong.manager.common.pojo.datastream.FullStreamRequest;
-import org.apache.inlong.manager.common.pojo.datastream.FullStreamResponse;
-import org.apache.inlong.manager.common.pojo.datastream.StreamBriefResponse;
-
-import java.util.List;
-
-/**
- * data stream service layer interface
- *
- * @apiNote It is associated with various DataSources, the upstream is Business, and the downstream is Storage
- */
-public interface DataStreamService {
-
-    /**
-     * Save data stream information
-     *
-     * @param dataStreamInfo Basic data stream information
-     * @param operator Edit person's name
-     * @return Data stream id after successful save
-     */
-    Integer save(DataStreamInfo dataStreamInfo, String operator);
-
-    /**
-     * Query the details of the specified data stream
-     *
-     * @param groupId Business group id
-     * @param streamId Data stream id
-     * @return data stream details
-     */
-    DataStreamInfo get(String groupId, String streamId);
-
-    /**
-     * Query whether the data stream ID exists
-     *
-     * @param groupId business group id
-     * @param streamId data stream id
-     * @return true: exists, false: does not exist
-     */
-    Boolean exist(String groupId, String streamId);
-
-    /**
-     * Query data stream list based on conditions
-     *
-     * @param request Data stream paging query request
-     * @return Data stream paging list
-     */
-    PageInfo<DataStreamListVO> listByCondition(DataStreamPageRequest request);
-
-    /**
-     * Business information that needs to be modified
-     *
-     * @param dataStreamInfo data stream information that needs to be modified
-     * @param operator Edit person's name
-     * @return whether succeed
-     */
-    boolean update(DataStreamInfo dataStreamInfo, String operator);
-
-    /**
-     * Delete the specified data stream
-     *
-     * @param groupId Business group id
-     * @param streamId Data stream id
-     * @param operator Edit person's name
-     * @return whether succeed
-     */
-    boolean delete(String groupId, String streamId, String operator);
-
-    /**
-     * Logically delete all data streams under the specified groupId
-     *
-     * @param groupId Business group id
-     * @param operator Edit person's name
-     * @return whether succeed
-     */
-    boolean logicDeleteAll(String groupId, String operator);
-
-    /**
-     * Obtain the flow of data stream according to groupId
-     *
-     * @param groupId Business group id
-     * @return Summary list of data stream
-     */
-    List<StreamBriefResponse> getBriefList(String groupId);
-
-    /**
-     * Save all information related to the data stream, its data source, and data storage
-     *
-     * @param fullStreamRequest All information on the page
-     * @param operator Edit person's name
-     * @return Whether the save was successful
-     */
-    boolean saveAll(FullStreamRequest fullStreamRequest, String operator);
-
-    /**
-     * Save data streams, their data sources, and all information related to data storage in batches
-     *
-     * @param fullStreamRequestList List of data stream page information
-     * @param operator Edit person's name
-     * @return Whether the save was successful
-     * @apiNote This interface is only used when creating a new business. To ensure data consistency,
-     *         all associated data needs to be physically deleted, and then added
-     */
-    boolean batchSaveAll(List<FullStreamRequest> fullStreamRequestList, String operator);
-
-    /**
-     * Paging query all data of the data stream page under the specified groupId
-     *
-     * @param request Query
-     * @return Paging list of all data on the data stream page
-     */
-    PageInfo<FullStreamResponse> listAllWithGroupId(DataStreamPageRequest request);
-
-    /**
-     * Modify all data streams (including basic information about data sources)
-     *
-     * @param updateInfo data stream page information
-     * @param operator Edit person's name
-     * @return Whether the modification is successful
-     * @apiNote The data source details and data storage information are modified separately,
-     *         not in this all modification interface
-     */
-    boolean updateAll(FullPageUpdateInfo updateInfo, String operator);
-
-    /**
-     * According to the group id, query the number of valid data streams belonging to this service
-     *
-     * @param groupId Business group id
-     * @return Number of data streams
-     */
-    int selectCountByGroupId(String groupId);
-
-    /**
-     * According to the business group id, query the Topic list
-     */
-    List<DataStreamTopicVO> getTopicList(String groupId);
-
-    /**
-     * Save the information modified when the approval is passed
-     *
-     * @param streamApproveList data stream approval information
-     * @param operator Edit person's name
-     * @return whether succeed
-     */
-    boolean updateAfterApprove(List<DataStreamApproveInfo> streamApproveList, String operator);
-
-    /**
-     * Update stream status
-     *
-     * @param groupId Business group id
-     * @param streamId Data stream id
-     * @param status Modified status
-     * @param operator Edit person's name
-     * @return whether succeed
-     * @apiNote If streamId is null, update all data stream associated with groupId
-     */
-    boolean updateStatus(String groupId, String streamId, Integer status, String operator);
-
-    /**
-     * According to the specified DLQ / RLQ name, create the corresponding Pulsar's Topic stream
-     *
-     * @param topicName Pulsar's Topic name, which is the data stream ID
-     */
-    void insertDlqOrRlq(String bid, String topicName, String operator);
-
-    /**
-     * Logic delete dlq or rlq topic by bid
-     */
-    void logicDeleteDlqOrRlq(String bid, String topicName, String operator);
-
-}
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/InlongGroupService.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/InlongGroupService.java
new file mode 100644
index 0000000..d7b74b1
--- /dev/null
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/InlongGroupService.java
@@ -0,0 +1,132 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.inlong.manager.service.core;
+
+import com.github.pagehelper.PageInfo;
+import org.apache.inlong.manager.common.pojo.group.InlongGroupApproveRequest;
+import org.apache.inlong.manager.common.pojo.group.InlongGroupCountResponse;
+import org.apache.inlong.manager.common.pojo.group.InlongGroupExtInfo;
+import org.apache.inlong.manager.common.pojo.group.InlongGroupRequest;
+import org.apache.inlong.manager.common.pojo.group.InlongGroupListResponse;
+import org.apache.inlong.manager.common.pojo.group.InlongGroupPageRequest;
+import org.apache.inlong.manager.common.pojo.group.InlongGroupTopicResponse;
+
+import java.util.List;
+
+/**
+ * Inlong group service layer interface
+ */
+public interface InlongGroupService {
+
+    /**
+     * Save group information
+     *
+     * @param groupInfo Basic group information
+     * @param operator Operator name
+     * @return Inlong group id after successfully saved
+     */
+    String save(InlongGroupRequest groupInfo, String operator);
+
+    /**
+     * Query group information based on group id
+     *
+     * @param groupId Inlong group id
+     * @return Group details
+     */
+    InlongGroupRequest get(String groupId);
+
+    /**
+     * Query group list based on conditions
+     *
+     * @param request Group pagination query request
+     * @return Group Pagination List
+     */
+    PageInfo<InlongGroupListResponse> listByCondition(InlongGroupPageRequest request);
+
+    /**
+     * Modify group information
+     *
+     * @param groupInfo Group information that needs to be modified
+     * @param operator Operator name
+     * @return Inlong group id
+     */
+    String update(InlongGroupRequest groupInfo, String operator);
+
+    /**
+     * Modify the status of the specified group
+     *
+     * @param groupId Inlong group id
+     * @param status Modified status
+     * @param operator Current operator
+     * @return whether succeed
+     */
+    boolean updateStatus(String groupId, Integer status, String operator);
+
+    /**
+     * Delete the group information of the specified group id
+     *
+     * @param groupId The group id that needs to be deleted
+     * @param operator Current operator
+     * @return whether succeed
+     */
... 14542 lines suppressed ...