public static Map<String, TreeSet<String>> parseTopicParam(String topicParam) {
        Map<String, TreeSet<String>> topicAndFiltersMap = new HashMap<>();
        if (TStringUtils.isBlank(topicParam)) {
            return topicAndFiltersMap;
        }
        String[] topicFilterStrs = topicParam.split(TokenConstants.ARRAY_SEP);
        for (String topicFilterStr : topicFilterStrs) {
            if (TStringUtils.isBlank(topicFilterStr)) {
                continue;
            }
            String[] topicFilters = topicFilterStr.split(TokenConstants.ATTR_SEP);
            if (TStringUtils.isBlank(topicFilters[0])) {
                continue;
            }
            TreeSet<String> filterSet = new TreeSet<>();
            if (topicFilters.length > 1
                    && TStringUtils.isNotBlank(topicFilters[1])) {
                String[] filterItems = topicFilters[1].split(TokenConstants.LOG_SEG_SEP);
                for (String filterItem : filterItems) {
                    if (TStringUtils.isBlank(filterItem)) {
                        continue;
                    }
                    filterSet.add(filterItem.trim());
                }
            }
            topicAndFiltersMap.put(topicFilters[0].trim(), filterSet);
        }
        return topicAndFiltersMap;
    }
parse topic Parameter with format topic_1[,topic_2[:filterCond_2.1[;filterCond_2.2]]]
 topicParam->set(filterCond) map
@param topicParam - composite string
@return - map of topic->set(filterCond)
inlong-tubemq/tubemq-core/src/main/java/org/apache/inlong/tubemq/corebase/utils/MixedUtils.java