private FlinkSortConf createFlinkSortConfig(Map<String, String> extMap) {
        FlinkSortConf sortConf = new FlinkSortConf();
        sortConf.setServiceUrl(extMap.get(InlongConstants.SORT_URL));
        String properties = extMap.get(InlongConstants.SORT_PROPERTIES);
        if (StringUtils.isNotBlank(properties)) {
            sortConf.setProperties(JsonUtils.parseObject(properties,
                    new TypeReference<Map<String, String>>() {
                    }));
        } else {
            sortConf.setProperties(Maps.newHashMap());
        }
        String authenticationType = extMap.get(InlongConstants.SORT_AUTHENTICATION_TYPE);
        if (StringUtils.isNotBlank(authenticationType)) {
            AuthType authType = AuthType.forType(authenticationType);
            Preconditions.expectTrue(authType == AuthType.SECRET_AND_TOKEN,
                    "Only support SECRET_AND_TOKEN for flink sort auth");
            String authentication = extMap.get(InlongConstants.SORT_AUTHENTICATION);
            Map<String, String> authProperties = JsonUtils.parseObject(authentication,
                    new TypeReference<Map<String, String>>() {
                    });
            SecretTokenAuthentication secretTokenAuthentication = new SecretTokenAuthentication();
            secretTokenAuthentication.configure(authProperties);
            sortConf.setAuthentication(secretTokenAuthentication);
        }
        return sortConf;
    }
Add constraints to the start and end time of the offline synchronization group.
1. startTime must >= current time
2. endTime must >= startTime
inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/group/InlongGroupServiceImpl.java