From 899d1d00d5567983c7d12de333eebd180d4fc583 Mon Sep 17 00:00:00 2001 From: caohui Date: Fri, 9 Oct 2020 18:14:40 +0800 Subject: [PATCH] ZX Flume field_splitter_complement Initial commit 202010091814 --- .idea/.gitignore | 8 + .idea/codeStyles/Project.xml | 7 + .idea/codeStyles/codeStyleConfig.xml | 5 + .idea/compiler.xml | 17 + .idea/jarRepositories.xml | 30 + .../Maven__com_alibaba_fastjson_1_2_47.xml | 13 + ...jackson_core_jackson_annotations_2_9_5.xml | 13 + ...terxml_jackson_core_jackson_core_2_9_5.xml | 13 + ...ml_jackson_core_jackson_databind_2_9_5.xml | 13 + ..._com_google_code_findbugs_jsr305_1_3_9.xml | 13 + ...Maven__com_google_code_gson_gson_2_2_2.xml | 13 + .../Maven__com_google_guava_guava_11_0_2.xml | 13 + ...Maven__com_maxmind_db_maxmind_db_1_2_2.xml | 13 + ...aven__com_maxmind_geoip2_geoip2_2_12_0.xml | 13 + ...ven__com_maxmind_geoip_geoip_api_1_3_1.xml | 13 + ...m_thoughtworks_paranamer_paranamer_2_3.xml | 13 + .../Maven__com_zdjizhi_galaxy_1_0_1.xml | 13 + .../Maven__commons_cli_commons_cli_1_2.xml | 13 + ...Maven__commons_codec_commons_codec_1_8.xml | 13 + ..._collections_commons_collections_3_2_1.xml | 13 + .../Maven__commons_io_commons_io_2_1.xml | 13 + .../Maven__commons_lang_commons_lang_2_5.xml | 13 + ...n__commons_logging_commons_logging_1_2.xml | 13 + .../Maven__io_netty_netty_3_10_6_Final.xml | 13 + ..._javax_servlet_javax_servlet_api_3_1_0.xml | 13 + .../Maven__joda_time_joda_time_2_9_9.xml | 13 + .idea/libraries/Maven__log4j_log4j_1_2_14.xml | 13 + .../Maven__org_apache_avro_avro_1_7_4.xml | 13 + .../Maven__org_apache_avro_avro_ipc_1_7_4.xml | 13 + ..._apache_commons_commons_compress_1_4_1.xml | 13 + ...__org_apache_commons_commons_lang3_3_4.xml | 13 + ...__org_apache_flume_flume_ng_auth_1_9_0.xml | 13 + ...lters_flume_ng_config_filter_api_1_9_0.xml | 13 + ...che_flume_flume_ng_configuration_1_9_0.xml | 13 + ...__org_apache_flume_flume_ng_core_1_9_0.xml | 13 + ...n__org_apache_flume_flume_ng_sdk_1_9_0.xml | 13 + ...apache_httpcomponents_httpclient_4_4_1.xml | 13 + ...g_apache_httpcomponents_httpcore_4_4_1.xml | 13 + ...Maven__org_apache_mina_mina_core_2_0_4.xml | 13 + ...ven__org_apache_thrift_libthrift_0_9_3.xml | 13 + ...aven__org_apache_velocity_velocity_1_7.xml | 13 + ...odehaus_jackson_jackson_core_asl_1_8_8.xml | 13 + ...ehaus_jackson_jackson_mapper_asl_1_8_8.xml | 13 + ...lipse_jetty_jetty_http_9_4_6_v20170531.xml | 13 + ...eclipse_jetty_jetty_io_9_4_6_v20170531.xml | 13 + ...clipse_jetty_jetty_jmx_9_4_6_v20170531.xml | 13 + ...e_jetty_jetty_security_9_4_6_v20170531.xml | 13 + ...pse_jetty_jetty_server_9_4_6_v20170531.xml | 13 + ...se_jetty_jetty_servlet_9_4_6_v20170531.xml | 13 + ...lipse_jetty_jetty_util_9_4_6_v20170531.xml | 13 + .../Maven__org_mortbay_jetty_jetty_6_1_26.xml | 13 + ...n__org_mortbay_jetty_jetty_util_6_1_26.xml | 13 + .../Maven__org_slf4j_slf4j_api_1_7_25.xml | 13 + .idea/libraries/Maven__org_tukaani_xz_1_0.xml | 13 + ..._org_xerial_snappy_snappy_java_1_0_4_1.xml | 13 + .idea/misc.xml | 11 + .idea/modules.xml | 9 + .../FlumeFieldSplitterInterceptor.iml | 64 + FlumeFieldSplitterInterceptor/pom.xml | 151 ++ .../interceptor/FlumeFieldSplitterApp.java | 232 +++ .../commonUtils/HashTableConfig.java | 1551 +++++++++++++++++ field_splitter_complement.iml | 12 + pom.xml | 16 + 63 files changed, 2763 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/codeStyles/Project.xml create mode 100644 .idea/codeStyles/codeStyleConfig.xml create mode 100644 .idea/compiler.xml create mode 100644 .idea/jarRepositories.xml create mode 100644 .idea/libraries/Maven__com_alibaba_fastjson_1_2_47.xml create mode 100644 .idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_9_5.xml create mode 100644 .idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_9_5.xml create mode 100644 .idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_9_5.xml create mode 100644 .idea/libraries/Maven__com_google_code_findbugs_jsr305_1_3_9.xml create mode 100644 .idea/libraries/Maven__com_google_code_gson_gson_2_2_2.xml create mode 100644 .idea/libraries/Maven__com_google_guava_guava_11_0_2.xml create mode 100644 .idea/libraries/Maven__com_maxmind_db_maxmind_db_1_2_2.xml create mode 100644 .idea/libraries/Maven__com_maxmind_geoip2_geoip2_2_12_0.xml create mode 100644 .idea/libraries/Maven__com_maxmind_geoip_geoip_api_1_3_1.xml create mode 100644 .idea/libraries/Maven__com_thoughtworks_paranamer_paranamer_2_3.xml create mode 100644 .idea/libraries/Maven__com_zdjizhi_galaxy_1_0_1.xml create mode 100644 .idea/libraries/Maven__commons_cli_commons_cli_1_2.xml create mode 100644 .idea/libraries/Maven__commons_codec_commons_codec_1_8.xml create mode 100644 .idea/libraries/Maven__commons_collections_commons_collections_3_2_1.xml create mode 100644 .idea/libraries/Maven__commons_io_commons_io_2_1.xml create mode 100644 .idea/libraries/Maven__commons_lang_commons_lang_2_5.xml create mode 100644 .idea/libraries/Maven__commons_logging_commons_logging_1_2.xml create mode 100644 .idea/libraries/Maven__io_netty_netty_3_10_6_Final.xml create mode 100644 .idea/libraries/Maven__javax_servlet_javax_servlet_api_3_1_0.xml create mode 100644 .idea/libraries/Maven__joda_time_joda_time_2_9_9.xml create mode 100644 .idea/libraries/Maven__log4j_log4j_1_2_14.xml create mode 100644 .idea/libraries/Maven__org_apache_avro_avro_1_7_4.xml create mode 100644 .idea/libraries/Maven__org_apache_avro_avro_ipc_1_7_4.xml create mode 100644 .idea/libraries/Maven__org_apache_commons_commons_compress_1_4_1.xml create mode 100644 .idea/libraries/Maven__org_apache_commons_commons_lang3_3_4.xml create mode 100644 .idea/libraries/Maven__org_apache_flume_flume_ng_auth_1_9_0.xml create mode 100644 .idea/libraries/Maven__org_apache_flume_flume_ng_configfilters_flume_ng_config_filter_api_1_9_0.xml create mode 100644 .idea/libraries/Maven__org_apache_flume_flume_ng_configuration_1_9_0.xml create mode 100644 .idea/libraries/Maven__org_apache_flume_flume_ng_core_1_9_0.xml create mode 100644 .idea/libraries/Maven__org_apache_flume_flume_ng_sdk_1_9_0.xml create mode 100644 .idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_4_1.xml create mode 100644 .idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_1.xml create mode 100644 .idea/libraries/Maven__org_apache_mina_mina_core_2_0_4.xml create mode 100644 .idea/libraries/Maven__org_apache_thrift_libthrift_0_9_3.xml create mode 100644 .idea/libraries/Maven__org_apache_velocity_velocity_1_7.xml create mode 100644 .idea/libraries/Maven__org_codehaus_jackson_jackson_core_asl_1_8_8.xml create mode 100644 .idea/libraries/Maven__org_codehaus_jackson_jackson_mapper_asl_1_8_8.xml create mode 100644 .idea/libraries/Maven__org_eclipse_jetty_jetty_http_9_4_6_v20170531.xml create mode 100644 .idea/libraries/Maven__org_eclipse_jetty_jetty_io_9_4_6_v20170531.xml create mode 100644 .idea/libraries/Maven__org_eclipse_jetty_jetty_jmx_9_4_6_v20170531.xml create mode 100644 .idea/libraries/Maven__org_eclipse_jetty_jetty_security_9_4_6_v20170531.xml create mode 100644 .idea/libraries/Maven__org_eclipse_jetty_jetty_server_9_4_6_v20170531.xml create mode 100644 .idea/libraries/Maven__org_eclipse_jetty_jetty_servlet_9_4_6_v20170531.xml create mode 100644 .idea/libraries/Maven__org_eclipse_jetty_jetty_util_9_4_6_v20170531.xml create mode 100644 .idea/libraries/Maven__org_mortbay_jetty_jetty_6_1_26.xml create mode 100644 .idea/libraries/Maven__org_mortbay_jetty_jetty_util_6_1_26.xml create mode 100644 .idea/libraries/Maven__org_slf4j_slf4j_api_1_7_25.xml create mode 100644 .idea/libraries/Maven__org_tukaani_xz_1_0.xml create mode 100644 .idea/libraries/Maven__org_xerial_snappy_snappy_java_1_0_4_1.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 FlumeFieldSplitterInterceptor/FlumeFieldSplitterInterceptor.iml create mode 100644 FlumeFieldSplitterInterceptor/pom.xml create mode 100644 FlumeFieldSplitterInterceptor/src/main/java/cn/ac/iie/flume/interceptor/FlumeFieldSplitterApp.java create mode 100644 FlumeFieldSplitterInterceptor/src/main/java/cn/ac/iie/flume/interceptor/commonUtils/HashTableConfig.java create mode 100644 field_splitter_complement.iml create mode 100644 pom.xml diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..d7367df --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Datasource local storage ignored files +/../../../../../../../../../:\dev_code\testForFlume\flumeWork\YiBuDaGongCheng\multi-thread\for-lxk-git\field_splitter_complement\.idea/dataSources/ +/dataSources.local.xml +# Editor-based HTTP Client requests +/httpRequests/ diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml new file mode 100644 index 0000000..919ce1f --- /dev/null +++ b/.idea/codeStyles/Project.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml new file mode 100644 index 0000000..a55e7a1 --- /dev/null +++ b/.idea/codeStyles/codeStyleConfig.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..72be780 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000..8890cb6 --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_alibaba_fastjson_1_2_47.xml b/.idea/libraries/Maven__com_alibaba_fastjson_1_2_47.xml new file mode 100644 index 0000000..dcd6ee5 --- /dev/null +++ b/.idea/libraries/Maven__com_alibaba_fastjson_1_2_47.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_9_5.xml b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_9_5.xml new file mode 100644 index 0000000..89adb44 --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_9_5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_9_5.xml b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_9_5.xml new file mode 100644 index 0000000..1205e0d --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_9_5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_9_5.xml b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_9_5.xml new file mode 100644 index 0000000..467b779 --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_9_5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_code_findbugs_jsr305_1_3_9.xml b/.idea/libraries/Maven__com_google_code_findbugs_jsr305_1_3_9.xml new file mode 100644 index 0000000..0e66824 --- /dev/null +++ b/.idea/libraries/Maven__com_google_code_findbugs_jsr305_1_3_9.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_code_gson_gson_2_2_2.xml b/.idea/libraries/Maven__com_google_code_gson_gson_2_2_2.xml new file mode 100644 index 0000000..b6113ec --- /dev/null +++ b/.idea/libraries/Maven__com_google_code_gson_gson_2_2_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_guava_guava_11_0_2.xml b/.idea/libraries/Maven__com_google_guava_guava_11_0_2.xml new file mode 100644 index 0000000..01a573a --- /dev/null +++ b/.idea/libraries/Maven__com_google_guava_guava_11_0_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_maxmind_db_maxmind_db_1_2_2.xml b/.idea/libraries/Maven__com_maxmind_db_maxmind_db_1_2_2.xml new file mode 100644 index 0000000..1342872 --- /dev/null +++ b/.idea/libraries/Maven__com_maxmind_db_maxmind_db_1_2_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_maxmind_geoip2_geoip2_2_12_0.xml b/.idea/libraries/Maven__com_maxmind_geoip2_geoip2_2_12_0.xml new file mode 100644 index 0000000..1471229 --- /dev/null +++ b/.idea/libraries/Maven__com_maxmind_geoip2_geoip2_2_12_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_maxmind_geoip_geoip_api_1_3_1.xml b/.idea/libraries/Maven__com_maxmind_geoip_geoip_api_1_3_1.xml new file mode 100644 index 0000000..bd438ab --- /dev/null +++ b/.idea/libraries/Maven__com_maxmind_geoip_geoip_api_1_3_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_thoughtworks_paranamer_paranamer_2_3.xml b/.idea/libraries/Maven__com_thoughtworks_paranamer_paranamer_2_3.xml new file mode 100644 index 0000000..3807eb2 --- /dev/null +++ b/.idea/libraries/Maven__com_thoughtworks_paranamer_paranamer_2_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_zdjizhi_galaxy_1_0_1.xml b/.idea/libraries/Maven__com_zdjizhi_galaxy_1_0_1.xml new file mode 100644 index 0000000..5ec91ab --- /dev/null +++ b/.idea/libraries/Maven__com_zdjizhi_galaxy_1_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_cli_commons_cli_1_2.xml b/.idea/libraries/Maven__commons_cli_commons_cli_1_2.xml new file mode 100644 index 0000000..cec2493 --- /dev/null +++ b/.idea/libraries/Maven__commons_cli_commons_cli_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_codec_commons_codec_1_8.xml b/.idea/libraries/Maven__commons_codec_commons_codec_1_8.xml new file mode 100644 index 0000000..a63c271 --- /dev/null +++ b/.idea/libraries/Maven__commons_codec_commons_codec_1_8.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_collections_commons_collections_3_2_1.xml b/.idea/libraries/Maven__commons_collections_commons_collections_3_2_1.xml new file mode 100644 index 0000000..3caee7e --- /dev/null +++ b/.idea/libraries/Maven__commons_collections_commons_collections_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_io_commons_io_2_1.xml b/.idea/libraries/Maven__commons_io_commons_io_2_1.xml new file mode 100644 index 0000000..3b78142 --- /dev/null +++ b/.idea/libraries/Maven__commons_io_commons_io_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_lang_commons_lang_2_5.xml b/.idea/libraries/Maven__commons_lang_commons_lang_2_5.xml new file mode 100644 index 0000000..055afe5 --- /dev/null +++ b/.idea/libraries/Maven__commons_lang_commons_lang_2_5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml b/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml new file mode 100644 index 0000000..eab40b3 --- /dev/null +++ b/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_netty_netty_3_10_6_Final.xml b/.idea/libraries/Maven__io_netty_netty_3_10_6_Final.xml new file mode 100644 index 0000000..1bf9986 --- /dev/null +++ b/.idea/libraries/Maven__io_netty_netty_3_10_6_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__javax_servlet_javax_servlet_api_3_1_0.xml b/.idea/libraries/Maven__javax_servlet_javax_servlet_api_3_1_0.xml new file mode 100644 index 0000000..c24f7e3 --- /dev/null +++ b/.idea/libraries/Maven__javax_servlet_javax_servlet_api_3_1_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__joda_time_joda_time_2_9_9.xml b/.idea/libraries/Maven__joda_time_joda_time_2_9_9.xml new file mode 100644 index 0000000..a468f58 --- /dev/null +++ b/.idea/libraries/Maven__joda_time_joda_time_2_9_9.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__log4j_log4j_1_2_14.xml b/.idea/libraries/Maven__log4j_log4j_1_2_14.xml new file mode 100644 index 0000000..2825a67 --- /dev/null +++ b/.idea/libraries/Maven__log4j_log4j_1_2_14.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_avro_avro_1_7_4.xml b/.idea/libraries/Maven__org_apache_avro_avro_1_7_4.xml new file mode 100644 index 0000000..cc03056 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_avro_avro_1_7_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_avro_avro_ipc_1_7_4.xml b/.idea/libraries/Maven__org_apache_avro_avro_ipc_1_7_4.xml new file mode 100644 index 0000000..05fdc11 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_avro_avro_ipc_1_7_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_commons_commons_compress_1_4_1.xml b/.idea/libraries/Maven__org_apache_commons_commons_compress_1_4_1.xml new file mode 100644 index 0000000..190209e --- /dev/null +++ b/.idea/libraries/Maven__org_apache_commons_commons_compress_1_4_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_4.xml b/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_4.xml new file mode 100644 index 0000000..78cfcd3 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_flume_flume_ng_auth_1_9_0.xml b/.idea/libraries/Maven__org_apache_flume_flume_ng_auth_1_9_0.xml new file mode 100644 index 0000000..0a0a25b --- /dev/null +++ b/.idea/libraries/Maven__org_apache_flume_flume_ng_auth_1_9_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_flume_flume_ng_configfilters_flume_ng_config_filter_api_1_9_0.xml b/.idea/libraries/Maven__org_apache_flume_flume_ng_configfilters_flume_ng_config_filter_api_1_9_0.xml new file mode 100644 index 0000000..d10ad63 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_flume_flume_ng_configfilters_flume_ng_config_filter_api_1_9_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_flume_flume_ng_configuration_1_9_0.xml b/.idea/libraries/Maven__org_apache_flume_flume_ng_configuration_1_9_0.xml new file mode 100644 index 0000000..0c84574 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_flume_flume_ng_configuration_1_9_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_flume_flume_ng_core_1_9_0.xml b/.idea/libraries/Maven__org_apache_flume_flume_ng_core_1_9_0.xml new file mode 100644 index 0000000..8482bfd --- /dev/null +++ b/.idea/libraries/Maven__org_apache_flume_flume_ng_core_1_9_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_flume_flume_ng_sdk_1_9_0.xml b/.idea/libraries/Maven__org_apache_flume_flume_ng_sdk_1_9_0.xml new file mode 100644 index 0000000..ae04833 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_flume_flume_ng_sdk_1_9_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_4_1.xml b/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_4_1.xml new file mode 100644 index 0000000..bfee518 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_4_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_1.xml b/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_1.xml new file mode 100644 index 0000000..24a6857 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_mina_mina_core_2_0_4.xml b/.idea/libraries/Maven__org_apache_mina_mina_core_2_0_4.xml new file mode 100644 index 0000000..3a77804 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_mina_mina_core_2_0_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_thrift_libthrift_0_9_3.xml b/.idea/libraries/Maven__org_apache_thrift_libthrift_0_9_3.xml new file mode 100644 index 0000000..0ff6c53 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_thrift_libthrift_0_9_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_velocity_velocity_1_7.xml b/.idea/libraries/Maven__org_apache_velocity_velocity_1_7.xml new file mode 100644 index 0000000..7a2914a --- /dev/null +++ b/.idea/libraries/Maven__org_apache_velocity_velocity_1_7.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_codehaus_jackson_jackson_core_asl_1_8_8.xml b/.idea/libraries/Maven__org_codehaus_jackson_jackson_core_asl_1_8_8.xml new file mode 100644 index 0000000..d649056 --- /dev/null +++ b/.idea/libraries/Maven__org_codehaus_jackson_jackson_core_asl_1_8_8.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_codehaus_jackson_jackson_mapper_asl_1_8_8.xml b/.idea/libraries/Maven__org_codehaus_jackson_jackson_mapper_asl_1_8_8.xml new file mode 100644 index 0000000..148cdfd --- /dev/null +++ b/.idea/libraries/Maven__org_codehaus_jackson_jackson_mapper_asl_1_8_8.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_jetty_jetty_http_9_4_6_v20170531.xml b/.idea/libraries/Maven__org_eclipse_jetty_jetty_http_9_4_6_v20170531.xml new file mode 100644 index 0000000..348cfac --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_jetty_jetty_http_9_4_6_v20170531.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_jetty_jetty_io_9_4_6_v20170531.xml b/.idea/libraries/Maven__org_eclipse_jetty_jetty_io_9_4_6_v20170531.xml new file mode 100644 index 0000000..537e5e4 --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_jetty_jetty_io_9_4_6_v20170531.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_jetty_jetty_jmx_9_4_6_v20170531.xml b/.idea/libraries/Maven__org_eclipse_jetty_jetty_jmx_9_4_6_v20170531.xml new file mode 100644 index 0000000..b8f3918 --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_jetty_jetty_jmx_9_4_6_v20170531.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_jetty_jetty_security_9_4_6_v20170531.xml b/.idea/libraries/Maven__org_eclipse_jetty_jetty_security_9_4_6_v20170531.xml new file mode 100644 index 0000000..43e5889 --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_jetty_jetty_security_9_4_6_v20170531.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_jetty_jetty_server_9_4_6_v20170531.xml b/.idea/libraries/Maven__org_eclipse_jetty_jetty_server_9_4_6_v20170531.xml new file mode 100644 index 0000000..9a5d606 --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_jetty_jetty_server_9_4_6_v20170531.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_jetty_jetty_servlet_9_4_6_v20170531.xml b/.idea/libraries/Maven__org_eclipse_jetty_jetty_servlet_9_4_6_v20170531.xml new file mode 100644 index 0000000..937f9fb --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_jetty_jetty_servlet_9_4_6_v20170531.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_jetty_jetty_util_9_4_6_v20170531.xml b/.idea/libraries/Maven__org_eclipse_jetty_jetty_util_9_4_6_v20170531.xml new file mode 100644 index 0000000..94631d2 --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_jetty_jetty_util_9_4_6_v20170531.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_mortbay_jetty_jetty_6_1_26.xml b/.idea/libraries/Maven__org_mortbay_jetty_jetty_6_1_26.xml new file mode 100644 index 0000000..0f5d0b8 --- /dev/null +++ b/.idea/libraries/Maven__org_mortbay_jetty_jetty_6_1_26.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_mortbay_jetty_jetty_util_6_1_26.xml b/.idea/libraries/Maven__org_mortbay_jetty_jetty_util_6_1_26.xml new file mode 100644 index 0000000..f6ec2b9 --- /dev/null +++ b/.idea/libraries/Maven__org_mortbay_jetty_jetty_util_6_1_26.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_25.xml b/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_25.xml new file mode 100644 index 0000000..20e8163 --- /dev/null +++ b/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_25.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_tukaani_xz_1_0.xml b/.idea/libraries/Maven__org_tukaani_xz_1_0.xml new file mode 100644 index 0000000..8b8042f --- /dev/null +++ b/.idea/libraries/Maven__org_tukaani_xz_1_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_xerial_snappy_snappy_java_1_0_4_1.xml b/.idea/libraries/Maven__org_xerial_snappy_snappy_java_1_0_4_1.xml new file mode 100644 index 0000000..ee11787 --- /dev/null +++ b/.idea/libraries/Maven__org_xerial_snappy_snappy_java_1_0_4_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..4361200 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..d45f623 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/FlumeFieldSplitterInterceptor/FlumeFieldSplitterInterceptor.iml b/FlumeFieldSplitterInterceptor/FlumeFieldSplitterInterceptor.iml new file mode 100644 index 0000000..e183e9f --- /dev/null +++ b/FlumeFieldSplitterInterceptor/FlumeFieldSplitterInterceptor.iml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/FlumeFieldSplitterInterceptor/pom.xml b/FlumeFieldSplitterInterceptor/pom.xml new file mode 100644 index 0000000..84dfcd6 --- /dev/null +++ b/FlumeFieldSplitterInterceptor/pom.xml @@ -0,0 +1,151 @@ + + + + field_splitter_complement + cn.ceiec + 1.0 + + 4.0.0 + + FlumeFieldSplitterInterceptor + + + + nexus + Team Nexus Repository + http://192.168.40.125:8099/content/groups/public + + + + ebi + www.ebi.ac.uk + http://www.ebi.ac.uk/intact/maven/nexus/content/groups/public/ + + + + + + + org.apache.maven.plugins + maven-shade-plugin + 2.4.1 + + true + + + + package + + shade + + + + + + cn.ac.iie.flume.interceptor.FlumeFieldSplitterApp + + + + + + + + + + + + + + + + + + org.codehaus.mojo + exec-maven-plugin + 1.2.1 + + + + exec + + + + + java + true + false + compile + cn.ac.iie.flume.interceptor.FlumeFieldSplitterApp + + + + org.apache.maven.plugins + maven-compiler-plugin + 2.3.2 + + 1.8 + 1.8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + org.apache.flume + flume-ng-core + 1.9.0 + provided + + + + com.zdjizhi + galaxy + 1.0.1 + + + slf4j-log4j12 + org.slf4j + + + log4j-over-slf4j + org.slf4j + + + + + + com.alibaba + fastjson + 1.2.47 + + + + + \ No newline at end of file diff --git a/FlumeFieldSplitterInterceptor/src/main/java/cn/ac/iie/flume/interceptor/FlumeFieldSplitterApp.java b/FlumeFieldSplitterInterceptor/src/main/java/cn/ac/iie/flume/interceptor/FlumeFieldSplitterApp.java new file mode 100644 index 0000000..720cbe5 --- /dev/null +++ b/FlumeFieldSplitterInterceptor/src/main/java/cn/ac/iie/flume/interceptor/FlumeFieldSplitterApp.java @@ -0,0 +1,232 @@ +package cn.ac.iie.flume.interceptor; + +import cn.ac.iie.flume.interceptor.commonUtils.HashTableConfig; +import com.alibaba.fastjson.JSONObject; +import com.zdjizhi.utils.IpLookup; +import com.zdjizhi.utils.StringUtil; +import org.apache.commons.lang.StringUtils; +import org.apache.flume.Context; +import org.apache.flume.Event; +import org.apache.flume.interceptor.Interceptor; +import org.apache.log4j.Logger; + +import java.io.UnsupportedEncodingException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + + +public class FlumeFieldSplitterApp implements Interceptor { + private static Logger logger = Logger.getLogger(FlumeFieldSplitterApp.class); + + private static HashMap hmFromPz; + + private String handleField;//从原数据中获取---需要进行切分的字段,即最外层的表字段,即"app_label":"PROTO_ID=10062;APP_ID=0;OS_ID=0;BS_ID=0;WEB_ID=0;BEHAV_ID=0;"中的 app_label + + private String splitFields;//用户定义---需要切分的字段的内容字段,key-value形式,key为要补充的名称协议,value为原数据字段名,暂定格式为 proto:PROTO_ID;app:APP_ID;web:WEB_ID;os:OS_ID;bs:BS_ID + + private String fieldsSeparator;//多个字段之间的分隔符,例如"app_label":"PROTO_ID=10062;APP_ID=0;OS_ID=0;BS_ID=0;WEB_ID=0;BEHAV_ID=0;"中的 ; + + private String fieldDelimiter;//单个字段内部的分隔符,例如"app_label":"PROTO_ID=10062;APP_ID=0;OS_ID=0;BS_ID=0;WEB_ID=0;BEHAV_ID=0;"中的 = + + private String defaultFieldValue;//该字段不存在时的默认值value,注意不是json的key,是json的value + + public void initialize() { + if (!("noSetSplitFields".equals(splitFields))) { + hmFromPz = new HashMap<>(); + if (splitFields.contains(";")) { + String[] splitFieldsToKeyValue = splitFields.split(";"); + for (String splitFieldToKeyValue : splitFieldsToKeyValue) { + if (splitFieldToKeyValue.contains(":")) { + String[] splitSingleFieldToKeyValue = splitFieldToKeyValue.split(":"); + hmFromPz.put(splitSingleFieldToKeyValue[0], splitSingleFieldToKeyValue[1]); + } else { + logger.error("key-value must split by ===> : <=== !!!"); + } + } + } else { + if (splitFields.contains(":")) { + String[] splitSingleFieldToKeyValue = splitFields.split(":"); + hmFromPz.put(splitSingleFieldToKeyValue[0], splitSingleFieldToKeyValue[1]); + } else { + logger.error("field must be split by ===> ; <=== ,and key-value must split by ===> : <=== !!!"); + } + } + } + + } + + public FlumeFieldSplitterApp(String handleField, String splitFields, String fieldsSeparator, String fieldDelimiter, String defaultFieldValue) { + this.handleField = handleField; + this.splitFields = splitFields; + this.fieldsSeparator = fieldsSeparator; + this.fieldDelimiter = fieldDelimiter; + this.defaultFieldValue = defaultFieldValue; + } + + public Event intercept(Event event) { + String message = null; + try { + message = new String(event.getBody(), "utf-8"); + } catch (UnsupportedEncodingException e) { + message = new String(event.getBody()); + } + try { + if (StringUtils.isNotBlank(message)) { + logger.info("Field_Splitter_Interceptor this cycle message begin ---><<" + message + ">><---"); + Map map = JSONObject.parseObject(message, Map.class); + if (!("noSetHandleField".equals(handleField)) && !("noSetSplitFields".equals(splitFields)) + && !("noSetFieldsSeparator".equals(fieldsSeparator)) && !("noSetFieldDelimiter".equals(fieldDelimiter))) { + /** + * 切分存储原数据中需要映射的原始字段 + */ + HashMap hmInnerFields = new HashMap<>(); + String handleFieldValue = (String) map.get(handleField); + + if (StringUtil.isBlank(handleFieldValue)) { + handleFieldValue = defaultFieldValue; + } + + String[] splitHandleFieldValues = handleFieldValue.split(fieldsSeparator); + for (int i = 0; i < splitHandleFieldValues.length; i++) { + if (StringUtils.isNotBlank(splitHandleFieldValues[i])) { + String splitHandleFieldValue = splitHandleFieldValues[i]; + String[] innerFields = splitHandleFieldValue.split(fieldDelimiter); + hmInnerFields.put(innerFields[0], innerFields[1]); + } + } + + /** + * 针对hmInnerFields和hmFromPz开始做映射处理 + * hmInnerFields格式为hmInnerFields(PROTO_ID,10062) + * hmFromPz格式为hmFromPz(proto,PROTO_ID) + */ + //进行协议名称映射 + if (hmFromPz.containsKey("proto")) { + String protoID = hmInnerFields.get(hmFromPz.get("proto")); + if (StringUtils.isNotBlank(protoID)) { + String protoName = HashTableConfig.PROTOCOL_TYPE.get(protoID); + if (StringUtils.isNotBlank(protoName)) { + map.put(hmFromPz.get("proto").toLowerCase() + "_name", protoName); + } + } + } + + //进行应用名称映射 + if (hmFromPz.containsKey("app")) { + String appID = hmInnerFields.get(hmFromPz.get("app")); + if (StringUtils.isNotBlank(appID)) { + String appName = HashTableConfig.APP_TYPE.get(appID); + if (StringUtils.isNotBlank(appName)) { + map.put(hmFromPz.get("app").toLowerCase() + "_name", appName); + } + } + } + + //进行domain映射 + if (hmFromPz.containsKey("web")) { + String webID = hmInnerFields.get(hmFromPz.get("web")); + if (StringUtils.isNotBlank(webID)) { + String webName = HashTableConfig.DOMAIN_TYPE.get(webID); + if (StringUtils.isNotBlank(webName)) { + map.put(hmFromPz.get("web").toLowerCase() + "_name", webName); + } + } + } + + //进行OS映射-操作系统映射-20200630新增-os:OS_ID + if (hmFromPz.containsKey("os")) { + String osID = hmInnerFields.get(hmFromPz.get("os")); + if (StringUtils.isNotBlank(osID)) { + String osName = HashTableConfig.OS_TYPE.get(osID); + if (StringUtils.isNotBlank(osName)) { + map.put(hmFromPz.get("os").toLowerCase() + "_name", osName); + } + } + } + + //进行BS映射-浏览器映射-20200630新增-bs:BS_ID + if (hmFromPz.containsKey("bs")) { + String bsID = hmInnerFields.get(hmFromPz.get("bs")); + if (StringUtils.isNotBlank(bsID)) { + String bsName = HashTableConfig.BS_TYPE.get(bsID); + if (StringUtils.isNotBlank(bsName)) { + map.put(hmFromPz.get("bs").toLowerCase() + "_name", bsName); + } + } + } + } else { + if ("noSetHandleField".equals(handleField)) { + logger.error("Field_Splitter_Interceptor If you want to split,please set handleField!"); + } + if ("noSetSplitFields".equals(splitFields)) { + logger.error("Field_Splitter_Interceptor If you want to split,please set splitFields!"); + } + if ("noSetFieldsSeparator".equals(fieldsSeparator)) { + logger.error("Field_Splitter_Interceptor If you want to split,please set fieldsSeparator!"); + } + if ("noSetFieldDelimiter".equals(fieldDelimiter)) { + logger.error("Field_Splitter_Interceptor If you want to split,please set fieldDelimiter!"); + } + } + message = JSONObject.toJSONString(map); + logger.info("Field_Splitter_Interceptor this cycle message over ---><<" + message + ">><---"); + event.setBody(message.getBytes()); + return event; + } + } catch (Exception e) { + logger.error("FlumeFieldSplitterApp intercept(Event event) method is error !!!--->{" + e + "}<---,this message is ===>" + message + "<==="); + e.printStackTrace(); + } + return event; + } + + public List intercept(List list) { + List resultList = new ArrayList(); + for (Event event : list) { + Event r = intercept(event); + if (r != null) { + resultList.add(r); + } + } + return resultList; + } + + public void close() { + } + + public static class FlumeFieldSplitterAppBuilder implements Interceptor.Builder { + + private String handleField; + private String splitFields; + private String fieldsSeparator; + private String fieldDelimiter; + private String defaultFieldValue; + + public Interceptor build() { + return new FlumeFieldSplitterApp(this.handleField, this.splitFields, + this.fieldsSeparator, this.fieldDelimiter, this.defaultFieldValue); + } + + public void configure(Context context) { + //需要处理的字段,类比于app_label + this.handleField = context.getString("handleField", "noSetHandleField"); + + //切分字段,暂定格式为proto:PROTO_ID;app:APP_ID;web:WEB_ID;os:OS_ID;bs:BS_ID,每组之间以;分割,组内key-value以:分割 + this.splitFields = context.getString("splitFields", "noSetSplitFields"); + + //多个字段之间的分隔符,例如"app_label":"PROTO_ID=10062;APP_ID=0;OS_ID=0;BS_ID=0;WEB_ID=0;BEHAV_ID=0;"中的 ; + this.fieldsSeparator = context.getString("fieldsSeparator", "noSetFieldsSeparator"); + + //单个字段内部的分隔符,例如"app_label":"PROTO_ID=10062;APP_ID=0;OS_ID=0;BS_ID=0;WEB_ID=0;BEHAV_ID=0;"中的 = + this.fieldDelimiter = context.getString("fieldDelimiter", "noSetFieldDelimiter"); + + //切分的字段的默认值,比如"app_label":"PROTO_ID=10062;APP_ID=0;OS_ID=0;BS_ID=0;WEB_ID=0;BEHAV_ID=0;"中的 PROTO_ID=10062;APP_ID=0;OS_ID=0;BS_ID=0;WEB_ID=0;BEHAV_ID=0; 部分的默认值 + this.defaultFieldValue = context.getString("defaultFieldValue", "PROTO_ID=0;APP_ID=0;OS_ID=0;BS_ID=0;WEB_ID=0;BEHAV_ID=0;"); + + logger.info("FlumeFieldSplitterApp defaultFieldValue is set as : {" + handleField + ":" + defaultFieldValue + "}"); + } + } +} + diff --git a/FlumeFieldSplitterInterceptor/src/main/java/cn/ac/iie/flume/interceptor/commonUtils/HashTableConfig.java b/FlumeFieldSplitterInterceptor/src/main/java/cn/ac/iie/flume/interceptor/commonUtils/HashTableConfig.java new file mode 100644 index 0000000..c10afa4 --- /dev/null +++ b/FlumeFieldSplitterInterceptor/src/main/java/cn/ac/iie/flume/interceptor/commonUtils/HashTableConfig.java @@ -0,0 +1,1551 @@ +package cn.ac.iie.flume.interceptor.commonUtils; + +import java.io.Serializable; +import java.util.HashMap; +import java.util.Map; + +public class HashTableConfig implements Serializable { + + private static final long serialVersionUID = -6874486912618291991L; + + /** + * 操作系统类型-2020-06-30新增 + */ + public static final Map OS_TYPE = new HashMap() { + private static final long serialVersionUID = 8445342694006806126L; + + { + put("0", "0-超出操作系统范畴"); + put("30000", "Windows"); + put("30001", "Linux"); + put("30002", "Mac OS X"); + put("30003", "OpenBSD"); + put("30004", "FreeBSD"); + put("30005", "Solaris"); + put("30006", "OpenVMS"); + put("30007", "NeXTSTEP"); + put("30008", "HP-UX"); + put("30009", "Tru64"); + put("30010", "iOS"); + put("30011", "Blackberry"); + put("30012", "Windows Phone"); + put("30013", "Android"); + put("30014", "Symbian"); + put("0x0FFFFFFF", "Unspecified"); + } + + }; + + /** + * 浏览器类型-2020-06-30新增 + */ + public static final Map BS_TYPE = new HashMap() { + private static final long serialVersionUID = 5231960246987011322L; + + { + put("0", "0-超出浏览器范畴"); + put("40000", "Safari"); + put("40001", "Mozilla Firefox"); + put("40002", "Google Chrome"); + put("40003", "Edge"); + put("40004", "Opera"); + put("40005", "Yandex"); + put("40006", "Android brower"); + put("40007", "Konqueror"); + put("40008", "Bing"); + put("40009", "SogouMobileBrowser"); + put("40010", "SogouBrowser"); + put("40011", "OPPO"); + put("40012", "UCBrowser"); + put("40013", "2345Browser"); + put("40014", "QQBrowser"); + put("40015", "QQMobileBrowser"); + put("40016", "baidubrowser"); + put("40017", "LieBao"); + put("40018", "MiuiBrowser"); + put("40019", "SamsungBrowser"); + put("40020", "IE"); + put("40021", "GriOS"); + put("40022", "360SE"); + put("40023", "Maxthon"); + put("40024", "The World"); + put("40025", "JuziBrowser"); + put("40026", "TencentTraveler"); + put("0x0FFFFFFF", "Unspecified"); + } + + }; + + /** + * Domain类型-2019-12-19更新 + */ + public static final Map DOMAIN_TYPE = new HashMap() { + private static final long serialVersionUID = -5715507052760277865L; + + { + put("0", "超出网站范畴"); + put("1", "Google"); + put("1001", "Youtube"); + put("2001", "Facebook"); + put("3001", "Baidu"); + put("4001", "Wikipedia"); + put("5001", "Reddit"); + put("6001", "Yahoo"); + put("7001", "Qq"); + put("8001", "Taobao"); + put("9001", "Amazon"); + put("10001", "Tmall"); + put("11001", "Twitter"); + put("12001", "Sohu"); + put("13001", "Instagram"); + put("14001", "Vk"); + put("15001", "Live"); + put("16001", "Jd"); + put("17001", "Sina"); + put("18001", "Weibo"); + put("19001", "Yandex"); + put("20001", "360"); + put("22001", "Netflix"); + put("23001", "Pornhub"); + put("24001", "Twitch"); + put("25001", "Linkedin"); + put("26001", "Csdn"); + put("28001", "Microsoft"); + put("29001", "Office"); + put("30001", "Bing"); + put("31001", "Ebay"); + put("32001", "Alipay"); + put("33001", "Xvideos"); + put("34001", "Mail"); + put("35001", "Ok"); + put("36001", "Msn"); + put("39001", "Imgur"); + put("40001", "Aliexpress"); + put("41001", "Tumblr"); + put("42001", "Wordpress"); + put("43001", "Wikia"); + put("44001", "Imdb"); + put("45001", "Whatsapp"); + put("46001", "Stackoverflow"); + put("47001", "Github"); + put("48001", "Livejasmin"); + put("49001", "Xhamster"); + put("50001", "Hao123"); + put("51001", "Blogspot"); + put("52001", "Deloton"); + put("53001", "Paypal"); + put("54001", "Tribunnews"); + put("55001", "Popads"); + put("56001", "Apple"); + put("57001", "Diply"); + put("58001", "Bongacams"); + put("60001", "Pinterest"); + put("61001", "Xnxx"); + put("62001", "Adobe"); + put("63001", "Providr"); + put("65001", "Coccoc"); + put("66001", "Txxx"); + put("67001", "Dropbox"); + put("69001", "Savefrom"); + put("70001", "Pixnet"); + put("71001", "Bbc"); + put("72001", "Thestartmagazine"); + put("73001", "Quora"); + put("74001", "Tianya"); + put("75001", "Soso"); + put("76001", "Chaturbate"); + put("77001", "Amazonaws"); + put("78001", "Booking"); + put("79001", "Espn"); + put("80001", "haosou"); + put("81001", "Cnn"); + put("82001", "Craigslist"); + put("83001", "Nicovideo"); + put("84001", "Xinhuanet"); + put("85001", "Soundcloud"); + put("86001", "Tokopedia"); + put("87001", "Dailymotion"); + put("88001", "Youth"); + put("89001", "Nytimes"); + put("90001", "Detik"); + put("91001", "Ask"); + put("92001", "Naver"); + put("93001", "Stackexchange"); + put("94001", "Dkn"); + put("95001", "Thepiratebay"); + put("96001", "Roblox"); + put("97001", "Rakuten"); + put("98001", "Onlinesbi"); + put("99001", "Openload"); + put("100001", "Spotify"); + put("101001", "Nih"); + put("102001", "Vimeo"); + put("103001", "Fc2"); + put("104001", "Aparat"); + put("105001", "Ettoday"); + put("106001", "Mozilla"); + put("107001", "1688"); + put("108001", "K618"); + put("109001", "Exdynsrv"); + put("110001", "Oath"); + put("111001", "Ntd"); + put("112001", "Theguardian"); + put("113001", "Mediafire"); + put("114001", "Chase"); + put("115001", "Flipkart"); + put("116001", "Exosrv"); + put("117001", "Avito"); + put("118001", "Slideshare"); + put("119001", "Dailymail"); + put("120001", "Discordapp"); + put("121001", "Zhihu"); + put("122001", "Salesforce"); + put("123001", "Theepochtimes"); + put("124001", "Softonic"); + put("125001", "Globo"); + put("126001", "Bukalapak"); + put("127001", "Douyu"); + put("128001", "Nextoptim"); + put("129001", "Deviantart"); + put("130001", "Indeed"); + put("131001", "Lolsided"); + put("132001", "Bles"); + put("133001", "Cnet"); + put("134001", "Alibaba"); + put("135001", "Bet9ja"); + put("136001", "Vice"); + put("137001", "Lifedaily"); + put("138001", "Hotmovs"); + put("139001", "Sogou"); + put("140001", "Uol"); + put("141001", "Doubleclick"); + put("142001", "Mercadolivre"); + put("143001", "Speakol"); + put("144001", "Babytree"); + put("145001", "Liputan6"); + put("146001", "Wikihow"); + put("147001", "China"); + put("148001", "Etsy"); + put("149001", "W3schools"); + put("150001", "Youm7"); + put("151001", "Scribd"); + put("152001", "Rumble"); + put("153001", "Walmart"); + put("154001", "Twimg"); + put("155001", "Yelp"); + put("156001", "Kompas"); + put("157001", "Messenger"); + put("159001", "Onlinevideoconverter"); + put("160001", "Redtube"); + put("161001", "Gmw"); + put("162001", "Caijing"); + put("163001", "Mama"); + put("164001", "Chinadaily"); + put("165001", "Cricbuzz"); + put("166001", "Ladbible"); + put("167001", "Doublepimpssl"); + put("168001", "Steampowered"); + put("169001", "Mega"); + put("170001", "Yts"); + put("171001", "Youporn"); + put("172001", "Buzzfeed"); + put("173001", "Indiatimes"); + put("174001", "Hotstar"); + put("175001", "Cnblogs"); + put("176001", "Bet365"); + put("177001", "Wetransfer"); + put("178001", "Eastday"); + put("179001", "Rambler"); + put("180001", "Coinmarketcap"); + put("181001", "Huanqiu"); + put("182001", "Hulu"); + put("183001", "Abs-cbn"); + put("184001", "Steamcommunity"); + put("185001", "4chan"); + put("186001", "Metropcs"); + put("187001", "Zillow"); + put("188001", "Godaddy"); + put("189001", "Blastingnews"); + put("190001", "Washingtonpost"); + put("191001", "Upornia"); + put("192001", "Nownews"); + put("193001", "Hibids10"); + put("194001", "Aliyun"); + put("195001", "Fapmeth"); + put("196001", "Genius"); + put("197001", "Tripadvisor"); + put("198001", "Bilibili"); + put("199001", "Livejournal"); + put("200001", "Irctc"); + put("201001", "Slack"); + put("202001", "Bankofamerica"); + put("203001", "Forbes"); + put("204001", "Archive"); + put("205001", "Ebay-kleinanzeigen"); + put("206001", "Doublepimp"); + put("207001", "Foxnews"); + put("208001", "Wellsfargo"); + put("209001", "Speedtest"); + put("210001", "Researchgate"); + put("211001", "Medium"); + put("212001", "Gfycat"); + put("213001", "Exoclick"); + put("214001", "1337x"); + put("215001", "Ltn"); + put("216001", "Hclips"); + put("217001", "Redd"); + put("218001", "Trello"); + put("219001", "Duckduckgo"); + put("220001", "Xfinity"); + put("221001", "Cloudfront"); + put("222001", "Blackboard"); + put("223001", "Elfagr"); + put("224001", "Weather"); + put("225001", "Youdao"); + put("226001", "Sberbank"); + put("227001", "Rednet"); + put("228001", "Iqiyi"); + put("229001", "Setn"); + put("230001", "People"); + put("231001", "Leboncoin"); + put("232001", "Gmx"); + put("233001", "Shutterstock"); + put("234001", "Blogger"); + put("235001", "Ikea"); + put("236001", "Kakaku"); + put("237001", "Hdzog"); + } + + }; + + /** + * APP类型-2019-12-19更新---20200914二次更新码表 + */ + public static final Map APP_TYPE = new HashMap() { + private static final long serialVersionUID = 5715507052760277865L; + + { + put("0", "超出APP范畴"); + put("10000", "ALL_TRAF"); + put("10003", "DNS"); + put("10004", "FTP"); + put("10005", "FTPS"); + put("10007", "HTTP"); + put("10008", "HTTPS"); + put("10009", "ICMP"); + put("10010", "IKE"); + put("10011", "IMAP"); + put("10012", "IMAPS"); + put("10013", "IPSEC"); + put("10014", "XMPP"); + put("10015", "L2TP"); + put("10016", "NTP"); + put("10017", "POP3"); + put("10018", "POP3SSL"); + put("10019", "PPTP"); + put("10020", "QUIC"); + put("10021", "SIP"); + put("10022", "SMB"); + put("10023", "SMTP"); + put("10024", "SMTPS"); + put("10025", "SPDY"); + put("10028", "SSH"); + put("10029", "SSL"); + put("10030", "SOCKS"); + put("10032", "RTSP"); + put("10033", "TELNET"); + put("10039", "RTCP"); + put("10040", "RTP"); + put("10043", "RDP"); + put("10047", "TFTP"); + put("10049", "DHCP"); + put("10054", "MDNS"); + put("10055", "NNTP"); + put("10056", "SNMP"); + put("10057", "SSDP"); + put("10058", "SYSLOG"); + put("10060", "RADIUS"); + put("10061", "OPENVPN"); + put("10062", "STUN"); + put("10063", "TEREDO"); + put("10065", "RTMP"); + put("10069", "NETBIOS"); + put("10076", "IRC"); + put("10084", "ICMPv6"); + put("10094", "BACNET"); + put("10100", "KADEMLIA"); + put("10102", "LDAPAD"); + put("10109", "NetFlow"); + put("10114", "RFB"); + put("10115", "RTMFP"); + put("10120", "TPKT"); + put("10123", "CitrixCGP"); + put("19001", "UnknownTCP"); + put("19002", "UnknownUDP"); + put("19003", "UnknownOther"); + put("19004", "Incomplete-tcp"); + put("19005", "Insufficient-data"); + put("19999", "APPDefined"); + put("10006", "GRE"); + put("10031", "Bittorrent"); + put("10048", "BGP"); + put("10053", "LDAP"); + put("10079", "IGMP"); + put("10082", "OSPF"); + put("10095", "Bitcoin"); + put("10098", "DAHUA"); + put("20004", "Alipay"); + put("20008", "BaiduHD"); + put("20025", "MeiTuan"); + put("20029", "MobileQQ"); + put("20034", "QQ"); + put("20035", "QQFile"); + put("20040", "SogouSeries"); + put("20046", "QQWeb"); + put("20056", "YouDaoNote"); + put("21002", "ApplePush"); + put("21003", "Badoo"); + put("21011", "Drugvokrug"); + put("21017", "GooglePush"); + put("21032", "Mail.ruAgent"); + put("21036", "MicrosoftUpdate"); + put("21041", "Odnoklassniki"); + put("21054", "SignalPrivateMessenger"); + put("21057", "Skype"); + put("21059", "Snapchat"); + put("21067", "Telegram"); + put("21072", "Twitter"); + put("21074", "Viber"); + put("21076", "Vkontakte"); + put("21078", "WeChat"); + put("21079", "WhatsApp"); + put("23002", "CMBMobileBank"); + put("23005", "ICBCMobileBank"); + put("26508", "Facebook"); + put("26514", "iQIYI"); + put("26524", "Periscope"); + put("26529", "QQMusic"); + put("26541", "YouTube"); + put("27008", "Astrill"); + put("27023", "Betternet"); + put("27031", "BrowsecVPN"); + put("27034", "CanadaVPN"); + put("27057", "EasyVPN"); + put("27059", "ExpressVPN"); + put("27063", "FishVPN"); + put("27065", "FoxVPN"); + put("27066", "VPNFrance"); + put("27070", "Freegate"); + put("27081", "FreeVPNProxy"); + put("27085", "FreeVPNUnlimitedProxy"); + put("27086", "VPNGermany"); + put("27091", "GooseVPN"); + put("27094", "Heywire"); + put("27095", "HidemeVPN"); + put("27096", "HideMyAss"); + put("27099", "HolaVPN"); + put("27102", "HotSpotShield"); + put("27104", "HotSpotshieldVPN"); + put("27105", "HotSpotVPN"); + put("27141", "LunaVPN"); + put("27142", "LuxVPN"); + put("27144", "VPNMalaysia"); + put("27169", "Orbot"); + put("27172", "PandaVPN"); + put("27178", "Psiphon"); + put("27180", "PureVPN"); + put("27189", "SecureVPN"); + put("27192", "SetupVPNChromeExtension"); + put("27193", "Shadowsocks"); + put("27197", "SkyVPN"); + put("27208", "SuperVPN"); + put("27215", "SurfSharkVPN"); + put("27224", "ThunderVPN"); + put("27227", "TOROrbot"); + put("27230", "TunnelBear"); + put("27233", "TurboVPN"); + put("27245", "USAVPN"); + put("27247", "UVPN"); + put("27254", "VPNAustralia"); + put("27255", "VPNCanada"); + put("27262", "VPNIndonesia"); + put("27266", "VPNIndia"); + put("27271", "VPNJapan"); + put("27273", "VPNKorea"); + put("27275", "VPNProxyMaster"); + put("27278", "AvastVPN"); + put("27283", "VPNRussia"); + put("27286", "VPNTap2free"); + put("27288", "VPNUkraine"); + put("27290", "VPNUSA"); + put("27291", "VyprVPN"); + put("27297", "WolfVPN"); + put("27299", "Ultrasurf"); + put("27305", "ZenmateVPN"); + put("27309", "SecurityKiss"); + put("27310", "VPNOneClick"); + put("27311", "NordVPN"); + put("27312", "HoxxVPN"); + put("27313", "WindscribeVPN"); + put("27314", "TouchVPN"); + put("27315", "Speedify"); + put("27316", "UPXbrowser"); + put("27317", "VPN365"); + put("27318", "ProtonVPN"); + put("27319", "OVPNspider"); + put("27320", "BusinessVPN"); + put("27321", "VPNtt"); + put("27322", "FoxFlyRouter"); + put("27323", "LaowangVPN"); + put("27324", "SurfVPN"); + put("27325", "BaiJingVPN"); + put("27327", "FlexVPN"); + put("27328", "LionVPN"); + put("27329", "VPNIsrael"); + put("27330", "PandaVPNPro"); + put("27331", "LieBaoJiaSuQi"); + put("27332", "AceVPN"); + put("27333", "ShotVPN"); + put("27334", "McAfeeVPN"); + put("27335", "SmartVPN"); + put("27336", "RusVPN"); + put("27337", "VPNify"); + put("27338", "UnlockSecureFreeVPN"); + put("27339", "BestVPNProxy"); + put("27340", "MelonVPN"); + put("27341", "USAVPNMaster"); + put("27342", "FreeUnlimitedVPNProxy"); + put("27343", "FreeVPNUnblockProxy"); + put("27344", "VPNProxyMasterPro"); + put("27345", "VPNProxyMasterLite"); + put("27346", "CyberGuardVPN"); + put("27347", "TopVPN"); + put("27348", "FreeZenVPN"); + put("27349", "VPNEasy"); + put("27350", "SetupVPN"); + put("27351", "VPNHub"); + put("27352", "FreeVPNWhiteKey"); + put("27353", "FreeVPNColorKey"); + put("27354", "EutVPN"); + put("27355", "UFOVPNBasic"); + put("27356", "UFOVPN"); + put("27357", "FinchVPN"); + put("27358", "FlashVPN"); + put("27359", "LunaVPNFreeProxy"); + put("27400", "StarVPN"); + put("27403", "PlexVPN"); + put("27406", "DailyVPN"); + put("27408", "CyberGhostVPN"); + put("27411", "VPNLite"); + put("27412", "SnapVPN"); + put("27413", "VPNRobot"); + put("27417", "BESTVPN"); + put("27418", "JapanVPNMasterFree"); + put("27419", "VPNPrivateProxy"); + put("27420", "AntiBlokirVPN"); + put("27421", "FreeVPNProxyMaster"); + put("27422", "IPVanishVPN"); + put("27426", "UnlimitedVPN"); + put("27427", "OneVPN"); + put("27428", "AppsverseAvVPN"); + put("27430", "CloudVPN"); + put("27432", "VPNInf"); + put("27433", "MelonVPNNew"); + put("27434", "GeckoVPN"); + put("27436", "Seed4MeVPN"); + put("27437", "MatrixVPN"); + put("27438", "ElectroVPN"); + put("27440", "BVPN"); + put("27441", "WASELProVPN"); + put("27442", "IWASEL"); + put("27443", "CatVPN"); + put("27446", "PhoneGuardianVPN"); + put("27448", "VpnBeaver"); + put("27449", "SpeedVPN"); + put("27450", "TroidVPN"); + put("27455", "SmallRabbitVPN"); + put("27456", "ArmadaVPN"); + put("27457", "TomVPN"); + put("27459", "GOVPN"); + put("27462", "IvacyVPN"); + put("27464", "VPNGO"); + put("27467", "Try2CatchVPN"); + put("27468", "BoxPN"); + put("27469", "VPNTunnel"); + put("27471", "VPNAI"); + put("27478", "FreeVPN"); + put("27479", "YinHeVPN"); + put("27480", "FreeSSVPN"); + put("27481", "FreeMikaVPN"); + put("27485", "AntVPN"); + put("27486", "WaspVPN"); + put("27491", "VPNhub"); + put("27498", "RejinderiFreeVPN"); + put("27501", "GoatVPN"); + put("27502", "SoloVPN"); + put("27507", "HouWangVPN"); + put("27511", "Nash"); + put("27516", "HOTVPN"); + put("27520", "WORLDVPN"); + put("27521", "HexatechVPN"); + put("27522", "R-VPN"); + put("27523", "SatuVPN"); + put("27532", "PolestarVPN"); + put("27533", "VPNMonster"); + put("27538", "BuddyVPN"); + put("27540", "VPNEARTH"); + put("27546", "VPNEasy"); + put("27549", "FastFreeVPN"); + put("27555", "liquiduRocketVPN"); + put("27558", "TunnelLight"); + put("27559", "NetVPN"); + put("27560", "SmartLockVPN"); + put("27561", "BoxVPN"); + put("27562", "TheBestVPNHotspotMaster"); + put("27564", "VPNChina"); + put("27566", "VPNBlue"); + put("27568", "BlueVPN"); + put("27569", "VPNPlus"); + put("27570", "VPNBlue"); + put("27571", "VPNCity"); + put("27575", "Fresh VPN"); + put("27576", "PhoenixVPN"); + put("27577", "LightVPN"); + put("27578", "BESTVPN"); + put("27580", "LvYeVPN"); + put("27582", "VPNBOTTLE"); + put("27583", "VPNExpress"); + put("27584", "PrivatixVPN"); + put("27585", "WhatsVPN"); + put("27587", "OrangeVPN"); + put("27591", "SuperVPN"); + put("27599", "Lite VPN Hotspot"); + put("27601", "JustVPN"); + put("27602", "HoxxVPN"); + put("27604", "OmanVPN"); + put("27611", "TaiwanVPN"); + put("27612", "WangVPN"); + put("27613", "EgyptVPN"); + put("27614", "BrazilVPN"); + put("27615", "SpainVPN"); + put("27616", "NewZealandVPN"); + put("27617", "PhilippinesVPN"); + put("27618", "IndonesiaVPN"); + put("27619", "VPNBestVPN"); + put("27621", "FROGVPN"); + put("27622", "BlackVPN"); + put("27623", "ChinaFastVpn"); + put("27624", "RussiaFastVPN"); + put("27625", "LaoSongVPN"); + put("27626", "IranVPN"); + put("27628", "ZVPN"); + put("27629", "OMGVPN"); + put("27630", "AmigoVPN"); + put("27631", "FreeVPN"); + put("27632", "PhilippinesVPN"); + put("27633", "EgyptVPN"); + put("27637", "GoldenNetworkVPN"); + put("27638", "PurpleVPN"); + put("27646", "MambaVPN"); + put("27647", "AirVPN"); + put("27648", "LunaVPN"); + put("27649", "UFOVPN-NetVPN"); + put("27650", "ArvinVPN"); + put("27651", "OwlVPNFree"); + put("27654", "HalleyVPN"); + put("27655", "HotFreeVPN"); + put("27662", "VPNPro"); + put("28602", "FaceTime"); + put("28617", "Zello"); + put("28808", "AppStore"); + put("28832", "Google"); + put("28840", "Instagram"); + put("28842", "JingDong"); + put("28858", "MicrosoftTeam"); + put("28865", "Operamini"); + put("28869", "GooglePlayMarket"); + put("28877", "QQWebVideo"); + put("28878", "QQVideoChat"); + put("28889", "Weibo"); + put("28899", "BaiDuTieBa"); + put("28916", "Yandex"); + put("28991", "YandexTurbo"); + put("29200", "HuaTianOA"); + put("29201", "PHPOA"); + put("29202", "78OA"); + put("29203", "TongDaOA"); + put("29204", "WeaverOA"); + put("29205", "RanZhiOA"); + put("29206", "JinDieOA"); + put("29207", "RuvarOA"); + put("29249", "IIEARP"); + put("29252", "OpenVPN"); + put("29254", "WindowsRemote"); + put("29300", "HuaWeiCloudWeLink"); + put("29301", "FeiShu"); + put("29302", "DingDing"); + put("29303", "CSTCloud"); + put("29304", "ShiMoDocs"); + put("29305", "WeiXinWork"); + put("29308", "TencentDocs"); + put("29309", "YinXiangNotes"); + put("29310", "YouDaoNotes"); + put("29311", "TencentMeeting"); + put("29312", "Trello"); + put("29313", "Quip"); + put("29409", "XYLink"); + put("29410", "Teambition"); + put("31001", "SuspectSS"); + put("31002", "vpngate"); + put("24001", "mptcp"); + put("24002", "http2"); + put("24003", "Tls1.3"); + put("24004", "ICMPTunnel"); + put("24005", "TlsESNI"); + put("31003", "TerroristWebsite"); + put("31004", "ShadowsocksCloud"); + put("31005", "SSRCloud"); + put("31006", "V2rayCloud"); + put("20010", "Jingdong"); + put("20011", "Taobao"); + put("20013", "Zhihu"); + put("20014", "Handle"); + put("28912", "WPS"); + put("28962", "Office365"); + put("29109", "Teamviewer"); + put("29110", "Xiangrikui"); + put("29208", "Tita"); + put("40001", "realvnc"); + put("40002", "shoutcast"); + put("40003", "dianshijia"); + put("40004", "akamai"); + put("40005", "akamai"); + put("40006", "acercloud"); + put("40007", "zeroess_udp"); + put("40008", "trojan_zeroess"); + put("40009", "yahoo"); + put("40010", "winmessage"); + put("40011", "trion"); + put("40012", "thq"); + put("40013", "svn"); + put("40014", "saprouter"); + put("40015", "rsync"); + put("40016", "rbls"); + put("40017", "psn"); + put("40018", "portmap_rpc"); + put("40019", "opaserv"); + put("40020", "noction"); + put("40021", "netmfp"); + put("40022", "merakicloud"); + put("40023", "kaspersky"); + put("40024", "kaseya"); + put("40025", "jedi_academy"); + put("40026", "jedi"); + put("40027", "imesh"); + put("40028", "imesh"); + put("40029", "icp"); + put("40030", "gsm"); + put("40031", "flash"); + put("40032", "dxp"); + put("40033", "duelingnetwork"); + put("40034", "amp"); + put("40035", "zoom"); + put("40036", "zoom_tcp"); + put("40037", "vivox"); + put("40038", "ventrilo"); + put("40039", "teamspeak"); + put("40040", "zabbix"); + put("40041", "yahoo_webcam"); + put("40042", "xunyou"); + put("40043", "weblogic"); + put("40044", "vmware"); + put("40045", "rpcscan"); + put("40046", "razor"); + put("40047", "netcattv_udp"); + put("40048", "netcattv"); + put("40049", "n2ping"); + put("40050", "mzinga"); + put("40051", "munin"); + put("40052", "linkproof"); + put("40053", "ipsharkk"); + put("40054", "ipop"); + put("40055", "idrivesync"); + put("40056", "epson"); + put("40057", "dash"); + put("40058", "amanda"); + put("40059", "airmedia"); + put("40060", "vpnunlimited_tcp"); + put("40061", "vpnrobot_udp"); + put("40062", "vpnrobot_tcp"); + put("40063", "turbovpn"); + put("40064", "snapvpn"); + put("40065", "forticlient_sslvpn"); + put("40066", "cisco_vpn"); + put("40067", "cisco_sslvpn"); + put("40068", "xiami"); + put("40069", "spotify_bcast"); + put("40070", "spotify"); + put("40071", "kuguo"); + put("40072", "baofeng_udp"); + put("40073", "baofeng_tcp"); + put("40074", "youku"); + put("40075", "youku"); + put("40076", "vodlocker"); + put("40077", "twitch_irc"); + put("40078", "twitcasting"); + put("40079", "tvants"); + put("40080", "sopcast"); + put("40081", "qqlive"); + put("40082", "qqlive_tcp"); + put("40083", "ppstream"); + put("40084", "pplive"); + put("40085", "pandatv"); + put("40086", "kuaibo"); + put("40087", "kankan"); + put("40088", "kankan_tcp"); + put("40089", "funshion"); + put("40090", "funshion"); + put("40091", "freechal"); + put("40092", "douyu"); + put("40093", "acestream"); + put("40094", "telecomkey"); + put("40095", "supl"); + put("40096", "spamfighter"); + put("40097", "norton"); + put("40098", "foscam"); + put("40099", "fortinet"); + put("40100", "dtls"); + put("40101", "mms"); + put("40102", "gprs_tunnel"); + put("40103", "giop"); + put("40104", "kazaa"); + put("40105", "ares"); + put("40106", "ares"); + put("40107", "xunlei_jsq"); + put("40108", "xunlei_el"); + put("40109", "xunlei"); + put("40110", "xunlei"); + put("40111", "wuala"); + put("40112", "winmx"); + put("40113", "umeye"); + put("40114", "qqdownload"); + put("40115", "pando"); + put("40116", "pando"); + put("40117", "orbit"); + put("40118", "nntps"); + put("40119", "hamachi"); + put("40120", "hamachi"); + put("40121", "emule"); + put("40122", "emule"); + put("40123", "btsync"); + put("40124", "btsync"); + put("40125", "wns"); + put("40126", "traceroute"); + put("40127", "serialnumberd"); + put("40128", "punkbuster"); + put("40129", "maxicloud"); + put("40130", "dvrns"); + put("40131", "driveshare"); + put("40132", "doyo"); + put("40133", "dell_backup"); + put("40134", "avast_secure_dns"); + put("40135", "storm_worm"); + put("40136", "glupteba"); + put("40137", "pyzor"); + put("40138", "xfire_p2p"); + put("40139", "webex"); + put("40140", "starleaf"); + put("40141", "paltalk"); + put("40142", "palringo"); + put("40143", "omegle"); + put("40144", "msn"); + put("40145", "line_udp"); + put("40146", "line"); + put("40147", "kik"); + put("40148", "kakao"); + put("40149", "ipmsg"); + put("40150", "goku"); + put("40151", "fring"); + put("40152", "douyu_chat"); + put("40153", "gotomeeting"); + put("40154", "chatango"); + put("40155", "appearin"); + put("40156", "graalonlineera"); + put("40157", "wolfet"); + put("40158", "wizard101"); + put("40159", "weiqi"); + put("40160", "warthunder"); + put("40161", "warcraft3"); + put("40162", "vainglory"); + put("40163", "tremulous"); + put("40164", "trackmania"); + put("40165", "torchlight2"); + put("40166", "thecrew"); + put("40167", "tetrisonline"); + put("40168", "tera"); + put("40169", "tankix"); + put("40170", "talesrunner"); + put("40171", "steamfriends"); + put("40172", "steam_inhomebroadcast"); + put("40173", "steam"); + put("40174", "steam"); + put("40175", "starcraft"); + put("40176", "starcitizen"); + put("40177", "smite"); + put("40178", "smite_tcp"); + put("40179", "silkroadonline"); + put("40180", "second_life"); + put("40181", "second_life"); + put("40182", "sanandreas_mp"); + put("40183", "runescape"); + put("40184", "robocraft"); + put("40185", "risingstorm"); + put("40186", "quake"); + put("40187", "ps4_remoteplay"); + put("40188", "planetside2"); + put("40189", "pdbox"); + put("40190", "panipani"); + put("40191", "overwatch"); + put("40192", "noe"); + put("40193", "nintendo"); + put("40194", "newerth"); + put("40195", "nwn"); + put("40196", "ncsoft"); + put("40197", "mta"); + put("40198", "minecraft"); + put("40199", "maplestory_china"); + put("40200", "lol"); + put("40201", "lifeforge"); + put("40202", "jx3online"); + put("40203", "heroes_generals"); + put("40204", "hearthstone"); + put("40205", "harveys"); + put("40206", "haloonline"); + put("40207", "h1z1"); + put("40208", "gearsofwar"); + put("40209", "garena"); + put("40210", "gangsofspace"); + put("40211", "ffxiv"); + put("40212", "ea_games"); + put("40213", "dota2"); + put("40214", "discord"); + put("40215", "diablo3"); + put("40216", "diablo2"); + put("40217", "destiny_udp"); + put("40218", "destiny"); + put("40219", "demonware"); + put("40220", "cryptic"); + put("40221", "crossout"); + put("40222", "crossfire"); + put("40223", "crossfire_tcp"); + put("40224", "csoriginal"); + put("40225", "conquer"); + put("40226", "combatarms_p2p"); + put("40227", "combatarms"); + put("40228", "cod"); + put("40229", "clashofclans"); + put("40230", "chivalry"); + put("40231", "blizzard"); + put("40232", "battlefield"); + put("40233", "ark"); + put("40234", "clubbox"); + put("40235", "norton_backup"); + put("40236", "baiduyun_p2p"); + put("40237", "akamai_transfer"); + put("40238", "git"); + put("40239", "sql_worm"); + put("40240", "postgresql"); + put("40241", "mysql"); + put("40242", "db2"); + put("40243", "tenfivecoin"); + put("40244", "stratum"); + put("40245", "litecoin"); + put("40246", "fuckcoin"); + put("40247", "dogecoin"); + put("40248", "zynga"); + put("40249", "youdao_dict"); + put("40250", "yahoo_games"); + put("40251", "xymon"); + put("40252", "ubisoft_games"); + put("40253", "jedi"); + put("40254", "tencent_games"); + put("40255", "TaobaoCDN"); + put("40256", "ourworld"); + put("40257", "msoffice_mac"); + put("40258", "dianping_udp"); + put("40259", "dianping_tcp"); + put("40260", "backweb"); + put("40261", "airdroid"); + put("40262", "natpmp"); + put("40264", "id"); + put("40265", "s7comm"); + put("40266", "xmpps"); + put("40267", "slp"); + put("40268", "msnc"); + put("40269", "msn_cache"); + put("40270", "mp2p"); + put("40271", "mp2p"); + put("40272", "llp2p"); + put("40273", "lansync"); + put("40274", "antcoin"); + put("40275", "directconnect"); + put("40276", "directconnect"); + put("40277", "whois"); + put("40278", "zalo_call"); + put("40279", "yy_udp"); + put("40280", "yuanfudao"); + put("40281", "xlsp"); + put("40282", "worm_22105"); + put("40283", "wireguard"); + put("40284", "vxworks_exploit"); + put("40285", "unreal"); + put("40286", "tox"); + put("40287", "tf2"); + put("40288", "talesrunner_udp"); + put("40289", "steam_localbroadcast"); + put("40290", "rulesofsurvival"); + put("40291", "rrshare"); + put("40292", "rocket_league"); + put("40293", "real"); + put("40294", "rdp_udp"); + put("40295", "ramseydash"); + put("40296", "raknet"); + put("40297", "qvod_udp"); + put("40298", "qqspeedmobile_udp"); + put("40299", "qqpcmgr"); + put("40300", "paladins"); + put("40301", "nvidia_gamestream"); + put("40302", "ntp_reflect"); + put("40303", "nopayload"); + put("40304", "netcore_scan"); + put("40305", "netbios"); + put("40306", "mystery_emule"); + put("40307", "mystery_bt_udp"); + put("40308", "mystery_02_36"); + put("40309", "msn_video"); + put("40310", "moonhunters"); + put("40311", "moh"); + put("40312", "loadout"); + put("40313", "kingofglory_udp"); + put("40314", "hots"); + put("40315", "hollachat"); + put("40316", "heroesevolved"); + put("40317", "heliborne"); + put("40318", "halflife"); + put("40319", "gnutella_weak"); + put("40320", "gnutella"); + put("40321", "gnutella2"); + put("40322", "ganglia"); + put("40323", "gamespy"); + put("40324", "freefire"); + put("40325", "feitwo"); + put("40326", "eye"); + put("40327", "dcc"); + put("40328", "csgo"); + put("40329", "contract_wars"); + put("40330", "codmobile"); + put("40331", "cloudflare_warp"); + put("40332", "classin_udp"); + put("40333", "cisco_ipsec"); + put("40334", "cirn"); + put("40335", "checkpoint_rdp"); + put("40336", "chargen_exploit"); + put("40337", "canon_mfnp"); + put("40338", "cacaoweb_udp"); + put("40339", "assettocorsa"); + put("40340", "arma_server"); + put("40341", "arma3_server"); + put("40342", "ard"); + put("40343", "aachen_udp"); + put("40344", "360p2p"); + put("40345", "360cn"); + put("40346", "yy_tcp"); + put("40347", "yahoo_error"); + put("40348", "wow"); + put("40349", "web_junk"); + put("40350", "webex_stun"); + put("40351", "vhdp2p"); + put("40352", "utherverse"); + put("40353", "trojan_win32_generic_sb"); + put("40354", "tip"); + put("40355", "thedivision"); + put("40356", "tensafe"); + put("40357", "telnet_exploit"); + put("40358", "tds"); + put("40359", "tankionline"); + put("40360", "ssjj"); + put("40361", "speedtest"); + put("40362", "speedin"); + put("40363", "speedify"); + put("40364", "skyforge"); + put("40365", "saszombieassault4"); + put("40366", "rrtv"); + put("40367", "revolver_nblbt"); + put("40368", "remote_manipulator"); + put("40369", "relay"); + put("40370", "rejection"); + put("40371", "realmofthemadgod"); + put("40372", "rabbitmq"); + put("40373", "qvod"); + put("40374", "qqspeedmobile_tcp"); + put("40375", "qcloud_ilvb"); + put("40376", "psn_store"); + put("40377", "pathofexile"); + put("40378", "nsq"); + put("40379", "notes_rpc"); + put("40380", "nopayload"); + put("40381", "nomachine"); + put("40382", "nofirstpkt"); + put("40383", "ndt_tput"); + put("40384", "naverp2p"); + put("40385", "msnv"); + put("40386", "mongo"); + put("40387", "message4u"); + put("40388", "kingofglory_tcp"); + put("40389", "kaspersky"); + put("40390", "java"); + put("40391", "ipfs"); + put("40392", "invalid_smtp"); + put("40393", "invalid_pop"); + put("40394", "invalid_http"); + put("40395", "invalid"); + put("40396", "invalid_bittorrent"); + put("40397", "ihexin"); + put("40398", "icep"); + put("40399", "ica"); + put("40400", "http_tunnel"); + put("40401", "http_nonstandard"); + put("40402", "hots_tcp"); + put("40403", "guildwars2"); + put("40404", "gnutella"); + put("40405", "gcafe_updater"); + put("40406", "gamespy"); + put("40407", "ftpdata"); + put("40408", "ftpcontrol"); + put("40409", "fliggy"); + put("40410", "filenori"); + put("40411", "fb_message"); + put("40412", "eye"); + put("40413", "dnf"); + put("40414", "dahua_tcp"); + put("40415", "cod_waw"); + put("40416", "classin_tcp"); + put("40417", "cacaoweb"); + put("40418", "bwsyncandshare"); + put("40419", "blackdesert"); + put("40420", "bitextend"); + put("40421", "beam"); + put("40422", "badbaidu"); + put("40423", "apple_push"); + put("40424", "afp"); + put("40425", "4d"); + put("40426", "360safeguard"); + put("40427", "300heroes"); + put("10081", "sctp"); + put("40501", "fasp"); + put("40502", "bjnp"); + } + + }; + + /** + * 协议类型-2019-12-19更新 + */ + public static final Map PROTOCOL_TYPE = new HashMap() { + private static final long serialVersionUID = -1030842785690504144L; + + { + put("0", "超出协议范筹-0"); + put("10000", "超出协议范筹"); + put("10001", "TCP"); + put("10002", "UDP"); + put("10003", "DNS"); + put("10004", "FTP"); + put("10005", "FTPS"); + put("10006", "GRE"); + put("10007", "HTTP"); + put("10008", "HTTPS"); + put("10009", "ICMP"); + put("10010", "IKE"); + put("10011", "IMAP"); + put("10012", "IMAPS"); + put("10013", "IPSEC"); + put("10014", "XMPP"); + put("10015", "L2TP"); + put("10016", "NTP"); + put("10017", "POP3"); + put("10018", "POP3SSL"); + put("10019", "PPTP"); + put("10020", "Quic"); + put("10021", "SIP"); + put("10022", "SMB"); + put("10023", "SMTP"); + put("10024", "SMTPS"); + put("10025", "SPDY"); + put("10028", "SSH"); + put("10029", "SSL"); + put("10030", "SOCKS"); + put("10031", "BITTORRENT"); + put("10032", "RTSP"); + put("10033", "TELNET"); + put("10034", "UTP"); + put("10035", "FASTTRACK"); + put("10036", "SKINNY"); + put("10037", "IAX"); + put("10038", "MGCP"); + put("10039", "RTCP"); + put("10040", "RTP"); + put("10041", "VNC"); + put("10042", "XDMCP"); + put("10043", "RDP"); + put("10044", "AIMINI"); + put("10045", "IPP"); + put("10046", "NFS"); + put("10047", "TFTP"); + put("10048", "BGP"); + put("10049", "DHCP"); + put("10050", "DHCPV6"); + put("10051", "FINGER"); + put("10052", "KERBEROS"); + put("10053", "LDAP"); + put("10054", "MDNS"); + put("10055", "NNTP"); + put("10056", "SNMP"); + put("10057", "SSDP"); + put("10058", "SYSLOG"); + put("10059", "WHOIS"); + put("10060", "RADIUS"); + put("10061", "OPENVPN"); + put("10062", "STUN"); + put("10063", "TEREDO"); + put("10064", "GTP"); + put("10065", "RTMP"); + put("10066", "Chargen_TCP_UDP"); + put("10067", "LLMNR_UDP"); + put("10068", "NBNS_UDP"); + put("10069", "NETBIOS"); + put("10070", "DirectDownloadLink"); + put("10071", "I23V5"); + put("10072", "DirectConnect"); + put("10073", "OFF"); + put("10074", "OGG"); + put("10075", "MPEG"); + put("10076", "IRC"); + put("10077", "Jabber"); + put("10078", "VRRP"); + put("10079", "IGMP"); + put("10080", "EGP"); + put("10081", "SCTP"); + put("10082", "OSPF"); + put("10083", "IPinIP"); + put("10084", "ICMPv6"); + put("10085", "DCE_RPC"); + put("10086", "NetFlow_IPFIX"); + put("10087", "sFlow"); + put("10088", "HTTPConnect_SSLOverHTTP"); + put("10089", "SAP"); + put("10090", "UPnP"); + put("10091", "H323"); + put("10092", "Megaco"); + put("10094", "BACNET"); + put("10096", "BJNP"); + put("10097", "CGQ"); + put("10098", "DAHUA"); + put("10099", "DCC"); + put("10100", "KADEMLIA"); + put("10101", "LANSYNC"); + put("10102", "LDAP_AD"); + put("10103", "LLP2P"); + put("10104", "MFNP"); + put("10105", "MP2P"); + put("10106", "MSN_Cache"); + put("10107", "MSN_Video"); + put("10108", "MSNC"); + put("10109", "NetFlow"); + put("10110", "NOTES_RPC"); + put("10111", "ESP"); + put("10112", "Fbcdn_SSL"); + put("10113", "Forticlient_SSLVPN"); + put("10114", "RFB"); + put("10115", "RTMFP"); + put("10117", "SLP"); + put("10118", "Steam_inhomebroadcast"); + put("10119", "Steam_localbroadcast"); + put("10120", "TPKT"); + put("10121", "XMPPS"); + put("10122", "S7COMM"); + put("10123", "CitrixCGP"); + put("10124", "ID_Protocol"); + put("10125", "SMTP_Secure"); + put("10126", "NAT_PMP"); + put("19999", "APP defined"); + + } + + }; + + + /** + * ISO 3166-1 alpha2 + */ + public static final Map ISO_3166_1_ALPHA_2 = new HashMap() { + private static final long serialVersionUID = -6972673762779232428L; + + { + + put("阿富汗", "AF"); + put("奥兰", "AX"); + put("阿尔巴尼亚", "AL"); + put("阿尔及利亚", "DZ"); + put("美属萨摩亚", "AS"); + put("安道尔", "AD"); + put("安哥拉", "AO"); + put("安圭拉", "AI"); + put("南极洲", "AQ"); + put("安提瓜和巴布达", "AG"); + put("阿根廷", "AR"); + put("亚美尼亚", "AM"); + put("阿鲁巴", "AW"); + put("澳大利亚", "AU"); + put("奥地利", "AT"); + put("阿塞拜疆", "AZ"); + put("巴哈马", "BS"); + put("巴林", "BH"); + put("孟加拉国", "BD"); + put("巴巴多斯", "BB"); + put("白俄罗斯", "BY"); + put("比利时", "BE"); + put("伯利兹", "BZ"); + put("贝宁", "BJ"); + put("百慕大", "BM"); + put("不丹", "BT"); + put("玻利维亚", "BO"); + put("荷兰加勒比区", "BQ"); + put("波斯尼亚和黑塞哥维那", "BA"); + put("博茨瓦纳", "BW"); + put("布韦岛", "BV"); + put("巴西", "BR"); + put("英属印度洋领地", "IO"); + put("文莱", "BN"); + put("保加利亚", "BG"); + put("布基纳法索", "BF"); + put("布隆迪", "BI"); + put("佛得角", "CV"); + put("柬埔寨", "KH"); + put("喀麦隆", "CM"); + put("加拿大", "CA"); + put("开曼群岛", "KY"); + put("中非", "CF"); + put("乍得", "TD"); + put("智利", "CL"); + put("中国", "CN"); + put("圣诞岛", "CX"); + put("科科斯(基林)群岛", "CC"); + put("哥伦比亚", "CO"); + put("科摩罗", "KM"); + put("刚果(布)", "CG"); + put("刚果(金)", "CD"); + put("库克群岛", "CK"); + put("哥斯达黎加", "CR"); + put("科特迪瓦", "CI"); + put("克罗地亚", "HR"); + put("古巴", "CU"); + put("库拉索", "CW"); + put("塞浦路斯", "CY"); + put("捷克", "CZ"); + put("丹麦", "DK"); + put("吉布提", "DJ"); + put("多米尼克", "DM"); + put("多米尼加", "DO"); + put("厄瓜多尔", "EC"); + put("埃及", "EG"); + put("萨尔瓦多", "SV"); + put("赤道几内亚", "GQ"); + put("厄立特里亚", "ER"); + put("爱沙尼亚", "EE"); + put("埃塞俄比亚", "ET"); + put("福克兰群岛", "FK"); + put("法罗群岛", "FO"); + put("斐济", "FJ"); + put("芬兰", "FI"); + put("法国", "FR"); + put("法属圭亚那", "GF"); + put("法属波利尼西亚", "PF"); + put("法属南方和南极洲领地", "TF"); + put("加蓬", "GA"); + put("冈比亚", "GM"); + put("格鲁吉亚", "GE"); + put("德国", "DE"); + put("加纳", "GH"); + put("直布罗陀", "GI"); + put("希腊", "GR"); + put("格陵兰", "GL"); + put("格林纳达", "GD"); + put("瓜德罗普", "GP"); + put("关岛", "GU"); + put("危地马拉", "GT"); + put("根西", "GG"); + put("几内亚", "GN"); + put("几内亚比绍", "GW"); + put("圭亚那", "GY"); + put("海地", "HT"); + put("赫德岛和麦克唐纳群岛", "HM"); + put("梵蒂冈", "VA"); + put("洪都拉斯", "HN"); + put("香港", "HK"); + put("匈牙利", "HU"); + put("冰岛", "IS"); + put("印度", "IN"); + put("印尼", "ID"); + put("伊朗", "IR"); + put("伊拉克", "IQ"); + put("爱尔兰", "IE"); + put("马恩岛", "IM"); + put("以色列", "IL"); + put("意大利", "IT"); + put("牙买加", "JM"); + put("日本", "JP"); + put("泽西", "JE"); + put("约旦", "JO"); + put("哈萨克斯坦", "KZ"); + put("肯尼亚", "KE"); + put("基里巴斯", "KI"); + put("朝鲜", "KP"); + put("韩国", "KR"); + put("科威特", "KW"); + put("吉尔吉斯斯坦", "KG"); + put("老挝", "LA"); + put("拉脱维亚", "LV"); + put("黎巴嫩", "LB"); + put("莱索托", "LS"); + put("利比里亚", "LR"); + put("利比亚", "LY"); + put("列支敦士登", "LI"); + put("立陶宛", "LT"); + put("卢森堡", "LU"); + put("澳门", "MO"); + put("马其顿", "MK"); + put("马达加斯加", "MG"); + put("马拉维", "MW"); + put("马来西亚", "MY"); + put("马尔代夫", "MV"); + put("马里", "ML"); + put("马耳他", "MT"); + put("马绍尔群岛", "MH"); + put("马提尼克", "MQ"); + put("毛里塔尼亚", "MR"); + put("毛里求斯", "MU"); + put("马约特", "YT"); + put("墨西哥", "MX"); + put("密克罗尼西亚联邦", "FM"); + put("摩尔多瓦", "MD"); + put("摩纳哥", "MC"); + put("蒙古国", "MN"); + put("黑山", "ME"); + put("蒙特塞拉特", "MS"); + put("摩洛哥", "MA"); + put("莫桑比克", "MZ"); + put("缅甸", "MM"); + put("纳米比亚", "NA"); + put("瑙鲁", "NR"); + put("尼泊尔", "NP"); + put("荷兰", "NL"); + put("新喀里多尼亚", "NC"); + put("新西兰", "NZ"); + put("尼加拉瓜", "NI"); + put("尼日尔", "NE"); + put("尼日利亚", "NG"); + put("纽埃", "NU"); + put("诺福克岛", "NF"); + put("北马里亚纳群岛", "MP"); + put("挪威", "NO"); + put("阿曼", "OM"); + put("巴基斯坦", "PK"); + put("帕劳", "PW"); + put("巴勒斯坦", "PS"); + put("巴拿马", "PA"); + put("巴布亚新几内亚", "PG"); + put("巴拉圭", "PY"); + put("秘鲁", "PE"); + put("菲律宾", "PH"); + put("皮特凯恩群岛", "PN"); + put("波兰", "PL"); + put("葡萄牙", "PT"); + put("波多黎各", "PR"); + put("卡塔尔", "QA"); + put("留尼汪", "RE"); + put("罗马尼亚", "RO"); + put("俄罗斯", "RU"); + put("卢旺达", "RW"); + put("圣巴泰勒米", "BL"); + put("圣赫勒拿、阿森松和特里斯坦-达库尼亚", "SH"); + put("圣基茨和尼维斯", "KN"); + put("圣卢西亚", "LC"); + put("法属圣马丁", "MF"); + put("圣皮埃尔和密克隆", "PM"); + put("圣文森特和格林纳丁斯", "VC"); + put("萨摩亚", "WS"); + put("圣马力诺", "SM"); + put("圣多美和普林西比", "ST"); + put("沙特阿拉伯", "SA"); + put("塞内加尔", "SN"); + put("塞尔维亚", "RS"); + put("塞舌尔", "SC"); + put("塞拉利昂", "SL"); + put("新加坡", "SG"); + put("圣马丁", "SX"); + put("斯洛伐克", "SK"); + put("斯洛文尼亚", "SI"); + put("所罗门群岛", "SB"); + put("索马里", "SO"); + put("南非", "ZA"); + put("南乔治亚和南桑威奇群岛", "GS"); + put("南苏丹", "SS"); + put("西班牙", "ES"); + put("斯里兰卡", "LK"); + put("苏丹", "SD"); + put("苏里南", "SR"); + put("斯瓦尔巴和扬马延", "SJ"); + put("斯威士兰", "SZ"); + put("瑞典", "SE"); + put("瑞士", "CH"); + put("叙利亚", "SY"); + put("台湾", "TW"); + put("塔吉克斯坦", "TJ"); + put("坦桑尼亚", "TZ"); + put("泰国", "TH"); + put("东帝汶", "TL"); + put("多哥", "TG"); + put("托克劳", "TK"); + put("汤加", "TO"); + put("特立尼达和多巴哥", "TT"); + put("突尼斯", "TN"); + put("土耳其", "TR"); + put("土库曼斯坦", "TM"); + put("特克斯和凯科斯群岛", "TC"); + put("图瓦卢", "TV"); + put("乌干达", "UG"); + put("乌克兰", "UA"); + put("阿联酋", "AE"); + put("英国", "GB"); + put("美国", "US"); + put("美国本土外小岛屿", "UM"); + put("乌拉圭", "UY"); + put("乌兹别克斯坦", "UZ"); + put("瓦努阿图", "VU"); + put("委内瑞拉", "VE"); + put("越南", "VN"); + put("英属维尔京群岛", "VG"); + put("美属维尔京群岛", "VI"); + put("瓦利斯和富图纳", "WF"); + put("西撒哈拉", "EH"); + put("也门", "YE"); + put("赞比亚", "ZM"); + put("津巴布韦", "ZW"); + + } + + }; + + +} \ No newline at end of file diff --git a/field_splitter_complement.iml b/field_splitter_complement.iml new file mode 100644 index 0000000..4fd5057 --- /dev/null +++ b/field_splitter_complement.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..3fcdcca --- /dev/null +++ b/pom.xml @@ -0,0 +1,16 @@ + + + 4.0.0 + + cn.ceiec + field_splitter_complement + pom + 1.0 + + FlumeFieldSplitterInterceptor + + + + \ No newline at end of file